diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..b48761c --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,33 @@ +name: "Continuous Integration" + +on: + workflow_dispatch: + push: + branches: [ main ] + paths: [ "*.go" ] + pull_request: + branches: [ main ] + paths: [ "*.go" ] + +jobs: + ci: + name: "Tests" + runs-on: ubuntu-latest + + env: + GOOS: "linux" + GOARCH: "amd64" + GO111MODULE: "on" + CGO_ENABLED: "0" + + steps: + - name: Set up Go + uses: actions/setup-go@v3 + with: + go-version: 1.21 + + - name: Check out go-incr + uses: actions/checkout@v3 + + - name: Run all tests + run: go test ./... diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..8f4388f --- /dev/null +++ b/.gitignore @@ -0,0 +1,20 @@ +# Binaries for programs and plugins +*.exe +*.dll +*.so +*.dylib + +# Test binary, build with `go test -c` +*.test + +# Output of the go coverage tool, specifically when used with LiteIDE +*.out + +# Project-local glide cache, RE: https://github.com/Masterminds/glide/issues/736 +.glide/ + +# Other +.vscode +.DS_Store +coverage.html +.idea diff --git a/COVERAGE b/COVERAGE new file mode 100644 index 0000000..7e492f8 --- /dev/null +++ b/COVERAGE @@ -0,0 +1 @@ +29.02 \ No newline at end of file diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..8d9f1c5 --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2016 William Charczuk. + +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. \ No newline at end of file diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..e0928c3 --- /dev/null +++ b/Makefile @@ -0,0 +1,10 @@ +all: new-install test + +new-install: + @go get -v -u ./... + +generate: + @go generate ./... + +test: + @go test ./... \ No newline at end of file diff --git a/PROFANITY_RULES.yml b/PROFANITY_RULES.yml new file mode 100644 index 0000000..1e6c803 --- /dev/null +++ b/PROFANITY_RULES.yml @@ -0,0 +1,4 @@ +go-sdk: + excludeFiles: [ "*_test.go" ] + importsContain: [ github.com/blend/go-sdk/* ] + description: "please don't use go-sdk in this repo" \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..dcadc9c --- /dev/null +++ b/README.md @@ -0,0 +1,95 @@ +go-chart +======== +[![Continuous Integration](https://github.com/wcharczuk/go-chart/actions/workflows/ci.yml/badge.svg)](https://github.com/wcharczuk/go-chart/actions/workflows/ci.yml) [![Go Report Card](https://goreportcard.com/badge/github.com/wcharczuk/go-chart)](https://goreportcard.com/report/github.com/wcharczuk/go-chart) + +Package `chart` is a very simple golang native charting library that supports timeseries and continuous line charts. + +Master should now be on the v3.x codebase, which overhauls the api significantly. Per usual, see `examples` for more information. + +# Installation + +To install `chart` run the following: + +```bash +> go get github.com/wcharczuk/go-chart/v2@latest +``` + +Most of the components are interchangeable so feel free to crib whatever you want. + +# Output Examples + +Spark Lines: + +![](https://raw.githubusercontent.com/wcharczuk/go-chart/master/_images/tvix_ltm.png) + +Single axis: + +![](https://raw.githubusercontent.com/wcharczuk/go-chart/master/_images/goog_ltm.png) + +Two axis: + +![](https://raw.githubusercontent.com/wcharczuk/go-chart/master/_images/two_axis.png) + +# Other Chart Types + +Pie Chart: + +![](https://raw.githubusercontent.com/wcharczuk/go-chart/master/_images/pie_chart.png) + +The code for this chart can be found in `examples/pie_chart/main.go`. + +Stacked Bar: + +![](https://raw.githubusercontent.com/wcharczuk/go-chart/master/_images/stacked_bar.png) + +The code for this chart can be found in `examples/stacked_bar/main.go`. + +# Code Examples + +Actual chart configurations and examples can be found in the `./examples/` directory. They are simple CLI programs that write to `output.png` (they are also updated with `go generate`. + +# Usage + +Everything starts with the `chart.Chart` object. The bare minimum to draw a chart would be the following: + +```golang + +import ( + ... + "bytes" + ... + "github.com/wcharczuk/go-chart/v2" //exposes "chart" +) + +graph := chart.Chart{ + Series: []chart.Series{ + chart.ContinuousSeries{ + XValues: []float64{1.0, 2.0, 3.0, 4.0}, + YValues: []float64{1.0, 2.0, 3.0, 4.0}, + }, + }, +} + +buffer := bytes.NewBuffer([]byte{}) +err := graph.Render(chart.PNG, buffer) +``` + +Explanation of the above: A `chart` can have many `Series`, a `Series` is a collection of things that need to be drawn according to the X range and the Y range(s). + +Here, we have a single series with x range values as float64s, rendered to a PNG. Note; we can pass any type of `io.Writer` into `Render(...)`, meaning that we can render the chart to a file or a resonse or anything else that implements `io.Writer`. + +# API Overview + +Everything on the `chart.Chart` object has defaults that can be overriden. Whenever a developer sets a property on the chart object, it is to be assumed that value will be used instead of the default. + +The best way to see the api in action is to look at the examples in the `./_examples/` directory. + +# Design Philosophy + +I wanted to make a charting library that used only native golang, that could be stood up on a server (i.e. it had built in fonts). + +The goal with the API itself is to have the "zero value be useful", and to require the user to not code more than they absolutely needed. + +# Contributions + +Contributions are welcome though this library is in a holding pattern for the forseable future. diff --git a/_colors/colors_extended.txt b/_colors/colors_extended.txt new file mode 100644 index 0000000..65cd288 --- /dev/null +++ b/_colors/colors_extended.txt @@ -0,0 +1,147 @@ +aliceblue #f0f8ff 240,248,255 +antiquewhite #faebd7 250,235,215 +aqua #00ffff 0,255,255 +aquamarine #7fffd4 127,255,212 +azure #f0ffff 240,255,255 +beige #f5f5dc 245,245,220 +bisque #ffe4c4 255,228,196 +black #000000 0,0,0 +blanchedalmond #ffebcd 255,235,205 +blue #0000ff 0,0,255 +blueviolet #8a2be2 138,43,226 +brown #a52a2a 165,42,42 +burlywood #deb887 222,184,135 +cadetblue #5f9ea0 95,158,160 +chartreuse #7fff00 127,255,0 +chocolate #d2691e 210,105,30 +coral #ff7f50 255,127,80 +cornflowerblue #6495ed 100,149,237 +cornsilk #fff8dc 255,248,220 +crimson #dc143c 220,20,60 +cyan #00ffff 0,255,255 +darkblue #00008b 0,0,139 +darkcyan #008b8b 0,139,139 +darkgoldenrod #b8860b 184,134,11 +darkgray #a9a9a9 169,169,169 +darkgreen #006400 0,100,0 +darkgrey #a9a9a9 169,169,169 +darkkhaki #bdb76b 189,183,107 +darkmagenta #8b008b 139,0,139 +darkolivegreen #556b2f 85,107,47 +darkorange #ff8c00 255,140,0 +darkorchid #9932cc 153,50,204 +darkred #8b0000 139,0,0 +darksalmon #e9967a 233,150,122 +darkseagreen #8fbc8f 143,188,143 +darkslateblue #483d8b 72,61,139 +darkslategray #2f4f4f 47,79,79 +darkslategrey #2f4f4f 47,79,79 +darkturquoise #00ced1 0,206,209 +darkviolet #9400d3 148,0,211 +deeppink #ff1493 255,20,147 +deepskyblue #00bfff 0,191,255 +dimgray #696969 105,105,105 +dimgrey #696969 105,105,105 +dodgerblue #1e90ff 30,144,255 +firebrick #b22222 178,34,34 +floralwhite #fffaf0 255,250,240 +forestgreen #228b22 34,139,34 +fuchsia #ff00ff 255,0,255 +gainsboro #dcdcdc 220,220,220 +ghostwhite #f8f8ff 248,248,255 +gold #ffd700 255,215,0 +goldenrod #daa520 218,165,32 +gray #808080 128,128,128 +green #008000 0,128,0 +greenyellow #adff2f 173,255,47 +grey #808080 128,128,128 +honeydew #f0fff0 240,255,240 +hotpink #ff69b4 255,105,180 +indianred #cd5c5c 205,92,92 +indigo #4b0082 75,0,130 +ivory #fffff0 255,255,240 +khaki #f0e68c 240,230,140 +lavender #e6e6fa 230,230,250 +lavenderblush #fff0f5 255,240,245 +lawngreen #7cfc00 124,252,0 +lemonchiffon #fffacd 255,250,205 +lightblue #add8e6 173,216,230 +lightcoral #f08080 240,128,128 +lightcyan #e0ffff 224,255,255 +lightgoldenrodyellow #fafad2 250,250,210 +lightgray #d3d3d3 211,211,211 +lightgreen #90ee90 144,238,144 +lightgrey #d3d3d3 211,211,211 +lightpink #ffb6c1 255,182,193 +lightsalmon #ffa07a 255,160,122 +lightseagreen #20b2aa 32,178,170 +lightskyblue #87cefa 135,206,250 +lightslategray #778899 119,136,153 +lightslategrey #778899 119,136,153 +lightsteelblue #b0c4de 176,196,222 +lightyellow #ffffe0 255,255,224 +lime #00ff00 0,255,0 +limegreen #32cd32 50,205,50 +linen #faf0e6 250,240,230 +magenta #ff00ff 255,0,255 +maroon #800000 128,0,0 +mediumaquamarine #66cdaa 102,205,170 +mediumblue #0000cd 0,0,205 +mediumorchid #ba55d3 186,85,211 +mediumpurple #9370db 147,112,219 +mediumseagreen #3cb371 60,179,113 +mediumslateblue #7b68ee 123,104,238 +mediumspringgreen #00fa9a 0,250,154 +mediumturquoise #48d1cc 72,209,204 +mediumvioletred #c71585 199,21,133 +midnightblue #191970 25,25,112 +mintcream #f5fffa 245,255,250 +mistyrose #ffe4e1 255,228,225 +moccasin #ffe4b5 255,228,181 +navajowhite #ffdead 255,222,173 +navy #000080 0,0,128 +oldlace #fdf5e6 253,245,230 +olive #808000 128,128,0 +olivedrab #6b8e23 107,142,35 +orange #ffa500 255,165,0 +orangered #ff4500 255,69,0 +orchid #da70d6 218,112,214 +palegoldenrod #eee8aa 238,232,170 +palegreen #98fb98 152,251,152 +paleturquoise #afeeee 175,238,238 +palevioletred #db7093 219,112,147 +papayawhip #ffefd5 255,239,213 +peachpuff #ffdab9 255,218,185 +peru #cd853f 205,133,63 +pink #ffc0cb 255,192,203 +plum #dda0dd 221,160,221 +powderblue #b0e0e6 176,224,230 +purple #800080 128,0,128 +red #ff0000 255,0,0 +rosybrown #bc8f8f 188,143,143 +royalblue #4169e1 65,105,225 +saddlebrown #8b4513 139,69,19 +salmon #fa8072 250,128,114 +sandybrown #f4a460 244,164,96 +seagreen #2e8b57 46,139,87 +seashell #fff5ee 255,245,238 +sienna #a0522d 160,82,45 +silver #c0c0c0 192,192,192 +skyblue #87ceeb 135,206,235 +slateblue #6a5acd 106,90,205 +slategray #708090 112,128,144 +slategrey #708090 112,128,144 +snow #fffafa 255,250,250 +springgreen #00ff7f 0,255,127 +steelblue #4682b4 70,130,180 +tan #d2b48c 210,180,140 +teal #008080 0,128,128 +thistle #d8bfd8 216,191,216 +tomato #ff6347 255,99,71 +turquoise #40e0d0 64,224,208 +violet #ee82ee 238,130,238 +wheat #f5deb3 245,222,179 +white #ffffff 255,255,255 +whitesmoke #f5f5f5 245,245,245 +yellow #ffff00 255,255,0 +yellowgreen #9acd32 154,205,50 \ No newline at end of file diff --git a/_images/bar_chart.png b/_images/bar_chart.png new file mode 100644 index 0000000..21c8fdd Binary files /dev/null and b/_images/bar_chart.png differ diff --git a/_images/goog_ltm.png b/_images/goog_ltm.png new file mode 100644 index 0000000..eae98c9 Binary files /dev/null and b/_images/goog_ltm.png differ diff --git a/_images/ma_goog_ltm.png b/_images/ma_goog_ltm.png new file mode 100644 index 0000000..a744367 Binary files /dev/null and b/_images/ma_goog_ltm.png differ diff --git a/_images/pie_chart.png b/_images/pie_chart.png new file mode 100644 index 0000000..4b2740e Binary files /dev/null and b/_images/pie_chart.png differ diff --git a/_images/spy_ltm_bbs.png b/_images/spy_ltm_bbs.png new file mode 100644 index 0000000..e88239d Binary files /dev/null and b/_images/spy_ltm_bbs.png differ diff --git a/_images/stacked_bar.png b/_images/stacked_bar.png new file mode 100644 index 0000000..4b0e9ae Binary files /dev/null and b/_images/stacked_bar.png differ diff --git a/_images/tvix_ltm.png b/_images/tvix_ltm.png new file mode 100644 index 0000000..473ba09 Binary files /dev/null and b/_images/tvix_ltm.png differ diff --git a/_images/two_axis.png b/_images/two_axis.png new file mode 100644 index 0000000..2d19d2c Binary files /dev/null and b/_images/two_axis.png differ diff --git a/annotation_series.go b/annotation_series.go new file mode 100644 index 0000000..96e78f9 --- /dev/null +++ b/annotation_series.go @@ -0,0 +1,91 @@ +package chart + +import ( + "fmt" + "math" +) + +// Interface Assertions. +var ( + _ Series = (*AnnotationSeries)(nil) +) + +// AnnotationSeries is a series of labels on the chart. +type AnnotationSeries struct { + Name string + Style Style + YAxis YAxisType + Annotations []Value2 +} + +// GetName returns the name of the time series. +func (as AnnotationSeries) GetName() string { + return as.Name +} + +// GetStyle returns the line style. +func (as AnnotationSeries) GetStyle() Style { + return as.Style +} + +// GetYAxis returns which YAxis the series draws on. +func (as AnnotationSeries) GetYAxis() YAxisType { + return as.YAxis +} + +func (as AnnotationSeries) annotationStyleDefaults(defaults Style) Style { + return Style{ + FontColor: DefaultTextColor, + Font: defaults.Font, + FillColor: DefaultAnnotationFillColor, + FontSize: DefaultAnnotationFontSize, + StrokeColor: defaults.StrokeColor, + StrokeWidth: defaults.StrokeWidth, + Padding: DefaultAnnotationPadding, + } +} + +// Measure returns a bounds box of the series. +func (as AnnotationSeries) Measure(r Renderer, canvasBox Box, xrange, yrange Range, defaults Style) Box { + box := Box{ + Top: math.MaxInt32, + Left: math.MaxInt32, + Right: 0, + Bottom: 0, + } + if !as.Style.Hidden { + seriesStyle := as.Style.InheritFrom(as.annotationStyleDefaults(defaults)) + for _, a := range as.Annotations { + style := a.Style.InheritFrom(seriesStyle) + lx := canvasBox.Left + xrange.Translate(a.XValue) + ly := canvasBox.Bottom - yrange.Translate(a.YValue) + ab := Draw.MeasureAnnotation(r, canvasBox, style, lx, ly, a.Label) + box.Top = MinInt(box.Top, ab.Top) + box.Left = MinInt(box.Left, ab.Left) + box.Right = MaxInt(box.Right, ab.Right) + box.Bottom = MaxInt(box.Bottom, ab.Bottom) + } + } + return box +} + +// Render draws the series. +func (as AnnotationSeries) Render(r Renderer, canvasBox Box, xrange, yrange Range, defaults Style) { + if !as.Style.Hidden { + seriesStyle := as.Style.InheritFrom(as.annotationStyleDefaults(defaults)) + for _, a := range as.Annotations { + style := a.Style.InheritFrom(seriesStyle) + lx := canvasBox.Left + xrange.Translate(a.XValue) + ly := canvasBox.Bottom - yrange.Translate(a.YValue) + Draw.Annotation(r, canvasBox, style, lx, ly, a.Label) + } + } +} + +// Validate validates the series. +func (as AnnotationSeries) Validate() error { + if len(as.Annotations) == 0 { + return fmt.Errorf("annotation series requires annotations to be set and not empty") + } + return nil +} diff --git a/annotation_series_test.go b/annotation_series_test.go new file mode 100644 index 0000000..1a33900 --- /dev/null +++ b/annotation_series_test.go @@ -0,0 +1,115 @@ +package chart + +import ( + "image/color" + "testing" + + "github.com/wcharczuk/go-chart/v2/drawing" + "github.com/wcharczuk/go-chart/v2/testutil" +) + +func TestAnnotationSeriesMeasure(t *testing.T) { + // replaced new assertions helper + + as := AnnotationSeries{ + Annotations: []Value2{ + {XValue: 1.0, YValue: 1.0, Label: "1.0"}, + {XValue: 2.0, YValue: 2.0, Label: "2.0"}, + {XValue: 3.0, YValue: 3.0, Label: "3.0"}, + {XValue: 4.0, YValue: 4.0, Label: "4.0"}, + }, + } + + r, err := PNG(110, 110) + testutil.AssertNil(t, err) + + f, err := GetDefaultFont() + testutil.AssertNil(t, err) + + xrange := &ContinuousRange{ + Min: 1.0, + Max: 4.0, + Domain: 100, + } + yrange := &ContinuousRange{ + Min: 1.0, + Max: 4.0, + Domain: 100, + } + + cb := Box{ + Top: 5, + Left: 5, + Right: 105, + Bottom: 105, + } + sd := Style{ + FontSize: 10.0, + Font: f, + } + + box := as.Measure(r, cb, xrange, yrange, sd) + testutil.AssertFalse(t, box.IsZero()) + testutil.AssertEqual(t, -5.0, box.Top) + testutil.AssertEqual(t, 5.0, box.Left) + testutil.AssertEqual(t, 146.0, box.Right) //the top,left annotation sticks up 5px and out ~44px. + testutil.AssertEqual(t, 115.0, box.Bottom) +} + +func TestAnnotationSeriesRender(t *testing.T) { + // replaced new assertions helper + + as := AnnotationSeries{ + Style: Style{ + FillColor: drawing.ColorWhite, + StrokeColor: drawing.ColorBlack, + }, + Annotations: []Value2{ + {XValue: 1.0, YValue: 1.0, Label: "1.0"}, + {XValue: 2.0, YValue: 2.0, Label: "2.0"}, + {XValue: 3.0, YValue: 3.0, Label: "3.0"}, + {XValue: 4.0, YValue: 4.0, Label: "4.0"}, + }, + } + + r, err := PNG(110, 110) + testutil.AssertNil(t, err) + + f, err := GetDefaultFont() + testutil.AssertNil(t, err) + + xrange := &ContinuousRange{ + Min: 1.0, + Max: 4.0, + Domain: 100, + } + yrange := &ContinuousRange{ + Min: 1.0, + Max: 4.0, + Domain: 100, + } + + cb := Box{ + Top: 5, + Left: 5, + Right: 105, + Bottom: 105, + } + sd := Style{ + FontSize: 10.0, + Font: f, + } + + as.Render(r, cb, xrange, yrange, sd) + + rr, isRaster := r.(*rasterRenderer) + testutil.AssertTrue(t, isRaster) + testutil.AssertNotNil(t, rr) + + c := rr.i.At(38, 70) + converted, isRGBA := color.RGBAModel.Convert(c).(color.RGBA) + testutil.AssertTrue(t, isRGBA) + testutil.AssertEqual(t, 0, converted.R) + testutil.AssertEqual(t, 0, converted.G) + testutil.AssertEqual(t, 0, converted.B) +} diff --git a/array.go b/array.go new file mode 100644 index 0000000..71b3ee7 --- /dev/null +++ b/array.go @@ -0,0 +1,24 @@ +package chart + +var ( + _ Sequence = (*Array)(nil) +) + +// NewArray returns a new array from a given set of values. +// Array implements Sequence, which allows it to be used with the sequence helpers. +func NewArray(values ...float64) Array { + return Array(values) +} + +// Array is a wrapper for an array of floats that implements `ValuesProvider`. +type Array []float64 + +// Len returns the value provider length. +func (a Array) Len() int { + return len(a) +} + +// GetValue returns the value at a given index. +func (a Array) GetValue(index int) float64 { + return a[index] +} diff --git a/axis.go b/axis.go new file mode 100644 index 0000000..54e4d36 --- /dev/null +++ b/axis.go @@ -0,0 +1,45 @@ +package chart + +// TickPosition is an enumeration of possible tick drawing positions. +type TickPosition int + +const ( + // TickPositionUnset means to use the default tick position. + TickPositionUnset TickPosition = 0 + // TickPositionBetweenTicks draws the labels for a tick between the previous and current tick. + TickPositionBetweenTicks TickPosition = 1 + // TickPositionUnderTick draws the tick below the tick. + TickPositionUnderTick TickPosition = 2 +) + +// YAxisType is a type of y-axis; it can either be primary or secondary. +type YAxisType int + +const ( + // YAxisPrimary is the primary axis. + YAxisPrimary YAxisType = 0 + // YAxisSecondary is the secondary axis. + YAxisSecondary YAxisType = 1 +) + +// Axis is a chart feature detailing what values happen where. +type Axis interface { + GetName() string + SetName(name string) + + GetStyle() Style + SetStyle(style Style) + + GetTicks() []Tick + GenerateTicks(r Renderer, ra Range, vf ValueFormatter) []Tick + + // GenerateGridLines returns the gridlines for the axis. + GetGridLines(ticks []Tick) []GridLine + + // Measure should return an absolute box for the axis. + // This is used when auto-fitting the canvas to the background. + Measure(r Renderer, canvasBox Box, ra Range, style Style, ticks []Tick) Box + + // Render renders the axis. + Render(r Renderer, canvasBox Box, ra Range, style Style, ticks []Tick) +} diff --git a/bar_chart.go b/bar_chart.go new file mode 100644 index 0000000..ce22ba7 --- /dev/null +++ b/bar_chart.go @@ -0,0 +1,491 @@ +package chart + +import ( + "errors" + "fmt" + "io" + "math" + + "github.com/golang/freetype/truetype" +) + +// BarChart is a chart that draws bars on a range. +type BarChart struct { + Title string + TitleStyle Style + + ColorPalette ColorPalette + + Width int + Height int + DPI float64 + + BarWidth int + + Background Style + Canvas Style + + XAxis Style + YAxis YAxis + + BarSpacing int + + UseBaseValue bool + BaseValue float64 + + Font *truetype.Font + defaultFont *truetype.Font + + Bars []Value + Elements []Renderable +} + +// GetDPI returns the dpi for the chart. +func (bc BarChart) GetDPI() float64 { + if bc.DPI == 0 { + return DefaultDPI + } + return bc.DPI +} + +// GetFont returns the text font. +func (bc BarChart) GetFont() *truetype.Font { + if bc.Font == nil { + return bc.defaultFont + } + return bc.Font +} + +// GetWidth returns the chart width or the default value. +func (bc BarChart) GetWidth() int { + if bc.Width == 0 { + return DefaultChartWidth + } + return bc.Width +} + +// GetHeight returns the chart height or the default value. +func (bc BarChart) GetHeight() int { + if bc.Height == 0 { + return DefaultChartHeight + } + return bc.Height +} + +// GetBarSpacing returns the spacing between bars. +func (bc BarChart) GetBarSpacing() int { + if bc.BarSpacing == 0 { + return DefaultBarSpacing + } + return bc.BarSpacing +} + +// GetBarWidth returns the default bar width. +func (bc BarChart) GetBarWidth() int { + if bc.BarWidth == 0 { + return DefaultBarWidth + } + return bc.BarWidth +} + +// Render renders the chart with the given renderer to the given io.Writer. +func (bc BarChart) Render(rp RendererProvider, w io.Writer) error { + if len(bc.Bars) == 0 { + return errors.New("please provide at least one bar") + } + + r, err := rp(bc.GetWidth(), bc.GetHeight()) + if err != nil { + return err + } + + if bc.Font == nil { + defaultFont, err := GetDefaultFont() + if err != nil { + return err + } + bc.defaultFont = defaultFont + } + r.SetDPI(bc.GetDPI()) + + bc.drawBackground(r) + + var canvasBox Box + var yt []Tick + var yr Range + var yf ValueFormatter + + canvasBox = bc.getDefaultCanvasBox() + yr = bc.getRanges() + if yr.GetMax()-yr.GetMin() == 0 { + return fmt.Errorf("invalid data range; cannot be zero") + } + yr = bc.setRangeDomains(canvasBox, yr) + yf = bc.getValueFormatters() + + if bc.hasAxes() { + yt = bc.getAxesTicks(r, yr, yf) + canvasBox = bc.getAdjustedCanvasBox(r, canvasBox, yr, yt) + yr = bc.setRangeDomains(canvasBox, yr) + } + bc.drawCanvas(r, canvasBox) + bc.drawBars(r, canvasBox, yr) + bc.drawXAxis(r, canvasBox) + bc.drawYAxis(r, canvasBox, yr, yt) + + bc.drawTitle(r) + for _, a := range bc.Elements { + a(r, canvasBox, bc.styleDefaultsElements()) + } + + return r.Save(w) +} + +func (bc BarChart) drawCanvas(r Renderer, canvasBox Box) { + Draw.Box(r, canvasBox, bc.getCanvasStyle()) +} + +func (bc BarChart) getRanges() Range { + var yrange Range + if bc.YAxis.Range != nil && !bc.YAxis.Range.IsZero() { + yrange = bc.YAxis.Range + } else { + yrange = &ContinuousRange{} + } + + if !yrange.IsZero() { + return yrange + } + + if len(bc.YAxis.Ticks) > 0 { + tickMin, tickMax := math.MaxFloat64, -math.MaxFloat64 + for _, t := range bc.YAxis.Ticks { + tickMin = math.Min(tickMin, t.Value) + tickMax = math.Max(tickMax, t.Value) + } + yrange.SetMin(tickMin) + yrange.SetMax(tickMax) + return yrange + } + + min, max := math.MaxFloat64, -math.MaxFloat64 + for _, b := range bc.Bars { + min = math.Min(b.Value, min) + max = math.Max(b.Value, max) + } + + yrange.SetMin(min) + yrange.SetMax(max) + + return yrange +} + +func (bc BarChart) drawBackground(r Renderer) { + Draw.Box(r, Box{ + Right: bc.GetWidth(), + Bottom: bc.GetHeight(), + }, bc.getBackgroundStyle()) +} + +func (bc BarChart) drawBars(r Renderer, canvasBox Box, yr Range) { + xoffset := canvasBox.Left + + width, spacing, _ := bc.calculateScaledTotalWidth(canvasBox) + bs2 := spacing >> 1 + + var barBox Box + var bxl, bxr, by int + for index, bar := range bc.Bars { + bxl = xoffset + bs2 + bxr = bxl + width + + by = canvasBox.Bottom - yr.Translate(bar.Value) + + if bc.UseBaseValue { + barBox = Box{ + Top: by, + Left: bxl, + Right: bxr, + Bottom: canvasBox.Bottom - yr.Translate(bc.BaseValue), + } + } else { + barBox = Box{ + Top: by, + Left: bxl, + Right: bxr, + Bottom: canvasBox.Bottom, + } + } + + Draw.Box(r, barBox, bar.Style.InheritFrom(bc.styleDefaultsBar(index))) + + xoffset += width + spacing + } +} + +func (bc BarChart) drawXAxis(r Renderer, canvasBox Box) { + if !bc.XAxis.Hidden { + axisStyle := bc.XAxis.InheritFrom(bc.styleDefaultsAxes()) + axisStyle.WriteToRenderer(r) + + width, spacing, _ := bc.calculateScaledTotalWidth(canvasBox) + + r.MoveTo(canvasBox.Left, canvasBox.Bottom) + r.LineTo(canvasBox.Right, canvasBox.Bottom) + r.Stroke() + + r.MoveTo(canvasBox.Left, canvasBox.Bottom) + r.LineTo(canvasBox.Left, canvasBox.Bottom+DefaultVerticalTickHeight) + r.Stroke() + + cursor := canvasBox.Left + for index, bar := range bc.Bars { + barLabelBox := Box{ + Top: canvasBox.Bottom + DefaultXAxisMargin, + Left: cursor, + Right: cursor + width + spacing, + Bottom: bc.GetHeight(), + } + + if len(bar.Label) > 0 { + Draw.TextWithin(r, bar.Label, barLabelBox, axisStyle) + } + + axisStyle.WriteToRenderer(r) + if index < len(bc.Bars)-1 { + r.MoveTo(barLabelBox.Right, canvasBox.Bottom) + r.LineTo(barLabelBox.Right, canvasBox.Bottom+DefaultVerticalTickHeight) + r.Stroke() + } + cursor += width + spacing + } + } +} + +func (bc BarChart) drawYAxis(r Renderer, canvasBox Box, yr Range, ticks []Tick) { + if !bc.YAxis.Style.Hidden { + bc.YAxis.Render(r, canvasBox, yr, bc.styleDefaultsAxes(), ticks) + } +} + +func (bc BarChart) drawTitle(r Renderer) { + if len(bc.Title) > 0 && !bc.TitleStyle.Hidden { + r.SetFont(bc.TitleStyle.GetFont(bc.GetFont())) + r.SetFontColor(bc.TitleStyle.GetFontColor(bc.GetColorPalette().TextColor())) + titleFontSize := bc.TitleStyle.GetFontSize(bc.getTitleFontSize()) + r.SetFontSize(titleFontSize) + + textBox := r.MeasureText(bc.Title) + + textWidth := textBox.Width() + textHeight := textBox.Height() + + titleX := (bc.GetWidth() >> 1) - (textWidth >> 1) + titleY := bc.TitleStyle.Padding.GetTop(DefaultTitleTop) + textHeight + + r.Text(bc.Title, titleX, titleY) + } +} + +func (bc BarChart) getCanvasStyle() Style { + return bc.Canvas.InheritFrom(bc.styleDefaultsCanvas()) +} + +func (bc BarChart) styleDefaultsCanvas() Style { + return Style{ + FillColor: bc.GetColorPalette().CanvasColor(), + StrokeColor: bc.GetColorPalette().CanvasStrokeColor(), + StrokeWidth: DefaultCanvasStrokeWidth, + } +} + +func (bc BarChart) hasAxes() bool { + return !bc.YAxis.Style.Hidden +} + +func (bc BarChart) setRangeDomains(canvasBox Box, yr Range) Range { + yr.SetDomain(canvasBox.Height()) + return yr +} + +func (bc BarChart) getDefaultCanvasBox() Box { + return bc.box() +} + +func (bc BarChart) getValueFormatters() ValueFormatter { + if bc.YAxis.ValueFormatter != nil { + return bc.YAxis.ValueFormatter + } + return FloatValueFormatter +} + +func (bc BarChart) getAxesTicks(r Renderer, yr Range, yf ValueFormatter) (yticks []Tick) { + if !bc.YAxis.Style.Hidden { + yticks = bc.YAxis.GetTicks(r, yr, bc.styleDefaultsAxes(), yf) + } + return +} + +func (bc BarChart) calculateEffectiveBarSpacing(canvasBox Box) int { + totalWithBaseSpacing := bc.calculateTotalBarWidth(bc.GetBarWidth(), bc.GetBarSpacing()) + if totalWithBaseSpacing > canvasBox.Width() { + lessBarWidths := canvasBox.Width() - (len(bc.Bars) * bc.GetBarWidth()) + if lessBarWidths > 0 { + return int(math.Ceil(float64(lessBarWidths) / float64(len(bc.Bars)))) + } + return 0 + } + return bc.GetBarSpacing() +} + +func (bc BarChart) calculateEffectiveBarWidth(canvasBox Box, spacing int) int { + totalWithBaseWidth := bc.calculateTotalBarWidth(bc.GetBarWidth(), spacing) + if totalWithBaseWidth > canvasBox.Width() { + totalLessBarSpacings := canvasBox.Width() - (len(bc.Bars) * spacing) + if totalLessBarSpacings > 0 { + return int(math.Ceil(float64(totalLessBarSpacings) / float64(len(bc.Bars)))) + } + return 0 + } + return bc.GetBarWidth() +} + +func (bc BarChart) calculateTotalBarWidth(barWidth, spacing int) int { + return len(bc.Bars) * (barWidth + spacing) +} + +func (bc BarChart) calculateScaledTotalWidth(canvasBox Box) (width, spacing, total int) { + spacing = bc.calculateEffectiveBarSpacing(canvasBox) + width = bc.calculateEffectiveBarWidth(canvasBox, spacing) + total = bc.calculateTotalBarWidth(width, spacing) + return +} + +func (bc BarChart) getAdjustedCanvasBox(r Renderer, canvasBox Box, yrange Range, yticks []Tick) Box { + axesOuterBox := canvasBox.Clone() + + _, _, totalWidth := bc.calculateScaledTotalWidth(canvasBox) + + if !bc.XAxis.Hidden { + xaxisHeight := DefaultVerticalTickHeight + + axisStyle := bc.XAxis.InheritFrom(bc.styleDefaultsAxes()) + axisStyle.WriteToRenderer(r) + + cursor := canvasBox.Left + for _, bar := range bc.Bars { + if len(bar.Label) > 0 { + barLabelBox := Box{ + Top: canvasBox.Bottom + DefaultXAxisMargin, + Left: cursor, + Right: cursor + bc.GetBarWidth() + bc.GetBarSpacing(), + Bottom: bc.GetHeight(), + } + lines := Text.WrapFit(r, bar.Label, barLabelBox.Width(), axisStyle) + linesBox := Text.MeasureLines(r, lines, axisStyle) + + xaxisHeight = MinInt(linesBox.Height()+(2*DefaultXAxisMargin), xaxisHeight) + } + } + + xbox := Box{ + Top: canvasBox.Top, + Left: canvasBox.Left, + Right: canvasBox.Left + totalWidth, + Bottom: bc.GetHeight() - xaxisHeight, + } + + axesOuterBox = axesOuterBox.Grow(xbox) + } + + if !bc.YAxis.Style.Hidden { + axesBounds := bc.YAxis.Measure(r, canvasBox, yrange, bc.styleDefaultsAxes(), yticks) + axesOuterBox = axesOuterBox.Grow(axesBounds) + } + + return canvasBox.OuterConstrain(bc.box(), axesOuterBox) +} + +// box returns the chart bounds as a box. +func (bc BarChart) box() Box { + dpr := bc.Background.Padding.GetRight(10) + dpb := bc.Background.Padding.GetBottom(50) + + return Box{ + Top: bc.Background.Padding.GetTop(20), + Left: bc.Background.Padding.GetLeft(20), + Right: bc.GetWidth() - dpr, + Bottom: bc.GetHeight() - dpb, + } +} + +func (bc BarChart) getBackgroundStyle() Style { + return bc.Background.InheritFrom(bc.styleDefaultsBackground()) +} + +func (bc BarChart) styleDefaultsBackground() Style { + return Style{ + FillColor: bc.GetColorPalette().BackgroundColor(), + StrokeColor: bc.GetColorPalette().BackgroundStrokeColor(), + StrokeWidth: DefaultStrokeWidth, + } +} + +func (bc BarChart) styleDefaultsBar(index int) Style { + return Style{ + StrokeColor: bc.GetColorPalette().GetSeriesColor(index), + StrokeWidth: 3.0, + FillColor: bc.GetColorPalette().GetSeriesColor(index), + } +} + +func (bc BarChart) styleDefaultsTitle() Style { + return bc.TitleStyle.InheritFrom(Style{ + FontColor: bc.GetColorPalette().TextColor(), + Font: bc.GetFont(), + FontSize: bc.getTitleFontSize(), + TextHorizontalAlign: TextHorizontalAlignCenter, + TextVerticalAlign: TextVerticalAlignTop, + TextWrap: TextWrapWord, + }) +} + +func (bc BarChart) getTitleFontSize() float64 { + effectiveDimension := MinInt(bc.GetWidth(), bc.GetHeight()) + if effectiveDimension >= 2048 { + return 48 + } else if effectiveDimension >= 1024 { + return 24 + } else if effectiveDimension >= 512 { + return 18 + } else if effectiveDimension >= 256 { + return 12 + } + return 10 +} + +func (bc BarChart) styleDefaultsAxes() Style { + return Style{ + StrokeColor: bc.GetColorPalette().AxisStrokeColor(), + Font: bc.GetFont(), + FontSize: DefaultAxisFontSize, + FontColor: bc.GetColorPalette().TextColor(), + TextHorizontalAlign: TextHorizontalAlignCenter, + TextVerticalAlign: TextVerticalAlignTop, + TextWrap: TextWrapWord, + } +} + +func (bc BarChart) styleDefaultsElements() Style { + return Style{ + Font: bc.GetFont(), + } +} + +// GetColorPalette returns the color palette for the chart. +func (bc BarChart) GetColorPalette() ColorPalette { + if bc.ColorPalette != nil { + return bc.ColorPalette + } + return AlternateColorPalette +} diff --git a/bar_chart_test.go b/bar_chart_test.go new file mode 100644 index 0000000..e62ef83 --- /dev/null +++ b/bar_chart_test.go @@ -0,0 +1,310 @@ +package chart + +import ( + "bytes" + "math" + "testing" + + "github.com/wcharczuk/go-chart/v2/testutil" +) + +func TestBarChartRender(t *testing.T) { + // replaced new assertions helper + + bc := BarChart{ + Width: 1024, + Title: "Test Title", + Bars: []Value{ + {Value: 1.0, Label: "One"}, + {Value: 2.0, Label: "Two"}, + {Value: 3.0, Label: "Three"}, + {Value: 4.0, Label: "Four"}, + {Value: 5.0, Label: "Five"}, + }, + } + + buf := bytes.NewBuffer([]byte{}) + err := bc.Render(PNG, buf) + testutil.AssertNil(t, err) + testutil.AssertNotZero(t, buf.Len()) +} + +func TestBarChartRenderZero(t *testing.T) { + // replaced new assertions helper + + bc := BarChart{ + Width: 1024, + Title: "Test Title", + Bars: []Value{ + {Value: 0.0, Label: "One"}, + {Value: 0.0, Label: "Two"}, + }, + } + + buf := bytes.NewBuffer([]byte{}) + err := bc.Render(PNG, buf) + testutil.AssertNotNil(t, err) +} + +func TestBarChartProps(t *testing.T) { + // replaced new assertions helper + + bc := BarChart{} + + testutil.AssertEqual(t, DefaultDPI, bc.GetDPI()) + bc.DPI = 100 + testutil.AssertEqual(t, 100, bc.GetDPI()) + + testutil.AssertNil(t, bc.GetFont()) + f, err := GetDefaultFont() + testutil.AssertNil(t, err) + bc.Font = f + testutil.AssertNotNil(t, bc.GetFont()) + + testutil.AssertEqual(t, DefaultChartWidth, bc.GetWidth()) + bc.Width = DefaultChartWidth - 1 + testutil.AssertEqual(t, DefaultChartWidth-1, bc.GetWidth()) + + testutil.AssertEqual(t, DefaultChartHeight, bc.GetHeight()) + bc.Height = DefaultChartHeight - 1 + testutil.AssertEqual(t, DefaultChartHeight-1, bc.GetHeight()) + + testutil.AssertEqual(t, DefaultBarSpacing, bc.GetBarSpacing()) + bc.BarSpacing = 150 + testutil.AssertEqual(t, 150, bc.GetBarSpacing()) + + testutil.AssertEqual(t, DefaultBarWidth, bc.GetBarWidth()) + bc.BarWidth = 75 + testutil.AssertEqual(t, 75, bc.GetBarWidth()) +} + +func TestBarChartRenderNoBars(t *testing.T) { + // replaced new assertions helper + + bc := BarChart{} + err := bc.Render(PNG, bytes.NewBuffer([]byte{})) + testutil.AssertNotNil(t, err) +} + +func TestBarChartGetRanges(t *testing.T) { + // replaced new assertions helper + + bc := BarChart{} + + yr := bc.getRanges() + testutil.AssertNotNil(t, yr) + testutil.AssertFalse(t, yr.IsZero()) + + testutil.AssertEqual(t, -math.MaxFloat64, yr.GetMax()) + testutil.AssertEqual(t, math.MaxFloat64, yr.GetMin()) +} + +func TestBarChartGetRangesBarsMinMax(t *testing.T) { + // replaced new assertions helper + + bc := BarChart{ + Bars: []Value{ + {Value: 1.0}, + {Value: 10.0}, + }, + } + + yr := bc.getRanges() + testutil.AssertNotNil(t, yr) + testutil.AssertFalse(t, yr.IsZero()) + + testutil.AssertEqual(t, 10, yr.GetMax()) + testutil.AssertEqual(t, 1, yr.GetMin()) +} + +func TestBarChartGetRangesMinMax(t *testing.T) { + // replaced new assertions helper + + bc := BarChart{ + YAxis: YAxis{ + Range: &ContinuousRange{ + Min: 5.0, + Max: 15.0, + }, + Ticks: []Tick{ + {Value: 7.0, Label: "Foo"}, + {Value: 11.0, Label: "Foo2"}, + }, + }, + Bars: []Value{ + {Value: 1.0}, + {Value: 10.0}, + }, + } + + yr := bc.getRanges() + testutil.AssertNotNil(t, yr) + testutil.AssertFalse(t, yr.IsZero()) + + testutil.AssertEqual(t, 15, yr.GetMax()) + testutil.AssertEqual(t, 5, yr.GetMin()) +} + +func TestBarChartGetRangesTicksMinMax(t *testing.T) { + // replaced new assertions helper + + bc := BarChart{ + YAxis: YAxis{ + Ticks: []Tick{ + {Value: 7.0, Label: "Foo"}, + {Value: 11.0, Label: "Foo2"}, + }, + }, + Bars: []Value{ + {Value: 1.0}, + {Value: 10.0}, + }, + } + + yr := bc.getRanges() + testutil.AssertNotNil(t, yr) + testutil.AssertFalse(t, yr.IsZero()) + + testutil.AssertEqual(t, 11, yr.GetMax()) + testutil.AssertEqual(t, 7, yr.GetMin()) +} + +func TestBarChartHasAxes(t *testing.T) { + // replaced new assertions helper + + bc := BarChart{} + testutil.AssertTrue(t, bc.hasAxes()) + bc.YAxis = YAxis{ + Style: Hidden(), + } + testutil.AssertFalse(t, bc.hasAxes()) +} + +func TestBarChartGetDefaultCanvasBox(t *testing.T) { + // replaced new assertions helper + + bc := BarChart{} + b := bc.getDefaultCanvasBox() + testutil.AssertFalse(t, b.IsZero()) +} + +func TestBarChartSetRangeDomains(t *testing.T) { + // replaced new assertions helper + + bc := BarChart{} + cb := bc.box() + yr := bc.getRanges() + yr2 := bc.setRangeDomains(cb, yr) + testutil.AssertNotZero(t, yr2.GetDomain()) +} + +func TestBarChartGetValueFormatters(t *testing.T) { + // replaced new assertions helper + + bc := BarChart{} + vf := bc.getValueFormatters() + testutil.AssertNotNil(t, vf) + testutil.AssertEqual(t, "1234.00", vf(1234.0)) + + bc.YAxis.ValueFormatter = func(_ interface{}) string { return "test" } + testutil.AssertEqual(t, "test", bc.getValueFormatters()(1234)) +} + +func TestBarChartGetAxesTicks(t *testing.T) { + // replaced new assertions helper + + bc := BarChart{ + Bars: []Value{ + {Value: 1.0}, + {Value: 2.0}, + {Value: 3.0}, + }, + } + + r, err := PNG(128, 128) + testutil.AssertNil(t, err) + yr := bc.getRanges() + yf := bc.getValueFormatters() + + bc.YAxis.Style.Hidden = true + ticks := bc.getAxesTicks(r, yr, yf) + testutil.AssertEmpty(t, ticks) + + bc.YAxis.Style.Hidden = false + ticks = bc.getAxesTicks(r, yr, yf) + testutil.AssertLen(t, ticks, 2) +} + +func TestBarChartCalculateEffectiveBarSpacing(t *testing.T) { + // replaced new assertions helper + + bc := BarChart{ + Width: 1024, + BarWidth: 10, + Bars: []Value{ + {Value: 1.0, Label: "One"}, + {Value: 2.0, Label: "Two"}, + {Value: 3.0, Label: "Three"}, + {Value: 4.0, Label: "Four"}, + {Value: 5.0, Label: "Five"}, + }, + } + + spacing := bc.calculateEffectiveBarSpacing(bc.box()) + testutil.AssertNotZero(t, spacing) + + bc.BarWidth = 250 + spacing = bc.calculateEffectiveBarSpacing(bc.box()) + testutil.AssertZero(t, spacing) +} + +func TestBarChartCalculateEffectiveBarWidth(t *testing.T) { + // replaced new assertions helper + + bc := BarChart{ + Width: 1024, + BarWidth: 10, + Bars: []Value{ + {Value: 1.0, Label: "One"}, + {Value: 2.0, Label: "Two"}, + {Value: 3.0, Label: "Three"}, + {Value: 4.0, Label: "Four"}, + {Value: 5.0, Label: "Five"}, + }, + } + + cb := bc.box() + + spacing := bc.calculateEffectiveBarSpacing(bc.box()) + testutil.AssertNotZero(t, spacing) + + barWidth := bc.calculateEffectiveBarWidth(bc.box(), spacing) + testutil.AssertEqual(t, 10, barWidth) + + bc.BarWidth = 250 + spacing = bc.calculateEffectiveBarSpacing(bc.box()) + testutil.AssertZero(t, spacing) + barWidth = bc.calculateEffectiveBarWidth(bc.box(), spacing) + testutil.AssertEqual(t, 199, barWidth) + + testutil.AssertEqual(t, cb.Width()+1, bc.calculateTotalBarWidth(barWidth, spacing)) + + bw, bs, total := bc.calculateScaledTotalWidth(cb) + testutil.AssertEqual(t, spacing, bs) + testutil.AssertEqual(t, barWidth, bw) + testutil.AssertEqual(t, cb.Width()+1, total) +} + +func TestBarChatGetTitleFontSize(t *testing.T) { + // replaced new assertions helper + size := BarChart{Width: 2049, Height: 2049}.getTitleFontSize() + testutil.AssertEqual(t, 48, size) + size = BarChart{Width: 1025, Height: 1025}.getTitleFontSize() + testutil.AssertEqual(t, 24, size) + size = BarChart{Width: 513, Height: 513}.getTitleFontSize() + testutil.AssertEqual(t, 18, size) + size = BarChart{Width: 257, Height: 257}.getTitleFontSize() + testutil.AssertEqual(t, 12, size) + size = BarChart{Width: 128, Height: 128}.getTitleFontSize() + testutil.AssertEqual(t, 10, size) +} diff --git a/bollinger_band_series.go b/bollinger_band_series.go new file mode 100644 index 0000000..728b232 --- /dev/null +++ b/bollinger_band_series.go @@ -0,0 +1,135 @@ +package chart + +import ( + "fmt" +) + +// Interface Assertions. +var ( + _ Series = (*BollingerBandsSeries)(nil) +) + +// BollingerBandsSeries draws bollinger bands for an inner series. +// Bollinger bands are defined by two lines, one at SMA+k*stddev, one at SMA-k*stdev. +type BollingerBandsSeries struct { + Name string + Style Style + YAxis YAxisType + + Period int + K float64 + InnerSeries ValuesProvider + + valueBuffer *ValueBuffer +} + +// GetName returns the name of the time series. +func (bbs BollingerBandsSeries) GetName() string { + return bbs.Name +} + +// GetStyle returns the line style. +func (bbs BollingerBandsSeries) GetStyle() Style { + return bbs.Style +} + +// GetYAxis returns which YAxis the series draws on. +func (bbs BollingerBandsSeries) GetYAxis() YAxisType { + return bbs.YAxis +} + +// GetPeriod returns the window size. +func (bbs BollingerBandsSeries) GetPeriod() int { + if bbs.Period == 0 { + return DefaultSimpleMovingAveragePeriod + } + return bbs.Period +} + +// GetK returns the K value, or the number of standard deviations above and below +// to band the simple moving average with. +// Typical K value is 2.0. +func (bbs BollingerBandsSeries) GetK(defaults ...float64) float64 { + if bbs.K == 0 { + if len(defaults) > 0 { + return defaults[0] + } + return 2.0 + } + return bbs.K +} + +// Len returns the number of elements in the series. +func (bbs BollingerBandsSeries) Len() int { + return bbs.InnerSeries.Len() +} + +// GetBoundedValues gets the bounded value for the series. +func (bbs *BollingerBandsSeries) GetBoundedValues(index int) (x, y1, y2 float64) { + if bbs.InnerSeries == nil { + return + } + if bbs.valueBuffer == nil || index == 0 { + bbs.valueBuffer = NewValueBufferWithCapacity(bbs.GetPeriod()) + } + if bbs.valueBuffer.Len() >= bbs.GetPeriod() { + bbs.valueBuffer.Dequeue() + } + px, py := bbs.InnerSeries.GetValues(index) + bbs.valueBuffer.Enqueue(py) + x = px + + ay := Seq{bbs.valueBuffer}.Average() + std := Seq{bbs.valueBuffer}.StdDev() + + y1 = ay + (bbs.GetK() * std) + y2 = ay - (bbs.GetK() * std) + return +} + +// GetBoundedLastValues returns the last bounded value for the series. +func (bbs *BollingerBandsSeries) GetBoundedLastValues() (x, y1, y2 float64) { + if bbs.InnerSeries == nil { + return + } + period := bbs.GetPeriod() + seriesLength := bbs.InnerSeries.Len() + startAt := seriesLength - period + if startAt < 0 { + startAt = 0 + } + + vb := NewValueBufferWithCapacity(period) + for index := startAt; index < seriesLength; index++ { + xn, yn := bbs.InnerSeries.GetValues(index) + vb.Enqueue(yn) + x = xn + } + + ay := Seq{vb}.Average() + std := Seq{vb}.StdDev() + + y1 = ay + (bbs.GetK() * std) + y2 = ay - (bbs.GetK() * std) + + return +} + +// Render renders the series. +func (bbs *BollingerBandsSeries) Render(r Renderer, canvasBox Box, xrange, yrange Range, defaults Style) { + s := bbs.Style.InheritFrom(defaults.InheritFrom(Style{ + StrokeWidth: 1.0, + StrokeColor: DefaultAxisColor.WithAlpha(64), + FillColor: DefaultAxisColor.WithAlpha(32), + })) + + Draw.BoundedSeries(r, canvasBox, xrange, yrange, s, bbs, bbs.GetPeriod()) +} + +// Validate validates the series. +func (bbs BollingerBandsSeries) Validate() error { + if bbs.InnerSeries == nil { + return fmt.Errorf("bollinger bands series requires InnerSeries to be set") + } + return nil +} diff --git a/bollinger_band_series_test.go b/bollinger_band_series_test.go new file mode 100644 index 0000000..b33b0ec --- /dev/null +++ b/bollinger_band_series_test.go @@ -0,0 +1,52 @@ +package chart + +import ( + "fmt" + "math" + "testing" + + "github.com/wcharczuk/go-chart/v2/testutil" +) + +func TestBollingerBandSeries(t *testing.T) { + // replaced new assertions helper + + s1 := mockValuesProvider{ + X: LinearRange(1.0, 100.0), + Y: RandomValuesWithMax(100, 1024), + } + + bbs := &BollingerBandsSeries{ + InnerSeries: s1, + } + + xvalues := make([]float64, 100) + y1values := make([]float64, 100) + y2values := make([]float64, 100) + + for x := 0; x < 100; x++ { + xvalues[x], y1values[x], y2values[x] = bbs.GetBoundedValues(x) + } + + for x := bbs.GetPeriod(); x < 100; x++ { + testutil.AssertTrue(t, y1values[x] > y2values[x], fmt.Sprintf("%v vs. %v", y1values[x], y2values[x])) + } +} + +func TestBollingerBandLastValue(t *testing.T) { + // replaced new assertions helper + + s1 := mockValuesProvider{ + X: LinearRange(1.0, 100.0), + Y: LinearRange(1.0, 100.0), + } + + bbs := &BollingerBandsSeries{ + InnerSeries: s1, + } + + x, y1, y2 := bbs.GetBoundedLastValues() + testutil.AssertEqual(t, 100.0, x) + testutil.AssertEqual(t, 101, math.Floor(y1)) + testutil.AssertEqual(t, 83, math.Floor(y2)) +} diff --git a/bounded_last_values_annotation_series.go b/bounded_last_values_annotation_series.go new file mode 100644 index 0000000..670ddf7 --- /dev/null +++ b/bounded_last_values_annotation_series.go @@ -0,0 +1,36 @@ +package chart + +import "fmt" + +// BoundedLastValuesAnnotationSeries returns a last value annotation series for a bounded values provider. +func BoundedLastValuesAnnotationSeries(innerSeries FullBoundedValuesProvider, vfs ...ValueFormatter) AnnotationSeries { + lvx, lvy1, lvy2 := innerSeries.GetBoundedLastValues() + + var vf ValueFormatter + if len(vfs) > 0 { + vf = vfs[0] + } else if typed, isTyped := innerSeries.(ValueFormatterProvider); isTyped { + _, vf = typed.GetValueFormatters() + } else { + vf = FloatValueFormatter + } + + label1 := vf(lvy1) + label2 := vf(lvy2) + + var seriesName string + var seriesStyle Style + if typed, isTyped := innerSeries.(Series); isTyped { + seriesName = fmt.Sprintf("%s - Last Values", typed.GetName()) + seriesStyle = typed.GetStyle() + } + + return AnnotationSeries{ + Name: seriesName, + Style: seriesStyle, + Annotations: []Value2{ + {XValue: lvx, YValue: lvy1, Label: label1}, + {XValue: lvx, YValue: lvy2, Label: label2}, + }, + } +} diff --git a/box.go b/box.go new file mode 100644 index 0000000..2641bd4 --- /dev/null +++ b/box.go @@ -0,0 +1,367 @@ +package chart + +import ( + "fmt" + "math" +) + +var ( + // BoxZero is a preset box that represents an intentional zero value. + BoxZero = Box{IsSet: true} +) + +// NewBox returns a new (set) box. +func NewBox(top, left, right, bottom int) Box { + return Box{ + IsSet: true, + Top: top, + Left: left, + Right: right, + Bottom: bottom, + } +} + +// Box represents the main 4 dimensions of a box. +type Box struct { + Top int + Left int + Right int + Bottom int + IsSet bool +} + +// IsZero returns if the box is set or not. +func (b Box) IsZero() bool { + if b.IsSet { + return false + } + return b.Top == 0 && b.Left == 0 && b.Right == 0 && b.Bottom == 0 +} + +// String returns a string representation of the box. +func (b Box) String() string { + return fmt.Sprintf("box(%d,%d,%d,%d)", b.Top, b.Left, b.Right, b.Bottom) +} + +// GetTop returns a coalesced value with a default. +func (b Box) GetTop(defaults ...int) int { + if !b.IsSet && b.Top == 0 { + if len(defaults) > 0 { + return defaults[0] + } + return 0 + } + return b.Top +} + +// GetLeft returns a coalesced value with a default. +func (b Box) GetLeft(defaults ...int) int { + if !b.IsSet && b.Left == 0 { + if len(defaults) > 0 { + return defaults[0] + } + return 0 + } + return b.Left +} + +// GetRight returns a coalesced value with a default. +func (b Box) GetRight(defaults ...int) int { + if !b.IsSet && b.Right == 0 { + if len(defaults) > 0 { + return defaults[0] + } + return 0 + } + return b.Right +} + +// GetBottom returns a coalesced value with a default. +func (b Box) GetBottom(defaults ...int) int { + if !b.IsSet && b.Bottom == 0 { + if len(defaults) > 0 { + return defaults[0] + } + return 0 + } + return b.Bottom +} + +// Width returns the width +func (b Box) Width() int { + return AbsInt(b.Right - b.Left) +} + +// Height returns the height +func (b Box) Height() int { + return AbsInt(b.Bottom - b.Top) +} + +// Center returns the center of the box +func (b Box) Center() (x, y int) { + w2, h2 := b.Width()>>1, b.Height()>>1 + return b.Left + w2, b.Top + h2 +} + +// Aspect returns the aspect ratio of the box. +func (b Box) Aspect() float64 { + return float64(b.Width()) / float64(b.Height()) +} + +// Clone returns a new copy of the box. +func (b Box) Clone() Box { + return Box{ + IsSet: b.IsSet, + Top: b.Top, + Left: b.Left, + Right: b.Right, + Bottom: b.Bottom, + } +} + +// IsBiggerThan returns if a box is bigger than another box. +func (b Box) IsBiggerThan(other Box) bool { + return b.Top < other.Top || + b.Bottom > other.Bottom || + b.Left < other.Left || + b.Right > other.Right +} + +// IsSmallerThan returns if a box is smaller than another box. +func (b Box) IsSmallerThan(other Box) bool { + return b.Top > other.Top && + b.Bottom < other.Bottom && + b.Left > other.Left && + b.Right < other.Right +} + +// Equals returns if the box equals another box. +func (b Box) Equals(other Box) bool { + return b.Top == other.Top && + b.Left == other.Left && + b.Right == other.Right && + b.Bottom == other.Bottom +} + +// Grow grows a box based on another box. +func (b Box) Grow(other Box) Box { + return Box{ + Top: MinInt(b.Top, other.Top), + Left: MinInt(b.Left, other.Left), + Right: MaxInt(b.Right, other.Right), + Bottom: MaxInt(b.Bottom, other.Bottom), + } +} + +// Shift pushes a box by x,y. +func (b Box) Shift(x, y int) Box { + return Box{ + Top: b.Top + y, + Left: b.Left + x, + Right: b.Right + x, + Bottom: b.Bottom + y, + } +} + +// Corners returns the box as a set of corners. +func (b Box) Corners() BoxCorners { + return BoxCorners{ + TopLeft: Point{b.Left, b.Top}, + TopRight: Point{b.Right, b.Top}, + BottomRight: Point{b.Right, b.Bottom}, + BottomLeft: Point{b.Left, b.Bottom}, + } +} + +// Fit is functionally the inverse of grow. +// Fit maintains the original aspect ratio of the `other` box, +// but constrains it to the bounds of the target box. +func (b Box) Fit(other Box) Box { + ba := b.Aspect() + oa := other.Aspect() + + if oa == ba { + return b.Clone() + } + + bw, bh := float64(b.Width()), float64(b.Height()) + bw2 := int(bw) >> 1 + bh2 := int(bh) >> 1 + if oa > ba { // ex. 16:9 vs. 4:3 + var noh2 int + if oa > 1.0 { + noh2 = int(bw/oa) >> 1 + } else { + noh2 = int(bh*oa) >> 1 + } + return Box{ + Top: (b.Top + bh2) - noh2, + Left: b.Left, + Right: b.Right, + Bottom: (b.Top + bh2) + noh2, + } + } + var now2 int + if oa > 1.0 { + now2 = int(bh/oa) >> 1 + } else { + now2 = int(bw*oa) >> 1 + } + return Box{ + Top: b.Top, + Left: (b.Left + bw2) - now2, + Right: (b.Left + bw2) + now2, + Bottom: b.Bottom, + } +} + +// Constrain is similar to `Fit` except that it will work +// more literally like the opposite of grow. +func (b Box) Constrain(other Box) Box { + newBox := b.Clone() + + newBox.Top = MaxInt(newBox.Top, other.Top) + newBox.Left = MaxInt(newBox.Left, other.Left) + newBox.Right = MinInt(newBox.Right, other.Right) + newBox.Bottom = MinInt(newBox.Bottom, other.Bottom) + + return newBox +} + +// OuterConstrain is similar to `Constraint` with the difference +// that it applies corrections +func (b Box) OuterConstrain(bounds, other Box) Box { + newBox := b.Clone() + if other.Top < bounds.Top { + delta := bounds.Top - other.Top + newBox.Top = b.Top + delta + } + + if other.Left < bounds.Left { + delta := bounds.Left - other.Left + newBox.Left = b.Left + delta + } + + if other.Right > bounds.Right { + delta := other.Right - bounds.Right + newBox.Right = b.Right - delta + } + + if other.Bottom > bounds.Bottom { + delta := other.Bottom - bounds.Bottom + newBox.Bottom = b.Bottom - delta + } + return newBox +} + +func (b Box) Validate() error { + if b.Left < 0 { + return fmt.Errorf("invalid left; must be >= 0") + } + if b.Right < 0 { + return fmt.Errorf("invalid right; must be > 0") + } + if b.Top < 0 { + return fmt.Errorf("invalid top; must be > 0") + } + if b.Bottom < 0 { + return fmt.Errorf("invalid bottom; must be > 0") + } + return nil +} + +// BoxCorners is a box with independent corners. +type BoxCorners struct { + TopLeft, TopRight, BottomRight, BottomLeft Point +} + +// Box return the BoxCorners as a regular box. +func (bc BoxCorners) Box() Box { + return Box{ + Top: MinInt(bc.TopLeft.Y, bc.TopRight.Y), + Left: MinInt(bc.TopLeft.X, bc.BottomLeft.X), + Right: MaxInt(bc.TopRight.X, bc.BottomRight.X), + Bottom: MaxInt(bc.BottomLeft.Y, bc.BottomRight.Y), + } +} + +// Width returns the width +func (bc BoxCorners) Width() int { + minLeft := MinInt(bc.TopLeft.X, bc.BottomLeft.X) + maxRight := MaxInt(bc.TopRight.X, bc.BottomRight.X) + return maxRight - minLeft +} + +// Height returns the height +func (bc BoxCorners) Height() int { + minTop := MinInt(bc.TopLeft.Y, bc.TopRight.Y) + maxBottom := MaxInt(bc.BottomLeft.Y, bc.BottomRight.Y) + return maxBottom - minTop +} + +// Center returns the center of the box +func (bc BoxCorners) Center() (x, y int) { + + left := MeanInt(bc.TopLeft.X, bc.BottomLeft.X) + right := MeanInt(bc.TopRight.X, bc.BottomRight.X) + x = ((right - left) >> 1) + left + + top := MeanInt(bc.TopLeft.Y, bc.TopRight.Y) + bottom := MeanInt(bc.BottomLeft.Y, bc.BottomRight.Y) + y = ((bottom - top) >> 1) + top + + return +} + +// Rotate rotates the box. +func (bc BoxCorners) Rotate(thetaDegrees float64) BoxCorners { + cx, cy := bc.Center() + + thetaRadians := DegreesToRadians(thetaDegrees) + + tlx, tly := RotateCoordinate(cx, cy, bc.TopLeft.X, bc.TopLeft.Y, thetaRadians) + trx, try := RotateCoordinate(cx, cy, bc.TopRight.X, bc.TopRight.Y, thetaRadians) + brx, bry := RotateCoordinate(cx, cy, bc.BottomRight.X, bc.BottomRight.Y, thetaRadians) + blx, bly := RotateCoordinate(cx, cy, bc.BottomLeft.X, bc.BottomLeft.Y, thetaRadians) + + return BoxCorners{ + TopLeft: Point{tlx, tly}, + TopRight: Point{trx, try}, + BottomRight: Point{brx, bry}, + BottomLeft: Point{blx, bly}, + } +} + +// Equals returns if the box equals another box. +func (bc BoxCorners) Equals(other BoxCorners) bool { + return bc.TopLeft.Equals(other.TopLeft) && + bc.TopRight.Equals(other.TopRight) && + bc.BottomRight.Equals(other.BottomRight) && + bc.BottomLeft.Equals(other.BottomLeft) +} + +func (bc BoxCorners) String() string { + return fmt.Sprintf("BoxC{%s,%s,%s,%s}", bc.TopLeft.String(), bc.TopRight.String(), bc.BottomRight.String(), bc.BottomLeft.String()) +} + +// Point is an X,Y pair +type Point struct { + X, Y int +} + +// DistanceTo calculates the distance to another point. +func (p Point) DistanceTo(other Point) float64 { + dx := math.Pow(float64(p.X-other.X), 2) + dy := math.Pow(float64(p.Y-other.Y), 2) + return math.Pow(dx+dy, 0.5) +} + +// Equals returns if a point equals another point. +func (p Point) Equals(other Point) bool { + return p.X == other.X && p.Y == other.Y +} + +// String returns a string representation of the point. +func (p Point) String() string { + return fmt.Sprintf("P{%d,%d}", p.X, p.Y) +} diff --git a/box_test.go b/box_test.go new file mode 100644 index 0000000..e62d5b7 --- /dev/null +++ b/box_test.go @@ -0,0 +1,188 @@ +package chart + +import ( + "math" + "testing" + + "github.com/wcharczuk/go-chart/v2/testutil" +) + +func TestBoxClone(t *testing.T) { + // replaced new assertions helper + a := Box{Top: 5, Left: 5, Right: 15, Bottom: 15} + b := a.Clone() + testutil.AssertTrue(t, a.Equals(b)) + testutil.AssertTrue(t, b.Equals(a)) +} + +func TestBoxEquals(t *testing.T) { + // replaced new assertions helper + + a := Box{Top: 5, Left: 5, Right: 15, Bottom: 15} + b := Box{Top: 10, Left: 10, Right: 30, Bottom: 30} + c := Box{Top: 5, Left: 5, Right: 15, Bottom: 15} + testutil.AssertTrue(t, a.Equals(a)) + testutil.AssertTrue(t, a.Equals(c)) + testutil.AssertTrue(t, c.Equals(a)) + testutil.AssertFalse(t, a.Equals(b)) + testutil.AssertFalse(t, c.Equals(b)) + testutil.AssertFalse(t, b.Equals(a)) + testutil.AssertFalse(t, b.Equals(c)) +} + +func TestBoxIsBiggerThan(t *testing.T) { + // replaced new assertions helper + + a := Box{Top: 5, Left: 5, Right: 25, Bottom: 25} + b := Box{Top: 10, Left: 10, Right: 20, Bottom: 20} // only half bigger + c := Box{Top: 1, Left: 1, Right: 30, Bottom: 30} //bigger + testutil.AssertTrue(t, a.IsBiggerThan(b)) + testutil.AssertFalse(t, a.IsBiggerThan(c)) + testutil.AssertTrue(t, c.IsBiggerThan(a)) +} + +func TestBoxIsSmallerThan(t *testing.T) { + // replaced new assertions helper + + a := Box{Top: 5, Left: 5, Right: 25, Bottom: 25} + b := Box{Top: 10, Left: 10, Right: 20, Bottom: 20} // only half bigger + c := Box{Top: 1, Left: 1, Right: 30, Bottom: 30} //bigger + testutil.AssertFalse(t, a.IsSmallerThan(b)) + testutil.AssertTrue(t, a.IsSmallerThan(c)) + testutil.AssertFalse(t, c.IsSmallerThan(a)) +} + +func TestBoxGrow(t *testing.T) { + // replaced new assertions helper + + a := Box{Top: 1, Left: 2, Right: 15, Bottom: 15} + b := Box{Top: 4, Left: 5, Right: 30, Bottom: 35} + c := a.Grow(b) + testutil.AssertFalse(t, c.Equals(b)) + testutil.AssertFalse(t, c.Equals(a)) + testutil.AssertEqual(t, 1, c.Top) + testutil.AssertEqual(t, 2, c.Left) + testutil.AssertEqual(t, 30, c.Right) + testutil.AssertEqual(t, 35, c.Bottom) +} + +func TestBoxFit(t *testing.T) { + // replaced new assertions helper + + a := Box{Top: 64, Left: 64, Right: 192, Bottom: 192} + b := Box{Top: 16, Left: 16, Right: 256, Bottom: 170} + c := Box{Top: 16, Left: 16, Right: 170, Bottom: 256} + + fab := a.Fit(b) + testutil.AssertEqual(t, a.Left, fab.Left) + testutil.AssertEqual(t, a.Right, fab.Right) + testutil.AssertTrue(t, fab.Top < fab.Bottom) + testutil.AssertTrue(t, fab.Left < fab.Right) + testutil.AssertTrue(t, math.Abs(b.Aspect()-fab.Aspect()) < 0.02) + + fac := a.Fit(c) + testutil.AssertEqual(t, a.Top, fac.Top) + testutil.AssertEqual(t, a.Bottom, fac.Bottom) + testutil.AssertTrue(t, math.Abs(c.Aspect()-fac.Aspect()) < 0.02) +} + +func TestBoxConstrain(t *testing.T) { + // replaced new assertions helper + + a := Box{Top: 64, Left: 64, Right: 192, Bottom: 192} + b := Box{Top: 16, Left: 16, Right: 256, Bottom: 170} + c := Box{Top: 16, Left: 16, Right: 170, Bottom: 256} + + cab := a.Constrain(b) + testutil.AssertEqual(t, 64, cab.Top) + testutil.AssertEqual(t, 64, cab.Left) + testutil.AssertEqual(t, 192, cab.Right) + testutil.AssertEqual(t, 170, cab.Bottom) + + cac := a.Constrain(c) + testutil.AssertEqual(t, 64, cac.Top) + testutil.AssertEqual(t, 64, cac.Left) + testutil.AssertEqual(t, 170, cac.Right) + testutil.AssertEqual(t, 192, cac.Bottom) +} + +func TestBoxOuterConstrain(t *testing.T) { + // replaced new assertions helper + + box := NewBox(0, 0, 100, 100) + canvas := NewBox(5, 5, 95, 95) + taller := NewBox(-10, 5, 50, 50) + + c := canvas.OuterConstrain(box, taller) + testutil.AssertEqual(t, 15, c.Top, c.String()) + testutil.AssertEqual(t, 5, c.Left, c.String()) + testutil.AssertEqual(t, 95, c.Right, c.String()) + testutil.AssertEqual(t, 95, c.Bottom, c.String()) + + wider := NewBox(5, 5, 110, 50) + d := canvas.OuterConstrain(box, wider) + testutil.AssertEqual(t, 5, d.Top, d.String()) + testutil.AssertEqual(t, 5, d.Left, d.String()) + testutil.AssertEqual(t, 85, d.Right, d.String()) + testutil.AssertEqual(t, 95, d.Bottom, d.String()) +} + +func TestBoxShift(t *testing.T) { + // replaced new assertions helper + + b := Box{ + Top: 5, + Left: 5, + Right: 10, + Bottom: 10, + } + + shifted := b.Shift(1, 2) + testutil.AssertEqual(t, 7, shifted.Top) + testutil.AssertEqual(t, 6, shifted.Left) + testutil.AssertEqual(t, 11, shifted.Right) + testutil.AssertEqual(t, 12, shifted.Bottom) +} + +func TestBoxCenter(t *testing.T) { + // replaced new assertions helper + + b := Box{ + Top: 10, + Left: 10, + Right: 20, + Bottom: 30, + } + cx, cy := b.Center() + testutil.AssertEqual(t, 15, cx) + testutil.AssertEqual(t, 20, cy) +} + +func TestBoxCornersCenter(t *testing.T) { + // replaced new assertions helper + + bc := BoxCorners{ + TopLeft: Point{5, 5}, + TopRight: Point{15, 5}, + BottomRight: Point{15, 15}, + BottomLeft: Point{5, 15}, + } + + cx, cy := bc.Center() + testutil.AssertEqual(t, 10, cx) + testutil.AssertEqual(t, 10, cy) +} + +func TestBoxCornersRotate(t *testing.T) { + // replaced new assertions helper + + bc := BoxCorners{ + TopLeft: Point{5, 5}, + TopRight: Point{15, 5}, + BottomRight: Point{15, 15}, + BottomLeft: Point{5, 15}, + } + + rotated := bc.Rotate(45) + testutil.AssertTrue(t, rotated.TopLeft.Equals(Point{10, 3}), rotated.String()) +} diff --git a/chart.go b/chart.go new file mode 100644 index 0000000..5212a43 --- /dev/null +++ b/chart.go @@ -0,0 +1,577 @@ +package chart + +import ( + "errors" + "fmt" + "io" + "math" + + "github.com/golang/freetype/truetype" +) + +// Chart is what we're drawing. +type Chart struct { + Title string + TitleStyle Style + + ColorPalette ColorPalette + + Width int + Height int + DPI float64 + + Background Style + Canvas Style + + XAxis XAxis + YAxis YAxis + YAxisSecondary YAxis + + Font *truetype.Font + defaultFont *truetype.Font + + Series []Series + Elements []Renderable + + Log Logger +} + +// GetDPI returns the dpi for the chart. +func (c Chart) GetDPI(defaults ...float64) float64 { + if c.DPI == 0 { + if len(defaults) > 0 { + return defaults[0] + } + return DefaultDPI + } + return c.DPI +} + +// GetFont returns the text font. +func (c Chart) GetFont() *truetype.Font { + if c.Font == nil { + return c.defaultFont + } + return c.Font +} + +// GetWidth returns the chart width or the default value. +func (c Chart) GetWidth() int { + if c.Width == 0 { + return DefaultChartWidth + } + return c.Width +} + +// GetHeight returns the chart height or the default value. +func (c Chart) GetHeight() int { + if c.Height == 0 { + return DefaultChartHeight + } + return c.Height +} + +// Render renders the chart with the given renderer to the given io.Writer. +func (c Chart) Render(rp RendererProvider, w io.Writer) error { + if len(c.Series) == 0 { + return errors.New("please provide at least one series") + } + if err := c.checkHasVisibleSeries(); err != nil { + return err + } + + c.YAxisSecondary.AxisType = YAxisSecondary + + r, err := rp(c.GetWidth(), c.GetHeight()) + if err != nil { + return err + } + + if c.Font == nil { + defaultFont, err := GetDefaultFont() + if err != nil { + return err + } + c.defaultFont = defaultFont + } + r.SetDPI(c.GetDPI(DefaultDPI)) + + c.drawBackground(r) + + var xt, yt, yta []Tick + xr, yr, yra := c.getRanges() + canvasBox := c.getDefaultCanvasBox() + xf, yf, yfa := c.getValueFormatters() + + Debugf(c.Log, "chart; canvas box: %v", canvasBox) + + xr, yr, yra = c.setRangeDomains(canvasBox, xr, yr, yra) + + err = c.checkRanges(xr, yr, yra) + if err != nil { + r.Save(w) + return err + } + + if c.hasAxes() { + xt, yt, yta = c.getAxesTicks(r, xr, yr, yra, xf, yf, yfa) + canvasBox = c.getAxesAdjustedCanvasBox(r, canvasBox, xr, yr, yra, xt, yt, yta) + xr, yr, yra = c.setRangeDomains(canvasBox, xr, yr, yra) + + Debugf(c.Log, "chart; axes adjusted canvas box: %v", canvasBox) + + // do a second pass in case things haven't settled yet. + xt, yt, yta = c.getAxesTicks(r, xr, yr, yra, xf, yf, yfa) + canvasBox = c.getAxesAdjustedCanvasBox(r, canvasBox, xr, yr, yra, xt, yt, yta) + xr, yr, yra = c.setRangeDomains(canvasBox, xr, yr, yra) + } + + if c.hasAnnotationSeries() { + canvasBox = c.getAnnotationAdjustedCanvasBox(r, canvasBox, xr, yr, yra, xf, yf, yfa) + xr, yr, yra = c.setRangeDomains(canvasBox, xr, yr, yra) + xt, yt, yta = c.getAxesTicks(r, xr, yr, yra, xf, yf, yfa) + + Debugf(c.Log, "chart; annotation adjusted canvas box: %v", canvasBox) + } + + c.drawCanvas(r, canvasBox) + c.drawAxes(r, canvasBox, xr, yr, yra, xt, yt, yta) + for index, series := range c.Series { + c.drawSeries(r, canvasBox, xr, yr, yra, series, index) + } + + c.drawTitle(r) + + for _, a := range c.Elements { + a(r, canvasBox, c.styleDefaultsElements()) + } + + return r.Save(w) +} + +func (c Chart) checkHasVisibleSeries() error { + var style Style + for _, s := range c.Series { + style = s.GetStyle() + if !style.Hidden { + return nil + } + } + return fmt.Errorf("chart render; must have (1) visible series") +} + +func (c Chart) validateSeries() error { + var err error + for _, s := range c.Series { + err = s.Validate() + if err != nil { + return err + } + } + return nil +} + +func (c Chart) getRanges() (xrange, yrange, yrangeAlt Range) { + var minx, maxx float64 = math.MaxFloat64, -math.MaxFloat64 + var miny, maxy float64 = math.MaxFloat64, -math.MaxFloat64 + var minya, maxya float64 = math.MaxFloat64, -math.MaxFloat64 + + seriesMappedToSecondaryAxis := false + + // note: a possible future optimization is to not scan the series values if + // all axis are represented by either custom ticks or custom ranges. + for _, s := range c.Series { + if !s.GetStyle().Hidden { + seriesAxis := s.GetYAxis() + if bvp, isBoundedValuesProvider := s.(BoundedValuesProvider); isBoundedValuesProvider { + seriesLength := bvp.Len() + for index := 0; index < seriesLength; index++ { + vx, vy1, vy2 := bvp.GetBoundedValues(index) + + minx = math.Min(minx, vx) + maxx = math.Max(maxx, vx) + + if seriesAxis == YAxisPrimary { + miny = math.Min(miny, vy1) + miny = math.Min(miny, vy2) + maxy = math.Max(maxy, vy1) + maxy = math.Max(maxy, vy2) + } else if seriesAxis == YAxisSecondary { + minya = math.Min(minya, vy1) + minya = math.Min(minya, vy2) + maxya = math.Max(maxya, vy1) + maxya = math.Max(maxya, vy2) + seriesMappedToSecondaryAxis = true + } + } + } else if vp, isValuesProvider := s.(ValuesProvider); isValuesProvider { + seriesLength := vp.Len() + for index := 0; index < seriesLength; index++ { + vx, vy := vp.GetValues(index) + + minx = math.Min(minx, vx) + maxx = math.Max(maxx, vx) + + if seriesAxis == YAxisPrimary { + miny = math.Min(miny, vy) + maxy = math.Max(maxy, vy) + } else if seriesAxis == YAxisSecondary { + minya = math.Min(minya, vy) + maxya = math.Max(maxya, vy) + seriesMappedToSecondaryAxis = true + } + } + } + } + } + + if c.XAxis.Range == nil { + xrange = &ContinuousRange{} + } else { + xrange = c.XAxis.Range + } + + if c.YAxis.Range == nil { + yrange = &ContinuousRange{} + } else { + yrange = c.YAxis.Range + } + + if c.YAxisSecondary.Range == nil { + yrangeAlt = &ContinuousRange{} + } else { + yrangeAlt = c.YAxisSecondary.Range + } + + if len(c.XAxis.Ticks) > 0 { + tickMin, tickMax := math.MaxFloat64, -math.MaxFloat64 + for _, t := range c.XAxis.Ticks { + tickMin = math.Min(tickMin, t.Value) + tickMax = math.Max(tickMax, t.Value) + } + xrange.SetMin(tickMin) + xrange.SetMax(tickMax) + } else if xrange.IsZero() { + xrange.SetMin(minx) + xrange.SetMax(maxx) + } + + if len(c.YAxis.Ticks) > 0 { + tickMin, tickMax := math.MaxFloat64, -math.MaxFloat64 + for _, t := range c.YAxis.Ticks { + tickMin = math.Min(tickMin, t.Value) + tickMax = math.Max(tickMax, t.Value) + } + yrange.SetMin(tickMin) + yrange.SetMax(tickMax) + } else if yrange.IsZero() { + yrange.SetMin(miny) + yrange.SetMax(maxy) + + if !c.YAxis.Style.Hidden { + delta := yrange.GetDelta() + roundTo := GetRoundToForDelta(delta) + rmin, rmax := RoundDown(yrange.GetMin(), roundTo), RoundUp(yrange.GetMax(), roundTo) + + yrange.SetMin(rmin) + yrange.SetMax(rmax) + } + } + + if len(c.YAxisSecondary.Ticks) > 0 { + tickMin, tickMax := math.MaxFloat64, -math.MaxFloat64 + for _, t := range c.YAxis.Ticks { + tickMin = math.Min(tickMin, t.Value) + tickMax = math.Max(tickMax, t.Value) + } + yrangeAlt.SetMin(tickMin) + yrangeAlt.SetMax(tickMax) + } else if seriesMappedToSecondaryAxis && yrangeAlt.IsZero() { + yrangeAlt.SetMin(minya) + yrangeAlt.SetMax(maxya) + + if !c.YAxisSecondary.Style.Hidden { + delta := yrangeAlt.GetDelta() + roundTo := GetRoundToForDelta(delta) + rmin, rmax := RoundDown(yrangeAlt.GetMin(), roundTo), RoundUp(yrangeAlt.GetMax(), roundTo) + yrangeAlt.SetMin(rmin) + yrangeAlt.SetMax(rmax) + } + } + + return +} + +func (c Chart) checkRanges(xr, yr, yra Range) error { + Debugf(c.Log, "checking xrange: %v", xr) + xDelta := xr.GetDelta() + if math.IsInf(xDelta, 0) { + return errors.New("infinite x-range delta") + } + if math.IsNaN(xDelta) { + return errors.New("nan x-range delta") + } + if xDelta == 0 { + return errors.New("zero x-range delta; there needs to be at least (2) values") + } + + Debugf(c.Log, "checking yrange: %v", yr) + yDelta := yr.GetDelta() + if math.IsInf(yDelta, 0) { + return errors.New("infinite y-range delta") + } + if math.IsNaN(yDelta) { + return errors.New("nan y-range delta") + } + + if c.hasSecondarySeries() { + Debugf(c.Log, "checking secondary yrange: %v", yra) + yraDelta := yra.GetDelta() + if math.IsInf(yraDelta, 0) { + return errors.New("infinite secondary y-range delta") + } + if math.IsNaN(yraDelta) { + return errors.New("nan secondary y-range delta") + } + } + + return nil +} + +func (c Chart) getDefaultCanvasBox() Box { + return c.Box() +} + +func (c Chart) getValueFormatters() (x, y, ya ValueFormatter) { + for _, s := range c.Series { + if vfp, isVfp := s.(ValueFormatterProvider); isVfp { + sx, sy := vfp.GetValueFormatters() + if s.GetYAxis() == YAxisPrimary { + x = sx + y = sy + } else if s.GetYAxis() == YAxisSecondary { + x = sx + ya = sy + } + } + } + if c.XAxis.ValueFormatter != nil { + x = c.XAxis.GetValueFormatter() + } + if c.YAxis.ValueFormatter != nil { + y = c.YAxis.GetValueFormatter() + } + if c.YAxisSecondary.ValueFormatter != nil { + ya = c.YAxisSecondary.GetValueFormatter() + } + return +} + +func (c Chart) hasAxes() bool { + return !c.XAxis.Style.Hidden || !c.YAxis.Style.Hidden || !c.YAxisSecondary.Style.Hidden +} + +func (c Chart) getAxesTicks(r Renderer, xr, yr, yar Range, xf, yf, yfa ValueFormatter) (xticks, yticks, yticksAlt []Tick) { + if !c.XAxis.Style.Hidden { + xticks = c.XAxis.GetTicks(r, xr, c.styleDefaultsAxes(), xf) + } + if !c.YAxis.Style.Hidden { + yticks = c.YAxis.GetTicks(r, yr, c.styleDefaultsAxes(), yf) + } + if !c.YAxisSecondary.Style.Hidden { + yticksAlt = c.YAxisSecondary.GetTicks(r, yar, c.styleDefaultsAxes(), yfa) + } + return +} + +func (c Chart) getAxesAdjustedCanvasBox(r Renderer, canvasBox Box, xr, yr, yra Range, xticks, yticks, yticksAlt []Tick) Box { + axesOuterBox := canvasBox.Clone() + if !c.XAxis.Style.Hidden { + axesBounds := c.XAxis.Measure(r, canvasBox, xr, c.styleDefaultsAxes(), xticks) + Debugf(c.Log, "chart; x-axis measured %v", axesBounds) + axesOuterBox = axesOuterBox.Grow(axesBounds) + } + if !c.YAxis.Style.Hidden { + axesBounds := c.YAxis.Measure(r, canvasBox, yr, c.styleDefaultsAxes(), yticks) + Debugf(c.Log, "chart; y-axis measured %v", axesBounds) + axesOuterBox = axesOuterBox.Grow(axesBounds) + } + if !c.YAxisSecondary.Style.Hidden && c.hasSecondarySeries() { + axesBounds := c.YAxisSecondary.Measure(r, canvasBox, yra, c.styleDefaultsAxes(), yticksAlt) + Debugf(c.Log, "chart; y-axis secondary measured %v", axesBounds) + axesOuterBox = axesOuterBox.Grow(axesBounds) + } + + return canvasBox.OuterConstrain(c.Box(), axesOuterBox) +} + +func (c Chart) setRangeDomains(canvasBox Box, xr, yr, yra Range) (Range, Range, Range) { + xr.SetDomain(canvasBox.Width()) + yr.SetDomain(canvasBox.Height()) + yra.SetDomain(canvasBox.Height()) + return xr, yr, yra +} + +func (c Chart) hasAnnotationSeries() bool { + for _, s := range c.Series { + if as, isAnnotationSeries := s.(AnnotationSeries); isAnnotationSeries { + if !as.GetStyle().Hidden { + return true + } + } + } + return false +} + +func (c Chart) hasSecondarySeries() bool { + for _, s := range c.Series { + if s.GetYAxis() == YAxisSecondary { + return true + } + } + return false +} + +func (c Chart) getAnnotationAdjustedCanvasBox(r Renderer, canvasBox Box, xr, yr, yra Range, xf, yf, yfa ValueFormatter) Box { + annotationSeriesBox := canvasBox.Clone() + for seriesIndex, s := range c.Series { + if as, isAnnotationSeries := s.(AnnotationSeries); isAnnotationSeries { + if !as.GetStyle().Hidden { + style := c.styleDefaultsSeries(seriesIndex) + var annotationBounds Box + if as.YAxis == YAxisPrimary { + annotationBounds = as.Measure(r, canvasBox, xr, yr, style) + } else if as.YAxis == YAxisSecondary { + annotationBounds = as.Measure(r, canvasBox, xr, yra, style) + } + + annotationSeriesBox = annotationSeriesBox.Grow(annotationBounds) + } + } + } + + return canvasBox.OuterConstrain(c.Box(), annotationSeriesBox) +} + +func (c Chart) getBackgroundStyle() Style { + return c.Background.InheritFrom(c.styleDefaultsBackground()) +} + +func (c Chart) drawBackground(r Renderer) { + Draw.Box(r, Box{ + Right: c.GetWidth(), + Bottom: c.GetHeight(), + }, c.getBackgroundStyle()) +} + +func (c Chart) getCanvasStyle() Style { + return c.Canvas.InheritFrom(c.styleDefaultsCanvas()) +} + +func (c Chart) drawCanvas(r Renderer, canvasBox Box) { + Draw.Box(r, canvasBox, c.getCanvasStyle()) +} + +func (c Chart) drawAxes(r Renderer, canvasBox Box, xrange, yrange, yrangeAlt Range, xticks, yticks, yticksAlt []Tick) { + if !c.XAxis.Style.Hidden { + c.XAxis.Render(r, canvasBox, xrange, c.styleDefaultsAxes(), xticks) + } + if !c.YAxis.Style.Hidden { + c.YAxis.Render(r, canvasBox, yrange, c.styleDefaultsAxes(), yticks) + } + if !c.YAxisSecondary.Style.Hidden { + c.YAxisSecondary.Render(r, canvasBox, yrangeAlt, c.styleDefaultsAxes(), yticksAlt) + } +} + +func (c Chart) drawSeries(r Renderer, canvasBox Box, xrange, yrange, yrangeAlt Range, s Series, seriesIndex int) { + if !s.GetStyle().Hidden { + if s.GetYAxis() == YAxisPrimary { + s.Render(r, canvasBox, xrange, yrange, c.styleDefaultsSeries(seriesIndex)) + } else if s.GetYAxis() == YAxisSecondary { + s.Render(r, canvasBox, xrange, yrangeAlt, c.styleDefaultsSeries(seriesIndex)) + } + } +} + +func (c Chart) drawTitle(r Renderer) { + if len(c.Title) > 0 && !c.TitleStyle.Hidden { + r.SetFont(c.TitleStyle.GetFont(c.GetFont())) + r.SetFontColor(c.TitleStyle.GetFontColor(c.GetColorPalette().TextColor())) + titleFontSize := c.TitleStyle.GetFontSize(DefaultTitleFontSize) + r.SetFontSize(titleFontSize) + + textBox := r.MeasureText(c.Title) + + textWidth := textBox.Width() + textHeight := textBox.Height() + + titleX := (c.GetWidth() >> 1) - (textWidth >> 1) + titleY := c.TitleStyle.Padding.GetTop(DefaultTitleTop) + textHeight + + r.Text(c.Title, titleX, titleY) + } +} + +func (c Chart) styleDefaultsBackground() Style { + return Style{ + FillColor: c.GetColorPalette().BackgroundColor(), + StrokeColor: c.GetColorPalette().BackgroundStrokeColor(), + StrokeWidth: DefaultBackgroundStrokeWidth, + } +} + +func (c Chart) styleDefaultsCanvas() Style { + return Style{ + FillColor: c.GetColorPalette().CanvasColor(), + StrokeColor: c.GetColorPalette().CanvasStrokeColor(), + StrokeWidth: DefaultCanvasStrokeWidth, + } +} + +func (c Chart) styleDefaultsSeries(seriesIndex int) Style { + return Style{ + DotColor: c.GetColorPalette().GetSeriesColor(seriesIndex), + StrokeColor: c.GetColorPalette().GetSeriesColor(seriesIndex), + StrokeWidth: DefaultSeriesLineWidth, + Font: c.GetFont(), + FontSize: DefaultFontSize, + } +} + +func (c Chart) styleDefaultsAxes() Style { + return Style{ + Font: c.GetFont(), + FontColor: c.GetColorPalette().TextColor(), + FontSize: DefaultAxisFontSize, + StrokeColor: c.GetColorPalette().AxisStrokeColor(), + StrokeWidth: DefaultAxisLineWidth, + } +} + +func (c Chart) styleDefaultsElements() Style { + return Style{ + Font: c.GetFont(), + } +} + +// GetColorPalette returns the color palette for the chart. +func (c Chart) GetColorPalette() ColorPalette { + if c.ColorPalette != nil { + return c.ColorPalette + } + return DefaultColorPalette +} + +// Box returns the chart bounds as a box. +func (c Chart) Box() Box { + dpr := c.Background.Padding.GetRight(DefaultBackgroundPadding.Right) + dpb := c.Background.Padding.GetBottom(DefaultBackgroundPadding.Bottom) + + return Box{ + Top: c.Background.Padding.GetTop(DefaultBackgroundPadding.Top), + Left: c.Background.Padding.GetLeft(DefaultBackgroundPadding.Left), + Right: c.GetWidth() - dpr, + Bottom: c.GetHeight() - dpb, + } +} diff --git a/chart_test.go b/chart_test.go new file mode 100644 index 0000000..8382a4c --- /dev/null +++ b/chart_test.go @@ -0,0 +1,594 @@ +package chart + +import ( + "bytes" + "image" + "image/png" + "math" + "testing" + "time" + + "github.com/wcharczuk/go-chart/v2/drawing" + "github.com/wcharczuk/go-chart/v2/testutil" +) + +func TestChartGetDPI(t *testing.T) { + // replaced new assertions helper + + unset := Chart{} + testutil.AssertEqual(t, DefaultDPI, unset.GetDPI()) + testutil.AssertEqual(t, 192, unset.GetDPI(192)) + + set := Chart{DPI: 128} + testutil.AssertEqual(t, 128, set.GetDPI()) + testutil.AssertEqual(t, 128, set.GetDPI(192)) +} + +func TestChartGetFont(t *testing.T) { + // replaced new assertions helper + + f, err := GetDefaultFont() + testutil.AssertNil(t, err) + + unset := Chart{} + testutil.AssertNil(t, unset.GetFont()) + + set := Chart{Font: f} + testutil.AssertNotNil(t, set.GetFont()) +} + +func TestChartGetWidth(t *testing.T) { + // replaced new assertions helper + + unset := Chart{} + testutil.AssertEqual(t, DefaultChartWidth, unset.GetWidth()) + + set := Chart{Width: DefaultChartWidth + 10} + testutil.AssertEqual(t, DefaultChartWidth+10, set.GetWidth()) +} + +func TestChartGetHeight(t *testing.T) { + // replaced new assertions helper + + unset := Chart{} + testutil.AssertEqual(t, DefaultChartHeight, unset.GetHeight()) + + set := Chart{Height: DefaultChartHeight + 10} + testutil.AssertEqual(t, DefaultChartHeight+10, set.GetHeight()) +} + +func TestChartGetRanges(t *testing.T) { + // replaced new assertions helper + + c := Chart{ + Series: []Series{ + ContinuousSeries{ + XValues: []float64{-2.0, -1.0, 0, 1.0, 2.0}, + YValues: []float64{1.0, 2.0, 3.0, 4.0, 4.5}, + }, + ContinuousSeries{ + XValues: []float64{1.0, 2.0, 3.0, 4.0, 5.0}, + YValues: []float64{-2.1, -1.0, 0, 1.0, 2.0}, + }, + ContinuousSeries{ + YAxis: YAxisSecondary, + XValues: []float64{1.0, 2.0, 3.0, 4.0, 5.0}, + YValues: []float64{10.0, 11.0, 12.0, 13.0, 14.0}, + }, + }, + } + + xrange, yrange, yrangeAlt := c.getRanges() + testutil.AssertEqual(t, -2.0, xrange.GetMin()) + testutil.AssertEqual(t, 5.0, xrange.GetMax()) + + testutil.AssertEqual(t, -2.1, yrange.GetMin()) + testutil.AssertEqual(t, 4.5, yrange.GetMax()) + + testutil.AssertEqual(t, 10.0, yrangeAlt.GetMin()) + testutil.AssertEqual(t, 14.0, yrangeAlt.GetMax()) + + cSet := Chart{ + XAxis: XAxis{ + Range: &ContinuousRange{Min: 9.8, Max: 19.8}, + }, + YAxis: YAxis{ + Range: &ContinuousRange{Min: 9.9, Max: 19.9}, + }, + YAxisSecondary: YAxis{ + Range: &ContinuousRange{Min: 9.7, Max: 19.7}, + }, + Series: []Series{ + ContinuousSeries{ + XValues: []float64{-2.0, -1.0, 0, 1.0, 2.0}, + YValues: []float64{1.0, 2.0, 3.0, 4.0, 4.5}, + }, + ContinuousSeries{ + XValues: []float64{1.0, 2.0, 3.0, 4.0, 5.0}, + YValues: []float64{-2.1, -1.0, 0, 1.0, 2.0}, + }, + ContinuousSeries{ + YAxis: YAxisSecondary, + XValues: []float64{1.0, 2.0, 3.0, 4.0, 5.0}, + YValues: []float64{10.0, 11.0, 12.0, 13.0, 14.0}, + }, + }, + } + + xr2, yr2, yra2 := cSet.getRanges() + testutil.AssertEqual(t, 9.8, xr2.GetMin()) + testutil.AssertEqual(t, 19.8, xr2.GetMax()) + + testutil.AssertEqual(t, 9.9, yr2.GetMin()) + testutil.AssertEqual(t, 19.9, yr2.GetMax()) + + testutil.AssertEqual(t, 9.7, yra2.GetMin()) + testutil.AssertEqual(t, 19.7, yra2.GetMax()) +} + +func TestChartGetRangesUseTicks(t *testing.T) { + // replaced new assertions helper + + // this test asserts that ticks should supercede manual ranges when generating the overall ranges. + + c := Chart{ + YAxis: YAxis{ + Ticks: []Tick{ + {0.0, "Zero"}, + {1.0, "1.0"}, + {2.0, "2.0"}, + {3.0, "3.0"}, + {4.0, "4.0"}, + {5.0, "Five"}, + }, + Range: &ContinuousRange{ + Min: -5.0, + Max: 5.0, + }, + }, + Series: []Series{ + ContinuousSeries{ + XValues: []float64{-2.0, -1.0, 0, 1.0, 2.0}, + YValues: []float64{1.0, 2.0, 3.0, 4.0, 4.5}, + }, + }, + } + + xr, yr, yar := c.getRanges() + testutil.AssertEqual(t, -2.0, xr.GetMin()) + testutil.AssertEqual(t, 2.0, xr.GetMax()) + testutil.AssertEqual(t, 0.0, yr.GetMin()) + testutil.AssertEqual(t, 5.0, yr.GetMax()) + testutil.AssertTrue(t, yar.IsZero(), yar.String()) +} + +func TestChartGetRangesUseUserRanges(t *testing.T) { + // replaced new assertions helper + + c := Chart{ + YAxis: YAxis{ + Range: &ContinuousRange{ + Min: -5.0, + Max: 5.0, + }, + }, + Series: []Series{ + ContinuousSeries{ + XValues: []float64{-2.0, -1.0, 0, 1.0, 2.0}, + YValues: []float64{1.0, 2.0, 3.0, 4.0, 4.5}, + }, + }, + } + + xr, yr, yar := c.getRanges() + testutil.AssertEqual(t, -2.0, xr.GetMin()) + testutil.AssertEqual(t, 2.0, xr.GetMax()) + testutil.AssertEqual(t, -5.0, yr.GetMin()) + testutil.AssertEqual(t, 5.0, yr.GetMax()) + testutil.AssertTrue(t, yar.IsZero(), yar.String()) +} + +func TestChartGetBackgroundStyle(t *testing.T) { + // replaced new assertions helper + + c := Chart{ + Background: Style{ + FillColor: drawing.ColorBlack, + }, + } + + bs := c.getBackgroundStyle() + testutil.AssertEqual(t, bs.FillColor.String(), drawing.ColorBlack.String()) +} + +func TestChartGetCanvasStyle(t *testing.T) { + // replaced new assertions helper + + c := Chart{ + Canvas: Style{ + FillColor: drawing.ColorBlack, + }, + } + + bs := c.getCanvasStyle() + testutil.AssertEqual(t, bs.FillColor.String(), drawing.ColorBlack.String()) +} + +func TestChartGetDefaultCanvasBox(t *testing.T) { + // replaced new assertions helper + + c := Chart{} + canvasBoxDefault := c.getDefaultCanvasBox() + testutil.AssertFalse(t, canvasBoxDefault.IsZero()) + testutil.AssertEqual(t, DefaultBackgroundPadding.Top, canvasBoxDefault.Top) + testutil.AssertEqual(t, DefaultBackgroundPadding.Left, canvasBoxDefault.Left) + testutil.AssertEqual(t, c.GetWidth()-DefaultBackgroundPadding.Right, canvasBoxDefault.Right) + testutil.AssertEqual(t, c.GetHeight()-DefaultBackgroundPadding.Bottom, canvasBoxDefault.Bottom) + + custom := Chart{ + Background: Style{ + Padding: Box{ + Top: DefaultBackgroundPadding.Top + 1, + Left: DefaultBackgroundPadding.Left + 1, + Right: DefaultBackgroundPadding.Right + 1, + Bottom: DefaultBackgroundPadding.Bottom + 1, + }, + }, + } + canvasBoxCustom := custom.getDefaultCanvasBox() + testutil.AssertFalse(t, canvasBoxCustom.IsZero()) + testutil.AssertEqual(t, DefaultBackgroundPadding.Top+1, canvasBoxCustom.Top) + testutil.AssertEqual(t, DefaultBackgroundPadding.Left+1, canvasBoxCustom.Left) + testutil.AssertEqual(t, c.GetWidth()-(DefaultBackgroundPadding.Right+1), canvasBoxCustom.Right) + testutil.AssertEqual(t, c.GetHeight()-(DefaultBackgroundPadding.Bottom+1), canvasBoxCustom.Bottom) +} + +func TestChartGetValueFormatters(t *testing.T) { + // replaced new assertions helper + + c := Chart{ + Series: []Series{ + ContinuousSeries{ + XValues: []float64{-2.0, -1.0, 0, 1.0, 2.0}, + YValues: []float64{1.0, 2.0, 3.0, 4.0, 4.5}, + }, + ContinuousSeries{ + XValues: []float64{1.0, 2.0, 3.0, 4.0, 5.0}, + YValues: []float64{-2.1, -1.0, 0, 1.0, 2.0}, + }, + ContinuousSeries{ + YAxis: YAxisSecondary, + XValues: []float64{1.0, 2.0, 3.0, 4.0, 5.0}, + YValues: []float64{10.0, 11.0, 12.0, 13.0, 14.0}, + }, + }, + } + + dxf, dyf, dyaf := c.getValueFormatters() + testutil.AssertNotNil(t, dxf) + testutil.AssertNotNil(t, dyf) + testutil.AssertNotNil(t, dyaf) +} + +func TestChartHasAxes(t *testing.T) { + // replaced new assertions helper + + testutil.AssertTrue(t, Chart{}.hasAxes()) + testutil.AssertFalse(t, Chart{XAxis: XAxis{Style: Hidden()}, YAxis: YAxis{Style: Hidden()}, YAxisSecondary: YAxis{Style: Hidden()}}.hasAxes()) + + x := Chart{ + XAxis: XAxis{ + Style: Hidden(), + }, + YAxis: YAxis{ + Style: Shown(), + }, + YAxisSecondary: YAxis{ + Style: Hidden(), + }, + } + testutil.AssertTrue(t, x.hasAxes()) + + y := Chart{ + XAxis: XAxis{ + Style: Shown(), + }, + YAxis: YAxis{ + Style: Hidden(), + }, + YAxisSecondary: YAxis{ + Style: Hidden(), + }, + } + testutil.AssertTrue(t, y.hasAxes()) + + ya := Chart{ + XAxis: XAxis{ + Style: Hidden(), + }, + YAxis: YAxis{ + Style: Hidden(), + }, + YAxisSecondary: YAxis{ + Style: Shown(), + }, + } + testutil.AssertTrue(t, ya.hasAxes()) +} + +func TestChartGetAxesTicks(t *testing.T) { + // replaced new assertions helper + + r, err := PNG(1024, 1024) + testutil.AssertNil(t, err) + + c := Chart{ + XAxis: XAxis{ + Range: &ContinuousRange{Min: 9.8, Max: 19.8}, + }, + YAxis: YAxis{ + Range: &ContinuousRange{Min: 9.9, Max: 19.9}, + }, + YAxisSecondary: YAxis{ + Range: &ContinuousRange{Min: 9.7, Max: 19.7}, + }, + } + xr, yr, yar := c.getRanges() + + xt, yt, yat := c.getAxesTicks(r, xr, yr, yar, FloatValueFormatter, FloatValueFormatter, FloatValueFormatter) + testutil.AssertNotEmpty(t, xt) + testutil.AssertNotEmpty(t, yt) + testutil.AssertNotEmpty(t, yat) +} + +func TestChartSingleSeries(t *testing.T) { + // replaced new assertions helper + now := time.Now() + c := Chart{ + Title: "Hello!", + Width: 1024, + Height: 400, + YAxis: YAxis{ + Range: &ContinuousRange{ + Min: 0.0, + Max: 4.0, + }, + }, + Series: []Series{ + TimeSeries{ + Name: "goog", + XValues: []time.Time{now.AddDate(0, 0, -3), now.AddDate(0, 0, -2), now.AddDate(0, 0, -1)}, + YValues: []float64{1.0, 2.0, 3.0}, + }, + }, + } + + buffer := bytes.NewBuffer([]byte{}) + c.Render(PNG, buffer) + testutil.AssertNotEmpty(t, buffer.Bytes()) +} + +func TestChartRegressionBadRanges(t *testing.T) { + // replaced new assertions helper + + c := Chart{ + Series: []Series{ + ContinuousSeries{ + XValues: []float64{math.Inf(1), math.Inf(1), math.Inf(1), math.Inf(1), math.Inf(1)}, + YValues: []float64{1.0, 2.0, 3.0, 4.0, 4.5}, + }, + }, + } + buffer := bytes.NewBuffer([]byte{}) + c.Render(PNG, buffer) + testutil.AssertTrue(t, true, "Render needs to finish.") +} + +func TestChartRegressionBadRangesByUser(t *testing.T) { + // replaced new assertions helper + + c := Chart{ + YAxis: YAxis{ + Range: &ContinuousRange{ + Min: math.Inf(-1), + Max: math.Inf(1), // this could really happen? eh. + }, + }, + Series: []Series{ + ContinuousSeries{ + XValues: LinearRange(1.0, 10.0), + YValues: LinearRange(1.0, 10.0), + }, + }, + } + buffer := bytes.NewBuffer([]byte{}) + c.Render(PNG, buffer) + testutil.AssertTrue(t, true, "Render needs to finish.") +} + +func TestChartValidatesSeries(t *testing.T) { + // replaced new assertions helper + + c := Chart{ + Series: []Series{ + ContinuousSeries{ + XValues: LinearRange(1.0, 10.0), + YValues: LinearRange(1.0, 10.0), + }, + }, + } + + testutil.AssertNil(t, c.validateSeries()) + + c = Chart{ + Series: []Series{ + ContinuousSeries{ + XValues: LinearRange(1.0, 10.0), + }, + }, + } + + testutil.AssertNotNil(t, c.validateSeries()) +} + +func TestChartCheckRanges(t *testing.T) { + // replaced new assertions helper + + c := Chart{ + Series: []Series{ + ContinuousSeries{ + XValues: []float64{1.0, 2.0}, + YValues: []float64{3.10, 3.14}, + }, + }, + } + + xr, yr, yra := c.getRanges() + testutil.AssertNil(t, c.checkRanges(xr, yr, yra)) +} + +func TestChartCheckRangesWithRanges(t *testing.T) { + // replaced new assertions helper + + c := Chart{ + XAxis: XAxis{ + Range: &ContinuousRange{ + Min: 0, + Max: 10, + }, + }, + YAxis: YAxis{ + Range: &ContinuousRange{ + Min: 0, + Max: 5, + }, + }, + Series: []Series{ + ContinuousSeries{ + XValues: []float64{1.0, 2.0}, + YValues: []float64{3.14, 3.14}, + }, + }, + } + + xr, yr, yra := c.getRanges() + testutil.AssertNil(t, c.checkRanges(xr, yr, yra)) +} + +func at(i image.Image, x, y int) drawing.Color { + return drawing.ColorFromAlphaMixedRGBA(i.At(x, y).RGBA()) +} + +func TestChartE2ELine(t *testing.T) { + // replaced new assertions helper + + c := Chart{ + Height: 50, + Width: 50, + TitleStyle: Hidden(), + XAxis: HideXAxis(), + YAxis: HideYAxis(), + YAxisSecondary: HideYAxis(), + Canvas: Style{ + Padding: BoxZero, + }, + Background: Style{ + Padding: BoxZero, + }, + Series: []Series{ + ContinuousSeries{ + XValues: LinearRangeWithStep(0, 4, 1), + YValues: LinearRangeWithStep(0, 4, 1), + }, + }, + } + + var buffer = &bytes.Buffer{} + err := c.Render(PNG, buffer) + testutil.AssertNil(t, err) + + // do color tests ... + + i, err := png.Decode(buffer) + testutil.AssertNil(t, err) + + // test the bottom and top of the line + testutil.AssertEqual(t, drawing.ColorWhite, at(i, 0, 0)) + testutil.AssertEqual(t, drawing.ColorWhite, at(i, 49, 49)) + + // test a line mid point + defaultSeriesColor := GetDefaultColor(0) + testutil.AssertEqual(t, defaultSeriesColor, at(i, 0, 49)) + testutil.AssertEqual(t, defaultSeriesColor, at(i, 49, 0)) + testutil.AssertEqual(t, drawing.ColorFromHex("bddbf6"), at(i, 24, 24)) +} + +func TestChartE2ELineWithFill(t *testing.T) { + // replaced new assertions helper + + logBuffer := new(bytes.Buffer) + + c := Chart{ + Height: 50, + Width: 50, + Canvas: Style{ + Padding: BoxZero, + }, + Background: Style{ + Padding: BoxZero, + }, + TitleStyle: Hidden(), + XAxis: HideXAxis(), + YAxis: HideYAxis(), + YAxisSecondary: HideYAxis(), + Series: []Series{ + ContinuousSeries{ + Style: Style{ + StrokeColor: drawing.ColorBlue, + FillColor: drawing.ColorRed, + }, + XValues: LinearRangeWithStep(0, 4, 1), + YValues: LinearRangeWithStep(0, 4, 1), + }, + }, + Log: NewLogger(OptLoggerStdout(logBuffer), OptLoggerStderr(logBuffer)), + } + + testutil.AssertEqual(t, 5, len(c.Series[0].(ContinuousSeries).XValues)) + testutil.AssertEqual(t, 5, len(c.Series[0].(ContinuousSeries).YValues)) + + var buffer = &bytes.Buffer{} + err := c.Render(PNG, buffer) + testutil.AssertNil(t, err) + + i, err := png.Decode(buffer) + testutil.AssertNil(t, err) + + // test the bottom and top of the line + testutil.AssertEqual(t, drawing.ColorWhite, at(i, 0, 0)) + testutil.AssertEqual(t, drawing.ColorRed, at(i, 49, 49)) + + // test a line mid point + defaultSeriesColor := drawing.ColorBlue + testutil.AssertEqual(t, defaultSeriesColor, at(i, 0, 49)) + testutil.AssertEqual(t, defaultSeriesColor, at(i, 49, 0)) +} + +func Test_Chart_cve(t *testing.T) { + poc := StackedBarChart{ + Title: "poc", + Bars: []StackedBar{ + { + Name: "11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111", + Values: []Value{ + {Value: 1, Label: "infinite"}, + {Value: 1, Label: "loop"}, + }, + }, + }, + } + + var imgContent bytes.Buffer + err := poc.Render(PNG, &imgContent) + testutil.AssertNotNil(t, err) +} diff --git a/cmd/chart/main.go b/cmd/chart/main.go new file mode 100644 index 0000000..82ed907 --- /dev/null +++ b/cmd/chart/main.go @@ -0,0 +1,148 @@ +package main + +import ( + "flag" + "fmt" + "io/ioutil" + "os" + "strings" + + "github.com/wcharczuk/go-chart/v2" +) + +var ( + outputPath = flag.String("output", "", "The output file") + + inputFormat = flag.String("format", "csv", "The input format, either 'csv' or 'tsv' (defaults to 'csv')") + inputPath = flag.String("f", "", "The input file") + reverse = flag.Bool("reverse", false, "If we should reverse the inputs") + + hideLegend = flag.Bool("hide-legend", false, "If we should omit the chart legend") + hideSMA = flag.Bool("hide-sma", false, "If we should omit simple moving average") + hideLinreg = flag.Bool("hide-linreg", false, "If we should omit linear regressions") + hideLastValues = flag.Bool("hide-last-values", false, "If we should omit last values") +) + +func main() { + flag.Parse() + log := chart.NewLogger() + + var rawData []byte + var err error + if *inputPath != "" { + if *inputPath == "-" { + rawData, err = ioutil.ReadAll(os.Stdin) + if err != nil { + log.FatalErr(err) + } + } else { + rawData, err = ioutil.ReadFile(*inputPath) + if err != nil { + log.FatalErr(err) + } + } + } else if len(flag.Args()) > 0 { + rawData = []byte(flag.Args()[0]) + } else { + flag.Usage() + os.Exit(1) + } + + var parts []string + switch *inputFormat { + case "csv": + parts = chart.SplitCSV(string(rawData)) + case "tsv": + parts = strings.Split(string(rawData), "\t") + default: + log.FatalErr(fmt.Errorf("invalid format; must be 'csv' or 'tsv'")) + } + + yvalues, err := chart.ParseFloats(parts...) + if err != nil { + log.FatalErr(err) + } + + if *reverse { + yvalues = chart.ValueSequence(yvalues...).Reverse().Values() + } + + var series []chart.Series + mainSeries := chart.ContinuousSeries{ + Name: "Values", + XValues: chart.LinearRange(1, float64(len(yvalues))), + YValues: yvalues, + } + series = append(series, mainSeries) + + smaSeries := &chart.SMASeries{ + Name: "SMA", + Style: chart.Style{ + Hidden: *hideSMA, + StrokeColor: chart.ColorRed, + StrokeDashArray: []float64{5.0, 5.0}, + }, + InnerSeries: mainSeries, + } + series = append(series, smaSeries) + + linRegSeries := &chart.LinearRegressionSeries{ + Name: "Values - Lin. Reg.", + Style: chart.Style{ + Hidden: *hideLinreg, + }, + InnerSeries: mainSeries, + } + series = append(series, linRegSeries) + + mainLastValue := chart.LastValueAnnotationSeries(mainSeries) + mainLastValue.Style = chart.Style{ + Hidden: *hideLastValues, + } + series = append(series, mainLastValue) + + linregLastValue := chart.LastValueAnnotationSeries(linRegSeries) + linregLastValue.Style = chart.Style{ + Hidden: (*hideLastValues || *hideLinreg), + } + series = append(series, linregLastValue) + + smaLastValue := chart.LastValueAnnotationSeries(smaSeries) + smaLastValue.Style = chart.Style{ + Hidden: (*hideLastValues || *hideSMA), + } + series = append(series, smaLastValue) + + graph := chart.Chart{ + Background: chart.Style{ + Padding: chart.Box{ + Top: 50, + }, + }, + Series: series, + } + + if !*hideLegend { + graph.Elements = []chart.Renderable{chart.LegendThin(&graph)} + } + + var output *os.File + if *outputPath != "" { + output, err = os.Create(*outputPath) + if err != nil { + log.FatalErr(err) + } + } else { + output, err = ioutil.TempFile("", "*.png") + if err != nil { + log.FatalErr(err) + } + } + + if err := graph.Render(chart.PNG, output); err != nil { + log.FatalErr(err) + } + + fmt.Fprintln(os.Stdout, output.Name()) + os.Exit(0) +} diff --git a/colors.go b/colors.go new file mode 100644 index 0000000..b51f9ea --- /dev/null +++ b/colors.go @@ -0,0 +1,184 @@ +package chart + +import "github.com/wcharczuk/go-chart/v2/drawing" + +var ( + // ColorWhite is white. + ColorWhite = drawing.Color{R: 255, G: 255, B: 255, A: 255} + // ColorBlue is the basic theme blue color. + ColorBlue = drawing.Color{R: 0, G: 116, B: 217, A: 255} + // ColorCyan is the basic theme cyan color. + ColorCyan = drawing.Color{R: 0, G: 217, B: 210, A: 255} + // ColorGreen is the basic theme green color. + ColorGreen = drawing.Color{R: 0, G: 217, B: 101, A: 255} + // ColorRed is the basic theme red color. + ColorRed = drawing.Color{R: 217, G: 0, B: 116, A: 255} + // ColorOrange is the basic theme orange color. + ColorOrange = drawing.Color{R: 217, G: 101, B: 0, A: 255} + // ColorYellow is the basic theme yellow color. + ColorYellow = drawing.Color{R: 217, G: 210, B: 0, A: 255} + // ColorBlack is the basic theme black color. + ColorBlack = drawing.Color{R: 51, G: 51, B: 51, A: 255} + // ColorLightGray is the basic theme light gray color. + ColorLightGray = drawing.Color{R: 239, G: 239, B: 239, A: 255} + + // ColorAlternateBlue is a alternate theme color. + ColorAlternateBlue = drawing.Color{R: 106, G: 195, B: 203, A: 255} + // ColorAlternateGreen is a alternate theme color. + ColorAlternateGreen = drawing.Color{R: 42, G: 190, B: 137, A: 255} + // ColorAlternateGray is a alternate theme color. + ColorAlternateGray = drawing.Color{R: 110, G: 128, B: 139, A: 255} + // ColorAlternateYellow is a alternate theme color. + ColorAlternateYellow = drawing.Color{R: 240, G: 174, B: 90, A: 255} + // ColorAlternateLightGray is a alternate theme color. + ColorAlternateLightGray = drawing.Color{R: 187, G: 190, B: 191, A: 255} + + // ColorTransparent is a transparent (alpha zero) color. + ColorTransparent = drawing.Color{R: 1, G: 1, B: 1, A: 0} +) + +var ( + // DefaultBackgroundColor is the default chart background color. + // It is equivalent to css color:white. + DefaultBackgroundColor = ColorWhite + // DefaultBackgroundStrokeColor is the default chart border color. + // It is equivalent to color:white. + DefaultBackgroundStrokeColor = ColorWhite + // DefaultCanvasColor is the default chart canvas color. + // It is equivalent to css color:white. + DefaultCanvasColor = ColorWhite + // DefaultCanvasStrokeColor is the default chart canvas stroke color. + // It is equivalent to css color:white. + DefaultCanvasStrokeColor = ColorWhite + // DefaultTextColor is the default chart text color. + // It is equivalent to #333333. + DefaultTextColor = ColorBlack + // DefaultAxisColor is the default chart axis line color. + // It is equivalent to #333333. + DefaultAxisColor = ColorBlack + // DefaultStrokeColor is the default chart border color. + // It is equivalent to #efefef. + DefaultStrokeColor = ColorLightGray + // DefaultFillColor is the default fill color. + // It is equivalent to #0074d9. + DefaultFillColor = ColorBlue + // DefaultAnnotationFillColor is the default annotation background color. + DefaultAnnotationFillColor = ColorWhite + // DefaultGridLineColor is the default grid line color. + DefaultGridLineColor = ColorLightGray +) + +var ( + // DefaultColors are a couple default series colors. + DefaultColors = []drawing.Color{ + ColorBlue, + ColorGreen, + ColorRed, + ColorCyan, + ColorOrange, + } + + // DefaultAlternateColors are a couple alternate colors. + DefaultAlternateColors = []drawing.Color{ + ColorAlternateBlue, + ColorAlternateGreen, + ColorAlternateGray, + ColorAlternateYellow, + ColorBlue, + ColorGreen, + ColorRed, + ColorCyan, + ColorOrange, + } +) + +// GetDefaultColor returns a color from the default list by index. +// NOTE: the index will wrap around (using a modulo). +func GetDefaultColor(index int) drawing.Color { + finalIndex := index % len(DefaultColors) + return DefaultColors[finalIndex] +} + +// GetAlternateColor returns a color from the default list by index. +// NOTE: the index will wrap around (using a modulo). +func GetAlternateColor(index int) drawing.Color { + finalIndex := index % len(DefaultAlternateColors) + return DefaultAlternateColors[finalIndex] +} + +// ColorPalette is a set of colors that. +type ColorPalette interface { + BackgroundColor() drawing.Color + BackgroundStrokeColor() drawing.Color + CanvasColor() drawing.Color + CanvasStrokeColor() drawing.Color + AxisStrokeColor() drawing.Color + TextColor() drawing.Color + GetSeriesColor(index int) drawing.Color +} + +// DefaultColorPalette represents the default palatte. +var DefaultColorPalette defaultColorPalette + +type defaultColorPalette struct{} + +func (dp defaultColorPalette) BackgroundColor() drawing.Color { + return DefaultBackgroundColor +} + +func (dp defaultColorPalette) BackgroundStrokeColor() drawing.Color { + return DefaultBackgroundStrokeColor +} + +func (dp defaultColorPalette) CanvasColor() drawing.Color { + return DefaultCanvasColor +} + +func (dp defaultColorPalette) CanvasStrokeColor() drawing.Color { + return DefaultCanvasStrokeColor +} + +func (dp defaultColorPalette) AxisStrokeColor() drawing.Color { + return DefaultAxisColor +} + +func (dp defaultColorPalette) TextColor() drawing.Color { + return DefaultTextColor +} + +func (dp defaultColorPalette) GetSeriesColor(index int) drawing.Color { + return GetDefaultColor(index) +} + +// AlternateColorPalette represents the default palatte. +var AlternateColorPalette alternateColorPalette + +type alternateColorPalette struct{} + +func (ap alternateColorPalette) BackgroundColor() drawing.Color { + return DefaultBackgroundColor +} + +func (ap alternateColorPalette) BackgroundStrokeColor() drawing.Color { + return DefaultBackgroundStrokeColor +} + +func (ap alternateColorPalette) CanvasColor() drawing.Color { + return DefaultCanvasColor +} + +func (ap alternateColorPalette) CanvasStrokeColor() drawing.Color { + return DefaultCanvasStrokeColor +} + +func (ap alternateColorPalette) AxisStrokeColor() drawing.Color { + return DefaultAxisColor +} + +func (ap alternateColorPalette) TextColor() drawing.Color { + return DefaultTextColor +} + +func (ap alternateColorPalette) GetSeriesColor(index int) drawing.Color { + return GetAlternateColor(index) +} diff --git a/concat_series.go b/concat_series.go new file mode 100644 index 0000000..edec7e5 --- /dev/null +++ b/concat_series.go @@ -0,0 +1,44 @@ +package chart + +// ConcatSeries is a special type of series that concatenates its `InnerSeries`. +type ConcatSeries []Series + +// Len returns the length of the concatenated set of series. +func (cs ConcatSeries) Len() int { + total := 0 + for _, s := range cs { + if typed, isValuesProvider := s.(ValuesProvider); isValuesProvider { + total += typed.Len() + } + } + + return total +} + +// GetValue returns the value at the (meta) index (i.e 0 => totalLen-1) +func (cs ConcatSeries) GetValue(index int) (x, y float64) { + cursor := 0 + for _, s := range cs { + if typed, isValuesProvider := s.(ValuesProvider); isValuesProvider { + len := typed.Len() + if index < cursor+len { + x, y = typed.GetValues(index - cursor) //FENCEPOSTS. + return + } + cursor += typed.Len() + } + } + return +} + +// Validate validates the series. +func (cs ConcatSeries) Validate() error { + var err error + for _, s := range cs { + err = s.Validate() + if err != nil { + return err + } + } + return nil +} diff --git a/concat_series_test.go b/concat_series_test.go new file mode 100644 index 0000000..9424fb2 --- /dev/null +++ b/concat_series_test.go @@ -0,0 +1,41 @@ +package chart + +import ( + "testing" + + "github.com/wcharczuk/go-chart/v2/testutil" +) + +func TestConcatSeries(t *testing.T) { + // replaced new assertions helper + + s1 := ContinuousSeries{ + XValues: LinearRange(1.0, 10.0), + YValues: LinearRange(1.0, 10.0), + } + + s2 := ContinuousSeries{ + XValues: LinearRange(11, 20.0), + YValues: LinearRange(10.0, 1.0), + } + + s3 := ContinuousSeries{ + XValues: LinearRange(21, 30.0), + YValues: LinearRange(1.0, 10.0), + } + + cs := ConcatSeries([]Series{s1, s2, s3}) + testutil.AssertEqual(t, 30, cs.Len()) + + x0, y0 := cs.GetValue(0) + testutil.AssertEqual(t, 1.0, x0) + testutil.AssertEqual(t, 1.0, y0) + + xm, ym := cs.GetValue(19) + testutil.AssertEqual(t, 20.0, xm) + testutil.AssertEqual(t, 1.0, ym) + + xn, yn := cs.GetValue(29) + testutil.AssertEqual(t, 30.0, xn) + testutil.AssertEqual(t, 10.0, yn) +} diff --git a/continuous_range.go b/continuous_range.go new file mode 100644 index 0000000..517b727 --- /dev/null +++ b/continuous_range.go @@ -0,0 +1,81 @@ +package chart + +import ( + "fmt" + "math" +) + +// ContinuousRange represents a boundary for a set of numbers. +type ContinuousRange struct { + Min float64 + Max float64 + Domain int + Descending bool +} + +// IsDescending returns if the range is descending. +func (r ContinuousRange) IsDescending() bool { + return r.Descending +} + +// IsZero returns if the ContinuousRange has been set or not. +func (r ContinuousRange) IsZero() bool { + return (r.Min == 0 || math.IsNaN(r.Min)) && + (r.Max == 0 || math.IsNaN(r.Max)) && + r.Domain == 0 +} + +// GetMin gets the min value for the continuous range. +func (r ContinuousRange) GetMin() float64 { + return r.Min +} + +// SetMin sets the min value for the continuous range. +func (r *ContinuousRange) SetMin(min float64) { + r.Min = min +} + +// GetMax returns the max value for the continuous range. +func (r ContinuousRange) GetMax() float64 { + return r.Max +} + +// SetMax sets the max value for the continuous range. +func (r *ContinuousRange) SetMax(max float64) { + r.Max = max +} + +// GetDelta returns the difference between the min and max value. +func (r ContinuousRange) GetDelta() float64 { + return r.Max - r.Min +} + +// GetDomain returns the range domain. +func (r ContinuousRange) GetDomain() int { + return r.Domain +} + +// SetDomain sets the range domain. +func (r *ContinuousRange) SetDomain(domain int) { + r.Domain = domain +} + +// String returns a simple string for the ContinuousRange. +func (r ContinuousRange) String() string { + if r.GetDelta() == 0 { + return "ContinuousRange [empty]" + } + return fmt.Sprintf("ContinuousRange [%.2f,%.2f] => %d", r.Min, r.Max, r.Domain) +} + +// Translate maps a given value into the ContinuousRange space. +func (r ContinuousRange) Translate(value float64) int { + normalized := value - r.Min + ratio := normalized / r.GetDelta() + + if r.IsDescending() { + return r.Domain - int(math.Ceil(ratio*float64(r.Domain))) + } + + return int(math.Ceil(ratio * float64(r.Domain))) +} diff --git a/continuous_range_test.go b/continuous_range_test.go new file mode 100644 index 0000000..5d0f436 --- /dev/null +++ b/continuous_range_test.go @@ -0,0 +1,22 @@ +package chart + +import ( + "testing" + + "github.com/wcharczuk/go-chart/v2/testutil" +) + +func TestRangeTranslate(t *testing.T) { + // replaced new assertions helper + values := []float64{1.0, 2.0, 2.5, 2.7, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0} + r := ContinuousRange{Domain: 1000} + r.Min, r.Max = MinMax(values...) + + // delta = ~7.0 + // value = ~5.0 + // domain = ~1000 + // 5/8 * 1000 ~= + testutil.AssertEqual(t, 0, r.Translate(1.0)) + testutil.AssertEqual(t, 1000, r.Translate(8.0)) + testutil.AssertEqual(t, 572, r.Translate(5.0)) +} diff --git a/continuous_series.go b/continuous_series.go new file mode 100644 index 0000000..73c7ab7 --- /dev/null +++ b/continuous_series.go @@ -0,0 +1,96 @@ +package chart + +import "fmt" + +// Interface Assertions. +var ( + _ Series = (*ContinuousSeries)(nil) + _ FirstValuesProvider = (*ContinuousSeries)(nil) + _ LastValuesProvider = (*ContinuousSeries)(nil) +) + +// ContinuousSeries represents a line on a chart. +type ContinuousSeries struct { + Name string + Style Style + + YAxis YAxisType + + XValueFormatter ValueFormatter + YValueFormatter ValueFormatter + + XValues []float64 + YValues []float64 +} + +// GetName returns the name of the time series. +func (cs ContinuousSeries) GetName() string { + return cs.Name +} + +// GetStyle returns the line style. +func (cs ContinuousSeries) GetStyle() Style { + return cs.Style +} + +// Len returns the number of elements in the series. +func (cs ContinuousSeries) Len() int { + return len(cs.XValues) +} + +// GetValues gets the x,y values at a given index. +func (cs ContinuousSeries) GetValues(index int) (float64, float64) { + return cs.XValues[index], cs.YValues[index] +} + +// GetFirstValues gets the first x,y values. +func (cs ContinuousSeries) GetFirstValues() (float64, float64) { + return cs.XValues[0], cs.YValues[0] +} + +// GetLastValues gets the last x,y values. +func (cs ContinuousSeries) GetLastValues() (float64, float64) { + return cs.XValues[len(cs.XValues)-1], cs.YValues[len(cs.YValues)-1] +} + +// GetValueFormatters returns value formatter defaults for the series. +func (cs ContinuousSeries) GetValueFormatters() (x, y ValueFormatter) { + if cs.XValueFormatter != nil { + x = cs.XValueFormatter + } else { + x = FloatValueFormatter + } + if cs.YValueFormatter != nil { + y = cs.YValueFormatter + } else { + y = FloatValueFormatter + } + return +} + +// GetYAxis returns which YAxis the series draws on. +func (cs ContinuousSeries) GetYAxis() YAxisType { + return cs.YAxis +} + +// Render renders the series. +func (cs ContinuousSeries) Render(r Renderer, canvasBox Box, xrange, yrange Range, defaults Style) { + style := cs.Style.InheritFrom(defaults) + Draw.LineSeries(r, canvasBox, xrange, yrange, style, cs) +} + +// Validate validates the series. +func (cs ContinuousSeries) Validate() error { + if len(cs.XValues) == 0 { + return fmt.Errorf("continuous series; must have xvalues set") + } + + if len(cs.YValues) == 0 { + return fmt.Errorf("continuous series; must have yvalues set") + } + + if len(cs.XValues) != len(cs.YValues) { + return fmt.Errorf("continuous series; must have same length xvalues as yvalues") + } + return nil +} diff --git a/continuous_series_test.go b/continuous_series_test.go new file mode 100644 index 0000000..783c236 --- /dev/null +++ b/continuous_series_test.go @@ -0,0 +1,72 @@ +package chart + +import ( + "fmt" + "testing" + + "github.com/wcharczuk/go-chart/v2/testutil" +) + +func TestContinuousSeries(t *testing.T) { + // replaced new assertions helper + + cs := ContinuousSeries{ + Name: "Test Series", + XValues: LinearRange(1.0, 10.0), + YValues: LinearRange(1.0, 10.0), + } + + testutil.AssertEqual(t, "Test Series", cs.GetName()) + testutil.AssertEqual(t, 10, cs.Len()) + x0, y0 := cs.GetValues(0) + testutil.AssertEqual(t, 1.0, x0) + testutil.AssertEqual(t, 1.0, y0) + + xn, yn := cs.GetValues(9) + testutil.AssertEqual(t, 10.0, xn) + testutil.AssertEqual(t, 10.0, yn) + + xn, yn = cs.GetLastValues() + testutil.AssertEqual(t, 10.0, xn) + testutil.AssertEqual(t, 10.0, yn) +} + +func TestContinuousSeriesValueFormatter(t *testing.T) { + // replaced new assertions helper + + cs := ContinuousSeries{ + XValueFormatter: func(v interface{}) string { + return fmt.Sprintf("%f foo", v) + }, + YValueFormatter: func(v interface{}) string { + return fmt.Sprintf("%f bar", v) + }, + } + + xf, yf := cs.GetValueFormatters() + testutil.AssertEqual(t, "0.100000 foo", xf(0.1)) + testutil.AssertEqual(t, "0.100000 bar", yf(0.1)) +} + +func TestContinuousSeriesValidate(t *testing.T) { + // replaced new assertions helper + + cs := ContinuousSeries{ + Name: "Test Series", + XValues: LinearRange(1.0, 10.0), + YValues: LinearRange(1.0, 10.0), + } + testutil.AssertNil(t, cs.Validate()) + + cs = ContinuousSeries{ + Name: "Test Series", + XValues: LinearRange(1.0, 10.0), + } + testutil.AssertNotNil(t, cs.Validate()) + + cs = ContinuousSeries{ + Name: "Test Series", + YValues: LinearRange(1.0, 10.0), + } + testutil.AssertNotNil(t, cs.Validate()) +} diff --git a/defaults.go b/defaults.go new file mode 100644 index 0000000..d74330f --- /dev/null +++ b/defaults.go @@ -0,0 +1,103 @@ +package chart + +const ( + // DefaultChartHeight is the default chart height. + DefaultChartHeight = 400 + // DefaultChartWidth is the default chart width. + DefaultChartWidth = 1024 + // DefaultStrokeWidth is the default chart stroke width. + DefaultStrokeWidth = 0.0 + // DefaultDotWidth is the default chart dot width. + DefaultDotWidth = 0.0 + // DefaultSeriesLineWidth is the default line width. + DefaultSeriesLineWidth = 1.0 + // DefaultAxisLineWidth is the line width of the axis lines. + DefaultAxisLineWidth = 1.0 + //DefaultDPI is the default dots per inch for the chart. + DefaultDPI = 92.0 + // DefaultMinimumFontSize is the default minimum font size. + DefaultMinimumFontSize = 8.0 + // DefaultFontSize is the default font size. + DefaultFontSize = 10.0 + // DefaultTitleFontSize is the default title font size. + DefaultTitleFontSize = 18.0 + // DefaultAnnotationDeltaWidth is the width of the left triangle out of annotations. + DefaultAnnotationDeltaWidth = 10 + // DefaultAnnotationFontSize is the font size of annotations. + DefaultAnnotationFontSize = 10.0 + // DefaultAxisFontSize is the font size of the axis labels. + DefaultAxisFontSize = 10.0 + // DefaultTitleTop is the default distance from the top of the chart to put the title. + DefaultTitleTop = 10 + + // DefaultBackgroundStrokeWidth is the default stroke on the chart background. + DefaultBackgroundStrokeWidth = 0.0 + // DefaultCanvasStrokeWidth is the default stroke on the chart canvas. + DefaultCanvasStrokeWidth = 0.0 + + // DefaultLineSpacing is the default vertical distance between lines of text. + DefaultLineSpacing = 5 + + // DefaultYAxisMargin is the default distance from the right of the canvas to the y axis labels. + DefaultYAxisMargin = 10 + // DefaultXAxisMargin is the default distance from bottom of the canvas to the x axis labels. + DefaultXAxisMargin = 10 + + //DefaultVerticalTickHeight is half the margin. + DefaultVerticalTickHeight = DefaultXAxisMargin >> 1 + //DefaultHorizontalTickWidth is half the margin. + DefaultHorizontalTickWidth = DefaultYAxisMargin >> 1 + + // DefaultTickCount is the default number of ticks to show + DefaultTickCount = 10 + // DefaultTickCountSanityCheck is a hard limit on number of ticks to prevent infinite loops. + DefaultTickCountSanityCheck = 1 << 10 //1024 + + // DefaultMinimumTickHorizontalSpacing is the minimum distance between horizontal ticks. + DefaultMinimumTickHorizontalSpacing = 20 + // DefaultMinimumTickVerticalSpacing is the minimum distance between vertical ticks. + DefaultMinimumTickVerticalSpacing = 20 + + // DefaultDateFormat is the default date format. + DefaultDateFormat = "2006-01-02" + // DefaultDateHourFormat is the date format for hour timestamp formats. + DefaultDateHourFormat = "01-02 3PM" + // DefaultDateMinuteFormat is the date format for minute range timestamp formats. + DefaultDateMinuteFormat = "01-02 3:04PM" + // DefaultFloatFormat is the default float format. + DefaultFloatFormat = "%.2f" + // DefaultPercentValueFormat is the default percent format. + DefaultPercentValueFormat = "%0.2f%%" + + // DefaultBarSpacing is the default pixel spacing between bars. + DefaultBarSpacing = 100 + // DefaultBarWidth is the default pixel width of bars in a bar chart. + DefaultBarWidth = 50 +) + +var ( + // DashArrayDots is a dash array that represents '....' style stroke dashes. + DashArrayDots = []int{1, 1} + // DashArrayDashesSmall is a dash array that represents '- - -' style stroke dashes. + DashArrayDashesSmall = []int{3, 3} + // DashArrayDashesMedium is a dash array that represents '-- -- --' style stroke dashes. + DashArrayDashesMedium = []int{5, 5} + // DashArrayDashesLarge is a dash array that represents '----- ----- -----' style stroke dashes. + DashArrayDashesLarge = []int{10, 10} +) + +var ( + // DefaultAnnotationPadding is the padding around an annotation. + DefaultAnnotationPadding = Box{Top: 5, Left: 5, Right: 5, Bottom: 5} + + // DefaultBackgroundPadding is the default canvas padding config. + DefaultBackgroundPadding = Box{Top: 5, Left: 5, Right: 5, Bottom: 5} +) + +const ( + // ContentTypePNG is the png mime type. + ContentTypePNG = "image/png" + + // ContentTypeSVG is the svg mime type. + ContentTypeSVG = "image/svg+xml" +) diff --git a/donut_chart.go b/donut_chart.go new file mode 100644 index 0000000..f5a7854 --- /dev/null +++ b/donut_chart.go @@ -0,0 +1,315 @@ +package chart + +import ( + "errors" + "fmt" + "io" + + "github.com/golang/freetype/truetype" +) + +// DonutChart is a chart that draws sections of a circle based on percentages with an hole. +type DonutChart struct { + Title string + TitleStyle Style + + ColorPalette ColorPalette + + Width int + Height int + DPI float64 + + Background Style + Canvas Style + SliceStyle Style + + Font *truetype.Font + defaultFont *truetype.Font + + Values []Value + Elements []Renderable +} + +// GetDPI returns the dpi for the chart. +func (pc DonutChart) GetDPI(defaults ...float64) float64 { + if pc.DPI == 0 { + if len(defaults) > 0 { + return defaults[0] + } + return DefaultDPI + } + return pc.DPI +} + +// GetFont returns the text font. +func (pc DonutChart) GetFont() *truetype.Font { + if pc.Font == nil { + return pc.defaultFont + } + return pc.Font +} + +// GetWidth returns the chart width or the default value. +func (pc DonutChart) GetWidth() int { + if pc.Width == 0 { + return DefaultChartWidth + } + return pc.Width +} + +// GetHeight returns the chart height or the default value. +func (pc DonutChart) GetHeight() int { + if pc.Height == 0 { + return DefaultChartWidth + } + return pc.Height +} + +// Render renders the chart with the given renderer to the given io.Writer. +func (pc DonutChart) Render(rp RendererProvider, w io.Writer) error { + if len(pc.Values) == 0 { + return errors.New("please provide at least one value") + } + + r, err := rp(pc.GetWidth(), pc.GetHeight()) + if err != nil { + return err + } + + if pc.Font == nil { + defaultFont, err := GetDefaultFont() + if err != nil { + return err + } + pc.defaultFont = defaultFont + } + r.SetDPI(pc.GetDPI(DefaultDPI)) + + canvasBox := pc.getDefaultCanvasBox() + canvasBox = pc.getCircleAdjustedCanvasBox(canvasBox) + + pc.drawBackground(r) + pc.drawCanvas(r, canvasBox) + + finalValues, err := pc.finalizeValues(pc.Values) + if err != nil { + return err + } + pc.drawSlices(r, canvasBox, finalValues) + pc.drawTitle(r) + for _, a := range pc.Elements { + a(r, canvasBox, pc.styleDefaultsElements()) + } + + return r.Save(w) +} + +func (pc DonutChart) drawBackground(r Renderer) { + Draw.Box(r, Box{ + Right: pc.GetWidth(), + Bottom: pc.GetHeight(), + }, pc.getBackgroundStyle()) +} + +func (pc DonutChart) drawCanvas(r Renderer, canvasBox Box) { + Draw.Box(r, canvasBox, pc.getCanvasStyle()) +} + +func (pc DonutChart) drawTitle(r Renderer) { + if len(pc.Title) > 0 && !pc.TitleStyle.Hidden { + Draw.TextWithin(r, pc.Title, pc.Box(), pc.styleDefaultsTitle()) + } +} + +func (pc DonutChart) drawSlices(r Renderer, canvasBox Box, values []Value) { + cx, cy := canvasBox.Center() + diameter := MinInt(canvasBox.Width(), canvasBox.Height()) + radius := float64(diameter>>1) / 1.1 + labelRadius := (radius * 2.83) / 3.0 + + // draw the donut slices + var rads, delta, delta2, total float64 + var lx, ly int + + if len(values) == 1 { + pc.styleDonutChartValue(0).WriteToRenderer(r) + r.MoveTo(cx, cy) + r.Circle(radius, cx, cy) + } else { + for index, v := range values { + v.Style.InheritFrom(pc.styleDonutChartValue(index)).WriteToRenderer(r) + r.MoveTo(cx, cy) + rads = PercentToRadians(total) + delta = PercentToRadians(v.Value) + + r.ArcTo(cx, cy, (radius / 1.25), (radius / 1.25), rads, delta) + + r.LineTo(cx, cy) + r.Close() + r.FillStroke() + total = total + v.Value + } + } + + //making the donut hole + v := Value{Value: 100, Label: "center"} + styletemp := pc.SliceStyle.InheritFrom(Style{ + StrokeColor: ColorWhite, StrokeWidth: 4.0, FillColor: ColorWhite, FontColor: ColorWhite, //Font: pc.GetFont(),//FontSize: pc.getScaledFontSize(), + }) + v.Style.InheritFrom(styletemp).WriteToRenderer(r) + r.MoveTo(cx, cy) + r.ArcTo(cx, cy, (radius / 3.5), (radius / 3.5), DegreesToRadians(0), DegreesToRadians(359)) + r.LineTo(cx, cy) + r.Close() + r.FillStroke() + + // draw the labels + total = 0 + for index, v := range values { + v.Style.InheritFrom(pc.styleDonutChartValue(index)).WriteToRenderer(r) + if len(v.Label) > 0 { + delta2 = PercentToRadians(total + (v.Value / 2.0)) + delta2 = RadianAdd(delta2, _pi2) + lx, ly = CirclePoint(cx, cy, labelRadius, delta2) + + tb := r.MeasureText(v.Label) + lx = lx - (tb.Width() >> 1) + ly = ly + (tb.Height() >> 1) + + r.Text(v.Label, lx, ly) + } + total = total + v.Value + } +} + +func (pc DonutChart) finalizeValues(values []Value) ([]Value, error) { + finalValues := Values(values).Normalize() + if len(finalValues) == 0 { + return nil, fmt.Errorf("donut chart must contain at least (1) non-zero value") + } + return finalValues, nil +} + +func (pc DonutChart) getDefaultCanvasBox() Box { + return pc.Box() +} + +func (pc DonutChart) getCircleAdjustedCanvasBox(canvasBox Box) Box { + circleDiameter := MinInt(canvasBox.Width(), canvasBox.Height()) + + square := Box{ + Right: circleDiameter, + Bottom: circleDiameter, + } + + return canvasBox.Fit(square) +} + +func (pc DonutChart) getBackgroundStyle() Style { + return pc.Background.InheritFrom(pc.styleDefaultsBackground()) +} + +func (pc DonutChart) getCanvasStyle() Style { + return pc.Canvas.InheritFrom(pc.styleDefaultsCanvas()) +} + +func (pc DonutChart) styleDefaultsCanvas() Style { + return Style{ + FillColor: pc.GetColorPalette().CanvasColor(), + StrokeColor: pc.GetColorPalette().CanvasStrokeColor(), + StrokeWidth: DefaultStrokeWidth, + } +} + +func (pc DonutChart) styleDefaultsDonutChartValue() Style { + return Style{ + StrokeColor: pc.GetColorPalette().TextColor(), + StrokeWidth: 4.0, + FillColor: pc.GetColorPalette().TextColor(), + } +} + +func (pc DonutChart) styleDonutChartValue(index int) Style { + return pc.SliceStyle.InheritFrom(Style{ + StrokeColor: ColorWhite, + StrokeWidth: 4.0, + FillColor: pc.GetColorPalette().GetSeriesColor(index), + FontSize: pc.getScaledFontSize(), + FontColor: pc.GetColorPalette().TextColor(), + Font: pc.GetFont(), + }) +} + +func (pc DonutChart) getScaledFontSize() float64 { + effectiveDimension := MinInt(pc.GetWidth(), pc.GetHeight()) + if effectiveDimension >= 2048 { + return 48.0 + } else if effectiveDimension >= 1024 { + return 24.0 + } else if effectiveDimension > 512 { + return 18.0 + } else if effectiveDimension > 256 { + return 12.0 + } + return 10.0 +} + +func (pc DonutChart) styleDefaultsBackground() Style { + return Style{ + FillColor: pc.GetColorPalette().BackgroundColor(), + StrokeColor: pc.GetColorPalette().BackgroundStrokeColor(), + StrokeWidth: DefaultStrokeWidth, + } +} + +func (pc DonutChart) styleDefaultsElements() Style { + return Style{ + Font: pc.GetFont(), + } +} + +func (pc DonutChart) styleDefaultsTitle() Style { + return pc.TitleStyle.InheritFrom(Style{ + FontColor: pc.GetColorPalette().TextColor(), + Font: pc.GetFont(), + FontSize: pc.getTitleFontSize(), + TextHorizontalAlign: TextHorizontalAlignCenter, + TextVerticalAlign: TextVerticalAlignTop, + TextWrap: TextWrapWord, + }) +} + +func (pc DonutChart) getTitleFontSize() float64 { + effectiveDimension := MinInt(pc.GetWidth(), pc.GetHeight()) + if effectiveDimension >= 2048 { + return 48 + } else if effectiveDimension >= 1024 { + return 24 + } else if effectiveDimension >= 512 { + return 18 + } else if effectiveDimension >= 256 { + return 12 + } + return 10 +} + +// GetColorPalette returns the color palette for the chart. +func (pc DonutChart) GetColorPalette() ColorPalette { + if pc.ColorPalette != nil { + return pc.ColorPalette + } + return AlternateColorPalette +} + +// Box returns the chart bounds as a box. +func (pc DonutChart) Box() Box { + dpr := pc.Background.Padding.GetRight(DefaultBackgroundPadding.Right) + dpb := pc.Background.Padding.GetBottom(DefaultBackgroundPadding.Bottom) + + return Box{ + Top: pc.Background.Padding.GetTop(DefaultBackgroundPadding.Top), + Left: pc.Background.Padding.GetLeft(DefaultBackgroundPadding.Left), + Right: pc.GetWidth() - dpr, + Bottom: pc.GetHeight() - dpb, + } +} diff --git a/donut_chart_test.go b/donut_chart_test.go new file mode 100644 index 0000000..388f65d --- /dev/null +++ b/donut_chart_test.go @@ -0,0 +1,69 @@ +package chart + +import ( + "bytes" + "testing" + + "github.com/wcharczuk/go-chart/v2/testutil" +) + +func TestDonutChart(t *testing.T) { + // replaced new assertions helper + + pie := DonutChart{ + Canvas: Style{ + FillColor: ColorLightGray, + }, + Values: []Value{ + {Value: 10, Label: "Blue"}, + {Value: 9, Label: "Green"}, + {Value: 8, Label: "Gray"}, + {Value: 7, Label: "Orange"}, + {Value: 6, Label: "HEANG"}, + {Value: 5, Label: "??"}, + {Value: 2, Label: "!!"}, + }, + } + + b := bytes.NewBuffer([]byte{}) + pie.Render(PNG, b) + testutil.AssertNotZero(t, b.Len()) +} + +func TestDonutChartDropsZeroValues(t *testing.T) { + // replaced new assertions helper + + pie := DonutChart{ + Canvas: Style{ + FillColor: ColorLightGray, + }, + Values: []Value{ + {Value: 5, Label: "Blue"}, + {Value: 5, Label: "Green"}, + {Value: 0, Label: "Gray"}, + }, + } + + b := bytes.NewBuffer([]byte{}) + err := pie.Render(PNG, b) + testutil.AssertNil(t, err) +} + +func TestDonutChartAllZeroValues(t *testing.T) { + // replaced new assertions helper + + pie := DonutChart{ + Canvas: Style{ + FillColor: ColorLightGray, + }, + Values: []Value{ + {Value: 0, Label: "Blue"}, + {Value: 0, Label: "Green"}, + {Value: 0, Label: "Gray"}, + }, + } + + b := bytes.NewBuffer([]byte{}) + err := pie.Render(PNG, b) + testutil.AssertNotNil(t, err) +} diff --git a/draw.go b/draw.go new file mode 100644 index 0000000..e188079 --- /dev/null +++ b/draw.go @@ -0,0 +1,325 @@ +package chart + +import ( + "math" +) + +var ( + // Draw contains helpers for drawing common objects. + Draw = &draw{} +) + +type draw struct{} + +// LineSeries draws a line series with a renderer. +func (d draw) LineSeries(r Renderer, canvasBox Box, xrange, yrange Range, style Style, vs ValuesProvider) { + if vs.Len() == 0 { + return + } + + cb := canvasBox.Bottom + cl := canvasBox.Left + + v0x, v0y := vs.GetValues(0) + x0 := cl + xrange.Translate(v0x) + y0 := cb - yrange.Translate(v0y) + + yv0 := yrange.Translate(0) + + var vx, vy float64 + var x, y int + + if style.ShouldDrawStroke() && style.ShouldDrawFill() { + style.GetFillOptions().WriteDrawingOptionsToRenderer(r) + r.MoveTo(x0, y0) + for i := 1; i < vs.Len(); i++ { + vx, vy = vs.GetValues(i) + x = cl + xrange.Translate(vx) + y = cb - yrange.Translate(vy) + r.LineTo(x, y) + } + r.LineTo(x, MinInt(cb, cb-yv0)) + r.LineTo(x0, MinInt(cb, cb-yv0)) + r.LineTo(x0, y0) + r.Fill() + } + + if style.ShouldDrawStroke() { + style.GetStrokeOptions().WriteDrawingOptionsToRenderer(r) + + r.MoveTo(x0, y0) + for i := 1; i < vs.Len(); i++ { + vx, vy = vs.GetValues(i) + x = cl + xrange.Translate(vx) + y = cb - yrange.Translate(vy) + r.LineTo(x, y) + } + r.Stroke() + } + + if style.ShouldDrawDot() { + defaultDotWidth := style.GetDotWidth() + + style.GetDotOptions().WriteDrawingOptionsToRenderer(r) + for i := 0; i < vs.Len(); i++ { + vx, vy = vs.GetValues(i) + x = cl + xrange.Translate(vx) + y = cb - yrange.Translate(vy) + + dotWidth := defaultDotWidth + if style.DotWidthProvider != nil { + dotWidth = style.DotWidthProvider(xrange, yrange, i, vx, vy) + } + + if style.DotColorProvider != nil { + dotColor := style.DotColorProvider(xrange, yrange, i, vx, vy) + + r.SetFillColor(dotColor) + r.SetStrokeColor(dotColor) + } + + r.Circle(dotWidth, x, y) + r.FillStroke() + } + } +} + +// BoundedSeries draws a series that implements BoundedValuesProvider. +func (d draw) BoundedSeries(r Renderer, canvasBox Box, xrange, yrange Range, style Style, bbs BoundedValuesProvider, drawOffsetIndexes ...int) { + drawOffsetIndex := 0 + if len(drawOffsetIndexes) > 0 { + drawOffsetIndex = drawOffsetIndexes[0] + } + + cb := canvasBox.Bottom + cl := canvasBox.Left + + v0x, v0y1, v0y2 := bbs.GetBoundedValues(0) + x0 := cl + xrange.Translate(v0x) + y0 := cb - yrange.Translate(v0y1) + + var vx, vy1, vy2 float64 + var x, y int + + xvalues := make([]float64, bbs.Len()) + xvalues[0] = v0x + y2values := make([]float64, bbs.Len()) + y2values[0] = v0y2 + + style.GetFillAndStrokeOptions().WriteToRenderer(r) + r.MoveTo(x0, y0) + for i := 1; i < bbs.Len(); i++ { + vx, vy1, vy2 = bbs.GetBoundedValues(i) + + xvalues[i] = vx + y2values[i] = vy2 + + x = cl + xrange.Translate(vx) + y = cb - yrange.Translate(vy1) + if i > drawOffsetIndex { + r.LineTo(x, y) + } else { + r.MoveTo(x, y) + } + } + y = cb - yrange.Translate(vy2) + r.LineTo(x, y) + for i := bbs.Len() - 1; i >= drawOffsetIndex; i-- { + vx, vy2 = xvalues[i], y2values[i] + x = cl + xrange.Translate(vx) + y = cb - yrange.Translate(vy2) + r.LineTo(x, y) + } + r.Close() + r.FillStroke() +} + +// HistogramSeries draws a value provider as boxes from 0. +func (d draw) HistogramSeries(r Renderer, canvasBox Box, xrange, yrange Range, style Style, vs ValuesProvider, barWidths ...int) { + if vs.Len() == 0 { + return + } + + //calculate bar width? + seriesLength := vs.Len() + barWidth := int(math.Floor(float64(xrange.GetDomain()) / float64(seriesLength))) + if len(barWidths) > 0 { + barWidth = barWidths[0] + } + + cb := canvasBox.Bottom + cl := canvasBox.Left + + //foreach datapoint, draw a box. + for index := 0; index < seriesLength; index++ { + vx, vy := vs.GetValues(index) + y0 := yrange.Translate(0) + x := cl + xrange.Translate(vx) + y := yrange.Translate(vy) + + d.Box(r, Box{ + Top: cb - y0, + Left: x - (barWidth >> 1), + Right: x + (barWidth >> 1), + Bottom: cb - y, + }, style) + } +} + +// MeasureAnnotation measures how big an annotation would be. +func (d draw) MeasureAnnotation(r Renderer, canvasBox Box, style Style, lx, ly int, label string) Box { + style.WriteToRenderer(r) + defer r.ResetStyle() + + textBox := r.MeasureText(label) + textWidth := textBox.Width() + textHeight := textBox.Height() + halfTextHeight := textHeight >> 1 + + pt := style.Padding.GetTop(DefaultAnnotationPadding.Top) + pl := style.Padding.GetLeft(DefaultAnnotationPadding.Left) + pr := style.Padding.GetRight(DefaultAnnotationPadding.Right) + pb := style.Padding.GetBottom(DefaultAnnotationPadding.Bottom) + + strokeWidth := style.GetStrokeWidth() + + top := ly - (pt + halfTextHeight) + right := lx + pl + pr + textWidth + DefaultAnnotationDeltaWidth + int(strokeWidth) + bottom := ly + (pb + halfTextHeight) + + return Box{ + Top: top, + Left: lx, + Right: right, + Bottom: bottom, + } +} + +// Annotation draws an anotation with a renderer. +func (d draw) Annotation(r Renderer, canvasBox Box, style Style, lx, ly int, label string) { + style.GetTextOptions().WriteToRenderer(r) + defer r.ResetStyle() + + textBox := r.MeasureText(label) + textWidth := textBox.Width() + halfTextHeight := textBox.Height() >> 1 + + style.GetFillAndStrokeOptions().WriteToRenderer(r) + + pt := style.Padding.GetTop(DefaultAnnotationPadding.Top) + pl := style.Padding.GetLeft(DefaultAnnotationPadding.Left) + pr := style.Padding.GetRight(DefaultAnnotationPadding.Right) + pb := style.Padding.GetBottom(DefaultAnnotationPadding.Bottom) + + textX := lx + pl + DefaultAnnotationDeltaWidth + textY := ly + halfTextHeight + + ltx := lx + DefaultAnnotationDeltaWidth + lty := ly - (pt + halfTextHeight) + + rtx := lx + pl + pr + textWidth + DefaultAnnotationDeltaWidth + rty := ly - (pt + halfTextHeight) + + rbx := lx + pl + pr + textWidth + DefaultAnnotationDeltaWidth + rby := ly + (pb + halfTextHeight) + + lbx := lx + DefaultAnnotationDeltaWidth + lby := ly + (pb + halfTextHeight) + + r.MoveTo(lx, ly) + r.LineTo(ltx, lty) + r.LineTo(rtx, rty) + r.LineTo(rbx, rby) + r.LineTo(lbx, lby) + r.LineTo(lx, ly) + r.Close() + r.FillStroke() + + style.GetTextOptions().WriteToRenderer(r) + r.Text(label, textX, textY) +} + +// Box draws a box with a given style. +func (d draw) Box(r Renderer, b Box, s Style) { + s.GetFillAndStrokeOptions().WriteToRenderer(r) + defer r.ResetStyle() + + r.MoveTo(b.Left, b.Top) + r.LineTo(b.Right, b.Top) + r.LineTo(b.Right, b.Bottom) + r.LineTo(b.Left, b.Bottom) + r.LineTo(b.Left, b.Top) + r.FillStroke() +} + +func (d draw) BoxRotated(r Renderer, b Box, thetaDegrees float64, s Style) { + d.BoxCorners(r, b.Corners().Rotate(thetaDegrees), s) +} + +func (d draw) BoxCorners(r Renderer, bc BoxCorners, s Style) { + s.GetFillAndStrokeOptions().WriteToRenderer(r) + defer r.ResetStyle() + + r.MoveTo(bc.TopLeft.X, bc.TopLeft.Y) + r.LineTo(bc.TopRight.X, bc.TopRight.Y) + r.LineTo(bc.BottomRight.X, bc.BottomRight.Y) + r.LineTo(bc.BottomLeft.X, bc.BottomLeft.Y) + r.Close() + r.FillStroke() +} + +// DrawText draws text with a given style. +func (d draw) Text(r Renderer, text string, x, y int, style Style) { + style.GetTextOptions().WriteToRenderer(r) + defer r.ResetStyle() + + r.Text(text, x, y) +} + +func (d draw) MeasureText(r Renderer, text string, style Style) Box { + style.GetTextOptions().WriteToRenderer(r) + defer r.ResetStyle() + + return r.MeasureText(text) +} + +// TextWithin draws the text within a given box. +func (d draw) TextWithin(r Renderer, text string, box Box, style Style) { + style.GetTextOptions().WriteToRenderer(r) + defer r.ResetStyle() + + lines := Text.WrapFit(r, text, box.Width(), style) + linesBox := Text.MeasureLines(r, lines, style) + + y := box.Top + + switch style.GetTextVerticalAlign() { + case TextVerticalAlignBottom, TextVerticalAlignBaseline: // i have to build better baseline handling into measure text + y = y - linesBox.Height() + case TextVerticalAlignMiddle: + y = y + (box.Height() >> 1) - (linesBox.Height() >> 1) + case TextVerticalAlignMiddleBaseline: + y = y + (box.Height() >> 1) - linesBox.Height() + } + + var tx, ty int + for _, line := range lines { + lineBox := r.MeasureText(line) + switch style.GetTextHorizontalAlign() { + case TextHorizontalAlignCenter: + tx = box.Left + ((box.Width() - lineBox.Width()) >> 1) + case TextHorizontalAlignRight: + tx = box.Right - lineBox.Width() + default: + tx = box.Left + } + if style.TextRotationDegrees == 0 { + ty = y + lineBox.Height() + } else { + ty = y + } + + r.Text(line, tx, ty) + y += lineBox.Height() + style.GetTextLineSpacing() + } +} diff --git a/drawing/README.md b/drawing/README.md new file mode 100644 index 0000000..a97cb30 --- /dev/null +++ b/drawing/README.md @@ -0,0 +1,5 @@ +go-chart > drawing +================== + +The bulk of the code in this package is based on [draw2d](https://github.com/llgcode/draw2d), but +with significant modifications to make the APIs more golang friendly and careful about units (points vs. pixels). \ No newline at end of file diff --git a/drawing/color.go b/drawing/color.go new file mode 100644 index 0000000..4b865d7 --- /dev/null +++ b/drawing/color.go @@ -0,0 +1,274 @@ +package drawing + +import ( + "fmt" + "regexp" + "strconv" + "strings" +) + +// Basic Colors from: +// https://www.w3.org/wiki/CSS/Properties/color/keywords +var ( + // ColorTransparent is a fully transparent color. + ColorTransparent = Color{R: 255, G: 255, B: 255, A: 0} + // ColorWhite is white. + ColorWhite = Color{R: 255, G: 255, B: 255, A: 255} + // ColorBlack is black. + ColorBlack = Color{R: 0, G: 0, B: 0, A: 255} + // ColorRed is red. + ColorRed = Color{R: 255, G: 0, B: 0, A: 255} + // ColorGreen is green. + ColorGreen = Color{R: 0, G: 128, B: 0, A: 255} + // ColorBlue is blue. + ColorBlue = Color{R: 0, G: 0, B: 255, A: 255} + // ColorSilver is a known color. + ColorSilver = Color{R: 192, G: 192, B: 192, A: 255} + // ColorMaroon is a known color. + ColorMaroon = Color{R: 128, G: 0, B: 0, A: 255} + // ColorPurple is a known color. + ColorPurple = Color{R: 128, G: 0, B: 128, A: 255} + // ColorFuchsia is a known color. + ColorFuchsia = Color{R: 255, G: 0, B: 255, A: 255} + // ColorLime is a known color. + ColorLime = Color{R: 0, G: 255, B: 0, A: 255} + // ColorOlive is a known color. + ColorOlive = Color{R: 128, G: 128, B: 0, A: 255} + // ColorYellow is a known color. + ColorYellow = Color{R: 255, G: 255, B: 0, A: 255} + // ColorNavy is a known color. + ColorNavy = Color{R: 0, G: 0, B: 128, A: 255} + // ColorTeal is a known color. + ColorTeal = Color{R: 0, G: 128, B: 128, A: 255} + // ColorAqua is a known color. + ColorAqua = Color{R: 0, G: 255, B: 255, A: 255} +) + +func parseHex(hex string) uint8 { + v, _ := strconv.ParseInt(hex, 16, 16) + return uint8(v) +} + +// ParseColor parses a color from a string. +func ParseColor(rawColor string) Color { + if strings.HasPrefix(rawColor, "rgba") { + return ColorFromRGBA(rawColor) + } + if strings.HasPrefix(rawColor, "rgb") { + return ColorFromRGB(rawColor) + } + if strings.HasPrefix(rawColor, "#") { + return ColorFromHex(rawColor) + } + return ColorFromKnown(rawColor) +} + +var rgbaexpr = regexp.MustCompile(`rgba\((?P.+),(?P.+),(?P.+),(?P.+)\)`) + +// ColorFromRGBA returns a color from an `rgba()` css function. +func ColorFromRGBA(rgba string) (output Color) { + values := rgbaexpr.FindStringSubmatch(rgba) + for i, name := range rgbaexpr.SubexpNames() { + if i == 0 { + continue + } + if i >= len(values) { + break + } + switch name { + case "R": + value := strings.TrimSpace(values[i]) + parsed, _ := strconv.ParseInt(value, 10, 16) + output.R = uint8(parsed) + case "G": + value := strings.TrimSpace(values[i]) + parsed, _ := strconv.ParseInt(value, 10, 16) + output.G = uint8(parsed) + case "B": + value := strings.TrimSpace(values[i]) + parsed, _ := strconv.ParseInt(value, 10, 16) + output.B = uint8(parsed) + case "A": + value := strings.TrimSpace(values[i]) + parsed, _ := strconv.ParseFloat(value, 32) + if parsed > 1 { + parsed = 1 + } else if parsed < 0 { + parsed = 0 + } + output.A = uint8(parsed * 255) + } + } + return +} + +var rgbexpr = regexp.MustCompile(`rgb\((?P.+),(?P.+),(?P.+)\)`) + +// ColorFromRGB returns a color from an `rgb()` css function. +func ColorFromRGB(rgb string) (output Color) { + output.A = 255 + values := rgbexpr.FindStringSubmatch(rgb) + for i, name := range rgbaexpr.SubexpNames() { + if i == 0 { + continue + } + if i >= len(values) { + break + } + switch name { + case "R": + value := strings.TrimSpace(values[i]) + parsed, _ := strconv.ParseInt(value, 10, 16) + output.R = uint8(parsed) + case "G": + value := strings.TrimSpace(values[i]) + parsed, _ := strconv.ParseInt(value, 10, 16) + output.G = uint8(parsed) + case "B": + value := strings.TrimSpace(values[i]) + parsed, _ := strconv.ParseInt(value, 10, 16) + output.B = uint8(parsed) + } + } + return +} + +// ColorFromHex returns a color from a css hex code. +// +// NOTE: it will trim a leading '#' character if present. +func ColorFromHex(hex string) Color { + if strings.HasPrefix(hex, "#") { + hex = strings.TrimPrefix(hex, "#") + } + var c Color + if len(hex) == 3 { + c.R = parseHex(string(hex[0])) * 0x11 + c.G = parseHex(string(hex[1])) * 0x11 + c.B = parseHex(string(hex[2])) * 0x11 + } else { + c.R = parseHex(string(hex[0:2])) + c.G = parseHex(string(hex[2:4])) + c.B = parseHex(string(hex[4:6])) + } + c.A = 255 + return c +} + +// ColorFromKnown returns an internal color from a known (basic) color name. +func ColorFromKnown(known string) Color { + switch strings.ToLower(known) { + case "transparent": + return ColorTransparent + case "white": + return ColorWhite + case "black": + return ColorBlack + case "red": + return ColorRed + case "blue": + return ColorBlue + case "green": + return ColorGreen + case "silver": + return ColorSilver + case "maroon": + return ColorMaroon + case "purple": + return ColorPurple + case "fuchsia": + return ColorFuchsia + case "lime": + return ColorLime + case "olive": + return ColorOlive + case "yellow": + return ColorYellow + case "navy": + return ColorNavy + case "teal": + return ColorTeal + case "aqua": + return ColorAqua + default: + return Color{} + } +} + +// ColorFromAlphaMixedRGBA returns the system alpha mixed rgba values. +func ColorFromAlphaMixedRGBA(r, g, b, a uint32) Color { + fa := float64(a) / 255.0 + var c Color + c.R = uint8(float64(r) / fa) + c.G = uint8(float64(g) / fa) + c.B = uint8(float64(b) / fa) + c.A = uint8(a | (a >> 8)) + return c +} + +// ColorChannelFromFloat returns a normalized byte from a given float value. +func ColorChannelFromFloat(v float64) uint8 { + return uint8(v * 255) +} + +// Color is our internal color type because color.Color is bullshit. +type Color struct { + R, G, B, A uint8 +} + +// RGBA returns the color as a pre-alpha mixed color set. +func (c Color) RGBA() (r, g, b, a uint32) { + fa := float64(c.A) / 255.0 + r = uint32(float64(uint32(c.R)) * fa) + r |= r << 8 + g = uint32(float64(uint32(c.G)) * fa) + g |= g << 8 + b = uint32(float64(uint32(c.B)) * fa) + b |= b << 8 + a = uint32(c.A) + a |= a << 8 + return +} + +// IsZero returns if the color has been set or not. +func (c Color) IsZero() bool { + return c.R == 0 && c.G == 0 && c.B == 0 && c.A == 0 +} + +// IsTransparent returns if the colors alpha channel is zero. +func (c Color) IsTransparent() bool { + return c.A == 0 +} + +// WithAlpha returns a copy of the color with a given alpha. +func (c Color) WithAlpha(a uint8) Color { + return Color{ + R: c.R, + G: c.G, + B: c.B, + A: a, + } +} + +// Equals returns true if the color equals another. +func (c Color) Equals(other Color) bool { + return c.R == other.R && + c.G == other.G && + c.B == other.B && + c.A == other.A +} + +// AverageWith averages two colors. +func (c Color) AverageWith(other Color) Color { + return Color{ + R: (c.R + other.R) >> 1, + G: (c.G + other.G) >> 1, + B: (c.B + other.B) >> 1, + A: c.A, + } +} + +// String returns a css string representation of the color. +func (c Color) String() string { + fa := float64(c.A) / float64(255) + return fmt.Sprintf("rgba(%v,%v,%v,%.1f)", c.R, c.G, c.B, fa) +} diff --git a/drawing/color_test.go b/drawing/color_test.go new file mode 100644 index 0000000..a3abd19 --- /dev/null +++ b/drawing/color_test.go @@ -0,0 +1,114 @@ +package drawing + +import ( + "fmt" + "testing" + + "image/color" + + "github.com/wcharczuk/go-chart/v2/testutil" +) + +func TestColorFromHex(t *testing.T) { + white := ColorFromHex("FFFFFF") + testutil.AssertEqual(t, ColorWhite, white) + + shortWhite := ColorFromHex("FFF") + testutil.AssertEqual(t, ColorWhite, shortWhite) + + black := ColorFromHex("000000") + testutil.AssertEqual(t, ColorBlack, black) + + shortBlack := ColorFromHex("000") + testutil.AssertEqual(t, ColorBlack, shortBlack) + + red := ColorFromHex("FF0000") + testutil.AssertEqual(t, ColorRed, red) + + shortRed := ColorFromHex("F00") + testutil.AssertEqual(t, ColorRed, shortRed) + + green := ColorFromHex("008000") + testutil.AssertEqual(t, ColorGreen, green) + + // shortGreen := ColorFromHex("0F0") + // testutil.AssertEqual(t, ColorGreen, shortGreen) + + blue := ColorFromHex("0000FF") + testutil.AssertEqual(t, ColorBlue, blue) + + shortBlue := ColorFromHex("00F") + testutil.AssertEqual(t, ColorBlue, shortBlue) +} + +func TestColorFromHex_handlesHash(t *testing.T) { + withHash := ColorFromHex("#FF0000") + testutil.AssertEqual(t, ColorRed, withHash) + + withoutHash := ColorFromHex("#FF0000") + testutil.AssertEqual(t, ColorRed, withoutHash) +} + +func TestColorFromAlphaMixedRGBA(t *testing.T) { + black := ColorFromAlphaMixedRGBA(color.Black.RGBA()) + testutil.AssertTrue(t, black.Equals(ColorBlack), black.String()) + + white := ColorFromAlphaMixedRGBA(color.White.RGBA()) + testutil.AssertTrue(t, white.Equals(ColorWhite), white.String()) +} + +func Test_ColorFromRGBA(t *testing.T) { + value := "rgba(192, 192, 192, 1.0)" + parsed := ColorFromRGBA(value) + testutil.AssertEqual(t, ColorSilver, parsed) + + value = "rgba(192,192,192,1.0)" + parsed = ColorFromRGBA(value) + testutil.AssertEqual(t, ColorSilver, parsed) + + value = "rgba(192,192,192,1.5)" + parsed = ColorFromRGBA(value) + testutil.AssertEqual(t, ColorSilver, parsed) +} + +func TestParseColor(t *testing.T) { + testCases := [...]struct { + Input string + Expected Color + }{ + {"", Color{}}, + {"white", ColorWhite}, + {"WHITE", ColorWhite}, // caps! + {"black", ColorBlack}, + {"red", ColorRed}, + {"green", ColorGreen}, + {"blue", ColorBlue}, + {"silver", ColorSilver}, + {"maroon", ColorMaroon}, + {"purple", ColorPurple}, + {"fuchsia", ColorFuchsia}, + {"lime", ColorLime}, + {"olive", ColorOlive}, + {"yellow", ColorYellow}, + {"navy", ColorNavy}, + {"teal", ColorTeal}, + {"aqua", ColorAqua}, + + {"rgba(192, 192, 192, 1.0)", ColorSilver}, + {"rgba(192,192,192,1.0)", ColorSilver}, + {"rgb(192, 192, 192)", ColorSilver}, + {"rgb(192,192,192)", ColorSilver}, + + {"#FF0000", ColorRed}, + {"#008000", ColorGreen}, + {"#0000FF", ColorBlue}, + {"#F00", ColorRed}, + {"#080", Color{0, 136, 0, 255}}, + {"#00F", ColorBlue}, + } + + for index, tc := range testCases { + actual := ParseColor(tc.Input) + testutil.AssertEqual(t, tc.Expected, actual, fmt.Sprintf("test case: %d -> %s", index, tc.Input)) + } +} diff --git a/drawing/constants.go b/drawing/constants.go new file mode 100644 index 0000000..2fb154e --- /dev/null +++ b/drawing/constants.go @@ -0,0 +1,6 @@ +package drawing + +const ( + // DefaultDPI is the default image DPI. + DefaultDPI = 96.0 +) diff --git a/drawing/curve.go b/drawing/curve.go new file mode 100644 index 0000000..c33efcc --- /dev/null +++ b/drawing/curve.go @@ -0,0 +1,185 @@ +package drawing + +import "math" + +const ( + // CurveRecursionLimit represents the maximum recursion that is really necessary to subsivide a curve into straight lines + CurveRecursionLimit = 32 +) + +// Cubic +// x1, y1, cpx1, cpy1, cpx2, cpy2, x2, y2 float64 + +// SubdivideCubic a Bezier cubic curve in 2 equivalents Bezier cubic curves. +// c1 and c2 parameters are the resulting curves +func SubdivideCubic(c, c1, c2 []float64) { + // First point of c is the first point of c1 + c1[0], c1[1] = c[0], c[1] + // Last point of c is the last point of c2 + c2[6], c2[7] = c[6], c[7] + + // Subdivide segment using midpoints + c1[2] = (c[0] + c[2]) / 2 + c1[3] = (c[1] + c[3]) / 2 + + midX := (c[2] + c[4]) / 2 + midY := (c[3] + c[5]) / 2 + + c2[4] = (c[4] + c[6]) / 2 + c2[5] = (c[5] + c[7]) / 2 + + c1[4] = (c1[2] + midX) / 2 + c1[5] = (c1[3] + midY) / 2 + + c2[2] = (midX + c2[4]) / 2 + c2[3] = (midY + c2[5]) / 2 + + c1[6] = (c1[4] + c2[2]) / 2 + c1[7] = (c1[5] + c2[3]) / 2 + + // Last Point of c1 is equal to the first point of c2 + c2[0], c2[1] = c1[6], c1[7] +} + +// TraceCubic generate lines subdividing the cubic curve using a Liner +// flattening_threshold helps determines the flattening expectation of the curve +func TraceCubic(t Liner, cubic []float64, flatteningThreshold float64) { + // Allocation curves + var curves [CurveRecursionLimit * 8]float64 + copy(curves[0:8], cubic[0:8]) + i := 0 + + // current curve + var c []float64 + + var dx, dy, d2, d3 float64 + + for i >= 0 { + c = curves[i*8:] + dx = c[6] - c[0] + dy = c[7] - c[1] + + d2 = math.Abs((c[2]-c[6])*dy - (c[3]-c[7])*dx) + d3 = math.Abs((c[4]-c[6])*dy - (c[5]-c[7])*dx) + + // if it's flat then trace a line + if (d2+d3)*(d2+d3) < flatteningThreshold*(dx*dx+dy*dy) || i == len(curves)-1 { + t.LineTo(c[6], c[7]) + i-- + } else { + // second half of bezier go lower onto the stack + SubdivideCubic(c, curves[(i+1)*8:], curves[i*8:]) + i++ + } + } +} + +// Quad +// x1, y1, cpx1, cpy2, x2, y2 float64 + +// SubdivideQuad a Bezier quad curve in 2 equivalents Bezier quad curves. +// c1 and c2 parameters are the resulting curves +func SubdivideQuad(c, c1, c2 []float64) { + // First point of c is the first point of c1 + c1[0], c1[1] = c[0], c[1] + // Last point of c is the last point of c2 + c2[4], c2[5] = c[4], c[5] + + // Subdivide segment using midpoints + c1[2] = (c[0] + c[2]) / 2 + c1[3] = (c[1] + c[3]) / 2 + c2[2] = (c[2] + c[4]) / 2 + c2[3] = (c[3] + c[5]) / 2 + c1[4] = (c1[2] + c2[2]) / 2 + c1[5] = (c1[3] + c2[3]) / 2 + c2[0], c2[1] = c1[4], c1[5] + return +} + +func traceWindowIndices(i int) (startAt, endAt int) { + startAt = i * 6 + endAt = startAt + 6 + return +} + +func traceCalcDeltas(c []float64) (dx, dy, d float64) { + dx = c[4] - c[0] + dy = c[5] - c[1] + d = math.Abs(((c[2]-c[4])*dy - (c[3]-c[5])*dx)) + return +} + +func traceIsFlat(dx, dy, d, threshold float64) bool { + return (d * d) < threshold*(dx*dx+dy*dy) +} + +func traceGetWindow(curves []float64, i int) []float64 { + startAt, endAt := traceWindowIndices(i) + return curves[startAt:endAt] +} + +// TraceQuad generate lines subdividing the curve using a Liner +// flattening_threshold helps determines the flattening expectation of the curve +func TraceQuad(t Liner, quad []float64, flatteningThreshold float64) { + const curveLen = CurveRecursionLimit * 6 + const curveEndIndex = curveLen - 1 + const lastIteration = CurveRecursionLimit - 1 + + // Allocates curves stack + curves := make([]float64, curveLen) + + // copy 6 elements from the quad path to the stack + copy(curves[0:6], quad[0:6]) + + var i int + var c []float64 + var dx, dy, d float64 + + for i >= 0 { + c = traceGetWindow(curves, i) + dx, dy, d = traceCalcDeltas(c) + + // bail early if the distance is 0 + if d == 0 { + return + } + + // if it's flat then trace a line + if traceIsFlat(dx, dy, d, flatteningThreshold) || i == lastIteration { + t.LineTo(c[4], c[5]) + i-- + } else { + SubdivideQuad(c, traceGetWindow(curves, i+1), traceGetWindow(curves, i)) + i++ + } + } +} + +// TraceArc trace an arc using a Liner +func TraceArc(t Liner, x, y, rx, ry, start, angle, scale float64) (lastX, lastY float64) { + end := start + angle + clockWise := true + if angle < 0 { + clockWise = false + } + ra := (math.Abs(rx) + math.Abs(ry)) / 2 + da := math.Acos(ra/(ra+0.125/scale)) * 2 + //normalize + if !clockWise { + da = -da + } + angle = start + da + var curX, curY float64 + for { + if (angle < end-da/4) != clockWise { + curX = x + math.Cos(end)*rx + curY = y + math.Sin(end)*ry + return curX, curY + } + curX = x + math.Cos(angle)*rx + curY = y + math.Sin(angle)*ry + + angle += da + t.LineTo(curX, curY) + } +} diff --git a/drawing/curve_test.go b/drawing/curve_test.go new file mode 100644 index 0000000..31abe8e --- /dev/null +++ b/drawing/curve_test.go @@ -0,0 +1,35 @@ +package drawing + +import ( + "testing" + + "github.com/wcharczuk/go-chart/v2/testutil" +) + +type point struct { + X, Y float64 +} + +type mockLine struct { + inner []point +} + +func (ml *mockLine) LineTo(x, y float64) { + ml.inner = append(ml.inner, point{x, y}) +} + +func (ml mockLine) Len() int { + return len(ml.inner) +} + +func TestTraceQuad(t *testing.T) { + // replaced new assertions helper + + // Quad + // x1, y1, cpx1, cpy2, x2, y2 float64 + // do the 9->12 circle segment + quad := []float64{10, 20, 20, 20, 20, 10} + liner := &mockLine{} + TraceQuad(liner, quad, 0.5) + testutil.AssertNotZero(t, liner.Len()) +} diff --git a/drawing/dasher.go b/drawing/dasher.go new file mode 100644 index 0000000..20a5a6b --- /dev/null +++ b/drawing/dasher.go @@ -0,0 +1,89 @@ +package drawing + +// NewDashVertexConverter creates a new dash converter. +func NewDashVertexConverter(dash []float64, dashOffset float64, flattener Flattener) *DashVertexConverter { + var dasher DashVertexConverter + dasher.dash = dash + dasher.currentDash = 0 + dasher.dashOffset = dashOffset + dasher.next = flattener + return &dasher +} + +// DashVertexConverter is a converter for dash vertexes. +type DashVertexConverter struct { + next Flattener + x, y, distance float64 + dash []float64 + currentDash int + dashOffset float64 +} + +// LineTo implements the pathbuilder interface. +func (dasher *DashVertexConverter) LineTo(x, y float64) { + dasher.lineTo(x, y) +} + +// MoveTo implements the pathbuilder interface. +func (dasher *DashVertexConverter) MoveTo(x, y float64) { + dasher.next.MoveTo(x, y) + dasher.x, dasher.y = x, y + dasher.distance = dasher.dashOffset + dasher.currentDash = 0 +} + +// LineJoin implements the pathbuilder interface. +func (dasher *DashVertexConverter) LineJoin() { + dasher.next.LineJoin() +} + +// Close implements the pathbuilder interface. +func (dasher *DashVertexConverter) Close() { + dasher.next.Close() +} + +// End implements the pathbuilder interface. +func (dasher *DashVertexConverter) End() { + dasher.next.End() +} + +func (dasher *DashVertexConverter) lineTo(x, y float64) { + rest := dasher.dash[dasher.currentDash] - dasher.distance + for rest < 0 { + dasher.distance = dasher.distance - dasher.dash[dasher.currentDash] + dasher.currentDash = (dasher.currentDash + 1) % len(dasher.dash) + rest = dasher.dash[dasher.currentDash] - dasher.distance + } + d := distance(dasher.x, dasher.y, x, y) + for d >= rest { + k := rest / d + lx := dasher.x + k*(x-dasher.x) + ly := dasher.y + k*(y-dasher.y) + if dasher.currentDash%2 == 0 { + // line + dasher.next.LineTo(lx, ly) + } else { + // gap + dasher.next.End() + dasher.next.MoveTo(lx, ly) + } + d = d - rest + dasher.x, dasher.y = lx, ly + dasher.currentDash = (dasher.currentDash + 1) % len(dasher.dash) + rest = dasher.dash[dasher.currentDash] + } + dasher.distance = d + if dasher.currentDash%2 == 0 { + // line + dasher.next.LineTo(x, y) + } else { + // gap + dasher.next.End() + dasher.next.MoveTo(x, y) + } + if dasher.distance >= dasher.dash[dasher.currentDash] { + dasher.distance = dasher.distance - dasher.dash[dasher.currentDash] + dasher.currentDash = (dasher.currentDash + 1) % len(dasher.dash) + } + dasher.x, dasher.y = x, y +} diff --git a/drawing/demux_flattener.go b/drawing/demux_flattener.go new file mode 100644 index 0000000..43b8646 --- /dev/null +++ b/drawing/demux_flattener.go @@ -0,0 +1,41 @@ +package drawing + +// DemuxFlattener is a flattener +type DemuxFlattener struct { + Flatteners []Flattener +} + +// MoveTo implements the path builder interface. +func (dc DemuxFlattener) MoveTo(x, y float64) { + for _, flattener := range dc.Flatteners { + flattener.MoveTo(x, y) + } +} + +// LineTo implements the path builder interface. +func (dc DemuxFlattener) LineTo(x, y float64) { + for _, flattener := range dc.Flatteners { + flattener.LineTo(x, y) + } +} + +// LineJoin implements the path builder interface. +func (dc DemuxFlattener) LineJoin() { + for _, flattener := range dc.Flatteners { + flattener.LineJoin() + } +} + +// Close implements the path builder interface. +func (dc DemuxFlattener) Close() { + for _, flattener := range dc.Flatteners { + flattener.Close() + } +} + +// End implements the path builder interface. +func (dc DemuxFlattener) End() { + for _, flattener := range dc.Flatteners { + flattener.End() + } +} diff --git a/drawing/drawing.go b/drawing/drawing.go new file mode 100644 index 0000000..8a1da6a --- /dev/null +++ b/drawing/drawing.go @@ -0,0 +1,148 @@ +package drawing + +import ( + "image/color" + + "github.com/golang/freetype/truetype" +) + +// FillRule defines the type for fill rules +type FillRule int + +const ( + // FillRuleEvenOdd determines the "insideness" of a point in the shape + // by drawing a ray from that point to infinity in any direction + // and counting the number of path segments from the given shape that the ray crosses. + // If this number is odd, the point is inside; if even, the point is outside. + FillRuleEvenOdd FillRule = iota + // FillRuleWinding determines the "insideness" of a point in the shape + // by drawing a ray from that point to infinity in any direction + // and then examining the places where a segment of the shape crosses the ray. + // Starting with a count of zero, add one each time a path segment crosses + // the ray from left to right and subtract one each time + // a path segment crosses the ray from right to left. After counting the crossings, + // if the result is zero then the point is outside the path. Otherwise, it is inside. + FillRuleWinding +) + +// LineCap is the style of line extremities +type LineCap int + +const ( + // RoundCap defines a rounded shape at the end of the line + RoundCap LineCap = iota + // ButtCap defines a squared shape exactly at the end of the line + ButtCap + // SquareCap defines a squared shape at the end of the line + SquareCap +) + +// LineJoin is the style of segments joint +type LineJoin int + +const ( + // BevelJoin represents cut segments joint + BevelJoin LineJoin = iota + // RoundJoin represents rounded segments joint + RoundJoin + // MiterJoin represents peaker segments joint + MiterJoin +) + +// StrokeStyle keeps stroke style attributes +// that is used by the Stroke method of a Drawer +type StrokeStyle struct { + // Color defines the color of stroke + Color color.Color + // Line width + Width float64 + // Line cap style rounded, butt or square + LineCap LineCap + // Line join style bevel, round or miter + LineJoin LineJoin + // offset of the first dash + DashOffset float64 + // array represented dash length pair values are plain dash and impair are space between dash + // if empty display plain line + Dash []float64 +} + +// SolidFillStyle define style attributes for a solid fill style +type SolidFillStyle struct { + // Color defines the line color + Color color.Color + // FillRule defines the file rule to used + FillRule FillRule +} + +// Valign Vertical Alignment of the text +type Valign int + +const ( + // ValignTop top align text + ValignTop Valign = iota + // ValignCenter centered text + ValignCenter + // ValignBottom bottom aligned text + ValignBottom + // ValignBaseline align text with the baseline of the font + ValignBaseline +) + +// Halign Horizontal Alignment of the text +type Halign int + +const ( + // HalignLeft Horizontally align to left + HalignLeft = iota + // HalignCenter Horizontally align to center + HalignCenter + // HalignRight Horizontally align to right + HalignRight +) + +// TextStyle describe text property +type TextStyle struct { + // Color defines the color of text + Color color.Color + // Size font size + Size float64 + // The font to use + Font *truetype.Font + // Horizontal Alignment of the text + Halign Halign + // Vertical Alignment of the text + Valign Valign +} + +// ScalingPolicy is a constant to define how to scale an image +type ScalingPolicy int + +const ( + // ScalingNone no scaling applied + ScalingNone ScalingPolicy = iota + // ScalingStretch the image is stretched so that its width and height are exactly the given width and height + ScalingStretch + // ScalingWidth the image is scaled so that its width is exactly the given width + ScalingWidth + // ScalingHeight the image is scaled so that its height is exactly the given height + ScalingHeight + // ScalingFit the image is scaled to the largest scale that allow the image to fit within a rectangle width x height + ScalingFit + // ScalingSameArea the image is scaled so that its area is exactly the area of the given rectangle width x height + ScalingSameArea + // ScalingFill the image is scaled to the smallest scale that allow the image to fully cover a rectangle width x height + ScalingFill +) + +// ImageScaling style attributes used to display the image +type ImageScaling struct { + // Horizontal Alignment of the image + Halign Halign + // Vertical Alignment of the image + Valign Valign + // Width Height used by scaling policy + Width, Height float64 + // ScalingPolicy defines the scaling policy to applied to the image + ScalingPolicy ScalingPolicy +} diff --git a/drawing/flattener.go b/drawing/flattener.go new file mode 100644 index 0000000..7b34201 --- /dev/null +++ b/drawing/flattener.go @@ -0,0 +1,97 @@ +package drawing + +// Liner receive segment definition +type Liner interface { + // LineTo Draw a line from the current position to the point (x, y) + LineTo(x, y float64) +} + +// Flattener receive segment definition +type Flattener interface { + // MoveTo Start a New line from the point (x, y) + MoveTo(x, y float64) + // LineTo Draw a line from the current position to the point (x, y) + LineTo(x, y float64) + // LineJoin add the most recent starting point to close the path to create a polygon + LineJoin() + // Close add the most recent starting point to close the path to create a polygon + Close() + // End mark the current line as finished so we can draw caps + End() +} + +// Flatten convert curves into straight segments keeping join segments info +func Flatten(path *Path, flattener Flattener, scale float64) { + // First Point + var startX, startY float64 + // Current Point + var x, y float64 + var i int + for _, cmp := range path.Components { + switch cmp { + case MoveToComponent: + x, y = path.Points[i], path.Points[i+1] + startX, startY = x, y + if i != 0 { + flattener.End() + } + flattener.MoveTo(x, y) + i += 2 + case LineToComponent: + x, y = path.Points[i], path.Points[i+1] + flattener.LineTo(x, y) + flattener.LineJoin() + i += 2 + case QuadCurveToComponent: + // we include the previous point for the start of the curve + TraceQuad(flattener, path.Points[i-2:], 0.5) + x, y = path.Points[i+2], path.Points[i+3] + flattener.LineTo(x, y) + i += 4 + case CubicCurveToComponent: + TraceCubic(flattener, path.Points[i-2:], 0.5) + x, y = path.Points[i+4], path.Points[i+5] + flattener.LineTo(x, y) + i += 6 + case ArcToComponent: + x, y = TraceArc(flattener, path.Points[i], path.Points[i+1], path.Points[i+2], path.Points[i+3], path.Points[i+4], path.Points[i+5], scale) + flattener.LineTo(x, y) + i += 6 + case CloseComponent: + flattener.LineTo(startX, startY) + flattener.Close() + } + } + flattener.End() +} + +// SegmentedPath is a path of disparate point sectinos. +type SegmentedPath struct { + Points []float64 +} + +// MoveTo implements the path interface. +func (p *SegmentedPath) MoveTo(x, y float64) { + p.Points = append(p.Points, x, y) + // TODO need to mark this point as moveto +} + +// LineTo implements the path interface. +func (p *SegmentedPath) LineTo(x, y float64) { + p.Points = append(p.Points, x, y) +} + +// LineJoin implements the path interface. +func (p *SegmentedPath) LineJoin() { + // TODO need to mark the current point as linejoin +} + +// Close implements the path interface. +func (p *SegmentedPath) Close() { + // TODO Close +} + +// End implements the path interface. +func (p *SegmentedPath) End() { + // Nothing to do +} diff --git a/drawing/free_type_path.go b/drawing/free_type_path.go new file mode 100644 index 0000000..5c3c266 --- /dev/null +++ b/drawing/free_type_path.go @@ -0,0 +1,30 @@ +package drawing + +import ( + "github.com/golang/freetype/raster" + "golang.org/x/image/math/fixed" +) + +// FtLineBuilder is a builder for freetype raster glyphs. +type FtLineBuilder struct { + Adder raster.Adder +} + +// MoveTo implements the path builder interface. +func (liner FtLineBuilder) MoveTo(x, y float64) { + liner.Adder.Start(fixed.Point26_6{X: fixed.Int26_6(x * 64), Y: fixed.Int26_6(y * 64)}) +} + +// LineTo implements the path builder interface. +func (liner FtLineBuilder) LineTo(x, y float64) { + liner.Adder.Add1(fixed.Point26_6{X: fixed.Int26_6(x * 64), Y: fixed.Int26_6(y * 64)}) +} + +// LineJoin implements the path builder interface. +func (liner FtLineBuilder) LineJoin() {} + +// Close implements the path builder interface. +func (liner FtLineBuilder) Close() {} + +// End implements the path builder interface. +func (liner FtLineBuilder) End() {} diff --git a/drawing/graphic_context.go b/drawing/graphic_context.go new file mode 100644 index 0000000..553c1eb --- /dev/null +++ b/drawing/graphic_context.go @@ -0,0 +1,82 @@ +package drawing + +import ( + "image" + "image/color" + + "github.com/golang/freetype/truetype" +) + +// GraphicContext describes the interface for the various backends (images, pdf, opengl, ...) +type GraphicContext interface { + // PathBuilder describes the interface for path drawing + PathBuilder + // BeginPath creates a new path + BeginPath() + // GetMatrixTransform returns the current transformation matrix + GetMatrixTransform() Matrix + // SetMatrixTransform sets the current transformation matrix + SetMatrixTransform(tr Matrix) + // ComposeMatrixTransform composes the current transformation matrix with tr + ComposeMatrixTransform(tr Matrix) + // Rotate applies a rotation to the current transformation matrix. angle is in radian. + Rotate(angle float64) + // Translate applies a translation to the current transformation matrix. + Translate(tx, ty float64) + // Scale applies a scale to the current transformation matrix. + Scale(sx, sy float64) + // SetStrokeColor sets the current stroke color + SetStrokeColor(c color.Color) + // SetFillColor sets the current fill color + SetFillColor(c color.Color) + // SetFillRule sets the current fill rule + SetFillRule(f FillRule) + // SetLineWidth sets the current line width + SetLineWidth(lineWidth float64) + // SetLineCap sets the current line cap + SetLineCap(cap LineCap) + // SetLineJoin sets the current line join + SetLineJoin(join LineJoin) + // SetLineDash sets the current dash + SetLineDash(dash []float64, dashOffset float64) + // SetFontSize sets the current font size + SetFontSize(fontSize float64) + // GetFontSize gets the current font size + GetFontSize() float64 + // SetFont sets the font for the context + SetFont(f *truetype.Font) + // GetFont returns the current font + GetFont() *truetype.Font + // DrawImage draws the raster image in the current canvas + DrawImage(image image.Image) + // Save the context and push it to the context stack + Save() + // Restore remove the current context and restore the last one + Restore() + // Clear fills the current canvas with a default transparent color + Clear() + // ClearRect fills the specified rectangle with a default transparent color + ClearRect(x1, y1, x2, y2 int) + // SetDPI sets the current DPI + SetDPI(dpi int) + // GetDPI gets the current DPI + GetDPI() int + // GetStringBounds gets pixel bounds(dimensions) of given string + GetStringBounds(s string) (left, top, right, bottom float64) + // CreateStringPath creates a path from the string s at x, y + CreateStringPath(text string, x, y float64) (cursor float64) + // FillString draws the text at point (0, 0) + FillString(text string) (cursor float64) + // FillStringAt draws the text at the specified point (x, y) + FillStringAt(text string, x, y float64) (cursor float64) + // StrokeString draws the contour of the text at point (0, 0) + StrokeString(text string) (cursor float64) + // StrokeStringAt draws the contour of the text at point (x, y) + StrokeStringAt(text string, x, y float64) (cursor float64) + // Stroke strokes the paths with the color specified by SetStrokeColor + Stroke(paths ...*Path) + // Fill fills the paths with the color specified by SetFillColor + Fill(paths ...*Path) + // FillStroke first fills the paths and than strokes them + FillStroke(paths ...*Path) +} diff --git a/drawing/image_filter.go b/drawing/image_filter.go new file mode 100644 index 0000000..3cf0309 --- /dev/null +++ b/drawing/image_filter.go @@ -0,0 +1,13 @@ +package drawing + +// ImageFilter defines the type of filter to use +type ImageFilter int + +const ( + // LinearFilter defines a linear filter + LinearFilter ImageFilter = iota + // BilinearFilter defines a bilinear filter + BilinearFilter + // BicubicFilter defines a bicubic filter + BicubicFilter +) diff --git a/drawing/line.go b/drawing/line.go new file mode 100644 index 0000000..b4e28e7 --- /dev/null +++ b/drawing/line.go @@ -0,0 +1,48 @@ +package drawing + +import ( + "image/color" + "image/draw" +) + +// PolylineBresenham draws a polyline to an image +func PolylineBresenham(img draw.Image, c color.Color, s ...float64) { + for i := 2; i < len(s); i += 2 { + Bresenham(img, c, int(s[i-2]+0.5), int(s[i-1]+0.5), int(s[i]+0.5), int(s[i+1]+0.5)) + } +} + +// Bresenham draws a line between (x0, y0) and (x1, y1) +func Bresenham(img draw.Image, color color.Color, x0, y0, x1, y1 int) { + dx := abs(x1 - x0) + dy := abs(y1 - y0) + var sx, sy int + if x0 < x1 { + sx = 1 + } else { + sx = -1 + } + if y0 < y1 { + sy = 1 + } else { + sy = -1 + } + err := dx - dy + + var e2 int + for { + img.Set(x0, y0, color) + if x0 == x1 && y0 == y1 { + return + } + e2 = 2 * err + if e2 > -dy { + err = err - dy + x0 = x0 + sx + } + if e2 < dx { + err = err + dx + y0 = y0 + sy + } + } +} diff --git a/drawing/matrix.go b/drawing/matrix.go new file mode 100644 index 0000000..8bd2049 --- /dev/null +++ b/drawing/matrix.go @@ -0,0 +1,220 @@ +package drawing + +import ( + "math" +) + +// Matrix represents an affine transformation +type Matrix [6]float64 + +const ( + epsilon = 1e-6 +) + +// Determinant compute the determinant of the matrix +func (tr Matrix) Determinant() float64 { + return tr[0]*tr[3] - tr[1]*tr[2] +} + +// Transform applies the transformation matrix to points. It modify the points passed in parameter. +func (tr Matrix) Transform(points []float64) { + for i, j := 0, 1; j < len(points); i, j = i+2, j+2 { + x := points[i] + y := points[j] + points[i] = x*tr[0] + y*tr[2] + tr[4] + points[j] = x*tr[1] + y*tr[3] + tr[5] + } +} + +// TransformPoint applies the transformation matrix to point. It returns the point the transformed point. +func (tr Matrix) TransformPoint(x, y float64) (xres, yres float64) { + xres = x*tr[0] + y*tr[2] + tr[4] + yres = x*tr[1] + y*tr[3] + tr[5] + return xres, yres +} + +func minMax(x, y float64) (min, max float64) { + if x > y { + return y, x + } + return x, y +} + +// TransformRectangle applies the transformation matrix to the rectangle represented by the min and the max point of the rectangle +func (tr Matrix) TransformRectangle(x0, y0, x2, y2 float64) (nx0, ny0, nx2, ny2 float64) { + points := []float64{x0, y0, x2, y0, x2, y2, x0, y2} + tr.Transform(points) + points[0], points[2] = minMax(points[0], points[2]) + points[4], points[6] = minMax(points[4], points[6]) + points[1], points[3] = minMax(points[1], points[3]) + points[5], points[7] = minMax(points[5], points[7]) + + nx0 = math.Min(points[0], points[4]) + ny0 = math.Min(points[1], points[5]) + nx2 = math.Max(points[2], points[6]) + ny2 = math.Max(points[3], points[7]) + return nx0, ny0, nx2, ny2 +} + +// InverseTransform applies the transformation inverse matrix to the rectangle represented by the min and the max point of the rectangle +func (tr Matrix) InverseTransform(points []float64) { + d := tr.Determinant() // matrix determinant + for i, j := 0, 1; j < len(points); i, j = i+2, j+2 { + x := points[i] + y := points[j] + points[i] = ((x-tr[4])*tr[3] - (y-tr[5])*tr[2]) / d + points[j] = ((y-tr[5])*tr[0] - (x-tr[4])*tr[1]) / d + } +} + +// InverseTransformPoint applies the transformation inverse matrix to point. It returns the point the transformed point. +func (tr Matrix) InverseTransformPoint(x, y float64) (xres, yres float64) { + d := tr.Determinant() // matrix determinant + xres = ((x-tr[4])*tr[3] - (y-tr[5])*tr[2]) / d + yres = ((y-tr[5])*tr[0] - (x-tr[4])*tr[1]) / d + return xres, yres +} + +// VectorTransform applies the transformation matrix to points without using the translation parameter of the affine matrix. +// It modify the points passed in parameter. +func (tr Matrix) VectorTransform(points []float64) { + for i, j := 0, 1; j < len(points); i, j = i+2, j+2 { + x := points[i] + y := points[j] + points[i] = x*tr[0] + y*tr[2] + points[j] = x*tr[1] + y*tr[3] + } +} + +// NewIdentityMatrix creates an identity transformation matrix. +func NewIdentityMatrix() Matrix { + return Matrix{1, 0, 0, 1, 0, 0} +} + +// NewTranslationMatrix creates a transformation matrix with a translation tx and ty translation parameter +func NewTranslationMatrix(tx, ty float64) Matrix { + return Matrix{1, 0, 0, 1, tx, ty} +} + +// NewScaleMatrix creates a transformation matrix with a sx, sy scale factor +func NewScaleMatrix(sx, sy float64) Matrix { + return Matrix{sx, 0, 0, sy, 0, 0} +} + +// NewRotationMatrix creates a rotation transformation matrix. angle is in radian +func NewRotationMatrix(angle float64) Matrix { + c := math.Cos(angle) + s := math.Sin(angle) + return Matrix{c, s, -s, c, 0, 0} +} + +// NewMatrixFromRects creates a transformation matrix, combining a scale and a translation, that transform rectangle1 into rectangle2. +func NewMatrixFromRects(rectangle1, rectangle2 [4]float64) Matrix { + xScale := (rectangle2[2] - rectangle2[0]) / (rectangle1[2] - rectangle1[0]) + yScale := (rectangle2[3] - rectangle2[1]) / (rectangle1[3] - rectangle1[1]) + xOffset := rectangle2[0] - (rectangle1[0] * xScale) + yOffset := rectangle2[1] - (rectangle1[1] * yScale) + return Matrix{xScale, 0, 0, yScale, xOffset, yOffset} +} + +// Inverse computes the inverse matrix +func (tr *Matrix) Inverse() { + d := tr.Determinant() // matrix determinant + tr0, tr1, tr2, tr3, tr4, tr5 := tr[0], tr[1], tr[2], tr[3], tr[4], tr[5] + tr[0] = tr3 / d + tr[1] = -tr1 / d + tr[2] = -tr2 / d + tr[3] = tr0 / d + tr[4] = (tr2*tr5 - tr3*tr4) / d + tr[5] = (tr1*tr4 - tr0*tr5) / d +} + +// Copy copies the matrix. +func (tr Matrix) Copy() Matrix { + var result Matrix + copy(result[:], tr[:]) + return result +} + +// Compose multiplies trToConcat x tr +func (tr *Matrix) Compose(trToCompose Matrix) { + tr0, tr1, tr2, tr3, tr4, tr5 := tr[0], tr[1], tr[2], tr[3], tr[4], tr[5] + tr[0] = trToCompose[0]*tr0 + trToCompose[1]*tr2 + tr[1] = trToCompose[1]*tr3 + trToCompose[0]*tr1 + tr[2] = trToCompose[2]*tr0 + trToCompose[3]*tr2 + tr[3] = trToCompose[3]*tr3 + trToCompose[2]*tr1 + tr[4] = trToCompose[4]*tr0 + trToCompose[5]*tr2 + tr4 + tr[5] = trToCompose[5]*tr3 + trToCompose[4]*tr1 + tr5 +} + +// Scale adds a scale to the matrix +func (tr *Matrix) Scale(sx, sy float64) { + tr[0] = sx * tr[0] + tr[1] = sx * tr[1] + tr[2] = sy * tr[2] + tr[3] = sy * tr[3] +} + +// Translate adds a translation to the matrix +func (tr *Matrix) Translate(tx, ty float64) { + tr[4] = tx*tr[0] + ty*tr[2] + tr[4] + tr[5] = ty*tr[3] + tx*tr[1] + tr[5] +} + +// Rotate adds a rotation to the matrix. +func (tr *Matrix) Rotate(radians float64) { + c := math.Cos(radians) + s := math.Sin(radians) + t0 := c*tr[0] + s*tr[2] + t1 := s*tr[3] + c*tr[1] + t2 := c*tr[2] - s*tr[0] + t3 := c*tr[3] - s*tr[1] + tr[0] = t0 + tr[1] = t1 + tr[2] = t2 + tr[3] = t3 +} + +// GetTranslation gets the matrix traslation. +func (tr Matrix) GetTranslation() (x, y float64) { + return tr[4], tr[5] +} + +// GetScaling gets the matrix scaling. +func (tr Matrix) GetScaling() (x, y float64) { + return tr[0], tr[3] +} + +// GetScale computes a scale for the matrix +func (tr Matrix) GetScale() float64 { + x := 0.707106781*tr[0] + 0.707106781*tr[1] + y := 0.707106781*tr[2] + 0.707106781*tr[3] + return math.Sqrt(x*x + y*y) +} + +// ******************** Testing ******************** + +// Equals tests if a two transformation are equal. A tolerance is applied when comparing matrix elements. +func (tr Matrix) Equals(tr2 Matrix) bool { + for i := 0; i < 6; i = i + 1 { + if !fequals(tr[i], tr2[i]) { + return false + } + } + return true +} + +// IsIdentity tests if a transformation is the identity transformation. A tolerance is applied when comparing matrix elements. +func (tr Matrix) IsIdentity() bool { + return fequals(tr[4], 0) && fequals(tr[5], 0) && tr.IsTranslation() +} + +// IsTranslation tests if a transformation is is a pure translation. A tolerance is applied when comparing matrix elements. +func (tr Matrix) IsTranslation() bool { + return fequals(tr[0], 1) && fequals(tr[1], 0) && fequals(tr[2], 0) && fequals(tr[3], 1) +} + +// fequals compares two floats. return true if the distance between the two floats is less than epsilon, false otherwise +func fequals(float1, float2 float64) bool { + return math.Abs(float1-float2) <= epsilon +} diff --git a/drawing/painter.go b/drawing/painter.go new file mode 100644 index 0000000..1353449 --- /dev/null +++ b/drawing/painter.go @@ -0,0 +1,31 @@ +package drawing + +import ( + "image" + "image/color" + + "golang.org/x/image/draw" + "golang.org/x/image/math/f64" + + "github.com/golang/freetype/raster" +) + +// Painter implements the freetype raster.Painter and has a SetColor method like the RGBAPainter +type Painter interface { + raster.Painter + SetColor(color color.Color) +} + +// DrawImage draws an image into dest using an affine transformation matrix, an op and a filter +func DrawImage(src image.Image, dest draw.Image, tr Matrix, op draw.Op, filter ImageFilter) { + var transformer draw.Transformer + switch filter { + case LinearFilter: + transformer = draw.NearestNeighbor + case BilinearFilter: + transformer = draw.BiLinear + case BicubicFilter: + transformer = draw.CatmullRom + } + transformer.Transform(dest, f64.Aff3{tr[0], tr[1], tr[4], tr[2], tr[3], tr[5]}, src, src.Bounds(), op, nil) +} diff --git a/drawing/path.go b/drawing/path.go new file mode 100644 index 0000000..20f2d2e --- /dev/null +++ b/drawing/path.go @@ -0,0 +1,186 @@ +package drawing + +import ( + "fmt" + "math" +) + +// PathBuilder describes the interface for path drawing. +type PathBuilder interface { + // LastPoint returns the current point of the current sub path + LastPoint() (x, y float64) + // MoveTo creates a new subpath that start at the specified point + MoveTo(x, y float64) + // LineTo adds a line to the current subpath + LineTo(x, y float64) + // QuadCurveTo adds a quadratic Bézier curve to the current subpath + QuadCurveTo(cx, cy, x, y float64) + // CubicCurveTo adds a cubic Bézier curve to the current subpath + CubicCurveTo(cx1, cy1, cx2, cy2, x, y float64) + // ArcTo adds an arc to the current subpath + ArcTo(cx, cy, rx, ry, startAngle, angle float64) + // Close creates a line from the current point to the last MoveTo + // point (if not the same) and mark the path as closed so the + // first and last lines join nicely. + Close() +} + +// PathComponent represents component of a path +type PathComponent int + +const ( + // MoveToComponent is a MoveTo component in a Path + MoveToComponent PathComponent = iota + // LineToComponent is a LineTo component in a Path + LineToComponent + // QuadCurveToComponent is a QuadCurveTo component in a Path + QuadCurveToComponent + // CubicCurveToComponent is a CubicCurveTo component in a Path + CubicCurveToComponent + // ArcToComponent is a ArcTo component in a Path + ArcToComponent + // CloseComponent is a ArcTo component in a Path + CloseComponent +) + +// Path stores points +type Path struct { + // Components is a slice of PathComponent in a Path and mark the role of each points in the Path + Components []PathComponent + // Points are combined with Components to have a specific role in the path + Points []float64 + // Last Point of the Path + x, y float64 +} + +func (p *Path) appendToPath(cmd PathComponent, points ...float64) { + p.Components = append(p.Components, cmd) + p.Points = append(p.Points, points...) +} + +// LastPoint returns the current point of the current path +func (p *Path) LastPoint() (x, y float64) { + return p.x, p.y +} + +// MoveTo starts a new path at (x, y) position +func (p *Path) MoveTo(x, y float64) { + p.appendToPath(MoveToComponent, x, y) + p.x = x + p.y = y +} + +// LineTo adds a line to the current path +func (p *Path) LineTo(x, y float64) { + if len(p.Components) == 0 { //special case when no move has been done + p.MoveTo(0, 0) + } + p.appendToPath(LineToComponent, x, y) + p.x = x + p.y = y +} + +// QuadCurveTo adds a quadratic bezier curve to the current path +func (p *Path) QuadCurveTo(cx, cy, x, y float64) { + if len(p.Components) == 0 { //special case when no move has been done + p.MoveTo(0, 0) + } + p.appendToPath(QuadCurveToComponent, cx, cy, x, y) + p.x = x + p.y = y +} + +// CubicCurveTo adds a cubic bezier curve to the current path +func (p *Path) CubicCurveTo(cx1, cy1, cx2, cy2, x, y float64) { + if len(p.Components) == 0 { //special case when no move has been done + p.MoveTo(0, 0) + } + p.appendToPath(CubicCurveToComponent, cx1, cy1, cx2, cy2, x, y) + p.x = x + p.y = y +} + +// ArcTo adds an arc to the path +func (p *Path) ArcTo(cx, cy, rx, ry, startAngle, delta float64) { + endAngle := startAngle + delta + clockWise := true + if delta < 0 { + clockWise = false + } + // normalize + if clockWise { + for endAngle < startAngle { + endAngle += math.Pi * 2.0 + } + } else { + for startAngle < endAngle { + startAngle += math.Pi * 2.0 + } + } + startX := cx + math.Cos(startAngle)*rx + startY := cy + math.Sin(startAngle)*ry + if len(p.Components) > 0 { + p.LineTo(startX, startY) + } else { + p.MoveTo(startX, startY) + } + p.appendToPath(ArcToComponent, cx, cy, rx, ry, startAngle, delta) + p.x = cx + math.Cos(endAngle)*rx + p.y = cy + math.Sin(endAngle)*ry +} + +// Close closes the current path +func (p *Path) Close() { + p.appendToPath(CloseComponent) +} + +// Copy make a clone of the current path and return it +func (p *Path) Copy() (dest *Path) { + dest = new(Path) + dest.Components = make([]PathComponent, len(p.Components)) + copy(dest.Components, p.Components) + dest.Points = make([]float64, len(p.Points)) + copy(dest.Points, p.Points) + dest.x, dest.y = p.x, p.y + return dest +} + +// Clear reset the path +func (p *Path) Clear() { + p.Components = p.Components[0:0] + p.Points = p.Points[0:0] + return +} + +// IsEmpty returns true if the path is empty +func (p *Path) IsEmpty() bool { + return len(p.Components) == 0 +} + +// String returns a debug text view of the path +func (p *Path) String() string { + s := "" + j := 0 + for _, cmd := range p.Components { + switch cmd { + case MoveToComponent: + s += fmt.Sprintf("MoveTo: %f, %f\n", p.Points[j], p.Points[j+1]) + j = j + 2 + case LineToComponent: + s += fmt.Sprintf("LineTo: %f, %f\n", p.Points[j], p.Points[j+1]) + j = j + 2 + case QuadCurveToComponent: + s += fmt.Sprintf("QuadCurveTo: %f, %f, %f, %f\n", p.Points[j], p.Points[j+1], p.Points[j+2], p.Points[j+3]) + j = j + 4 + case CubicCurveToComponent: + s += fmt.Sprintf("CubicCurveTo: %f, %f, %f, %f, %f, %f\n", p.Points[j], p.Points[j+1], p.Points[j+2], p.Points[j+3], p.Points[j+4], p.Points[j+5]) + j = j + 6 + case ArcToComponent: + s += fmt.Sprintf("ArcTo: %f, %f, %f, %f, %f, %f\n", p.Points[j], p.Points[j+1], p.Points[j+2], p.Points[j+3], p.Points[j+4], p.Points[j+5]) + j = j + 6 + case CloseComponent: + s += "Close\n" + } + } + return s +} diff --git a/drawing/raster_graphic_context.go b/drawing/raster_graphic_context.go new file mode 100644 index 0000000..1ca0c30 --- /dev/null +++ b/drawing/raster_graphic_context.go @@ -0,0 +1,283 @@ +package drawing + +import ( + "errors" + "image" + "image/color" + "math" + + "github.com/golang/freetype/raster" + "github.com/golang/freetype/truetype" + "golang.org/x/image/draw" + "golang.org/x/image/font" + "golang.org/x/image/math/fixed" +) + +// NewRasterGraphicContext creates a new Graphic context from an image. +func NewRasterGraphicContext(img draw.Image) (*RasterGraphicContext, error) { + var painter Painter + switch selectImage := img.(type) { + case *image.RGBA: + painter = raster.NewRGBAPainter(selectImage) + default: + return nil, errors.New("NewRasterGraphicContext() :: invalid image type") + } + return NewRasterGraphicContextWithPainter(img, painter), nil +} + +// NewRasterGraphicContextWithPainter creates a new Graphic context from an image and a Painter (see Freetype-go) +func NewRasterGraphicContextWithPainter(img draw.Image, painter Painter) *RasterGraphicContext { + width, height := img.Bounds().Dx(), img.Bounds().Dy() + return &RasterGraphicContext{ + NewStackGraphicContext(), + img, + painter, + raster.NewRasterizer(width, height), + raster.NewRasterizer(width, height), + &truetype.GlyphBuf{}, + DefaultDPI, + } +} + +// RasterGraphicContext is the implementation of GraphicContext for a raster image +type RasterGraphicContext struct { + *StackGraphicContext + img draw.Image + painter Painter + fillRasterizer *raster.Rasterizer + strokeRasterizer *raster.Rasterizer + glyphBuf *truetype.GlyphBuf + DPI float64 +} + +// SetDPI sets the screen resolution in dots per inch. +func (rgc *RasterGraphicContext) SetDPI(dpi float64) { + rgc.DPI = dpi + rgc.recalc() +} + +// GetDPI returns the resolution of the Image GraphicContext +func (rgc *RasterGraphicContext) GetDPI() float64 { + return rgc.DPI +} + +// Clear fills the current canvas with a default transparent color +func (rgc *RasterGraphicContext) Clear() { + width, height := rgc.img.Bounds().Dx(), rgc.img.Bounds().Dy() + rgc.ClearRect(0, 0, width, height) +} + +// ClearRect fills the current canvas with a default transparent color at the specified rectangle +func (rgc *RasterGraphicContext) ClearRect(x1, y1, x2, y2 int) { + imageColor := image.NewUniform(rgc.current.FillColor) + draw.Draw(rgc.img, image.Rect(x1, y1, x2, y2), imageColor, image.ZP, draw.Over) +} + +// DrawImage draws the raster image in the current canvas +func (rgc *RasterGraphicContext) DrawImage(img image.Image) { + DrawImage(img, rgc.img, rgc.current.Tr, draw.Over, BilinearFilter) +} + +// FillString draws the text at point (0, 0) +func (rgc *RasterGraphicContext) FillString(text string) (cursor float64, err error) { + cursor, err = rgc.FillStringAt(text, 0, 0) + return +} + +// FillStringAt draws the text at the specified point (x, y) +func (rgc *RasterGraphicContext) FillStringAt(text string, x, y float64) (cursor float64, err error) { + cursor, err = rgc.CreateStringPath(text, x, y) + rgc.Fill() + return +} + +// StrokeString draws the contour of the text at point (0, 0) +func (rgc *RasterGraphicContext) StrokeString(text string) (cursor float64, err error) { + cursor, err = rgc.StrokeStringAt(text, 0, 0) + return +} + +// StrokeStringAt draws the contour of the text at point (x, y) +func (rgc *RasterGraphicContext) StrokeStringAt(text string, x, y float64) (cursor float64, err error) { + cursor, err = rgc.CreateStringPath(text, x, y) + rgc.Stroke() + return +} + +func (rgc *RasterGraphicContext) drawGlyph(glyph truetype.Index, dx, dy float64) error { + if err := rgc.glyphBuf.Load(rgc.current.Font, fixed.Int26_6(rgc.current.Scale), glyph, font.HintingNone); err != nil { + return err + } + e0 := 0 + for _, e1 := range rgc.glyphBuf.Ends { + DrawContour(rgc, rgc.glyphBuf.Points[e0:e1], dx, dy) + e0 = e1 + } + return nil +} + +// CreateStringPath creates a path from the string s at x, y, and returns the string width. +// The text is placed so that the left edge of the em square of the first character of s +// and the baseline intersect at x, y. The majority of the affected pixels will be +// above and to the right of the point, but some may be below or to the left. +// For example, drawing a string that starts with a 'J' in an italic font may +// affect pixels below and left of the point. +func (rgc *RasterGraphicContext) CreateStringPath(s string, x, y float64) (cursor float64, err error) { + f := rgc.GetFont() + if f == nil { + err = errors.New("No font loaded, cannot continue") + return + } + rgc.recalc() + + startx := x + prev, hasPrev := truetype.Index(0), false + for _, rc := range s { + index := f.Index(rc) + if hasPrev { + x += fUnitsToFloat64(f.Kern(fixed.Int26_6(rgc.current.Scale), prev, index)) + } + err = rgc.drawGlyph(index, x, y) + if err != nil { + cursor = x - startx + return + } + x += fUnitsToFloat64(f.HMetric(fixed.Int26_6(rgc.current.Scale), index).AdvanceWidth) + prev, hasPrev = index, true + } + cursor = x - startx + return +} + +// GetStringBounds returns the approximate pixel bounds of a string. +func (rgc *RasterGraphicContext) GetStringBounds(s string) (left, top, right, bottom float64, err error) { + f := rgc.GetFont() + if f == nil { + err = errors.New("No font loaded, cannot continue") + return + } + rgc.recalc() + + left = math.MaxFloat64 + top = math.MaxFloat64 + + cursor := 0.0 + prev, hasPrev := truetype.Index(0), false + for _, rc := range s { + index := f.Index(rc) + if hasPrev { + cursor += fUnitsToFloat64(f.Kern(fixed.Int26_6(rgc.current.Scale), prev, index)) + } + + if err = rgc.glyphBuf.Load(rgc.current.Font, fixed.Int26_6(rgc.current.Scale), index, font.HintingNone); err != nil { + return + } + e0 := 0 + for _, e1 := range rgc.glyphBuf.Ends { + ps := rgc.glyphBuf.Points[e0:e1] + for _, p := range ps { + x, y := pointToF64Point(p) + top = math.Min(top, y) + bottom = math.Max(bottom, y) + left = math.Min(left, x+cursor) + right = math.Max(right, x+cursor) + } + e0 = e1 + } + cursor += fUnitsToFloat64(f.HMetric(fixed.Int26_6(rgc.current.Scale), index).AdvanceWidth) + prev, hasPrev = index, true + } + return +} + +// recalc recalculates scale and bounds values from the font size, screen +// resolution and font metrics, and invalidates the glyph cache. +func (rgc *RasterGraphicContext) recalc() { + rgc.current.Scale = rgc.current.FontSizePoints * float64(rgc.DPI) +} + +// SetFont sets the font used to draw text. +func (rgc *RasterGraphicContext) SetFont(font *truetype.Font) { + rgc.current.Font = font +} + +// GetFont returns the font used to draw text. +func (rgc *RasterGraphicContext) GetFont() *truetype.Font { + return rgc.current.Font +} + +// SetFontSize sets the font size in points (as in ``a 12 point font''). +func (rgc *RasterGraphicContext) SetFontSize(fontSizePoints float64) { + rgc.current.FontSizePoints = fontSizePoints + rgc.recalc() +} + +func (rgc *RasterGraphicContext) paint(rasterizer *raster.Rasterizer, color color.Color) { + rgc.painter.SetColor(color) + rasterizer.Rasterize(rgc.painter) + rasterizer.Clear() + rgc.current.Path.Clear() +} + +// Stroke strokes the paths with the color specified by SetStrokeColor +func (rgc *RasterGraphicContext) Stroke(paths ...*Path) { + paths = append(paths, rgc.current.Path) + rgc.strokeRasterizer.UseNonZeroWinding = true + + stroker := NewLineStroker(rgc.current.Cap, rgc.current.Join, Transformer{Tr: rgc.current.Tr, Flattener: FtLineBuilder{Adder: rgc.strokeRasterizer}}) + stroker.HalfLineWidth = rgc.current.LineWidth / 2 + + var liner Flattener + if rgc.current.Dash != nil && len(rgc.current.Dash) > 0 { + liner = NewDashVertexConverter(rgc.current.Dash, rgc.current.DashOffset, stroker) + } else { + liner = stroker + } + for _, p := range paths { + Flatten(p, liner, rgc.current.Tr.GetScale()) + } + + rgc.paint(rgc.strokeRasterizer, rgc.current.StrokeColor) +} + +// Fill fills the paths with the color specified by SetFillColor +func (rgc *RasterGraphicContext) Fill(paths ...*Path) { + paths = append(paths, rgc.current.Path) + rgc.fillRasterizer.UseNonZeroWinding = rgc.current.FillRule == FillRuleWinding + + flattener := Transformer{Tr: rgc.current.Tr, Flattener: FtLineBuilder{Adder: rgc.fillRasterizer}} + for _, p := range paths { + Flatten(p, flattener, rgc.current.Tr.GetScale()) + } + + rgc.paint(rgc.fillRasterizer, rgc.current.FillColor) +} + +// FillStroke first fills the paths and than strokes them +func (rgc *RasterGraphicContext) FillStroke(paths ...*Path) { + paths = append(paths, rgc.current.Path) + rgc.fillRasterizer.UseNonZeroWinding = rgc.current.FillRule == FillRuleWinding + rgc.strokeRasterizer.UseNonZeroWinding = true + + flattener := Transformer{Tr: rgc.current.Tr, Flattener: FtLineBuilder{Adder: rgc.fillRasterizer}} + + stroker := NewLineStroker(rgc.current.Cap, rgc.current.Join, Transformer{Tr: rgc.current.Tr, Flattener: FtLineBuilder{Adder: rgc.strokeRasterizer}}) + stroker.HalfLineWidth = rgc.current.LineWidth / 2 + + var liner Flattener + if rgc.current.Dash != nil && len(rgc.current.Dash) > 0 { + liner = NewDashVertexConverter(rgc.current.Dash, rgc.current.DashOffset, stroker) + } else { + liner = stroker + } + + demux := DemuxFlattener{Flatteners: []Flattener{flattener, liner}} + for _, p := range paths { + Flatten(p, demux, rgc.current.Tr.GetScale()) + } + + // Fill + rgc.paint(rgc.fillRasterizer, rgc.current.FillColor) + // Stroke + rgc.paint(rgc.strokeRasterizer, rgc.current.StrokeColor) +} diff --git a/drawing/stack_graphic_context.go b/drawing/stack_graphic_context.go new file mode 100644 index 0000000..c3243c9 --- /dev/null +++ b/drawing/stack_graphic_context.go @@ -0,0 +1,211 @@ +package drawing + +import ( + "image" + "image/color" + + "github.com/golang/freetype/truetype" +) + +// StackGraphicContext is a context that does thngs. +type StackGraphicContext struct { + current *ContextStack +} + +// ContextStack is a graphic context implementation. +type ContextStack struct { + Tr Matrix + Path *Path + LineWidth float64 + Dash []float64 + DashOffset float64 + StrokeColor color.Color + FillColor color.Color + FillRule FillRule + Cap LineCap + Join LineJoin + + FontSizePoints float64 + Font *truetype.Font + + Scale float64 + + Previous *ContextStack +} + +// NewStackGraphicContext Create a new Graphic context from an image +func NewStackGraphicContext() *StackGraphicContext { + gc := &StackGraphicContext{} + gc.current = new(ContextStack) + gc.current.Tr = NewIdentityMatrix() + gc.current.Path = new(Path) + gc.current.LineWidth = 1.0 + gc.current.StrokeColor = image.Black + gc.current.FillColor = image.White + gc.current.Cap = RoundCap + gc.current.FillRule = FillRuleEvenOdd + gc.current.Join = RoundJoin + gc.current.FontSizePoints = 10 + return gc +} + +// GetMatrixTransform returns the matrix transform. +func (gc *StackGraphicContext) GetMatrixTransform() Matrix { + return gc.current.Tr +} + +// SetMatrixTransform sets the matrix transform. +func (gc *StackGraphicContext) SetMatrixTransform(tr Matrix) { + gc.current.Tr = tr +} + +// ComposeMatrixTransform composes a transform into the current transform. +func (gc *StackGraphicContext) ComposeMatrixTransform(tr Matrix) { + gc.current.Tr.Compose(tr) +} + +// Rotate rotates the matrix transform by an angle in degrees. +func (gc *StackGraphicContext) Rotate(angle float64) { + gc.current.Tr.Rotate(angle) +} + +// Translate translates a transform. +func (gc *StackGraphicContext) Translate(tx, ty float64) { + gc.current.Tr.Translate(tx, ty) +} + +// Scale scales a transform. +func (gc *StackGraphicContext) Scale(sx, sy float64) { + gc.current.Tr.Scale(sx, sy) +} + +// SetStrokeColor sets the stroke color. +func (gc *StackGraphicContext) SetStrokeColor(c color.Color) { + gc.current.StrokeColor = c +} + +// SetFillColor sets the fill color. +func (gc *StackGraphicContext) SetFillColor(c color.Color) { + gc.current.FillColor = c +} + +// SetFillRule sets the fill rule. +func (gc *StackGraphicContext) SetFillRule(f FillRule) { + gc.current.FillRule = f +} + +// SetLineWidth sets the line width. +func (gc *StackGraphicContext) SetLineWidth(lineWidth float64) { + gc.current.LineWidth = lineWidth +} + +// SetLineCap sets the line cap. +func (gc *StackGraphicContext) SetLineCap(cap LineCap) { + gc.current.Cap = cap +} + +// SetLineJoin sets the line join. +func (gc *StackGraphicContext) SetLineJoin(join LineJoin) { + gc.current.Join = join +} + +// SetLineDash sets the line dash. +func (gc *StackGraphicContext) SetLineDash(dash []float64, dashOffset float64) { + gc.current.Dash = dash + gc.current.DashOffset = dashOffset +} + +// SetFontSize sets the font size. +func (gc *StackGraphicContext) SetFontSize(fontSizePoints float64) { + gc.current.FontSizePoints = fontSizePoints +} + +// GetFontSize gets the font size. +func (gc *StackGraphicContext) GetFontSize() float64 { + return gc.current.FontSizePoints +} + +// SetFont sets the current font. +func (gc *StackGraphicContext) SetFont(f *truetype.Font) { + gc.current.Font = f +} + +// GetFont returns the font. +func (gc *StackGraphicContext) GetFont() *truetype.Font { + return gc.current.Font +} + +// BeginPath starts a new path. +func (gc *StackGraphicContext) BeginPath() { + gc.current.Path.Clear() +} + +// IsEmpty returns if the path is empty. +func (gc *StackGraphicContext) IsEmpty() bool { + return gc.current.Path.IsEmpty() +} + +// LastPoint returns the last point on the path. +func (gc *StackGraphicContext) LastPoint() (x float64, y float64) { + return gc.current.Path.LastPoint() +} + +// MoveTo moves the cursor for a path. +func (gc *StackGraphicContext) MoveTo(x, y float64) { + gc.current.Path.MoveTo(x, y) +} + +// LineTo draws a line. +func (gc *StackGraphicContext) LineTo(x, y float64) { + gc.current.Path.LineTo(x, y) +} + +// QuadCurveTo draws a quad curve. +func (gc *StackGraphicContext) QuadCurveTo(cx, cy, x, y float64) { + gc.current.Path.QuadCurveTo(cx, cy, x, y) +} + +// CubicCurveTo draws a cubic curve. +func (gc *StackGraphicContext) CubicCurveTo(cx1, cy1, cx2, cy2, x, y float64) { + gc.current.Path.CubicCurveTo(cx1, cy1, cx2, cy2, x, y) +} + +// ArcTo draws an arc. +func (gc *StackGraphicContext) ArcTo(cx, cy, rx, ry, startAngle, delta float64) { + gc.current.Path.ArcTo(cx, cy, rx, ry, startAngle, delta) +} + +// Close closes a path. +func (gc *StackGraphicContext) Close() { + gc.current.Path.Close() +} + +// Save pushes a context onto the stack. +func (gc *StackGraphicContext) Save() { + context := new(ContextStack) + context.FontSizePoints = gc.current.FontSizePoints + context.Font = gc.current.Font + context.LineWidth = gc.current.LineWidth + context.StrokeColor = gc.current.StrokeColor + context.FillColor = gc.current.FillColor + context.FillRule = gc.current.FillRule + context.Dash = gc.current.Dash + context.DashOffset = gc.current.DashOffset + context.Cap = gc.current.Cap + context.Join = gc.current.Join + context.Path = gc.current.Path.Copy() + context.Font = gc.current.Font + context.Scale = gc.current.Scale + copy(context.Tr[:], gc.current.Tr[:]) + context.Previous = gc.current + gc.current = context +} + +// Restore restores the previous context. +func (gc *StackGraphicContext) Restore() { + if gc.current.Previous != nil { + oldContext := gc.current + gc.current = gc.current.Previous + oldContext.Previous = nil + } +} diff --git a/drawing/stroker.go b/drawing/stroker.go new file mode 100644 index 0000000..e3ae070 --- /dev/null +++ b/drawing/stroker.go @@ -0,0 +1,85 @@ +// Copyright 2010 The draw2d Authors. All rights reserved. +// created: 13/12/2010 by Laurent Le Goff + +package drawing + +// NewLineStroker creates a new line stroker. +func NewLineStroker(c LineCap, j LineJoin, flattener Flattener) *LineStroker { + l := new(LineStroker) + l.Flattener = flattener + l.HalfLineWidth = 0.5 + l.Cap = c + l.Join = j + return l +} + +// LineStroker draws the stroke portion of a line. +type LineStroker struct { + Flattener Flattener + HalfLineWidth float64 + Cap LineCap + Join LineJoin + vertices []float64 + rewind []float64 + x, y, nx, ny float64 +} + +// MoveTo implements the path builder interface. +func (l *LineStroker) MoveTo(x, y float64) { + l.x, l.y = x, y +} + +// LineTo implements the path builder interface. +func (l *LineStroker) LineTo(x, y float64) { + l.line(l.x, l.y, x, y) +} + +// LineJoin implements the path builder interface. +func (l *LineStroker) LineJoin() {} + +func (l *LineStroker) line(x1, y1, x2, y2 float64) { + dx := (x2 - x1) + dy := (y2 - y1) + d := vectorDistance(dx, dy) + if d != 0 { + nx := dy * l.HalfLineWidth / d + ny := -(dx * l.HalfLineWidth / d) + l.appendVertex(x1+nx, y1+ny, x2+nx, y2+ny, x1-nx, y1-ny, x2-nx, y2-ny) + l.x, l.y, l.nx, l.ny = x2, y2, nx, ny + } +} + +// Close implements the path builder interface. +func (l *LineStroker) Close() { + if len(l.vertices) > 1 { + l.appendVertex(l.vertices[0], l.vertices[1], l.rewind[0], l.rewind[1]) + } +} + +// End implements the path builder interface. +func (l *LineStroker) End() { + if len(l.vertices) > 1 { + l.Flattener.MoveTo(l.vertices[0], l.vertices[1]) + for i, j := 2, 3; j < len(l.vertices); i, j = i+2, j+2 { + l.Flattener.LineTo(l.vertices[i], l.vertices[j]) + } + } + for i, j := len(l.rewind)-2, len(l.rewind)-1; j > 0; i, j = i-2, j-2 { + l.Flattener.LineTo(l.rewind[i], l.rewind[j]) + } + if len(l.vertices) > 1 { + l.Flattener.LineTo(l.vertices[0], l.vertices[1]) + } + l.Flattener.End() + // reinit vertices + l.vertices = l.vertices[0:0] + l.rewind = l.rewind[0:0] + l.x, l.y, l.nx, l.ny = 0, 0, 0, 0 + +} + +func (l *LineStroker) appendVertex(vertices ...float64) { + s := len(vertices) / 2 + l.vertices = append(l.vertices, vertices[:s]...) + l.rewind = append(l.rewind, vertices[s:]...) +} diff --git a/drawing/text.go b/drawing/text.go new file mode 100644 index 0000000..d7ff5c2 --- /dev/null +++ b/drawing/text.go @@ -0,0 +1,67 @@ +package drawing + +import ( + "github.com/golang/freetype/truetype" + "golang.org/x/image/math/fixed" +) + +// DrawContour draws the given closed contour at the given sub-pixel offset. +func DrawContour(path PathBuilder, ps []truetype.Point, dx, dy float64) { + if len(ps) == 0 { + return + } + startX, startY := pointToF64Point(ps[0]) + path.MoveTo(startX+dx, startY+dy) + q0X, q0Y, on0 := startX, startY, true + for _, p := range ps[1:] { + qX, qY := pointToF64Point(p) + on := p.Flags&0x01 != 0 + if on { + if on0 { + path.LineTo(qX+dx, qY+dy) + } else { + path.QuadCurveTo(q0X+dx, q0Y+dy, qX+dx, qY+dy) + } + } else if !on0 { + midX := (q0X + qX) / 2 + midY := (q0Y + qY) / 2 + path.QuadCurveTo(q0X+dx, q0Y+dy, midX+dx, midY+dy) + } + q0X, q0Y, on0 = qX, qY, on + } + // Close the curve. + if on0 { + path.LineTo(startX+dx, startY+dy) + } else { + path.QuadCurveTo(q0X+dx, q0Y+dy, startX+dx, startY+dy) + } +} + +// FontExtents contains font metric information. +type FontExtents struct { + // Ascent is the distance that the text + // extends above the baseline. + Ascent float64 + + // Descent is the distance that the text + // extends below the baseline. The descent + // is given as a negative value. + Descent float64 + + // Height is the distance from the lowest + // descending point to the highest ascending + // point. + Height float64 +} + +// Extents returns the FontExtents for a font. +// TODO needs to read this https://developer.apple.com/fonts/TrueType-Reference-Manual/RM02/Chap2.html#intro +func Extents(font *truetype.Font, size float64) FontExtents { + bounds := font.Bounds(fixed.Int26_6(font.FUnitsPerEm())) + scale := size / float64(font.FUnitsPerEm()) + return FontExtents{ + Ascent: float64(bounds.Max.Y) * scale, + Descent: float64(bounds.Min.Y) * scale, + Height: float64(bounds.Max.Y-bounds.Min.Y) * scale, + } +} diff --git a/drawing/transformer.go b/drawing/transformer.go new file mode 100644 index 0000000..4e31720 --- /dev/null +++ b/drawing/transformer.go @@ -0,0 +1,39 @@ +// Copyright 2010 The draw2d Authors. All rights reserved. +// created: 13/12/2010 by Laurent Le Goff + +package drawing + +// Transformer apply the Matrix transformation tr +type Transformer struct { + Tr Matrix + Flattener Flattener +} + +// MoveTo implements the path builder interface. +func (t Transformer) MoveTo(x, y float64) { + u := x*t.Tr[0] + y*t.Tr[2] + t.Tr[4] + v := x*t.Tr[1] + y*t.Tr[3] + t.Tr[5] + t.Flattener.MoveTo(u, v) +} + +// LineTo implements the path builder interface. +func (t Transformer) LineTo(x, y float64) { + u := x*t.Tr[0] + y*t.Tr[2] + t.Tr[4] + v := x*t.Tr[1] + y*t.Tr[3] + t.Tr[5] + t.Flattener.LineTo(u, v) +} + +// LineJoin implements the path builder interface. +func (t Transformer) LineJoin() { + t.Flattener.LineJoin() +} + +// Close implements the path builder interface. +func (t Transformer) Close() { + t.Flattener.Close() +} + +// End implements the path builder interface. +func (t Transformer) End() { + t.Flattener.End() +} diff --git a/drawing/util.go b/drawing/util.go new file mode 100644 index 0000000..1eba3ff --- /dev/null +++ b/drawing/util.go @@ -0,0 +1,68 @@ +package drawing + +import ( + "math" + + "golang.org/x/image/math/fixed" + + "github.com/golang/freetype/raster" + "github.com/golang/freetype/truetype" +) + +// PixelsToPoints returns the points for a given number of pixels at a DPI. +func PixelsToPoints(dpi, pixels float64) (points float64) { + points = (pixels * 72.0) / dpi + return +} + +// PointsToPixels returns the pixels for a given number of points at a DPI. +func PointsToPixels(dpi, points float64) (pixels float64) { + pixels = (points * dpi) / 72.0 + return +} + +func abs(i int) int { + if i < 0 { + return -i + } + return i +} + +func distance(x1, y1, x2, y2 float64) float64 { + return vectorDistance(x2-x1, y2-y1) +} + +func vectorDistance(dx, dy float64) float64 { + return float64(math.Sqrt(dx*dx + dy*dy)) +} + +func toFtCap(c LineCap) raster.Capper { + switch c { + case RoundCap: + return raster.RoundCapper + case ButtCap: + return raster.ButtCapper + case SquareCap: + return raster.SquareCapper + } + return raster.RoundCapper +} + +func toFtJoin(j LineJoin) raster.Joiner { + switch j { + case RoundJoin: + return raster.RoundJoiner + case BevelJoin: + return raster.BevelJoiner + } + return raster.RoundJoiner +} + +func pointToF64Point(p truetype.Point) (x, y float64) { + return fUnitsToFloat64(p.X), -fUnitsToFloat64(p.Y) +} + +func fUnitsToFloat64(x fixed.Int26_6) float64 { + scaled := x << 2 + return float64(scaled/256) + float64(scaled%256)/256.0 +} diff --git a/ema_series.go b/ema_series.go new file mode 100644 index 0000000..44415b5 --- /dev/null +++ b/ema_series.go @@ -0,0 +1,131 @@ +package chart + +import "fmt" + +const ( + // DefaultEMAPeriod is the default EMA period used in the sigma calculation. + DefaultEMAPeriod = 12 +) + +// Interface Assertions. +var ( + _ Series = (*EMASeries)(nil) + _ FirstValuesProvider = (*EMASeries)(nil) + _ LastValuesProvider = (*EMASeries)(nil) +) + +// EMASeries is a computed series. +type EMASeries struct { + Name string + Style Style + YAxis YAxisType + + Period int + InnerSeries ValuesProvider + + cache []float64 +} + +// GetName returns the name of the time series. +func (ema EMASeries) GetName() string { + return ema.Name +} + +// GetStyle returns the line style. +func (ema EMASeries) GetStyle() Style { + return ema.Style +} + +// GetYAxis returns which YAxis the series draws on. +func (ema EMASeries) GetYAxis() YAxisType { + return ema.YAxis +} + +// GetPeriod returns the window size. +func (ema EMASeries) GetPeriod() int { + if ema.Period == 0 { + return DefaultEMAPeriod + } + return ema.Period +} + +// Len returns the number of elements in the series. +func (ema EMASeries) Len() int { + return ema.InnerSeries.Len() +} + +// GetSigma returns the smoothing factor for the serise. +func (ema EMASeries) GetSigma() float64 { + return 2.0 / (float64(ema.GetPeriod()) + 1) +} + +// GetValues gets a value at a given index. +func (ema *EMASeries) GetValues(index int) (x, y float64) { + if ema.InnerSeries == nil { + return + } + if len(ema.cache) == 0 { + ema.ensureCachedValues() + } + vx, _ := ema.InnerSeries.GetValues(index) + x = vx + y = ema.cache[index] + return +} + +// GetFirstValues computes the first moving average value. +func (ema *EMASeries) GetFirstValues() (x, y float64) { + if ema.InnerSeries == nil { + return + } + if len(ema.cache) == 0 { + ema.ensureCachedValues() + } + x, _ = ema.InnerSeries.GetValues(0) + y = ema.cache[0] + return +} + +// GetLastValues computes the last moving average value but walking back window size samples, +// and recomputing the last moving average chunk. +func (ema *EMASeries) GetLastValues() (x, y float64) { + if ema.InnerSeries == nil { + return + } + if len(ema.cache) == 0 { + ema.ensureCachedValues() + } + lastIndex := ema.InnerSeries.Len() - 1 + x, _ = ema.InnerSeries.GetValues(lastIndex) + y = ema.cache[lastIndex] + return +} + +func (ema *EMASeries) ensureCachedValues() { + seriesLength := ema.InnerSeries.Len() + ema.cache = make([]float64, seriesLength) + sigma := ema.GetSigma() + for x := 0; x < seriesLength; x++ { + _, y := ema.InnerSeries.GetValues(x) + if x == 0 { + ema.cache[x] = y + continue + } + previousEMA := ema.cache[x-1] + ema.cache[x] = ((y - previousEMA) * sigma) + previousEMA + } +} + +// Render renders the series. +func (ema *EMASeries) Render(r Renderer, canvasBox Box, xrange, yrange Range, defaults Style) { + style := ema.Style.InheritFrom(defaults) + Draw.LineSeries(r, canvasBox, xrange, yrange, style, ema) +} + +// Validate validates the series. +func (ema *EMASeries) Validate() error { + if ema.InnerSeries == nil { + return fmt.Errorf("ema series requires InnerSeries to be set") + } + return nil +} diff --git a/ema_series_test.go b/ema_series_test.go new file mode 100644 index 0000000..184319b --- /dev/null +++ b/ema_series_test.go @@ -0,0 +1,105 @@ +package chart + +import ( + "testing" + + "github.com/wcharczuk/go-chart/v2/testutil" +) + +var ( + emaXValues = LinearRange(1.0, 50.0) + emaYValues = []float64{ + 1, 2, 3, 4, 5, 4, 3, 2, + 1, 2, 3, 4, 5, 4, 3, 2, + 1, 2, 3, 4, 5, 4, 3, 2, + 1, 2, 3, 4, 5, 4, 3, 2, + 1, 2, 3, 4, 5, 4, 3, 2, + 1, 2, 3, 4, 5, 4, 3, 2, + 1, 2, + } + emaExpected = []float64{ + 1, + 1.074074074, + 1.216735254, + 1.422903013, + 1.68787316, + 1.859141815, + 1.943649828, + 1.947823915, + 1.877614736, + 1.886680311, + 1.969148437, + 2.119581886, + 2.33294619, + 2.456431658, + 2.496695979, + 2.459903685, + 2.351762671, + 2.325706177, + 2.375653867, + 2.495975803, + 2.681459077, + 2.779128775, + 2.795489607, + 2.73656445, + 2.607930047, + 2.562898191, + 2.595276103, + 2.699329725, + 2.869749746, + 2.953471987, + 2.956918506, + 2.886035654, + 2.746329309, + 2.691045657, + 2.713931163, + 2.809195522, + 2.971477335, + 3.047664199, + 3.044133518, + 2.966790294, + 2.821102124, + 2.760279745, + 2.778036801, + 2.868552593, + 3.026437586, + 3.098553321, + 3.091253075, + 3.010419514, + 2.86149955, + 2.797684768, + } + emaDelta = 0.0001 +) + +func TestEMASeries(t *testing.T) { + // replaced new assertions helper + + mockSeries := mockValuesProvider{ + emaXValues, + emaYValues, + } + testutil.AssertEqual(t, 50, mockSeries.Len()) + + ema := &EMASeries{ + InnerSeries: mockSeries, + Period: 26, + } + + sig := ema.GetSigma() + testutil.AssertEqual(t, 2.0/(26.0+1), sig) + + var yvalues []float64 + for x := 0; x < ema.Len(); x++ { + _, y := ema.GetValues(x) + yvalues = append(yvalues, y) + } + + for index, yv := range yvalues { + testutil.AssertInDelta(t, yv, emaExpected[index], emaDelta) + } + + lvx, lvy := ema.GetLastValues() + testutil.AssertEqual(t, 50.0, lvx) + testutil.AssertInDelta(t, lvy, emaExpected[49], emaDelta) +} diff --git a/examples/annotations/main.go b/examples/annotations/main.go new file mode 100644 index 0000000..20bf01f --- /dev/null +++ b/examples/annotations/main.go @@ -0,0 +1,44 @@ +package main + +//go:generate go run main.go + +import ( + "os" + + "github.com/wcharczuk/go-chart/v2" +) + +func main() { + /* + In this example we add an `Annotation` series, which is a special type of series that + draws annotation labels at given X and Y values (as translated by their respective ranges). + + It is important to not that the chart automatically sizes the canvas box to fit the annotations, + As well as automatically assign a series color for the `Stroke` or border component of the series. + + The annotation series is most often used by the original author to show the last value of another series, but + they can be used in other capacities as well. + */ + + graph := chart.Chart{ + Series: []chart.Series{ + chart.ContinuousSeries{ + XValues: []float64{1.0, 2.0, 3.0, 4.0, 5.0}, + YValues: []float64{1.0, 2.0, 3.0, 4.0, 5.0}, + }, + chart.AnnotationSeries{ + Annotations: []chart.Value2{ + {XValue: 1.0, YValue: 1.0, Label: "One"}, + {XValue: 2.0, YValue: 2.0, Label: "Two"}, + {XValue: 3.0, YValue: 3.0, Label: "Three"}, + {XValue: 4.0, YValue: 4.0, Label: "Four"}, + {XValue: 5.0, YValue: 5.0, Label: "Five"}, + }, + }, + }, + } + + f, _ := os.Create("output.png") + defer f.Close() + graph.Render(chart.PNG, f) +} diff --git a/examples/annotations/output.png b/examples/annotations/output.png new file mode 100644 index 0000000..3127025 Binary files /dev/null and b/examples/annotations/output.png differ diff --git a/examples/axes/main.go b/examples/axes/main.go new file mode 100644 index 0000000..a675bde --- /dev/null +++ b/examples/axes/main.go @@ -0,0 +1,34 @@ +package main + +//go:generate go run main.go + +import ( + "os" + + chart "github.com/wcharczuk/go-chart/v2" +) + +func main() { + + /* + The below will draw the same chart as the `basic` example, except with both the x and y axes turned on. + In this case, both the x and y axis ticks are generated automatically, the x and y ranges are established automatically, the canvas "box" is adjusted to fit the space the axes occupy so as not to clip. + */ + + graph := chart.Chart{ + Series: []chart.Series{ + chart.ContinuousSeries{ + Style: chart.Style{ + StrokeColor: chart.GetDefaultColor(0).WithAlpha(64), + FillColor: chart.GetDefaultColor(0).WithAlpha(64), + }, + XValues: []float64{1.0, 2.0, 3.0, 4.0, 5.0}, + YValues: []float64{1.0, 2.0, 3.0, 4.0, 5.0}, + }, + }, + } + + f, _ := os.Create("output.png") + defer f.Close() + graph.Render(chart.PNG, f) +} diff --git a/examples/axes/output.png b/examples/axes/output.png new file mode 100644 index 0000000..9a16db0 Binary files /dev/null and b/examples/axes/output.png differ diff --git a/examples/axes_labels/main.go b/examples/axes_labels/main.go new file mode 100644 index 0000000..a68ac34 --- /dev/null +++ b/examples/axes_labels/main.go @@ -0,0 +1,40 @@ +package main + +//go:generate go run main.go + +import ( + "os" + + chart "github.com/wcharczuk/go-chart/v2" +) + +func main() { + + /* + The below will draw the same chart as the `basic` example, except with both the x and y axes turned on. + In this case, both the x and y axis ticks are generated automatically, the x and y ranges are established automatically, the canvas "box" is adjusted to fit the space the axes occupy so as not to clip. + */ + + graph := chart.Chart{ + XAxis: chart.XAxis{ + Name: "The XAxis", + }, + YAxis: chart.YAxis{ + Name: "The YAxis", + }, + Series: []chart.Series{ + chart.ContinuousSeries{ + Style: chart.Style{ + StrokeColor: chart.GetDefaultColor(0).WithAlpha(64), + FillColor: chart.GetDefaultColor(0).WithAlpha(64), + }, + XValues: []float64{1.0, 2.0, 3.0, 4.0, 5.0}, + YValues: []float64{1.0, 2.0, 3.0, 4.0, 5.0}, + }, + }, + } + + f, _ := os.Create("output.png") + defer f.Close() + graph.Render(chart.PNG, f) +} diff --git a/examples/axes_labels/output.png b/examples/axes_labels/output.png new file mode 100644 index 0000000..5ca998a Binary files /dev/null and b/examples/axes_labels/output.png differ diff --git a/examples/bar_chart/main.go b/examples/bar_chart/main.go new file mode 100644 index 0000000..2a7895f --- /dev/null +++ b/examples/bar_chart/main.go @@ -0,0 +1,35 @@ +package main + +//go:generate go run main.go + +import ( + "os" + + "github.com/wcharczuk/go-chart/v2" +) + +func main() { + graph := chart.BarChart{ + Title: "Test Bar Chart", + Background: chart.Style{ + Padding: chart.Box{ + Top: 40, + }, + }, + Height: 512, + BarWidth: 60, + Bars: []chart.Value{ + {Value: 5.25, Label: "Blue"}, + {Value: 4.88, Label: "Green"}, + {Value: 4.74, Label: "Gray"}, + {Value: 3.22, Label: "Orange"}, + {Value: 3, Label: "Test"}, + {Value: 2.27, Label: "??"}, + {Value: 1, Label: "!!"}, + }, + } + + f, _ := os.Create("output.png") + defer f.Close() + graph.Render(chart.PNG, f) +} diff --git a/examples/bar_chart/output.png b/examples/bar_chart/output.png new file mode 100644 index 0000000..321a341 Binary files /dev/null and b/examples/bar_chart/output.png differ diff --git a/examples/bar_chart_base_value/main.go b/examples/bar_chart_base_value/main.go new file mode 100644 index 0000000..f17b6b8 --- /dev/null +++ b/examples/bar_chart_base_value/main.go @@ -0,0 +1,62 @@ +package main + +//go:generate go run main.go + +import ( + "os" + + "github.com/wcharczuk/go-chart/v2" + "github.com/wcharczuk/go-chart/v2/drawing" +) + +func main() { + profitStyle := chart.Style{ + FillColor: drawing.ColorFromHex("13c158"), + StrokeColor: drawing.ColorFromHex("13c158"), + StrokeWidth: 0, + } + + lossStyle := chart.Style{ + FillColor: drawing.ColorFromHex("c11313"), + StrokeColor: drawing.ColorFromHex("c11313"), + StrokeWidth: 0, + } + + sbc := chart.BarChart{ + Title: "Bar Chart Using BaseValue", + Background: chart.Style{ + Padding: chart.Box{ + Top: 40, + }, + }, + Height: 512, + BarWidth: 60, + YAxis: chart.YAxis{ + Ticks: []chart.Tick{ + {Value: -4.0, Label: "-4"}, + {Value: -2.0, Label: "-2"}, + {Value: 0, Label: "0"}, + {Value: 2.0, Label: "2"}, + {Value: 4.0, Label: "4"}, + {Value: 6.0, Label: "6"}, + {Value: 8.0, Label: "8"}, + {Value: 10.0, Label: "10"}, + {Value: 12.0, Label: "12"}, + }, + }, + UseBaseValue: true, + BaseValue: 0.0, + Bars: []chart.Value{ + {Value: 10.0, Style: profitStyle, Label: "Profit"}, + {Value: 12.0, Style: profitStyle, Label: "More Profit"}, + {Value: 8.0, Style: profitStyle, Label: "Still Profit"}, + {Value: -4.0, Style: lossStyle, Label: "Loss!"}, + {Value: 3.0, Style: profitStyle, Label: "Phew Ok"}, + {Value: -2.0, Style: lossStyle, Label: "Oh No!"}, + }, + } + + f, _ := os.Create("output.png") + defer f.Close() + sbc.Render(chart.PNG, f) +} diff --git a/examples/bar_chart_base_value/output.png b/examples/bar_chart_base_value/output.png new file mode 100644 index 0000000..94231c8 Binary files /dev/null and b/examples/bar_chart_base_value/output.png differ diff --git a/examples/basic/main.go b/examples/basic/main.go new file mode 100644 index 0000000..aeca5a8 --- /dev/null +++ b/examples/basic/main.go @@ -0,0 +1,23 @@ +package main + +//go:generate go run main.go + +import ( + "os" + + "github.com/wcharczuk/go-chart/v2" +) + +func main() { + graph := chart.Chart{ + Series: []chart.Series{ + chart.ContinuousSeries{ + XValues: []float64{1.0, 2.0, 3.0, 4.0, 5.0}, + YValues: []float64{1.0, 2.0, 3.0, 4.0, 5.0}, + }, + }, + } + f, _ := os.Create("output.png") + defer f.Close() + graph.Render(chart.PNG, f) +} diff --git a/examples/basic/output.png b/examples/basic/output.png new file mode 100644 index 0000000..fa0573a Binary files /dev/null and b/examples/basic/output.png differ diff --git a/examples/benchmark_line_charts/main.go b/examples/benchmark_line_charts/main.go new file mode 100644 index 0000000..1a70417 --- /dev/null +++ b/examples/benchmark_line_charts/main.go @@ -0,0 +1,52 @@ +package main + +//go:generate go run main.go + +import ( + "fmt" + "math/rand" + "os" + "time" + + "github.com/wcharczuk/go-chart/v2" +) + +func random(min, max float64) float64 { + return rand.Float64()*(max-min) + min +} + +func main() { + numValues := 1024 + numSeries := 100 + series := make([]chart.Series, numSeries) + + for i := 0; i < numSeries; i++ { + xValues := make([]time.Time, numValues) + yValues := make([]float64, numValues) + + for j := 0; j < numValues; j++ { + xValues[j] = time.Now().AddDate(0, 0, (numValues-j)*-1) + yValues[j] = random(float64(-500), float64(500)) + } + + series[i] = chart.TimeSeries{ + Name: fmt.Sprintf("aaa.bbb.hostname-%v.ccc.ddd.eee.fff.ggg.hhh.iii.jjj.kkk.lll.mmm.nnn.value", i), + XValues: xValues, + YValues: yValues, + } + } + + graph := chart.Chart{ + XAxis: chart.XAxis{ + Name: "Time", + }, + YAxis: chart.YAxis{ + Name: "Value", + }, + Series: series, + } + + f, _ := os.Create("output.png") + defer f.Close() + graph.Render(chart.PNG, f) +} diff --git a/examples/benchmark_line_charts/output.png b/examples/benchmark_line_charts/output.png new file mode 100644 index 0000000..588d6a2 Binary files /dev/null and b/examples/benchmark_line_charts/output.png differ diff --git a/examples/css_classes/main.go b/examples/css_classes/main.go new file mode 100644 index 0000000..b5e65cf --- /dev/null +++ b/examples/css_classes/main.go @@ -0,0 +1,59 @@ +package main + +import ( + "fmt" + "log" + "net/http" + + "github.com/wcharczuk/go-chart/v2" +) + +// Note: Additional examples on how to add Stylesheets are in the custom_stylesheets example + +func inlineSVGWithClasses(res http.ResponseWriter, req *http.Request) { + res.Write([]byte( + "" + + "" + + "" + + "")) + + pie := chart.PieChart{ + // Notes: * Setting ClassName will cause all other inline styles to be dropped! + // * The following type classes may be added additionally: stroke, fill, text + Background: chart.Style{ClassName: "background"}, + Canvas: chart.Style{ + ClassName: "canvas", + }, + Width: 512, + Height: 512, + Values: []chart.Value{ + {Value: 5, Label: "Blue", Style: chart.Style{ClassName: "blue"}}, + {Value: 5, Label: "Green", Style: chart.Style{ClassName: "green"}}, + {Value: 4, Label: "Gray", Style: chart.Style{ClassName: "gray"}}, + }, + } + + err := pie.Render(chart.SVG, res) + if err != nil { + fmt.Printf("Error rendering pie chart: %v\n", err) + } + res.Write([]byte("")) +} + +func css(res http.ResponseWriter, req *http.Request) { + res.Header().Set("Content-Type", "text/css") + res.Write([]byte("svg .background { fill: white; }" + + "svg .canvas { fill: white; }" + + "svg .blue.fill.stroke { fill: blue; stroke: lightblue; }" + + "svg .green.fill.stroke { fill: green; stroke: lightgreen; }" + + "svg .gray.fill.stroke { fill: gray; stroke: lightgray; }" + + "svg .blue.text { fill: white; }" + + "svg .green.text { fill: white; }" + + "svg .gray.text { fill: white; }")) +} + +func main() { + http.HandleFunc("/", inlineSVGWithClasses) + http.HandleFunc("/main.css", css) + log.Fatal(http.ListenAndServe(":8080", nil)) +} diff --git a/examples/custom_formatters/main.go b/examples/custom_formatters/main.go new file mode 100644 index 0000000..d2b6b90 --- /dev/null +++ b/examples/custom_formatters/main.go @@ -0,0 +1,38 @@ +package main + +//go:generate go run main.go + +import ( + "fmt" + "os" + + "github.com/wcharczuk/go-chart/v2" +) + +func main() { + /* + In this example we use a custom `ValueFormatter` for the y axis, letting us specify how to format text of the y-axis ticks. + You can also do this for the x-axis, or the secondary y-axis. + This example also shows what the chart looks like with the x-axis left off or not shown. + */ + + graph := chart.Chart{ + YAxis: chart.YAxis{ + ValueFormatter: func(v interface{}) string { + if vf, isFloat := v.(float64); isFloat { + return fmt.Sprintf("%0.6f", vf) + } + return "" + }, + }, + Series: []chart.Series{ + chart.ContinuousSeries{ + XValues: []float64{1.0, 2.0, 3.0, 4.0, 5.0}, + YValues: []float64{1.0, 2.0, 3.0, 4.0, 5.0}, + }, + }, + } + f, _ := os.Create("output.png") + defer f.Close() + graph.Render(chart.PNG, f) +} diff --git a/examples/custom_formatters/output.png b/examples/custom_formatters/output.png new file mode 100644 index 0000000..8d8b4e9 Binary files /dev/null and b/examples/custom_formatters/output.png differ diff --git a/examples/custom_padding/main.go b/examples/custom_padding/main.go new file mode 100644 index 0000000..14c23ec --- /dev/null +++ b/examples/custom_padding/main.go @@ -0,0 +1,34 @@ +package main + +//go:generate go run main.go + +import ( + "os" + + "github.com/wcharczuk/go-chart/v2" + "github.com/wcharczuk/go-chart/v2/drawing" +) + +func main() { + graph := chart.Chart{ + Background: chart.Style{ + Padding: chart.Box{ + Top: 50, + Left: 25, + Right: 25, + Bottom: 10, + }, + FillColor: drawing.ColorFromHex("efefef"), + }, + Series: []chart.Series{ + chart.ContinuousSeries{ + XValues: chart.Seq{Sequence: chart.NewLinearSequence().WithStart(1.0).WithEnd(100.0)}.Values(), + YValues: chart.Seq{Sequence: chart.NewRandomSequence().WithLen(100).WithMin(100).WithMax(512)}.Values(), + }, + }, + } + + f, _ := os.Create("output.png") + defer f.Close() + graph.Render(chart.PNG, f) +} diff --git a/examples/custom_padding/output.png b/examples/custom_padding/output.png new file mode 100644 index 0000000..63c17cc Binary files /dev/null and b/examples/custom_padding/output.png differ diff --git a/examples/custom_ranges/main.go b/examples/custom_ranges/main.go new file mode 100644 index 0000000..61ef67b --- /dev/null +++ b/examples/custom_ranges/main.go @@ -0,0 +1,34 @@ +package main + +//go:generate go run main.go + +import ( + "os" + + "github.com/wcharczuk/go-chart/v2" +) + +func main() { + /* + In this example we set a custom range for the y-axis, overriding the automatic range generation. + Note: the chart will still generate the ticks automatically based on the custom range, so the intervals may be a bit weird. + */ + + graph := chart.Chart{ + YAxis: chart.YAxis{ + Range: &chart.ContinuousRange{ + Min: 0.0, + Max: 10.0, + }, + }, + Series: []chart.Series{ + chart.ContinuousSeries{ + XValues: []float64{1.0, 2.0, 3.0, 4.0, 5.0}, + YValues: []float64{1.0, 2.0, 3.0, 4.0, 5.0}, + }, + }, + } + f, _ := os.Create("output.png") + defer f.Close() + graph.Render(chart.PNG, f) +} diff --git a/examples/custom_ranges/output.png b/examples/custom_ranges/output.png new file mode 100644 index 0000000..8ea7da4 Binary files /dev/null and b/examples/custom_ranges/output.png differ diff --git a/examples/custom_styles/main.go b/examples/custom_styles/main.go new file mode 100644 index 0000000..08889ea --- /dev/null +++ b/examples/custom_styles/main.go @@ -0,0 +1,38 @@ +package main + +//go:generate go run main.go + +import ( + "os" + + "github.com/wcharczuk/go-chart/v2" + "github.com/wcharczuk/go-chart/v2/drawing" +) + +func main() { + /* + In this example we set some custom colors for the series and the chart background and canvas. + */ + graph := chart.Chart{ + Background: chart.Style{ + FillColor: drawing.ColorBlue, + }, + Canvas: chart.Style{ + FillColor: drawing.ColorFromHex("efefef"), + }, + Series: []chart.Series{ + chart.ContinuousSeries{ + Style: chart.Style{ + StrokeColor: drawing.ColorRed, // will supercede defaults + FillColor: drawing.ColorRed.WithAlpha(64), // will supercede defaults + }, + XValues: []float64{1.0, 2.0, 3.0, 4.0, 5.0}, + YValues: []float64{1.0, 2.0, 3.0, 4.0, 5.0}, + }, + }, + } + + f, _ := os.Create("output.png") + defer f.Close() + graph.Render(chart.PNG, f) +} diff --git a/examples/custom_styles/output.png b/examples/custom_styles/output.png new file mode 100644 index 0000000..981745d Binary files /dev/null and b/examples/custom_styles/output.png differ diff --git a/examples/custom_stylesheets/inlineOutput.svg b/examples/custom_stylesheets/inlineOutput.svg new file mode 100644 index 0000000..fdb2515 --- /dev/null +++ b/examples/custom_stylesheets/inlineOutput.svg @@ -0,0 +1,21 @@ +\nBlueGreenGray \ No newline at end of file diff --git a/examples/custom_stylesheets/main.go b/examples/custom_stylesheets/main.go new file mode 100644 index 0000000..1af1058 --- /dev/null +++ b/examples/custom_stylesheets/main.go @@ -0,0 +1,88 @@ +package main + +import ( + "fmt" + "log" + "net/http" + + "github.com/wcharczuk/go-chart/v2" +) + +const style = "svg .background { fill: white; }" + + "svg .canvas { fill: white; }" + + "svg .blue.fill.stroke { fill: blue; stroke: lightblue; }" + + "svg .green.fill.stroke { fill: green; stroke: lightgreen; }" + + "svg .gray.fill.stroke { fill: gray; stroke: lightgray; }" + + "svg .blue.text { fill: white; }" + + "svg .green.text { fill: white; }" + + "svg .gray.text { fill: white; }" + +func svgWithCustomInlineCSS(res http.ResponseWriter, _ *http.Request) { + res.Header().Set("Content-Type", chart.ContentTypeSVG) + + // Render the CSS with custom css + err := pieChart().Render(chart.SVGWithCSS(style, ""), res) + if err != nil { + fmt.Printf("Error rendering pie chart: %v\n", err) + } +} + +func svgWithCustomInlineCSSNonce(res http.ResponseWriter, _ *http.Request) { + // https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/style-src + // This should be randomly generated on every request! + const nonce = "RAND0MBASE64" + + res.Header().Set("Content-Security-Policy", fmt.Sprintf("style-src 'nonce-%s'", nonce)) + res.Header().Set("Content-Type", chart.ContentTypeSVG) + + // Render the CSS with custom css and a nonce. + // Try changing the nonce to a different string - your browser should block the CSS. + err := pieChart().Render(chart.SVGWithCSS(style, nonce), res) + if err != nil { + fmt.Printf("Error rendering pie chart: %v\n", err) + } +} + +func svgWithCustomExternalCSS(res http.ResponseWriter, _ *http.Request) { + // Add external CSS + res.Write([]byte( + `` + + `` + + ``)) + + res.Header().Set("Content-Type", chart.ContentTypeSVG) + err := pieChart().Render(chart.SVG, res) + if err != nil { + fmt.Printf("Error rendering pie chart: %v\n", err) + } +} + +func pieChart() chart.PieChart { + return chart.PieChart{ + // Note that setting ClassName will cause all other inline styles to be dropped! + Background: chart.Style{ClassName: "background"}, + Canvas: chart.Style{ + ClassName: "canvas", + }, + Width: 512, + Height: 512, + Values: []chart.Value{ + {Value: 5, Label: "Blue", Style: chart.Style{ClassName: "blue"}}, + {Value: 5, Label: "Green", Style: chart.Style{ClassName: "green"}}, + {Value: 4, Label: "Gray", Style: chart.Style{ClassName: "gray"}}, + }, + } +} + +func css(res http.ResponseWriter, req *http.Request) { + res.Header().Set("Content-Type", "text/css") + res.Write([]byte(style)) +} + +func main() { + http.HandleFunc("/", svgWithCustomInlineCSS) + http.HandleFunc("/nonce", svgWithCustomInlineCSSNonce) + http.HandleFunc("/external", svgWithCustomExternalCSS) + http.HandleFunc("/main.css", css) + log.Fatal(http.ListenAndServe(":8080", nil)) +} diff --git a/examples/custom_ticks/main.go b/examples/custom_ticks/main.go new file mode 100644 index 0000000..f95f64d --- /dev/null +++ b/examples/custom_ticks/main.go @@ -0,0 +1,42 @@ +package main + +//go:generate go run main.go + +import ( + "os" + + "github.com/wcharczuk/go-chart/v2" +) + +func main() { + /* + In this example we set a custom set of ticks to use for the y-axis. It can be (almost) whatever you want, including some custom labels for ticks. + Custom ticks will supercede a custom range, which will supercede automatic generation based on series values. + */ + + graph := chart.Chart{ + YAxis: chart.YAxis{ + Range: &chart.ContinuousRange{ + Min: 0.0, + Max: 4.0, + }, + Ticks: []chart.Tick{ + {Value: 0.0, Label: "0.00"}, + {Value: 2.0, Label: "2.00"}, + {Value: 4.0, Label: "4.00"}, + {Value: 6.0, Label: "6.00"}, + {Value: 8.0, Label: "Eight"}, + {Value: 10.0, Label: "Ten"}, + }, + }, + Series: []chart.Series{ + chart.ContinuousSeries{ + XValues: []float64{1.0, 2.0, 3.0, 4.0, 5.0}, + YValues: []float64{1.0, 2.0, 3.0, 4.0, 5.0}, + }, + }, + } + f, _ := os.Create("output.png") + defer f.Close() + graph.Render(chart.PNG, f) +} diff --git a/examples/custom_ticks/output.png b/examples/custom_ticks/output.png new file mode 100644 index 0000000..fc9d7b6 Binary files /dev/null and b/examples/custom_ticks/output.png differ diff --git a/examples/descending/main.go b/examples/descending/main.go new file mode 100644 index 0000000..62ae7f7 --- /dev/null +++ b/examples/descending/main.go @@ -0,0 +1,49 @@ +package main + +//go:generate go run main.go + +import ( + "os" + + "github.com/wcharczuk/go-chart/v2" +) + +func main() { + + /* + The below will draw the same chart as the `basic` example, except with both the x and y axes turned on. + In this case, both the x and y axis ticks are generated automatically, the x and y ranges are established automatically, + the canvas "box" is adjusted to fit the space the axes occupy so as not to clip. + Additionally, it shows how you can use the "Descending" property of continuous ranges to change the ordering of + how values (including ticks) are drawn. + */ + + graph := chart.Chart{ + Height: 500, + Width: 500, + XAxis: chart.XAxis{ + /*Range: &chart.ContinuousRange{ + Descending: true, + },*/ + }, + YAxis: chart.YAxis{ + Range: &chart.ContinuousRange{ + Descending: true, + }, + }, + Series: []chart.Series{ + chart.ContinuousSeries{ + Style: chart.Style{ + StrokeColor: chart.GetDefaultColor(0).WithAlpha(64), + FillColor: chart.GetDefaultColor(0).WithAlpha(64), + }, + XValues: []float64{1.0, 2.0, 3.0, 4.0, 5.0}, + YValues: []float64{1.0, 2.0, 3.0, 4.0, 5.0}, + }, + }, + } + + f, _ := os.Create("output.png") + defer f.Close() + graph.Render(chart.PNG, f) +} diff --git a/examples/descending/output.png b/examples/descending/output.png new file mode 100644 index 0000000..2f30474 Binary files /dev/null and b/examples/descending/output.png differ diff --git a/examples/donut_chart/main.go b/examples/donut_chart/main.go new file mode 100644 index 0000000..8b504ad --- /dev/null +++ b/examples/donut_chart/main.go @@ -0,0 +1,28 @@ +package main + +//go:generate go run main.go + +import ( + "os" + + "github.com/wcharczuk/go-chart/v2" +) + +func main() { + pie := chart.DonutChart{ + Width: 512, + Height: 512, + Values: []chart.Value{ + {Value: 5, Label: "Blue"}, + {Value: 5, Label: "Green"}, + {Value: 4, Label: "Gray"}, + {Value: 4, Label: "Orange"}, + {Value: 3, Label: "Deep Blue"}, + {Value: 3, Label: "test"}, + }, + } + + f, _ := os.Create("output.png") + defer f.Close() + pie.Render(chart.PNG, f) +} diff --git a/examples/donut_chart/output.png b/examples/donut_chart/output.png new file mode 100644 index 0000000..e682501 Binary files /dev/null and b/examples/donut_chart/output.png differ diff --git a/examples/donut_chart/reg.svg b/examples/donut_chart/reg.svg new file mode 100644 index 0000000..f14c2af --- /dev/null +++ b/examples/donut_chart/reg.svg @@ -0,0 +1,25 @@ +\nBlueTwoOne \ No newline at end of file diff --git a/examples/horizontal_stacked_bar/main.go b/examples/horizontal_stacked_bar/main.go new file mode 100644 index 0000000..f078d09 --- /dev/null +++ b/examples/horizontal_stacked_bar/main.go @@ -0,0 +1,222 @@ +package main + +import ( + "os" + + "github.com/wcharczuk/go-chart/v2" + "github.com/wcharczuk/go-chart/v2/drawing" +) + +func main() { + chart.DefaultBackgroundColor = chart.ColorTransparent + chart.DefaultCanvasColor = chart.ColorTransparent + + barWidth := 80 + + var ( + colorWhite = drawing.Color{R: 241, G: 241, B: 241, A: 255} + colorMariner = drawing.Color{R: 60, G: 100, B: 148, A: 255} + colorLightSteelBlue = drawing.Color{R: 182, G: 195, B: 220, A: 255} + colorPoloBlue = drawing.Color{R: 126, G: 155, B: 200, A: 255} + colorSteelBlue = drawing.Color{R: 73, G: 120, B: 177, A: 255} + ) + + stackedBarChart := chart.StackedBarChart{ + Title: "Quarterly Sales", + TitleStyle: chart.Shown(), + Background: chart.Style{ + Padding: chart.Box{ + Top: 75, + }, + }, + Width: 800, + Height: 600, + XAxis: chart.Shown(), + YAxis: chart.Shown(), + BarSpacing: 40, + IsHorizontal: true, + Bars: []chart.StackedBar{ + { + Name: "Q1", + Width: barWidth, + Values: []chart.Value{ + { + Label: "32K", + Value: 32, + Style: chart.Style{ + StrokeWidth: .01, + FillColor: colorMariner, + FontColor: colorWhite, + }, + }, + { + Label: "46K", + Value: 46, + Style: chart.Style{ + StrokeWidth: .01, + FillColor: colorLightSteelBlue, + FontColor: colorWhite, + }, + }, + { + Label: "48K", + Value: 48, + Style: chart.Style{ + StrokeWidth: .01, + FillColor: colorPoloBlue, + FontColor: colorWhite, + }, + }, + { + Label: "42K", + Value: 42, + Style: chart.Style{ + StrokeWidth: .01, + FillColor: colorSteelBlue, + FontColor: colorWhite, + }, + }, + }, + }, + { + Name: "Q2", + Width: barWidth, + Values: []chart.Value{ + { + Label: "45K", + Value: 45, + Style: chart.Style{ + StrokeWidth: .01, + FillColor: colorMariner, + FontColor: colorWhite, + }, + }, + { + Label: "60K", + Value: 60, + Style: chart.Style{ + StrokeWidth: .01, + FillColor: colorLightSteelBlue, + FontColor: colorWhite, + }, + }, + { + Label: "62K", + Value: 62, + Style: chart.Style{ + StrokeWidth: .01, + FillColor: colorPoloBlue, + FontColor: colorWhite, + }, + }, + { + Label: "53K", + Value: 53, + Style: chart.Style{ + StrokeWidth: .01, + FillColor: colorSteelBlue, + FontColor: colorWhite, + }, + }, + }, + }, + { + Name: "Q3", + Width: barWidth, + Values: []chart.Value{ + { + Label: "54K", + Value: 54, + Style: chart.Style{ + StrokeWidth: .01, + FillColor: colorMariner, + FontColor: colorWhite, + }, + }, + { + Label: "58K", + Value: 58, + Style: chart.Style{ + StrokeWidth: .01, + FillColor: colorLightSteelBlue, + FontColor: colorWhite, + }, + }, + { + Label: "55K", + Value: 55, + Style: chart.Style{ + StrokeWidth: .01, + FillColor: colorPoloBlue, + FontColor: colorWhite, + }, + }, + { + Label: "47K", + Value: 47, + Style: chart.Style{ + StrokeWidth: .01, + FillColor: colorSteelBlue, + FontColor: colorWhite, + }, + }, + }, + }, + { + Name: "Q4", + Width: barWidth, + Values: []chart.Value{ + { + Label: "46K", + Value: 46, + Style: chart.Style{ + StrokeWidth: .01, + FillColor: colorMariner, + FontColor: colorWhite, + }, + }, + { + Label: "70K", + Value: 70, + Style: chart.Style{ + StrokeWidth: .01, + FillColor: colorLightSteelBlue, + FontColor: colorWhite, + }, + }, + { + Label: "74K", + Value: 74, + Style: chart.Style{ + StrokeWidth: .01, + FillColor: colorPoloBlue, + FontColor: colorWhite, + }, + }, + { + Label: "60K", + Value: 60, + Style: chart.Style{ + StrokeWidth: .01, + FillColor: colorSteelBlue, + FontColor: colorWhite, + }, + }, + }, + }, + }, + } + + pngFile, err := os.Create("output.png") + if err != nil { + panic(err) + } + + if err := stackedBarChart.Render(chart.PNG, pngFile); err != nil { + panic(err) + } + + if err := pngFile.Close(); err != nil { + panic(err) + } +} diff --git a/examples/horizontal_stacked_bar/output.png b/examples/horizontal_stacked_bar/output.png new file mode 100644 index 0000000..d8ad123 Binary files /dev/null and b/examples/horizontal_stacked_bar/output.png differ diff --git a/examples/image_writer/main.go b/examples/image_writer/main.go new file mode 100644 index 0000000..4981d21 --- /dev/null +++ b/examples/image_writer/main.go @@ -0,0 +1,27 @@ +package main + +import ( + "fmt" + "log" + + "github.com/wcharczuk/go-chart/v2" +) + +func main() { + graph := chart.Chart{ + Series: []chart.Series{ + chart.ContinuousSeries{ + XValues: []float64{1.0, 2.0, 3.0, 4.0, 5.0}, + YValues: []float64{1.0, 2.0, 3.0, 4.0, 5.0}, + }, + }, + } + collector := &chart.ImageWriter{} + graph.Render(chart.PNG, collector) + + image, err := collector.Image() + if err != nil { + log.Fatal(err) + } + fmt.Printf("Final Image: %dx%d\n", image.Bounds().Size().X, image.Bounds().Size().Y) +} diff --git a/examples/legend/main.go b/examples/legend/main.go new file mode 100644 index 0000000..83b5665 --- /dev/null +++ b/examples/legend/main.go @@ -0,0 +1,43 @@ +package main + +//go:generate go run main.go + +import ( + "os" + + chart "github.com/wcharczuk/go-chart/v2" +) + +func main() { + + /* + In this example we add a `Renderable` or a custom component to the `Elements` array. + In this specific case it is a pre-built renderable (`CreateLegend`) that draws a legend for the chart's series. + If you like, you can use `CreateLegend` as a template for writing your own renderable, or even your own legend. + */ + + graph := chart.Chart{ + Background: chart.Style{ + Padding: chart.Box{ + Top: 20, + Left: 20, + }, + }, + Series: []chart.Series{ + chart.ContinuousSeries{ + Name: "A test series", + XValues: []float64{1.0, 2.0, 3.0, 4.0, 5.0}, + YValues: []float64{1.0, 2.0, 3.0, 4.0, 5.0}, + }, + }, + } + + //note we have to do this as a separate step because we need a reference to graph + graph.Elements = []chart.Renderable{ + chart.Legend(&graph), + } + + f, _ := os.Create("output.png") + defer f.Close() + graph.Render(chart.PNG, f) +} diff --git a/examples/legend/output.png b/examples/legend/output.png new file mode 100644 index 0000000..82ebfa8 Binary files /dev/null and b/examples/legend/output.png differ diff --git a/examples/legend_left/main.go b/examples/legend_left/main.go new file mode 100644 index 0000000..a6dc413 --- /dev/null +++ b/examples/legend_left/main.go @@ -0,0 +1,103 @@ +package main + +//go:generate go run main.go + +import ( + "os" + + "github.com/wcharczuk/go-chart/v2" +) + +func main() { + + /* + In this example we add a `Renderable` or a custom component to the `Elements` array. + In this specific case it is a pre-built renderable (`CreateLegend`) that draws a legend for the chart's series. + If you like, you can use `CreateLegend` as a template for writing your own renderable, or even your own legend. + */ + + graph := chart.Chart{ + Background: chart.Style{ + Padding: chart.Box{ + Top: 20, + Left: 260, + }, + }, + Series: []chart.Series{ + chart.ContinuousSeries{ + Name: "A test series", + XValues: []float64{1.0, 2.0, 3.0, 4.0, 5.0}, + YValues: []float64{1.0, 2.0, 3.0, 4.0, 5.0}, + }, + + chart.ContinuousSeries{ + Name: "Another test series", + XValues: []float64{1.0, 2.0, 3.0, 4.0, 5.0}, + YValues: []float64{1.0, 2.0, 3.0, 4.0, 5.0}, + }, + + chart.ContinuousSeries{ + Name: "Yet Another test series", + XValues: []float64{1.0, 2.0, 3.0, 4.0, 5.0}, + YValues: []float64{1.0, 2.0, 3.0, 4.0, 5.0}, + }, + + chart.ContinuousSeries{ + Name: "Even More series", + XValues: []float64{1.0, 2.0, 3.0, 4.0, 5.0}, + YValues: []float64{1.0, 2.0, 3.0, 4.0, 5.0}, + }, + + chart.ContinuousSeries{ + Name: "Foo Bar", + XValues: []float64{1.0, 2.0, 3.0, 4.0, 5.0}, + YValues: []float64{1.0, 2.0, 3.0, 4.0, 5.0}, + }, + + chart.ContinuousSeries{ + Name: "Bar Baz", + XValues: []float64{1.0, 2.0, 3.0, 4.0, 5.0}, + YValues: []float64{1.0, 2.0, 3.0, 4.0, 5.0}, + }, + + chart.ContinuousSeries{ + Name: "Moo Bar", + XValues: []float64{1.0, 2.0, 3.0, 4.0, 5.0}, + YValues: []float64{1.0, 2.0, 3.0, 4.0, 5.0}, + }, + + chart.ContinuousSeries{ + Name: "Zoo Bar Baz", + XValues: []float64{1.0, 2.0, 3.0, 4.0, 5.0}, + YValues: []float64{1.0, 2.0, 3.0, 4.0, 5.0}, + }, + + chart.ContinuousSeries{ + Name: "Fast and the Furious", + XValues: []float64{1.0, 2.0, 3.0, 4.0, 5.0}, + YValues: []float64{5.0, 4.0, 3.0, 2.0, 1.0}, + }, + + chart.ContinuousSeries{ + Name: "2 Fast 2 Furious", + XValues: []float64{1.0, 2.0, 3.0, 4.0, 5.0}, + YValues: []float64{5.0, 4.0, 3.0, 2.0, 1.0}, + }, + + chart.ContinuousSeries{ + Name: "They only get more fast and more furious", + XValues: []float64{1.0, 2.0, 3.0, 4.0, 5.0}, + YValues: []float64{5.0, 4.0, 3.0, 2.0, 1.0}, + }, + }, + } + + //note we have to do this as a separate step because we need a reference to graph + graph.Elements = []chart.Renderable{ + chart.LegendLeft(&graph), + } + + f, _ := os.Create("output.png") + defer f.Close() + graph.Render(chart.PNG, f) +} diff --git a/examples/legend_left/output.png b/examples/legend_left/output.png new file mode 100644 index 0000000..94ff2b5 Binary files /dev/null and b/examples/legend_left/output.png differ diff --git a/examples/linear_regression/main.go b/examples/linear_regression/main.go new file mode 100644 index 0000000..ebe0125 --- /dev/null +++ b/examples/linear_regression/main.go @@ -0,0 +1,40 @@ +package main + +//go:generate go run main.go + +import ( + "os" + + chart "github.com/wcharczuk/go-chart/v2" +) + +func main() { + + /* + In this example we add a new type of series, a `SimpleMovingAverageSeries` that takes another series as a required argument. + InnerSeries only needs to implement `ValuesProvider`, so really you could chain `SimpleMovingAverageSeries` together if you wanted. + */ + + mainSeries := chart.ContinuousSeries{ + Name: "A test series", + XValues: chart.Seq{Sequence: chart.NewLinearSequence().WithStart(1.0).WithEnd(100.0)}.Values(), //generates a []float64 from 1.0 to 100.0 in 1.0 step increments, or 100 elements. + YValues: chart.Seq{Sequence: chart.NewRandomSequence().WithLen(100).WithMin(0).WithMax(100)}.Values(), //generates a []float64 randomly from 0 to 100 with 100 elements. + } + + // note we create a LinearRegressionSeries series by assignin the inner series. + // we need to use a reference because `.Render()` needs to modify state within the series. + linRegSeries := &chart.LinearRegressionSeries{ + InnerSeries: mainSeries, + } // we can optionally set the `WindowSize` property which alters how the moving average is calculated. + + graph := chart.Chart{ + Series: []chart.Series{ + mainSeries, + linRegSeries, + }, + } + + f, _ := os.Create("output.png") + defer f.Close() + graph.Render(chart.PNG, f) +} diff --git a/examples/linear_regression/output.png b/examples/linear_regression/output.png new file mode 100644 index 0000000..a0ff7b6 Binary files /dev/null and b/examples/linear_regression/output.png differ diff --git a/examples/logarithmic_axes/main.go b/examples/logarithmic_axes/main.go new file mode 100644 index 0000000..928ab26 --- /dev/null +++ b/examples/logarithmic_axes/main.go @@ -0,0 +1,41 @@ +package main + +//go:generate go run main.go + +import ( + "os" + + "github.com/wcharczuk/go-chart/v2" +) + +func main() { + + /* + In this example we set the primary YAxis to have logarithmic range. + */ + + graph := chart.Chart{ + Background: chart.Style{ + Padding: chart.Box{ + Top: 20, + Left: 20, + }, + }, + Series: []chart.Series{ + chart.ContinuousSeries{ + Name: "A test series", + XValues: []float64{1.0, 2.0, 3.0, 4.0, 5.0}, + YValues: []float64{1, 10, 100, 1000, 10000}, + }, + }, + YAxis: chart.YAxis{ + Style: chart.Shown(), + NameStyle: chart.Shown(), + Range: &chart.LogarithmicRange{}, + }, + } + + f, _ := os.Create("output.png") + defer f.Close() + graph.Render(chart.PNG, f) +} diff --git a/examples/logarithmic_axes/output.png b/examples/logarithmic_axes/output.png new file mode 100644 index 0000000..4462b8d Binary files /dev/null and b/examples/logarithmic_axes/output.png differ diff --git a/examples/min_max/main.go b/examples/min_max/main.go new file mode 100644 index 0000000..f2c5479 --- /dev/null +++ b/examples/min_max/main.go @@ -0,0 +1,61 @@ +package main + +//go:generate go run main.go + +import ( + "os" + + "github.com/wcharczuk/go-chart/v2" +) + +func main() { + mainSeries := chart.ContinuousSeries{ + Name: "A test series", + XValues: chart.Seq{Sequence: chart.NewLinearSequence().WithStart(1.0).WithEnd(100.0)}.Values(), + YValues: chart.Seq{Sequence: chart.NewRandomSequence().WithLen(100).WithMin(50).WithMax(150)}.Values(), + } + + minSeries := &chart.MinSeries{ + Style: chart.Style{ + StrokeColor: chart.ColorAlternateGray, + StrokeDashArray: []float64{5.0, 5.0}, + }, + InnerSeries: mainSeries, + } + + maxSeries := &chart.MaxSeries{ + Style: chart.Style{ + StrokeColor: chart.ColorAlternateGray, + StrokeDashArray: []float64{5.0, 5.0}, + }, + InnerSeries: mainSeries, + } + + graph := chart.Chart{ + Width: 1920, + Height: 1080, + YAxis: chart.YAxis{ + Name: "Random Values", + Range: &chart.ContinuousRange{ + Min: 25, + Max: 175, + }, + }, + XAxis: chart.XAxis{ + Name: "Random Other Values", + }, + Series: []chart.Series{ + mainSeries, + minSeries, + maxSeries, + chart.LastValueAnnotationSeries(minSeries), + chart.LastValueAnnotationSeries(maxSeries), + }, + } + + graph.Elements = []chart.Renderable{chart.Legend(&graph)} + + f, _ := os.Create("output.png") + defer f.Close() + graph.Render(chart.PNG, f) +} diff --git a/examples/min_max/output.png b/examples/min_max/output.png new file mode 100644 index 0000000..738b2fd Binary files /dev/null and b/examples/min_max/output.png differ diff --git a/examples/pie_chart/main.go b/examples/pie_chart/main.go new file mode 100644 index 0000000..5bd7c3f --- /dev/null +++ b/examples/pie_chart/main.go @@ -0,0 +1,29 @@ +package main + +//go:generate go run main.go + +import ( + "os" + + "github.com/wcharczuk/go-chart/v2" +) + +func main() { + pie := chart.PieChart{ + Width: 512, + Height: 512, + Values: []chart.Value{ + {Value: 5, Label: "Blue"}, + {Value: 5, Label: "Green"}, + {Value: 4, Label: "Gray"}, + {Value: 4, Label: "Orange"}, + {Value: 3, Label: "Deep Blue"}, + {Value: 3, Label: "??"}, + {Value: 1, Label: "!!"}, + }, + } + + f, _ := os.Create("output.png") + defer f.Close() + pie.Render(chart.PNG, f) +} diff --git a/examples/pie_chart/output.png b/examples/pie_chart/output.png new file mode 100644 index 0000000..c24fc67 Binary files /dev/null and b/examples/pie_chart/output.png differ diff --git a/examples/pie_chart/reg.svg b/examples/pie_chart/reg.svg new file mode 100644 index 0000000..6b8d2ff --- /dev/null +++ b/examples/pie_chart/reg.svg @@ -0,0 +1,17 @@ + + + + + \ No newline at end of file diff --git a/examples/poly_regression/main.go b/examples/poly_regression/main.go new file mode 100644 index 0000000..040fcc0 --- /dev/null +++ b/examples/poly_regression/main.go @@ -0,0 +1,39 @@ +package main + +//go:generate go run main.go + +import ( + "os" + + chart "github.com/wcharczuk/go-chart/v2" +) + +func main() { + + /* + In this example we add a new type of series, a `PolynomialRegressionSeries` that takes another series as a required argument. + InnerSeries only needs to implement `ValuesProvider`, so really you could chain `PolynomialRegressionSeries` together if you wanted. + */ + + mainSeries := chart.ContinuousSeries{ + Name: "A test series", + XValues: chart.Seq{Sequence: chart.NewLinearSequence().WithStart(1.0).WithEnd(100.0)}.Values(), //generates a []float64 from 1.0 to 100.0 in 1.0 step increments, or 100 elements. + YValues: chart.Seq{Sequence: chart.NewRandomSequence().WithLen(100).WithMin(0).WithMax(100)}.Values(), //generates a []float64 randomly from 0 to 100 with 100 elements. + } + + polyRegSeries := &chart.PolynomialRegressionSeries{ + Degree: 3, + InnerSeries: mainSeries, + } + + graph := chart.Chart{ + Series: []chart.Series{ + mainSeries, + polyRegSeries, + }, + } + + f, _ := os.Create("output.png") + defer f.Close() + graph.Render(chart.PNG, f) +} diff --git a/examples/poly_regression/output.png b/examples/poly_regression/output.png new file mode 100644 index 0000000..84c56f9 Binary files /dev/null and b/examples/poly_regression/output.png differ diff --git a/examples/request_timings/main.go b/examples/request_timings/main.go new file mode 100644 index 0000000..9ca0159 --- /dev/null +++ b/examples/request_timings/main.go @@ -0,0 +1,133 @@ +package main + +//go:generate go run main.go + +import ( + "fmt" + "net/http" + "os" + "strconv" + "time" + + "github.com/wcharczuk/go-chart/v2" +) + +func main() { + log := chart.NewLogger() + drawChart(log) +} + +func parseInt(str string) int { + v, _ := strconv.Atoi(str) + return v +} + +func parseFloat64(str string) float64 { + v, _ := strconv.ParseFloat(str, 64) + return v +} + +func readData() ([]time.Time, []float64) { + var xvalues []time.Time + var yvalues []float64 + err := chart.ReadLines("requests.csv", func(line string) error { + parts := chart.SplitCSV(line) + year := parseInt(parts[0]) + month := parseInt(parts[1]) + day := parseInt(parts[2]) + hour := parseInt(parts[3]) + elapsedMillis := parseFloat64(parts[4]) + xvalues = append(xvalues, time.Date(year, time.Month(month), day, hour, 0, 0, 0, time.UTC)) + yvalues = append(yvalues, elapsedMillis) + return nil + }) + if err != nil { + fmt.Println(err.Error()) + } + return xvalues, yvalues +} + +func releases() []chart.GridLine { + return []chart.GridLine{ + {Value: chart.TimeToFloat64(time.Date(2016, 8, 1, 9, 30, 0, 0, time.UTC))}, + {Value: chart.TimeToFloat64(time.Date(2016, 8, 2, 9, 30, 0, 0, time.UTC))}, + {Value: chart.TimeToFloat64(time.Date(2016, 8, 2, 15, 30, 0, 0, time.UTC))}, + {Value: chart.TimeToFloat64(time.Date(2016, 8, 4, 9, 30, 0, 0, time.UTC))}, + {Value: chart.TimeToFloat64(time.Date(2016, 8, 5, 9, 30, 0, 0, time.UTC))}, + {Value: chart.TimeToFloat64(time.Date(2016, 8, 6, 9, 30, 0, 0, time.UTC))}, + } +} + +func drawChart(log chart.Logger) http.HandlerFunc { + return func(res http.ResponseWriter, req *http.Request) { + xvalues, yvalues := readData() + mainSeries := chart.TimeSeries{ + Name: "Prod Request Timings", + Style: chart.Style{ + StrokeColor: chart.ColorBlue, + FillColor: chart.ColorBlue.WithAlpha(100), + }, + XValues: xvalues, + YValues: yvalues, + } + + linreg := &chart.LinearRegressionSeries{ + Name: "Linear Regression", + Style: chart.Style{ + StrokeColor: chart.ColorAlternateBlue, + StrokeDashArray: []float64{5.0, 5.0}, + }, + InnerSeries: mainSeries, + } + + sma := &chart.SMASeries{ + Name: "SMA", + Style: chart.Style{ + StrokeColor: chart.ColorRed, + StrokeDashArray: []float64{5.0, 5.0}, + }, + InnerSeries: mainSeries, + } + + graph := chart.Chart{ + Log: log, + Width: 1280, + Height: 720, + Background: chart.Style{ + Padding: chart.Box{ + Top: 50, + }, + }, + YAxis: chart.YAxis{ + Name: "Elapsed Millis", + TickStyle: chart.Style{ + TextRotationDegrees: 45.0, + }, + ValueFormatter: func(v interface{}) string { + return fmt.Sprintf("%d ms", int(v.(float64))) + }, + }, + XAxis: chart.XAxis{ + ValueFormatter: chart.TimeHourValueFormatter, + GridMajorStyle: chart.Style{ + StrokeColor: chart.ColorAlternateGray, + StrokeWidth: 1.0, + }, + GridLines: releases(), + }, + Series: []chart.Series{ + mainSeries, + linreg, + chart.LastValueAnnotationSeries(linreg), + sma, + chart.LastValueAnnotationSeries(sma), + }, + } + + graph.Elements = []chart.Renderable{chart.LegendThin(&graph)} + + f, _ := os.Create("output.png") + defer f.Close() + graph.Render(chart.PNG, f) + } +} diff --git a/examples/request_timings/output.png b/examples/request_timings/output.png new file mode 100644 index 0000000..ee1e54e Binary files /dev/null and b/examples/request_timings/output.png differ diff --git a/examples/request_timings/requests.csv b/examples/request_timings/requests.csv new file mode 100644 index 0000000..6d0ebd1 --- /dev/null +++ b/examples/request_timings/requests.csv @@ -0,0 +1,170 @@ +2016,7,31,16,51.1948264984227130 +2016,7,31,17,1.7940833333333333 +2016,7,31,18,10.0383889931207000 +2016,7,31,19,6.1413707865168539 +2016,7,31,20,8.3973734513274336 +2016,7,31,21,73.5405406633348480 +2016,7,31,22,159.8895444957152270 +2016,7,31,23,34.0708326693227090 +2016,8,1,0,69.7564325518178730 +2016,8,1,1,48.1574708470847080 +2016,8,1,2,17.4290324074074070 +2016,8,1,3,5.5943366336633663 +2016,8,1,4,9.1419949109414758 +2016,8,1,5,14.4151891117478510 +2016,8,1,6,1.5541666666666667 +2016,8,1,7,15.7282261904761900 +2016,8,1,8,21.1564157175398630 +2016,8,1,9,1.5934583333333333 +2016,8,1,10,4.3529166666666667 +2016,8,1,11,87.5080657894736840 +2016,8,1,12,1.5835000000000000 +2016,8,1,13,29.9959344262295080 +2016,8,1,14,46.8553964079538170 +2016,8,1,15,20.0111057531630460 +2016,8,1,16,94.6157284061696660 +2016,8,1,17,58.6487434362045140 +2016,8,1,18,20.8815984522785900 +2016,8,1,19,72.4154909266876360 +2016,8,1,20,58.9246686590436590 +2016,8,1,21,84.3067604562737640 +2016,8,1,22,122.5261538745387450 +2016,8,1,23,85.1076058098020120 +2016,8,2,0,101.7361568656277570 +2016,8,2,1,24.3167470952749810 +2016,8,2,2,122.0310546659304250 +2016,8,2,3,74.2989314442413160 +2016,8,2,4,129.6967691387559810 +2016,8,2,5,71.1511239448219070 +2016,8,2,6,1.9676388888888889 +2016,8,2,7,45.3233373493975900 +2016,8,2,8,0.52597727272727272730 +2016,8,2,9,0.47493750000000000000 +2016,8,2,10,0.36689583333333333330 +2016,8,2,11,12.2201858407079650 +2016,8,2,12,58.0710813743218810 +2016,8,2,13,75.9720821672048800 +2016,8,2,14,86.0020336538461540 +2016,8,2,15,22.4082420588235290 +2016,8,2,16,93.1733733049989880 +2016,8,2,17,55.2889921111945910 +2016,8,2,18,56.7059533689400160 +2016,8,2,19,84.2515716615033430 +2016,8,2,20,101.4842500290866780 +2016,8,2,21,136.8598881478658540 +2016,8,2,22,62.5393413387838530 +2016,8,2,23,47.6955947622329430 +2016,8,3,0,28.6536128110975110 +2016,8,3,1,68.2935053282915090 +2016,8,3,2,65.4284130561492130 +2016,8,3,3,102.4286141260973660 +2016,8,3,4,56.5472182066809920 +2016,8,3,5,18.6264831460674160 +2016,8,3,6,67.8456661764705880 +2016,8,3,7,92.5702828579829460 +2016,8,3,8,0.41591666666666666670 +2016,8,3,9,0.38620833333333333330 +2016,8,3,10,2.4085945945945946 +2016,8,3,11,10.7638414634146340 +2016,8,3,12,31.4489252873563220 +2016,8,3,13,153.4695363601385150 +2016,8,3,14,271.2642420287705770 +2016,8,3,15,36.5611996434937610 +2016,8,3,16,29.2185496806617110 +2016,8,3,17,126.9859396924555500 +2016,8,3,18,163.7181875191189970 +2016,8,3,19,21.4754753134796240 +2016,8,3,20,34.1040598911070780 +2016,8,3,21,75.1127804170444240 +2016,8,3,22,39.4469905441016900 +2016,8,3,23,5.1409929328621908 +2016,8,4,0,255.8132918813695180 +2016,8,4,1,214.4145150846210450 +2016,8,4,2,36.1957284522706210 +2016,8,4,3,78.4117736768802230 +2016,8,4,4,9.9754722222222222 +2016,8,4,5,34.1333243123336290 +2016,8,4,6,0.39741666666666666670 +2016,8,4,7,3.5579206349206349 +2016,8,4,8,0.33243750000000000000 +2016,8,4,9,0.27264583333333333330 +2016,8,4,10,15.6974805194805190 +2016,8,4,11,33.3286867469879520 +2016,8,4,12,69.0402700057570520 +2016,8,4,13,63.8368957232099950 +2016,8,4,14,46.5617178867403310 +2016,8,4,15,9.4975930656934307 +2016,8,4,16,70.3660450209843570 +2016,8,4,17,40.3501840688912810 +2016,8,4,18,111.0351848094324100 +2016,8,4,19,63.0629592505854800 +2016,8,4,20,94.2470022670596240 +2016,8,4,21,10.0634637203166230 +2016,8,4,22,49.0879200762388820 +2016,8,4,23,23.7079982971477220 +2016,8,5,0,28.9202116946399570 +2016,8,5,1,60.5840482187837350 +2016,8,5,2,34.2454046076313890 +2016,8,5,3,26.3180027100271000 +2016,8,5,4,27.4047251497005990 +2016,8,5,5,22.3780671462829740 +2016,8,5,6,41.4588378921962990 +2016,8,5,7,62.6991675955414010 +2016,8,5,8,88.7716758230236950 +2016,8,5,9,40.4319411764705880 +2016,8,5,10,72.9793152507676560 +2016,8,5,11,10.6647535971223020 +2016,8,5,12,159.3556583236321300 +2016,8,5,13,64.6945072587532020 +2016,8,5,14,74.9644142216085610 +2016,8,5,15,62.0095938270477580 +2016,8,5,16,36.5669031007751940 +2016,8,5,17,128.6374414414414410 +2016,8,5,18,112.1804886168910650 +2016,8,5,19,161.8682954545454550 +2016,8,5,20,95.8026952301719360 +2016,8,5,21,240.8415338457264560 +2016,8,5,22,155.3652810287871640 +2016,8,5,23,388.9544503679476700 +2016,8,6,0,15.9398834146341460 +2016,8,6,1,190.7137858942065490 +2016,8,6,2,11.4065349143610010 +2016,8,6,3,236.7059518272425250 +2016,8,6,4,248.0312605042016810 +2016,8,6,5,0.24320833333333333330 +2016,8,6,6,0.26987500000000000000 +2016,8,6,7,0.31525000000000000000 +2016,8,6,8,1.2495535714285714 +2016,8,6,9,5.4469130434782609 +2016,8,6,10,0.33695833333333333330 +2016,8,6,11,91.8210377113133940 +2016,8,6,12,0.31939583333333333330 +2016,8,6,13,7.5832362869198312 +2016,8,6,14,7.8081323155216285 +2016,8,6,15,54.4206174812030080 +2016,8,6,16,1.6644098360655738 +2016,8,6,17,120.0108195020746890 +2016,8,6,18,128.2539524348810870 +2016,8,6,19,93.8680571705426360 +2016,8,6,20,1.6764107142857143 +2016,8,6,21,24.4085034965034970 +2016,8,6,22,96.0146023560209420 +2016,8,6,23,7.2911171450737005 +2016,8,7,0,22.7146944444444440 +2016,8,7,1,0.41214583333333333330 +2016,8,7,2,0.30702083333333333330 +2016,8,7,3,2.8580312500000000 +2016,8,7,4,0.26483333333333333330 +2016,8,7,5,0.26022916666666666670 +2016,8,7,6,0.27406250000000000000 +2016,8,7,7,0.31931250000000000000 +2016,8,7,8,0.35614583333333333330 +2016,8,7,9,4.6068000000000000 +2016,8,7,10,0.36356250000000000000 +2016,8,7,11,0.30760416666666666670 +2016,8,7,12,23.8985191570881230 +2016,8,7,13,4.0653140495867769 +2016,8,7,14,61.0720150753768840 +2016,8,7,15,14.6478756410256410 +2016,8,7,16,53.9795638455827770 +2016,8,7,17,97.2232321428571430 \ No newline at end of file diff --git a/examples/rerender/main.go b/examples/rerender/main.go new file mode 100644 index 0000000..155486b --- /dev/null +++ b/examples/rerender/main.go @@ -0,0 +1,48 @@ +package main + +import ( + "log" + "net/http" + "sync" + "time" + + "github.com/wcharczuk/go-chart/v2" +) + +var lock sync.Mutex +var graph *chart.Chart +var ts *chart.TimeSeries + +func addData(t time.Time, e time.Duration) { + lock.Lock() + ts.XValues = append(ts.XValues, t) + ts.YValues = append(ts.YValues, chart.TimeMillis(e)) + lock.Unlock() +} + +func drawChart(res http.ResponseWriter, req *http.Request) { + start := time.Now() + defer func() { + addData(start, time.Since(start)) + }() + if len(ts.XValues) == 0 { + http.Error(res, "no data (yet)", http.StatusBadRequest) + return + } + res.Header().Set("Content-Type", "image/png") + if err := graph.Render(chart.PNG, res); err != nil { + log.Printf("%v", err) + } +} + +func main() { + ts = &chart.TimeSeries{ + XValues: []time.Time{}, + YValues: []float64{}, + } + graph = &chart.Chart{ + Series: []chart.Series{ts}, + } + http.HandleFunc("/", drawChart) + log.Fatal(http.ListenAndServe(":8080", nil)) +} diff --git a/examples/scatter/main.go b/examples/scatter/main.go new file mode 100644 index 0000000..b9ce850 --- /dev/null +++ b/examples/scatter/main.go @@ -0,0 +1,69 @@ +package main + +import ( + "log" + "net/http" + + _ "net/http/pprof" + + "github.com/wcharczuk/go-chart/v2" + "github.com/wcharczuk/go-chart/v2/drawing" +) + +func drawChart(res http.ResponseWriter, req *http.Request) { + + viridisByY := func(xr, yr chart.Range, index int, x, y float64) drawing.Color { + return chart.Viridis(y, yr.GetMin(), yr.GetMax()) + } + + graph := chart.Chart{ + Series: []chart.Series{ + chart.ContinuousSeries{ + Style: chart.Style{ + StrokeWidth: chart.Disabled, + DotWidth: 5, + DotColorProvider: viridisByY, + }, + XValues: chart.Seq{Sequence: chart.NewLinearSequence().WithStart(0).WithEnd(127)}.Values(), + YValues: chart.Seq{Sequence: chart.NewRandomSequence().WithLen(128).WithMin(0).WithMax(1024)}.Values(), + }, + }, + } + + res.Header().Set("Content-Type", chart.ContentTypePNG) + err := graph.Render(chart.PNG, res) + if err != nil { + log.Println(err.Error()) + } +} + +func unit(res http.ResponseWriter, req *http.Request) { + graph := chart.Chart{ + Height: 50, + Width: 50, + Canvas: chart.Style{ + Padding: chart.BoxZero, + }, + Background: chart.Style{ + Padding: chart.BoxZero, + }, + Series: []chart.Series{ + chart.ContinuousSeries{ + XValues: chart.Seq{Sequence: chart.NewLinearSequence().WithStart(0).WithEnd(4)}.Values(), + YValues: chart.Seq{Sequence: chart.NewLinearSequence().WithStart(0).WithEnd(4)}.Values(), + }, + }, + } + + res.Header().Set("Content-Type", chart.ContentTypePNG) + err := graph.Render(chart.PNG, res) + if err != nil { + log.Println(err.Error()) + } +} + +func main() { + http.HandleFunc("/", drawChart) + http.HandleFunc("/unit", unit) + log.Fatal(http.ListenAndServe(":8080", nil)) +} diff --git a/examples/scatter/output.png b/examples/scatter/output.png new file mode 100644 index 0000000..eb920e2 Binary files /dev/null and b/examples/scatter/output.png differ diff --git a/examples/simple_moving_average/main.go b/examples/simple_moving_average/main.go new file mode 100644 index 0000000..742d15c --- /dev/null +++ b/examples/simple_moving_average/main.go @@ -0,0 +1,34 @@ +package main + +//go:generate go run main.go + +import ( + "os" + + "github.com/wcharczuk/go-chart/v2" +) + +func main() { + mainSeries := chart.ContinuousSeries{ + Name: "A test series", + XValues: chart.Seq{Sequence: chart.NewLinearSequence().WithStart(1.0).WithEnd(100.0)}.Values(), //generates a []float64 from 1.0 to 100.0 in 1.0 step increments, or 100 elements. + YValues: chart.Seq{Sequence: chart.NewRandomSequence().WithLen(100).WithMin(0).WithMax(100)}.Values(), //generates a []float64 randomly from 0 to 100 with 100 elements. + } + + // note we create a SimpleMovingAverage series by assignin the inner series. + // we need to use a reference because `.Render()` needs to modify state within the series. + smaSeries := &chart.SMASeries{ + InnerSeries: mainSeries, + } // we can optionally set the `WindowSize` property which alters how the moving average is calculated. + + graph := chart.Chart{ + Series: []chart.Series{ + mainSeries, + smaSeries, + }, + } + + f, _ := os.Create("output.png") + defer f.Close() + graph.Render(chart.PNG, f) +} diff --git a/examples/simple_moving_average/output.png b/examples/simple_moving_average/output.png new file mode 100644 index 0000000..1c00f38 Binary files /dev/null and b/examples/simple_moving_average/output.png differ diff --git a/examples/stacked_bar/main.go b/examples/stacked_bar/main.go new file mode 100644 index 0000000..b9537e3 --- /dev/null +++ b/examples/stacked_bar/main.go @@ -0,0 +1,53 @@ +package main + +import ( + "os" + + "github.com/wcharczuk/go-chart/v2" +) + +func main() { + sbc := chart.StackedBarChart{ + Title: "Test Stacked Bar Chart", + Background: chart.Style{ + Padding: chart.Box{ + Top: 40, + }, + }, + Height: 512, + Bars: []chart.StackedBar{ + { + Name: "This is a very long string to test word break wrapping.", + Values: []chart.Value{ + {Value: 5, Label: "Blue"}, + {Value: 5, Label: "Green"}, + {Value: 4, Label: "Gray"}, + {Value: 3, Label: "Orange"}, + {Value: 3, Label: "Test"}, + {Value: 2, Label: "??"}, + {Value: 1, Label: "!!"}, + }, + }, + { + Name: "Test", + Values: []chart.Value{ + {Value: 10, Label: "Blue"}, + {Value: 5, Label: "Green"}, + {Value: 1, Label: "Gray"}, + }, + }, + { + Name: "Test 2", + Values: []chart.Value{ + {Value: 10, Label: "Blue"}, + {Value: 6, Label: "Green"}, + {Value: 4, Label: "Gray"}, + }, + }, + }, + } + + f, _ := os.Create("output.png") + defer f.Close() + sbc.Render(chart.PNG, f) +} diff --git a/examples/stacked_bar/output.png b/examples/stacked_bar/output.png new file mode 100644 index 0000000..c503c7b Binary files /dev/null and b/examples/stacked_bar/output.png differ diff --git a/examples/stacked_bar_labels/main.go b/examples/stacked_bar_labels/main.go new file mode 100644 index 0000000..314f1b4 --- /dev/null +++ b/examples/stacked_bar_labels/main.go @@ -0,0 +1,221 @@ +package main + +import ( + "os" + + "github.com/wcharczuk/go-chart/v2" + "github.com/wcharczuk/go-chart/v2/drawing" +) + +func main() { + chart.DefaultBackgroundColor = chart.ColorTransparent + chart.DefaultCanvasColor = chart.ColorTransparent + + barWidth := 120 + + var ( + colorWhite = drawing.Color{R: 241, G: 241, B: 241, A: 255} + colorMariner = drawing.Color{R: 60, G: 100, B: 148, A: 255} + colorLightSteelBlue = drawing.Color{R: 182, G: 195, B: 220, A: 255} + colorPoloBlue = drawing.Color{R: 126, G: 155, B: 200, A: 255} + colorSteelBlue = drawing.Color{R: 73, G: 120, B: 177, A: 255} + ) + + stackedBarChart := chart.StackedBarChart{ + Title: "Quarterly Sales", + TitleStyle: chart.Shown(), + Background: chart.Style{ + Padding: chart.Box{ + Top: 100, + }, + }, + Width: 810, + Height: 500, + XAxis: chart.Shown(), + YAxis: chart.Shown(), + BarSpacing: 50, + Bars: []chart.StackedBar{ + { + Name: "Q1", + Width: barWidth, + Values: []chart.Value{ + { + Label: "32K", + Value: 32, + Style: chart.Style{ + StrokeWidth: .01, + FillColor: colorMariner, + FontColor: colorWhite, + }, + }, + { + Label: "46K", + Value: 46, + Style: chart.Style{ + StrokeWidth: .01, + FillColor: colorLightSteelBlue, + FontColor: colorWhite, + }, + }, + { + Label: "48K", + Value: 48, + Style: chart.Style{ + StrokeWidth: .01, + FillColor: colorPoloBlue, + FontColor: colorWhite, + }, + }, + { + Label: "42K", + Value: 42, + Style: chart.Style{ + StrokeWidth: .01, + FillColor: colorSteelBlue, + FontColor: colorWhite, + }, + }, + }, + }, + { + Name: "Q2", + Width: barWidth, + Values: []chart.Value{ + { + Label: "45K", + Value: 45, + Style: chart.Style{ + StrokeWidth: .01, + FillColor: colorMariner, + FontColor: colorWhite, + }, + }, + { + Label: "60K", + Value: 60, + Style: chart.Style{ + StrokeWidth: .01, + FillColor: colorLightSteelBlue, + FontColor: colorWhite, + }, + }, + { + Label: "62K", + Value: 62, + Style: chart.Style{ + StrokeWidth: .01, + FillColor: colorPoloBlue, + FontColor: colorWhite, + }, + }, + { + Label: "53K", + Value: 53, + Style: chart.Style{ + StrokeWidth: .01, + FillColor: colorSteelBlue, + FontColor: colorWhite, + }, + }, + }, + }, + { + Name: "Q3", + Width: barWidth, + Values: []chart.Value{ + { + Label: "54K", + Value: 54, + Style: chart.Style{ + StrokeWidth: .01, + FillColor: colorMariner, + FontColor: colorWhite, + }, + }, + { + Label: "58K", + Value: 58, + Style: chart.Style{ + StrokeWidth: .01, + FillColor: colorLightSteelBlue, + FontColor: colorWhite, + }, + }, + { + Label: "55K", + Value: 55, + Style: chart.Style{ + StrokeWidth: .01, + FillColor: colorPoloBlue, + FontColor: colorWhite, + }, + }, + { + Label: "47K", + Value: 47, + Style: chart.Style{ + StrokeWidth: .01, + FillColor: colorSteelBlue, + FontColor: colorWhite, + }, + }, + }, + }, + { + Name: "Q4", + Width: barWidth, + Values: []chart.Value{ + { + Label: "46K", + Value: 46, + Style: chart.Style{ + StrokeWidth: .01, + FillColor: colorMariner, + FontColor: colorWhite, + }, + }, + { + Label: "70K", + Value: 70, + Style: chart.Style{ + StrokeWidth: .01, + FillColor: colorLightSteelBlue, + FontColor: colorWhite, + }, + }, + { + Label: "74K", + Value: 74, + Style: chart.Style{ + StrokeWidth: .01, + FillColor: colorPoloBlue, + FontColor: colorWhite, + }, + }, + { + Label: "60K", + Value: 60, + Style: chart.Style{ + StrokeWidth: .01, + FillColor: colorSteelBlue, + FontColor: colorWhite, + }, + }, + }, + }, + }, + } + + pngFile, err := os.Create("output.png") + if err != nil { + panic(err) + } + + if err := stackedBarChart.Render(chart.PNG, pngFile); err != nil { + panic(err) + } + + if err := pngFile.Close(); err != nil { + panic(err) + } +} diff --git a/examples/stacked_bar_labels/output.png b/examples/stacked_bar_labels/output.png new file mode 100644 index 0000000..d5f7e97 Binary files /dev/null and b/examples/stacked_bar_labels/output.png differ diff --git a/examples/stock_analysis/main.go b/examples/stock_analysis/main.go new file mode 100644 index 0000000..b7ccadc --- /dev/null +++ b/examples/stock_analysis/main.go @@ -0,0 +1,78 @@ +package main + +//go:generate go run main.go + +import ( + "os" + "time" + + "github.com/wcharczuk/go-chart/v2" + "github.com/wcharczuk/go-chart/v2/drawing" +) + +func main() { + xv, yv := xvalues(), yvalues() + + priceSeries := chart.TimeSeries{ + Name: "SPY", + Style: chart.Style{ + StrokeColor: chart.GetDefaultColor(0), + }, + XValues: xv, + YValues: yv, + } + + smaSeries := chart.SMASeries{ + Name: "SPY - SMA", + Style: chart.Style{ + StrokeColor: drawing.ColorRed, + StrokeDashArray: []float64{5.0, 5.0}, + }, + InnerSeries: priceSeries, + } + + bbSeries := &chart.BollingerBandsSeries{ + Name: "SPY - Bol. Bands", + Style: chart.Style{ + StrokeColor: drawing.ColorFromHex("efefef"), + FillColor: drawing.ColorFromHex("efefef").WithAlpha(64), + }, + InnerSeries: priceSeries, + } + + graph := chart.Chart{ + XAxis: chart.XAxis{ + TickPosition: chart.TickPositionBetweenTicks, + }, + YAxis: chart.YAxis{ + Range: &chart.ContinuousRange{ + Max: 220.0, + Min: 180.0, + }, + }, + Series: []chart.Series{ + bbSeries, + priceSeries, + smaSeries, + }, + } + + f, _ := os.Create("output.png") + defer f.Close() + graph.Render(chart.PNG, f) +} + +func xvalues() []time.Time { + rawx := []string{"2015-07-17", "2015-07-20", "2015-07-21", "2015-07-22", "2015-07-23", "2015-07-24", "2015-07-27", "2015-07-28", "2015-07-29", "2015-07-30", "2015-07-31", "2015-08-03", "2015-08-04", "2015-08-05", "2015-08-06", "2015-08-07", "2015-08-10", "2015-08-11", "2015-08-12", "2015-08-13", "2015-08-14", "2015-08-17", "2015-08-18", "2015-08-19", "2015-08-20", "2015-08-21", "2015-08-24", "2015-08-25", "2015-08-26", "2015-08-27", "2015-08-28", "2015-08-31", "2015-09-01", "2015-09-02", "2015-09-03", "2015-09-04", "2015-09-08", "2015-09-09", "2015-09-10", "2015-09-11", "2015-09-14", "2015-09-15", "2015-09-16", "2015-09-17", "2015-09-18", "2015-09-21", "2015-09-22", "2015-09-23", "2015-09-24", "2015-09-25", "2015-09-28", "2015-09-29", "2015-09-30", "2015-10-01", "2015-10-02", "2015-10-05", "2015-10-06", "2015-10-07", "2015-10-08", "2015-10-09", "2015-10-12", "2015-10-13", "2015-10-14", "2015-10-15", "2015-10-16", "2015-10-19", "2015-10-20", "2015-10-21", "2015-10-22", "2015-10-23", "2015-10-26", "2015-10-27", "2015-10-28", "2015-10-29", "2015-10-30", "2015-11-02", "2015-11-03", "2015-11-04", "2015-11-05", "2015-11-06", "2015-11-09", "2015-11-10", "2015-11-11", "2015-11-12", "2015-11-13", "2015-11-16", "2015-11-17", "2015-11-18", "2015-11-19", "2015-11-20", "2015-11-23", "2015-11-24", "2015-11-25", "2015-11-27", "2015-11-30", "2015-12-01", "2015-12-02", "2015-12-03", "2015-12-04", "2015-12-07", "2015-12-08", "2015-12-09", "2015-12-10", "2015-12-11", "2015-12-14", "2015-12-15", "2015-12-16", "2015-12-17", "2015-12-18", "2015-12-21", "2015-12-22", "2015-12-23", "2015-12-24", "2015-12-28", "2015-12-29", "2015-12-30", "2015-12-31", "2016-01-04", "2016-01-05", "2016-01-06", "2016-01-07", "2016-01-08", "2016-01-11", "2016-01-12", "2016-01-13", "2016-01-14", "2016-01-15", "2016-01-19", "2016-01-20", "2016-01-21", "2016-01-22", "2016-01-25", "2016-01-26", "2016-01-27", "2016-01-28", "2016-01-29", "2016-02-01", "2016-02-02", "2016-02-03", "2016-02-04", "2016-02-05", "2016-02-08", "2016-02-09", "2016-02-10", "2016-02-11", "2016-02-12", "2016-02-16", "2016-02-17", "2016-02-18", "2016-02-19", "2016-02-22", "2016-02-23", "2016-02-24", "2016-02-25", "2016-02-26", "2016-02-29", "2016-03-01", "2016-03-02", "2016-03-03", "2016-03-04", "2016-03-07", "2016-03-08", "2016-03-09", "2016-03-10", "2016-03-11", "2016-03-14", "2016-03-15", "2016-03-16", "2016-03-17", "2016-03-18", "2016-03-21", "2016-03-22", "2016-03-23", "2016-03-24", "2016-03-28", "2016-03-29", "2016-03-30", "2016-03-31", "2016-04-01", "2016-04-04", "2016-04-05", "2016-04-06", "2016-04-07", "2016-04-08", "2016-04-11", "2016-04-12", "2016-04-13", "2016-04-14", "2016-04-15", "2016-04-18", "2016-04-19", "2016-04-20", "2016-04-21", "2016-04-22", "2016-04-25", "2016-04-26", "2016-04-27", "2016-04-28", "2016-04-29", "2016-05-02", "2016-05-03", "2016-05-04", "2016-05-05", "2016-05-06", "2016-05-09", "2016-05-10", "2016-05-11", "2016-05-12", "2016-05-13", "2016-05-16", "2016-05-17", "2016-05-18", "2016-05-19", "2016-05-20", "2016-05-23", "2016-05-24", "2016-05-25", "2016-05-26", "2016-05-27", "2016-05-31", "2016-06-01", "2016-06-02", "2016-06-03", "2016-06-06", "2016-06-07", "2016-06-08", "2016-06-09", "2016-06-10", "2016-06-13", "2016-06-14", "2016-06-15", "2016-06-16", "2016-06-17", "2016-06-20", "2016-06-21", "2016-06-22", "2016-06-23", "2016-06-24", "2016-06-27", "2016-06-28", "2016-06-29", "2016-06-30", "2016-07-01", "2016-07-05", "2016-07-06", "2016-07-07", "2016-07-08", "2016-07-11", "2016-07-12", "2016-07-13", "2016-07-14", "2016-07-15"} + + var dates []time.Time + for _, ts := range rawx { + parsed, _ := time.Parse(chart.DefaultDateFormat, ts) + dates = append(dates, parsed) + } + return dates +} + +func yvalues() []float64 { + return []float64{212.47, 212.59, 211.76, 211.37, 210.18, 208.00, 206.79, 209.33, 210.77, 210.82, 210.50, 209.79, 209.38, 210.07, 208.35, 207.95, 210.57, 208.66, 208.92, 208.66, 209.42, 210.59, 209.98, 208.32, 203.97, 197.83, 189.50, 187.27, 194.46, 199.27, 199.28, 197.67, 191.77, 195.41, 195.55, 192.59, 197.43, 194.79, 195.85, 196.74, 196.01, 198.45, 200.18, 199.73, 195.45, 196.46, 193.90, 193.60, 192.90, 192.87, 188.01, 188.12, 191.63, 192.13, 195.00, 198.47, 197.79, 199.41, 201.21, 201.33, 201.52, 200.25, 199.29, 202.35, 203.27, 203.37, 203.11, 201.85, 205.26, 207.51, 207.00, 206.60, 208.95, 208.83, 207.93, 210.39, 211.00, 210.36, 210.15, 210.04, 208.08, 208.56, 207.74, 204.84, 202.54, 205.62, 205.47, 208.73, 208.55, 209.31, 209.07, 209.35, 209.32, 209.56, 208.69, 210.68, 208.53, 205.61, 209.62, 208.35, 206.95, 205.34, 205.87, 201.88, 202.90, 205.03, 208.03, 204.86, 200.02, 201.67, 203.50, 206.02, 205.68, 205.21, 207.40, 205.93, 203.87, 201.02, 201.36, 198.82, 194.05, 191.92, 192.11, 193.66, 188.83, 191.93, 187.81, 188.06, 185.65, 186.69, 190.52, 187.64, 190.20, 188.13, 189.11, 193.72, 193.65, 190.16, 191.30, 191.60, 187.95, 185.42, 185.43, 185.27, 182.86, 186.63, 189.78, 192.88, 192.09, 192.00, 194.78, 192.32, 193.20, 195.54, 195.09, 193.56, 198.11, 199.00, 199.78, 200.43, 200.59, 198.40, 199.38, 199.54, 202.76, 202.50, 202.17, 203.34, 204.63, 204.38, 204.67, 204.56, 203.21, 203.12, 203.24, 205.12, 206.02, 205.52, 206.92, 206.25, 204.19, 206.42, 203.95, 204.50, 204.02, 205.92, 208.00, 208.01, 207.78, 209.24, 209.90, 210.10, 208.97, 208.97, 208.61, 208.92, 209.35, 207.45, 206.33, 207.97, 206.16, 205.01, 204.97, 205.72, 205.89, 208.45, 206.50, 206.56, 204.76, 206.78, 204.85, 204.91, 204.20, 205.49, 205.21, 207.87, 209.28, 209.34, 210.24, 209.84, 210.27, 210.91, 210.28, 211.35, 211.68, 212.37, 212.08, 210.07, 208.45, 208.04, 207.75, 208.37, 206.52, 207.85, 208.44, 208.10, 210.81, 203.24, 199.60, 203.20, 206.66, 209.48, 209.92, 208.41, 209.66, 209.53, 212.65, 213.40, 214.95, 214.92, 216.12, 215.83} +} diff --git a/examples/stock_analysis/output.png b/examples/stock_analysis/output.png new file mode 100644 index 0000000..dc804c8 Binary files /dev/null and b/examples/stock_analysis/output.png differ diff --git a/examples/text_rotation/main.go b/examples/text_rotation/main.go new file mode 100644 index 0000000..28fe0ab --- /dev/null +++ b/examples/text_rotation/main.go @@ -0,0 +1,51 @@ +package main + +//go:generate go run main.go + +import ( + "os" + + "github.com/wcharczuk/go-chart/v2" + "github.com/wcharczuk/go-chart/v2/drawing" +) + +func main() { + f, _ := chart.GetDefaultFont() + r, _ := chart.PNG(1024, 1024) + + chart.Draw.Text(r, "Test", 64, 64, chart.Style{ + FontColor: drawing.ColorBlack, + FontSize: 18, + Font: f, + }) + + chart.Draw.Text(r, "Test", 64, 64, chart.Style{ + FontColor: drawing.ColorBlack, + FontSize: 18, + Font: f, + TextRotationDegrees: 45.0, + }) + + tb := chart.Draw.MeasureText(r, "Test", chart.Style{ + FontColor: drawing.ColorBlack, + FontSize: 18, + Font: f, + }).Shift(64, 64) + + tbc := tb.Corners().Rotate(45) + + chart.Draw.BoxCorners(r, tbc, chart.Style{ + StrokeColor: drawing.ColorRed, + StrokeWidth: 2, + }) + + tbcb := tbc.Box() + chart.Draw.Box(r, tbcb, chart.Style{ + StrokeColor: drawing.ColorBlue, + StrokeWidth: 2, + }) + + file, _ := os.Create("output.png") + defer file.Close() + r.Save(file) +} diff --git a/examples/text_rotation/output.png b/examples/text_rotation/output.png new file mode 100644 index 0000000..aac3a1d Binary files /dev/null and b/examples/text_rotation/output.png differ diff --git a/examples/timeseries/main.go b/examples/timeseries/main.go new file mode 100644 index 0000000..1540ccd --- /dev/null +++ b/examples/timeseries/main.go @@ -0,0 +1,79 @@ +package main + +import ( + "net/http" + "time" + + chart "github.com/wcharczuk/go-chart/v2" +) + +func drawChart(res http.ResponseWriter, req *http.Request) { + /* + This is an example of using the `TimeSeries` to automatically coerce time.Time values into a continuous xrange. + Note: chart.TimeSeries implements `ValueFormatterProvider` and as a result gives the XAxis the appropriate formatter to use for the ticks. + */ + graph := chart.Chart{ + Series: []chart.Series{ + chart.TimeSeries{ + XValues: []time.Time{ + time.Now().AddDate(0, 0, -10), + time.Now().AddDate(0, 0, -9), + time.Now().AddDate(0, 0, -8), + time.Now().AddDate(0, 0, -7), + time.Now().AddDate(0, 0, -6), + time.Now().AddDate(0, 0, -5), + time.Now().AddDate(0, 0, -4), + time.Now().AddDate(0, 0, -3), + time.Now().AddDate(0, 0, -2), + time.Now().AddDate(0, 0, -1), + time.Now(), + }, + YValues: []float64{1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0, 11.0}, + }, + }, + } + + res.Header().Set("Content-Type", "image/png") + graph.Render(chart.PNG, res) +} + +func drawCustomChart(res http.ResponseWriter, req *http.Request) { + /* + This is basically the other timeseries example, except we switch to hour intervals and specify a different formatter from default for the xaxis tick labels. + */ + graph := chart.Chart{ + XAxis: chart.XAxis{ + ValueFormatter: chart.TimeHourValueFormatter, + }, + Series: []chart.Series{ + chart.TimeSeries{ + XValues: []time.Time{ + time.Now().Add(-10 * time.Hour), + time.Now().Add(-9 * time.Hour), + time.Now().Add(-8 * time.Hour), + time.Now().Add(-7 * time.Hour), + time.Now().Add(-6 * time.Hour), + time.Now().Add(-5 * time.Hour), + time.Now().Add(-4 * time.Hour), + time.Now().Add(-3 * time.Hour), + time.Now().Add(-2 * time.Hour), + time.Now().Add(-1 * time.Hour), + time.Now(), + }, + YValues: []float64{1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0, 11.0}, + }, + }, + } + + res.Header().Set("Content-Type", "image/png") + graph.Render(chart.PNG, res) +} + +func main() { + http.HandleFunc("/", drawChart) + http.HandleFunc("/favicon.ico", func(res http.ResponseWriter, req *http.Request) { + res.Write([]byte{}) + }) + http.HandleFunc("/custom", drawCustomChart) + http.ListenAndServe(":8080", nil) +} diff --git a/examples/timeseries/output.png b/examples/timeseries/output.png new file mode 100644 index 0000000..ede73e0 Binary files /dev/null and b/examples/timeseries/output.png differ diff --git a/examples/twoaxis/main.go b/examples/twoaxis/main.go new file mode 100644 index 0000000..d86f362 --- /dev/null +++ b/examples/twoaxis/main.go @@ -0,0 +1,45 @@ +package main + +//go:generate go run main.go + +import ( + "fmt" + "os" + + "github.com/wcharczuk/go-chart/v2" +) + +func main() { + + /* + In this example we add a second series, and assign it to the secondary y axis, giving that series it's own range. + + We also enable all of the axes by setting the `Show` propery of their respective styles to `true`. + */ + + graph := chart.Chart{ + XAxis: chart.XAxis{ + TickPosition: chart.TickPositionBetweenTicks, + ValueFormatter: func(v interface{}) string { + typed := v.(float64) + typedDate := chart.TimeFromFloat64(typed) + return fmt.Sprintf("%d-%d\n%d", typedDate.Month(), typedDate.Day(), typedDate.Year()) + }, + }, + Series: []chart.Series{ + chart.ContinuousSeries{ + XValues: []float64{1.0, 2.0, 3.0, 4.0, 5.0}, + YValues: []float64{1.0, 2.0, 3.0, 4.0, 5.0}, + }, + chart.ContinuousSeries{ + YAxis: chart.YAxisSecondary, + XValues: []float64{1.0, 2.0, 3.0, 4.0, 5.0}, + YValues: []float64{50.0, 40.0, 30.0, 20.0, 10.0}, + }, + }, + } + + f, _ := os.Create("output.png") + defer f.Close() + graph.Render(chart.PNG, f) +} diff --git a/examples/twoaxis/output.png b/examples/twoaxis/output.png new file mode 100644 index 0000000..8b6b029 Binary files /dev/null and b/examples/twoaxis/output.png differ diff --git a/examples/twopoint/main.go b/examples/twopoint/main.go new file mode 100644 index 0000000..ad46905 --- /dev/null +++ b/examples/twopoint/main.go @@ -0,0 +1,63 @@ +package main + +//go:generate go run main.go + +import ( + "bytes" + "log" + "os" + + "github.com/wcharczuk/go-chart/v2" +) + +func main() { + var b float64 + b = 1000 + + ts1 := chart.ContinuousSeries{ //TimeSeries{ + Name: "Time Series", + XValues: []float64{10 * b, 20 * b, 30 * b, 40 * b, 50 * b, 60 * b, 70 * b, 80 * b}, + YValues: []float64{1.0, 2.0, 30.0, 4.0, 50.0, 6.0, 7.0, 88.0}, + } + + ts2 := chart.ContinuousSeries{ //TimeSeries{ + Style: chart.Style{ + StrokeColor: chart.GetDefaultColor(1), + }, + + XValues: []float64{10 * b, 20 * b, 30 * b, 40 * b, 50 * b, 60 * b, 70 * b, 80 * b}, + YValues: []float64{15.0, 52.0, 30.0, 42.0, 50.0, 26.0, 77.0, 38.0}, + } + + graph := chart.Chart{ + + XAxis: chart.XAxis{ + Name: "The XAxis", + ValueFormatter: chart.TimeMinuteValueFormatter, //TimeHourValueFormatter, + }, + + YAxis: chart.YAxis{ + Name: "The YAxis", + }, + + Series: []chart.Series{ + ts1, + ts2, + }, + } + + buffer := bytes.NewBuffer([]byte{}) + err := graph.Render(chart.PNG, buffer) + if err != nil { + log.Fatal(err) + } + + fo, err := os.Create("output.png") + if err != nil { + panic(err) + } + + if _, err := fo.Write(buffer.Bytes()); err != nil { + panic(err) + } +} diff --git a/examples/twopoint/output.png b/examples/twopoint/output.png new file mode 100644 index 0000000..10059e7 Binary files /dev/null and b/examples/twopoint/output.png differ diff --git a/fileutil.go b/fileutil.go new file mode 100644 index 0000000..f1a7768 --- /dev/null +++ b/fileutil.go @@ -0,0 +1,49 @@ +package chart + +import ( + "bufio" + "io" + "os" +) + +// ReadLines reads a file and calls the handler for each line. +func ReadLines(filePath string, handler func(string) error) error { + f, err := os.Open(filePath) + if err != nil { + return err + } + defer f.Close() + + scanner := bufio.NewScanner(f) + for scanner.Scan() { + line := scanner.Text() + err = handler(line) + if err != nil { + return err + } + } + return nil +} + +// ReadChunks reads a file in `chunkSize` pieces, dispatched to the handler. +func ReadChunks(filePath string, chunkSize int, handler func([]byte) error) error { + f, err := os.Open(filePath) + if err != nil { + return err + } + defer f.Close() + + chunk := make([]byte, chunkSize) + for { + readBytes, err := f.Read(chunk) + if err == io.EOF { + break + } + readData := chunk[:readBytes] + err = handler(readData) + if err != nil { + return err + } + } + return nil +} diff --git a/first_value_annotation.go b/first_value_annotation.go new file mode 100644 index 0000000..2b214b3 --- /dev/null +++ b/first_value_annotation.go @@ -0,0 +1,37 @@ +package chart + +import "fmt" + +// FirstValueAnnotation returns an annotation series of just the first value of a value provider as an annotation. +func FirstValueAnnotation(innerSeries ValuesProvider, vfs ...ValueFormatter) AnnotationSeries { + var vf ValueFormatter + if len(vfs) > 0 { + vf = vfs[0] + } else if typed, isTyped := innerSeries.(ValueFormatterProvider); isTyped { + _, vf = typed.GetValueFormatters() + } else { + vf = FloatValueFormatter + } + + var firstValue Value2 + if typed, isTyped := innerSeries.(FirstValuesProvider); isTyped { + firstValue.XValue, firstValue.YValue = typed.GetFirstValues() + firstValue.Label = vf(firstValue.YValue) + } else { + firstValue.XValue, firstValue.YValue = innerSeries.GetValues(0) + firstValue.Label = vf(firstValue.YValue) + } + + var seriesName string + var seriesStyle Style + if typed, isTyped := innerSeries.(Series); isTyped { + seriesName = fmt.Sprintf("%s - First Value", typed.GetName()) + seriesStyle = typed.GetStyle() + } + + return AnnotationSeries{ + Name: seriesName, + Style: seriesStyle, + Annotations: []Value2{firstValue}, + } +} diff --git a/first_value_annotation_test.go b/first_value_annotation_test.go new file mode 100644 index 0000000..3675763 --- /dev/null +++ b/first_value_annotation_test.go @@ -0,0 +1,22 @@ +package chart + +import ( + "testing" + + "github.com/wcharczuk/go-chart/v2/testutil" +) + +func TestFirstValueAnnotation(t *testing.T) { + // replaced new assertions helper + + series := ContinuousSeries{ + XValues: []float64{1.0, 2.0, 3.0, 4.0, 5.0}, + YValues: []float64{5.0, 3.0, 3.0, 2.0, 1.0}, + } + + fva := FirstValueAnnotation(series) + testutil.AssertNotEmpty(t, fva.Annotations) + fvaa := fva.Annotations[0] + testutil.AssertEqual(t, 1, fvaa.XValue) + testutil.AssertEqual(t, 5, fvaa.YValue) +} diff --git a/font.go b/font.go new file mode 100644 index 0000000..401143b --- /dev/null +++ b/font.go @@ -0,0 +1,29 @@ +package chart + +import ( + "sync" + + "github.com/golang/freetype/truetype" + "github.com/wcharczuk/go-chart/v2/roboto" +) + +var ( + _defaultFontLock sync.Mutex + _defaultFont *truetype.Font +) + +// GetDefaultFont returns the default font (Roboto-Medium). +func GetDefaultFont() (*truetype.Font, error) { + if _defaultFont == nil { + _defaultFontLock.Lock() + defer _defaultFontLock.Unlock() + if _defaultFont == nil { + font, err := truetype.Parse(roboto.Roboto) + if err != nil { + return nil, err + } + _defaultFont = font + } + } + return _defaultFont, nil +} diff --git a/go.mod b/go.mod new file mode 100644 index 0000000..f131b24 --- /dev/null +++ b/go.mod @@ -0,0 +1,8 @@ +module github.com/wcharczuk/go-chart/v2 + +go 1.15 + +require ( + github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0 + golang.org/x/image v0.18.0 +) diff --git a/go.sum b/go.sum new file mode 100644 index 0000000..e7a302c --- /dev/null +++ b/go.sum @@ -0,0 +1,64 @@ +github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0 h1:DACJavvAHhabrF08vX0COfcOBJRhZ8lUbR+ZWIs0Y5g= +github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0/go.mod h1:E/TSTwGwJL78qG/PmXZO1EjYhfJinVAhrmmHX6Z8B9k= +github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= +github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= +golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= +golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= +golang.org/x/crypto v0.13.0/go.mod h1:y6Z2r+Rw4iayiXXAIxJIDAJ1zMW4yaTpebo8fPOliYc= +golang.org/x/crypto v0.19.0/go.mod h1:Iy9bg/ha4yyC70EfRS8jz+B6ybOBKMaSxLj6P6oBDfU= +golang.org/x/crypto v0.23.0/go.mod h1:CKFgDieR+mRhux2Lsu27y0fO304Db0wZe70UKqHu0v8= +golang.org/x/image v0.18.0 h1:jGzIakQa/ZXI1I0Fxvaa9W7yP25TqT6cHIHn+6CqvSQ= +golang.org/x/image v0.18.0/go.mod h1:4yyo5vMFQjVjUcVk4jEQcU9MGy/rulF5WvUILseCM2E= +golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= +golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= +golang.org/x/mod v0.12.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= +golang.org/x/mod v0.15.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= +golang.org/x/mod v0.17.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= +golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= +golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= +golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= +golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg= +golang.org/x/net v0.15.0/go.mod h1:idbUs1IY1+zTqbi8yxTbhexhEEk5ur9LInksu6HrEpk= +golang.org/x/net v0.21.0/go.mod h1:bIjVDfnllIU7BJ2DNgfnXvpSvtn8VRwhlsaeUTyUS44= +golang.org/x/net v0.25.0/go.mod h1:JkAGAh7GEvH74S6FOH42FLoXpXbE/aqXSrIQjXgsiwM= +golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.3.0/go.mod h1:FU7BRWz2tNW+3quACPkgCx/L+uEAv1htQ0V83Z9Rj+Y= +golang.org/x/sync v0.6.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= +golang.org/x/sync v0.7.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= +golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.20.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/telemetry v0.0.0-20240228155512-f48c80bd79b2/go.mod h1:TeRTkGYfJXctD9OcfyVLyj2J3IxLnKwHJR8f4D8a3YE= +golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= +golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= +golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= +golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo= +golang.org/x/term v0.12.0/go.mod h1:owVbMEjm3cBLCHdkQu9b1opXd4ETQWc3BhuQGKgXgvU= +golang.org/x/term v0.17.0/go.mod h1:lLRBjIVuehSbZlaOtGMbcMncT+aqLLLmKrsjNrUguwk= +golang.org/x/term v0.20.0/go.mod h1:8UkIAJTvZgivsXaD6/pH6U9ecQzZ45awqEOzuCvwpFY= +golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= +golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= +golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= +golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= +golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= +golang.org/x/text v0.15.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= +golang.org/x/text v0.16.0/go.mod h1:GhwF1Be+LQoKShO3cGOHzqOgRrGaYc9AvblQOmPVHnI= +golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= +golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU= +golang.org/x/tools v0.13.0/go.mod h1:HvlwmtVNQAhOuCjW7xxvovg8wbNq7LwfXh/k7wXUl58= +golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk= +golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= diff --git a/grid_line.go b/grid_line.go new file mode 100644 index 0000000..80274bd --- /dev/null +++ b/grid_line.go @@ -0,0 +1,72 @@ +package chart + +// GridLineProvider is a type that provides grid lines. +type GridLineProvider interface { + GetGridLines(ticks []Tick, isVertical bool, majorStyle, minorStyle Style) []GridLine +} + +// GridLine is a line on a graph canvas. +type GridLine struct { + IsMinor bool + Style Style + Value float64 +} + +// Major returns if the gridline is a `major` line. +func (gl GridLine) Major() bool { + return !gl.IsMinor +} + +// Minor returns if the gridline is a `minor` line. +func (gl GridLine) Minor() bool { + return gl.IsMinor +} + +// Render renders the gridline +func (gl GridLine) Render(r Renderer, canvasBox Box, ra Range, isVertical bool, defaults Style) { + r.SetStrokeColor(gl.Style.GetStrokeColor(defaults.GetStrokeColor())) + r.SetStrokeWidth(gl.Style.GetStrokeWidth(defaults.GetStrokeWidth())) + r.SetStrokeDashArray(gl.Style.GetStrokeDashArray(defaults.GetStrokeDashArray())) + + if isVertical { + lineLeft := canvasBox.Left + ra.Translate(gl.Value) + lineBottom := canvasBox.Bottom + lineTop := canvasBox.Top + + r.MoveTo(lineLeft, lineBottom) + r.LineTo(lineLeft, lineTop) + r.Stroke() + } else { + lineLeft := canvasBox.Left + lineRight := canvasBox.Right + lineHeight := canvasBox.Bottom - ra.Translate(gl.Value) + + r.MoveTo(lineLeft, lineHeight) + r.LineTo(lineRight, lineHeight) + r.Stroke() + } +} + +// GenerateGridLines generates grid lines. +func GenerateGridLines(ticks []Tick, majorStyle, minorStyle Style) []GridLine { + var gl []GridLine + isMinor := false + + if len(ticks) < 3 { + return gl + } + + for _, t := range ticks[1 : len(ticks)-1] { + s := majorStyle + if isMinor { + s = minorStyle + } + gl = append(gl, GridLine{ + Style: s, + IsMinor: isMinor, + Value: t.Value, + }) + isMinor = !isMinor + } + return gl +} diff --git a/grid_line_test.go b/grid_line_test.go new file mode 100644 index 0000000..0e96d91 --- /dev/null +++ b/grid_line_test.go @@ -0,0 +1,24 @@ +package chart + +import ( + "testing" + + "github.com/wcharczuk/go-chart/v2/testutil" +) + +func TestGenerateGridLines(t *testing.T) { + // replaced new assertions helper + + ticks := []Tick{ + {Value: 1.0, Label: "1.0"}, + {Value: 2.0, Label: "2.0"}, + {Value: 3.0, Label: "3.0"}, + {Value: 4.0, Label: "4.0"}, + } + + gl := GenerateGridLines(ticks, Style{}, Style{}) + testutil.AssertLen(t, gl, 2) + + testutil.AssertEqual(t, 2.0, gl[0].Value) + testutil.AssertEqual(t, 3.0, gl[1].Value) +} diff --git a/histogram_series.go b/histogram_series.go new file mode 100644 index 0000000..a21571d --- /dev/null +++ b/histogram_series.go @@ -0,0 +1,67 @@ +package chart + +import "fmt" + +// HistogramSeries is a special type of series that draws as a histogram. +// Some peculiarities; it will always be lower bounded at 0 (at the very least). +// This may alter ranges a bit and generally you want to put a histogram series on it's own y-axis. +type HistogramSeries struct { + Name string + Style Style + YAxis YAxisType + InnerSeries ValuesProvider +} + +// GetName implements Series.GetName. +func (hs HistogramSeries) GetName() string { + return hs.Name +} + +// GetStyle implements Series.GetStyle. +func (hs HistogramSeries) GetStyle() Style { + return hs.Style +} + +// GetYAxis returns which yaxis the series is mapped to. +func (hs HistogramSeries) GetYAxis() YAxisType { + return hs.YAxis +} + +// Len implements BoundedValuesProvider.Len. +func (hs HistogramSeries) Len() int { + return hs.InnerSeries.Len() +} + +// GetValues implements ValuesProvider.GetValues. +func (hs HistogramSeries) GetValues(index int) (x, y float64) { + return hs.InnerSeries.GetValues(index) +} + +// GetBoundedValues implements BoundedValuesProvider.GetBoundedValue +func (hs HistogramSeries) GetBoundedValues(index int) (x, y1, y2 float64) { + vx, vy := hs.InnerSeries.GetValues(index) + + x = vx + + if vy > 0 { + y1 = vy + return + } + + y2 = vy + return +} + +// Render implements Series.Render. +func (hs HistogramSeries) Render(r Renderer, canvasBox Box, xrange, yrange Range, defaults Style) { + style := hs.Style.InheritFrom(defaults) + Draw.HistogramSeries(r, canvasBox, xrange, yrange, style, hs) +} + +// Validate validates the series. +func (hs HistogramSeries) Validate() error { + if hs.InnerSeries == nil { + return fmt.Errorf("histogram series requires InnerSeries to be set") + } + return nil +} diff --git a/histogram_series_test.go b/histogram_series_test.go new file mode 100644 index 0000000..ff0ee54 --- /dev/null +++ b/histogram_series_test.go @@ -0,0 +1,31 @@ +package chart + +import ( + "testing" + + "github.com/wcharczuk/go-chart/v2/testutil" +) + +func TestHistogramSeries(t *testing.T) { + // replaced new assertions helper + + cs := ContinuousSeries{ + Name: "Test Series", + XValues: LinearRange(1.0, 20.0), + YValues: LinearRange(10.0, -10.0), + } + + hs := HistogramSeries{ + InnerSeries: cs, + } + + for x := 0; x < hs.Len(); x++ { + csx, csy := cs.GetValues(0) + hsx, hsy1, hsy2 := hs.GetBoundedValues(0) + testutil.AssertEqual(t, csx, hsx) + testutil.AssertTrue(t, hsy1 > 0) + testutil.AssertTrue(t, hsy2 <= 0) + testutil.AssertTrue(t, csy < 0 || (csy > 0 && csy == hsy1)) + testutil.AssertTrue(t, csy > 0 || (csy < 0 && csy == hsy2)) + } +} diff --git a/image_writer.go b/image_writer.go new file mode 100644 index 0000000..85ce0c0 --- /dev/null +++ b/image_writer.go @@ -0,0 +1,42 @@ +package chart + +import ( + "bytes" + "errors" + "image" + "image/png" +) + +// RGBACollector is a render target for a chart. +type RGBACollector interface { + SetRGBA(i *image.RGBA) +} + +// ImageWriter is a special type of io.Writer that produces a final image. +type ImageWriter struct { + rgba *image.RGBA + contents *bytes.Buffer +} + +func (ir *ImageWriter) Write(buffer []byte) (int, error) { + if ir.contents == nil { + ir.contents = bytes.NewBuffer([]byte{}) + } + return ir.contents.Write(buffer) +} + +// SetRGBA sets a raw version of the image. +func (ir *ImageWriter) SetRGBA(i *image.RGBA) { + ir.rgba = i +} + +// Image returns an *image.Image for the result. +func (ir *ImageWriter) Image() (image.Image, error) { + if ir.rgba != nil { + return ir.rgba, nil + } + if ir.contents != nil && ir.contents.Len() > 0 { + return png.Decode(ir.contents) + } + return nil, errors.New("no valid sources for image data, cannot continue") +} diff --git a/jet.go b/jet.go new file mode 100644 index 0000000..cce8c85 --- /dev/null +++ b/jet.go @@ -0,0 +1,33 @@ +package chart + +import "github.com/wcharczuk/go-chart/v2/drawing" + +// Jet is a color map provider based on matlab's jet color map. +func Jet(v, vmin, vmax float64) drawing.Color { + c := drawing.Color{R: 0xff, G: 0xff, B: 0xff, A: 0xff} // white + var dv float64 + + if v < vmin { + v = vmin + } + if v > vmax { + v = vmax + } + dv = vmax - vmin + + if v < (vmin + 0.25*dv) { + c.R = 0 + c.G = drawing.ColorChannelFromFloat(4 * (v - vmin) / dv) + } else if v < (vmin + 0.5*dv) { + c.R = 0 + c.B = drawing.ColorChannelFromFloat(1 + 4*(vmin+0.25*dv-v)/dv) + } else if v < (vmin + 0.75*dv) { + c.R = drawing.ColorChannelFromFloat(4 * (v - vmin - 0.5*dv) / dv) + c.B = 0 + } else { + c.G = drawing.ColorChannelFromFloat(1 + 4*(vmin+0.75*dv-v)/dv) + c.B = 0 + } + + return c +} diff --git a/last_value_annotation_series.go b/last_value_annotation_series.go new file mode 100644 index 0000000..550c367 --- /dev/null +++ b/last_value_annotation_series.go @@ -0,0 +1,37 @@ +package chart + +import "fmt" + +// LastValueAnnotationSeries returns an annotation series of just the last value of a value provider. +func LastValueAnnotationSeries(innerSeries ValuesProvider, vfs ...ValueFormatter) AnnotationSeries { + var vf ValueFormatter + if len(vfs) > 0 { + vf = vfs[0] + } else if typed, isTyped := innerSeries.(ValueFormatterProvider); isTyped { + _, vf = typed.GetValueFormatters() + } else { + vf = FloatValueFormatter + } + + var lastValue Value2 + if typed, isTyped := innerSeries.(LastValuesProvider); isTyped { + lastValue.XValue, lastValue.YValue = typed.GetLastValues() + lastValue.Label = vf(lastValue.YValue) + } else { + lastValue.XValue, lastValue.YValue = innerSeries.GetValues(innerSeries.Len() - 1) + lastValue.Label = vf(lastValue.YValue) + } + + var seriesName string + var seriesStyle Style + if typed, isTyped := innerSeries.(Series); isTyped { + seriesName = fmt.Sprintf("%s - Last Value", typed.GetName()) + seriesStyle = typed.GetStyle() + } + + return AnnotationSeries{ + Name: seriesName, + Style: seriesStyle, + Annotations: []Value2{lastValue}, + } +} diff --git a/last_value_annotation_series_test.go b/last_value_annotation_series_test.go new file mode 100644 index 0000000..59fc1b3 --- /dev/null +++ b/last_value_annotation_series_test.go @@ -0,0 +1,22 @@ +package chart + +import ( + "testing" + + "github.com/wcharczuk/go-chart/v2/testutil" +) + +func TestLastValueAnnotationSeries(t *testing.T) { + // replaced new assertions helper + + series := ContinuousSeries{ + XValues: []float64{1.0, 2.0, 3.0, 4.0, 5.0}, + YValues: []float64{5.0, 3.0, 3.0, 2.0, 1.0}, + } + + lva := LastValueAnnotationSeries(series) + testutil.AssertNotEmpty(t, lva.Annotations) + lvaa := lva.Annotations[0] + testutil.AssertEqual(t, 5, lvaa.XValue) + testutil.AssertEqual(t, 1, lvaa.YValue) +} diff --git a/legend.go b/legend.go new file mode 100644 index 0000000..fbd48ed --- /dev/null +++ b/legend.go @@ -0,0 +1,331 @@ +package chart + +import ( + "github.com/wcharczuk/go-chart/v2/drawing" +) + +// Legend returns a legend renderable function. +func Legend(c *Chart, userDefaults ...Style) Renderable { + return func(r Renderer, cb Box, chartDefaults Style) { + legendDefaults := Style{ + FillColor: drawing.ColorWhite, + FontColor: DefaultTextColor, + FontSize: 8.0, + StrokeColor: DefaultAxisColor, + StrokeWidth: DefaultAxisLineWidth, + } + + var legendStyle Style + if len(userDefaults) > 0 { + legendStyle = userDefaults[0].InheritFrom(chartDefaults.InheritFrom(legendDefaults)) + } else { + legendStyle = chartDefaults.InheritFrom(legendDefaults) + } + + // DEFAULTS + legendPadding := Box{ + Top: 5, + Left: 5, + Right: 5, + Bottom: 5, + } + lineTextGap := 5 + lineLengthMinimum := 25 + + var labels []string + var lines []Style + for index, s := range c.Series { + if !s.GetStyle().Hidden { + if _, isAnnotationSeries := s.(AnnotationSeries); !isAnnotationSeries { + labels = append(labels, s.GetName()) + lines = append(lines, s.GetStyle().InheritFrom(c.styleDefaultsSeries(index))) + } + } + } + + legend := Box{ + Top: cb.Top, + Left: cb.Left, + // bottom and right will be sized by the legend content + relevant padding. + } + + legendContent := Box{ + Top: legend.Top + legendPadding.Top, + Left: legend.Left + legendPadding.Left, + Right: legend.Left + legendPadding.Left, + Bottom: legend.Top + legendPadding.Top, + } + + legendStyle.GetTextOptions().WriteToRenderer(r) + + // measure + labelCount := 0 + for x := 0; x < len(labels); x++ { + if len(labels[x]) > 0 { + tb := r.MeasureText(labels[x]) + if labelCount > 0 { + legendContent.Bottom += DefaultMinimumTickVerticalSpacing + } + legendContent.Bottom += tb.Height() + right := legendContent.Left + tb.Width() + lineTextGap + lineLengthMinimum + legendContent.Right = MaxInt(legendContent.Right, right) + labelCount++ + } + } + + legend = legend.Grow(legendContent) + legend.Right = legendContent.Right + legendPadding.Right + legend.Bottom = legendContent.Bottom + legendPadding.Bottom + + Draw.Box(r, legend, legendStyle) + + legendStyle.GetTextOptions().WriteToRenderer(r) + + ycursor := legendContent.Top + tx := legendContent.Left + legendCount := 0 + var label string + for x := 0; x < len(labels); x++ { + label = labels[x] + if len(label) > 0 { + if legendCount > 0 { + ycursor += DefaultMinimumTickVerticalSpacing + } + + tb := r.MeasureText(label) + + ty := ycursor + tb.Height() + r.Text(label, tx, ty) + + th2 := tb.Height() >> 1 + + lx := tx + tb.Width() + lineTextGap + ly := ty - th2 + lx2 := legendContent.Right - legendPadding.Right + + r.SetStrokeColor(lines[x].GetStrokeColor()) + r.SetStrokeWidth(lines[x].GetStrokeWidth()) + r.SetStrokeDashArray(lines[x].GetStrokeDashArray()) + + r.MoveTo(lx, ly) + r.LineTo(lx2, ly) + r.Stroke() + + ycursor += tb.Height() + legendCount++ + } + } + } +} + +// LegendThin is a legend that doesn't obscure the chart area. +func LegendThin(c *Chart, userDefaults ...Style) Renderable { + return func(r Renderer, cb Box, chartDefaults Style) { + legendDefaults := Style{ + FillColor: drawing.ColorWhite, + FontColor: DefaultTextColor, + FontSize: 8.0, + StrokeColor: DefaultAxisColor, + StrokeWidth: DefaultAxisLineWidth, + Padding: Box{ + Top: 2, + Left: 7, + Right: 7, + Bottom: 5, + }, + } + + var legendStyle Style + if len(userDefaults) > 0 { + legendStyle = userDefaults[0].InheritFrom(chartDefaults.InheritFrom(legendDefaults)) + } else { + legendStyle = chartDefaults.InheritFrom(legendDefaults) + } + + r.SetFont(legendStyle.GetFont()) + r.SetFontColor(legendStyle.GetFontColor()) + r.SetFontSize(legendStyle.GetFontSize()) + + var labels []string + var lines []Style + for index, s := range c.Series { + if !s.GetStyle().Hidden { + if _, isAnnotationSeries := s.(AnnotationSeries); !isAnnotationSeries { + labels = append(labels, s.GetName()) + lines = append(lines, s.GetStyle().InheritFrom(c.styleDefaultsSeries(index))) + } + } + } + + var textHeight int + var textWidth int + var textBox Box + for x := 0; x < len(labels); x++ { + if len(labels[x]) > 0 { + textBox = r.MeasureText(labels[x]) + textHeight = MaxInt(textBox.Height(), textHeight) + textWidth = MaxInt(textBox.Width(), textWidth) + } + } + + legendBoxHeight := textHeight + legendStyle.Padding.Top + legendStyle.Padding.Bottom + chartPadding := cb.Top + legendYMargin := (chartPadding - legendBoxHeight) >> 1 + + legendBox := Box{ + Left: cb.Left, + Right: cb.Right, + Top: legendYMargin, + Bottom: legendYMargin + legendBoxHeight, + } + + Draw.Box(r, legendBox, legendDefaults) + + r.SetFont(legendStyle.GetFont()) + r.SetFontColor(legendStyle.GetFontColor()) + r.SetFontSize(legendStyle.GetFontSize()) + + lineTextGap := 5 + lineLengthMinimum := 25 + + tx := legendBox.Left + legendStyle.Padding.Left + ty := legendYMargin + legendStyle.Padding.Top + textHeight + var label string + var lx, ly int + th2 := textHeight >> 1 + for index := range labels { + label = labels[index] + if len(label) > 0 { + textBox = r.MeasureText(label) + r.Text(label, tx, ty) + + lx = tx + textBox.Width() + lineTextGap + ly = ty - th2 + + r.SetStrokeColor(lines[index].GetStrokeColor()) + r.SetStrokeWidth(lines[index].GetStrokeWidth()) + r.SetStrokeDashArray(lines[index].GetStrokeDashArray()) + + r.MoveTo(lx, ly) + r.LineTo(lx+lineLengthMinimum, ly) + r.Stroke() + + tx += textBox.Width() + DefaultMinimumTickHorizontalSpacing + lineTextGap + lineLengthMinimum + } + } + } +} + +// LegendLeft is a legend that is designed for longer series lists. +func LegendLeft(c *Chart, userDefaults ...Style) Renderable { + return func(r Renderer, cb Box, chartDefaults Style) { + legendDefaults := Style{ + FillColor: drawing.ColorWhite, + FontColor: DefaultTextColor, + FontSize: 8.0, + StrokeColor: DefaultAxisColor, + StrokeWidth: DefaultAxisLineWidth, + } + + var legendStyle Style + if len(userDefaults) > 0 { + legendStyle = userDefaults[0].InheritFrom(chartDefaults.InheritFrom(legendDefaults)) + } else { + legendStyle = chartDefaults.InheritFrom(legendDefaults) + } + + // DEFAULTS + legendPadding := Box{ + Top: 5, + Left: 5, + Right: 5, + Bottom: 5, + } + lineTextGap := 5 + lineLengthMinimum := 25 + + var labels []string + var lines []Style + for index, s := range c.Series { + if !s.GetStyle().Hidden { + if _, isAnnotationSeries := s.(AnnotationSeries); !isAnnotationSeries { + labels = append(labels, s.GetName()) + lines = append(lines, s.GetStyle().InheritFrom(c.styleDefaultsSeries(index))) + } + } + } + + legend := Box{ + Top: 5, + Left: 5, + // bottom and right will be sized by the legend content + relevant padding. + } + + legendContent := Box{ + Top: legend.Top + legendPadding.Top, + Left: legend.Left + legendPadding.Left, + Right: legend.Left + legendPadding.Left, + Bottom: legend.Top + legendPadding.Top, + } + + legendStyle.GetTextOptions().WriteToRenderer(r) + + // measure + labelCount := 0 + for x := 0; x < len(labels); x++ { + if len(labels[x]) > 0 { + tb := r.MeasureText(labels[x]) + if labelCount > 0 { + legendContent.Bottom += DefaultMinimumTickVerticalSpacing + } + legendContent.Bottom += tb.Height() + right := legendContent.Left + tb.Width() + lineTextGap + lineLengthMinimum + legendContent.Right = MaxInt(legendContent.Right, right) + labelCount++ + } + } + + legend = legend.Grow(legendContent) + legend.Right = legendContent.Right + legendPadding.Right + legend.Bottom = legendContent.Bottom + legendPadding.Bottom + + Draw.Box(r, legend, legendStyle) + + legendStyle.GetTextOptions().WriteToRenderer(r) + + ycursor := legendContent.Top + tx := legendContent.Left + legendCount := 0 + var label string + for x := 0; x < len(labels); x++ { + label = labels[x] + if len(label) > 0 { + if legendCount > 0 { + ycursor += DefaultMinimumTickVerticalSpacing + } + + tb := r.MeasureText(label) + + ty := ycursor + tb.Height() + r.Text(label, tx, ty) + + th2 := tb.Height() >> 1 + + lx := tx + tb.Width() + lineTextGap + ly := ty - th2 + lx2 := legendContent.Right - legendPadding.Right + + r.SetStrokeColor(lines[x].GetStrokeColor()) + r.SetStrokeWidth(lines[x].GetStrokeWidth()) + r.SetStrokeDashArray(lines[x].GetStrokeDashArray()) + + r.MoveTo(lx, ly) + r.LineTo(lx2, ly) + r.Stroke() + + ycursor += tb.Height() + legendCount++ + } + } + } +} diff --git a/legend_test.go b/legend_test.go new file mode 100644 index 0000000..cfc9cfa --- /dev/null +++ b/legend_test.go @@ -0,0 +1,31 @@ +package chart + +import ( + "bytes" + "testing" + + "github.com/wcharczuk/go-chart/v2/testutil" +) + +func TestLegend(t *testing.T) { + // replaced new assertions helper + + graph := Chart{ + Series: []Series{ + ContinuousSeries{ + Name: "A test series", + XValues: []float64{1.0, 2.0, 3.0, 4.0, 5.0}, + YValues: []float64{1.0, 2.0, 3.0, 4.0, 5.0}, + }, + }, + } + + //note we have to do this as a separate step because we need a reference to graph + graph.Elements = []Renderable{ + Legend(&graph), + } + buf := bytes.NewBuffer([]byte{}) + err := graph.Render(PNG, buf) + testutil.AssertNil(t, err) + testutil.AssertNotZero(t, buf.Len()) +} diff --git a/linear_coefficient_provider.go b/linear_coefficient_provider.go new file mode 100644 index 0000000..9701f6b --- /dev/null +++ b/linear_coefficient_provider.go @@ -0,0 +1,42 @@ +package chart + +// LinearCoefficientProvider is a type that returns linear cofficients. +type LinearCoefficientProvider interface { + Coefficients() (m, b, stdev, avg float64) +} + +// LinearCoefficients returns a fixed linear coefficient pair. +func LinearCoefficients(m, b float64) LinearCoefficientSet { + return LinearCoefficientSet{ + M: m, + B: b, + } +} + +// NormalizedLinearCoefficients returns a fixed linear coefficient pair. +func NormalizedLinearCoefficients(m, b, stdev, avg float64) LinearCoefficientSet { + return LinearCoefficientSet{ + M: m, + B: b, + StdDev: stdev, + Avg: avg, + } +} + +// LinearCoefficientSet is the m and b values for the linear equation in the form: +// y = (m*x) + b +type LinearCoefficientSet struct { + M float64 + B float64 + StdDev float64 + Avg float64 +} + +// Coefficients returns the coefficients. +func (lcs LinearCoefficientSet) Coefficients() (m, b, stdev, avg float64) { + m = lcs.M + b = lcs.B + stdev = lcs.StdDev + avg = lcs.Avg + return +} diff --git a/linear_regression_series.go b/linear_regression_series.go new file mode 100644 index 0000000..8ff8b1a --- /dev/null +++ b/linear_regression_series.go @@ -0,0 +1,187 @@ +package chart + +import ( + "fmt" +) + +// Interface Assertions. +var ( + _ Series = (*LinearRegressionSeries)(nil) + _ FirstValuesProvider = (*LinearRegressionSeries)(nil) + _ LastValuesProvider = (*LinearRegressionSeries)(nil) + _ LinearCoefficientProvider = (*LinearRegressionSeries)(nil) +) + +// LinearRegressionSeries is a series that plots the n-nearest neighbors +// linear regression for the values. +type LinearRegressionSeries struct { + Name string + Style Style + YAxis YAxisType + + Limit int + Offset int + InnerSeries ValuesProvider + + m float64 + b float64 + avgx float64 + stddevx float64 +} + +// Coefficients returns the linear coefficients for the series. +func (lrs LinearRegressionSeries) Coefficients() (m, b, stdev, avg float64) { + if lrs.IsZero() { + lrs.computeCoefficients() + } + + m = lrs.m + b = lrs.b + stdev = lrs.stddevx + avg = lrs.avgx + return +} + +// GetName returns the name of the time series. +func (lrs LinearRegressionSeries) GetName() string { + return lrs.Name +} + +// GetStyle returns the line style. +func (lrs LinearRegressionSeries) GetStyle() Style { + return lrs.Style +} + +// GetYAxis returns which YAxis the series draws on. +func (lrs LinearRegressionSeries) GetYAxis() YAxisType { + return lrs.YAxis +} + +// Len returns the number of elements in the series. +func (lrs LinearRegressionSeries) Len() int { + return MinInt(lrs.GetLimit(), lrs.InnerSeries.Len()-lrs.GetOffset()) +} + +// GetLimit returns the window size. +func (lrs LinearRegressionSeries) GetLimit() int { + if lrs.Limit == 0 { + return lrs.InnerSeries.Len() + } + return lrs.Limit +} + +// GetEndIndex returns the effective limit end. +func (lrs LinearRegressionSeries) GetEndIndex() int { + windowEnd := lrs.GetOffset() + lrs.GetLimit() + innerSeriesLastIndex := lrs.InnerSeries.Len() - 1 + return MinInt(windowEnd, innerSeriesLastIndex) +} + +// GetOffset returns the data offset. +func (lrs LinearRegressionSeries) GetOffset() int { + if lrs.Offset == 0 { + return 0 + } + return lrs.Offset +} + +// GetValues gets a value at a given index. +func (lrs *LinearRegressionSeries) GetValues(index int) (x, y float64) { + if lrs.InnerSeries == nil || lrs.InnerSeries.Len() == 0 { + return + } + if lrs.IsZero() { + lrs.computeCoefficients() + } + offset := lrs.GetOffset() + effectiveIndex := MinInt(index+offset, lrs.InnerSeries.Len()) + x, y = lrs.InnerSeries.GetValues(effectiveIndex) + y = (lrs.m * lrs.normalize(x)) + lrs.b + return +} + +// GetFirstValues computes the first linear regression value. +func (lrs *LinearRegressionSeries) GetFirstValues() (x, y float64) { + if lrs.InnerSeries == nil || lrs.InnerSeries.Len() == 0 { + return + } + if lrs.IsZero() { + lrs.computeCoefficients() + } + x, y = lrs.InnerSeries.GetValues(0) + y = (lrs.m * lrs.normalize(x)) + lrs.b + return +} + +// GetLastValues computes the last linear regression value. +func (lrs *LinearRegressionSeries) GetLastValues() (x, y float64) { + if lrs.InnerSeries == nil || lrs.InnerSeries.Len() == 0 { + return + } + if lrs.IsZero() { + lrs.computeCoefficients() + } + endIndex := lrs.GetEndIndex() + x, y = lrs.InnerSeries.GetValues(endIndex) + y = (lrs.m * lrs.normalize(x)) + lrs.b + return +} + +// Render renders the series. +func (lrs *LinearRegressionSeries) Render(r Renderer, canvasBox Box, xrange, yrange Range, defaults Style) { + style := lrs.Style.InheritFrom(defaults) + Draw.LineSeries(r, canvasBox, xrange, yrange, style, lrs) +} + +// Validate validates the series. +func (lrs *LinearRegressionSeries) Validate() error { + if lrs.InnerSeries == nil { + return fmt.Errorf("linear regression series requires InnerSeries to be set") + } + return nil +} + +// IsZero returns if we've computed the coefficients or not. +func (lrs *LinearRegressionSeries) IsZero() bool { + return lrs.m == 0 && lrs.b == 0 +} + +// +// internal helpers +// + +func (lrs *LinearRegressionSeries) normalize(xvalue float64) float64 { + return (xvalue - lrs.avgx) / lrs.stddevx +} + +// computeCoefficients computes the `m` and `b` terms in the linear formula given by `y = mx+b`. +func (lrs *LinearRegressionSeries) computeCoefficients() { + startIndex := lrs.GetOffset() + endIndex := lrs.GetEndIndex() + + p := float64(endIndex - startIndex) + + xvalues := NewValueBufferWithCapacity(lrs.Len()) + for index := startIndex; index < endIndex; index++ { + x, _ := lrs.InnerSeries.GetValues(index) + xvalues.Enqueue(x) + } + + lrs.avgx = Seq{xvalues}.Average() + lrs.stddevx = Seq{xvalues}.StdDev() + + var sumx, sumy, sumxx, sumxy float64 + for index := startIndex; index < endIndex; index++ { + x, y := lrs.InnerSeries.GetValues(index) + + x = lrs.normalize(x) + + sumx += x + sumy += y + sumxx += x * x + sumxy += x * y + } + + lrs.m = (p*sumxy - sumx*sumy) / (p*sumxx - sumx*sumx) + lrs.b = (sumy / p) - (lrs.m * sumx / p) +} diff --git a/linear_regression_series_test.go b/linear_regression_series_test.go new file mode 100644 index 0000000..3c13d1c --- /dev/null +++ b/linear_regression_series_test.go @@ -0,0 +1,77 @@ +package chart + +import ( + "testing" + + "github.com/wcharczuk/go-chart/v2/testutil" +) + +func TestLinearRegressionSeries(t *testing.T) { + // replaced new assertions helper + + mainSeries := ContinuousSeries{ + Name: "A test series", + XValues: LinearRange(1.0, 100.0), + YValues: LinearRange(1.0, 100.0), + } + + linRegSeries := &LinearRegressionSeries{ + InnerSeries: mainSeries, + } + + lrx0, lry0 := linRegSeries.GetValues(0) + testutil.AssertInDelta(t, 1.0, lrx0, 0.0000001) + testutil.AssertInDelta(t, 1.0, lry0, 0.0000001) + + lrxn, lryn := linRegSeries.GetLastValues() + testutil.AssertInDelta(t, 100.0, lrxn, 0.0000001) + testutil.AssertInDelta(t, 100.0, lryn, 0.0000001) +} + +func TestLinearRegressionSeriesDesc(t *testing.T) { + // replaced new assertions helper + + mainSeries := ContinuousSeries{ + Name: "A test series", + XValues: LinearRange(100.0, 1.0), + YValues: LinearRange(100.0, 1.0), + } + + linRegSeries := &LinearRegressionSeries{ + InnerSeries: mainSeries, + } + + lrx0, lry0 := linRegSeries.GetValues(0) + testutil.AssertInDelta(t, 100.0, lrx0, 0.0000001) + testutil.AssertInDelta(t, 100.0, lry0, 0.0000001) + + lrxn, lryn := linRegSeries.GetLastValues() + testutil.AssertInDelta(t, 1.0, lrxn, 0.0000001) + testutil.AssertInDelta(t, 1.0, lryn, 0.0000001) +} + +func TestLinearRegressionSeriesWindowAndOffset(t *testing.T) { + // replaced new assertions helper + + mainSeries := ContinuousSeries{ + Name: "A test series", + XValues: LinearRange(100.0, 1.0), + YValues: LinearRange(100.0, 1.0), + } + + linRegSeries := &LinearRegressionSeries{ + InnerSeries: mainSeries, + Offset: 10, + Limit: 10, + } + + testutil.AssertEqual(t, 10, linRegSeries.Len()) + + lrx0, lry0 := linRegSeries.GetValues(0) + testutil.AssertInDelta(t, 90.0, lrx0, 0.0000001) + testutil.AssertInDelta(t, 90.0, lry0, 0.0000001) + + lrxn, lryn := linRegSeries.GetLastValues() + testutil.AssertInDelta(t, 80.0, lrxn, 0.0000001) + testutil.AssertInDelta(t, 80.0, lryn, 0.0000001) +} diff --git a/linear_sequence.go b/linear_sequence.go new file mode 100644 index 0000000..dda761b --- /dev/null +++ b/linear_sequence.go @@ -0,0 +1,73 @@ +package chart + +// LinearRange returns an array of values representing the range from start to end, incremented by 1.0. +func LinearRange(start, end float64) []float64 { + return Seq{NewLinearSequence().WithStart(start).WithEnd(end).WithStep(1.0)}.Values() +} + +// LinearRangeWithStep returns the array values of a linear seq with a given start, end and optional step. +func LinearRangeWithStep(start, end, step float64) []float64 { + return Seq{NewLinearSequence().WithStart(start).WithEnd(end).WithStep(step)}.Values() +} + +// NewLinearSequence returns a new linear generator. +func NewLinearSequence() *LinearSeq { + return &LinearSeq{step: 1.0} +} + +// LinearSeq is a stepwise generator. +type LinearSeq struct { + start float64 + end float64 + step float64 +} + +// Start returns the start value. +func (lg LinearSeq) Start() float64 { + return lg.start +} + +// End returns the end value. +func (lg LinearSeq) End() float64 { + return lg.end +} + +// Step returns the step value. +func (lg LinearSeq) Step() float64 { + return lg.step +} + +// Len returns the number of elements in the seq. +func (lg LinearSeq) Len() int { + if lg.start < lg.end { + return int((lg.end-lg.start)/lg.step) + 1 + } + return int((lg.start-lg.end)/lg.step) + 1 +} + +// GetValue returns the value at a given index. +func (lg LinearSeq) GetValue(index int) float64 { + fi := float64(index) + if lg.start < lg.end { + return lg.start + (fi * lg.step) + } + return lg.start - (fi * lg.step) +} + +// WithStart sets the start and returns the linear generator. +func (lg *LinearSeq) WithStart(start float64) *LinearSeq { + lg.start = start + return lg +} + +// WithEnd sets the end and returns the linear generator. +func (lg *LinearSeq) WithEnd(end float64) *LinearSeq { + lg.end = end + return lg +} + +// WithStep sets the step and returns the linear generator. +func (lg *LinearSeq) WithStep(step float64) *LinearSeq { + lg.step = step + return lg +} diff --git a/linear_series.go b/linear_series.go new file mode 100644 index 0000000..89afa93 --- /dev/null +++ b/linear_series.go @@ -0,0 +1,119 @@ +package chart + +import ( + "fmt" +) + +// Interface Assertions. +var ( + _ Series = (*LinearSeries)(nil) + _ FirstValuesProvider = (*LinearSeries)(nil) + _ LastValuesProvider = (*LinearSeries)(nil) +) + +// LinearSeries is a series that plots a line in a given domain. +type LinearSeries struct { + Name string + Style Style + YAxis YAxisType + + XValues []float64 + InnerSeries LinearCoefficientProvider + + m float64 + b float64 + stdev float64 + avg float64 +} + +// GetName returns the name of the time series. +func (ls LinearSeries) GetName() string { + return ls.Name +} + +// GetStyle returns the line style. +func (ls LinearSeries) GetStyle() Style { + return ls.Style +} + +// GetYAxis returns which YAxis the series draws on. +func (ls LinearSeries) GetYAxis() YAxisType { + return ls.YAxis +} + +// Len returns the number of elements in the series. +func (ls LinearSeries) Len() int { + return len(ls.XValues) +} + +// GetEndIndex returns the effective limit end. +func (ls LinearSeries) GetEndIndex() int { + return len(ls.XValues) - 1 +} + +// GetValues gets a value at a given index. +func (ls *LinearSeries) GetValues(index int) (x, y float64) { + if ls.InnerSeries == nil || len(ls.XValues) == 0 { + return + } + if ls.IsZero() { + ls.computeCoefficients() + } + x = ls.XValues[index] + y = (ls.m * ls.normalize(x)) + ls.b + return +} + +// GetFirstValues computes the first linear regression value. +func (ls *LinearSeries) GetFirstValues() (x, y float64) { + if ls.InnerSeries == nil || len(ls.XValues) == 0 { + return + } + if ls.IsZero() { + ls.computeCoefficients() + } + x, y = ls.GetValues(0) + return +} + +// GetLastValues computes the last linear regression value. +func (ls *LinearSeries) GetLastValues() (x, y float64) { + if ls.InnerSeries == nil || len(ls.XValues) == 0 { + return + } + if ls.IsZero() { + ls.computeCoefficients() + } + x, y = ls.GetValues(ls.GetEndIndex()) + return +} + +// Render renders the series. +func (ls *LinearSeries) Render(r Renderer, canvasBox Box, xrange, yrange Range, defaults Style) { + Draw.LineSeries(r, canvasBox, xrange, yrange, ls.Style.InheritFrom(defaults), ls) +} + +// Validate validates the series. +func (ls LinearSeries) Validate() error { + if ls.InnerSeries == nil { + return fmt.Errorf("linear regression series requires InnerSeries to be set") + } + return nil +} + +// IsZero returns if the linear series has computed coefficients or not. +func (ls LinearSeries) IsZero() bool { + return ls.m == 0 && ls.b == 0 +} + +// computeCoefficients computes the `m` and `b` terms in the linear formula given by `y = mx+b`. +func (ls *LinearSeries) computeCoefficients() { + ls.m, ls.b, ls.stdev, ls.avg = ls.InnerSeries.Coefficients() +} + +func (ls *LinearSeries) normalize(xvalue float64) float64 { + if ls.avg > 0 && ls.stdev > 0 { + return (xvalue - ls.avg) / ls.stdev + } + return xvalue +} diff --git a/logarithmic_range.go b/logarithmic_range.go new file mode 100644 index 0000000..5b183b3 --- /dev/null +++ b/logarithmic_range.go @@ -0,0 +1,94 @@ +package chart + +import ( + "fmt" + "math" +) + +// LogarithmicRange represents a boundary for a set of numbers. +type LogarithmicRange struct { + Min float64 + Max float64 + Domain int + Descending bool +} + +// IsDescending returns if the range is descending. +func (r LogarithmicRange) IsDescending() bool { + return r.Descending +} + +// IsZero returns if the LogarithmicRange has been set or not. +func (r LogarithmicRange) IsZero() bool { + return (r.Min == 0 || math.IsNaN(r.Min)) && + (r.Max == 0 || math.IsNaN(r.Max)) && + r.Domain == 0 +} + +// GetMin gets the min value for the continuous range. +func (r LogarithmicRange) GetMin() float64 { + return r.Min +} + +// SetMin sets the min value for the continuous range. +func (r *LogarithmicRange) SetMin(min float64) { + r.Min = min +} + +// GetMax returns the max value for the continuous range. +func (r LogarithmicRange) GetMax() float64 { + return r.Max +} + +// SetMax sets the max value for the continuous range. +func (r *LogarithmicRange) SetMax(max float64) { + r.Max = max +} + +// GetDelta returns the difference between the min and max value. +func (r LogarithmicRange) GetDelta() float64 { + return r.Max - r.Min +} + +// GetDomain returns the range domain. +func (r LogarithmicRange) GetDomain() int { + return r.Domain +} + +// SetDomain sets the range domain. +func (r *LogarithmicRange) SetDomain(domain int) { + r.Domain = domain +} + +// String returns a simple string for the LogarithmicRange. +func (r LogarithmicRange) String() string { + return fmt.Sprintf("LogarithmicRange [%.2f,%.2f] => %d", r.Min, r.Max, r.Domain) +} + +// Translate maps a given value into the LogarithmicRange space. Modified version from ContinuousRange. +func (r LogarithmicRange) Translate(value float64) int { + if value < 1 { + return 0 + } + normalized := math.Max(value-r.Min, 1) + ratio := math.Log10(normalized) / math.Log10(r.GetDelta()) + + if r.IsDescending() { + return r.Domain - int(math.Ceil(ratio*float64(r.Domain))) + } + + return int(math.Ceil(ratio * float64(r.Domain))) +} + +// GetTicks calculates the needed ticks for the axis, in log scale. Only supports Y values > 0. +func (r LogarithmicRange) GetTicks(render Renderer, defaults Style, vf ValueFormatter) []Tick { + var ticks []Tick + exponentStart := int64(math.Max(0, math.Floor(math.Log10(r.Min)))) // one below min + exponentEnd := int64(math.Max(0, math.Ceil(math.Log10(r.Max)))) // one above max + for exp:=exponentStart; exp<=exponentEnd; exp++ { + tickVal := math.Pow(10, float64(exp)) + ticks = append(ticks, Tick{Value: tickVal, Label: vf(tickVal)}) + } + + return ticks +} diff --git a/logarithmic_range_test.go b/logarithmic_range_test.go new file mode 100644 index 0000000..831cfb3 --- /dev/null +++ b/logarithmic_range_test.go @@ -0,0 +1,43 @@ +package chart + +import ( + "testing" + + "github.com/wcharczuk/go-chart/v2/testutil" +) + +func TestLogRangeTranslate(t *testing.T) { + values := []float64{1, 10, 100, 1000, 10000, 100000, 1000000} + r := LogarithmicRange{Domain: 1000} + r.Min, r.Max = MinMax(values...) + + testutil.AssertEqual(t, 0, r.Translate(0)) // goes to bottom + testutil.AssertEqual(t, 0, r.Translate(1)) // goes to bottom + testutil.AssertEqual(t, 160, r.Translate(10)) // roughly 1/6th of max + testutil.AssertEqual(t, 500, r.Translate(1000)) // roughly 1/2 of max (1.0e6 / 1.0e3) + testutil.AssertEqual(t, 1000, r.Translate(1000000)) // max value +} + +func TestGetTicks(t *testing.T) { + values := []float64{35, 512, 1525122} + r := LogarithmicRange{Domain: 1000} + r.Min, r.Max = MinMax(values...) + + ticks := r.GetTicks(nil, Style{}, FloatValueFormatter) + testutil.AssertEqual(t, 7, len(ticks)) + testutil.AssertEqual(t, 10, ticks[0].Value) + testutil.AssertEqual(t, 100, ticks[1].Value) + testutil.AssertEqual(t, 10000000, ticks[6].Value) +} + +func TestGetTicksFromHigh(t *testing.T) { + values := []float64{1412, 352144, 1525122} // min tick should be 1000 + r := LogarithmicRange{} + r.Min, r.Max = MinMax(values...) + + ticks := r.GetTicks(nil, Style{}, FloatValueFormatter) + testutil.AssertEqual(t, 5, len(ticks)) + testutil.AssertEqual(t, float64(1000), ticks[0].Value) + testutil.AssertEqual(t, float64(10000), ticks[1].Value) + testutil.AssertEqual(t, float64(10000000), ticks[4].Value) +} diff --git a/logger.go b/logger.go new file mode 100644 index 0000000..28fc003 --- /dev/null +++ b/logger.go @@ -0,0 +1,148 @@ +package chart + +import ( + "fmt" + "io" + "os" + "time" +) + +var ( + _ Logger = (*StdoutLogger)(nil) +) + +// NewLogger returns a new logger. +func NewLogger(options ...LoggerOption) Logger { + stl := &StdoutLogger{ + TimeFormat: time.RFC3339Nano, + Stdout: os.Stdout, + Stderr: os.Stderr, + } + for _, option := range options { + option(stl) + } + return stl +} + +// Logger is a type that implements the logging interface. +type Logger interface { + Info(...interface{}) + Infof(string, ...interface{}) + Debug(...interface{}) + Debugf(string, ...interface{}) + Err(error) + FatalErr(error) + Error(...interface{}) + Errorf(string, ...interface{}) +} + +// Info logs an info message if the logger is set. +func Info(log Logger, arguments ...interface{}) { + if log == nil { + return + } + log.Info(arguments...) +} + +// Infof logs an info message if the logger is set. +func Infof(log Logger, format string, arguments ...interface{}) { + if log == nil { + return + } + log.Infof(format, arguments...) +} + +// Debug logs an debug message if the logger is set. +func Debug(log Logger, arguments ...interface{}) { + if log == nil { + return + } + log.Debug(arguments...) +} + +// Debugf logs an debug message if the logger is set. +func Debugf(log Logger, format string, arguments ...interface{}) { + if log == nil { + return + } + log.Debugf(format, arguments...) +} + +// LoggerOption mutates a stdout logger. +type LoggerOption = func(*StdoutLogger) + +//OptLoggerStdout sets the Stdout writer. +func OptLoggerStdout(wr io.Writer) LoggerOption { + return func(stl *StdoutLogger) { + stl.Stdout = wr + } +} + +// OptLoggerStderr sets the Stdout writer. +func OptLoggerStderr(wr io.Writer) LoggerOption { + return func(stl *StdoutLogger) { + stl.Stderr = wr + } +} + +// StdoutLogger is a basic logger. +type StdoutLogger struct { + TimeFormat string + Stdout io.Writer + Stderr io.Writer +} + +// Info writes an info message. +func (l *StdoutLogger) Info(arguments ...interface{}) { + l.Println(append([]interface{}{"[INFO]"}, arguments...)...) +} + +// Infof writes an info message. +func (l *StdoutLogger) Infof(format string, arguments ...interface{}) { + l.Println(append([]interface{}{"[INFO]"}, fmt.Sprintf(format, arguments...))...) +} + +// Debug writes an debug message. +func (l *StdoutLogger) Debug(arguments ...interface{}) { + l.Println(append([]interface{}{"[DEBUG]"}, arguments...)...) +} + +// Debugf writes an debug message. +func (l *StdoutLogger) Debugf(format string, arguments ...interface{}) { + l.Println(append([]interface{}{"[DEBUG]"}, fmt.Sprintf(format, arguments...))...) +} + +// Error writes an error message. +func (l *StdoutLogger) Error(arguments ...interface{}) { + l.Println(append([]interface{}{"[ERROR]"}, arguments...)...) +} + +// Errorf writes an error message. +func (l *StdoutLogger) Errorf(format string, arguments ...interface{}) { + l.Println(append([]interface{}{"[ERROR]"}, fmt.Sprintf(format, arguments...))...) +} + +// Err writes an error message. +func (l *StdoutLogger) Err(err error) { + if err != nil { + l.Println(append([]interface{}{"[ERROR]"}, err.Error())...) + } +} + +// FatalErr writes an error message and exits. +func (l *StdoutLogger) FatalErr(err error) { + if err != nil { + l.Println(append([]interface{}{"[FATAL]"}, err.Error())...) + os.Exit(1) + } +} + +// Println prints a new message. +func (l *StdoutLogger) Println(arguments ...interface{}) { + fmt.Fprintln(l.Stdout, append([]interface{}{time.Now().UTC().Format(l.TimeFormat)}, arguments...)...) +} + +// Errorln prints a new message. +func (l *StdoutLogger) Errorln(arguments ...interface{}) { + fmt.Fprintln(l.Stderr, append([]interface{}{time.Now().UTC().Format(l.TimeFormat)}, arguments...)...) +} diff --git a/macd_series.go b/macd_series.go new file mode 100644 index 0000000..6d04011 --- /dev/null +++ b/macd_series.go @@ -0,0 +1,338 @@ +package chart + +import "fmt" + +const ( + // DefaultMACDPeriodPrimary is the long window. + DefaultMACDPeriodPrimary = 26 + // DefaultMACDPeriodSecondary is the short window. + DefaultMACDPeriodSecondary = 12 + // DefaultMACDSignalPeriod is the signal period to compute for the MACD. + DefaultMACDSignalPeriod = 9 +) + +// MACDSeries computes the difference between the MACD line and the MACD Signal line. +// It is used in technical analysis and gives a lagging indicator of momentum. +type MACDSeries struct { + Name string + Style Style + YAxis YAxisType + InnerSeries ValuesProvider + + PrimaryPeriod int + SecondaryPeriod int + SignalPeriod int + + signal *MACDSignalSeries + macdl *MACDLineSeries +} + +// Validate validates the series. +func (macd MACDSeries) Validate() error { + var err error + if macd.signal != nil { + err = macd.signal.Validate() + } + if err != nil { + return err + } + if macd.macdl != nil { + err = macd.macdl.Validate() + } + if err != nil { + return err + } + return nil +} + +// GetPeriods returns the primary and secondary periods. +func (macd MACDSeries) GetPeriods() (w1, w2, sig int) { + if macd.PrimaryPeriod == 0 { + w1 = DefaultMACDPeriodPrimary + } else { + w1 = macd.PrimaryPeriod + } + if macd.SecondaryPeriod == 0 { + w2 = DefaultMACDPeriodSecondary + } else { + w2 = macd.SecondaryPeriod + } + if macd.SignalPeriod == 0 { + sig = DefaultMACDSignalPeriod + } else { + sig = macd.SignalPeriod + } + return +} + +// GetName returns the name of the time series. +func (macd MACDSeries) GetName() string { + return macd.Name +} + +// GetStyle returns the line style. +func (macd MACDSeries) GetStyle() Style { + return macd.Style +} + +// GetYAxis returns which YAxis the series draws on. +func (macd MACDSeries) GetYAxis() YAxisType { + return macd.YAxis +} + +// Len returns the number of elements in the series. +func (macd MACDSeries) Len() int { + if macd.InnerSeries == nil { + return 0 + } + + return macd.InnerSeries.Len() +} + +// GetValues gets a value at a given index. For MACD it is the signal value. +func (macd *MACDSeries) GetValues(index int) (x float64, y float64) { + if macd.InnerSeries == nil { + return + } + + if macd.signal == nil || macd.macdl == nil { + macd.ensureChildSeries() + } + + _, lv := macd.macdl.GetValues(index) + _, sv := macd.signal.GetValues(index) + + x, _ = macd.InnerSeries.GetValues(index) + y = lv - sv + + return +} + +func (macd *MACDSeries) ensureChildSeries() { + w1, w2, sig := macd.GetPeriods() + + macd.signal = &MACDSignalSeries{ + InnerSeries: macd.InnerSeries, + PrimaryPeriod: w1, + SecondaryPeriod: w2, + SignalPeriod: sig, + } + + macd.macdl = &MACDLineSeries{ + InnerSeries: macd.InnerSeries, + PrimaryPeriod: w1, + SecondaryPeriod: w2, + } +} + +// MACDSignalSeries computes the EMA of the MACDLineSeries. +type MACDSignalSeries struct { + Name string + Style Style + YAxis YAxisType + InnerSeries ValuesProvider + + PrimaryPeriod int + SecondaryPeriod int + SignalPeriod int + + signal *EMASeries +} + +// Validate validates the series. +func (macds MACDSignalSeries) Validate() error { + if macds.signal != nil { + return macds.signal.Validate() + } + return nil +} + +// GetPeriods returns the primary and secondary periods. +func (macds MACDSignalSeries) GetPeriods() (w1, w2, sig int) { + if macds.PrimaryPeriod == 0 { + w1 = DefaultMACDPeriodPrimary + } else { + w1 = macds.PrimaryPeriod + } + if macds.SecondaryPeriod == 0 { + w2 = DefaultMACDPeriodSecondary + } else { + w2 = macds.SecondaryPeriod + } + if macds.SignalPeriod == 0 { + sig = DefaultMACDSignalPeriod + } else { + sig = macds.SignalPeriod + } + return +} + +// GetName returns the name of the time series. +func (macds MACDSignalSeries) GetName() string { + return macds.Name +} + +// GetStyle returns the line style. +func (macds MACDSignalSeries) GetStyle() Style { + return macds.Style +} + +// GetYAxis returns which YAxis the series draws on. +func (macds MACDSignalSeries) GetYAxis() YAxisType { + return macds.YAxis +} + +// Len returns the number of elements in the series. +func (macds *MACDSignalSeries) Len() int { + if macds.InnerSeries == nil { + return 0 + } + + return macds.InnerSeries.Len() +} + +// GetValues gets a value at a given index. For MACD it is the signal value. +func (macds *MACDSignalSeries) GetValues(index int) (x float64, y float64) { + if macds.InnerSeries == nil { + return + } + + if macds.signal == nil { + macds.ensureSignal() + } + x, _ = macds.InnerSeries.GetValues(index) + _, y = macds.signal.GetValues(index) + return +} + +func (macds *MACDSignalSeries) ensureSignal() { + w1, w2, sig := macds.GetPeriods() + + macds.signal = &EMASeries{ + InnerSeries: &MACDLineSeries{ + InnerSeries: macds.InnerSeries, + PrimaryPeriod: w1, + SecondaryPeriod: w2, + }, + Period: sig, + } +} + +// Render renders the series. +func (macds *MACDSignalSeries) Render(r Renderer, canvasBox Box, xrange, yrange Range, defaults Style) { + style := macds.Style.InheritFrom(defaults) + Draw.LineSeries(r, canvasBox, xrange, yrange, style, macds) +} + +// MACDLineSeries is a series that computes the inner ema1-ema2 value as a series. +type MACDLineSeries struct { + Name string + Style Style + YAxis YAxisType + InnerSeries ValuesProvider + + PrimaryPeriod int + SecondaryPeriod int + + ema1 *EMASeries + ema2 *EMASeries + + Sigma float64 +} + +// Validate validates the series. +func (macdl MACDLineSeries) Validate() error { + var err error + if macdl.ema1 != nil { + err = macdl.ema1.Validate() + } + if err != nil { + return err + } + if macdl.ema2 != nil { + err = macdl.ema2.Validate() + } + if err != nil { + return err + } + if macdl.InnerSeries == nil { + return fmt.Errorf("MACDLineSeries: must provide an inner series") + } + return nil +} + +// GetName returns the name of the time series. +func (macdl MACDLineSeries) GetName() string { + return macdl.Name +} + +// GetStyle returns the line style. +func (macdl MACDLineSeries) GetStyle() Style { + return macdl.Style +} + +// GetYAxis returns which YAxis the series draws on. +func (macdl MACDLineSeries) GetYAxis() YAxisType { + return macdl.YAxis +} + +// GetPeriods returns the primary and secondary periods. +func (macdl MACDLineSeries) GetPeriods() (w1, w2 int) { + if macdl.PrimaryPeriod == 0 { + w1 = DefaultMACDPeriodPrimary + } else { + w1 = macdl.PrimaryPeriod + } + if macdl.SecondaryPeriod == 0 { + w2 = DefaultMACDPeriodSecondary + } else { + w2 = macdl.SecondaryPeriod + } + return +} + +// Len returns the number of elements in the series. +func (macdl *MACDLineSeries) Len() int { + if macdl.InnerSeries == nil { + return 0 + } + + return macdl.InnerSeries.Len() +} + +// GetValues gets a value at a given index. For MACD it is the signal value. +func (macdl *MACDLineSeries) GetValues(index int) (x float64, y float64) { + if macdl.InnerSeries == nil { + return + } + if macdl.ema1 == nil && macdl.ema2 == nil { + macdl.ensureEMASeries() + } + + x, _ = macdl.InnerSeries.GetValues(index) + + _, emav1 := macdl.ema1.GetValues(index) + _, emav2 := macdl.ema2.GetValues(index) + + y = emav2 - emav1 + return +} + +func (macdl *MACDLineSeries) ensureEMASeries() { + w1, w2 := macdl.GetPeriods() + + macdl.ema1 = &EMASeries{ + InnerSeries: macdl.InnerSeries, + Period: w1, + } + macdl.ema2 = &EMASeries{ + InnerSeries: macdl.InnerSeries, + Period: w2, + } +} + +// Render renders the series. +func (macdl *MACDLineSeries) Render(r Renderer, canvasBox Box, xrange, yrange Range, defaults Style) { + style := macdl.Style.InheritFrom(defaults) + Draw.LineSeries(r, canvasBox, xrange, yrange, style, macdl) +} diff --git a/macd_series_test.go b/macd_series_test.go new file mode 100644 index 0000000..6471f6d --- /dev/null +++ b/macd_series_test.go @@ -0,0 +1,88 @@ +package chart + +import ( + "fmt" + "testing" + + "github.com/wcharczuk/go-chart/v2/testutil" +) + +var ( + macdExpected = []float64{ + 0, + 0.06381766382, + 0.1641441222, + 0.2817201894, + 0.4033023481, + 0.3924673744, + 0.2983093823, + 0.1561821464, + -0.008916708129, + -0.05210332292, + -0.01649503993, + 0.06667130899, + 0.1751344574, + 0.1657328378, + 0.08257097469, + -0.04265109369, + -0.1875741257, + -0.2091853882, + -0.1518975486, + -0.04781419838, + 0.08025242841, + 0.08881960494, + 0.02183529775, + -0.08904155476, + -0.2214141128, + -0.2321805992, + -0.1656331722, + -0.05373789678, + 0.08083727586, + 0.09475354363, + 0.03209767112, + -0.07534076818, + -0.2050442354, + -0.2138010557, + -0.1458045181, + -0.03293263556, + 0.1022243734, + 0.1163957964, + 0.05372761902, + -0.05393941791, + -0.1840438454, + -0.1933365048, + -0.1259788988, + -0.01382225715, + 0.1205656194, + 0.1339326478, + 0.07044017167, + -0.03805851969, + -0.1689918111, + -0.1791024416, + } +) + +func TestMACDSeries(t *testing.T) { + // replaced new assertions helper + + mockSeries := mockValuesProvider{ + emaXValues, + emaYValues, + } + testutil.AssertEqual(t, 50, mockSeries.Len()) + + mas := &MACDSeries{ + InnerSeries: mockSeries, + } + + var yvalues []float64 + for x := 0; x < mas.Len(); x++ { + _, y := mas.GetValues(x) + yvalues = append(yvalues, y) + } + + testutil.AssertNotEmpty(t, yvalues) + for index, vy := range yvalues { + testutil.AssertInDelta(t, vy, macdExpected[index], emaDelta, fmt.Sprintf("delta @ %d actual: %0.9f expected: %0.9f", index, vy, macdExpected[index])) + } +} diff --git a/mathutil.go b/mathutil.go new file mode 100644 index 0000000..d1f07f9 --- /dev/null +++ b/mathutil.go @@ -0,0 +1,252 @@ +package chart + +import "math" + +const ( + _pi = math.Pi + _2pi = 2 * math.Pi + _3pi4 = (3 * math.Pi) / 4.0 + _4pi3 = (4 * math.Pi) / 3.0 + _3pi2 = (3 * math.Pi) / 2.0 + _5pi4 = (5 * math.Pi) / 4.0 + _7pi4 = (7 * math.Pi) / 4.0 + _pi2 = math.Pi / 2.0 + _pi4 = math.Pi / 4.0 + _d2r = (math.Pi / 180.0) + _r2d = (180.0 / math.Pi) +) + +// MinMax returns the minimum and maximum of a given set of values. +func MinMax(values ...float64) (min, max float64) { + if len(values) == 0 { + return + } + + max = values[0] + min = values[0] + var value float64 + for index := 1; index < len(values); index++ { + value = values[index] + if value < min { + min = value + } + if value > max { + max = value + } + } + return +} + +// MinInt returns the minimum int. +func MinInt(values ...int) (min int) { + if len(values) == 0 { + return + } + + min = values[0] + var value int + for index := 1; index < len(values); index++ { + value = values[index] + if value < min { + min = value + } + } + return +} + +// MaxInt returns the maximum int. +func MaxInt(values ...int) (max int) { + if len(values) == 0 { + return + } + + max = values[0] + var value int + for index := 1; index < len(values); index++ { + value = values[index] + if value > max { + max = value + } + } + return +} + +// AbsInt returns the absolute value of an int. +func AbsInt(value int) int { + if value < 0 { + return -value + } + return value +} + +// DegreesToRadians returns degrees as radians. +func DegreesToRadians(degrees float64) float64 { + return degrees * _d2r +} + +// RadiansToDegrees translates a radian value to a degree value. +func RadiansToDegrees(value float64) float64 { + return math.Mod(value, _2pi) * _r2d +} + +// PercentToRadians converts a normalized value (0,1) to radians. +func PercentToRadians(pct float64) float64 { + return DegreesToRadians(360.0 * pct) +} + +// RadianAdd adds a delta to a base in radians. +func RadianAdd(base, delta float64) float64 { + value := base + delta + if value > _2pi { + return math.Mod(value, _2pi) + } else if value < 0 { + return math.Mod(_2pi+value, _2pi) + } + return value +} + +// DegreesAdd adds a delta to a base in radians. +func DegreesAdd(baseDegrees, deltaDegrees float64) float64 { + value := baseDegrees + deltaDegrees + if value > _2pi { + return math.Mod(value, 360.0) + } else if value < 0 { + return math.Mod(360.0+value, 360.0) + } + return value +} + +// DegreesToCompass returns the degree value in compass / clock orientation. +func DegreesToCompass(deg float64) float64 { + return DegreesAdd(deg, -90.0) +} + +// CirclePoint returns the absolute position of a circle diameter point given +// by the radius and the theta. +func CirclePoint(cx, cy int, radius, thetaRadians float64) (x, y int) { + x = cx + int(radius*math.Sin(thetaRadians)) + y = cy - int(radius*math.Cos(thetaRadians)) + return +} + +// RotateCoordinate rotates a coordinate around a given center by a theta in radians. +func RotateCoordinate(cx, cy, x, y int, thetaRadians float64) (rx, ry int) { + tempX, tempY := float64(x-cx), float64(y-cy) + rotatedX := tempX*math.Cos(thetaRadians) - tempY*math.Sin(thetaRadians) + rotatedY := tempX*math.Sin(thetaRadians) + tempY*math.Cos(thetaRadians) + rx = int(rotatedX) + cx + ry = int(rotatedY) + cy + return +} + +// RoundUp rounds up to a given roundTo value. +func RoundUp(value, roundTo float64) float64 { + if roundTo < 0.000000000000001 { + return value + } + d1 := math.Ceil(value / roundTo) + return d1 * roundTo +} + +// RoundDown rounds down to a given roundTo value. +func RoundDown(value, roundTo float64) float64 { + if roundTo < 0.000000000000001 { + return value + } + d1 := math.Floor(value / roundTo) + return d1 * roundTo +} + +// Normalize returns a set of numbers on the interval [0,1] for a given set of inputs. +// An example: 4,3,2,1 => 0.4, 0.3, 0.2, 0.1 +// Caveat; the total may be < 1.0; there are going to be issues with irrational numbers etc. +func Normalize(values ...float64) []float64 { + var total float64 + for _, v := range values { + total += v + } + output := make([]float64, len(values)) + for x, v := range values { + output[x] = RoundDown(v/total, 0.0001) + } + return output +} + +// Mean returns the mean of a set of values +func Mean(values ...float64) float64 { + return Sum(values...) / float64(len(values)) +} + +// MeanInt returns the mean of a set of integer values. +func MeanInt(values ...int) int { + return SumInt(values...) / len(values) +} + +// Sum sums a set of values. +func Sum(values ...float64) float64 { + var total float64 + for _, v := range values { + total += v + } + return total +} + +// SumInt sums a set of values. +func SumInt(values ...int) int { + var total int + for _, v := range values { + total += v + } + return total +} + +// PercentDifference computes the percentage difference between two values. +// The formula is (v2-v1)/v1. +func PercentDifference(v1, v2 float64) float64 { + if v1 == 0 { + return 0 + } + return (v2 - v1) / v1 +} + +// GetRoundToForDelta returns a `roundTo` value for a given delta. +func GetRoundToForDelta(delta float64) float64 { + startingDeltaBound := math.Pow(10.0, 10.0) + for cursor := startingDeltaBound; cursor > 0; cursor /= 10.0 { + if delta > cursor { + return cursor / 10.0 + } + } + + return 0.0 +} + +// RoundPlaces rounds an input to a given places. +func RoundPlaces(input float64, places int) (rounded float64) { + if math.IsNaN(input) { + return 0.0 + } + + sign := 1.0 + if input < 0 { + sign = -1 + input *= -1 + } + + precision := math.Pow(10, float64(places)) + digit := input * precision + _, decimal := math.Modf(digit) + + if decimal >= 0.5 { + rounded = math.Ceil(digit) + } else { + rounded = math.Floor(digit) + } + + return rounded / precision * sign +} + +func f64i(value float64) int { + r := RoundPlaces(value, 0) + return int(r) +} diff --git a/matrix/matrix.go b/matrix/matrix.go new file mode 100644 index 0000000..2bb4ba4 --- /dev/null +++ b/matrix/matrix.go @@ -0,0 +1,592 @@ +package matrix + +import ( + "bytes" + "errors" + "fmt" + "math" +) + +const ( + // DefaultEpsilon represents the minimum precision for matrix math operations. + DefaultEpsilon = 0.000001 +) + +var ( + // ErrDimensionMismatch is a typical error. + ErrDimensionMismatch = errors.New("dimension mismatch") + + // ErrSingularValue is a typical error. + ErrSingularValue = errors.New("singular value") +) + +// New returns a new matrix. +func New(rows, cols int, values ...float64) *Matrix { + if len(values) == 0 { + return &Matrix{ + stride: cols, + epsilon: DefaultEpsilon, + elements: make([]float64, rows*cols), + } + } + elems := make([]float64, rows*cols) + copy(elems, values) + return &Matrix{ + stride: cols, + epsilon: DefaultEpsilon, + elements: elems, + } +} + +// Identity returns the identity matrix of a given order. +func Identity(order int) *Matrix { + m := New(order, order) + for i := 0; i < order; i++ { + m.Set(i, i, 1) + } + return m +} + +// Zero returns a matrix of a given size zeroed. +func Zero(rows, cols int) *Matrix { + return New(rows, cols) +} + +// Ones returns an matrix of ones. +func Ones(rows, cols int) *Matrix { + ones := make([]float64, rows*cols) + for i := 0; i < (rows * cols); i++ { + ones[i] = 1 + } + + return &Matrix{ + stride: cols, + epsilon: DefaultEpsilon, + elements: ones, + } +} + +// Eye returns the eye matrix. +func Eye(n int) *Matrix { + m := Zero(n, n) + for i := 0; i < len(m.elements); i += n + 1 { + m.elements[i] = 1 + } + return m +} + +// NewFromArrays creates a matrix from a jagged array set. +func NewFromArrays(a [][]float64) *Matrix { + rows := len(a) + if rows == 0 { + return nil + } + cols := len(a[0]) + m := New(rows, cols) + for row := 0; row < rows; row++ { + for col := 0; col < cols; col++ { + m.Set(row, col, a[row][col]) + } + } + return m +} + +// Matrix represents a 2d dense array of floats. +type Matrix struct { + epsilon float64 + elements []float64 + stride int +} + +// String returns a string representation of the matrix. +func (m *Matrix) String() string { + buffer := bytes.NewBuffer(nil) + rows, cols := m.Size() + + for row := 0; row < rows; row++ { + for col := 0; col < cols; col++ { + buffer.WriteString(f64s(m.Get(row, col))) + buffer.WriteRune(' ') + } + buffer.WriteRune('\n') + } + return buffer.String() +} + +// Epsilon returns the maximum precision for math operations. +func (m *Matrix) Epsilon() float64 { + return m.epsilon +} + +// WithEpsilon sets the epsilon on the matrix and returns a reference to the matrix. +func (m *Matrix) WithEpsilon(epsilon float64) *Matrix { + m.epsilon = epsilon + return m +} + +// Each applies the action to each element of the matrix in +// rows => cols order. +func (m *Matrix) Each(action func(row, col int, value float64)) { + rows, cols := m.Size() + for row := 0; row < rows; row++ { + for col := 0; col < cols; col++ { + action(row, col, m.Get(row, col)) + } + } +} + +// Round rounds all the values in a matrix to it epsilon, +// returning a reference to the original +func (m *Matrix) Round() *Matrix { + rows, cols := m.Size() + for row := 0; row < rows; row++ { + for col := 0; col < cols; col++ { + m.Set(row, col, roundToEpsilon(m.Get(row, col), m.epsilon)) + } + } + return m +} + +// Arrays returns the matrix as a two dimensional jagged array. +func (m *Matrix) Arrays() [][]float64 { + rows, cols := m.Size() + a := make([][]float64, rows) + + for row := 0; row < rows; row++ { + a[row] = make([]float64, cols) + + for col := 0; col < cols; col++ { + a[row][col] = m.Get(row, col) + } + } + return a +} + +// Size returns the dimensions of the matrix. +func (m *Matrix) Size() (rows, cols int) { + rows = len(m.elements) / m.stride + cols = m.stride + return +} + +// IsSquare returns if the row count is equal to the column count. +func (m *Matrix) IsSquare() bool { + return m.stride == (len(m.elements) / m.stride) +} + +// IsSymmetric returns if the matrix is symmetric about its diagonal. +func (m *Matrix) IsSymmetric() bool { + rows, cols := m.Size() + + if rows != cols { + return false + } + + for i := 0; i < rows; i++ { + for j := 0; j < i; j++ { + if m.Get(i, j) != m.Get(j, i) { + return false + } + } + } + return true +} + +// Get returns the element at the given row, col. +func (m *Matrix) Get(row, col int) float64 { + index := (m.stride * row) + col + return m.elements[index] +} + +// Set sets a value. +func (m *Matrix) Set(row, col int, val float64) { + index := (m.stride * row) + col + m.elements[index] = val +} + +// Col returns a column of the matrix as a vector. +func (m *Matrix) Col(col int) Vector { + rows, _ := m.Size() + values := make([]float64, rows) + for row := 0; row < rows; row++ { + values[row] = m.Get(row, col) + } + return Vector(values) +} + +// Row returns a row of the matrix as a vector. +func (m *Matrix) Row(row int) Vector { + _, cols := m.Size() + values := make([]float64, cols) + for col := 0; col < cols; col++ { + values[col] = m.Get(row, col) + } + return Vector(values) +} + +// SubMatrix returns a sub matrix from a given outer matrix. +func (m *Matrix) SubMatrix(i, j, rows, cols int) *Matrix { + return &Matrix{ + elements: m.elements[i*m.stride+j : i*m.stride+j+(rows-1)*m.stride+cols], + stride: m.stride, + epsilon: m.epsilon, + } +} + +// ScaleRow applies a scale to an entire row. +func (m *Matrix) ScaleRow(row int, scale float64) { + startIndex := row * m.stride + for i := startIndex; i < m.stride; i++ { + m.elements[i] = m.elements[i] * scale + } +} + +func (m *Matrix) scaleAddRow(rd int, rs int, f float64) { + indexd := rd * m.stride + indexs := rs * m.stride + for col := 0; col < m.stride; col++ { + m.elements[indexd] += f * m.elements[indexs] + indexd++ + indexs++ + } +} + +// SwapRows swaps a row in the matrix in place. +func (m *Matrix) SwapRows(i, j int) { + var vi, vj float64 + for col := 0; col < m.stride; col++ { + vi = m.Get(i, col) + vj = m.Get(j, col) + m.Set(i, col, vj) + m.Set(j, col, vi) + } +} + +// Augment concatenates two matrices about the horizontal. +func (m *Matrix) Augment(m2 *Matrix) (*Matrix, error) { + mr, mc := m.Size() + m2r, m2c := m2.Size() + if mr != m2r { + return nil, ErrDimensionMismatch + } + + m3 := Zero(mr, mc+m2c) + for row := 0; row < mr; row++ { + for col := 0; col < mc; col++ { + m3.Set(row, col, m.Get(row, col)) + } + for col := 0; col < m2c; col++ { + m3.Set(row, mc+col, m2.Get(row, col)) + } + } + return m3, nil +} + +// Copy returns a duplicate of a given matrix. +func (m *Matrix) Copy() *Matrix { + m2 := &Matrix{stride: m.stride, epsilon: m.epsilon, elements: make([]float64, len(m.elements))} + copy(m2.elements, m.elements) + return m2 +} + +// DiagonalVector returns a vector from the diagonal of a matrix. +func (m *Matrix) DiagonalVector() Vector { + rows, cols := m.Size() + rank := minInt(rows, cols) + values := make([]float64, rank) + + for index := 0; index < rank; index++ { + values[index] = m.Get(index, index) + } + return Vector(values) +} + +// Diagonal returns a matrix from the diagonal of a matrix. +func (m *Matrix) Diagonal() *Matrix { + rows, cols := m.Size() + rank := minInt(rows, cols) + m2 := New(rank, rank) + + for index := 0; index < rank; index++ { + m2.Set(index, index, m.Get(index, index)) + } + return m2 +} + +// Equals returns if a matrix equals another matrix. +func (m *Matrix) Equals(other *Matrix) bool { + if other == nil && m != nil { + return false + } else if other == nil { + return true + } + + if m.stride != other.stride { + return false + } + + msize := len(m.elements) + m2size := len(other.elements) + + if msize != m2size { + return false + } + + for i := 0; i < msize; i++ { + if m.elements[i] != other.elements[i] { + return false + } + } + return true +} + +// L returns the matrix with zeros below the diagonal. +func (m *Matrix) L() *Matrix { + rows, cols := m.Size() + m2 := New(rows, cols) + for row := 0; row < rows; row++ { + for col := row; col < cols; col++ { + m2.Set(row, col, m.Get(row, col)) + } + } + return m2 +} + +// U returns the matrix with zeros above the diagonal. +// Does not include the diagonal. +func (m *Matrix) U() *Matrix { + rows, cols := m.Size() + m2 := New(rows, cols) + for row := 0; row < rows; row++ { + for col := 0; col < row && col < cols; col++ { + m2.Set(row, col, m.Get(row, col)) + } + } + return m2 +} + +// math operations + +// Multiply multiplies two matrices. +func (m *Matrix) Multiply(m2 *Matrix) (m3 *Matrix, err error) { + if m.stride*m2.stride != len(m2.elements) { + return nil, ErrDimensionMismatch + } + + m3 = &Matrix{epsilon: m.epsilon, stride: m2.stride, elements: make([]float64, (len(m.elements)/m.stride)*m2.stride)} + for m1c0, m3x := 0, 0; m1c0 < len(m.elements); m1c0 += m.stride { + for m2r0 := 0; m2r0 < m2.stride; m2r0++ { + for m1x, m2x := m1c0, m2r0; m2x < len(m2.elements); m2x += m2.stride { + m3.elements[m3x] += m.elements[m1x] * m2.elements[m2x] + m1x++ + } + m3x++ + } + } + return +} + +// Pivotize does something i'm not sure what. +func (m *Matrix) Pivotize() *Matrix { + pv := make([]int, m.stride) + + for i := range pv { + pv[i] = i + } + + for j, dx := 0, 0; j < m.stride; j++ { + row := j + max := m.elements[dx] + for i, ixcj := j, dx; i < m.stride; i++ { + if m.elements[ixcj] > max { + max = m.elements[ixcj] + row = i + } + ixcj += m.stride + } + if j != row { + pv[row], pv[j] = pv[j], pv[row] + } + dx += m.stride + 1 + } + p := Zero(m.stride, m.stride) + for r, c := range pv { + p.elements[r*m.stride+c] = 1 + } + return p +} + +// Times returns the product of a matrix and another. +func (m *Matrix) Times(m2 *Matrix) (*Matrix, error) { + mr, mc := m.Size() + m2r, m2c := m2.Size() + + if mc != m2r { + return nil, fmt.Errorf("cannot multiply (%dx%d) and (%dx%d)", mr, mc, m2r, m2c) + //return nil, ErrDimensionMismatch + } + + c := Zero(mr, m2c) + + for i := 0; i < mr; i++ { + sums := c.elements[i*c.stride : (i+1)*c.stride] + for k, a := range m.elements[i*m.stride : i*m.stride+m.stride] { + for j, b := range m2.elements[k*m2.stride : k*m2.stride+m2.stride] { + sums[j] += a * b + } + } + } + + return c, nil +} + +// Decompositions + +// LU performs the LU decomposition. +func (m *Matrix) LU() (l, u, p *Matrix) { + l = Zero(m.stride, m.stride) + u = Zero(m.stride, m.stride) + p = m.Pivotize() + m, _ = p.Multiply(m) + for j, jxc0 := 0, 0; j < m.stride; j++ { + l.elements[jxc0+j] = 1 + for i, ixc0 := 0, 0; ixc0 <= jxc0; i++ { + sum := 0. + for k, kxcj := 0, j; k < i; k++ { + sum += u.elements[kxcj] * l.elements[ixc0+k] + kxcj += m.stride + } + u.elements[ixc0+j] = m.elements[ixc0+j] - sum + ixc0 += m.stride + } + for ixc0 := jxc0; ixc0 < len(m.elements); ixc0 += m.stride { + sum := 0. + for k, kxcj := 0, j; k < j; k++ { + sum += u.elements[kxcj] * l.elements[ixc0+k] + kxcj += m.stride + } + l.elements[ixc0+j] = (m.elements[ixc0+j] - sum) / u.elements[jxc0+j] + } + jxc0 += m.stride + } + return +} + +// QR performs the qr decomposition. +func (m *Matrix) QR() (q, r *Matrix) { + defer func() { + q = q.Round() + r = r.Round() + }() + + rows, cols := m.Size() + qr := m.Copy() + q = New(rows, cols) + r = New(rows, cols) + + var i, j, k int + var norm, s float64 + + for k = 0; k < cols; k++ { + norm = 0 + for i = k; i < rows; i++ { + norm = math.Hypot(norm, qr.Get(i, k)) + } + + if norm != 0 { + if qr.Get(k, k) < 0 { + norm = -norm + } + + for i = k; i < rows; i++ { + qr.Set(i, k, qr.Get(i, k)/norm) + } + qr.Set(k, k, qr.Get(k, k)+1.0) + + for j = k + 1; j < cols; j++ { + s = 0 + for i = k; i < rows; i++ { + s += qr.Get(i, k) * qr.Get(i, j) + } + s = -s / qr.Get(k, k) + for i = k; i < rows; i++ { + qr.Set(i, j, qr.Get(i, j)+s*qr.Get(i, k)) + + if i < j { + r.Set(i, j, qr.Get(i, j)) + } + } + + } + } + + r.Set(k, k, -norm) + + } + + //Q Matrix: + i, j, k = 0, 0, 0 + + for k = cols - 1; k >= 0; k-- { + q.Set(k, k, 1.0) + for j = k; j < cols; j++ { + if qr.Get(k, k) != 0 { + s = 0 + for i = k; i < rows; i++ { + s += qr.Get(i, k) * q.Get(i, j) + } + s = -s / qr.Get(k, k) + for i = k; i < rows; i++ { + q.Set(i, j, q.Get(i, j)+s*qr.Get(i, k)) + } + } + } + } + + return +} + +// Transpose flips a matrix about its diagonal, returning a new copy. +func (m *Matrix) Transpose() *Matrix { + rows, cols := m.Size() + m2 := Zero(cols, rows) + for i := 0; i < rows; i++ { + for j := 0; j < cols; j++ { + m2.Set(j, i, m.Get(i, j)) + } + } + return m2 +} + +// Inverse returns a matrix such that M*I==1. +func (m *Matrix) Inverse() (*Matrix, error) { + if !m.IsSymmetric() { + return nil, ErrDimensionMismatch + } + + rows, cols := m.Size() + + aug, _ := m.Augment(Eye(rows)) + for i := 0; i < rows; i++ { + j := i + for k := i; k < rows; k++ { + if math.Abs(aug.Get(k, i)) > math.Abs(aug.Get(j, i)) { + j = k + } + } + if j != i { + aug.SwapRows(i, j) + } + if aug.Get(i, i) == 0 { + return nil, ErrSingularValue + } + aug.ScaleRow(i, 1.0/aug.Get(i, i)) + for k := 0; k < rows; k++ { + if k == i { + continue + } + aug.scaleAddRow(k, i, -aug.Get(k, i)) + } + } + return aug.SubMatrix(0, cols, rows, cols), nil +} diff --git a/matrix/matrix_test.go b/matrix/matrix_test.go new file mode 100644 index 0000000..17b8be5 --- /dev/null +++ b/matrix/matrix_test.go @@ -0,0 +1,396 @@ +package matrix + +import ( + "testing" + + "github.com/wcharczuk/go-chart/v2/testutil" +) + +func TestNew(t *testing.T) { + // replaced new assertions helper + + m := New(10, 5) + rows, cols := m.Size() + testutil.AssertEqual(t, 10, rows) + testutil.AssertEqual(t, 5, cols) + testutil.AssertZero(t, m.Get(0, 0)) + testutil.AssertZero(t, m.Get(9, 4)) +} + +func TestNewWithValues(t *testing.T) { + // replaced new assertions helper + + m := New(5, 2, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10) + rows, cols := m.Size() + testutil.AssertEqual(t, 5, rows) + testutil.AssertEqual(t, 2, cols) + testutil.AssertEqual(t, 1, m.Get(0, 0)) + testutil.AssertEqual(t, 10, m.Get(4, 1)) +} + +func TestIdentitiy(t *testing.T) { + // replaced new assertions helper + + id := Identity(5) + rows, cols := id.Size() + testutil.AssertEqual(t, 5, rows) + testutil.AssertEqual(t, 5, cols) + testutil.AssertEqual(t, 1, id.Get(0, 0)) + testutil.AssertEqual(t, 1, id.Get(1, 1)) + testutil.AssertEqual(t, 1, id.Get(2, 2)) + testutil.AssertEqual(t, 1, id.Get(3, 3)) + testutil.AssertEqual(t, 1, id.Get(4, 4)) + testutil.AssertEqual(t, 0, id.Get(0, 1)) + testutil.AssertEqual(t, 0, id.Get(1, 0)) + testutil.AssertEqual(t, 0, id.Get(4, 0)) + testutil.AssertEqual(t, 0, id.Get(0, 4)) +} + +func TestNewFromArrays(t *testing.T) { + // replaced new assertions helper + + m := NewFromArrays([][]float64{ + {1, 2, 3, 4}, + {5, 6, 7, 8}, + }) + testutil.AssertNotNil(t, m) + + rows, cols := m.Size() + testutil.AssertEqual(t, 2, rows) + testutil.AssertEqual(t, 4, cols) +} + +func TestOnes(t *testing.T) { + // replaced new assertions helper + + ones := Ones(5, 10) + rows, cols := ones.Size() + testutil.AssertEqual(t, 5, rows) + testutil.AssertEqual(t, 10, cols) + + for row := 0; row < rows; row++ { + for col := 0; col < cols; col++ { + testutil.AssertEqual(t, 1, ones.Get(row, col)) + } + } +} + +func TestMatrixEpsilon(t *testing.T) { + // replaced new assertions helper + + ones := Ones(2, 2) + ones = ones.WithEpsilon(0.001) + testutil.AssertEqual(t, 0.001, ones.Epsilon()) +} + +func TestMatrixArrays(t *testing.T) { + // replaced new assertions helper + + m := NewFromArrays([][]float64{ + {1, 2, 3}, + {4, 5, 6}, + }) + + testutil.AssertNotNil(t, m) + + arrays := m.Arrays() + + testutil.AssertEqual(t, arrays, [][]float64{ + {1, 2, 3}, + {4, 5, 6}, + }) +} + +func TestMatrixIsSquare(t *testing.T) { + // replaced new assertions helper + + testutil.AssertFalse(t, NewFromArrays([][]float64{ + {1, 2, 3}, + {4, 5, 6}, + }).IsSquare()) + + testutil.AssertFalse(t, NewFromArrays([][]float64{ + {1, 2}, + {3, 4}, + {5, 6}, + }).IsSquare()) + + testutil.AssertTrue(t, NewFromArrays([][]float64{ + {1, 2}, + {3, 4}, + }).IsSquare()) +} + +func TestMatrixIsSymmetric(t *testing.T) { + // replaced new assertions helper + + testutil.AssertFalse(t, NewFromArrays([][]float64{ + {1, 2, 3}, + {2, 1, 2}, + }).IsSymmetric()) + + testutil.AssertFalse(t, NewFromArrays([][]float64{ + {1, 2, 3}, + {4, 5, 6}, + {7, 8, 9}, + }).IsSymmetric()) + + testutil.AssertTrue(t, NewFromArrays([][]float64{ + {1, 2, 3}, + {2, 1, 2}, + {3, 2, 1}, + }).IsSymmetric()) + +} + +func TestMatrixGet(t *testing.T) { + // replaced new assertions helper + + m := NewFromArrays([][]float64{ + {1, 2, 3}, + {4, 5, 6}, + {7, 8, 9}, + }) + + testutil.AssertEqual(t, 1, m.Get(0, 0)) + testutil.AssertEqual(t, 2, m.Get(0, 1)) + testutil.AssertEqual(t, 3, m.Get(0, 2)) + testutil.AssertEqual(t, 4, m.Get(1, 0)) + testutil.AssertEqual(t, 5, m.Get(1, 1)) + testutil.AssertEqual(t, 6, m.Get(1, 2)) + testutil.AssertEqual(t, 7, m.Get(2, 0)) + testutil.AssertEqual(t, 8, m.Get(2, 1)) + testutil.AssertEqual(t, 9, m.Get(2, 2)) +} + +func TestMatrixSet(t *testing.T) { + // replaced new assertions helper + + m := NewFromArrays([][]float64{ + {1, 2, 3}, + {4, 5, 6}, + {7, 8, 9}, + }) + + m.Set(1, 1, 99) + testutil.AssertEqual(t, 99, m.Get(1, 1)) +} + +func TestMatrixCol(t *testing.T) { + // replaced new assertions helper + + m := NewFromArrays([][]float64{ + {1, 2, 3}, + {4, 5, 6}, + {7, 8, 9}, + }) + + testutil.AssertEqual(t, []float64{1, 4, 7}, m.Col(0)) + testutil.AssertEqual(t, []float64{2, 5, 8}, m.Col(1)) + testutil.AssertEqual(t, []float64{3, 6, 9}, m.Col(2)) +} + +func TestMatrixRow(t *testing.T) { + // replaced new assertions helper + + m := NewFromArrays([][]float64{ + {1, 2, 3}, + {4, 5, 6}, + {7, 8, 9}, + }) + + testutil.AssertEqual(t, []float64{1, 2, 3}, m.Row(0)) + testutil.AssertEqual(t, []float64{4, 5, 6}, m.Row(1)) + testutil.AssertEqual(t, []float64{7, 8, 9}, m.Row(2)) +} + +func TestMatrixSwapRows(t *testing.T) { + // replaced new assertions helper + + m := NewFromArrays([][]float64{ + {1, 2, 3}, + {4, 5, 6}, + {7, 8, 9}, + }) + + m.SwapRows(0, 1) + + testutil.AssertEqual(t, []float64{4, 5, 6}, m.Row(0)) + testutil.AssertEqual(t, []float64{1, 2, 3}, m.Row(1)) + testutil.AssertEqual(t, []float64{7, 8, 9}, m.Row(2)) +} + +func TestMatrixCopy(t *testing.T) { + // replaced new assertions helper + + m := NewFromArrays([][]float64{ + {1, 2, 3}, + {4, 5, 6}, + {7, 8, 9}, + }) + + m2 := m.Copy() + testutil.AssertFalse(t, m == m2) + testutil.AssertTrue(t, m.Equals(m2)) +} + +func TestMatrixDiagonalVector(t *testing.T) { + // replaced new assertions helper + + m := NewFromArrays([][]float64{ + {1, 4, 7}, + {4, 2, 8}, + {7, 8, 3}, + }) + + diag := m.DiagonalVector() + testutil.AssertEqual(t, []float64{1, 2, 3}, diag) +} + +func TestMatrixDiagonalVectorLandscape(t *testing.T) { + // replaced new assertions helper + + m := NewFromArrays([][]float64{ + {1, 4, 7, 99}, + {4, 2, 8, 99}, + }) + + diag := m.DiagonalVector() + testutil.AssertEqual(t, []float64{1, 2}, diag) +} + +func TestMatrixDiagonalVectorPortrait(t *testing.T) { + // replaced new assertions helper + + m := NewFromArrays([][]float64{ + {1, 4}, + {4, 2}, + {99, 99}, + }) + + diag := m.DiagonalVector() + testutil.AssertEqual(t, []float64{1, 2}, diag) +} + +func TestMatrixDiagonal(t *testing.T) { + // replaced new assertions helper + + m := NewFromArrays([][]float64{ + {1, 4, 7}, + {4, 2, 8}, + {7, 8, 3}, + }) + + m2 := NewFromArrays([][]float64{ + {1, 0, 0}, + {0, 2, 0}, + {0, 0, 3}, + }) + + testutil.AssertTrue(t, m.Diagonal().Equals(m2)) +} + +func TestMatrixEquals(t *testing.T) { + // replaced new assertions helper + + m := NewFromArrays([][]float64{ + {1, 4, 7}, + {4, 2, 8}, + {7, 8, 3}, + }) + + testutil.AssertFalse(t, m.Equals(nil)) + var nilMatrix *Matrix + testutil.AssertTrue(t, nilMatrix.Equals(nil)) + testutil.AssertFalse(t, m.Equals(New(1, 1))) + testutil.AssertFalse(t, m.Equals(New(3, 3))) + testutil.AssertTrue(t, m.Equals(New(3, 3, 1, 4, 7, 4, 2, 8, 7, 8, 3))) +} + +func TestMatrixL(t *testing.T) { + // replaced new assertions helper + + m := NewFromArrays([][]float64{ + {1, 2, 3}, + {4, 5, 6}, + {7, 8, 9}, + }) + + l := m.L() + testutil.AssertTrue(t, l.Equals(New(3, 3, 1, 2, 3, 0, 5, 6, 0, 0, 9))) +} + +func TestMatrixU(t *testing.T) { + // replaced new assertions helper + + m := NewFromArrays([][]float64{ + {1, 2, 3}, + {4, 5, 6}, + {7, 8, 9}, + }) + + u := m.U() + testutil.AssertTrue(t, u.Equals(New(3, 3, 0, 0, 0, 4, 0, 0, 7, 8, 0))) +} + +func TestMatrixString(t *testing.T) { + // replaced new assertions helper + + m := NewFromArrays([][]float64{ + {1, 2, 3}, + {4, 5, 6}, + {7, 8, 9}, + }) + + testutil.AssertEqual(t, "1 2 3 \n4 5 6 \n7 8 9 \n", m.String()) +} + +func TestMatrixLU(t *testing.T) { + // replaced new assertions helper + + m := NewFromArrays([][]float64{ + {1, 3, 5}, + {2, 4, 7}, + {1, 1, 0}, + }) + + l, u, p := m.LU() + testutil.AssertNotNil(t, l) + testutil.AssertNotNil(t, u) + testutil.AssertNotNil(t, p) +} + +func TestMatrixQR(t *testing.T) { + // replaced new assertions helper + + m := NewFromArrays([][]float64{ + {12, -51, 4}, + {6, 167, -68}, + {-4, 24, -41}, + }) + + q, r := m.QR() + testutil.AssertNotNil(t, q) + testutil.AssertNotNil(t, r) +} + +func TestMatrixTranspose(t *testing.T) { + // replaced new assertions helper + + m := NewFromArrays([][]float64{ + {1, 2, 3}, + {4, 5, 6}, + {7, 8, 9}, + {10, 11, 12}, + }) + + m2 := m.Transpose() + + rows, cols := m2.Size() + testutil.AssertEqual(t, 3, rows) + testutil.AssertEqual(t, 4, cols) + + testutil.AssertEqual(t, 1, m2.Get(0, 0)) + testutil.AssertEqual(t, 10, m2.Get(0, 3)) + testutil.AssertEqual(t, 3, m2.Get(2, 0)) +} diff --git a/matrix/regression.go b/matrix/regression.go new file mode 100644 index 0000000..7aaea7c --- /dev/null +++ b/matrix/regression.go @@ -0,0 +1,45 @@ +package matrix + +import "errors" + +var ( + // ErrPolyRegArraysSameLength is a common error. + ErrPolyRegArraysSameLength = errors.New("polynomial array inputs must be the same length") +) + +// Poly returns the polynomial regress of a given degree over the given values. +func Poly(xvalues, yvalues []float64, degree int) ([]float64, error) { + if len(xvalues) != len(yvalues) { + return nil, ErrPolyRegArraysSameLength + } + + m := len(yvalues) + n := degree + 1 + y := New(m, 1, yvalues...) + x := Zero(m, n) + + for i := 0; i < m; i++ { + ip := float64(1) + for j := 0; j < n; j++ { + x.Set(i, j, ip) + ip *= xvalues[i] + } + } + + q, r := x.QR() + qty, err := q.Transpose().Times(y) + if err != nil { + return nil, err + } + + c := make([]float64, n) + for i := n - 1; i >= 0; i-- { + c[i] = qty.Get(i, 0) + for j := i + 1; j < n; j++ { + c[i] -= c[j] * r.Get(i, j) + } + c[i] /= r.Get(i, i) + } + + return c, nil +} diff --git a/matrix/regression_test.go b/matrix/regression_test.go new file mode 100644 index 0000000..d43c0f4 --- /dev/null +++ b/matrix/regression_test.go @@ -0,0 +1,22 @@ +package matrix + +import ( + "testing" + + "github.com/wcharczuk/go-chart/v2/testutil" +) + +func TestPoly(t *testing.T) { + // replaced new assertions helper + var xGiven = []float64{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10} + var yGiven = []float64{1, 6, 17, 34, 57, 86, 121, 162, 209, 262, 321} + var degree = 2 + + c, err := Poly(xGiven, yGiven, degree) + testutil.AssertNil(t, err) + testutil.AssertLen(t, c, 3) + + testutil.AssertInDelta(t, c[0], 0.999999999, DefaultEpsilon) + testutil.AssertInDelta(t, c[1], 2, DefaultEpsilon) + testutil.AssertInDelta(t, c[2], 3, DefaultEpsilon) +} diff --git a/matrix/util.go b/matrix/util.go new file mode 100644 index 0000000..5f15779 --- /dev/null +++ b/matrix/util.go @@ -0,0 +1,36 @@ +package matrix + +import ( + "math" + "strconv" +) + +func minInt(values ...int) int { + min := math.MaxInt32 + + for x := 0; x < len(values); x++ { + if values[x] < min { + min = values[x] + } + } + return min +} + +func maxInt(values ...int) int { + max := math.MinInt32 + + for x := 0; x < len(values); x++ { + if values[x] > max { + max = values[x] + } + } + return max +} + +func f64s(v float64) string { + return strconv.FormatFloat(v, 'f', -1, 64) +} + +func roundToEpsilon(value, epsilon float64) float64 { + return math.Nextafter(value, value) +} diff --git a/matrix/vector.go b/matrix/vector.go new file mode 100644 index 0000000..c8aa380 --- /dev/null +++ b/matrix/vector.go @@ -0,0 +1,17 @@ +package matrix + +// Vector is just an array of values. +type Vector []float64 + +// DotProduct returns the dot product of two vectors. +func (v Vector) DotProduct(v2 Vector) (result float64, err error) { + if len(v) != len(v2) { + err = ErrDimensionMismatch + return + } + + for i := 0; i < len(v); i++ { + result = result + (v[i] * v2[i]) + } + return +} diff --git a/min_max_series.go b/min_max_series.go new file mode 100644 index 0000000..18d330a --- /dev/null +++ b/min_max_series.go @@ -0,0 +1,138 @@ +package chart + +import ( + "fmt" + "math" +) + +// MinSeries draws a horizontal line at the minimum value of the inner series. +type MinSeries struct { + Name string + Style Style + YAxis YAxisType + InnerSeries ValuesProvider + + minValue *float64 +} + +// GetName returns the name of the time series. +func (ms MinSeries) GetName() string { + return ms.Name +} + +// GetStyle returns the line style. +func (ms MinSeries) GetStyle() Style { + return ms.Style +} + +// GetYAxis returns which YAxis the series draws on. +func (ms MinSeries) GetYAxis() YAxisType { + return ms.YAxis +} + +// Len returns the number of elements in the series. +func (ms MinSeries) Len() int { + return ms.InnerSeries.Len() +} + +// GetValues gets a value at a given index. +func (ms *MinSeries) GetValues(index int) (x, y float64) { + ms.ensureMinValue() + x, _ = ms.InnerSeries.GetValues(index) + y = *ms.minValue + return +} + +// Render renders the series. +func (ms *MinSeries) Render(r Renderer, canvasBox Box, xrange, yrange Range, defaults Style) { + style := ms.Style.InheritFrom(defaults) + Draw.LineSeries(r, canvasBox, xrange, yrange, style, ms) +} + +func (ms *MinSeries) ensureMinValue() { + if ms.minValue == nil { + minValue := math.MaxFloat64 + var y float64 + for x := 0; x < ms.InnerSeries.Len(); x++ { + _, y = ms.InnerSeries.GetValues(x) + if y < minValue { + minValue = y + } + } + ms.minValue = &minValue + } +} + +// Validate validates the series. +func (ms *MinSeries) Validate() error { + if ms.InnerSeries == nil { + return fmt.Errorf("min series requires InnerSeries to be set") + } + return nil +} + +// MaxSeries draws a horizontal line at the maximum value of the inner series. +type MaxSeries struct { + Name string + Style Style + YAxis YAxisType + InnerSeries ValuesProvider + + maxValue *float64 +} + +// GetName returns the name of the time series. +func (ms MaxSeries) GetName() string { + return ms.Name +} + +// GetStyle returns the line style. +func (ms MaxSeries) GetStyle() Style { + return ms.Style +} + +// GetYAxis returns which YAxis the series draws on. +func (ms MaxSeries) GetYAxis() YAxisType { + return ms.YAxis +} + +// Len returns the number of elements in the series. +func (ms MaxSeries) Len() int { + return ms.InnerSeries.Len() +} + +// GetValues gets a value at a given index. +func (ms *MaxSeries) GetValues(index int) (x, y float64) { + ms.ensureMaxValue() + x, _ = ms.InnerSeries.GetValues(index) + y = *ms.maxValue + return +} + +// Render renders the series. +func (ms *MaxSeries) Render(r Renderer, canvasBox Box, xrange, yrange Range, defaults Style) { + style := ms.Style.InheritFrom(defaults) + Draw.LineSeries(r, canvasBox, xrange, yrange, style, ms) +} + +func (ms *MaxSeries) ensureMaxValue() { + if ms.maxValue == nil { + maxValue := -math.MaxFloat64 + var y float64 + for x := 0; x < ms.InnerSeries.Len(); x++ { + _, y = ms.InnerSeries.GetValues(x) + if y > maxValue { + maxValue = y + } + } + ms.maxValue = &maxValue + } +} + +// Validate validates the series. +func (ms *MaxSeries) Validate() error { + if ms.InnerSeries == nil { + return fmt.Errorf("max series requires InnerSeries to be set") + } + return nil +} diff --git a/parse.go b/parse.go new file mode 100644 index 0000000..5ecae0a --- /dev/null +++ b/parse.go @@ -0,0 +1,40 @@ +package chart + +import ( + "strconv" + "strings" + "time" +) + +// ParseFloats parses a list of floats. +func ParseFloats(values ...string) ([]float64, error) { + var output []float64 + var parsedValue float64 + var err error + var cleaned string + for _, value := range values { + cleaned = strings.TrimSpace(strings.Replace(value, ",", "", -1)) + if cleaned == "" { + continue + } + if parsedValue, err = strconv.ParseFloat(cleaned, 64); err != nil { + return nil, err + } + output = append(output, parsedValue) + } + return output, nil +} + +// ParseTimes parses a list of times with a given format. +func ParseTimes(layout string, values ...string) ([]time.Time, error) { + var output []time.Time + var parsedValue time.Time + var err error + for _, value := range values { + if parsedValue, err = time.Parse(layout, value); err != nil { + return nil, err + } + output = append(output, parsedValue) + } + return output, nil +} diff --git a/percent_change_series.go b/percent_change_series.go new file mode 100644 index 0000000..3767893 --- /dev/null +++ b/percent_change_series.go @@ -0,0 +1,89 @@ +package chart + +// Interface Assertions. +var ( + _ Series = (*PercentChangeSeries)(nil) + _ FirstValuesProvider = (*PercentChangeSeries)(nil) + _ LastValuesProvider = (*PercentChangeSeries)(nil) + _ ValueFormatterProvider = (*PercentChangeSeries)(nil) +) + +// PercentChangeSeriesSource is a series that +// can be used with a PercentChangeSeries +type PercentChangeSeriesSource interface { + Series + FirstValuesProvider + LastValuesProvider + ValuesProvider + ValueFormatterProvider +} + +// PercentChangeSeries applies a +// percentage difference function to a given continuous series. +type PercentChangeSeries struct { + Name string + Style Style + YAxis YAxisType + InnerSeries PercentChangeSeriesSource +} + +// GetName returns the name of the time series. +func (pcs PercentChangeSeries) GetName() string { + return pcs.Name +} + +// GetStyle returns the line style. +func (pcs PercentChangeSeries) GetStyle() Style { + return pcs.Style +} + +// Len implements part of Series. +func (pcs PercentChangeSeries) Len() int { + return pcs.InnerSeries.Len() +} + +// GetFirstValues implements FirstValuesProvider. +func (pcs PercentChangeSeries) GetFirstValues() (x, y float64) { + return pcs.InnerSeries.GetFirstValues() +} + +// GetValues gets x, y values at a given index. +func (pcs PercentChangeSeries) GetValues(index int) (x, y float64) { + _, fy := pcs.InnerSeries.GetFirstValues() + x0, y0 := pcs.InnerSeries.GetValues(index) + x = x0 + y = PercentDifference(fy, y0) + return +} + +// GetValueFormatters returns value formatter defaults for the series. +func (pcs PercentChangeSeries) GetValueFormatters() (x, y ValueFormatter) { + x, _ = pcs.InnerSeries.GetValueFormatters() + y = PercentValueFormatter + return +} + +// GetYAxis returns which YAxis the series draws on. +func (pcs PercentChangeSeries) GetYAxis() YAxisType { + return pcs.YAxis +} + +// GetLastValues gets the last values. +func (pcs PercentChangeSeries) GetLastValues() (x, y float64) { + _, fy := pcs.InnerSeries.GetFirstValues() + x0, y0 := pcs.InnerSeries.GetLastValues() + x = x0 + y = PercentDifference(fy, y0) + return +} + +// Render renders the series. +func (pcs PercentChangeSeries) Render(r Renderer, canvasBox Box, xrange, yrange Range, defaults Style) { + style := pcs.Style.InheritFrom(defaults) + Draw.LineSeries(r, canvasBox, xrange, yrange, style, pcs) +} + +// Validate validates the series. +func (pcs PercentChangeSeries) Validate() error { + return pcs.InnerSeries.Validate() +} diff --git a/percent_change_series_test.go b/percent_change_series_test.go new file mode 100644 index 0000000..dbc9413 --- /dev/null +++ b/percent_change_series_test.go @@ -0,0 +1,35 @@ +package chart + +import ( + "testing" + + "github.com/wcharczuk/go-chart/v2/testutil" +) + +func TestPercentageDifferenceSeries(t *testing.T) { + // replaced new assertions helper + + cs := ContinuousSeries{ + XValues: LinearRange(1.0, 10.0), + YValues: LinearRange(1.0, 10.0), + } + + pcs := PercentChangeSeries{ + Name: "Test Series", + InnerSeries: cs, + } + + testutil.AssertEqual(t, "Test Series", pcs.GetName()) + testutil.AssertEqual(t, 10, pcs.Len()) + x0, y0 := pcs.GetValues(0) + testutil.AssertEqual(t, 1.0, x0) + testutil.AssertEqual(t, 0, y0) + + xn, yn := pcs.GetValues(9) + testutil.AssertEqual(t, 10.0, xn) + testutil.AssertEqual(t, 9.0, yn) + + xn, yn = pcs.GetLastValues() + testutil.AssertEqual(t, 10.0, xn) + testutil.AssertEqual(t, 9.0, yn) +} diff --git a/pie_chart.go b/pie_chart.go new file mode 100644 index 0000000..49b551f --- /dev/null +++ b/pie_chart.go @@ -0,0 +1,311 @@ +package chart + +import ( + "errors" + "fmt" + "io" + + "github.com/golang/freetype/truetype" +) + +// PieChart is a chart that draws sections of a circle based on percentages. +type PieChart struct { + Title string + TitleStyle Style + + ColorPalette ColorPalette + + Width int + Height int + DPI float64 + + Background Style + Canvas Style + SliceStyle Style + + Font *truetype.Font + defaultFont *truetype.Font + + Values []Value + Elements []Renderable +} + +// GetDPI returns the dpi for the chart. +func (pc PieChart) GetDPI(defaults ...float64) float64 { + if pc.DPI == 0 { + if len(defaults) > 0 { + return defaults[0] + } + return DefaultDPI + } + return pc.DPI +} + +// GetFont returns the text font. +func (pc PieChart) GetFont() *truetype.Font { + if pc.Font == nil { + return pc.defaultFont + } + return pc.Font +} + +// GetWidth returns the chart width or the default value. +func (pc PieChart) GetWidth() int { + if pc.Width == 0 { + return DefaultChartWidth + } + return pc.Width +} + +// GetHeight returns the chart height or the default value. +func (pc PieChart) GetHeight() int { + if pc.Height == 0 { + return DefaultChartWidth + } + return pc.Height +} + +// Render renders the chart with the given renderer to the given io.Writer. +func (pc PieChart) Render(rp RendererProvider, w io.Writer) error { + if len(pc.Values) == 0 { + return errors.New("please provide at least one value") + } + + r, err := rp(pc.GetWidth(), pc.GetHeight()) + if err != nil { + return err + } + + if pc.Font == nil { + defaultFont, err := GetDefaultFont() + if err != nil { + return err + } + pc.defaultFont = defaultFont + } + r.SetDPI(pc.GetDPI(DefaultDPI)) + + canvasBox := pc.getDefaultCanvasBox() + canvasBox = pc.getCircleAdjustedCanvasBox(canvasBox) + + pc.drawBackground(r) + pc.drawCanvas(r, canvasBox) + + finalValues, err := pc.finalizeValues(pc.Values) + if err != nil { + return err + } + pc.drawSlices(r, canvasBox, finalValues) + pc.drawTitle(r) + for _, a := range pc.Elements { + a(r, canvasBox, pc.styleDefaultsElements()) + } + + return r.Save(w) +} + +func (pc PieChart) drawBackground(r Renderer) { + Draw.Box(r, Box{ + Right: pc.GetWidth(), + Bottom: pc.GetHeight(), + }, pc.getBackgroundStyle()) +} + +func (pc PieChart) drawCanvas(r Renderer, canvasBox Box) { + Draw.Box(r, canvasBox, pc.getCanvasStyle()) +} + +func (pc PieChart) drawTitle(r Renderer) { + if len(pc.Title) > 0 && !pc.TitleStyle.Hidden { + Draw.TextWithin(r, pc.Title, pc.Box(), pc.styleDefaultsTitle()) + } +} + +func (pc PieChart) drawSlices(r Renderer, canvasBox Box, values []Value) { + cx, cy := canvasBox.Center() + diameter := MinInt(canvasBox.Width(), canvasBox.Height()) + radius := float64(diameter >> 1) + labelRadius := (radius * 2.0) / 3.0 + + // draw the pie slices + var rads, delta, delta2, total float64 + var lx, ly int + + if len(values) == 1 { + pc.stylePieChartValue(0).WriteToRenderer(r) + r.MoveTo(cx, cy) + r.Circle(radius, cx, cy) + } else { + for index, v := range values { + v.Style.InheritFrom(pc.stylePieChartValue(index)).WriteToRenderer(r) + + r.MoveTo(cx, cy) + rads = PercentToRadians(total) + delta = PercentToRadians(v.Value) + + r.ArcTo(cx, cy, radius, radius, rads, delta) + + r.LineTo(cx, cy) + r.Close() + r.FillStroke() + total = total + v.Value + } + } + + // draw the labels + total = 0 + for index, v := range values { + v.Style.InheritFrom(pc.stylePieChartValue(index)).WriteToRenderer(r) + if len(v.Label) > 0 { + delta2 = PercentToRadians(total + (v.Value / 2.0)) + delta2 = RadianAdd(delta2, _pi2) + lx, ly = CirclePoint(cx, cy, labelRadius, delta2) + + tb := r.MeasureText(v.Label) + lx = lx - (tb.Width() >> 1) + ly = ly + (tb.Height() >> 1) + + if lx < 0 { + lx = 0 + } + if ly < 0 { + lx = 0 + } + + r.Text(v.Label, lx, ly) + } + total = total + v.Value + } +} + +func (pc PieChart) finalizeValues(values []Value) ([]Value, error) { + finalValues := Values(values).Normalize() + if len(finalValues) == 0 { + return nil, fmt.Errorf("pie chart must contain at least (1) non-zero value") + } + return finalValues, nil +} + +func (pc PieChart) getDefaultCanvasBox() Box { + return pc.Box() +} + +func (pc PieChart) getCircleAdjustedCanvasBox(canvasBox Box) Box { + circleDiameter := MinInt(canvasBox.Width(), canvasBox.Height()) + + square := Box{ + Right: circleDiameter, + Bottom: circleDiameter, + } + + return canvasBox.Fit(square) +} + +func (pc PieChart) getBackgroundStyle() Style { + return pc.Background.InheritFrom(pc.styleDefaultsBackground()) +} + +func (pc PieChart) getCanvasStyle() Style { + return pc.Canvas.InheritFrom(pc.styleDefaultsCanvas()) +} + +func (pc PieChart) styleDefaultsCanvas() Style { + return Style{ + FillColor: pc.GetColorPalette().CanvasColor(), + StrokeColor: pc.GetColorPalette().CanvasStrokeColor(), + StrokeWidth: DefaultStrokeWidth, + } +} + +func (pc PieChart) styleDefaultsPieChartValue() Style { + return Style{ + StrokeColor: pc.GetColorPalette().TextColor(), + StrokeWidth: 5.0, + FillColor: pc.GetColorPalette().TextColor(), + } +} + +func (pc PieChart) stylePieChartValue(index int) Style { + return pc.SliceStyle.InheritFrom(Style{ + StrokeColor: ColorWhite, + StrokeWidth: 5.0, + FillColor: pc.GetColorPalette().GetSeriesColor(index), + FontSize: pc.getScaledFontSize(), + FontColor: pc.GetColorPalette().TextColor(), + Font: pc.GetFont(), + }) +} + +func (pc PieChart) getScaledFontSize() float64 { + effectiveDimension := MinInt(pc.GetWidth(), pc.GetHeight()) + if effectiveDimension >= 2048 { + return 48.0 + } else if effectiveDimension >= 1024 { + return 24.0 + } else if effectiveDimension > 512 { + return 18.0 + } else if effectiveDimension > 256 { + return 12.0 + } + return 10.0 +} + +func (pc PieChart) styleDefaultsBackground() Style { + return Style{ + FillColor: pc.GetColorPalette().BackgroundColor(), + StrokeColor: pc.GetColorPalette().BackgroundStrokeColor(), + StrokeWidth: DefaultStrokeWidth, + } +} + +func (pc PieChart) styleDefaultsElements() Style { + return Style{ + Font: pc.GetFont(), + } +} + +func (pc PieChart) styleDefaultsTitle() Style { + return pc.TitleStyle.InheritFrom(Style{ + FontColor: pc.GetColorPalette().TextColor(), + Font: pc.GetFont(), + FontSize: pc.getTitleFontSize(), + TextHorizontalAlign: TextHorizontalAlignCenter, + TextVerticalAlign: TextVerticalAlignTop, + TextWrap: TextWrapWord, + }) +} + +func (pc PieChart) getTitleFontSize() float64 { + effectiveDimension := MinInt(pc.GetWidth(), pc.GetHeight()) + if effectiveDimension >= 2048 { + return 48 + } else if effectiveDimension >= 1024 { + return 24 + } else if effectiveDimension >= 512 { + return 18 + } else if effectiveDimension >= 256 { + return 12 + } + return 10 +} + +// GetColorPalette returns the color palette for the chart. +func (pc PieChart) GetColorPalette() ColorPalette { + if pc.ColorPalette != nil { + return pc.ColorPalette + } + return AlternateColorPalette +} + +// Box returns the chart bounds as a box. +func (pc PieChart) Box() Box { + dpr := pc.Background.Padding.GetRight(DefaultBackgroundPadding.Right) + dpb := pc.Background.Padding.GetBottom(DefaultBackgroundPadding.Bottom) + + return Box{ + Top: pc.Background.Padding.GetTop(DefaultBackgroundPadding.Top), + Left: pc.Background.Padding.GetLeft(DefaultBackgroundPadding.Left), + Right: pc.GetWidth() - dpr, + Bottom: pc.GetHeight() - dpb, + } +} diff --git a/pie_chart_test.go b/pie_chart_test.go new file mode 100644 index 0000000..1d9f17a --- /dev/null +++ b/pie_chart_test.go @@ -0,0 +1,69 @@ +package chart + +import ( + "bytes" + "testing" + + "github.com/wcharczuk/go-chart/v2/testutil" +) + +func TestPieChart(t *testing.T) { + // replaced new assertions helper + + pie := PieChart{ + Canvas: Style{ + FillColor: ColorLightGray, + }, + Values: []Value{ + {Value: 10, Label: "Blue"}, + {Value: 9, Label: "Green"}, + {Value: 8, Label: "Gray"}, + {Value: 7, Label: "Orange"}, + {Value: 6, Label: "HEANG"}, + {Value: 5, Label: "??"}, + {Value: 2, Label: "!!"}, + }, + } + + b := bytes.NewBuffer([]byte{}) + pie.Render(PNG, b) + testutil.AssertNotZero(t, b.Len()) +} + +func TestPieChartDropsZeroValues(t *testing.T) { + // replaced new assertions helper + + pie := PieChart{ + Canvas: Style{ + FillColor: ColorLightGray, + }, + Values: []Value{ + {Value: 5, Label: "Blue"}, + {Value: 5, Label: "Green"}, + {Value: 0, Label: "Gray"}, + }, + } + + b := bytes.NewBuffer([]byte{}) + err := pie.Render(PNG, b) + testutil.AssertNil(t, err) +} + +func TestPieChartAllZeroValues(t *testing.T) { + // replaced new assertions helper + + pie := PieChart{ + Canvas: Style{ + FillColor: ColorLightGray, + }, + Values: []Value{ + {Value: 0, Label: "Blue"}, + {Value: 0, Label: "Green"}, + {Value: 0, Label: "Gray"}, + }, + } + + b := bytes.NewBuffer([]byte{}) + err := pie.Render(PNG, b) + testutil.AssertNotNil(t, err) +} diff --git a/polynomial_regression_series.go b/polynomial_regression_series.go new file mode 100644 index 0000000..22cd3c1 --- /dev/null +++ b/polynomial_regression_series.go @@ -0,0 +1,177 @@ +package chart + +import ( + "fmt" + "math" + + "github.com/wcharczuk/go-chart/v2/matrix" +) + +// Interface Assertions. +var ( + _ Series = (*PolynomialRegressionSeries)(nil) + _ FirstValuesProvider = (*PolynomialRegressionSeries)(nil) + _ LastValuesProvider = (*PolynomialRegressionSeries)(nil) +) + +// PolynomialRegressionSeries implements a polynomial regression over a given +// inner series. +type PolynomialRegressionSeries struct { + Name string + Style Style + YAxis YAxisType + + Limit int + Offset int + Degree int + InnerSeries ValuesProvider + + coeffs []float64 +} + +// GetName returns the name of the time series. +func (prs PolynomialRegressionSeries) GetName() string { + return prs.Name +} + +// GetStyle returns the line style. +func (prs PolynomialRegressionSeries) GetStyle() Style { + return prs.Style +} + +// GetYAxis returns which YAxis the series draws on. +func (prs PolynomialRegressionSeries) GetYAxis() YAxisType { + return prs.YAxis +} + +// Len returns the number of elements in the series. +func (prs PolynomialRegressionSeries) Len() int { + return MinInt(prs.GetLimit(), prs.InnerSeries.Len()-prs.GetOffset()) +} + +// GetLimit returns the window size. +func (prs PolynomialRegressionSeries) GetLimit() int { + if prs.Limit == 0 { + return prs.InnerSeries.Len() + } + return prs.Limit +} + +// GetEndIndex returns the effective limit end. +func (prs PolynomialRegressionSeries) GetEndIndex() int { + windowEnd := prs.GetOffset() + prs.GetLimit() + innerSeriesLastIndex := prs.InnerSeries.Len() - 1 + return MinInt(windowEnd, innerSeriesLastIndex) +} + +// GetOffset returns the data offset. +func (prs PolynomialRegressionSeries) GetOffset() int { + if prs.Offset == 0 { + return 0 + } + return prs.Offset +} + +// Validate validates the series. +func (prs *PolynomialRegressionSeries) Validate() error { + if prs.InnerSeries == nil { + return fmt.Errorf("linear regression series requires InnerSeries to be set") + } + + endIndex := prs.GetEndIndex() + if endIndex >= prs.InnerSeries.Len() { + return fmt.Errorf("invalid window; inner series has length %d but end index is %d", prs.InnerSeries.Len(), endIndex) + } + + return nil +} + +// GetValues returns the series value for a given index. +func (prs *PolynomialRegressionSeries) GetValues(index int) (x, y float64) { + if prs.InnerSeries == nil || prs.InnerSeries.Len() == 0 { + return + } + + if prs.coeffs == nil { + coeffs, err := prs.computeCoefficients() + if err != nil { + panic(err) + } + prs.coeffs = coeffs + } + + offset := prs.GetOffset() + effectiveIndex := MinInt(index+offset, prs.InnerSeries.Len()) + x, y = prs.InnerSeries.GetValues(effectiveIndex) + y = prs.apply(x) + return +} + +// GetFirstValues computes the first poly regression value. +func (prs *PolynomialRegressionSeries) GetFirstValues() (x, y float64) { + if prs.InnerSeries == nil || prs.InnerSeries.Len() == 0 { + return + } + if prs.coeffs == nil { + coeffs, err := prs.computeCoefficients() + if err != nil { + panic(err) + } + prs.coeffs = coeffs + } + x, y = prs.InnerSeries.GetValues(0) + y = prs.apply(x) + return +} + +// GetLastValues computes the last poly regression value. +func (prs *PolynomialRegressionSeries) GetLastValues() (x, y float64) { + if prs.InnerSeries == nil || prs.InnerSeries.Len() == 0 { + return + } + if prs.coeffs == nil { + coeffs, err := prs.computeCoefficients() + if err != nil { + panic(err) + } + prs.coeffs = coeffs + } + endIndex := prs.GetEndIndex() + x, y = prs.InnerSeries.GetValues(endIndex) + y = prs.apply(x) + return +} + +func (prs *PolynomialRegressionSeries) apply(v float64) (out float64) { + for index, coeff := range prs.coeffs { + out = out + (coeff * math.Pow(v, float64(index))) + } + return +} + +func (prs *PolynomialRegressionSeries) computeCoefficients() ([]float64, error) { + xvalues, yvalues := prs.values() + return matrix.Poly(xvalues, yvalues, prs.Degree) +} + +func (prs *PolynomialRegressionSeries) values() (xvalues, yvalues []float64) { + startIndex := prs.GetOffset() + endIndex := prs.GetEndIndex() + + xvalues = make([]float64, endIndex-startIndex) + yvalues = make([]float64, endIndex-startIndex) + + for index := startIndex; index < endIndex; index++ { + x, y := prs.InnerSeries.GetValues(index) + xvalues[index-startIndex] = x + yvalues[index-startIndex] = y + } + + return +} + +// Render renders the series. +func (prs *PolynomialRegressionSeries) Render(r Renderer, canvasBox Box, xrange, yrange Range, defaults Style) { + style := prs.Style.InheritFrom(defaults) + Draw.LineSeries(r, canvasBox, xrange, yrange, style, prs) +} diff --git a/polynomial_regression_test.go b/polynomial_regression_test.go new file mode 100644 index 0000000..8535c74 --- /dev/null +++ b/polynomial_regression_test.go @@ -0,0 +1,35 @@ +package chart + +import ( + "testing" + + "github.com/wcharczuk/go-chart/v2/matrix" + "github.com/wcharczuk/go-chart/v2/testutil" +) + +func TestPolynomialRegression(t *testing.T) { + // replaced new assertions helper + + var xv []float64 + var yv []float64 + + for i := 0; i < 100; i++ { + xv = append(xv, float64(i)) + yv = append(yv, float64(i*i)) + } + + values := ContinuousSeries{ + XValues: xv, + YValues: yv, + } + + poly := &PolynomialRegressionSeries{ + InnerSeries: values, + Degree: 2, + } + + for i := 0; i < 100; i++ { + _, y := poly.GetValues(i) + testutil.AssertInDelta(t, float64(i*i), y, matrix.DefaultEpsilon) + } +} diff --git a/random_sequence.go b/random_sequence.go new file mode 100644 index 0000000..45c9971 --- /dev/null +++ b/random_sequence.go @@ -0,0 +1,92 @@ +package chart + +import ( + "math" + "math/rand" + "time" +) + +var ( + _ Sequence = (*RandomSeq)(nil) +) + +// RandomValues returns an array of random values. +func RandomValues(count int) []float64 { + return Seq{NewRandomSequence().WithLen(count)}.Values() +} + +// RandomValuesWithMax returns an array of random values with a given average. +func RandomValuesWithMax(count int, max float64) []float64 { + return Seq{NewRandomSequence().WithMax(max).WithLen(count)}.Values() +} + +// NewRandomSequence creates a new random seq. +func NewRandomSequence() *RandomSeq { + return &RandomSeq{ + rnd: rand.New(rand.NewSource(time.Now().Unix())), + } +} + +// RandomSeq is a random number seq generator. +type RandomSeq struct { + rnd *rand.Rand + max *float64 + min *float64 + len *int +} + +// Len returns the number of elements that will be generated. +func (r *RandomSeq) Len() int { + if r.len != nil { + return *r.len + } + return math.MaxInt32 +} + +// GetValue returns the value. +func (r *RandomSeq) GetValue(_ int) float64 { + if r.min != nil && r.max != nil { + var delta float64 + + if *r.max > *r.min { + delta = *r.max - *r.min + } else { + delta = *r.min - *r.max + } + + return *r.min + (r.rnd.Float64() * delta) + } else if r.max != nil { + return r.rnd.Float64() * *r.max + } else if r.min != nil { + return *r.min + (r.rnd.Float64()) + } + return r.rnd.Float64() +} + +// WithLen sets a maximum len +func (r *RandomSeq) WithLen(length int) *RandomSeq { + r.len = &length + return r +} + +// Min returns the minimum value. +func (r RandomSeq) Min() *float64 { + return r.min +} + +// WithMin sets the scale and returns the Random. +func (r *RandomSeq) WithMin(min float64) *RandomSeq { + r.min = &min + return r +} + +// Max returns the maximum value. +func (r RandomSeq) Max() *float64 { + return r.max +} + +// WithMax sets the average and returns the Random. +func (r *RandomSeq) WithMax(max float64) *RandomSeq { + r.max = &max + return r +} diff --git a/range.go b/range.go new file mode 100644 index 0000000..a7b22ab --- /dev/null +++ b/range.go @@ -0,0 +1,43 @@ +package chart + +// NameProvider is a type that returns a name. +type NameProvider interface { + GetName() string +} + +// StyleProvider is a type that returns a style. +type StyleProvider interface { + GetStyle() Style +} + +// IsZeroable is a type that returns if it's been set or not. +type IsZeroable interface { + IsZero() bool +} + +// Stringable is a type that has a string representation. +type Stringable interface { + String() string +} + +// Range is a common interface for a range of values. +type Range interface { + Stringable + IsZeroable + + GetMin() float64 + SetMin(min float64) + + GetMax() float64 + SetMax(max float64) + + GetDelta() float64 + + GetDomain() int + SetDomain(domain int) + + IsDescending() bool + + // Translate the range to the domain. + Translate(value float64) int +} diff --git a/raster_renderer.go b/raster_renderer.go new file mode 100644 index 0000000..4de2655 --- /dev/null +++ b/raster_renderer.go @@ -0,0 +1,230 @@ +package chart + +import ( + "image" + "image/png" + "io" + "math" + + "github.com/golang/freetype/truetype" + "github.com/wcharczuk/go-chart/v2/drawing" +) + +// PNG returns a new png/raster renderer. +func PNG(width, height int) (Renderer, error) { + i := image.NewRGBA(image.Rect(0, 0, width, height)) + gc, err := drawing.NewRasterGraphicContext(i) + if err == nil { + return &rasterRenderer{ + i: i, + gc: gc, + }, nil + } + return nil, err +} + +// rasterRenderer renders chart commands to a bitmap. +type rasterRenderer struct { + i *image.RGBA + gc *drawing.RasterGraphicContext + + rotateRadians *float64 + + s Style +} + +func (rr *rasterRenderer) ResetStyle() { + rr.s = Style{Font: rr.s.Font} + rr.ClearTextRotation() +} + +// GetDPI returns the dpi. +func (rr *rasterRenderer) GetDPI() float64 { + return rr.gc.GetDPI() +} + +// SetDPI implements the interface method. +func (rr *rasterRenderer) SetDPI(dpi float64) { + rr.gc.SetDPI(dpi) +} + +// SetClassName implements the interface method. However, PNGs have no classes. +func (rr *rasterRenderer) SetClassName(_ string) {} + +// SetStrokeColor implements the interface method. +func (rr *rasterRenderer) SetStrokeColor(c drawing.Color) { + rr.s.StrokeColor = c +} + +// SetLineWidth implements the interface method. +func (rr *rasterRenderer) SetStrokeWidth(width float64) { + rr.s.StrokeWidth = width +} + +// StrokeDashArray sets the stroke dash array. +func (rr *rasterRenderer) SetStrokeDashArray(dashArray []float64) { + rr.s.StrokeDashArray = dashArray +} + +// SetFillColor implements the interface method. +func (rr *rasterRenderer) SetFillColor(c drawing.Color) { + rr.s.FillColor = c +} + +// MoveTo implements the interface method. +func (rr *rasterRenderer) MoveTo(x, y int) { + rr.gc.MoveTo(float64(x), float64(y)) +} + +// LineTo implements the interface method. +func (rr *rasterRenderer) LineTo(x, y int) { + rr.gc.LineTo(float64(x), float64(y)) +} + +// QuadCurveTo implements the interface method. +func (rr *rasterRenderer) QuadCurveTo(cx, cy, x, y int) { + rr.gc.QuadCurveTo(float64(cx), float64(cy), float64(x), float64(y)) +} + +// ArcTo implements the interface method. +func (rr *rasterRenderer) ArcTo(cx, cy int, rx, ry, startAngle, delta float64) { + rr.gc.ArcTo(float64(cx), float64(cy), rx, ry, startAngle, delta) +} + +// Close implements the interface method. +func (rr *rasterRenderer) Close() { + rr.gc.Close() +} + +// Stroke implements the interface method. +func (rr *rasterRenderer) Stroke() { + rr.gc.SetStrokeColor(rr.s.StrokeColor) + rr.gc.SetLineWidth(rr.s.StrokeWidth) + rr.gc.SetLineDash(rr.s.StrokeDashArray, 0) + rr.gc.Stroke() +} + +// Fill implements the interface method. +func (rr *rasterRenderer) Fill() { + rr.gc.SetFillColor(rr.s.FillColor) + rr.gc.Fill() +} + +// FillStroke implements the interface method. +func (rr *rasterRenderer) FillStroke() { + rr.gc.SetFillColor(rr.s.FillColor) + rr.gc.SetStrokeColor(rr.s.StrokeColor) + rr.gc.SetLineWidth(rr.s.StrokeWidth) + rr.gc.SetLineDash(rr.s.StrokeDashArray, 0) + rr.gc.FillStroke() +} + +// Circle fully draws a circle at a given point but does not apply the fill or stroke. +func (rr *rasterRenderer) Circle(radius float64, x, y int) { + xf := float64(x) + yf := float64(y) + + rr.gc.MoveTo(xf-radius, yf) //9 + rr.gc.QuadCurveTo(xf-radius, yf-radius, xf, yf-radius) //12 + rr.gc.QuadCurveTo(xf+radius, yf-radius, xf+radius, yf) //3 + rr.gc.QuadCurveTo(xf+radius, yf+radius, xf, yf+radius) //6 + rr.gc.QuadCurveTo(xf-radius, yf+radius, xf-radius, yf) //9 +} + +// SetFont implements the interface method. +func (rr *rasterRenderer) SetFont(f *truetype.Font) { + rr.s.Font = f +} + +// SetFontSize implements the interface method. +func (rr *rasterRenderer) SetFontSize(size float64) { + rr.s.FontSize = size +} + +// SetFontColor implements the interface method. +func (rr *rasterRenderer) SetFontColor(c drawing.Color) { + rr.s.FontColor = c +} + +// Text implements the interface method. +func (rr *rasterRenderer) Text(body string, x, y int) { + xf, yf := rr.getCoords(x, y) + rr.gc.SetFont(rr.s.Font) + rr.gc.SetFontSize(rr.s.FontSize) + rr.gc.SetFillColor(rr.s.FontColor) + rr.gc.CreateStringPath(body, float64(xf), float64(yf)) + rr.gc.Fill() +} + +// MeasureText returns the height and width in pixels of a string. +func (rr *rasterRenderer) MeasureText(body string) Box { + rr.gc.SetFont(rr.s.Font) + rr.gc.SetFontSize(rr.s.FontSize) + rr.gc.SetFillColor(rr.s.FontColor) + l, t, r, b, err := rr.gc.GetStringBounds(body) + if err != nil { + return Box{} + } + if l < 0 { + r = r - l // equivalent to r+(-1*l) + l = 0 + } + if t < 0 { + b = b - t + t = 0 + } + + if l > 0 { + r = r + l + l = 0 + } + + if t > 0 { + b = b + t + t = 0 + } + + textBox := Box{ + Top: int(math.Ceil(t)), + Left: int(math.Ceil(l)), + Right: int(math.Ceil(r)), + Bottom: int(math.Ceil(b)), + } + if rr.rotateRadians == nil { + return textBox + } + + return textBox.Corners().Rotate(RadiansToDegrees(*rr.rotateRadians)).Box() +} + +// SetTextRotation sets a text rotation. +func (rr *rasterRenderer) SetTextRotation(radians float64) { + rr.rotateRadians = &radians +} + +func (rr *rasterRenderer) getCoords(x, y int) (xf, yf int) { + if rr.rotateRadians == nil { + xf = x + yf = y + return + } + + rr.gc.Translate(float64(x), float64(y)) + rr.gc.Rotate(*rr.rotateRadians) + return +} + +// ClearTextRotation clears text rotation. +func (rr *rasterRenderer) ClearTextRotation() { + rr.gc.SetMatrixTransform(drawing.NewIdentityMatrix()) + rr.rotateRadians = nil +} + +// Save implements the interface method. +func (rr *rasterRenderer) Save(w io.Writer) error { + if typed, isTyped := w.(RGBACollector); isTyped { + typed.SetRGBA(rr.i) + return nil + } + return png.Encode(w, rr.i) +} diff --git a/renderable.go b/renderable.go new file mode 100644 index 0000000..6efb3ad --- /dev/null +++ b/renderable.go @@ -0,0 +1,4 @@ +package chart + +// Renderable is a function that can be called to render custom elements on the chart. +type Renderable func(r Renderer, canvasBox Box, defaults Style) diff --git a/renderer.go b/renderer.go new file mode 100644 index 0000000..589c773 --- /dev/null +++ b/renderer.go @@ -0,0 +1,89 @@ +package chart + +import ( + "io" + + "github.com/golang/freetype/truetype" + "github.com/wcharczuk/go-chart/v2/drawing" +) + +// Renderer represents the basic methods required to draw a chart. +type Renderer interface { + // ResetStyle should reset any style related settings on the renderer. + ResetStyle() + + // GetDPI gets the DPI for the renderer. + GetDPI() float64 + + // SetDPI sets the DPI for the renderer. + SetDPI(dpi float64) + + // SetClassName sets the current class name. + SetClassName(string) + + // SetStrokeColor sets the current stroke color. + SetStrokeColor(drawing.Color) + + // SetFillColor sets the current fill color. + SetFillColor(drawing.Color) + + // SetStrokeWidth sets the stroke width. + SetStrokeWidth(width float64) + + // SetStrokeDashArray sets the stroke dash array. + SetStrokeDashArray(dashArray []float64) + + // MoveTo moves the cursor to a given point. + MoveTo(x, y int) + + // LineTo both starts a shape and draws a line to a given point + // from the previous point. + LineTo(x, y int) + + // QuadCurveTo draws a quad curve. + // cx and cy represent the bezier "control points". + QuadCurveTo(cx, cy, x, y int) + + // ArcTo draws an arc with a given center (cx,cy) + // a given set of radii (rx,ry), a startAngle and delta (in radians). + ArcTo(cx, cy int, rx, ry, startAngle, delta float64) + + // Close finalizes a shape as drawn by LineTo. + Close() + + // Stroke strokes the path. + Stroke() + + // Fill fills the path, but does not stroke. + Fill() + + // FillStroke fills and strokes a path. + FillStroke() + + // Circle draws a circle at the given coords with a given radius. + Circle(radius float64, x, y int) + + // SetFont sets a font for a text field. + SetFont(*truetype.Font) + + // SetFontColor sets a font's color + SetFontColor(drawing.Color) + + // SetFontSize sets the font size for a text field. + SetFontSize(size float64) + + // Text draws a text blob. + Text(body string, x, y int) + + // MeasureText measures text. + MeasureText(body string) Box + + // SetTextRotatation sets a rotation for drawing elements. + SetTextRotation(radians float64) + + // ClearTextRotation clears rotation. + ClearTextRotation() + + // Save writes the image to the given writer. + Save(w io.Writer) error +} diff --git a/renderer_provider.go b/renderer_provider.go new file mode 100644 index 0000000..be961a8 --- /dev/null +++ b/renderer_provider.go @@ -0,0 +1,4 @@ +package chart + +// RendererProvider is a function that returns a renderer. +type RendererProvider func(int, int) (Renderer, error) diff --git a/roboto/roboto.go b/roboto/roboto.go new file mode 100644 index 0000000..60658c6 --- /dev/null +++ b/roboto/roboto.go @@ -0,0 +1,5 @@ +package roboto + +// Roboto is the .ttf of Roboto-Medium. +// yes it is inlined. +var Roboto = []byte{0x0, 0x1, 0x0, 0x0, 0x0, 0xD, 0x0, 0x80, 0x0, 0x3, 0x0, 0x50, 0x47, 0x44, 0x45, 0x46, 0xE1, 0x72, 0xE4, 0x6D, 0x0, 0x3, 0x6A, 0x7C, 0x0, 0x0, 0x3, 0x76, 0x47, 0x50, 0x4F, 0x53, 0xE, 0xB6, 0x68, 0x58, 0x0, 0x3, 0x6D, 0xF4, 0x0, 0x1, 0x10, 0xC4, 0x47, 0x53, 0x55, 0x42, 0x72, 0xEB, 0xE7, 0x34, 0x0, 0x4, 0x7E, 0xB8, 0x0, 0x0, 0x2B, 0x68, 0x4F, 0x53, 0x2F, 0x32, 0x9B, 0x33, 0xB2, 0x3A, 0x0, 0x0, 0x1, 0x58, 0x0, 0x0, 0x0, 0x60, 0x63, 0x6D, 0x61, 0x70, 0x6A, 0x87, 0x43, 0x81, 0x0, 0x0, 0x36, 0x34, 0x0, 0x0, 0x18, 0xCC, 0x67, 0x6C, 0x79, 0x66, 0xEC, 0x38, 0xAB, 0xF4, 0x0, 0x0, 0x83, 0x80, 0x0, 0x2, 0xE3, 0xCD, 0x68, 0x65, 0x61, 0x64, 0x0, 0xD8, 0xDB, 0x29, 0x0, 0x0, 0x0, 0xDC, 0x0, 0x0, 0x0, 0x36, 0x68, 0x68, 0x65, 0x61, 0x10, 0x97, 0x17, 0xF0, 0x0, 0x0, 0x1, 0x14, 0x0, 0x0, 0x0, 0x24, 0x68, 0x6D, 0x74, 0x78, 0xC2, 0x6D, 0xF3, 0x5F, 0x0, 0x0, 0x1, 0xB8, 0x0, 0x0, 0x34, 0x7A, 0x6C, 0x6F, 0x63, 0x61, 0x16, 0x82, 0xFE, 0x88, 0x0, 0x0, 0x4F, 0x0, 0x0, 0x0, 0x34, 0x80, 0x6D, 0x61, 0x78, 0x70, 0xD, 0x43, 0x1, 0x29, 0x0, 0x0, 0x1, 0x38, 0x0, 0x0, 0x0, 0x20, 0x6E, 0x61, 0x6D, 0x65, 0x44, 0x5E, 0x77, 0xFC, 0x0, 0x3, 0x67, 0x50, 0x0, 0x0, 0x3, 0xC, 0x70, 0x6F, 0x73, 0x74, 0xFF, 0x6D, 0x0, 0x64, 0x0, 0x3, 0x6A, 0x5C, 0x0, 0x0, 0x0, 0x20, 0x0, 0x1, 0x0, 0x0, 0x0, 0x2, 0x22, 0x4E, 0xAE, 0xA5, 0x79, 0xC3, 0x5F, 0xF, 0x3C, 0xF5, 0x0, 0x19, 0x8, 0x0, 0x0, 0x0, 0x0, 0x0, 0xC4, 0xF0, 0x73, 0x9E, 0x0, 0x0, 0x0, 0x0, 0xD3, 0x91, 0xF9, 0xF6, 0xF8, 0xBE, 0xFD, 0xD5, 0x10, 0x6A, 0x8, 0x73, 0x0, 0x0, 0x0, 0x9, 0x0, 0x2, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x7, 0x6C, 0xFE, 0xC, 0x0, 0x0, 0x11, 0x2, 0xF8, 0xBE, 0xFB, 0xC3, 0x10, 0x6A, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xD, 0x1E, 0x0, 0x1, 0x0, 0x0, 0xD, 0x1F, 0x0, 0xD6, 0x0, 0x16, 0x0, 0x50, 0x0, 0x7, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6, 0x0, 0x2, 0x0, 0x4, 0x4, 0x99, 0x1, 0xF4, 0x0, 0x5, 0x0, 0x0, 0x5, 0x9A, 0x5, 0x33, 0x0, 0x0, 0x1, 0x1F, 0x5, 0x9A, 0x5, 0x33, 0x0, 0x0, 0x3, 0xD1, 0x0, 0x66, 0x2, 0x0, 0x0, 0x0, 0x2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xE0, 0x0, 0x2, 0xFF, 0x50, 0x0, 0x21, 0x7F, 0x0, 0x0, 0x0, 0x21, 0x0, 0x0, 0x0, 0x0, 0x47, 0x4F, 0x4F, 0x47, 0x0, 0x40, 0x0, 0x0, 0xFF, 0xFF, 0x8, 0x62, 0xFD, 0xD5, 0x0, 0x0, 0x8, 0x62, 0x2, 0x2B, 0x20, 0x0, 0x1, 0x9F, 0x0, 0x0, 0x0, 0x0, 0x4, 0x3A, 0x5, 0xB0, 0x0, 0x0, 0x0, 0x20, 0x0, 0x3, 0x3, 0x8C, 0x0, 0x64, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0xFE, 0x0, 0x0, 0x1, 0xFE, 0x0, 0x0, 0x1, 0xFE, 0x0, 0x0, 0x2, 0x25, 0x0, 0x90, 0x2, 0x98, 0x0, 0x65, 0x4, 0xE2, 0x0, 0x61, 0x4, 0x8C, 0x0, 0x65, 0x5, 0xE0, 0x0, 0x64, 0x5, 0x1D, 0x0, 0x55, 0x1, 0x5A, 0x0, 0x53, 0x2, 0xCB, 0x0, 0x80, 0x2, 0xD3, 0x0, 0x28, 0x3, 0x8A, 0x0, 0x1C, 0x4, 0x76, 0x0, 0x45, 0x1, 0xC3, 0x0, 0x1D, 0x2, 0xA1, 0x0, 0x47, 0x2, 0x3C, 0x0, 0x88, 0x3, 0x2B, 0x0, 0x2, 0x4, 0x8C, 0x0, 0x69, 0x4, 0x8C, 0x0, 0xA8, 0x4, 0x8C, 0x0, 0x51, 0x4, 0x8C, 0x0, 0x50, 0x4, 0x8C, 0x0, 0x35, 0x4, 0x8C, 0x0, 0x81, 0x4, 0x8C, 0x0, 0x76, 0x4, 0x8C, 0x0, 0x46, 0x4, 0x8C, 0x0, 0x69, 0x4, 0x8C, 0x0, 0x5E, 0x2, 0x1F, 0x0, 0x82, 0x1, 0xE7, 0x0, 0x2F, 0x4, 0x11, 0x0, 0x3F, 0x4, 0x7A, 0x0, 0x91, 0x4, 0x2A, 0x0, 0x81, 0x3, 0xE5, 0x0, 0x3C, 0x7, 0x29, 0x0, 0x52, 0x5, 0x53, 0x0, 0x12, 0x5, 0xD, 0x0, 0x95, 0x5, 0x39, 0x0, 0x66, 0x5, 0x3A, 0x0, 0x95, 0x4, 0x86, 0x0, 0x95, 0x4, 0x66, 0x0, 0x95, 0x5, 0x73, 0x0, 0x6A, 0x5, 0xB0, 0x0, 0x95, 0x2, 0x42, 0x0, 0xA4, 0x4, 0x71, 0x0, 0x2D, 0x5, 0xB, 0x0, 0x95, 0x4, 0x55, 0x0, 0x95, 0x7, 0x1, 0x0, 0x95, 0x5, 0xAF, 0x0, 0x95, 0x5, 0x86, 0x0, 0x66, 0x5, 0x1E, 0x0, 0x95, 0x5, 0x86, 0x0, 0x60, 0x4, 0xFF, 0x0, 0x95, 0x4, 0xD5, 0x0, 0x4A, 0x4, 0xDC, 0x0, 0x2D, 0x5, 0x38, 0x0, 0x7E, 0x5, 0x2E, 0x0, 0x12, 0x7, 0xB, 0x0, 0x31, 0x5, 0x10, 0x0, 0x29, 0x4, 0xE0, 0x0, 0x8, 0x4, 0xD2, 0x0, 0x50, 0x2, 0x32, 0x0, 0x84, 0x3, 0x58, 0x0, 0x14, 0x2, 0x32, 0x0, 0xD, 0x3, 0x6C, 0x0, 0x35, 0x3, 0x9C, 0x0, 0x3, 0x2, 0x94, 0x0, 0x31, 0x4, 0x55, 0x0, 0x5B, 0x4, 0x81, 0x0, 0x7D, 0x4, 0x31, 0x0, 0x50, 0x4, 0x85, 0x0, 0x50, 0x4, 0x4B, 0x0, 0x54, 0x2, 0xD6, 0x0, 0x2D, 0x4, 0x89, 0x0, 0x52, 0x4, 0x71, 0x0, 0x7A, 0x2, 0xC, 0x0, 0x7D, 0x2, 0x1, 0xFF, 0xB4, 0x4, 0x2D, 0x0, 0x7D, 0x2, 0xC, 0x0, 0x8C, 0x6, 0xF7, 0x0, 0x7D, 0x4, 0x73, 0x0, 0x7A, 0x4, 0x8E, 0x0, 0x50, 0x4, 0x81, 0x0, 0x7D, 0x4, 0x8B, 0x0, 0x50, 0x2, 0xD0, 0x0, 0x7D, 0x4, 0x22, 0x0, 0x4C, 0x2, 0xAA, 0x0, 0x8, 0x4, 0x72, 0x0, 0x77, 0x3, 0xF6, 0x0, 0x17, 0x5, 0xF2, 0x0, 0x22, 0x4, 0x7, 0x0, 0x1F, 0x3, 0xE5, 0x0, 0xC, 0x4, 0x7, 0x0, 0x52, 0x2, 0xAF, 0x0, 0x38, 0x2, 0x2, 0x0, 0xAE, 0x2, 0xAF, 0x0, 0x1C, 0x5, 0x51, 0x0, 0x76, 0x2, 0x1F, 0x0, 0x86, 0x4, 0x7D, 0x0, 0x65, 0x4, 0xB6, 0x0, 0x5F, 0x5, 0x9E, 0x0, 0x5D, 0x4, 0x41, 0x0, 0xC, 0x1, 0xFD, 0x0, 0x89, 0x4, 0xF9, 0x0, 0x5A, 0x3, 0x85, 0x0, 0x5E, 0x6, 0x45, 0x0, 0x56, 0x3, 0x92, 0x0, 0x8E, 0x3, 0xE2, 0x0, 0x56, 0x4, 0x6E, 0x0, 0x7F, 0x6, 0x45, 0x0, 0x56, 0x3, 0xDC, 0x0, 0x9C, 0x3, 0xB, 0x0, 0x7F, 0x4, 0x4B, 0x0, 0x5F, 0x2, 0xF6, 0x0, 0x3C, 0x2, 0xF6, 0x0, 0x37, 0x2, 0x9C, 0x0, 0x71, 0x4, 0xBB, 0x0, 0x93, 0x3, 0xEE, 0x0, 0x46, 0x2, 0x42, 0x0, 0x8E, 0x2, 0x11, 0x0, 0x6E, 0x2, 0xF6, 0x0, 0x81, 0x3, 0xA7, 0x0, 0x77, 0x3, 0xE2, 0x0, 0x5E, 0x5, 0xD0, 0x0, 0x59, 0x6, 0x2B, 0x0, 0x50, 0x6, 0x57, 0x0, 0x67, 0x3, 0xE5, 0x0, 0x43, 0x7, 0x85, 0xFF, 0xF6, 0x4, 0x45, 0x0, 0x4D, 0x5, 0x85, 0x0, 0x6A, 0x4, 0xCB, 0x0, 0x95, 0x4, 0xE8, 0x0, 0x88, 0x6, 0xC1, 0x0, 0x48, 0x4, 0xA7, 0x0, 0x68, 0x4, 0x92, 0x0, 0x44, 0x4, 0x89, 0x0, 0x50, 0x4, 0x97, 0x0, 0x83, 0x4, 0xEE, 0x0, 0x50, 0x5, 0xB0, 0x0, 0x20, 0x2, 0x1B, 0x0, 0x90, 0x4, 0x98, 0x0, 0x8E, 0x4, 0x64, 0x0, 0x22, 0x2, 0x4F, 0x0, 0x22, 0x5, 0x94, 0x0, 0x90, 0x4, 0x89, 0x0, 0x7F, 0x7, 0xB4, 0x0, 0x65, 0x7, 0x3B, 0x0, 0x5B, 0x2, 0xD, 0x0, 0x8B, 0x4, 0xDA, 0x0, 0x1A, 0x6, 0xA, 0x0, 0x22, 0x5, 0x8, 0x0, 0x90, 0x4, 0x81, 0x0, 0x7D, 0x5, 0x78, 0x0, 0x55, 0x5, 0x0, 0x0, 0x4F, 0x5, 0x39, 0x0, 0x4D, 0x5, 0xB9, 0x0, 0x66, 0x4, 0xC7, 0x0, 0x50, 0x5, 0x86, 0x0, 0x21, 0x6, 0x39, 0x0, 0x22, 0x5, 0x8, 0x0, 0x4E, 0x4, 0x85, 0x0, 0x50, 0x4, 0x89, 0x0, 0x53, 0x4, 0x86, 0x0, 0x3A, 0x5, 0x89, 0x0, 0x51, 0x4, 0xD6, 0x0, 0x57, 0x4, 0xB9, 0x0, 0x0, 0x2, 0xD1, 0xFF, 0xE4, 0x5, 0xBC, 0x0, 0x6A, 0x5, 0x30, 0x0, 0x18, 0x6, 0xBD, 0x0, 0x7A, 0x2, 0xC6, 0x0, 0x14, 0x5, 0xB, 0x0, 0x95, 0x4, 0x2D, 0x0, 0x7D, 0x2, 0xC6, 0x0, 0x14, 0x4, 0x6A, 0x0, 0x16, 0x7, 0x3F, 0x0, 0x99, 0x6, 0x2, 0x0, 0x0, 0x5, 0x8A, 0x0, 0x58, 0x4, 0x9F, 0x0, 0x4F, 0x7, 0x1, 0x0, 0x66, 0x5, 0x9C, 0x0, 0x50, 0x6, 0x1C, 0x0, 0x22, 0x4, 0x81, 0x0, 0x7D, 0x5, 0x84, 0x0, 0x95, 0x4, 0xD5, 0x0, 0x4A, 0x4, 0x22, 0x0, 0x57, 0x4, 0x91, 0x0, 0x48, 0x3, 0xF4, 0x0, 0x1B, 0x2, 0xAA, 0x0, 0x8, 0x5, 0x50, 0x0, 0x1E, 0x2, 0xCA, 0x0, 0x13, 0x4, 0xDC, 0x0, 0x2D, 0x5, 0xA5, 0x0, 0x7E, 0x4, 0xF2, 0x0, 0x77, 0x5, 0x53, 0x0, 0x6F, 0x5, 0x3C, 0x0, 0x7E, 0x5, 0x59, 0x0, 0x8, 0x4, 0xC4, 0x0, 0xC, 0x4, 0xD2, 0x0, 0x50, 0x4, 0x14, 0x0, 0x59, 0x5, 0x33, 0x0, 0x4A, 0x5, 0x33, 0x0, 0x64, 0x4, 0x8D, 0x0, 0x53, 0x4, 0x3F, 0x0, 0x45, 0x4, 0xA8, 0x0, 0x51, 0x4, 0xAF, 0x0, 0x3F, 0x4, 0x30, 0x0, 0x2E, 0x4, 0x22, 0x0, 0x4C, 0x4, 0x81, 0x0, 0x7D, 0x1, 0xF5, 0x0, 0xA7, 0x3, 0x3, 0x0, 0xA7, 0x2, 0xC6, 0x0, 0x14, 0x2, 0x25, 0x0, 0x90, 0x9, 0x6B, 0x0, 0x95, 0x8, 0xD6, 0x0, 0x95, 0x8, 0x18, 0x0, 0x50, 0x5, 0x8B, 0x0, 0x6A, 0x4, 0x89, 0x0, 0x25, 0x5, 0x33, 0x0, 0x4A, 0x4, 0xA7, 0x0, 0x5E, 0x8, 0xA0, 0x0, 0x95, 0x5, 0x4F, 0x0, 0x95, 0x4, 0xCF, 0x0, 0x4E, 0x4, 0xA, 0x0, 0x48, 0x5, 0x39, 0x0, 0x95, 0x5, 0xD2, 0x0, 0x50, 0x5, 0x36, 0x0, 0x67, 0x5, 0x9, 0x0, 0x55, 0x5, 0x4, 0x0, 0x50, 0x4, 0x4D, 0x0, 0x52, 0x3, 0xC8, 0x0, 0x14, 0x5, 0xC7, 0x0, 0x7A, 0x3, 0xC8, 0x0, 0x14, 0x2, 0x27, 0xFF, 0xB5, 0x7, 0x36, 0x0, 0x60, 0x7, 0x15, 0x0, 0x50, 0x5, 0x53, 0xFF, 0x49, 0x5, 0x39, 0x0, 0x66, 0x4, 0x31, 0x0, 0x50, 0x4, 0xA0, 0x0, 0x1A, 0x4, 0xDC, 0x0, 0x2D, 0x4, 0x1E, 0x0, 0x49, 0x4, 0x5E, 0x0, 0x52, 0x4, 0x47, 0x0, 0x37, 0x3, 0xF2, 0x0, 0x4C, 0x5, 0x5B, 0x0, 0x1A, 0x6, 0x43, 0x0, 0x22, 0x5, 0x2E, 0x0, 0x12, 0x4, 0x86, 0x0, 0x95, 0x4, 0x4B, 0x0, 0x54, 0x4, 0xCC, 0x0, 0x2D, 0x2, 0xDF, 0x0, 0x27, 0x5, 0xDC, 0x0, 0x66, 0x4, 0xD9, 0x0, 0x50, 0x5, 0x43, 0x0, 0x21, 0x3, 0x2D, 0x0, 0x1A, 0x5, 0x95, 0x0, 0x22, 0x4, 0x52, 0x0, 0x22, 0x4, 0x55, 0x0, 0x59, 0x4, 0xB8, 0x0, 0x56, 0x4, 0xB8, 0x0, 0x3E, 0x4, 0x82, 0x0, 0x7D, 0x4, 0x31, 0x0, 0x3B, 0x4, 0x47, 0x0, 0x2D, 0x4, 0xDA, 0x0, 0x50, 0x4, 0xDA, 0x0, 0x50, 0x4, 0x4B, 0x0, 0x40, 0x4, 0x3D, 0x0, 0x5A, 0x5, 0xC1, 0x0, 0x40, 0x4, 0x61, 0x0, 0x61, 0x4, 0x61, 0x0, 0x54, 0x5, 0xD6, 0x0, 0x54, 0x4, 0x43, 0x0, 0x53, 0x2, 0xBA, 0x0, 0x39, 0x4, 0xE4, 0x0, 0x52, 0x4, 0x89, 0x0, 0x52, 0x4, 0xDB, 0x0, 0x68, 0x4, 0x76, 0x0, 0x14, 0x5, 0x1B, 0x0, 0x1B, 0x4, 0x71, 0x0, 0x78, 0x4, 0x71, 0x0, 0x7A, 0x4, 0x71, 0x0, 0x7A, 0x2, 0xC6, 0x0, 0x14, 0x2, 0x78, 0x0, 0x77, 0x2, 0xD7, 0x0, 0x5D, 0x3, 0x6, 0x0, 0x14, 0x3, 0xD3, 0x0, 0x22, 0x2, 0xA6, 0x0, 0xB7, 0x4, 0xD5, 0x0, 0x8C, 0x6, 0xF7, 0x0, 0x7D, 0x6, 0xF7, 0x0, 0x7D, 0x6, 0xF7, 0x0, 0x7D, 0x4, 0xD0, 0xFF, 0xF9, 0x4, 0xCF, 0x0, 0x7A, 0x4, 0x86, 0x0, 0x7D, 0x6, 0xA8, 0x0, 0x66, 0x6, 0x93, 0x0, 0x66, 0x4, 0xD4, 0x0, 0x50, 0x2, 0xD0, 0x0, 0x1B, 0x2, 0xD0, 0x0, 0x1B, 0x3, 0x2A, 0x0, 0x1B, 0x2, 0xD0, 0x0, 0x7D, 0x2, 0xD0, 0x0, 0x7D, 0x2, 0x68, 0x0, 0x7D, 0x2, 0x68, 0x0, 0x1B, 0x4, 0x73, 0x0, 0x71, 0x4, 0x73, 0x0, 0x71, 0x4, 0x22, 0x0, 0x4C, 0x3, 0x4C, 0x0, 0x1B, 0x3, 0x4C, 0x0, 0x1B, 0x3, 0x4C, 0x0, 0x1B, 0x3, 0xF2, 0x0, 0x1E, 0x2, 0xAA, 0x0, 0x37, 0x2, 0xC1, 0x0, 0x8, 0x5, 0x3E, 0x0, 0x18, 0x4, 0xF0, 0x0, 0x62, 0x4, 0x60, 0x0, 0x77, 0x3, 0xF6, 0x0, 0x19, 0x5, 0xF0, 0x0, 0x22, 0x3, 0xE7, 0x0, 0xD, 0x4, 0x39, 0x0, 0x8, 0x4, 0x93, 0x0, 0x52, 0x5, 0x1, 0x0, 0x52, 0x4, 0x8D, 0x0, 0x51, 0x4, 0xA3, 0x0, 0x51, 0x4, 0x31, 0x0, 0x3B, 0x4, 0x31, 0x0, 0x50, 0x4, 0x31, 0x0, 0x3B, 0x4, 0x31, 0x0, 0x50, 0x5, 0x86, 0x0, 0x66, 0x4, 0x43, 0x0, 0x61, 0x5, 0x11, 0x0, 0x50, 0x3, 0xAD, 0x0, 0x1E, 0x4, 0x2D, 0xFF, 0xF6, 0x3, 0x8B, 0x0, 0x7A, 0x4, 0xDA, 0x0, 0x50, 0x4, 0x31, 0x0, 0x3B, 0x4, 0x31, 0x0, 0x50, 0x7, 0xB8, 0x0, 0x50, 0x7, 0x64, 0x0, 0x50, 0x8, 0xB2, 0x0, 0x50, 0x5, 0xDD, 0x0, 0x8, 0x4, 0x95, 0x0, 0x8, 0x6, 0x3D, 0x0, 0x8, 0x6, 0xD3, 0x0, 0x2D, 0x5, 0x75, 0x0, 0x8C, 0x5, 0x35, 0x0, 0x8C, 0x3, 0xC6, 0x0, 0x36, 0x3, 0xDD, 0x0, 0x57, 0x5, 0x17, 0x0, 0x1B, 0x5, 0x57, 0x0, 0x1B, 0x3, 0x5E, 0x0, 0x64, 0x3, 0x5E, 0x0, 0x64, 0x1, 0xEF, 0x0, 0x22, 0x2, 0x3A, 0x0, 0x64, 0x2, 0x3A, 0x0, 0x28, 0x2, 0x8A, 0x0, 0x28, 0x3, 0x73, 0x0, 0x64, 0x4, 0x7A, 0x0, 0x28, 0x3, 0x45, 0x0, 0x2F, 0x1, 0x94, 0x0, 0x23, 0x2, 0xE3, 0x0, 0x23, 0x1, 0xD6, 0x0, 0x50, 0x1, 0xD6, 0x0, 0x50, 0x1, 0x3C, 0x0, 0x36, 0x1, 0x3C, 0x0, 0x36, 0x2, 0xFD, 0x0, 0x1B, 0x2, 0xFD, 0x0, 0x3C, 0x3, 0x60, 0x0, 0x3D, 0x3, 0x60, 0x0, 0x3D, 0x3, 0x44, 0x0, 0x30, 0x3, 0x44, 0x0, 0x30, 0x3, 0xE7, 0x0, 0x95, 0x3, 0xB1, 0x0, 0x72, 0x1, 0x20, 0x0, 0x3D, 0x3, 0xDC, 0x0, 0x9C, 0x2, 0x74, 0x0, 0x48, 0x2, 0x6D, 0x0, 0x37, 0x1, 0x20, 0x0, 0x3D, 0x3, 0x50, 0x0, 0x51, 0x2, 0x6D, 0x0, 0x37, 0x2, 0x74, 0x0, 0x48, 0x1, 0xF4, 0x0, 0x5F, 0x1, 0xF4, 0x0, 0x5F, 0x1, 0x3C, 0x0, 0x36, 0x1, 0x3C, 0x0, 0x36, 0x2, 0x58, 0x0, 0x50, 0x2, 0x58, 0x0, 0x50, 0x2, 0x58, 0x0, 0x50, 0x2, 0x59, 0x0, 0x3D, 0x3, 0x7D, 0x0, 0x76, 0x2, 0xC, 0x0, 0x82, 0x2, 0xB2, 0x0, 0x79, 0x2, 0x4D, 0x0, 0x29, 0x3, 0xD8, 0x0, 0x7A, 0x3, 0x20, 0x0, 0x4A, 0x1, 0xDB, 0xFF, 0x3A, 0x2, 0xA5, 0x0, 0x50, 0x3, 0x6B, 0x0, 0x35, 0x1, 0x8D, 0x0, 0x64, 0x3, 0x1B, 0x0, 0x3C, 0x3, 0x48, 0x0, 0x2F, 0x3, 0x58, 0x0, 0x51, 0x2, 0xB2, 0x0, 0x1A, 0x2, 0xB2, 0x0, 0x1A, 0x2, 0xB2, 0x0, 0x1A, 0x2, 0xB2, 0x0, 0x1A, 0x2, 0xB2, 0x0, 0x1A, 0x3, 0x1E, 0x0, 0x84, 0x2, 0xF7, 0x0, 0x84, 0x3, 0x54, 0x0, 0x49, 0x3, 0x1C, 0x0, 0x43, 0x3, 0x29, 0x0, 0x50, 0x2, 0x80, 0x0, 0x3D, 0x2, 0x80, 0x0, 0x3D, 0x2, 0x81, 0x0, 0x3D, 0x2, 0x81, 0x0, 0x3D, 0x2, 0x6C, 0x0, 0x83, 0x2, 0x6D, 0x0, 0x37, 0x4, 0x13, 0x0, 0x37, 0x4, 0x1A, 0x0, 0x48, 0x3, 0x70, 0x0, 0x4A, 0x1, 0xBD, 0x0, 0x51, 0x2, 0x35, 0x0, 0x50, 0x2, 0x35, 0x0, 0x50, 0x2, 0x35, 0x0, 0x50, 0x2, 0x35, 0x0, 0x50, 0x3, 0x57, 0x0, 0x50, 0x3, 0x39, 0x0, 0x50, 0x3, 0x98, 0x0, 0x43, 0x0, 0x0, 0xFC, 0x8D, 0x0, 0x0, 0xFD, 0x5E, 0x0, 0x0, 0xFC, 0x60, 0x0, 0x0, 0xFC, 0x72, 0x0, 0x0, 0xFC, 0x60, 0x0, 0x0, 0xFB, 0xEE, 0x0, 0x0, 0xFC, 0x75, 0x0, 0x0, 0xFD, 0x2F, 0x0, 0x0, 0xFC, 0x4, 0x0, 0x0, 0xFD, 0x3D, 0x0, 0x0, 0xFC, 0xDC, 0x0, 0x0, 0xFB, 0xEE, 0x0, 0x0, 0xFC, 0x60, 0x0, 0x0, 0xFD, 0x65, 0x0, 0x0, 0xFC, 0xDD, 0x0, 0x0, 0xFC, 0xB, 0x0, 0x0, 0xFC, 0x75, 0x0, 0x0, 0xFC, 0x75, 0x0, 0x0, 0xFD, 0x47, 0x0, 0x0, 0xFD, 0x1E, 0x0, 0x0, 0xFD, 0x1D, 0x0, 0x0, 0xFF, 0x3A, 0x0, 0x0, 0xFC, 0xB8, 0x0, 0x0, 0xFC, 0xC7, 0x0, 0x0, 0xFC, 0xD4, 0x0, 0x0, 0xFC, 0xDC, 0x0, 0x0, 0xFC, 0xF3, 0x0, 0x0, 0xFE, 0x65, 0x0, 0x0, 0xFD, 0x71, 0x0, 0x0, 0xFC, 0xDB, 0x0, 0x0, 0xFC, 0xDC, 0x0, 0x0, 0xFC, 0xDC, 0x0, 0x0, 0xFC, 0xC2, 0x0, 0x0, 0xFD, 0xBD, 0x0, 0x0, 0xFE, 0xCE, 0x0, 0x0, 0xFD, 0x1B, 0x0, 0x0, 0xFC, 0x3, 0x0, 0x0, 0xFC, 0xDD, 0x0, 0x0, 0xFD, 0x32, 0x0, 0x0, 0xFD, 0x28, 0x0, 0x0, 0xFC, 0xCA, 0x0, 0x0, 0xFD, 0x65, 0x0, 0x0, 0xFC, 0x5B, 0x0, 0x0, 0xFC, 0x2B, 0x0, 0x0, 0xFC, 0x61, 0x0, 0x0, 0xFC, 0x61, 0x0, 0x0, 0xFC, 0x75, 0x0, 0x0, 0xFC, 0x75, 0x0, 0x0, 0xFC, 0x43, 0x0, 0x0, 0xFC, 0x62, 0x0, 0x0, 0xFB, 0xED, 0x0, 0x0, 0xFB, 0xED, 0x0, 0x0, 0xFC, 0x49, 0x0, 0x0, 0xFC, 0x69, 0x0, 0x0, 0xFB, 0x44, 0x0, 0x0, 0xFC, 0x1E, 0x0, 0x0, 0xFB, 0xA, 0x0, 0x0, 0xFD, 0x50, 0x0, 0x0, 0xFC, 0x5C, 0x0, 0x0, 0xFC, 0xE8, 0x0, 0x0, 0xFC, 0x2B, 0x0, 0x0, 0xFD, 0x4, 0x0, 0x0, 0xFD, 0x45, 0x0, 0x0, 0xFB, 0xED, 0x0, 0x0, 0xFF, 0x0, 0x0, 0x0, 0xFF, 0xF, 0x0, 0x0, 0xFC, 0x49, 0x0, 0x0, 0xFD, 0x30, 0x0, 0x0, 0xFC, 0xB, 0x0, 0x0, 0xFD, 0x60, 0x0, 0x0, 0xFC, 0x5C, 0x0, 0x0, 0xFC, 0xC2, 0x0, 0x0, 0xFC, 0xCE, 0x0, 0x0, 0xFD, 0x9, 0x0, 0x0, 0xFC, 0x4A, 0x0, 0x0, 0xFC, 0x2A, 0x0, 0x0, 0xFC, 0x55, 0x0, 0x0, 0xFC, 0xD, 0x0, 0x0, 0xFC, 0xD1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xFC, 0x7C, 0x0, 0x0, 0xFD, 0x6F, 0x0, 0x0, 0xFC, 0x75, 0x0, 0x0, 0xFD, 0x4, 0x0, 0x0, 0xFC, 0xBE, 0x0, 0x0, 0xFC, 0xCE, 0x0, 0x0, 0xFC, 0x17, 0x0, 0x0, 0xFD, 0x4F, 0x1, 0xC0, 0x0, 0x49, 0x0, 0x0, 0xFC, 0xD9, 0x0, 0x0, 0xFC, 0x41, 0x0, 0x0, 0xFC, 0xFC, 0x0, 0x0, 0xFD, 0x34, 0x0, 0x0, 0xFD, 0x34, 0x0, 0x0, 0xFD, 0xB6, 0x0, 0x0, 0xFD, 0xB6, 0x0, 0x0, 0xFC, 0x2E, 0x0, 0x0, 0xFD, 0x34, 0x0, 0x0, 0xFD, 0x27, 0x0, 0x0, 0xFC, 0xD0, 0x0, 0x0, 0xFC, 0xCE, 0x0, 0x0, 0xFD, 0x79, 0x0, 0x0, 0xFC, 0xC2, 0x0, 0x0, 0xFC, 0xD6, 0x0, 0x0, 0xFC, 0xCC, 0x0, 0x0, 0xFC, 0xC0, 0x0, 0x0, 0xFC, 0xD6, 0x0, 0x0, 0xFC, 0x33, 0x0, 0x0, 0xFD, 0x46, 0x0, 0x0, 0xFC, 0xFB, 0x0, 0x0, 0xFC, 0xC5, 0x0, 0x0, 0xFC, 0xE6, 0x4, 0x81, 0x0, 0x95, 0x3, 0xEB, 0x0, 0x1B, 0x4, 0xDB, 0x0, 0x2D, 0x4, 0x2D, 0x0, 0x36, 0x1, 0xEF, 0x0, 0x51, 0x1, 0xEF, 0x0, 0x50, 0x5, 0xA9, 0x0, 0x95, 0x4, 0xBD, 0x0, 0x86, 0x4, 0x31, 0x0, 0x3B, 0x4, 0x31, 0x0, 0x50, 0x4, 0x31, 0x0, 0x3B, 0x2, 0x20, 0x0, 0x47, 0x2, 0x5D, 0x0, 0xC7, 0x4, 0x3C, 0x0, 0x68, 0x2, 0x42, 0x0, 0x8E, 0x4, 0x75, 0x0, 0x9B, 0x5, 0xC0, 0x0, 0x19, 0x5, 0x7B, 0x0, 0x5C, 0x5, 0x39, 0x0, 0x20, 0x4, 0x91, 0x0, 0x6D, 0x5, 0xB1, 0x0, 0x9B, 0x4, 0x91, 0x0, 0x48, 0x5, 0xF0, 0x0, 0x4A, 0x5, 0xAB, 0x0, 0x44, 0x5, 0x5C, 0x0, 0x6B, 0x4, 0x85, 0x0, 0x56, 0x4, 0xC6, 0x0, 0x96, 0x4, 0xF, 0x0, 0x21, 0x4, 0x89, 0x0, 0x54, 0x4, 0x61, 0x0, 0x61, 0x4, 0x1B, 0x0, 0x61, 0x4, 0x89, 0x0, 0x7F, 0x4, 0xA2, 0x0, 0x74, 0x2, 0xAA, 0x0, 0xAA, 0x4, 0x6A, 0x0, 0x16, 0x4, 0x13, 0x0, 0x63, 0x4, 0xF4, 0x0, 0x2E, 0x4, 0x89, 0x0, 0x81, 0x4, 0x38, 0x0, 0x52, 0x4, 0x91, 0x0, 0x53, 0x4, 0x2E, 0x0, 0x40, 0x4, 0x61, 0x0, 0x80, 0x5, 0xD0, 0x0, 0x45, 0x5, 0xCA, 0x0, 0x50, 0x6, 0x95, 0x0, 0x66, 0x5, 0xB, 0x0, 0x95, 0x4, 0x81, 0x0, 0x50, 0x4, 0xB3, 0x0, 0x76, 0x4, 0x7B, 0xFF, 0xE1, 0x5, 0xD3, 0x0, 0x54, 0x6, 0x71, 0x0, 0x33, 0x5, 0x59, 0x0, 0x23, 0x5, 0x86, 0x0, 0x66, 0x4, 0x8E, 0x0, 0x50, 0x5, 0x39, 0x0, 0x66, 0x4, 0x31, 0x0, 0x50, 0x4, 0x66, 0x0, 0x95, 0x4, 0x24, 0x0, 0x87, 0x5, 0x2C, 0x0, 0x23, 0x4, 0x66, 0x0, 0x52, 0x5, 0xFB, 0x0, 0x21, 0x5, 0x7B, 0x0, 0x21, 0x5, 0x36, 0x0, 0x23, 0x4, 0x82, 0x0, 0x50, 0x3, 0x95, 0x0, 0x50, 0x3, 0x95, 0x0, 0x28, 0x5, 0xD9, 0x0, 0x7D, 0x4, 0xD8, 0x0, 0x14, 0x5, 0x39, 0x0, 0x4D, 0x5, 0x39, 0x0, 0x66, 0x5, 0x39, 0x0, 0x4D, 0x5, 0xFF, 0x0, 0x23, 0x5, 0x5A, 0x0, 0x69, 0x8, 0x89, 0x0, 0x2D, 0x8, 0x90, 0x0, 0x9B, 0x6, 0x5C, 0x0, 0x31, 0x5, 0xAA, 0x0, 0x93, 0x5, 0x8, 0x0, 0x90, 0x6, 0x7, 0x0, 0x24, 0x7, 0xA2, 0x0, 0x17, 0x4, 0xD6, 0x0, 0x49, 0x5, 0xA9, 0x0, 0x95, 0x5, 0xAA, 0x0, 0x2D, 0x5, 0xA, 0x0, 0x3A, 0x6, 0x60, 0x0, 0x4F, 0x5, 0xF9, 0x0, 0x93, 0x5, 0x89, 0x0, 0x8E, 0x7, 0x9C, 0x0, 0x99, 0x7, 0xFA, 0x0, 0x99, 0x6, 0x1A, 0x0, 0x18, 0x6, 0xF9, 0x0, 0x9C, 0x5, 0x7, 0x0, 0x91, 0x5, 0x51, 0x0, 0x6B, 0x7, 0x54, 0x0, 0xA0, 0x4, 0xF7, 0x0, 0x21, 0x4, 0x7D, 0x0, 0x5B, 0x4, 0x90, 0x0, 0x8F, 0x3, 0x5B, 0x0, 0x85, 0x4, 0xF7, 0x0, 0x27, 0x6, 0x77, 0x0, 0x1E, 0x4, 0x17, 0x0, 0x4E, 0x4, 0x98, 0x0, 0x86, 0x4, 0x6F, 0x0, 0x8F, 0x4, 0x9A, 0x0, 0x22, 0x6, 0x3, 0x0, 0x8F, 0x4, 0x98, 0x0, 0x86, 0x4, 0x98, 0x0, 0x86, 0x3, 0xF6, 0x0, 0x24, 0x5, 0xD3, 0x0, 0x54, 0x4, 0xD4, 0x0, 0x86, 0x4, 0x66, 0x0, 0x5F, 0x6, 0x8F, 0x0, 0x86, 0x6, 0xEC, 0x0, 0x7F, 0x5, 0x18, 0x0, 0x1F, 0x6, 0x6F, 0x0, 0x8F, 0x4, 0x69, 0x0, 0x8F, 0x4, 0x3D, 0x0, 0x52, 0x6, 0x84, 0x0, 0x91, 0x4, 0x70, 0x0, 0x27, 0x4, 0x71, 0xFF, 0xDA, 0x4, 0x3D, 0x0, 0x54, 0x6, 0xD2, 0x0, 0x1F, 0x6, 0xE4, 0x0, 0x86, 0x4, 0x89, 0xFF, 0xEE, 0x4, 0x98, 0x0, 0x86, 0x7, 0x49, 0x0, 0x89, 0x6, 0x50, 0x0, 0x70, 0x4, 0x68, 0xFF, 0xDF, 0x7, 0x29, 0x0, 0x99, 0x6, 0x1, 0x0, 0x87, 0x5, 0xC, 0x0, 0x1D, 0x4, 0x61, 0x0, 0xA, 0x7, 0x42, 0x0, 0xAD, 0x6, 0x36, 0x0, 0x9E, 0x6, 0xEE, 0x0, 0x80, 0x5, 0xE7, 0x0, 0x83, 0x9, 0x33, 0x0, 0xA4, 0x7, 0xFA, 0x0, 0x90, 0x4, 0x21, 0x0, 0x29, 0x3, 0xF0, 0x0, 0x33, 0x5, 0x7B, 0x0, 0x5F, 0x4, 0x89, 0x0, 0x4F, 0x5, 0x1A, 0x0, 0x10, 0x4, 0xF, 0x0, 0x21, 0x5, 0x7B, 0x0, 0x5F, 0x4, 0x89, 0x0, 0x50, 0x7, 0x45, 0x0, 0x89, 0x6, 0x45, 0x0, 0x74, 0x7, 0x49, 0x0, 0x89, 0x6, 0x50, 0x0, 0x70, 0x5, 0x1B, 0x0, 0x67, 0x4, 0x4A, 0x0, 0x5C, 0x5, 0x0, 0x0, 0x6E, 0x0, 0x0, 0xFC, 0x65, 0x0, 0x0, 0xFC, 0x72, 0x0, 0x0, 0xFD, 0x7A, 0x0, 0x0, 0xFD, 0xA5, 0x0, 0x0, 0xFC, 0x2D, 0x0, 0x0, 0xFA, 0x24, 0x0, 0x0, 0xFA, 0x4C, 0x6, 0x2A, 0x0, 0x95, 0x5, 0x1B, 0x0, 0x86, 0x4, 0x68, 0xFF, 0xDF, 0x5, 0x14, 0x0, 0x95, 0x4, 0x87, 0x0, 0x7D, 0x4, 0x6A, 0x0, 0x90, 0x3, 0xA2, 0x0, 0x7F, 0x4, 0xF2, 0x0, 0x9B, 0x4, 0x21, 0x0, 0x7F, 0x8, 0x1C, 0x0, 0x17, 0x6, 0xD3, 0x0, 0x1E, 0x5, 0xCC, 0x0, 0x9B, 0x4, 0xFA, 0x0, 0x8F, 0x5, 0x2D, 0x0, 0x91, 0x4, 0xAB, 0x0, 0x8E, 0x6, 0x96, 0x0, 0x34, 0x5, 0xA4, 0x0, 0x3E, 0x6, 0x28, 0x0, 0x95, 0x5, 0xD, 0x0, 0x86, 0x7, 0xD1, 0x0, 0x95, 0x5, 0xAB, 0x0, 0x7F, 0x8, 0x47, 0x0, 0x9B, 0x6, 0xF5, 0x0, 0x7F, 0x6, 0x2B, 0x0, 0x67, 0x5, 0x0, 0x0, 0x61, 0x5, 0x39, 0x0, 0x29, 0x4, 0x46, 0x0, 0x1F, 0x7, 0x32, 0x0, 0x2E, 0x5, 0x71, 0x0, 0x26, 0x5, 0xFB, 0x0, 0x8E, 0x4, 0xDC, 0x0, 0x5F, 0x5, 0x75, 0x0, 0x81, 0x4, 0x73, 0x0, 0x74, 0x5, 0x87, 0x0, 0x85, 0x6, 0x24, 0x0, 0x17, 0x4, 0xC4, 0xFF, 0xCA, 0x5, 0x21, 0x0, 0x91, 0x4, 0x79, 0x0, 0x8E, 0x6, 0x28, 0x0, 0x2D, 0x5, 0x1D, 0x0, 0x22, 0x5, 0xB0, 0x0, 0x9B, 0x4, 0x89, 0x0, 0x7F, 0x6, 0x35, 0x0, 0x95, 0x5, 0x1A, 0x0, 0x86, 0x7, 0x7E, 0x0, 0x95, 0x6, 0x78, 0x0, 0x8F, 0x5, 0x89, 0x0, 0x51, 0x4, 0xA6, 0x0, 0x5C, 0x4, 0xA7, 0x0, 0x5E, 0x4, 0xC7, 0x0, 0x32, 0x3, 0xAF, 0x0, 0x2C, 0x5, 0x67, 0x0, 0x29, 0x4, 0x74, 0x0, 0x1F, 0x5, 0x7, 0x0, 0x52, 0x6, 0xF2, 0x0, 0x68, 0x6, 0xDE, 0x0, 0x5F, 0x6, 0x53, 0x0, 0x3C, 0x5, 0x29, 0x0, 0x30, 0x4, 0x7B, 0x0, 0x49, 0x4, 0x3F, 0x0, 0x75, 0x7, 0xBE, 0x0, 0x43, 0x6, 0x9E, 0x0, 0x41, 0x7, 0xFE, 0x0, 0x94, 0x6, 0x9F, 0x0, 0x77, 0x5, 0x4, 0x0, 0x5D, 0x4, 0x2D, 0x0, 0x55, 0x5, 0xAA, 0x0, 0x22, 0x5, 0x1E, 0x0, 0x45, 0x5, 0x56, 0x0, 0x82, 0x6, 0x49, 0x0, 0x2D, 0x5, 0x3E, 0x0, 0x22, 0x7, 0xAE, 0x0, 0x2D, 0x6, 0x1C, 0x0, 0x22, 0x7, 0x1F, 0x0, 0x95, 0x6, 0x37, 0x0, 0x7D, 0x7, 0x76, 0x0, 0x43, 0x6, 0xE5, 0x0, 0x27, 0x5, 0x27, 0x0, 0x9B, 0x4, 0x6F, 0x0, 0x8F, 0x8, 0xC6, 0x0, 0x2D, 0x7, 0x1C, 0x0, 0x22, 0x8, 0xD7, 0x0, 0x9B, 0x7, 0x19, 0x0, 0x86, 0x6, 0x23, 0x0, 0x9B, 0x5, 0xE, 0x0, 0x86, 0x5, 0xFD, 0x0, 0x85, 0x4, 0xF5, 0x0, 0x7A, 0x6, 0x10, 0x0, 0xD, 0x5, 0xB, 0x0, 0xD, 0xA, 0xC2, 0x0, 0x24, 0x9, 0x5, 0x0, 0x27, 0x6, 0x1C, 0x0, 0x3A, 0x4, 0xFA, 0x0, 0x2B, 0x6, 0x1B, 0x0, 0x2D, 0x5, 0x10, 0x0, 0x22, 0x0, 0x0, 0xFB, 0x6C, 0x0, 0x0, 0xFB, 0xAF, 0x0, 0x0, 0xFB, 0xD1, 0x0, 0x0, 0xFC, 0x8A, 0x0, 0x0, 0xFC, 0x25, 0x0, 0x0, 0xFB, 0xA6, 0x0, 0x0, 0xFB, 0x4C, 0x0, 0x0, 0xFD, 0x5B, 0x0, 0x0, 0xFC, 0x76, 0x0, 0x0, 0xFD, 0x5B, 0x0, 0x0, 0xFD, 0x57, 0x0, 0x0, 0xFB, 0xAA, 0x0, 0x0, 0xFA, 0xED, 0x0, 0x0, 0xFB, 0x9D, 0x0, 0x0, 0xFA, 0xEF, 0x4, 0xA0, 0x0, 0x8, 0x6, 0x47, 0xFF, 0xF0, 0x6, 0xC1, 0x0, 0x3D, 0x5, 0x17, 0x0, 0x1B, 0x4, 0x55, 0x0, 0x50, 0x4, 0x8A, 0x0, 0x86, 0x4, 0xEE, 0x0, 0x2D, 0x4, 0xA, 0x0, 0x86, 0x4, 0x17, 0x0, 0x4E, 0x2, 0x7, 0x0, 0x7A, 0x3, 0xF0, 0x0, 0x1A, 0x4, 0x6D, 0x0, 0x84, 0x3, 0xB4, 0x0, 0x2D, 0x5, 0xEB, 0x0, 0x86, 0x4, 0x98, 0x0, 0x85, 0x4, 0x9E, 0x0, 0x50, 0x4, 0x31, 0x0, 0x3B, 0x5, 0x2, 0x0, 0x50, 0x5, 0x2, 0x0, 0x50, 0x5, 0x8F, 0x0, 0x25, 0x7, 0x3E, 0x0, 0x4C, 0x3, 0xE6, 0x0, 0x4F, 0x4, 0x9B, 0x0, 0x4F, 0x4, 0x9B, 0x0, 0x4F, 0x4, 0x6C, 0x0, 0x8F, 0x4, 0x7A, 0x0, 0x31, 0x4, 0x7A, 0x0, 0x31, 0x3, 0xF6, 0x0, 0x25, 0x4, 0xF2, 0x0, 0x7A, 0x4, 0xF6, 0x0, 0x5B, 0x6, 0x5C, 0x0, 0x5B, 0x4, 0xF6, 0x0, 0x5B, 0x3, 0xF7, 0x0, 0x1A, 0x5, 0xF4, 0x0, 0x25, 0x4, 0x7, 0x0, 0x56, 0x4, 0x7, 0x0, 0x4E, 0x4, 0x25, 0x0, 0x56, 0x4, 0xCA, 0x0, 0x39, 0x3, 0x65, 0x0, 0x8F, 0x4, 0xA0, 0x0, 0x8, 0x4, 0xAB, 0x0, 0x8F, 0x4, 0x6C, 0x0, 0x8F, 0x5, 0x52, 0x0, 0x2D, 0x4, 0xA4, 0x0, 0x22, 0x4, 0x2F, 0x0, 0x1B, 0x5, 0xB2, 0x0, 0x1B, 0x3, 0xD1, 0x0, 0x64, 0x4, 0xA9, 0x0, 0x1B, 0x3, 0xE3, 0x0, 0x64, 0x3, 0x65, 0x0, 0x64, 0x3, 0x65, 0x0, 0x35, 0x3, 0xF9, 0x0, 0x3C, 0x4, 0x40, 0x0, 0x64, 0x1, 0xC1, 0x0, 0x7F, 0x3, 0x55, 0x0, 0x28, 0x3, 0xE1, 0x0, 0x64, 0x3, 0x33, 0x0, 0x64, 0x5, 0x38, 0x0, 0x64, 0x4, 0x3D, 0x0, 0x64, 0x4, 0x3D, 0x0, 0x64, 0x4, 0xC, 0x0, 0x3C, 0x3, 0x78, 0x0, 0x3C, 0x3, 0xC7, 0x0, 0x64, 0x3, 0xDA, 0x0, 0x64, 0x3, 0xA2, 0x0, 0x28, 0x3, 0xF5, 0x0, 0x64, 0x5, 0x74, 0x0, 0x35, 0x3, 0x56, 0x0, 0x3C, 0x3, 0x56, 0x0, 0x56, 0x3, 0xA6, 0x0, 0x3C, 0x5, 0x33, 0x0, 0x3C, 0x3, 0x79, 0x0, 0x64, 0x3, 0x79, 0x0, 0x3C, 0x3, 0x52, 0x0, 0x3C, 0x3, 0x52, 0x0, 0x3C, 0x3, 0x24, 0x0, 0x3C, 0x3, 0x24, 0x0, 0x3C, 0x3, 0x7A, 0x0, 0x3C, 0x1, 0xD4, 0x0, 0x78, 0x3, 0x52, 0x0, 0x64, 0x5, 0x30, 0x0, 0x64, 0x3, 0x5E, 0x0, 0x64, 0x3, 0x6E, 0x0, 0x3C, 0x2, 0xBF, 0x0, 0x28, 0x3, 0x46, 0x0, 0x28, 0x3, 0x46, 0x0, 0x28, 0x3, 0x79, 0x0, 0x64, 0x2, 0x2E, 0x0, 0x28, 0x3, 0x5E, 0x0, 0x64, 0x3, 0xA6, 0x0, 0x3C, 0x5, 0x30, 0x0, 0x64, 0x3, 0x33, 0x0, 0x28, 0x3, 0xA2, 0x0, 0x35, 0x3, 0xA9, 0x0, 0x64, 0x3, 0x5A, 0x0, 0x28, 0x3, 0x60, 0x0, 0x3C, 0x4, 0x68, 0x0, 0x3C, 0x3, 0x88, 0x0, 0x35, 0x1, 0xD4, 0x0, 0x78, 0x2, 0x3A, 0x0, 0x64, 0x3, 0x5E, 0x0, 0x64, 0x3, 0x33, 0x0, 0x28, 0x3, 0xA9, 0x0, 0x64, 0x3, 0x5A, 0x0, 0x28, 0x3, 0x75, 0x0, 0x64, 0x4, 0x68, 0x0, 0x3C, 0x3, 0xA2, 0x0, 0x42, 0x6, 0xFC, 0x0, 0x77, 0x5, 0xF, 0xFF, 0xEC, 0x4, 0xFF, 0x0, 0x50, 0x3, 0x56, 0x0, 0x13, 0x7, 0xD7, 0x0, 0x14, 0x5, 0x4D, 0x0, 0x14, 0x4, 0xF1, 0xFF, 0xE6, 0x3, 0x57, 0xFF, 0xDD, 0x3, 0x1D, 0xFF, 0xFC, 0x4, 0x51, 0x0, 0x27, 0x3, 0x1D, 0xFF, 0xE2, 0x4, 0x28, 0x0, 0x2D, 0x4, 0x89, 0x0, 0x7C, 0x4, 0x40, 0x0, 0x64, 0x4, 0x63, 0x0, 0x3D, 0x6, 0xE1, 0x0, 0x22, 0x2, 0xC6, 0x0, 0x14, 0x2, 0xE5, 0x0, 0x14, 0x5, 0x17, 0x0, 0x18, 0x5, 0x5F, 0x0, 0x18, 0x4, 0xF0, 0x0, 0x18, 0x4, 0x82, 0x0, 0x7D, 0x4, 0xCC, 0x0, 0x50, 0x2, 0xD6, 0x0, 0x2D, 0x5, 0xBB, 0x0, 0x51, 0x4, 0x64, 0x0, 0x7D, 0x2, 0x56, 0x0, 0x82, 0x7, 0x43, 0x0, 0x7D, 0x4, 0xC6, 0x0, 0x7D, 0x4, 0x81, 0x0, 0x7D, 0x2, 0xD0, 0x0, 0x64, 0x4, 0x22, 0x0, 0x4C, 0x3, 0xA4, 0x0, 0x1B, 0x3, 0xF6, 0x0, 0x17, 0x4, 0x1C, 0x0, 0x1F, 0x4, 0x7, 0x0, 0x52, 0x4, 0xD5, 0x0, 0x5B, 0x5, 0x2A, 0x0, 0x50, 0x4, 0xAE, 0x0, 0x4E, 0x4, 0x79, 0x0, 0x54, 0x4, 0x8C, 0x0, 0x61, 0x4, 0x5A, 0x0, 0x4D, 0x5, 0x77, 0x0, 0x47, 0x2, 0x8A, 0x0, 0x7D, 0x4, 0x38, 0x0, 0x3B, 0x3, 0x4C, 0x0, 0x1B, 0x5, 0xF, 0x0, 0x77, 0x4, 0xA7, 0x0, 0x5E, 0x3, 0xAC, 0x0, 0x41, 0x3, 0x31, 0x0, 0x3C, 0x3, 0x7C, 0x0, 0x3C, 0x3, 0x83, 0x0, 0x3C, 0x3, 0xF, 0x0, 0x32, 0x2, 0x5C, 0x0, 0x35, 0x2, 0x75, 0x0, 0x33, 0x3, 0x7A, 0x0, 0x3C, 0x3, 0x5E, 0x0, 0x64, 0x2, 0x6A, 0x0, 0x28, 0x2, 0x4, 0x0, 0x64, 0x2, 0x6A, 0x0, 0x3F, 0x2, 0x6A, 0x0, 0x28, 0x2, 0xB2, 0x0, 0x0, 0x1, 0xEA, 0x0, 0x64, 0x1, 0xF8, 0x0, 0x64, 0x2, 0xE7, 0x0, 0x65, 0x5, 0x2E, 0x0, 0x64, 0x5, 0x2E, 0x0, 0x64, 0x3, 0xA0, 0x0, 0x1A, 0x3, 0xAD, 0x0, 0x64, 0x3, 0xE7, 0x0, 0x64, 0x3, 0x6E, 0x0, 0x3C, 0x4, 0x6D, 0x0, 0x3C, 0x3, 0x1B, 0x0, 0x3C, 0x2, 0x1E, 0x0, 0x1A, 0x2, 0x47, 0x0, 0x28, 0x3, 0xB2, 0x0, 0x28, 0x3, 0xD0, 0x0, 0x4C, 0x3, 0xBA, 0x0, 0x5B, 0x3, 0x68, 0x0, 0x5B, 0x3, 0x23, 0x0, 0x1C, 0x2, 0xE4, 0x0, 0x2E, 0x3, 0x47, 0x0, 0x2E, 0x3, 0xAE, 0x0, 0x2E, 0x3, 0x67, 0x0, 0x33, 0x3, 0xA1, 0x0, 0x58, 0x0, 0x0, 0xFB, 0xCE, 0x0, 0x0, 0xFB, 0xCB, 0x0, 0x0, 0xFD, 0xA, 0x0, 0x0, 0xFC, 0xCB, 0x0, 0x0, 0xFC, 0xDE, 0x0, 0x0, 0xFC, 0x3C, 0x0, 0x0, 0xFC, 0xA4, 0x0, 0x0, 0xFC, 0x6E, 0x0, 0x0, 0xFC, 0x22, 0x0, 0x0, 0xFC, 0x60, 0x0, 0x0, 0xFD, 0x44, 0x0, 0x0, 0xFB, 0x61, 0x0, 0x0, 0xFB, 0x3D, 0x0, 0x0, 0xFC, 0x9F, 0x0, 0x0, 0xFD, 0x2F, 0x0, 0x0, 0xFC, 0xD6, 0x0, 0x0, 0xFC, 0xC9, 0x0, 0x0, 0xFC, 0x94, 0x0, 0x0, 0xFC, 0x9B, 0x0, 0x0, 0xFC, 0x3D, 0x0, 0x0, 0xFC, 0x1F, 0x0, 0x0, 0xFC, 0x19, 0x0, 0x0, 0xFC, 0x13, 0x0, 0x0, 0xFC, 0xCC, 0x0, 0x0, 0xFC, 0xAA, 0x0, 0x0, 0xFC, 0xAA, 0x0, 0x0, 0xFC, 0xB8, 0x0, 0x0, 0xFC, 0xAA, 0x0, 0x0, 0xFC, 0xD2, 0x0, 0x0, 0xFD, 0x71, 0x0, 0x0, 0xFD, 0xB, 0x0, 0x0, 0xFC, 0x65, 0x0, 0x0, 0xFC, 0xC9, 0x0, 0x0, 0xFC, 0x97, 0x0, 0x0, 0xFC, 0xBB, 0x0, 0x0, 0xFD, 0x1, 0x0, 0x0, 0xFC, 0xC3, 0x0, 0x0, 0xFD, 0x6B, 0x0, 0x0, 0xFC, 0xD8, 0x0, 0x0, 0xFC, 0x9B, 0x0, 0x0, 0xFC, 0xBA, 0x0, 0x0, 0xFC, 0xAD, 0x0, 0x0, 0xFC, 0xBF, 0x0, 0x0, 0xFD, 0xD, 0x0, 0x0, 0xFC, 0xFB, 0x0, 0x0, 0xFC, 0x75, 0x0, 0x0, 0xFC, 0xB9, 0x0, 0x0, 0xFC, 0xE5, 0x0, 0x0, 0xFC, 0x6E, 0x0, 0x0, 0xFC, 0x40, 0x0, 0x0, 0xFC, 0xD0, 0x0, 0x0, 0xFC, 0xB1, 0x0, 0x0, 0xFC, 0xC9, 0x0, 0x0, 0xFC, 0xDB, 0x0, 0x0, 0xFD, 0x23, 0x0, 0x0, 0xFC, 0x55, 0x0, 0x0, 0xFC, 0x46, 0x0, 0x0, 0xFA, 0xEF, 0x5, 0xB0, 0x0, 0x95, 0x4, 0x71, 0x0, 0x7A, 0x2, 0xF1, 0x0, 0xA, 0x2, 0xEB, 0x0, 0x6, 0x2, 0xE6, 0x0, 0x14, 0x2, 0xE1, 0x0, 0xE, 0x2, 0xD6, 0x0, 0xD2, 0x2, 0xEB, 0x0, 0x41, 0x2, 0xD6, 0x0, 0x2D, 0x5, 0x4B, 0x0, 0x74, 0x4, 0x89, 0x0, 0x54, 0x6, 0x1F, 0x0, 0x95, 0x4, 0x6B, 0x0, 0x1B, 0x4, 0x9A, 0x0, 0x66, 0x4, 0x5F, 0x0, 0x4E, 0x5, 0x73, 0x0, 0x1C, 0x4, 0xA9, 0x0, 0x1B, 0x1, 0xF1, 0x0, 0x5B, 0x1, 0xC4, 0x0, 0x73, 0x2, 0x2, 0x0, 0x5B, 0x3, 0x6D, 0x0, 0x4B, 0x3, 0xB4, 0x0, 0x6F, 0x3, 0x1F, 0x0, 0x5B, 0x3, 0xB, 0x0, 0x5B, 0x3, 0x15, 0x0, 0x6F, 0x2, 0xFA, 0x0, 0x68, 0x3, 0x2C, 0x0, 0x68, 0x3, 0x15, 0x0, 0x6F, 0x3, 0xB4, 0x0, 0x6F, 0x3, 0xB4, 0x0, 0x6F, 0x2, 0x0, 0x0, 0x66, 0x2, 0x0, 0x0, 0x64, 0x1, 0xF1, 0x0, 0x69, 0x4, 0x14, 0x0, 0x0, 0x8, 0x29, 0x0, 0x0, 0x4, 0x14, 0x0, 0x0, 0x8, 0x29, 0x0, 0x0, 0x2, 0xB9, 0x0, 0x0, 0x2, 0xA, 0x0, 0x0, 0x1, 0x5C, 0x0, 0x0, 0x4, 0x7F, 0x0, 0x0, 0x2, 0x30, 0x0, 0x0, 0x1, 0xA2, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0xD1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xFD, 0x68, 0x0, 0x0, 0xFC, 0x94, 0x0, 0x0, 0xFC, 0xAD, 0x0, 0x0, 0xFC, 0x5E, 0x2, 0xA1, 0x0, 0x47, 0x2, 0xA1, 0x0, 0x47, 0x4, 0x83, 0x0, 0x9F, 0x5, 0x29, 0x0, 0x9D, 0x6, 0x30, 0x0, 0x82, 0x3, 0x37, 0x0, 0xAB, 0x3, 0x9D, 0x0, 0x4, 0x1, 0xC0, 0x0, 0x64, 0x1, 0xBC, 0x0, 0x34, 0x1, 0xCE, 0x0, 0x32, 0x1, 0xA8, 0x0, 0x4B, 0x3, 0x14, 0x0, 0x6D, 0x3, 0x1C, 0x0, 0x41, 0x3, 0x8, 0x0, 0x32, 0x3, 0x35, 0x0, 0x4F, 0x4, 0x5D, 0x0, 0x41, 0x4, 0x9A, 0x0, 0x5D, 0x2, 0xCC, 0x0, 0x88, 0x4, 0x5E, 0x0, 0x98, 0x2, 0x2A, 0x0, 0x85, 0x3, 0xFA, 0x0, 0x8C, 0x5, 0xA6, 0x0, 0x8C, 0x1, 0xC8, 0x0, 0x5B, 0x7, 0xA8, 0x0, 0x4B, 0x9, 0x5F, 0x0, 0x4B, 0x4, 0xF7, 0x0, 0x4C, 0x2, 0x1B, 0x0, 0x4C, 0x3, 0x91, 0x0, 0x50, 0x4, 0xF8, 0x0, 0x50, 0x3, 0x79, 0x0, 0x30, 0x2, 0x73, 0x0, 0x6C, 0x2, 0x69, 0x0, 0x55, 0x5, 0x44, 0x0, 0x4A, 0x3, 0xC3, 0x0, 0x2C, 0x3, 0xB0, 0x0, 0xD, 0x6, 0x23, 0x0, 0xB, 0x6, 0x23, 0x0, 0xB, 0x3, 0x54, 0x0, 0x3B, 0x5, 0x58, 0x0, 0x50, 0x3, 0x6D, 0x0, 0x54, 0x3, 0x9C, 0x0, 0x2D, 0x2, 0x8F, 0x0, 0x99, 0x2, 0x90, 0x0, 0x5E, 0x3, 0xB2, 0x0, 0x3C, 0x4, 0x11, 0x0, 0x84, 0x4, 0xE7, 0x0, 0x66, 0x4, 0xE7, 0x0, 0x66, 0x3, 0xC3, 0x0, 0x3E, 0x2, 0x20, 0x0, 0x84, 0x6, 0x23, 0x0, 0xB, 0x3, 0xE7, 0x0, 0x50, 0x3, 0xD7, 0x0, 0x43, 0x5, 0x7E, 0x0, 0x50, 0x6, 0x23, 0x0, 0xB, 0x5, 0x24, 0x0, 0xC0, 0x3, 0xCA, 0x0, 0x43, 0x6, 0x63, 0x0, 0x50, 0x4, 0xFC, 0x0, 0x43, 0x4, 0x9F, 0x0, 0x43, 0x1, 0xB3, 0x0, 0x43, 0x4, 0x94, 0x0, 0x43, 0x4, 0xB8, 0x0, 0x43, 0x1, 0xB3, 0x0, 0x43, 0x1, 0xB3, 0x0, 0x43, 0x2, 0xF6, 0x0, 0x4C, 0x1, 0xD7, 0x0, 0x79, 0x2, 0xF6, 0x0, 0x35, 0x2, 0xF6, 0x0, 0x4F, 0x2, 0xF6, 0x0, 0x4E, 0x2, 0xF6, 0x0, 0x37, 0x2, 0xF6, 0x0, 0x4C, 0x2, 0xF6, 0x0, 0x47, 0x3, 0x3C, 0x0, 0x50, 0x2, 0xF9, 0x0, 0x50, 0x2, 0xF9, 0x0, 0x50, 0x2, 0x0, 0x0, 0x50, 0x2, 0x0, 0x0, 0x50, 0x3, 0x5D, 0x0, 0x6A, 0x2, 0xF6, 0x0, 0x4C, 0x2, 0xF6, 0x0, 0x81, 0x2, 0xF6, 0x0, 0x3C, 0x2, 0xF6, 0x0, 0x37, 0x2, 0xF6, 0x0, 0x35, 0x2, 0xF6, 0x0, 0x4F, 0x2, 0xF6, 0x0, 0x4E, 0x2, 0xF6, 0x0, 0x37, 0x2, 0xF6, 0x0, 0x4C, 0x2, 0xF6, 0x0, 0x47, 0x3, 0x3C, 0x0, 0x50, 0x2, 0xF9, 0x0, 0x50, 0x2, 0xF9, 0x0, 0x50, 0x2, 0x0, 0x0, 0x50, 0x2, 0x0, 0x0, 0x50, 0x3, 0x56, 0x0, 0x3C, 0x3, 0x52, 0x0, 0x3C, 0x3, 0x6E, 0x0, 0x3C, 0x3, 0x3A, 0x0, 0x28, 0x3, 0x52, 0x0, 0x3C, 0x3, 0x5E, 0x0, 0x64, 0x3, 0x52, 0x0, 0x64, 0x1, 0xB5, 0x0, 0x78, 0x5, 0x30, 0x0, 0x64, 0x3, 0x5E, 0x0, 0x64, 0x3, 0x79, 0x0, 0x64, 0x3, 0x1B, 0x0, 0x3C, 0x2, 0x2E, 0x0, 0x28, 0x5, 0x7B, 0x0, 0x58, 0x5, 0x39, 0x0, 0x66, 0x5, 0x39, 0x0, 0x66, 0x4, 0xB6, 0x0, 0x60, 0x6, 0xF7, 0x0, 0x7D, 0x6, 0x71, 0x0, 0x22, 0x6, 0xB8, 0x0, 0x99, 0x8, 0x94, 0x0, 0x95, 0x6, 0x29, 0x0, 0x22, 0x6, 0x8D, 0x0, 0x7D, 0x4, 0x8C, 0x0, 0x5E, 0x5, 0xA3, 0x0, 0x22, 0x4, 0xDC, 0x0, 0x2D, 0xA, 0x74, 0x0, 0x35, 0x5, 0x1F, 0x0, 0x22, 0x5, 0xF6, 0x0, 0x22, 0x5, 0x73, 0x0, 0x69, 0x5, 0x82, 0x0, 0x22, 0x4, 0xCF, 0x0, 0x43, 0x5, 0x39, 0x0, 0x65, 0x4, 0x56, 0x0, 0x22, 0x5, 0x29, 0x0, 0x35, 0x4, 0xDC, 0x0, 0x2D, 0x4, 0x34, 0x0, 0x28, 0x4, 0xA3, 0x0, 0x22, 0x6, 0x97, 0x0, 0x28, 0x5, 0x5F, 0x0, 0x50, 0x5, 0x7D, 0x0, 0x29, 0x5, 0x86, 0x0, 0x66, 0x0, 0x0, 0xFB, 0x5B, 0x0, 0x0, 0xFA, 0x85, 0x0, 0x0, 0xFB, 0x5B, 0x0, 0x0, 0xFC, 0x54, 0x6, 0x1C, 0x0, 0x6A, 0x6, 0xF, 0x0, 0x6A, 0x7, 0x20, 0x0, 0x28, 0x5, 0xE5, 0x0, 0x71, 0x6, 0x9, 0x0, 0x6A, 0x6, 0x8A, 0x0, 0x28, 0x3, 0xE3, 0x0, 0x4C, 0x8, 0x2F, 0x0, 0x90, 0x6, 0x38, 0x0, 0x56, 0x5, 0x87, 0x0, 0x95, 0x4, 0xFF, 0x0, 0x95, 0x5, 0x18, 0x0, 0x65, 0x5, 0xB0, 0x0, 0x65, 0x5, 0x9, 0x0, 0x6E, 0x5, 0x2D, 0x0, 0x12, 0x4, 0x9E, 0x0, 0x51, 0x5, 0x11, 0x0, 0x95, 0x5, 0x52, 0x0, 0x12, 0x5, 0x15, 0x0, 0x96, 0x4, 0x66, 0x0, 0x35, 0x6, 0x48, 0x0, 0x65, 0x8, 0xA, 0x0, 0x6A, 0x8, 0xF, 0x0, 0x57, 0x7, 0x6, 0x0, 0x93, 0x6, 0xF1, 0x0, 0x93, 0x8, 0xF5, 0x0, 0x93, 0x7, 0x4, 0x0, 0x93, 0x7, 0xCE, 0x0, 0x58, 0x6, 0xF3, 0x0, 0x93, 0x7, 0xA6, 0x0, 0x58, 0x7, 0x79, 0x0, 0x5B, 0x7, 0xE9, 0x0, 0x52, 0x6, 0xDC, 0x0, 0x93, 0x7, 0x2A, 0x0, 0x51, 0x6, 0x35, 0x0, 0x59, 0x6, 0xDD, 0x0, 0x54, 0x6, 0xD1, 0x0, 0x5B, 0x6, 0xA2, 0x0, 0x59, 0x5, 0x0, 0x0, 0x93, 0x2, 0x44, 0x0, 0xA4, 0x4, 0x61, 0x0, 0xA4, 0x6, 0x7E, 0x0, 0xA4, 0x7, 0x68, 0x0, 0xA4, 0x5, 0x2F, 0x0, 0x12, 0x7, 0x68, 0x0, 0x12, 0x9, 0x86, 0x0, 0x12, 0xB, 0xA3, 0x0, 0x12, 0x7, 0x59, 0x0, 0xA4, 0x5, 0x11, 0x0, 0x28, 0x7, 0x5F, 0x0, 0x28, 0x9, 0x7D, 0x0, 0x28, 0x4, 0x64, 0x0, 0xA4, 0x5, 0x38, 0x0, 0x65, 0x5, 0x42, 0x0, 0xA4, 0x7, 0x1D, 0x0, 0xA4, 0x2, 0xF, 0x0, 0x7E, 0x4, 0x1B, 0x0, 0x7E, 0x6, 0x27, 0x0, 0x7E, 0x6, 0x1, 0x0, 0x7E, 0x3, 0xF7, 0x0, 0x1A, 0x6, 0x7, 0x0, 0x1A, 0x8, 0x13, 0x0, 0x1A, 0xA, 0x1F, 0x0, 0x1A, 0x6, 0x18, 0x0, 0x7E, 0x4, 0xE, 0x0, 0x22, 0x6, 0x19, 0x0, 0x22, 0x8, 0x25, 0x0, 0x22, 0x1, 0xEF, 0x0, 0x7E, 0x4, 0x3E, 0x0, 0x50, 0x4, 0x82, 0x0, 0x50, 0x6, 0xF6, 0x0, 0x7E, 0x7, 0x34, 0x0, 0x68, 0x5, 0x5E, 0x0, 0x99, 0x7, 0xF1, 0x0, 0x6A, 0x5, 0x33, 0x0, 0x4D, 0x4, 0x31, 0x0, 0x3B, 0x5, 0x33, 0x0, 0x66, 0x6, 0x4C, 0x0, 0x3C, 0x5, 0x63, 0x0, 0x99, 0x8, 0xA1, 0x0, 0x6A, 0x6, 0xFE, 0x0, 0x46, 0x4, 0x91, 0x0, 0x62, 0x5, 0x96, 0x0, 0xA6, 0x4, 0xDA, 0x0, 0x41, 0x4, 0x83, 0x0, 0x9F, 0x4, 0xB3, 0x0, 0x3C, 0x8, 0x45, 0x0, 0x5E, 0x2, 0x2E, 0xFF, 0xAF, 0x4, 0x8F, 0x0, 0x65, 0x4, 0x7A, 0x0, 0x91, 0x4, 0x11, 0x0, 0x3C, 0x4, 0x2A, 0x0, 0x80, 0x5, 0x4F, 0x0, 0x45, 0x4, 0xD, 0x0, 0x24, 0x3, 0xFA, 0x0, 0x99, 0x3, 0xFA, 0x0, 0x52, 0x2, 0xFF, 0x0, 0x40, 0x2, 0xFF, 0x0, 0x67, 0x4, 0xB2, 0x0, 0x40, 0x4, 0xB2, 0x0, 0x67, 0x3, 0xC0, 0x0, 0x99, 0x3, 0xC0, 0x0, 0x5A, 0x2, 0x93, 0x0, 0x99, 0x2, 0x93, 0x0, 0x54, 0x3, 0x1A, 0x0, 0x50, 0x3, 0x1A, 0x0, 0x50, 0x5, 0x52, 0x0, 0x50, 0x5, 0xF, 0x0, 0x34, 0x4, 0xCF, 0x0, 0x50, 0x4, 0xCF, 0x0, 0x50, 0x4, 0xBC, 0x0, 0x50, 0x4, 0xBC, 0x0, 0x50, 0x4, 0xA8, 0x0, 0x21, 0x2, 0xE0, 0x0, 0x21, 0x4, 0xD6, 0x0, 0x5, 0x5, 0x5E, 0x0, 0x21, 0x4, 0xFF, 0x0, 0x95, 0x4, 0x55, 0x0, 0x5B, 0x2, 0xF5, 0x0, 0x8, 0x6, 0x28, 0x0, 0x95, 0x4, 0xF5, 0x0, 0x7A, 0x5, 0x62, 0x0, 0x95, 0x4, 0x9C, 0x0, 0x7D, 0x4, 0xD2, 0x0, 0x50, 0x4, 0x20, 0x0, 0x52, 0x6, 0xD, 0x0, 0x66, 0x7, 0x1, 0x0, 0x95, 0x5, 0x55, 0x0, 0x12, 0x6, 0xD, 0x0, 0x11, 0x4, 0xA4, 0x0, 0x17, 0x7, 0xF4, 0x0, 0x30, 0x6, 0xAA, 0x0, 0x22, 0x4, 0xF, 0x0, 0x31, 0x4, 0x81, 0x0, 0x95, 0x3, 0x6D, 0x0, 0x7A, 0x5, 0xD3, 0x0, 0x49, 0x5, 0x54, 0x0, 0x54, 0x2, 0xF2, 0x0, 0x28, 0x4, 0x8E, 0x0, 0x50, 0x4, 0x15, 0x0, 0x56, 0x1, 0xF5, 0x0, 0x29, 0x3, 0x4D, 0x0, 0x28, 0x4, 0xD5, 0x0, 0x4A, 0x4, 0xD2, 0x0, 0x4F, 0x0, 0x0, 0xFC, 0xB4, 0x0, 0x0, 0xFC, 0xD1, 0x0, 0x0, 0xFD, 0x3, 0x0, 0x0, 0xFC, 0x87, 0x0, 0x0, 0xFC, 0x16, 0x0, 0x0, 0xFC, 0xD1, 0x0, 0x0, 0xFC, 0xD4, 0x0, 0x0, 0xFC, 0x9E, 0x0, 0x0, 0xFC, 0x66, 0x0, 0x0, 0xFC, 0xC1, 0x0, 0x0, 0xFC, 0xB1, 0x0, 0x0, 0xFC, 0xC1, 0x0, 0x0, 0xFC, 0xBF, 0x0, 0x0, 0xFC, 0xC2, 0x0, 0x0, 0xFC, 0xC5, 0x0, 0x0, 0xFC, 0xD4, 0x0, 0x0, 0xFC, 0xB1, 0x0, 0x0, 0xFC, 0xAB, 0x0, 0x0, 0xFC, 0x49, 0x0, 0x0, 0xFC, 0x34, 0x0, 0x0, 0xFC, 0xB1, 0x0, 0x0, 0xFC, 0x19, 0x0, 0x0, 0xFC, 0xBF, 0x0, 0x0, 0xFC, 0xBF, 0x0, 0x0, 0xFC, 0x9C, 0x0, 0x0, 0xFC, 0x93, 0x0, 0x0, 0xFC, 0x84, 0x0, 0x0, 0xFC, 0x78, 0x0, 0x0, 0xFC, 0x7F, 0x0, 0x0, 0xFC, 0x92, 0x0, 0x0, 0xFC, 0x6C, 0x0, 0x0, 0xFB, 0xCB, 0x3, 0x49, 0x0, 0x50, 0x3, 0x49, 0x0, 0x50, 0x2, 0x83, 0x0, 0x50, 0x2, 0x83, 0x0, 0x50, 0x2, 0xCE, 0x0, 0x50, 0x3, 0x37, 0x0, 0x50, 0x5, 0x17, 0x0, 0x50, 0x5, 0x1E, 0x0, 0x50, 0x4, 0x90, 0x0, 0x50, 0x4, 0x85, 0x0, 0x50, 0x4, 0x85, 0x0, 0x50, 0x3, 0xAB, 0x0, 0x50, 0x3, 0xE2, 0x0, 0x50, 0x3, 0xE2, 0x0, 0x50, 0x5, 0xF5, 0x0, 0x5F, 0x5, 0xBB, 0x0, 0x47, 0x5, 0xB8, 0x0, 0x47, 0x5, 0xB8, 0x0, 0x45, 0x1, 0xC3, 0x0, 0x50, 0x4, 0x98, 0x0, 0x50, 0x5, 0x51, 0x0, 0x37, 0x5, 0x51, 0x0, 0x3B, 0x3, 0x6, 0x0, 0x50, 0x2, 0xCD, 0x0, 0x50, 0x3, 0xE3, 0x0, 0x48, 0x5, 0x57, 0x0, 0x57, 0x3, 0x87, 0x0, 0x64, 0x3, 0x70, 0x0, 0x46, 0x3, 0x5C, 0x0, 0x50, 0x3, 0x5C, 0x0, 0x50, 0x3, 0x70, 0x0, 0x4A, 0x3, 0x70, 0x0, 0x4A, 0x3, 0xBD, 0x0, 0x99, 0x3, 0xBC, 0x0, 0x42, 0x2, 0x39, 0x0, 0x50, 0x2, 0x39, 0x0, 0x50, 0x2, 0x39, 0x0, 0x50, 0x2, 0x39, 0x0, 0x50, 0x4, 0xB1, 0x0, 0x57, 0x4, 0xB1, 0x0, 0x4E, 0x4, 0x62, 0x0, 0x80, 0x4, 0x69, 0x0, 0x28, 0x4, 0x9F, 0x0, 0x43, 0x4, 0x9F, 0x0, 0x43, 0x4, 0x9F, 0x0, 0x43, 0x4, 0xBB, 0x0, 0x43, 0x3, 0xE5, 0x0, 0x3D, 0x1, 0xC1, 0x0, 0x50, 0x2, 0x43, 0x0, 0x46, 0x1, 0xD7, 0x0, 0x5E, 0x1, 0xDD, 0x0, 0x57, 0x1, 0xBB, 0x0, 0x50, 0x1, 0xDD, 0x0, 0x46, 0x2, 0x20, 0x0, 0x84, 0x3, 0x4F, 0x0, 0x50, 0x3, 0x54, 0x0, 0x99, 0x4, 0x7E, 0x0, 0x50, 0x4, 0xEA, 0x0, 0x5B, 0xB, 0xCA, 0x0, 0xAE, 0x11, 0x2, 0x0, 0xAE, 0x2, 0x42, 0x0, 0x50, 0x1, 0xB3, 0x0, 0x43, 0x1, 0x97, 0x0, 0x50, 0x4, 0x94, 0x0, 0x41, 0x2, 0xD6, 0x0, 0x64, 0x1, 0xE3, 0x0, 0x5B, 0x3, 0x39, 0x0, 0x5B, 0x4, 0xD2, 0x0, 0x50, 0x4, 0x7, 0x0, 0x52, 0x4, 0xD2, 0x0, 0x50, 0x4, 0x7, 0x0, 0x52, 0x4, 0xD5, 0x0, 0x4A, 0x4, 0x22, 0x0, 0x57, 0x2, 0xA0, 0x0, 0xA7, 0x2, 0xA6, 0x0, 0xAA, 0x4, 0xDF, 0x0, 0x8, 0x4, 0x55, 0x0, 0x14, 0x4, 0xCB, 0x0, 0x47, 0x4, 0xD8, 0x0, 0x47, 0x8, 0x91, 0x0, 0x68, 0x6, 0xCB, 0x0, 0x4F, 0x6, 0x1A, 0x0, 0x18, 0x5, 0x1D, 0x0, 0x1F, 0x7, 0xAA, 0xFF, 0xCF, 0x7, 0xE, 0x0, 0x1F, 0x6, 0x85, 0x0, 0x96, 0x5, 0xB7, 0x0, 0x7D, 0x7, 0x64, 0x0, 0x66, 0x6, 0xC4, 0x0, 0x50, 0x7, 0x31, 0x0, 0x96, 0x6, 0x7, 0x0, 0x7D, 0x5, 0x53, 0x0, 0x12, 0x4, 0xC8, 0x0, 0x1C, 0x6, 0xEE, 0x0, 0x80, 0x5, 0x9A, 0x0, 0x5B, 0x7, 0x31, 0x0, 0x96, 0x6, 0x63, 0x0, 0x7D, 0x5, 0xAF, 0x0, 0x1E, 0x4, 0xDC, 0x0, 0x22, 0x5, 0xF6, 0x0, 0x3B, 0x4, 0xD4, 0x0, 0x2E, 0x7, 0x63, 0x0, 0x24, 0x6, 0x8, 0x0, 0x27, 0x7, 0x4E, 0x0, 0x2D, 0x5, 0xEC, 0x0, 0x22, 0x8, 0xAC, 0x0, 0x95, 0x7, 0x3E, 0x0, 0x88, 0x5, 0x86, 0x0, 0x66, 0x4, 0x8E, 0x0, 0x50, 0x5, 0xDC, 0x0, 0x66, 0x5, 0x76, 0x0, 0x50, 0x9, 0x41, 0x0, 0x66, 0x7, 0x8A, 0x0, 0x50, 0x9, 0xCA, 0x0, 0x54, 0x0, 0x0, 0xFB, 0x5D, 0x0, 0x0, 0xF9, 0x94, 0x0, 0x0, 0xFB, 0x5D, 0x0, 0x0, 0xF9, 0x7A, 0x3, 0xB6, 0x0, 0x50, 0x0, 0x0, 0xFC, 0xB8, 0x0, 0x0, 0xFC, 0xBC, 0x0, 0x0, 0xFC, 0xF9, 0x0, 0x0, 0xFC, 0xA5, 0x0, 0x0, 0xFC, 0x2E, 0x0, 0x0, 0xFC, 0x67, 0x0, 0x0, 0xFC, 0xE0, 0x0, 0x0, 0xFC, 0x32, 0x0, 0x0, 0xFC, 0x75, 0x0, 0x0, 0xFC, 0x99, 0x3, 0x26, 0x0, 0x50, 0x2, 0xD6, 0x0, 0x47, 0x6, 0x7, 0x0, 0x24, 0x4, 0xF7, 0x0, 0x27, 0x4, 0xD3, 0x0, 0x4D, 0x4, 0x22, 0x0, 0x4D, 0x9, 0x7B, 0x0, 0x49, 0x7, 0xFE, 0x0, 0x4E, 0x6, 0x6A, 0x0, 0x84, 0x5, 0x65, 0x0, 0x36, 0x7, 0x1A, 0x0, 0x24, 0x5, 0xFB, 0x0, 0x27, 0x5, 0xFC, 0x0, 0x2D, 0x5, 0x7A, 0x0, 0x24, 0x4, 0xDC, 0x0, 0x2D, 0x3, 0xF8, 0x0, 0x24, 0x6, 0x2A, 0x0, 0x93, 0x5, 0x1C, 0x0, 0x87, 0x4, 0xDA, 0x0, 0x2D, 0x3, 0xF6, 0x0, 0x24, 0x6, 0xCC, 0x0, 0x1B, 0x5, 0x69, 0x0, 0x11, 0x5, 0x8A, 0x0, 0x85, 0x4, 0x80, 0x0, 0x7E, 0x7, 0xFB, 0x0, 0x93, 0x7, 0x7, 0x0, 0x7D, 0x9, 0x47, 0x0, 0x66, 0x7, 0x8D, 0x0, 0x50, 0x5, 0x86, 0x0, 0x66, 0x4, 0x8E, 0x0, 0x50, 0x3, 0xD5, 0x0, 0x28, 0x3, 0x44, 0x0, 0x64, 0x0, 0x0, 0xFC, 0x78, 0x2, 0x58, 0x0, 0x50, 0x2, 0x58, 0x0, 0x50, 0x2, 0x58, 0x0, 0x50, 0x2, 0x58, 0x0, 0x50, 0x2, 0x58, 0x0, 0x50, 0x2, 0x5E, 0x0, 0x50, 0x2, 0x58, 0x0, 0x50, 0x2, 0x5E, 0x0, 0x50, 0x3, 0x5, 0x0, 0x32, 0x3, 0xF, 0x0, 0x3C, 0x3, 0xF, 0x0, 0x3C, 0x3, 0xF, 0x0, 0x3C, 0x3, 0xF, 0x0, 0x3C, 0x2, 0xF2, 0x0, 0x99, 0x2, 0xF2, 0x0, 0x99, 0x2, 0xF2, 0x0, 0x99, 0x2, 0xF2, 0x0, 0x99, 0x2, 0xF2, 0x0, 0x99, 0x3, 0x93, 0x0, 0x99, 0x3, 0x93, 0x0, 0x99, 0x3, 0x93, 0x0, 0x99, 0x3, 0x93, 0x0, 0x99, 0x3, 0x93, 0x0, 0x99, 0x2, 0xB7, 0x0, 0x50, 0x3, 0x5F, 0x0, 0x55, 0x3, 0xC5, 0x0, 0x50, 0x3, 0x49, 0x0, 0x50, 0x2, 0xFC, 0x0, 0x50, 0x2, 0xFC, 0x0, 0x50, 0x1, 0xA6, 0x0, 0x64, 0x1, 0xA6, 0x0, 0x64, 0x1, 0xA6, 0x0, 0x64, 0x4, 0xFE, 0x0, 0x50, 0x4, 0xFE, 0x0, 0x50, 0x2, 0xB6, 0x0, 0x65, 0x2, 0x37, 0x0, 0x50, 0x2, 0xAF, 0x0, 0x57, 0x2, 0x30, 0x0, 0x50, 0x5, 0xB0, 0x0, 0x95, 0x4, 0x80, 0x0, 0x7E, 0x6, 0x5F, 0x0, 0x2D, 0x5, 0xD3, 0x0, 0x8, 0x4, 0x5F, 0x0, 0x59, 0x4, 0x57, 0x0, 0x54, 0x4, 0x1D, 0x0, 0x35, 0x4, 0x1F, 0x0, 0x35, 0x5, 0x28, 0x0, 0x35, 0x5, 0x14, 0x0, 0x35, 0x3, 0x5B, 0x0, 0x85, 0x4, 0x22, 0x0, 0x4C, 0x8, 0x7C, 0x0, 0x12, 0x6, 0xDA, 0x0, 0x5B, 0x8, 0xAB, 0x0, 0x12, 0x7, 0x1E, 0x0, 0x5B, 0x8, 0x62, 0xFF, 0xF6, 0x6, 0xDA, 0x0, 0x5B, 0x7, 0x64, 0x0, 0x12, 0x6, 0x5E, 0x0, 0x5B, 0x7, 0x64, 0x0, 0x12, 0x6, 0x5E, 0x0, 0x5B, 0x7, 0x6D, 0x0, 0x12, 0x6, 0x69, 0x0, 0x5B, 0x5, 0x3A, 0x0, 0x4D, 0x4, 0x31, 0x0, 0x3B, 0x5, 0x5F, 0x0, 0x14, 0x4, 0x8F, 0x0, 0x14, 0x5, 0x11, 0x0, 0x95, 0x4, 0x43, 0x0, 0x7D, 0x5, 0x5F, 0x0, 0x14, 0x4, 0xA6, 0x0, 0x14, 0x4, 0xEE, 0x0, 0x95, 0x2, 0x7B, 0x0, 0x64, 0x4, 0xA4, 0x0, 0x14, 0x2, 0xC6, 0x0, 0x14, 0x6, 0x6A, 0x0, 0x14, 0x5, 0x4A, 0x0, 0x1B, 0x5, 0xF5, 0x0, 0x66, 0x5, 0x11, 0x0, 0x50, 0x9, 0x41, 0x0, 0x66, 0x7, 0x89, 0x0, 0x50, 0x5, 0x6A, 0x0, 0x14, 0x4, 0xE4, 0x0, 0xD, 0x6, 0x34, 0x0, 0x28, 0x5, 0xBC, 0x0, 0x22, 0x6, 0x3A, 0x0, 0x28, 0x5, 0xA4, 0x0, 0x2B, 0x5, 0x9B, 0x0, 0x60, 0x4, 0xE3, 0x0, 0x50, 0x6, 0xE8, 0x0, 0x60, 0x5, 0xB4, 0x0, 0x50, 0x4, 0x37, 0x0, 0x14, 0x3, 0x4A, 0x0, 0xD, 0x5, 0x2B, 0x0, 0x22, 0x5, 0x2E, 0x0, 0x22, 0x5, 0x2E, 0x0, 0x12, 0x3, 0xF6, 0x0, 0x17, 0x7, 0xB, 0x0, 0x31, 0x6, 0xB9, 0x0, 0x17, 0x4, 0x95, 0x0, 0x4A, 0x4, 0xA4, 0x0, 0x51, 0x5, 0x23, 0x0, 0x14, 0x4, 0xE9, 0x0, 0x14, 0x5, 0x23, 0x0, 0x14, 0x4, 0xE9, 0x0, 0x14, 0x4, 0x7E, 0x0, 0x95, 0x3, 0xE2, 0x0, 0x7D, 0x4, 0x33, 0x0, 0x25, 0x3, 0xBC, 0x0, 0x21, 0x4, 0x50, 0x0, 0x46, 0x4, 0x40, 0x0, 0x49, 0x4, 0xB2, 0x0, 0x4D, 0x4, 0xB4, 0x0, 0x40, 0x3, 0xA2, 0x0, 0x56, 0x5, 0xB8, 0x0, 0x50, 0x3, 0x31, 0x0, 0x8C, 0x8, 0x2C, 0x0, 0x7D, 0x5, 0xAA, 0x0, 0x7A, 0x3, 0xA2, 0x0, 0x7D, 0x5, 0x6F, 0x0, 0x76, 0x3, 0xC7, 0x0, 0x8, 0x4, 0x72, 0x0, 0x1B, 0x5, 0x86, 0x0, 0x69, 0x4, 0xB2, 0x0, 0x50, 0x4, 0xAC, 0x0, 0x99, 0x3, 0x55, 0x0, 0x7D, 0x5, 0x5, 0x0, 0x4A, 0x4, 0xEE, 0x0, 0x30, 0x4, 0x29, 0x0, 0x42, 0x4, 0x55, 0x0, 0x2E, 0x1, 0xFB, 0x0, 0x83, 0x5, 0x8A, 0x0, 0x95, 0x4, 0x76, 0x0, 0x7D, 0x3, 0x93, 0x0, 0x95, 0x2, 0xD0, 0x0, 0x7D, 0x5, 0x58, 0x0, 0x86, 0x4, 0x3F, 0x0, 0x50, 0x3, 0x41, 0x0, 0x49, 0x1, 0xBC, 0x0, 0x6B, 0x2, 0xD1, 0x0, 0x57, 0x1, 0x5D, 0x0, 0x50, 0x1, 0x5D, 0x0, 0x50, 0x5, 0x8C, 0x0, 0x8E, 0x3, 0xE3, 0x0, 0x28, 0x6, 0x27, 0x0, 0x95, 0x4, 0xF5, 0x0, 0x7A, 0x5, 0xAD, 0x0, 0x14, 0x4, 0xAD, 0x0, 0x14, 0x4, 0x31, 0x0, 0x50, 0x4, 0xD3, 0x0, 0x7A, 0x6, 0x23, 0x0, 0x28, 0x5, 0xA3, 0x0, 0x42, 0x5, 0x19, 0x0, 0x1B, 0x2, 0xD6, 0x0, 0x2D, 0x5, 0x25, 0x0, 0x58, 0x4, 0x78, 0x0, 0x53, 0x5, 0x41, 0x0, 0x58, 0x4, 0x3E, 0x0, 0x4F, 0x5, 0x0, 0x0, 0x44, 0x4, 0x5D, 0x0, 0x27, 0x6, 0x19, 0x0, 0x14, 0x5, 0x41, 0x0, 0x14, 0x5, 0x4F, 0x0, 0x14, 0x4, 0x8B, 0x0, 0x14, 0x6, 0x21, 0x0, 0x14, 0x5, 0x41, 0x0, 0x14, 0x5, 0x87, 0x0, 0x14, 0x3, 0x27, 0x0, 0x15, 0x5, 0x93, 0x0, 0x14, 0x4, 0xD3, 0x0, 0x14, 0x6, 0x8C, 0x0, 0x1B, 0x4, 0xD6, 0x0, 0x49, 0x5, 0x8D, 0x0, 0x66, 0x5, 0x93, 0x0, 0x28, 0x5, 0xB, 0xFF, 0xF3, 0x4, 0xDC, 0x0, 0x2D, 0x6, 0x29, 0x0, 0x3C, 0x4, 0xF9, 0x0, 0x35, 0x5, 0x83, 0x0, 0x3C, 0x6, 0x93, 0x0, 0x7D, 0x4, 0x66, 0x0, 0x34, 0x5, 0x1E, 0x0, 0x4A, 0x7, 0x1, 0x0, 0x95, 0x2, 0x42, 0x0, 0xA4, 0x9, 0x8F, 0x0, 0x75, 0x4, 0x61, 0x0, 0x18, 0x5, 0x49, 0x0, 0x1B, 0x6, 0xCE, 0x0, 0x5B, 0x3, 0x8A, 0x0, 0x7D, 0x5, 0x18, 0x0, 0x1B, 0x5, 0x7C, 0x0, 0x2F, 0x2, 0xD6, 0x0, 0x2D, 0x4, 0xE9, 0x0, 0x50, 0x3, 0xBD, 0x0, 0x35, 0x3, 0x61, 0x0, 0x24, 0x2, 0xA0, 0x0, 0x35, 0x7, 0x8A, 0x0, 0x7D, 0x5, 0x8, 0x0, 0x7D, 0x4, 0xF8, 0x0, 0x7D, 0x3, 0xFE, 0x0, 0x7D, 0x4, 0x31, 0x0, 0x86, 0x4, 0xB, 0x0, 0x25, 0x7, 0x4D, 0x0, 0x50, 0x7, 0x41, 0x0, 0x5D, 0x7, 0x41, 0x0, 0x5D, 0x6, 0xC4, 0x0, 0x50, 0x6, 0xC4, 0x0, 0x50, 0x4, 0x58, 0x0, 0x35, 0x4, 0xC6, 0x0, 0x99, 0x2, 0x21, 0x0, 0x7D, 0x3, 0xA1, 0x0, 0x7D, 0x4, 0xF, 0x0, 0x28, 0x4, 0xD9, 0x0, 0x28, 0x4, 0x7F, 0x0, 0x1F, 0x5, 0xEB, 0x0, 0x1F, 0x2, 0x6B, 0xFF, 0xD8, 0x4, 0x72, 0x0, 0x77, 0x5, 0x9, 0x0, 0x1B, 0x6, 0xEF, 0x0, 0x77, 0x6, 0xF7, 0x0, 0x7D, 0x4, 0xE1, 0x0, 0x14, 0x4, 0xA, 0x0, 0x1F, 0x4, 0xF5, 0x0, 0x1F, 0x4, 0xC, 0x0, 0xA, 0x4, 0xF2, 0x0, 0x1F, 0x4, 0xBD, 0xFF, 0xDE, 0x5, 0xA7, 0xFF, 0xDE, 0x4, 0xA7, 0xFF, 0xBE, 0x3, 0x90, 0x0, 0xD, 0x3, 0x26, 0x0, 0x50, 0x3, 0x5E, 0x0, 0x64, 0x2, 0xDE, 0x0, 0x35, 0x2, 0x7F, 0x0, 0x35, 0x3, 0xAE, 0x0, 0x28, 0x4, 0x85, 0x0, 0x56, 0x4, 0xF7, 0x0, 0x68, 0x2, 0x5B, 0x0, 0xA2, 0x2, 0x98, 0x0, 0x64, 0x1, 0xF1, 0x0, 0x46, 0x5, 0x1B, 0x0, 0x2D, 0x4, 0xA8, 0x0, 0x19, 0x4, 0xBD, 0x0, 0x2D, 0x7, 0x24, 0x0, 0x2D, 0x7, 0x24, 0x0, 0x2D, 0x5, 0x12, 0x0, 0x2D, 0x6, 0xB7, 0x0, 0x4C, 0x0, 0x0, 0xFC, 0xF4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xFB, 0xC3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xFD, 0xB8, 0x0, 0x0, 0xFB, 0x9C, 0x0, 0x0, 0xFB, 0x9C, 0x0, 0x0, 0xFC, 0xEE, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xFB, 0xC3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xFD, 0xB8, 0x0, 0x0, 0xFB, 0x9C, 0x0, 0x0, 0xFB, 0x9C, 0x0, 0x0, 0x0, 0x0, 0x8, 0x31, 0x0, 0x5A, 0x8, 0x35, 0x0, 0x5C, 0x5, 0x38, 0x0, 0x74, 0x5, 0x3F, 0x0, 0x74, 0x4, 0xD8, 0x0, 0x25, 0x2, 0xF6, 0x0, 0x3C, 0x2, 0xF6, 0x0, 0x81, 0x2, 0xF6, 0x0, 0x4C, 0x4, 0x1D, 0x0, 0x50, 0x4, 0x1D, 0x0, 0x58, 0x4, 0x1D, 0x0, 0x3A, 0x4, 0x1D, 0x0, 0x61, 0x4, 0x1D, 0x0, 0x67, 0x4, 0x1D, 0x0, 0x31, 0x4, 0x1D, 0x0, 0x3F, 0x4, 0x1D, 0x0, 0x43, 0x4, 0x1D, 0x0, 0x96, 0x4, 0x1D, 0x0, 0x59, 0x4, 0x2A, 0x0, 0x41, 0x4, 0x3D, 0x0, 0x5, 0x4, 0x5F, 0x0, 0x16, 0x6, 0x8, 0x0, 0x29, 0x4, 0x7C, 0x0, 0x9, 0x4, 0x84, 0x0, 0x67, 0x4, 0x3C, 0x0, 0x25, 0x4, 0x35, 0x0, 0x3F, 0x4, 0x5D, 0x0, 0x76, 0x4, 0xC0, 0x0, 0x4D, 0x4, 0x6D, 0x0, 0x76, 0x4, 0xC0, 0x0, 0x50, 0x4, 0xDD, 0x0, 0x76, 0x6, 0x6, 0x0, 0x76, 0x3, 0xBA, 0x0, 0x76, 0x4, 0x5C, 0x0, 0x76, 0x3, 0xD6, 0x0, 0x25, 0x1, 0xFD, 0x0, 0x85, 0x4, 0xDE, 0x0, 0x76, 0x4, 0xA7, 0x0, 0x55, 0x3, 0xC6, 0x0, 0x76, 0x4, 0x35, 0x0, 0x3F, 0x4, 0x67, 0x0, 0x39, 0x3, 0xA4, 0x0, 0xA, 0x3, 0xBA, 0x0, 0x76, 0x4, 0x7C, 0x0, 0x9, 0x4, 0xC0, 0x0, 0x50, 0x4, 0x7C, 0x0, 0x9, 0x3, 0x99, 0x0, 0x43, 0x4, 0xD8, 0x0, 0x76, 0x4, 0x19, 0x0, 0x45, 0x5, 0x9E, 0x0, 0x51, 0x5, 0x55, 0x0, 0x51, 0x4, 0xE4, 0x0, 0x5F, 0x5, 0x92, 0x0, 0x25, 0x4, 0x80, 0x0, 0x50, 0x7, 0x54, 0x0, 0x25, 0x7, 0x58, 0x0, 0x76, 0x5, 0x98, 0x0, 0x25, 0x4, 0xD8, 0x0, 0x76, 0x4, 0x72, 0x0, 0x76, 0x5, 0x59, 0x0, 0x27, 0x6, 0x3A, 0x0, 0x1B, 0x4, 0x46, 0x0, 0x43, 0x4, 0xE4, 0x0, 0x76, 0x4, 0x5D, 0x0, 0x76, 0x4, 0xCC, 0x0, 0x25, 0x4, 0x47, 0x0, 0x20, 0x5, 0x5E, 0x0, 0x76, 0x4, 0x8C, 0x0, 0x41, 0x6, 0x85, 0x0, 0x76, 0x7, 0xB, 0x0, 0x76, 0x5, 0x5A, 0x0, 0xA, 0x6, 0x20, 0x0, 0x76, 0x4, 0x68, 0x0, 0x76, 0x4, 0x80, 0x0, 0x3D, 0x6, 0x92, 0x0, 0x76, 0x4, 0x88, 0x0, 0x44, 0x4, 0x23, 0x0, 0xA, 0x6, 0x92, 0x0, 0x1B, 0x4, 0x9E, 0x0, 0x76, 0x5, 0x1B, 0x0, 0x76, 0x5, 0x6E, 0x0, 0x25, 0x5, 0xF1, 0x0, 0x50, 0x4, 0x5A, 0x0, 0x5, 0x4, 0xC5, 0x0, 0x16, 0x6, 0x95, 0x0, 0x25, 0x4, 0x8C, 0x0, 0x41, 0x4, 0x8C, 0x0, 0x76, 0x5, 0xFE, 0x0, 0xB, 0x4, 0xD2, 0x0, 0x50, 0x4, 0x47, 0x0, 0x43, 0x4, 0xC0, 0x0, 0x50, 0x4, 0x67, 0x0, 0x39, 0x3, 0xF7, 0x0, 0x47, 0x8, 0x37, 0x0, 0x76, 0x4, 0x9D, 0x0, 0x4D, 0x4, 0xEB, 0x0, 0x28, 0x3, 0xF7, 0x0, 0x25, 0x2, 0xF6, 0x0, 0x37, 0x2, 0xF6, 0x0, 0x35, 0x2, 0xF6, 0x0, 0x4F, 0x2, 0xF6, 0x0, 0x4E, 0x2, 0xF6, 0x0, 0x37, 0x2, 0xF6, 0x0, 0x4C, 0x2, 0xF6, 0x0, 0x47, 0x3, 0xBA, 0x0, 0x90, 0x2, 0xB2, 0x0, 0x96, 0x3, 0xE1, 0x0, 0x76, 0x4, 0x3B, 0x0, 0x9, 0x4, 0xBC, 0x0, 0x56, 0x5, 0x44, 0x0, 0x9B, 0x5, 0x28, 0x0, 0x9B, 0x4, 0x31, 0x0, 0x81, 0x5, 0x3A, 0x0, 0x9B, 0x4, 0x2E, 0x0, 0x81, 0x4, 0x7B, 0x0, 0x76, 0x4, 0x80, 0x0, 0x50, 0x4, 0x61, 0x0, 0x76, 0x4, 0x9E, 0x0, 0x9, 0x2, 0x6, 0x0, 0x94, 0x3, 0xA2, 0x0, 0x76, 0x0, 0x0, 0xFC, 0x5A, 0x0, 0x0, 0xFC, 0x5A, 0x0, 0x0, 0xFC, 0x5A, 0x0, 0x0, 0xFC, 0x5A, 0x0, 0x0, 0xFC, 0x61, 0x0, 0x0, 0xFC, 0x9C, 0x0, 0x0, 0xFC, 0x61, 0x0, 0x0, 0xFC, 0x61, 0x0, 0x0, 0xFC, 0x5A, 0x0, 0x0, 0xFC, 0xAA, 0x0, 0x0, 0xFC, 0x5E, 0x4, 0xC, 0x0, 0x7B, 0x4, 0xC, 0xFF, 0x4B, 0x4, 0xC, 0x0, 0x76, 0x4, 0xC, 0x0, 0x76, 0x0, 0x0, 0xFC, 0x61, 0x3, 0xBA, 0x0, 0x76, 0x3, 0xA2, 0x0, 0x76, 0x3, 0xA2, 0x0, 0x76, 0x0, 0x0, 0xFC, 0x5A, 0x2, 0xF6, 0x0, 0x4C, 0x2, 0xF6, 0x0, 0x35, 0x2, 0xF6, 0x0, 0x4F, 0x2, 0xF6, 0x0, 0x4E, 0x2, 0xF6, 0x0, 0x37, 0x2, 0xF6, 0x0, 0x4C, 0x2, 0xF6, 0x0, 0x47, 0x5, 0x7B, 0x0, 0x6C, 0x5, 0xA3, 0x0, 0x6C, 0x5, 0x86, 0x0, 0x9B, 0x5, 0xE1, 0x0, 0x6B, 0x5, 0xE3, 0x0, 0x6B, 0x4, 0x1C, 0x0, 0x98, 0x4, 0x82, 0x0, 0x6F, 0x4, 0x57, 0x0, 0xF, 0x4, 0xBF, 0x0, 0x36, 0x4, 0x6B, 0x0, 0x67, 0x4, 0x2E, 0x0, 0x43, 0x3, 0xA2, 0x0, 0x76, 0x1, 0xB4, 0x0, 0x5D, 0x6, 0x99, 0x0, 0x50, 0x4, 0xB4, 0x0, 0x74, 0x5, 0xB0, 0x0, 0x95, 0x5, 0xB0, 0x0, 0x95, 0x5, 0x75, 0x0, 0x66, 0x5, 0x98, 0x0, 0x64, 0x8, 0xAC, 0x0, 0x95, 0x2, 0x10, 0xFF, 0xAF, 0x4, 0x8C, 0x0, 0x39, 0x4, 0x8C, 0x0, 0x6B, 0x4, 0x8C, 0x0, 0x2C, 0x4, 0x8C, 0x0, 0x66, 0x4, 0x8C, 0x0, 0x63, 0x4, 0x8C, 0x0, 0x35, 0x4, 0x8C, 0x0, 0x6F, 0x4, 0x8C, 0x0, 0x59, 0x4, 0x8C, 0x0, 0x69, 0x4, 0x8C, 0x0, 0xE4, 0x2, 0x27, 0xFF, 0xB5, 0x2, 0x42, 0x0, 0x90, 0x2, 0xE6, 0x0, 0x1E, 0x2, 0xD3, 0x0, 0x1A, 0x2, 0x27, 0xFF, 0xB5, 0x3, 0xAD, 0x0, 0x1E, 0x1, 0xD7, 0x0, 0x8D, 0x2, 0x1B, 0x0, 0x90, 0x2, 0x6A, 0x0, 0x28, 0x2, 0x1B, 0xFF, 0xFA, 0x2, 0x1B, 0x0, 0x90, 0x1, 0xD4, 0x0, 0x88, 0x2, 0x27, 0xFF, 0xB5, 0x2, 0xB2, 0x0, 0x0, 0x1, 0xEF, 0x0, 0x22, 0x1, 0xEF, 0x0, 0x22, 0x4, 0x61, 0x0, 0x76, 0x4, 0xD8, 0x0, 0x25, 0x4, 0xD8, 0x0, 0x2D, 0x4, 0xD8, 0x0, 0xA, 0x4, 0xD8, 0x0, 0x8D, 0x4, 0xD8, 0x0, 0x18, 0x4, 0xD8, 0x0, 0x9D, 0x4, 0xD8, 0x0, 0x87, 0x4, 0xD8, 0x0, 0x2D, 0x4, 0xD8, 0x0, 0xA7, 0x4, 0xD8, 0x0, 0x98, 0x4, 0xD8, 0x0, 0x90, 0x4, 0xD8, 0x0, 0x24, 0x4, 0xD8, 0x0, 0x99, 0x4, 0xD8, 0x0, 0x8E, 0x4, 0xD8, 0x0, 0x7A, 0x4, 0xD8, 0x0, 0x18, 0x4, 0xD8, 0x0, 0x8D, 0x4, 0xD8, 0x0, 0x84, 0x4, 0xD8, 0x0, 0x86, 0x4, 0xD8, 0x0, 0x96, 0x4, 0xD8, 0x0, 0x8D, 0x4, 0xD8, 0x0, 0x9D, 0x4, 0xD8, 0x0, 0x31, 0x4, 0xD8, 0x0, 0x7E, 0x4, 0xD8, 0x0, 0x9E, 0x4, 0xD8, 0x0, 0xA7, 0x4, 0xD8, 0x0, 0xB7, 0x4, 0xD8, 0x0, 0x8E, 0x4, 0xD8, 0x0, 0x33, 0x4, 0xD8, 0x0, 0xA8, 0x4, 0xD8, 0x0, 0x38, 0x4, 0xD8, 0x0, 0x39, 0x4, 0xD8, 0x0, 0x94, 0x4, 0xD8, 0x0, 0xA8, 0x4, 0xD8, 0x0, 0x37, 0x3, 0xAC, 0x0, 0x78, 0x3, 0xAC, 0x0, 0x93, 0x4, 0xD8, 0x0, 0xBA, 0x3, 0xAC, 0x0, 0x71, 0x3, 0xAC, 0x0, 0x84, 0x4, 0xD8, 0x0, 0x33, 0x4, 0xD8, 0x0, 0x39, 0x4, 0xD8, 0x0, 0x38, 0x4, 0xD8, 0x0, 0x90, 0x4, 0xD8, 0x0, 0xAB, 0x4, 0xD8, 0x0, 0xAB, 0x4, 0xD8, 0x0, 0xB2, 0x4, 0xD8, 0x0, 0xBC, 0x4, 0xD8, 0x0, 0xA7, 0x4, 0xD8, 0x0, 0x99, 0x4, 0xD8, 0x0, 0xB7, 0x4, 0xD8, 0x0, 0xA, 0x4, 0xD8, 0x0, 0xBC, 0x4, 0xD8, 0x0, 0xAB, 0x4, 0xD8, 0x0, 0xAB, 0x4, 0xD8, 0x0, 0xB2, 0x4, 0xD8, 0x0, 0x47, 0x4, 0xD8, 0x0, 0x37, 0x4, 0xD8, 0x0, 0xA8, 0x4, 0xD8, 0x0, 0xA7, 0x4, 0xD8, 0x0, 0x99, 0x4, 0xD8, 0x0, 0x1D, 0x4, 0xD8, 0x0, 0x67, 0x4, 0xD8, 0x0, 0x49, 0x3, 0xAC, 0x0, 0x78, 0x3, 0xAC, 0x0, 0x93, 0x3, 0xAC, 0x0, 0x84, 0x3, 0xAC, 0x0, 0x93, 0x4, 0xD8, 0x0, 0xBC, 0x4, 0xD8, 0x0, 0x9D, 0x4, 0xD8, 0x0, 0x8D, 0x4, 0xD8, 0x0, 0x18, 0x4, 0xD8, 0x0, 0x8E, 0x4, 0xD8, 0x0, 0x23, 0x4, 0xD8, 0x0, 0xA8, 0x4, 0xD8, 0x0, 0x18, 0x4, 0xD8, 0x0, 0xA7, 0x4, 0xD8, 0x0, 0x96, 0x4, 0xD8, 0x0, 0x86, 0x4, 0xD8, 0x0, 0x7E, 0x4, 0xD8, 0x0, 0x3C, 0x4, 0xD8, 0x0, 0x2C, 0x4, 0xD8, 0x0, 0x98, 0x4, 0xD8, 0x0, 0x24, 0x3, 0xAC, 0x0, 0x78, 0x3, 0xAC, 0x0, 0x93, 0x4, 0xD8, 0x0, 0x94, 0x4, 0xD8, 0x0, 0xA7, 0x3, 0xAC, 0x0, 0x78, 0x4, 0xD8, 0x0, 0xA8, 0x4, 0xD8, 0x0, 0x87, 0x3, 0xAC, 0x0, 0x93, 0x4, 0xD8, 0x0, 0xAB, 0x4, 0xD8, 0x0, 0xA8, 0x4, 0xD8, 0x0, 0xAB, 0x4, 0xD8, 0x0, 0xBA, 0x4, 0xD8, 0x0, 0xAB, 0x4, 0xD8, 0x0, 0x18, 0x4, 0xD8, 0x0, 0x8D, 0x4, 0xD8, 0x0, 0x7A, 0x4, 0xD8, 0x0, 0x84, 0x4, 0xD8, 0x0, 0x94, 0x4, 0xD8, 0x0, 0xAB, 0x4, 0xD8, 0x0, 0x98, 0x4, 0xD8, 0x0, 0x99, 0x4, 0xD8, 0x0, 0xA7, 0x4, 0xD8, 0x0, 0x18, 0x4, 0xD8, 0x0, 0x23, 0x4, 0xD8, 0x0, 0x9D, 0x4, 0xD8, 0x0, 0x8E, 0x4, 0xD8, 0x0, 0x8D, 0x4, 0xD8, 0x0, 0x31, 0x4, 0xD8, 0x0, 0x1D, 0x3, 0xAC, 0x0, 0x93, 0x4, 0xD8, 0x0, 0x9E, 0x3, 0xAC, 0x0, 0x78, 0x3, 0xAC, 0x0, 0x84, 0x3, 0xAC, 0x0, 0x71, 0x4, 0xD8, 0x0, 0xA8, 0x4, 0xD8, 0x0, 0x37, 0x4, 0xD8, 0x0, 0x67, 0x4, 0xD8, 0x0, 0x47, 0x4, 0xD8, 0x0, 0x49, 0x4, 0xD8, 0x0, 0x37, 0x4, 0xD8, 0x0, 0x98, 0x4, 0xD8, 0x0, 0xAB, 0x4, 0xD8, 0x0, 0x3C, 0x4, 0xD8, 0x0, 0xA8, 0x4, 0xD8, 0x0, 0x2C, 0x4, 0xD8, 0x0, 0xA7, 0x4, 0xD8, 0x0, 0x94, 0x4, 0xD8, 0x0, 0xAB, 0x4, 0xD8, 0x0, 0xBC, 0x4, 0xD8, 0x0, 0xB2, 0x3, 0xAC, 0x0, 0x78, 0x3, 0xAC, 0x0, 0x84, 0x4, 0xD8, 0x0, 0xB2, 0x3, 0xAC, 0x0, 0x93, 0x3, 0xAC, 0x0, 0x93, 0x0, 0x0, 0xFB, 0x8F, 0x0, 0x0, 0xFA, 0xC2, 0x0, 0x0, 0xFB, 0x5E, 0x0, 0x0, 0xFB, 0x1B, 0x0, 0x0, 0xFB, 0x6A, 0x0, 0x0, 0xFB, 0xD6, 0x0, 0x0, 0xFB, 0xE, 0x0, 0x0, 0xFB, 0x9A, 0x0, 0x0, 0xFB, 0xA0, 0x0, 0x0, 0xFB, 0xA6, 0x0, 0x0, 0xFB, 0x78, 0x0, 0x0, 0xFB, 0x50, 0x0, 0x0, 0xFC, 0x2C, 0x0, 0x0, 0xFC, 0x19, 0x0, 0x0, 0xFB, 0x6D, 0x4, 0xEB, 0x0, 0x63, 0x0, 0x0, 0xFC, 0x11, 0x0, 0x0, 0xFB, 0x5E, 0x0, 0x0, 0xFA, 0x4E, 0x0, 0x0, 0xFA, 0x81, 0x0, 0x0, 0xF9, 0xCE, 0x0, 0x0, 0xF8, 0xBE, 0x4, 0x34, 0x0, 0x3A, 0x4, 0x89, 0x0, 0x7D, 0x4, 0x3D, 0x0, 0x51, 0x4, 0x99, 0x0, 0x50, 0x4, 0x93, 0x0, 0x50, 0x4, 0xA1, 0x0, 0x4C, 0x4, 0x94, 0x0, 0x7D, 0x4, 0x9F, 0x0, 0x50, 0x4, 0x4B, 0x0, 0x54, 0x4, 0x89, 0x0, 0x51, 0x4, 0x63, 0x0, 0x3E, 0x3, 0xA4, 0x0, 0x5A, 0x4, 0xC6, 0x0, 0x5, 0x5, 0x90, 0x0, 0x50, 0x5, 0xA, 0x0, 0x7A, 0x5, 0xBC, 0x0, 0x5, 0x5, 0x9D, 0x0, 0x5, 0x3, 0xF9, 0x0, 0x5, 0x5, 0x3, 0x0, 0x5D, 0x3, 0xC4, 0x0, 0x4, 0x6, 0x47, 0xFF, 0xF0, 0x4, 0x9, 0x0, 0x76, 0x4, 0xC0, 0x0, 0x50, 0x5, 0x9, 0x0, 0x32, 0x4, 0xDD, 0x0, 0x76, 0x0, 0x0, 0xFD, 0x40, 0x0, 0x0, 0xFC, 0x4A, 0x0, 0x0, 0xFC, 0x57, 0x0, 0x0, 0xFC, 0x57, 0x0, 0x0, 0xFC, 0x65, 0x0, 0x0, 0xFC, 0x5F, 0x0, 0x0, 0xFC, 0x57, 0x0, 0x0, 0xFC, 0x57, 0x0, 0x0, 0xFC, 0x65, 0x0, 0x0, 0xFC, 0x4A, 0x0, 0x0, 0xFC, 0x57, 0x0, 0x0, 0xFC, 0x50, 0x0, 0x0, 0xFC, 0x57, 0x1, 0xFE, 0x0, 0x0, 0x2, 0xA1, 0x0, 0x47, 0x5, 0x58, 0x0, 0x15, 0x5, 0x58, 0x0, 0x15, 0x4, 0x8F, 0xFF, 0xF2, 0x4, 0xDC, 0x0, 0x2D, 0x2, 0xAA, 0xFF, 0xE8, 0x5, 0x53, 0x0, 0x12, 0x5, 0x53, 0x0, 0x12, 0x5, 0x53, 0x0, 0x12, 0x5, 0x53, 0x0, 0x12, 0x5, 0x53, 0x0, 0x12, 0x5, 0x53, 0x0, 0x12, 0x5, 0x53, 0x0, 0x12, 0x5, 0x39, 0x0, 0x66, 0x4, 0x86, 0x0, 0x95, 0x4, 0x86, 0x0, 0x95, 0x4, 0x86, 0x0, 0x95, 0x4, 0x86, 0x0, 0x95, 0x2, 0x42, 0xFF, 0xC7, 0x2, 0x42, 0x0, 0xA4, 0x2, 0x42, 0xFF, 0xCB, 0x2, 0x42, 0xFF, 0xC0, 0x5, 0xAF, 0x0, 0x95, 0x5, 0x86, 0x0, 0x66, 0x5, 0x86, 0x0, 0x66, 0x5, 0x86, 0x0, 0x66, 0x5, 0x86, 0x0, 0x66, 0x5, 0x86, 0x0, 0x66, 0x5, 0x38, 0x0, 0x7E, 0x5, 0x38, 0x0, 0x7E, 0x5, 0x38, 0x0, 0x7E, 0x5, 0x38, 0x0, 0x7E, 0x4, 0xE0, 0x0, 0x8, 0x4, 0x55, 0x0, 0x5B, 0x4, 0x55, 0x0, 0x5B, 0x4, 0x55, 0x0, 0x5B, 0x4, 0x55, 0x0, 0x5B, 0x4, 0x55, 0x0, 0x5B, 0x4, 0x55, 0x0, 0x5B, 0x4, 0x55, 0x0, 0x5B, 0x4, 0x31, 0x0, 0x50, 0x4, 0x4B, 0x0, 0x54, 0x4, 0x4B, 0x0, 0x54, 0x4, 0x4B, 0x0, 0x54, 0x4, 0x4B, 0x0, 0x54, 0x2, 0x1B, 0xFF, 0xB2, 0x2, 0x1B, 0x0, 0x90, 0x2, 0x1B, 0xFF, 0xB6, 0x2, 0x1B, 0xFF, 0xAB, 0x4, 0x73, 0x0, 0x7A, 0x4, 0x8E, 0x0, 0x50, 0x4, 0x8E, 0x0, 0x50, 0x4, 0x8E, 0x0, 0x50, 0x4, 0x8E, 0x0, 0x50, 0x4, 0x8E, 0x0, 0x50, 0x4, 0x72, 0x0, 0x77, 0x4, 0x72, 0x0, 0x77, 0x4, 0x72, 0x0, 0x77, 0x4, 0x72, 0x0, 0x77, 0x3, 0xE5, 0x0, 0xC, 0x3, 0xE5, 0x0, 0xC, 0x5, 0x53, 0x0, 0x12, 0x4, 0x55, 0x0, 0x5B, 0x5, 0x53, 0x0, 0x12, 0x4, 0x55, 0x0, 0x5B, 0x5, 0x53, 0x0, 0x12, 0x4, 0x55, 0x0, 0x5B, 0x5, 0x39, 0x0, 0x66, 0x4, 0x31, 0x0, 0x50, 0x5, 0x39, 0x0, 0x66, 0x4, 0x31, 0x0, 0x50, 0x5, 0x39, 0x0, 0x66, 0x4, 0x31, 0x0, 0x50, 0x5, 0x39, 0x0, 0x66, 0x4, 0x31, 0x0, 0x50, 0x5, 0x3A, 0x0, 0x95, 0x5, 0x1B, 0x0, 0x50, 0x4, 0x86, 0x0, 0x95, 0x4, 0x4B, 0x0, 0x54, 0x4, 0x86, 0x0, 0x95, 0x4, 0x4B, 0x0, 0x54, 0x4, 0x86, 0x0, 0x95, 0x4, 0x4B, 0x0, 0x54, 0x4, 0x86, 0x0, 0x95, 0x4, 0x4B, 0x0, 0x54, 0x4, 0x86, 0x0, 0x95, 0x4, 0x4B, 0x0, 0x54, 0x5, 0x73, 0x0, 0x6A, 0x4, 0x89, 0x0, 0x52, 0x5, 0x73, 0x0, 0x6A, 0x4, 0x89, 0x0, 0x52, 0x5, 0x73, 0x0, 0x6A, 0x4, 0x89, 0x0, 0x52, 0x5, 0x73, 0x0, 0x6A, 0x4, 0x89, 0x0, 0x52, 0x5, 0xB0, 0x0, 0x95, 0x4, 0x71, 0x0, 0x7A, 0x2, 0x42, 0xFF, 0xB2, 0x2, 0x1B, 0xFF, 0x9D, 0x2, 0x42, 0xFF, 0xCE, 0x2, 0x1B, 0xFF, 0xB9, 0x2, 0x42, 0xFF, 0xDF, 0x2, 0x1B, 0xFF, 0xCA, 0x2, 0x42, 0x0, 0x15, 0x2, 0xC, 0xFF, 0xFE, 0x2, 0x42, 0x0, 0x9E, 0x6, 0xB3, 0x0, 0xA4, 0x4, 0xD, 0x0, 0x7D, 0x4, 0x71, 0x0, 0x2D, 0x2, 0x27, 0xFF, 0xB5, 0x5, 0xB, 0x0, 0x95, 0x4, 0x2D, 0x0, 0x7D, 0x4, 0x55, 0x0, 0x95, 0x2, 0xC, 0x0, 0x8B, 0x4, 0x55, 0x0, 0x95, 0x2, 0xC, 0x0, 0x57, 0x4, 0x55, 0x0, 0x95, 0x2, 0xA2, 0x0, 0x8C, 0x4, 0x55, 0x0, 0x95, 0x2, 0xE8, 0x0, 0x8C, 0x5, 0xAF, 0x0, 0x95, 0x4, 0x73, 0x0, 0x7A, 0x5, 0xAF, 0x0, 0x95, 0x4, 0x73, 0x0, 0x7A, 0x5, 0xAF, 0x0, 0x95, 0x4, 0x73, 0x0, 0x7A, 0x4, 0x73, 0xFF, 0xA4, 0x5, 0x86, 0x0, 0x66, 0x4, 0x8E, 0x0, 0x50, 0x5, 0x86, 0x0, 0x66, 0x4, 0x8E, 0x0, 0x50, 0x5, 0x86, 0x0, 0x66, 0x4, 0x8E, 0x0, 0x50, 0x4, 0xFF, 0x0, 0x95, 0x2, 0xD0, 0x0, 0x7D, 0x4, 0xFF, 0x0, 0x95, 0x2, 0xD0, 0x0, 0x51, 0x4, 0xFF, 0x0, 0x95, 0x2, 0xD0, 0x0, 0x38, 0x4, 0xD5, 0x0, 0x4A, 0x4, 0x22, 0x0, 0x4C, 0x4, 0xD5, 0x0, 0x4A, 0x4, 0x22, 0x0, 0x4C, 0x4, 0xD5, 0x0, 0x4A, 0x4, 0x22, 0x0, 0x4C, 0x4, 0xD5, 0x0, 0x4A, 0x4, 0x22, 0x0, 0x4C, 0x4, 0xD5, 0x0, 0x4A, 0x4, 0x22, 0x0, 0x4C, 0x4, 0xDC, 0x0, 0x2D, 0x2, 0xAA, 0x0, 0x8, 0x4, 0xDC, 0x0, 0x2D, 0x2, 0xAA, 0x0, 0x8, 0x4, 0xDC, 0x0, 0x2D, 0x2, 0xD2, 0x0, 0x8, 0x5, 0x38, 0x0, 0x7E, 0x4, 0x72, 0x0, 0x77, 0x5, 0x38, 0x0, 0x7E, 0x4, 0x72, 0x0, 0x77, 0x5, 0x38, 0x0, 0x7E, 0x4, 0x72, 0x0, 0x77, 0x5, 0x38, 0x0, 0x7E, 0x4, 0x72, 0x0, 0x77, 0x5, 0x38, 0x0, 0x7E, 0x4, 0x72, 0x0, 0x77, 0x5, 0x38, 0x0, 0x7E, 0x4, 0x72, 0x0, 0x77, 0x7, 0xB, 0x0, 0x31, 0x5, 0xF2, 0x0, 0x22, 0x4, 0xE0, 0x0, 0x8, 0x3, 0xE5, 0x0, 0xC, 0x4, 0xE0, 0x0, 0x8, 0x4, 0xD2, 0x0, 0x50, 0x4, 0x7, 0x0, 0x52, 0x4, 0xD2, 0x0, 0x50, 0x4, 0x7, 0x0, 0x52, 0x4, 0xD2, 0x0, 0x50, 0x4, 0x7, 0x0, 0x52, 0x7, 0x85, 0xFF, 0xF6, 0x6, 0xC1, 0x0, 0x48, 0x5, 0x85, 0x0, 0x6A, 0x4, 0x89, 0x0, 0x50, 0x4, 0x7B, 0xFF, 0xA6, 0x4, 0x7B, 0xFF, 0xA6, 0x4, 0x3C, 0x0, 0x25, 0x4, 0x9E, 0x0, 0x9, 0x4, 0x9E, 0x0, 0x9, 0x4, 0x9E, 0x0, 0x9, 0x4, 0x9E, 0x0, 0x9, 0x4, 0x9E, 0x0, 0x9, 0x4, 0x9E, 0x0, 0x9, 0x4, 0x9E, 0x0, 0x9, 0x4, 0x80, 0x0, 0x50, 0x3, 0xE1, 0x0, 0x76, 0x3, 0xE1, 0x0, 0x76, 0x3, 0xE1, 0x0, 0x76, 0x3, 0xE1, 0x0, 0x76, 0x1, 0xFD, 0xFF, 0xA5, 0x1, 0xFD, 0x0, 0x84, 0x1, 0xFD, 0xFF, 0xA9, 0x1, 0xFD, 0xFF, 0x9E, 0x4, 0xDD, 0x0, 0x76, 0x4, 0xC0, 0x0, 0x50, 0x4, 0xC0, 0x0, 0x50, 0x4, 0xC0, 0x0, 0x50, 0x4, 0xC0, 0x0, 0x50, 0x4, 0xC0, 0x0, 0x50, 0x4, 0x84, 0x0, 0x67, 0x4, 0x84, 0x0, 0x67, 0x4, 0x84, 0x0, 0x67, 0x4, 0x84, 0x0, 0x67, 0x4, 0x3D, 0x0, 0x5, 0x4, 0x9E, 0x0, 0x9, 0x4, 0x9E, 0x0, 0x9, 0x4, 0x9E, 0x0, 0x9, 0x4, 0x80, 0x0, 0x50, 0x4, 0x80, 0x0, 0x50, 0x4, 0x80, 0x0, 0x50, 0x4, 0x80, 0x0, 0x50, 0x4, 0x7B, 0x0, 0x6A, 0x3, 0xE1, 0x0, 0x76, 0x3, 0xE1, 0x0, 0x76, 0x3, 0xE1, 0x0, 0x76, 0x3, 0xE1, 0x0, 0x76, 0x3, 0xE1, 0x0, 0x76, 0x4, 0xA7, 0x0, 0x55, 0x4, 0xA7, 0x0, 0x55, 0x4, 0xA7, 0x0, 0x55, 0x4, 0xA7, 0x0, 0x55, 0x4, 0xDE, 0x0, 0x76, 0x1, 0xFD, 0xFF, 0x90, 0x1, 0xFD, 0xFF, 0xAC, 0x1, 0xFD, 0xFF, 0xBD, 0x1, 0xFD, 0x0, 0x14, 0x1, 0xFD, 0x0, 0x7C, 0x3, 0xD6, 0x0, 0x25, 0x4, 0x5C, 0x0, 0x76, 0x3, 0xBA, 0x0, 0x76, 0x3, 0xBA, 0x0, 0x76, 0x3, 0xBA, 0x0, 0x76, 0x3, 0xBA, 0x0, 0x76, 0x4, 0xDD, 0x0, 0x76, 0x4, 0xDD, 0x0, 0x76, 0x4, 0xDD, 0x0, 0x76, 0x4, 0xC0, 0x0, 0x50, 0x4, 0xC0, 0x0, 0x50, 0x4, 0xC0, 0x0, 0x50, 0x4, 0xC0, 0x0, 0x50, 0x4, 0x5D, 0x0, 0x76, 0x4, 0x5D, 0x0, 0x76, 0x4, 0x5D, 0x0, 0x76, 0x4, 0x35, 0x0, 0x3F, 0x4, 0x35, 0x0, 0x3F, 0x4, 0x35, 0x0, 0x3F, 0x4, 0x35, 0x0, 0x3F, 0x4, 0x3C, 0x0, 0x25, 0x4, 0x3C, 0x0, 0x25, 0x4, 0x3C, 0x0, 0x25, 0x4, 0x84, 0x0, 0x67, 0x4, 0x84, 0x0, 0x67, 0x4, 0x84, 0x0, 0x67, 0x4, 0x84, 0x0, 0x67, 0x4, 0x84, 0x0, 0x67, 0x4, 0x84, 0x0, 0x67, 0x6, 0x8, 0x0, 0x29, 0x4, 0x3D, 0x0, 0x5, 0x4, 0x3D, 0x0, 0x5, 0x4, 0x2A, 0x0, 0x41, 0x4, 0x2A, 0x0, 0x41, 0x4, 0x2A, 0x0, 0x41, 0x5, 0x53, 0x0, 0x12, 0x4, 0x86, 0xFE, 0xE7, 0x5, 0xB0, 0xFE, 0xF0, 0x2, 0x42, 0xFE, 0xF2, 0x5, 0x9A, 0xFF, 0xBC, 0x5, 0x44, 0xFF, 0x45, 0x5, 0x70, 0xFF, 0xC6, 0x2, 0xAA, 0xFF, 0x87, 0x5, 0x53, 0x0, 0x12, 0x5, 0xD, 0x0, 0x95, 0x4, 0x86, 0x0, 0x95, 0x4, 0xD2, 0x0, 0x50, 0x5, 0xB0, 0x0, 0x95, 0x2, 0x42, 0x0, 0xA4, 0x5, 0xB, 0x0, 0x95, 0x7, 0x1, 0x0, 0x95, 0x5, 0xAF, 0x0, 0x95, 0x5, 0x86, 0x0, 0x66, 0x5, 0x1E, 0x0, 0x95, 0x4, 0xDC, 0x0, 0x2D, 0x4, 0xE0, 0x0, 0x8, 0x5, 0x10, 0x0, 0x29, 0x2, 0x42, 0xFF, 0xC0, 0x4, 0xE0, 0x0, 0x8, 0x4, 0x85, 0x0, 0x56, 0x4, 0x61, 0x0, 0x61, 0x4, 0x89, 0x0, 0x7F, 0x2, 0xAA, 0x0, 0xAA, 0x4, 0x61, 0x0, 0x80, 0x4, 0x98, 0x0, 0x8E, 0x4, 0x8E, 0x0, 0x50, 0x4, 0xBB, 0x0, 0x93, 0x3, 0xF6, 0x0, 0x17, 0x4, 0x63, 0x0, 0x3E, 0x2, 0xAA, 0xFF, 0xCD, 0x4, 0x61, 0x0, 0x80, 0x4, 0x8E, 0x0, 0x50, 0x4, 0x61, 0x0, 0x80, 0x6, 0x95, 0x0, 0x66, 0x4, 0x86, 0x0, 0x95, 0x4, 0x75, 0x0, 0x9B, 0x4, 0xD5, 0x0, 0x4A, 0x2, 0x42, 0x0, 0xA4, 0x2, 0x42, 0xFF, 0xC0, 0x4, 0x71, 0x0, 0x2D, 0x5, 0x28, 0x0, 0x9B, 0x5, 0xB, 0x0, 0x95, 0x5, 0xA, 0x0, 0x3A, 0x5, 0x53, 0x0, 0x12, 0x5, 0xD, 0x0, 0x95, 0x4, 0x75, 0x0, 0x9B, 0x4, 0x86, 0x0, 0x95, 0x5, 0xA9, 0x0, 0x95, 0x7, 0x1, 0x0, 0x95, 0x5, 0xB0, 0x0, 0x95, 0x5, 0x86, 0x0, 0x66, 0x5, 0xB1, 0x0, 0x9B, 0x5, 0x1E, 0x0, 0x95, 0x5, 0x39, 0x0, 0x66, 0x4, 0xDC, 0x0, 0x2D, 0x5, 0x10, 0x0, 0x29, 0x4, 0x55, 0x0, 0x5B, 0x4, 0x4B, 0x0, 0x54, 0x4, 0x98, 0x0, 0x86, 0x4, 0x8E, 0x0, 0x50, 0x4, 0x81, 0x0, 0x7D, 0x4, 0x31, 0x0, 0x50, 0x3, 0xE5, 0x0, 0xC, 0x4, 0x7, 0x0, 0x1F, 0x4, 0x4B, 0x0, 0x54, 0x3, 0x5B, 0x0, 0x85, 0x4, 0x22, 0x0, 0x4C, 0x2, 0xC, 0x0, 0x7D, 0x2, 0x1B, 0xFF, 0xAB, 0x2, 0x1, 0xFF, 0xB4, 0x4, 0x6F, 0x0, 0x8F, 0x3, 0xE5, 0x0, 0xC, 0x7, 0xB, 0x0, 0x31, 0x5, 0xF2, 0x0, 0x22, 0x7, 0xB, 0x0, 0x31, 0x5, 0xF2, 0x0, 0x22, 0x7, 0xB, 0x0, 0x31, 0x5, 0xF2, 0x0, 0x22, 0x4, 0xE0, 0x0, 0x8, 0x3, 0xE5, 0x0, 0xC, 0x1, 0x5A, 0x0, 0x53, 0x2, 0x98, 0x0, 0x65, 0x4, 0x4A, 0x0, 0x90, 0x2, 0x27, 0xFF, 0xB0, 0x1, 0xBC, 0x0, 0x34, 0x7, 0x1, 0x0, 0x95, 0x6, 0xF7, 0x0, 0x7D, 0x5, 0x53, 0x0, 0x12, 0x4, 0x55, 0x0, 0x5B, 0x4, 0x86, 0x0, 0x95, 0x5, 0xA9, 0x0, 0x95, 0x4, 0x4B, 0x0, 0x54, 0x4, 0x98, 0x0, 0x86, 0x5, 0xAB, 0x0, 0x44, 0x5, 0xCA, 0x0, 0x50, 0x5, 0x1A, 0x0, 0x10, 0x4, 0xF, 0xFF, 0xF2, 0x8, 0x73, 0x0, 0x50, 0x9, 0x6B, 0x0, 0x66, 0x4, 0xD6, 0x0, 0x49, 0x4, 0x17, 0x0, 0x4E, 0x5, 0x39, 0x0, 0x66, 0x4, 0x31, 0x0, 0x50, 0x4, 0xE0, 0x0, 0x8, 0x4, 0xF, 0x0, 0x21, 0x2, 0x42, 0x0, 0xA4, 0x7, 0xA2, 0x0, 0x17, 0x6, 0x77, 0x0, 0x1E, 0x2, 0x42, 0x0, 0xA4, 0x5, 0x53, 0x0, 0x12, 0x4, 0x55, 0x0, 0x5B, 0x5, 0x53, 0x0, 0x12, 0x4, 0x55, 0x0, 0x5B, 0x7, 0x85, 0xFF, 0xF6, 0x6, 0xC1, 0x0, 0x48, 0x4, 0x86, 0x0, 0x95, 0x4, 0x4B, 0x0, 0x54, 0x5, 0x89, 0x0, 0x51, 0x4, 0x3D, 0x0, 0x5A, 0x4, 0x3D, 0x0, 0x5A, 0x7, 0xA2, 0x0, 0x17, 0x6, 0x77, 0x0, 0x1E, 0x4, 0xD6, 0x0, 0x49, 0x4, 0x17, 0x0, 0x4E, 0x5, 0xA9, 0x0, 0x95, 0x4, 0x98, 0x0, 0x86, 0x5, 0xA9, 0x0, 0x95, 0x4, 0x98, 0x0, 0x86, 0x5, 0x86, 0x0, 0x66, 0x4, 0x8E, 0x0, 0x50, 0x5, 0x7B, 0x0, 0x5F, 0x4, 0x89, 0x0, 0x4F, 0x5, 0x7B, 0x0, 0x5F, 0x5, 0x7B, 0x0, 0x5F, 0x4, 0x89, 0x0, 0x4F, 0x5, 0x51, 0x0, 0x6B, 0x4, 0x3D, 0x0, 0x52, 0x5, 0xA, 0x0, 0x3A, 0x3, 0xE5, 0x0, 0xC, 0x5, 0xA, 0x0, 0x3A, 0x3, 0xE5, 0x0, 0xC, 0x5, 0xA, 0x0, 0x3A, 0x3, 0xE5, 0x0, 0xC, 0x5, 0x89, 0x0, 0x8E, 0x4, 0x66, 0x0, 0x5F, 0x6, 0xF9, 0x0, 0x9C, 0x6, 0x6F, 0x0, 0x8F, 0x4, 0x85, 0x0, 0x50, 0x5, 0x53, 0x0, 0x12, 0x4, 0x55, 0x0, 0x5B, 0x5, 0x53, 0x0, 0x12, 0x4, 0x55, 0x0, 0x5B, 0x5, 0x53, 0x0, 0x12, 0x4, 0x55, 0x0, 0x5B, 0x5, 0x53, 0x0, 0xE, 0x4, 0x55, 0xFF, 0x98, 0x5, 0x53, 0x0, 0x12, 0x4, 0x55, 0x0, 0x5B, 0x5, 0x53, 0x0, 0x12, 0x4, 0x55, 0x0, 0x5B, 0x5, 0x53, 0x0, 0x12, 0x4, 0x55, 0x0, 0x5B, 0x5, 0x53, 0x0, 0x12, 0x4, 0x55, 0x0, 0x5B, 0x5, 0x53, 0x0, 0x12, 0x4, 0x55, 0x0, 0x5B, 0x5, 0x53, 0x0, 0x12, 0x4, 0x55, 0x0, 0x5B, 0x5, 0x53, 0x0, 0x12, 0x4, 0x55, 0x0, 0x5B, 0x5, 0x53, 0x0, 0x12, 0x4, 0x55, 0x0, 0x5B, 0x4, 0x86, 0x0, 0x95, 0x4, 0x4B, 0x0, 0x54, 0x4, 0x86, 0x0, 0x95, 0x4, 0x4B, 0x0, 0x54, 0x4, 0x86, 0x0, 0x95, 0x4, 0x4B, 0x0, 0x54, 0x4, 0x86, 0x0, 0x95, 0x4, 0x4B, 0x0, 0x54, 0x4, 0x86, 0xFF, 0xD4, 0x4, 0x4B, 0xFF, 0x8C, 0x4, 0x86, 0x0, 0x95, 0x4, 0x4B, 0x0, 0x54, 0x4, 0x86, 0x0, 0x95, 0x4, 0x4B, 0x0, 0x54, 0x4, 0x86, 0x0, 0x95, 0x4, 0x4B, 0x0, 0x54, 0x2, 0x42, 0x0, 0xA4, 0x2, 0x1B, 0x0, 0x90, 0x2, 0x42, 0x0, 0x94, 0x2, 0xC, 0x0, 0x79, 0x5, 0x86, 0x0, 0x66, 0x4, 0x8E, 0x0, 0x50, 0x5, 0x86, 0x0, 0x66, 0x4, 0x8E, 0x0, 0x50, 0x5, 0x86, 0x0, 0x66, 0x4, 0x8E, 0x0, 0x50, 0x5, 0x86, 0x0, 0x25, 0x4, 0x8E, 0xFF, 0xA1, 0x5, 0x86, 0x0, 0x66, 0x4, 0x8E, 0x0, 0x50, 0x5, 0x86, 0x0, 0x66, 0x4, 0x8E, 0x0, 0x50, 0x5, 0x86, 0x0, 0x66, 0x4, 0x8E, 0x0, 0x50, 0x5, 0x8A, 0x0, 0x58, 0x4, 0x9F, 0x0, 0x4F, 0x5, 0x8A, 0x0, 0x58, 0x4, 0x9F, 0x0, 0x4F, 0x5, 0x8A, 0x0, 0x58, 0x4, 0x9F, 0x0, 0x4F, 0x5, 0x8A, 0x0, 0x58, 0x4, 0x9F, 0x0, 0x4F, 0x5, 0x8A, 0x0, 0x58, 0x4, 0x9F, 0x0, 0x4F, 0x5, 0x38, 0x0, 0x7E, 0x4, 0x72, 0x0, 0x77, 0x5, 0x38, 0x0, 0x7E, 0x4, 0x72, 0x0, 0x77, 0x5, 0xA5, 0x0, 0x7E, 0x4, 0xF2, 0x0, 0x77, 0x5, 0xA5, 0x0, 0x7E, 0x4, 0xF2, 0x0, 0x77, 0x5, 0xA5, 0x0, 0x7E, 0x4, 0xF2, 0x0, 0x77, 0x5, 0xA5, 0x0, 0x7E, 0x4, 0xF2, 0x0, 0x77, 0x5, 0xA5, 0x0, 0x7E, 0x4, 0xF2, 0x0, 0x77, 0x4, 0xE0, 0x0, 0x8, 0x3, 0xE5, 0x0, 0xC, 0x4, 0xE0, 0x0, 0x8, 0x3, 0xE5, 0x0, 0xC, 0x4, 0xE0, 0x0, 0x8, 0x3, 0xE5, 0x0, 0xC, 0x4, 0xA3, 0x0, 0x50, 0x4, 0xDC, 0x0, 0x2D, 0x3, 0xF6, 0x0, 0x24, 0x5, 0x89, 0x0, 0x8E, 0x4, 0x66, 0x0, 0x5F, 0x4, 0x75, 0x0, 0x9B, 0x3, 0x5B, 0x0, 0x85, 0x6, 0x24, 0x0, 0x17, 0x4, 0xC4, 0xFF, 0xCA, 0x4, 0x71, 0x0, 0x7A, 0x5, 0x7, 0xFF, 0xD0, 0x5, 0x7, 0xFF, 0xD0, 0x4, 0x75, 0xFF, 0xF0, 0x3, 0x5B, 0xFF, 0xE2, 0x5, 0x3C, 0xFF, 0xF7, 0x4, 0x45, 0xFF, 0xC2, 0x4, 0xE0, 0x0, 0x8, 0x4, 0xF, 0x0, 0x21, 0x5, 0x10, 0x0, 0x29, 0x4, 0x7, 0x0, 0x1F, 0x4, 0x61, 0x0, 0x61, 0x4, 0x66, 0x0, 0x2, 0x6, 0x30, 0x0, 0x82, 0x4, 0x8C, 0x0, 0x51, 0x4, 0x8C, 0x0, 0x50, 0x4, 0x8C, 0x0, 0x35, 0x4, 0x8C, 0x0, 0x81, 0x4, 0xA0, 0x0, 0x8A, 0x4, 0xB4, 0x0, 0x7D, 0x4, 0xA0, 0x0, 0x5E, 0x4, 0xB4, 0x0, 0x7D, 0x1, 0xC4, 0x0, 0x73, 0x2, 0xB6, 0x0, 0x90, 0x4, 0x89, 0x0, 0x7F, 0x8, 0xC6, 0x0, 0x95, 0x6, 0x56, 0x0, 0x95, 0x4, 0xD, 0x0, 0x8C, 0xA, 0x20, 0x0, 0x95, 0x7, 0xB0, 0x0, 0x95, 0x6, 0x74, 0x0, 0x7A, 0x5, 0x53, 0x0, 0x12, 0x4, 0x55, 0x0, 0x5B, 0x2, 0x42, 0xFF, 0xC0, 0x2, 0x1B, 0xFF, 0xAB, 0x5, 0x86, 0x0, 0x66, 0x4, 0x8E, 0x0, 0x50, 0x5, 0x38, 0x0, 0x7E, 0x4, 0x72, 0x0, 0x77, 0x5, 0x38, 0x0, 0x7E, 0x4, 0x72, 0x0, 0x77, 0x5, 0x38, 0x0, 0x7E, 0x4, 0x72, 0x0, 0x77, 0x5, 0x38, 0x0, 0x7E, 0x4, 0x72, 0x0, 0x77, 0x5, 0x38, 0x0, 0x7E, 0x4, 0x72, 0x0, 0x77, 0x4, 0x3D, 0x0, 0x5A, 0x5, 0x53, 0x0, 0x12, 0x4, 0x55, 0x0, 0x5B, 0x5, 0x53, 0x0, 0x12, 0x4, 0x55, 0x0, 0x5B, 0x7, 0x85, 0xFF, 0xF6, 0x6, 0xC1, 0x0, 0x48, 0x5, 0x73, 0x0, 0x6A, 0x4, 0x89, 0x0, 0x52, 0x5, 0xB, 0x0, 0x95, 0x4, 0x2D, 0x0, 0x7D, 0x5, 0x86, 0x0, 0x66, 0x4, 0x8E, 0x0, 0x50, 0x5, 0x86, 0x0, 0x66, 0x4, 0x8E, 0x0, 0x50, 0xA, 0xC, 0x0, 0x95, 0x9, 0x41, 0x0, 0x95, 0x8, 0x8C, 0x0, 0x50, 0x5, 0x73, 0x0, 0x6A, 0x4, 0x89, 0x0, 0x52, 0x5, 0xAF, 0x0, 0x95, 0x4, 0x73, 0x0, 0x7A, 0x5, 0x53, 0x0, 0x12, 0x4, 0x55, 0x0, 0xD, 0x5, 0x53, 0x0, 0x12, 0x4, 0x55, 0x0, 0x5B, 0x4, 0x86, 0x0, 0x49, 0x4, 0x4B, 0x0, 0x1, 0x4, 0x86, 0x0, 0x95, 0x4, 0x4B, 0x0, 0x54, 0x2, 0x42, 0xFE, 0xF7, 0x2, 0x1B, 0xFE, 0xE2, 0x2, 0x42, 0xFF, 0xDE, 0x2, 0x1B, 0xFF, 0xC9, 0x5, 0x86, 0x0, 0x66, 0x4, 0x8E, 0x0, 0x16, 0x5, 0x86, 0x0, 0x66, 0x4, 0x8E, 0x0, 0x50, 0x4, 0xFF, 0x0, 0x32, 0x2, 0xD0, 0xFF, 0x6F, 0x4, 0xFF, 0x0, 0x95, 0x2, 0xD0, 0x0, 0x56, 0x5, 0x38, 0x0, 0x71, 0x4, 0x72, 0x0, 0xF, 0x5, 0x38, 0x0, 0x7E, 0x4, 0x72, 0x0, 0x77, 0x5, 0xB0, 0x0, 0x95, 0x4, 0x71, 0x0, 0x7A, 0x5, 0x53, 0x0, 0x12, 0x4, 0x55, 0x0, 0x5B, 0x4, 0x86, 0x0, 0x95, 0x4, 0x4B, 0x0, 0x54, 0x5, 0x86, 0x0, 0x66, 0x4, 0x8E, 0x0, 0x50, 0x5, 0x86, 0x0, 0x66, 0x4, 0x8E, 0x0, 0x50, 0x5, 0x86, 0x0, 0x66, 0x4, 0x8E, 0x0, 0x50, 0x5, 0x86, 0x0, 0x66, 0x4, 0x8E, 0x0, 0x50, 0x4, 0xE0, 0x0, 0x8, 0x3, 0xE5, 0x0, 0xC, 0x4, 0x89, 0x0, 0x4F, 0x4, 0x90, 0x0, 0x8F, 0x4, 0x98, 0x0, 0x86, 0x4, 0x71, 0x0, 0x2D, 0x4, 0xDF, 0xFF, 0xF, 0x4, 0x7B, 0xFF, 0xE1, 0x4, 0x31, 0x0, 0x50, 0x2, 0x1, 0xFF, 0xB4, 0x5, 0x7B, 0x0, 0x5F, 0x4, 0xCB, 0x0, 0x95, 0x4, 0x97, 0x0, 0x83, 0x5, 0x39, 0x0, 0x66, 0x7, 0x1, 0x0, 0x95, 0x5, 0x86, 0x0, 0x60, 0x4, 0x8B, 0x0, 0x50, 0x7, 0xB, 0x0, 0x31, 0x5, 0xF2, 0x0, 0x22, 0x5, 0xD, 0x0, 0x95, 0x4, 0x81, 0x0, 0x7D, 0x5, 0xD, 0x0, 0x95, 0x4, 0x81, 0x0, 0x7D, 0x5, 0xD, 0x0, 0x95, 0x4, 0x81, 0x0, 0x7D, 0x5, 0x39, 0x0, 0x66, 0x4, 0x31, 0x0, 0x50, 0x5, 0x3A, 0x0, 0x95, 0x4, 0x85, 0x0, 0x50, 0x5, 0x3A, 0x0, 0x95, 0x4, 0x85, 0x0, 0x50, 0x5, 0x3A, 0x0, 0x95, 0x4, 0x85, 0x0, 0x50, 0x5, 0x3A, 0x0, 0x95, 0x4, 0x85, 0x0, 0x50, 0x5, 0x3A, 0x0, 0x95, 0x4, 0x85, 0x0, 0x50, 0x4, 0x86, 0x0, 0x95, 0x4, 0x4B, 0x0, 0x54, 0x4, 0x86, 0x0, 0x95, 0x4, 0x4B, 0x0, 0x54, 0x4, 0x86, 0x0, 0x95, 0x4, 0x4B, 0x0, 0x54, 0x4, 0x86, 0x0, 0x95, 0x4, 0x4B, 0x0, 0x54, 0x4, 0x86, 0x0, 0x95, 0x4, 0x4B, 0x0, 0x54, 0x4, 0x66, 0x0, 0x95, 0x2, 0xD6, 0x0, 0x2D, 0x5, 0x73, 0x0, 0x6A, 0x4, 0x89, 0x0, 0x52, 0x5, 0xB0, 0x0, 0x95, 0x4, 0x71, 0x0, 0x7A, 0x5, 0xB0, 0x0, 0x95, 0x4, 0x71, 0x0, 0x7A, 0x5, 0xB0, 0x0, 0x95, 0x4, 0x71, 0x0, 0x7A, 0x5, 0xB0, 0x0, 0x95, 0x4, 0x71, 0x0, 0x7A, 0x5, 0xB, 0x0, 0x95, 0x4, 0x2D, 0x0, 0x7D, 0x5, 0xB, 0x0, 0x95, 0x4, 0x2D, 0x0, 0x7D, 0x5, 0xB, 0x0, 0x95, 0x4, 0x2D, 0x0, 0x7D, 0x4, 0x55, 0x0, 0x95, 0x2, 0xC, 0x0, 0x79, 0x4, 0x55, 0xFF, 0xC1, 0x2, 0xC, 0xFF, 0xB3, 0x4, 0x55, 0x0, 0x95, 0x2, 0xC, 0xFF, 0xB0, 0x4, 0x55, 0x0, 0x95, 0x2, 0xC, 0xFF, 0xAF, 0x7, 0x1, 0x0, 0x95, 0x6, 0xF7, 0x0, 0x7D, 0x7, 0x1, 0x0, 0x95, 0x6, 0xF7, 0x0, 0x7D, 0x5, 0xAF, 0x0, 0x95, 0x4, 0x73, 0x0, 0x7A, 0x5, 0xAF, 0x0, 0x95, 0x4, 0x73, 0x0, 0x7A, 0x5, 0xAF, 0x0, 0x95, 0x4, 0x73, 0x0, 0x7A, 0x5, 0xAF, 0x0, 0x95, 0x4, 0x73, 0x0, 0x7A, 0x5, 0x86, 0x0, 0x66, 0x4, 0x8E, 0x0, 0x50, 0x5, 0x86, 0x0, 0x66, 0x4, 0x8E, 0x0, 0x50, 0x5, 0x86, 0x0, 0x66, 0x4, 0x8E, 0x0, 0x50, 0x5, 0x86, 0x0, 0x66, 0x4, 0x8E, 0x0, 0x50, 0x5, 0x1E, 0x0, 0x95, 0x4, 0x81, 0x0, 0x7D, 0x5, 0x1E, 0x0, 0x95, 0x4, 0x81, 0x0, 0x7D, 0x4, 0xFF, 0x0, 0x95, 0x2, 0xD0, 0x0, 0x7D, 0x4, 0xFF, 0x0, 0x95, 0x2, 0xD0, 0x0, 0x73, 0x4, 0xFF, 0x0, 0x95, 0x2, 0xD0, 0x0, 0x46, 0x4, 0xFF, 0x0, 0x95, 0x2, 0xD0, 0xFF, 0xAA, 0x4, 0xD5, 0x0, 0x4A, 0x4, 0x22, 0x0, 0x4C, 0x4, 0xD5, 0x0, 0x4A, 0x4, 0x22, 0x0, 0x4C, 0x4, 0xD5, 0x0, 0x4A, 0x4, 0x22, 0x0, 0x4C, 0x4, 0xD5, 0x0, 0x4A, 0x4, 0x22, 0x0, 0x4C, 0x4, 0xD5, 0x0, 0x4A, 0x4, 0x22, 0x0, 0x4C, 0x4, 0xDC, 0x0, 0x2D, 0x2, 0xAA, 0x0, 0x8, 0x4, 0xDC, 0x0, 0x2D, 0x2, 0xAA, 0x0, 0x8, 0x4, 0xDC, 0x0, 0x2D, 0x2, 0xAA, 0x0, 0x8, 0x4, 0xDC, 0x0, 0x2D, 0x2, 0xAA, 0x0, 0x8, 0x5, 0x38, 0x0, 0x7E, 0x4, 0x72, 0x0, 0x77, 0x5, 0x38, 0x0, 0x7E, 0x4, 0x72, 0x0, 0x77, 0x5, 0x38, 0x0, 0x7E, 0x4, 0x72, 0x0, 0x77, 0x5, 0x38, 0x0, 0x7E, 0x4, 0x72, 0x0, 0x77, 0x5, 0x38, 0x0, 0x7E, 0x4, 0x72, 0x0, 0x77, 0x5, 0x2E, 0x0, 0x12, 0x3, 0xF6, 0x0, 0x17, 0x5, 0x2E, 0x0, 0x12, 0x3, 0xF6, 0x0, 0x17, 0x7, 0xB, 0x0, 0x31, 0x5, 0xF2, 0x0, 0x22, 0x7, 0xB, 0x0, 0x31, 0x5, 0xF2, 0x0, 0x22, 0x5, 0x10, 0x0, 0x29, 0x4, 0x7, 0x0, 0x1F, 0x5, 0x10, 0x0, 0x29, 0x4, 0x7, 0x0, 0x1F, 0x4, 0xE0, 0x0, 0x8, 0x3, 0xE5, 0x0, 0xC, 0x4, 0xD2, 0x0, 0x50, 0x4, 0x7, 0x0, 0x52, 0x4, 0xD2, 0x0, 0x50, 0x4, 0x7, 0x0, 0x52, 0x4, 0xD2, 0x0, 0x50, 0x4, 0x7, 0x0, 0x52, 0x4, 0x71, 0x0, 0x7A, 0x2, 0xAA, 0xFF, 0xE5, 0x5, 0xF2, 0x0, 0x22, 0x3, 0xE5, 0x0, 0xC, 0x4, 0x55, 0x0, 0x5B, 0x4, 0x85, 0x0, 0x56, 0x4, 0x85, 0x0, 0x56, 0x4, 0x85, 0x0, 0x56, 0x4, 0x85, 0x0, 0x56, 0x4, 0x85, 0x0, 0x56, 0x4, 0x85, 0x0, 0x56, 0x4, 0x85, 0x0, 0x56, 0x4, 0x85, 0x0, 0x56, 0x5, 0x53, 0x0, 0x12, 0x5, 0x53, 0x0, 0x12, 0x5, 0x53, 0xFE, 0xAF, 0x5, 0x53, 0xFE, 0xE5, 0x5, 0x53, 0xFF, 0xA, 0x5, 0x53, 0xFE, 0xF9, 0x5, 0x53, 0xFF, 0x67, 0x5, 0x53, 0xFF, 0x54, 0x4, 0x61, 0x0, 0x61, 0x4, 0x61, 0x0, 0x61, 0x4, 0x61, 0x0, 0x61, 0x4, 0x61, 0x0, 0x61, 0x4, 0x61, 0x0, 0x61, 0x4, 0x61, 0x0, 0x61, 0x4, 0x86, 0xFE, 0x96, 0x4, 0x86, 0xFE, 0x9D, 0x4, 0x86, 0xFD, 0x11, 0x4, 0x86, 0xFD, 0x47, 0x4, 0x86, 0xFD, 0x6C, 0x4, 0x86, 0xFD, 0x5B, 0x4, 0x89, 0x0, 0x7F, 0x4, 0x89, 0x0, 0x7F, 0x4, 0x89, 0x0, 0x7F, 0x4, 0x89, 0x0, 0x7F, 0x4, 0x89, 0x0, 0x7F, 0x4, 0x89, 0x0, 0x7F, 0x4, 0x89, 0x0, 0x7F, 0x4, 0x89, 0x0, 0x7F, 0x5, 0xB0, 0xFE, 0x9F, 0x5, 0xB0, 0xFE, 0xA6, 0x5, 0xB0, 0xFD, 0x1A, 0x5, 0xB0, 0xFD, 0x50, 0x5, 0xB0, 0xFD, 0x75, 0x5, 0xB0, 0xFD, 0x64, 0x5, 0xB0, 0xFD, 0xD2, 0x5, 0xB0, 0xFD, 0xBF, 0x2, 0xAA, 0x0, 0xAA, 0x2, 0xAA, 0x0, 0xA2, 0x2, 0xAA, 0xFF, 0xF5, 0x2, 0xAA, 0xFF, 0xE9, 0x2, 0xAA, 0x0, 0x49, 0x2, 0xAA, 0x0, 0x20, 0x2, 0xAA, 0x0, 0x2D, 0x2, 0xAA, 0x0, 0x6, 0x2, 0x42, 0xFE, 0xA1, 0x2, 0x42, 0xFE, 0xA8, 0x2, 0x42, 0xFD, 0x1C, 0x2, 0x42, 0xFD, 0x52, 0x2, 0x42, 0xFD, 0x77, 0x2, 0x42, 0xFD, 0x66, 0x2, 0x42, 0xFD, 0xD4, 0x2, 0x42, 0xFD, 0xC1, 0x4, 0x8E, 0x0, 0x50, 0x4, 0x8E, 0x0, 0x50, 0x4, 0x8E, 0x0, 0x50, 0x4, 0x8E, 0x0, 0x50, 0x4, 0x8E, 0x0, 0x50, 0x4, 0x8E, 0x0, 0x50, 0x5, 0x9A, 0xFF, 0x6B, 0x5, 0x9A, 0xFF, 0x72, 0x5, 0xCC, 0xFE, 0x18, 0x5, 0xCC, 0xFE, 0x4E, 0x5, 0xCC, 0xFE, 0x73, 0x5, 0xCC, 0xFE, 0x62, 0x4, 0x61, 0x0, 0x80, 0x4, 0x61, 0x0, 0x80, 0x4, 0x61, 0x0, 0x80, 0x4, 0x61, 0x0, 0x80, 0x4, 0x61, 0x0, 0x80, 0x4, 0x61, 0x0, 0x80, 0x4, 0x61, 0x0, 0x80, 0x4, 0x61, 0x0, 0x80, 0x4, 0xE0, 0xFE, 0x97, 0x4, 0xE0, 0xFD, 0x41, 0x4, 0xE0, 0xFD, 0x55, 0x4, 0xE0, 0xFD, 0xB0, 0x6, 0x95, 0x0, 0x66, 0x6, 0x95, 0x0, 0x66, 0x6, 0x95, 0x0, 0x66, 0x6, 0x95, 0x0, 0x66, 0x6, 0x95, 0x0, 0x66, 0x6, 0x95, 0x0, 0x66, 0x6, 0x95, 0x0, 0x66, 0x6, 0x95, 0x0, 0x66, 0x5, 0x70, 0xFF, 0x75, 0x5, 0x70, 0xFF, 0x7C, 0x5, 0xA2, 0xFE, 0x22, 0x5, 0xA2, 0xFE, 0x58, 0x5, 0xA2, 0xFE, 0x7D, 0x5, 0xA2, 0xFE, 0x6C, 0x5, 0xA2, 0xFE, 0xDA, 0x5, 0xA2, 0xFE, 0xC7, 0x4, 0x85, 0x0, 0x56, 0x4, 0x85, 0x0, 0x56, 0x4, 0x61, 0x0, 0x61, 0x4, 0x61, 0x0, 0x61, 0x4, 0x89, 0x0, 0x7F, 0x4, 0x89, 0x0, 0x7F, 0x2, 0xAA, 0x0, 0x3A, 0x2, 0xAA, 0x0, 0xAA, 0x4, 0x8E, 0x0, 0x50, 0x4, 0x8E, 0x0, 0x50, 0x4, 0x61, 0x0, 0x80, 0x4, 0x61, 0x0, 0x80, 0x6, 0x95, 0x0, 0x66, 0x6, 0x95, 0x0, 0x66, 0x4, 0x85, 0x0, 0x56, 0x4, 0x85, 0x0, 0x56, 0x4, 0x85, 0x0, 0x56, 0x4, 0x85, 0x0, 0x56, 0x4, 0x85, 0x0, 0x56, 0x4, 0x85, 0x0, 0x56, 0x4, 0x85, 0x0, 0x56, 0x4, 0x85, 0x0, 0x56, 0x5, 0x53, 0x0, 0x12, 0x5, 0x53, 0x0, 0x12, 0x5, 0x53, 0xFE, 0xAF, 0x5, 0x53, 0xFE, 0xE5, 0x5, 0x53, 0xFF, 0xA, 0x5, 0x53, 0xFE, 0xF9, 0x5, 0x53, 0xFF, 0x67, 0x5, 0x53, 0xFF, 0x54, 0x4, 0x89, 0x0, 0x7F, 0x4, 0x89, 0x0, 0x7F, 0x4, 0x89, 0x0, 0x7F, 0x4, 0x89, 0x0, 0x7F, 0x4, 0x89, 0x0, 0x7F, 0x4, 0x89, 0x0, 0x7F, 0x4, 0x89, 0x0, 0x7F, 0x4, 0x89, 0x0, 0x7F, 0x5, 0xB0, 0xFE, 0x9F, 0x5, 0xB0, 0xFE, 0xA6, 0x5, 0xB0, 0xFD, 0x1A, 0x5, 0xB0, 0xFD, 0x50, 0x5, 0xB0, 0xFD, 0x75, 0x5, 0xB0, 0xFD, 0x64, 0x5, 0xB0, 0xFD, 0xD2, 0x5, 0xB0, 0xFD, 0xBF, 0x6, 0x95, 0x0, 0x66, 0x6, 0x95, 0x0, 0x66, 0x6, 0x95, 0x0, 0x66, 0x6, 0x95, 0x0, 0x66, 0x6, 0x95, 0x0, 0x66, 0x6, 0x95, 0x0, 0x66, 0x6, 0x95, 0x0, 0x66, 0x6, 0x95, 0x0, 0x66, 0x5, 0x70, 0xFF, 0x75, 0x5, 0x70, 0xFF, 0x7C, 0x5, 0xA2, 0xFE, 0x22, 0x5, 0xA2, 0xFE, 0x58, 0x5, 0xA2, 0xFE, 0x7D, 0x5, 0xA2, 0xFE, 0x6C, 0x5, 0xA2, 0xFE, 0xDA, 0x5, 0xA2, 0xFE, 0xC7, 0x4, 0x85, 0x0, 0x56, 0x4, 0x85, 0x0, 0x56, 0x4, 0x85, 0x0, 0x56, 0x4, 0x85, 0x0, 0x56, 0x4, 0x85, 0x0, 0x56, 0x4, 0x85, 0x0, 0x56, 0x4, 0x85, 0x0, 0x56, 0x5, 0x53, 0x0, 0x12, 0x5, 0x53, 0x0, 0x12, 0x5, 0x53, 0xFF, 0xD7, 0x5, 0x53, 0x0, 0x12, 0x5, 0x53, 0x0, 0x12, 0x4, 0x89, 0x0, 0x7F, 0x4, 0x89, 0x0, 0x7F, 0x4, 0x89, 0x0, 0x7F, 0x4, 0x89, 0x0, 0x7F, 0x4, 0x89, 0x0, 0x7F, 0x4, 0x86, 0xFE, 0x39, 0x4, 0x86, 0xFE, 0x82, 0x5, 0xB0, 0xFE, 0x42, 0x5, 0xB0, 0xFE, 0x8B, 0x5, 0xB0, 0x0, 0x95, 0x2, 0xAA, 0xFF, 0xEC, 0x2, 0xAA, 0xFF, 0xDB, 0x2, 0xAA, 0xFF, 0xC2, 0x2, 0xAA, 0xFF, 0xD0, 0x2, 0xAA, 0xFF, 0xED, 0x2, 0xAA, 0xFF, 0xC6, 0x2, 0x42, 0xFF, 0xDF, 0x2, 0x42, 0xFF, 0xCE, 0x2, 0x42, 0x0, 0x2D, 0x2, 0x42, 0x0, 0xA4, 0x4, 0x61, 0x0, 0x80, 0x4, 0x61, 0x0, 0x80, 0x4, 0x61, 0x0, 0x80, 0x4, 0x61, 0x0, 0x80, 0x4, 0x89, 0x0, 0x81, 0x4, 0x89, 0x0, 0x81, 0x4, 0x61, 0x0, 0x80, 0x4, 0x61, 0x0, 0x80, 0x4, 0xE0, 0x0, 0x8, 0x4, 0xE0, 0x0, 0x8, 0x4, 0xE0, 0xFE, 0x33, 0x4, 0xE0, 0xFE, 0x7C, 0x5, 0x1E, 0xFE, 0xD8, 0x6, 0x95, 0x0, 0x66, 0x6, 0x95, 0x0, 0x66, 0x6, 0x95, 0x0, 0x66, 0x6, 0x95, 0x0, 0x66, 0x6, 0x95, 0x0, 0x66, 0x5, 0x9A, 0xFF, 0xE, 0x5, 0x9A, 0xFF, 0x57, 0x5, 0x70, 0xFF, 0x18, 0x5, 0x70, 0xFF, 0x61, 0x5, 0x5C, 0x0, 0x6B, 0x1, 0xFE, 0x0, 0x0, 0x7, 0xCA, 0x0, 0x3C, 0x6, 0xA, 0x0, 0x3C, 0x6, 0xA, 0x0, 0x90, 0x1, 0xFE, 0x0, 0x0, 0x2, 0xCC, 0x0, 0x88, 0x4, 0x9E, 0x0, 0x9, 0x4, 0x1D, 0xFF, 0x66, 0x5, 0x1A, 0xFF, 0x73, 0x2, 0x39, 0xFF, 0x75, 0x4, 0xCA, 0xFF, 0x9E, 0x4, 0x79, 0xFF, 0x24, 0x4, 0xEE, 0xFF, 0xAE, 0x4, 0x9E, 0x0, 0x9, 0x4, 0x61, 0x0, 0x76, 0x3, 0xE1, 0x0, 0x76, 0x4, 0x2A, 0x0, 0x41, 0x4, 0xDE, 0x0, 0x76, 0x1, 0xFD, 0x0, 0x85, 0x4, 0x5C, 0x0, 0x76, 0x6, 0x6, 0x0, 0x76, 0x4, 0xDD, 0x0, 0x76, 0x4, 0xC0, 0x0, 0x50, 0x4, 0x6D, 0x0, 0x76, 0x4, 0x3C, 0x0, 0x25, 0x4, 0x3D, 0x0, 0x5, 0x4, 0x5F, 0x0, 0x16, 0x1, 0xFD, 0xFF, 0x9E, 0x4, 0x3D, 0x0, 0x5, 0x3, 0xE1, 0x0, 0x76, 0x3, 0xBA, 0x0, 0x76, 0x4, 0x35, 0x0, 0x3F, 0x1, 0xFD, 0x0, 0x85, 0x1, 0xFD, 0xFF, 0x9E, 0x3, 0xD6, 0x0, 0x25, 0x4, 0x5C, 0x0, 0x76, 0x4, 0x47, 0x0, 0x20, 0x4, 0x9E, 0x0, 0x9, 0x4, 0x61, 0x0, 0x76, 0x3, 0xBA, 0x0, 0x76, 0x3, 0xE1, 0x0, 0x76, 0x4, 0xE4, 0x0, 0x76, 0x6, 0x6, 0x0, 0x76, 0x4, 0xDE, 0x0, 0x76, 0x4, 0xC0, 0x0, 0x50, 0x4, 0xD8, 0x0, 0x76, 0x4, 0x6D, 0x0, 0x76, 0x4, 0x80, 0x0, 0x50, 0x4, 0x3C, 0x0, 0x25, 0x4, 0x5F, 0x0, 0x16, 0x4, 0x46, 0x0, 0x43, 0x4, 0xDE, 0x0, 0x76, 0x4, 0x80, 0x0, 0x50, 0x4, 0x3D, 0x0, 0x5, 0x5, 0xFE, 0x0, 0xB, 0x4, 0xE4, 0x0, 0x76, 0x4, 0x47, 0x0, 0x20, 0x5, 0x9E, 0x0, 0x51, 0x3, 0xD6, 0x0, 0x25, 0x5, 0xD3, 0x0, 0x85, 0x6, 0x47, 0xFF, 0xF0, 0x4, 0xC0, 0x0, 0x50, 0x4, 0x35, 0x0, 0x3F, 0x6, 0x8, 0x0, 0x29, 0x6, 0x8, 0x0, 0x29, 0x6, 0x8, 0x0, 0x29, 0x4, 0x3D, 0x0, 0x5, 0x5, 0x53, 0x0, 0x12, 0x4, 0x55, 0x0, 0x5B, 0x4, 0x86, 0x0, 0x95, 0x4, 0x4B, 0x0, 0x54, 0x5, 0x86, 0x0, 0x66, 0x4, 0x8E, 0x0, 0x50, 0x4, 0x9E, 0x0, 0x9, 0x3, 0xE1, 0x0, 0x76, 0x4, 0xC0, 0x0, 0x50, 0x5, 0x75, 0x0, 0x66, 0x5, 0x75, 0x0, 0x66, 0x5, 0x75, 0x0, 0x66, 0x5, 0x75, 0x0, 0x66, 0x5, 0x75, 0x0, 0x66, 0x5, 0x75, 0x0, 0x66, 0x5, 0x75, 0x0, 0x66, 0x5, 0x75, 0x0, 0x66, 0x5, 0x75, 0x0, 0x66, 0x5, 0x75, 0x0, 0x66, 0x5, 0x98, 0x0, 0x64, 0x5, 0x98, 0x0, 0x64, 0x5, 0x98, 0x0, 0x64, 0x5, 0x98, 0x0, 0x64, 0x5, 0x98, 0x0, 0x64, 0x5, 0x98, 0x0, 0x64, 0x5, 0x98, 0x0, 0x64, 0x5, 0x98, 0x0, 0x64, 0x5, 0x98, 0x0, 0x64, 0x5, 0xB0, 0x0, 0x95, 0x5, 0xB0, 0x0, 0x95, 0x5, 0xB0, 0x0, 0x95, 0x5, 0xB0, 0x0, 0x95, 0x5, 0xB0, 0x0, 0x95, 0x5, 0xB0, 0x0, 0x95, 0x5, 0xB0, 0x0, 0x95, 0x5, 0xB0, 0x0, 0x95, 0x5, 0xB0, 0x0, 0x95, 0x5, 0xB0, 0x0, 0x95, 0x5, 0xB0, 0x0, 0x95, 0x5, 0xB0, 0x0, 0x95, 0x5, 0xB0, 0x0, 0x95, 0x2, 0x1B, 0xFF, 0x91, 0x0, 0x79, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4, 0x0, 0x0, 0x0, 0x3, 0x0, 0x0, 0x0, 0x24, 0x0, 0x0, 0x0, 0x4, 0x0, 0x0, 0x9, 0x2C, 0x0, 0x3, 0x0, 0x1, 0x0, 0x0, 0x0, 0x24, 0x0, 0x3, 0x0, 0xA, 0x0, 0x0, 0x9, 0x2C, 0x0, 0x4, 0x9, 0x8, 0x0, 0x0, 0x1, 0x4C, 0x1, 0x0, 0x0, 0x7, 0x0, 0x4C, 0x0, 0x0, 0x0, 0x2, 0x0, 0x9, 0x0, 0xD, 0x0, 0x7E, 0x0, 0xA0, 0x0, 0xAC, 0x0, 0xAD, 0x0, 0xBF, 0x0, 0xC6, 0x0, 0xCF, 0x0, 0xE6, 0x0, 0xEF, 0x0, 0xFE, 0x1, 0xF, 0x1, 0x11, 0x1, 0x25, 0x1, 0x27, 0x1, 0x30, 0x1, 0x53, 0x1, 0x5F, 0x1, 0x67, 0x1, 0x7E, 0x1, 0x95, 0x1, 0x9F, 0x1, 0xC6, 0x1, 0xE3, 0x1, 0xFF, 0x2, 0x17, 0x2, 0x25, 0x2, 0x33, 0x2, 0x74, 0x2, 0x75, 0x2, 0x98, 0x2, 0x9C, 0x2, 0xBB, 0x2, 0xBC, 0x3, 0x77, 0x3, 0x7F, 0x3, 0x8A, 0x3, 0x8C, 0x3, 0x92, 0x3, 0xA1, 0x3, 0xB0, 0x3, 0xB9, 0x3, 0xD4, 0x3, 0xE1, 0x4, 0x25, 0x4, 0x2F, 0x4, 0x45, 0x4, 0x4F, 0x4, 0x62, 0x4, 0x6F, 0x4, 0x79, 0x4, 0x8B, 0x4, 0x9F, 0x4, 0xA9, 0x4, 0xB1, 0x4, 0xBA, 0x4, 0xCE, 0x4, 0xD7, 0x4, 0xE9, 0x4, 0xF5, 0x5, 0x1, 0x5, 0x10, 0x5, 0x1D, 0x5, 0x2F, 0x1A, 0xBE, 0x1D, 0xF5, 0x1E, 0x1, 0x1E, 0x27, 0x1E, 0x2F, 0x1E, 0x3D, 0x1E, 0x3F, 0x1E, 0x7F, 0x1E, 0x85, 0x1E, 0x9A, 0x1E, 0x9F, 0x1E, 0xF1, 0x1E, 0xFF, 0x1F, 0x15, 0x1F, 0x1D, 0x1F, 0x45, 0x1F, 0x4D, 0x1F, 0x57, 0x1F, 0x59, 0x1F, 0x5B, 0x1F, 0x5D, 0x1F, 0x7D, 0x1F, 0xB4, 0x1F, 0xBC, 0x1F, 0xC4, 0x1F, 0xCC, 0x1F, 0xD3, 0x1F, 0xDB, 0x1F, 0xDF, 0x1F, 0xEC, 0x1F, 0xEF, 0x1F, 0xF4, 0x1F, 0xFC, 0x1F, 0xFE, 0x20, 0x9, 0x20, 0x14, 0x20, 0x15, 0x20, 0x27, 0x20, 0x3C, 0x20, 0x46, 0x20, 0x49, 0x20, 0x5E, 0x20, 0x5F, 0x20, 0x71, 0x20, 0x8E, 0x20, 0x9C, 0x20, 0xAB, 0x20, 0xBE, 0x20, 0xDC, 0x20, 0xE8, 0x20, 0xF0, 0x21, 0x1, 0x21, 0x3, 0x21, 0x6, 0x21, 0x9, 0x21, 0x13, 0x21, 0x17, 0x21, 0x23, 0x21, 0x26, 0x21, 0x2B, 0x21, 0x2E, 0x21, 0x32, 0x21, 0x3B, 0x21, 0x4D, 0x21, 0x89, 0x22, 0x2, 0x22, 0x6, 0x22, 0xF, 0x22, 0x12, 0x22, 0x1A, 0x22, 0x1E, 0x22, 0x2B, 0x22, 0x48, 0x22, 0x60, 0x22, 0x65, 0x24, 0x23, 0x25, 0xCA, 0x27, 0xEF, 0x2B, 0x4F, 0x2B, 0x5F, 0x2C, 0x7F, 0x2E, 0x42, 0xA6, 0x9D, 0xA6, 0x9F, 0xA7, 0x8E, 0xA7, 0x8F, 0xA7, 0xAD, 0xA7, 0xB1, 0xA7, 0xFF, 0xA9, 0x2E, 0xAB, 0x5F, 0xAB, 0x65, 0xEE, 0x2, 0xF6, 0xC3, 0xFB, 0x6, 0xFE, 0x2D, 0xFE, 0xFF, 0xFF, 0xFD, 0xFF, 0xFF, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x9, 0x0, 0xD, 0x0, 0x20, 0x0, 0xA0, 0x0, 0xA1, 0x0, 0xAD, 0x0, 0xAE, 0x0, 0xC0, 0x0, 0xC7, 0x0, 0xD0, 0x0, 0xE7, 0x0, 0xF0, 0x0, 0xFF, 0x1, 0x10, 0x1, 0x12, 0x1, 0x26, 0x1, 0x28, 0x1, 0x31, 0x1, 0x54, 0x1, 0x60, 0x1, 0x68, 0x1, 0x7F, 0x1, 0x96, 0x1, 0xA0, 0x1, 0xC7, 0x1, 0xE4, 0x2, 0x0, 0x2, 0x18, 0x2, 0x26, 0x2, 0x34, 0x2, 0x75, 0x2, 0x76, 0x2, 0x99, 0x2, 0x9D, 0x2, 0xBC, 0x2, 0xBD, 0x3, 0x7A, 0x3, 0x84, 0x3, 0x8C, 0x3, 0x8E, 0x3, 0x93, 0x3, 0xA3, 0x3, 0xB1, 0x3, 0xBA, 0x3, 0xD5, 0x3, 0xF0, 0x4, 0x26, 0x4, 0x30, 0x4, 0x46, 0x4, 0x50, 0x4, 0x63, 0x4, 0x70, 0x4, 0x7A, 0x4, 0x8C, 0x4, 0xA0, 0x4, 0xAA, 0x4, 0xB2, 0x4, 0xBB, 0x4, 0xCF, 0x4, 0xD8, 0x4, 0xEA, 0x4, 0xF6, 0x5, 0x2, 0x5, 0x11, 0x5, 0x1E, 0x1A, 0xB0, 0x1D, 0x0, 0x1D, 0xFC, 0x1E, 0x2, 0x1E, 0x28, 0x1E, 0x30, 0x1E, 0x3E, 0x1E, 0x40, 0x1E, 0x80, 0x1E, 0x86, 0x1E, 0x9B, 0x1E, 0xA0, 0x1E, 0xF2, 0x1F, 0x0, 0x1F, 0x18, 0x1F, 0x20, 0x1F, 0x48, 0x1F, 0x50, 0x1F, 0x59, 0x1F, 0x5B, 0x1F, 0x5D, 0x1F, 0x5F, 0x1F, 0x80, 0x1F, 0xB6, 0x1F, 0xBD, 0x1F, 0xC6, 0x1F, 0xCD, 0x1F, 0xD6, 0x1F, 0xDD, 0x1F, 0xE0, 0x1F, 0xED, 0x1F, 0xF2, 0x1F, 0xF6, 0x1F, 0xFD, 0x20, 0x0, 0x20, 0xA, 0x20, 0x15, 0x20, 0x16, 0x20, 0x2F, 0x20, 0x3D, 0x20, 0x47, 0x20, 0x4A, 0x20, 0x5F, 0x20, 0x70, 0x20, 0x74, 0x20, 0x90, 0x20, 0xA0, 0x20, 0xAC, 0x20, 0xDB, 0x20, 0xE8, 0x20, 0xF0, 0x21, 0x0, 0x21, 0x3, 0x21, 0x5, 0x21, 0x9, 0x21, 0x13, 0x21, 0x16, 0x21, 0x1E, 0x21, 0x25, 0x21, 0x2A, 0x21, 0x2E, 0x21, 0x32, 0x21, 0x3B, 0x21, 0x4D, 0x21, 0x4F, 0x22, 0x2, 0x22, 0x6, 0x22, 0xF, 0x22, 0x11, 0x22, 0x1A, 0x22, 0x1E, 0x22, 0x2B, 0x22, 0x48, 0x22, 0x60, 0x22, 0x64, 0x24, 0x23, 0x25, 0xCA, 0x27, 0xE6, 0x2B, 0x4E, 0x2B, 0x5A, 0x2C, 0x60, 0x2D, 0xE0, 0xA6, 0x40, 0xA6, 0x9F, 0xA7, 0x0, 0xA7, 0x8F, 0xA7, 0x90, 0xA7, 0xB0, 0xA7, 0xF7, 0xA9, 0x2E, 0xAB, 0x30, 0xAB, 0x64, 0xEE, 0x1, 0xF6, 0xC3, 0xFB, 0x0, 0xFE, 0x20, 0xFE, 0xFF, 0xFF, 0xFC, 0xFF, 0xFF, 0x0, 0x1, 0x0, 0x0, 0xFF, 0xFA, 0xFF, 0xF7, 0xFF, 0xE5, 0x8, 0x26, 0xFF, 0xC3, 0x8, 0x1A, 0xFF, 0xC2, 0x0, 0x0, 0x8, 0xD, 0x0, 0x0, 0x8, 0x8, 0x0, 0x0, 0x8, 0x4, 0x0, 0x0, 0x8, 0x2, 0x0, 0x0, 0x8, 0x0, 0x0, 0x0, 0x7, 0xF8, 0x0, 0x0, 0x7, 0xFA, 0xFF, 0x17, 0x0, 0x0, 0xFF, 0x14, 0x9, 0x21, 0x0, 0x0, 0x9, 0x14, 0x0, 0x0, 0x9, 0x8, 0xFE, 0xB5, 0x8, 0xC7, 0xFE, 0xB4, 0x0, 0x0, 0xFE, 0xB2, 0x7, 0x72, 0xFE, 0xB1, 0x0, 0x0, 0x0, 0x0, 0x6, 0x4D, 0x6, 0x4C, 0x0, 0x0, 0x0, 0x0, 0xFE, 0x89, 0x0, 0x0, 0xFE, 0x7D, 0x0, 0x0, 0xFE, 0x50, 0x0, 0x0, 0xFE, 0x48, 0x0, 0x0, 0xFE, 0x3D, 0x0, 0x0, 0xFE, 0x37, 0x0, 0x0, 0xFE, 0x30, 0x0, 0x0, 0xFE, 0x28, 0x0, 0x0, 0x5, 0x77, 0x0, 0x0, 0x5, 0x75, 0x0, 0x0, 0xFD, 0xF5, 0x0, 0x0, 0xFD, 0xF0, 0xE8, 0x70, 0xE6, 0x2F, 0x0, 0x0, 0xED, 0x4B, 0x0, 0x0, 0xED, 0x45, 0xEB, 0xF1, 0xED, 0x43, 0xEB, 0xA2, 0xED, 0x3D, 0xE5, 0x94, 0xEB, 0xCE, 0x0, 0x0, 0xEC, 0xD8, 0xEC, 0xD6, 0xEC, 0xD4, 0xEC, 0xD2, 0xEC, 0xD0, 0xEC, 0xCF, 0xEC, 0xCE, 0xEC, 0xCD, 0xEC, 0xCC, 0xEC, 0xCA, 0xEC, 0xC9, 0x0, 0x0, 0xEC, 0xC3, 0x0, 0x0, 0xEC, 0xBE, 0xE4, 0x65, 0xEC, 0xBA, 0xE4, 0x58, 0xEC, 0xB5, 0xEC, 0xB4, 0xE4, 0x4B, 0xE4, 0x4A, 0xE4, 0x4B, 0xEA, 0xC7, 0xE4, 0x4A, 0x0, 0x0, 0xE4, 0x3F, 0xEC, 0x6B, 0xE4, 0x3C, 0xEC, 0x56, 0xE4, 0x2B, 0xE4, 0x29, 0xE4, 0x28, 0x0, 0x0, 0xE4, 0x23, 0xE4, 0x7, 0xE3, 0xFC, 0xE3, 0xF5, 0xE3, 0xE6, 0xE3, 0xE5, 0xE3, 0xE4, 0xE3, 0xE2, 0xE3, 0xD9, 0xE3, 0xD7, 0xE3, 0xD1, 0x0, 0x0, 0xE3, 0xCC, 0xE3, 0xCA, 0xE3, 0xC7, 0xE3, 0xBF, 0xE3, 0xAE, 0xE3, 0xAD, 0xE3, 0x35, 0xE0, 0x2B, 0xE3, 0x29, 0xE3, 0x28, 0xE3, 0x21, 0xE3, 0x1E, 0xE3, 0x12, 0xE2, 0xF6, 0xE2, 0xDF, 0xE2, 0xDC, 0xE1, 0x1F, 0xDF, 0x79, 0xDD, 0x5E, 0xDA, 0x0, 0xD9, 0xF6, 0xD8, 0xF6, 0xD7, 0x96, 0x5F, 0x99, 0x5F, 0x98, 0x5F, 0x38, 0x65, 0x27, 0x5F, 0x37, 0x5F, 0x35, 0x5E, 0xF0, 0x5D, 0xC2, 0x5B, 0xC1, 0x5B, 0xBD, 0x19, 0x22, 0x10, 0x62, 0xC, 0x26, 0x9, 0xD, 0x8, 0x3C, 0x7, 0x40, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x3A, 0x0, 0x0, 0x1, 0x44, 0x0, 0x0, 0x1, 0x6E, 0x0, 0x0, 0x1, 0x88, 0x0, 0x0, 0x1, 0x88, 0x0, 0x0, 0x1, 0x88, 0x0, 0x0, 0x1, 0xCA, 0x0, 0x0, 0x0, 0x0, 0x1, 0xD4, 0x0, 0x0, 0x0, 0x0, 0x1, 0xE2, 0x0, 0x0, 0x2, 0x16, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0x28, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0x28, 0x2, 0x32, 0x0, 0x0, 0x0, 0x0, 0x2, 0x3A, 0x2, 0x56, 0x0, 0x0, 0x2, 0x6E, 0x0, 0x0, 0x2, 0xA0, 0x0, 0x0, 0x3, 0x8, 0x0, 0x0, 0x3, 0x30, 0x0, 0x0, 0x3, 0x52, 0x0, 0x0, 0x3, 0x62, 0x0, 0x0, 0x3, 0x86, 0x0, 0x0, 0x3, 0x92, 0x0, 0x0, 0x3, 0xB6, 0x0, 0x0, 0x3, 0xD6, 0x0, 0x0, 0x3, 0xEA, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0xFC, 0x0, 0x0, 0x4, 0x4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4, 0x4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4, 0x8, 0x0, 0x0, 0x4, 0x14, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4, 0xA, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4, 0x16, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4, 0x16, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8, 0xCD, 0x8, 0xCE, 0x8, 0xCF, 0x8, 0xD0, 0x8, 0xD1, 0x8, 0xD2, 0x0, 0x82, 0x8, 0xC9, 0x8, 0xDD, 0x8, 0xDE, 0x8, 0xDF, 0x8, 0xE0, 0x8, 0xE1, 0x8, 0xE2, 0x0, 0x83, 0x0, 0x84, 0x8, 0xE3, 0x8, 0xE4, 0x8, 0xE5, 0x8, 0xE6, 0x8, 0xE7, 0x0, 0x85, 0x0, 0x86, 0x8, 0xE8, 0x8, 0xE9, 0x8, 0xEA, 0x8, 0xEB, 0x8, 0xEC, 0x8, 0xED, 0x0, 0x87, 0x0, 0x88, 0x8, 0xF8, 0x8, 0xF9, 0x8, 0xFA, 0x8, 0xFB, 0x8, 0xFC, 0x8, 0xFD, 0x0, 0x89, 0x0, 0x8A, 0x8, 0xFE, 0x8, 0xFF, 0x9, 0x0, 0x9, 0x1, 0x9, 0x2, 0x0, 0x8B, 0x8, 0xC8, 0x0, 0x8C, 0x0, 0x8D, 0x8, 0xCA, 0x0, 0x8E, 0x9, 0x31, 0x9, 0x32, 0x9, 0x33, 0x9, 0x34, 0x9, 0x35, 0x9, 0x36, 0x0, 0x8F, 0x9, 0x37, 0x9, 0x38, 0x9, 0x39, 0x9, 0x3A, 0x9, 0x3B, 0x9, 0x3C, 0x9, 0x3D, 0x9, 0x3E, 0x0, 0x90, 0x0, 0x91, 0x9, 0x3F, 0x9, 0x40, 0x9, 0x41, 0x9, 0x42, 0x9, 0x43, 0x9, 0x44, 0x9, 0x45, 0x0, 0x92, 0x0, 0x93, 0x9, 0x46, 0x9, 0x47, 0x9, 0x48, 0x9, 0x49, 0x9, 0x4A, 0x9, 0x4B, 0x0, 0x94, 0x0, 0x95, 0x9, 0x5A, 0x9, 0x5B, 0x9, 0x5E, 0x9, 0x5F, 0x9, 0x60, 0x9, 0x61, 0x8, 0xCB, 0x8, 0xCC, 0xA, 0xE6, 0x0, 0xAD, 0x0, 0xAE, 0x0, 0xAF, 0x0, 0xB0, 0x0, 0xB1, 0x0, 0xB2, 0x0, 0xB3, 0xA, 0xE7, 0xA, 0x5E, 0x0, 0xDB, 0x0, 0xDC, 0xB, 0x5, 0xB, 0x6, 0xB, 0x7, 0xB, 0x8, 0xB, 0x9, 0xB, 0xA, 0xB, 0xB, 0xB, 0xC, 0x0, 0xDD, 0x0, 0xDE, 0xA, 0x2D, 0xB, 0xD, 0xB, 0xE, 0xB, 0xF, 0xB, 0x10, 0xB, 0x11, 0x0, 0xDF, 0x0, 0xE0, 0xB, 0x12, 0xB, 0x13, 0x8, 0xD3, 0x8, 0xEE, 0x9, 0x79, 0x9, 0x7A, 0x9, 0x7B, 0x9, 0x7C, 0x9, 0x58, 0x9, 0x59, 0x9, 0x5C, 0x9, 0x5D, 0x0, 0xE1, 0x0, 0xE2, 0xB, 0x2C, 0xB, 0x2D, 0x0, 0xE3, 0x0, 0xE4, 0x0, 0xE5, 0x0, 0xE6, 0x0, 0xE7, 0x0, 0xE8, 0xB, 0x3D, 0x1, 0x4D, 0x1, 0x4E, 0xB, 0x3E, 0xA, 0xE5, 0x2, 0x29, 0x2, 0x2A, 0x2, 0x2B, 0x2, 0x2C, 0xB, 0x3F, 0x2, 0x2D, 0x2, 0x2E, 0x9, 0xD5, 0x2, 0x2F, 0x9, 0xD6, 0x9, 0xD7, 0x9, 0xD8, 0x2, 0x30, 0x2, 0x31, 0x9, 0xDF, 0x9, 0xE0, 0x9, 0xE1, 0x2, 0x32, 0x9, 0xE2, 0x9, 0xE3, 0x2, 0x33, 0x9, 0xE4, 0x9, 0xE5, 0x2, 0x34, 0x9, 0xE6, 0x2, 0x35, 0x9, 0xE7, 0x2, 0x36, 0x9, 0xE8, 0x9, 0xE9, 0x2, 0x37, 0x9, 0xEA, 0x2, 0x38, 0x2, 0x39, 0x9, 0xEB, 0x9, 0xEC, 0x9, 0xED, 0x9, 0xEE, 0x9, 0xEF, 0x9, 0xF0, 0x9, 0xF1, 0x9, 0xF2, 0x2, 0x43, 0x9, 0xF4, 0x9, 0xF5, 0x2, 0x44, 0x9, 0xF3, 0x2, 0x45, 0x2, 0x46, 0x2, 0x47, 0x2, 0x48, 0x2, 0x49, 0x2, 0x4A, 0x2, 0x4B, 0x9, 0xF6, 0x2, 0x4C, 0x2, 0x4D, 0x9, 0xF7, 0x9, 0xF8, 0x9, 0xF9, 0x9, 0xFA, 0x9, 0xFB, 0x2, 0x4E, 0x2, 0x4F, 0x2, 0x50, 0x2, 0x51, 0xB, 0x40, 0xB, 0x41, 0x2, 0x5F, 0x2, 0x60, 0xB, 0x42, 0xB, 0x43, 0xB, 0x44, 0x2, 0x61, 0x2, 0x62, 0xB, 0x45, 0xB, 0x46, 0xB, 0x47, 0xB, 0x48, 0x2, 0x63, 0x2, 0x64, 0x2, 0x65, 0x2, 0x66, 0x2, 0x67, 0xA, 0x33, 0x9, 0xFC, 0x2, 0x68, 0x9, 0xFD, 0x2, 0x69, 0x9, 0xFE, 0x9, 0xFF, 0xA, 0x0, 0xA, 0x1, 0x2, 0x6A, 0x2, 0x6B, 0x2, 0x6C, 0xA, 0x3, 0xA, 0x34, 0xA, 0x4, 0x2, 0x6D, 0xA, 0x5, 0x2, 0x6E, 0xA, 0x6, 0xA, 0x7, 0x2, 0x6F, 0xA, 0x8, 0x2, 0x70, 0x2, 0x71, 0x2, 0x72, 0xA, 0x9, 0xA, 0x2, 0x2, 0x73, 0xA, 0xA, 0xA, 0xB, 0xA, 0xC, 0xA, 0xD, 0xA, 0xE, 0xA, 0xF, 0xA, 0x10, 0x2, 0x74, 0x2, 0x75, 0xA, 0x11, 0xA, 0x12, 0x2, 0x80, 0x2, 0x81, 0x2, 0x82, 0x2, 0x83, 0xA, 0x13, 0x2, 0x84, 0x2, 0x85, 0x2, 0x86, 0xA, 0x14, 0x2, 0x87, 0x2, 0x88, 0x2, 0x89, 0x2, 0x8A, 0xA, 0x15, 0x2, 0x8B, 0xA, 0x16, 0xA, 0x17, 0x2, 0x8C, 0xA, 0x18, 0x2, 0x8D, 0xA, 0x19, 0xA, 0x35, 0xA, 0x1A, 0x2, 0x98, 0xA, 0x1B, 0x2, 0x99, 0xA, 0x1C, 0xA, 0x1D, 0xA, 0x1E, 0xA, 0x1F, 0x2, 0x9A, 0x2, 0x9B, 0x2, 0x9C, 0xA, 0x20, 0xA, 0x36, 0xA, 0x21, 0x2, 0x9D, 0x2, 0x9E, 0x2, 0x9F, 0xA, 0xD1, 0xA, 0x37, 0xA, 0x38, 0x2, 0xAD, 0x2, 0xAE, 0x2, 0xAF, 0x2, 0xB0, 0xA, 0x39, 0xA, 0x3A, 0xA, 0x3C, 0xA, 0x3B, 0xA, 0xD0, 0x2, 0xC3, 0x2, 0xC4, 0x2, 0xC5, 0x2, 0xC6, 0x2, 0xC7, 0xA, 0xD2, 0xA, 0xD3, 0x2, 0xC8, 0x2, 0xC9, 0x2, 0xCA, 0x2, 0xCB, 0xA, 0x3D, 0xA, 0x3E, 0x2, 0xCC, 0x2, 0xCD, 0x2, 0xCE, 0x2, 0xCF, 0xA, 0xD4, 0xA, 0xD5, 0xA, 0x3F, 0xA, 0x40, 0xA, 0xC7, 0xA, 0xC8, 0xA, 0x41, 0xA, 0x42, 0xA, 0xD6, 0xA, 0xD7, 0xA, 0xCF, 0x2, 0xE3, 0x2, 0xE4, 0xA, 0xCD, 0xA, 0xCE, 0xA, 0x43, 0xA, 0x44, 0xA, 0x45, 0x2, 0xE5, 0x2, 0xE6, 0x2, 0xE7, 0x2, 0xE8, 0x2, 0xE9, 0x2, 0xEA, 0x2, 0xEB, 0x2, 0xEC, 0xA, 0xC9, 0xA, 0xCA, 0x2, 0xED, 0x2, 0xEE, 0x2, 0xEF, 0xA, 0x50, 0xA, 0x4F, 0xA, 0x51, 0xA, 0x52, 0xA, 0x53, 0xA, 0x54, 0xA, 0x55, 0x2, 0xF0, 0x2, 0xF1, 0xA, 0x56, 0xA, 0x57, 0xA, 0x58, 0xA, 0x59, 0xA, 0x5A, 0xA, 0x5B, 0xA, 0x5C, 0xA, 0x5D, 0xA, 0xCB, 0xA, 0xCC, 0xA, 0x6B, 0xA, 0x6C, 0x2, 0xF2, 0x2, 0xF3, 0x2, 0xF4, 0x2, 0xF5, 0xA, 0xD8, 0xA, 0xD9, 0x2, 0xF6, 0xA, 0x6D, 0xA, 0xDA, 0x3, 0x6, 0x3, 0x7, 0x3, 0x8, 0x3, 0x9, 0x3, 0xA, 0x3, 0xB, 0x3, 0xC, 0x3, 0xD, 0xB, 0x49, 0xB, 0x4A, 0xB, 0x4B, 0xB, 0x4C, 0x4, 0x25, 0x4, 0x26, 0x4, 0x27, 0x4, 0x28, 0xA, 0x31, 0xA, 0x32, 0x4, 0x29, 0x4, 0x2A, 0xB, 0x73, 0xB, 0x74, 0x4, 0x2B, 0x4, 0x2C, 0x4, 0x2D, 0x4, 0x2E, 0xA, 0x28, 0xA, 0x29, 0xA, 0xC0, 0xA, 0xC1, 0xA, 0xC2, 0xA, 0xC3, 0xA, 0xC4, 0xA, 0xC5, 0x4, 0x34, 0x4, 0x35, 0x4, 0x36, 0x4, 0x37, 0x4, 0x38, 0x4, 0x39, 0x4, 0x3A, 0x4, 0x3B, 0x4, 0x3C, 0x4, 0x3D, 0x4, 0x3E, 0xC, 0x86, 0xC, 0x87, 0xC, 0x88, 0x4, 0x3F, 0x4, 0x40, 0x4, 0x41, 0xC, 0x90, 0xC, 0x91, 0xC, 0x92, 0xC, 0x93, 0xC, 0xB1, 0x4, 0x72, 0x4, 0x73, 0xA, 0x2A, 0xA, 0x2B, 0x4, 0x74, 0x4, 0x75, 0x4, 0x76, 0x4, 0x77, 0x4, 0x78, 0x4, 0x79, 0x4, 0x7A, 0x4, 0x7B, 0xA, 0x2C, 0x4, 0xC5, 0x4, 0xC6, 0x4, 0xC7, 0xA, 0xDB, 0x4, 0xC8, 0x4, 0xC9, 0x4, 0xCA, 0x4, 0xCB, 0x4, 0xCC, 0x4, 0xCD, 0x4, 0xCE, 0xA, 0xC6, 0x4, 0xF5, 0x2, 0x39, 0x0, 0xC, 0x0, 0x0, 0x0, 0x0, 0xF, 0xA0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x4C, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x2, 0x0, 0x0, 0x0, 0x2, 0x0, 0x0, 0x0, 0x2, 0x0, 0x0, 0x0, 0x9, 0x0, 0x0, 0x0, 0x9, 0x0, 0x0, 0x0, 0x3, 0x0, 0x0, 0x0, 0xD, 0x0, 0x0, 0x0, 0xD, 0x0, 0x0, 0x0, 0x4, 0x0, 0x0, 0x0, 0x20, 0x0, 0x0, 0x0, 0x7E, 0x0, 0x0, 0x0, 0x5, 0x0, 0x0, 0x0, 0xA0, 0x0, 0x0, 0x0, 0xA0, 0x0, 0x0, 0x8, 0xC6, 0x0, 0x0, 0x0, 0xA1, 0x0, 0x0, 0x0, 0xAC, 0x0, 0x0, 0x0, 0x64, 0x0, 0x0, 0x0, 0xAD, 0x0, 0x0, 0x0, 0xAD, 0x0, 0x0, 0x8, 0xC7, 0x0, 0x0, 0x0, 0xAE, 0x0, 0x0, 0x0, 0xBF, 0x0, 0x0, 0x0, 0x70, 0x0, 0x0, 0x0, 0xC0, 0x0, 0x0, 0x0, 0xC5, 0x0, 0x0, 0x8, 0xCD, 0x0, 0x0, 0x0, 0xC6, 0x0, 0x0, 0x0, 0xC6, 0x0, 0x0, 0x0, 0x82, 0x0, 0x0, 0x0, 0xC7, 0x0, 0x0, 0x0, 0xCF, 0x0, 0x0, 0x8, 0xD4, 0x0, 0x0, 0x0, 0xD0, 0x0, 0x0, 0x0, 0xD0, 0x0, 0x0, 0x8, 0xC9, 0x0, 0x0, 0x0, 0xD1, 0x0, 0x0, 0x0, 0xD6, 0x0, 0x0, 0x8, 0xDD, 0x0, 0x0, 0x0, 0xD7, 0x0, 0x0, 0x0, 0xD8, 0x0, 0x0, 0x0, 0x83, 0x0, 0x0, 0x0, 0xD9, 0x0, 0x0, 0x0, 0xDD, 0x0, 0x0, 0x8, 0xE3, 0x0, 0x0, 0x0, 0xDE, 0x0, 0x0, 0x0, 0xDF, 0x0, 0x0, 0x0, 0x85, 0x0, 0x0, 0x0, 0xE0, 0x0, 0x0, 0x0, 0xE5, 0x0, 0x0, 0x8, 0xE8, 0x0, 0x0, 0x0, 0xE6, 0x0, 0x0, 0x0, 0xE6, 0x0, 0x0, 0x0, 0x87, 0x0, 0x0, 0x0, 0xE7, 0x0, 0x0, 0x0, 0xEF, 0x0, 0x0, 0x8, 0xEF, 0x0, 0x0, 0x0, 0xF0, 0x0, 0x0, 0x0, 0xF0, 0x0, 0x0, 0x0, 0x88, 0x0, 0x0, 0x0, 0xF1, 0x0, 0x0, 0x0, 0xF6, 0x0, 0x0, 0x8, 0xF8, 0x0, 0x0, 0x0, 0xF7, 0x0, 0x0, 0x0, 0xF8, 0x0, 0x0, 0x0, 0x89, 0x0, 0x0, 0x0, 0xF9, 0x0, 0x0, 0x0, 0xFD, 0x0, 0x0, 0x8, 0xFE, 0x0, 0x0, 0x0, 0xFE, 0x0, 0x0, 0x0, 0xFE, 0x0, 0x0, 0x0, 0x8B, 0x0, 0x0, 0x0, 0xFF, 0x0, 0x0, 0x1, 0xF, 0x0, 0x0, 0x9, 0x3, 0x0, 0x0, 0x1, 0x10, 0x0, 0x0, 0x1, 0x10, 0x0, 0x0, 0x8, 0xC8, 0x0, 0x0, 0x1, 0x11, 0x0, 0x0, 0x1, 0x11, 0x0, 0x0, 0x0, 0x8C, 0x0, 0x0, 0x1, 0x12, 0x0, 0x0, 0x1, 0x25, 0x0, 0x0, 0x9, 0x14, 0x0, 0x0, 0x1, 0x26, 0x0, 0x0, 0x1, 0x26, 0x0, 0x0, 0x0, 0x8D, 0x0, 0x0, 0x1, 0x27, 0x0, 0x0, 0x1, 0x27, 0x0, 0x0, 0x8, 0xCA, 0x0, 0x0, 0x1, 0x28, 0x0, 0x0, 0x1, 0x30, 0x0, 0x0, 0x9, 0x28, 0x0, 0x0, 0x1, 0x31, 0x0, 0x0, 0x1, 0x31, 0x0, 0x0, 0x0, 0x8E, 0x0, 0x0, 0x1, 0x32, 0x0, 0x0, 0x1, 0x37, 0x0, 0x0, 0x9, 0x31, 0x0, 0x0, 0x1, 0x38, 0x0, 0x0, 0x1, 0x38, 0x0, 0x0, 0x0, 0x8F, 0x0, 0x0, 0x1, 0x39, 0x0, 0x0, 0x1, 0x40, 0x0, 0x0, 0x9, 0x37, 0x0, 0x0, 0x1, 0x41, 0x0, 0x0, 0x1, 0x42, 0x0, 0x0, 0x0, 0x90, 0x0, 0x0, 0x1, 0x43, 0x0, 0x0, 0x1, 0x49, 0x0, 0x0, 0x9, 0x3F, 0x0, 0x0, 0x1, 0x4A, 0x0, 0x0, 0x1, 0x4B, 0x0, 0x0, 0x0, 0x92, 0x0, 0x0, 0x1, 0x4C, 0x0, 0x0, 0x1, 0x51, 0x0, 0x0, 0x9, 0x46, 0x0, 0x0, 0x1, 0x52, 0x0, 0x0, 0x1, 0x53, 0x0, 0x0, 0x0, 0x94, 0x0, 0x0, 0x1, 0x54, 0x0, 0x0, 0x1, 0x5F, 0x0, 0x0, 0x9, 0x4C, 0x0, 0x0, 0x1, 0x60, 0x0, 0x0, 0x1, 0x61, 0x0, 0x0, 0x9, 0x5A, 0x0, 0x0, 0x1, 0x62, 0x0, 0x0, 0x1, 0x65, 0x0, 0x0, 0x9, 0x5E, 0x0, 0x0, 0x1, 0x66, 0x0, 0x0, 0x1, 0x67, 0x0, 0x0, 0x8, 0xCB, 0x0, 0x0, 0x1, 0x68, 0x0, 0x0, 0x1, 0x7E, 0x0, 0x0, 0x9, 0x62, 0x0, 0x0, 0x1, 0x7F, 0x0, 0x0, 0x1, 0x95, 0x0, 0x0, 0x0, 0x96, 0x0, 0x0, 0x1, 0x96, 0x0, 0x0, 0x1, 0x96, 0x0, 0x0, 0xA, 0xE6, 0x0, 0x0, 0x1, 0x97, 0x0, 0x0, 0x1, 0x9D, 0x0, 0x0, 0x0, 0xAD, 0x0, 0x0, 0x1, 0x9E, 0x0, 0x0, 0x1, 0x9E, 0x0, 0x0, 0xA, 0xE7, 0x0, 0x0, 0x1, 0x9F, 0x0, 0x0, 0x1, 0x9F, 0x0, 0x0, 0xA, 0x5E, 0x0, 0x0, 0x1, 0xA0, 0x0, 0x0, 0x1, 0xC6, 0x0, 0x0, 0x0, 0xB4, 0x0, 0x0, 0x1, 0xC7, 0x0, 0x0, 0x1, 0xE3, 0x0, 0x0, 0xA, 0xE8, 0x0, 0x0, 0x1, 0xE4, 0x0, 0x0, 0x1, 0xE5, 0x0, 0x0, 0x0, 0xDB, 0x0, 0x0, 0x1, 0xE6, 0x0, 0x0, 0x1, 0xED, 0x0, 0x0, 0xB, 0x5, 0x0, 0x0, 0x1, 0xEE, 0x0, 0x0, 0x1, 0xEF, 0x0, 0x0, 0x0, 0xDD, 0x0, 0x0, 0x1, 0xF0, 0x0, 0x0, 0x1, 0xF0, 0x0, 0x0, 0xA, 0x2D, 0x0, 0x0, 0x1, 0xF1, 0x0, 0x0, 0x1, 0xF5, 0x0, 0x0, 0xB, 0xD, 0x0, 0x0, 0x1, 0xF6, 0x0, 0x0, 0x1, 0xF7, 0x0, 0x0, 0x0, 0xDF, 0x0, 0x0, 0x1, 0xF8, 0x0, 0x0, 0x1, 0xF9, 0x0, 0x0, 0xB, 0x12, 0x0, 0x0, 0x1, 0xFA, 0x0, 0x0, 0x1, 0xFA, 0x0, 0x0, 0x8, 0xD3, 0x0, 0x0, 0x1, 0xFB, 0x0, 0x0, 0x1, 0xFB, 0x0, 0x0, 0x8, 0xEE, 0x0, 0x0, 0x1, 0xFC, 0x0, 0x0, 0x1, 0xFF, 0x0, 0x0, 0x9, 0x79, 0x0, 0x0, 0x2, 0x0, 0x0, 0x0, 0x2, 0x17, 0x0, 0x0, 0xB, 0x14, 0x0, 0x0, 0x2, 0x18, 0x0, 0x0, 0x2, 0x19, 0x0, 0x0, 0x9, 0x58, 0x0, 0x0, 0x2, 0x1A, 0x0, 0x0, 0x2, 0x1B, 0x0, 0x0, 0x9, 0x5C, 0x0, 0x0, 0x2, 0x1C, 0x0, 0x0, 0x2, 0x1D, 0x0, 0x0, 0x0, 0xE1, 0x0, 0x0, 0x2, 0x1E, 0x0, 0x0, 0x2, 0x1F, 0x0, 0x0, 0xB, 0x2C, 0x0, 0x0, 0x2, 0x20, 0x0, 0x0, 0x2, 0x25, 0x0, 0x0, 0x0, 0xE3, 0x0, 0x0, 0x2, 0x26, 0x0, 0x0, 0x2, 0x33, 0x0, 0x0, 0xB, 0x2E, 0x0, 0x0, 0x2, 0x34, 0x0, 0x0, 0x2, 0x74, 0x0, 0x0, 0x0, 0xE9, 0x0, 0x0, 0x2, 0x75, 0x0, 0x0, 0x2, 0x75, 0x0, 0x0, 0xB, 0x3C, 0x0, 0x0, 0x2, 0x76, 0x0, 0x0, 0x2, 0x98, 0x0, 0x0, 0x1, 0x2A, 0x0, 0x0, 0x2, 0x99, 0x0, 0x0, 0x2, 0x99, 0x0, 0x0, 0xB, 0x3D, 0x0, 0x0, 0x2, 0x9A, 0x0, 0x0, 0x2, 0x9B, 0x0, 0x0, 0x1, 0x4D, 0x0, 0x0, 0x2, 0x9C, 0x0, 0x0, 0x2, 0x9C, 0x0, 0x0, 0xB, 0x3E, 0x0, 0x0, 0x2, 0x9D, 0x0, 0x0, 0x2, 0xBB, 0x0, 0x0, 0x1, 0x4F, 0x0, 0x0, 0x2, 0xBC, 0x0, 0x0, 0x2, 0xBC, 0x0, 0x0, 0xA, 0x2E, 0x0, 0x0, 0x2, 0xBD, 0x0, 0x0, 0x3, 0x77, 0x0, 0x0, 0x1, 0x6E, 0x0, 0x0, 0x3, 0x7A, 0x0, 0x0, 0x3, 0x7A, 0x0, 0x0, 0xA, 0xE5, 0x0, 0x0, 0x3, 0x7B, 0x0, 0x0, 0x3, 0x7E, 0x0, 0x0, 0x2, 0x29, 0x0, 0x0, 0x3, 0x7F, 0x0, 0x0, 0x3, 0x7F, 0x0, 0x0, 0xB, 0x3F, 0x0, 0x0, 0x3, 0x84, 0x0, 0x0, 0x3, 0x85, 0x0, 0x0, 0x2, 0x2D, 0x0, 0x0, 0x3, 0x86, 0x0, 0x0, 0x3, 0x86, 0x0, 0x0, 0x9, 0xD5, 0x0, 0x0, 0x3, 0x87, 0x0, 0x0, 0x3, 0x87, 0x0, 0x0, 0x2, 0x2F, 0x0, 0x0, 0x3, 0x88, 0x0, 0x0, 0x3, 0x8A, 0x0, 0x0, 0x9, 0xD6, 0x0, 0x0, 0x3, 0x8C, 0x0, 0x0, 0x3, 0x8C, 0x0, 0x0, 0x9, 0xD9, 0x0, 0x0, 0x3, 0x8E, 0x0, 0x0, 0x3, 0x92, 0x0, 0x0, 0x9, 0xDA, 0x0, 0x0, 0x3, 0x93, 0x0, 0x0, 0x3, 0x94, 0x0, 0x0, 0x2, 0x30, 0x0, 0x0, 0x3, 0x95, 0x0, 0x0, 0x3, 0x97, 0x0, 0x0, 0x9, 0xDF, 0x0, 0x0, 0x3, 0x98, 0x0, 0x0, 0x3, 0x98, 0x0, 0x0, 0x2, 0x32, 0x0, 0x0, 0x3, 0x99, 0x0, 0x0, 0x3, 0x9A, 0x0, 0x0, 0x9, 0xE2, 0x0, 0x0, 0x3, 0x9B, 0x0, 0x0, 0x3, 0x9B, 0x0, 0x0, 0x2, 0x33, 0x0, 0x0, 0x3, 0x9C, 0x0, 0x0, 0x3, 0x9D, 0x0, 0x0, 0x9, 0xE4, 0x0, 0x0, 0x3, 0x9E, 0x0, 0x0, 0x3, 0x9E, 0x0, 0x0, 0x2, 0x34, 0x0, 0x0, 0x3, 0x9F, 0x0, 0x0, 0x3, 0x9F, 0x0, 0x0, 0x9, 0xE6, 0x0, 0x0, 0x3, 0xA0, 0x0, 0x0, 0x3, 0xA0, 0x0, 0x0, 0x2, 0x35, 0x0, 0x0, 0x3, 0xA1, 0x0, 0x0, 0x3, 0xA1, 0x0, 0x0, 0x9, 0xE7, 0x0, 0x0, 0x3, 0xA3, 0x0, 0x0, 0x3, 0xA3, 0x0, 0x0, 0x2, 0x36, 0x0, 0x0, 0x3, 0xA4, 0x0, 0x0, 0x3, 0xA5, 0x0, 0x0, 0x9, 0xE8, 0x0, 0x0, 0x3, 0xA6, 0x0, 0x0, 0x3, 0xA6, 0x0, 0x0, 0x2, 0x37, 0x0, 0x0, 0x3, 0xA7, 0x0, 0x0, 0x3, 0xA7, 0x0, 0x0, 0x9, 0xEA, 0x0, 0x0, 0x3, 0xA8, 0x0, 0x0, 0x3, 0xA9, 0x0, 0x0, 0x2, 0x38, 0x0, 0x0, 0x3, 0xAA, 0x0, 0x0, 0x3, 0xB0, 0x0, 0x0, 0x9, 0xEB, 0x0, 0x0, 0x3, 0xB1, 0x0, 0x0, 0x3, 0xB9, 0x0, 0x0, 0x2, 0x3A, 0x0, 0x0, 0x3, 0xBA, 0x0, 0x0, 0x3, 0xBA, 0x0, 0x0, 0x9, 0xF2, 0x0, 0x0, 0x3, 0xBB, 0x0, 0x0, 0x3, 0xBB, 0x0, 0x0, 0x2, 0x43, 0x0, 0x0, 0x3, 0xBC, 0x0, 0x0, 0x3, 0xBD, 0x0, 0x0, 0x9, 0xF4, 0x0, 0x0, 0x3, 0xBE, 0x0, 0x0, 0x3, 0xBE, 0x0, 0x0, 0x2, 0x44, 0x0, 0x0, 0x3, 0xBF, 0x0, 0x0, 0x3, 0xBF, 0x0, 0x0, 0x9, 0xF3, 0x0, 0x0, 0x3, 0xC0, 0x0, 0x0, 0x3, 0xC6, 0x0, 0x0, 0x2, 0x45, 0x0, 0x0, 0x3, 0xC7, 0x0, 0x0, 0x3, 0xC7, 0x0, 0x0, 0x9, 0xF6, 0x0, 0x0, 0x3, 0xC8, 0x0, 0x0, 0x3, 0xC9, 0x0, 0x0, 0x2, 0x4C, 0x0, 0x0, 0x3, 0xCA, 0x0, 0x0, 0x3, 0xCE, 0x0, 0x0, 0x9, 0xF7, 0x0, 0x0, 0x3, 0xCF, 0x0, 0x0, 0x3, 0xD2, 0x0, 0x0, 0x2, 0x4E, 0x0, 0x0, 0x3, 0xD3, 0x0, 0x0, 0x3, 0xD4, 0x0, 0x0, 0xB, 0x40, 0x0, 0x0, 0x3, 0xD5, 0x0, 0x0, 0x3, 0xE1, 0x0, 0x0, 0x2, 0x52, 0x0, 0x0, 0x3, 0xF0, 0x0, 0x0, 0x3, 0xF1, 0x0, 0x0, 0x2, 0x5F, 0x0, 0x0, 0x3, 0xF2, 0x0, 0x0, 0x3, 0xF4, 0x0, 0x0, 0xB, 0x42, 0x0, 0x0, 0x3, 0xF5, 0x0, 0x0, 0x3, 0xF6, 0x0, 0x0, 0x2, 0x61, 0x0, 0x0, 0x3, 0xF7, 0x0, 0x0, 0x3, 0xFA, 0x0, 0x0, 0xB, 0x45, 0x0, 0x0, 0x3, 0xFB, 0x0, 0x0, 0x3, 0xFF, 0x0, 0x0, 0x2, 0x63, 0x0, 0x0, 0x4, 0x0, 0x0, 0x0, 0x4, 0x0, 0x0, 0x0, 0xA, 0x33, 0x0, 0x0, 0x4, 0x1, 0x0, 0x0, 0x4, 0x1, 0x0, 0x0, 0x9, 0xFC, 0x0, 0x0, 0x4, 0x2, 0x0, 0x0, 0x4, 0x2, 0x0, 0x0, 0x2, 0x68, 0x0, 0x0, 0x4, 0x3, 0x0, 0x0, 0x4, 0x3, 0x0, 0x0, 0x9, 0xFD, 0x0, 0x0, 0x4, 0x4, 0x0, 0x0, 0x4, 0x4, 0x0, 0x0, 0x2, 0x69, 0x0, 0x0, 0x4, 0x5, 0x0, 0x0, 0x4, 0x8, 0x0, 0x0, 0x9, 0xFE, 0x0, 0x0, 0x4, 0x9, 0x0, 0x0, 0x4, 0xB, 0x0, 0x0, 0x2, 0x6A, 0x0, 0x0, 0x4, 0xC, 0x0, 0x0, 0x4, 0xC, 0x0, 0x0, 0xA, 0x3, 0x0, 0x0, 0x4, 0xD, 0x0, 0x0, 0x4, 0xD, 0x0, 0x0, 0xA, 0x34, 0x0, 0x0, 0x4, 0xE, 0x0, 0x0, 0x4, 0xE, 0x0, 0x0, 0xA, 0x4, 0x0, 0x0, 0x4, 0xF, 0x0, 0x0, 0x4, 0xF, 0x0, 0x0, 0x2, 0x6D, 0x0, 0x0, 0x4, 0x10, 0x0, 0x0, 0x4, 0x10, 0x0, 0x0, 0xA, 0x5, 0x0, 0x0, 0x4, 0x11, 0x0, 0x0, 0x4, 0x11, 0x0, 0x0, 0x2, 0x6E, 0x0, 0x0, 0x4, 0x12, 0x0, 0x0, 0x4, 0x13, 0x0, 0x0, 0xA, 0x6, 0x0, 0x0, 0x4, 0x14, 0x0, 0x0, 0x4, 0x14, 0x0, 0x0, 0x2, 0x6F, 0x0, 0x0, 0x4, 0x15, 0x0, 0x0, 0x4, 0x15, 0x0, 0x0, 0xA, 0x8, 0x0, 0x0, 0x4, 0x16, 0x0, 0x0, 0x4, 0x18, 0x0, 0x0, 0x2, 0x70, 0x0, 0x0, 0x4, 0x19, 0x0, 0x0, 0x4, 0x19, 0x0, 0x0, 0xA, 0x9, 0x0, 0x0, 0x4, 0x1A, 0x0, 0x0, 0x4, 0x1A, 0x0, 0x0, 0xA, 0x2, 0x0, 0x0, 0x4, 0x1B, 0x0, 0x0, 0x4, 0x1B, 0x0, 0x0, 0x2, 0x73, 0x0, 0x0, 0x4, 0x1C, 0x0, 0x0, 0x4, 0x22, 0x0, 0x0, 0xA, 0xA, 0x0, 0x0, 0x4, 0x23, 0x0, 0x0, 0x4, 0x24, 0x0, 0x0, 0x2, 0x74, 0x0, 0x0, 0x4, 0x25, 0x0, 0x0, 0x4, 0x25, 0x0, 0x0, 0xA, 0x11, 0x0, 0x0, 0x4, 0x26, 0x0, 0x0, 0x4, 0x2F, 0x0, 0x0, 0x2, 0x76, 0x0, 0x0, 0x4, 0x30, 0x0, 0x0, 0x4, 0x30, 0x0, 0x0, 0xA, 0x12, 0x0, 0x0, 0x4, 0x31, 0x0, 0x0, 0x4, 0x34, 0x0, 0x0, 0x2, 0x80, 0x0, 0x0, 0x4, 0x35, 0x0, 0x0, 0x4, 0x35, 0x0, 0x0, 0xA, 0x13, 0x0, 0x0, 0x4, 0x36, 0x0, 0x0, 0x4, 0x38, 0x0, 0x0, 0x2, 0x84, 0x0, 0x0, 0x4, 0x39, 0x0, 0x0, 0x4, 0x39, 0x0, 0x0, 0xA, 0x14, 0x0, 0x0, 0x4, 0x3A, 0x0, 0x0, 0x4, 0x3D, 0x0, 0x0, 0x2, 0x87, 0x0, 0x0, 0x4, 0x3E, 0x0, 0x0, 0x4, 0x3E, 0x0, 0x0, 0xA, 0x15, 0x0, 0x0, 0x4, 0x3F, 0x0, 0x0, 0x4, 0x3F, 0x0, 0x0, 0x2, 0x8B, 0x0, 0x0, 0x4, 0x40, 0x0, 0x0, 0x4, 0x41, 0x0, 0x0, 0xA, 0x16, 0x0, 0x0, 0x4, 0x42, 0x0, 0x0, 0x4, 0x42, 0x0, 0x0, 0x2, 0x8C, 0x0, 0x0, 0x4, 0x43, 0x0, 0x0, 0x4, 0x43, 0x0, 0x0, 0xA, 0x18, 0x0, 0x0, 0x4, 0x44, 0x0, 0x0, 0x4, 0x44, 0x0, 0x0, 0x2, 0x8D, 0x0, 0x0, 0x4, 0x45, 0x0, 0x0, 0x4, 0x45, 0x0, 0x0, 0xA, 0x19, 0x0, 0x0, 0x4, 0x46, 0x0, 0x0, 0x4, 0x4F, 0x0, 0x0, 0x2, 0x8E, 0x0, 0x0, 0x4, 0x50, 0x0, 0x0, 0x4, 0x50, 0x0, 0x0, 0xA, 0x35, 0x0, 0x0, 0x4, 0x51, 0x0, 0x0, 0x4, 0x51, 0x0, 0x0, 0xA, 0x1A, 0x0, 0x0, 0x4, 0x52, 0x0, 0x0, 0x4, 0x52, 0x0, 0x0, 0x2, 0x98, 0x0, 0x0, 0x4, 0x53, 0x0, 0x0, 0x4, 0x53, 0x0, 0x0, 0xA, 0x1B, 0x0, 0x0, 0x4, 0x54, 0x0, 0x0, 0x4, 0x54, 0x0, 0x0, 0x2, 0x99, 0x0, 0x0, 0x4, 0x55, 0x0, 0x0, 0x4, 0x58, 0x0, 0x0, 0xA, 0x1C, 0x0, 0x0, 0x4, 0x59, 0x0, 0x0, 0x4, 0x5B, 0x0, 0x0, 0x2, 0x9A, 0x0, 0x0, 0x4, 0x5C, 0x0, 0x0, 0x4, 0x5C, 0x0, 0x0, 0xA, 0x20, 0x0, 0x0, 0x4, 0x5D, 0x0, 0x0, 0x4, 0x5D, 0x0, 0x0, 0xA, 0x36, 0x0, 0x0, 0x4, 0x5E, 0x0, 0x0, 0x4, 0x5E, 0x0, 0x0, 0xA, 0x21, 0x0, 0x0, 0x4, 0x5F, 0x0, 0x0, 0x4, 0x61, 0x0, 0x0, 0x2, 0x9D, 0x0, 0x0, 0x4, 0x62, 0x0, 0x0, 0x4, 0x62, 0x0, 0x0, 0xA, 0xD1, 0x0, 0x0, 0x4, 0x63, 0x0, 0x0, 0x4, 0x6F, 0x0, 0x0, 0x2, 0xA0, 0x0, 0x0, 0x4, 0x70, 0x0, 0x0, 0x4, 0x71, 0x0, 0x0, 0xA, 0x37, 0x0, 0x0, 0x4, 0x72, 0x0, 0x0, 0x4, 0x75, 0x0, 0x0, 0x2, 0xAD, 0x0, 0x0, 0x4, 0x76, 0x0, 0x0, 0x4, 0x77, 0x0, 0x0, 0xA, 0x39, 0x0, 0x0, 0x4, 0x78, 0x0, 0x0, 0x4, 0x78, 0x0, 0x0, 0xA, 0x3C, 0x0, 0x0, 0x4, 0x79, 0x0, 0x0, 0x4, 0x79, 0x0, 0x0, 0xA, 0x3B, 0x0, 0x0, 0x4, 0x7A, 0x0, 0x0, 0x4, 0x8B, 0x0, 0x0, 0x2, 0xB1, 0x0, 0x0, 0x4, 0x8C, 0x0, 0x0, 0x4, 0x8C, 0x0, 0x0, 0xA, 0xD0, 0x0, 0x0, 0x4, 0x8D, 0x0, 0x0, 0x4, 0x91, 0x0, 0x0, 0x2, 0xC3, 0x0, 0x0, 0x4, 0x92, 0x0, 0x0, 0x4, 0x93, 0x0, 0x0, 0xA, 0xD2, 0x0, 0x0, 0x4, 0x94, 0x0, 0x0, 0x4, 0x97, 0x0, 0x0, 0x2, 0xC8, 0x0, 0x0, 0x4, 0x98, 0x0, 0x0, 0x4, 0x99, 0x0, 0x0, 0xA, 0x3D, 0x0, 0x0, 0x4, 0x9A, 0x0, 0x0, 0x4, 0x9D, 0x0, 0x0, 0x2, 0xCC, 0x0, 0x0, 0x4, 0x9E, 0x0, 0x0, 0x4, 0x9F, 0x0, 0x0, 0xA, 0xD4, 0x0, 0x0, 0x4, 0xA0, 0x0, 0x0, 0x4, 0xA9, 0x0, 0x0, 0x2, 0xD0, 0x0, 0x0, 0x4, 0xAA, 0x0, 0x0, 0x4, 0xAB, 0x0, 0x0, 0xA, 0x3F, 0x0, 0x0, 0x4, 0xAC, 0x0, 0x0, 0x4, 0xAD, 0x0, 0x0, 0xA, 0xC7, 0x0, 0x0, 0x4, 0xAE, 0x0, 0x0, 0x4, 0xAF, 0x0, 0x0, 0xA, 0x41, 0x0, 0x0, 0x4, 0xB0, 0x0, 0x0, 0x4, 0xB1, 0x0, 0x0, 0xA, 0xD6, 0x0, 0x0, 0x4, 0xB2, 0x0, 0x0, 0x4, 0xBA, 0x0, 0x0, 0x2, 0xDA, 0x0, 0x0, 0x4, 0xBB, 0x0, 0x0, 0x4, 0xBB, 0x0, 0x0, 0xA, 0xCF, 0x0, 0x0, 0x4, 0xBC, 0x0, 0x0, 0x4, 0xBD, 0x0, 0x0, 0x2, 0xE3, 0x0, 0x0, 0x4, 0xBE, 0x0, 0x0, 0x4, 0xBF, 0x0, 0x0, 0xA, 0xCD, 0x0, 0x0, 0x4, 0xC0, 0x0, 0x0, 0x4, 0xC2, 0x0, 0x0, 0xA, 0x43, 0x0, 0x0, 0x4, 0xC3, 0x0, 0x0, 0x4, 0xCA, 0x0, 0x0, 0x2, 0xE5, 0x0, 0x0, 0x4, 0xCB, 0x0, 0x0, 0x4, 0xCC, 0x0, 0x0, 0xA, 0xC9, 0x0, 0x0, 0x4, 0xCD, 0x0, 0x0, 0x4, 0xCE, 0x0, 0x0, 0x2, 0xED, 0x0, 0x0, 0x4, 0xCF, 0x0, 0x0, 0x4, 0xD7, 0x0, 0x0, 0xA, 0x46, 0x0, 0x0, 0x4, 0xD8, 0x0, 0x0, 0x4, 0xD8, 0x0, 0x0, 0x2, 0xEF, 0x0, 0x0, 0x4, 0xD9, 0x0, 0x0, 0x4, 0xD9, 0x0, 0x0, 0xA, 0x50, 0x0, 0x0, 0x4, 0xDA, 0x0, 0x0, 0x4, 0xDA, 0x0, 0x0, 0xA, 0x4F, 0x0, 0x0, 0x4, 0xDB, 0x0, 0x0, 0x4, 0xDF, 0x0, 0x0, 0xA, 0x51, 0x0, 0x0, 0x4, 0xE0, 0x0, 0x0, 0x4, 0xE1, 0x0, 0x0, 0x2, 0xF0, 0x0, 0x0, 0x4, 0xE2, 0x0, 0x0, 0x4, 0xE9, 0x0, 0x0, 0xA, 0x56, 0x0, 0x0, 0x4, 0xEA, 0x0, 0x0, 0x4, 0xF5, 0x0, 0x0, 0xA, 0x5F, 0x0, 0x0, 0x4, 0xF6, 0x0, 0x0, 0x4, 0xF7, 0x0, 0x0, 0xA, 0xCB, 0x0, 0x0, 0x4, 0xF8, 0x0, 0x0, 0x4, 0xF9, 0x0, 0x0, 0xA, 0x6B, 0x0, 0x0, 0x4, 0xFA, 0x0, 0x0, 0x4, 0xFD, 0x0, 0x0, 0x2, 0xF2, 0x0, 0x0, 0x4, 0xFE, 0x0, 0x0, 0x4, 0xFF, 0x0, 0x0, 0xA, 0xD8, 0x0, 0x0, 0x5, 0x0, 0x0, 0x0, 0x5, 0x0, 0x0, 0x0, 0x2, 0xF6, 0x0, 0x0, 0x5, 0x1, 0x0, 0x0, 0x5, 0x1, 0x0, 0x0, 0xA, 0x6D, 0x0, 0x0, 0x5, 0x2, 0x0, 0x0, 0x5, 0x10, 0x0, 0x0, 0x2, 0xF7, 0x0, 0x0, 0x5, 0x11, 0x0, 0x0, 0x5, 0x11, 0x0, 0x0, 0xA, 0xDA, 0x0, 0x0, 0x5, 0x12, 0x0, 0x0, 0x5, 0x19, 0x0, 0x0, 0x3, 0x6, 0x0, 0x0, 0x5, 0x1A, 0x0, 0x0, 0x5, 0x1D, 0x0, 0x0, 0xB, 0x49, 0x0, 0x0, 0x5, 0x1E, 0x0, 0x0, 0x5, 0x2F, 0x0, 0x0, 0x3, 0xE, 0x0, 0x0, 0x1A, 0xB0, 0x0, 0x0, 0x1A, 0xBE, 0x0, 0x0, 0x3, 0x20, 0x0, 0x0, 0x1D, 0x0, 0x0, 0x0, 0x1D, 0xF5, 0x0, 0x0, 0x3, 0x2F, 0x0, 0x0, 0x1D, 0xFC, 0x0, 0x0, 0x1D, 0xFF, 0x0, 0x0, 0x4, 0x25, 0x0, 0x0, 0x1E, 0x0, 0x0, 0x0, 0x1E, 0x1, 0x0, 0x0, 0xA, 0x31, 0x0, 0x0, 0x1E, 0x2, 0x0, 0x0, 0x1E, 0x27, 0x0, 0x0, 0xB, 0x4D, 0x0, 0x0, 0x1E, 0x28, 0x0, 0x0, 0x1E, 0x29, 0x0, 0x0, 0x4, 0x29, 0x0, 0x0, 0x1E, 0x2A, 0x0, 0x0, 0x1E, 0x2B, 0x0, 0x0, 0xB, 0x73, 0x0, 0x0, 0x1E, 0x2C, 0x0, 0x0, 0x1E, 0x2F, 0x0, 0x0, 0x4, 0x2B, 0x0, 0x0, 0x1E, 0x30, 0x0, 0x0, 0x1E, 0x3D, 0x0, 0x0, 0xB, 0x75, 0x0, 0x0, 0x1E, 0x3E, 0x0, 0x0, 0x1E, 0x3F, 0x0, 0x0, 0xA, 0x2F, 0x0, 0x0, 0x1E, 0x40, 0x0, 0x0, 0x1E, 0x7F, 0x0, 0x0, 0xB, 0x83, 0x0, 0x0, 0x1E, 0x80, 0x0, 0x0, 0x1E, 0x85, 0x0, 0x0, 0xA, 0x22, 0x0, 0x0, 0x1E, 0x86, 0x0, 0x0, 0x1E, 0x9A, 0x0, 0x0, 0xB, 0xC3, 0x0, 0x0, 0x1E, 0x9B, 0x0, 0x0, 0x1E, 0x9F, 0x0, 0x0, 0x4, 0x2F, 0x0, 0x0, 0x1E, 0xA0, 0x0, 0x0, 0x1E, 0xF1, 0x0, 0x0, 0xA, 0x6E, 0x0, 0x0, 0x1E, 0xF2, 0x0, 0x0, 0x1E, 0xF3, 0x0, 0x0, 0xA, 0x28, 0x0, 0x0, 0x1E, 0xF4, 0x0, 0x0, 0x1E, 0xF9, 0x0, 0x0, 0xA, 0xC0, 0x0, 0x0, 0x1E, 0xFA, 0x0, 0x0, 0x1E, 0xFF, 0x0, 0x0, 0x4, 0x34, 0x0, 0x0, 0x1F, 0x0, 0x0, 0x0, 0x1F, 0x15, 0x0, 0x0, 0xB, 0xD8, 0x0, 0x0, 0x1F, 0x18, 0x0, 0x0, 0x1F, 0x1D, 0x0, 0x0, 0xB, 0xEE, 0x0, 0x0, 0x1F, 0x20, 0x0, 0x0, 0x1F, 0x45, 0x0, 0x0, 0xB, 0xF4, 0x0, 0x0, 0x1F, 0x48, 0x0, 0x0, 0x1F, 0x4D, 0x0, 0x0, 0xC, 0x1A, 0x0, 0x0, 0x1F, 0x50, 0x0, 0x0, 0x1F, 0x57, 0x0, 0x0, 0xC, 0x20, 0x0, 0x0, 0x1F, 0x59, 0x0, 0x0, 0x1F, 0x59, 0x0, 0x0, 0xC, 0x28, 0x0, 0x0, 0x1F, 0x5B, 0x0, 0x0, 0x1F, 0x5B, 0x0, 0x0, 0xC, 0x29, 0x0, 0x0, 0x1F, 0x5D, 0x0, 0x0, 0x1F, 0x5D, 0x0, 0x0, 0xC, 0x2A, 0x0, 0x0, 0x1F, 0x5F, 0x0, 0x0, 0x1F, 0x7D, 0x0, 0x0, 0xC, 0x2B, 0x0, 0x0, 0x1F, 0x80, 0x0, 0x0, 0x1F, 0xB4, 0x0, 0x0, 0xC, 0x4A, 0x0, 0x0, 0x1F, 0xB6, 0x0, 0x0, 0x1F, 0xBC, 0x0, 0x0, 0xC, 0x7F, 0x0, 0x0, 0x1F, 0xBD, 0x0, 0x0, 0x1F, 0xC1, 0x0, 0x0, 0x4, 0x3A, 0x0, 0x0, 0x1F, 0xC2, 0x0, 0x0, 0x1F, 0xC4, 0x0, 0x0, 0xC, 0x86, 0x0, 0x0, 0x1F, 0xC6, 0x0, 0x0, 0x1F, 0xCC, 0x0, 0x0, 0xC, 0x89, 0x0, 0x0, 0x1F, 0xCD, 0x0, 0x0, 0x1F, 0xCF, 0x0, 0x0, 0x4, 0x3F, 0x0, 0x0, 0x1F, 0xD0, 0x0, 0x0, 0x1F, 0xD3, 0x0, 0x0, 0xC, 0x90, 0x0, 0x0, 0x1F, 0xD6, 0x0, 0x0, 0x1F, 0xDB, 0x0, 0x0, 0xC, 0x94, 0x0, 0x0, 0x1F, 0xDD, 0x0, 0x0, 0x1F, 0xDF, 0x0, 0x0, 0x4, 0x42, 0x0, 0x0, 0x1F, 0xE0, 0x0, 0x0, 0x1F, 0xEC, 0x0, 0x0, 0xC, 0x9A, 0x0, 0x0, 0x1F, 0xED, 0x0, 0x0, 0x1F, 0xEF, 0x0, 0x0, 0x4, 0x45, 0x0, 0x0, 0x1F, 0xF2, 0x0, 0x0, 0x1F, 0xF4, 0x0, 0x0, 0xC, 0xA7, 0x0, 0x0, 0x1F, 0xF6, 0x0, 0x0, 0x1F, 0xFC, 0x0, 0x0, 0xC, 0xAA, 0x0, 0x0, 0x1F, 0xFD, 0x0, 0x0, 0x1F, 0xFE, 0x0, 0x0, 0x4, 0x48, 0x0, 0x0, 0x20, 0x0, 0x0, 0x0, 0x20, 0x9, 0x0, 0x0, 0x4, 0x4A, 0x0, 0x0, 0x20, 0xA, 0x0, 0x0, 0x20, 0x14, 0x0, 0x0, 0x4, 0x55, 0x0, 0x0, 0x20, 0x15, 0x0, 0x0, 0x20, 0x15, 0x0, 0x0, 0xA, 0xDC, 0x0, 0x0, 0x20, 0x16, 0x0, 0x0, 0x20, 0x27, 0x0, 0x0, 0x4, 0x60, 0x0, 0x0, 0x20, 0x2F, 0x0, 0x0, 0x20, 0x2F, 0x0, 0x0, 0xC, 0xB1, 0x0, 0x0, 0x20, 0x30, 0x0, 0x0, 0x20, 0x31, 0x0, 0x0, 0x4, 0x72, 0x0, 0x0, 0x20, 0x32, 0x0, 0x0, 0x20, 0x33, 0x0, 0x0, 0xA, 0x2A, 0x0, 0x0, 0x20, 0x34, 0x0, 0x0, 0x20, 0x3B, 0x0, 0x0, 0x4, 0x74, 0x0, 0x0, 0x20, 0x3C, 0x0, 0x0, 0x20, 0x3C, 0x0, 0x0, 0xA, 0x2C, 0x0, 0x0, 0x20, 0x3D, 0x0, 0x0, 0x20, 0x46, 0x0, 0x0, 0x4, 0x7C, 0x0, 0x0, 0x20, 0x47, 0x0, 0x0, 0x20, 0x49, 0x0, 0x0, 0xC, 0xB2, 0x0, 0x0, 0x20, 0x4A, 0x0, 0x0, 0x20, 0x5E, 0x0, 0x0, 0x4, 0x86, 0x0, 0x0, 0x20, 0x5F, 0x0, 0x0, 0x20, 0x5F, 0x0, 0x0, 0xC, 0xB5, 0x0, 0x0, 0x20, 0x70, 0x0, 0x0, 0x20, 0x71, 0x0, 0x0, 0x4, 0x9B, 0x0, 0x0, 0x20, 0x74, 0x0, 0x0, 0x20, 0x8E, 0x0, 0x0, 0x4, 0x9D, 0x0, 0x0, 0x20, 0x90, 0x0, 0x0, 0x20, 0x9C, 0x0, 0x0, 0x4, 0xB8, 0x0, 0x0, 0x20, 0xA0, 0x0, 0x0, 0x20, 0xA2, 0x0, 0x0, 0x4, 0xC5, 0x0, 0x0, 0x20, 0xA3, 0x0, 0x0, 0x20, 0xA3, 0x0, 0x0, 0xA, 0xDB, 0x0, 0x0, 0x20, 0xA4, 0x0, 0x0, 0x20, 0xAA, 0x0, 0x0, 0x4, 0xC8, 0x0, 0x0, 0x20, 0xAB, 0x0, 0x0, 0x20, 0xAB, 0x0, 0x0, 0xA, 0xC6, 0x0, 0x0, 0x20, 0xAC, 0x0, 0x0, 0x20, 0xBE, 0x0, 0x0, 0x4, 0xCF, 0x0, 0x0, 0x20, 0xDB, 0x0, 0x0, 0x20, 0xDC, 0x0, 0x0, 0x4, 0xE2, 0x0, 0x0, 0x20, 0xE8, 0x0, 0x0, 0x20, 0xE8, 0x0, 0x0, 0x4, 0xE4, 0x0, 0x0, 0x20, 0xF0, 0x0, 0x0, 0x20, 0xF0, 0x0, 0x0, 0x4, 0xE5, 0x0, 0x0, 0x21, 0x0, 0x0, 0x0, 0x21, 0x1, 0x0, 0x0, 0x4, 0xE6, 0x0, 0x0, 0x21, 0x3, 0x0, 0x0, 0x21, 0x3, 0x0, 0x0, 0x4, 0xE8, 0x0, 0x0, 0x21, 0x5, 0x0, 0x0, 0x21, 0x6, 0x0, 0x0, 0x4, 0xE9, 0x0, 0x0, 0x21, 0x9, 0x0, 0x0, 0x21, 0x9, 0x0, 0x0, 0x4, 0xEB, 0x0, 0x0, 0x21, 0x13, 0x0, 0x0, 0x21, 0x13, 0x0, 0x0, 0x4, 0xEC, 0x0, 0x0, 0x21, 0x16, 0x0, 0x0, 0x21, 0x17, 0x0, 0x0, 0x4, 0xED, 0x0, 0x0, 0x21, 0x1E, 0x0, 0x0, 0x21, 0x23, 0x0, 0x0, 0x4, 0xEF, 0x0, 0x0, 0x21, 0x25, 0x0, 0x0, 0x21, 0x25, 0x0, 0x0, 0x4, 0xF5, 0x0, 0x0, 0x21, 0x26, 0x0, 0x0, 0x21, 0x26, 0x0, 0x0, 0x2, 0x39, 0x0, 0x0, 0x21, 0x2A, 0x0, 0x0, 0x21, 0x2B, 0x0, 0x0, 0x4, 0xF6, 0x0, 0x0, 0x21, 0x2E, 0x0, 0x0, 0x21, 0x2E, 0x0, 0x0, 0x4, 0xF8, 0x0, 0x0, 0x21, 0x32, 0x0, 0x0, 0x21, 0x32, 0x0, 0x0, 0x4, 0xF9, 0x0, 0x0, 0x21, 0x3B, 0x0, 0x0, 0x21, 0x3B, 0x0, 0x0, 0x4, 0xFA, 0x0, 0x0, 0x21, 0x4D, 0x0, 0x0, 0x21, 0x4D, 0x0, 0x0, 0x4, 0xFB, 0x0, 0x0, 0x21, 0x4F, 0x0, 0x0, 0x21, 0x89, 0x0, 0x0, 0x4, 0xFC, 0x0, 0x0, 0x22, 0x2, 0x0, 0x0, 0x22, 0x2, 0x0, 0x0, 0x5, 0x37, 0x0, 0x0, 0x22, 0x6, 0x0, 0x0, 0x22, 0x6, 0x0, 0x0, 0x2, 0x31, 0x0, 0x0, 0x22, 0xF, 0x0, 0x0, 0x22, 0xF, 0x0, 0x0, 0x5, 0x38, 0x0, 0x0, 0x22, 0x11, 0x0, 0x0, 0x22, 0x12, 0x0, 0x0, 0x5, 0x39, 0x0, 0x0, 0x22, 0x1A, 0x0, 0x0, 0x22, 0x1A, 0x0, 0x0, 0x5, 0x3B, 0x0, 0x0, 0x22, 0x1E, 0x0, 0x0, 0x22, 0x1E, 0x0, 0x0, 0x5, 0x3C, 0x0, 0x0, 0x22, 0x2B, 0x0, 0x0, 0x22, 0x2B, 0x0, 0x0, 0x5, 0x3D, 0x0, 0x0, 0x22, 0x48, 0x0, 0x0, 0x22, 0x48, 0x0, 0x0, 0x5, 0x3E, 0x0, 0x0, 0x22, 0x60, 0x0, 0x0, 0x22, 0x60, 0x0, 0x0, 0x5, 0x3F, 0x0, 0x0, 0x22, 0x64, 0x0, 0x0, 0x22, 0x65, 0x0, 0x0, 0x5, 0x40, 0x0, 0x0, 0x24, 0x23, 0x0, 0x0, 0x24, 0x23, 0x0, 0x0, 0x5, 0x42, 0x0, 0x0, 0x25, 0xCA, 0x0, 0x0, 0x25, 0xCA, 0x0, 0x0, 0x5, 0x43, 0x0, 0x0, 0x27, 0xE6, 0x0, 0x0, 0x27, 0xEF, 0x0, 0x0, 0x5, 0x44, 0x0, 0x0, 0x2B, 0x4E, 0x0, 0x0, 0x2B, 0x4F, 0x0, 0x0, 0x5, 0x4E, 0x0, 0x0, 0x2B, 0x5A, 0x0, 0x0, 0x2B, 0x5F, 0x0, 0x0, 0x5, 0x50, 0x0, 0x0, 0x2C, 0x60, 0x0, 0x0, 0x2C, 0x7F, 0x0, 0x0, 0x5, 0x56, 0x0, 0x0, 0x2D, 0xE0, 0x0, 0x0, 0x2E, 0x42, 0x0, 0x0, 0x5, 0x76, 0x0, 0x0, 0xA6, 0x40, 0x0, 0x0, 0xA6, 0x9D, 0x0, 0x0, 0x5, 0xD9, 0x0, 0x0, 0xA6, 0x9F, 0x0, 0x0, 0xA6, 0x9F, 0x0, 0x0, 0x6, 0x37, 0x0, 0x0, 0xA7, 0x0, 0x0, 0x0, 0xA7, 0x8E, 0x0, 0x0, 0x6, 0x38, 0x0, 0x0, 0xA7, 0x8F, 0x0, 0x0, 0xA7, 0x8F, 0x0, 0x0, 0xC, 0xB6, 0x0, 0x0, 0xA7, 0x90, 0x0, 0x0, 0xA7, 0xAD, 0x0, 0x0, 0x6, 0xC7, 0x0, 0x0, 0xA7, 0xB0, 0x0, 0x0, 0xA7, 0xB1, 0x0, 0x0, 0x6, 0xE5, 0x0, 0x0, 0xA7, 0xF7, 0x0, 0x0, 0xA7, 0xFF, 0x0, 0x0, 0x6, 0xE7, 0x0, 0x0, 0xA9, 0x2E, 0x0, 0x0, 0xA9, 0x2E, 0x0, 0x0, 0x6, 0xF0, 0x0, 0x0, 0xAB, 0x30, 0x0, 0x0, 0xAB, 0x5F, 0x0, 0x0, 0x6, 0xF1, 0x0, 0x0, 0xAB, 0x64, 0x0, 0x0, 0xAB, 0x65, 0x0, 0x0, 0x7, 0x21, 0x0, 0x0, 0xEE, 0x1, 0x0, 0x0, 0xEE, 0x2, 0x0, 0x0, 0x7, 0x23, 0x0, 0x0, 0xF6, 0xC3, 0x0, 0x0, 0xF6, 0xC3, 0x0, 0x0, 0x7, 0x25, 0x0, 0x0, 0xFB, 0x0, 0x0, 0x0, 0xFB, 0x6, 0x0, 0x0, 0x7, 0x26, 0x0, 0x0, 0xFE, 0x20, 0x0, 0x0, 0xFE, 0x2D, 0x0, 0x0, 0x7, 0x2D, 0x0, 0x0, 0xFE, 0xFF, 0x0, 0x0, 0xFE, 0xFF, 0x0, 0x0, 0x7, 0x3B, 0x0, 0x0, 0xFF, 0xFC, 0x0, 0x0, 0xFF, 0xFD, 0x0, 0x0, 0x7, 0x3C, 0x0, 0x1, 0xF1, 0x6A, 0x0, 0x1, 0xF1, 0x6B, 0x0, 0x0, 0x7, 0x3E, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x55, 0x0, 0x0, 0x0, 0x55, 0x0, 0x0, 0x0, 0x55, 0x0, 0x0, 0x0, 0x55, 0x0, 0x0, 0x0, 0x55, 0x0, 0x0, 0x0, 0x55, 0x0, 0x0, 0x0, 0x8E, 0x0, 0x0, 0x0, 0xBA, 0x0, 0x0, 0x1, 0x29, 0x0, 0x0, 0x1, 0xA5, 0x0, 0x0, 0x2, 0x4B, 0x0, 0x0, 0x2, 0xEE, 0x0, 0x0, 0x3, 0x9, 0x0, 0x0, 0x3, 0x51, 0x0, 0x0, 0x3, 0x9B, 0x0, 0x0, 0x3, 0xE0, 0x0, 0x0, 0x4, 0x11, 0x0, 0x0, 0x4, 0x3A, 0x0, 0x0, 0x4, 0x54, 0x0, 0x0, 0x4, 0x77, 0x0, 0x0, 0x4, 0x96, 0x0, 0x0, 0x4, 0xFA, 0x0, 0x0, 0x5, 0x1F, 0x0, 0x0, 0x5, 0x73, 0x0, 0x0, 0x5, 0xE2, 0x0, 0x0, 0x6, 0x21, 0x0, 0x0, 0x6, 0x7F, 0x0, 0x0, 0x6, 0xEE, 0x0, 0x0, 0x7, 0x15, 0x0, 0x0, 0x7, 0x9F, 0x0, 0x0, 0x8, 0xD, 0x0, 0x0, 0x8, 0x25, 0x0, 0x0, 0x8, 0x3D, 0x0, 0x0, 0x8, 0x65, 0x0, 0x0, 0x8, 0x8D, 0x0, 0x0, 0x8, 0xB1, 0x0, 0x0, 0x9, 0x19, 0x0, 0x0, 0x9, 0xE8, 0x0, 0x0, 0xA, 0x24, 0x0, 0x0, 0xA, 0x8E, 0x0, 0x0, 0xA, 0xF2, 0x0, 0x0, 0xB, 0x41, 0x0, 0x0, 0xB, 0x6F, 0x0, 0x0, 0xB, 0x9B, 0x0, 0x0, 0xC, 0x8, 0x0, 0x0, 0xC, 0x37, 0x0, 0x0, 0xC, 0x52, 0x0, 0x0, 0xC, 0x8A, 0x0, 0x0, 0xC, 0xC5, 0x0, 0x0, 0xC, 0xE2, 0x0, 0x0, 0xD, 0x25, 0x0, 0x0, 0xD, 0x54, 0x0, 0x0, 0xD, 0xBC, 0x0, 0x0, 0xE, 0x6, 0x0, 0x0, 0xE, 0x7A, 0x0, 0x0, 0xE, 0xD3, 0x0, 0x0, 0xF, 0x47, 0x0, 0x0, 0xF, 0x6D, 0x0, 0x0, 0xF, 0xAB, 0x0, 0x0, 0xF, 0xD6, 0x0, 0x0, 0x10, 0x15, 0x0, 0x0, 0x10, 0x58, 0x0, 0x0, 0x10, 0x89, 0x0, 0x0, 0x10, 0xB4, 0x0, 0x0, 0x10, 0xD8, 0x0, 0x0, 0x10, 0xF6, 0x0, 0x0, 0x11, 0x1A, 0x0, 0x0, 0x11, 0x43, 0x0, 0x0, 0x11, 0x5B, 0x0, 0x0, 0x11, 0x79, 0x0, 0x0, 0x11, 0xEB, 0x0, 0x0, 0x12, 0x43, 0x0, 0x0, 0x12, 0x9A, 0x0, 0x0, 0x12, 0xF4, 0x0, 0x0, 0x13, 0x58, 0x0, 0x0, 0x13, 0x9A, 0x0, 0x0, 0x14, 0x11, 0x0, 0x0, 0x14, 0x50, 0x0, 0x0, 0x14, 0x86, 0x0, 0x0, 0x14, 0xCE, 0x0, 0x0, 0x15, 0x9, 0x0, 0x0, 0x15, 0x24, 0x0, 0x0, 0x15, 0x84, 0x0, 0x0, 0x15, 0xC3, 0x0, 0x0, 0x16, 0x1F, 0x0, 0x0, 0x16, 0x78, 0x0, 0x0, 0x16, 0xD3, 0x0, 0x0, 0x17, 0x8, 0x0, 0x0, 0x17, 0x74, 0x0, 0x0, 0x17, 0xB8, 0x0, 0x0, 0x17, 0xF5, 0x0, 0x0, 0x18, 0x1C, 0x0, 0x0, 0x18, 0x57, 0x0, 0x0, 0x18, 0x97, 0x0, 0x0, 0x18, 0xDD, 0x0, 0x0, 0x19, 0x8, 0x0, 0x0, 0x19, 0x5A, 0x0, 0x0, 0x19, 0x75, 0x0, 0x0, 0x19, 0xC6, 0x0, 0x0, 0x1A, 0x11, 0x0, 0x0, 0x1A, 0x4B, 0x0, 0x0, 0x1A, 0xB2, 0x0, 0x0, 0x1B, 0x12, 0x0, 0x0, 0x1B, 0x92, 0x0, 0x0, 0x1B, 0xE7, 0x0, 0x0, 0x1C, 0xF, 0x0, 0x0, 0x1C, 0xBE, 0x0, 0x0, 0x1D, 0xA, 0x0, 0x0, 0x1D, 0xBE, 0x0, 0x0, 0x1E, 0x29, 0x0, 0x0, 0x1E, 0x41, 0x0, 0x0, 0x1E, 0x61, 0x0, 0x0, 0x1F, 0x25, 0x0, 0x0, 0x1F, 0x3F, 0x0, 0x0, 0x1F, 0x82, 0x0, 0x0, 0x1F, 0xC0, 0x0, 0x0, 0x20, 0x9, 0x0, 0x0, 0x20, 0x70, 0x0, 0x0, 0x20, 0x8E, 0x0, 0x0, 0x20, 0xCF, 0x0, 0x0, 0x20, 0xFA, 0x0, 0x0, 0x21, 0x22, 0x0, 0x0, 0x21, 0x56, 0x0, 0x0, 0x21, 0x7A, 0x0, 0x0, 0x21, 0xCB, 0x0, 0x0, 0x21, 0xE3, 0x0, 0x0, 0x22, 0x5, 0x0, 0x0, 0x22, 0x27, 0x0, 0x0, 0x22, 0x49, 0x0, 0x0, 0x22, 0xB1, 0x0, 0x0, 0x23, 0x4, 0x0, 0x0, 0x23, 0x47, 0x0, 0x0, 0x23, 0xD4, 0x0, 0x0, 0x24, 0x20, 0x0, 0x0, 0x24, 0x9D, 0x0, 0x0, 0x25, 0x4E, 0x0, 0x0, 0x25, 0xD5, 0x0, 0x0, 0x26, 0x28, 0x0, 0x0, 0x26, 0xAF, 0x0, 0x0, 0x27, 0x8, 0x0, 0x0, 0x27, 0x71, 0x0, 0x0, 0x27, 0xC2, 0x0, 0x0, 0x27, 0xDD, 0x0, 0x0, 0x28, 0x16, 0x0, 0x0, 0x28, 0x49, 0x0, 0x0, 0x28, 0x77, 0x0, 0x0, 0x28, 0xBF, 0x0, 0x0, 0x29, 0x15, 0x0, 0x0, 0x29, 0x87, 0x0, 0x0, 0x2A, 0x33, 0x0, 0x0, 0x2A, 0x61, 0x0, 0x0, 0x2A, 0x79, 0x0, 0x0, 0x2A, 0xFF, 0x0, 0x0, 0x2B, 0x15, 0x0, 0x0, 0x2B, 0x75, 0x0, 0x0, 0x2B, 0xC2, 0x0, 0x0, 0x2C, 0x23, 0x0, 0x0, 0x2C, 0x87, 0x0, 0x0, 0x2D, 0x0, 0x0, 0x0, 0x2D, 0x6F, 0x0, 0x0, 0x2D, 0x85, 0x0, 0x0, 0x2D, 0xEF, 0x0, 0x0, 0x2E, 0x3A, 0x0, 0x0, 0x2E, 0x9A, 0x0, 0x0, 0x2F, 0x15, 0x0, 0x0, 0x2F, 0x43, 0x0, 0x0, 0x2F, 0xAF, 0x0, 0x0, 0x30, 0x23, 0x0, 0x0, 0x30, 0x64, 0x0, 0x0, 0x30, 0xC1, 0x0, 0x0, 0x31, 0x41, 0x0, 0x0, 0x31, 0x9D, 0x0, 0x0, 0x31, 0xFD, 0x0, 0x0, 0x32, 0x13, 0x0, 0x0, 0x32, 0x66, 0x0, 0x0, 0x32, 0xB9, 0x0, 0x0, 0x32, 0xCF, 0x0, 0x0, 0x33, 0x3A, 0x0, 0x0, 0x33, 0x99, 0x0, 0x0, 0x33, 0xDD, 0x0, 0x0, 0x34, 0x54, 0x0, 0x0, 0x34, 0xC3, 0x0, 0x0, 0x35, 0x38, 0x0, 0x0, 0x35, 0x9F, 0x0, 0x0, 0x36, 0x5, 0x0, 0x0, 0x36, 0x77, 0x0, 0x0, 0x36, 0xD6, 0x0, 0x0, 0x37, 0x49, 0x0, 0x0, 0x37, 0xB7, 0x0, 0x0, 0x37, 0xC7, 0x0, 0x0, 0x38, 0x2C, 0x0, 0x0, 0x38, 0x89, 0x0, 0x0, 0x38, 0xC6, 0x0, 0x0, 0x39, 0x21, 0x0, 0x0, 0x39, 0x5C, 0x0, 0x0, 0x39, 0xAE, 0x0, 0x0, 0x39, 0xFF, 0x0, 0x0, 0x3A, 0x6E, 0x0, 0x0, 0x3A, 0xC4, 0x0, 0x0, 0x3B, 0xC, 0x0, 0x0, 0x3B, 0x71, 0x0, 0x0, 0x3B, 0xB6, 0x0, 0x0, 0x3B, 0xF4, 0x0, 0x0, 0x3C, 0x52, 0x0, 0x0, 0x3C, 0xB0, 0x0, 0x0, 0x3D, 0xB, 0x0, 0x0, 0x3D, 0x7E, 0x0, 0x0, 0x3D, 0xE0, 0x0, 0x0, 0x3E, 0x42, 0x0, 0x0, 0x3E, 0xA8, 0x0, 0x0, 0x3F, 0x8, 0x0, 0x0, 0x3F, 0x60, 0x0, 0x0, 0x3F, 0x7B, 0x0, 0x0, 0x3F, 0x93, 0x0, 0x0, 0x3F, 0xB3, 0x0, 0x0, 0x3F, 0xC3, 0x0, 0x0, 0x3F, 0xE3, 0x0, 0x0, 0x40, 0x6F, 0x0, 0x0, 0x41, 0x6, 0x0, 0x0, 0x41, 0x84, 0x0, 0x0, 0x42, 0x7, 0x0, 0x0, 0x42, 0x1F, 0x0, 0x0, 0x42, 0x97, 0x0, 0x0, 0x42, 0xEE, 0x0, 0x0, 0x43, 0x4A, 0x0, 0x0, 0x43, 0xB6, 0x0, 0x0, 0x44, 0x1B, 0x0, 0x0, 0x44, 0x58, 0x0, 0x0, 0x44, 0xEE, 0x0, 0x0, 0x45, 0x79, 0x0, 0x0, 0x46, 0x7, 0x0, 0x0, 0x46, 0x4E, 0x0, 0x0, 0x46, 0x93, 0x0, 0x0, 0x46, 0xEC, 0x0, 0x0, 0x47, 0x69, 0x0, 0x0, 0x47, 0xD1, 0x0, 0x0, 0x48, 0x1, 0x0, 0x0, 0x48, 0x97, 0x0, 0x0, 0x49, 0x2F, 0x0, 0x0, 0x49, 0x93, 0x0, 0x0, 0x4A, 0x22, 0x0, 0x0, 0x4A, 0xA4, 0x0, 0x0, 0x4A, 0xBA, 0x0, 0x0, 0x4B, 0x6, 0x0, 0x0, 0x4B, 0x94, 0x0, 0x0, 0x4B, 0xE8, 0x0, 0x0, 0x4C, 0x35, 0x0, 0x0, 0x4C, 0x7A, 0x0, 0x0, 0x4C, 0x92, 0x0, 0x0, 0x4C, 0xED, 0x0, 0x0, 0x4D, 0x17, 0x0, 0x0, 0x4D, 0x7C, 0x0, 0x0, 0x4E, 0x15, 0x0, 0x0, 0x4E, 0x2D, 0x0, 0x0, 0x4E, 0x45, 0x0, 0x0, 0x4E, 0xC5, 0x0, 0x0, 0x4F, 0x37, 0x0, 0x0, 0x4F, 0x99, 0x0, 0x0, 0x4F, 0xB1, 0x0, 0x0, 0x50, 0x6, 0x0, 0x0, 0x50, 0x6E, 0x0, 0x0, 0x50, 0xE5, 0x0, 0x0, 0x51, 0x4F, 0x0, 0x0, 0x51, 0xB9, 0x0, 0x0, 0x52, 0x2B, 0x0, 0x0, 0x52, 0x82, 0x0, 0x0, 0x53, 0x2, 0x0, 0x0, 0x53, 0x74, 0x0, 0x0, 0x53, 0xE6, 0x0, 0x0, 0x54, 0x4A, 0x0, 0x0, 0x54, 0xB1, 0x0, 0x0, 0x55, 0x33, 0x0, 0x0, 0x55, 0x43, 0x0, 0x0, 0x55, 0xB0, 0x0, 0x0, 0x56, 0x40, 0x0, 0x0, 0x56, 0xB0, 0x0, 0x0, 0x56, 0xEF, 0x0, 0x0, 0x57, 0x7E, 0x0, 0x0, 0x57, 0x8E, 0x0, 0x0, 0x57, 0xED, 0x0, 0x0, 0x58, 0x4B, 0x0, 0x0, 0x58, 0xCC, 0x0, 0x0, 0x59, 0x9, 0x0, 0x0, 0x59, 0x60, 0x0, 0x0, 0x59, 0xCF, 0x0, 0x0, 0x59, 0xE7, 0x0, 0x0, 0x5A, 0x18, 0x0, 0x0, 0x5A, 0x43, 0x0, 0x0, 0x5A, 0x5B, 0x0, 0x0, 0x5A, 0xAE, 0x0, 0x0, 0x5A, 0xDF, 0x0, 0x0, 0x5B, 0x42, 0x0, 0x0, 0x5B, 0xA3, 0x0, 0x0, 0x5C, 0x5, 0x0, 0x0, 0x5C, 0x7C, 0x0, 0x0, 0x5C, 0xD2, 0x0, 0x0, 0x5D, 0x29, 0x0, 0x0, 0x5D, 0x55, 0x0, 0x0, 0x5D, 0xC5, 0x0, 0x0, 0x5E, 0x49, 0x0, 0x0, 0x5E, 0xBB, 0x0, 0x0, 0x5E, 0xEE, 0x0, 0x0, 0x5F, 0x21, 0x0, 0x0, 0x5F, 0x6D, 0x0, 0x0, 0x5F, 0xA2, 0x0, 0x0, 0x5F, 0xEF, 0x0, 0x0, 0x60, 0x1F, 0x0, 0x0, 0x60, 0x51, 0x0, 0x0, 0x60, 0x9E, 0x0, 0x0, 0x60, 0xE5, 0x0, 0x0, 0x61, 0x6E, 0x0, 0x0, 0x61, 0xB4, 0x0, 0x0, 0x61, 0xCC, 0x0, 0x0, 0x62, 0x14, 0x0, 0x0, 0x62, 0x81, 0x0, 0x0, 0x62, 0xC6, 0x0, 0x0, 0x63, 0xB, 0x0, 0x0, 0x63, 0x68, 0x0, 0x0, 0x63, 0xEE, 0x0, 0x0, 0x64, 0x3D, 0x0, 0x0, 0x64, 0x64, 0x0, 0x0, 0x64, 0xB2, 0x0, 0x0, 0x64, 0xF7, 0x0, 0x0, 0x65, 0x27, 0x0, 0x0, 0x65, 0x73, 0x0, 0x0, 0x65, 0xDA, 0x0, 0x0, 0x66, 0x38, 0x0, 0x0, 0x66, 0xBD, 0x0, 0x0, 0x67, 0xB, 0x0, 0x0, 0x67, 0x5C, 0x0, 0x0, 0x67, 0xAC, 0x0, 0x0, 0x68, 0x5, 0x0, 0x0, 0x68, 0x8D, 0x0, 0x0, 0x69, 0x0, 0x0, 0x0, 0x69, 0x75, 0x0, 0x0, 0x69, 0xDF, 0x0, 0x0, 0x6A, 0x1C, 0x0, 0x0, 0x6A, 0x39, 0x0, 0x0, 0x6A, 0xAB, 0x0, 0x0, 0x6B, 0x9, 0x0, 0x0, 0x6B, 0x21, 0x0, 0x0, 0x6B, 0x98, 0x0, 0x0, 0x6C, 0x3E, 0x0, 0x0, 0x6C, 0xEF, 0x0, 0x0, 0x6D, 0x7C, 0x0, 0x0, 0x6D, 0xFB, 0x0, 0x0, 0x6E, 0xA6, 0x0, 0x0, 0x6F, 0x2A, 0x0, 0x0, 0x6F, 0x9E, 0x0, 0x0, 0x6F, 0xD5, 0x0, 0x0, 0x70, 0x3B, 0x0, 0x0, 0x70, 0x7C, 0x0, 0x0, 0x70, 0xD3, 0x0, 0x0, 0x71, 0x44, 0x0, 0x0, 0x71, 0x80, 0x0, 0x0, 0x71, 0xCC, 0x0, 0x0, 0x72, 0x15, 0x0, 0x0, 0x72, 0x49, 0x0, 0x0, 0x72, 0x7D, 0x0, 0x0, 0x72, 0xC3, 0x0, 0x0, 0x73, 0xC, 0x0, 0x0, 0x73, 0x4D, 0x0, 0x0, 0x73, 0x90, 0x0, 0x0, 0x73, 0xAC, 0x0, 0x0, 0x73, 0xC4, 0x0, 0x0, 0x73, 0xEB, 0x0, 0x0, 0x74, 0x12, 0x0, 0x0, 0x74, 0x40, 0x0, 0x0, 0x74, 0x6F, 0x0, 0x0, 0x74, 0xBC, 0x0, 0x0, 0x75, 0x4, 0x0, 0x0, 0x75, 0x33, 0x0, 0x0, 0x75, 0x5E, 0x0, 0x0, 0x75, 0x8C, 0x0, 0x0, 0x75, 0xBB, 0x0, 0x0, 0x75, 0xE6, 0x0, 0x0, 0x76, 0x11, 0x0, 0x0, 0x76, 0x2B, 0x0, 0x0, 0x76, 0x3B, 0x0, 0x0, 0x76, 0x4B, 0x0, 0x0, 0x76, 0x5B, 0x0, 0x0, 0x76, 0x74, 0x0, 0x0, 0x76, 0x86, 0x0, 0x0, 0x76, 0x98, 0x0, 0x0, 0x76, 0xAA, 0x0, 0x0, 0x76, 0xD2, 0x0, 0x0, 0x76, 0xEC, 0x0, 0x0, 0x76, 0xFE, 0x0, 0x0, 0x77, 0x2E, 0x0, 0x0, 0x77, 0x4F, 0x0, 0x0, 0x77, 0x6F, 0x0, 0x0, 0x77, 0x98, 0x0, 0x0, 0x77, 0xB2, 0x0, 0x0, 0x77, 0xE2, 0x0, 0x0, 0x78, 0xA, 0x0, 0x0, 0x78, 0x4D, 0x0, 0x0, 0x78, 0x87, 0x0, 0x0, 0x78, 0xCB, 0x0, 0x0, 0x78, 0xF6, 0x0, 0x0, 0x79, 0x29, 0x0, 0x0, 0x79, 0x5D, 0x0, 0x0, 0x79, 0xBA, 0x0, 0x0, 0x79, 0xD5, 0x0, 0x0, 0x7A, 0x38, 0x0, 0x0, 0x7A, 0x71, 0x0, 0x0, 0x7A, 0xB6, 0x0, 0x0, 0x7A, 0xD4, 0x0, 0x0, 0x7A, 0xF7, 0x0, 0x0, 0x7B, 0x1A, 0x0, 0x0, 0x7B, 0x3D, 0x0, 0x0, 0x7B, 0x5A, 0x0, 0x0, 0x7B, 0x77, 0x0, 0x0, 0x7B, 0x9D, 0x0, 0x0, 0x7B, 0xC7, 0x0, 0x0, 0x7B, 0xEE, 0x0, 0x0, 0x7C, 0x2F, 0x0, 0x0, 0x7C, 0x5C, 0x0, 0x0, 0x7C, 0x88, 0x0, 0x0, 0x7C, 0xB5, 0x0, 0x0, 0x7C, 0xDF, 0x0, 0x0, 0x7D, 0x21, 0x0, 0x0, 0x7D, 0x33, 0x0, 0x0, 0x7D, 0x4D, 0x0, 0x0, 0x7D, 0x67, 0x0, 0x0, 0x7D, 0xAA, 0x0, 0x0, 0x7D, 0xC4, 0x0, 0x0, 0x7D, 0xE3, 0x0, 0x0, 0x7E, 0x2, 0x0, 0x0, 0x7E, 0x1F, 0x0, 0x0, 0x7E, 0x3D, 0x0, 0x0, 0x7E, 0x60, 0x0, 0x0, 0x7E, 0x7E, 0x0, 0x0, 0x7E, 0xAA, 0x0, 0x0, 0x7E, 0xC8, 0x0, 0x0, 0x7E, 0xE7, 0x0, 0x0, 0x7E, 0xF9, 0x0, 0x0, 0x7F, 0xB, 0x0, 0x0, 0x7F, 0x24, 0x0, 0x0, 0x7F, 0x36, 0x0, 0x0, 0x7F, 0x66, 0x0, 0x0, 0x7F, 0x8F, 0x0, 0x0, 0x7F, 0xDC, 0x0, 0x0, 0x80, 0xF, 0x0, 0x0, 0x80, 0x21, 0x0, 0x0, 0x80, 0x3B, 0x0, 0x0, 0x80, 0x65, 0x0, 0x0, 0x80, 0x77, 0x0, 0x0, 0x80, 0x91, 0x0, 0x0, 0x80, 0xBD, 0x0, 0x0, 0x81, 0x9, 0x0, 0x0, 0x81, 0x3A, 0x0, 0x0, 0x81, 0x62, 0x0, 0x0, 0x81, 0x76, 0x0, 0x0, 0x81, 0x9E, 0x0, 0x0, 0x81, 0xB2, 0x0, 0x0, 0x81, 0xCF, 0x0, 0x0, 0x81, 0xEE, 0x0, 0x0, 0x82, 0x11, 0x0, 0x0, 0x82, 0x35, 0x0, 0x0, 0x82, 0x53, 0x0, 0x0, 0x82, 0x7B, 0x0, 0x0, 0x82, 0xAA, 0x0, 0x0, 0x82, 0xCC, 0x0, 0x0, 0x82, 0xEE, 0x0, 0x0, 0x83, 0x17, 0x0, 0x0, 0x83, 0x31, 0x0, 0x0, 0x83, 0x61, 0x0, 0x0, 0x83, 0x92, 0x0, 0x0, 0x83, 0xB6, 0x0, 0x0, 0x83, 0xF2, 0x0, 0x0, 0x84, 0x35, 0x0, 0x0, 0x84, 0x5C, 0x0, 0x0, 0x84, 0x91, 0x0, 0x0, 0x84, 0xCB, 0x0, 0x0, 0x84, 0xE5, 0x0, 0x0, 0x85, 0xA, 0x0, 0x0, 0x85, 0x4F, 0x0, 0x0, 0x85, 0x78, 0x0, 0x0, 0x85, 0xA2, 0x0, 0x0, 0x85, 0xD1, 0x0, 0x0, 0x86, 0x1, 0x0, 0x0, 0x86, 0x44, 0x0, 0x0, 0x86, 0x5C, 0x0, 0x0, 0x86, 0x6E, 0x0, 0x0, 0x86, 0x94, 0x0, 0x0, 0x86, 0xA6, 0x0, 0x0, 0x86, 0xB8, 0x0, 0x0, 0x86, 0xD1, 0x0, 0x0, 0x86, 0xEF, 0x0, 0x0, 0x87, 0xD, 0x0, 0x0, 0x87, 0x3C, 0x0, 0x0, 0x87, 0x60, 0x0, 0x0, 0x87, 0x89, 0x0, 0x0, 0x87, 0xCE, 0x0, 0x0, 0x88, 0x2, 0x0, 0x0, 0x88, 0x3E, 0x0, 0x0, 0x88, 0x65, 0x0, 0x0, 0x88, 0x77, 0x0, 0x0, 0x88, 0x89, 0x0, 0x0, 0x88, 0x9B, 0x0, 0x0, 0x88, 0xAD, 0x0, 0x0, 0x88, 0xBF, 0x0, 0x0, 0x88, 0xEB, 0x0, 0x0, 0x89, 0x10, 0x0, 0x0, 0x89, 0x36, 0x0, 0x0, 0x89, 0x50, 0x0, 0x0, 0x89, 0x6F, 0x0, 0x0, 0x89, 0xC6, 0x0, 0x0, 0x8A, 0x43, 0x0, 0x0, 0x8A, 0xB9, 0x0, 0x0, 0x8A, 0xF0, 0x0, 0x0, 0x8B, 0x19, 0x0, 0x0, 0x8B, 0x19, 0x0, 0x0, 0x8B, 0x44, 0x0, 0x0, 0x8B, 0x73, 0x0, 0x0, 0x8B, 0xC5, 0x0, 0x0, 0x8B, 0xF9, 0x0, 0x0, 0x8C, 0xB, 0x0, 0x0, 0x8C, 0x1D, 0x0, 0x0, 0x8C, 0x37, 0x0, 0x0, 0x8C, 0x49, 0x0, 0x0, 0x8C, 0x5B, 0x0, 0x0, 0x8C, 0x97, 0x0, 0x0, 0x8D, 0xB, 0x0, 0x0, 0x8D, 0x30, 0x0, 0x0, 0x8D, 0x42, 0x0, 0x0, 0x8D, 0x79, 0x0, 0x0, 0x8D, 0x93, 0x0, 0x0, 0x8D, 0xA5, 0x0, 0x0, 0x8D, 0xF3, 0x0, 0x0, 0x8E, 0x2A, 0x0, 0x0, 0x8E, 0x53, 0x0, 0x0, 0x8E, 0xBB, 0x0, 0x0, 0x8F, 0xE, 0x0, 0x0, 0x8F, 0x38, 0x0, 0x0, 0x8F, 0x76, 0x0, 0x0, 0x8F, 0xB1, 0x0, 0x0, 0x8F, 0xFE, 0x0, 0x0, 0x90, 0x4E, 0x0, 0x0, 0x90, 0x89, 0x0, 0x0, 0x90, 0xE2, 0x0, 0x0, 0x91, 0x16, 0x0, 0x0, 0x91, 0x52, 0x0, 0x0, 0x91, 0x7F, 0x0, 0x0, 0x91, 0xB4, 0x0, 0x0, 0x91, 0xDA, 0x0, 0x0, 0x92, 0x17, 0x0, 0x0, 0x92, 0x47, 0x0, 0x0, 0x92, 0x77, 0x0, 0x0, 0x92, 0x87, 0x0, 0x0, 0x92, 0xA3, 0x0, 0x0, 0x92, 0xB3, 0x0, 0x0, 0x92, 0xF8, 0x0, 0x0, 0x93, 0x4F, 0x0, 0x0, 0x93, 0xBF, 0x0, 0x0, 0x94, 0x2F, 0x0, 0x0, 0x94, 0x47, 0x0, 0x0, 0x94, 0x63, 0x0, 0x0, 0x94, 0xC0, 0x0, 0x0, 0x94, 0xD0, 0x0, 0x0, 0x94, 0xF0, 0x0, 0x0, 0x95, 0x1E, 0x0, 0x0, 0x95, 0x92, 0x0, 0x0, 0x95, 0xBC, 0x0, 0x0, 0x95, 0xF1, 0x0, 0x0, 0x96, 0x17, 0x0, 0x0, 0x96, 0x4E, 0x0, 0x0, 0x96, 0xC0, 0x0, 0x0, 0x97, 0x14, 0x0, 0x0, 0x97, 0x84, 0x0, 0x0, 0x97, 0xEE, 0x0, 0x0, 0x98, 0x60, 0x0, 0x0, 0x98, 0x8E, 0x0, 0x0, 0x99, 0x16, 0x0, 0x0, 0x99, 0x84, 0x0, 0x0, 0x99, 0xEE, 0x0, 0x0, 0x9A, 0x2C, 0x0, 0x0, 0x9A, 0x98, 0x0, 0x0, 0x9A, 0xCA, 0x0, 0x0, 0x9B, 0x22, 0x0, 0x0, 0x9B, 0xA8, 0x0, 0x0, 0x9B, 0xEF, 0x0, 0x0, 0x9C, 0x49, 0x0, 0x0, 0x9C, 0xB1, 0x0, 0x0, 0x9D, 0x12, 0x0, 0x0, 0x9D, 0x4F, 0x0, 0x0, 0x9D, 0x99, 0x0, 0x0, 0x9E, 0xF, 0x0, 0x0, 0x9E, 0x70, 0x0, 0x0, 0x9E, 0xE9, 0x0, 0x0, 0x9F, 0x2C, 0x0, 0x0, 0x9F, 0xBC, 0x0, 0x0, 0xA0, 0x3D, 0x0, 0x0, 0xA0, 0x99, 0x0, 0x0, 0xA0, 0xA9, 0x0, 0x0, 0xA1, 0x25, 0x0, 0x0, 0xA1, 0x9D, 0x0, 0x0, 0xA2, 0xD, 0x0, 0x0, 0xA2, 0x72, 0x0, 0x0, 0xA2, 0xE2, 0x0, 0x0, 0xA3, 0x4A, 0x0, 0x0, 0xA3, 0x7B, 0x0, 0x0, 0xA3, 0xAB, 0x0, 0x0, 0xA4, 0x15, 0x0, 0x0, 0xA4, 0x43, 0x0, 0x0, 0xA4, 0xB4, 0x0, 0x0, 0xA5, 0xB, 0x0, 0x0, 0xA5, 0x6F, 0x0, 0x0, 0xA5, 0xEE, 0x0, 0x0, 0xA6, 0x38, 0x0, 0x0, 0xA6, 0x82, 0x0, 0x0, 0xA6, 0xBD, 0x0, 0x0, 0xA6, 0xD5, 0x0, 0x0, 0xA7, 0x39, 0x0, 0x0, 0xA7, 0xBA, 0x0, 0x0, 0xA8, 0x3B, 0x0, 0x0, 0xA8, 0x91, 0x0, 0x0, 0xA8, 0xFC, 0x0, 0x0, 0xA9, 0x6B, 0x0, 0x0, 0xA9, 0xCA, 0x0, 0x0, 0xAA, 0x14, 0x0, 0x0, 0xAA, 0x43, 0x0, 0x0, 0xAA, 0x8F, 0x0, 0x0, 0xAA, 0xE5, 0x0, 0x0, 0xAB, 0x40, 0x0, 0x0, 0xAB, 0xB2, 0x0, 0x0, 0xAB, 0xE0, 0x0, 0x0, 0xAC, 0x20, 0x0, 0x0, 0xAC, 0x66, 0x0, 0x0, 0xAC, 0xE9, 0x0, 0x0, 0xAD, 0x19, 0x0, 0x0, 0xAD, 0x56, 0x0, 0x0, 0xAD, 0x86, 0x0, 0x0, 0xAD, 0xC1, 0x0, 0x0, 0xAE, 0xC, 0x0, 0x0, 0xAE, 0x62, 0x0, 0x0, 0xAE, 0xA6, 0x0, 0x0, 0xAF, 0x10, 0x0, 0x0, 0xAF, 0x87, 0x0, 0x0, 0xAF, 0xDA, 0x0, 0x0, 0xB0, 0x58, 0x0, 0x0, 0xB0, 0xB5, 0x0, 0x0, 0xB0, 0xD5, 0x0, 0x0, 0xB1, 0x25, 0x0, 0x0, 0xB1, 0x7C, 0x0, 0x0, 0xB1, 0xE5, 0x0, 0x0, 0xB2, 0x13, 0x0, 0x0, 0xB2, 0x4C, 0x0, 0x0, 0xB2, 0x8B, 0x0, 0x0, 0xB2, 0xC6, 0x0, 0x0, 0xB2, 0xF5, 0x0, 0x0, 0xB3, 0x1A, 0x0, 0x0, 0xB3, 0x40, 0x0, 0x0, 0xB3, 0xD6, 0x0, 0x0, 0xB4, 0x6, 0x0, 0x0, 0xB4, 0x41, 0x0, 0x0, 0xB4, 0x71, 0x0, 0x0, 0xB4, 0xAC, 0x0, 0x0, 0xB4, 0xF1, 0x0, 0x0, 0xB5, 0x41, 0x0, 0x0, 0xB5, 0x7F, 0x0, 0x0, 0xB5, 0xDA, 0x0, 0x0, 0xB6, 0x49, 0x0, 0x0, 0xB6, 0x96, 0x0, 0x0, 0xB6, 0xFD, 0x0, 0x0, 0xB7, 0x5E, 0x0, 0x0, 0xB7, 0xCA, 0x0, 0x0, 0xB8, 0x23, 0x0, 0x0, 0xB8, 0x73, 0x0, 0x0, 0xB8, 0xA2, 0x0, 0x0, 0xB8, 0xFF, 0x0, 0x0, 0xB9, 0x59, 0x0, 0x0, 0xB9, 0xB0, 0x0, 0x0, 0xBA, 0x2D, 0x0, 0x0, 0xBA, 0x9E, 0x0, 0x0, 0xBA, 0xE3, 0x0, 0x0, 0xBB, 0x2B, 0x0, 0x0, 0xBB, 0x87, 0x0, 0x0, 0xBB, 0xE4, 0x0, 0x0, 0xBC, 0x4E, 0x0, 0x0, 0xBC, 0xBD, 0x0, 0x0, 0xBD, 0x36, 0x0, 0x0, 0xBD, 0xB4, 0x0, 0x0, 0xBE, 0x4E, 0x0, 0x0, 0xBE, 0xE0, 0x0, 0x0, 0xBF, 0x4F, 0x0, 0x0, 0xBF, 0xB7, 0x0, 0x0, 0xBF, 0xFA, 0x0, 0x0, 0xC0, 0x40, 0x0, 0x0, 0xC0, 0xBF, 0x0, 0x0, 0xC1, 0x2E, 0x0, 0x0, 0xC1, 0xF2, 0x0, 0x0, 0xC2, 0xB1, 0x0, 0x0, 0xC3, 0x28, 0x0, 0x0, 0xC3, 0x9C, 0x0, 0x0, 0xC3, 0xEE, 0x0, 0x0, 0xC4, 0x3B, 0x0, 0x0, 0xC4, 0x92, 0x0, 0x0, 0xC4, 0xB8, 0x0, 0x0, 0xC4, 0xF6, 0x0, 0x0, 0xC5, 0x16, 0x0, 0x0, 0xC5, 0x37, 0x0, 0x0, 0xC5, 0x75, 0x0, 0x0, 0xC6, 0xA6, 0x0, 0x0, 0xC7, 0x48, 0x0, 0x0, 0xC7, 0x68, 0x0, 0x0, 0xC7, 0x88, 0x0, 0x0, 0xC7, 0xDD, 0x0, 0x0, 0xC8, 0x3B, 0x0, 0x0, 0xC8, 0xA9, 0x0, 0x0, 0xC8, 0xD3, 0x0, 0x0, 0xC8, 0xF7, 0x0, 0x0, 0xC9, 0x46, 0x0, 0x0, 0xC9, 0x91, 0x0, 0x0, 0xC9, 0xA9, 0x0, 0x0, 0xC9, 0xC1, 0x0, 0x0, 0xC9, 0xD9, 0x0, 0x0, 0xC9, 0xF1, 0x0, 0x0, 0xCA, 0x3D, 0x0, 0x0, 0xCA, 0x86, 0x0, 0x0, 0xCA, 0xC5, 0x0, 0x0, 0xCB, 0x4, 0x0, 0x0, 0xCB, 0x1C, 0x0, 0x0, 0xCB, 0x34, 0x0, 0x0, 0xCB, 0x69, 0x0, 0x0, 0xCB, 0x9E, 0x0, 0x0, 0xCB, 0xF2, 0x0, 0x0, 0xCC, 0x43, 0x0, 0x0, 0xCC, 0xD4, 0x0, 0x0, 0xCD, 0x5C, 0x0, 0x0, 0xCD, 0x74, 0x0, 0x0, 0xCD, 0x8C, 0x0, 0x0, 0xCD, 0xC8, 0x0, 0x0, 0xCE, 0x2, 0x0, 0x0, 0xCE, 0x1A, 0x0, 0x0, 0xCE, 0x32, 0x0, 0x0, 0xCE, 0x80, 0x0, 0x0, 0xCE, 0xCA, 0x0, 0x0, 0xCF, 0xA, 0x0, 0x0, 0xCF, 0x88, 0x0, 0x0, 0xCF, 0xF9, 0x0, 0x0, 0xD0, 0x54, 0x0, 0x0, 0xD0, 0xA4, 0x0, 0x0, 0xD0, 0xBC, 0x0, 0x0, 0xD0, 0xD4, 0x0, 0x0, 0xD1, 0x1A, 0x0, 0x0, 0xD1, 0x60, 0x0, 0x0, 0xD1, 0x78, 0x0, 0x0, 0xD1, 0x90, 0x0, 0x0, 0xD1, 0xA8, 0x0, 0x0, 0xD1, 0xC0, 0x0, 0x0, 0xD2, 0x30, 0x0, 0x0, 0xD2, 0x8A, 0x0, 0x0, 0xD2, 0xE5, 0x0, 0x0, 0xD3, 0x3, 0x0, 0x0, 0xD3, 0x23, 0x0, 0x0, 0xD3, 0x3B, 0x0, 0x0, 0xD3, 0x53, 0x0, 0x0, 0xD3, 0x99, 0x0, 0x0, 0xD4, 0x6, 0x0, 0x0, 0xD4, 0x8E, 0x0, 0x0, 0xD5, 0x12, 0x0, 0x0, 0xD5, 0x8A, 0x0, 0x0, 0xD5, 0xFD, 0x0, 0x0, 0xD6, 0x67, 0x0, 0x0, 0xD6, 0xDB, 0x0, 0x0, 0xD7, 0x4D, 0x0, 0x0, 0xD7, 0xAF, 0x0, 0x0, 0xD8, 0x10, 0x0, 0x0, 0xD8, 0x7A, 0x0, 0x0, 0xD8, 0xD9, 0x0, 0x0, 0xD9, 0x32, 0x0, 0x0, 0xD9, 0x89, 0x0, 0x0, 0xDA, 0x0, 0x0, 0x0, 0xDA, 0x18, 0x0, 0x0, 0xDA, 0x30, 0x0, 0x0, 0xDA, 0x98, 0x0, 0x0, 0xDA, 0xFA, 0x0, 0x0, 0xDB, 0x5A, 0x0, 0x0, 0xDB, 0xC9, 0x0, 0x0, 0xDC, 0x31, 0x0, 0x0, 0xDC, 0xC5, 0x0, 0x0, 0xDD, 0x15, 0x0, 0x0, 0xDD, 0x62, 0x0, 0x0, 0xDD, 0xDF, 0x0, 0x0, 0xDE, 0x5B, 0x0, 0x0, 0xDE, 0xC6, 0x0, 0x0, 0xDF, 0x31, 0x0, 0x0, 0xDF, 0x61, 0x0, 0x0, 0xDF, 0x91, 0x0, 0x0, 0xDF, 0xD9, 0x0, 0x0, 0xE0, 0x21, 0x0, 0x0, 0xE0, 0x67, 0x0, 0x0, 0xE0, 0xAF, 0x0, 0x0, 0xE1, 0x3C, 0x0, 0x0, 0xE1, 0xBF, 0x0, 0x0, 0xE2, 0x2B, 0x0, 0x0, 0xE2, 0x92, 0x0, 0x0, 0xE2, 0xDD, 0x0, 0x0, 0xE3, 0x27, 0x0, 0x0, 0xE3, 0x61, 0x0, 0x0, 0xE3, 0xE5, 0x0, 0x0, 0xE4, 0x76, 0x0, 0x0, 0xE4, 0xA0, 0x0, 0x0, 0xE4, 0xC2, 0x0, 0x0, 0xE5, 0x15, 0x0, 0x0, 0xE5, 0x88, 0x0, 0x0, 0xE5, 0xB5, 0x0, 0x0, 0xE5, 0xCF, 0x0, 0x0, 0xE5, 0xED, 0x0, 0x0, 0xE6, 0x24, 0x0, 0x0, 0xE6, 0x82, 0x0, 0x0, 0xE7, 0x31, 0x0, 0x0, 0xE7, 0x8F, 0x0, 0x0, 0xE7, 0xE8, 0x0, 0x0, 0xE8, 0x21, 0x0, 0x0, 0xE8, 0x71, 0x0, 0x0, 0xE9, 0x23, 0x0, 0x0, 0xE9, 0x8C, 0x0, 0x0, 0xE9, 0xE0, 0x0, 0x0, 0xEA, 0x29, 0x0, 0x0, 0xEA, 0x41, 0x0, 0x0, 0xEA, 0x6E, 0x0, 0x0, 0xEA, 0x7E, 0x0, 0x0, 0xEA, 0xB9, 0x0, 0x0, 0xEA, 0xEF, 0x0, 0x0, 0xEB, 0x28, 0x0, 0x0, 0xEB, 0x5B, 0x0, 0x0, 0xEB, 0x96, 0x0, 0x0, 0xEB, 0xA6, 0x0, 0x0, 0xEC, 0x0, 0x0, 0x0, 0xEC, 0x57, 0x0, 0x0, 0xEC, 0xB4, 0x0, 0x0, 0xED, 0xD, 0x0, 0x0, 0xED, 0x95, 0x0, 0x0, 0xEE, 0x40, 0x0, 0x0, 0xEE, 0xA2, 0x0, 0x0, 0xEE, 0xE1, 0x0, 0x0, 0xEF, 0x1E, 0x0, 0x0, 0xEF, 0x63, 0x0, 0x0, 0xEF, 0xB1, 0x0, 0x0, 0xEF, 0xFC, 0x0, 0x0, 0xF0, 0xC, 0x0, 0x0, 0xF0, 0x4A, 0x0, 0x0, 0xF0, 0x86, 0x0, 0x0, 0xF0, 0xFC, 0x0, 0x0, 0xF1, 0x5B, 0x0, 0x0, 0xF1, 0x6B, 0x0, 0x0, 0xF1, 0x7B, 0x0, 0x0, 0xF1, 0x8B, 0x0, 0x0, 0xF1, 0xE1, 0x0, 0x0, 0xF2, 0x52, 0x0, 0x0, 0xF2, 0xB7, 0x0, 0x0, 0xF2, 0xC7, 0x0, 0x0, 0xF2, 0xF0, 0x0, 0x0, 0xF3, 0x0, 0x0, 0x0, 0xF3, 0x10, 0x0, 0x0, 0xF3, 0x61, 0x0, 0x0, 0xF3, 0x71, 0x0, 0x0, 0xF3, 0xAA, 0x0, 0x0, 0xF3, 0xF9, 0x0, 0x0, 0xF4, 0x5B, 0x0, 0x0, 0xF4, 0xC9, 0x0, 0x0, 0xF5, 0x12, 0x0, 0x0, 0xF5, 0x42, 0x0, 0x0, 0xF5, 0x72, 0x0, 0x0, 0xF5, 0xD3, 0x0, 0x0, 0xF6, 0x4, 0x0, 0x0, 0xF6, 0x1F, 0x0, 0x0, 0xF6, 0x53, 0x0, 0x0, 0xF6, 0x8C, 0x0, 0x0, 0xF6, 0xAB, 0x0, 0x0, 0xF6, 0xEC, 0x0, 0x0, 0xF7, 0x1F, 0x0, 0x0, 0xF7, 0x50, 0x0, 0x0, 0xF7, 0xA8, 0x0, 0x0, 0xF8, 0x12, 0x0, 0x0, 0xF8, 0x54, 0x0, 0x0, 0xF8, 0x9E, 0x0, 0x0, 0xF8, 0xC4, 0x0, 0x0, 0xF8, 0xFC, 0x0, 0x0, 0xF9, 0x37, 0x0, 0x0, 0xF9, 0xA3, 0x0, 0x0, 0xFA, 0xF, 0x0, 0x0, 0xFA, 0x76, 0x0, 0x0, 0xFB, 0x15, 0x0, 0x0, 0xFB, 0x6B, 0x0, 0x0, 0xFB, 0xBF, 0x0, 0x0, 0xFC, 0x1C, 0x0, 0x0, 0xFC, 0x75, 0x0, 0x0, 0xFC, 0xD2, 0x0, 0x0, 0xFD, 0x2F, 0x0, 0x0, 0xFD, 0x9F, 0x0, 0x0, 0xFD, 0xD6, 0x0, 0x0, 0xFE, 0xE, 0x0, 0x0, 0xFE, 0x69, 0x0, 0x0, 0xFE, 0xB9, 0x0, 0x0, 0xFF, 0x2, 0x0, 0x0, 0xFF, 0x47, 0x0, 0x0, 0xFF, 0x78, 0x0, 0x0, 0xFF, 0xAA, 0x0, 0x0, 0xFF, 0xFD, 0x0, 0x1, 0x0, 0x40, 0x0, 0x1, 0x0, 0x7C, 0x0, 0x1, 0x0, 0xB6, 0x0, 0x1, 0x1, 0x11, 0x0, 0x1, 0x1, 0x40, 0x0, 0x1, 0x1, 0xA0, 0x0, 0x1, 0x2, 0x7, 0x0, 0x1, 0x2, 0x3B, 0x0, 0x1, 0x2, 0xB1, 0x0, 0x1, 0x3, 0x1A, 0x0, 0x1, 0x3, 0x87, 0x0, 0x1, 0x3, 0xC0, 0x0, 0x1, 0x3, 0xD2, 0x0, 0x1, 0x3, 0xE4, 0x0, 0x1, 0x3, 0xF6, 0x0, 0x1, 0x4, 0x8, 0x0, 0x1, 0x4, 0x1A, 0x0, 0x1, 0x4, 0x6E, 0x0, 0x1, 0x4, 0x80, 0x0, 0x1, 0x4, 0x92, 0x0, 0x1, 0x5, 0x18, 0x0, 0x1, 0x5, 0xA5, 0x0, 0x1, 0x6, 0x30, 0x0, 0x1, 0x6, 0xA2, 0x0, 0x1, 0x7, 0x51, 0x0, 0x1, 0x7, 0xC5, 0x0, 0x1, 0x8, 0x50, 0x0, 0x1, 0x8, 0xB7, 0x0, 0x1, 0x9, 0x15, 0x0, 0x1, 0x9, 0xAE, 0x0, 0x1, 0xA, 0x22, 0x0, 0x1, 0xA, 0x88, 0x0, 0x1, 0xB, 0x0, 0x0, 0x1, 0xB, 0x10, 0x0, 0x1, 0xB, 0x82, 0x0, 0x1, 0xC, 0x14, 0x0, 0x1, 0xC, 0x2C, 0x0, 0x1, 0xC, 0x44, 0x0, 0x1, 0xC, 0xB6, 0x0, 0x1, 0xD, 0x11, 0x0, 0x1, 0xD, 0xB5, 0x0, 0x1, 0xE, 0x2E, 0x0, 0x1, 0xE, 0xAA, 0x0, 0x1, 0xF, 0xD, 0x0, 0x1, 0xF, 0xAA, 0x0, 0x1, 0x10, 0x8, 0x0, 0x1, 0x10, 0x43, 0x0, 0x1, 0x10, 0xC4, 0x0, 0x1, 0x11, 0x24, 0x0, 0x1, 0x11, 0xA0, 0x0, 0x1, 0x11, 0xF5, 0x0, 0x1, 0x12, 0x7E, 0x0, 0x1, 0x12, 0xEB, 0x0, 0x1, 0x13, 0x36, 0x0, 0x1, 0x13, 0x96, 0x0, 0x1, 0x13, 0xE2, 0x0, 0x1, 0x14, 0x73, 0x0, 0x1, 0x14, 0xF5, 0x0, 0x1, 0x15, 0x7F, 0x0, 0x1, 0x16, 0x0, 0x0, 0x1, 0x16, 0x88, 0x0, 0x1, 0x17, 0x10, 0x0, 0x1, 0x17, 0x97, 0x0, 0x1, 0x17, 0xEF, 0x0, 0x1, 0x18, 0x63, 0x0, 0x1, 0x18, 0xC6, 0x0, 0x1, 0x19, 0x26, 0x0, 0x1, 0x19, 0x9B, 0x0, 0x1, 0x1A, 0x1, 0x0, 0x1, 0x1A, 0x50, 0x0, 0x1, 0x1A, 0xC5, 0x0, 0x1, 0x1B, 0x3D, 0x0, 0x1, 0x1B, 0x9A, 0x0, 0x1, 0x1B, 0xDC, 0x0, 0x1, 0x1C, 0x20, 0x0, 0x1, 0x1C, 0x30, 0x0, 0x1, 0x1C, 0x6B, 0x0, 0x1, 0x1C, 0xB4, 0x0, 0x1, 0x1C, 0xE4, 0x0, 0x1, 0x1D, 0x11, 0x0, 0x1, 0x1D, 0x4C, 0x0, 0x1, 0x1D, 0xB0, 0x0, 0x1, 0x1D, 0xDE, 0x0, 0x1, 0x1E, 0x13, 0x0, 0x1, 0x1E, 0x32, 0x0, 0x1, 0x1E, 0xA1, 0x0, 0x1, 0x1E, 0xFB, 0x0, 0x1, 0x1F, 0x49, 0x0, 0x1, 0x1F, 0x98, 0x0, 0x1, 0x1F, 0xC7, 0x0, 0x1, 0x20, 0x1A, 0x0, 0x1, 0x20, 0xA2, 0x0, 0x1, 0x21, 0x20, 0x0, 0x1, 0x21, 0x60, 0x0, 0x1, 0x21, 0xB1, 0x0, 0x1, 0x22, 0xB, 0x0, 0x1, 0x22, 0x8F, 0x0, 0x1, 0x22, 0xC7, 0x0, 0x1, 0x23, 0x14, 0x0, 0x1, 0x23, 0x42, 0x0, 0x1, 0x23, 0x6F, 0x0, 0x1, 0x23, 0xB5, 0x0, 0x1, 0x24, 0x16, 0x0, 0x1, 0x24, 0x6C, 0x0, 0x1, 0x24, 0xCC, 0x0, 0x1, 0x25, 0x22, 0x0, 0x1, 0x25, 0x79, 0x0, 0x1, 0x25, 0xF5, 0x0, 0x1, 0x26, 0x19, 0x0, 0x1, 0x26, 0x3B, 0x0, 0x1, 0x26, 0x5D, 0x0, 0x1, 0x26, 0x7E, 0x0, 0x1, 0x26, 0xA0, 0x0, 0x1, 0x26, 0xCE, 0x0, 0x1, 0x26, 0xFC, 0x0, 0x1, 0x27, 0x2E, 0x0, 0x1, 0x27, 0x62, 0x0, 0x1, 0x27, 0x97, 0x0, 0x1, 0x27, 0xC3, 0x0, 0x1, 0x27, 0xD7, 0x0, 0x1, 0x27, 0xFE, 0x0, 0x1, 0x28, 0x40, 0x0, 0x1, 0x28, 0xA0, 0x0, 0x1, 0x28, 0xFB, 0x0, 0x1, 0x29, 0x3A, 0x0, 0x1, 0x29, 0xD3, 0x0, 0x1, 0x2A, 0x5A, 0x0, 0x1, 0x2A, 0xCA, 0x0, 0x1, 0x2B, 0x36, 0x0, 0x1, 0x2B, 0x94, 0x0, 0x1, 0x2C, 0xA, 0x0, 0x1, 0x2C, 0x71, 0x0, 0x1, 0x2C, 0xC2, 0x0, 0x1, 0x2C, 0xF6, 0x0, 0x1, 0x2D, 0x10, 0x0, 0x1, 0x2D, 0x30, 0x0, 0x1, 0x2D, 0x67, 0x0, 0x1, 0x2D, 0x7B, 0x0, 0x1, 0x2D, 0xAA, 0x0, 0x1, 0x2D, 0xFD, 0x0, 0x1, 0x2E, 0x3D, 0x0, 0x1, 0x2E, 0x99, 0x0, 0x1, 0x2E, 0xC9, 0x0, 0x1, 0x2E, 0xF7, 0x0, 0x1, 0x2F, 0x54, 0x0, 0x1, 0x2F, 0xA4, 0x0, 0x1, 0x30, 0xA, 0x0, 0x1, 0x30, 0x5D, 0x0, 0x1, 0x30, 0x9F, 0x0, 0x1, 0x31, 0x5, 0x0, 0x1, 0x31, 0x54, 0x0, 0x1, 0x31, 0x68, 0x0, 0x1, 0x31, 0xAF, 0x0, 0x1, 0x31, 0xF4, 0x0, 0x1, 0x32, 0x37, 0x0, 0x1, 0x32, 0xBE, 0x0, 0x1, 0x33, 0x1E, 0x0, 0x1, 0x33, 0x71, 0x0, 0x1, 0x33, 0x83, 0x0, 0x1, 0x33, 0xBA, 0x0, 0x1, 0x34, 0x2F, 0x0, 0x1, 0x34, 0x41, 0x0, 0x1, 0x34, 0x88, 0x0, 0x1, 0x34, 0x9E, 0x0, 0x1, 0x34, 0xB4, 0x0, 0x1, 0x34, 0xCC, 0x0, 0x1, 0x34, 0xE4, 0x0, 0x1, 0x34, 0xFC, 0x0, 0x1, 0x35, 0x14, 0x0, 0x1, 0x35, 0x60, 0x0, 0x1, 0x35, 0xA8, 0x0, 0x1, 0x35, 0xE7, 0x0, 0x1, 0x36, 0x5B, 0x0, 0x1, 0x36, 0x6B, 0x0, 0x1, 0x36, 0x83, 0x0, 0x1, 0x36, 0xBE, 0x0, 0x1, 0x37, 0x1E, 0x0, 0x1, 0x37, 0x7F, 0x0, 0x1, 0x37, 0xE2, 0x0, 0x1, 0x38, 0x48, 0x0, 0x1, 0x38, 0x6D, 0x0, 0x1, 0x38, 0x97, 0x0, 0x1, 0x38, 0xBC, 0x0, 0x1, 0x39, 0x0, 0x0, 0x1, 0x39, 0x82, 0x0, 0x1, 0x39, 0xBA, 0x0, 0x1, 0x39, 0xF3, 0x0, 0x1, 0x3A, 0x4D, 0x0, 0x1, 0x3A, 0x85, 0x0, 0x1, 0x3A, 0xBF, 0x0, 0x1, 0x3B, 0x19, 0x0, 0x1, 0x3B, 0x74, 0x0, 0x1, 0x3B, 0xCF, 0x0, 0x1, 0x3B, 0xF0, 0x0, 0x1, 0x3C, 0x10, 0x0, 0x1, 0x3C, 0x36, 0x0, 0x1, 0x3C, 0x36, 0x0, 0x1, 0x3C, 0x36, 0x0, 0x1, 0x3C, 0x36, 0x0, 0x1, 0x3C, 0x36, 0x0, 0x1, 0x3C, 0x36, 0x0, 0x1, 0x3C, 0x36, 0x0, 0x1, 0x3C, 0x36, 0x0, 0x1, 0x3C, 0x36, 0x0, 0x1, 0x3C, 0x36, 0x0, 0x1, 0x3C, 0x36, 0x0, 0x1, 0x3C, 0x36, 0x0, 0x1, 0x3C, 0x36, 0x0, 0x1, 0x3C, 0x36, 0x0, 0x1, 0x3C, 0x50, 0x0, 0x1, 0x3C, 0x8C, 0x0, 0x1, 0x3C, 0xBA, 0x0, 0x1, 0x3C, 0xE7, 0x0, 0x1, 0x3C, 0xF7, 0x0, 0x1, 0x3D, 0x7, 0x0, 0x1, 0x3D, 0x17, 0x0, 0x1, 0x3D, 0x2B, 0x0, 0x1, 0x3D, 0x3F, 0x0, 0x1, 0x3D, 0x57, 0x0, 0x1, 0x3D, 0x7D, 0x0, 0x1, 0x3D, 0xA4, 0x0, 0x1, 0x3D, 0xCC, 0x0, 0x1, 0x3D, 0xF5, 0x0, 0x1, 0x3E, 0x1C, 0x0, 0x1, 0x3E, 0x34, 0x0, 0x1, 0x3E, 0x4C, 0x0, 0x1, 0x3E, 0x8E, 0x0, 0x1, 0x3E, 0xD1, 0x0, 0x1, 0x3F, 0x2, 0x0, 0x1, 0x3F, 0x47, 0x0, 0x1, 0x3F, 0x75, 0x0, 0x1, 0x3F, 0x91, 0x0, 0x1, 0x3F, 0xA1, 0x0, 0x1, 0x3F, 0xB9, 0x0, 0x1, 0x3F, 0xD9, 0x0, 0x1, 0x40, 0x1, 0x0, 0x1, 0x40, 0xE2, 0x0, 0x1, 0x41, 0xF7, 0x0, 0x1, 0x42, 0x32, 0x0, 0x1, 0x42, 0x4F, 0x0, 0x1, 0x42, 0x7B, 0x0, 0x1, 0x42, 0xB6, 0x0, 0x1, 0x42, 0xE4, 0x0, 0x1, 0x43, 0xA, 0x0, 0x1, 0x43, 0x2E, 0x0, 0x1, 0x43, 0xE7, 0x0, 0x1, 0x44, 0x62, 0x0, 0x1, 0x44, 0x74, 0x0, 0x1, 0x44, 0xB0, 0x0, 0x1, 0x44, 0xED, 0x0, 0x1, 0x45, 0x1C, 0x0, 0x1, 0x45, 0xE7, 0x0, 0x1, 0x46, 0x3, 0x0, 0x1, 0x46, 0x23, 0x0, 0x1, 0x46, 0x50, 0x0, 0x1, 0x46, 0x7D, 0x0, 0x1, 0x46, 0x9C, 0x0, 0x1, 0x46, 0xC7, 0x0, 0x1, 0x46, 0xFA, 0x0, 0x1, 0x47, 0x2D, 0x0, 0x1, 0x47, 0x3F, 0x0, 0x1, 0x47, 0x82, 0x0, 0x1, 0x47, 0xED, 0x0, 0x1, 0x48, 0x5, 0x0, 0x1, 0x48, 0x62, 0x0, 0x1, 0x48, 0xAF, 0x0, 0x1, 0x48, 0xEA, 0x0, 0x1, 0x49, 0x35, 0x0, 0x1, 0x49, 0x57, 0x0, 0x1, 0x49, 0xA1, 0x0, 0x1, 0x49, 0xCB, 0x0, 0x1, 0x49, 0xFD, 0x0, 0x1, 0x4A, 0x17, 0x0, 0x1, 0x4A, 0x41, 0x0, 0x1, 0x4A, 0xF0, 0x0, 0x1, 0x4B, 0x12, 0x0, 0x1, 0x4B, 0x3C, 0x0, 0x1, 0x4B, 0x4E, 0x0, 0x1, 0x4B, 0x87, 0x0, 0x1, 0x4B, 0x99, 0x0, 0x1, 0x4B, 0xAB, 0x0, 0x1, 0x4B, 0xBD, 0x0, 0x1, 0x4B, 0xCF, 0x0, 0x1, 0x4B, 0xE1, 0x0, 0x1, 0x4B, 0xF3, 0x0, 0x1, 0x4C, 0x20, 0x0, 0x1, 0x4C, 0x3A, 0x0, 0x1, 0x4C, 0x62, 0x0, 0x1, 0x4C, 0x9C, 0x0, 0x1, 0x4C, 0xD7, 0x0, 0x1, 0x4D, 0x13, 0x0, 0x1, 0x4D, 0x25, 0x0, 0x1, 0x4D, 0x37, 0x0, 0x1, 0x4D, 0x49, 0x0, 0x1, 0x4D, 0x5B, 0x0, 0x1, 0x4D, 0x6D, 0x0, 0x1, 0x4D, 0x7F, 0x0, 0x1, 0x4D, 0x91, 0x0, 0x1, 0x4D, 0xA3, 0x0, 0x1, 0x4D, 0xB5, 0x0, 0x1, 0x4D, 0xC7, 0x0, 0x1, 0x4D, 0xD9, 0x0, 0x1, 0x4D, 0xEB, 0x0, 0x1, 0x4D, 0xFD, 0x0, 0x1, 0x4E, 0x36, 0x0, 0x1, 0x4E, 0x70, 0x0, 0x1, 0x4E, 0x82, 0x0, 0x1, 0x4E, 0x94, 0x0, 0x1, 0x4E, 0xA6, 0x0, 0x1, 0x4E, 0xB8, 0x0, 0x1, 0x4E, 0xCC, 0x0, 0x1, 0x4E, 0xDE, 0x0, 0x1, 0x4E, 0xF0, 0x0, 0x1, 0x4F, 0x2, 0x0, 0x1, 0x4F, 0x14, 0x0, 0x1, 0x4F, 0x4F, 0x0, 0x1, 0x4F, 0xA0, 0x0, 0x1, 0x4F, 0xB2, 0x0, 0x1, 0x4F, 0xC4, 0x0, 0x1, 0x50, 0x29, 0x0, 0x1, 0x50, 0xCF, 0x0, 0x1, 0x51, 0x57, 0x0, 0x1, 0x51, 0xCB, 0x0, 0x1, 0x52, 0x3E, 0x0, 0x1, 0x52, 0xC2, 0x0, 0x1, 0x53, 0x3C, 0x0, 0x1, 0x53, 0x54, 0x0, 0x1, 0x53, 0xFB, 0x0, 0x1, 0x54, 0x56, 0x0, 0x1, 0x54, 0xC5, 0x0, 0x1, 0x55, 0xF, 0x0, 0x1, 0x55, 0x5E, 0x0, 0x1, 0x56, 0x4E, 0x0, 0x1, 0x56, 0xE9, 0x0, 0x1, 0x57, 0x6A, 0x0, 0x1, 0x57, 0xED, 0x0, 0x1, 0x58, 0x5F, 0x0, 0x1, 0x58, 0xDB, 0x0, 0x1, 0x59, 0x54, 0x0, 0x1, 0x59, 0xAC, 0x0, 0x1, 0x5A, 0x77, 0x0, 0x1, 0x5A, 0xAB, 0x0, 0x1, 0x5B, 0x7, 0x0, 0x1, 0x5B, 0x67, 0x0, 0x1, 0x5C, 0x14, 0x0, 0x1, 0x5C, 0x65, 0x0, 0x1, 0x5C, 0xC8, 0x0, 0x1, 0x5D, 0x3A, 0x0, 0x1, 0x5D, 0x5C, 0x0, 0x1, 0x5D, 0x86, 0x0, 0x1, 0x5D, 0xA8, 0x0, 0x1, 0x5D, 0xED, 0x0, 0x1, 0x5E, 0xAC, 0x0, 0x1, 0x5F, 0x76, 0x0, 0x1, 0x60, 0x15, 0x0, 0x1, 0x60, 0xB9, 0x0, 0x1, 0x61, 0x4B, 0x0, 0x1, 0x61, 0xB2, 0x0, 0x1, 0x62, 0x14, 0x0, 0x1, 0x62, 0x99, 0x0, 0x1, 0x63, 0x3C, 0x0, 0x1, 0x63, 0xAF, 0x0, 0x1, 0x64, 0x3A, 0x0, 0x1, 0x64, 0xBD, 0x0, 0x1, 0x65, 0x11, 0x0, 0x1, 0x65, 0x5F, 0x0, 0x1, 0x65, 0xAD, 0x0, 0x1, 0x66, 0x1F, 0x0, 0x1, 0x66, 0x2F, 0x0, 0x1, 0x66, 0xA2, 0x0, 0x1, 0x66, 0xFF, 0x0, 0x1, 0x67, 0x27, 0x0, 0x1, 0x67, 0x9B, 0x0, 0x1, 0x68, 0x45, 0x0, 0x1, 0x69, 0x2C, 0x0, 0x1, 0x69, 0x4E, 0x0, 0x1, 0x69, 0x70, 0x0, 0x1, 0x69, 0x9A, 0x0, 0x1, 0x69, 0xBC, 0x0, 0x1, 0x69, 0xDE, 0x0, 0x1, 0x6A, 0x0, 0x0, 0x1, 0x6A, 0x22, 0x0, 0x1, 0x6A, 0x44, 0x0, 0x1, 0x6A, 0x66, 0x0, 0x1, 0x6A, 0x88, 0x0, 0x1, 0x6A, 0xAA, 0x0, 0x1, 0x6A, 0xCC, 0x0, 0x1, 0x6A, 0xEE, 0x0, 0x1, 0x6B, 0x10, 0x0, 0x1, 0x6B, 0x32, 0x0, 0x1, 0x6B, 0x4C, 0x0, 0x1, 0x6B, 0x5C, 0x0, 0x1, 0x6B, 0x74, 0x0, 0x1, 0x6B, 0x94, 0x0, 0x1, 0x6B, 0xAC, 0x0, 0x1, 0x6B, 0xBC, 0x0, 0x1, 0x6B, 0xD4, 0x0, 0x1, 0x6B, 0xF4, 0x0, 0x1, 0x6C, 0x1C, 0x0, 0x1, 0x6C, 0x34, 0x0, 0x1, 0x6C, 0x44, 0x0, 0x1, 0x6C, 0x5C, 0x0, 0x1, 0x6C, 0x7C, 0x0, 0x1, 0x6C, 0x8C, 0x0, 0x1, 0x6C, 0x9C, 0x0, 0x1, 0x6C, 0xAC, 0x0, 0x1, 0x6C, 0xBC, 0x0, 0x1, 0x6C, 0xCC, 0x0, 0x1, 0x6C, 0xE4, 0x0, 0x1, 0x6D, 0x4, 0x0, 0x1, 0x6D, 0x1C, 0x0, 0x1, 0x6D, 0x2C, 0x0, 0x1, 0x6D, 0x44, 0x0, 0x1, 0x6D, 0x64, 0x0, 0x1, 0x6D, 0x8C, 0x0, 0x1, 0x6D, 0xA4, 0x0, 0x1, 0x6D, 0xB4, 0x0, 0x1, 0x6D, 0xCC, 0x0, 0x1, 0x6D, 0xEC, 0x0, 0x1, 0x6D, 0xFC, 0x0, 0x1, 0x6E, 0xC, 0x0, 0x1, 0x6E, 0x1C, 0x0, 0x1, 0x6E, 0x2C, 0x0, 0x1, 0x6E, 0xAE, 0x0, 0x1, 0x6F, 0x2F, 0x0, 0x1, 0x70, 0x10, 0x0, 0x1, 0x70, 0x71, 0x0, 0x1, 0x70, 0xC8, 0x0, 0x1, 0x71, 0x2E, 0x0, 0x1, 0x71, 0x61, 0x0, 0x1, 0x72, 0xC, 0x0, 0x1, 0x73, 0x49, 0x0, 0x1, 0x73, 0x6B, 0x0, 0x1, 0x73, 0xEB, 0x0, 0x1, 0x74, 0x11, 0x0, 0x1, 0x74, 0x4A, 0x0, 0x1, 0x74, 0x64, 0x0, 0x1, 0x74, 0x91, 0x0, 0x1, 0x75, 0x3F, 0x0, 0x1, 0x75, 0x85, 0x0, 0x1, 0x75, 0xFE, 0x0, 0x1, 0x76, 0x45, 0x0, 0x1, 0x76, 0x67, 0x0, 0x1, 0x76, 0x89, 0x0, 0x1, 0x76, 0xAD, 0x0, 0x1, 0x76, 0xE8, 0x0, 0x1, 0x77, 0x18, 0x0, 0x1, 0x77, 0x49, 0x0, 0x1, 0x77, 0x71, 0x0, 0x1, 0x77, 0x98, 0x0, 0x1, 0x77, 0xB0, 0x0, 0x1, 0x77, 0xF4, 0x0, 0x1, 0x78, 0x30, 0x0, 0x1, 0x78, 0x68, 0x0, 0x1, 0x78, 0x94, 0x0, 0x1, 0x78, 0xBE, 0x0, 0x1, 0x78, 0xEE, 0x0, 0x1, 0x79, 0x1C, 0x0, 0x1, 0x79, 0x72, 0x0, 0x1, 0x79, 0xCC, 0x0, 0x1, 0x7A, 0x1, 0x0, 0x1, 0x7A, 0x37, 0x0, 0x1, 0x7A, 0x75, 0x0, 0x1, 0x7A, 0xB2, 0x0, 0x1, 0x7A, 0xD0, 0x0, 0x1, 0x7A, 0xEE, 0x0, 0x1, 0x7B, 0x3F, 0x0, 0x1, 0x7B, 0x57, 0x0, 0x1, 0x7B, 0xC9, 0x0, 0x1, 0x7C, 0x67, 0x0, 0x1, 0x7C, 0xC6, 0x0, 0x1, 0x7C, 0xDE, 0x0, 0x1, 0x7C, 0xF6, 0x0, 0x1, 0x7D, 0x3C, 0x0, 0x1, 0x7D, 0x82, 0x0, 0x1, 0x7D, 0xB6, 0x0, 0x1, 0x7D, 0xEA, 0x0, 0x1, 0x7E, 0x5F, 0x0, 0x1, 0x7E, 0xBA, 0x0, 0x1, 0x7E, 0xF5, 0x0, 0x1, 0x7F, 0x6A, 0x0, 0x1, 0x7F, 0xAF, 0x0, 0x1, 0x80, 0x17, 0x0, 0x1, 0x80, 0x7B, 0x0, 0x1, 0x80, 0xE0, 0x0, 0x1, 0x81, 0x6, 0x0, 0x1, 0x81, 0x2C, 0x0, 0x1, 0x81, 0x9C, 0x0, 0x1, 0x82, 0x17, 0x0, 0x1, 0x82, 0x62, 0x0, 0x1, 0x82, 0xED, 0x0, 0x1, 0x83, 0x1A, 0x0, 0x1, 0x83, 0x2C, 0x0, 0x1, 0x83, 0x5B, 0x0, 0x1, 0x83, 0xE8, 0x0, 0x1, 0x84, 0x36, 0x0, 0x1, 0x84, 0xA0, 0x0, 0x1, 0x84, 0xF3, 0x0, 0x1, 0x85, 0x12, 0x0, 0x1, 0x85, 0x5C, 0x0, 0x1, 0x85, 0xA5, 0x0, 0x1, 0x85, 0xFE, 0x0, 0x1, 0x86, 0x30, 0x0, 0x1, 0x86, 0x6D, 0x0, 0x1, 0x86, 0xA4, 0x0, 0x1, 0x86, 0xCF, 0x0, 0x1, 0x86, 0xDF, 0x0, 0x1, 0x87, 0x5, 0x0, 0x1, 0x87, 0x19, 0x0, 0x1, 0x87, 0x29, 0x0, 0x1, 0x87, 0x4D, 0x0, 0x1, 0x87, 0x5D, 0x0, 0x1, 0x87, 0x8B, 0x0, 0x1, 0x87, 0xC4, 0x0, 0x1, 0x87, 0xF3, 0x0, 0x1, 0x88, 0x2A, 0x0, 0x1, 0x88, 0x75, 0x0, 0x1, 0x88, 0xC4, 0x0, 0x1, 0x89, 0x2C, 0x0, 0x1, 0x89, 0x7F, 0x0, 0x1, 0x89, 0xB6, 0x0, 0x1, 0x8A, 0x24, 0x0, 0x1, 0x8A, 0x70, 0x0, 0x1, 0x8A, 0xC1, 0x0, 0x1, 0x8B, 0x38, 0x0, 0x1, 0x8B, 0x78, 0x0, 0x1, 0x8B, 0xCD, 0x0, 0x1, 0x8C, 0x2E, 0x0, 0x1, 0x8C, 0x4F, 0x0, 0x1, 0x8C, 0x8D, 0x0, 0x1, 0x8C, 0xB2, 0x0, 0x1, 0x8C, 0xD8, 0x0, 0x1, 0x8D, 0x1C, 0x0, 0x1, 0x8D, 0x63, 0x0, 0x1, 0x8D, 0x89, 0x0, 0x1, 0x8D, 0xCC, 0x0, 0x1, 0x8E, 0x39, 0x0, 0x1, 0x8E, 0x89, 0x0, 0x1, 0x8E, 0xD8, 0x0, 0x1, 0x8F, 0x2, 0x0, 0x1, 0x8F, 0x1F, 0x0, 0x1, 0x8F, 0x35, 0x0, 0x1, 0x8F, 0xD4, 0x0, 0x1, 0x8F, 0xED, 0x0, 0x1, 0x90, 0x14, 0x0, 0x1, 0x90, 0x3A, 0x0, 0x1, 0x90, 0x63, 0x0, 0x1, 0x90, 0xBD, 0x0, 0x1, 0x91, 0x1, 0x0, 0x1, 0x91, 0x15, 0x0, 0x1, 0x91, 0x73, 0x0, 0x1, 0x91, 0xA0, 0x0, 0x1, 0x92, 0x12, 0x0, 0x1, 0x92, 0x99, 0x0, 0x1, 0x92, 0xF2, 0x0, 0x1, 0x93, 0x69, 0x0, 0x1, 0x93, 0x86, 0x0, 0x1, 0x93, 0x9C, 0x0, 0x1, 0x93, 0xFC, 0x0, 0x1, 0x94, 0x5D, 0x0, 0x1, 0x94, 0x75, 0x0, 0x1, 0x94, 0x8F, 0x0, 0x1, 0x94, 0xAE, 0x0, 0x1, 0x94, 0xCD, 0x0, 0x1, 0x94, 0xEC, 0x0, 0x1, 0x95, 0xA, 0x0, 0x1, 0x95, 0x46, 0x0, 0x1, 0x95, 0x80, 0x0, 0x1, 0x95, 0x98, 0x0, 0x1, 0x95, 0xB0, 0x0, 0x1, 0x95, 0xD2, 0x0, 0x1, 0x95, 0xF4, 0x0, 0x1, 0x96, 0x1E, 0x0, 0x1, 0x96, 0x50, 0x0, 0x1, 0x96, 0xBD, 0x0, 0x1, 0x96, 0xFD, 0x0, 0x1, 0x97, 0xF, 0x0, 0x1, 0x97, 0x21, 0x0, 0x1, 0x97, 0x35, 0x0, 0x1, 0x97, 0x47, 0x0, 0x1, 0x97, 0x59, 0x0, 0x1, 0x97, 0x9B, 0x0, 0x1, 0x97, 0xBE, 0x0, 0x1, 0x97, 0xE4, 0x0, 0x1, 0x98, 0x13, 0x0, 0x1, 0x98, 0x90, 0x0, 0x1, 0x98, 0xB0, 0x0, 0x1, 0x98, 0xDC, 0x0, 0x1, 0x99, 0xF, 0x0, 0x1, 0x99, 0x49, 0x0, 0x1, 0x99, 0xFD, 0x0, 0x1, 0x9A, 0x92, 0x0, 0x1, 0x9A, 0xAC, 0x0, 0x1, 0x9A, 0xD3, 0x0, 0x1, 0x9B, 0x16, 0x0, 0x1, 0x9B, 0x73, 0x0, 0x1, 0x9B, 0xD2, 0x0, 0x1, 0x9B, 0xEA, 0x0, 0x1, 0x9C, 0x2, 0x0, 0x1, 0x9C, 0x74, 0x0, 0x1, 0x9C, 0xE1, 0x0, 0x1, 0x9D, 0x12, 0x0, 0x1, 0x9D, 0x22, 0x0, 0x1, 0x9D, 0x5E, 0x0, 0x1, 0x9D, 0x98, 0x0, 0x1, 0x9E, 0x1E, 0x0, 0x1, 0x9E, 0x9F, 0x0, 0x1, 0x9F, 0x2C, 0x0, 0x1, 0x9F, 0xA9, 0x0, 0x1, 0x9F, 0xF4, 0x0, 0x1, 0xA0, 0x39, 0x0, 0x1, 0xA0, 0x51, 0x0, 0x1, 0xA0, 0x69, 0x0, 0x1, 0xA0, 0xC9, 0x0, 0x1, 0xA1, 0x27, 0x0, 0x1, 0xA1, 0x9F, 0x0, 0x1, 0xA2, 0x11, 0x0, 0x1, 0xA2, 0x63, 0x0, 0x1, 0xA2, 0xE9, 0x0, 0x1, 0xA3, 0x26, 0x0, 0x1, 0xA3, 0x63, 0x0, 0x1, 0xA3, 0xDC, 0x0, 0x1, 0xA4, 0x53, 0x0, 0x1, 0xA4, 0xA6, 0x0, 0x1, 0xA4, 0xF9, 0x0, 0x1, 0xA5, 0x3A, 0x0, 0x1, 0xA5, 0x76, 0x0, 0x1, 0xA5, 0xA7, 0x0, 0x1, 0xA5, 0xD8, 0x0, 0x1, 0xA6, 0x33, 0x0, 0x1, 0xA6, 0x88, 0x0, 0x1, 0xA6, 0xCD, 0x0, 0x1, 0xA7, 0x11, 0x0, 0x1, 0xA7, 0x59, 0x0, 0x1, 0xA7, 0x99, 0x0, 0x1, 0xA7, 0xB1, 0x0, 0x1, 0xA8, 0x29, 0x0, 0x1, 0xA8, 0xC6, 0x0, 0x1, 0xA9, 0x59, 0x0, 0x1, 0xA9, 0x81, 0x0, 0x1, 0xA9, 0x99, 0x0, 0x1, 0xAB, 0xDB, 0x0, 0x1, 0xAC, 0x1, 0x0, 0x1, 0xAD, 0x2D, 0x0, 0x1, 0xAD, 0x6C, 0x0, 0x1, 0xAE, 0xD, 0x0, 0x1, 0xAE, 0x61, 0x0, 0x1, 0xAE, 0xAE, 0x0, 0x1, 0xAE, 0xD9, 0x0, 0x1, 0xAF, 0x13, 0x0, 0x1, 0xAF, 0x55, 0x0, 0x1, 0xAF, 0x93, 0x0, 0x1, 0xAF, 0xDD, 0x0, 0x1, 0xB0, 0x16, 0x0, 0x1, 0xB0, 0x61, 0x0, 0x1, 0xB0, 0x73, 0x0, 0x1, 0xB0, 0xAC, 0x0, 0x1, 0xB0, 0xBC, 0x0, 0x1, 0xB0, 0xCE, 0x0, 0x1, 0xB1, 0x2A, 0x0, 0x1, 0xB1, 0x7F, 0x0, 0x1, 0xB1, 0xF2, 0x0, 0x1, 0xB2, 0x5D, 0x0, 0x1, 0xB2, 0xFF, 0x0, 0x1, 0xB3, 0x9B, 0x0, 0x1, 0xB3, 0xFD, 0x0, 0x1, 0xB4, 0x5B, 0x0, 0x1, 0xB4, 0xEC, 0x0, 0x1, 0xB5, 0x7C, 0x0, 0x1, 0xB5, 0xDD, 0x0, 0x1, 0xB6, 0x3F, 0x0, 0x1, 0xB6, 0x7B, 0x0, 0x1, 0xB6, 0xB7, 0x0, 0x1, 0xB7, 0x12, 0x0, 0x1, 0xB7, 0x6B, 0x0, 0x1, 0xB7, 0xB6, 0x0, 0x1, 0xB8, 0x3, 0x0, 0x1, 0xB8, 0x4D, 0x0, 0x1, 0xB8, 0x94, 0x0, 0x1, 0xB8, 0xEC, 0x0, 0x1, 0xB9, 0x42, 0x0, 0x1, 0xB9, 0xA8, 0x0, 0x1, 0xBA, 0xC, 0x0, 0x1, 0xBA, 0x24, 0x0, 0x1, 0xBA, 0xBE, 0x0, 0x1, 0xBB, 0x42, 0x0, 0x1, 0xBB, 0xBF, 0x0, 0x1, 0xBC, 0x3, 0x0, 0x1, 0xBC, 0x42, 0x0, 0x1, 0xBC, 0x9D, 0x0, 0x1, 0xBC, 0xD5, 0x0, 0x1, 0xBD, 0x17, 0x0, 0x1, 0xBD, 0x29, 0x0, 0x1, 0xBD, 0x6C, 0x0, 0x1, 0xBD, 0xA3, 0x0, 0x1, 0xBD, 0xE6, 0x0, 0x1, 0xBE, 0x1E, 0x0, 0x1, 0xBE, 0x61, 0x0, 0x1, 0xBE, 0x97, 0x0, 0x1, 0xBE, 0xD3, 0x0, 0x1, 0xBF, 0xF, 0x0, 0x1, 0xBF, 0x4B, 0x0, 0x1, 0xBF, 0x83, 0x0, 0x1, 0xBF, 0xB9, 0x0, 0x1, 0xBF, 0xF0, 0x0, 0x1, 0xC0, 0x27, 0x0, 0x1, 0xC0, 0x5E, 0x0, 0x1, 0xC0, 0x91, 0x0, 0x1, 0xC0, 0xB2, 0x0, 0x1, 0xC0, 0xD8, 0x0, 0x1, 0xC0, 0xFE, 0x0, 0x1, 0xC1, 0x23, 0x0, 0x1, 0xC1, 0x42, 0x0, 0x1, 0xC1, 0x79, 0x0, 0x1, 0xC1, 0xAF, 0x0, 0x1, 0xC1, 0xE5, 0x0, 0x1, 0xC2, 0x3, 0x0, 0x1, 0xC2, 0x30, 0x0, 0x1, 0xC2, 0x5A, 0x0, 0x1, 0xC2, 0x93, 0x0, 0x1, 0xC2, 0xCA, 0x0, 0x1, 0xC3, 0x1, 0x0, 0x1, 0xC3, 0x2F, 0x0, 0x1, 0xC3, 0x5D, 0x0, 0x1, 0xC3, 0xC5, 0x0, 0x1, 0xC4, 0x27, 0x0, 0x1, 0xC4, 0x5E, 0x0, 0x1, 0xC4, 0x95, 0x0, 0x1, 0xC4, 0xDE, 0x0, 0x1, 0xC5, 0x35, 0x0, 0x1, 0xC5, 0xA8, 0x0, 0x1, 0xC6, 0x30, 0x0, 0x1, 0xC6, 0xA0, 0x0, 0x1, 0xC6, 0xF5, 0x0, 0x1, 0xC7, 0x3F, 0x0, 0x1, 0xC7, 0x8A, 0x0, 0x1, 0xC7, 0xF7, 0x0, 0x1, 0xC8, 0x68, 0x0, 0x1, 0xC8, 0x94, 0x0, 0x1, 0xC8, 0xA4, 0x0, 0x1, 0xC9, 0x4, 0x0, 0x1, 0xC9, 0xCB, 0x0, 0x1, 0xCA, 0x4F, 0x0, 0x1, 0xCA, 0xFD, 0x0, 0x1, 0xCB, 0x58, 0x0, 0x1, 0xCB, 0xE6, 0x0, 0x1, 0xCC, 0x2F, 0x0, 0x1, 0xCC, 0xA9, 0x0, 0x1, 0xCC, 0xFF, 0x0, 0x1, 0xCD, 0x85, 0x0, 0x1, 0xCD, 0xE9, 0x0, 0x1, 0xCE, 0x74, 0x0, 0x1, 0xCE, 0xF8, 0x0, 0x1, 0xCF, 0x70, 0x0, 0x1, 0xCF, 0x88, 0x0, 0x1, 0xCF, 0xA0, 0x0, 0x1, 0xCF, 0xF4, 0x0, 0x1, 0xD0, 0x45, 0x0, 0x1, 0xD0, 0xA9, 0x0, 0x1, 0xD1, 0xA, 0x0, 0x1, 0xD1, 0x34, 0x0, 0x1, 0xD1, 0x58, 0x0, 0x1, 0xD1, 0x70, 0x0, 0x1, 0xD1, 0x88, 0x0, 0x1, 0xD2, 0x1, 0x0, 0x1, 0xD2, 0x75, 0x0, 0x1, 0xD3, 0xA, 0x0, 0x1, 0xD3, 0x96, 0x0, 0x1, 0xD3, 0xAE, 0x0, 0x1, 0xD3, 0xC6, 0x0, 0x1, 0xD3, 0xDE, 0x0, 0x1, 0xD3, 0xF6, 0x0, 0x1, 0xD4, 0x5F, 0x0, 0x1, 0xD4, 0xDF, 0x0, 0x1, 0xD5, 0x59, 0x0, 0x1, 0xD5, 0xE8, 0x0, 0x1, 0xD6, 0x74, 0x0, 0x1, 0xD6, 0x8C, 0x0, 0x1, 0xD7, 0x36, 0x0, 0x1, 0xD7, 0xBF, 0x0, 0x1, 0xD8, 0xC, 0x0, 0x1, 0xD8, 0x5B, 0x0, 0x1, 0xD8, 0xBA, 0x0, 0x1, 0xD9, 0x18, 0x0, 0x1, 0xD9, 0x5D, 0x0, 0x1, 0xD9, 0x9C, 0x0, 0x1, 0xD9, 0xF8, 0x0, 0x1, 0xDA, 0x10, 0x0, 0x1, 0xDA, 0x98, 0x0, 0x1, 0xDB, 0x21, 0x0, 0x1, 0xDB, 0x7D, 0x0, 0x1, 0xDB, 0xE5, 0x0, 0x1, 0xDC, 0x40, 0x0, 0x1, 0xDC, 0xA9, 0x0, 0x1, 0xDC, 0xD3, 0x0, 0x1, 0xDC, 0xFC, 0x0, 0x1, 0xDD, 0x60, 0x0, 0x1, 0xDD, 0xC8, 0x0, 0x1, 0xDE, 0x2F, 0x0, 0x1, 0xDE, 0x9E, 0x0, 0x1, 0xDF, 0xF, 0x0, 0x1, 0xDF, 0x80, 0x0, 0x1, 0xDF, 0xE0, 0x0, 0x1, 0xE0, 0x66, 0x0, 0x1, 0xE0, 0xAB, 0x0, 0x1, 0xE1, 0x36, 0x0, 0x1, 0xE1, 0xA0, 0x0, 0x1, 0xE1, 0xEB, 0x0, 0x1, 0xE2, 0x51, 0x0, 0x1, 0xE2, 0xAB, 0x0, 0x1, 0xE3, 0x2D, 0x0, 0x1, 0xE3, 0xA2, 0x0, 0x1, 0xE4, 0x11, 0x0, 0x1, 0xE4, 0x52, 0x0, 0x1, 0xE4, 0x90, 0x0, 0x1, 0xE4, 0xF8, 0x0, 0x1, 0xE5, 0x5F, 0x0, 0x1, 0xE5, 0xC2, 0x0, 0x1, 0xE5, 0xD6, 0x0, 0x1, 0xE5, 0xE8, 0x0, 0x1, 0xE6, 0x26, 0x0, 0x1, 0xE6, 0x65, 0x0, 0x1, 0xE6, 0x98, 0x0, 0x1, 0xE6, 0xCD, 0x0, 0x1, 0xE7, 0x24, 0x0, 0x1, 0xE7, 0x76, 0x0, 0x1, 0xE7, 0x88, 0x0, 0x1, 0xE7, 0xD3, 0x0, 0x1, 0xE7, 0xFB, 0x0, 0x1, 0xE8, 0x1C, 0x0, 0x1, 0xE8, 0x3D, 0x0, 0x1, 0xE8, 0x66, 0x0, 0x1, 0xE8, 0xD5, 0x0, 0x1, 0xE8, 0xED, 0x0, 0x1, 0xE9, 0x5, 0x0, 0x1, 0xE9, 0x74, 0x0, 0x1, 0xE9, 0xD8, 0x0, 0x1, 0xEA, 0x4B, 0x0, 0x1, 0xEA, 0xA9, 0x0, 0x1, 0xEB, 0x32, 0x0, 0x1, 0xEB, 0xAD, 0x0, 0x1, 0xEB, 0xF9, 0x0, 0x1, 0xEC, 0x4B, 0x0, 0x1, 0xEC, 0xD4, 0x0, 0x1, 0xED, 0x58, 0x0, 0x1, 0xED, 0xD3, 0x0, 0x1, 0xEE, 0x40, 0x0, 0x1, 0xEE, 0x9C, 0x0, 0x1, 0xEE, 0xED, 0x0, 0x1, 0xEF, 0x6C, 0x0, 0x1, 0xF0, 0x7, 0x0, 0x1, 0xF0, 0x6C, 0x0, 0x1, 0xF0, 0xCC, 0x0, 0x1, 0xF1, 0x31, 0x0, 0x1, 0xF1, 0x93, 0x0, 0x1, 0xF2, 0xA, 0x0, 0x1, 0xF2, 0x56, 0x0, 0x1, 0xF2, 0xE2, 0x0, 0x1, 0xF3, 0x60, 0x0, 0x1, 0xF3, 0xAD, 0x0, 0x1, 0xF3, 0xBD, 0x0, 0x1, 0xF4, 0x3D, 0x0, 0x1, 0xF4, 0x95, 0x0, 0x1, 0xF4, 0xCE, 0x0, 0x1, 0xF4, 0xF2, 0x0, 0x1, 0xF5, 0xC, 0x0, 0x1, 0xF5, 0x59, 0x0, 0x1, 0xF5, 0x71, 0x0, 0x1, 0xF5, 0xA9, 0x0, 0x1, 0xF5, 0xD3, 0x0, 0x1, 0xF6, 0x1B, 0x0, 0x1, 0xF6, 0x5C, 0x0, 0x1, 0xF6, 0x77, 0x0, 0x1, 0xF6, 0xC7, 0x0, 0x1, 0xF6, 0xFC, 0x0, 0x1, 0xF7, 0x7F, 0x0, 0x1, 0xF8, 0x26, 0x0, 0x1, 0xF8, 0x60, 0x0, 0x1, 0xF8, 0xD1, 0x0, 0x1, 0xF9, 0x4F, 0x0, 0x1, 0xF9, 0x5F, 0x0, 0x1, 0xF9, 0xDC, 0x0, 0x1, 0xFA, 0x49, 0x0, 0x1, 0xFA, 0xC8, 0x0, 0x1, 0xFB, 0x24, 0x0, 0x1, 0xFB, 0xB4, 0x0, 0x1, 0xFC, 0x23, 0x0, 0x1, 0xFC, 0x95, 0x0, 0x1, 0xFC, 0xC9, 0x0, 0x1, 0xFD, 0x1A, 0x0, 0x1, 0xFD, 0x82, 0x0, 0x1, 0xFE, 0x25, 0x0, 0x1, 0xFE, 0xF1, 0x0, 0x1, 0xFF, 0xA4, 0x0, 0x2, 0x0, 0x33, 0x0, 0x2, 0x0, 0xE7, 0x0, 0x2, 0x1, 0x2A, 0x0, 0x2, 0x1, 0x89, 0x0, 0x2, 0x1, 0xB2, 0x0, 0x2, 0x1, 0xFF, 0x0, 0x2, 0x2, 0x61, 0x0, 0x2, 0x2, 0xDB, 0x0, 0x2, 0x3, 0x24, 0x0, 0x2, 0x3, 0x8D, 0x0, 0x2, 0x3, 0xD4, 0x0, 0x2, 0x4, 0x11, 0x0, 0x2, 0x4, 0x6C, 0x0, 0x2, 0x4, 0xE9, 0x0, 0x2, 0x4, 0xFD, 0x0, 0x2, 0x5, 0x4F, 0x0, 0x2, 0x5, 0x8F, 0x0, 0x2, 0x5, 0xFD, 0x0, 0x2, 0x6, 0x45, 0x0, 0x2, 0x6, 0xB9, 0x0, 0x2, 0x6, 0xFA, 0x0, 0x2, 0x7, 0x70, 0x0, 0x2, 0x7, 0xBA, 0x0, 0x2, 0x8, 0x3, 0x0, 0x2, 0x8, 0x51, 0x0, 0x2, 0x8, 0xA1, 0x0, 0x2, 0x9, 0x8, 0x0, 0x2, 0x9, 0x50, 0x0, 0x2, 0x9, 0x9D, 0x0, 0x2, 0xA, 0x7, 0x0, 0x2, 0xA, 0x66, 0x0, 0x2, 0xA, 0x80, 0x0, 0x2, 0xA, 0xA7, 0x0, 0x2, 0xA, 0xCF, 0x0, 0x2, 0xA, 0xE7, 0x0, 0x2, 0xB, 0x37, 0x0, 0x2, 0xB, 0x80, 0x0, 0x2, 0xB, 0xFD, 0x0, 0x2, 0xC, 0x6F, 0x0, 0x2, 0xC, 0xD9, 0x0, 0x2, 0xD, 0x9E, 0x0, 0x2, 0xD, 0xC4, 0x0, 0x2, 0xD, 0xEA, 0x0, 0x2, 0xD, 0xFC, 0x0, 0x2, 0xE, 0xE, 0x0, 0x2, 0xE, 0x27, 0x0, 0x2, 0xE, 0x41, 0x0, 0x2, 0xE, 0x5A, 0x0, 0x2, 0xE, 0x80, 0x0, 0x2, 0xE, 0xA6, 0x0, 0x2, 0xE, 0xD9, 0x0, 0x2, 0xF, 0xE, 0x0, 0x2, 0xF, 0x20, 0x0, 0x2, 0xF, 0x32, 0x0, 0x2, 0xF, 0x44, 0x0, 0x2, 0xF, 0x44, 0x0, 0x2, 0x10, 0xD9, 0x0, 0x2, 0x11, 0x5E, 0x0, 0x2, 0x11, 0xDA, 0x0, 0x2, 0x12, 0x47, 0x0, 0x2, 0x12, 0x77, 0x0, 0x2, 0x12, 0xBF, 0x0, 0x2, 0x12, 0xE3, 0x0, 0x2, 0x13, 0x2D, 0x0, 0x2, 0x13, 0x93, 0x0, 0x2, 0x14, 0x12, 0x0, 0x2, 0x14, 0x39, 0x0, 0x2, 0x14, 0x9F, 0x0, 0x2, 0x14, 0xFA, 0x0, 0x2, 0x15, 0x37, 0x0, 0x2, 0x15, 0xA4, 0x0, 0x2, 0x15, 0xF1, 0x0, 0x2, 0x16, 0x16, 0x0, 0x2, 0x16, 0x68, 0x0, 0x2, 0x16, 0x93, 0x0, 0x2, 0x16, 0xC3, 0x0, 0x2, 0x17, 0x3, 0x0, 0x2, 0x17, 0x3E, 0x0, 0x2, 0x17, 0x6F, 0x0, 0x2, 0x17, 0xAB, 0x0, 0x2, 0x17, 0xD1, 0x0, 0x2, 0x18, 0x41, 0x0, 0x2, 0x18, 0x94, 0x0, 0x2, 0x19, 0x0, 0x0, 0x2, 0x19, 0x45, 0x0, 0x2, 0x19, 0xA5, 0x0, 0x2, 0x19, 0xD4, 0x0, 0x2, 0x1A, 0x17, 0x0, 0x2, 0x1A, 0x34, 0x0, 0x2, 0x1A, 0x6F, 0x0, 0x2, 0x1A, 0xA0, 0x0, 0x2, 0x1A, 0xBB, 0x0, 0x2, 0x1A, 0xEA, 0x0, 0x2, 0x1B, 0x4E, 0x0, 0x2, 0x1B, 0x7A, 0x0, 0x2, 0x1B, 0xF6, 0x0, 0x2, 0x1C, 0x56, 0x0, 0x2, 0x1C, 0xAB, 0x0, 0x2, 0x1C, 0xCC, 0x0, 0x2, 0x1C, 0xFD, 0x0, 0x2, 0x1D, 0x69, 0x0, 0x2, 0x1D, 0x97, 0x0, 0x2, 0x1D, 0xCD, 0x0, 0x2, 0x1D, 0xF2, 0x0, 0x2, 0x1E, 0x2A, 0x0, 0x2, 0x1E, 0x99, 0x0, 0x2, 0x1E, 0xEA, 0x0, 0x2, 0x1F, 0x4D, 0x0, 0x2, 0x1F, 0x9B, 0x0, 0x2, 0x1F, 0xFC, 0x0, 0x2, 0x20, 0x68, 0x0, 0x2, 0x20, 0xC4, 0x0, 0x2, 0x21, 0xC, 0x0, 0x2, 0x21, 0x3B, 0x0, 0x2, 0x21, 0x7F, 0x0, 0x2, 0x21, 0xD0, 0x0, 0x2, 0x22, 0x27, 0x0, 0x2, 0x22, 0x98, 0x0, 0x2, 0x22, 0xC2, 0x0, 0x2, 0x22, 0xFB, 0x0, 0x2, 0x23, 0x3A, 0x0, 0x2, 0x23, 0x7E, 0x0, 0x2, 0x23, 0xAE, 0x0, 0x2, 0x23, 0xEA, 0x0, 0x2, 0x24, 0x18, 0x0, 0x2, 0x24, 0x53, 0x0, 0x2, 0x24, 0x9D, 0x0, 0x2, 0x24, 0xB5, 0x0, 0x2, 0x24, 0xF8, 0x0, 0x2, 0x25, 0x58, 0x0, 0x2, 0x25, 0xC7, 0x0, 0x2, 0x26, 0x14, 0x0, 0x2, 0x26, 0x47, 0x0, 0x2, 0x26, 0xA7, 0x0, 0x2, 0x26, 0xEB, 0x0, 0x2, 0x27, 0x37, 0x0, 0x2, 0x27, 0x76, 0x0, 0x2, 0x28, 0x6, 0x0, 0x2, 0x28, 0x1E, 0x0, 0x2, 0x28, 0x67, 0x0, 0x2, 0x28, 0xA3, 0x0, 0x2, 0x28, 0xEB, 0x0, 0x2, 0x29, 0x2A, 0x0, 0x2, 0x29, 0xA5, 0x0, 0x2, 0x2A, 0xC, 0x0, 0x2, 0x2A, 0x62, 0x0, 0x2, 0x2A, 0xC8, 0x0, 0x2, 0x2B, 0x3C, 0x0, 0x2, 0x2B, 0xA1, 0x0, 0x2, 0x2C, 0x24, 0x0, 0x2, 0x2C, 0x9B, 0x0, 0x2, 0x2C, 0xF9, 0x0, 0x2, 0x2D, 0x2D, 0x0, 0x2, 0x2D, 0x93, 0x0, 0x2, 0x2D, 0xCD, 0x0, 0x2, 0x2E, 0x23, 0x0, 0x2, 0x2E, 0x7E, 0x0, 0x2, 0x2E, 0xA4, 0x0, 0x2, 0x2F, 0xC, 0x0, 0x2, 0x2F, 0x65, 0x0, 0x2, 0x2F, 0x7F, 0x0, 0x2, 0x2F, 0xD0, 0x0, 0x2, 0x2F, 0xFE, 0x0, 0x2, 0x30, 0xC3, 0x0, 0x2, 0x31, 0x27, 0x0, 0x2, 0x31, 0x8D, 0x0, 0x2, 0x31, 0xC6, 0x0, 0x2, 0x31, 0xFF, 0x0, 0x2, 0x32, 0x36, 0x0, 0x2, 0x32, 0x6B, 0x0, 0x2, 0x32, 0xB5, 0x0, 0x2, 0x33, 0xF, 0x0, 0x2, 0x33, 0x72, 0x0, 0x2, 0x33, 0xAB, 0x0, 0x2, 0x33, 0xD2, 0x0, 0x2, 0x34, 0xF, 0x0, 0x2, 0x34, 0x60, 0x0, 0x2, 0x34, 0xB3, 0x0, 0x2, 0x35, 0x14, 0x0, 0x2, 0x35, 0x67, 0x0, 0x2, 0x35, 0x9C, 0x0, 0x2, 0x35, 0xEA, 0x0, 0x2, 0x36, 0x13, 0x0, 0x2, 0x36, 0x3B, 0x0, 0x2, 0x36, 0x8C, 0x0, 0x2, 0x36, 0xC4, 0x0, 0x2, 0x37, 0x4, 0x0, 0x2, 0x37, 0x39, 0x0, 0x2, 0x37, 0x6D, 0x0, 0x2, 0x37, 0xB6, 0x0, 0x2, 0x38, 0xE, 0x0, 0x2, 0x38, 0x5C, 0x0, 0x2, 0x38, 0x82, 0x0, 0x2, 0x38, 0xBF, 0x0, 0x2, 0x39, 0x13, 0x0, 0x2, 0x39, 0x87, 0x0, 0x2, 0x39, 0x99, 0x0, 0x2, 0x39, 0xAB, 0x0, 0x2, 0x39, 0xBD, 0x0, 0x2, 0x39, 0xCF, 0x0, 0x2, 0x39, 0xE1, 0x0, 0x2, 0x39, 0xF3, 0x0, 0x2, 0x3A, 0x5, 0x0, 0x2, 0x3A, 0x69, 0x0, 0x2, 0x3A, 0xD8, 0x0, 0x2, 0x3B, 0x28, 0x0, 0x2, 0x3B, 0x94, 0x0, 0x2, 0x3C, 0xB, 0x0, 0x2, 0x3C, 0x30, 0x0, 0x2, 0x3C, 0x82, 0x0, 0x2, 0x3C, 0xD9, 0x0, 0x2, 0x3D, 0x17, 0x0, 0x2, 0x3D, 0x76, 0x0, 0x2, 0x3D, 0x9C, 0x0, 0x2, 0x3E, 0x1, 0x0, 0x2, 0x3E, 0x1B, 0x0, 0x2, 0x3E, 0x89, 0x0, 0x2, 0x3E, 0xFF, 0x0, 0x2, 0x3F, 0x45, 0x0, 0x2, 0x3F, 0x89, 0x0, 0x2, 0x40, 0xB, 0x0, 0x2, 0x40, 0x7C, 0x0, 0x2, 0x40, 0xE8, 0x0, 0x2, 0x41, 0x17, 0x0, 0x2, 0x41, 0x27, 0x0, 0x2, 0x41, 0x37, 0x0, 0x2, 0x41, 0x47, 0x0, 0x2, 0x41, 0x57, 0x0, 0x2, 0x41, 0x67, 0x0, 0x2, 0x41, 0x77, 0x0, 0x2, 0x41, 0x87, 0x0, 0x2, 0x41, 0x97, 0x0, 0x2, 0x41, 0xA7, 0x0, 0x2, 0x41, 0xB7, 0x0, 0x2, 0x41, 0xC7, 0x0, 0x2, 0x42, 0x3, 0x0, 0x2, 0x42, 0x19, 0x0, 0x2, 0x42, 0x2F, 0x0, 0x2, 0x42, 0x3F, 0x0, 0x2, 0x42, 0x8D, 0x0, 0x2, 0x42, 0xA8, 0x0, 0x2, 0x42, 0xB8, 0x0, 0x2, 0x42, 0xE5, 0x0, 0x2, 0x42, 0xFB, 0x0, 0x2, 0x43, 0xB, 0x0, 0x2, 0x43, 0x26, 0x0, 0x2, 0x43, 0x36, 0x0, 0x2, 0x43, 0x81, 0x0, 0x2, 0x43, 0xAF, 0x0, 0x2, 0x43, 0xDD, 0x0, 0x2, 0x44, 0x45, 0x0, 0x2, 0x44, 0x78, 0x0, 0x2, 0x44, 0x9D, 0x0, 0x2, 0x44, 0xC8, 0x0, 0x2, 0x44, 0xF8, 0x0, 0x2, 0x45, 0x28, 0x0, 0x2, 0x45, 0x57, 0x0, 0x2, 0x45, 0x85, 0x0, 0x2, 0x45, 0xAD, 0x0, 0x2, 0x45, 0xDE, 0x0, 0x2, 0x46, 0xF, 0x0, 0x2, 0x46, 0x3D, 0x0, 0x2, 0x46, 0x67, 0x0, 0x2, 0x46, 0x98, 0x0, 0x2, 0x46, 0xC8, 0x0, 0x2, 0x46, 0xFA, 0x0, 0x2, 0x47, 0x25, 0x0, 0x2, 0x47, 0x56, 0x0, 0x2, 0x47, 0x84, 0x0, 0x2, 0x47, 0xB5, 0x0, 0x2, 0x47, 0xE6, 0x0, 0x2, 0x48, 0x19, 0x0, 0x2, 0x48, 0x4B, 0x0, 0x2, 0x48, 0x7B, 0x0, 0x2, 0x48, 0xAA, 0x0, 0x2, 0x48, 0xD7, 0x0, 0x2, 0x49, 0x7, 0x0, 0x2, 0x49, 0x34, 0x0, 0x2, 0x49, 0x67, 0x0, 0x2, 0x49, 0x97, 0x0, 0x2, 0x49, 0xC9, 0x0, 0x2, 0x49, 0xF8, 0x0, 0x2, 0x4A, 0x22, 0x0, 0x2, 0x4A, 0x52, 0x0, 0x2, 0x4A, 0x82, 0x0, 0x2, 0x4A, 0xAD, 0x0, 0x2, 0x4A, 0xD5, 0x0, 0x2, 0x4A, 0xFB, 0x0, 0x2, 0x4B, 0x28, 0x0, 0x2, 0x4B, 0x4C, 0x0, 0x2, 0x4B, 0x73, 0x0, 0x2, 0x4B, 0xA3, 0x0, 0x2, 0x4B, 0xCB, 0x0, 0x2, 0x4B, 0xFD, 0x0, 0x2, 0x4C, 0x2E, 0x0, 0x2, 0x4C, 0x57, 0x0, 0x2, 0x4C, 0x83, 0x0, 0x2, 0x4C, 0xB0, 0x0, 0x2, 0x4C, 0xD9, 0x0, 0x2, 0x4D, 0xD, 0x0, 0x2, 0x4D, 0x3F, 0x0, 0x2, 0x4D, 0x6F, 0x0, 0x2, 0x4D, 0x99, 0x0, 0x2, 0x4D, 0xC5, 0x0, 0x2, 0x4D, 0xEE, 0x0, 0x2, 0x4E, 0x19, 0x0, 0x2, 0x4E, 0x46, 0x0, 0x2, 0x4E, 0x6E, 0x0, 0x2, 0x4E, 0x9E, 0x0, 0x2, 0x4E, 0xCD, 0x0, 0x2, 0x4F, 0x1, 0x0, 0x2, 0x4F, 0x34, 0x0, 0x2, 0x4F, 0x64, 0x0, 0x2, 0x4F, 0x92, 0x0, 0x2, 0x4F, 0xC3, 0x0, 0x2, 0x4F, 0xEE, 0x0, 0x2, 0x50, 0x18, 0x0, 0x2, 0x50, 0x3F, 0x0, 0x2, 0x50, 0x67, 0x0, 0x2, 0x50, 0x93, 0x0, 0x2, 0x50, 0xC8, 0x0, 0x2, 0x50, 0xF9, 0x0, 0x2, 0x51, 0x29, 0x0, 0x2, 0x51, 0x5C, 0x0, 0x2, 0x51, 0x8C, 0x0, 0x2, 0x51, 0xC0, 0x0, 0x2, 0x51, 0xF0, 0x0, 0x2, 0x52, 0x20, 0x0, 0x2, 0x52, 0x54, 0x0, 0x2, 0x52, 0x88, 0x0, 0x2, 0x52, 0xBA, 0x0, 0x2, 0x52, 0xDF, 0x0, 0x2, 0x53, 0xF, 0x0, 0x2, 0x53, 0x43, 0x0, 0x2, 0x53, 0x6E, 0x0, 0x2, 0x53, 0x96, 0x0, 0x2, 0x53, 0xC0, 0x0, 0x2, 0x53, 0xF3, 0x0, 0x2, 0x54, 0x26, 0x0, 0x2, 0x54, 0x4B, 0x0, 0x2, 0x54, 0x7E, 0x0, 0x2, 0x54, 0xAE, 0x0, 0x2, 0x54, 0xD5, 0x0, 0x2, 0x55, 0x4, 0x0, 0x2, 0x55, 0x39, 0x0, 0x2, 0x55, 0x68, 0x0, 0x2, 0x55, 0x92, 0x0, 0x2, 0x55, 0xBE, 0x0, 0x2, 0x55, 0xE7, 0x0, 0x2, 0x56, 0x1B, 0x0, 0x2, 0x56, 0x50, 0x0, 0x2, 0x56, 0x81, 0x0, 0x2, 0x56, 0xB4, 0x0, 0x2, 0x56, 0xE1, 0x0, 0x2, 0x57, 0xF, 0x0, 0x2, 0x57, 0x3F, 0x0, 0x2, 0x57, 0x70, 0x0, 0x2, 0x57, 0xA0, 0x0, 0x2, 0x57, 0xCD, 0x0, 0x2, 0x57, 0xFF, 0x0, 0x2, 0x58, 0x2F, 0x0, 0x2, 0x58, 0x5D, 0x0, 0x2, 0x58, 0x8A, 0x0, 0x2, 0x58, 0xBA, 0x0, 0x2, 0x58, 0xE3, 0x0, 0x2, 0x59, 0x13, 0x0, 0x2, 0x59, 0x3E, 0x0, 0x2, 0x59, 0x68, 0x0, 0x2, 0x59, 0x8F, 0x0, 0x2, 0x59, 0xC1, 0x0, 0x2, 0x59, 0xF1, 0x0, 0x2, 0x5A, 0x22, 0x0, 0x2, 0x5A, 0x4D, 0x0, 0x2, 0x5A, 0x81, 0x0, 0x2, 0x5A, 0xAA, 0x0, 0x2, 0x5A, 0xDB, 0x0, 0x2, 0x5B, 0x9, 0x0, 0x2, 0x5B, 0x30, 0x0, 0x2, 0x5B, 0x61, 0x0, 0x2, 0x5B, 0x91, 0x0, 0x2, 0x5B, 0xBE, 0x0, 0x2, 0x5B, 0xEE, 0x0, 0x2, 0x5C, 0x1A, 0x0, 0x2, 0x5C, 0x49, 0x0, 0x2, 0x5C, 0x79, 0x0, 0x2, 0x5C, 0xA1, 0x0, 0x2, 0x5C, 0xC5, 0x0, 0x2, 0x5C, 0xF5, 0x0, 0x2, 0x5D, 0x19, 0x0, 0x2, 0x5D, 0x40, 0x0, 0x2, 0x5D, 0xD6, 0x0, 0x2, 0x5E, 0xBD, 0x0, 0x2, 0x5F, 0x28, 0x0, 0x2, 0x5F, 0xC6, 0x0, 0x2, 0x60, 0x40, 0x0, 0x2, 0x60, 0xBE, 0x0, 0x2, 0x61, 0x4B, 0x0, 0x2, 0x61, 0xC0, 0x0, 0x2, 0x62, 0x54, 0x0, 0x2, 0x62, 0xC1, 0x0, 0x2, 0x63, 0x42, 0x0, 0x2, 0x63, 0xD8, 0x0, 0x2, 0x64, 0x48, 0x0, 0x2, 0x64, 0xD1, 0x0, 0x2, 0x65, 0x70, 0x0, 0x2, 0x65, 0xD2, 0x0, 0x2, 0x66, 0x2E, 0x0, 0x2, 0x66, 0x8A, 0x0, 0x2, 0x66, 0xE6, 0x0, 0x2, 0x67, 0x94, 0x0, 0x2, 0x68, 0x42, 0x0, 0x2, 0x68, 0xF0, 0x0, 0x2, 0x69, 0x16, 0x0, 0x2, 0x69, 0x71, 0x0, 0x2, 0x69, 0xC8, 0x0, 0x2, 0x6A, 0x22, 0x0, 0x2, 0x6A, 0x9D, 0x0, 0x2, 0x6A, 0xF8, 0x0, 0x2, 0x6B, 0x51, 0x0, 0x2, 0x6B, 0xAC, 0x0, 0x2, 0x6C, 0x11, 0x0, 0x2, 0x6C, 0x88, 0x0, 0x2, 0x6C, 0xF8, 0x0, 0x2, 0x6D, 0x8, 0x0, 0x2, 0x6D, 0xA5, 0x0, 0x2, 0x6E, 0x5A, 0x0, 0x2, 0x6F, 0x1, 0x0, 0x2, 0x6F, 0x1B, 0x0, 0x2, 0x6F, 0xD1, 0x0, 0x2, 0x70, 0x70, 0x0, 0x2, 0x71, 0x6, 0x0, 0x2, 0x71, 0x39, 0x0, 0x2, 0x71, 0x8C, 0x0, 0x2, 0x71, 0xD4, 0x0, 0x2, 0x72, 0x5B, 0x0, 0x2, 0x72, 0xA8, 0x0, 0x2, 0x72, 0xF0, 0x0, 0x2, 0x73, 0x2B, 0x0, 0x2, 0x73, 0xAE, 0x0, 0x2, 0x74, 0xD, 0x0, 0x2, 0x74, 0x53, 0x0, 0x2, 0x74, 0x88, 0x0, 0x2, 0x74, 0xB4, 0x0, 0x2, 0x75, 0xD, 0x0, 0x2, 0x75, 0x6B, 0x0, 0x2, 0x75, 0x97, 0x0, 0x2, 0x75, 0xE8, 0x0, 0x2, 0x76, 0x41, 0x0, 0x2, 0x76, 0x96, 0x0, 0x2, 0x77, 0x0, 0x0, 0x2, 0x77, 0x0, 0x0, 0x2, 0x77, 0x10, 0x0, 0x2, 0x77, 0x73, 0x0, 0x2, 0x77, 0xD6, 0x0, 0x2, 0x78, 0x27, 0x0, 0x2, 0x78, 0x5F, 0x0, 0x2, 0x78, 0xB3, 0x0, 0x2, 0x78, 0xCB, 0x0, 0x2, 0x78, 0xE3, 0x0, 0x2, 0x78, 0xFB, 0x0, 0x2, 0x79, 0x13, 0x0, 0x2, 0x79, 0x2B, 0x0, 0x2, 0x79, 0x43, 0x0, 0x2, 0x79, 0x5B, 0x0, 0x2, 0x79, 0x73, 0x0, 0x2, 0x79, 0x8B, 0x0, 0x2, 0x79, 0xA3, 0x0, 0x2, 0x79, 0xBB, 0x0, 0x2, 0x79, 0xD3, 0x0, 0x2, 0x79, 0xEB, 0x0, 0x2, 0x7A, 0x3, 0x0, 0x2, 0x7A, 0x1B, 0x0, 0x2, 0x7A, 0x33, 0x0, 0x2, 0x7A, 0x4B, 0x0, 0x2, 0x7A, 0x63, 0x0, 0x2, 0x7A, 0x7B, 0x0, 0x2, 0x7A, 0x93, 0x0, 0x2, 0x7A, 0xAB, 0x0, 0x2, 0x7A, 0xC3, 0x0, 0x2, 0x7A, 0xDB, 0x0, 0x2, 0x7A, 0xF3, 0x0, 0x2, 0x7B, 0xB, 0x0, 0x2, 0x7B, 0x23, 0x0, 0x2, 0x7B, 0x3B, 0x0, 0x2, 0x7B, 0x53, 0x0, 0x2, 0x7B, 0x6B, 0x0, 0x2, 0x7B, 0x81, 0x0, 0x2, 0x7B, 0x97, 0x0, 0x2, 0x7B, 0xAD, 0x0, 0x2, 0x7B, 0xC5, 0x0, 0x2, 0x7B, 0xDD, 0x0, 0x2, 0x7B, 0xF5, 0x0, 0x2, 0x7C, 0xD, 0x0, 0x2, 0x7C, 0x25, 0x0, 0x2, 0x7C, 0x3B, 0x0, 0x2, 0x7C, 0x51, 0x0, 0x2, 0x7C, 0x67, 0x0, 0x2, 0x7C, 0x7D, 0x0, 0x2, 0x7C, 0x95, 0x0, 0x2, 0x7C, 0xAD, 0x0, 0x2, 0x7C, 0xC3, 0x0, 0x2, 0x7C, 0xDB, 0x0, 0x2, 0x7C, 0xF3, 0x0, 0x2, 0x7D, 0x9, 0x0, 0x2, 0x7D, 0x1F, 0x0, 0x2, 0x7D, 0x37, 0x0, 0x2, 0x7D, 0x4F, 0x0, 0x2, 0x7D, 0x67, 0x0, 0x2, 0x7D, 0x7D, 0x0, 0x2, 0x7D, 0x93, 0x0, 0x2, 0x7D, 0xAB, 0x0, 0x2, 0x7D, 0xC1, 0x0, 0x2, 0x7D, 0xD9, 0x0, 0x2, 0x7D, 0xEF, 0x0, 0x2, 0x7E, 0x7, 0x0, 0x2, 0x7E, 0x1D, 0x0, 0x2, 0x7E, 0x7D, 0x0, 0x2, 0x7F, 0x14, 0x0, 0x2, 0x7F, 0x2C, 0x0, 0x2, 0x7F, 0x44, 0x0, 0x2, 0x7F, 0x5C, 0x0, 0x2, 0x7F, 0x72, 0x0, 0x2, 0x7F, 0x8A, 0x0, 0x2, 0x7F, 0xA2, 0x0, 0x2, 0x7F, 0xBA, 0x0, 0x2, 0x7F, 0xD0, 0x0, 0x2, 0x7F, 0xE8, 0x0, 0x2, 0x80, 0x0, 0x0, 0x2, 0x80, 0x18, 0x0, 0x2, 0x80, 0x2E, 0x0, 0x2, 0x80, 0x46, 0x0, 0x2, 0x80, 0x5C, 0x0, 0x2, 0x80, 0x74, 0x0, 0x2, 0x80, 0x8C, 0x0, 0x2, 0x80, 0xE4, 0x0, 0x2, 0x81, 0x6B, 0x0, 0x2, 0x81, 0x83, 0x0, 0x2, 0x81, 0x99, 0x0, 0x2, 0x81, 0xB1, 0x0, 0x2, 0x81, 0xC7, 0x0, 0x2, 0x81, 0xDF, 0x0, 0x2, 0x81, 0xF5, 0x0, 0x2, 0x82, 0xD, 0x0, 0x2, 0x82, 0x25, 0x0, 0x2, 0x82, 0x3D, 0x0, 0x2, 0x82, 0x55, 0x0, 0x2, 0x82, 0x6D, 0x0, 0x2, 0x82, 0x85, 0x0, 0x2, 0x82, 0x9D, 0x0, 0x2, 0x82, 0xB5, 0x0, 0x2, 0x82, 0xCD, 0x0, 0x2, 0x82, 0xE5, 0x0, 0x2, 0x82, 0xFD, 0x0, 0x2, 0x83, 0x15, 0x0, 0x2, 0x83, 0x2B, 0x0, 0x2, 0x83, 0x41, 0x0, 0x2, 0x83, 0x59, 0x0, 0x2, 0x83, 0x71, 0x0, 0x2, 0x83, 0x89, 0x0, 0x2, 0x83, 0xA1, 0x0, 0x2, 0x83, 0xB9, 0x0, 0x2, 0x83, 0xD1, 0x0, 0x2, 0x83, 0xE9, 0x0, 0x2, 0x84, 0x1, 0x0, 0x2, 0x84, 0x19, 0x0, 0x2, 0x84, 0x31, 0x0, 0x2, 0x84, 0x49, 0x0, 0x2, 0x84, 0x61, 0x0, 0x2, 0x84, 0x79, 0x0, 0x2, 0x84, 0x91, 0x0, 0x2, 0x84, 0xA9, 0x0, 0x2, 0x84, 0xC1, 0x0, 0x2, 0x84, 0xD9, 0x0, 0x2, 0x84, 0xF1, 0x0, 0x2, 0x85, 0x9, 0x0, 0x2, 0x85, 0x21, 0x0, 0x2, 0x85, 0x37, 0x0, 0x2, 0x85, 0x4F, 0x0, 0x2, 0x85, 0x67, 0x0, 0x2, 0x85, 0x7D, 0x0, 0x2, 0x85, 0x95, 0x0, 0x2, 0x85, 0xAD, 0x0, 0x2, 0x85, 0xC5, 0x0, 0x2, 0x85, 0xDD, 0x0, 0x2, 0x85, 0xF5, 0x0, 0x2, 0x86, 0xD, 0x0, 0x2, 0x86, 0x25, 0x0, 0x2, 0x86, 0x3D, 0x0, 0x2, 0x86, 0x55, 0x0, 0x2, 0x86, 0x6B, 0x0, 0x2, 0x86, 0x83, 0x0, 0x2, 0x86, 0x9B, 0x0, 0x2, 0x86, 0xB3, 0x0, 0x2, 0x86, 0xC9, 0x0, 0x2, 0x86, 0xE1, 0x0, 0x2, 0x86, 0xF9, 0x0, 0x2, 0x87, 0x11, 0x0, 0x2, 0x87, 0x29, 0x0, 0x2, 0x87, 0x41, 0x0, 0x2, 0x87, 0x57, 0x0, 0x2, 0x87, 0x6F, 0x0, 0x2, 0x87, 0x87, 0x0, 0x2, 0x87, 0x9F, 0x0, 0x2, 0x87, 0xB7, 0x0, 0x2, 0x87, 0xCF, 0x0, 0x2, 0x87, 0xE7, 0x0, 0x2, 0x87, 0xFF, 0x0, 0x2, 0x88, 0x15, 0x0, 0x2, 0x88, 0x2D, 0x0, 0x2, 0x88, 0x43, 0x0, 0x2, 0x88, 0x5B, 0x0, 0x2, 0x88, 0x73, 0x0, 0x2, 0x88, 0x8B, 0x0, 0x2, 0x88, 0xA3, 0x0, 0x2, 0x88, 0xBB, 0x0, 0x2, 0x88, 0xD3, 0x0, 0x2, 0x89, 0x38, 0x0, 0x2, 0x89, 0x9B, 0x0, 0x2, 0x89, 0xB3, 0x0, 0x2, 0x89, 0xCB, 0x0, 0x2, 0x89, 0xE3, 0x0, 0x2, 0x89, 0xF9, 0x0, 0x2, 0x8A, 0x11, 0x0, 0x2, 0x8A, 0x29, 0x0, 0x2, 0x8A, 0x41, 0x0, 0x2, 0x8A, 0x59, 0x0, 0x2, 0x8A, 0x71, 0x0, 0x2, 0x8A, 0x89, 0x0, 0x2, 0x8A, 0x9F, 0x0, 0x2, 0x8A, 0xB7, 0x0, 0x2, 0x8A, 0xCF, 0x0, 0x2, 0x8A, 0xE7, 0x0, 0x2, 0x8A, 0xFF, 0x0, 0x2, 0x8B, 0x17, 0x0, 0x2, 0x8B, 0x2F, 0x0, 0x2, 0x8B, 0x45, 0x0, 0x2, 0x8B, 0x5D, 0x0, 0x2, 0x8B, 0x75, 0x0, 0x2, 0x8B, 0x8B, 0x0, 0x2, 0x8B, 0xA1, 0x0, 0x2, 0x8B, 0xB9, 0x0, 0x2, 0x8B, 0xD1, 0x0, 0x2, 0x8B, 0xE9, 0x0, 0x2, 0x8C, 0x1, 0x0, 0x2, 0x8C, 0x19, 0x0, 0x2, 0x8C, 0x31, 0x0, 0x2, 0x8C, 0x47, 0x0, 0x2, 0x8C, 0x5D, 0x0, 0x2, 0x8C, 0x75, 0x0, 0x2, 0x8C, 0x8B, 0x0, 0x2, 0x8C, 0xA3, 0x0, 0x2, 0x8C, 0xBB, 0x0, 0x2, 0x8C, 0xD3, 0x0, 0x2, 0x8C, 0xEB, 0x0, 0x2, 0x8D, 0x3, 0x0, 0x2, 0x8D, 0x19, 0x0, 0x2, 0x8D, 0x2F, 0x0, 0x2, 0x8D, 0x47, 0x0, 0x2, 0x8D, 0x5F, 0x0, 0x2, 0x8D, 0x77, 0x0, 0x2, 0x8D, 0x8D, 0x0, 0x2, 0x8D, 0xA5, 0x0, 0x2, 0x8D, 0xBD, 0x0, 0x2, 0x8D, 0xD3, 0x0, 0x2, 0x8D, 0xEB, 0x0, 0x2, 0x8E, 0x48, 0x0, 0x2, 0x8E, 0x60, 0x0, 0x2, 0x8E, 0x76, 0x0, 0x2, 0x8E, 0x8E, 0x0, 0x2, 0x8E, 0xA4, 0x0, 0x2, 0x8E, 0xBA, 0x0, 0x2, 0x8E, 0xD0, 0x0, 0x2, 0x8E, 0xE6, 0x0, 0x2, 0x8E, 0xFE, 0x0, 0x2, 0x8F, 0x56, 0x0, 0x2, 0x8F, 0x6C, 0x0, 0x2, 0x8F, 0x82, 0x0, 0x2, 0x8F, 0x9A, 0x0, 0x2, 0x8F, 0xB2, 0x0, 0x2, 0x8F, 0xCA, 0x0, 0x2, 0x8F, 0xE0, 0x0, 0x2, 0x8F, 0xF8, 0x0, 0x2, 0x90, 0x10, 0x0, 0x2, 0x90, 0x28, 0x0, 0x2, 0x90, 0x3E, 0x0, 0x2, 0x90, 0x54, 0x0, 0x2, 0x90, 0x6C, 0x0, 0x2, 0x90, 0x84, 0x0, 0x2, 0x90, 0x9A, 0x0, 0x2, 0x90, 0xB2, 0x0, 0x2, 0x90, 0xCA, 0x0, 0x2, 0x90, 0xE2, 0x0, 0x2, 0x90, 0xFA, 0x0, 0x2, 0x91, 0x12, 0x0, 0x2, 0x91, 0x2A, 0x0, 0x2, 0x91, 0x40, 0x0, 0x2, 0x91, 0x58, 0x0, 0x2, 0x91, 0x70, 0x0, 0x2, 0x91, 0x88, 0x0, 0x2, 0x91, 0xA0, 0x0, 0x2, 0x91, 0xB8, 0x0, 0x2, 0x91, 0xCE, 0x0, 0x2, 0x91, 0xE6, 0x0, 0x2, 0x91, 0xFC, 0x0, 0x2, 0x92, 0x14, 0x0, 0x2, 0x92, 0x2A, 0x0, 0x2, 0x92, 0x42, 0x0, 0x2, 0x92, 0x58, 0x0, 0x2, 0x92, 0x70, 0x0, 0x2, 0x92, 0x86, 0x0, 0x2, 0x92, 0x9C, 0x0, 0x2, 0x92, 0xB4, 0x0, 0x2, 0x92, 0xCC, 0x0, 0x2, 0x92, 0xE4, 0x0, 0x2, 0x93, 0x46, 0x0, 0x2, 0x93, 0x5E, 0x0, 0x2, 0x93, 0x74, 0x0, 0x2, 0x93, 0x8A, 0x0, 0x2, 0x93, 0xA2, 0x0, 0x2, 0x93, 0xBA, 0x0, 0x2, 0x93, 0xD0, 0x0, 0x2, 0x93, 0xE6, 0x0, 0x2, 0x93, 0xFE, 0x0, 0x2, 0x94, 0x16, 0x0, 0x2, 0x94, 0x2E, 0x0, 0x2, 0x94, 0x46, 0x0, 0x2, 0x94, 0x5E, 0x0, 0x2, 0x94, 0x76, 0x0, 0x2, 0x94, 0x8E, 0x0, 0x2, 0x94, 0x9E, 0x0, 0x2, 0x94, 0xAE, 0x0, 0x2, 0x94, 0xBE, 0x0, 0x2, 0x94, 0xCE, 0x0, 0x2, 0x94, 0xDE, 0x0, 0x2, 0x94, 0xEE, 0x0, 0x2, 0x94, 0xFE, 0x0, 0x2, 0x95, 0xE, 0x0, 0x2, 0x95, 0x1E, 0x0, 0x2, 0x95, 0x2E, 0x0, 0x2, 0x95, 0x3E, 0x0, 0x2, 0x95, 0x4E, 0x0, 0x2, 0x95, 0x5E, 0x0, 0x2, 0x95, 0x6E, 0x0, 0x2, 0x95, 0x86, 0x0, 0x2, 0x95, 0x9E, 0x0, 0x2, 0x95, 0xB6, 0x0, 0x2, 0x95, 0xCE, 0x0, 0x2, 0x95, 0xE6, 0x0, 0x2, 0x95, 0xFC, 0x0, 0x2, 0x96, 0x12, 0x0, 0x2, 0x96, 0x22, 0x0, 0x2, 0x96, 0x32, 0x0, 0x2, 0x96, 0x42, 0x0, 0x2, 0x96, 0x52, 0x0, 0x2, 0x96, 0x62, 0x0, 0x2, 0x96, 0x7A, 0x0, 0x2, 0x96, 0x90, 0x0, 0x2, 0x96, 0xA8, 0x0, 0x2, 0x96, 0xC0, 0x0, 0x2, 0x96, 0xD8, 0x0, 0x2, 0x96, 0xF0, 0x0, 0x2, 0x97, 0x8, 0x0, 0x2, 0x97, 0x7C, 0x0, 0x2, 0x97, 0x8C, 0x0, 0x2, 0x97, 0xA4, 0x0, 0x2, 0x97, 0xB4, 0x0, 0x2, 0x97, 0xC4, 0x0, 0x2, 0x97, 0xDC, 0x0, 0x2, 0x97, 0xF4, 0x0, 0x2, 0x98, 0x4, 0x0, 0x2, 0x98, 0x14, 0x0, 0x2, 0x98, 0x24, 0x0, 0x2, 0x98, 0x34, 0x0, 0x2, 0x98, 0x4C, 0x0, 0x2, 0x98, 0x5C, 0x0, 0x2, 0x98, 0x6C, 0x0, 0x2, 0x98, 0x7C, 0x0, 0x2, 0x98, 0x8C, 0x0, 0x2, 0x98, 0x9C, 0x0, 0x2, 0x98, 0xAC, 0x0, 0x2, 0x98, 0xBC, 0x0, 0x2, 0x98, 0xCC, 0x0, 0x2, 0x98, 0xDC, 0x0, 0x2, 0x98, 0xEC, 0x0, 0x2, 0x99, 0x4, 0x0, 0x2, 0x99, 0x14, 0x0, 0x2, 0x99, 0x24, 0x0, 0x2, 0x99, 0x7B, 0x0, 0x2, 0x99, 0x8B, 0x0, 0x2, 0x99, 0x9B, 0x0, 0x2, 0x99, 0xB1, 0x0, 0x2, 0x99, 0xC9, 0x0, 0x2, 0x99, 0xD9, 0x0, 0x2, 0x99, 0xE9, 0x0, 0x2, 0x9A, 0x1, 0x0, 0x2, 0x9A, 0x11, 0x0, 0x2, 0x9A, 0x29, 0x0, 0x2, 0x9A, 0x3F, 0x0, 0x2, 0x9A, 0x57, 0x0, 0x2, 0x9A, 0x6F, 0x0, 0x2, 0x9A, 0x87, 0x0, 0x2, 0x9A, 0x9F, 0x0, 0x2, 0x9A, 0xB7, 0x0, 0x2, 0x9A, 0xCF, 0x0, 0x2, 0x9A, 0xE7, 0x0, 0x2, 0x9A, 0xFD, 0x0, 0x2, 0x9B, 0xD, 0x0, 0x2, 0x9B, 0x1D, 0x0, 0x2, 0x9B, 0x35, 0x0, 0x2, 0x9B, 0x4D, 0x0, 0x2, 0x9B, 0x5D, 0x0, 0x2, 0x9B, 0x75, 0x0, 0x2, 0x9B, 0x8D, 0x0, 0x2, 0x9B, 0xA5, 0x0, 0x2, 0x9B, 0xBD, 0x0, 0x2, 0x9B, 0xD5, 0x0, 0x2, 0x9B, 0xED, 0x0, 0x2, 0x9C, 0x5, 0x0, 0x2, 0x9C, 0x1D, 0x0, 0x2, 0x9C, 0x2D, 0x0, 0x2, 0x9C, 0x3D, 0x0, 0x2, 0x9C, 0x55, 0x0, 0x2, 0x9C, 0x6D, 0x0, 0x2, 0x9C, 0x85, 0x0, 0x2, 0x9C, 0x9D, 0x0, 0x2, 0x9C, 0xB5, 0x0, 0x2, 0x9C, 0xCD, 0x0, 0x2, 0x9C, 0xE5, 0x0, 0x2, 0x9C, 0xFD, 0x0, 0x2, 0x9D, 0xD, 0x0, 0x2, 0x9D, 0x1D, 0x0, 0x2, 0x9D, 0x2D, 0x0, 0x2, 0x9D, 0x45, 0x0, 0x2, 0x9D, 0x5D, 0x0, 0x2, 0x9D, 0x6D, 0x0, 0x2, 0x9D, 0x85, 0x0, 0x2, 0x9D, 0x9B, 0x0, 0x2, 0x9D, 0xB3, 0x0, 0x2, 0x9D, 0xC9, 0x0, 0x2, 0x9D, 0xD9, 0x0, 0x2, 0x9D, 0xE9, 0x0, 0x2, 0x9E, 0x1, 0x0, 0x2, 0x9E, 0x17, 0x0, 0x2, 0x9E, 0x2F, 0x0, 0x2, 0x9E, 0x3F, 0x0, 0x2, 0x9E, 0x55, 0x0, 0x2, 0x9E, 0x6D, 0x0, 0x2, 0x9E, 0x85, 0x0, 0x2, 0x9E, 0x9D, 0x0, 0x2, 0x9E, 0xB3, 0x0, 0x2, 0x9E, 0xCB, 0x0, 0x2, 0x9E, 0xE1, 0x0, 0x2, 0x9E, 0xF9, 0x0, 0x2, 0x9F, 0x11, 0x0, 0x2, 0x9F, 0x29, 0x0, 0x2, 0x9F, 0x41, 0x0, 0x2, 0x9F, 0x51, 0x0, 0x2, 0x9F, 0x61, 0x0, 0x2, 0x9F, 0x71, 0x0, 0x2, 0x9F, 0x89, 0x0, 0x2, 0x9F, 0x9F, 0x0, 0x2, 0x9F, 0xB7, 0x0, 0x2, 0x9F, 0xCD, 0x0, 0x2, 0x9F, 0xE5, 0x0, 0x2, 0x9F, 0xFB, 0x0, 0x2, 0xA0, 0x13, 0x0, 0x2, 0xA0, 0x29, 0x0, 0x2, 0xA0, 0x41, 0x0, 0x2, 0xA0, 0x59, 0x0, 0x2, 0xA0, 0x71, 0x0, 0x2, 0xA0, 0x87, 0x0, 0x2, 0xA0, 0x9F, 0x0, 0x2, 0xA0, 0xB7, 0x0, 0x2, 0xA0, 0xC7, 0x0, 0x2, 0xA0, 0xDF, 0x0, 0x2, 0xA0, 0xF7, 0x0, 0x2, 0xA1, 0xF, 0x0, 0x2, 0xA1, 0x27, 0x0, 0x2, 0xA1, 0x3F, 0x0, 0x2, 0xA1, 0x55, 0x0, 0x2, 0xA1, 0x6D, 0x0, 0x2, 0xA1, 0x83, 0x0, 0x2, 0xA1, 0x9B, 0x0, 0x2, 0xA1, 0xB1, 0x0, 0x2, 0xA1, 0xC9, 0x0, 0x2, 0xA1, 0xDF, 0x0, 0x2, 0xA1, 0xFF, 0x0, 0x2, 0xA2, 0x1D, 0x0, 0x2, 0xA2, 0x35, 0x0, 0x2, 0xA2, 0x4B, 0x0, 0x2, 0xA2, 0x63, 0x0, 0x2, 0xA2, 0x79, 0x0, 0x2, 0xA2, 0x91, 0x0, 0x2, 0xA2, 0xA7, 0x0, 0x2, 0xA2, 0xBF, 0x0, 0x2, 0xA2, 0xD5, 0x0, 0x2, 0xA2, 0xF5, 0x0, 0x2, 0xA3, 0x13, 0x0, 0x2, 0xA3, 0x2B, 0x0, 0x2, 0xA3, 0x43, 0x0, 0x2, 0xA3, 0x5B, 0x0, 0x2, 0xA3, 0x73, 0x0, 0x2, 0xA3, 0x8B, 0x0, 0x2, 0xA3, 0xA1, 0x0, 0x2, 0xA3, 0xB9, 0x0, 0x2, 0xA3, 0xCF, 0x0, 0x2, 0xA3, 0xE7, 0x0, 0x2, 0xA3, 0xFD, 0x0, 0x2, 0xA4, 0x15, 0x0, 0x2, 0xA4, 0x2B, 0x0, 0x2, 0xA4, 0x43, 0x0, 0x2, 0xA4, 0x59, 0x0, 0x2, 0xA4, 0x79, 0x0, 0x2, 0xA4, 0x97, 0x0, 0x2, 0xA4, 0xAF, 0x0, 0x2, 0xA4, 0xC7, 0x0, 0x2, 0xA4, 0xDF, 0x0, 0x2, 0xA4, 0xF7, 0x0, 0x2, 0xA5, 0xF, 0x0, 0x2, 0xA5, 0x27, 0x0, 0x2, 0xA5, 0x3F, 0x0, 0x2, 0xA5, 0x57, 0x0, 0x2, 0xA5, 0x6F, 0x0, 0x2, 0xA5, 0x85, 0x0, 0x2, 0xA5, 0x9D, 0x0, 0x2, 0xA5, 0xB3, 0x0, 0x2, 0xA5, 0xCB, 0x0, 0x2, 0xA5, 0xE1, 0x0, 0x2, 0xA5, 0xF9, 0x0, 0x2, 0xA6, 0xF, 0x0, 0x2, 0xA6, 0x2F, 0x0, 0x2, 0xA6, 0x4D, 0x0, 0x2, 0xA6, 0x65, 0x0, 0x2, 0xA6, 0x7D, 0x0, 0x2, 0xA6, 0x95, 0x0, 0x2, 0xA6, 0xAD, 0x0, 0x2, 0xA6, 0xC5, 0x0, 0x2, 0xA6, 0xDD, 0x0, 0x2, 0xA6, 0xF5, 0x0, 0x2, 0xA7, 0xB, 0x0, 0x2, 0xA7, 0x23, 0x0, 0x2, 0xA7, 0x3B, 0x0, 0x2, 0xA7, 0x53, 0x0, 0x2, 0xA7, 0x6B, 0x0, 0x2, 0xA7, 0x83, 0x0, 0x2, 0xA7, 0x9B, 0x0, 0x2, 0xA7, 0xB3, 0x0, 0x2, 0xA7, 0xCB, 0x0, 0x2, 0xA7, 0xE3, 0x0, 0x2, 0xA7, 0xFB, 0x0, 0x2, 0xA8, 0x13, 0x0, 0x2, 0xA8, 0x2B, 0x0, 0x2, 0xA8, 0x43, 0x0, 0x2, 0xA8, 0x59, 0x0, 0x2, 0xA8, 0x71, 0x0, 0x2, 0xA8, 0x89, 0x0, 0x2, 0xA8, 0xA1, 0x0, 0x2, 0xA8, 0xB9, 0x0, 0x2, 0xA8, 0xD1, 0x0, 0x2, 0xA8, 0xE9, 0x0, 0x2, 0xA9, 0x1, 0x0, 0x2, 0xA9, 0x17, 0x0, 0x2, 0xA9, 0x37, 0x0, 0x2, 0xA9, 0x4F, 0x0, 0x2, 0xA9, 0x67, 0x0, 0x2, 0xA9, 0x7F, 0x0, 0x2, 0xA9, 0x97, 0x0, 0x2, 0xA9, 0xAF, 0x0, 0x2, 0xA9, 0xC7, 0x0, 0x2, 0xA9, 0xDF, 0x0, 0x2, 0xA9, 0xF7, 0x0, 0x2, 0xAA, 0x7, 0x0, 0x2, 0xAA, 0x5F, 0x0, 0x2, 0xAA, 0xB7, 0x0, 0x2, 0xAA, 0xEA, 0x0, 0x2, 0xAB, 0x1E, 0x0, 0x2, 0xAB, 0x66, 0x0, 0x2, 0xAB, 0xAF, 0x0, 0x2, 0xAB, 0xEE, 0x0, 0x2, 0xAC, 0x28, 0x0, 0x2, 0xAC, 0x76, 0x0, 0x2, 0xAC, 0xC1, 0x0, 0x2, 0xAC, 0xD1, 0x0, 0x2, 0xAC, 0xE9, 0x0, 0x2, 0xAC, 0xF9, 0x0, 0x2, 0xAD, 0x9, 0x0, 0x2, 0xAD, 0x19, 0x0, 0x2, 0xAD, 0x29, 0x0, 0x2, 0xAD, 0x39, 0x0, 0x2, 0xAD, 0x49, 0x0, 0x2, 0xAD, 0x59, 0x0, 0x2, 0xAD, 0x69, 0x0, 0x2, 0xAD, 0x79, 0x0, 0x2, 0xAD, 0x89, 0x0, 0x2, 0xAD, 0xBB, 0x0, 0x2, 0xAD, 0xCB, 0x0, 0x2, 0xAD, 0xE3, 0x0, 0x2, 0xAD, 0xFB, 0x0, 0x2, 0xAE, 0x13, 0x0, 0x2, 0xAE, 0x2B, 0x0, 0x2, 0xAE, 0x43, 0x0, 0x2, 0xAE, 0x5B, 0x0, 0x2, 0xAE, 0x73, 0x0, 0x2, 0xAE, 0x89, 0x0, 0x2, 0xAE, 0xA1, 0x0, 0x2, 0xAE, 0xB9, 0x0, 0x2, 0xAE, 0xD1, 0x0, 0x2, 0xAE, 0xE7, 0x0, 0x2, 0xAE, 0xFF, 0x0, 0x2, 0xAF, 0x15, 0x0, 0x2, 0xAF, 0x2D, 0x0, 0x2, 0xAF, 0x45, 0x0, 0x2, 0xAF, 0x5D, 0x0, 0x2, 0xAF, 0x75, 0x0, 0x2, 0xAF, 0x8D, 0x0, 0x2, 0xAF, 0xA5, 0x0, 0x2, 0xAF, 0xBD, 0x0, 0x2, 0xAF, 0xD5, 0x0, 0x2, 0xAF, 0xE5, 0x0, 0x2, 0xAF, 0xFD, 0x0, 0x2, 0xB0, 0x15, 0x0, 0x2, 0xB0, 0x2D, 0x0, 0x2, 0xB0, 0x45, 0x0, 0x2, 0xB0, 0x5D, 0x0, 0x2, 0xB0, 0x75, 0x0, 0x2, 0xB0, 0x8D, 0x0, 0x2, 0xB0, 0xA3, 0x0, 0x2, 0xB0, 0xBB, 0x0, 0x2, 0xB0, 0xD3, 0x0, 0x2, 0xB0, 0xEB, 0x0, 0x2, 0xB1, 0x3, 0x0, 0x2, 0xB1, 0x23, 0x0, 0x2, 0xB1, 0x41, 0x0, 0x2, 0xB1, 0x59, 0x0, 0x2, 0xB1, 0x71, 0x0, 0x2, 0xB1, 0x89, 0x0, 0x2, 0xB1, 0xA1, 0x0, 0x2, 0xB1, 0xB9, 0x0, 0x2, 0xB1, 0xD1, 0x0, 0x2, 0xB1, 0xE9, 0x0, 0x2, 0xB2, 0x1, 0x0, 0x2, 0xB2, 0x19, 0x0, 0x2, 0xB2, 0x31, 0x0, 0x2, 0xB2, 0x49, 0x0, 0x2, 0xB2, 0x61, 0x0, 0x2, 0xB2, 0x79, 0x0, 0x2, 0xB2, 0x91, 0x0, 0x2, 0xB2, 0xA9, 0x0, 0x2, 0xB2, 0xC1, 0x0, 0x2, 0xB2, 0xD9, 0x0, 0x2, 0xB2, 0xF1, 0x0, 0x2, 0xB3, 0x9, 0x0, 0x2, 0xB3, 0x21, 0x0, 0x2, 0xB3, 0x39, 0x0, 0x2, 0xB3, 0x51, 0x0, 0x2, 0xB3, 0x69, 0x0, 0x2, 0xB3, 0x81, 0x0, 0x2, 0xB3, 0x99, 0x0, 0x2, 0xB3, 0xB1, 0x0, 0x2, 0xB3, 0xC9, 0x0, 0x2, 0xB3, 0xE1, 0x0, 0x2, 0xB3, 0xF9, 0x0, 0x2, 0xB4, 0x11, 0x0, 0x2, 0xB4, 0x29, 0x0, 0x2, 0xB4, 0x41, 0x0, 0x2, 0xB4, 0x59, 0x0, 0x2, 0xB4, 0x71, 0x0, 0x2, 0xB4, 0x89, 0x0, 0x2, 0xB4, 0xA1, 0x0, 0x2, 0xB4, 0xB9, 0x0, 0x2, 0xB4, 0xD1, 0x0, 0x2, 0xB4, 0xE9, 0x0, 0x2, 0xB5, 0x1, 0x0, 0x2, 0xB5, 0x19, 0x0, 0x2, 0xB5, 0x31, 0x0, 0x2, 0xB5, 0x49, 0x0, 0x2, 0xB5, 0x61, 0x0, 0x2, 0xB5, 0x79, 0x0, 0x2, 0xB5, 0x91, 0x0, 0x2, 0xB5, 0xA7, 0x0, 0x2, 0xB5, 0xB7, 0x0, 0x2, 0xB5, 0xC7, 0x0, 0x2, 0xB5, 0xD7, 0x0, 0x2, 0xB5, 0xE7, 0x0, 0x2, 0xB5, 0xFF, 0x0, 0x2, 0xB6, 0x17, 0x0, 0x2, 0xB6, 0x27, 0x0, 0x2, 0xB6, 0x37, 0x0, 0x2, 0xB6, 0x47, 0x0, 0x2, 0xB6, 0x57, 0x0, 0x2, 0xB6, 0x67, 0x0, 0x2, 0xB6, 0x77, 0x0, 0x2, 0xB6, 0x87, 0x0, 0x2, 0xB6, 0x97, 0x0, 0x2, 0xB6, 0xA7, 0x0, 0x2, 0xB6, 0xB7, 0x0, 0x2, 0xB6, 0xC7, 0x0, 0x2, 0xB6, 0xDF, 0x0, 0x2, 0xB6, 0xF7, 0x0, 0x2, 0xB7, 0xF, 0x0, 0x2, 0xB7, 0x27, 0x0, 0x2, 0xB7, 0x3F, 0x0, 0x2, 0xB7, 0x57, 0x0, 0x2, 0xB7, 0x77, 0x0, 0x2, 0xB7, 0x97, 0x0, 0x2, 0xB7, 0xAF, 0x0, 0x2, 0xB7, 0xC7, 0x0, 0x2, 0xB7, 0xDF, 0x0, 0x2, 0xB7, 0xF7, 0x0, 0x2, 0xB8, 0xF, 0x0, 0x2, 0xB8, 0x27, 0x0, 0x2, 0xB8, 0x3F, 0x0, 0x2, 0xB8, 0x57, 0x0, 0x2, 0xB8, 0x6F, 0x0, 0x2, 0xB8, 0x87, 0x0, 0x2, 0xB8, 0x9F, 0x0, 0x2, 0xB8, 0xB7, 0x0, 0x2, 0xB8, 0xCF, 0x0, 0x2, 0xB8, 0xE7, 0x0, 0x2, 0xB8, 0xFF, 0x0, 0x2, 0xB9, 0x17, 0x0, 0x2, 0xB9, 0x2F, 0x0, 0x2, 0xB9, 0x47, 0x0, 0x2, 0xB9, 0x67, 0x0, 0x2, 0xB9, 0x85, 0x0, 0x2, 0xB9, 0x9D, 0x0, 0x2, 0xB9, 0xB5, 0x0, 0x2, 0xB9, 0xCD, 0x0, 0x2, 0xB9, 0xE3, 0x0, 0x2, 0xB9, 0xFB, 0x0, 0x2, 0xBA, 0x13, 0x0, 0x2, 0xBA, 0x2B, 0x0, 0x2, 0xBA, 0x43, 0x0, 0x2, 0xBA, 0x5B, 0x0, 0x2, 0xBA, 0x73, 0x0, 0x2, 0xBA, 0x8B, 0x0, 0x2, 0xBA, 0xA3, 0x0, 0x2, 0xBA, 0xBB, 0x0, 0x2, 0xBA, 0xD3, 0x0, 0x2, 0xBA, 0xEB, 0x0, 0x2, 0xBB, 0x3, 0x0, 0x2, 0xBB, 0x1B, 0x0, 0x2, 0xBB, 0x33, 0x0, 0x2, 0xBB, 0x4B, 0x0, 0x2, 0xBB, 0x63, 0x0, 0x2, 0xBB, 0x83, 0x0, 0x2, 0xBB, 0xA3, 0x0, 0x2, 0xBB, 0xBB, 0x0, 0x2, 0xBB, 0xD3, 0x0, 0x2, 0xBB, 0xEB, 0x0, 0x2, 0xBC, 0x3, 0x0, 0x2, 0xBC, 0x1B, 0x0, 0x2, 0xBC, 0x33, 0x0, 0x2, 0xBC, 0x4B, 0x0, 0x2, 0xBC, 0x63, 0x0, 0x2, 0xBC, 0x7B, 0x0, 0x2, 0xBC, 0x93, 0x0, 0x2, 0xBC, 0xAB, 0x0, 0x2, 0xBC, 0xC3, 0x0, 0x2, 0xBC, 0xDB, 0x0, 0x2, 0xBC, 0xF3, 0x0, 0x2, 0xBD, 0xB, 0x0, 0x2, 0xBD, 0x23, 0x0, 0x2, 0xBD, 0x3B, 0x0, 0x2, 0xBD, 0x53, 0x0, 0x2, 0xBD, 0x6B, 0x0, 0x2, 0xBD, 0x83, 0x0, 0x2, 0xBD, 0x9B, 0x0, 0x2, 0xBD, 0xB3, 0x0, 0x2, 0xBD, 0xCB, 0x0, 0x2, 0xBD, 0xE3, 0x0, 0x2, 0xBD, 0xFB, 0x0, 0x2, 0xBE, 0x13, 0x0, 0x2, 0xBE, 0x2B, 0x0, 0x2, 0xBE, 0x43, 0x0, 0x2, 0xBE, 0x5B, 0x0, 0x2, 0xBE, 0x73, 0x0, 0x2, 0xBE, 0x8B, 0x0, 0x2, 0xBE, 0xA3, 0x0, 0x2, 0xBE, 0xC3, 0x0, 0x2, 0xBE, 0xE1, 0x0, 0x2, 0xBE, 0xF9, 0x0, 0x2, 0xBF, 0x11, 0x0, 0x2, 0xBF, 0x29, 0x0, 0x2, 0xBF, 0x41, 0x0, 0x2, 0xBF, 0x59, 0x0, 0x2, 0xBF, 0x71, 0x0, 0x2, 0xBF, 0x89, 0x0, 0x2, 0xBF, 0xA1, 0x0, 0x2, 0xBF, 0xB9, 0x0, 0x2, 0xBF, 0xD1, 0x0, 0x2, 0xBF, 0xF1, 0x0, 0x2, 0xC0, 0x11, 0x0, 0x2, 0xC0, 0x29, 0x0, 0x2, 0xC0, 0x41, 0x0, 0x2, 0xC0, 0x59, 0x0, 0x2, 0xC0, 0x71, 0x0, 0x2, 0xC0, 0x89, 0x0, 0x2, 0xC0, 0xA1, 0x0, 0x2, 0xC0, 0xB9, 0x0, 0x2, 0xC0, 0xD1, 0x0, 0x2, 0xC0, 0xE9, 0x0, 0x2, 0xC1, 0x1, 0x0, 0x2, 0xC1, 0x19, 0x0, 0x2, 0xC1, 0x31, 0x0, 0x2, 0xC1, 0x49, 0x0, 0x2, 0xC1, 0x61, 0x0, 0x2, 0xC1, 0x79, 0x0, 0x2, 0xC1, 0x91, 0x0, 0x2, 0xC1, 0xA9, 0x0, 0x2, 0xC1, 0xC1, 0x0, 0x2, 0xC1, 0xD9, 0x0, 0x2, 0xC1, 0xEF, 0x0, 0x2, 0xC2, 0x7, 0x0, 0x2, 0xC2, 0x1F, 0x0, 0x2, 0xC2, 0x37, 0x0, 0x2, 0xC2, 0x4F, 0x0, 0x2, 0xC2, 0x67, 0x0, 0x2, 0xC2, 0x7F, 0x0, 0x2, 0xC2, 0x97, 0x0, 0x2, 0xC2, 0xAF, 0x0, 0x2, 0xC2, 0xC7, 0x0, 0x2, 0xC2, 0xDD, 0x0, 0x2, 0xC2, 0xF5, 0x0, 0x2, 0xC3, 0xD, 0x0, 0x2, 0xC3, 0x25, 0x0, 0x2, 0xC3, 0x3B, 0x0, 0x2, 0xC3, 0x53, 0x0, 0x2, 0xC3, 0x6B, 0x0, 0x2, 0xC3, 0x83, 0x0, 0x2, 0xC3, 0x9B, 0x0, 0x2, 0xC3, 0xB3, 0x0, 0x2, 0xC3, 0xCB, 0x0, 0x2, 0xC3, 0xE3, 0x0, 0x2, 0xC3, 0xFB, 0x0, 0x2, 0xC4, 0x13, 0x0, 0x2, 0xC4, 0x2B, 0x0, 0x2, 0xC4, 0x43, 0x0, 0x2, 0xC4, 0x5B, 0x0, 0x2, 0xC4, 0x73, 0x0, 0x2, 0xC4, 0x8B, 0x0, 0x2, 0xC4, 0xA3, 0x0, 0x2, 0xC4, 0xBB, 0x0, 0x2, 0xC4, 0xD3, 0x0, 0x2, 0xC4, 0xE9, 0x0, 0x2, 0xC4, 0xFF, 0x0, 0x2, 0xC5, 0x17, 0x0, 0x2, 0xC5, 0x2F, 0x0, 0x2, 0xC5, 0x47, 0x0, 0x2, 0xC5, 0x5F, 0x0, 0x2, 0xC5, 0x77, 0x0, 0x2, 0xC5, 0x8F, 0x0, 0x2, 0xC5, 0xA7, 0x0, 0x2, 0xC5, 0xBF, 0x0, 0x2, 0xC5, 0xD7, 0x0, 0x2, 0xC5, 0xEF, 0x0, 0x2, 0xC6, 0x7, 0x0, 0x2, 0xC6, 0x1F, 0x0, 0x2, 0xC6, 0x37, 0x0, 0x2, 0xC6, 0x4F, 0x0, 0x2, 0xC6, 0x67, 0x0, 0x2, 0xC6, 0x7F, 0x0, 0x2, 0xC6, 0x97, 0x0, 0x2, 0xC6, 0xAF, 0x0, 0x2, 0xC6, 0xC7, 0x0, 0x2, 0xC6, 0xDF, 0x0, 0x2, 0xC6, 0xF7, 0x0, 0x2, 0xC7, 0xF, 0x0, 0x2, 0xC7, 0x27, 0x0, 0x2, 0xC7, 0x3F, 0x0, 0x2, 0xC7, 0x57, 0x0, 0x2, 0xC7, 0x6F, 0x0, 0x2, 0xC7, 0x87, 0x0, 0x2, 0xC7, 0x9F, 0x0, 0x2, 0xC7, 0xB7, 0x0, 0x2, 0xC7, 0xCF, 0x0, 0x2, 0xC7, 0xE7, 0x0, 0x2, 0xC7, 0xFF, 0x0, 0x2, 0xC8, 0x17, 0x0, 0x2, 0xC8, 0x2F, 0x0, 0x2, 0xC8, 0x45, 0x0, 0x2, 0xC8, 0x5B, 0x0, 0x2, 0xC8, 0x71, 0x0, 0x2, 0xC8, 0x87, 0x0, 0x2, 0xC8, 0x9D, 0x0, 0x2, 0xC8, 0xB3, 0x0, 0x2, 0xC8, 0xC9, 0x0, 0x2, 0xC8, 0xDF, 0x0, 0x2, 0xC8, 0xF7, 0x0, 0x2, 0xC9, 0xF, 0x0, 0x2, 0xC9, 0x27, 0x0, 0x2, 0xC9, 0x3F, 0x0, 0x2, 0xC9, 0x57, 0x0, 0x2, 0xC9, 0x6F, 0x0, 0x2, 0xC9, 0x87, 0x0, 0x2, 0xC9, 0x9F, 0x0, 0x2, 0xC9, 0xB7, 0x0, 0x2, 0xC9, 0xCF, 0x0, 0x2, 0xC9, 0xE7, 0x0, 0x2, 0xC9, 0xFF, 0x0, 0x2, 0xCA, 0x17, 0x0, 0x2, 0xCA, 0x2F, 0x0, 0x2, 0xCA, 0x47, 0x0, 0x2, 0xCA, 0x5F, 0x0, 0x2, 0xCA, 0x77, 0x0, 0x2, 0xCA, 0x8F, 0x0, 0x2, 0xCA, 0xA7, 0x0, 0x2, 0xCA, 0xBF, 0x0, 0x2, 0xCA, 0xD7, 0x0, 0x2, 0xCA, 0xEF, 0x0, 0x2, 0xCB, 0x7, 0x0, 0x2, 0xCB, 0x1D, 0x0, 0x2, 0xCB, 0x35, 0x0, 0x2, 0xCB, 0x4D, 0x0, 0x2, 0xCB, 0x65, 0x0, 0x2, 0xCB, 0x7D, 0x0, 0x2, 0xCB, 0x95, 0x0, 0x2, 0xCB, 0xAD, 0x0, 0x2, 0xCB, 0xC5, 0x0, 0x2, 0xCB, 0xDD, 0x0, 0x2, 0xCB, 0xF5, 0x0, 0x2, 0xCC, 0xD, 0x0, 0x2, 0xCC, 0x25, 0x0, 0x2, 0xCC, 0x3D, 0x0, 0x2, 0xCC, 0x55, 0x0, 0x2, 0xCC, 0x6D, 0x0, 0x2, 0xCC, 0x85, 0x0, 0x2, 0xCC, 0x9D, 0x0, 0x2, 0xCC, 0xB5, 0x0, 0x2, 0xCC, 0xCD, 0x0, 0x2, 0xCC, 0xE5, 0x0, 0x2, 0xCC, 0xFD, 0x0, 0x2, 0xCD, 0x15, 0x0, 0x2, 0xCD, 0x2D, 0x0, 0x2, 0xCD, 0x45, 0x0, 0x2, 0xCD, 0x5D, 0x0, 0x2, 0xCD, 0x75, 0x0, 0x2, 0xCD, 0x8D, 0x0, 0x2, 0xCD, 0xA5, 0x0, 0x2, 0xCD, 0xBD, 0x0, 0x2, 0xCD, 0xD5, 0x0, 0x2, 0xCD, 0xED, 0x0, 0x2, 0xCE, 0x3, 0x0, 0x2, 0xCE, 0x1B, 0x0, 0x2, 0xCE, 0x33, 0x0, 0x2, 0xCE, 0x4B, 0x0, 0x2, 0xCE, 0x63, 0x0, 0x2, 0xCE, 0x7B, 0x0, 0x2, 0xCE, 0x93, 0x0, 0x2, 0xCE, 0xAB, 0x0, 0x2, 0xCE, 0xCB, 0x0, 0x2, 0xCE, 0xEB, 0x0, 0x2, 0xCF, 0xB, 0x0, 0x2, 0xCF, 0x2B, 0x0, 0x2, 0xCF, 0x4B, 0x0, 0x2, 0xCF, 0x6B, 0x0, 0x2, 0xCF, 0x8B, 0x0, 0x2, 0xCF, 0xAB, 0x0, 0x2, 0xCF, 0xC9, 0x0, 0x2, 0xCF, 0xE7, 0x0, 0x2, 0xD0, 0x7, 0x0, 0x2, 0xD0, 0x27, 0x0, 0x2, 0xD0, 0x47, 0x0, 0x2, 0xD0, 0x67, 0x0, 0x2, 0xD0, 0x87, 0x0, 0x2, 0xD0, 0xA7, 0x0, 0x2, 0xD0, 0xC5, 0x0, 0x2, 0xD0, 0xE3, 0x0, 0x2, 0xD1, 0x1, 0x0, 0x2, 0xD1, 0x1F, 0x0, 0x2, 0xD1, 0x3D, 0x0, 0x2, 0xD1, 0x5B, 0x0, 0x2, 0xD1, 0x79, 0x0, 0x2, 0xD1, 0x97, 0x0, 0x2, 0xD1, 0xB7, 0x0, 0x2, 0xD1, 0xD7, 0x0, 0x2, 0xD1, 0xF7, 0x0, 0x2, 0xD2, 0x17, 0x0, 0x2, 0xD2, 0x37, 0x0, 0x2, 0xD2, 0x57, 0x0, 0x2, 0xD2, 0x77, 0x0, 0x2, 0xD2, 0x97, 0x0, 0x2, 0xD2, 0xB7, 0x0, 0x2, 0xD2, 0xD7, 0x0, 0x2, 0xD2, 0xF7, 0x0, 0x2, 0xD3, 0x17, 0x0, 0x2, 0xD3, 0x37, 0x0, 0x2, 0xD3, 0x57, 0x0, 0x2, 0xD3, 0x77, 0x0, 0x2, 0xD3, 0x97, 0x0, 0x2, 0xD3, 0xB7, 0x0, 0x2, 0xD3, 0xD7, 0x0, 0x2, 0xD3, 0xF7, 0x0, 0x2, 0xD4, 0x17, 0x0, 0x2, 0xD4, 0x37, 0x0, 0x2, 0xD4, 0x57, 0x0, 0x2, 0xD4, 0x77, 0x0, 0x2, 0xD4, 0x97, 0x0, 0x2, 0xD4, 0xAF, 0x0, 0x2, 0xD4, 0xC7, 0x0, 0x2, 0xD4, 0xE7, 0x0, 0x2, 0xD4, 0xFF, 0x0, 0x2, 0xD5, 0x1F, 0x0, 0x2, 0xD5, 0x37, 0x0, 0x2, 0xD5, 0x57, 0x0, 0x2, 0xD5, 0x6F, 0x0, 0x2, 0xD5, 0x87, 0x0, 0x2, 0xD5, 0x9F, 0x0, 0x2, 0xD5, 0xB5, 0x0, 0x2, 0xD5, 0xCD, 0x0, 0x2, 0xD5, 0xEB, 0x0, 0x2, 0xD6, 0x1, 0x0, 0x2, 0xD6, 0x1F, 0x0, 0x2, 0xD6, 0x37, 0x0, 0x2, 0xD6, 0x55, 0x0, 0x2, 0xD6, 0x6D, 0x0, 0x2, 0xD6, 0x85, 0x0, 0x2, 0xD6, 0x9D, 0x0, 0x2, 0xD6, 0xB5, 0x0, 0x2, 0xD6, 0xCD, 0x0, 0x2, 0xD6, 0xE5, 0x0, 0x2, 0xD6, 0xFD, 0x0, 0x2, 0xD7, 0x15, 0x0, 0x2, 0xD7, 0x2D, 0x0, 0x2, 0xD7, 0x43, 0x0, 0x2, 0xD7, 0x5B, 0x0, 0x2, 0xD7, 0x73, 0x0, 0x2, 0xD7, 0x8B, 0x0, 0x2, 0xD7, 0xA3, 0x0, 0x2, 0xD7, 0xBB, 0x0, 0x2, 0xD7, 0xD1, 0x0, 0x2, 0xD7, 0xE7, 0x0, 0x2, 0xD7, 0xFD, 0x0, 0x2, 0xD8, 0x13, 0x0, 0x2, 0xD8, 0x2B, 0x0, 0x2, 0xD8, 0x43, 0x0, 0x2, 0xD8, 0x5B, 0x0, 0x2, 0xD8, 0x71, 0x0, 0x2, 0xD8, 0x89, 0x0, 0x2, 0xD8, 0xA1, 0x0, 0x2, 0xD8, 0xB9, 0x0, 0x2, 0xD8, 0xD1, 0x0, 0x2, 0xD8, 0xE9, 0x0, 0x2, 0xD9, 0x9, 0x0, 0x2, 0xD9, 0x21, 0x0, 0x2, 0xD9, 0x41, 0x0, 0x2, 0xD9, 0x59, 0x0, 0x2, 0xD9, 0x79, 0x0, 0x2, 0xD9, 0x91, 0x0, 0x2, 0xD9, 0xA9, 0x0, 0x2, 0xD9, 0xC1, 0x0, 0x2, 0xD9, 0xD9, 0x0, 0x2, 0xD9, 0xF1, 0x0, 0x2, 0xD9, 0xF1, 0x0, 0x2, 0xDA, 0x9, 0x0, 0x2, 0xDA, 0x21, 0x0, 0x2, 0xDA, 0x39, 0x0, 0x2, 0xDA, 0x39, 0x0, 0x2, 0xDA, 0x49, 0x0, 0x2, 0xDA, 0x61, 0x0, 0x2, 0xDA, 0x79, 0x0, 0x2, 0xDA, 0x91, 0x0, 0x2, 0xDA, 0xA9, 0x0, 0x2, 0xDA, 0xC1, 0x0, 0x2, 0xDA, 0xD9, 0x0, 0x2, 0xDA, 0xF1, 0x0, 0x2, 0xDB, 0x1, 0x0, 0x2, 0xDB, 0x11, 0x0, 0x2, 0xDB, 0x21, 0x0, 0x2, 0xDB, 0x31, 0x0, 0x2, 0xDB, 0x41, 0x0, 0x2, 0xDB, 0x51, 0x0, 0x2, 0xDB, 0x61, 0x0, 0x2, 0xDB, 0x71, 0x0, 0x2, 0xDB, 0x81, 0x0, 0x2, 0xDB, 0x91, 0x0, 0x2, 0xDB, 0xA1, 0x0, 0x2, 0xDB, 0xB1, 0x0, 0x2, 0xDB, 0xC1, 0x0, 0x2, 0xDB, 0xD1, 0x0, 0x2, 0xDB, 0xE9, 0x0, 0x2, 0xDB, 0xFF, 0x0, 0x2, 0xDC, 0x15, 0x0, 0x2, 0xDC, 0x2D, 0x0, 0x2, 0xDC, 0x3D, 0x0, 0x2, 0xDC, 0x4D, 0x0, 0x2, 0xDC, 0x65, 0x0, 0x2, 0xDC, 0x75, 0x0, 0x2, 0xDC, 0x8D, 0x0, 0x2, 0xDC, 0xA3, 0x0, 0x2, 0xDC, 0xB3, 0x0, 0x2, 0xDC, 0xC3, 0x0, 0x2, 0xDC, 0xD3, 0x0, 0x2, 0xDC, 0xE3, 0x0, 0x2, 0xDC, 0xFB, 0x0, 0x2, 0xDD, 0xB, 0x0, 0x2, 0xDD, 0x1B, 0x0, 0x2, 0xDD, 0x2B, 0x0, 0x2, 0xDD, 0x3B, 0x0, 0x2, 0xDD, 0x4B, 0x0, 0x2, 0xDD, 0x5B, 0x0, 0x2, 0xDD, 0x6B, 0x0, 0x2, 0xDD, 0x7B, 0x0, 0x2, 0xDD, 0xF2, 0x0, 0x2, 0xDE, 0x2C, 0x0, 0x2, 0xDE, 0x8F, 0x0, 0x2, 0xDE, 0x9F, 0x0, 0x2, 0xDE, 0xB7, 0x0, 0x2, 0xDE, 0xCF, 0x0, 0x2, 0xDE, 0xE5, 0x0, 0x2, 0xDE, 0xF5, 0x0, 0x2, 0xDF, 0x5, 0x0, 0x2, 0xDF, 0x1D, 0x0, 0x2, 0xDF, 0x35, 0x0, 0x2, 0xDF, 0x4D, 0x0, 0x2, 0xDF, 0x65, 0x0, 0x2, 0xDF, 0x7D, 0x0, 0x2, 0xDF, 0x95, 0x0, 0x2, 0xDF, 0xAD, 0x0, 0x2, 0xDF, 0xC5, 0x0, 0x2, 0xDF, 0xDD, 0x0, 0x2, 0xDF, 0xF5, 0x0, 0x2, 0xE0, 0xD, 0x0, 0x2, 0xE0, 0x25, 0x0, 0x2, 0xE0, 0x3D, 0x0, 0x2, 0xE0, 0x55, 0x0, 0x2, 0xE0, 0x6D, 0x0, 0x2, 0xE0, 0x85, 0x0, 0x2, 0xE0, 0x9D, 0x0, 0x2, 0xE0, 0xB5, 0x0, 0x2, 0xE0, 0xCD, 0x0, 0x2, 0xE0, 0xE5, 0x0, 0x2, 0xE0, 0xFD, 0x0, 0x2, 0xE1, 0x15, 0x0, 0x2, 0xE1, 0x2D, 0x0, 0x2, 0xE1, 0x45, 0x0, 0x2, 0xE1, 0x5D, 0x0, 0x2, 0xE1, 0x75, 0x0, 0x2, 0xE1, 0x8D, 0x0, 0x2, 0xE1, 0xA5, 0x0, 0x2, 0xE1, 0xBD, 0x0, 0x2, 0xE1, 0xD5, 0x0, 0x2, 0xE1, 0xED, 0x0, 0x2, 0xE2, 0x5, 0x0, 0x2, 0xE2, 0x1D, 0x0, 0x2, 0xE2, 0x35, 0x0, 0x2, 0xE2, 0x4D, 0x0, 0x2, 0xE2, 0x65, 0x0, 0x2, 0xE2, 0x7D, 0x0, 0x2, 0xE2, 0x95, 0x0, 0x2, 0xE2, 0xAD, 0x0, 0x2, 0xE2, 0xC5, 0x0, 0x2, 0xE2, 0xDD, 0x0, 0x2, 0xE2, 0xF5, 0x0, 0x2, 0xE3, 0xD, 0x0, 0x2, 0xE3, 0x25, 0x0, 0x2, 0xE3, 0x3D, 0x0, 0x2, 0xE3, 0x55, 0x0, 0x2, 0xE3, 0x6D, 0x0, 0x2, 0xE3, 0x85, 0x0, 0x2, 0xE3, 0x9D, 0x0, 0x2, 0xE3, 0xB5, 0x0, 0x2, 0xE3, 0xCD, 0x0, 0x5, 0x0, 0x64, 0x0, 0x0, 0x3, 0x28, 0x5, 0xB0, 0x0, 0x2, 0x0, 0x5, 0x0, 0x8, 0x0, 0xB, 0x0, 0xF, 0x0, 0x0, 0x1, 0x1, 0x21, 0x1, 0x11, 0x9, 0x6, 0x7, 0x11, 0x21, 0x11, 0x1, 0xC4, 0x1, 0x1, 0xFD, 0xFD, 0x2, 0x30, 0xFE, 0xEF, 0xFE, 0xB9, 0x1, 0xD, 0xFE, 0xF3, 0x2, 0x2B, 0xFE, 0xFF, 0xFE, 0xFE, 0x5E, 0x2, 0xC4, 0x3, 0x1C, 0x2, 0x5E, 0xFA, 0xDA, 0x5, 0x8, 0xFD, 0x7C, 0xFD, 0x88, 0x2, 0x78, 0x2, 0x78, 0xFA, 0xE6, 0x2, 0x5E, 0xFD, 0xA2, 0x36, 0x5, 0xB0, 0xFA, 0x50, 0x0, 0x2, 0x0, 0x90, 0xFF, 0xF2, 0x1, 0xA3, 0x5, 0xB0, 0x0, 0x3, 0x0, 0xD, 0x0, 0x0, 0x1, 0x3, 0x23, 0x3, 0x3, 0x34, 0x36, 0x32, 0x16, 0x15, 0x14, 0x6, 0x22, 0x26, 0x1, 0x97, 0x18, 0xD1, 0x18, 0x6, 0x48, 0x82, 0x49, 0x49, 0x82, 0x48, 0x5, 0xB0, 0xFB, 0xFD, 0x4, 0x3, 0xFA, 0xC4, 0x38, 0x4B, 0x4B, 0x38, 0x37, 0x4B, 0x4B, 0x0, 0x2, 0x0, 0x65, 0x3, 0xF5, 0x2, 0x41, 0x6, 0x0, 0x0, 0x4, 0x0, 0x9, 0x0, 0x0, 0x1, 0x23, 0x11, 0x33, 0x15, 0x1, 0x23, 0x11, 0x33, 0x15, 0x2, 0x1D, 0x8B, 0xAF, 0xFE, 0xAF, 0x8B, 0xAF, 0x3, 0xF5, 0x2, 0xB, 0x88, 0xFE, 0x7D, 0x2, 0xB, 0x88, 0x0, 0x2, 0x0, 0x61, 0x0, 0x0, 0x4, 0xBD, 0x5, 0xB0, 0x0, 0x3, 0x0, 0x1F, 0x0, 0x0, 0x1, 0x13, 0x23, 0x3, 0x13, 0x13, 0x23, 0x3, 0x23, 0x13, 0x23, 0x35, 0x21, 0x13, 0x23, 0x35, 0x21, 0x13, 0x33, 0x3, 0x33, 0x13, 0x33, 0x3, 0x33, 0x15, 0x23, 0x3, 0x33, 0x15, 0x23, 0x3, 0x2, 0xEE, 0x3A, 0xE0, 0x3B, 0x77, 0x4C, 0xE0, 0x4D, 0xA7, 0x4D, 0xE8, 0x1, 0x5, 0x3B, 0xF4, 0x1, 0x11, 0x4E, 0xA7, 0x4E, 0xE1, 0x4D, 0xA8, 0x4E, 0xD0, 0xED, 0x3B, 0xDD, 0xFA, 0x4D, 0x2, 0x38, 0x1, 0x39, 0xFE, 0xC7, 0xFD, 0xC8, 0x1, 0x9A, 0xFE, 0x66, 0x1, 0x9A, 0x9E, 0x1, 0x39, 0x9F, 0x1, 0xA0, 0xFE, 0x60, 0x1, 0xA0, 0xFE, 0x60, 0x9F, 0xFE, 0xC7, 0x9E, 0xFE, 0x66, 0x0, 0x1, 0x0, 0x65, 0xFF, 0x2C, 0x4, 0x26, 0x6, 0x9C, 0x0, 0x2B, 0x0, 0x0, 0x5, 0x23, 0x35, 0x26, 0x26, 0x35, 0x33, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x27, 0x26, 0x26, 0x35, 0x34, 0x36, 0x37, 0x35, 0x33, 0x15, 0x16, 0x16, 0x15, 0x23, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x14, 0x16, 0x17, 0x16, 0x16, 0x15, 0x14, 0x6, 0x7, 0x2, 0x9F, 0x9F, 0x9F, 0xFC, 0xF3, 0x9B, 0x58, 0x71, 0x77, 0x70, 0x87, 0xC3, 0xDC, 0xCC, 0xAB, 0x9F, 0xAA, 0xC2, 0xF2, 0x6E, 0x63, 0x6A, 0x62, 0x6A, 0x8B, 0xC2, 0xDF, 0xD4, 0xB3, 0xD4, 0xC3, 0x11, 0xD2, 0xEA, 0x9A, 0x6F, 0x6F, 0x5B, 0x55, 0x72, 0x2E, 0x43, 0xC5, 0xB8, 0xA9, 0xD3, 0x13, 0xDB, 0xDD, 0x18, 0xF0, 0xCA, 0x7E, 0x92, 0x71, 0x59, 0x55, 0x6B, 0x32, 0x46, 0xC3, 0xB9, 0xAF, 0xCD, 0x14, 0x0, 0x5, 0x0, 0x64, 0xFF, 0xEB, 0x5, 0x89, 0x5, 0xC5, 0x0, 0xC, 0x0, 0x1A, 0x0, 0x1E, 0x0, 0x2B, 0x0, 0x38, 0x0, 0x0, 0x13, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x15, 0x14, 0x6, 0x20, 0x26, 0x35, 0x33, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x25, 0x1, 0x27, 0x1, 0x3, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x15, 0x14, 0x6, 0x20, 0x26, 0x35, 0x33, 0x14, 0x16, 0x33, 0x32, 0x35, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x64, 0xA1, 0x93, 0x95, 0xA0, 0x9F, 0xFE, 0xD8, 0xA2, 0xA9, 0x46, 0x47, 0x46, 0x43, 0x44, 0x47, 0x46, 0x45, 0x3, 0x85, 0xFD, 0x39, 0x7D, 0x2, 0xC7, 0xF5, 0xA2, 0x92, 0x95, 0xA0, 0x9F, 0xFE, 0xD8, 0xA2, 0xA9, 0x49, 0x44, 0x8A, 0x45, 0x47, 0x46, 0x45, 0x4, 0x98, 0x7C, 0xB1, 0xB1, 0x7C, 0x4D, 0x7A, 0xB1, 0xB1, 0x7A, 0x3B, 0x5E, 0x5D, 0x3C, 0x4D, 0x3D, 0x5E, 0x5E, 0x3D, 0x47, 0xFB, 0x8E, 0x49, 0x4, 0x72, 0xFC, 0x3D, 0x7B, 0xB1, 0xB1, 0x7B, 0x4E, 0x7B, 0xB1, 0xB1, 0x7B, 0x3C, 0x5E, 0xA9, 0x3F, 0x3C, 0x5E, 0x5E, 0x3C, 0x0, 0x3, 0x0, 0x56, 0xFF, 0xEC, 0x5, 0x11, 0x5, 0xC4, 0x0, 0xB, 0x0, 0x15, 0x0, 0x33, 0x0, 0x0, 0x1, 0x14, 0x17, 0x37, 0x36, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x13, 0x32, 0x37, 0x1, 0x7, 0x6, 0x6, 0x15, 0x14, 0x16, 0x5, 0x27, 0x6, 0x23, 0x22, 0x24, 0x35, 0x34, 0x36, 0x37, 0x26, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x6, 0x7, 0x7, 0x1, 0x36, 0x35, 0x33, 0x10, 0x7, 0x17, 0x1, 0xB3, 0x67, 0x57, 0x3F, 0x36, 0x50, 0x49, 0x4C, 0x4E, 0x86, 0x7A, 0x6B, 0xFE, 0xC3, 0x1F, 0x51, 0x28, 0x7C, 0x2, 0x32, 0x52, 0x9D, 0xD6, 0xDC, 0xFF, 0x0, 0x98, 0x78, 0x45, 0x52, 0xD2, 0xAD, 0xA7, 0xC4, 0x68, 0x59, 0x67, 0x1, 0x18, 0x3D, 0xD3, 0x7E, 0xD6, 0x4, 0x58, 0x53, 0x7F, 0x3B, 0x29, 0x50, 0x3D, 0x34, 0x56, 0x64, 0xFC, 0x12, 0x52, 0x1, 0x77, 0x16, 0x3F, 0x6E, 0x23, 0x60, 0x83, 0xAF, 0x61, 0x75, 0xE9, 0xB5, 0x80, 0xAD, 0x55, 0x57, 0x9C, 0x54, 0xAD, 0xC4, 0xC1, 0x83, 0x66, 0x96, 0x41, 0x4B, 0xFE, 0xB3, 0x79, 0x92, 0xFE, 0xEF, 0xA7, 0xFE, 0x0, 0x1, 0x0, 0x53, 0x3, 0xFC, 0x1, 0xB, 0x6, 0x0, 0x0, 0x4, 0x0, 0x0, 0x13, 0x23, 0x11, 0x33, 0x15, 0xF2, 0x9F, 0xB8, 0x3, 0xFC, 0x2, 0x4, 0x7D, 0x0, 0x1, 0x0, 0x81, 0xFE, 0x31, 0x2, 0xA3, 0x6, 0x5F, 0x0, 0x10, 0x0, 0x0, 0x13, 0x10, 0x12, 0x12, 0x37, 0x17, 0x6, 0x2, 0x3, 0x15, 0x10, 0x12, 0x17, 0x7, 0x26, 0x2, 0x2, 0x81, 0xA4, 0xE8, 0x66, 0x30, 0x70, 0xD3, 0x2, 0xD4, 0x71, 0x30, 0x66, 0xE8, 0xA4, 0x2, 0x50, 0x1, 0x21, 0x1, 0xAD, 0x1, 0xF, 0x32, 0x8E, 0x55, 0xFE, 0x53, 0xFE, 0x93, 0x24, 0xFE, 0x88, 0xFE, 0x4D, 0x5B, 0x87, 0x32, 0x1, 0xF, 0x1, 0xAC, 0x0, 0x1, 0x0, 0x28, 0xFE, 0x31, 0x2, 0x52, 0x6, 0x5F, 0x0, 0x11, 0x0, 0x0, 0x1, 0x10, 0x2, 0x2, 0x7, 0x27, 0x36, 0x12, 0x11, 0x35, 0x34, 0x2, 0x26, 0x27, 0x37, 0x16, 0x12, 0x12, 0x2, 0x52, 0xA6, 0xEB, 0x69, 0x30, 0x71, 0xD4, 0x68, 0x97, 0x46, 0x30, 0x69, 0xEB, 0xA6, 0x2, 0x40, 0xFE, 0xE4, 0xFE, 0x51, 0xFE, 0xEE, 0x32, 0x87, 0x56, 0x1, 0xB8, 0x1, 0x78, 0x14, 0xFB, 0x1, 0x69, 0xE9, 0x39, 0x87, 0x32, 0xFE, 0xEE, 0xFE, 0x53, 0x0, 0x1, 0x0, 0x1C, 0x2, 0x4E, 0x3, 0x75, 0x5, 0xB1, 0x0, 0xE, 0x0, 0x0, 0x13, 0x13, 0x25, 0x37, 0x5, 0x3, 0x33, 0x3, 0x25, 0x17, 0x5, 0x13, 0x7, 0x3, 0x3, 0x7E, 0xCE, 0xFE, 0xD0, 0x36, 0x1, 0x2F, 0xF, 0xB3, 0xF, 0x1, 0x29, 0x36, 0xFE, 0xCA, 0xC8, 0x91, 0xB5, 0xB1, 0x2, 0xBC, 0x1, 0x10, 0x58, 0xAA, 0x76, 0x1, 0x59, 0xFE, 0xA1, 0x73, 0xAB, 0x58, 0xFE, 0xF5, 0x69, 0x1, 0x20, 0xFE, 0xE8, 0x0, 0x1, 0x0, 0x45, 0x0, 0x92, 0x4, 0x2B, 0x4, 0xB6, 0x0, 0xB, 0x0, 0x0, 0x1, 0x21, 0x11, 0x23, 0x11, 0x21, 0x35, 0x21, 0x11, 0x33, 0x11, 0x21, 0x4, 0x2B, 0xFE, 0x83, 0xEB, 0xFE, 0x82, 0x1, 0x7E, 0xEB, 0x1, 0x7D, 0x2, 0x44, 0xFE, 0x4E, 0x1, 0xB2, 0xDD, 0x1, 0x95, 0xFE, 0x6B, 0x0, 0x1, 0x0, 0x1D, 0xFE, 0xB8, 0x1, 0x5D, 0x0, 0xEB, 0x0, 0x9, 0x0, 0x0, 0x25, 0x15, 0x14, 0x6, 0x7, 0x27, 0x36, 0x36, 0x35, 0x35, 0x1, 0x5D, 0x67, 0x56, 0x83, 0x2A, 0x3C, 0xEB, 0xAC, 0x66, 0xDA, 0x47, 0x4D, 0x43, 0x8F, 0x5F, 0xB5, 0x0, 0x1, 0x0, 0x47, 0x2, 0xA, 0x2, 0x54, 0x2, 0xCD, 0x0, 0x3, 0x0, 0x0, 0x1, 0x15, 0x21, 0x35, 0x2, 0x54, 0xFD, 0xF3, 0x2, 0xCD, 0xC3, 0xC3, 0x0, 0x1, 0x0, 0x88, 0xFF, 0xF4, 0x1, 0xA3, 0x1, 0x1, 0x0, 0x7, 0x0, 0x0, 0x36, 0x36, 0x32, 0x16, 0x14, 0x6, 0x22, 0x26, 0x88, 0x4A, 0x86, 0x4B, 0x4B, 0x86, 0x4A, 0xB3, 0x4E, 0x4E, 0x72, 0x4D, 0x4D, 0x0, 0x1, 0x0, 0x2, 0xFF, 0x83, 0x2, 0xFF, 0x5, 0xB0, 0x0, 0x3, 0x0, 0x0, 0x1, 0x1, 0x23, 0x1, 0x2, 0xFF, 0xFD, 0xC3, 0xC0, 0x2, 0x3E, 0x5, 0xB0, 0xF9, 0xD3, 0x6, 0x2D, 0x0, 0x2, 0x0, 0x69, 0xFF, 0xEC, 0x4, 0x22, 0x5, 0xC4, 0x0, 0xD, 0x0, 0x1A, 0x0, 0x0, 0x1, 0x10, 0x0, 0x23, 0x22, 0x0, 0x3, 0x11, 0x10, 0x0, 0x33, 0x32, 0x0, 0x13, 0x27, 0x34, 0x26, 0x23, 0x22, 0x6, 0x7, 0x11, 0x14, 0x16, 0x32, 0x36, 0x37, 0x4, 0x22, 0xFE, 0xFD, 0xD8, 0xD3, 0xFE, 0xF9, 0x4, 0x1, 0x6, 0xD6, 0xD7, 0x1, 0x5, 0x1, 0xF2, 0x7A, 0x71, 0x6E, 0x7A, 0x1, 0x7B, 0xE0, 0x78, 0x1, 0x2, 0x66, 0xFE, 0xA6, 0xFE, 0xE0, 0x1, 0x18, 0x1, 0x4D, 0x1, 0x0, 0x1, 0x5B, 0x1, 0x18, 0xFE, 0xEA, 0xFE, 0xA9, 0x1F, 0xDD, 0xAE, 0xAB, 0xD8, 0xFE, 0xC5, 0xDD, 0xB7, 0xB4, 0xD8, 0x0, 0x1, 0x0, 0xA8, 0x0, 0x0, 0x3, 0x0, 0x5, 0xB5, 0x0, 0x6, 0x0, 0x0, 0x1, 0x11, 0x23, 0x11, 0x5, 0x35, 0x25, 0x3, 0x0, 0xF3, 0xFE, 0x9B, 0x2, 0x39, 0x5, 0xB5, 0xFA, 0x4B, 0x4, 0x92, 0x7A, 0xCD, 0xD0, 0x0, 0x1, 0x0, 0x51, 0x0, 0x0, 0x4, 0x41, 0x5, 0xC4, 0x0, 0x18, 0x0, 0x0, 0x25, 0x15, 0x21, 0x35, 0x1, 0x36, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x23, 0x34, 0x0, 0x33, 0x32, 0x16, 0x15, 0x14, 0x2, 0x7, 0x1, 0x4, 0x41, 0xFC, 0x2C, 0x1, 0xDA, 0x78, 0x56, 0x71, 0x68, 0x7C, 0x7C, 0xF3, 0x1, 0x2, 0xEC, 0xDA, 0xEF, 0xA3, 0x82, 0xFE, 0xB9, 0xC3, 0xC3, 0xA8, 0x2, 0x4, 0x85, 0x9F, 0x4A, 0x64, 0x83, 0x97, 0x75, 0xBF, 0x1, 0x10, 0xDA, 0xB6, 0x86, 0xFE, 0xFD, 0x8A, 0xFE, 0xA2, 0x0, 0x1, 0x0, 0x50, 0xFF, 0xEC, 0x4, 0x16, 0x5, 0xC4, 0x0, 0x26, 0x0, 0x0, 0x5, 0x22, 0x24, 0x35, 0x33, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x21, 0x23, 0x35, 0x33, 0x32, 0x36, 0x35, 0x34, 0x23, 0x22, 0x6, 0x15, 0x23, 0x34, 0x24, 0x33, 0x32, 0x4, 0x15, 0x14, 0x6, 0x7, 0x16, 0x16, 0x15, 0x14, 0x4, 0x2, 0x2D, 0xBD, 0xFE, 0xE0, 0xF3, 0x82, 0x6C, 0x71, 0x81, 0xFE, 0xED, 0x89, 0x8F, 0x7D, 0x7B, 0xDD, 0x61, 0x80, 0xF2, 0x1, 0x5, 0xCA, 0xD1, 0x1, 0x2, 0x6F, 0x71, 0x86, 0x70, 0xFE, 0xE8, 0x14, 0xD0, 0xCB, 0x60, 0x78, 0x79, 0x70, 0xEF, 0xC0, 0x7D, 0x62, 0xDB, 0x6E, 0x5E, 0xAD, 0xE2, 0xD1, 0xCD, 0x56, 0xB1, 0x33, 0x2D, 0xBB, 0x6C, 0xCD, 0xDF, 0x0, 0x2, 0x0, 0x35, 0x0, 0x0, 0x4, 0x59, 0x5, 0xB0, 0x0, 0x3, 0x0, 0xE, 0x0, 0x0, 0x1, 0x21, 0x11, 0x7, 0x1, 0x23, 0x11, 0x23, 0x11, 0x21, 0x27, 0x1, 0x33, 0x11, 0x33, 0x1, 0x33, 0x1, 0x7D, 0x11, 0x1, 0xBA, 0xB6, 0xF3, 0xFD, 0x8B, 0x6, 0x2, 0x74, 0xFA, 0xB6, 0x2, 0x8, 0x2, 0x5D, 0x1E, 0xFC, 0xFE, 0xFE, 0xBB, 0x1, 0x45, 0x93, 0x3, 0xD8, 0xFC, 0x58, 0x0, 0x1, 0x0, 0x81, 0xFF, 0xEC, 0x4, 0x3A, 0x5, 0xB0, 0x0, 0x1C, 0x0, 0x0, 0x1, 0x27, 0x13, 0x21, 0x15, 0x21, 0x3, 0x36, 0x33, 0x32, 0x12, 0x15, 0x14, 0x2, 0x23, 0x22, 0x24, 0x27, 0x33, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x1, 0x70, 0xC1, 0x4E, 0x3, 0xE, 0xFD, 0xBC, 0x27, 0x64, 0x7F, 0xCF, 0xE8, 0xEC, 0xF3, 0xB6, 0xFE, 0xE9, 0xD, 0xEC, 0x1C, 0xD2, 0x76, 0x77, 0x83, 0x80, 0x55, 0x58, 0x2, 0xA2, 0x30, 0x2, 0xDE, 0xD1, 0xFE, 0xA4, 0x39, 0xFE, 0xF9, 0xE3, 0xCA, 0xFE, 0xE4, 0xD3, 0xCB, 0xDB, 0xA7, 0x83, 0x7D, 0xA2, 0x31, 0x0, 0x2, 0x0, 0x76, 0xFF, 0xEC, 0x4, 0x37, 0x5, 0xB7, 0x0, 0x15, 0x0, 0x22, 0x0, 0x0, 0x5, 0x22, 0x0, 0x11, 0x35, 0x34, 0x12, 0x24, 0x21, 0x33, 0x15, 0x23, 0x6, 0x6, 0x7, 0x36, 0x33, 0x32, 0x12, 0x15, 0x14, 0x2, 0x27, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x7, 0x15, 0x14, 0x16, 0x2, 0x5F, 0xDC, 0xFE, 0xF3, 0x8C, 0x1, 0x3C, 0x1, 0x7, 0x1C, 0x19, 0xE8, 0xDF, 0x13, 0x72, 0xB8, 0xD5, 0xCA, 0xF7, 0xE4, 0x6E, 0x7D, 0x77, 0x73, 0x55, 0x83, 0x1C, 0x90, 0x14, 0x1, 0x43, 0x1, 0x8, 0x4F, 0xD8, 0x1, 0x74, 0xE5, 0xC8, 0x2, 0xF5, 0xAD, 0x79, 0xFE, 0xD7, 0xBE, 0xD1, 0xFE, 0xE0, 0xC4, 0xA6, 0x81, 0x7A, 0xB0, 0x60, 0x44, 0x4B, 0xAF, 0xB3, 0x0, 0x1, 0x0, 0x46, 0x0, 0x0, 0x4, 0x37, 0x5, 0xB0, 0x0, 0x6, 0x0, 0x0, 0x1, 0x15, 0x1, 0x21, 0x1, 0x21, 0x35, 0x4, 0x37, 0xFD, 0xBA, 0xFF, 0x0, 0x2, 0x46, 0xFD, 0xF, 0x5, 0xB0, 0x86, 0xFA, 0xD6, 0x4, 0xED, 0xC3, 0x0, 0x3, 0x0, 0x69, 0xFF, 0xEC, 0x4, 0x23, 0x5, 0xC4, 0x0, 0x16, 0x0, 0x22, 0x0, 0x2D, 0x0, 0x0, 0x4, 0x24, 0x35, 0x34, 0x36, 0x37, 0x26, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x6, 0x7, 0x16, 0x16, 0x15, 0x14, 0x4, 0x3, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x13, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x14, 0x16, 0x32, 0x36, 0x1, 0x7C, 0xFE, 0xED, 0x7F, 0x6C, 0x5E, 0x6D, 0xFC, 0xC1, 0xC2, 0xFB, 0x6E, 0x5E, 0x6C, 0x80, 0xFE, 0xEF, 0x2, 0x6D, 0x5D, 0x5C, 0x6E, 0x6D, 0x5E, 0x5D, 0x6C, 0x20, 0x81, 0x6A, 0x6B, 0x7E, 0x7E, 0xDA, 0x7C, 0x14, 0xD7, 0xCA, 0x79, 0xB8, 0x31, 0x30, 0xA8, 0x6A, 0xC2, 0xD1, 0xD1, 0xC2, 0x6A, 0xA8, 0x30, 0x32, 0xB7, 0x79, 0xCA, 0xD7, 0x4, 0x3C, 0x60, 0x79, 0x74, 0x65, 0x62, 0x78, 0x78, 0xFD, 0xD4, 0x6C, 0x85, 0x85, 0x6C, 0x6E, 0x7D, 0x7D, 0x0, 0x2, 0x0, 0x5E, 0xFF, 0xF9, 0x4, 0x13, 0x5, 0xC4, 0x0, 0x15, 0x0, 0x22, 0x0, 0x0, 0x5, 0x35, 0x33, 0x36, 0x36, 0x37, 0x6, 0x23, 0x22, 0x2, 0x35, 0x34, 0x12, 0x33, 0x32, 0x12, 0x15, 0x15, 0x14, 0x2, 0x4, 0x21, 0x13, 0x32, 0x36, 0x37, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x14, 0x16, 0x1, 0x31, 0x1F, 0xFC, 0xC7, 0xC, 0x7A, 0xA4, 0xD4, 0xCF, 0xF6, 0xE0, 0xF0, 0xEF, 0x7D, 0xFE, 0xC8, 0xFE, 0xE7, 0xEF, 0x4F, 0x7F, 0x1F, 0x8F, 0x5F, 0x6D, 0x78, 0x71, 0x7, 0xCA, 0x3, 0xEC, 0xB0, 0x81, 0x1, 0x27, 0xC0, 0xD2, 0x1, 0x2A, 0xFE, 0xA1, 0xF1, 0x4F, 0xD2, 0xFE, 0x8D, 0xE7, 0x2, 0xA6, 0x5B, 0x43, 0x5F, 0xAF, 0xB5, 0xB3, 0x7E, 0x76, 0xBA, 0xFF, 0xFF, 0x0, 0x82, 0xFF, 0xF4, 0x1, 0x9D, 0x4, 0x52, 0x0, 0x26, 0x0, 0x13, 0xFA, 0x0, 0x0, 0x7, 0x0, 0x13, 0xFF, 0xFA, 0x3, 0x51, 0xFF, 0xFF, 0x0, 0x2F, 0xFE, 0xB8, 0x1, 0x88, 0x4, 0x52, 0x0, 0x27, 0x0, 0x13, 0xFF, 0xE5, 0x3, 0x51, 0x0, 0x6, 0x0, 0x11, 0x12, 0x0, 0x0, 0x1, 0x0, 0x3F, 0x0, 0xA5, 0x3, 0x85, 0x4, 0x4E, 0x0, 0x6, 0x0, 0x0, 0x25, 0x1, 0x35, 0x1, 0x15, 0x5, 0x5, 0x3, 0x85, 0xFC, 0xBA, 0x3, 0x46, 0xFD, 0xB1, 0x2, 0x4F, 0xA5, 0x1, 0x74, 0xC1, 0x1, 0x74, 0xF2, 0xE4, 0xE1, 0x0, 0x2, 0x0, 0x91, 0x1, 0x64, 0x3, 0xF0, 0x3, 0xD6, 0x0, 0x3, 0x0, 0x7, 0x0, 0x0, 0x1, 0x15, 0x21, 0x35, 0x1, 0x15, 0x21, 0x35, 0x3, 0xF0, 0xFC, 0xA1, 0x3, 0x5F, 0xFC, 0xA1, 0x3, 0xD6, 0xC9, 0xC9, 0xFE, 0x58, 0xCA, 0xCA, 0x0, 0x1, 0x0, 0x81, 0x0, 0xA5, 0x3, 0xE0, 0x4, 0x4E, 0x0, 0x6, 0x0, 0x0, 0x37, 0x35, 0x25, 0x25, 0x35, 0x1, 0x15, 0x81, 0x2, 0x6A, 0xFD, 0x96, 0x3, 0x5F, 0xA5, 0xEF, 0xE8, 0xE4, 0xEE, 0xFE, 0x8D, 0xC2, 0x0, 0x2, 0x0, 0x3C, 0xFF, 0xF4, 0x3, 0x98, 0x5, 0xC4, 0x0, 0x17, 0x0, 0x21, 0x0, 0x0, 0x1, 0x23, 0x3E, 0x3, 0x35, 0x34, 0x23, 0x22, 0x6, 0x7, 0x23, 0x36, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x6, 0x7, 0x6, 0x6, 0x3, 0x34, 0x36, 0x32, 0x16, 0x15, 0x14, 0x6, 0x22, 0x26, 0x2, 0x41, 0xE3, 0x2, 0x42, 0xD7, 0x2C, 0xB6, 0x48, 0x77, 0x1, 0xF3, 0x2, 0xFA, 0xB7, 0xC9, 0xE0, 0x5B, 0xA1, 0x35, 0x25, 0xF5, 0x49, 0x82, 0x49, 0x49, 0x82, 0x49, 0x1, 0xAD, 0x89, 0x9A, 0xD3, 0x5B, 0x3B, 0xC1, 0x55, 0x60, 0xBD, 0xC2, 0xCC, 0xB6, 0x65, 0xA4, 0x9A, 0x33, 0x76, 0xFE, 0x80, 0x38, 0x4B, 0x4B, 0x38, 0x37, 0x4B, 0x4B, 0x0, 0x2, 0x0, 0x53, 0xFE, 0x3B, 0x6, 0xDC, 0x5, 0x91, 0x0, 0x30, 0x0, 0x3A, 0x0, 0x0, 0x1, 0x20, 0x0, 0x13, 0x12, 0x12, 0x24, 0x33, 0x20, 0x0, 0x3, 0xE, 0x2, 0x23, 0x22, 0x27, 0x6, 0x23, 0x22, 0x26, 0x37, 0x12, 0x0, 0x33, 0x32, 0x16, 0x17, 0x3, 0x6, 0x16, 0x33, 0x32, 0x36, 0x37, 0x12, 0x0, 0x21, 0x20, 0x0, 0x3, 0x2, 0x0, 0x21, 0x32, 0x37, 0x17, 0x6, 0x6, 0x3, 0x32, 0x36, 0x37, 0x13, 0x26, 0x23, 0x22, 0x3, 0x2, 0x3, 0x7B, 0xFE, 0x7C, 0xFE, 0x5C, 0x11, 0xC, 0xDA, 0x1, 0x7C, 0xFF, 0x1, 0x82, 0x1, 0x95, 0x11, 0x5, 0x57, 0xB7, 0x96, 0xB5, 0x3C, 0x68, 0x9D, 0x94, 0x95, 0x13, 0x1A, 0x1, 0x2, 0xA3, 0x71, 0x81, 0x3A, 0x33, 0xB, 0x4F, 0x2E, 0x6C, 0x7C, 0x6, 0x11, 0xFE, 0xD1, 0xFE, 0xB1, 0xFE, 0xCA, 0xFE, 0x97, 0xF, 0x11, 0x1, 0x47, 0x1, 0x36, 0xC1, 0x8A, 0x27, 0x46, 0xD2, 0x72, 0x2B, 0x65, 0x24, 0x2D, 0x2E, 0x32, 0xE9, 0x26, 0x19, 0xFE, 0x3B, 0x1, 0xE7, 0x1, 0xB5, 0x1, 0x11, 0x1, 0xB0, 0xF9, 0xFE, 0x12, 0xFE, 0x63, 0x81, 0xF8, 0xA2, 0x9A, 0x99, 0xF4, 0xC7, 0x1, 0x4, 0x1, 0x33, 0x40, 0x2B, 0xFD, 0xCC, 0x7B, 0x4A, 0xE4, 0xA5, 0x1, 0x60, 0x1, 0x98, 0xFE, 0x3D, 0xFE, 0x9F, 0xFE, 0x8F, 0xFE, 0x6D, 0x49, 0x88, 0x2D, 0x2C, 0x2, 0x57, 0x4F, 0x62, 0x1, 0xEE, 0x12, 0xFE, 0x64, 0xFE, 0xEB, 0x0, 0x2, 0x0, 0x12, 0x0, 0x0, 0x5, 0x43, 0x5, 0xB0, 0x0, 0x2, 0x0, 0xA, 0x0, 0x0, 0x1, 0x3, 0x3, 0x1, 0x3, 0x21, 0x3, 0x21, 0x1, 0x33, 0x1, 0x3, 0x7E, 0xD4, 0xD3, 0x2, 0x64, 0x77, 0xFD, 0xCC, 0x76, 0xFE, 0xF8, 0x2, 0x26, 0xE3, 0x2, 0x28, 0x2, 0x1F, 0x2, 0x5E, 0xFD, 0xA2, 0xFD, 0xE1, 0x1, 0x54, 0xFE, 0xAC, 0x5, 0xB0, 0xFA, 0x50, 0x0, 0x3, 0x0, 0x95, 0x0, 0x0, 0x4, 0xA3, 0x5, 0xB0, 0x0, 0x7, 0x0, 0xF, 0x0, 0x1E, 0x0, 0x0, 0x1, 0x11, 0x33, 0x32, 0x36, 0x35, 0x34, 0x27, 0x1, 0x11, 0x21, 0x32, 0x36, 0x35, 0x34, 0x27, 0x1, 0x11, 0x21, 0x32, 0x4, 0x15, 0x14, 0x6, 0x7, 0x16, 0x16, 0x15, 0x14, 0x4, 0x23, 0x1, 0x91, 0xF8, 0x77, 0x84, 0xF1, 0xFE, 0xFE, 0x1, 0x1A, 0x7C, 0x80, 0xE3, 0xFD, 0xD1, 0x1, 0xF2, 0xEE, 0x1, 0xC, 0x6C, 0x68, 0x7D, 0x79, 0xFE, 0xF4, 0xEC, 0x4, 0xE5, 0xFE, 0x67, 0x6B, 0x61, 0xC8, 0x5, 0xFD, 0xAC, 0xFE, 0x39, 0x7C, 0x64, 0xE0, 0x7, 0xFD, 0x6F, 0x5, 0xB0, 0xBE, 0xCC, 0x63, 0xA1, 0x2B, 0x21, 0xBB, 0x72, 0xD0, 0xD9, 0x0, 0x1, 0x0, 0x66, 0xFF, 0xEC, 0x4, 0xEC, 0x5, 0xC4, 0x0, 0x1B, 0x0, 0x0, 0x1, 0x33, 0x6, 0x0, 0x21, 0x20, 0x0, 0x11, 0x35, 0x10, 0x0, 0x21, 0x20, 0x0, 0x17, 0x23, 0x26, 0x26, 0x23, 0x22, 0x6, 0x7, 0x15, 0x14, 0x12, 0x33, 0x32, 0x36, 0x3, 0xEF, 0xFC, 0x13, 0xFE, 0xE5, 0xFE, 0xF4, 0xFE, 0xF3, 0xFE, 0xC2, 0x1, 0x44, 0x1, 0x13, 0x1, 0x5, 0x1, 0x14, 0x16, 0xFC, 0x10, 0x87, 0x9C, 0xAB, 0xAC, 0x1, 0x9B, 0xB1, 0xA3, 0x89, 0x1, 0xDA, 0xD4, 0xFE, 0xE6, 0x1, 0x76, 0x1, 0x3B, 0x76, 0x1, 0x3A, 0x1, 0x77, 0xFE, 0xE5, 0xDA, 0x8C, 0x9D, 0xFA, 0xE4, 0x7D, 0xDA, 0xFE, 0xF5, 0x97, 0x0, 0x2, 0x0, 0x95, 0x0, 0x0, 0x4, 0xD2, 0x5, 0xB0, 0x0, 0x9, 0x0, 0x13, 0x0, 0x0, 0x1, 0x11, 0x33, 0x32, 0x12, 0x37, 0x35, 0x34, 0x26, 0x23, 0x1, 0x11, 0x21, 0x20, 0x0, 0x11, 0x15, 0x10, 0x0, 0x21, 0x1, 0x91, 0xA6, 0xCC, 0xD0, 0x2, 0xCF, 0xC4, 0xFE, 0x53, 0x1, 0xAD, 0x1, 0x25, 0x1, 0x6B, 0xFE, 0x93, 0xFE, 0xD2, 0x4, 0xE5, 0xFB, 0xE5, 0x1, 0x0, 0xE1, 0x53, 0xEC, 0xFB, 0xFB, 0x1B, 0x5, 0xB0, 0xFE, 0x87, 0xFE, 0xC5, 0x49, 0xFE, 0xC5, 0xFE, 0x88, 0x0, 0x1, 0x0, 0x95, 0x0, 0x0, 0x4, 0x4D, 0x5, 0xB0, 0x0, 0xB, 0x0, 0x0, 0x33, 0x11, 0x21, 0x15, 0x21, 0x11, 0x21, 0x15, 0x21, 0x11, 0x21, 0x15, 0x95, 0x3, 0xB1, 0xFD, 0x4B, 0x2, 0x56, 0xFD, 0xAA, 0x2, 0xBC, 0x5, 0xB0, 0xCB, 0xFE, 0x6D, 0xC7, 0xFE, 0x3F, 0xCA, 0x0, 0x1, 0x0, 0x95, 0x0, 0x0, 0x4, 0x31, 0x5, 0xB0, 0x0, 0x9, 0x0, 0x0, 0x1, 0x21, 0x11, 0x23, 0x11, 0x21, 0x15, 0x21, 0x11, 0x21, 0x3, 0xDB, 0xFD, 0xB6, 0xFC, 0x3, 0x9C, 0xFD, 0x60, 0x2, 0x4A, 0x2, 0x69, 0xFD, 0x97, 0x5, 0xB0, 0xCB, 0xFE, 0x4E, 0x0, 0x1, 0x0, 0x6A, 0xFF, 0xEC, 0x4, 0xF0, 0x5, 0xC4, 0x0, 0x1F, 0x0, 0x0, 0x1, 0x11, 0x6, 0x6, 0x23, 0x20, 0x0, 0x11, 0x35, 0x10, 0x0, 0x21, 0x20, 0x0, 0x17, 0x23, 0x26, 0x26, 0x23, 0x22, 0x6, 0x7, 0x15, 0x14, 0x12, 0x33, 0x32, 0x36, 0x37, 0x11, 0x21, 0x35, 0x4, 0xF0, 0x2E, 0xF5, 0xF5, 0xFE, 0xED, 0xFE, 0xA5, 0x1, 0x3E, 0x1, 0x1A, 0x1, 0xB, 0x1, 0x9, 0x1A, 0xF8, 0x13, 0x8A, 0x95, 0xB0, 0xAB, 0x2, 0xC8, 0xAF, 0x83, 0x77, 0x1A, 0xFE, 0xD5, 0x2, 0xEB, 0xFD, 0xD3, 0x3D, 0x95, 0x1, 0x6E, 0x1, 0x4E, 0x5F, 0x1, 0x4E, 0x1, 0x6F, 0xFE, 0xFA, 0xCB, 0x71, 0x95, 0xFE, 0xE8, 0x6B, 0xF0, 0xFE, 0xFE, 0x3C, 0x1C, 0x1, 0x1E, 0xBF, 0x0, 0x1, 0x0, 0x95, 0x0, 0x0, 0x5, 0x19, 0x5, 0xB0, 0x0, 0xB, 0x0, 0x0, 0x21, 0x11, 0x21, 0x11, 0x23, 0x11, 0x33, 0x11, 0x21, 0x11, 0x33, 0x11, 0x4, 0x1C, 0xFD, 0x75, 0xFC, 0xFC, 0x2, 0x8B, 0xFD, 0x2, 0x88, 0xFD, 0x78, 0x5, 0xB0, 0xFD, 0xA2, 0x2, 0x5E, 0xFA, 0x50, 0x0, 0x1, 0x0, 0xA4, 0x0, 0x0, 0x1, 0xA0, 0x5, 0xB0, 0x0, 0x3, 0x0, 0x0, 0x1, 0x11, 0x23, 0x11, 0x1, 0xA0, 0xFC, 0x5, 0xB0, 0xFA, 0x50, 0x5, 0xB0, 0x0, 0x1, 0x0, 0x2D, 0xFF, 0xEC, 0x3, 0xE5, 0x5, 0xB0, 0x0, 0xF, 0x0, 0x0, 0x1, 0x33, 0x11, 0x14, 0x4, 0x23, 0x22, 0x24, 0x35, 0x33, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x2, 0xE9, 0xFC, 0xFE, 0xF2, 0xCE, 0xCF, 0xFE, 0xF3, 0xFD, 0x7C, 0x63, 0x62, 0x7E, 0x5, 0xB0, 0xFC, 0x4, 0xD9, 0xEF, 0xD5, 0xDF, 0x7E, 0x6C, 0x83, 0x7B, 0x0, 0x1, 0x0, 0x95, 0x0, 0x0, 0x5, 0x18, 0x5, 0xB0, 0x0, 0xC, 0x0, 0x0, 0x21, 0x1, 0x7, 0x11, 0x23, 0x11, 0x33, 0x11, 0x37, 0x1, 0x21, 0x1, 0x1, 0x3, 0xEC, 0xFE, 0x4B, 0xA6, 0xFC, 0xFC, 0x8D, 0x1, 0xAA, 0x1, 0x32, 0xFD, 0xE3, 0x2, 0x3B, 0x2, 0x76, 0xB0, 0xFE, 0x3A, 0x5, 0xB0, 0xFD, 0x54, 0xAE, 0x1, 0xFE, 0xFD, 0x7C, 0xFC, 0xD4, 0x0, 0x1, 0x0, 0x95, 0x0, 0x0, 0x4, 0x27, 0x5, 0xB0, 0x0, 0x5, 0x0, 0x0, 0x33, 0x11, 0x33, 0x11, 0x21, 0x15, 0x95, 0xFC, 0x2, 0x96, 0x5, 0xB0, 0xFB, 0x1A, 0xCA, 0x0, 0x1, 0x0, 0x95, 0x0, 0x0, 0x6, 0x6B, 0x5, 0xB0, 0x0, 0xE, 0x0, 0x0, 0x1, 0x11, 0x23, 0x11, 0x21, 0x1, 0x1, 0x21, 0x11, 0x23, 0x11, 0x13, 0x1, 0x23, 0x1, 0x1, 0x91, 0xFC, 0x1, 0x47, 0x1, 0xA4, 0x1, 0xA3, 0x1, 0x48, 0xFC, 0x18, 0xFE, 0x53, 0xB5, 0xFE, 0x53, 0x1, 0xE0, 0xFE, 0x20, 0x5, 0xB0, 0xFB, 0xA4, 0x4, 0x5C, 0xFA, 0x50, 0x1, 0xE0, 0x2, 0x80, 0xFB, 0xA0, 0x4, 0x61, 0x0, 0x1, 0x0, 0x95, 0x0, 0x0, 0x5, 0x18, 0x5, 0xB0, 0x0, 0x9, 0x0, 0x0, 0x1, 0x11, 0x23, 0x1, 0x11, 0x23, 0x11, 0x33, 0x1, 0x11, 0x5, 0x18, 0xFD, 0xFD, 0x76, 0xFC, 0xFC, 0x2, 0x8C, 0x5, 0xB0, 0xFA, 0x50, 0x4, 0x9, 0xFB, 0xF7, 0x5, 0xB0, 0xFB, 0xF4, 0x4, 0xC, 0x0, 0x2, 0x0, 0x66, 0xFF, 0xEC, 0x5, 0x1F, 0x5, 0xC4, 0x0, 0xD, 0x0, 0x1B, 0x0, 0x0, 0x1, 0x10, 0x0, 0x21, 0x20, 0x0, 0x11, 0x35, 0x10, 0x0, 0x21, 0x20, 0x0, 0x11, 0x27, 0x34, 0x2, 0x23, 0x22, 0x2, 0x15, 0x15, 0x14, 0x12, 0x33, 0x32, 0x12, 0x35, 0x5, 0x1F, 0xFE, 0xB5, 0xFE, 0xF0, 0xFE, 0xF6, 0xFE, 0xAC, 0x1, 0x52, 0x1, 0xA, 0x1, 0x10, 0x1, 0x4D, 0xFD, 0xB9, 0xA7, 0xA2, 0xBD, 0xBF, 0xA2, 0xA8, 0xB6, 0x2, 0xB3, 0xFE, 0xB4, 0xFE, 0x85, 0x1, 0x7B, 0x1, 0x4C, 0x49, 0x1, 0x4C, 0x1, 0x7C, 0xFE, 0x84, 0xFE, 0xB4, 0x2, 0xF5, 0x1, 0x0, 0xFF, 0x0, 0xF5, 0x4B, 0xF5, 0xFE, 0xFE, 0x1, 0x2, 0xF5, 0x0, 0x2, 0x0, 0x95, 0x0, 0x0, 0x4, 0xD4, 0x5, 0xB0, 0x0, 0x8, 0x0, 0x13, 0x0, 0x0, 0x1, 0x11, 0x21, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x1, 0x11, 0x23, 0x11, 0x21, 0x32, 0x0, 0x15, 0x14, 0x4, 0x23, 0x1, 0x91, 0x1, 0x31, 0x93, 0x81, 0x81, 0x93, 0xFE, 0xCF, 0xFC, 0x2, 0x2D, 0xFD, 0x1, 0x15, 0xFE, 0xEB, 0xFD, 0x4, 0xE5, 0xFE, 0x3, 0x8A, 0x6D, 0x66, 0xA0, 0xFD, 0x38, 0xFD, 0xE3, 0x5, 0xB0, 0xFE, 0xFA, 0xC9, 0xD3, 0xF1, 0x0, 0x2, 0x0, 0x60, 0xFF, 0x4, 0x5, 0x1B, 0x5, 0xC4, 0x0, 0x12, 0x0, 0x20, 0x0, 0x0, 0x5, 0x25, 0x6, 0x23, 0x20, 0x0, 0x11, 0x35, 0x10, 0x0, 0x21, 0x20, 0x0, 0x11, 0x15, 0x14, 0x2, 0x7, 0x17, 0x3, 0x34, 0x2, 0x23, 0x22, 0x2, 0x15, 0x15, 0x14, 0x12, 0x33, 0x32, 0x12, 0x35, 0x4, 0x76, 0xFE, 0xCB, 0x3F, 0x44, 0xFE, 0xF6, 0xFE, 0xAC, 0x1, 0x52, 0x1, 0xA, 0x1, 0x10, 0x1, 0x4D, 0x84, 0x75, 0xFB, 0xFF, 0xB9, 0xA7, 0xA2, 0xBC, 0xBE, 0xA2, 0xA8, 0xB6, 0xFC, 0xF5, 0xD, 0x1, 0x7B, 0x1, 0x4C, 0x49, 0x1, 0x4C, 0x1, 0x7C, 0xFE, 0x84, 0xFE, 0xB4, 0x49, 0xCE, 0xFE, 0xCF, 0x59, 0xC4, 0x3, 0x67, 0xF5, 0x1, 0x0, 0xFF, 0x0, 0xF5, 0x4B, 0xF5, 0xFE, 0xFE, 0x1, 0x2, 0xF5, 0x0, 0x2, 0x0, 0x95, 0x0, 0x0, 0x4, 0xDE, 0x5, 0xB0, 0x0, 0x8, 0x0, 0x17, 0x0, 0x0, 0x1, 0x11, 0x21, 0x32, 0x36, 0x35, 0x34, 0x26, 0x27, 0x1, 0x1, 0x21, 0x11, 0x23, 0x11, 0x21, 0x32, 0x4, 0x15, 0x14, 0x6, 0x7, 0x1, 0x15, 0x1, 0x91, 0x1, 0x4, 0x88, 0x89, 0x80, 0x8D, 0x1, 0x37, 0xFE, 0xDC, 0xFE, 0xE5, 0xFC, 0x2, 0x0, 0xFB, 0x1, 0x12, 0x8E, 0x7D, 0x1, 0x47, 0x4, 0xE5, 0xFE, 0x17, 0x89, 0x68, 0x70, 0x87, 0x1, 0xFB, 0x1B, 0x2, 0x31, 0xFD, 0xCF, 0x5, 0xB0, 0xE0, 0xD7, 0x92, 0xC6, 0x34, 0xFD, 0xA0, 0xD, 0x0, 0x1, 0x0, 0x4A, 0xFF, 0xEC, 0x4, 0x8A, 0x5, 0xC4, 0x0, 0x25, 0x0, 0x0, 0x1, 0x34, 0x26, 0x24, 0x24, 0x35, 0x34, 0x24, 0x33, 0x32, 0x0, 0x15, 0x23, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x14, 0x16, 0x17, 0x16, 0x16, 0x15, 0x14, 0x4, 0x23, 0x22, 0x24, 0x26, 0x35, 0x33, 0x14, 0x16, 0x33, 0x32, 0x36, 0x3, 0x8D, 0x72, 0xFE, 0x60, 0xFE, 0xFD, 0x1, 0x1D, 0xE7, 0xF7, 0x1, 0x16, 0xFC, 0x86, 0x8E, 0x85, 0x7F, 0x98, 0x99, 0xF7, 0xED, 0xFE, 0xE7, 0xED, 0x8B, 0xFE, 0xFA, 0xA9, 0xFD, 0xB8, 0x85, 0x84, 0x85, 0x1, 0x78, 0x57, 0x69, 0x81, 0xCA, 0xAE, 0xB0, 0xE3, 0xFE, 0xF9, 0xB6, 0x6B, 0x89, 0x73, 0x56, 0x52, 0x6B, 0x2D, 0x48, 0xD8, 0xAE, 0xB8, 0xD6, 0x66, 0xCD, 0x99, 0x8A, 0x7A, 0x6C, 0x0, 0x1, 0x0, 0x2D, 0x0, 0x0, 0x4, 0xB0, 0x5, 0xB0, 0x0, 0x7, 0x0, 0x0, 0x1, 0x21, 0x11, 0x23, 0x11, 0x21, 0x35, 0x21, 0x4, 0xB0, 0xFE, 0x3B, 0xFC, 0xFE, 0x3E, 0x4, 0x83, 0x4, 0xE5, 0xFB, 0x1B, 0x4, 0xE5, 0xCB, 0x0, 0x1, 0x0, 0x7E, 0xFF, 0xEC, 0x4, 0xBE, 0x5, 0xB0, 0x0, 0x11, 0x0, 0x0, 0x1, 0x33, 0x11, 0x14, 0x4, 0x23, 0x22, 0x24, 0x35, 0x11, 0x33, 0x11, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x3, 0xC1, 0xFD, 0xFE, 0xC2, 0xE3, 0xE9, 0xFE, 0xCA, 0xFB, 0x9F, 0x85, 0x87, 0x9D, 0x5, 0xB0, 0xFC, 0x33, 0xFA, 0xFD, 0xFD, 0xFA, 0x3, 0xCD, 0xFC, 0x33, 0x9C, 0x91, 0x91, 0x9C, 0x0, 0x1, 0x0, 0x12, 0x0, 0x0, 0x5, 0x1D, 0x5, 0xB0, 0x0, 0x6, 0x0, 0x0, 0x21, 0x1, 0x21, 0x1, 0x1, 0x21, 0x1, 0x2, 0x1C, 0xFD, 0xF6, 0x1, 0x15, 0x1, 0x6F, 0x1, 0x71, 0x1, 0x16, 0xFD, 0xF4, 0x5, 0xB0, 0xFB, 0x8E, 0x4, 0x72, 0xFA, 0x50, 0x0, 0x1, 0x0, 0x31, 0x0, 0x0, 0x6, 0xE5, 0x5, 0xB0, 0x0, 0xC, 0x0, 0x0, 0x21, 0x1, 0x33, 0x13, 0x1, 0x33, 0x1, 0x13, 0x33, 0x1, 0x23, 0x1, 0x1, 0x1, 0x81, 0xFE, 0xB0, 0xFB, 0xE2, 0x1, 0x16, 0xD4, 0x1, 0x13, 0xDF, 0xFB, 0xFE, 0xB1, 0xF3, 0xFE, 0xEB, 0xFE, 0xE5, 0x5, 0xB0, 0xFB, 0xBD, 0x4, 0x43, 0xFB, 0xB9, 0x4, 0x47, 0xFA, 0x50, 0x4, 0x26, 0xFB, 0xDA, 0x0, 0x1, 0x0, 0x29, 0x0, 0x0, 0x4, 0xEA, 0x5, 0xB0, 0x0, 0xB, 0x0, 0x0, 0x9, 0x2, 0x21, 0x1, 0x1, 0x21, 0x1, 0x1, 0x21, 0x1, 0x1, 0x1, 0x58, 0x1, 0x32, 0x1, 0x31, 0x1, 0x24, 0xFE, 0x48, 0x1, 0xC3, 0xFE, 0xD9, 0xFE, 0xC7, 0xFE, 0xC6, 0xFE, 0xD9, 0x1, 0xC3, 0xFE, 0x48, 0x5, 0xB0, 0xFD, 0xF2, 0x2, 0xE, 0xFD, 0x2E, 0xFD, 0x22, 0x2, 0x17, 0xFD, 0xE9, 0x2, 0xDE, 0x2, 0xD2, 0x0, 0x1, 0x0, 0x8, 0x0, 0x0, 0x4, 0xD6, 0x5, 0xB0, 0x0, 0x8, 0x0, 0x0, 0x9, 0x2, 0x21, 0x1, 0x11, 0x23, 0x11, 0x1, 0x1, 0x21, 0x1, 0x4E, 0x1, 0x4F, 0x1, 0x18, 0xFE, 0x18, 0xFE, 0xFE, 0x18, 0x5, 0xB0, 0xFD, 0x4F, 0x2, 0xB1, 0xFC, 0x68, 0xFD, 0xE8, 0x2, 0x18, 0x3, 0x98, 0x0, 0x1, 0x0, 0x50, 0x0, 0x0, 0x4, 0x8C, 0x5, 0xB0, 0x0, 0x9, 0x0, 0x0, 0x33, 0x35, 0x1, 0x21, 0x35, 0x21, 0x15, 0x1, 0x21, 0x15, 0x50, 0x2, 0xF2, 0xFD, 0x14, 0x4, 0x1E, 0xFD, 0xE, 0x3, 0xA, 0xA4, 0x4, 0x41, 0xCB, 0xA0, 0xFB, 0xBA, 0xCA, 0x0, 0x1, 0x0, 0x84, 0xFE, 0xBB, 0x2, 0x1D, 0x6, 0x8F, 0x0, 0x7, 0x0, 0x0, 0x1, 0x15, 0x23, 0x11, 0x33, 0x15, 0x21, 0x11, 0x2, 0x1D, 0xA6, 0xA6, 0xFE, 0x67, 0x6, 0x8F, 0xBE, 0xF9, 0xA8, 0xBE, 0x7, 0xD4, 0x0, 0x1, 0x0, 0x14, 0xFF, 0x83, 0x3, 0x64, 0x5, 0xB0, 0x0, 0x3, 0x0, 0x0, 0x5, 0x1, 0x33, 0x1, 0x2, 0x74, 0xFD, 0xA0, 0xF0, 0x2, 0x60, 0x7D, 0x6, 0x2D, 0xF9, 0xD3, 0x0, 0x1, 0x0, 0xD, 0xFE, 0xBB, 0x1, 0xA6, 0x6, 0x8F, 0x0, 0x7, 0x0, 0x0, 0x13, 0x35, 0x21, 0x11, 0x21, 0x35, 0x33, 0x11, 0xD, 0x1, 0x99, 0xFE, 0x67, 0xA6, 0x5, 0xD1, 0xBE, 0xF8, 0x2C, 0xBE, 0x6, 0x58, 0x0, 0x1, 0x0, 0x35, 0x2, 0xD9, 0x3, 0x36, 0x5, 0xB0, 0x0, 0x6, 0x0, 0x0, 0x1, 0x3, 0x3, 0x23, 0x1, 0x33, 0x1, 0x2, 0x68, 0xB2, 0xB2, 0xCF, 0x1, 0x2B, 0xAC, 0x1, 0x2A, 0x2, 0xD9, 0x1, 0xCF, 0xFE, 0x31, 0x2, 0xD7, 0xFD, 0x29, 0x0, 0x1, 0x0, 0x3, 0xFF, 0x40, 0x3, 0x99, 0x0, 0x0, 0x0, 0x3, 0x0, 0x0, 0x21, 0x15, 0x21, 0x35, 0x3, 0x99, 0xFC, 0x6A, 0xC0, 0xC0, 0x0, 0x1, 0x0, 0x31, 0x4, 0xD2, 0x2, 0xA, 0x6, 0x0, 0x0, 0x3, 0x0, 0x0, 0x1, 0x13, 0x23, 0x1, 0x1, 0x46, 0xC4, 0xCA, 0xFE, 0xF1, 0x6, 0x0, 0xFE, 0xD2, 0x1, 0x2E, 0x0, 0x2, 0x0, 0x5B, 0xFF, 0xEC, 0x3, 0xFC, 0x4, 0x4E, 0x0, 0x8, 0x0, 0x26, 0x0, 0x0, 0x24, 0x36, 0x37, 0x35, 0x23, 0x6, 0x15, 0x14, 0x16, 0x5, 0x26, 0x27, 0x6, 0x23, 0x22, 0x26, 0x35, 0x34, 0x24, 0x33, 0x33, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x23, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x11, 0x14, 0x17, 0x15, 0x2, 0x4D, 0x7A, 0x19, 0x94, 0xFF, 0x58, 0x1, 0x5F, 0x12, 0xA, 0x73, 0xAA, 0xA2, 0xCE, 0x1, 0x2, 0xEA, 0x99, 0x5F, 0x5F, 0x57, 0x67, 0xF2, 0xF1, 0xCD, 0xB6, 0xED, 0x29, 0xAF, 0x51, 0x31, 0xCC, 0x6, 0xAF, 0x41, 0x58, 0xAF, 0x25, 0x41, 0x7A, 0xBA, 0x8A, 0xAD, 0xB8, 0x47, 0x55, 0x65, 0x56, 0x3E, 0x80, 0xCC, 0xBA, 0xBA, 0xFE, 0x20, 0x92, 0x57, 0x11, 0x0, 0x2, 0x0, 0x7D, 0xFF, 0xEC, 0x4, 0x32, 0x6, 0x0, 0x0, 0xF, 0x0, 0x1A, 0x0, 0x0, 0x5, 0x22, 0x27, 0x7, 0x23, 0x11, 0x33, 0x11, 0x36, 0x33, 0x32, 0x12, 0x15, 0x15, 0x14, 0x2, 0x25, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x7, 0x11, 0x16, 0x2, 0x8D, 0xBD, 0x6C, 0xB, 0xDC, 0xF2, 0x6A, 0xB2, 0xD1, 0xD6, 0xD7, 0xFE, 0xF4, 0x87, 0x6A, 0x67, 0x8C, 0x9B, 0x43, 0x44, 0x14, 0x8A, 0x76, 0x6, 0x0, 0xFD, 0xD2, 0x7C, 0xFE, 0xCD, 0xF4, 0x15, 0xEF, 0xFE, 0xC9, 0xC7, 0xCA, 0xAA, 0x8F, 0xD2, 0x8C, 0xFE, 0x44, 0x8D, 0x0, 0x1, 0x0, 0x50, 0xFF, 0xEC, 0x3, 0xF5, 0x4, 0x4E, 0x0, 0x1B, 0x0, 0x0, 0x25, 0x32, 0x36, 0x37, 0x33, 0x6, 0x4, 0x23, 0x22, 0x2, 0x35, 0x35, 0x34, 0x12, 0x33, 0x32, 0x16, 0x17, 0x23, 0x26, 0x26, 0x23, 0x22, 0x6, 0x15, 0x15, 0x14, 0x16, 0x2, 0x3A, 0x58, 0x7A, 0x5, 0xE4, 0x4, 0xFF, 0x0, 0xB5, 0xFA, 0xF2, 0xF3, 0xF9, 0xC5, 0xF0, 0x4, 0xE4, 0x5, 0x70, 0x63, 0x94, 0x63, 0x62, 0xAF, 0x68, 0x4F, 0x9D, 0xDD, 0x1, 0x40, 0xDF, 0x24, 0xDE, 0x1, 0x41, 0xE4, 0xB3, 0x57, 0x7D, 0xDB, 0x81, 0x24, 0x83, 0xD9, 0x0, 0x2, 0x0, 0x50, 0xFF, 0xEC, 0x4, 0x4, 0x6, 0x0, 0x0, 0xB, 0x0, 0x1B, 0x0, 0x0, 0x25, 0x32, 0x37, 0x11, 0x26, 0x23, 0x22, 0x6, 0x15, 0x15, 0x14, 0x16, 0x5, 0x27, 0x6, 0x23, 0x22, 0x2, 0x35, 0x35, 0x34, 0x12, 0x33, 0x32, 0x17, 0x11, 0x33, 0x11, 0x2, 0x37, 0x95, 0x45, 0x44, 0x94, 0x84, 0x73, 0x72, 0x1, 0x73, 0xB, 0x6C, 0xB7, 0xC3, 0xE6, 0xE5, 0xC6, 0xAC, 0x6A, 0xF3, 0xB3, 0x86, 0x1, 0xCD, 0x82, 0xD0, 0x92, 0x15, 0x91, 0xCD, 0xB3, 0x70, 0x84, 0x1, 0x39, 0xEC, 0x15, 0xF7, 0x1, 0x31, 0x77, 0x2, 0x29, 0xFA, 0x0, 0x0, 0x2, 0x0, 0x54, 0xFF, 0xEC, 0x4, 0xC, 0x4, 0x4E, 0x0, 0x7, 0x0, 0x1C, 0x0, 0x0, 0x1, 0x22, 0x6, 0x7, 0x21, 0x35, 0x26, 0x26, 0x1, 0x6, 0x6, 0x23, 0x22, 0x0, 0x35, 0x35, 0x10, 0x0, 0x33, 0x32, 0x12, 0x15, 0x15, 0x21, 0x16, 0x16, 0x33, 0x32, 0x37, 0x2, 0x3D, 0x64, 0x7A, 0x12, 0x1, 0xCE, 0x4, 0x61, 0x1, 0x44, 0x34, 0xCB, 0xA2, 0xF1, 0xFE, 0xEC, 0x1, 0x1B, 0xCE, 0xEC, 0xE3, 0xFD, 0x3D, 0xA, 0x95, 0x80, 0xA7, 0x68, 0x3, 0x8B, 0x8C, 0x7C, 0x12, 0x5F, 0x97, 0xFD, 0x2D, 0x4C, 0x80, 0x1, 0x2C, 0xDF, 0x29, 0x1, 0x1, 0x1, 0x2D, 0xFE, 0xD4, 0xEA, 0x67, 0x7D, 0xA5, 0x86, 0x0, 0x1, 0x0, 0x2D, 0x0, 0x0, 0x2, 0xD7, 0x6, 0x15, 0x0, 0x14, 0x0, 0x0, 0x1, 0x23, 0x11, 0x23, 0x11, 0x23, 0x35, 0x33, 0x35, 0x34, 0x36, 0x33, 0x32, 0x17, 0x7, 0x26, 0x23, 0x22, 0x7, 0x15, 0x33, 0x2, 0xA1, 0xDB, 0xF4, 0xA5, 0xA5, 0xCC, 0xB0, 0x43, 0x46, 0x6, 0x2A, 0x34, 0xAB, 0x2, 0xDB, 0x3, 0x87, 0xFC, 0x79, 0x3, 0x87, 0xB3, 0x67, 0xB5, 0xBF, 0x12, 0xBE, 0x8, 0xA8, 0x6B, 0x0, 0x2, 0x0, 0x52, 0xFE, 0x56, 0x4, 0xD, 0x4, 0x4E, 0x0, 0xB, 0x0, 0x26, 0x0, 0x0, 0x25, 0x32, 0x37, 0x11, 0x26, 0x23, 0x22, 0x6, 0x15, 0x15, 0x14, 0x16, 0x13, 0x22, 0x26, 0x27, 0x37, 0x16, 0x33, 0x32, 0x36, 0x35, 0x35, 0x6, 0x23, 0x22, 0x2, 0x27, 0x35, 0x34, 0x12, 0x33, 0x32, 0x17, 0x37, 0x33, 0x11, 0x14, 0x4, 0x2, 0x40, 0x96, 0x44, 0x43, 0x95, 0x84, 0x79, 0x78, 0x65, 0x59, 0xF4, 0x48, 0x73, 0x70, 0xA4, 0x79, 0x8D, 0x6A, 0xAE, 0xC6, 0xE8, 0x2, 0xE9, 0xC9, 0xBA, 0x69, 0xA, 0xDC, 0xFE, 0xEF, 0xB3, 0x80, 0x1, 0xD9, 0x7C, 0xD0, 0x92, 0x15, 0x91, 0xCD, 0xFD, 0xA3, 0x51, 0x62, 0x91, 0x85, 0x85, 0x7F, 0x49, 0x76, 0x1, 0x35, 0xE8, 0x1D, 0xF7, 0x1, 0x31, 0x7F, 0x6B, 0xFB, 0xE4, 0xDB, 0xED, 0x0, 0x1, 0x0, 0x7A, 0x0, 0x0, 0x3, 0xF9, 0x6, 0x0, 0x0, 0x11, 0x0, 0x0, 0x1, 0x22, 0x7, 0x11, 0x23, 0x11, 0x33, 0x11, 0x36, 0x33, 0x32, 0x16, 0x17, 0x11, 0x23, 0x11, 0x34, 0x26, 0x2, 0x47, 0x93, 0x48, 0xF2, 0xF2, 0x76, 0xB7, 0x9F, 0xC0, 0x1, 0xF3, 0x62, 0x3, 0x88, 0x83, 0xFC, 0xFB, 0x6, 0x0, 0xFD, 0xC3, 0x8B, 0xB6, 0xDA, 0xFD, 0x42, 0x2, 0xBB, 0x71, 0x5C, 0x0, 0x2, 0x0, 0x7D, 0x0, 0x0, 0x1, 0x91, 0x5, 0xD5, 0x0, 0x9, 0x0, 0xD, 0x0, 0x0, 0x13, 0x34, 0x36, 0x32, 0x16, 0x15, 0x14, 0x6, 0x22, 0x26, 0x5, 0x11, 0x23, 0x11, 0x7D, 0x49, 0x82, 0x49, 0x49, 0x82, 0x49, 0x1, 0x2, 0xF3, 0x5, 0x54, 0x38, 0x49, 0x49, 0x38, 0x37, 0x4A, 0x4A, 0xE3, 0xFB, 0xC6, 0x4, 0x3A, 0x0, 0x2, 0xFF, 0xB4, 0xFE, 0x4B, 0x1, 0x86, 0x5, 0xD5, 0x0, 0x9, 0x0, 0x15, 0x0, 0x0, 0x13, 0x34, 0x36, 0x32, 0x16, 0x15, 0x14, 0x6, 0x22, 0x26, 0x17, 0x33, 0x11, 0x10, 0x21, 0x22, 0x27, 0x35, 0x16, 0x33, 0x32, 0x35, 0x72, 0x49, 0x82, 0x49, 0x49, 0x82, 0x49, 0x15, 0xF3, 0xFE, 0xBC, 0x44, 0x3E, 0x2E, 0x2A, 0x7B, 0x5, 0x54, 0x38, 0x49, 0x49, 0x38, 0x37, 0x4A, 0x4A, 0xE3, 0xFB, 0x66, 0xFE, 0xAB, 0x11, 0xBF, 0x8, 0x8D, 0x0, 0x1, 0x0, 0x7D, 0x0, 0x0, 0x4, 0x37, 0x6, 0x0, 0x0, 0xC, 0x0, 0x0, 0x21, 0x1, 0x7, 0x11, 0x23, 0x11, 0x33, 0x11, 0x37, 0x1, 0x21, 0x1, 0x1, 0x3, 0x1E, 0xFE, 0xBF, 0x6D, 0xF3, 0xF3, 0x4D, 0x1, 0x2B, 0x1, 0x24, 0xFE, 0x6D, 0x1, 0xBE, 0x1, 0xD2, 0x70, 0xFE, 0x9E, 0x6, 0x0, 0xFC, 0x8A, 0x60, 0x1, 0x50, 0xFE, 0x3E, 0xFD, 0x88, 0x0, 0x1, 0x0, 0x8C, 0x0, 0x0, 0x1, 0x7F, 0x6, 0x0, 0x0, 0x3, 0x0, 0x0, 0x1, 0x11, 0x23, 0x11, 0x1, 0x7F, 0xF3, 0x6, 0x0, 0xFA, 0x0, 0x6, 0x0, 0x0, 0x1, 0x0, 0x7D, 0x0, 0x0, 0x6, 0x7A, 0x4, 0x4E, 0x0, 0x1E, 0x0, 0x0, 0x1, 0x22, 0x7, 0x11, 0x23, 0x11, 0x33, 0x17, 0x36, 0x33, 0x32, 0x17, 0x36, 0x33, 0x32, 0x16, 0x17, 0x11, 0x23, 0x11, 0x34, 0x26, 0x23, 0x22, 0x6, 0x7, 0x11, 0x23, 0x11, 0x34, 0x26, 0x2, 0x3F, 0x93, 0x3D, 0xF2, 0xE4, 0x7, 0x73, 0xC6, 0xD7, 0x51, 0x77, 0xD6, 0xA6, 0xBD, 0x1, 0xF3, 0x69, 0x5A, 0x53, 0x69, 0x14, 0xF3, 0x68, 0x3, 0x88, 0x78, 0xFC, 0xF0, 0x4, 0x3A, 0x71, 0x85, 0xA5, 0xA5, 0xB8, 0xD4, 0xFD, 0x3E, 0x2, 0xBE, 0x78, 0x52, 0x5A, 0x48, 0xFD, 0x1A, 0x2, 0xBC, 0x72, 0x5A, 0x0, 0x1, 0x0, 0x7A, 0x0, 0x0, 0x3, 0xF9, 0x4, 0x4E, 0x0, 0x11, 0x0, 0x0, 0x1, 0x22, 0x7, 0x11, 0x23, 0x11, 0x33, 0x17, 0x36, 0x33, 0x32, 0x16, 0x17, 0x11, 0x23, 0x11, 0x34, 0x26, 0x2, 0x47, 0x91, 0x49, 0xF3, 0xE5, 0x8, 0x77, 0xC2, 0x9C, 0xBC, 0x1, 0xF3, 0x61, 0x3, 0x88, 0x84, 0xFC, 0xFC, 0x4, 0x3A, 0x7C, 0x90, 0xB3, 0xDA, 0xFD, 0x3F, 0x2, 0xBE, 0x70, 0x5A, 0x0, 0x2, 0x0, 0x50, 0xFF, 0xEC, 0x4, 0x3E, 0x4, 0x4E, 0x0, 0xD, 0x0, 0x1B, 0x0, 0x0, 0x13, 0x34, 0x0, 0x33, 0x32, 0x0, 0x15, 0x15, 0x14, 0x0, 0x23, 0x22, 0x0, 0x27, 0x37, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x50, 0x1, 0xA, 0xEC, 0xEF, 0x1, 0x9, 0xFE, 0xF7, 0xED, 0xEB, 0xFE, 0xF7, 0x4, 0xF2, 0x7D, 0x89, 0x86, 0x7D, 0x7C, 0x89, 0x87, 0x7D, 0x2, 0x27, 0xEC, 0x1, 0x3B, 0xFE, 0xC5, 0xEC, 0x15, 0xEB, 0xFE, 0xC5, 0x1, 0x33, 0xE6, 0xD, 0x91, 0xD2, 0xD2, 0x91, 0x15, 0x8F, 0xD5, 0xD5, 0x8F, 0x0, 0x2, 0x0, 0x7D, 0xFE, 0x60, 0x4, 0x31, 0x4, 0x4E, 0x0, 0xB, 0x0, 0x1B, 0x0, 0x0, 0x25, 0x32, 0x36, 0x35, 0x35, 0x34, 0x26, 0x23, 0x22, 0x7, 0x11, 0x16, 0x17, 0x22, 0x27, 0x11, 0x23, 0x11, 0x33, 0x17, 0x36, 0x33, 0x32, 0x12, 0x15, 0x15, 0x14, 0x2, 0x2, 0x48, 0x83, 0x73, 0x75, 0x83, 0x96, 0x41, 0x43, 0xDA, 0xB1, 0x6C, 0xF2, 0xDF, 0xA, 0x6D, 0xB7, 0xCE, 0xD9, 0xDA, 0xAF, 0xD3, 0x90, 0x15, 0x92, 0xCF, 0x7D, 0xFE, 0x23, 0x7F, 0xC3, 0x75, 0xFD, 0xFF, 0x5, 0xDA, 0x6D, 0x81, 0xFE, 0xD0, 0xF8, 0x14, 0xEC, 0xFE, 0xC6, 0x0, 0x2, 0x0, 0x50, 0xFE, 0x60, 0x4, 0x3, 0x4, 0x4E, 0x0, 0xF, 0x0, 0x1B, 0x0, 0x0, 0x1, 0x23, 0x11, 0x6, 0x23, 0x22, 0x2, 0x35, 0x35, 0x34, 0x12, 0x33, 0x32, 0x17, 0x37, 0x33, 0x1, 0x32, 0x37, 0x11, 0x26, 0x23, 0x22, 0x6, 0x15, 0x15, 0x14, 0x16, 0x4, 0x3, 0xF3, 0x6A, 0xAA, 0xCA, 0xE2, 0xE1, 0xCD, 0xB4, 0x6B, 0xD, 0xD9, 0xFE, 0x36, 0x92, 0x45, 0x46, 0x8F, 0x83, 0x76, 0x74, 0xFE, 0x60, 0x1, 0xFD, 0x71, 0x1, 0x3A, 0xED, 0x14, 0xF7, 0x1, 0x30, 0x7E, 0x6A, 0xFC, 0x75, 0x7C, 0x1, 0xEA, 0x76, 0xD2, 0x92, 0x15, 0x91, 0xD2, 0x0, 0x1, 0x0, 0x7D, 0x0, 0x0, 0x2, 0xB5, 0x4, 0x4E, 0x0, 0xD, 0x0, 0x0, 0x1, 0x22, 0x7, 0x11, 0x23, 0x11, 0x33, 0x17, 0x36, 0x33, 0x32, 0x17, 0x7, 0x26, 0x2, 0x51, 0xA9, 0x39, 0xF2, 0xE8, 0x6, 0x56, 0x9E, 0x31, 0x25, 0x2, 0x32, 0x3, 0x64, 0x80, 0xFD, 0x1C, 0x4, 0x3A, 0x7A, 0x8E, 0xD, 0xE5, 0x8, 0x0, 0x1, 0x0, 0x4C, 0xFF, 0xEC, 0x3, 0xCA, 0x4, 0x4E, 0x0, 0x24, 0x0, 0x0, 0x1, 0x34, 0x26, 0x27, 0x26, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x23, 0x34, 0x26, 0x23, 0x22, 0x6, 0x14, 0x16, 0x17, 0x16, 0x16, 0x15, 0x14, 0x6, 0x23, 0x22, 0x26, 0x35, 0x33, 0x16, 0x16, 0x33, 0x32, 0x36, 0x2, 0xDC, 0x55, 0x8E, 0xB0, 0xD9, 0xE0, 0xC1, 0xCB, 0xE7, 0xF3, 0x60, 0x5F, 0x5C, 0x58, 0x5F, 0x7F, 0xBC, 0xD3, 0xEE, 0xC7, 0xDF, 0xEA, 0xEC, 0x5, 0x8A, 0x50, 0x60, 0x65, 0x1, 0x26, 0x35, 0x4C, 0x1E, 0x25, 0x93, 0x89, 0x85, 0xC3, 0xC6, 0x92, 0x3F, 0x63, 0x52, 0x6C, 0x40, 0x1B, 0x28, 0x92, 0x91, 0x90, 0xB8, 0xE4, 0x86, 0x64, 0x50, 0x4A, 0x0, 0x1, 0x0, 0x8, 0xFF, 0xEC, 0x2, 0x73, 0x5, 0x41, 0x0, 0x15, 0x0, 0x0, 0x25, 0x6, 0x23, 0x22, 0x26, 0x35, 0x11, 0x23, 0x35, 0x33, 0x11, 0x33, 0x11, 0x33, 0x15, 0x23, 0x11, 0x14, 0x16, 0x33, 0x32, 0x37, 0x2, 0x73, 0x46, 0x5A, 0x79, 0x9F, 0xB3, 0xB3, 0xF2, 0xBF, 0xBF, 0x40, 0x31, 0x2A, 0x2B, 0x4, 0x18, 0x89, 0xA7, 0x2, 0x6B, 0xB3, 0x1, 0x7, 0xFE, 0xF9, 0xB3, 0xFD, 0xA3, 0x49, 0x2B, 0xA, 0x0, 0x1, 0x0, 0x77, 0xFF, 0xEC, 0x3, 0xF7, 0x4, 0x3A, 0x0, 0x11, 0x0, 0x0, 0x21, 0x27, 0x6, 0x23, 0x22, 0x26, 0x27, 0x11, 0x33, 0x11, 0x14, 0x16, 0x33, 0x32, 0x37, 0x11, 0x33, 0x11, 0x3, 0x12, 0x6, 0x6A, 0xC6, 0x9E, 0xC6, 0x1, 0xF3, 0x67, 0x45, 0xAE, 0x40, 0xF3, 0x6A, 0x7E, 0xBA, 0xD5, 0x2, 0xBF, 0xFD, 0x43, 0x75, 0x55, 0x7D, 0x3, 0xA, 0xFB, 0xC6, 0x0, 0x1, 0x0, 0x17, 0x0, 0x0, 0x3, 0xDB, 0x4, 0x3A, 0x0, 0x6, 0x0, 0x0, 0x21, 0x1, 0x33, 0x13, 0x13, 0x33, 0x1, 0x1, 0x91, 0xFE, 0x86, 0xFB, 0xEA, 0xE4, 0xFB, 0xFE, 0x89, 0x4, 0x3A, 0xFC, 0xFB, 0x3, 0x5, 0xFB, 0xC6, 0x0, 0x1, 0x0, 0x22, 0x0, 0x0, 0x5, 0xCD, 0x4, 0x3A, 0x0, 0xC, 0x0, 0x0, 0x21, 0x1, 0x33, 0x13, 0x13, 0x33, 0x13, 0x13, 0x33, 0x1, 0x23, 0x3, 0x3, 0x1, 0x4A, 0xFE, 0xD8, 0xED, 0xAF, 0xDD, 0xB8, 0xE1, 0xAC, 0xED, 0xFE, 0xD8, 0xC8, 0xE8, 0xE4, 0x4, 0x3A, 0xFD, 0x1E, 0x2, 0xE2, 0xFD, 0x14, 0x2, 0xEC, 0xFB, 0xC6, 0x2, 0xE6, 0xFD, 0x1A, 0x0, 0x1, 0x0, 0x1F, 0x0, 0x0, 0x3, 0xE9, 0x4, 0x3A, 0x0, 0xB, 0x0, 0x0, 0x1, 0x13, 0x13, 0x21, 0x1, 0x1, 0x21, 0x3, 0x3, 0x21, 0x1, 0x1, 0x1, 0x38, 0xCA, 0xCE, 0x1, 0xD, 0xFE, 0xB6, 0x1, 0x56, 0xFE, 0xF3, 0xD8, 0xD7, 0xFE, 0xF2, 0x1, 0x56, 0xFE, 0xB6, 0x4, 0x3A, 0xFE, 0x9C, 0x1, 0x64, 0xFD, 0xEC, 0xFD, 0xDA, 0x1, 0x72, 0xFE, 0x8E, 0x2, 0x26, 0x2, 0x14, 0x0, 0x1, 0x0, 0xC, 0xFE, 0x4B, 0x3, 0xD7, 0x4, 0x3A, 0x0, 0x10, 0x0, 0x0, 0x13, 0x22, 0x27, 0x35, 0x17, 0x32, 0x36, 0x37, 0x37, 0x1, 0x21, 0x13, 0x13, 0x21, 0x1, 0x2, 0x7, 0xD9, 0x31, 0x44, 0x2E, 0x5A, 0x5E, 0x1B, 0x23, 0xFE, 0x84, 0x1, 0x7, 0xE5, 0xDC, 0x1, 0x3, 0xFE, 0x54, 0x5A, 0xCB, 0xFE, 0x4B, 0x11, 0xBC, 0x3, 0x41, 0x51, 0x5E, 0x4, 0x35, 0xFD, 0x21, 0x2, 0xDF, 0xFB, 0x2B, 0xFE, 0xFD, 0x15, 0x0, 0x1, 0x0, 0x52, 0x0, 0x0, 0x3, 0xC0, 0x4, 0x3A, 0x0, 0x9, 0x0, 0x0, 0x33, 0x35, 0x1, 0x21, 0x35, 0x21, 0x15, 0x1, 0x21, 0x15, 0x52, 0x2, 0x26, 0xFD, 0xE5, 0x3, 0x4E, 0xFD, 0xD6, 0x2, 0x3F, 0x9F, 0x2, 0xD7, 0xC4, 0x99, 0xFD, 0x22, 0xC3, 0x0, 0x1, 0x0, 0x38, 0xFE, 0x98, 0x2, 0x92, 0x6, 0x3D, 0x0, 0x1A, 0x0, 0x0, 0x1, 0x26, 0x26, 0x35, 0x35, 0x34, 0x23, 0x35, 0x32, 0x35, 0x35, 0x34, 0x36, 0x37, 0x17, 0x6, 0x6, 0x15, 0x15, 0x14, 0x7, 0x16, 0x15, 0x15, 0x14, 0x16, 0x17, 0x2, 0x62, 0xCE, 0x9A, 0xC2, 0xC2, 0x9A, 0xCE, 0x30, 0x68, 0x4C, 0xAC, 0xAC, 0x4C, 0x68, 0xFE, 0x98, 0x3A, 0xFA, 0x9E, 0xC6, 0xE2, 0xB2, 0xE2, 0xC6, 0x9E, 0xF9, 0x3A, 0x8C, 0x22, 0xB1, 0x72, 0xC2, 0xE5, 0x5A, 0x5A, 0xE5, 0xC2, 0x72, 0xB1, 0x22, 0x0, 0x1, 0x0, 0xAE, 0xFE, 0xF2, 0x1, 0x56, 0x5, 0xB0, 0x0, 0x3, 0x0, 0x0, 0x1, 0x11, 0x23, 0x11, 0x1, 0x56, 0xA8, 0x5, 0xB0, 0xF9, 0x42, 0x6, 0xBE, 0x0, 0x1, 0x0, 0x1C, 0xFE, 0x98, 0x2, 0x76, 0x6, 0x3D, 0x0, 0x1A, 0x0, 0x0, 0x13, 0x27, 0x36, 0x36, 0x35, 0x35, 0x34, 0x37, 0x26, 0x35, 0x35, 0x34, 0x26, 0x27, 0x37, 0x16, 0x16, 0x15, 0x15, 0x14, 0x33, 0x15, 0x22, 0x15, 0x15, 0x14, 0x6, 0x4C, 0x30, 0x68, 0x4B, 0xB6, 0xB6, 0x4B, 0x68, 0x30, 0xCF, 0x99, 0xC2, 0xC2, 0x99, 0xFE, 0x98, 0x8D, 0x22, 0xB1, 0x72, 0xC3, 0xE8, 0x56, 0x56, 0xE8, 0xC3, 0x72, 0xB1, 0x22, 0x8C, 0x3A, 0xF9, 0x9E, 0xC6, 0xE2, 0xB2, 0xE2, 0xC6, 0x9E, 0xFA, 0x0, 0x1, 0x0, 0x76, 0x1, 0x84, 0x4, 0xDC, 0x3, 0x30, 0x0, 0x17, 0x0, 0x0, 0x1, 0x37, 0x14, 0x6, 0x23, 0x22, 0x2E, 0x2, 0x23, 0x22, 0x6, 0x15, 0x23, 0x34, 0x36, 0x33, 0x32, 0x16, 0x17, 0x16, 0x33, 0x32, 0x36, 0x4, 0x21, 0xBB, 0xBB, 0x90, 0x4E, 0x7B, 0x97, 0x44, 0x26, 0x43, 0x4D, 0xC1, 0xB9, 0x91, 0x55, 0x8C, 0x43, 0x5E, 0x48, 0x43, 0x54, 0x3, 0x12, 0x1, 0xAC, 0xE3, 0x39, 0x86, 0x22, 0x68, 0x54, 0xAF, 0xD8, 0x4A, 0x3F, 0x58, 0x6E, 0x0, 0x2, 0x0, 0x86, 0xFE, 0x93, 0x1, 0x9A, 0x4, 0x4D, 0x0, 0x9, 0x0, 0xD, 0x0, 0x0, 0x1, 0x14, 0x6, 0x22, 0x26, 0x35, 0x34, 0x36, 0x32, 0x16, 0x1, 0x13, 0x33, 0x13, 0x1, 0x9A, 0x49, 0x82, 0x49, 0x49, 0x82, 0x49, 0xFE, 0xF9, 0x17, 0xD1, 0x18, 0x3, 0xCB, 0x37, 0x4C, 0x4C, 0x37, 0x38, 0x4A, 0x4A, 0xFA, 0x90, 0x4, 0x3, 0xFB, 0xFD, 0x0, 0x1, 0x0, 0x65, 0xFF, 0xB, 0x4, 0xB, 0x5, 0x26, 0x0, 0x21, 0x0, 0x0, 0x1, 0x6, 0x6, 0x7, 0x15, 0x23, 0x35, 0x26, 0x2, 0x35, 0x35, 0x34, 0x12, 0x37, 0x35, 0x33, 0x15, 0x16, 0x16, 0x17, 0x23, 0x26, 0x26, 0x23, 0x22, 0x6, 0x15, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x37, 0x4, 0xB, 0x5, 0xC4, 0x92, 0xC8, 0xC4, 0xBF, 0xBF, 0xC4, 0xC8, 0x9C, 0xBA, 0x5, 0xE5, 0x4, 0x70, 0x64, 0x94, 0x62, 0x61, 0x96, 0x59, 0x7A, 0x4, 0x1, 0x66, 0x88, 0xCD, 0x1C, 0xEA, 0xEA, 0x23, 0x1, 0x2D, 0xC6, 0x24, 0xC5, 0x1, 0x2E, 0x23, 0xE1, 0xE0, 0x1B, 0xD7, 0x9D, 0x57, 0x7D, 0xDB, 0x81, 0x24, 0x83, 0xD9, 0x68, 0x4F, 0x0, 0x1, 0x0, 0x5F, 0x0, 0x0, 0x4, 0x7C, 0x5, 0xC4, 0x0, 0x20, 0x0, 0x0, 0x21, 0x21, 0x35, 0x33, 0x36, 0x36, 0x35, 0x27, 0x23, 0x35, 0x33, 0x27, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x23, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x17, 0x21, 0x15, 0x21, 0x17, 0x14, 0x7, 0x21, 0x4, 0x7C, 0xFB, 0xE7, 0x51, 0x32, 0x21, 0x6, 0xA2, 0x9B, 0x8, 0xFF, 0xC6, 0xD0, 0xE3, 0xF5, 0x79, 0x4F, 0x50, 0x6F, 0x9, 0x1, 0x37, 0xFE, 0xD0, 0x7, 0x41, 0x2, 0xB8, 0xCA, 0xD, 0x8A, 0x3D, 0xB9, 0xC7, 0xF1, 0xCF, 0xE6, 0xDE, 0xB5, 0x6E, 0x5A, 0x78, 0x72, 0xF1, 0xC7, 0xB1, 0x88, 0x54, 0x0, 0x2, 0x0, 0x5D, 0xFF, 0xE5, 0x5, 0x4F, 0x4, 0xF1, 0x0, 0x1B, 0x0, 0x27, 0x0, 0x0, 0x5, 0x27, 0x6, 0x23, 0x22, 0x27, 0x7, 0x27, 0x37, 0x26, 0x35, 0x34, 0x37, 0x27, 0x37, 0x17, 0x36, 0x33, 0x32, 0x17, 0x37, 0x17, 0x7, 0x16, 0x15, 0x14, 0x7, 0x17, 0x1, 0x14, 0x12, 0x33, 0x32, 0x12, 0x35, 0x34, 0x2, 0x23, 0x22, 0x2, 0x4, 0xC1, 0x83, 0x9F, 0xCB, 0xCA, 0x9F, 0x81, 0x8D, 0x88, 0x65, 0x6D, 0x90, 0x8D, 0x8E, 0x9B, 0xC1, 0xC2, 0x9B, 0x90, 0x8E, 0x93, 0x6A, 0x62, 0x8B, 0xFB, 0xEB, 0xEF, 0xAB, 0xAA, 0xEF, 0xEF, 0xAA, 0xAB, 0xEF, 0x1B, 0x87, 0x80, 0x7E, 0x84, 0x90, 0x8A, 0x9D, 0xC3, 0xCC, 0xA1, 0x93, 0x90, 0x91, 0x73, 0x75, 0x94, 0x91, 0x96, 0xA1, 0xC9, 0xC0, 0x9D, 0x8D, 0x1, 0xEA, 0xB8, 0xFE, 0xFE, 0x1, 0x2, 0xB8, 0xB9, 0x1, 0x0, 0xFF, 0x0, 0x0, 0x1, 0x0, 0xC, 0x0, 0x0, 0x4, 0x35, 0x5, 0xB0, 0x0, 0x16, 0x0, 0x0, 0x1, 0x21, 0x11, 0x23, 0x11, 0x21, 0x35, 0x21, 0x35, 0x21, 0x35, 0x33, 0x1, 0x21, 0x1, 0x1, 0x21, 0x1, 0x33, 0x15, 0x21, 0x15, 0x21, 0x3, 0xCA, 0xFE, 0xD1, 0xFC, 0xFE, 0xCC, 0x1, 0x34, 0xFE, 0xCC, 0xF7, 0xFE, 0xAA, 0x1, 0x10, 0x1, 0x6, 0x1, 0x5, 0x1, 0xE, 0xFE, 0xAA, 0xEB, 0xFE, 0xD1, 0x1, 0x2F, 0x1, 0x2D, 0xFE, 0xD3, 0x1, 0x2D, 0x97, 0x8A, 0x98, 0x2, 0xCA, 0xFD, 0xA0, 0x2, 0x60, 0xFD, 0x36, 0x98, 0x8A, 0x0, 0x2, 0x0, 0x89, 0xFE, 0xF2, 0x1, 0x6E, 0x5, 0xB0, 0x0, 0x3, 0x0, 0x7, 0x0, 0x0, 0x1, 0x11, 0x23, 0x11, 0x13, 0x23, 0x11, 0x33, 0x1, 0x6E, 0xE5, 0xE5, 0xE5, 0xE5, 0x5, 0xB0, 0xFD, 0xA, 0x2, 0xF6, 0xF9, 0x42, 0x3, 0x1B, 0x0, 0x2, 0x0, 0x5A, 0xFE, 0x25, 0x4, 0x8D, 0x5, 0xC5, 0x0, 0xC, 0x0, 0x3A, 0x0, 0x0, 0x1, 0x36, 0x35, 0x34, 0x26, 0x24, 0x27, 0x6, 0x15, 0x14, 0x16, 0x17, 0x16, 0x3, 0x22, 0x26, 0x26, 0x35, 0x37, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x27, 0x26, 0x26, 0x10, 0x37, 0x26, 0x35, 0x34, 0x24, 0x33, 0x32, 0x4, 0x15, 0x23, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x14, 0x16, 0x4, 0x17, 0x16, 0x15, 0x14, 0x7, 0x16, 0x15, 0x14, 0x4, 0x3, 0x2B, 0x71, 0x76, 0xFE, 0xA5, 0xF, 0x6B, 0x89, 0xC6, 0x51, 0x80, 0x84, 0xF6, 0x9D, 0xF3, 0xBC, 0x68, 0x7E, 0x87, 0x88, 0xB9, 0xDD, 0xFA, 0xAA, 0x86, 0x1, 0x14, 0xE6, 0xEC, 0x1, 0xF, 0xF3, 0x86, 0x82, 0x89, 0x7E, 0x77, 0x1, 0xAE, 0x77, 0x7C, 0xAA, 0x86, 0xFE, 0xED, 0x1, 0x13, 0x2F, 0x76, 0x4B, 0x5F, 0x6B, 0x6, 0x2A, 0x7B, 0x5C, 0x5C, 0x37, 0x17, 0xFC, 0xFD, 0x4E, 0xB9, 0xA2, 0x1, 0x86, 0x60, 0x61, 0x4C, 0x4F, 0x5A, 0x37, 0x3B, 0xB6, 0x1, 0x70, 0x59, 0x67, 0xB7, 0xAA, 0xCD, 0xDE, 0xCF, 0x61, 0x89, 0x69, 0x49, 0x53, 0x56, 0x77, 0x56, 0x5A, 0xB9, 0xB8, 0x58, 0x67, 0xB8, 0xB2, 0xC1, 0x0, 0x2, 0x0, 0x5E, 0x4, 0xE0, 0x3, 0x24, 0x5, 0xCD, 0x0, 0xB, 0x0, 0x17, 0x0, 0x0, 0x13, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x6, 0x23, 0x22, 0x26, 0x25, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x6, 0x23, 0x22, 0x26, 0x5E, 0x44, 0x3A, 0x3B, 0x44, 0x44, 0x3B, 0x3A, 0x44, 0x1, 0xC9, 0x44, 0x3A, 0x3B, 0x44, 0x44, 0x3B, 0x3A, 0x44, 0x5, 0x56, 0x32, 0x45, 0x45, 0x32, 0x31, 0x44, 0x44, 0x30, 0x32, 0x45, 0x45, 0x32, 0x31, 0x44, 0x44, 0x0, 0x3, 0x0, 0x57, 0xFF, 0xEB, 0x5, 0xE3, 0x5, 0xC4, 0x0, 0xD, 0x0, 0x1B, 0x0, 0x37, 0x0, 0x0, 0x13, 0x34, 0x12, 0x24, 0x20, 0x4, 0x12, 0x15, 0x14, 0x2, 0x4, 0x20, 0x24, 0x2, 0x37, 0x14, 0x12, 0x4, 0x20, 0x24, 0x12, 0x35, 0x34, 0x2, 0x24, 0x20, 0x4, 0x2, 0x1, 0x33, 0x14, 0x6, 0x23, 0x22, 0x26, 0x35, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x23, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x57, 0xC0, 0x1, 0x42, 0x1, 0x88, 0x1, 0x42, 0xC0, 0xC0, 0xFE, 0xBE, 0xFE, 0x78, 0xFE, 0xBE, 0xC0, 0x7A, 0x9F, 0x1, 0xB, 0x1, 0x44, 0x1, 0xB, 0x9E, 0x9E, 0xFE, 0xF5, 0xFE, 0xBC, 0xFE, 0xF5, 0x9F, 0x2, 0xF1, 0x9C, 0xB4, 0x9B, 0xA1, 0xBC, 0xBC, 0xA1, 0x9B, 0xB5, 0x9C, 0x5B, 0x59, 0x60, 0x62, 0x62, 0x60, 0x59, 0x5A, 0x2, 0xD9, 0xD4, 0x1, 0x52, 0xC5, 0xC5, 0xFE, 0xAE, 0xD4, 0xD3, 0xFE, 0xAC, 0xC7, 0xC7, 0x1, 0x54, 0xD3, 0xB0, 0xFE, 0xE4, 0xA5, 0xA5, 0x1, 0x1C, 0xB0, 0xB1, 0x1, 0x19, 0xA4, 0xA4, 0xFE, 0xE7, 0xFE, 0xCA, 0x9D, 0x9D, 0xD7, 0xAC, 0x77, 0xAC, 0xD7, 0x9C, 0x9D, 0x60, 0x52, 0x8D, 0x6E, 0x78, 0x70, 0x8C, 0x52, 0x0, 0x2, 0x0, 0x8E, 0x2, 0xB4, 0x3, 0x12, 0x5, 0xC5, 0x0, 0x9, 0x0, 0x23, 0x0, 0x0, 0x1, 0x32, 0x36, 0x37, 0x35, 0x23, 0x22, 0x6, 0x15, 0x14, 0x5, 0x26, 0x27, 0x6, 0x23, 0x22, 0x26, 0x35, 0x34, 0x25, 0x33, 0x35, 0x34, 0x23, 0x22, 0x15, 0x27, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x11, 0x14, 0x17, 0x1, 0xB2, 0x28, 0x54, 0x1B, 0x65, 0x57, 0x50, 0x1, 0x24, 0xB, 0x6, 0x4D, 0x7C, 0x78, 0x81, 0x1, 0x44, 0x77, 0x74, 0x8A, 0xAD, 0xAA, 0x8D, 0x83, 0xA0, 0x1A, 0x3, 0x44, 0x25, 0x19, 0x88, 0x42, 0x2C, 0x58, 0x82, 0x20, 0x24, 0x52, 0x7D, 0x67, 0xE1, 0x6, 0x33, 0x7F, 0x63, 0xE, 0x65, 0x84, 0x8B, 0x89, 0xFE, 0xC6, 0x66, 0x4F, 0xFF, 0xFF, 0x0, 0x56, 0x0, 0x8B, 0x3, 0x86, 0x3, 0xAA, 0x0, 0x26, 0x4, 0x79, 0xEA, 0x0, 0x0, 0x7, 0x4, 0x79, 0x1, 0x52, 0x0, 0x0, 0x0, 0x1, 0x0, 0x7F, 0x1, 0x76, 0x3, 0xC2, 0x3, 0x25, 0x0, 0x5, 0x0, 0x0, 0x1, 0x23, 0x11, 0x21, 0x35, 0x21, 0x3, 0xC2, 0xC8, 0xFD, 0x85, 0x3, 0x43, 0x1, 0x76, 0x1, 0x4, 0xAB, 0x0, 0x4, 0x0, 0x57, 0xFF, 0xEB, 0x5, 0xE3, 0x5, 0xC4, 0x0, 0xD, 0x0, 0x1B, 0x0, 0x24, 0x0, 0x3A, 0x0, 0x0, 0x13, 0x34, 0x12, 0x24, 0x20, 0x4, 0x12, 0x15, 0x14, 0x2, 0x4, 0x20, 0x24, 0x2, 0x37, 0x14, 0x12, 0x4, 0x20, 0x24, 0x12, 0x35, 0x34, 0x2, 0x24, 0x20, 0x4, 0x2, 0x25, 0x15, 0x33, 0x36, 0x36, 0x35, 0x34, 0x26, 0x23, 0x3, 0x11, 0x23, 0x11, 0x21, 0x32, 0x16, 0x15, 0x14, 0x7, 0x16, 0x16, 0x14, 0x16, 0x17, 0x15, 0x23, 0x26, 0x26, 0x34, 0x26, 0x23, 0x57, 0xC0, 0x1, 0x42, 0x1, 0x88, 0x1, 0x42, 0xC0, 0xC0, 0xFE, 0xBE, 0xFE, 0x78, 0xFE, 0xBE, 0xC0, 0x7A, 0x9F, 0x1, 0xB, 0x1, 0x44, 0x1, 0xB, 0x9E, 0x9E, 0xFE, 0xF5, 0xFE, 0xBC, 0xFE, 0xF5, 0x9F, 0x1, 0xBC, 0x90, 0x40, 0x61, 0x4D, 0x62, 0x82, 0x97, 0x1, 0x19, 0x95, 0xB0, 0x77, 0x40, 0x34, 0x7, 0xA, 0x9B, 0xA, 0x3, 0x48, 0x47, 0x2, 0xD9, 0xD4, 0x1, 0x52, 0xC5, 0xC5, 0xFE, 0xAE, 0xD4, 0xD3, 0xFE, 0xAC, 0xC7, 0xC7, 0x1, 0x54, 0xD3, 0xB0, 0xFE, 0xE4, 0xA5, 0xA5, 0x1, 0x1C, 0xB0, 0xB1, 0x1, 0x19, 0xA4, 0xA4, 0xFE, 0xE7, 0x7F, 0xF6, 0x1, 0x3A, 0x39, 0x49, 0x39, 0xFE, 0x84, 0xFE, 0xAF, 0x3, 0x52, 0x82, 0x81, 0x75, 0x40, 0x1D, 0x6E, 0xA3, 0x45, 0x17, 0x10, 0x1A, 0x60, 0x92, 0x45, 0x0, 0x1, 0x0, 0x9C, 0x5, 0xC, 0x3, 0x4A, 0x5, 0xAA, 0x0, 0x3, 0x0, 0x0, 0x1, 0x15, 0x21, 0x35, 0x3, 0x4A, 0xFD, 0x52, 0x5, 0xAA, 0x9E, 0x9E, 0x0, 0x2, 0x0, 0x7F, 0x3, 0xAF, 0x2, 0x8C, 0x5, 0xC5, 0x0, 0x9, 0x0, 0x13, 0x0, 0x0, 0x12, 0x36, 0x33, 0x32, 0x16, 0x14, 0x6, 0x23, 0x22, 0x26, 0x37, 0x14, 0x16, 0x32, 0x36, 0x35, 0x34, 0x26, 0x22, 0x6, 0x7F, 0x9C, 0x6D, 0x6B, 0x99, 0x99, 0x6B, 0x6D, 0x9C, 0x8B, 0x4B, 0x66, 0x46, 0x46, 0x66, 0x4B, 0x5, 0x26, 0x9F, 0x9F, 0xDC, 0x9B, 0x9B, 0x6E, 0x35, 0x47, 0x47, 0x35, 0x37, 0x49, 0x49, 0x0, 0x2, 0x0, 0x5F, 0x0, 0x1, 0x3, 0xF3, 0x4, 0xFC, 0x0, 0xB, 0x0, 0xF, 0x0, 0x0, 0x1, 0x21, 0x11, 0x23, 0x11, 0x21, 0x35, 0x21, 0x11, 0x33, 0x11, 0x21, 0x3, 0x15, 0x21, 0x35, 0x3, 0xF3, 0xFE, 0xA9, 0xD7, 0xFE, 0x9A, 0x1, 0x66, 0xD7, 0x1, 0x57, 0x25, 0xFC, 0xB0, 0x2, 0xBC, 0xFE, 0x7C, 0x1, 0x84, 0xC7, 0x1, 0x79, 0xFE, 0x87, 0xFD, 0x42, 0xC4, 0xC4, 0x0, 0x1, 0x0, 0x3C, 0x2, 0x9B, 0x2, 0xB2, 0x5, 0xBB, 0x0, 0x15, 0x0, 0x0, 0x1, 0x15, 0x21, 0x35, 0x1, 0x36, 0x35, 0x34, 0x23, 0x22, 0x6, 0x15, 0x23, 0x34, 0x36, 0x20, 0x16, 0x15, 0x14, 0x6, 0x7, 0x7, 0x2, 0xB2, 0xFD, 0x9C, 0x1, 0x2C, 0x63, 0x6A, 0x40, 0x3C, 0xBB, 0xA2, 0x1, 0x1C, 0x9E, 0x67, 0x61, 0x91, 0x3, 0x30, 0x95, 0x7E, 0x1, 0x13, 0x5C, 0x3F, 0x5F, 0x45, 0x32, 0x6E, 0x9E, 0x81, 0x72, 0x52, 0x80, 0x51, 0x75, 0x0, 0x1, 0x0, 0x37, 0x2, 0x90, 0x2, 0xA9, 0x5, 0xBB, 0x0, 0x24, 0x0, 0x0, 0x1, 0x22, 0x26, 0x35, 0x33, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x27, 0x23, 0x35, 0x33, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x23, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x7, 0x16, 0x15, 0x14, 0x6, 0x1, 0x69, 0x70, 0xC2, 0xBB, 0x45, 0x3B, 0x3F, 0x3E, 0x86, 0x5C, 0x5C, 0x78, 0x36, 0x3E, 0x2F, 0x41, 0xBA, 0xAD, 0x79, 0x89, 0xAA, 0x87, 0x94, 0xB7, 0x2, 0x90, 0x70, 0x80, 0x25, 0x36, 0x38, 0x2A, 0x64, 0x2, 0x80, 0x2, 0x5F, 0x23, 0x35, 0x27, 0x23, 0x6B, 0x74, 0x73, 0x6E, 0x77, 0x33, 0x29, 0x8F, 0x6F, 0x79, 0x0, 0x1, 0x0, 0x71, 0x4, 0xD2, 0x2, 0x49, 0x6, 0x0, 0x0, 0x3, 0x0, 0x0, 0x13, 0x13, 0x21, 0x1, 0x71, 0xC3, 0x1, 0x15, 0xFE, 0xEB, 0x4, 0xD2, 0x1, 0x2E, 0xFE, 0xD2, 0x0, 0x1, 0x0, 0x93, 0xFE, 0x60, 0x4, 0x1F, 0x4, 0x3A, 0x0, 0x12, 0x0, 0x0, 0x5, 0x22, 0x27, 0x11, 0x23, 0x11, 0x33, 0x11, 0x16, 0x16, 0x33, 0x32, 0x37, 0x11, 0x33, 0x11, 0x23, 0x27, 0x6, 0x2, 0x4A, 0x79, 0x4C, 0xF2, 0xF2, 0x1, 0x6F, 0x54, 0xA8, 0x3C, 0xF2, 0xDE, 0x7, 0x5A, 0x15, 0x38, 0xFE, 0x3D, 0x5, 0xDA, 0xFD, 0x8D, 0xAE, 0x6A, 0x7A, 0x3, 0x11, 0xFB, 0xC6, 0x57, 0x6C, 0x0, 0x1, 0x0, 0x46, 0x0, 0x0, 0x3, 0x56, 0x5, 0xB0, 0x0, 0x9, 0x0, 0x0, 0x21, 0x23, 0x11, 0x23, 0x26, 0x2, 0x10, 0x12, 0x33, 0x21, 0x3, 0x56, 0xD1, 0x5A, 0xEA, 0xFB, 0xFE, 0xEE, 0x1, 0x24, 0x2, 0x8, 0x2, 0x1, 0x9, 0x1, 0x92, 0x1, 0xB, 0x0, 0x1, 0x0, 0x8E, 0x2, 0x46, 0x1, 0xAA, 0x3, 0x52, 0x0, 0x9, 0x0, 0x0, 0x13, 0x34, 0x36, 0x32, 0x16, 0x15, 0x14, 0x6, 0x22, 0x26, 0x8E, 0x4B, 0x86, 0x4B, 0x4B, 0x86, 0x4B, 0x2, 0xCB, 0x39, 0x4E, 0x4E, 0x39, 0x38, 0x4D, 0x4D, 0x0, 0x1, 0x0, 0x6E, 0xFE, 0x40, 0x1, 0xC9, 0x0, 0x4, 0x0, 0xE, 0x0, 0x0, 0x37, 0x33, 0x7, 0x16, 0x16, 0x15, 0x14, 0x6, 0x23, 0x27, 0x32, 0x35, 0x34, 0x26, 0x27, 0x8D, 0xB2, 0xC, 0x38, 0x5E, 0xA5, 0xA1, 0x7, 0x88, 0x46, 0x50, 0x4, 0x37, 0xA, 0x4D, 0x56, 0x65, 0x7B, 0x8A, 0x59, 0x2D, 0x22, 0x6, 0x0, 0x1, 0x0, 0x81, 0x2, 0x9B, 0x2, 0x3, 0x5, 0xAF, 0x0, 0x6, 0x0, 0x0, 0x1, 0x11, 0x23, 0x11, 0x7, 0x35, 0x25, 0x2, 0x3, 0xBA, 0xC8, 0x1, 0x6F, 0x5, 0xAF, 0xFC, 0xEC, 0x2, 0x3B, 0x31, 0x93, 0x77, 0x0, 0x2, 0x0, 0x77, 0x2, 0xB3, 0x3, 0x2C, 0x5, 0xC5, 0x0, 0xC, 0x0, 0x1A, 0x0, 0x0, 0x13, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x15, 0x14, 0x6, 0x20, 0x26, 0x35, 0x33, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x77, 0xBB, 0x9F, 0xA1, 0xBA, 0xB9, 0xFE, 0xC0, 0xBC, 0xAF, 0x55, 0x58, 0x56, 0x54, 0x55, 0x57, 0x56, 0x55, 0x4, 0x62, 0x9B, 0xC8, 0xC8, 0x9B, 0x4D, 0x9B, 0xC7, 0xC7, 0x9B, 0x59, 0x77, 0x77, 0x59, 0x4D, 0x58, 0x77, 0x77, 0x58, 0xFF, 0xFF, 0x0, 0x5E, 0x0, 0x8A, 0x3, 0x9A, 0x3, 0xA9, 0x0, 0x26, 0x4, 0x7A, 0x9, 0x0, 0x0, 0x7, 0x4, 0x7A, 0x1, 0x7E, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x59, 0x0, 0x0, 0x5, 0x84, 0x5, 0xAC, 0x0, 0x27, 0x7, 0x42, 0xFF, 0xD8, 0x2, 0x98, 0x0, 0x27, 0x4, 0x83, 0x1, 0x1B, 0x0, 0x8, 0x0, 0x7, 0x7, 0x9E, 0x2, 0xC5, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x50, 0x0, 0x0, 0x5, 0xCC, 0x5, 0xAF, 0x0, 0x27, 0x4, 0x83, 0x0, 0xF0, 0x0, 0x8, 0x0, 0x27, 0x7, 0x42, 0xFF, 0xCF, 0x2, 0x9B, 0x0, 0x7, 0x7, 0x41, 0x3, 0x1A, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x67, 0x0, 0x0, 0x5, 0xFD, 0x5, 0xBB, 0x0, 0x27, 0x4, 0x83, 0x1, 0xA8, 0x0, 0x8, 0x0, 0x27, 0x7, 0x9E, 0x3, 0x3E, 0x0, 0x0, 0x0, 0x7, 0x7, 0x9D, 0x0, 0x30, 0x2, 0x9B, 0x0, 0x2, 0x0, 0x43, 0xFE, 0x7E, 0x3, 0xA5, 0x4, 0x4E, 0x0, 0x9, 0x0, 0x21, 0x0, 0x0, 0x1, 0x14, 0x6, 0x22, 0x26, 0x35, 0x34, 0x36, 0x32, 0x16, 0x3, 0x33, 0xE, 0x3, 0x15, 0x14, 0x33, 0x32, 0x36, 0x37, 0x33, 0x6, 0x6, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x37, 0x36, 0x36, 0x2, 0x8B, 0x49, 0x82, 0x49, 0x49, 0x82, 0x49, 0xF8, 0xE3, 0x1, 0x40, 0xD4, 0x2B, 0xBA, 0x4B, 0x76, 0x1, 0xF3, 0x2, 0xF9, 0xB7, 0xCD, 0xE3, 0x5C, 0x9E, 0x33, 0x22, 0x3, 0xCC, 0x37, 0x4C, 0x4C, 0x37, 0x38, 0x4A, 0x4A, 0xFE, 0x92, 0x87, 0x96, 0xDA, 0x5C, 0x3E, 0xBD, 0x58, 0x60, 0xBC, 0xC6, 0xC9, 0xBA, 0x66, 0xA5, 0x9C, 0x32, 0x72, 0x0, 0x2, 0xFF, 0xF6, 0x0, 0x0, 0x7, 0x57, 0x5, 0xB0, 0x0, 0x2, 0x0, 0x12, 0x0, 0x0, 0x1, 0x3, 0x1, 0x1, 0x3, 0x21, 0x3, 0x21, 0x1, 0x21, 0x15, 0x21, 0x13, 0x21, 0x15, 0x21, 0x13, 0x21, 0x15, 0x3, 0xBF, 0x1B, 0xFE, 0xA0, 0x1, 0x92, 0xE, 0xFE, 0x8, 0xB8, 0xFE, 0xDE, 0x3, 0x43, 0x3, 0xE1, 0xFD, 0x79, 0x11, 0x2, 0x25, 0xFD, 0xE4, 0x13, 0x2, 0x97, 0x2, 0x2B, 0x2, 0x8A, 0xFD, 0x76, 0xFD, 0xD5, 0x1, 0x55, 0xFE, 0xAB, 0x5, 0xB0, 0xC4, 0xFE, 0x67, 0xC4, 0xFE, 0x35, 0xC4, 0x0, 0x1, 0x0, 0x4D, 0x0, 0xD7, 0x3, 0xEC, 0x4, 0x86, 0x0, 0xB, 0x0, 0x0, 0x25, 0x1, 0x1, 0x27, 0x1, 0x1, 0x37, 0x1, 0x1, 0x17, 0x1, 0x1, 0x3, 0x58, 0xFE, 0xC5, 0xFE, 0xC4, 0x94, 0x1, 0x3C, 0xFE, 0xC4, 0x94, 0x1, 0x3C, 0x1, 0x3B, 0x94, 0xFE, 0xC4, 0x1, 0x3C, 0xD7, 0x1, 0x42, 0xFE, 0xBE, 0x95, 0x1, 0x43, 0x1, 0x42, 0x95, 0xFE, 0xBE, 0x1, 0x42, 0x95, 0xFE, 0xBE, 0xFE, 0xBD, 0x0, 0x3, 0x0, 0x6A, 0xFF, 0xA1, 0x5, 0x22, 0x5, 0xEE, 0x0, 0x8, 0x0, 0x11, 0x0, 0x28, 0x0, 0x0, 0x1, 0x14, 0x17, 0x1, 0x26, 0x23, 0x22, 0x2, 0x15, 0x1, 0x32, 0x12, 0x35, 0x35, 0x34, 0x27, 0x1, 0x16, 0x17, 0x22, 0x27, 0x7, 0x23, 0x37, 0x26, 0x2, 0x35, 0x35, 0x10, 0x0, 0x21, 0x32, 0x17, 0x37, 0x33, 0x7, 0x16, 0x11, 0x15, 0x10, 0x0, 0x1, 0x67, 0x47, 0x1, 0xF6, 0x56, 0x88, 0xA3, 0xBC, 0x1, 0x61, 0xA7, 0xB6, 0x2C, 0xFE, 0x18, 0x4D, 0x6A, 0xA6, 0x83, 0x5B, 0xA8, 0x90, 0x5B, 0x67, 0x1, 0x51, 0x1, 0xB, 0xC3, 0x90, 0x57, 0xA7, 0x93, 0x9E, 0xFE, 0xB5, 0x2, 0xB3, 0xCF, 0x80, 0x3, 0x3A, 0x55, 0xFF, 0x0, 0xF5, 0xFD, 0xBE, 0x1, 0x2, 0xF5, 0x4B, 0xA6, 0x73, 0xFC, 0xDB, 0x36, 0xD0, 0x4B, 0x96, 0xEE, 0x5C, 0x1, 0x15, 0xB3, 0x49, 0x1, 0x4C, 0x1, 0x7C, 0x65, 0x8F, 0xF2, 0xC0, 0xFE, 0xC0, 0x49, 0xFE, 0xB4, 0xFE, 0x85, 0x0, 0x2, 0x0, 0x95, 0x0, 0x0, 0x4, 0x7F, 0x5, 0xB0, 0x0, 0x8, 0x0, 0x15, 0x0, 0x0, 0x1, 0x11, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x3, 0x11, 0x23, 0x11, 0x33, 0x11, 0x33, 0x16, 0x4, 0x15, 0x14, 0x4, 0x23, 0x1, 0x88, 0xF5, 0x91, 0x7E, 0x7E, 0x91, 0xF5, 0xF3, 0xF3, 0xFD, 0xF5, 0x1, 0x5, 0xFE, 0xF7, 0xF9, 0x3, 0xD6, 0xFE, 0x19, 0x95, 0x5C, 0x5F, 0x97, 0xFD, 0x56, 0xFE, 0xD4, 0x5, 0xB0, 0xFE, 0xE9, 0x2, 0xF8, 0xBD, 0xBE, 0xF8, 0x0, 0x1, 0x0, 0x88, 0xFF, 0xEC, 0x4, 0x9C, 0x6, 0x16, 0x0, 0x2C, 0x0, 0x0, 0x21, 0x23, 0x11, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x6, 0x6, 0x15, 0x14, 0x1E, 0x2, 0x15, 0x14, 0x6, 0x23, 0x22, 0x26, 0x27, 0x37, 0x16, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x2E, 0x2, 0x35, 0x34, 0x36, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x7, 0x1, 0x7A, 0xF2, 0xEF, 0xC5, 0xAB, 0xE7, 0x3B, 0x3C, 0x62, 0x82, 0x61, 0xDF, 0xC0, 0x50, 0xAA, 0x27, 0x31, 0x20, 0x7C, 0x46, 0x62, 0x58, 0x62, 0x80, 0x62, 0x3F, 0x3F, 0x61, 0x4B, 0xB9, 0x4, 0x4, 0x52, 0xE0, 0xE4, 0xAF, 0xB5, 0x66, 0x71, 0x5A, 0x48, 0x3C, 0x61, 0x68, 0x85, 0x5F, 0xAF, 0xB5, 0x26, 0x1A, 0xC3, 0x13, 0x2D, 0x56, 0x43, 0x42, 0x61, 0x62, 0x83, 0x64, 0x53, 0x6A, 0x65, 0x4C, 0x56, 0x5B, 0xF9, 0x0, 0x3, 0x0, 0x48, 0xFF, 0xEB, 0x6, 0x85, 0x4, 0x4F, 0x0, 0x7, 0x0, 0x12, 0x0, 0x3C, 0x0, 0x0, 0x1, 0x22, 0x6, 0x7, 0x21, 0x35, 0x34, 0x26, 0x1, 0x32, 0x36, 0x37, 0x35, 0x23, 0x22, 0x6, 0x15, 0x14, 0x16, 0x5, 0x6, 0x6, 0x23, 0x22, 0x27, 0x6, 0x6, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x33, 0x33, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x27, 0x34, 0x36, 0x33, 0x32, 0x17, 0x36, 0x17, 0x32, 0x12, 0x15, 0x15, 0x21, 0x16, 0x16, 0x33, 0x32, 0x36, 0x37, 0x4, 0xC3, 0x6B, 0x78, 0xF, 0x1, 0xC3, 0x60, 0xFC, 0xBC, 0x3F, 0x84, 0x2B, 0xBC, 0x72, 0x75, 0x58, 0x4, 0xDB, 0x28, 0xC7, 0x98, 0xFC, 0x8D, 0x35, 0xCD, 0x9C, 0xB6, 0xC2, 0xF0, 0xE8, 0xBE, 0x5E, 0x58, 0x5F, 0x70, 0xF2, 0xF8, 0xCA, 0xE2, 0x6D, 0x82, 0xC9, 0xD8, 0xEA, 0xFD, 0x48, 0x9, 0x8D, 0x92, 0x71, 0x8B, 0x35, 0x3, 0x8B, 0x95, 0x73, 0x1D, 0x63, 0x88, 0xFD, 0x1A, 0x3D, 0x28, 0xD2, 0x66, 0x42, 0x3D, 0x52, 0x41, 0x1F, 0x5A, 0xA2, 0x3E, 0x64, 0xB6, 0x97, 0x9E, 0xAD, 0x46, 0x5A, 0x68, 0x5C, 0x3F, 0x13, 0x90, 0xBB, 0x84, 0x85, 0x1, 0xFE, 0xF8, 0xE2, 0x8D, 0x7E, 0xAB, 0x3D, 0x1F, 0x0, 0x2, 0x0, 0x68, 0xFF, 0xEC, 0x4, 0x41, 0x6, 0x2C, 0x0, 0x1B, 0x0, 0x29, 0x0, 0x0, 0x5, 0x22, 0x0, 0x35, 0x34, 0x12, 0x33, 0x32, 0x17, 0x26, 0x27, 0x7, 0x27, 0x37, 0x26, 0x27, 0x37, 0x16, 0x17, 0x37, 0x17, 0x7, 0x16, 0x12, 0x15, 0x15, 0x10, 0x0, 0x27, 0x32, 0x36, 0x35, 0x35, 0x27, 0x26, 0x26, 0x23, 0x22, 0x6, 0x15, 0x14, 0x16, 0x2, 0x51, 0xD9, 0xFE, 0xF0, 0xF9, 0xCA, 0x93, 0x70, 0x34, 0x7B, 0xCD, 0x4E, 0xAD, 0x7D, 0xA4, 0x4B, 0xEE, 0xB2, 0xB4, 0x4D, 0x99, 0x77, 0x87, 0xFE, 0xE7, 0xD3, 0x77, 0x82, 0x1, 0x1B, 0x75, 0x5A, 0x7F, 0x8A, 0x83, 0x14, 0x1, 0x1C, 0xCC, 0xE4, 0x1, 0x15, 0x5A, 0xAC, 0x77, 0x88, 0x6D, 0x73, 0x52, 0x29, 0xC3, 0x31, 0x87, 0x77, 0x6D, 0x66, 0x7B, 0xFE, 0xB0, 0xCB, 0x57, 0xFF, 0x0, 0xFE, 0xC1, 0xC3, 0xD1, 0x9D, 0x67, 0x24, 0x2A, 0x3F, 0xAA, 0x93, 0x70, 0xB5, 0x0, 0x3, 0x0, 0x44, 0x0, 0x93, 0x4, 0x38, 0x4, 0xCD, 0x0, 0x9, 0x0, 0xD, 0x0, 0x17, 0x0, 0x0, 0x1, 0x34, 0x36, 0x32, 0x16, 0x15, 0x14, 0x6, 0x22, 0x26, 0x5, 0x15, 0x21, 0x35, 0x1, 0x34, 0x36, 0x32, 0x16, 0x15, 0x14, 0x6, 0x22, 0x26, 0x1, 0xB3, 0x4B, 0x86, 0x4B, 0x4B, 0x86, 0x4B, 0x2, 0x85, 0xFC, 0xC, 0x1, 0x6F, 0x4B, 0x86, 0x4B, 0x4B, 0x86, 0x4B, 0x4, 0x47, 0x3A, 0x4C, 0x4C, 0x3A, 0x38, 0x4B, 0x4B, 0xF4, 0xD4, 0xD4, 0xFD, 0xFC, 0x39, 0x4C, 0x4C, 0x39, 0x38, 0x4C, 0x4C, 0x0, 0x3, 0x0, 0x50, 0xFF, 0x76, 0x4, 0x3E, 0x4, 0xBC, 0x0, 0x8, 0x0, 0x11, 0x0, 0x27, 0x0, 0x0, 0x1, 0x14, 0x17, 0x1, 0x26, 0x23, 0x22, 0x6, 0x15, 0x1, 0x32, 0x36, 0x35, 0x35, 0x34, 0x27, 0x1, 0x16, 0x17, 0x22, 0x27, 0x7, 0x23, 0x37, 0x26, 0x3, 0x35, 0x34, 0x0, 0x33, 0x32, 0x17, 0x37, 0x33, 0x7, 0x16, 0x13, 0x15, 0x14, 0x0, 0x1, 0x42, 0x41, 0x1, 0x2B, 0x2E, 0x3A, 0x87, 0x7D, 0x1, 0x6, 0x86, 0x7D, 0x3A, 0xFE, 0xD9, 0x2B, 0x33, 0x63, 0x54, 0x49, 0x90, 0x66, 0xCB, 0x3, 0x1, 0xA, 0xEC, 0x69, 0x59, 0x47, 0x90, 0x66, 0xC1, 0x4, 0xFE, 0xF7, 0x2, 0x12, 0xA0, 0x5E, 0x2, 0x61, 0x16, 0xD5, 0x8F, 0xFE, 0x88, 0xD2, 0x91, 0x15, 0x94, 0x5E, 0xFD, 0xA7, 0x11, 0xC3, 0x1E, 0x94, 0xD0, 0x94, 0x1, 0x2F, 0x1E, 0xEC, 0x1, 0x3B, 0x22, 0x90, 0xCF, 0x95, 0xFE, 0xDB, 0x21, 0xEB, 0xFE, 0xC5, 0x0, 0x2, 0x0, 0x83, 0xFE, 0x60, 0x4, 0x37, 0x6, 0x0, 0x0, 0xB, 0x0, 0x1B, 0x0, 0x0, 0x25, 0x32, 0x36, 0x35, 0x35, 0x34, 0x26, 0x23, 0x22, 0x7, 0x11, 0x16, 0x17, 0x22, 0x27, 0x11, 0x23, 0x11, 0x33, 0x11, 0x36, 0x33, 0x32, 0x12, 0x15, 0x15, 0x14, 0x2, 0x2, 0x4E, 0x83, 0x73, 0x75, 0x83, 0x95, 0x41, 0x43, 0xD9, 0xB0, 0x6C, 0xF3, 0xF3, 0x6B, 0xAF, 0xCE, 0xD9, 0xDA, 0xAF, 0xD3, 0x90, 0x15, 0x92, 0xCF, 0x7B, 0xFE, 0x1F, 0x7D, 0xC3, 0x74, 0xFE, 0x0, 0x7, 0xA0, 0xFD, 0xD8, 0x76, 0xFE, 0xD0, 0xF8, 0x14, 0xEC, 0xFE, 0xC6, 0x0, 0x2, 0x0, 0x50, 0xFF, 0xEC, 0x4, 0xB3, 0x6, 0x0, 0x0, 0xB, 0x0, 0x23, 0x0, 0x0, 0x25, 0x32, 0x37, 0x11, 0x26, 0x23, 0x22, 0x6, 0x15, 0x15, 0x14, 0x16, 0x5, 0x27, 0x6, 0x23, 0x22, 0x2, 0x35, 0x35, 0x34, 0x12, 0x33, 0x32, 0x17, 0x35, 0x23, 0x35, 0x33, 0x35, 0x33, 0x15, 0x33, 0x15, 0x23, 0x11, 0x2, 0x37, 0x95, 0x45, 0x44, 0x94, 0x84, 0x73, 0x72, 0x1, 0x73, 0xB, 0x6C, 0xB7, 0xC3, 0xE6, 0xE5, 0xC6, 0xAC, 0x6A, 0xFC, 0xFC, 0xF3, 0xAF, 0xAF, 0xB3, 0x86, 0x1, 0xCD, 0x82, 0xD0, 0x92, 0x15, 0x91, 0xCD, 0xB3, 0x70, 0x84, 0x1, 0x39, 0xEC, 0x15, 0xF7, 0x1, 0x31, 0x77, 0xF1, 0xAB, 0x8D, 0x8D, 0xAB, 0xFB, 0x38, 0x0, 0x2, 0x0, 0x20, 0x0, 0x0, 0x5, 0x9E, 0x5, 0xB0, 0x0, 0x3, 0x0, 0x17, 0x0, 0x0, 0x1, 0x35, 0x21, 0x15, 0x1, 0x11, 0x21, 0x11, 0x23, 0x11, 0x23, 0x35, 0x33, 0x11, 0x33, 0x11, 0x21, 0x11, 0x33, 0x11, 0x33, 0x15, 0x23, 0x11, 0x4, 0x23, 0xFD, 0x75, 0x2, 0x8B, 0xFD, 0x75, 0xFD, 0x7B, 0x7B, 0xFD, 0x2, 0x8B, 0xFC, 0x7F, 0x7F, 0x3, 0x52, 0xBB, 0xBB, 0xFC, 0xAE, 0x2, 0x88, 0xFD, 0x78, 0x4, 0xD, 0xA1, 0x1, 0x2, 0xFE, 0xFE, 0x1, 0x2, 0xFE, 0xFE, 0xA1, 0xFB, 0xF3, 0x0, 0x1, 0x0, 0x90, 0x0, 0x0, 0x1, 0x83, 0x4, 0x3A, 0x0, 0x3, 0x0, 0x0, 0x1, 0x11, 0x23, 0x11, 0x1, 0x83, 0xF3, 0x4, 0x3A, 0xFB, 0xC6, 0x4, 0x3A, 0x0, 0x1, 0x0, 0x8E, 0x0, 0x0, 0x4, 0x6B, 0x4, 0x3A, 0x0, 0xC, 0x0, 0x0, 0x21, 0x1, 0x23, 0x11, 0x23, 0x11, 0x33, 0x11, 0x33, 0x1, 0x21, 0x1, 0x1, 0x3, 0x36, 0xFE, 0xB8, 0x6D, 0xF3, 0xF3, 0x54, 0x1, 0x50, 0x1, 0x2D, 0xFE, 0x61, 0x1, 0xB8, 0x1, 0xAD, 0xFE, 0x53, 0x4, 0x3A, 0xFE, 0x51, 0x1, 0xAF, 0xFD, 0xF4, 0xFD, 0xD2, 0x0, 0x1, 0x0, 0x22, 0x0, 0x0, 0x4, 0x36, 0x5, 0xB0, 0x0, 0xD, 0x0, 0x0, 0x33, 0x11, 0x7, 0x35, 0x37, 0x11, 0x33, 0x11, 0x37, 0x15, 0x7, 0x11, 0x21, 0x15, 0xA5, 0x83, 0x83, 0xFC, 0xEB, 0xEB, 0x2, 0x95, 0x2, 0x89, 0x28, 0x93, 0x28, 0x2, 0x94, 0xFD, 0xB8, 0x47, 0x93, 0x47, 0xFD, 0xF5, 0xCA, 0x0, 0x1, 0x0, 0x22, 0x0, 0x0, 0x2, 0x2F, 0x6, 0x0, 0x0, 0xB, 0x0, 0x0, 0x21, 0x23, 0x11, 0x7, 0x35, 0x37, 0x11, 0x33, 0x11, 0x37, 0x15, 0x7, 0x1, 0x9B, 0xF3, 0x86, 0x86, 0xF3, 0x94, 0x94, 0x2, 0x92, 0x30, 0x92, 0x30, 0x2, 0xDC, 0xFD, 0x7A, 0x35, 0x92, 0x35, 0x0, 0x1, 0x0, 0x90, 0xFE, 0x4B, 0x5, 0x9, 0x5, 0xB0, 0x0, 0x13, 0x0, 0x0, 0x1, 0x22, 0x27, 0x37, 0x16, 0x33, 0x32, 0x37, 0x35, 0x1, 0x11, 0x23, 0x11, 0x33, 0x1, 0x11, 0x33, 0x11, 0x14, 0x6, 0x3, 0xA2, 0x46, 0x3C, 0xE, 0x2A, 0x39, 0x78, 0x3, 0xFD, 0x80, 0xFC, 0xFC, 0x2, 0x80, 0xFD, 0xBF, 0xFE, 0x4B, 0x11, 0xC7, 0xD, 0xA9, 0x41, 0x4, 0x17, 0xFB, 0xE9, 0x5, 0xB0, 0xFB, 0xEC, 0x4, 0x14, 0xFA, 0x17, 0xB9, 0xC3, 0x0, 0x1, 0x0, 0x7F, 0xFE, 0x4B, 0x4, 0x6, 0x4, 0x4E, 0x0, 0x1A, 0x0, 0x0, 0x1, 0x22, 0x27, 0x37, 0x16, 0x33, 0x32, 0x37, 0x11, 0x34, 0x26, 0x23, 0x22, 0x7, 0x11, 0x23, 0x11, 0x33, 0x17, 0x36, 0x33, 0x32, 0x16, 0x17, 0x11, 0x14, 0x6, 0x2, 0xA6, 0x45, 0x3A, 0xE, 0x26, 0x3D, 0x7A, 0x1, 0x65, 0x60, 0x93, 0x4A, 0xF2, 0xDE, 0xD, 0x71, 0xC6, 0xA1, 0xC3, 0x1, 0xBB, 0xFE, 0x4B, 0x11, 0xC5, 0xC, 0xA9, 0x2, 0xE2, 0x83, 0x65, 0x68, 0xFC, 0xE0, 0x4, 0x3A, 0x96, 0xAA, 0xC4, 0xE3, 0xFD, 0x1A, 0xB6, 0xC0, 0x0, 0x2, 0x0, 0x65, 0xFF, 0xEB, 0x7, 0x2D, 0x5, 0xC5, 0x0, 0xB, 0x0, 0x21, 0x0, 0x0, 0x25, 0x32, 0x37, 0x11, 0x26, 0x23, 0x22, 0x6, 0x15, 0x11, 0x14, 0x16, 0x5, 0x6, 0x23, 0x20, 0x0, 0x11, 0x11, 0x10, 0x0, 0x21, 0x32, 0x17, 0x21, 0x15, 0x21, 0x11, 0x21, 0x15, 0x21, 0x11, 0x21, 0x15, 0x2, 0xAB, 0x5B, 0x70, 0x70, 0x5D, 0x9C, 0xB6, 0xB8, 0x1, 0xBC, 0xB0, 0x70, 0xFE, 0xFD, 0xFE, 0xBD, 0x1, 0x41, 0x1, 0x3, 0x72, 0xB0, 0x3, 0x5C, 0xFD, 0x4B, 0x2, 0x56, 0xFD, 0xAA, 0x2, 0xBB, 0xAE, 0xE, 0x4, 0x38, 0xE, 0xC9, 0xC7, 0xFE, 0xCE, 0xC7, 0xCB, 0xAE, 0x15, 0x1, 0x4C, 0x1, 0x9, 0x1, 0x30, 0x1, 0x9, 0x1, 0x4C, 0x15, 0xCB, 0xFE, 0x6D, 0xC7, 0xFE, 0x3F, 0xCA, 0x0, 0x3, 0x0, 0x5B, 0xFF, 0xEB, 0x6, 0xF3, 0x4, 0x4F, 0x0, 0xD, 0x0, 0x15, 0x0, 0x37, 0x0, 0x0, 0x1, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x1, 0x22, 0x6, 0x7, 0x21, 0x35, 0x34, 0x26, 0x1, 0x6, 0x6, 0x23, 0x22, 0x26, 0x27, 0x6, 0x6, 0x23, 0x22, 0x0, 0x27, 0x35, 0x34, 0x0, 0x33, 0x32, 0x16, 0x17, 0x36, 0x36, 0x17, 0x32, 0x12, 0x15, 0x15, 0x21, 0x16, 0x16, 0x33, 0x32, 0x36, 0x37, 0x1, 0x4E, 0x76, 0x88, 0x87, 0x76, 0x76, 0x89, 0x87, 0x75, 0x3, 0xE1, 0x5C, 0x74, 0x11, 0x1, 0xB4, 0x63, 0x1, 0x39, 0x35, 0xC6, 0x91, 0x7E, 0xC4, 0x42, 0x3F, 0xC0, 0x7D, 0xEB, 0xFE, 0xFD, 0x3, 0x1, 0x4, 0xEB, 0x7E, 0xC2, 0x3F, 0x40, 0xB9, 0x6D, 0xE2, 0xE2, 0xFD, 0x56, 0xA, 0x87, 0x80, 0x6B, 0x8D, 0x37, 0x2, 0x12, 0x91, 0xD3, 0xD3, 0x91, 0x15, 0x8F, 0xD5, 0xD5, 0x8F, 0x1, 0x64, 0x93, 0x6F, 0x1A, 0x5F, 0x89, 0xFC, 0xE1, 0x2E, 0x53, 0x5D, 0x52, 0x52, 0x5D, 0x1, 0x36, 0xE7, 0x1F, 0xEC, 0x1, 0x3B, 0x5E, 0x52, 0x53, 0x5E, 0x1, 0xFE, 0xF2, 0xD9, 0x90, 0x7C, 0xAD, 0x37, 0x26, 0x0, 0x1, 0x0, 0x8B, 0x0, 0x0, 0x2, 0x96, 0x6, 0x15, 0x0, 0xC, 0x0, 0x0, 0x21, 0x23, 0x11, 0x34, 0x36, 0x33, 0x32, 0x17, 0x7, 0x26, 0x23, 0x22, 0x15, 0x1, 0x7E, 0xF3, 0xC5, 0xAE, 0x3D, 0x5B, 0x19, 0x2A, 0x32, 0xA3, 0x4, 0xA1, 0xB5, 0xBF, 0x15, 0xB9, 0xB, 0xB1, 0xFF, 0xFF, 0x0, 0x1A, 0xFF, 0xEC, 0x4, 0x8B, 0x6, 0x0, 0x0, 0x26, 0x0, 0x47, 0x59, 0x0, 0x0, 0x7, 0x7, 0xA4, 0xFF, 0x8A, 0x2, 0x39, 0x0, 0x3, 0x0, 0x22, 0x0, 0x0, 0x5, 0xA1, 0x5, 0xB0, 0x0, 0x7, 0x0, 0xF, 0x0, 0x2A, 0x0, 0x0, 0x1, 0x11, 0x33, 0x32, 0x36, 0x35, 0x34, 0x27, 0x1, 0x11, 0x21, 0x32, 0x36, 0x35, 0x34, 0x27, 0x1, 0x11, 0x6, 0x6, 0x15, 0x14, 0x17, 0x23, 0x26, 0x35, 0x34, 0x36, 0x33, 0x31, 0x21, 0x32, 0x4, 0x15, 0x14, 0x6, 0x7, 0x16, 0x16, 0x15, 0x14, 0x4, 0x23, 0x2, 0x90, 0xF8, 0x76, 0x85, 0xF2, 0xFE, 0xFF, 0x1, 0x19, 0x7D, 0x7F, 0xE3, 0xFD, 0xD1, 0x5B, 0x48, 0x9, 0xC6, 0x11, 0xBF, 0xB2, 0x1, 0xF2, 0xEE, 0x1, 0xC, 0x6C, 0x67, 0x7D, 0x78, 0xFE, 0xF4, 0xEC, 0x4, 0xE5, 0xFE, 0x67, 0x6B, 0x61, 0xC8, 0x5, 0xFD, 0xAC, 0xFE, 0x39, 0x7C, 0x64, 0xE0, 0x7, 0xFD, 0x6F, 0x4, 0xE5, 0x1, 0x63, 0x4C, 0x25, 0x26, 0x39, 0x49, 0x9E, 0xA6, 0xBE, 0xCC, 0x63, 0xA1, 0x2B, 0x21, 0xBB, 0x72, 0xD0, 0xD9, 0xFF, 0xFF, 0x0, 0x90, 0x0, 0x0, 0x4, 0xC1, 0x5, 0xB0, 0x0, 0x26, 0x2, 0x30, 0xF5, 0x0, 0x0, 0x6, 0x2, 0x7C, 0xFF, 0x0, 0x0, 0x2, 0x0, 0x7D, 0xFF, 0xEC, 0x4, 0x32, 0x6, 0x0, 0x0, 0x11, 0x0, 0x1C, 0x0, 0x0, 0x1, 0x14, 0x2, 0x23, 0x22, 0x27, 0x7, 0x23, 0x11, 0x21, 0x15, 0x21, 0x11, 0x36, 0x33, 0x32, 0x12, 0x15, 0x1, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x7, 0x11, 0x16, 0x4, 0x32, 0xD7, 0xCE, 0xBD, 0x6C, 0xB, 0xDC, 0x2, 0xDE, 0xFE, 0x14, 0x6A, 0xB2, 0xD1, 0xD6, 0xFE, 0x1D, 0x87, 0x6A, 0x67, 0x8C, 0x9B, 0x43, 0x44, 0x2, 0x12, 0xEF, 0xFE, 0xC9, 0x8A, 0x76, 0x6, 0x0, 0xAB, 0xFE, 0x7D, 0x7C, 0xFE, 0xCD, 0xF4, 0xFE, 0x8C, 0xCA, 0xAA, 0x8F, 0xD2, 0x8C, 0xFE, 0x44, 0x8D, 0x0, 0x2, 0x0, 0x55, 0x0, 0x0, 0x5, 0x33, 0x5, 0xB0, 0x0, 0xD, 0x0, 0x15, 0x0, 0x0, 0x21, 0x11, 0x27, 0x35, 0x37, 0x33, 0x11, 0x21, 0x16, 0x4, 0x15, 0x14, 0x4, 0x23, 0x25, 0x21, 0x32, 0x36, 0x34, 0x26, 0x23, 0x21, 0x1, 0x2, 0xAD, 0xAD, 0xFD, 0x1, 0x2C, 0xF6, 0x1, 0x12, 0xFE, 0xEC, 0xF8, 0xFE, 0xD8, 0x1, 0x28, 0x8D, 0x82, 0x82, 0x8D, 0xFE, 0xD8, 0x3, 0xC7, 0xBE, 0x6C, 0xBF, 0xFD, 0xD3, 0x1, 0xF3, 0xC9, 0xC8, 0xFE, 0xCA, 0x99, 0xCA, 0x8B, 0x0, 0x2, 0x0, 0x4F, 0xFF, 0xEC, 0x4, 0xB2, 0x6, 0x0, 0x0, 0x12, 0x0, 0x1D, 0x0, 0x0, 0x5, 0x22, 0x27, 0x7, 0x23, 0x11, 0x27, 0x35, 0x37, 0x33, 0x11, 0x36, 0x33, 0x32, 0x12, 0x17, 0x15, 0x14, 0x2, 0x25, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x7, 0x11, 0x16, 0x3, 0xC, 0xBC, 0x6C, 0xC, 0xDC, 0xAD, 0xAD, 0xF3, 0x6A, 0xB1, 0xD0, 0xD7, 0x1, 0xD8, 0xFE, 0xF5, 0x86, 0x6A, 0x66, 0x8C, 0x9C, 0x42, 0x43, 0x14, 0x89, 0x75, 0x4, 0x17, 0xBE, 0x6C, 0xBF, 0xFD, 0xD3, 0x7B, 0xFE, 0xD0, 0xF3, 0x19, 0xEF, 0xFE, 0xC9, 0xC7, 0xCA, 0xAA, 0x8F, 0xD2, 0x8B, 0xFE, 0x43, 0x8D, 0x0, 0x1, 0x0, 0x4D, 0xFF, 0xEC, 0x4, 0xD3, 0x5, 0xC4, 0x0, 0x1B, 0x0, 0x0, 0x13, 0x33, 0x16, 0x16, 0x33, 0x32, 0x36, 0x37, 0x35, 0x34, 0x2, 0x23, 0x22, 0x6, 0x7, 0x23, 0x36, 0x0, 0x21, 0x20, 0x0, 0x13, 0x15, 0x10, 0x0, 0x21, 0x20, 0x0, 0x4D, 0xFC, 0x11, 0x86, 0x9D, 0xAB, 0xAC, 0x1, 0x9C, 0xB1, 0xA3, 0x89, 0x12, 0xFC, 0x14, 0x1, 0x1A, 0x1, 0xC, 0x1, 0xA, 0x1, 0x3D, 0x4, 0xFE, 0xBD, 0xFE, 0xED, 0xFE, 0xFA, 0xFE, 0xEC, 0x1, 0xE1, 0x8B, 0x9E, 0xFB, 0xE4, 0x7D, 0xDA, 0x1, 0xA, 0x96, 0x8C, 0xD4, 0x1, 0x1A, 0xFE, 0x92, 0xFE, 0xCD, 0x85, 0xFE, 0xC5, 0xFE, 0x89, 0x1, 0x1B, 0x0, 0x1, 0x0, 0x66, 0xFF, 0xEC, 0x5, 0xEF, 0x6, 0x4, 0x0, 0x25, 0x0, 0x0, 0x1, 0x6, 0x0, 0x21, 0x20, 0x0, 0x11, 0x35, 0x10, 0x0, 0x21, 0x32, 0x17, 0x36, 0x33, 0x32, 0x17, 0x15, 0x26, 0x23, 0x22, 0x6, 0x15, 0x15, 0x23, 0x26, 0x26, 0x23, 0x22, 0x6, 0x7, 0x15, 0x14, 0x12, 0x33, 0x32, 0x36, 0x37, 0x4, 0xEB, 0x13, 0xFE, 0xE5, 0xFE, 0xF4, 0xFE, 0xF3, 0xFE, 0xC2, 0x1, 0x44, 0x1, 0x13, 0xF1, 0x90, 0x4A, 0xE5, 0x44, 0x3E, 0x21, 0x2A, 0x4C, 0x6C, 0xFC, 0x10, 0x87, 0x9C, 0xAB, 0xAC, 0x1, 0x9B, 0xB1, 0xA3, 0x89, 0x12, 0x1, 0xDA, 0xD4, 0xFE, 0xE6, 0x1, 0x76, 0x1, 0x3B, 0x76, 0x1, 0x3A, 0x1, 0x77, 0x81, 0xC1, 0x11, 0xC9, 0x8, 0x40, 0x64, 0xBF, 0x8C, 0x9D, 0xFA, 0xE4, 0x7D, 0xDA, 0xFE, 0xF5, 0x97, 0x8B, 0x0, 0x1, 0x0, 0x50, 0xFF, 0xEC, 0x4, 0xD3, 0x4, 0x99, 0x0, 0x25, 0x0, 0x0, 0x1, 0x6, 0x4, 0x23, 0x22, 0x2, 0x35, 0x35, 0x34, 0x12, 0x33, 0x32, 0x17, 0x36, 0x33, 0x32, 0x17, 0x15, 0x26, 0x23, 0x22, 0x6, 0x15, 0x15, 0x23, 0x26, 0x26, 0x23, 0x22, 0x6, 0x15, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x37, 0x3, 0xF5, 0x4, 0xFF, 0x0, 0xB5, 0xFA, 0xF2, 0xF3, 0xF9, 0xB2, 0x76, 0x3A, 0xC6, 0x3C, 0x33, 0x1D, 0x23, 0x41, 0x5D, 0xE4, 0x5, 0x70, 0x63, 0x94, 0x63, 0x62, 0x96, 0x58, 0x7A, 0x5, 0x1, 0x66, 0x9D, 0xDD, 0x1, 0x40, 0xDF, 0x24, 0xDE, 0x1, 0x41, 0x60, 0xAB, 0xF, 0xA3, 0x7, 0x3E, 0x56, 0xA3, 0x57, 0x7D, 0xDB, 0x81, 0x24, 0x83, 0xD9, 0x68, 0x4F, 0xFF, 0xFF, 0x0, 0x21, 0x0, 0x0, 0x5, 0x1E, 0x5, 0xB0, 0x0, 0x26, 0x0, 0x29, 0x4C, 0x0, 0x0, 0x6, 0x7, 0xA4, 0x91, 0x0, 0x0, 0x2, 0x0, 0x22, 0x0, 0x0, 0x5, 0xD1, 0x5, 0xB0, 0x0, 0x9, 0x0, 0x1E, 0x0, 0x0, 0x1, 0x11, 0x33, 0x32, 0x12, 0x37, 0x35, 0x34, 0x26, 0x23, 0x1, 0x11, 0x6, 0x6, 0x15, 0x14, 0x17, 0x23, 0x26, 0x35, 0x10, 0x21, 0x31, 0x21, 0x20, 0x0, 0x11, 0x15, 0x10, 0x0, 0x21, 0x2, 0x90, 0xA6, 0xCC, 0xD0, 0x2, 0xCF, 0xC4, 0xFE, 0x53, 0x5C, 0x48, 0x9, 0xC6, 0x11, 0x1, 0x72, 0x1, 0xAD, 0x1, 0x25, 0x1, 0x6B, 0xFE, 0x93, 0xFE, 0xD2, 0x4, 0xE5, 0xFB, 0xE5, 0x1, 0x0, 0xE1, 0x53, 0xEC, 0xFB, 0xFB, 0x1B, 0x4, 0xE5, 0x1, 0x62, 0x4D, 0x25, 0x26, 0x39, 0x49, 0x1, 0x44, 0xFE, 0x87, 0xFE, 0xC5, 0x49, 0xFE, 0xC5, 0xFE, 0x88, 0x0, 0x2, 0x0, 0x4E, 0x0, 0x0, 0x4, 0x7F, 0x5, 0xB0, 0x0, 0xC, 0x0, 0x14, 0x0, 0x0, 0x21, 0x21, 0x26, 0x24, 0x35, 0x34, 0x24, 0x33, 0x21, 0x11, 0x21, 0x35, 0x21, 0x3, 0x11, 0x21, 0x22, 0x6, 0x14, 0x16, 0x33, 0x4, 0x7F, 0xFD, 0xD7, 0xF6, 0xFE, 0xEE, 0x1, 0x14, 0xF8, 0x1, 0x29, 0xFD, 0x60, 0x3, 0x9C, 0xFC, 0xFE, 0xD7, 0x8D, 0x82, 0x82, 0x8D, 0x1, 0xFE, 0xC7, 0xCA, 0xF3, 0x1, 0x62, 0xCB, 0xFB, 0x1A, 0x1, 0xEE, 0x8B, 0xCA, 0x99, 0x0, 0x2, 0x0, 0x50, 0xFF, 0xEC, 0x4, 0x4, 0x6, 0x0, 0x0, 0xB, 0x0, 0x1D, 0x0, 0x0, 0x25, 0x32, 0x37, 0x11, 0x26, 0x23, 0x22, 0x6, 0x15, 0x15, 0x14, 0x16, 0x5, 0x27, 0x6, 0x23, 0x22, 0x2, 0x35, 0x35, 0x34, 0x12, 0x33, 0x32, 0x17, 0x11, 0x21, 0x35, 0x21, 0x11, 0x2, 0x37, 0x95, 0x45, 0x44, 0x94, 0x84, 0x73, 0x72, 0x1, 0x73, 0xB, 0x6C, 0xB7, 0xC3, 0xE6, 0xE5, 0xC6, 0xAC, 0x6A, 0xFE, 0x15, 0x2, 0xDE, 0xB3, 0x86, 0x1, 0xCD, 0x82, 0xD0, 0x92, 0x15, 0x91, 0xCD, 0xB3, 0x70, 0x84, 0x1, 0x39, 0xEC, 0x15, 0xF7, 0x1, 0x31, 0x77, 0x1, 0x7E, 0xAB, 0xFA, 0x0, 0x0, 0x2, 0x0, 0x53, 0xFE, 0x88, 0x4, 0x34, 0x4, 0x4D, 0x0, 0x15, 0x0, 0x25, 0x0, 0x0, 0x1, 0x21, 0x35, 0x21, 0x26, 0x27, 0x26, 0x2, 0x35, 0x35, 0x34, 0x0, 0x20, 0x0, 0x15, 0x15, 0x14, 0x2, 0x7, 0x7, 0x16, 0x17, 0x3, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x15, 0x14, 0x16, 0x17, 0x16, 0x33, 0x32, 0x36, 0x35, 0x3, 0xB0, 0xFD, 0x14, 0x1, 0xAC, 0x31, 0x8A, 0x99, 0xC9, 0x1, 0x3, 0x1, 0xDA, 0x1, 0x4, 0xE9, 0xC4, 0x21, 0xEA, 0x60, 0x6F, 0x75, 0x89, 0x87, 0x76, 0x66, 0x42, 0x1D, 0x2D, 0x8E, 0x7B, 0xFE, 0x88, 0xC1, 0x31, 0x70, 0x82, 0x1, 0x10, 0xA9, 0x15, 0xE3, 0x1, 0x30, 0xFE, 0xD8, 0xDD, 0x15, 0xBE, 0xFE, 0xF3, 0x1B, 0x2, 0xCF, 0x6B, 0x3, 0x29, 0x8A, 0xC6, 0xC6, 0x8A, 0x15, 0x73, 0xA9, 0x2B, 0x8, 0xC8, 0x87, 0x0, 0x1, 0x0, 0x3A, 0x0, 0x0, 0x3, 0xF2, 0x5, 0xB0, 0x0, 0xB, 0x0, 0x0, 0x33, 0x35, 0x21, 0x11, 0x21, 0x35, 0x21, 0x11, 0x21, 0x35, 0x21, 0x11, 0x41, 0x2, 0xB4, 0xFD, 0xAA, 0x2, 0x56, 0xFD, 0x45, 0x3, 0xB8, 0xCB, 0x1, 0x93, 0xC7, 0x1, 0xC1, 0xCA, 0xFA, 0x50, 0x0, 0x2, 0x0, 0x51, 0xFF, 0xEC, 0x5, 0x1E, 0x5, 0xC4, 0x0, 0x16, 0x0, 0x1E, 0x0, 0x0, 0x5, 0x20, 0x0, 0x11, 0x35, 0x21, 0x26, 0x2, 0x23, 0x22, 0x6, 0x7, 0x27, 0x36, 0x36, 0x33, 0x20, 0x0, 0x11, 0x15, 0x14, 0x2, 0x4, 0x27, 0x32, 0x36, 0x37, 0x21, 0x15, 0x14, 0x16, 0x2, 0xB8, 0xFE, 0xD0, 0xFE, 0xC9, 0x3, 0xD1, 0x3, 0xC6, 0xE7, 0x83, 0xB6, 0x39, 0x31, 0x20, 0xE4, 0xA6, 0x1, 0x49, 0x1, 0x5C, 0xA4, 0xFE, 0xEA, 0xAC, 0xA1, 0xB7, 0xF, 0xFD, 0x2F, 0xA0, 0x14, 0x1, 0x6E, 0x1, 0x36, 0x8E, 0xC1, 0x1, 0xF, 0x30, 0x16, 0xC5, 0x13, 0x44, 0xFE, 0x7D, 0xFE, 0xCF, 0x75, 0xCB, 0xFE, 0xCA, 0xAE, 0xD5, 0xEB, 0xAC, 0x1F, 0x9D, 0xDB, 0x0, 0x1, 0x0, 0x57, 0xFF, 0xEB, 0x4, 0x8D, 0x5, 0xC5, 0x0, 0x28, 0x0, 0x0, 0x1, 0x14, 0x6, 0x6, 0x23, 0x22, 0x24, 0x35, 0x34, 0x37, 0x26, 0x26, 0x35, 0x34, 0x24, 0x33, 0x32, 0x4, 0x15, 0x23, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x14, 0x16, 0x33, 0x33, 0x15, 0x23, 0x22, 0x6, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x4, 0x8D, 0x9C, 0xF2, 0x80, 0xEE, 0xFE, 0xC6, 0xF9, 0x69, 0x7A, 0x1, 0x23, 0xEF, 0xCE, 0x1, 0x2B, 0xFC, 0x8F, 0x6E, 0x92, 0x83, 0x77, 0x8E, 0xAA, 0xAA, 0x8D, 0x8E, 0xA3, 0x88, 0x7F, 0x93, 0x1, 0x94, 0x95, 0xBC, 0x58, 0xCA, 0xE3, 0xF9, 0x59, 0x2C, 0xA1, 0x6E, 0xCC, 0xD4, 0xDA, 0xBD, 0x5D, 0x6E, 0x7A, 0x5A, 0x62, 0x79, 0xC7, 0x6E, 0x7D, 0x75, 0x6D, 0x80, 0x5E, 0x0, 0x1, 0x0, 0x0, 0xFE, 0x4B, 0x4, 0x84, 0x5, 0xB0, 0x0, 0x12, 0x0, 0x0, 0x13, 0x22, 0x27, 0x37, 0x16, 0x33, 0x32, 0x35, 0x11, 0x21, 0x15, 0x21, 0x11, 0x21, 0x15, 0x21, 0x11, 0x14, 0x6, 0x7F, 0x45, 0x3A, 0xE, 0x32, 0x2D, 0x7B, 0x3, 0x9C, 0xFD, 0x60, 0x2, 0x4A, 0xFD, 0xB6, 0xC0, 0xFE, 0x4B, 0x11, 0xCD, 0xD, 0xA5, 0x5, 0xEF, 0xCB, 0xFE, 0x4E, 0xCA, 0xFD, 0x58, 0xB6, 0xC0, 0x0, 0x1, 0xFF, 0xE4, 0xFE, 0x4B, 0x2, 0xD3, 0x6, 0x15, 0x0, 0x1E, 0x0, 0x0, 0x1, 0x15, 0x23, 0x11, 0x14, 0x6, 0x23, 0x22, 0x27, 0x37, 0x16, 0x33, 0x32, 0x37, 0x11, 0x23, 0x35, 0x33, 0x35, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x7, 0x26, 0x23, 0x22, 0x7, 0x15, 0x2, 0x84, 0xC8, 0xB8, 0xA1, 0x45, 0x3A, 0xE, 0x21, 0x3E, 0x77, 0x1, 0xA5, 0xA5, 0x2, 0x5B, 0x63, 0xB2, 0x3F, 0x59, 0x18, 0x2B, 0x37, 0x9B, 0x2, 0x4, 0x3A, 0xB3, 0xFC, 0x33, 0xB2, 0xBD, 0x11, 0xBF, 0xD, 0xA9, 0x3, 0xD0, 0xB3, 0x6E, 0xAB, 0x5D, 0x65, 0x15, 0xBC, 0xA, 0xA9, 0x6B, 0x0, 0x1, 0x0, 0x6A, 0xFF, 0xEC, 0x5, 0xF3, 0x6, 0x4, 0x0, 0x29, 0x0, 0x0, 0x25, 0x6, 0x6, 0x23, 0x20, 0x0, 0x11, 0x35, 0x10, 0x0, 0x21, 0x32, 0x17, 0x36, 0x33, 0x32, 0x17, 0x15, 0x26, 0x23, 0x22, 0x6, 0x15, 0x15, 0x23, 0x26, 0x26, 0x23, 0x22, 0x6, 0x7, 0x15, 0x14, 0x12, 0x33, 0x32, 0x36, 0x37, 0x11, 0x21, 0x35, 0x21, 0x4, 0xF0, 0x2E, 0xF5, 0xF5, 0xFE, 0xED, 0xFE, 0xA5, 0x1, 0x3E, 0x1, 0x1A, 0xF6, 0x8F, 0x4A, 0xE0, 0x46, 0x3C, 0x24, 0x26, 0x4C, 0x6C, 0xF9, 0x13, 0x8A, 0x95, 0xB0, 0xAB, 0x2, 0xC8, 0xAF, 0x83, 0x77, 0x1A, 0xFE, 0xD5, 0x2, 0x27, 0xBE, 0x3D, 0x95, 0x1, 0x6E, 0x1, 0x4E, 0x5F, 0x1, 0x4E, 0x1, 0x6F, 0x7A, 0xBA, 0x11, 0xC5, 0x9, 0x45, 0x64, 0x9B, 0x71, 0x95, 0xFE, 0xE8, 0x6B, 0xF0, 0xFE, 0xFE, 0x3C, 0x1C, 0x1, 0x1E, 0xBF, 0x0, 0x2, 0x0, 0x18, 0xFE, 0x4B, 0x5, 0x19, 0x5, 0xB0, 0x0, 0x11, 0x0, 0x18, 0x0, 0x0, 0x1, 0x22, 0x26, 0x35, 0x34, 0x36, 0x37, 0x1, 0x21, 0x1, 0x1, 0x21, 0x1, 0x16, 0x16, 0x15, 0x14, 0x6, 0x26, 0x35, 0x34, 0x27, 0x6, 0x15, 0x14, 0x2, 0x98, 0x88, 0xAE, 0x74, 0x49, 0xFD, 0xF9, 0x1, 0x1D, 0x1, 0x61, 0x1, 0x65, 0x1, 0x1E, 0xFD, 0xF7, 0x47, 0x73, 0xAB, 0x48, 0x3F, 0x3F, 0xFE, 0x4B, 0x81, 0x81, 0x42, 0xF8, 0xAA, 0x4, 0x7F, 0xFC, 0xA2, 0x3, 0x5E, 0xFB, 0x7C, 0xA7, 0xF6, 0x42, 0x81, 0x81, 0xBC, 0x4B, 0x3E, 0x92, 0x93, 0x3D, 0x4B, 0x0, 0x1, 0x0, 0x7A, 0xFF, 0xEC, 0x6, 0x43, 0x6, 0x0, 0x0, 0x1E, 0x0, 0x0, 0x5, 0x22, 0x26, 0x27, 0x11, 0x34, 0x26, 0x23, 0x22, 0x7, 0x11, 0x23, 0x11, 0x33, 0x11, 0x36, 0x33, 0x32, 0x16, 0x15, 0x11, 0x16, 0x16, 0x32, 0x36, 0x35, 0x11, 0x33, 0x11, 0x6, 0x6, 0x4, 0xA5, 0xCA, 0xD3, 0x2, 0x4A, 0x75, 0x93, 0x48, 0xF2, 0xF2, 0x76, 0xB7, 0xD0, 0x90, 0x1, 0x67, 0x88, 0x67, 0xF3, 0x2, 0xD3, 0x14, 0xD1, 0xEE, 0x1, 0x7, 0x5F, 0x77, 0x83, 0xFC, 0xFB, 0x6, 0x0, 0xFD, 0xC3, 0x8B, 0xF2, 0xAA, 0xFE, 0xFA, 0x90, 0x69, 0x6B, 0x94, 0x2, 0x88, 0xFD, 0x71, 0xEE, 0xD1, 0xFF, 0xFF, 0x0, 0x14, 0x0, 0x0, 0x2, 0xB2, 0x5, 0xB0, 0x0, 0x26, 0x0, 0x2E, 0x3F, 0x0, 0x0, 0x6, 0x7, 0xA4, 0x84, 0x0, 0x0, 0x1, 0x0, 0x95, 0x0, 0x0, 0x5, 0x18, 0x5, 0xC4, 0x0, 0x16, 0x0, 0x0, 0x21, 0x1, 0x7, 0x11, 0x23, 0x11, 0x33, 0x11, 0x37, 0x13, 0x36, 0x36, 0x33, 0x32, 0x17, 0x7, 0x26, 0x23, 0x22, 0x6, 0x7, 0x3, 0x1, 0x3, 0xEC, 0xFE, 0x4D, 0xA8, 0xFC, 0xFC, 0x8D, 0xE8, 0x4C, 0x83, 0x6A, 0x6F, 0x68, 0x59, 0x2C, 0x32, 0x20, 0x33, 0x3A, 0xF7, 0x2, 0x3D, 0x2, 0x72, 0xBC, 0xFE, 0x4A, 0x5, 0xB0, 0xFD, 0x45, 0xBD, 0x1, 0x2D, 0x67, 0x7E, 0x45, 0xB1, 0x1B, 0x26, 0x4D, 0xFE, 0xB9, 0xFC, 0xD1, 0x0, 0x1, 0x0, 0x7D, 0x0, 0x0, 0x4, 0x37, 0x6, 0x15, 0x0, 0x16, 0x0, 0x0, 0x21, 0x1, 0x7, 0x11, 0x23, 0x11, 0x34, 0x36, 0x33, 0x32, 0x17, 0x15, 0x26, 0x23, 0x22, 0x6, 0x15, 0x11, 0x37, 0x1, 0x21, 0x1, 0x1, 0x3, 0x1E, 0xFE, 0xBF, 0x6D, 0xF3, 0xBB, 0x9A, 0x4C, 0x2F, 0x1D, 0x23, 0x40, 0x5D, 0x4D, 0x1, 0x2B, 0x1, 0x24, 0xFE, 0x6D, 0x1, 0xBE, 0x1, 0xD2, 0x70, 0xFE, 0x9E, 0x4, 0xD6, 0x9D, 0xA2, 0xF, 0xA3, 0x7, 0x3E, 0x56, 0xFD, 0xB4, 0x60, 0x1, 0x50, 0xFE, 0x3E, 0xFD, 0x88, 0xFF, 0xFF, 0x0, 0x14, 0x0, 0x0, 0x2, 0xB2, 0x6, 0x0, 0x0, 0x26, 0x0, 0x51, 0x5C, 0x0, 0x0, 0x6, 0x7, 0xA4, 0x84, 0x4A, 0x0, 0x1, 0x0, 0x16, 0xFF, 0xEE, 0x4, 0x4A, 0x5, 0xFC, 0x0, 0x1E, 0x0, 0x0, 0x5, 0x22, 0x26, 0x27, 0x3, 0x3, 0x21, 0x1, 0x27, 0x7, 0x35, 0x37, 0x26, 0x23, 0x7, 0x27, 0x36, 0x33, 0x32, 0x16, 0x17, 0x17, 0x37, 0x15, 0x7, 0x1, 0x16, 0x33, 0x37, 0x17, 0x6, 0x3, 0xEC, 0x65, 0x79, 0x2D, 0xCA, 0xF8, 0xFE, 0xF7, 0x1, 0x82, 0x17, 0xBC, 0x79, 0x26, 0x4F, 0x35, 0x3, 0x31, 0x51, 0x6B, 0x77, 0x1F, 0xD, 0xB1, 0x72, 0x1, 0x61, 0x26, 0x3D, 0x23, 0x3, 0x28, 0x12, 0x51, 0x73, 0x2, 0x18, 0xFD, 0x36, 0x4, 0x11, 0x38, 0x43, 0xB6, 0x2B, 0x51, 0x2, 0xB5, 0x11, 0x54, 0x4E, 0x22, 0x3F, 0xB6, 0x29, 0xFC, 0x7D, 0x5E, 0x2, 0xC2, 0x9, 0x0, 0x1, 0x0, 0x99, 0xFF, 0xEC, 0x6, 0xA6, 0x5, 0xB0, 0x0, 0x1E, 0x0, 0x0, 0x21, 0x27, 0x6, 0x23, 0x22, 0x27, 0x6, 0x23, 0x22, 0x26, 0x3, 0x11, 0x33, 0x11, 0x14, 0x16, 0x33, 0x32, 0x37, 0x27, 0x11, 0x33, 0x11, 0x14, 0x16, 0x33, 0x32, 0x37, 0x11, 0x33, 0x11, 0x5, 0xC7, 0xA, 0x6C, 0xC6, 0xE8, 0x4F, 0x6C, 0xEA, 0xA1, 0xC3, 0x1, 0xF3, 0x67, 0x44, 0xBA, 0x39, 0x4, 0xF3, 0x67, 0x44, 0xB6, 0x39, 0xF3, 0x74, 0x88, 0xB9, 0xB9, 0xC1, 0x1, 0x1, 0x4, 0x2, 0xFC, 0x2, 0x94, 0x6B, 0xA7, 0x43, 0x4, 0x13, 0xFC, 0x2, 0x94, 0x6B, 0x9C, 0x4, 0x61, 0xFA, 0x50, 0x0, 0x1, 0x0, 0x0, 0xFE, 0x4B, 0x5, 0x6B, 0x5, 0xB0, 0x0, 0x12, 0x0, 0x0, 0x13, 0x22, 0x27, 0x37, 0x16, 0x33, 0x32, 0x35, 0x11, 0x33, 0x1, 0x11, 0x33, 0x11, 0x23, 0x1, 0x11, 0x14, 0x6, 0x7F, 0x45, 0x3A, 0xE, 0x32, 0x2D, 0x7B, 0xFC, 0x2, 0x8C, 0xFB, 0xFD, 0xFD, 0x76, 0xC0, 0xFE, 0x4B, 0x11, 0xCD, 0xD, 0xA5, 0x5, 0xEF, 0xFB, 0xF4, 0x4, 0xC, 0xFA, 0x50, 0x4, 0x9, 0xFB, 0xB8, 0xB6, 0xC0, 0x0, 0x2, 0x0, 0x58, 0xFF, 0xEC, 0x5, 0xAA, 0x6, 0x2E, 0x0, 0x14, 0x0, 0x22, 0x0, 0x0, 0x5, 0x20, 0x0, 0x11, 0x35, 0x10, 0x0, 0x21, 0x32, 0x17, 0x36, 0x36, 0x35, 0x33, 0x10, 0x7, 0x16, 0x17, 0x15, 0x10, 0x0, 0x13, 0x34, 0x2, 0x23, 0x22, 0x2, 0x15, 0x15, 0x14, 0x12, 0x33, 0x32, 0x12, 0x35, 0x2, 0xB6, 0xFE, 0xF6, 0xFE, 0xAC, 0x1, 0x52, 0x1, 0xA, 0xFF, 0xA2, 0x55, 0x45, 0xBB, 0xF4, 0x59, 0x1, 0xFE, 0xB5, 0x4F, 0xB9, 0xA7, 0xA3, 0xBC, 0xBE, 0xA3, 0xA7, 0xB7, 0x14, 0x1, 0x7B, 0x1, 0x4C, 0x49, 0x1, 0x4C, 0x1, 0x7C, 0xA7, 0xD, 0x8F, 0x75, 0xFE, 0xAF, 0x47, 0xAA, 0xEB, 0x4E, 0xFE, 0xB4, 0xFE, 0x85, 0x3, 0x12, 0xF5, 0x1, 0x0, 0xFF, 0x0, 0xF5, 0x4B, 0xF5, 0xFE, 0xFE, 0x1, 0x2, 0xF5, 0x0, 0x2, 0x0, 0x4F, 0xFF, 0xEC, 0x4, 0xBC, 0x4, 0xA9, 0x0, 0x14, 0x0, 0x22, 0x0, 0x0, 0x5, 0x22, 0x0, 0x27, 0x35, 0x34, 0x0, 0x33, 0x32, 0x17, 0x36, 0x36, 0x35, 0x33, 0x10, 0x7, 0x16, 0x15, 0x15, 0x14, 0x0, 0x1, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x2, 0x47, 0xEB, 0xFE, 0xF7, 0x4, 0x1, 0xA, 0xEC, 0xE3, 0x87, 0x3F, 0x26, 0xA8, 0xC0, 0x41, 0xFE, 0xF7, 0xFE, 0xE, 0x7D, 0x88, 0x87, 0x7D, 0x7D, 0x89, 0x87, 0x7C, 0x14, 0x1, 0x33, 0xE6, 0x22, 0xEC, 0x1, 0x3B, 0x94, 0x16, 0x7D, 0x5C, 0xFE, 0xE5, 0x43, 0x7F, 0xA5, 0x15, 0xEB, 0xFE, 0xC5, 0x2, 0x26, 0x91, 0xD2, 0xD2, 0x91, 0x15, 0x8F, 0xD5, 0xD5, 0x8F, 0x0, 0x2, 0x0, 0x66, 0xFE, 0x60, 0x6, 0x69, 0x5, 0xC4, 0x0, 0x13, 0x0, 0x21, 0x0, 0x0, 0x1, 0x23, 0x11, 0x7, 0x11, 0x6, 0x6, 0x23, 0x20, 0x0, 0x11, 0x35, 0x10, 0x0, 0x21, 0x32, 0x16, 0x17, 0x25, 0x33, 0x1, 0x32, 0x36, 0x37, 0x11, 0x26, 0x26, 0x23, 0x22, 0x6, 0x15, 0x15, 0x14, 0x12, 0x6, 0x69, 0xF2, 0x91, 0x2E, 0xF1, 0xF5, 0xFE, 0xF0, 0xFE, 0xA4, 0x1, 0x5B, 0x1, 0x11, 0xB3, 0xDD, 0x3E, 0x1, 0x10, 0xB9, 0xFC, 0x76, 0x83, 0x77, 0x1B, 0x1E, 0x7A, 0x83, 0xB1, 0xC5, 0xBE, 0xFE, 0x60, 0x6, 0x46, 0x3B, 0xFC, 0x54, 0x3D, 0x96, 0x1, 0x68, 0x1, 0x54, 0x61, 0x1, 0x4C, 0x1, 0x6F, 0x56, 0x34, 0x76, 0xFB, 0x6, 0x3F, 0x1C, 0x3, 0x8E, 0x20, 0x3B, 0xFF, 0xF2, 0x61, 0xE5, 0xFE, 0xF3, 0x0, 0x2, 0x0, 0x50, 0xFE, 0x60, 0x5, 0x1B, 0x4, 0x4E, 0x0, 0x13, 0x0, 0x1F, 0x0, 0x0, 0x1, 0x23, 0x11, 0x7, 0x11, 0x6, 0x6, 0x23, 0x22, 0x2, 0x35, 0x35, 0x34, 0x12, 0x33, 0x32, 0x16, 0x17, 0x37, 0x33, 0x1, 0x32, 0x37, 0x11, 0x26, 0x23, 0x22, 0x6, 0x15, 0x15, 0x14, 0x16, 0x5, 0x1B, 0xF3, 0x70, 0x3A, 0xBC, 0x86, 0xFA, 0xF2, 0xF3, 0xF9, 0x6B, 0xA6, 0x38, 0xE4, 0xB2, 0xFD, 0x1F, 0x53, 0x38, 0x38, 0x54, 0x94, 0x63, 0x78, 0xFE, 0x60, 0x4, 0xB3, 0x39, 0xFD, 0xCA, 0x4F, 0x69, 0x1, 0x40, 0xDF, 0x24, 0xDE, 0x1, 0x41, 0x4C, 0x37, 0x6F, 0xFC, 0x75, 0x2D, 0x2, 0x7C, 0x33, 0xDB, 0x81, 0x24, 0x9F, 0xBD, 0x0, 0x2, 0x0, 0x22, 0x0, 0x0, 0x5, 0xD2, 0x5, 0xB0, 0x0, 0x8, 0x0, 0x1F, 0x0, 0x0, 0x1, 0x11, 0x21, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x1, 0x11, 0x23, 0x11, 0x6, 0x6, 0x15, 0x14, 0x17, 0x23, 0x26, 0x35, 0x34, 0x36, 0x33, 0x31, 0x21, 0x32, 0x0, 0x15, 0x14, 0x4, 0x23, 0x2, 0x90, 0x1, 0x30, 0x93, 0x81, 0x81, 0x93, 0xFE, 0xD0, 0xFD, 0x5B, 0x48, 0x9, 0xC6, 0x11, 0xBF, 0xB2, 0x2, 0x2D, 0xFE, 0x1, 0x14, 0xFE, 0xEC, 0xFE, 0x4, 0xE5, 0xFE, 0x3, 0x8A, 0x6D, 0x66, 0xA0, 0xFD, 0x38, 0xFD, 0xE3, 0x4, 0xE5, 0x1, 0x63, 0x4C, 0x25, 0x26, 0x39, 0x49, 0x9E, 0xA6, 0xFE, 0xFA, 0xC9, 0xD3, 0xF1, 0x0, 0x2, 0x0, 0x7D, 0xFE, 0x60, 0x4, 0x31, 0x5, 0x72, 0x0, 0xB, 0x0, 0x26, 0x0, 0x0, 0x25, 0x32, 0x36, 0x35, 0x35, 0x34, 0x26, 0x23, 0x22, 0x7, 0x11, 0x16, 0x17, 0x22, 0x27, 0x11, 0x23, 0x11, 0x31, 0x36, 0x36, 0x33, 0x32, 0x17, 0x15, 0x26, 0x23, 0x22, 0x6, 0x15, 0x15, 0x36, 0x33, 0x32, 0x12, 0x15, 0x15, 0x14, 0x2, 0x2, 0x48, 0x83, 0x73, 0x75, 0x83, 0x96, 0x41, 0x43, 0xDA, 0xB1, 0x6C, 0xF2, 0x3, 0xD4, 0x7D, 0x49, 0x33, 0x25, 0x1B, 0x41, 0x5D, 0x6B, 0xB0, 0xCE, 0xD9, 0xDA, 0xAF, 0xD3, 0x90, 0x15, 0x92, 0xCF, 0x7D, 0xFE, 0x23, 0x7F, 0xC3, 0x75, 0xFD, 0xFF, 0x5, 0xDA, 0xAF, 0x89, 0xF, 0xA2, 0x7, 0x3F, 0x56, 0x5C, 0x77, 0xFE, 0xD0, 0xF8, 0x14, 0xEC, 0xFE, 0xC6, 0x0, 0x2, 0x0, 0x95, 0xFE, 0x9C, 0x5, 0x9A, 0x6, 0x18, 0x0, 0x10, 0x0, 0x19, 0x0, 0x0, 0x1, 0x21, 0x1, 0x21, 0x11, 0x23, 0x11, 0x33, 0x15, 0x21, 0x16, 0x4, 0x15, 0x14, 0x6, 0x7, 0x1, 0x1, 0x11, 0x21, 0x32, 0x36, 0x35, 0x34, 0x26, 0x27, 0x5, 0x9A, 0xFE, 0xF1, 0xFE, 0x22, 0xFE, 0xE4, 0xFC, 0xFC, 0x1, 0x11, 0xF5, 0x1, 0xB, 0x8E, 0x7D, 0x2, 0x3, 0xFB, 0xF7, 0x1, 0x4, 0x88, 0x89, 0x80, 0x8D, 0xFE, 0x9C, 0x3, 0x95, 0xFD, 0xCF, 0x6, 0x18, 0x68, 0x3, 0xE0, 0xD4, 0x92, 0xC6, 0x34, 0xFC, 0x3C, 0x6, 0x3C, 0xFE, 0x17, 0x89, 0x68, 0x70, 0x87, 0x1, 0x0, 0x1, 0x0, 0x4A, 0xFF, 0xEC, 0x4, 0x8A, 0x5, 0xC4, 0x0, 0x24, 0x0, 0x0, 0x1, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x33, 0x14, 0x6, 0x4, 0x23, 0x22, 0x24, 0x35, 0x34, 0x36, 0x37, 0x36, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x23, 0x34, 0x0, 0x33, 0x32, 0x4, 0x10, 0x4, 0x4, 0x6, 0x1, 0x47, 0x86, 0x83, 0x86, 0xB7, 0xFD, 0xA8, 0xFE, 0xFA, 0x8C, 0xEC, 0xFE, 0xE6, 0xEC, 0xFB, 0x9A, 0x95, 0x7F, 0x86, 0x8D, 0x86, 0xFC, 0x1, 0x16, 0xF7, 0xE7, 0x1, 0x1D, 0xFE, 0xF7, 0xFE, 0x66, 0x73, 0x1, 0x78, 0x58, 0x6C, 0x7A, 0x8A, 0x99, 0xCD, 0x66, 0xD6, 0xB8, 0xAD, 0xD9, 0x49, 0x2D, 0x6B, 0x51, 0x56, 0x73, 0x89, 0x6B, 0xB6, 0x1, 0x7, 0xE3, 0xFE, 0xA0, 0xCA, 0x7F, 0x69, 0x0, 0x1, 0x0, 0x57, 0xFF, 0xEC, 0x3, 0xD6, 0x4, 0x4E, 0x0, 0x25, 0x0, 0x0, 0x1, 0x14, 0x16, 0x33, 0x32, 0x36, 0x37, 0x33, 0x14, 0x6, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x37, 0x36, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x23, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x6, 0x7, 0x6, 0x6, 0x1, 0x46, 0x65, 0x5F, 0x51, 0x8A, 0x5, 0xEC, 0xEA, 0xDF, 0xC7, 0xEF, 0xD4, 0xBC, 0x83, 0x5B, 0x58, 0x5C, 0x5F, 0x60, 0xF3, 0xE7, 0xCA, 0xC1, 0xE1, 0xD8, 0xB2, 0x8E, 0x54, 0x1, 0x26, 0x3A, 0x4A, 0x50, 0x64, 0x86, 0xE4, 0xB8, 0x90, 0x91, 0x92, 0x28, 0x1C, 0x40, 0x35, 0x36, 0x52, 0x63, 0x3F, 0x92, 0xC6, 0xC3, 0x85, 0x88, 0x94, 0x25, 0x1E, 0x4C, 0xFF, 0xFF, 0x0, 0x48, 0x0, 0x0, 0x4, 0x4D, 0x5, 0xB0, 0x0, 0x6, 0x2, 0x36, 0x0, 0x0, 0x0, 0x2, 0x0, 0x1B, 0xFE, 0x5E, 0x3, 0xD0, 0x6, 0x1F, 0x0, 0x15, 0x0, 0x1F, 0x0, 0x0, 0x1, 0x20, 0x3, 0x11, 0x6, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x11, 0x14, 0x33, 0x32, 0x37, 0x15, 0x6, 0x1, 0x32, 0x36, 0x34, 0x26, 0x23, 0x22, 0x6, 0x14, 0x16, 0x3, 0x4F, 0xFE, 0xC4, 0x8, 0x3D, 0x42, 0x99, 0xD8, 0xD8, 0x99, 0x98, 0xDA, 0x88, 0x26, 0x24, 0x3C, 0xFD, 0xF9, 0x3E, 0x56, 0x56, 0x3E, 0x40, 0x57, 0x57, 0xFE, 0x5E, 0x1, 0x64, 0x3, 0x91, 0x16, 0xD8, 0x98, 0x99, 0xD9, 0xD9, 0x99, 0xFB, 0x27, 0xAE, 0x9, 0xC0, 0x11, 0x5, 0xB4, 0x4F, 0x9C, 0x50, 0x50, 0x9C, 0x4F, 0x0, 0x1, 0x0, 0x8, 0xFE, 0x84, 0x2, 0x73, 0x5, 0x41, 0x0, 0x1E, 0x0, 0x0, 0x1, 0x22, 0x27, 0x35, 0x16, 0x33, 0x32, 0x36, 0x35, 0x35, 0x26, 0x26, 0x35, 0x11, 0x23, 0x35, 0x33, 0x11, 0x33, 0x11, 0x33, 0x15, 0x23, 0x11, 0x14, 0x16, 0x33, 0x32, 0x37, 0x11, 0x2, 0x1, 0x5E, 0x3C, 0x33, 0x1D, 0x23, 0x41, 0x5C, 0x77, 0x9A, 0xB3, 0xB3, 0xF2, 0xBF, 0xBF, 0x40, 0x31, 0x2A, 0x2B, 0x6, 0xFE, 0x84, 0xF, 0xA3, 0x7, 0x3F, 0x56, 0x28, 0x2, 0x89, 0xA5, 0x2, 0x6B, 0xB3, 0x1, 0x7, 0xFE, 0xF9, 0xB3, 0xFD, 0xA3, 0x49, 0x2B, 0xA, 0xFE, 0xF7, 0xFE, 0xCD, 0x0, 0x1, 0x0, 0x1E, 0x0, 0x0, 0x5, 0x25, 0x5, 0xB0, 0x0, 0x10, 0x0, 0x0, 0x1, 0x21, 0x11, 0x23, 0x11, 0x23, 0x22, 0x6, 0x15, 0x14, 0x17, 0x23, 0x26, 0x35, 0x10, 0x25, 0x21, 0x5, 0x25, 0xFE, 0x3A, 0xFB, 0xD0, 0x5E, 0x49, 0x8, 0xC6, 0x11, 0x1, 0x64, 0x3, 0xA3, 0x4, 0xE5, 0xFB, 0x1B, 0x4, 0xE5, 0x63, 0x4D, 0x23, 0x28, 0x3E, 0x44, 0x1, 0x3C, 0x8, 0x0, 0x1, 0x0, 0x13, 0xFF, 0xEC, 0x2, 0x95, 0x6, 0x1F, 0x0, 0x1F, 0x0, 0x0, 0x25, 0x6, 0x23, 0x22, 0x26, 0x35, 0x11, 0x23, 0x35, 0x33, 0x35, 0x36, 0x36, 0x33, 0x32, 0x17, 0x15, 0x26, 0x23, 0x22, 0x6, 0x15, 0x15, 0x33, 0x15, 0x23, 0x11, 0x14, 0x16, 0x33, 0x32, 0x37, 0x2, 0x7D, 0x43, 0x5D, 0x79, 0x9F, 0xB2, 0xB2, 0x1, 0xD5, 0x7E, 0x49, 0x33, 0x25, 0x1B, 0x40, 0x5D, 0xBF, 0xBF, 0x3F, 0x31, 0x2A, 0x2B, 0x4, 0x18, 0x95, 0xAF, 0x2, 0x57, 0xB3, 0xA9, 0xB1, 0x8B, 0xF, 0xA2, 0x7, 0x3F, 0x56, 0xA6, 0xB3, 0xFD, 0xB7, 0x51, 0x37, 0xA, 0x0, 0x1, 0x0, 0x2D, 0xFE, 0x4B, 0x4, 0xB0, 0x5, 0xB0, 0x0, 0x10, 0x0, 0x0, 0x1, 0x6, 0x23, 0x22, 0x26, 0x35, 0x11, 0x21, 0x35, 0x21, 0x15, 0x21, 0x11, 0x14, 0x33, 0x32, 0x37, 0x3, 0xCF, 0x3A, 0x45, 0xA4, 0xBD, 0xFE, 0x3E, 0x4, 0x83, 0xFE, 0x3B, 0x74, 0x31, 0x31, 0xFE, 0x5C, 0x11, 0xC0, 0xB6, 0x5, 0x24, 0xCB, 0xCB, 0xFA, 0xDC, 0xA9, 0xD, 0x0, 0x1, 0x0, 0x7E, 0xFF, 0xEC, 0x6, 0x3D, 0x6, 0x1, 0x0, 0x19, 0x0, 0x0, 0x5, 0x22, 0x24, 0x35, 0x11, 0x33, 0x11, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x11, 0x33, 0x15, 0x36, 0x36, 0x35, 0x33, 0x14, 0x6, 0x7, 0x11, 0x14, 0x4, 0x2, 0x9D, 0xE9, 0xFE, 0xCA, 0xFB, 0x9F, 0x85, 0x87, 0x9D, 0xFD, 0x7F, 0x4C, 0xB4, 0xAA, 0xD5, 0xFE, 0xC2, 0x14, 0xFD, 0xFA, 0x3, 0xCD, 0xFC, 0x33, 0x9C, 0x91, 0x91, 0x9C, 0x3, 0xCD, 0xDB, 0xB, 0x9B, 0x86, 0xD0, 0xE8, 0xB, 0xFD, 0xA5, 0xFA, 0xFD, 0x0, 0x1, 0x0, 0x77, 0xFF, 0xEC, 0x5, 0x29, 0x4, 0x94, 0x0, 0x19, 0x0, 0x0, 0x21, 0x27, 0x6, 0x23, 0x22, 0x26, 0x27, 0x11, 0x33, 0x11, 0x14, 0x16, 0x33, 0x32, 0x37, 0x11, 0x33, 0x15, 0x36, 0x36, 0x35, 0x33, 0x14, 0x6, 0x7, 0x11, 0x3, 0x12, 0x6, 0x6A, 0xC6, 0x9E, 0xC6, 0x1, 0xF3, 0x67, 0x45, 0xAE, 0x40, 0xF3, 0x65, 0x2B, 0xA2, 0x82, 0xB0, 0x6A, 0x7E, 0xBA, 0xD5, 0x2, 0xBF, 0xFD, 0x43, 0x75, 0x55, 0x7D, 0x3, 0xA, 0x88, 0xB, 0x6E, 0x69, 0xA4, 0xB2, 0xB, 0xFC, 0xCD, 0x0, 0x1, 0x0, 0x70, 0xFF, 0xEB, 0x4, 0xE2, 0x5, 0xB0, 0x0, 0x22, 0x0, 0x0, 0x4, 0x0, 0x11, 0x35, 0x34, 0x12, 0x37, 0x23, 0x35, 0x21, 0x15, 0x6, 0x2, 0x7, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x35, 0x34, 0x2, 0x27, 0x35, 0x21, 0x15, 0x23, 0x16, 0x12, 0x15, 0x15, 0x10, 0x0, 0x1, 0xAE, 0xFE, 0xC2, 0x7D, 0x67, 0xD6, 0x1, 0xF1, 0x6D, 0x81, 0x2, 0xA1, 0x8B, 0x89, 0xA0, 0x85, 0x71, 0x1, 0xF9, 0xD9, 0x66, 0x7E, 0xFE, 0xC6, 0x15, 0x1, 0x5E, 0x1, 0x15, 0x63, 0xA1, 0x1, 0x21, 0x62, 0xCB, 0xD1, 0x1D, 0xFE, 0xFD, 0xEE, 0x75, 0xD0, 0xD5, 0xD5, 0xD0, 0x65, 0xFA, 0x1, 0x8, 0x1C, 0xD1, 0xCB, 0x62, 0xFE, 0xDF, 0xA1, 0x63, 0xFE, 0xEB, 0xFE, 0xA2, 0x0, 0x1, 0x0, 0x7E, 0xFF, 0xEC, 0x4, 0xBE, 0x5, 0xC4, 0x0, 0x1B, 0x0, 0x0, 0x5, 0x22, 0x24, 0x35, 0x11, 0x33, 0x11, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x11, 0x34, 0x26, 0x23, 0x22, 0x7, 0x35, 0x36, 0x33, 0x32, 0x16, 0x15, 0x11, 0x14, 0x4, 0x2, 0x9E, 0xEA, 0xFE, 0xCA, 0xFC, 0x9E, 0x86, 0x87, 0x9C, 0x4B, 0x4D, 0x23, 0x28, 0x3E, 0x44, 0x9E, 0xC0, 0xFE, 0xC2, 0x14, 0xFD, 0xFA, 0x3, 0xCD, 0xFC, 0x33, 0x9C, 0x91, 0x91, 0x9C, 0x2, 0x6B, 0x5F, 0x48, 0x8, 0xC6, 0x11, 0xC0, 0xB6, 0xFD, 0x95, 0xFA, 0xFD, 0x0, 0x1, 0x0, 0x8, 0x0, 0x0, 0x5, 0x6D, 0x5, 0xC4, 0x0, 0x12, 0x0, 0x0, 0x21, 0x23, 0x11, 0x1, 0x21, 0x1, 0x13, 0x36, 0x36, 0x33, 0x32, 0x17, 0x7, 0x26, 0x23, 0x22, 0x6, 0x7, 0x3, 0x2, 0xEF, 0xFE, 0xFE, 0x17, 0x1, 0x1A, 0x1, 0x4E, 0xA4, 0x71, 0x8F, 0x72, 0x82, 0x65, 0x59, 0x2C, 0x32, 0x3F, 0x4C, 0x41, 0xFB, 0x2, 0x18, 0x3, 0x98, 0xFD, 0x4D, 0x1, 0x51, 0xE8, 0x8E, 0x45, 0xB1, 0x1B, 0x7D, 0x7C, 0xFE, 0x27, 0x0, 0x1, 0x0, 0xC, 0xFE, 0x4B, 0x4, 0xDD, 0x5, 0x52, 0x0, 0x1C, 0x0, 0x0, 0x13, 0x22, 0x27, 0x35, 0x17, 0x32, 0x36, 0x37, 0x37, 0x1, 0x21, 0x13, 0x17, 0x13, 0x3E, 0x2, 0x33, 0x32, 0x17, 0x7, 0x26, 0x23, 0x22, 0x6, 0x7, 0x1, 0x2, 0x7, 0xD9, 0x23, 0x52, 0x2E, 0x56, 0x5D, 0x1F, 0x25, 0xFE, 0x83, 0x1, 0x7, 0xD1, 0x11, 0xD0, 0x19, 0x43, 0x7B, 0x6B, 0x77, 0x5F, 0x37, 0x3E, 0x2E, 0x38, 0x44, 0x27, 0xFE, 0x95, 0x59, 0xD8, 0xFE, 0x4B, 0x11, 0xBC, 0x3, 0x3D, 0x51, 0x62, 0x4, 0x35, 0xFD, 0x63, 0x4E, 0x2, 0xA9, 0x50, 0xA0, 0x6A, 0x4E, 0x95, 0x20, 0x6B, 0x76, 0xFB, 0xBA, 0xFE, 0xF4, 0x10, 0x0, 0x1, 0x0, 0x50, 0x0, 0x0, 0x4, 0x8C, 0x5, 0xB0, 0x0, 0x11, 0x0, 0x0, 0x33, 0x35, 0x1, 0x21, 0x35, 0x21, 0x1, 0x21, 0x35, 0x21, 0x15, 0x1, 0x21, 0x15, 0x21, 0x1, 0x21, 0x15, 0x50, 0x1, 0x53, 0xFE, 0xDD, 0x1, 0x99, 0x1, 0x29, 0xFD, 0x14, 0x4, 0x1E, 0xFE, 0xBB, 0x1, 0x1A, 0xFE, 0x71, 0xFE, 0xC8, 0x3, 0xA, 0xA4, 0x1, 0xEA, 0xAA, 0x1, 0xAD, 0xCB, 0xA0, 0xFE, 0x28, 0xAA, 0xFE, 0x3C, 0xCA, 0x0, 0x1, 0x0, 0x59, 0x0, 0x0, 0x3, 0xC7, 0x4, 0x3A, 0x0, 0x11, 0x0, 0x0, 0x33, 0x35, 0x13, 0x23, 0x35, 0x21, 0x37, 0x21, 0x35, 0x21, 0x15, 0x3, 0x33, 0x15, 0x21, 0x3, 0x21, 0x15, 0x59, 0xE7, 0xB3, 0x1, 0x33, 0xBF, 0xFD, 0xE5, 0x3, 0x4E, 0xDF, 0xAB, 0xFE, 0xD5, 0xCB, 0x2, 0x3F, 0x9F, 0x1, 0x31, 0xAA, 0xFC, 0xC4, 0x99, 0xFE, 0xD9, 0xAA, 0xFE, 0xF3, 0xC3, 0x0, 0x1, 0x0, 0x4A, 0xFE, 0x59, 0x4, 0xCF, 0x5, 0xB0, 0x0, 0x19, 0x0, 0x0, 0x0, 0x0, 0x27, 0x33, 0x16, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x23, 0x35, 0x1, 0x21, 0x35, 0x21, 0x15, 0x1, 0x16, 0x0, 0x11, 0x10, 0x0, 0x1, 0x78, 0xFE, 0xE6, 0x14, 0xFD, 0x13, 0x86, 0xA3, 0xB3, 0x9D, 0xAD, 0xB0, 0xF3, 0x1, 0xC0, 0xFD, 0x1E, 0x4, 0x18, 0xFE, 0x36, 0xFA, 0x1, 0x26, 0xFE, 0xBF, 0xFE, 0x59, 0x1, 0x1A, 0xD3, 0x8F, 0x94, 0xC4, 0xCB, 0xE0, 0xB6, 0xA2, 0x1, 0xFB, 0xCB, 0x9C, 0xFD, 0xF5, 0xE, 0xFE, 0xD9, 0xFE, 0xDE, 0xFE, 0xCE, 0xFE, 0xD9, 0x0, 0x1, 0x0, 0x64, 0xFE, 0x59, 0x4, 0xE9, 0x5, 0xB0, 0x0, 0x19, 0x0, 0x0, 0x0, 0x0, 0x11, 0x10, 0x0, 0x37, 0x1, 0x35, 0x21, 0x15, 0x21, 0x1, 0x15, 0x23, 0x22, 0x6, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x37, 0x33, 0x6, 0x0, 0x1, 0xA5, 0xFE, 0xBF, 0x1, 0x27, 0xFB, 0xFE, 0x36, 0x4, 0x16, 0xFD, 0x20, 0x1, 0xC0, 0xF4, 0xB2, 0xAC, 0x9E, 0xB2, 0xA4, 0x86, 0x13, 0xFC, 0x14, 0xFE, 0xE6, 0xFE, 0x59, 0x1, 0x27, 0x1, 0x32, 0x1, 0x22, 0x1, 0x27, 0xE, 0x2, 0xB, 0x9C, 0xCB, 0xFE, 0x5, 0xA2, 0xB7, 0xDF, 0xCB, 0xC4, 0x94, 0x8F, 0xD3, 0xFE, 0xE6, 0x0, 0x1, 0x0, 0x53, 0xFE, 0x75, 0x4, 0x3C, 0x4, 0x3A, 0x0, 0x1B, 0x0, 0x0, 0x25, 0x14, 0x6, 0x6, 0x23, 0x22, 0x24, 0x35, 0x34, 0x36, 0x37, 0x1, 0x37, 0x21, 0x15, 0x21, 0x1, 0x15, 0x23, 0x6, 0x6, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x4, 0x3C, 0x90, 0xE0, 0x78, 0xDF, 0xFE, 0xDE, 0xDA, 0xC7, 0xFE, 0x89, 0x1, 0x3, 0x8C, 0xFD, 0x9C, 0x1, 0x5C, 0x96, 0x91, 0x95, 0x8E, 0x80, 0x6F, 0x86, 0x1D, 0x95, 0xBB, 0x58, 0xE0, 0xCC, 0xC3, 0xE7, 0x18, 0x1, 0xBC, 0x9B, 0xC4, 0xFE, 0x6F, 0xAB, 0x2, 0x82, 0x95, 0x64, 0x85, 0x87, 0x5E, 0x0, 0x1, 0x0, 0x45, 0xFE, 0x4B, 0x3, 0xE3, 0x4, 0x3A, 0x0, 0x24, 0x0, 0x0, 0x1, 0x22, 0x26, 0x35, 0x34, 0x36, 0x37, 0x36, 0x36, 0x35, 0x34, 0x27, 0x23, 0x35, 0x1, 0x21, 0x35, 0x21, 0x17, 0x1, 0x16, 0x16, 0x15, 0x14, 0x6, 0x7, 0x6, 0x6, 0x15, 0x14, 0x33, 0x32, 0x36, 0x37, 0x33, 0x14, 0x6, 0x1, 0xFB, 0xC7, 0xEF, 0xC9, 0xC8, 0x7E, 0x5F, 0xAC, 0xD3, 0x1, 0x41, 0xFE, 0x4, 0x3, 0x69, 0x1, 0xFE, 0xBA, 0x7A, 0x89, 0xE2, 0xAF, 0x88, 0x53, 0xC4, 0x4D, 0x8E, 0x5, 0xEC, 0xEB, 0xFE, 0x4B, 0xB8, 0x90, 0x88, 0x97, 0x29, 0x1A, 0x3E, 0x3D, 0x71, 0x3, 0x93, 0x1, 0x0, 0xC3, 0x8F, 0xFE, 0xDC, 0x20, 0x9B, 0x66, 0x92, 0x90, 0x25, 0x1D, 0x4A, 0x32, 0x85, 0x4F, 0x65, 0x86, 0xE4, 0x0, 0x1, 0x0, 0x51, 0x0, 0x0, 0x4, 0x58, 0x5, 0xC4, 0x0, 0x1E, 0x0, 0x0, 0x25, 0x15, 0x21, 0x35, 0x1, 0x21, 0x35, 0x21, 0x36, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x23, 0x34, 0x0, 0x33, 0x32, 0x16, 0x15, 0x14, 0x7, 0x33, 0x15, 0x21, 0x7, 0x1, 0x4, 0x41, 0xFC, 0x2C, 0x1, 0xB8, 0xFE, 0xF1, 0x1, 0xA1, 0x35, 0x29, 0x71, 0x68, 0x7C, 0x7C, 0xF3, 0x1, 0x2, 0xEC, 0xDA, 0xEF, 0x4E, 0x9E, 0xFE, 0xE7, 0x33, 0xFE, 0x90, 0xC3, 0xC3, 0xA8, 0x1, 0xDF, 0xAB, 0x48, 0x6B, 0x35, 0x64, 0x83, 0x97, 0x75, 0xBF, 0x1, 0x10, 0xDA, 0xB6, 0x7B, 0x87, 0xAB, 0x3A, 0xFE, 0x76, 0x0, 0x1, 0x0, 0x3F, 0xFF, 0xEC, 0x4, 0x60, 0x5, 0xB0, 0x0, 0x1E, 0x0, 0x0, 0x5, 0x22, 0x24, 0x27, 0x33, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x7, 0x27, 0x13, 0x23, 0x35, 0x21, 0x15, 0x21, 0x3, 0x36, 0x33, 0x32, 0x12, 0x15, 0x14, 0x2, 0x2, 0x81, 0xB6, 0xFE, 0xE9, 0xD, 0xEB, 0x1C, 0xD2, 0x77, 0x76, 0x83, 0x80, 0x55, 0x58, 0x27, 0xC2, 0x39, 0xCE, 0x3, 0xF2, 0xFD, 0xBC, 0x28, 0x64, 0x80, 0xCF, 0xE8, 0xED, 0x14, 0xD3, 0xCB, 0xDB, 0xA7, 0x83, 0x7D, 0xA2, 0x31, 0x25, 0x30, 0x2, 0xD, 0xD1, 0xD1, 0xFE, 0xA4, 0x39, 0xFE, 0xF9, 0xE3, 0xCA, 0xFE, 0xE4, 0x0, 0x1, 0x0, 0x2E, 0xFF, 0xF0, 0x3, 0xF2, 0x4, 0x3A, 0x0, 0x20, 0x0, 0x0, 0x5, 0x22, 0x26, 0x26, 0x35, 0x37, 0x16, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x7, 0x27, 0x13, 0x23, 0x35, 0x21, 0x15, 0x21, 0x7, 0x36, 0x36, 0x37, 0x36, 0x16, 0x15, 0x14, 0x6, 0x2, 0x33, 0x68, 0xCC, 0x86, 0xED, 0x2, 0x70, 0x5B, 0x6B, 0x61, 0x67, 0x62, 0x81, 0x3C, 0xD5, 0x31, 0xA7, 0x3, 0x84, 0xFE, 0x4, 0x1D, 0x23, 0x75, 0x3D, 0xB7, 0xCD, 0xD1, 0x10, 0x46, 0x91, 0x71, 0x11, 0x46, 0x50, 0x66, 0x52, 0x53, 0x67, 0x53, 0xD, 0x1, 0x94, 0xC7, 0xC7, 0xD5, 0x14, 0x23, 0x1, 0x2, 0xC3, 0xB1, 0xA0, 0xD4, 0x0, 0x1, 0x0, 0x4C, 0xFF, 0xEC, 0x3, 0xCA, 0x5, 0x41, 0x0, 0x21, 0x0, 0x0, 0x5, 0x22, 0x26, 0x35, 0x33, 0x16, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x2E, 0x2, 0x27, 0x35, 0x23, 0x35, 0x33, 0x11, 0x33, 0x11, 0x33, 0x15, 0x23, 0x15, 0x14, 0x1E, 0x2, 0x15, 0x14, 0x6, 0x2, 0x15, 0xDF, 0xEA, 0xEC, 0x5, 0x8D, 0x4D, 0x5E, 0x67, 0x6E, 0x91, 0x6C, 0x1, 0xB3, 0xB3, 0xF2, 0xC0, 0xC0, 0x6D, 0x8E, 0x6D, 0xEE, 0x14, 0xE4, 0x86, 0x65, 0x4F, 0x49, 0x3B, 0x45, 0x4E, 0x53, 0x8C, 0x81, 0x6E, 0xB3, 0x1, 0x7, 0xFE, 0xF9, 0xB3, 0x66, 0x63, 0x5E, 0x46, 0x71, 0x75, 0x90, 0xB8, 0x0, 0x2, 0x0, 0x7D, 0xFE, 0x60, 0x4, 0x31, 0x4, 0x4E, 0x0, 0xE, 0x0, 0x18, 0x0, 0x0, 0x1, 0x23, 0x11, 0x33, 0x17, 0x36, 0x33, 0x32, 0x12, 0x15, 0x15, 0x14, 0x2, 0x4, 0x7, 0x13, 0x22, 0x7, 0x11, 0x36, 0x24, 0x37, 0x35, 0x34, 0x26, 0x1, 0x6F, 0xF2, 0xDE, 0xB, 0x6C, 0xB8, 0xCE, 0xD9, 0xAE, 0xFE, 0xC3, 0xD7, 0xD7, 0x96, 0x41, 0xCB, 0x1, 0x2, 0x2, 0x75, 0xFE, 0x60, 0x5, 0xDA, 0x6E, 0x82, 0xFE, 0xD0, 0xF8, 0x14, 0xCB, 0xFE, 0xFA, 0xA9, 0x3E, 0x4, 0x2E, 0x7D, 0xFD, 0xF, 0x37, 0xEB, 0xD0, 0x1B, 0x92, 0xCF, 0x0, 0x1, 0x0, 0xA7, 0x0, 0x0, 0x1, 0x4E, 0x5, 0xB0, 0x0, 0x3, 0x0, 0x0, 0x1, 0x11, 0x23, 0x11, 0x1, 0x4E, 0xA7, 0x5, 0xB0, 0xFA, 0x50, 0x5, 0xB0, 0xFF, 0xFF, 0x0, 0xA7, 0x0, 0x0, 0x2, 0x5C, 0x5, 0xB0, 0x0, 0x26, 0x0, 0xD4, 0x0, 0x0, 0x0, 0x7, 0x0, 0xD4, 0x1, 0xE, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x14, 0x0, 0x0, 0x2, 0xB2, 0x5, 0xB0, 0x0, 0x26, 0x0, 0xD4, 0x6D, 0x0, 0x0, 0x27, 0x7, 0xA4, 0xFF, 0x84, 0x1, 0x7, 0x0, 0x7, 0x7, 0xA4, 0xFF, 0x84, 0xFF, 0x27, 0xFF, 0xFF, 0x0, 0x90, 0xFF, 0xF2, 0x1, 0xA3, 0x5, 0xB0, 0x0, 0x6, 0x0, 0x6, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x95, 0x0, 0x0, 0x9, 0x25, 0x7, 0x41, 0x0, 0x26, 0x0, 0x29, 0x0, 0x0, 0x0, 0x27, 0x0, 0x3F, 0x4, 0x99, 0x0, 0x0, 0x0, 0x7, 0x1, 0x78, 0x5, 0x34, 0x1, 0x3F, 0x0, 0x4, 0x0, 0x95, 0x0, 0x0, 0x8, 0x8F, 0x5, 0xF2, 0x0, 0x8, 0x0, 0x12, 0x0, 0x1C, 0x0, 0x26, 0x0, 0x0, 0x1, 0x17, 0x37, 0x33, 0x15, 0x5, 0x23, 0x25, 0x35, 0x1, 0x11, 0x33, 0x32, 0x12, 0x37, 0x35, 0x34, 0x26, 0x23, 0x1, 0x35, 0x1, 0x21, 0x35, 0x21, 0x15, 0x1, 0x21, 0x15, 0x21, 0x11, 0x21, 0x20, 0x0, 0x11, 0x15, 0x10, 0x0, 0x21, 0x6, 0x4D, 0x8C, 0x8B, 0xD0, 0xFE, 0xF3, 0x9D, 0xFE, 0xF5, 0xFC, 0x12, 0xA6, 0xCC, 0xD0, 0x2, 0xCF, 0xC4, 0x2, 0xDF, 0x2, 0x25, 0xFD, 0xE5, 0x3, 0x4F, 0xFD, 0xD6, 0x2, 0x3F, 0xF8, 0x6, 0x1, 0xAD, 0x1, 0x25, 0x1, 0x6B, 0xFE, 0x93, 0xFE, 0xD2, 0x5, 0xF2, 0x8F, 0x8F, 0x12, 0xFC, 0xFB, 0x13, 0xFE, 0xF3, 0xFB, 0xE5, 0x1, 0x0, 0xE1, 0x53, 0xEC, 0xFB, 0xFB, 0x1B, 0x9F, 0x2, 0xD7, 0xC4, 0x99, 0xFD, 0x22, 0xC3, 0x5, 0xB0, 0xFE, 0x87, 0xFE, 0xC5, 0x49, 0xFE, 0xC5, 0xFE, 0x88, 0x0, 0x4, 0x0, 0x50, 0xFF, 0xEC, 0x7, 0xD1, 0x6, 0x18, 0x0, 0x8, 0x0, 0x14, 0x0, 0x24, 0x0, 0x2E, 0x0, 0x0, 0x1, 0x17, 0x37, 0x33, 0x15, 0x5, 0x23, 0x25, 0x35, 0x1, 0x32, 0x37, 0x11, 0x26, 0x23, 0x22, 0x6, 0x15, 0x15, 0x14, 0x16, 0x5, 0x27, 0x6, 0x23, 0x22, 0x2, 0x35, 0x35, 0x34, 0x12, 0x33, 0x32, 0x17, 0x11, 0x33, 0x11, 0x33, 0x35, 0x1, 0x21, 0x35, 0x21, 0x15, 0x1, 0x21, 0x15, 0x5, 0x8F, 0x8C, 0x8B, 0xD0, 0xFE, 0xF3, 0x9D, 0xFE, 0xF5, 0xFD, 0x76, 0x95, 0x45, 0x44, 0x94, 0x84, 0x73, 0x72, 0x1, 0x7D, 0x11, 0x6D, 0xBA, 0xC3, 0xE6, 0xE5, 0xC6, 0xAC, 0x6A, 0xF3, 0x5F, 0x2, 0x25, 0xFD, 0xE5, 0x3, 0x4F, 0xFD, 0xD6, 0x2, 0x3F, 0x5, 0xF2, 0x8F, 0x8F, 0x12, 0xFC, 0xFB, 0x13, 0xFA, 0xC1, 0x86, 0x1, 0xCD, 0x82, 0xD0, 0x92, 0x15, 0x91, 0xCD, 0xB3, 0x75, 0x89, 0x1, 0x39, 0xEC, 0x15, 0xF7, 0x1, 0x31, 0x77, 0x2, 0x41, 0xF9, 0xE8, 0x9F, 0x2, 0xD7, 0xC4, 0x99, 0xFD, 0x22, 0xC3, 0x0, 0x1, 0x0, 0x6A, 0xFF, 0xEC, 0x5, 0x89, 0x5, 0xC4, 0x0, 0x27, 0x0, 0x0, 0x25, 0x6, 0x6, 0x23, 0x20, 0x0, 0x11, 0x35, 0x10, 0x0, 0x21, 0x20, 0x0, 0x17, 0x23, 0x26, 0x26, 0x23, 0x22, 0x6, 0x7, 0x15, 0x14, 0x12, 0x33, 0x32, 0x36, 0x37, 0x35, 0x21, 0x35, 0x21, 0x35, 0x21, 0x35, 0x21, 0x11, 0x33, 0x15, 0x23, 0x4, 0xF0, 0x2E, 0xF5, 0xF5, 0xFE, 0xED, 0xFE, 0xA5, 0x1, 0x3E, 0x1, 0x1A, 0x1, 0xB, 0x1, 0x9, 0x1A, 0xF8, 0x13, 0x8A, 0x95, 0xB0, 0xAB, 0x2, 0xC8, 0xAF, 0x83, 0x77, 0x1A, 0xFE, 0xF8, 0x1, 0x8, 0xFE, 0xD5, 0x2, 0x27, 0x99, 0x99, 0xBE, 0x3D, 0x95, 0x1, 0x6E, 0x1, 0x4E, 0x5F, 0x1, 0x4E, 0x1, 0x6F, 0xFE, 0xFA, 0xCB, 0x71, 0x95, 0xFE, 0xE8, 0x6B, 0xF0, 0xFE, 0xFE, 0x3C, 0x1C, 0x38, 0x9E, 0x48, 0xBF, 0xFE, 0xF9, 0x9E, 0x0, 0x2, 0x0, 0x25, 0xFD, 0xFF, 0x4, 0x7D, 0x4, 0x4E, 0x0, 0xB, 0x0, 0x2B, 0x0, 0x0, 0x25, 0x32, 0x37, 0x11, 0x26, 0x23, 0x22, 0x6, 0x15, 0x15, 0x14, 0x16, 0x13, 0x22, 0x26, 0x27, 0x37, 0x16, 0x33, 0x32, 0x37, 0x21, 0x35, 0x21, 0x35, 0x6, 0x23, 0x22, 0x2, 0x35, 0x35, 0x34, 0x12, 0x33, 0x32, 0x17, 0x37, 0x33, 0x11, 0x33, 0x15, 0x23, 0x6, 0x4, 0x2, 0x49, 0x95, 0x45, 0x43, 0x95, 0x84, 0x79, 0x78, 0x65, 0x58, 0xEB, 0x52, 0x6C, 0x6E, 0xAD, 0xBB, 0x38, 0xFD, 0x15, 0x2, 0xFE, 0x6A, 0xAE, 0xC6, 0xEA, 0xE9, 0xC9, 0xBA, 0x69, 0xA, 0xDC, 0x67, 0x74, 0x24, 0xFF, 0x0, 0xB3, 0x7F, 0x1, 0xDA, 0x7C, 0xD0, 0x92, 0x15, 0x91, 0xCD, 0xFD, 0x4C, 0x45, 0x63, 0x8E, 0x77, 0x8F, 0x7F, 0x96, 0x76, 0x1, 0x39, 0xEC, 0x15, 0xF7, 0x1, 0x31, 0x7F, 0x6B, 0xFB, 0x92, 0x7F, 0xA1, 0xAD, 0xFF, 0xFF, 0x0, 0x4A, 0xFE, 0x59, 0x4, 0xCF, 0x7, 0x29, 0x0, 0x26, 0x0, 0xCB, 0x0, 0x0, 0x0, 0x7, 0x1, 0x78, 0x0, 0x90, 0x1, 0x27, 0x0, 0x2, 0x0, 0x5E, 0xFE, 0x75, 0x4, 0x46, 0x5, 0xF2, 0x0, 0x8, 0x0, 0x24, 0x0, 0x0, 0x1, 0x17, 0x37, 0x33, 0x15, 0x5, 0x23, 0x25, 0x35, 0x1, 0x22, 0x26, 0x26, 0x35, 0x33, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x23, 0x35, 0x1, 0x21, 0x35, 0x21, 0x17, 0x1, 0x16, 0x16, 0x15, 0x14, 0x4, 0x1, 0xB4, 0x8B, 0x8C, 0xCF, 0xFE, 0xF4, 0x9D, 0xFE, 0xF5, 0x1, 0x60, 0x77, 0xE1, 0x90, 0xF3, 0x85, 0x70, 0x80, 0x8E, 0x9B, 0x93, 0x8E, 0x1, 0x5C, 0xFD, 0x9B, 0x3, 0x8D, 0x1, 0xFE, 0x89, 0xC7, 0xD9, 0xFE, 0xDF, 0x5, 0xF2, 0x8F, 0x8F, 0x12, 0xFC, 0xFB, 0x13, 0xF8, 0x83, 0x58, 0xBB, 0x95, 0x5E, 0x87, 0x85, 0x64, 0x97, 0x82, 0xAB, 0x1, 0x91, 0xC4, 0x9B, 0xFE, 0x44, 0x18, 0xE7, 0xC3, 0xCC, 0xE0, 0x0, 0x1, 0x0, 0x95, 0xFF, 0xEC, 0x8, 0x26, 0x5, 0xB0, 0x0, 0x18, 0x0, 0x0, 0x5, 0x22, 0x24, 0x35, 0x35, 0x21, 0x11, 0x23, 0x11, 0x33, 0x11, 0x21, 0x11, 0x33, 0x11, 0x12, 0x21, 0x20, 0x13, 0x11, 0x33, 0x11, 0x6, 0x4, 0x7, 0x6, 0x20, 0xE9, 0xFE, 0xE5, 0xFD, 0x75, 0xFC, 0xFC, 0x2, 0x8B, 0xFD, 0x4, 0x1, 0x3, 0x1, 0x5, 0x5, 0xFC, 0x1, 0xFE, 0xDF, 0xE0, 0x14, 0xFD, 0xFA, 0xA5, 0xFD, 0x78, 0x5, 0xB0, 0xFD, 0xA2, 0x2, 0x5E, 0xFC, 0x2A, 0xFE, 0xDC, 0x1, 0x22, 0x2, 0x61, 0xFD, 0xA7, 0xF8, 0xFB, 0x1, 0x0, 0x2, 0x0, 0x95, 0xFE, 0x60, 0x4, 0xE7, 0x5, 0xC4, 0x0, 0xD, 0x0, 0x17, 0x0, 0x0, 0x1, 0x23, 0x11, 0x33, 0x15, 0x36, 0x33, 0x20, 0x0, 0x13, 0x15, 0x10, 0x0, 0x5, 0x1, 0x22, 0x7, 0x11, 0x24, 0x0, 0x35, 0x35, 0x34, 0x26, 0x1, 0x91, 0xFC, 0xFC, 0x6C, 0x94, 0x1, 0x11, 0x1, 0x43, 0x2, 0xFE, 0x2D, 0xFE, 0x7D, 0x1, 0x0, 0xA7, 0x59, 0x1, 0x32, 0x1, 0x27, 0x9F, 0xFE, 0x60, 0x7, 0x50, 0x23, 0x37, 0xFE, 0xCC, 0xFE, 0xCE, 0x3B, 0xFE, 0xB3, 0xFD, 0xF5, 0x67, 0x5, 0x95, 0x72, 0xFB, 0xAE, 0x61, 0x1, 0xAC, 0xE1, 0x36, 0xCE, 0xD2, 0x0, 0x1, 0x0, 0x4E, 0xFE, 0x4B, 0x4, 0x6F, 0x5, 0xC4, 0x0, 0x20, 0x0, 0x0, 0x13, 0x35, 0x24, 0x0, 0x35, 0x34, 0x27, 0x6, 0x5, 0x27, 0x24, 0x24, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x23, 0x34, 0x24, 0x33, 0x32, 0x4, 0x15, 0x14, 0x7, 0x16, 0x15, 0x14, 0x2, 0x4, 0xB0, 0x1, 0x52, 0x1, 0x70, 0x53, 0xE6, 0xFE, 0x77, 0x1, 0x1, 0x64, 0x1, 0x4B, 0x82, 0x94, 0x66, 0x98, 0xFC, 0x1, 0x2E, 0xCC, 0xF2, 0x1, 0x1F, 0xA1, 0xB7, 0xF9, 0xFE, 0x4F, 0xFE, 0x4B, 0xCA, 0x44, 0x1, 0x9, 0xEF, 0xAA, 0x38, 0x97, 0x61, 0xBB, 0x6B, 0xE7, 0xCE, 0x5F, 0x84, 0x6E, 0x5F, 0xBF, 0xD9, 0xD3, 0xCC, 0xD1, 0xA5, 0x6B, 0xF7, 0xE7, 0xFE, 0xCE, 0xB8, 0x0, 0x1, 0x0, 0x48, 0xFE, 0x4B, 0x3, 0xAE, 0x4, 0x4D, 0x0, 0x20, 0x0, 0x0, 0x13, 0x35, 0x36, 0x24, 0x35, 0x34, 0x27, 0x6, 0x5, 0x35, 0x3E, 0x2, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x23, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x7, 0x16, 0x15, 0x10, 0x0, 0xAC, 0xFB, 0x1, 0x13, 0x31, 0xB5, 0xFE, 0xD8, 0x86, 0xE7, 0x8E, 0x4D, 0x62, 0x51, 0x6D, 0xF2, 0xFA, 0xAF, 0xC5, 0xE4, 0x81, 0x95, 0xFE, 0x68, 0xFE, 0x4B, 0xBA, 0x45, 0xBE, 0xBE, 0x6B, 0x42, 0x74, 0x45, 0xB2, 0x26, 0x68, 0x98, 0x6D, 0x3A, 0x59, 0x4D, 0x3E, 0x98, 0xAE, 0xA1, 0x9A, 0xA6, 0x86, 0x61, 0xC9, 0xFE, 0xF3, 0xFE, 0xD7, 0x0, 0x1, 0x0, 0x95, 0xFE, 0x60, 0x4, 0xBB, 0x5, 0xC4, 0x0, 0x11, 0x0, 0x0, 0x1, 0x23, 0x11, 0x34, 0x26, 0x23, 0x22, 0x7, 0x11, 0x23, 0x11, 0x33, 0x15, 0x36, 0x33, 0x32, 0x4, 0x15, 0x4, 0xBB, 0xF4, 0x96, 0x86, 0xA2, 0x81, 0xF3, 0xF3, 0x91, 0xA1, 0xCF, 0x1, 0x32, 0xFE, 0x60, 0x5, 0x8B, 0x8F, 0x84, 0x4E, 0xFB, 0x50, 0x5, 0xB0, 0x3A, 0x4E, 0xF0, 0xE9, 0x0, 0x3, 0x0, 0x50, 0xFE, 0x4B, 0x5, 0xB4, 0x6, 0x0, 0x0, 0x1C, 0x0, 0x28, 0x0, 0x31, 0x0, 0x0, 0x1, 0x22, 0x26, 0x27, 0x7, 0x27, 0x37, 0x35, 0x6, 0x23, 0x22, 0x2, 0x35, 0x35, 0x34, 0x12, 0x33, 0x32, 0x17, 0x11, 0x33, 0x11, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x6, 0x1, 0x32, 0x37, 0x11, 0x26, 0x23, 0x22, 0x6, 0x15, 0x15, 0x14, 0x16, 0x1, 0x32, 0x34, 0x23, 0x22, 0x7, 0x15, 0x14, 0x16, 0x4, 0x6C, 0x86, 0x97, 0x20, 0x95, 0x7C, 0xF3, 0x6B, 0xAD, 0xC3, 0xE6, 0xE5, 0xC6, 0xAC, 0x6A, 0xF3, 0x3C, 0x40, 0x8B, 0xA9, 0xAE, 0xFD, 0x31, 0x95, 0x45, 0x44, 0x94, 0x84, 0x73, 0x72, 0x2, 0xBB, 0x61, 0x6B, 0x2F, 0x32, 0x33, 0xFE, 0x4B, 0x65, 0x4D, 0x8F, 0x93, 0xE0, 0x82, 0x77, 0x1, 0x39, 0xEC, 0x15, 0xF7, 0x1, 0x31, 0x77, 0x2, 0x29, 0xFA, 0x5C, 0xE, 0x8E, 0x80, 0x78, 0x99, 0x2, 0x68, 0x86, 0x1, 0xCD, 0x82, 0xD0, 0x92, 0x15, 0x91, 0xCD, 0xFE, 0x47, 0xBC, 0x16, 0x37, 0x30, 0x3F, 0x0, 0x2, 0x0, 0x67, 0xFF, 0xEB, 0x4, 0xD0, 0x5, 0xC4, 0x0, 0x23, 0x0, 0x2F, 0x0, 0x0, 0x5, 0x22, 0x24, 0x35, 0x34, 0x37, 0x26, 0x35, 0x34, 0x36, 0x37, 0x15, 0x6, 0x6, 0x15, 0x14, 0x16, 0x33, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x27, 0x35, 0x16, 0x16, 0x15, 0x14, 0x7, 0x16, 0x15, 0x14, 0x4, 0x23, 0x3, 0x22, 0x6, 0x15, 0x10, 0x21, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x2, 0x90, 0xEC, 0xFE, 0xC3, 0xBB, 0xBB, 0xEB, 0xAF, 0x4E, 0x4F, 0xA6, 0x80, 0x23, 0x80, 0xA6, 0x50, 0x4E, 0xB0, 0xEB, 0xBC, 0xBB, 0xFE, 0xC3, 0xED, 0x15, 0x8A, 0xA2, 0x1, 0x41, 0x8B, 0xA2, 0xA2, 0x8B, 0x15, 0xEA, 0xE8, 0xF1, 0x78, 0x60, 0xD2, 0xB9, 0xAF, 0x4, 0xC1, 0x13, 0x48, 0x50, 0x6F, 0x4F, 0x4F, 0x6F, 0x50, 0x48, 0x13, 0xC1, 0x4, 0xAF, 0xB9, 0xD2, 0x60, 0x78, 0xEF, 0xE9, 0xEB, 0x2, 0xDE, 0x86, 0x86, 0xFE, 0xFD, 0x80, 0x85, 0x84, 0x86, 0x0, 0x2, 0x0, 0x55, 0xFF, 0xEB, 0x4, 0xB4, 0x6, 0x15, 0x0, 0x23, 0x0, 0x31, 0x0, 0x0, 0x5, 0x22, 0x24, 0x35, 0x34, 0x37, 0x26, 0x35, 0x34, 0x36, 0x37, 0x15, 0x6, 0x6, 0x15, 0x14, 0x16, 0x33, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x27, 0x35, 0x16, 0x16, 0x15, 0x14, 0x7, 0x16, 0x15, 0x14, 0x4, 0x23, 0x3, 0x22, 0x6, 0x15, 0x14, 0x16, 0x33, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x2, 0x7A, 0xEC, 0xFE, 0xC7, 0xBF, 0xBF, 0xE7, 0xAF, 0x4D, 0x56, 0xA9, 0x82, 0x23, 0x83, 0xA8, 0x55, 0x4D, 0xAF, 0xE6, 0xBF, 0xBF, 0xFE, 0xC7, 0xEC, 0x15, 0x8C, 0xA6, 0xA6, 0x8C, 0x15, 0x8C, 0xA6, 0xA6, 0x8C, 0x15, 0xE8, 0xE8, 0xF3, 0x76, 0x66, 0xEE, 0xC5, 0xD4, 0x4, 0xB9, 0x1E, 0x66, 0x62, 0x86, 0x65, 0x65, 0x86, 0x62, 0x66, 0x1E, 0xB9, 0x4, 0xD4, 0xC5, 0xEE, 0x66, 0x76, 0xF1, 0xE9, 0xE9, 0x2, 0xDD, 0x89, 0x84, 0x82, 0x8B, 0x8A, 0x85, 0x83, 0x88, 0x0, 0x1, 0x0, 0x50, 0xFE, 0xFD, 0x4, 0xE4, 0x5, 0xB0, 0x0, 0x13, 0x0, 0x0, 0x1, 0x23, 0x36, 0x35, 0x34, 0x26, 0x23, 0x21, 0x35, 0x1, 0x21, 0x35, 0x21, 0x15, 0x1, 0x21, 0x16, 0x16, 0x15, 0x14, 0x4, 0xD3, 0xC9, 0x9, 0x40, 0x65, 0xFC, 0xE2, 0x2, 0xF2, 0xFD, 0x14, 0x4, 0x1E, 0xFD, 0xE, 0x1, 0xF3, 0xB3, 0xBC, 0xFE, 0xFD, 0x25, 0x26, 0x4C, 0x6C, 0xA4, 0x4, 0x41, 0xCB, 0xA0, 0xFB, 0xBA, 0x2, 0xAC, 0x9D, 0x44, 0x0, 0x1, 0x0, 0x52, 0xFF, 0x11, 0x4, 0x25, 0x4, 0x3A, 0x0, 0x12, 0x0, 0x0, 0x5, 0x23, 0x36, 0x35, 0x34, 0x26, 0x23, 0x21, 0x35, 0x1, 0x21, 0x35, 0x21, 0x15, 0x1, 0x21, 0x4, 0x11, 0x14, 0x4, 0x14, 0xBF, 0x8, 0x49, 0x65, 0xFD, 0xA3, 0x2, 0x26, 0xFD, 0xE5, 0x3, 0x4E, 0xFD, 0xD6, 0x1, 0x41, 0x1, 0x63, 0xEF, 0x20, 0x2A, 0x47, 0x5E, 0x9F, 0x2, 0xD7, 0xC4, 0x99, 0xFD, 0x22, 0x8, 0xFE, 0xD8, 0x46, 0x0, 0x2, 0x0, 0x14, 0xFE, 0x4B, 0x3, 0xAA, 0x6, 0x0, 0x0, 0x10, 0x0, 0x1B, 0x0, 0x0, 0x1, 0x22, 0x26, 0x27, 0x7, 0x27, 0x37, 0x11, 0x33, 0x11, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x6, 0x27, 0x32, 0x36, 0x35, 0x34, 0x23, 0x22, 0x7, 0x15, 0x14, 0x16, 0x2, 0x63, 0x85, 0x98, 0x21, 0x95, 0x7C, 0xF3, 0xF3, 0x3C, 0x41, 0x8A, 0xA9, 0xAD, 0x97, 0x29, 0x38, 0x6B, 0x30, 0x32, 0x34, 0xFE, 0x4B, 0x64, 0x4E, 0x8F, 0x93, 0xDF, 0x6, 0x20, 0xFA, 0x5C, 0xE, 0x8E, 0x80, 0x78, 0x99, 0xAF, 0x32, 0x2C, 0x5E, 0x17, 0x36, 0x30, 0x3F, 0x0, 0x2, 0x0, 0x7A, 0xFE, 0x4B, 0x5, 0xA9, 0x4, 0x4E, 0x0, 0x1E, 0x0, 0x29, 0x0, 0x0, 0x1, 0x22, 0x26, 0x27, 0x7, 0x27, 0x37, 0x11, 0x34, 0x26, 0x23, 0x22, 0x7, 0x11, 0x23, 0x11, 0x33, 0x17, 0x36, 0x33, 0x32, 0x16, 0x17, 0x11, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x6, 0x27, 0x32, 0x36, 0x35, 0x34, 0x23, 0x22, 0x7, 0x15, 0x14, 0x16, 0x4, 0x62, 0x86, 0x97, 0x21, 0x95, 0x7C, 0xF3, 0x61, 0x5E, 0x91, 0x49, 0xF3, 0xE5, 0x8, 0x77, 0xC2, 0x9C, 0xBC, 0x1, 0x3C, 0x41, 0x8A, 0xA9, 0xAD, 0x97, 0x29, 0x38, 0x6B, 0x30, 0x32, 0x34, 0xFE, 0x4B, 0x65, 0x4E, 0x90, 0x93, 0xDF, 0x2, 0xDE, 0x70, 0x5A, 0x84, 0xFC, 0xFC, 0x4, 0x3A, 0x7C, 0x90, 0xB3, 0xDA, 0xFD, 0x9B, 0xE, 0x8E, 0x80, 0x78, 0x99, 0xAF, 0x32, 0x2C, 0x5E, 0x17, 0x36, 0x30, 0x3F, 0x0, 0x2, 0x0, 0x14, 0xFF, 0xEC, 0x3, 0xAA, 0x5, 0x41, 0x0, 0x18, 0x0, 0x22, 0x0, 0x0, 0x25, 0x14, 0x6, 0x23, 0x22, 0x26, 0x27, 0x7, 0x27, 0x37, 0x11, 0x23, 0x35, 0x33, 0x11, 0x33, 0x11, 0x33, 0x15, 0x23, 0x11, 0x36, 0x33, 0x32, 0x16, 0x5, 0x32, 0x36, 0x35, 0x34, 0x23, 0x22, 0x7, 0x15, 0x14, 0x3, 0xAA, 0xAD, 0x9A, 0x85, 0x98, 0x21, 0x95, 0x7C, 0xF3, 0xB2, 0xB2, 0xF3, 0xBF, 0xBF, 0x3F, 0x3E, 0x8A, 0xA9, 0xFE, 0xBC, 0x29, 0x38, 0x6B, 0x30, 0x32, 0xFC, 0x78, 0x98, 0x64, 0x4E, 0x8F, 0x92, 0xDF, 0x2, 0x7, 0xB3, 0x1, 0x7, 0xFE, 0xF9, 0xB3, 0xFE, 0x75, 0xF, 0x8F, 0xE1, 0x33, 0x2B, 0x5E, 0x17, 0x36, 0x6F, 0x0, 0x1, 0xFF, 0xB5, 0xFE, 0x4B, 0x1, 0x94, 0x4, 0x3A, 0x0, 0xC, 0x0, 0x0, 0x13, 0x33, 0x11, 0x14, 0x6, 0x23, 0x22, 0x27, 0x37, 0x16, 0x33, 0x32, 0x37, 0xA1, 0xF3, 0xBB, 0xA5, 0x45, 0x3A, 0xE, 0x27, 0x3C, 0x7A, 0x1, 0x4, 0x3A, 0xFB, 0x87, 0xB6, 0xC0, 0x11, 0xBF, 0xD, 0xB0, 0x0, 0x3, 0x0, 0x60, 0xFF, 0xEC, 0x6, 0xD6, 0x6, 0x0, 0x0, 0x1B, 0x0, 0x27, 0x0, 0x32, 0x0, 0x0, 0x5, 0x22, 0x27, 0x15, 0x23, 0x27, 0x6, 0x23, 0x22, 0x2, 0x35, 0x35, 0x34, 0x12, 0x33, 0x32, 0x17, 0x11, 0x33, 0x11, 0x36, 0x33, 0x32, 0x12, 0x15, 0x15, 0x14, 0x2, 0x25, 0x32, 0x37, 0x11, 0x26, 0x23, 0x22, 0x6, 0x15, 0x15, 0x14, 0x16, 0x21, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x7, 0x11, 0x16, 0x5, 0x31, 0xB4, 0x6A, 0xDC, 0xC, 0x6C, 0xB6, 0xC4, 0xE5, 0xE5, 0xC6, 0xAB, 0x6A, 0xF3, 0x6A, 0xB2, 0xD1, 0xD6, 0xD7, 0xFC, 0x48, 0x94, 0x45, 0x43, 0x94, 0x84, 0x73, 0x72, 0x3, 0x2F, 0x87, 0x69, 0x66, 0x8C, 0x9B, 0x43, 0x44, 0x14, 0x7C, 0x68, 0x70, 0x84, 0x1, 0x39, 0xEC, 0x15, 0xF7, 0x1, 0x31, 0x76, 0x2, 0x28, 0xFD, 0xD2, 0x7C, 0xFE, 0xCD, 0xF4, 0x15, 0xEF, 0xFE, 0xC9, 0xC7, 0x84, 0x1, 0xD1, 0x80, 0xD0, 0x92, 0x15, 0x91, 0xCD, 0xCA, 0xAA, 0x8F, 0xD2, 0x8C, 0xFE, 0x44, 0x8D, 0x0, 0x3, 0x0, 0x50, 0xFE, 0x60, 0x6, 0xC5, 0x4, 0x4E, 0x0, 0xB, 0x0, 0x17, 0x0, 0x33, 0x0, 0x0, 0x25, 0x32, 0x37, 0x11, 0x26, 0x23, 0x22, 0x6, 0x15, 0x15, 0x14, 0x16, 0x21, 0x32, 0x36, 0x35, 0x35, 0x34, 0x26, 0x23, 0x22, 0x7, 0x11, 0x16, 0x17, 0x22, 0x27, 0x11, 0x23, 0x11, 0x6, 0x23, 0x22, 0x2, 0x35, 0x35, 0x34, 0x12, 0x33, 0x32, 0x17, 0x37, 0x33, 0x17, 0x36, 0x33, 0x32, 0x12, 0x15, 0x15, 0x14, 0x2, 0x2, 0x39, 0x92, 0x45, 0x46, 0x8F, 0x83, 0x76, 0x74, 0x3, 0x26, 0x83, 0x73, 0x75, 0x83, 0x96, 0x41, 0x43, 0xDA, 0xB1, 0x6C, 0xF3, 0x6A, 0xAA, 0xCA, 0xE2, 0xE1, 0xCD, 0xB4, 0x6B, 0xD, 0xC6, 0xA, 0x6D, 0xB7, 0xCE, 0xD9, 0xDA, 0xAF, 0x7C, 0x1, 0xEA, 0x76, 0xD2, 0x92, 0x15, 0x91, 0xD2, 0xD3, 0x90, 0x15, 0x92, 0xCF, 0x7D, 0xFE, 0x23, 0x7F, 0xC3, 0x76, 0xFD, 0xFE, 0x1, 0xFD, 0x71, 0x1, 0x3A, 0xED, 0x14, 0xF7, 0x1, 0x30, 0x7E, 0x6A, 0x6D, 0x81, 0xFE, 0xD0, 0xF8, 0x14, 0xEC, 0xFE, 0xC6, 0x0, 0x3, 0xFF, 0x49, 0xFF, 0x60, 0x5, 0x6A, 0x5, 0xFC, 0x0, 0x2, 0x0, 0x5, 0x0, 0x15, 0x0, 0x0, 0x1, 0x13, 0x27, 0x13, 0x3, 0x3, 0x1, 0x23, 0x7, 0x23, 0x1, 0x1, 0x33, 0x13, 0x1, 0x33, 0x1, 0x1, 0x21, 0x3, 0x21, 0x7, 0x2, 0x11, 0xD7, 0x3E, 0xD4, 0x5F, 0xDE, 0xFE, 0xD9, 0x95, 0x83, 0xB9, 0x1, 0x5, 0x1, 0xEA, 0xE3, 0x6D, 0x1, 0x2A, 0xB8, 0xFE, 0x58, 0x1, 0x81, 0xFE, 0xF8, 0x77, 0xFD, 0xD7, 0x13, 0x2, 0xC6, 0x1, 0x6, 0xB1, 0xFD, 0xA2, 0x1, 0xF, 0xFE, 0xF1, 0xFD, 0xE1, 0xA0, 0x1, 0x3F, 0x5, 0x11, 0xFE, 0xE0, 0x1, 0x6C, 0xFD, 0xFA, 0xFC, 0xA, 0x1, 0x54, 0x17, 0x0, 0x2, 0x0, 0x66, 0xFF, 0x83, 0x4, 0xEC, 0x6, 0x1F, 0x0, 0x8, 0x0, 0x29, 0x0, 0x0, 0x1, 0x10, 0x17, 0x1, 0x26, 0x23, 0x22, 0x6, 0x7, 0x1, 0x22, 0x27, 0x7, 0x23, 0x37, 0x26, 0x2, 0x35, 0x35, 0x10, 0x0, 0x21, 0x32, 0x17, 0x37, 0x33, 0x7, 0x16, 0x16, 0x17, 0x23, 0x26, 0x27, 0x1, 0x16, 0x33, 0x32, 0x36, 0x37, 0x33, 0x6, 0x0, 0x1, 0x65, 0x64, 0x1, 0x62, 0x30, 0x3E, 0xAB, 0xAC, 0x1, 0x1, 0x4C, 0x60, 0x54, 0x2F, 0x9A, 0x45, 0x82, 0x91, 0x1, 0x44, 0x1, 0x13, 0x62, 0x53, 0x29, 0x9A, 0x3D, 0x6D, 0x79, 0xE, 0xFC, 0x10, 0x38, 0xFE, 0x9C, 0x31, 0x3C, 0xA3, 0x89, 0x12, 0xFC, 0x13, 0xFE, 0xE5, 0x2, 0x9D, 0xFE, 0xFA, 0x79, 0x3, 0xCD, 0xD, 0xFA, 0xE4, 0xFC, 0xD2, 0x19, 0x82, 0xBE, 0x53, 0x1, 0x37, 0xD2, 0x76, 0x1, 0x3A, 0x1, 0x77, 0x16, 0x71, 0xA8, 0x41, 0xDC, 0x8B, 0x87, 0x46, 0xFC, 0x2C, 0x10, 0x97, 0x8B, 0xD4, 0xFE, 0xE6, 0x0, 0x2, 0x0, 0x50, 0xFE, 0x60, 0x3, 0xF5, 0x5, 0xB0, 0x0, 0x7, 0x0, 0x26, 0x0, 0x0, 0x1, 0x14, 0x17, 0x13, 0x27, 0x22, 0x6, 0x15, 0x13, 0x22, 0x27, 0x3, 0x23, 0x13, 0x26, 0x11, 0x35, 0x34, 0x12, 0x33, 0x32, 0x17, 0x13, 0x33, 0x3, 0x16, 0x17, 0x23, 0x26, 0x27, 0x3, 0x16, 0x33, 0x32, 0x36, 0x37, 0x33, 0x6, 0x4, 0x1, 0x42, 0x2D, 0xE8, 0x1E, 0x94, 0x63, 0xFA, 0x56, 0x4A, 0x9E, 0x9A, 0xB6, 0xCA, 0xF3, 0xF9, 0x33, 0x2F, 0x89, 0x9A, 0x9B, 0xC9, 0x6, 0xE4, 0x5, 0x34, 0xF6, 0x27, 0x31, 0x58, 0x7A, 0x5, 0xE4, 0x4, 0xFF, 0x0, 0x2, 0xB, 0x92, 0x56, 0x2, 0x66, 0x2, 0xDB, 0x81, 0xFD, 0xBD, 0x16, 0xFE, 0x5E, 0x1, 0xE1, 0x91, 0x1, 0x4B, 0x12, 0xDE, 0x1, 0x41, 0x8, 0x1, 0x6A, 0xFE, 0x67, 0x6C, 0xF4, 0x57, 0x3A, 0xFD, 0x75, 0xE, 0x68, 0x4F, 0x9D, 0xDD, 0xFF, 0xFF, 0x0, 0x1A, 0x0, 0x0, 0x4, 0x72, 0x5, 0xB0, 0x0, 0x26, 0x0, 0x31, 0x4B, 0x0, 0x0, 0x6, 0x7, 0xA4, 0x8A, 0x0, 0x0, 0x2, 0x0, 0x2D, 0xFF, 0x83, 0x4, 0xB0, 0x6, 0x1F, 0x0, 0x2, 0x0, 0x13, 0x0, 0x0, 0x1, 0x37, 0x23, 0x3, 0x35, 0x3, 0x23, 0x1, 0x11, 0x21, 0x35, 0x21, 0x37, 0x33, 0x7, 0x33, 0x15, 0x23, 0x1, 0x11, 0x2, 0xEB, 0x7A, 0x7A, 0xFC, 0xAF, 0xA0, 0x1, 0x4F, 0xFE, 0x3E, 0x3, 0xA0, 0x39, 0x9F, 0x39, 0x44, 0xAC, 0xFE, 0xE7, 0x3, 0xF9, 0xEC, 0xFB, 0x1B, 0xD8, 0xFE, 0xAB, 0x2, 0x8C, 0x2, 0xD6, 0xCB, 0x6F, 0x6F, 0xCB, 0xFD, 0xDD, 0xFD, 0x3E, 0x0, 0x1, 0x0, 0x49, 0xFE, 0x4B, 0x3, 0xC9, 0x4, 0x4E, 0x0, 0x30, 0x0, 0x0, 0x1, 0x34, 0x26, 0x27, 0x26, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x23, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x14, 0x16, 0x17, 0x16, 0x16, 0x15, 0x14, 0x6, 0x23, 0x22, 0x27, 0x16, 0x16, 0x33, 0x32, 0x37, 0x17, 0x6, 0x6, 0x23, 0x22, 0x26, 0x27, 0x3, 0x37, 0x16, 0x33, 0x32, 0x36, 0x2, 0xDA, 0x5B, 0x84, 0xAB, 0xE2, 0xE1, 0xC1, 0xCB, 0xE6, 0xF3, 0x60, 0x5F, 0x5C, 0x58, 0x8E, 0x60, 0xB5, 0xCB, 0xEF, 0xC7, 0x35, 0x30, 0x3B, 0x52, 0x3D, 0x4B, 0x4B, 0x51, 0x28, 0x7B, 0x4A, 0x70, 0x93, 0x3D, 0xE9, 0xC0, 0x53, 0xBA, 0x60, 0x64, 0x1, 0x26, 0x38, 0x4A, 0x1C, 0x24, 0x91, 0x8D, 0x85, 0xC3, 0xC6, 0x92, 0x3F, 0x63, 0x52, 0x36, 0x49, 0x37, 0x15, 0x27, 0x96, 0x8A, 0x90, 0xB8, 0x8, 0x71, 0x7E, 0x43, 0x8C, 0x27, 0x4A, 0x90, 0x6C, 0x1, 0xA4, 0x5E, 0xA7, 0x4A, 0x0, 0x1, 0x0, 0x52, 0xFE, 0x4B, 0x4, 0xB8, 0x4, 0x3A, 0x0, 0x18, 0x0, 0x0, 0x1, 0x22, 0x2E, 0x2, 0x23, 0x21, 0x35, 0x1, 0x21, 0x35, 0x21, 0x15, 0x1, 0x33, 0x32, 0x1E, 0x2, 0x33, 0x32, 0x37, 0x17, 0x6, 0x6, 0x3, 0xC3, 0x77, 0x83, 0x60, 0x7F, 0x73, 0xFE, 0xDB, 0x2, 0x26, 0xFD, 0xE5, 0x3, 0x4E, 0xFD, 0xD6, 0x43, 0x80, 0x9A, 0x64, 0x57, 0x3D, 0x44, 0x4C, 0x52, 0x28, 0x80, 0xFE, 0x4B, 0x84, 0xAD, 0x84, 0x9F, 0x2, 0xD7, 0xC4, 0x99, 0xFD, 0x22, 0x87, 0xB2, 0x85, 0x43, 0x8C, 0x27, 0x4A, 0x0, 0x1, 0x0, 0x37, 0x0, 0x0, 0x3, 0xF1, 0x5, 0xC4, 0x0, 0x18, 0x0, 0x0, 0x21, 0x23, 0x11, 0x33, 0x32, 0x36, 0x35, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x7, 0x23, 0x36, 0x36, 0x33, 0x32, 0x12, 0x15, 0x15, 0x14, 0x2, 0x7, 0x2, 0x86, 0xFC, 0x73, 0x96, 0x61, 0x62, 0x94, 0x63, 0x70, 0x5, 0xEF, 0x5, 0xFB, 0xC4, 0xF9, 0xFD, 0xB6, 0xB5, 0x1, 0xDE, 0xCF, 0x7F, 0x79, 0x7D, 0xD1, 0x76, 0x5E, 0xBB, 0xEA, 0xFE, 0xBF, 0xDE, 0x79, 0xBC, 0xFE, 0xDA, 0x2D, 0x0, 0x1, 0x0, 0x4C, 0x0, 0x0, 0x3, 0xA4, 0x4, 0x4E, 0x0, 0x16, 0x0, 0x0, 0x21, 0x23, 0x11, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x23, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x6, 0x7, 0x2, 0x79, 0xF3, 0x66, 0x72, 0x54, 0x53, 0x71, 0x50, 0x60, 0xF2, 0xEA, 0xB8, 0xDB, 0xDB, 0x93, 0x98, 0x1, 0xD1, 0x82, 0x5C, 0x59, 0x83, 0x77, 0x5D, 0xB5, 0xE2, 0xE1, 0xBF, 0x8C, 0xBF, 0x19, 0xFF, 0xFF, 0x0, 0x1A, 0x0, 0x0, 0x4, 0xF1, 0x5, 0xB0, 0x0, 0x26, 0x0, 0x27, 0x4E, 0x0, 0x0, 0x7, 0x7, 0xA4, 0xFF, 0x8A, 0xFE, 0xD3, 0x0, 0x2, 0x0, 0x22, 0xFF, 0xEC, 0x6, 0x21, 0x5, 0xB0, 0x0, 0x8, 0x0, 0x1D, 0x0, 0x0, 0x25, 0x32, 0x36, 0x35, 0x35, 0x21, 0x15, 0x14, 0x16, 0x17, 0x22, 0x24, 0x35, 0x35, 0x23, 0x35, 0x33, 0x11, 0x33, 0x11, 0x21, 0x11, 0x33, 0x11, 0x33, 0x15, 0x23, 0x15, 0x14, 0x4, 0x3, 0x23, 0x87, 0x9D, 0xFD, 0xB9, 0x9E, 0x85, 0xE9, 0xFE, 0xCA, 0xE2, 0xE2, 0xFC, 0x2, 0x47, 0xFD, 0xDD, 0xDD, 0xFE, 0xC2, 0xB6, 0x91, 0x9C, 0xB5, 0xB5, 0x9C, 0x91, 0xCA, 0xFD, 0xFA, 0xB5, 0xAB, 0x2, 0x6D, 0xFD, 0x93, 0x2, 0x6D, 0xFD, 0x93, 0xAB, 0xB5, 0xFA, 0xFD, 0x0, 0x1, 0x0, 0x12, 0x0, 0x0, 0x5, 0x1C, 0x5, 0xB0, 0x0, 0x6, 0x0, 0x0, 0x21, 0x1, 0x1, 0x21, 0x1, 0x33, 0x1, 0x4, 0x7, 0xFE, 0x8E, 0xFE, 0x92, 0xFE, 0xEB, 0x2, 0xA, 0xF4, 0x2, 0xC, 0x4, 0x73, 0xFB, 0x8D, 0x5, 0xB0, 0xFA, 0x50, 0x0, 0x3, 0x0, 0x95, 0xFF, 0x83, 0x4, 0x4D, 0x6, 0x1F, 0x0, 0x3, 0x0, 0x7, 0x0, 0x1B, 0x0, 0x0, 0x1, 0x13, 0x21, 0x11, 0x13, 0x13, 0x23, 0x11, 0x5, 0x21, 0x7, 0x23, 0x37, 0x21, 0x11, 0x21, 0x37, 0x33, 0x7, 0x33, 0x15, 0x23, 0x3, 0x33, 0x15, 0x23, 0x3, 0x21, 0x2, 0x8C, 0x71, 0xFE, 0x94, 0x47, 0x7D, 0xC4, 0x2, 0xBC, 0xFD, 0xEE, 0x23, 0x9B, 0x23, 0xFE, 0xF5, 0x2, 0xA0, 0x1F, 0x9A, 0x1F, 0x77, 0xAF, 0x70, 0xC0, 0xF7, 0x7D, 0x1, 0xDA, 0x3, 0x52, 0x1, 0x93, 0xFE, 0x6D, 0xFD, 0x78, 0x1, 0xC1, 0xFE, 0x3F, 0xCA, 0x7D, 0x7D, 0x5, 0xB0, 0x6F, 0x6F, 0xCB, 0xFE, 0x6D, 0xC7, 0xFE, 0x3F, 0x0, 0x4, 0x0, 0x54, 0xFE, 0x60, 0x4, 0xC, 0x5, 0xB0, 0x0, 0x5, 0x0, 0xA, 0x0, 0xE, 0x0, 0x2B, 0x0, 0x0, 0x1, 0x22, 0x6, 0x7, 0x33, 0x13, 0x17, 0x34, 0x27, 0x7, 0x33, 0x1, 0x37, 0x23, 0x16, 0x1, 0x22, 0x27, 0x3, 0x23, 0x13, 0x26, 0x3, 0x35, 0x10, 0x0, 0x33, 0x32, 0x17, 0x13, 0x33, 0x3, 0x16, 0x11, 0x15, 0x21, 0x3, 0x16, 0x33, 0x32, 0x37, 0x17, 0x6, 0x6, 0x2, 0x36, 0x66, 0x82, 0xE, 0xBF, 0x63, 0xC0, 0x3E, 0x4A, 0x88, 0xFE, 0x56, 0x44, 0x80, 0x5, 0x1, 0x18, 0x5E, 0x52, 0x9F, 0x9B, 0xB7, 0xCF, 0x3, 0x1, 0x1B, 0xCE, 0x39, 0x33, 0x89, 0x9B, 0x9C, 0xDB, 0xFE, 0x4B, 0x66, 0x35, 0x3E, 0xAB, 0x68, 0x83, 0x34, 0xCB, 0x3, 0x8B, 0x8C, 0x7C, 0x1, 0x5, 0xF3, 0x71, 0x42, 0xC5, 0xFE, 0x9B, 0xB3, 0x68, 0xFE, 0x83, 0x1A, 0xFE, 0x5A, 0x1, 0xE5, 0x8E, 0x1, 0x1C, 0x31, 0x1, 0x1, 0x1, 0x2D, 0xA, 0x1, 0x6C, 0xFE, 0x63, 0x80, 0xFE, 0x97, 0x59, 0xFE, 0xF2, 0x14, 0x86, 0x7D, 0x4C, 0x80, 0xFF, 0xFF, 0x0, 0x2D, 0xFF, 0xEC, 0x4, 0xB1, 0x5, 0xB0, 0x0, 0x26, 0x0, 0x2F, 0x0, 0x0, 0x0, 0x7, 0x7, 0xA4, 0x1, 0x83, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x27, 0xFE, 0x4B, 0x2, 0xC5, 0x5, 0xD5, 0x0, 0x26, 0x0, 0x4F, 0x7C, 0x0, 0x0, 0x7, 0x7, 0xA4, 0xFF, 0x97, 0xFF, 0x74, 0x0, 0x2, 0x0, 0x66, 0xFE, 0x4B, 0x5, 0xD2, 0x5, 0xC4, 0x0, 0xD, 0x0, 0x27, 0x0, 0x0, 0x25, 0x32, 0x36, 0x37, 0x11, 0x26, 0x26, 0x23, 0x22, 0x2, 0x15, 0x15, 0x14, 0x12, 0x1, 0x6, 0x23, 0x22, 0x26, 0x35, 0x35, 0x6, 0x23, 0x20, 0x0, 0x11, 0x35, 0x10, 0x0, 0x21, 0x32, 0x17, 0x37, 0x33, 0x11, 0x14, 0x16, 0x33, 0x32, 0x37, 0x2, 0xDE, 0x88, 0x73, 0x1B, 0x1B, 0x73, 0x88, 0xD3, 0xA8, 0xB0, 0x3, 0xBF, 0x3E, 0x44, 0x9D, 0xBF, 0x80, 0x9D, 0xFE, 0xCE, 0xFE, 0xC1, 0x1, 0x49, 0x1, 0x28, 0xC1, 0x91, 0xA, 0xBD, 0x56, 0x41, 0x2A, 0x21, 0xBC, 0x3F, 0x1C, 0x3, 0x82, 0x1C, 0x3F, 0xFE, 0xDD, 0xC8, 0x61, 0xD6, 0xFE, 0xEA, 0xFD, 0xA0, 0x11, 0xC0, 0xB6, 0x54, 0x29, 0x1, 0x92, 0x1, 0x2A, 0x61, 0x1, 0x32, 0x1, 0x89, 0x3D, 0x29, 0xFA, 0x11, 0x62, 0x45, 0x8, 0x0, 0x2, 0x0, 0x50, 0xFE, 0x4B, 0x4, 0xE0, 0x4, 0x4E, 0x0, 0xB, 0x0, 0x25, 0x0, 0x0, 0x25, 0x32, 0x37, 0x11, 0x26, 0x23, 0x22, 0x6, 0x15, 0x15, 0x14, 0x16, 0x1, 0x6, 0x23, 0x22, 0x26, 0x35, 0x35, 0x6, 0x23, 0x22, 0x2, 0x35, 0x35, 0x34, 0x12, 0x33, 0x32, 0x17, 0x37, 0x33, 0x11, 0x14, 0x16, 0x33, 0x32, 0x37, 0x2, 0x39, 0x92, 0x45, 0x46, 0x8F, 0x83, 0x76, 0x74, 0x3, 0x2A, 0x37, 0x45, 0x7E, 0xD6, 0x6A, 0xAA, 0xCA, 0xE2, 0xE1, 0xCD, 0xB4, 0x6B, 0xD, 0xD9, 0x5D, 0x40, 0x22, 0x1E, 0xAF, 0x7C, 0x1, 0xEA, 0x76, 0xD2, 0x92, 0x15, 0x91, 0xD2, 0xFD, 0xA9, 0xD, 0x8D, 0xB3, 0xD2, 0x71, 0x1, 0x3A, 0xED, 0x14, 0xF7, 0x1, 0x30, 0x7E, 0x6A, 0xFB, 0x51, 0x56, 0x40, 0x6, 0x0, 0x2, 0x0, 0x21, 0x0, 0x0, 0x5, 0x23, 0x5, 0xB0, 0x0, 0x8, 0x0, 0x1B, 0x0, 0x0, 0x1, 0x11, 0x21, 0x32, 0x36, 0x35, 0x34, 0x26, 0x27, 0x1, 0x1, 0x21, 0x11, 0x23, 0x11, 0x23, 0x35, 0x33, 0x11, 0x21, 0x32, 0x4, 0x15, 0x14, 0x6, 0x7, 0x1, 0x15, 0x1, 0xD6, 0x1, 0x4, 0x88, 0x88, 0x80, 0x8D, 0x1, 0x37, 0xFE, 0xDC, 0xFE, 0xE6, 0xFD, 0xB8, 0xB8, 0x2, 0x0, 0xFB, 0x1, 0x12, 0x8D, 0x7D, 0x1, 0x47, 0x4, 0xE5, 0xFE, 0x17, 0x89, 0x68, 0x70, 0x87, 0x1, 0xFB, 0x1B, 0x2, 0x31, 0xFD, 0xCF, 0x2, 0x31, 0xCB, 0x2, 0xB4, 0xE0, 0xD7, 0x92, 0xC6, 0x34, 0xFD, 0xA0, 0xD, 0xFF, 0xFF, 0x0, 0x1A, 0x0, 0x0, 0x3, 0x11, 0x4, 0x4E, 0x0, 0x26, 0x0, 0x57, 0x5C, 0x0, 0x0, 0x7, 0x7, 0xA4, 0xFF, 0x8A, 0xFF, 0x47, 0x0, 0x2, 0x0, 0x22, 0x0, 0x0, 0x5, 0x73, 0x5, 0xB0, 0x0, 0x2, 0x0, 0x14, 0x0, 0x0, 0x1, 0x13, 0x21, 0x1, 0x11, 0x23, 0x11, 0x1, 0x21, 0x35, 0x33, 0x3, 0x21, 0x13, 0x21, 0x13, 0x21, 0x3, 0x33, 0x15, 0x21, 0x2, 0xCA, 0x87, 0xFE, 0xF2, 0x1, 0x6, 0xFE, 0xFE, 0xF2, 0xFE, 0xE5, 0xD2, 0x91, 0x1, 0x19, 0x84, 0x1, 0x94, 0x85, 0x1, 0x18, 0x91, 0xD3, 0xFE, 0xE4, 0x2, 0xFF, 0x1, 0x16, 0xFE, 0x3, 0xFD, 0xE8, 0x2, 0x18, 0x1, 0xFD, 0x8A, 0x1, 0x11, 0xFE, 0xEF, 0x1, 0x11, 0xFE, 0xEF, 0x8A, 0x0, 0x2, 0x0, 0x22, 0xFE, 0x4B, 0x4, 0x30, 0x4, 0x3A, 0x0, 0x2, 0x0, 0x1C, 0x0, 0x0, 0x1, 0x13, 0x23, 0x3, 0x22, 0x27, 0x35, 0x17, 0x32, 0x36, 0x37, 0x37, 0x3, 0x23, 0x35, 0x33, 0x3, 0x21, 0x13, 0x33, 0x13, 0x21, 0x3, 0x33, 0x15, 0x23, 0x1, 0x2, 0x7, 0x2, 0x36, 0x53, 0xA9, 0xC9, 0x2E, 0x47, 0x2E, 0x5A, 0x5E, 0x1C, 0x23, 0xDB, 0xCA, 0x9B, 0x72, 0x1, 0x6, 0x65, 0xFB, 0x61, 0x1, 0x3, 0x70, 0x8B, 0xB9, 0xFE, 0xF2, 0x5A, 0xCB, 0x1, 0x5C, 0x1, 0x14, 0xFB, 0xDB, 0x11, 0xBC, 0x3, 0x41, 0x51, 0x5D, 0x2, 0x6C, 0x86, 0x1, 0x44, 0xFE, 0xBC, 0x1, 0x44, 0xFE, 0xBC, 0x86, 0xFC, 0xF5, 0xFE, 0xFD, 0x15, 0x0, 0x2, 0x0, 0x59, 0xFF, 0xEC, 0x3, 0xFA, 0x4, 0x4E, 0x0, 0x9, 0x0, 0x27, 0x0, 0x0, 0x1, 0x22, 0x6, 0x7, 0x15, 0x33, 0x24, 0x35, 0x34, 0x26, 0x1, 0x14, 0x6, 0x23, 0x22, 0x26, 0x35, 0x11, 0x34, 0x27, 0x35, 0x33, 0x16, 0x17, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x4, 0x23, 0x23, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x2, 0x5C, 0x54, 0x7A, 0x19, 0x91, 0x1, 0x1, 0x58, 0x1, 0x34, 0xF2, 0xCC, 0xB6, 0xED, 0x29, 0xF8, 0x12, 0xA, 0x72, 0xAB, 0xA1, 0xCF, 0xFE, 0xFD, 0xE9, 0x99, 0x5E, 0x60, 0x56, 0x67, 0x3, 0x8B, 0x51, 0x31, 0xCC, 0x5, 0xB0, 0x41, 0x58, 0xFD, 0xAD, 0x7F, 0xCD, 0xBA, 0xBA, 0x1, 0xE0, 0x92, 0x57, 0x11, 0x25, 0x40, 0x79, 0xB9, 0x8B, 0xAD, 0xB8, 0x47, 0x55, 0x65, 0x56, 0x3E, 0x0, 0x2, 0x0, 0x56, 0xFF, 0xEB, 0x4, 0x7A, 0x4, 0x4E, 0x0, 0x16, 0x0, 0x21, 0x0, 0x0, 0x5, 0x22, 0x27, 0x6, 0x23, 0x22, 0x2, 0x35, 0x35, 0x34, 0x12, 0x33, 0x32, 0x17, 0x37, 0x33, 0x11, 0x16, 0x33, 0x32, 0x37, 0x17, 0x6, 0x25, 0x32, 0x37, 0x11, 0x26, 0x23, 0x22, 0x6, 0x15, 0x14, 0x16, 0x3, 0xFB, 0xA3, 0x35, 0x68, 0xBF, 0xCA, 0xDC, 0xDB, 0xCD, 0xB6, 0x66, 0x14, 0xD0, 0x3, 0x46, 0x10, 0xA, 0x19, 0x33, 0xFD, 0xF3, 0x8D, 0x44, 0x44, 0x8B, 0x84, 0x6E, 0x6D, 0x15, 0xA1, 0xA1, 0x1, 0x28, 0xE7, 0x15, 0xFC, 0x1, 0x43, 0x97, 0x83, 0xFC, 0xFA, 0x7B, 0x4, 0xB3, 0x1F, 0xC3, 0x88, 0x1, 0xC9, 0x8C, 0xE0, 0xB1, 0x8B, 0xC1, 0x0, 0x2, 0x0, 0x3E, 0xFF, 0xEB, 0x4, 0x61, 0x4, 0x4E, 0x0, 0x16, 0x0, 0x21, 0x0, 0x0, 0x5, 0x22, 0x27, 0x7, 0x23, 0x11, 0x26, 0x23, 0x22, 0x7, 0x27, 0x36, 0x33, 0x32, 0x17, 0x36, 0x33, 0x32, 0x12, 0x15, 0x15, 0x14, 0x2, 0x25, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x7, 0x11, 0x16, 0x2, 0xB9, 0xB6, 0x66, 0x13, 0xD0, 0x3, 0x46, 0xC, 0xF, 0x18, 0x32, 0x4D, 0xA3, 0x34, 0x68, 0xBF, 0xCB, 0xDB, 0xDA, 0xFE, 0xF5, 0x83, 0x6F, 0x6D, 0x83, 0x8D, 0x45, 0x44, 0x15, 0x97, 0x83, 0x3, 0x7, 0x7A, 0x5, 0xB4, 0x1F, 0xA2, 0xA1, 0xFE, 0xD8, 0xE7, 0x14, 0xFD, 0xFE, 0xBE, 0xC3, 0xE0, 0xB1, 0x8B, 0xC0, 0x88, 0xFE, 0x39, 0x8D, 0x0, 0x2, 0x0, 0x7D, 0xFF, 0xEC, 0x4, 0x32, 0x6, 0x1F, 0x0, 0x19, 0x0, 0x24, 0x0, 0x0, 0x1, 0x14, 0x2, 0x23, 0x22, 0x27, 0x7, 0x23, 0x11, 0x34, 0x36, 0x33, 0x32, 0x17, 0x15, 0x26, 0x23, 0x22, 0x6, 0x15, 0x11, 0x36, 0x33, 0x32, 0x12, 0x15, 0x1, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x7, 0x11, 0x16, 0x4, 0x32, 0xD7, 0xCE, 0xBD, 0x6C, 0xB, 0xDC, 0xD6, 0x7E, 0x49, 0x33, 0x25, 0x1B, 0x41, 0x5D, 0x6A, 0xB2, 0xD1, 0xD6, 0xFE, 0x1D, 0x87, 0x6A, 0x67, 0x8C, 0x9B, 0x43, 0x44, 0x2, 0x12, 0xEF, 0xFE, 0xC9, 0x8A, 0x76, 0x4, 0xE0, 0xB3, 0x8C, 0xF, 0xA2, 0x7, 0x3F, 0x56, 0xFE, 0xF2, 0x7C, 0xFE, 0xCD, 0xF4, 0xFE, 0x8C, 0xCA, 0xAA, 0x8F, 0xD2, 0x8C, 0xFE, 0x44, 0x8D, 0x0, 0x1, 0x0, 0x3B, 0xFF, 0xEC, 0x3, 0xE1, 0x4, 0x4E, 0x0, 0x1B, 0x0, 0x0, 0x13, 0x33, 0x16, 0x16, 0x33, 0x32, 0x36, 0x35, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x7, 0x23, 0x36, 0x36, 0x33, 0x32, 0x12, 0x17, 0x15, 0x14, 0x2, 0x23, 0x22, 0x24, 0x3B, 0xE5, 0x5, 0x7A, 0x58, 0x95, 0x62, 0x62, 0x95, 0x63, 0x6F, 0x5, 0xE5, 0x5, 0xF1, 0xC4, 0xF7, 0xF3, 0x2, 0xF3, 0xFA, 0xB4, 0xFF, 0x0, 0x1, 0x66, 0x4F, 0x68, 0xD9, 0x83, 0x24, 0x81, 0xDB, 0x7D, 0x57, 0xB3, 0xE4, 0xFE, 0xC4, 0xDD, 0x2A, 0xDF, 0xFE, 0xC0, 0xDD, 0x0, 0x2, 0x0, 0x2D, 0xFF, 0x7A, 0x4, 0x9, 0x4, 0x4E, 0x0, 0x9, 0x0, 0x2B, 0x0, 0x0, 0x25, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x7, 0x16, 0x7, 0x7, 0x27, 0x37, 0x26, 0x35, 0x35, 0x34, 0x12, 0x33, 0x32, 0x16, 0x17, 0x23, 0x26, 0x26, 0x23, 0x22, 0x6, 0x15, 0x15, 0x14, 0x17, 0x36, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x6, 0x23, 0x22, 0x27, 0x2, 0x5B, 0x4E, 0x7B, 0x36, 0x20, 0x63, 0x99, 0x38, 0xC7, 0x78, 0x9E, 0x93, 0x5C, 0xF3, 0xF9, 0xC5, 0xF0, 0x4, 0xE4, 0x5, 0x70, 0x63, 0x94, 0x63, 0xF, 0x63, 0xB2, 0x6B, 0x99, 0x8B, 0xF7, 0xC2, 0x95, 0x6D, 0xAF, 0x44, 0x3C, 0x2D, 0x22, 0xAE, 0x21, 0x91, 0xA4, 0x79, 0xC1, 0x8C, 0xCB, 0x24, 0xDE, 0x1, 0x41, 0xE4, 0xB3, 0x57, 0x7D, 0xDB, 0x81, 0x24, 0x55, 0x3F, 0x69, 0x5E, 0x93, 0x67, 0x94, 0xC4, 0x40, 0x0, 0x2, 0x0, 0x50, 0xFE, 0x4B, 0x4, 0xE0, 0x6, 0x0, 0x0, 0xB, 0x0, 0x25, 0x0, 0x0, 0x25, 0x32, 0x37, 0x11, 0x26, 0x23, 0x22, 0x6, 0x15, 0x15, 0x14, 0x16, 0x1, 0x6, 0x23, 0x22, 0x26, 0x35, 0x35, 0x6, 0x23, 0x22, 0x2, 0x35, 0x35, 0x34, 0x12, 0x33, 0x32, 0x17, 0x11, 0x33, 0x11, 0x14, 0x16, 0x33, 0x32, 0x37, 0x2, 0x37, 0x95, 0x45, 0x44, 0x94, 0x84, 0x73, 0x72, 0x3, 0x2C, 0x36, 0x45, 0x7E, 0xD6, 0x6B, 0xAD, 0xC3, 0xE6, 0xE5, 0xC6, 0xAC, 0x6A, 0xF3, 0x5C, 0x41, 0x23, 0x1C, 0xB3, 0x86, 0x1, 0xCD, 0x82, 0xD0, 0x92, 0x15, 0x91, 0xCD, 0xFD, 0xA5, 0xD, 0x8D, 0xB3, 0xD8, 0x77, 0x1, 0x39, 0xEC, 0x15, 0xF7, 0x1, 0x31, 0x77, 0x2, 0x29, 0xF9, 0x8B, 0x56, 0x40, 0x6, 0x0, 0x2, 0x0, 0x50, 0xFF, 0xEC, 0x4, 0xE0, 0x6, 0x1F, 0x0, 0xB, 0x0, 0x25, 0x0, 0x0, 0x25, 0x32, 0x37, 0x11, 0x26, 0x23, 0x22, 0x6, 0x15, 0x15, 0x14, 0x16, 0x5, 0x27, 0x6, 0x23, 0x22, 0x2, 0x35, 0x35, 0x34, 0x12, 0x33, 0x32, 0x17, 0x11, 0x34, 0x36, 0x33, 0x32, 0x17, 0x15, 0x26, 0x23, 0x22, 0x6, 0x15, 0x11, 0x2, 0x37, 0x95, 0x45, 0x44, 0x94, 0x84, 0x73, 0x72, 0x1, 0x7D, 0x11, 0x6D, 0xBA, 0xC3, 0xE6, 0xE5, 0xC6, 0xAC, 0x6A, 0xD6, 0x7E, 0x48, 0x33, 0x23, 0x1C, 0x41, 0x5C, 0xB3, 0x86, 0x1, 0xCD, 0x82, 0xD0, 0x92, 0x15, 0x91, 0xCD, 0xB3, 0x75, 0x89, 0x1, 0x39, 0xEC, 0x15, 0xF7, 0x1, 0x31, 0x77, 0x1, 0x9, 0xB3, 0x8C, 0xF, 0xA2, 0x7, 0x3F, 0x56, 0xFB, 0x20, 0x0, 0x2, 0x0, 0x40, 0xFF, 0xEC, 0x3, 0xF8, 0x4, 0x4E, 0x0, 0x7, 0x0, 0x1C, 0x0, 0x0, 0x1, 0x21, 0x26, 0x26, 0x23, 0x22, 0x6, 0x7, 0x13, 0x22, 0x26, 0x27, 0x37, 0x16, 0x33, 0x32, 0x36, 0x37, 0x21, 0x35, 0x34, 0x12, 0x33, 0x32, 0x0, 0x11, 0x15, 0x14, 0x0, 0x1, 0x30, 0x1, 0xCE, 0x11, 0x7B, 0x63, 0x79, 0x61, 0x5, 0xC2, 0xA1, 0xCC, 0x34, 0x83, 0x68, 0xA8, 0x80, 0x95, 0xA, 0xFD, 0x3D, 0xE2, 0xEC, 0xCE, 0x1, 0x1C, 0xFE, 0xEB, 0x2, 0x83, 0x7C, 0x8C, 0x97, 0x5F, 0xFD, 0x57, 0x80, 0x4C, 0x7D, 0x86, 0xA5, 0x7D, 0x67, 0xEA, 0x1, 0x2C, 0xFE, 0xD3, 0xFE, 0xFF, 0x29, 0xDF, 0xFE, 0xD4, 0x0, 0x2, 0x0, 0x5A, 0xFF, 0xEB, 0x3, 0xF8, 0x4, 0x50, 0x0, 0x15, 0x0, 0x1D, 0x0, 0x0, 0x1, 0x14, 0x0, 0x27, 0x22, 0x2, 0x35, 0x35, 0x21, 0x26, 0x26, 0x23, 0x22, 0x6, 0x7, 0x27, 0x36, 0x36, 0x33, 0x32, 0x0, 0x15, 0x1, 0x32, 0x36, 0x37, 0x21, 0x15, 0x14, 0x16, 0x3, 0xF8, 0xFE, 0xF1, 0xCB, 0xE2, 0xE2, 0x2, 0xA9, 0xA, 0x87, 0x80, 0x6B, 0x8C, 0x38, 0x4E, 0x35, 0xC6, 0x91, 0xEA, 0x1, 0xD, 0xFE, 0x26, 0x5B, 0x74, 0x11, 0xFE, 0x4C, 0x64, 0x2, 0xE, 0xED, 0xFE, 0xCA, 0x2, 0x1, 0xE, 0xD9, 0x90, 0x7C, 0xAD, 0x37, 0x26, 0x9F, 0x2F, 0x52, 0xFE, 0xCE, 0xE8, 0xFE, 0x7A, 0x93, 0x6F, 0x1A, 0x5F, 0x89, 0x0, 0x2, 0x0, 0x40, 0xFF, 0xEC, 0x5, 0xAD, 0x4, 0x4E, 0x0, 0x20, 0x0, 0x28, 0x0, 0x0, 0x5, 0x22, 0x2, 0x35, 0x35, 0x25, 0x26, 0x26, 0x23, 0x22, 0x7, 0x27, 0x36, 0x36, 0x33, 0x32, 0x16, 0x17, 0x37, 0x16, 0x16, 0x33, 0x37, 0x17, 0x6, 0x23, 0x22, 0x26, 0x27, 0x7, 0x15, 0x6, 0x0, 0x27, 0x32, 0x36, 0x35, 0x5, 0x15, 0x14, 0x16, 0x2, 0xE, 0xEC, 0xE2, 0x2, 0xAD, 0x1E, 0x88, 0x63, 0xA8, 0x68, 0x83, 0x34, 0xCC, 0xA1, 0xBA, 0xFC, 0x32, 0xDD, 0x15, 0x35, 0x52, 0x3B, 0x1F, 0x41, 0x4C, 0x85, 0x63, 0x1A, 0x26, 0x1, 0xFE, 0xE5, 0xCD, 0x76, 0x80, 0xFE, 0x2B, 0x66, 0x14, 0x1, 0x2C, 0xEA, 0x3E, 0x91, 0x54, 0x66, 0x86, 0x7D, 0x4D, 0x7F, 0xB8, 0x95, 0x2D, 0x8B, 0xA5, 0x3, 0x95, 0x24, 0xA2, 0x70, 0x8, 0x3C, 0xFD, 0xFE, 0xD3, 0xC3, 0xC3, 0xAD, 0x5F, 0x1B, 0x5E, 0x98, 0xFF, 0xFF, 0x0, 0x61, 0xFF, 0xEC, 0x4, 0xD, 0x4, 0x4D, 0x0, 0x6, 0x2, 0x3E, 0x0, 0x0, 0x0, 0x1, 0x0, 0x54, 0xFF, 0xEC, 0x4, 0x0, 0x4, 0x4D, 0x0, 0x26, 0x0, 0x0, 0x5, 0x22, 0x26, 0x26, 0x35, 0x33, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x27, 0x23, 0x35, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x23, 0x34, 0x24, 0x33, 0x32, 0x16, 0x15, 0x14, 0x7, 0x16, 0x15, 0x14, 0x4, 0x2, 0x23, 0x71, 0xD5, 0x89, 0xF2, 0x7A, 0x6A, 0x6E, 0x75, 0xD1, 0xD2, 0xC7, 0x68, 0x61, 0x63, 0x6D, 0x59, 0x7A, 0xF2, 0x1, 0x8, 0xB6, 0xCD, 0xFD, 0xB8, 0xCB, 0xFE, 0xF0, 0x14, 0x48, 0x97, 0x76, 0x3D, 0x5D, 0x5C, 0x3A, 0x91, 0x4, 0xAD, 0x4C, 0x3C, 0x34, 0x57, 0x4D, 0x3E, 0x98, 0xAE, 0xA1, 0x9A, 0x98, 0x4D, 0x42, 0xB9, 0x9A, 0xAC, 0x0, 0x1, 0x0, 0x54, 0xFF, 0xEC, 0x5, 0xC2, 0x4, 0x4D, 0x0, 0x32, 0x0, 0x0, 0x5, 0x22, 0x26, 0x26, 0x35, 0x33, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x27, 0x23, 0x35, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x23, 0x34, 0x24, 0x33, 0x32, 0x16, 0x17, 0x37, 0x16, 0x16, 0x33, 0x37, 0x17, 0x6, 0x23, 0x22, 0x26, 0x27, 0x7, 0x6, 0x7, 0x16, 0x15, 0x14, 0x4, 0x2, 0x23, 0x71, 0xD5, 0x89, 0xF2, 0x7A, 0x6A, 0x6E, 0x75, 0xD1, 0xD2, 0xC7, 0x68, 0x61, 0x63, 0x6D, 0x59, 0x7A, 0xF2, 0x1, 0x8, 0xB6, 0xA3, 0xE6, 0x2B, 0xF4, 0x16, 0x34, 0x52, 0x3C, 0x1F, 0x43, 0x4B, 0x84, 0x63, 0x1A, 0x51, 0x26, 0x87, 0xCB, 0xFE, 0xF0, 0x14, 0x48, 0x97, 0x76, 0x3D, 0x5D, 0x5C, 0x3A, 0x91, 0x4, 0xAD, 0x4C, 0x3C, 0x34, 0x57, 0x4D, 0x3E, 0x98, 0xAE, 0x67, 0x63, 0x32, 0x8A, 0xA6, 0x4, 0x96, 0x24, 0xA3, 0x70, 0x12, 0x6A, 0x39, 0x42, 0xB9, 0x9A, 0xAC, 0x0, 0x2, 0x0, 0x53, 0xFF, 0xEC, 0x3, 0xE2, 0x4, 0x4D, 0x0, 0x12, 0x0, 0x28, 0x0, 0x0, 0x25, 0x32, 0x36, 0x35, 0x34, 0x27, 0x23, 0x35, 0x33, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x14, 0x16, 0x17, 0x22, 0x26, 0x26, 0x35, 0x31, 0x35, 0x31, 0x31, 0x34, 0x36, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x7, 0x16, 0x15, 0x14, 0x6, 0x2, 0x2D, 0x64, 0x5E, 0xB7, 0x58, 0x62, 0x9A, 0x4D, 0x62, 0x5B, 0x8D, 0x7D, 0x64, 0x6D, 0xD7, 0x8F, 0x89, 0xD6, 0x74, 0xC4, 0xE5, 0xA6, 0xB9, 0xF8, 0xA6, 0x5D, 0x3A, 0x92, 0x2, 0xB0, 0x5, 0x81, 0x34, 0x57, 0x97, 0xD4, 0xD2, 0xAF, 0xBA, 0x60, 0xF8, 0xE3, 0x1, 0xD3, 0xEF, 0x63, 0xA1, 0x9A, 0x99, 0x4C, 0x41, 0xBA, 0x9A, 0xAC, 0x0, 0x1, 0x0, 0x39, 0xFE, 0x4B, 0x2, 0xB2, 0x4, 0x3A, 0x0, 0x13, 0x0, 0x0, 0x13, 0x22, 0x27, 0x35, 0x16, 0x33, 0x32, 0x37, 0x35, 0x23, 0x35, 0x33, 0x11, 0x33, 0x11, 0x33, 0x15, 0x23, 0x15, 0x2, 0xBA, 0x45, 0x3C, 0x2D, 0x2A, 0x7A, 0x1, 0xCD, 0xCD, 0xF3, 0xB4, 0xB4, 0x8, 0xFE, 0x4B, 0x11, 0xBF, 0x8, 0x8B, 0x62, 0xAB, 0x3, 0x8F, 0xFC, 0x71, 0xAB, 0x70, 0xFE, 0xBB, 0x0, 0x2, 0x0, 0x52, 0xFE, 0x56, 0x4, 0xEA, 0x5, 0x72, 0x0, 0xB, 0x0, 0x30, 0x0, 0x0, 0x25, 0x32, 0x37, 0x11, 0x26, 0x23, 0x22, 0x6, 0x15, 0x15, 0x14, 0x16, 0x13, 0x22, 0x26, 0x27, 0x37, 0x16, 0x33, 0x32, 0x36, 0x35, 0x35, 0x6, 0x23, 0x22, 0x2, 0x27, 0x35, 0x34, 0x12, 0x33, 0x32, 0x17, 0x35, 0x36, 0x36, 0x33, 0x32, 0x17, 0x15, 0x26, 0x23, 0x22, 0x6, 0x15, 0x11, 0x14, 0x4, 0x2, 0x40, 0x96, 0x44, 0x43, 0x95, 0x84, 0x79, 0x78, 0x65, 0x59, 0xF4, 0x48, 0x73, 0x70, 0xA4, 0x79, 0x8D, 0x6A, 0xAE, 0xC6, 0xE8, 0x2, 0xE9, 0xC9, 0xAF, 0x67, 0x1, 0xD5, 0x7E, 0x49, 0x33, 0x25, 0x1B, 0x40, 0x5D, 0xFE, 0xEF, 0xB3, 0x80, 0x1, 0xD9, 0x7C, 0xD0, 0x92, 0x15, 0x91, 0xCD, 0xFD, 0xA3, 0x51, 0x62, 0x91, 0x85, 0x85, 0x7F, 0x49, 0x76, 0x1, 0x35, 0xE8, 0x1D, 0xF7, 0x1, 0x31, 0x70, 0x58, 0xB1, 0x8B, 0xF, 0xA2, 0x7, 0x3F, 0x56, 0xFB, 0xEB, 0xDB, 0xED, 0xFF, 0xFF, 0x0, 0x52, 0xFE, 0x56, 0x4, 0xD, 0x4, 0x4E, 0x0, 0x6, 0x0, 0x4C, 0x0, 0x0, 0x0, 0x1, 0x0, 0x68, 0xFF, 0xED, 0x4, 0x66, 0x4, 0x4E, 0x0, 0x1E, 0x0, 0x0, 0x1, 0x11, 0x6, 0x6, 0x23, 0x22, 0x0, 0x35, 0x35, 0x34, 0x0, 0x33, 0x32, 0x16, 0x17, 0x23, 0x26, 0x23, 0x22, 0x6, 0x15, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x37, 0x35, 0x23, 0x35, 0x4, 0x66, 0x2C, 0xF0, 0xD1, 0xEA, 0xFE, 0xD9, 0x1, 0x26, 0xE2, 0xE4, 0xED, 0x12, 0xF2, 0x1C, 0xD5, 0x7C, 0x99, 0x98, 0x86, 0x6C, 0x71, 0x18, 0xEF, 0x2, 0x36, 0xFE, 0x6A, 0x38, 0x7B, 0x1, 0xC, 0xD4, 0xA4, 0xD4, 0x1, 0x9, 0xCA, 0xAC, 0xB6, 0xA2, 0x7A, 0xA5, 0x79, 0xA6, 0x27, 0x11, 0x9E, 0xB2, 0x0, 0x2, 0x0, 0x14, 0xFE, 0x4B, 0x4, 0x63, 0x4, 0x3A, 0x0, 0x11, 0x0, 0x18, 0x0, 0x0, 0x1, 0x22, 0x26, 0x35, 0x34, 0x37, 0x13, 0x1, 0x21, 0x1, 0x1, 0x21, 0x1, 0x13, 0x16, 0x15, 0x14, 0x6, 0x26, 0x35, 0x34, 0x27, 0x6, 0x15, 0x14, 0x2, 0x3B, 0x88, 0xAD, 0x33, 0x87, 0xFE, 0x54, 0x1, 0x3, 0x1, 0x25, 0x1, 0x25, 0x1, 0x2, 0xFE, 0x56, 0x82, 0x31, 0xAA, 0x48, 0x3C, 0x42, 0xFE, 0x4B, 0x7F, 0x7C, 0x4D, 0x65, 0x1, 0xC, 0x3, 0x36, 0xFD, 0xBD, 0x2, 0x43, 0xFC, 0xC5, 0xFE, 0xFE, 0x63, 0x54, 0x7C, 0x7F, 0xBB, 0x4B, 0x41, 0x7D, 0x87, 0x37, 0x4B, 0x0, 0x2, 0x0, 0x1B, 0xFF, 0xEC, 0x5, 0x1, 0x4, 0x4E, 0x0, 0x7, 0x0, 0x2A, 0x0, 0x0, 0x25, 0x32, 0x35, 0x34, 0x27, 0x6, 0x15, 0x14, 0x6, 0x26, 0x35, 0x34, 0x36, 0x37, 0x26, 0x26, 0x23, 0x22, 0x7, 0x27, 0x36, 0x36, 0x33, 0x32, 0x16, 0x17, 0x36, 0x36, 0x33, 0x32, 0x16, 0x17, 0x7, 0x26, 0x23, 0x22, 0x6, 0x7, 0x16, 0x16, 0x15, 0x14, 0x6, 0x2, 0x8E, 0x3C, 0x3C, 0x3D, 0x48, 0x9C, 0x57, 0x46, 0x5F, 0x60, 0x38, 0x34, 0x3F, 0x85, 0x32, 0x83, 0x65, 0x6A, 0xA4, 0x4B, 0x4B, 0xA4, 0x69, 0x66, 0x83, 0x32, 0x86, 0x3F, 0x34, 0x38, 0x60, 0x5F, 0x46, 0x57, 0x9B, 0xA7, 0x40, 0x2B, 0x67, 0x69, 0x29, 0x40, 0xBB, 0x7E, 0x75, 0x50, 0xB1, 0x79, 0xA4, 0x6F, 0x49, 0x93, 0x3B, 0x5D, 0x9B, 0x77, 0x77, 0x9B, 0x5D, 0x3B, 0x93, 0x49, 0x6F, 0xA4, 0x7A, 0xB0, 0x50, 0x75, 0x7E, 0x0, 0x1, 0x0, 0x78, 0xFE, 0x60, 0x3, 0xF8, 0x4, 0x3A, 0x0, 0x11, 0x0, 0x0, 0x1, 0x23, 0x11, 0x6, 0x23, 0x22, 0x26, 0x35, 0x11, 0x33, 0x11, 0x14, 0x16, 0x33, 0x32, 0x37, 0x11, 0x33, 0x3, 0xF8, 0xF3, 0x76, 0xB7, 0x9F, 0xC1, 0xF3, 0x62, 0x5E, 0x92, 0x48, 0xF3, 0xFE, 0x60, 0x2, 0x16, 0x8A, 0xB9, 0xDC, 0x2, 0xB9, 0xFD, 0x45, 0x70, 0x5D, 0x81, 0x3, 0x7, 0x0, 0x1, 0x0, 0x7A, 0x0, 0x0, 0x3, 0xF9, 0x6, 0x1F, 0x0, 0x1B, 0x0, 0x0, 0x1, 0x22, 0x7, 0x11, 0x23, 0x11, 0x34, 0x36, 0x33, 0x32, 0x17, 0x15, 0x26, 0x23, 0x22, 0x6, 0x15, 0x11, 0x36, 0x33, 0x32, 0x16, 0x17, 0x11, 0x23, 0x11, 0x34, 0x26, 0x2, 0x47, 0x93, 0x48, 0xF2, 0xD6, 0x7E, 0x48, 0x33, 0x23, 0x1C, 0x41, 0x5D, 0x76, 0xB7, 0x9F, 0xC0, 0x1, 0xF3, 0x62, 0x3, 0x88, 0x83, 0xFC, 0xFB, 0x4, 0xE0, 0xB3, 0x8C, 0xF, 0xA2, 0x7, 0x3F, 0x56, 0xFE, 0xE3, 0x8B, 0xB6, 0xDA, 0xFD, 0x42, 0x2, 0xBB, 0x71, 0x5C, 0x0, 0x1, 0x0, 0x7A, 0xFE, 0x7D, 0x3, 0xF9, 0x6, 0x1F, 0x0, 0x25, 0x0, 0x0, 0x1, 0x22, 0x27, 0x35, 0x16, 0x33, 0x32, 0x36, 0x35, 0x11, 0x34, 0x26, 0x23, 0x22, 0x7, 0x11, 0x23, 0x11, 0x34, 0x36, 0x33, 0x32, 0x17, 0x15, 0x26, 0x23, 0x22, 0x6, 0x15, 0x11, 0x36, 0x33, 0x32, 0x16, 0x17, 0x11, 0x14, 0x6, 0x2, 0xA5, 0x43, 0x39, 0x1D, 0x23, 0x41, 0x5C, 0x62, 0x5D, 0x93, 0x48, 0xF2, 0xD6, 0x7E, 0x48, 0x33, 0x23, 0x1C, 0x41, 0x5D, 0x76, 0xB7, 0x9F, 0xC0, 0x1, 0xD6, 0xFE, 0x7D, 0xF, 0xA3, 0x7, 0x3F, 0x56, 0x2, 0xFE, 0x71, 0x5C, 0x83, 0xFC, 0xFB, 0x4, 0xE0, 0xB3, 0x8C, 0xF, 0xA2, 0x7, 0x3F, 0x56, 0xFE, 0xE3, 0x8B, 0xB6, 0xDA, 0xFC, 0xFF, 0xB3, 0x8D, 0xFF, 0xFF, 0x0, 0x14, 0x0, 0x0, 0x2, 0xB2, 0x5, 0xD5, 0x0, 0x26, 0x0, 0x4E, 0x5D, 0x0, 0x0, 0x7, 0x7, 0xA4, 0xFF, 0x84, 0xFF, 0x74, 0x0, 0x1, 0x0, 0x77, 0xFF, 0xEC, 0x2, 0x47, 0x4, 0x3A, 0x0, 0xD, 0x0, 0x0, 0x13, 0x33, 0x11, 0x14, 0x16, 0x33, 0x32, 0x37, 0x15, 0x6, 0x23, 0x22, 0x26, 0x35, 0x77, 0xF3, 0x5D, 0x40, 0x1F, 0x21, 0x36, 0x46, 0x7D, 0xD7, 0x4, 0x3A, 0xFC, 0xF1, 0x55, 0x41, 0x7, 0xA3, 0xD, 0x8D, 0xB2, 0x0, 0x1, 0x0, 0x5D, 0x0, 0x0, 0x2, 0x7A, 0x4, 0x3A, 0x0, 0xB, 0x0, 0x0, 0x21, 0x21, 0x35, 0x33, 0x11, 0x23, 0x35, 0x21, 0x15, 0x23, 0x11, 0x33, 0x2, 0x7A, 0xFD, 0xE3, 0x93, 0x93, 0x2, 0x1D, 0x97, 0x97, 0xC4, 0x2, 0xB3, 0xC3, 0xC3, 0xFD, 0x4D, 0xFF, 0xFF, 0x0, 0x14, 0x0, 0x0, 0x2, 0xF2, 0x6, 0x0, 0x0, 0x26, 0x0, 0x51, 0x79, 0x0, 0x0, 0x7, 0x1, 0x8D, 0xFF, 0x9A, 0xFD, 0xB9, 0x0, 0x2, 0x0, 0x22, 0x0, 0x0, 0x3, 0xB8, 0x6, 0x0, 0x0, 0x8, 0x0, 0x1A, 0x0, 0x0, 0x1, 0x35, 0x34, 0x26, 0x23, 0x22, 0x15, 0x14, 0x33, 0x5, 0x23, 0x11, 0x23, 0x11, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x17, 0x11, 0x33, 0x11, 0x33, 0x1, 0xD1, 0x33, 0x38, 0x61, 0x6B, 0x2, 0x48, 0xF4, 0xF3, 0x7C, 0x8B, 0xA8, 0xAD, 0x9A, 0x38, 0x30, 0xF3, 0xF4, 0x2, 0xE4, 0x4C, 0x30, 0x3F, 0x5E, 0x5D, 0xB5, 0xFD, 0xD1, 0x2, 0x2F, 0x8E, 0x80, 0x78, 0x99, 0xA, 0x1, 0xBC, 0xFC, 0xE4, 0x0, 0x1, 0x0, 0xB7, 0xFE, 0x4B, 0x2, 0x87, 0x6, 0x0, 0x0, 0xD, 0x0, 0x0, 0x13, 0x33, 0x11, 0x14, 0x16, 0x33, 0x32, 0x37, 0x15, 0x6, 0x23, 0x22, 0x26, 0x35, 0xB7, 0xF3, 0x5D, 0x40, 0x24, 0x1C, 0x36, 0x46, 0x7D, 0xD7, 0x6, 0x0, 0xF9, 0x8B, 0x56, 0x40, 0x6, 0xA3, 0xD, 0x8D, 0xB3, 0x0, 0x1, 0x0, 0x8C, 0xFE, 0x4B, 0x4, 0x75, 0x6, 0x0, 0x0, 0x1C, 0x0, 0x0, 0x1, 0x22, 0x24, 0x27, 0x33, 0x16, 0x33, 0x32, 0x36, 0x35, 0x10, 0x25, 0x23, 0x35, 0x1, 0x21, 0x11, 0x23, 0x11, 0x33, 0x11, 0x21, 0x17, 0x1, 0x16, 0x16, 0x15, 0x14, 0x4, 0x2, 0x74, 0xB3, 0xFE, 0xED, 0x22, 0xF3, 0x26, 0xCF, 0x80, 0x8E, 0xFE, 0xE0, 0x7F, 0x1, 0x4E, 0xFE, 0x4E, 0xF3, 0xF3, 0x2, 0xCB, 0x1, 0xFE, 0x8E, 0xC5, 0xD7, 0xFE, 0xDF, 0xFE, 0x4B, 0x9D, 0xC3, 0x9D, 0x8A, 0x6E, 0x1, 0x5, 0x6, 0xAC, 0x1, 0xBA, 0xFC, 0x89, 0x6, 0x0, 0xFE, 0x3A, 0x9B, 0xFE, 0x1A, 0x19, 0xE6, 0xC2, 0xCD, 0xE0, 0x0, 0x1, 0x0, 0x7D, 0xFF, 0xEC, 0x6, 0x7A, 0x4, 0x3A, 0x0, 0x1F, 0x0, 0x0, 0x21, 0x27, 0x6, 0x23, 0x22, 0x27, 0x6, 0x6, 0x23, 0x22, 0x26, 0x27, 0x11, 0x33, 0x11, 0x14, 0x16, 0x33, 0x32, 0x36, 0x37, 0x11, 0x33, 0x11, 0x14, 0x16, 0x33, 0x32, 0x37, 0x11, 0x33, 0x11, 0x5, 0x95, 0x7, 0x73, 0xC5, 0xD8, 0x51, 0x35, 0xA7, 0x70, 0xA5, 0xBE, 0x1, 0xF3, 0x69, 0x59, 0x52, 0x69, 0x15, 0xF3, 0x69, 0x5A, 0x93, 0x3C, 0xF3, 0x71, 0x85, 0xA5, 0x4B, 0x5A, 0xB8, 0xD4, 0x2, 0xC2, 0xFD, 0x42, 0x78, 0x52, 0x58, 0x47, 0x2, 0xE9, 0xFD, 0x44, 0x72, 0x5A, 0x78, 0x3, 0x10, 0xFB, 0xC6, 0x0, 0x1, 0x0, 0x7D, 0xFE, 0x60, 0x6, 0x7A, 0x4, 0x3A, 0x0, 0x1F, 0x0, 0x0, 0x1, 0x23, 0x11, 0x6, 0x23, 0x22, 0x27, 0x6, 0x6, 0x23, 0x22, 0x26, 0x27, 0x11, 0x33, 0x11, 0x14, 0x16, 0x33, 0x32, 0x36, 0x37, 0x11, 0x33, 0x11, 0x14, 0x16, 0x33, 0x32, 0x37, 0x11, 0x33, 0x6, 0x7A, 0xF3, 0x72, 0xBF, 0xD8, 0x51, 0x35, 0xA7, 0x70, 0xA5, 0xBE, 0x1, 0xF3, 0x69, 0x59, 0x52, 0x69, 0x15, 0xF3, 0x69, 0x5A, 0x93, 0x3C, 0xF3, 0xFE, 0x60, 0x2, 0x9, 0x7D, 0xA5, 0x4B, 0x5A, 0xB8, 0xD4, 0x2, 0xC2, 0xFD, 0x42, 0x78, 0x52, 0x58, 0x47, 0x2, 0xE9, 0xFD, 0x44, 0x72, 0x5A, 0x78, 0x3, 0x10, 0x0, 0x1, 0x0, 0x7D, 0xFE, 0x4B, 0x6, 0x7A, 0x4, 0x4E, 0x0, 0x28, 0x0, 0x0, 0x1, 0x22, 0x27, 0x35, 0x16, 0x33, 0x32, 0x36, 0x35, 0x11, 0x34, 0x26, 0x23, 0x22, 0x6, 0x7, 0x11, 0x23, 0x11, 0x34, 0x26, 0x23, 0x22, 0x7, 0x11, 0x23, 0x11, 0x33, 0x17, 0x36, 0x33, 0x32, 0x17, 0x36, 0x33, 0x32, 0x16, 0x15, 0x11, 0x14, 0x6, 0x5, 0x26, 0x43, 0x39, 0x1D, 0x23, 0x41, 0x5C, 0x69, 0x5A, 0x53, 0x69, 0x14, 0xF3, 0x68, 0x5A, 0x93, 0x3D, 0xF2, 0xE4, 0x7, 0x73, 0xC6, 0xD7, 0x51, 0x77, 0xD6, 0xA7, 0xBD, 0xD7, 0xFE, 0x4B, 0xF, 0xA3, 0x7, 0x3F, 0x56, 0x3, 0x33, 0x78, 0x52, 0x5A, 0x48, 0xFD, 0x1A, 0x2, 0xBC, 0x72, 0x5A, 0x78, 0xFC, 0xF0, 0x4, 0x3A, 0x71, 0x85, 0xA5, 0xA5, 0xBA, 0xD7, 0xFC, 0xCE, 0xB3, 0x8D, 0x0, 0x1, 0xFF, 0xF9, 0xFE, 0x4B, 0x4, 0x56, 0x4, 0x4E, 0x0, 0x1B, 0x0, 0x0, 0x13, 0x22, 0x27, 0x35, 0x16, 0x33, 0x32, 0x36, 0x35, 0x11, 0x33, 0x17, 0x36, 0x33, 0x32, 0x16, 0x17, 0x11, 0x23, 0x11, 0x34, 0x26, 0x23, 0x22, 0x7, 0x11, 0x14, 0x6, 0x75, 0x42, 0x3A, 0x1D, 0x23, 0x41, 0x5D, 0xE4, 0x8, 0x77, 0xC3, 0x9C, 0xBC, 0x1, 0xF3, 0x62, 0x5D, 0x92, 0x49, 0xD6, 0xFE, 0x4B, 0xF, 0xA3, 0x7, 0x3F, 0x56, 0x4, 0xAF, 0x7D, 0x91, 0xB3, 0xDA, 0xFD, 0x3F, 0x2, 0xBE, 0x70, 0x5A, 0x86, 0xFC, 0x89, 0xB3, 0x8D, 0x0, 0x1, 0x0, 0x7A, 0xFE, 0x4B, 0x4, 0xD6, 0x4, 0x4E, 0x0, 0x1B, 0x0, 0x0, 0x1, 0x6, 0x23, 0x22, 0x26, 0x35, 0x11, 0x34, 0x26, 0x23, 0x22, 0x7, 0x11, 0x23, 0x11, 0x33, 0x17, 0x36, 0x33, 0x32, 0x16, 0x17, 0x11, 0x14, 0x16, 0x33, 0x32, 0x37, 0x4, 0xD6, 0x37, 0x45, 0x7E, 0xD6, 0x61, 0x5E, 0x91, 0x49, 0xF3, 0xE5, 0x8, 0x77, 0xC2, 0x9C, 0xBC, 0x1, 0x5D, 0x40, 0x22, 0x1E, 0xFE, 0x58, 0xD, 0x8D, 0xB3, 0x3, 0x33, 0x70, 0x5A, 0x84, 0xFC, 0xFC, 0x4, 0x3A, 0x7C, 0x90, 0xB3, 0xDA, 0xFC, 0xCA, 0x56, 0x40, 0x6, 0x0, 0x1, 0x0, 0x7D, 0x0, 0x0, 0x4, 0x9, 0x4, 0x3A, 0x0, 0x9, 0x0, 0x0, 0x21, 0x23, 0x11, 0x33, 0x1, 0x11, 0x33, 0x11, 0x23, 0x1, 0x1, 0x6F, 0xF2, 0xF2, 0x1, 0xA8, 0xF2, 0xF2, 0xFE, 0x58, 0x4, 0x3A, 0xFD, 0x28, 0x2, 0xD8, 0xFB, 0xC6, 0x2, 0xDA, 0x0, 0x2, 0x0, 0x66, 0xFF, 0xEC, 0x6, 0x4B, 0x4, 0x4E, 0x0, 0xB, 0x0, 0x23, 0x0, 0x0, 0x25, 0x32, 0x37, 0x11, 0x26, 0x23, 0x22, 0x6, 0x15, 0x15, 0x14, 0x16, 0x17, 0x22, 0x0, 0x27, 0x35, 0x34, 0x0, 0x33, 0x32, 0x16, 0x33, 0x21, 0x15, 0x21, 0x15, 0x21, 0x15, 0x21, 0x11, 0x21, 0x15, 0x21, 0x22, 0x6, 0x2, 0x5D, 0x28, 0xAB, 0xAB, 0x2A, 0x87, 0x7C, 0x7D, 0x88, 0xEA, 0xFE, 0xF7, 0x4, 0x1, 0xA, 0xEB, 0x5B, 0x9E, 0x7D, 0x2, 0x7A, 0xFD, 0xD7, 0x1, 0xD3, 0xFE, 0x2D, 0x2, 0x29, 0xFD, 0x85, 0x7D, 0x9D, 0xAF, 0xC, 0x2, 0xC4, 0xC, 0xD5, 0x8F, 0x15, 0x91, 0xD2, 0xC3, 0x1, 0x33, 0xE6, 0x22, 0xEC, 0x1, 0x3B, 0x14, 0xC1, 0xF6, 0xC2, 0xFF, 0x0, 0xC1, 0x14, 0x0, 0x2, 0x0, 0x66, 0xFF, 0xEB, 0x6, 0x2D, 0x4, 0x4E, 0x0, 0x17, 0x0, 0x2D, 0x0, 0x0, 0x5, 0x22, 0x27, 0x6, 0x23, 0x22, 0x26, 0x26, 0x35, 0x34, 0x12, 0x24, 0x33, 0x31, 0x33, 0x31, 0x31, 0x32, 0x4, 0x12, 0x15, 0x14, 0x6, 0x6, 0x27, 0x32, 0x36, 0x35, 0x34, 0x26, 0x21, 0x20, 0x6, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x35, 0x33, 0x15, 0x16, 0x17, 0x16, 0x4, 0x8C, 0xE6, 0x5C, 0x5D, 0xE6, 0x9B, 0xB7, 0x4F, 0x9F, 0x1, 0x47, 0xFD, 0x1, 0xFD, 0x1, 0x47, 0x9F, 0x4F, 0xB6, 0xA6, 0x67, 0x51, 0xDA, 0xFE, 0xE9, 0xFE, 0xEA, 0xDA, 0x51, 0x67, 0x50, 0x6B, 0xFB, 0x1, 0x35, 0x36, 0x15, 0xDF, 0xDF, 0x9B, 0xEC, 0x79, 0xA2, 0x1, 0x16, 0xAB, 0xAB, 0xFE, 0xEA, 0xA0, 0x7A, 0xED, 0x9B, 0xC3, 0xC5, 0x7A, 0xA6, 0xF8, 0xF8, 0xA6, 0x7A, 0xC5, 0x8A, 0xA9, 0xBE, 0xC5, 0xA3, 0x44, 0x45, 0x0, 0x3, 0x0, 0x50, 0xFE, 0x60, 0x4, 0x84, 0x6, 0x0, 0x0, 0x13, 0x0, 0x19, 0x0, 0x1F, 0x0, 0x0, 0x1, 0x23, 0x11, 0x26, 0x2, 0x35, 0x35, 0x34, 0x12, 0x37, 0x11, 0x33, 0x11, 0x16, 0x12, 0x15, 0x15, 0x14, 0x2, 0x7, 0x1, 0x10, 0x17, 0x11, 0x6, 0x7, 0x5, 0x34, 0x27, 0x11, 0x36, 0x37, 0x2, 0xE3, 0xF2, 0xBC, 0xE5, 0xE6, 0xBB, 0xF2, 0xBC, 0xE5, 0xE5, 0xBC, 0xFE, 0x60, 0xAE, 0xAA, 0x4, 0x2, 0x4F, 0xAF, 0xAB, 0x4, 0xFE, 0x60, 0x1, 0x97, 0x22, 0x1, 0x16, 0xE3, 0x15, 0xE3, 0x1, 0x17, 0x22, 0x1, 0xBD, 0xFE, 0x43, 0x22, 0xFE, 0xE9, 0xE4, 0x14, 0xE3, 0xFE, 0xE9, 0x22, 0x2, 0x1C, 0xFF, 0x0, 0x4B, 0x2, 0xAC, 0x4B, 0xF6, 0xB, 0xFE, 0x4E, 0xFD, 0x53, 0x4A, 0xF7, 0x0, 0x1, 0x0, 0x1B, 0xFF, 0xEC, 0x2, 0x53, 0x4, 0x3A, 0x0, 0xD, 0x0, 0x0, 0x21, 0x27, 0x6, 0x23, 0x22, 0x27, 0x37, 0x16, 0x33, 0x32, 0x37, 0x11, 0x33, 0x11, 0x1, 0x6C, 0x7, 0x57, 0x9D, 0x31, 0x25, 0x2, 0x32, 0x31, 0xA7, 0x3A, 0xF2, 0x79, 0x8D, 0xD, 0xE5, 0x8, 0x7F, 0x2, 0xE5, 0xFB, 0xC6, 0x0, 0x1, 0x0, 0x1B, 0xFF, 0xEC, 0x2, 0x53, 0x6, 0x0, 0x0, 0xD, 0x0, 0x0, 0x21, 0x27, 0x6, 0x23, 0x22, 0x27, 0x37, 0x16, 0x33, 0x32, 0x37, 0x11, 0x33, 0x11, 0x1, 0x6C, 0x7, 0x57, 0x9D, 0x31, 0x25, 0x2, 0x32, 0x31, 0xA7, 0x3A, 0xF2, 0x79, 0x8D, 0xD, 0xE5, 0x8, 0x7F, 0x4, 0xAB, 0xFA, 0x0, 0x0, 0x1, 0x0, 0x1B, 0xFE, 0x4B, 0x3, 0x30, 0x4, 0x3A, 0x0, 0x17, 0x0, 0x0, 0x1, 0x6, 0x23, 0x22, 0x26, 0x35, 0x35, 0x6, 0x23, 0x22, 0x27, 0x37, 0x16, 0x33, 0x32, 0x37, 0x11, 0x33, 0x11, 0x14, 0x16, 0x33, 0x32, 0x37, 0x3, 0x30, 0x36, 0x46, 0x7D, 0xD7, 0x56, 0x99, 0x31, 0x25, 0x2, 0x32, 0x31, 0xA7, 0x3A, 0xF2, 0x5D, 0x40, 0x24, 0x1C, 0xFE, 0x58, 0xD, 0x8D, 0xB3, 0xE6, 0x85, 0xD, 0xE5, 0x8, 0x7F, 0x2, 0xE5, 0xFB, 0x51, 0x56, 0x40, 0x6, 0x0, 0x1, 0x0, 0x7D, 0xFE, 0x60, 0x2, 0xB5, 0x4, 0x4E, 0x0, 0xD, 0x0, 0x0, 0x1, 0x22, 0x7, 0x11, 0x23, 0x11, 0x33, 0x17, 0x36, 0x33, 0x32, 0x17, 0x7, 0x26, 0x2, 0x51, 0xA9, 0x39, 0xF2, 0xE8, 0x6, 0x56, 0x9E, 0x31, 0x25, 0x2, 0x32, 0x3, 0x64, 0x80, 0xFB, 0x7C, 0x5, 0xDA, 0x7A, 0x8E, 0xD, 0xE5, 0x8, 0x0, 0x1, 0x0, 0x7D, 0xFE, 0x4B, 0x2, 0xB5, 0x4, 0x4E, 0x0, 0x17, 0x0, 0x0, 0x1, 0x6, 0x23, 0x22, 0x26, 0x35, 0x11, 0x33, 0x17, 0x36, 0x33, 0x32, 0x17, 0x7, 0x26, 0x23, 0x22, 0x7, 0x11, 0x14, 0x16, 0x33, 0x32, 0x37, 0x2, 0x4C, 0x36, 0x46, 0x7D, 0xD6, 0xE8, 0x6, 0x56, 0x9E, 0x31, 0x25, 0x2, 0x32, 0x30, 0xA9, 0x39, 0x5D, 0x40, 0x24, 0x1C, 0xFE, 0x58, 0xD, 0x8D, 0xB3, 0x4, 0xAF, 0x7A, 0x8E, 0xD, 0xE5, 0x8, 0x80, 0xFC, 0xA7, 0x56, 0x40, 0x6, 0x0, 0x1, 0x0, 0x7D, 0x0, 0x0, 0x2, 0x4D, 0x4, 0x4E, 0x0, 0xD, 0x0, 0x0, 0x21, 0x23, 0x11, 0x34, 0x36, 0x33, 0x32, 0x17, 0x15, 0x26, 0x23, 0x22, 0x6, 0x15, 0x1, 0x70, 0xF3, 0xD6, 0x7E, 0x43, 0x39, 0x1D, 0x22, 0x41, 0x5D, 0x3, 0xF, 0xB2, 0x8D, 0xF, 0xA3, 0x7, 0x3E, 0x56, 0x0, 0x1, 0x0, 0x1B, 0xFE, 0x60, 0x1, 0xEB, 0x4, 0x4E, 0x0, 0xD, 0x0, 0x0, 0x1, 0x23, 0x11, 0x34, 0x26, 0x23, 0x22, 0x7, 0x35, 0x36, 0x33, 0x32, 0x16, 0x15, 0x1, 0xEB, 0xF3, 0x5C, 0x41, 0x1D, 0x23, 0x37, 0x45, 0x7E, 0xD6, 0xFE, 0x60, 0x4, 0xAF, 0x56, 0x40, 0x7, 0xA3, 0xD, 0x8D, 0xB2, 0x0, 0x2, 0x0, 0x71, 0x0, 0x0, 0x4, 0x2A, 0x4, 0x3A, 0x0, 0x8, 0x0, 0x15, 0x0, 0x0, 0x1, 0x11, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x13, 0x3, 0x23, 0x11, 0x23, 0x11, 0x21, 0x32, 0x16, 0x15, 0x14, 0x7, 0x13, 0x1, 0x63, 0xEE, 0x5F, 0x56, 0x5D, 0x65, 0xE9, 0xE8, 0xE2, 0xF2, 0x1, 0xD3, 0xCE, 0xE8, 0xCF, 0xFF, 0x3, 0x79, 0xFE, 0xC9, 0x5F, 0x3A, 0x3B, 0x63, 0xFC, 0x87, 0x1, 0x8E, 0xFE, 0x72, 0x4, 0x3A, 0xC5, 0x95, 0xD4, 0x56, 0xFE, 0x4A, 0x0, 0x2, 0x0, 0x71, 0x0, 0x0, 0x4, 0x2A, 0x4, 0x3A, 0x0, 0xC, 0x0, 0x15, 0x0, 0x0, 0x33, 0x11, 0x33, 0x11, 0x33, 0x13, 0x33, 0x3, 0x16, 0x15, 0x14, 0x6, 0x23, 0x27, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x23, 0x71, 0xF2, 0xE2, 0xE8, 0xFD, 0xFF, 0xCF, 0xE8, 0xCE, 0xE1, 0xE1, 0x65, 0x5D, 0x56, 0x5F, 0xEE, 0x4, 0x3A, 0xFE, 0x72, 0x1, 0x8E, 0xFE, 0x4A, 0x56, 0xD4, 0x95, 0xC5, 0xC1, 0x65, 0x39, 0x38, 0x61, 0x0, 0x1, 0x0, 0x4C, 0xFE, 0x52, 0x3, 0xCA, 0x4, 0x4E, 0x0, 0x30, 0x0, 0x0, 0x1, 0x6, 0x23, 0x22, 0x26, 0x35, 0x11, 0x33, 0x16, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x27, 0x26, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x23, 0x34, 0x26, 0x23, 0x22, 0x6, 0x14, 0x16, 0x17, 0x16, 0x16, 0x15, 0x14, 0x6, 0x23, 0x22, 0x27, 0x15, 0x14, 0x16, 0x33, 0x32, 0x37, 0x1, 0xF8, 0x33, 0x3B, 0x88, 0xB6, 0xEC, 0x5, 0x8A, 0x50, 0x60, 0x65, 0x55, 0x8E, 0xB0, 0xD9, 0xE0, 0xC1, 0xCB, 0xE7, 0xF3, 0x60, 0x5F, 0x5C, 0x58, 0x5F, 0x7F, 0xBC, 0xD3, 0xEE, 0xC7, 0x8E, 0x6C, 0x5D, 0x41, 0x22, 0x1D, 0xFE, 0x61, 0xF, 0xA5, 0x9B, 0x1, 0xC4, 0x64, 0x50, 0x4A, 0x3A, 0x35, 0x4C, 0x1E, 0x25, 0x93, 0x89, 0x85, 0xC3, 0xC6, 0x92, 0x3F, 0x63, 0x52, 0x6C, 0x40, 0x1B, 0x28, 0x92, 0x91, 0x90, 0xB8, 0x36, 0x90, 0x56, 0x3F, 0x7, 0x0, 0x1, 0x0, 0x1B, 0xFE, 0x4B, 0x3, 0x31, 0x6, 0x15, 0x0, 0x15, 0x0, 0x0, 0x13, 0x22, 0x27, 0x37, 0x16, 0x33, 0x32, 0x35, 0x11, 0x34, 0x36, 0x33, 0x32, 0x17, 0x7, 0x26, 0x23, 0x22, 0x15, 0x11, 0x14, 0x6, 0xA4, 0x43, 0x46, 0x7, 0x28, 0x35, 0xAD, 0xCD, 0xAF, 0x43, 0x46, 0x7, 0x28, 0x35, 0xAD, 0xCC, 0xFE, 0x4B, 0x12, 0xBE, 0x8, 0xAC, 0x4, 0xE2, 0xB5, 0xBF, 0x12, 0xBE, 0x8, 0xAC, 0xFB, 0x1E, 0xB4, 0xC0, 0xFF, 0xFF, 0x0, 0x1B, 0xFE, 0x4B, 0x3, 0x31, 0x6, 0x15, 0x0, 0x26, 0x1, 0x37, 0x0, 0x0, 0x0, 0x7, 0x7, 0xA4, 0xFF, 0xC7, 0xFD, 0x78, 0x0, 0x1, 0x0, 0x1B, 0xFE, 0x4B, 0x3, 0x31, 0x4, 0x4E, 0x0, 0x15, 0x0, 0x0, 0x1, 0x6, 0x23, 0x22, 0x26, 0x35, 0x11, 0x26, 0x23, 0x22, 0x7, 0x27, 0x36, 0x33, 0x32, 0x16, 0x15, 0x11, 0x16, 0x33, 0x32, 0x37, 0x3, 0x31, 0x46, 0x43, 0xAF, 0xCC, 0x1, 0xAD, 0x33, 0x2A, 0x7, 0x48, 0x41, 0xB0, 0xCC, 0x1, 0xAC, 0x34, 0x2A, 0xFE, 0x5D, 0x12, 0xBF, 0xB5, 0x3, 0x1D, 0xAA, 0x8, 0xBE, 0x12, 0xBF, 0xB5, 0xFC, 0xE3, 0xAA, 0x8, 0x0, 0x2, 0x0, 0x1E, 0xFE, 0x4B, 0x3, 0xD2, 0x6, 0x15, 0x0, 0x9, 0x0, 0x23, 0x0, 0x0, 0x1, 0x32, 0x35, 0x35, 0x26, 0x23, 0x22, 0x15, 0x14, 0x16, 0x5, 0x27, 0x6, 0x6, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x17, 0x11, 0x34, 0x36, 0x33, 0x32, 0x17, 0x7, 0x26, 0x23, 0x22, 0x7, 0x11, 0x17, 0x1, 0x62, 0x6C, 0x32, 0x30, 0x6B, 0x38, 0x1, 0xFF, 0x95, 0x21, 0x98, 0x85, 0x9A, 0xAD, 0xA9, 0x8A, 0x41, 0x3C, 0xCC, 0xB0, 0x42, 0x46, 0x6, 0x2A, 0x33, 0xAD, 0x1, 0xF3, 0xFE, 0xFA, 0x77, 0x2E, 0x17, 0x5E, 0x2C, 0x32, 0x8C, 0x8E, 0x4D, 0x64, 0x99, 0x78, 0x80, 0x8E, 0xE, 0x4, 0x45, 0xB5, 0xBF, 0x12, 0xBE, 0x8, 0xAA, 0xFB, 0x3B, 0xDD, 0x0, 0x1, 0x0, 0x37, 0x0, 0x0, 0x2, 0xA2, 0x5, 0x55, 0x0, 0x15, 0x0, 0x0, 0x1, 0x23, 0x11, 0x23, 0x11, 0x23, 0x35, 0x33, 0x11, 0x34, 0x26, 0x23, 0x22, 0x7, 0x35, 0x36, 0x33, 0x32, 0x16, 0x15, 0x11, 0x33, 0x2, 0xA2, 0xB3, 0xF2, 0xBF, 0xBF, 0x3F, 0x32, 0x26, 0x2F, 0x46, 0x5A, 0x7A, 0x9E, 0xB3, 0x1, 0x7, 0xFE, 0xF9, 0x1, 0x7, 0xB4, 0x2, 0x5C, 0x49, 0x2C, 0xA, 0xBB, 0x18, 0x89, 0xA7, 0xFD, 0x96, 0x0, 0x1, 0x0, 0x8, 0xFE, 0x4B, 0x2, 0x8A, 0x5, 0x41, 0x0, 0x15, 0x0, 0x0, 0x1, 0x6, 0x23, 0x22, 0x26, 0x35, 0x11, 0x23, 0x35, 0x33, 0x11, 0x33, 0x11, 0x33, 0x15, 0x23, 0x11, 0x14, 0x16, 0x33, 0x32, 0x37, 0x2, 0x8A, 0x36, 0x46, 0x7D, 0xD6, 0xB3, 0xB3, 0xF2, 0xBF, 0xBF, 0x5D, 0x40, 0x22, 0x1E, 0xFE, 0x58, 0xD, 0x8D, 0xB3, 0x3, 0xFC, 0xB3, 0x1, 0x7, 0xFE, 0xF9, 0xB3, 0xFC, 0x4, 0x56, 0x40, 0x6, 0x0, 0x2, 0x0, 0x18, 0xFF, 0xEC, 0x5, 0x27, 0x4, 0x3A, 0x0, 0x7, 0x0, 0x1D, 0x0, 0x0, 0x25, 0x32, 0x37, 0x35, 0x21, 0x15, 0x14, 0x16, 0x5, 0x27, 0x6, 0x23, 0x22, 0x26, 0x27, 0x35, 0x23, 0x35, 0x33, 0x11, 0x33, 0x11, 0x21, 0x11, 0x33, 0x11, 0x33, 0x15, 0x23, 0x11, 0x2, 0x7D, 0xAF, 0x40, 0xFE, 0x66, 0x67, 0x1, 0x41, 0x6, 0x6A, 0xC6, 0x9F, 0xC5, 0x1, 0xC7, 0xC7, 0xF3, 0x1, 0x9A, 0xF3, 0xC8, 0xC8, 0xB3, 0x7F, 0xAF, 0x64, 0x75, 0x55, 0xB3, 0x6A, 0x7E, 0xBA, 0xD5, 0x66, 0xAB, 0x1, 0xAE, 0xFE, 0x52, 0x1, 0xAE, 0xFE, 0x52, 0xAB, 0xFE, 0x1F, 0x0, 0x1, 0x0, 0x62, 0xFF, 0xEB, 0x4, 0x8E, 0x4, 0x4E, 0x0, 0x2F, 0x0, 0x0, 0x25, 0x32, 0x36, 0x36, 0x35, 0x34, 0x26, 0x26, 0x35, 0x34, 0x36, 0x36, 0x33, 0x15, 0x22, 0x6, 0x15, 0x14, 0x16, 0x16, 0x15, 0x14, 0x6, 0x6, 0x23, 0x22, 0x26, 0x26, 0x35, 0x34, 0x36, 0x36, 0x35, 0x34, 0x26, 0x23, 0x35, 0x32, 0x16, 0x16, 0x15, 0x14, 0x6, 0x6, 0x15, 0x14, 0x16, 0x16, 0x2, 0x77, 0x7A, 0x7E, 0x2D, 0x3B, 0x3E, 0x31, 0x99, 0x9C, 0x22, 0x4F, 0x3B, 0x3B, 0x59, 0xE7, 0xD7, 0xD4, 0xE7, 0x5A, 0x3B, 0x3B, 0x4F, 0x22, 0x9D, 0x98, 0x31, 0x3D, 0x3C, 0x2D, 0x7D, 0xAE, 0x57, 0x7C, 0x36, 0x56, 0x8E, 0x87, 0x41, 0x2F, 0x6E, 0x4E, 0xBD, 0x21, 0x39, 0x37, 0x71, 0x9B, 0x75, 0x5C, 0xBB, 0x7D, 0x7C, 0xBB, 0x5D, 0x75, 0x9B, 0x71, 0x37, 0x39, 0x21, 0xBD, 0x4E, 0x6E, 0x2F, 0x41, 0x87, 0x8E, 0x56, 0x36, 0x7C, 0x57, 0x0, 0x1, 0x0, 0x77, 0xFF, 0xEC, 0x3, 0xE9, 0x4, 0x4E, 0x0, 0x18, 0x0, 0x0, 0x24, 0x36, 0x35, 0x11, 0x34, 0x23, 0x22, 0x7, 0x27, 0x36, 0x33, 0x32, 0x16, 0x15, 0x11, 0x14, 0x6, 0x20, 0x26, 0x35, 0x11, 0x33, 0x11, 0x14, 0x16, 0x2, 0x89, 0x6D, 0x63, 0x25, 0x3A, 0x1C, 0x82, 0x64, 0x93, 0x58, 0xF6, 0xFE, 0x7A, 0xF6, 0xF3, 0x6D, 0xB3, 0x6B, 0x94, 0x1, 0x48, 0x83, 0xE, 0xB3, 0x2C, 0xC1, 0x80, 0xFE, 0xA7, 0xF3, 0xD5, 0xD5, 0xF3, 0x2, 0x86, 0xFD, 0x77, 0x92, 0x6C, 0x0, 0x1, 0x0, 0x19, 0x0, 0x0, 0x3, 0xDD, 0x4, 0x3A, 0x0, 0x6, 0x0, 0x0, 0x21, 0x3, 0x3, 0x23, 0x1, 0x33, 0x1, 0x2, 0xE1, 0xE9, 0xE4, 0xFB, 0x1, 0x77, 0xD3, 0x1, 0x7A, 0x3, 0x5, 0xFC, 0xFB, 0x4, 0x3A, 0xFB, 0xC6, 0x0, 0x1, 0x0, 0x22, 0x0, 0x0, 0x5, 0xCD, 0x4, 0x3A, 0x0, 0x12, 0x0, 0x0, 0x1, 0x3, 0x23, 0x1, 0x33, 0x13, 0x17, 0x37, 0x13, 0x33, 0x1, 0x23, 0x3, 0x27, 0x7, 0x3, 0x23, 0x3, 0x27, 0x1, 0xB4, 0xA5, 0xED, 0x1, 0x28, 0xC8, 0xCD, 0x17, 0x18, 0xD0, 0xC7, 0x1, 0x28, 0xED, 0x9D, 0xC, 0xE, 0xD5, 0xB8, 0xD6, 0xA, 0x2, 0xBE, 0xFD, 0x42, 0x4, 0x3A, 0xFD, 0x64, 0x6D, 0x6D, 0x2, 0x9C, 0xFB, 0xC6, 0x2, 0xC4, 0x51, 0x4F, 0xFD, 0x3A, 0x2, 0xC5, 0x39, 0x0, 0x1, 0x0, 0xD, 0x0, 0x0, 0x3, 0xD8, 0x5, 0xEF, 0x0, 0x10, 0x0, 0x0, 0x21, 0x3, 0x3, 0x21, 0x1, 0x12, 0x37, 0x37, 0x32, 0x17, 0x15, 0x27, 0x22, 0x6, 0x7, 0x7, 0x1, 0x2, 0xD1, 0xE5, 0xDC, 0xFE, 0xFD, 0x1, 0xAB, 0x5B, 0xCB, 0x2D, 0x2E, 0x47, 0x2E, 0x5A, 0x5E, 0x1C, 0x23, 0x1, 0x7D, 0x2, 0xDF, 0xFD, 0x21, 0x4, 0xD2, 0x1, 0x6, 0x15, 0x2, 0x11, 0xBC, 0x3, 0x41, 0x51, 0x5D, 0xFB, 0xCA, 0x0, 0x1, 0x0, 0x8, 0x0, 0x0, 0x4, 0x31, 0x4, 0x39, 0x0, 0x8, 0x0, 0x0, 0x21, 0x23, 0x11, 0x1, 0x21, 0x1, 0x1, 0x21, 0x1, 0x2, 0x93, 0xF3, 0xFE, 0x68, 0x1, 0xB, 0x1, 0xA, 0x1, 0x9, 0x1, 0xB, 0xFE, 0x62, 0x1, 0x6D, 0x2, 0xCC, 0xFD, 0xFE, 0x2, 0x2, 0xFD, 0x2B, 0x0, 0x1, 0x0, 0x52, 0xFE, 0x4B, 0x4, 0x99, 0x4, 0x3A, 0x0, 0x14, 0x0, 0x0, 0x1, 0x20, 0x3, 0x35, 0x21, 0x35, 0x1, 0x21, 0x35, 0x21, 0x15, 0x1, 0x21, 0x11, 0x14, 0x16, 0x33, 0x32, 0x37, 0x15, 0x6, 0x4, 0x2B, 0xFE, 0xF1, 0x6, 0xFD, 0x3C, 0x2, 0x26, 0xFD, 0xE5, 0x3, 0x4E, 0xFD, 0xD6, 0x2, 0x3C, 0x5C, 0x40, 0x23, 0x1D, 0x33, 0xFE, 0x4B, 0x1, 0x33, 0x82, 0x9F, 0x2, 0xD7, 0xC4, 0x99, 0xFD, 0x22, 0xFE, 0xC8, 0x56, 0x3F, 0x7, 0xA3, 0xF, 0x0, 0x2, 0x0, 0x52, 0xFF, 0x1B, 0x4, 0xE3, 0x4, 0x3A, 0x0, 0x8, 0x0, 0x1E, 0x0, 0x0, 0x1, 0x22, 0x6, 0x7, 0x33, 0x32, 0x36, 0x35, 0x34, 0x1, 0x7, 0x27, 0x37, 0x21, 0x35, 0x1, 0x21, 0x35, 0x21, 0x15, 0x1, 0x33, 0x36, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x6, 0x23, 0x3, 0xCA, 0x32, 0x66, 0x4C, 0x69, 0x56, 0x72, 0xFE, 0x4D, 0x9B, 0x9C, 0x52, 0xFE, 0xD3, 0x2, 0x26, 0xFD, 0xE5, 0x3, 0x4E, 0xFD, 0xD6, 0x87, 0x8E, 0xC8, 0x83, 0x80, 0x82, 0xF0, 0xAC, 0x1, 0x9E, 0x6C, 0x6F, 0x4C, 0x3D, 0x52, 0xFE, 0x62, 0xE5, 0x71, 0x74, 0x9F, 0x2, 0xD7, 0xC4, 0x99, 0xFD, 0x22, 0xC8, 0xC7, 0x89, 0x72, 0x9A, 0xBD, 0x0, 0x1, 0x0, 0x51, 0xFE, 0x4B, 0x4, 0x39, 0x4, 0x3A, 0x0, 0x1B, 0x0, 0x0, 0x1, 0x22, 0x24, 0x27, 0x33, 0x16, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x23, 0x35, 0x1, 0x21, 0x35, 0x21, 0x17, 0x1, 0x17, 0x16, 0x16, 0x15, 0x14, 0x4, 0x2, 0x39, 0xB3, 0xFE, 0xE8, 0x1D, 0xF3, 0xF, 0x76, 0x70, 0x80, 0x8E, 0x9B, 0x93, 0x8D, 0x1, 0x69, 0xFD, 0x91, 0x3, 0x89, 0x1, 0xFE, 0x78, 0x16, 0xC5, 0xD6, 0xFE, 0xDF, 0xFE, 0x4B, 0xAB, 0xDE, 0x56, 0x70, 0x89, 0x6B, 0x8F, 0x80, 0xAC, 0x1, 0xBA, 0xC3, 0x9B, 0xFE, 0x1A, 0x2, 0x13, 0xEA, 0xBF, 0xCF, 0xE1, 0x0, 0x2, 0x0, 0x51, 0xFE, 0x4B, 0x4, 0x8F, 0x4, 0x3A, 0x0, 0x1F, 0x0, 0x29, 0x0, 0x0, 0x1, 0x22, 0x24, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x17, 0x37, 0x26, 0x26, 0x23, 0x23, 0x35, 0x1, 0x21, 0x35, 0x21, 0x17, 0x1, 0x17, 0x16, 0x16, 0x15, 0x14, 0x7, 0x17, 0x7, 0x27, 0x6, 0x27, 0x32, 0x37, 0x26, 0x26, 0x23, 0x22, 0x15, 0x14, 0x16, 0x2, 0x20, 0xC1, 0xFE, 0xF2, 0xBE, 0x92, 0x79, 0xC8, 0x5F, 0x2, 0x9, 0x98, 0x89, 0x8D, 0x1, 0x69, 0xFD, 0x91, 0x3, 0x89, 0x1, 0xFE, 0x78, 0x18, 0xC5, 0xD4, 0x23, 0x79, 0x86, 0x70, 0x8E, 0xE0, 0x79, 0x4B, 0x54, 0xA4, 0x4D, 0x6D, 0x89, 0xFE, 0x4B, 0xA8, 0x9B, 0x78, 0x99, 0x5A, 0x49, 0x22, 0x81, 0x72, 0xAC, 0x1, 0xBA, 0xC3, 0x9B, 0xFE, 0x1A, 0x3, 0x12, 0xEC, 0xC0, 0x5F, 0x4C, 0x6E, 0x94, 0x68, 0x68, 0xC3, 0x38, 0x46, 0x5D, 0x5B, 0x47, 0x39, 0x0, 0x1, 0x0, 0x3B, 0x0, 0x0, 0x3, 0xE1, 0x6, 0x15, 0x0, 0x18, 0x0, 0x0, 0x21, 0x23, 0x11, 0x33, 0x32, 0x36, 0x35, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x7, 0x23, 0x36, 0x24, 0x33, 0x32, 0x12, 0x15, 0x15, 0x14, 0x2, 0x7, 0x2, 0x74, 0xF9, 0x7C, 0x95, 0x62, 0x62, 0x95, 0x58, 0x7A, 0x5, 0xE5, 0x5, 0x1, 0x0, 0xB4, 0xFA, 0xF3, 0xB5, 0xB8, 0x2, 0x2B, 0xDC, 0x81, 0x6E, 0x83, 0xD9, 0x67, 0x50, 0x9D, 0xDD, 0xFE, 0xC0, 0xDF, 0x6E, 0xC1, 0xFE, 0xD7, 0x29, 0x0, 0x1, 0x0, 0x50, 0x0, 0x0, 0x3, 0xF5, 0x6, 0x15, 0x0, 0x18, 0x0, 0x0, 0x1, 0x11, 0x23, 0x11, 0x26, 0x2, 0x35, 0x35, 0x34, 0x12, 0x33, 0x32, 0x16, 0x17, 0x23, 0x26, 0x26, 0x23, 0x22, 0x6, 0x15, 0x15, 0x14, 0x16, 0x17, 0x2, 0xAC, 0xF3, 0xB7, 0xB2, 0xF3, 0xF9, 0xC5, 0xF0, 0x4, 0xE4, 0x5, 0x70, 0x63, 0x94, 0x63, 0x55, 0x7F, 0x2, 0x2B, 0xFD, 0xD5, 0x1, 0x74, 0x2B, 0x1, 0x28, 0xBF, 0x70, 0xDE, 0x1, 0x41, 0xE4, 0xB3, 0x57, 0x7D, 0xDB, 0x81, 0x70, 0x7B, 0xD1, 0xF, 0x0, 0x1, 0x0, 0x3B, 0xFF, 0xEC, 0x3, 0xE1, 0x5, 0xFF, 0x0, 0x18, 0x0, 0x0, 0x5, 0x22, 0x26, 0x27, 0x33, 0x16, 0x16, 0x33, 0x32, 0x36, 0x35, 0x35, 0x34, 0x26, 0x27, 0x23, 0x11, 0x33, 0x11, 0x16, 0x12, 0x15, 0x15, 0x14, 0x2, 0x1, 0xF5, 0xC4, 0xF1, 0x5, 0xE5, 0x5, 0x6F, 0x63, 0x95, 0x62, 0x55, 0x7F, 0x95, 0xF3, 0xB7, 0xB2, 0xF3, 0x14, 0xE4, 0xB3, 0x56, 0x7E, 0xDB, 0x82, 0x70, 0x7A, 0xD1, 0xF, 0x2, 0x29, 0xFE, 0x8D, 0x2A, 0xFE, 0xD8, 0xBE, 0x70, 0xDF, 0xFE, 0xBF, 0x0, 0x1, 0x0, 0x50, 0xFE, 0x4B, 0x3, 0xF5, 0x4, 0x4E, 0x0, 0x1B, 0x0, 0x0, 0x5, 0x32, 0x36, 0x37, 0x33, 0x6, 0x4, 0x23, 0x22, 0x2, 0x35, 0x11, 0x34, 0x12, 0x33, 0x32, 0x16, 0x17, 0x23, 0x26, 0x26, 0x23, 0x22, 0x6, 0x15, 0x11, 0x14, 0x16, 0x2, 0x3A, 0x58, 0x7A, 0x5, 0xE4, 0x4, 0xFF, 0x0, 0xB5, 0xFA, 0xF2, 0xF3, 0xF9, 0xC5, 0xF0, 0x4, 0xE4, 0x5, 0x70, 0x63, 0x94, 0x63, 0x62, 0xF2, 0x67, 0x50, 0x9D, 0xDD, 0x1, 0x41, 0xDF, 0x1, 0xC4, 0xDE, 0x1, 0x41, 0xE4, 0xB3, 0x57, 0x7D, 0xDB, 0x81, 0xFE, 0x3C, 0x83, 0xDA, 0x0, 0x3, 0x0, 0x66, 0xFF, 0xEC, 0x5, 0x1F, 0x5, 0xC4, 0x0, 0xD, 0x0, 0x1B, 0x0, 0x27, 0x0, 0x0, 0x1, 0x10, 0x0, 0x21, 0x20, 0x0, 0x11, 0x35, 0x10, 0x0, 0x21, 0x20, 0x0, 0x11, 0x27, 0x34, 0x2, 0x23, 0x22, 0x2, 0x15, 0x15, 0x14, 0x12, 0x33, 0x32, 0x12, 0x35, 0x25, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x6, 0x23, 0x22, 0x26, 0x5, 0x1F, 0xFE, 0xB5, 0xFE, 0xF0, 0xFE, 0xF6, 0xFE, 0xAC, 0x1, 0x52, 0x1, 0xA, 0x1, 0x10, 0x1, 0x4D, 0xFD, 0xB9, 0xA7, 0xA2, 0xBD, 0xBF, 0xA2, 0xA8, 0xB6, 0xFE, 0x13, 0x4A, 0x43, 0x44, 0x4A, 0x4A, 0x44, 0x43, 0x4A, 0x2, 0xB3, 0xFE, 0xB4, 0xFE, 0x85, 0x1, 0x7B, 0x1, 0x4C, 0x49, 0x1, 0x4C, 0x1, 0x7C, 0xFE, 0x84, 0xFE, 0xB4, 0x2, 0xF5, 0x1, 0x0, 0xFF, 0x0, 0xF5, 0x4B, 0xF5, 0xFE, 0xFE, 0x1, 0x2, 0xF5, 0x29, 0x3A, 0x4D, 0x4D, 0x3A, 0x38, 0x4D, 0x4D, 0x0, 0x2, 0x0, 0x61, 0xFF, 0xEC, 0x3, 0xF0, 0x4, 0x4D, 0x0, 0x15, 0x0, 0x27, 0x0, 0x0, 0x1, 0x31, 0x14, 0x6, 0x6, 0x23, 0x22, 0x26, 0x35, 0x34, 0x37, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x16, 0x15, 0x31, 0x15, 0x1, 0x32, 0x36, 0x10, 0x26, 0x23, 0x22, 0x6, 0x15, 0x14, 0x17, 0x33, 0x15, 0x23, 0x6, 0x15, 0x14, 0x16, 0x3, 0xF0, 0x8F, 0xD7, 0x6D, 0xC4, 0xF8, 0xB9, 0xA6, 0xE5, 0xC4, 0x75, 0xD6, 0x88, 0xFE, 0x26, 0x6B, 0x7D, 0x8D, 0x5B, 0x62, 0x4D, 0x9A, 0x62, 0x58, 0xB7, 0x5E, 0x2, 0x27, 0xE4, 0xF7, 0x60, 0xAC, 0x9A, 0xBA, 0x41, 0x4C, 0x99, 0x9A, 0xA1, 0x63, 0xEF, 0xD3, 0x1, 0xFE, 0x7F, 0xAF, 0x1, 0xA6, 0x97, 0x57, 0x34, 0x81, 0x5, 0xB0, 0x2, 0x92, 0x3A, 0x5D, 0x0, 0x1, 0x0, 0x50, 0xFF, 0xED, 0x5, 0x17, 0x4, 0x99, 0x0, 0x28, 0x0, 0x0, 0x25, 0x6, 0x6, 0x23, 0x22, 0x0, 0x35, 0x35, 0x34, 0x0, 0x33, 0x32, 0x17, 0x36, 0x33, 0x32, 0x17, 0x15, 0x26, 0x23, 0x22, 0x6, 0x15, 0x15, 0x23, 0x26, 0x23, 0x22, 0x6, 0x15, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x37, 0x35, 0x23, 0x35, 0x21, 0x4, 0x4D, 0x2C, 0xF0, 0xD1, 0xEA, 0xFE, 0xDA, 0x1, 0x26, 0xE2, 0xD6, 0x7C, 0x3A, 0xC5, 0x3B, 0x33, 0x1C, 0x23, 0x41, 0x5D, 0xF2, 0x1B, 0xD5, 0x7D, 0x99, 0x99, 0x85, 0x6C, 0x72, 0x17, 0xEF, 0x1, 0xE7, 0xA0, 0x38, 0x7B, 0x1, 0xC, 0xD4, 0xA4, 0xD4, 0x1, 0x9, 0x5F, 0xAA, 0xF, 0xA3, 0x7, 0x3E, 0x56, 0x82, 0xB6, 0xA2, 0x7A, 0xA5, 0x79, 0xA6, 0x27, 0x11, 0x9E, 0xB2, 0x0, 0x3, 0x0, 0x1E, 0xFE, 0x4B, 0x3, 0x99, 0x5, 0xD5, 0x0, 0x9, 0x0, 0x1A, 0x0, 0x23, 0x0, 0x0, 0x1, 0x34, 0x36, 0x32, 0x16, 0x15, 0x14, 0x6, 0x22, 0x26, 0x3, 0x22, 0x26, 0x35, 0x34, 0x36, 0x33, 0x33, 0x11, 0x33, 0x11, 0x33, 0x15, 0x23, 0x15, 0x14, 0x6, 0x27, 0x32, 0x35, 0x35, 0x23, 0x22, 0x15, 0x14, 0x16, 0x1, 0xBF, 0x48, 0x82, 0x49, 0x49, 0x82, 0x48, 0x5A, 0x9A, 0xAD, 0xA9, 0x8A, 0x7D, 0xF3, 0xD8, 0xD8, 0x96, 0xC9, 0x6C, 0x62, 0x6B, 0x38, 0x5, 0x54, 0x38, 0x49, 0x49, 0x38, 0x37, 0x4A, 0x4A, 0xF9, 0x2E, 0x99, 0x78, 0x80, 0x8E, 0x3, 0xD0, 0xFC, 0x30, 0xB4, 0x13, 0x87, 0xD1, 0xAF, 0x77, 0x45, 0x5E, 0x2C, 0x32, 0x0, 0x1, 0xFF, 0xF6, 0xFE, 0x60, 0x3, 0xB0, 0x4, 0x3A, 0x0, 0xC, 0x0, 0x0, 0x1, 0x23, 0x11, 0x7, 0x1, 0x21, 0x1, 0x1, 0x21, 0x1, 0x37, 0x11, 0x33, 0x3, 0xB0, 0xF3, 0x4D, 0xFE, 0xD6, 0xFE, 0xDB, 0x1, 0x93, 0xFE, 0x42, 0x1, 0x19, 0x1, 0x41, 0x6D, 0xF3, 0xFE, 0x60, 0x3, 0x50, 0x60, 0xFE, 0xB0, 0x1, 0xC2, 0x2, 0x78, 0xFE, 0x2E, 0x70, 0x1, 0x62, 0x0, 0x1, 0x0, 0x7A, 0x0, 0x0, 0x3, 0x65, 0x4, 0x3A, 0x0, 0x5, 0x0, 0x0, 0x33, 0x11, 0x33, 0x11, 0x21, 0x15, 0x7A, 0xF3, 0x1, 0xF8, 0x4, 0x3A, 0xFC, 0x87, 0xC1, 0x0, 0x2, 0x0, 0x50, 0xFE, 0x60, 0x4, 0xE0, 0x5, 0x72, 0x0, 0x19, 0x0, 0x25, 0x0, 0x0, 0x1, 0x23, 0x11, 0x6, 0x23, 0x22, 0x2, 0x35, 0x35, 0x34, 0x12, 0x33, 0x32, 0x17, 0x35, 0x34, 0x36, 0x33, 0x32, 0x17, 0x15, 0x26, 0x23, 0x22, 0x6, 0x15, 0x1, 0x32, 0x37, 0x11, 0x26, 0x23, 0x22, 0x6, 0x15, 0x15, 0x14, 0x16, 0x4, 0x3, 0xF3, 0x6A, 0xAA, 0xCA, 0xE2, 0xE1, 0xCD, 0xA9, 0x69, 0xD7, 0x7D, 0x49, 0x33, 0x25, 0x1B, 0x40, 0x5D, 0xFE, 0x36, 0x92, 0x45, 0x46, 0x8F, 0x83, 0x76, 0x74, 0xFE, 0x60, 0x1, 0xFD, 0x71, 0x1, 0x3A, 0xED, 0x14, 0xF7, 0x1, 0x30, 0x6F, 0x54, 0xB3, 0x8C, 0xF, 0xA2, 0x7, 0x3F, 0x56, 0xFC, 0x7C, 0x7C, 0x1, 0xEA, 0x76, 0xD2, 0x92, 0x15, 0x91, 0xD2, 0x0, 0x1, 0x0, 0x3B, 0x0, 0x0, 0x3, 0xE1, 0x6, 0x15, 0x0, 0x20, 0x0, 0x0, 0x25, 0x23, 0x15, 0x23, 0x35, 0x23, 0x35, 0x33, 0x35, 0x33, 0x32, 0x36, 0x35, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x7, 0x23, 0x36, 0x24, 0x33, 0x32, 0x12, 0x15, 0x15, 0x14, 0x2, 0x7, 0x15, 0x33, 0x3, 0x43, 0xCF, 0xF9, 0xD6, 0xD6, 0x7C, 0x95, 0x62, 0x62, 0x95, 0x58, 0x7A, 0x5, 0xE5, 0x5, 0x1, 0x0, 0xB4, 0xFA, 0xF3, 0xB5, 0xB8, 0xCF, 0x8C, 0x8C, 0x8C, 0xAB, 0xF4, 0xDC, 0x81, 0x6E, 0x83, 0xD9, 0x67, 0x50, 0x9D, 0xDD, 0xFE, 0xC0, 0xDF, 0x6E, 0xC1, 0xFE, 0xD7, 0x29, 0x3E, 0xFF, 0xFF, 0x0, 0x50, 0x0, 0x0, 0x3, 0xF5, 0x6, 0x15, 0x0, 0x26, 0x1, 0x49, 0x0, 0x0, 0x0, 0x7, 0x7, 0xA4, 0x0, 0x53, 0xFE, 0x5, 0x0, 0x3, 0x0, 0x50, 0xFF, 0xEC, 0x7, 0x72, 0x6, 0x0, 0x0, 0xB, 0x0, 0xE, 0x0, 0x23, 0x0, 0x0, 0x25, 0x32, 0x37, 0x11, 0x26, 0x23, 0x22, 0x6, 0x15, 0x15, 0x14, 0x16, 0x5, 0x1, 0x21, 0x3, 0x27, 0x6, 0x23, 0x22, 0x2, 0x35, 0x35, 0x34, 0x12, 0x33, 0x32, 0x17, 0x11, 0x33, 0x11, 0x21, 0x15, 0x1, 0x21, 0x15, 0x2, 0x37, 0x95, 0x45, 0x44, 0x94, 0x84, 0x73, 0x72, 0x2, 0x50, 0x2, 0x25, 0xFD, 0xDB, 0xDD, 0xB, 0x6C, 0xB7, 0xC3, 0xE6, 0xE5, 0xC6, 0xAC, 0x6A, 0xF3, 0x3, 0x59, 0xFD, 0xD6, 0x2, 0x3F, 0xB3, 0x86, 0x1, 0xCD, 0x82, 0xD0, 0x92, 0x15, 0x91, 0xCD, 0x14, 0x2, 0xD7, 0xFC, 0x8A, 0x70, 0x84, 0x1, 0x39, 0xEC, 0x15, 0xF7, 0x1, 0x31, 0x77, 0x2, 0x29, 0xFE, 0x3A, 0x99, 0xFD, 0x22, 0xC3, 0x0, 0x2, 0x0, 0x50, 0xFE, 0x4B, 0x7, 0x11, 0x6, 0x0, 0x0, 0xB, 0x0, 0x36, 0x0, 0x0, 0x25, 0x32, 0x37, 0x11, 0x26, 0x23, 0x22, 0x6, 0x15, 0x15, 0x14, 0x16, 0x1, 0x22, 0x24, 0x27, 0x33, 0x16, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x23, 0x35, 0x1, 0x21, 0x11, 0x23, 0x27, 0x6, 0x23, 0x22, 0x2, 0x35, 0x35, 0x34, 0x12, 0x33, 0x32, 0x17, 0x11, 0x33, 0x11, 0x21, 0x17, 0x1, 0x16, 0x16, 0x15, 0x14, 0x4, 0x2, 0x37, 0x95, 0x45, 0x44, 0x94, 0x84, 0x73, 0x72, 0x3, 0x5C, 0xB3, 0xFE, 0xDA, 0x26, 0xF3, 0x14, 0x7F, 0x76, 0x83, 0x8E, 0x9A, 0x94, 0x8D, 0x1, 0x6A, 0xFE, 0x37, 0xDD, 0xB, 0x6C, 0xB7, 0xC3, 0xE6, 0xE5, 0xC6, 0xAC, 0x6A, 0xF3, 0x2, 0xE2, 0x1, 0xFE, 0x79, 0xCE, 0xE3, 0xFE, 0xDF, 0xB3, 0x86, 0x1, 0xCD, 0x82, 0xD0, 0x92, 0x15, 0x91, 0xCD, 0xFD, 0x98, 0x99, 0xCB, 0x48, 0x59, 0x89, 0x6B, 0x8F, 0x80, 0xAC, 0x1, 0xBA, 0xFC, 0x89, 0x70, 0x84, 0x1, 0x39, 0xEC, 0x15, 0xF7, 0x1, 0x31, 0x77, 0x2, 0x29, 0xFE, 0x3A, 0x9B, 0xFE, 0x1D, 0x15, 0xE6, 0xC4, 0xD1, 0xE1, 0x0, 0x4, 0x0, 0x50, 0xFF, 0x1B, 0x8, 0x94, 0x6, 0x0, 0x0, 0xB, 0x0, 0xE, 0x0, 0x17, 0x0, 0x38, 0x0, 0x0, 0x25, 0x32, 0x37, 0x11, 0x26, 0x23, 0x22, 0x6, 0x15, 0x15, 0x14, 0x16, 0x5, 0x1, 0x21, 0x1, 0x22, 0x6, 0x7, 0x33, 0x32, 0x36, 0x35, 0x34, 0x1, 0x7, 0x27, 0x37, 0x21, 0x27, 0x6, 0x23, 0x22, 0x2, 0x35, 0x35, 0x34, 0x12, 0x33, 0x32, 0x17, 0x11, 0x33, 0x11, 0x21, 0x15, 0x1, 0x33, 0x36, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x6, 0x23, 0x2, 0x37, 0x95, 0x45, 0x44, 0x94, 0x84, 0x73, 0x72, 0x2, 0x50, 0x2, 0x25, 0xFD, 0xDB, 0x3, 0x77, 0x32, 0x66, 0x4C, 0x69, 0x56, 0x72, 0xFE, 0x4C, 0x9A, 0x9C, 0x53, 0xFD, 0xF6, 0xB, 0x6C, 0xB7, 0xC3, 0xE6, 0xE5, 0xC6, 0xAC, 0x6A, 0xF3, 0x3, 0x58, 0xFD, 0xD6, 0x8A, 0x8E, 0xC5, 0x83, 0x80, 0x82, 0xF0, 0xAC, 0xB3, 0x86, 0x1, 0xCD, 0x82, 0xD0, 0x92, 0x15, 0x91, 0xCD, 0x13, 0x2, 0xD6, 0xFE, 0x28, 0x6C, 0x6F, 0x4E, 0x41, 0x4C, 0xFE, 0x62, 0xE5, 0x71, 0x74, 0x70, 0x84, 0x1, 0x39, 0xEC, 0x15, 0xF7, 0x1, 0x31, 0x77, 0x2, 0x29, 0xFE, 0x3A, 0x99, 0xFD, 0x22, 0xC8, 0xC7, 0x89, 0x72, 0x9A, 0xBD, 0x0, 0x2, 0x0, 0x8, 0x0, 0x0, 0x5, 0x86, 0x5, 0x41, 0x0, 0x11, 0x0, 0x32, 0x0, 0x0, 0x25, 0x32, 0x35, 0x34, 0x26, 0x27, 0x26, 0x26, 0x35, 0x34, 0x37, 0x23, 0x11, 0x14, 0x16, 0x33, 0x33, 0x31, 0x7, 0x22, 0x26, 0x35, 0x11, 0x23, 0x35, 0x33, 0x11, 0x33, 0x11, 0x21, 0x36, 0x33, 0x32, 0x16, 0x15, 0x23, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x14, 0x16, 0x17, 0x16, 0x16, 0x15, 0x14, 0x6, 0x23, 0x3, 0xD3, 0xC4, 0x53, 0x90, 0xB7, 0xD2, 0x1F, 0x9D, 0x40, 0x31, 0x55, 0xA0, 0x79, 0x9F, 0xB3, 0xB3, 0xF2, 0x1, 0x87, 0x47, 0x52, 0xCB, 0xE6, 0xF3, 0x60, 0x5F, 0x5B, 0x59, 0x72, 0x6B, 0xCA, 0xC7, 0xEF, 0xC7, 0xC9, 0x66, 0x31, 0x48, 0x1D, 0x25, 0x99, 0x83, 0x44, 0x3D, 0xFD, 0xCB, 0x50, 0x38, 0xCA, 0x9D, 0xB5, 0x2, 0x35, 0xB3, 0x1, 0x7, 0xFE, 0xF9, 0x14, 0xC6, 0x92, 0x3F, 0x63, 0x52, 0x36, 0x40, 0x39, 0x17, 0x2B, 0x98, 0x89, 0x90, 0xA4, 0x0, 0x2, 0x0, 0x8, 0xFE, 0x4B, 0x4, 0x7A, 0x6, 0x15, 0x0, 0x7, 0x0, 0x2B, 0x0, 0x0, 0x25, 0x32, 0x37, 0x11, 0x23, 0x11, 0x14, 0x16, 0x13, 0x22, 0x27, 0x37, 0x16, 0x33, 0x32, 0x37, 0x35, 0x6, 0x23, 0x22, 0x26, 0x35, 0x11, 0x23, 0x35, 0x33, 0x11, 0x33, 0x11, 0x33, 0x35, 0x34, 0x36, 0x33, 0x32, 0x17, 0x7, 0x26, 0x23, 0x22, 0x15, 0x11, 0x14, 0x6, 0x2, 0x1E, 0x25, 0x32, 0xC8, 0x33, 0xD, 0x43, 0x46, 0x7, 0x28, 0x35, 0xAB, 0x2, 0x52, 0x49, 0xA6, 0x79, 0xB3, 0xB3, 0xF2, 0xC8, 0xCD, 0xB0, 0x42, 0x46, 0x6, 0x2A, 0x34, 0xAD, 0xCC, 0xB6, 0x7, 0x2, 0xCA, 0xFD, 0xB7, 0x4E, 0x3A, 0xFD, 0x95, 0x12, 0xBE, 0x8, 0xA8, 0x40, 0xF, 0xB6, 0x9C, 0x2, 0x49, 0xB3, 0x1, 0x7, 0xFE, 0xF9, 0x67, 0xB5, 0xBF, 0x12, 0xBE, 0x8, 0xAC, 0xFB, 0x1E, 0xB4, 0xC0, 0x0, 0x2, 0x0, 0x8, 0xFF, 0xEC, 0x6, 0x2, 0x5, 0x41, 0x0, 0x32, 0x0, 0x3D, 0x0, 0x0, 0x25, 0x32, 0x37, 0x26, 0x35, 0x35, 0x34, 0x12, 0x33, 0x32, 0x16, 0x17, 0x23, 0x26, 0x26, 0x23, 0x22, 0x6, 0x15, 0x15, 0x14, 0x17, 0x36, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x6, 0x23, 0x22, 0x27, 0x6, 0x23, 0x22, 0x26, 0x35, 0x11, 0x23, 0x35, 0x33, 0x11, 0x33, 0x11, 0x33, 0x15, 0x23, 0x11, 0x14, 0x16, 0x5, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x7, 0x16, 0x2, 0x13, 0x37, 0x50, 0x3E, 0xF4, 0xF8, 0xC5, 0xF1, 0x4, 0xE4, 0x5, 0x70, 0x63, 0x94, 0x63, 0xD, 0x5D, 0xCE, 0x6F, 0x87, 0x85, 0xF7, 0xC2, 0xC1, 0x7D, 0xA3, 0x95, 0x79, 0x9F, 0xB3, 0xB3, 0xF2, 0xB1, 0xB1, 0x3A, 0x2, 0x6C, 0x4F, 0x7B, 0x36, 0x21, 0x3C, 0x86, 0x4C, 0x3C, 0xB6, 0x33, 0x7E, 0xA4, 0x24, 0xDE, 0x1, 0x41, 0xE4, 0xB3, 0x57, 0x7D, 0xDB, 0x81, 0x24, 0x50, 0x3D, 0x48, 0x78, 0x93, 0x67, 0x94, 0xC4, 0x6A, 0x6A, 0x9D, 0xB5, 0x2, 0x49, 0xB3, 0x1, 0x7, 0xFE, 0xF9, 0xB3, 0xFD, 0xB7, 0x50, 0x38, 0x7, 0x44, 0x3C, 0x2D, 0x22, 0x61, 0x40, 0x2E, 0x0, 0x1, 0x0, 0x2D, 0xFE, 0x7D, 0x6, 0x59, 0x6, 0x15, 0x0, 0x2E, 0x0, 0x0, 0x1, 0x22, 0x27, 0x35, 0x16, 0x33, 0x32, 0x36, 0x35, 0x11, 0x34, 0x26, 0x23, 0x22, 0x7, 0x11, 0x23, 0x11, 0x21, 0x11, 0x23, 0x11, 0x23, 0x35, 0x33, 0x35, 0x34, 0x36, 0x33, 0x32, 0x17, 0x7, 0x26, 0x23, 0x22, 0x7, 0x15, 0x21, 0x15, 0x36, 0x33, 0x32, 0x16, 0x15, 0x11, 0x14, 0x6, 0x5, 0x5, 0x43, 0x39, 0x1D, 0x23, 0x41, 0x5C, 0x62, 0x5D, 0x93, 0x48, 0xF2, 0xFE, 0xEC, 0xF4, 0xA5, 0xA5, 0xCC, 0xB0, 0x43, 0x46, 0x6, 0x2A, 0x34, 0xAB, 0x2, 0x2, 0x6, 0x76, 0xB7, 0xA0, 0xC0, 0xD6, 0xFE, 0x7D, 0xF, 0xA3, 0x7, 0x3F, 0x56, 0x2, 0xD9, 0x83, 0x6F, 0x83, 0xFC, 0xFB, 0x3, 0x87, 0xFC, 0x79, 0x3, 0x87, 0xB3, 0x67, 0xB5, 0xBF, 0x12, 0xBE, 0x8, 0xA8, 0x6B, 0x77, 0x8B, 0xD0, 0xEA, 0xFD, 0x29, 0xB3, 0x8D, 0x0, 0x1, 0x0, 0x8C, 0xFF, 0xEC, 0x5, 0x1E, 0x6, 0x0, 0x0, 0x27, 0x0, 0x0, 0x5, 0x20, 0x27, 0x15, 0x23, 0x11, 0x33, 0x11, 0x16, 0x4, 0x33, 0x32, 0x35, 0x34, 0x26, 0x27, 0x26, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x23, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x14, 0x16, 0x17, 0x16, 0x16, 0x15, 0x14, 0x6, 0x3, 0x5D, 0xFE, 0xF7, 0xD5, 0xF3, 0xF3, 0x8A, 0x1, 0x4, 0x4F, 0xD3, 0x5D, 0x84, 0xB2, 0xD8, 0xE0, 0xC1, 0xCB, 0xE6, 0xF2, 0x60, 0x5F, 0x5C, 0x58, 0x6E, 0x76, 0xC1, 0xC8, 0xF1, 0x14, 0x6E, 0x5A, 0x6, 0x0, 0xFB, 0x3D, 0x5C, 0x3D, 0x82, 0x3B, 0x46, 0x1D, 0x27, 0x93, 0x88, 0x85, 0xC3, 0xC6, 0x92, 0x3F, 0x63, 0x52, 0x36, 0x3C, 0x3F, 0x18, 0x27, 0x99, 0x89, 0x90, 0xB8, 0x0, 0x2, 0x0, 0x8C, 0x0, 0x0, 0x4, 0xEE, 0x6, 0x0, 0x0, 0x2, 0x0, 0xB, 0x0, 0x0, 0x25, 0x1, 0x21, 0x3, 0x11, 0x33, 0x11, 0x21, 0x15, 0x1, 0x21, 0x15, 0x1, 0x7F, 0x2, 0x22, 0xFD, 0xDE, 0xF3, 0xF3, 0x3, 0x5A, 0xFD, 0xAC, 0x2, 0x69, 0xD2, 0x2, 0xA4, 0xFC, 0x8A, 0x6, 0x0, 0xFE, 0x3A, 0x99, 0xFD, 0x22, 0xC3, 0x0, 0x2, 0x0, 0x36, 0x0, 0x0, 0x3, 0x90, 0x5, 0xB0, 0x0, 0xC, 0x0, 0x19, 0x0, 0x0, 0x13, 0x3, 0x33, 0x13, 0x13, 0x33, 0x13, 0x13, 0x33, 0x3, 0x23, 0xB, 0x3, 0x33, 0x13, 0x13, 0x33, 0x13, 0x13, 0x33, 0x3, 0x23, 0x3, 0x3, 0xDB, 0xA5, 0xB0, 0x49, 0x6E, 0x8C, 0x70, 0x47, 0xB0, 0xA5, 0x90, 0x77, 0x78, 0x91, 0xA5, 0xB0, 0x49, 0x6E, 0x8C, 0x70, 0x47, 0xB0, 0xA5, 0x90, 0x77, 0x78, 0x3, 0x67, 0x2, 0x49, 0xFE, 0xA3, 0x1, 0x5D, 0xFE, 0xA3, 0x1, 0x5D, 0xFD, 0xB7, 0x1, 0x6D, 0xFE, 0x93, 0xFC, 0x99, 0x2, 0x49, 0xFE, 0xA3, 0x1, 0x5D, 0xFE, 0xA3, 0x1, 0x5D, 0xFD, 0xB7, 0x1, 0x6D, 0xFE, 0x93, 0x0, 0x2, 0x0, 0x57, 0x0, 0x0, 0x3, 0x86, 0x5, 0xAF, 0x0, 0x7, 0x0, 0xF, 0x0, 0x0, 0x1, 0x11, 0x21, 0x11, 0x23, 0x11, 0x21, 0x11, 0x3, 0x11, 0x21, 0x11, 0x23, 0x11, 0x21, 0x11, 0x2, 0xD2, 0xFE, 0x39, 0xB4, 0x3, 0x2F, 0xB4, 0xFE, 0x39, 0xB4, 0x3, 0x2F, 0x3, 0x69, 0x1, 0xB6, 0xFE, 0x4A, 0x2, 0x46, 0xFD, 0xBA, 0xFC, 0x97, 0x1, 0xB6, 0xFE, 0x4A, 0x2, 0x46, 0xFD, 0xBA, 0x0, 0x1, 0x0, 0x1B, 0xFE, 0x60, 0x4, 0x8E, 0x4, 0x4E, 0x0, 0x1B, 0x0, 0x0, 0x1, 0x11, 0x23, 0x11, 0x6, 0x23, 0x22, 0x26, 0x35, 0x11, 0x34, 0x26, 0x23, 0x22, 0x7, 0x35, 0x36, 0x33, 0x32, 0x16, 0x15, 0x11, 0x16, 0x16, 0x33, 0x32, 0x37, 0x11, 0x4, 0x8E, 0xF3, 0x6B, 0xBD, 0xA0, 0xC5, 0x65, 0x48, 0x26, 0x20, 0x3F, 0x48, 0x8B, 0xD4, 0x1, 0x6B, 0x46, 0xAF, 0x39, 0x4, 0x3A, 0xFA, 0x26, 0x2, 0x10, 0x84, 0xDB, 0xFA, 0x1, 0x2D, 0x5F, 0x46, 0x7, 0xB1, 0x11, 0x9E, 0xC2, 0xFE, 0xCA, 0x9D, 0x68, 0x98, 0x2, 0xEF, 0x0, 0x1, 0x0, 0x1B, 0xFE, 0x4B, 0x5, 0x56, 0x4, 0x4E, 0x0, 0x27, 0x0, 0x0, 0x1, 0x6, 0x23, 0x22, 0x26, 0x35, 0x35, 0x6, 0x23, 0x22, 0x26, 0x35, 0x35, 0x23, 0x35, 0x34, 0x26, 0x23, 0x22, 0x7, 0x35, 0x36, 0x33, 0x32, 0x16, 0x15, 0x11, 0x16, 0x16, 0x33, 0x32, 0x37, 0x11, 0x33, 0x11, 0x14, 0x16, 0x33, 0x32, 0x37, 0x5, 0x56, 0x37, 0x45, 0x7E, 0xD6, 0x6B, 0xBD, 0xA0, 0xC5, 0x1, 0x5C, 0x41, 0x1D, 0x23, 0x37, 0x45, 0x7E, 0xD7, 0x1, 0x6A, 0x47, 0xB1, 0x37, 0xF3, 0x5D, 0x40, 0x22, 0x1E, 0xFE, 0x58, 0xD, 0x8D, 0xB3, 0xE6, 0x85, 0xDB, 0xFA, 0x7A, 0xD4, 0x56, 0x40, 0x7, 0xA3, 0xD, 0x8D, 0xB2, 0xFE, 0xA9, 0x9D, 0x68, 0x9A, 0x2, 0xED, 0xFB, 0x51, 0x56, 0x40, 0x6, 0x0, 0x1, 0x0, 0x64, 0x2, 0x8C, 0x2, 0xFA, 0x7, 0x2E, 0x0, 0x10, 0x0, 0x0, 0x1, 0x22, 0x7, 0x11, 0x23, 0x11, 0x33, 0x11, 0x36, 0x33, 0x32, 0x16, 0x15, 0x11, 0x23, 0x11, 0x26, 0x1, 0xB3, 0x62, 0x28, 0xC5, 0xC5, 0x4C, 0x82, 0x78, 0x8B, 0xC5, 0x4, 0x5, 0x13, 0x59, 0xFD, 0xD2, 0x4, 0xA2, 0xFE, 0x1B, 0x71, 0x91, 0xA2, 0xFE, 0x5, 0x1, 0xD9, 0xAE, 0x0, 0x1, 0x0, 0x64, 0x2, 0x8C, 0x2, 0xFA, 0x7, 0xE, 0x0, 0x17, 0x0, 0x0, 0x1, 0x22, 0x7, 0x11, 0x23, 0x11, 0x36, 0x33, 0x32, 0x17, 0x15, 0x27, 0x22, 0x15, 0x15, 0x36, 0x33, 0x32, 0x16, 0x15, 0x11, 0x23, 0x11, 0x26, 0x1, 0xB3, 0x62, 0x28, 0xC5, 0x2, 0xBA, 0x40, 0x55, 0x44, 0x48, 0x4C, 0x82, 0x78, 0x8B, 0xC5, 0x4, 0x5, 0x13, 0x59, 0xFD, 0xD2, 0x3, 0x8D, 0xF5, 0x10, 0xB4, 0x8, 0x4F, 0xBA, 0x71, 0x91, 0xA2, 0xFE, 0x5, 0x1, 0xD9, 0xAE, 0x0, 0x2, 0x0, 0x22, 0x1, 0x4C, 0x1, 0x8B, 0x6, 0xED, 0x0, 0x9, 0x0, 0x16, 0x0, 0x0, 0x12, 0x36, 0x33, 0x32, 0x16, 0x14, 0x6, 0x23, 0x22, 0x26, 0x17, 0x33, 0x11, 0x14, 0x6, 0x23, 0x22, 0x27, 0x35, 0x16, 0x33, 0x32, 0x35, 0xA5, 0x3C, 0x36, 0x38, 0x3C, 0x3C, 0x38, 0x36, 0x3C, 0x14, 0xC5, 0x79, 0x83, 0x31, 0x2F, 0x16, 0x21, 0x60, 0x6, 0xAF, 0x3E, 0x3E, 0x5C, 0x3D, 0x3D, 0xA3, 0xFC, 0xC9, 0x86, 0xA7, 0xD, 0xA6, 0x6, 0x80, 0x0, 0x1, 0x0, 0x64, 0x2, 0x8C, 0x2, 0x12, 0x5, 0xBA, 0x0, 0xD, 0x0, 0x0, 0x1, 0x22, 0x7, 0x11, 0x23, 0x11, 0x33, 0x17, 0x36, 0x33, 0x32, 0x17, 0x15, 0x26, 0x1, 0xAE, 0x5E, 0x27, 0xC5, 0x98, 0x1E, 0x44, 0x74, 0x2F, 0x11, 0x2E, 0x4, 0xFB, 0x4F, 0xFD, 0xE0, 0x3, 0x21, 0x73, 0x80, 0x7, 0xCE, 0x16, 0x0, 0x1, 0x0, 0x28, 0x2, 0x7F, 0x1, 0xD6, 0x5, 0xAD, 0x0, 0xD, 0x0, 0x0, 0x1, 0x27, 0x6, 0x23, 0x22, 0x27, 0x35, 0x16, 0x33, 0x32, 0x37, 0x11, 0x33, 0x11, 0x1, 0x3E, 0x1E, 0x44, 0x73, 0x2F, 0x12, 0x33, 0x31, 0x5E, 0x27, 0xC5, 0x2, 0x8C, 0x73, 0x80, 0x7, 0xCE, 0x16, 0x4F, 0x2, 0x20, 0xFC, 0xDF, 0x0, 0x1, 0x0, 0x28, 0x1, 0x4C, 0x2, 0x62, 0x5, 0xAD, 0x0, 0x15, 0x0, 0x0, 0x1, 0x22, 0x27, 0x35, 0x6, 0x23, 0x22, 0x27, 0x35, 0x16, 0x33, 0x32, 0x37, 0x11, 0x33, 0x11, 0x14, 0x33, 0x32, 0x37, 0x15, 0x6, 0x1, 0xCD, 0xB7, 0x5, 0x42, 0x66, 0x2F, 0x12, 0x33, 0x31, 0x5E, 0x27, 0xC5, 0x48, 0x1D, 0x27, 0x52, 0x1, 0x4C, 0xED, 0xAD, 0x67, 0x7, 0xCE, 0x16, 0x4F, 0x2, 0x20, 0xFC, 0xAB, 0x50, 0x9, 0xB4, 0x11, 0x0, 0x2, 0x0, 0x64, 0x2, 0x8C, 0x3, 0x3E, 0x5, 0xAD, 0x0, 0xC, 0x0, 0x15, 0x0, 0x0, 0x13, 0x11, 0x33, 0x11, 0x33, 0x13, 0x33, 0x3, 0x16, 0x15, 0x14, 0x6, 0x23, 0x27, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x23, 0x64, 0xC5, 0x99, 0x9C, 0xE0, 0xB7, 0x88, 0xAC, 0x98, 0xA2, 0x91, 0x4C, 0x44, 0x40, 0x46, 0x9B, 0x2, 0x8C, 0x3, 0x21, 0xFE, 0xFF, 0x1, 0x1, 0xFE, 0xD3, 0x4E, 0x99, 0x6D, 0xA0, 0xA7, 0x3D, 0x2E, 0x2C, 0x3B, 0x0, 0x1, 0x0, 0x28, 0x2, 0x8C, 0x4, 0x52, 0x5, 0xAD, 0x0, 0xF, 0x0, 0x0, 0x13, 0x3, 0x33, 0x13, 0x35, 0x13, 0x33, 0x13, 0x15, 0x37, 0x13, 0x33, 0x3, 0x23, 0x3, 0x3, 0xF6, 0xCE, 0xD0, 0x67, 0x91, 0x9A, 0x91, 0x1, 0x66, 0xD0, 0xCD, 0xB5, 0x93, 0x93, 0x2, 0x8C, 0x3, 0x21, 0xFE, 0x2, 0x3, 0x1, 0xFB, 0xFE, 0x6, 0x2, 0x7, 0x1, 0xF5, 0xFC, 0xDF, 0x1, 0xDE, 0xFE, 0x22, 0x0, 0x1, 0x0, 0x2F, 0x1, 0x4C, 0x3, 0x1D, 0x5, 0xAD, 0x0, 0x10, 0x0, 0x0, 0x13, 0x22, 0x27, 0x35, 0x17, 0x32, 0x36, 0x37, 0x37, 0x1, 0x33, 0x13, 0x13, 0x33, 0x1, 0x6, 0x6, 0xE6, 0x2F, 0x2C, 0x30, 0x38, 0x34, 0x10, 0x12, 0xFE, 0xE6, 0xDE, 0x9A, 0x9E, 0xD8, 0xFE, 0xC3, 0x17, 0x71, 0x1, 0x4C, 0xD, 0x9D, 0x2, 0x30, 0x31, 0x37, 0x3, 0x21, 0xFE, 0x6, 0x1, 0xFA, 0xFC, 0x69, 0x43, 0x87, 0x0, 0x1, 0x0, 0x23, 0x4, 0xBC, 0x1, 0x72, 0x6, 0x1A, 0x0, 0x3, 0x0, 0x0, 0x13, 0x13, 0x33, 0x3, 0x23, 0x6E, 0xE1, 0xC8, 0x4, 0xBC, 0x1, 0x5E, 0xFE, 0xA2, 0xFF, 0xFF, 0x0, 0x23, 0x4, 0xBC, 0x2, 0xC1, 0x6, 0x1A, 0x0, 0x26, 0x1, 0x6B, 0x0, 0x0, 0x0, 0x7, 0x1, 0x6B, 0x1, 0x4F, 0x0, 0x0, 0x0, 0x1, 0x0, 0x50, 0x3, 0xE1, 0x1, 0x86, 0x6, 0x25, 0x0, 0x8, 0x0, 0x0, 0x13, 0x35, 0x34, 0x36, 0x37, 0x17, 0x6, 0x7, 0x15, 0x50, 0x65, 0x51, 0x80, 0x58, 0x2, 0x3, 0xE1, 0xBE, 0x64, 0xDC, 0x46, 0x4D, 0x88, 0xA4, 0xCB, 0x0, 0x1, 0x0, 0x50, 0x3, 0xE1, 0x1, 0x86, 0x6, 0x25, 0x0, 0x8, 0x0, 0x0, 0x13, 0x33, 0x15, 0x16, 0x17, 0x7, 0x26, 0x26, 0x35, 0x50, 0xDC, 0x2, 0x58, 0x80, 0x51, 0x65, 0x6, 0x25, 0xCB, 0xA2, 0x8A, 0x4D, 0x47, 0xDC, 0x63, 0x0, 0x1, 0x0, 0x36, 0x4, 0x62, 0x1, 0x6, 0x5, 0xEB, 0x0, 0xC, 0x0, 0x0, 0x13, 0x35, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x35, 0x32, 0x16, 0x14, 0x6, 0x36, 0x2A, 0x38, 0x38, 0x2A, 0x56, 0x7A, 0x7A, 0x4, 0x62, 0x5D, 0x3A, 0x2B, 0x2E, 0x3A, 0x5F, 0x71, 0xAC, 0x6C, 0x0, 0x1, 0x0, 0x36, 0x4, 0x62, 0x1, 0x6, 0x5, 0xEB, 0x0, 0xC, 0x0, 0x0, 0x1, 0x15, 0x22, 0x26, 0x34, 0x36, 0x33, 0x15, 0x22, 0x6, 0x15, 0x14, 0x16, 0x1, 0x6, 0x56, 0x7A, 0x7A, 0x56, 0x2B, 0x37, 0x37, 0x4, 0xBF, 0x5D, 0x6C, 0xAC, 0x71, 0x5F, 0x3A, 0x2E, 0x2B, 0x3A, 0x0, 0x1, 0x0, 0x1B, 0x2, 0x8C, 0x2, 0xC1, 0x7, 0xE, 0x0, 0x18, 0x0, 0x0, 0x1, 0x23, 0x11, 0x33, 0x32, 0x36, 0x35, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x7, 0x23, 0x36, 0x36, 0x33, 0x32, 0x16, 0x15, 0x15, 0x14, 0x6, 0x7, 0x1, 0xD1, 0xC9, 0x46, 0x6B, 0x40, 0x3F, 0x5E, 0x46, 0x3D, 0x8, 0xB6, 0x4, 0xAD, 0x8F, 0xB3, 0xB3, 0x78, 0x78, 0x2, 0x8C, 0x1, 0x7D, 0x93, 0x5E, 0x87, 0x67, 0x80, 0x45, 0x35, 0x7E, 0xA2, 0xE1, 0xAA, 0x85, 0x9A, 0xCE, 0x22, 0x0, 0x1, 0x0, 0x3C, 0x2, 0x8C, 0x2, 0xE2, 0x7, 0xE, 0x0, 0x16, 0x0, 0x0, 0x1, 0x11, 0x23, 0x35, 0x26, 0x11, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x17, 0x23, 0x26, 0x23, 0x22, 0x6, 0x15, 0x15, 0x14, 0x16, 0x33, 0x1, 0xF5, 0xC9, 0xF0, 0xB4, 0xB3, 0x8F, 0xAD, 0x3, 0xB6, 0x10, 0x7B, 0x5E, 0x3E, 0x40, 0x6A, 0x4, 0x9, 0xFE, 0x83, 0xE8, 0x44, 0x1, 0x54, 0x77, 0xAA, 0xE1, 0xA2, 0x7E, 0x7A, 0x80, 0x67, 0x87, 0x5E, 0x93, 0x0, 0x1, 0x0, 0x3D, 0x2, 0x4F, 0x3, 0x23, 0x5, 0x35, 0x0, 0x8, 0x0, 0x0, 0x1, 0x1, 0x35, 0x1, 0x15, 0x5, 0x7, 0x17, 0x5, 0x3, 0x23, 0xFD, 0x1A, 0x2, 0xE6, 0xFE, 0x40, 0x3F, 0x3F, 0x1, 0xC0, 0x2, 0x4F, 0x1, 0x21, 0xA4, 0x1, 0x21, 0xC0, 0xA6, 0xE, 0xF, 0xA3, 0x0, 0x1, 0x0, 0x3D, 0x2, 0x4F, 0x3, 0x23, 0x5, 0x35, 0x0, 0x8, 0x0, 0x0, 0x13, 0x35, 0x25, 0x37, 0x27, 0x25, 0x35, 0x1, 0x15, 0x3D, 0x1, 0xC0, 0x3F, 0x3F, 0xFE, 0x40, 0x2, 0xE6, 0x2, 0x4F, 0xC0, 0xA3, 0xF, 0xE, 0xA6, 0xC0, 0xFE, 0xDF, 0xA4, 0x0, 0x1, 0x0, 0x30, 0x2, 0x44, 0x3, 0x15, 0x5, 0x2B, 0x0, 0x8, 0x0, 0x0, 0x1, 0x3, 0x23, 0x1, 0x33, 0x1, 0x23, 0x3, 0x27, 0x1, 0x93, 0xA4, 0xBF, 0x1, 0x21, 0xA3, 0x1, 0x21, 0xBF, 0xA6, 0xE, 0x4, 0x4, 0xFE, 0x40, 0x2, 0xE7, 0xFD, 0x19, 0x1, 0xC0, 0x3F, 0x0, 0x1, 0x0, 0x30, 0x2, 0x44, 0x3, 0x15, 0x5, 0x2B, 0x0, 0x8, 0x0, 0x0, 0x1, 0x1, 0x33, 0x13, 0x17, 0x37, 0x13, 0x33, 0x1, 0x1, 0x51, 0xFE, 0xDF, 0xBF, 0xA4, 0xF, 0xE, 0xA6, 0xBF, 0xFE, 0xDF, 0x2, 0x44, 0x2, 0xE7, 0xFE, 0x40, 0x3F, 0x3F, 0x1, 0xC0, 0xFD, 0x19, 0x0, 0x1, 0x0, 0x95, 0x4, 0xE1, 0x3, 0x44, 0x6, 0x1, 0x0, 0x8, 0x0, 0x0, 0x1, 0x1, 0x15, 0x23, 0x27, 0x7, 0x23, 0x35, 0x1, 0x2, 0x32, 0x1, 0x12, 0xC3, 0x96, 0x96, 0xC0, 0x1, 0xE, 0x6, 0x1, 0xFE, 0xEB, 0xB, 0x9C, 0x9C, 0xD, 0x1, 0x13, 0x0, 0x1, 0x0, 0x72, 0x4, 0xE1, 0x3, 0x35, 0x6, 0x2, 0x0, 0x8, 0x0, 0x0, 0x1, 0x17, 0x37, 0x33, 0x15, 0x1, 0x23, 0x1, 0x35, 0x1, 0x40, 0x93, 0x92, 0xD0, 0xFE, 0xE9, 0x96, 0xFE, 0xEA, 0x6, 0x2, 0x9B, 0x9B, 0xB, 0xFE, 0xEA, 0x1, 0x17, 0xA, 0x0, 0x1, 0x0, 0x3D, 0x4, 0x7A, 0x0, 0xE4, 0x6, 0x1F, 0x0, 0x3, 0x0, 0x0, 0x13, 0x11, 0x23, 0x11, 0xE4, 0xA7, 0x6, 0x1F, 0xFE, 0x5B, 0x1, 0xA5, 0xFF, 0xFF, 0x0, 0x9C, 0x5, 0xC, 0x3, 0x4A, 0x5, 0xAA, 0x0, 0x6, 0x0, 0x71, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x48, 0x4, 0xD2, 0x2, 0x20, 0x6, 0x0, 0x0, 0x6, 0x0, 0x76, 0xD7, 0x0, 0xFF, 0xFF, 0x0, 0x37, 0x4, 0xD2, 0x2, 0x10, 0x6, 0x0, 0x0, 0x6, 0x0, 0x45, 0x6, 0x0, 0x0, 0x1, 0x0, 0x3D, 0xFE, 0x2, 0x0, 0xE4, 0xFF, 0xA2, 0x0, 0x3, 0x0, 0x0, 0x17, 0x11, 0x23, 0x11, 0xE4, 0xA7, 0x5E, 0xFE, 0x60, 0x1, 0xA0, 0xFF, 0xFF, 0x0, 0x51, 0xFE, 0xC1, 0x2, 0xFF, 0xFF, 0x5F, 0x0, 0x7, 0x0, 0x71, 0xFF, 0xB5, 0xF9, 0xB5, 0xFF, 0xFF, 0x0, 0x37, 0xFE, 0x92, 0x2, 0x10, 0xFF, 0xC0, 0x0, 0x7, 0x0, 0x45, 0x0, 0x6, 0xF9, 0xC0, 0xFF, 0xFF, 0x0, 0x48, 0xFE, 0x92, 0x2, 0x20, 0xFF, 0xC0, 0x0, 0x7, 0x0, 0x76, 0xFF, 0xD7, 0xF9, 0xC0, 0x0, 0x2, 0x0, 0x5F, 0x0, 0x0, 0x1, 0x95, 0x4, 0x3A, 0x0, 0x3, 0x0, 0x7, 0x0, 0x0, 0x13, 0x21, 0x7, 0x23, 0x3, 0x37, 0x33, 0x17, 0x5F, 0x1, 0x36, 0x91, 0x15, 0x90, 0x90, 0x15, 0x91, 0x4, 0x3A, 0xF2, 0xFC, 0xB8, 0xF2, 0xF2, 0x0, 0x1, 0x0, 0x5F, 0x3, 0x48, 0x1, 0x95, 0x4, 0x3A, 0x0, 0x3, 0x0, 0x0, 0x13, 0x21, 0x7, 0x23, 0x5F, 0x1, 0x36, 0x91, 0x15, 0x4, 0x3A, 0xF2, 0xFF, 0xFF, 0x0, 0x36, 0x0, 0x90, 0x1, 0x6, 0x2, 0x19, 0x0, 0x7, 0x1, 0x6F, 0x0, 0x0, 0xFC, 0x2E, 0x0, 0x1, 0x0, 0x36, 0x0, 0x90, 0x1, 0x6, 0x2, 0x19, 0x0, 0xD, 0x0, 0x0, 0x25, 0x15, 0x22, 0x26, 0x35, 0x34, 0x36, 0x33, 0x15, 0x22, 0x6, 0x15, 0x14, 0x16, 0x1, 0x6, 0x56, 0x7A, 0x7A, 0x56, 0x2B, 0x37, 0x37, 0xEE, 0x5E, 0x6C, 0x57, 0x56, 0x70, 0x5F, 0x3A, 0x2D, 0x2C, 0x39, 0x0, 0x1, 0x0, 0x50, 0x0, 0xA3, 0x2, 0x8, 0x2, 0x18, 0x0, 0x7, 0x0, 0x0, 0x25, 0x21, 0x35, 0x33, 0x35, 0x33, 0x15, 0x33, 0x2, 0x8, 0xFE, 0x48, 0x88, 0xA8, 0x88, 0xA3, 0x9F, 0xD6, 0xD6, 0x0, 0x1, 0x0, 0x50, 0x0, 0xA3, 0x2, 0x8, 0x2, 0x2C, 0x0, 0x7, 0x0, 0x0, 0x37, 0x35, 0x23, 0x35, 0x21, 0x15, 0x23, 0x15, 0xD8, 0x88, 0x1, 0xB8, 0x88, 0xA3, 0xEA, 0x9F, 0x9F, 0xEA, 0x0, 0x1, 0x0, 0x50, 0x0, 0x81, 0x2, 0x8, 0x2, 0x47, 0x0, 0xB, 0x0, 0x0, 0x1, 0x23, 0x15, 0x23, 0x35, 0x23, 0x35, 0x33, 0x35, 0x33, 0x15, 0x33, 0x2, 0x8, 0x88, 0xA8, 0x88, 0x88, 0xA8, 0x88, 0x1, 0x14, 0x93, 0x93, 0x9F, 0x94, 0x94, 0x0, 0x1, 0x0, 0x3D, 0x1, 0x14, 0x2, 0x1C, 0x1, 0xB3, 0x0, 0x3, 0x0, 0x0, 0x13, 0x21, 0x15, 0x21, 0x3D, 0x1, 0xDF, 0xFE, 0x21, 0x1, 0xB3, 0x9F, 0x0, 0x1, 0x0, 0x76, 0x4, 0xCC, 0x2, 0xFB, 0x5, 0xE7, 0x0, 0xC, 0x0, 0x0, 0x1, 0x33, 0x14, 0x6, 0x20, 0x26, 0x35, 0x33, 0x14, 0x16, 0x33, 0x32, 0x36, 0x2, 0x45, 0xB6, 0xAD, 0xFE, 0xD6, 0xAE, 0xB6, 0x40, 0x4D, 0x4C, 0x40, 0x5, 0xE7, 0x7C, 0x9F, 0x9F, 0x7C, 0x37, 0x54, 0x54, 0x0, 0x1, 0x0, 0x82, 0x4, 0xE0, 0x1, 0x88, 0x5, 0xD5, 0x0, 0x9, 0x0, 0x0, 0x13, 0x34, 0x36, 0x32, 0x16, 0x15, 0x14, 0x6, 0x22, 0x26, 0x82, 0x45, 0x7C, 0x45, 0x45, 0x7C, 0x45, 0x5, 0x5A, 0x35, 0x46, 0x46, 0x35, 0x34, 0x46, 0x46, 0x0, 0x2, 0x0, 0x79, 0x4, 0x8E, 0x2, 0x34, 0x6, 0x2A, 0x0, 0x9, 0x0, 0x13, 0x0, 0x0, 0x12, 0x36, 0x33, 0x32, 0x16, 0x14, 0x6, 0x23, 0x22, 0x26, 0x37, 0x14, 0x16, 0x32, 0x36, 0x35, 0x34, 0x26, 0x22, 0x6, 0x79, 0x7F, 0x5E, 0x5F, 0x7F, 0x7F, 0x5F, 0x5E, 0x7F, 0x6D, 0x3E, 0x64, 0x3F, 0x3F, 0x64, 0x3E, 0x5, 0xB0, 0x7A, 0x7A, 0xAC, 0x76, 0x76, 0x56, 0x2B, 0x44, 0x43, 0x2C, 0x2E, 0x44, 0x44, 0x0, 0x1, 0x0, 0x29, 0xFE, 0x52, 0x1, 0xA1, 0x0, 0x3C, 0x0, 0x10, 0x0, 0x0, 0x25, 0x17, 0x6, 0x6, 0x15, 0x14, 0x33, 0x32, 0x37, 0x17, 0x6, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x1, 0x1D, 0x70, 0x45, 0x5D, 0x47, 0x2C, 0x2E, 0x15, 0x49, 0x5C, 0x58, 0x7B, 0x6C, 0x3C, 0x3C, 0x2D, 0x5F, 0x3B, 0x44, 0x17, 0x8E, 0x2C, 0x66, 0x63, 0x4E, 0x96, 0x0, 0x1, 0x0, 0x7A, 0x4, 0xDB, 0x3, 0x58, 0x5, 0xF5, 0x0, 0x14, 0x0, 0x0, 0x1, 0x17, 0x14, 0x6, 0x23, 0x22, 0x26, 0x26, 0x23, 0x22, 0x6, 0x15, 0x27, 0x34, 0x36, 0x33, 0x32, 0x16, 0x33, 0x32, 0x36, 0x2, 0xC3, 0x95, 0x81, 0x5F, 0x40, 0x51, 0x47, 0x36, 0x26, 0x34, 0x96, 0x7F, 0x60, 0x52, 0x6F, 0x4D, 0x26, 0x36, 0x5, 0xF5, 0xC, 0x6F, 0x91, 0x2D, 0x2C, 0x39, 0x2E, 0x8, 0x6E, 0x96, 0x59, 0x39, 0x0, 0x2, 0x0, 0x4A, 0x4, 0xD1, 0x3, 0x57, 0x5, 0xFF, 0x0, 0x3, 0x0, 0x7, 0x0, 0x0, 0x13, 0x13, 0x33, 0x3, 0x33, 0x13, 0x33, 0x1, 0x4A, 0xAE, 0xE8, 0xDE, 0x85, 0xE1, 0xEF, 0xFE, 0xF6, 0x4, 0xD1, 0x1, 0x2E, 0xFE, 0xD2, 0x1, 0x2E, 0xFE, 0xD2, 0x0, 0x1, 0xFF, 0x3A, 0x1, 0x48, 0x1, 0x9C, 0x3, 0x32, 0x0, 0xC, 0x0, 0x0, 0x3, 0x35, 0x25, 0x16, 0x16, 0x33, 0x37, 0x17, 0x6, 0x23, 0x22, 0x26, 0x27, 0xC6, 0x1, 0x85, 0x13, 0x22, 0x52, 0x31, 0x25, 0x43, 0x4B, 0x82, 0x5C, 0x20, 0x2, 0x1D, 0xC6, 0x4F, 0x7E, 0x97, 0x3, 0xB4, 0x24, 0x92, 0x71, 0x0, 0x1, 0x0, 0x50, 0x4, 0x82, 0x2, 0x55, 0x6, 0x8F, 0x0, 0xB, 0x0, 0x0, 0x1, 0x27, 0x7, 0x27, 0x37, 0x27, 0x37, 0x17, 0x37, 0x17, 0x7, 0x17, 0x1, 0xE5, 0x93, 0x94, 0x6E, 0x94, 0x92, 0x6E, 0x93, 0x94, 0x6E, 0x94, 0x92, 0x4, 0x82, 0x97, 0x95, 0x70, 0x95, 0x95, 0x71, 0x96, 0x95, 0x71, 0x95, 0x96, 0x0, 0x2, 0x0, 0x35, 0x0, 0xD7, 0x3, 0x36, 0x5, 0xAD, 0x0, 0x12, 0x0, 0x1A, 0x0, 0x0, 0x24, 0x26, 0x35, 0x34, 0x37, 0x37, 0x1, 0x33, 0x13, 0x17, 0x37, 0x13, 0x33, 0x1, 0x17, 0x16, 0x15, 0x14, 0x6, 0x27, 0x32, 0x35, 0x34, 0x27, 0x6, 0x15, 0x14, 0x1, 0x52, 0x79, 0x1F, 0x50, 0xFE, 0xED, 0xE2, 0x96, 0x9, 0x9, 0x96, 0xE1, 0xFE, 0xE9, 0x42, 0x25, 0x76, 0x5F, 0x26, 0x24, 0x29, 0xD7, 0x5F, 0x5B, 0x27, 0x48, 0xB8, 0x2, 0xF5, 0xFE, 0xC, 0x30, 0x30, 0x1, 0xF4, 0xFD, 0x0, 0x97, 0x51, 0x34, 0x5B, 0x5F, 0x98, 0x30, 0x1F, 0x57, 0x5B, 0x1B, 0x30, 0x0, 0x1, 0x0, 0x64, 0x2, 0x8C, 0x1, 0x29, 0x7, 0x2E, 0x0, 0x3, 0x0, 0x0, 0x1, 0x11, 0x23, 0x11, 0x1, 0x29, 0xC5, 0x7, 0x2E, 0xFB, 0x5E, 0x4, 0xA2, 0x0, 0x1, 0x0, 0x3C, 0x2, 0x7C, 0x2, 0xDF, 0x5, 0xBA, 0x0, 0x21, 0x0, 0x0, 0x1, 0x34, 0x27, 0x26, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x23, 0x26, 0x26, 0x23, 0x22, 0x15, 0x14, 0x16, 0x17, 0x16, 0x16, 0x15, 0x14, 0x6, 0x23, 0x22, 0x26, 0x35, 0x33, 0x16, 0x33, 0x32, 0x2, 0x1B, 0xAD, 0x86, 0x92, 0xAC, 0x87, 0x9D, 0xB3, 0xC3, 0x1, 0x40, 0x46, 0x76, 0x4E, 0x56, 0x8E, 0x94, 0xA7, 0x9C, 0xB0, 0xB0, 0xBE, 0x10, 0x98, 0x79, 0x3, 0x62, 0x47, 0x27, 0x1E, 0x73, 0x6A, 0x6E, 0x81, 0x93, 0x6B, 0x28, 0x3D, 0x4E, 0x28, 0x2A, 0x13, 0x1F, 0x74, 0x6D, 0x72, 0x80, 0xA9, 0x63, 0x72, 0x0, 0x1, 0x0, 0x2F, 0x2, 0x8C, 0x3, 0x19, 0x5, 0xAD, 0x0, 0xB, 0x0, 0x0, 0x1, 0x13, 0x13, 0x33, 0x3, 0x13, 0x23, 0x3, 0x3, 0x23, 0x13, 0x3, 0x1, 0x19, 0x89, 0x8D, 0xE1, 0xE8, 0xF1, 0xE1, 0x94, 0x92, 0xE3, 0xF0, 0xE8, 0x5, 0xAD, 0xFE, 0xFB, 0x1, 0x5, 0xFE, 0x77, 0xFE, 0x68, 0x1, 0x10, 0xFE, 0xF0, 0x1, 0x98, 0x1, 0x89, 0x0, 0x1, 0x0, 0x51, 0x2, 0x8C, 0x3, 0xE, 0x5, 0xBA, 0x0, 0x15, 0x0, 0x0, 0x1, 0x15, 0x23, 0x35, 0x26, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x23, 0x26, 0x26, 0x23, 0x22, 0x6, 0x15, 0x14, 0x17, 0x2, 0xF, 0xC5, 0x70, 0x89, 0xC8, 0x98, 0x94, 0xC9, 0xC3, 0x3, 0x50, 0x43, 0x54, 0x4C, 0x93, 0x3, 0x8A, 0xFE, 0x6B, 0x19, 0xB2, 0x8B, 0xB0, 0xBD, 0xA4, 0x89, 0x3B, 0x4B, 0x6D, 0x5B, 0xBC, 0x5, 0x0, 0x1, 0x0, 0x1A, 0x0, 0x0, 0x2, 0x19, 0x5, 0xB0, 0x0, 0x5, 0x0, 0x0, 0x21, 0x23, 0x11, 0x21, 0x35, 0x21, 0x2, 0x19, 0xF4, 0xFE, 0xF5, 0x1, 0xFF, 0x4, 0xED, 0xC3, 0x0, 0x1, 0x0, 0x1A, 0x0, 0x0, 0x2, 0x19, 0x5, 0xB0, 0x0, 0x7, 0x0, 0x0, 0x21, 0x23, 0x11, 0x21, 0x35, 0x21, 0x11, 0x33, 0x2, 0x19, 0xF4, 0xFE, 0xF5, 0x1, 0xB, 0xF4, 0x3, 0xE2, 0xC3, 0x1, 0xB, 0x0, 0x1, 0x0, 0x1A, 0x0, 0x0, 0x2, 0x19, 0x5, 0xB0, 0x0, 0x7, 0x0, 0x0, 0x21, 0x23, 0x11, 0x21, 0x35, 0x21, 0x11, 0x33, 0x2, 0x19, 0xF4, 0xFE, 0xF5, 0x1, 0xB, 0xF4, 0x2, 0x77, 0xC3, 0x2, 0x76, 0x0, 0x1, 0x0, 0x1A, 0x0, 0x0, 0x2, 0x19, 0x5, 0xB0, 0x0, 0x7, 0x0, 0x0, 0x21, 0x23, 0x11, 0x21, 0x35, 0x21, 0x11, 0x33, 0x2, 0x19, 0xF4, 0xFE, 0xF5, 0x1, 0xB, 0xF4, 0x1, 0xB, 0xC3, 0x3, 0xE2, 0x0, 0x1, 0x0, 0x1A, 0x0, 0x0, 0x2, 0x19, 0x5, 0xB0, 0x0, 0x5, 0x0, 0x0, 0x33, 0x35, 0x21, 0x11, 0x33, 0x11, 0x1A, 0x1, 0xB, 0xF4, 0xC3, 0x4, 0xED, 0xFA, 0x50, 0x0, 0x1, 0x0, 0x84, 0x0, 0x0, 0x2, 0xEE, 0x3, 0x8C, 0x0, 0x5, 0x0, 0x0, 0x33, 0x11, 0x33, 0x11, 0x21, 0x15, 0x84, 0xF2, 0x1, 0x78, 0x3, 0x8C, 0xFD, 0x37, 0xC3, 0x0, 0x1, 0x0, 0x84, 0x0, 0x0, 0x2, 0xC7, 0x3, 0x8C, 0x0, 0x7, 0x0, 0x0, 0x1, 0x21, 0x11, 0x23, 0x11, 0x33, 0x11, 0x21, 0x2, 0xC7, 0xFE, 0xAF, 0xF2, 0xF2, 0x1, 0x51, 0x1, 0x67, 0xFE, 0x99, 0x3, 0x8C, 0xFE, 0x9E, 0x0, 0x1, 0x0, 0x49, 0xFE, 0x5C, 0x3, 0xB, 0xFF, 0x7D, 0x0, 0x8, 0x0, 0x0, 0x5, 0x17, 0x37, 0x33, 0x15, 0x1, 0x23, 0x1, 0x35, 0x1, 0x17, 0x92, 0x93, 0xCF, 0xFE, 0xE9, 0x96, 0xFE, 0xEB, 0x83, 0x9B, 0x9B, 0xA, 0xFE, 0xE9, 0x1, 0x18, 0x9, 0x0, 0x2, 0x0, 0x43, 0x4, 0x8A, 0x2, 0xD9, 0x6, 0x10, 0x0, 0x3, 0x0, 0x7, 0x0, 0x0, 0x1, 0x15, 0x21, 0x35, 0x5, 0x15, 0x21, 0x35, 0x2, 0xD9, 0xFD, 0x6A, 0x2, 0x96, 0xFD, 0x6A, 0x6, 0x10, 0x99, 0x99, 0xEE, 0x98, 0x98, 0x0, 0x2, 0x0, 0x50, 0x3, 0xD6, 0x2, 0xD9, 0x6, 0x18, 0x0, 0x8, 0x0, 0x11, 0x0, 0x0, 0x1, 0x15, 0x14, 0x6, 0x7, 0x27, 0x36, 0x37, 0x35, 0x23, 0x15, 0x14, 0x6, 0x7, 0x27, 0x36, 0x37, 0x35, 0x2, 0xD9, 0x65, 0x51, 0x80, 0x58, 0x2, 0x77, 0x65, 0x52, 0x7F, 0x57, 0x3, 0x6, 0x18, 0xBB, 0x64, 0xDC, 0x47, 0x4E, 0x8A, 0xA2, 0xC8, 0xBB, 0x64, 0xDC, 0x47, 0x4E, 0x8C, 0x9C, 0xCC, 0x0, 0x1, 0x0, 0x3D, 0xFD, 0xDD, 0x2, 0x43, 0xFF, 0xB8, 0x0, 0x8, 0x0, 0x0, 0x1, 0x3, 0x33, 0x13, 0x17, 0x37, 0x13, 0x33, 0x3, 0x1, 0x7, 0xCA, 0x85, 0x73, 0xB, 0xA, 0x74, 0x85, 0xCA, 0xFD, 0xDD, 0x1, 0xDB, 0xFE, 0xE2, 0x2A, 0x2A, 0x1, 0x1E, 0xFE, 0x25, 0x0, 0x1, 0x0, 0x3D, 0xFD, 0xDD, 0x2, 0x43, 0xFF, 0xB8, 0x0, 0x8, 0x0, 0x0, 0x1, 0x3, 0x23, 0x13, 0x33, 0x13, 0x23, 0x3, 0x27, 0x1, 0x35, 0x73, 0x85, 0xCA, 0x72, 0xCA, 0x86, 0x74, 0xA, 0xFE, 0xFC, 0xFE, 0xE1, 0x1, 0xDB, 0xFE, 0x25, 0x1, 0x1F, 0x28, 0x0, 0x1, 0x0, 0x3D, 0xFD, 0xDB, 0x2, 0x44, 0xFF, 0xBC, 0x0, 0x8, 0x0, 0x0, 0x1, 0x25, 0x35, 0x25, 0x15, 0x5, 0x7, 0x17, 0x5, 0x2, 0x44, 0xFD, 0xF9, 0x2, 0x7, 0xFE, 0xC7, 0x2C, 0x2C, 0x1, 0x39, 0xFD, 0xDB, 0xBC, 0x6A, 0xBB, 0x7C, 0x6C, 0x9, 0xA, 0x6A, 0x0, 0x1, 0x0, 0x3D, 0xFD, 0xDB, 0x2, 0x44, 0xFF, 0xBC, 0x0, 0x8, 0x0, 0x0, 0x13, 0x35, 0x25, 0x37, 0x27, 0x25, 0x35, 0x5, 0x15, 0x3D, 0x1, 0x39, 0x2C, 0x2C, 0xFE, 0xC7, 0x2, 0x7, 0xFD, 0xDB, 0x7C, 0x6A, 0xA, 0x9, 0x6C, 0x7C, 0xBB, 0x6A, 0x0, 0x2, 0x0, 0x83, 0xFE, 0x6A, 0x1, 0xEC, 0xFF, 0xBE, 0x0, 0xA, 0x0, 0x14, 0x0, 0x0, 0x16, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x6, 0x23, 0x22, 0x26, 0x37, 0x14, 0x16, 0x33, 0x32, 0x35, 0x34, 0x23, 0x22, 0x6, 0x83, 0x6B, 0x4C, 0x4A, 0x68, 0x68, 0x4A, 0x4C, 0x6B, 0x65, 0x30, 0x22, 0x4E, 0x4E, 0x22, 0x30, 0xA4, 0x62, 0x62, 0x4A, 0x4B, 0x5D, 0x5E, 0x4A, 0x22, 0x2E, 0x50, 0x53, 0x2F, 0xFF, 0xFF, 0x0, 0x37, 0x0, 0xD8, 0x2, 0x10, 0x2, 0x6, 0x0, 0x7, 0x0, 0x45, 0x0, 0x6, 0xFC, 0x6, 0xFF, 0xFF, 0x0, 0x37, 0x0, 0xD8, 0x3, 0xB6, 0x2, 0x6, 0x0, 0x27, 0x0, 0x45, 0x0, 0x6, 0xFC, 0x6, 0x0, 0x7, 0x0, 0x45, 0x1, 0xAC, 0xFC, 0x6, 0xFF, 0xFF, 0x0, 0x48, 0x0, 0xD8, 0x3, 0xC6, 0x2, 0x6, 0x0, 0x27, 0x0, 0x76, 0xFF, 0xD7, 0xFC, 0x6, 0x0, 0x7, 0x0, 0x76, 0x1, 0x7D, 0xFC, 0x6, 0x0, 0x1, 0x0, 0x4A, 0xFE, 0x4F, 0x3, 0x27, 0xFF, 0x69, 0x0, 0x14, 0x0, 0x0, 0x5, 0x17, 0x14, 0x6, 0x23, 0x22, 0x26, 0x26, 0x23, 0x22, 0x6, 0x15, 0x27, 0x34, 0x36, 0x33, 0x32, 0x16, 0x33, 0x32, 0x36, 0x2, 0x92, 0x95, 0x81, 0x5F, 0x41, 0x50, 0x48, 0x35, 0x26, 0x34, 0x95, 0x7F, 0x5F, 0x52, 0x6F, 0x4D, 0x26, 0x36, 0x97, 0xC, 0x70, 0x90, 0x2C, 0x2D, 0x39, 0x2E, 0x8, 0x6D, 0x97, 0x5A, 0x39, 0xFF, 0xFF, 0x0, 0x51, 0x1, 0x7D, 0x1, 0x6C, 0x5, 0xDB, 0x0, 0x27, 0x0, 0x13, 0xFF, 0xC9, 0x1, 0x89, 0x0, 0x7, 0x0, 0x13, 0xFF, 0xC9, 0x4, 0xDA, 0x0, 0x1, 0x0, 0x50, 0x4, 0x77, 0x1, 0xE5, 0x6, 0x0, 0x0, 0x5, 0x0, 0x0, 0x1, 0x23, 0x15, 0x23, 0x11, 0x21, 0x1, 0xE5, 0xED, 0xA8, 0x1, 0x95, 0x5, 0x63, 0xEC, 0x1, 0x89, 0x0, 0x1, 0x0, 0x50, 0x4, 0x77, 0x1, 0xE5, 0x6, 0x0, 0x0, 0x5, 0x0, 0x0, 0x1, 0x35, 0x23, 0x35, 0x21, 0x11, 0x1, 0x3E, 0xEE, 0x1, 0x95, 0x4, 0x77, 0xEC, 0x9D, 0xFE, 0x77, 0x0, 0x1, 0x0, 0x50, 0xFE, 0x2A, 0x1, 0xE5, 0xFF, 0xB3, 0x0, 0x5, 0x0, 0x0, 0x13, 0x11, 0x33, 0x15, 0x33, 0x15, 0x50, 0xA8, 0xED, 0xFE, 0x2A, 0x1, 0x89, 0xEB, 0x9E, 0x0, 0x1, 0x0, 0x50, 0xFE, 0x2A, 0x1, 0xE5, 0xFF, 0xB3, 0x0, 0x5, 0x0, 0x0, 0x1, 0x21, 0x35, 0x33, 0x35, 0x33, 0x1, 0xE5, 0xFE, 0x6B, 0xEE, 0xA7, 0xFE, 0x2A, 0x9E, 0xEB, 0x0, 0x1, 0x0, 0x50, 0xFE, 0x3B, 0x3, 0x7, 0xFF, 0xA9, 0x0, 0x7, 0x0, 0x0, 0x13, 0x11, 0x33, 0x15, 0x21, 0x35, 0x33, 0x11, 0x50, 0xA9, 0x1, 0x66, 0xA8, 0xFE, 0x3B, 0x1, 0x6E, 0xDC, 0xDC, 0xFE, 0x92, 0x0, 0x1, 0x0, 0x50, 0xFE, 0x2A, 0x2, 0xE9, 0xFF, 0xB3, 0x0, 0x5, 0x0, 0x0, 0x13, 0x11, 0x33, 0x15, 0x21, 0x15, 0x50, 0xA9, 0x1, 0xF0, 0xFE, 0x2A, 0x1, 0x89, 0xF6, 0x93, 0x0, 0x1, 0x0, 0x43, 0xFE, 0x4D, 0x3, 0x48, 0x0, 0xA9, 0x0, 0x8, 0x0, 0x0, 0x5, 0x21, 0x17, 0x23, 0x1, 0x1, 0x33, 0x7, 0x21, 0x3, 0x48, 0xFE, 0xA, 0xE1, 0xC3, 0xFE, 0xD3, 0x1, 0x2D, 0xC3, 0xE2, 0x1, 0xF7, 0xD1, 0xE2, 0x1, 0x2E, 0x1, 0x2E, 0xE3, 0x0, 0x1, 0xFC, 0x8D, 0x4, 0xD2, 0xFE, 0x66, 0x6, 0x0, 0x0, 0x3, 0x0, 0x0, 0x1, 0x13, 0x23, 0x1, 0xFD, 0xA2, 0xC4, 0xCA, 0xFE, 0xF1, 0x6, 0x0, 0xFE, 0xD2, 0x1, 0x2E, 0x0, 0x1, 0xFD, 0x5E, 0x4, 0xD2, 0xFF, 0x35, 0x6, 0x0, 0x0, 0x3, 0x0, 0x0, 0x1, 0x13, 0x21, 0x1, 0xFD, 0x5E, 0xC3, 0x1, 0x14, 0xFE, 0xEC, 0x4, 0xD2, 0x1, 0x2E, 0xFE, 0xD2, 0xFF, 0xFF, 0xFC, 0x60, 0x4, 0xE1, 0xFF, 0xF, 0x6, 0x1, 0x0, 0x7, 0x1, 0x77, 0xFB, 0xCB, 0x0, 0x0, 0xFF, 0xFF, 0xFC, 0x72, 0x4, 0xDB, 0xFF, 0x50, 0x5, 0xF5, 0x0, 0x7, 0x1, 0x8D, 0xFB, 0xF8, 0x0, 0x0, 0x0, 0x1, 0xFC, 0x60, 0x5, 0xC, 0xFF, 0xF, 0x5, 0xAA, 0x0, 0x3, 0x0, 0x0, 0x3, 0x15, 0x21, 0x35, 0xF1, 0xFD, 0x51, 0x5, 0xAA, 0x9E, 0x9E, 0xFF, 0xFF, 0xFB, 0xEE, 0x6, 0x2F, 0xFF, 0x84, 0x6, 0xEF, 0x0, 0x7, 0x0, 0x44, 0xFB, 0xEB, 0x6, 0xEF, 0x0, 0x1, 0xFC, 0x75, 0x4, 0xCC, 0xFE, 0xFB, 0x5, 0xE7, 0x0, 0xC, 0x0, 0x0, 0x1, 0x33, 0x14, 0x6, 0x20, 0x26, 0x35, 0x33, 0x14, 0x16, 0x33, 0x32, 0x36, 0xFE, 0x44, 0xB7, 0xAE, 0xFE, 0xD6, 0xAE, 0xB6, 0x40, 0x4D, 0x4C, 0x40, 0x5, 0xE7, 0x7C, 0x9F, 0x9F, 0x7C, 0x37, 0x54, 0x54, 0x0, 0x1, 0xFD, 0x2F, 0x4, 0xD3, 0xFE, 0x42, 0x5, 0xD5, 0x0, 0x9, 0x0, 0x0, 0x1, 0x34, 0x36, 0x32, 0x16, 0x15, 0x14, 0x6, 0x22, 0x26, 0xFD, 0x2F, 0x48, 0x82, 0x49, 0x49, 0x82, 0x48, 0x5, 0x54, 0x38, 0x49, 0x49, 0x38, 0x37, 0x4A, 0x4A, 0x0, 0x2, 0xFC, 0x4, 0x4, 0xE0, 0xFE, 0xCA, 0x5, 0xCD, 0x0, 0xB, 0x0, 0x17, 0x0, 0x0, 0x1, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x6, 0x23, 0x22, 0x26, 0x25, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x6, 0x23, 0x22, 0x26, 0xFC, 0x4, 0x43, 0x3B, 0x3A, 0x45, 0x45, 0x3A, 0x3B, 0x43, 0x1, 0xC9, 0x43, 0x3B, 0x3A, 0x45, 0x45, 0x3A, 0x3B, 0x43, 0x5, 0x56, 0x32, 0x45, 0x45, 0x32, 0x31, 0x44, 0x44, 0x30, 0x32, 0x45, 0x45, 0x32, 0x31, 0x44, 0x44, 0x0, 0x1, 0xFD, 0x3D, 0x4, 0xE7, 0xFE, 0x99, 0x6, 0x80, 0x0, 0xD, 0x0, 0x0, 0x1, 0x23, 0x27, 0x36, 0x35, 0x34, 0x23, 0x37, 0x32, 0x16, 0x15, 0x14, 0x6, 0x7, 0xFE, 0x2, 0xB1, 0x8, 0x8B, 0x97, 0x7, 0xA8, 0xAD, 0x5F, 0x37, 0x4, 0xE7, 0x92, 0x7, 0x3D, 0x48, 0x7B, 0x69, 0x58, 0x48, 0x44, 0x8, 0xFF, 0xFF, 0xFC, 0xDC, 0x4, 0x8E, 0xFE, 0x97, 0x6, 0x2A, 0x0, 0x7, 0x1, 0x8B, 0xFC, 0x63, 0x0, 0x0, 0xFF, 0xFF, 0xFB, 0xEE, 0x4, 0xD2, 0xFF, 0x79, 0x6, 0x0, 0x0, 0x27, 0x0, 0x76, 0xFB, 0x7D, 0x0, 0x0, 0x0, 0x7, 0x0, 0x76, 0xFD, 0x30, 0x0, 0x0, 0x0, 0x1, 0xFC, 0x60, 0x4, 0xE1, 0xFF, 0xE, 0x6, 0x1, 0x0, 0x8, 0x0, 0x0, 0x3, 0x1, 0x23, 0x1, 0x35, 0x33, 0x17, 0x37, 0x33, 0xF2, 0xFE, 0xEF, 0x8F, 0xFE, 0xF2, 0xC0, 0x95, 0x96, 0xC3, 0x5, 0xF6, 0xFE, 0xEB, 0x1, 0x13, 0xD, 0x9C, 0x9C, 0xFF, 0xFF, 0xFD, 0x65, 0x4, 0x7A, 0xFE, 0xC, 0x6, 0x1F, 0x0, 0x7, 0x1, 0x79, 0xFD, 0x28, 0x0, 0x0, 0xFF, 0xFF, 0xFC, 0xDD, 0x4, 0x7A, 0xFE, 0x8F, 0x6, 0x1F, 0x0, 0x27, 0x1, 0x79, 0xFC, 0xA0, 0x0, 0x0, 0x0, 0x7, 0x1, 0x79, 0xFD, 0xAB, 0x0, 0x0, 0x0, 0x2, 0xFC, 0xB, 0x4, 0xE4, 0xFF, 0x33, 0x5, 0xEE, 0x0, 0x3, 0x0, 0x7, 0x0, 0x0, 0x1, 0x13, 0x23, 0x3, 0x23, 0x13, 0x23, 0x1, 0xFE, 0x75, 0xBE, 0xC2, 0xF5, 0x6A, 0xF5, 0xD1, 0xFE, 0xD5, 0x5, 0xEE, 0xFE, 0xF6, 0x1, 0xA, 0xFE, 0xF6, 0x1, 0xA, 0x0, 0x2, 0xFC, 0x75, 0x4, 0xC6, 0xFE, 0xFB, 0x6, 0xBA, 0x0, 0x9, 0x0, 0x16, 0x0, 0x0, 0x1, 0x34, 0x36, 0x32, 0x16, 0x15, 0x14, 0x6, 0x22, 0x26, 0x5, 0x33, 0x14, 0x6, 0x20, 0x26, 0x35, 0x33, 0x14, 0x16, 0x33, 0x32, 0x36, 0xFD, 0x2F, 0x49, 0x82, 0x49, 0x49, 0x82, 0x49, 0x1, 0x15, 0xB7, 0xAE, 0xFE, 0xD6, 0xAE, 0xB6, 0x40, 0x4D, 0x4C, 0x40, 0x6, 0x3E, 0x35, 0x47, 0x47, 0x35, 0x34, 0x47, 0x47, 0x2A, 0x7C, 0x9E, 0x9E, 0x7C, 0x37, 0x53, 0x53, 0x0, 0x1, 0xFC, 0x75, 0x4, 0x96, 0xFE, 0xFB, 0x5, 0xB0, 0x0, 0xD, 0x0, 0x0, 0x1, 0x23, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x23, 0x34, 0x36, 0x33, 0x32, 0x16, 0xFE, 0xFB, 0xB7, 0x3F, 0x4C, 0x4D, 0x40, 0xB7, 0xAF, 0x95, 0x94, 0xAE, 0x4, 0x96, 0x37, 0x53, 0x53, 0x37, 0x7D, 0x9D, 0x9D, 0x0, 0x1, 0xFD, 0x47, 0x3, 0xE1, 0xFE, 0x7D, 0x6, 0x25, 0x0, 0x8, 0x0, 0x0, 0x1, 0x35, 0x34, 0x36, 0x37, 0x17, 0x6, 0x7, 0x15, 0xFD, 0x47, 0x65, 0x52, 0x7F, 0x57, 0x3, 0x3, 0xE1, 0xBE, 0x64, 0xDC, 0x46, 0x4D, 0x8A, 0x9E, 0xCF, 0xFF, 0xFF, 0xFD, 0x1E, 0x3, 0xE1, 0xFE, 0x54, 0x6, 0x25, 0x0, 0xF, 0x1, 0xC3, 0xFB, 0x9B, 0xA, 0x6, 0xC0, 0x0, 0x0, 0x1, 0xFD, 0x1D, 0x3, 0xE1, 0xFE, 0x53, 0x6, 0x25, 0x0, 0x8, 0x0, 0x0, 0x1, 0x33, 0x15, 0x16, 0x17, 0x7, 0x26, 0x26, 0x35, 0xFD, 0x1D, 0xDD, 0x3, 0x56, 0x7F, 0x52, 0x65, 0x6, 0x25, 0xD0, 0x9D, 0x8A, 0x4D, 0x47, 0xDC, 0x63, 0xFF, 0xFF, 0xFF, 0x3A, 0x3, 0xE1, 0x0, 0x70, 0x6, 0x25, 0x0, 0xF, 0x1, 0xC3, 0xFD, 0xB7, 0xA, 0x6, 0xC0, 0x0, 0x0, 0x1, 0xFC, 0xB8, 0xFE, 0x7A, 0xFE, 0x91, 0xFF, 0xA8, 0x0, 0x3, 0x0, 0x0, 0x5, 0x13, 0x23, 0x1, 0xFD, 0xCD, 0xC4, 0xCA, 0xFE, 0xF1, 0x58, 0xFE, 0xD2, 0x1, 0x2E, 0x0, 0x1, 0xFC, 0xC7, 0xFE, 0x7A, 0xFE, 0x9F, 0xFF, 0xA8, 0x0, 0x3, 0x0, 0x0, 0x1, 0x13, 0x21, 0x1, 0xFC, 0xC7, 0xC3, 0x1, 0x15, 0xFE, 0xEB, 0xFE, 0x7A, 0x1, 0x2E, 0xFE, 0xD2, 0x0, 0x1, 0xFC, 0xD4, 0xFE, 0x24, 0xFE, 0x8D, 0xFF, 0xC2, 0x0, 0x7, 0x0, 0x0, 0x1, 0x23, 0x35, 0x21, 0x35, 0x21, 0x35, 0x33, 0xFE, 0x8D, 0xA7, 0xFE, 0xEE, 0x1, 0x12, 0xA7, 0xFE, 0x24, 0x80, 0x9E, 0x80, 0x0, 0x1, 0xFC, 0xDC, 0xFE, 0x24, 0xFE, 0x95, 0xFF, 0xC2, 0x0, 0x7, 0x0, 0x0, 0x1, 0x11, 0x33, 0x15, 0x21, 0x15, 0x21, 0x15, 0xFC, 0xDC, 0xA8, 0x1, 0x11, 0xFE, 0xEF, 0xFE, 0x24, 0x1, 0x9E, 0x80, 0x9E, 0x80, 0x0, 0x1, 0xFC, 0xF3, 0x5, 0x3, 0xFF, 0x9C, 0x6, 0x7B, 0x0, 0x5, 0x0, 0x0, 0x3, 0x23, 0x35, 0x21, 0x35, 0x21, 0x64, 0xA8, 0xFD, 0xFF, 0x2, 0xA9, 0x5, 0x3, 0xE6, 0x92, 0x0, 0x1, 0xFE, 0x65, 0x3, 0xE1, 0xFF, 0x9A, 0x6, 0x25, 0x0, 0x8, 0x0, 0x0, 0x3, 0x15, 0x6, 0x6, 0x7, 0x27, 0x36, 0x36, 0x35, 0x66, 0x1, 0x64, 0x51, 0x7F, 0x35, 0x24, 0x6, 0x25, 0x4E, 0xB9, 0xF7, 0x46, 0x4D, 0x61, 0xD7, 0xBF, 0x0, 0x1, 0xFD, 0x71, 0xFE, 0x2B, 0xFE, 0x41, 0xFF, 0xB4, 0x0, 0xC, 0x0, 0x0, 0x1, 0x15, 0x22, 0x26, 0x34, 0x36, 0x33, 0x15, 0x22, 0x6, 0x15, 0x14, 0x16, 0xFE, 0x41, 0x56, 0x7A, 0x7A, 0x56, 0x2A, 0x38, 0x38, 0xFE, 0x88, 0x5D, 0x6C, 0xAC, 0x71, 0x5F, 0x3A, 0x2E, 0x2C, 0x39, 0x0, 0x1, 0xFC, 0xDB, 0xFE, 0x3D, 0xFE, 0x93, 0xFF, 0xB2, 0x0, 0x7, 0x0, 0x0, 0x1, 0x21, 0x35, 0x33, 0x35, 0x33, 0x15, 0x33, 0xFE, 0x93, 0xFE, 0x48, 0x88, 0xA8, 0x88, 0xFE, 0x3D, 0x9F, 0xD6, 0xD6, 0x0, 0x1, 0xFC, 0xDC, 0xFE, 0x32, 0xFE, 0x94, 0xFF, 0xA8, 0x0, 0x7, 0x0, 0x0, 0x1, 0x35, 0x23, 0x35, 0x21, 0x15, 0x23, 0x15, 0xFD, 0x63, 0x87, 0x1, 0xB8, 0x88, 0xFE, 0x32, 0xD7, 0x9F, 0x9F, 0xD7, 0x0, 0x1, 0xFC, 0xDC, 0xFE, 0x13, 0xFE, 0x94, 0xFF, 0xC8, 0x0, 0xB, 0x0, 0x0, 0x1, 0x23, 0x15, 0x23, 0x35, 0x23, 0x35, 0x33, 0x35, 0x33, 0x15, 0x33, 0xFE, 0x94, 0x88, 0xA8, 0x88, 0x88, 0xA8, 0x88, 0xFE, 0xA0, 0x8D, 0x8D, 0x99, 0x8F, 0x8F, 0x0, 0x1, 0xFC, 0xC2, 0xFE, 0xA4, 0xFE, 0xB0, 0xFF, 0x43, 0x0, 0x3, 0x0, 0x0, 0x5, 0x21, 0x15, 0x21, 0xFC, 0xC2, 0x1, 0xEE, 0xFE, 0x12, 0xBD, 0x9F, 0x0, 0x1, 0xFD, 0xBD, 0xFE, 0x52, 0xFF, 0x66, 0x0, 0xBE, 0x0, 0xC, 0x0, 0x0, 0x25, 0x33, 0x11, 0x10, 0x21, 0x22, 0x27, 0x35, 0x16, 0x33, 0x32, 0x36, 0x35, 0xFE, 0x96, 0xD0, 0xFE, 0xD1, 0x41, 0x39, 0x20, 0x26, 0x3E, 0x55, 0xBE, 0xFE, 0xF4, 0xFE, 0xA0, 0x11, 0xB1, 0x7, 0x46, 0x5F, 0x0, 0x1, 0xFE, 0xCE, 0xFE, 0x52, 0x0, 0x76, 0x0, 0xBE, 0x0, 0xC, 0x0, 0x0, 0x25, 0x33, 0x11, 0x14, 0x16, 0x33, 0x32, 0x37, 0x15, 0x6, 0x23, 0x20, 0x3, 0xFE, 0xCE, 0xCF, 0x56, 0x3E, 0x26, 0x1F, 0x38, 0x41, 0xFE, 0xD9, 0x8, 0xBE, 0xFE, 0xF4, 0x5F, 0x46, 0x7, 0xB1, 0x11, 0x1, 0x4E, 0x0, 0x1, 0xFD, 0x1B, 0xFE, 0x93, 0xFE, 0x2F, 0xFF, 0x8B, 0x0, 0x7, 0x0, 0x0, 0x4, 0x36, 0x32, 0x16, 0x14, 0x6, 0x22, 0x26, 0xFD, 0x1B, 0x49, 0x82, 0x49, 0x49, 0x82, 0x49, 0xBE, 0x49, 0x49, 0x68, 0x47, 0x47, 0x0, 0x2, 0xFC, 0x3, 0xFE, 0x98, 0xFE, 0xC9, 0xFF, 0x85, 0x0, 0x7, 0x0, 0xF, 0x0, 0x0, 0x4, 0x36, 0x32, 0x16, 0x14, 0x6, 0x22, 0x26, 0x24, 0x36, 0x32, 0x16, 0x14, 0x6, 0x22, 0x26, 0xFC, 0x3, 0x43, 0x76, 0x44, 0x44, 0x76, 0x43, 0x1, 0xC9, 0x43, 0x76, 0x44, 0x44, 0x76, 0x43, 0xC0, 0x45, 0x45, 0x64, 0x43, 0x43, 0x63, 0x45, 0x45, 0x64, 0x43, 0x43, 0x0, 0x2, 0xFC, 0xDD, 0xFE, 0x26, 0xFE, 0x98, 0xFF, 0xC2, 0x0, 0x9, 0x0, 0x13, 0x0, 0x0, 0x4, 0x36, 0x33, 0x32, 0x16, 0x14, 0x6, 0x23, 0x22, 0x26, 0x37, 0x14, 0x16, 0x32, 0x36, 0x35, 0x34, 0x26, 0x22, 0x6, 0xFC, 0xDD, 0x7E, 0x5F, 0x5E, 0x80, 0x80, 0x5E, 0x5F, 0x7E, 0x6D, 0x3E, 0x64, 0x3F, 0x3F, 0x64, 0x3E, 0xB8, 0x7A, 0x7A, 0xAC, 0x76, 0x76, 0x56, 0x2C, 0x43, 0x43, 0x2C, 0x2E, 0x44, 0x44, 0x0, 0x1, 0xFD, 0x32, 0xFD, 0xD7, 0xFE, 0x46, 0xFF, 0x70, 0x0, 0x8, 0x0, 0x0, 0x5, 0x15, 0x14, 0x6, 0x7, 0x27, 0x36, 0x37, 0x35, 0xFE, 0x46, 0x4E, 0x46, 0x80, 0x4A, 0x2, 0x90, 0x4B, 0x55, 0xBC, 0x3D, 0x4C, 0x70, 0x7F, 0x5E, 0x0, 0x1, 0xFD, 0x28, 0xFE, 0x40, 0xFE, 0x83, 0x0, 0x4, 0x0, 0xE, 0x0, 0x0, 0x25, 0x33, 0x7, 0x16, 0x16, 0x15, 0x14, 0x6, 0x23, 0x27, 0x32, 0x35, 0x34, 0x26, 0x27, 0xFD, 0x47, 0xB2, 0xC, 0x38, 0x5E, 0xA5, 0xA1, 0x7, 0x88, 0x47, 0x4F, 0x4, 0x37, 0xA, 0x4D, 0x56, 0x65, 0x7B, 0x8A, 0x59, 0x2D, 0x22, 0x6, 0x0, 0x1, 0xFC, 0xCA, 0xFE, 0x52, 0xFE, 0x42, 0x0, 0x3C, 0x0, 0x10, 0x0, 0x0, 0x25, 0x17, 0x6, 0x6, 0x15, 0x14, 0x33, 0x32, 0x37, 0x17, 0x6, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0xFD, 0xCA, 0x64, 0x44, 0x5D, 0x47, 0x2B, 0x2E, 0x15, 0x49, 0x5B, 0x59, 0x7B, 0x78, 0x3C, 0x3C, 0x2D, 0x5F, 0x3B, 0x44, 0x17, 0x8E, 0x2C, 0x66, 0x63, 0x4E, 0x96, 0x0, 0x1, 0xFD, 0x65, 0xFE, 0xE, 0xFE, 0xC, 0xFF, 0xB3, 0x0, 0x3, 0x0, 0x0, 0x5, 0x11, 0x23, 0x11, 0xFE, 0xC, 0xA7, 0x4D, 0xFE, 0x5B, 0x1, 0xA5, 0x0, 0x1, 0xFC, 0x5B, 0xFE, 0x2B, 0xFF, 0x12, 0xFF, 0x9A, 0x0, 0x7, 0x0, 0x0, 0x1, 0x11, 0x21, 0x11, 0x23, 0x35, 0x21, 0x15, 0xFC, 0x5B, 0x2, 0xB7, 0xA8, 0xFE, 0x9A, 0xFE, 0x2B, 0x1, 0x6F, 0xFE, 0x91, 0xDC, 0xDC, 0x0, 0x1, 0xFC, 0x2B, 0xFE, 0x9B, 0xFF, 0x49, 0xFF, 0x90, 0x0, 0x16, 0x0, 0x0, 0x1, 0x22, 0x27, 0x6, 0x23, 0x22, 0x26, 0x35, 0x33, 0x14, 0x16, 0x33, 0x32, 0x35, 0x33, 0x14, 0x33, 0x32, 0x36, 0x35, 0x33, 0x14, 0x6, 0xFE, 0x68, 0x70, 0x3F, 0x3F, 0x71, 0x61, 0x7D, 0x67, 0x44, 0x33, 0x7D, 0x67, 0x7B, 0x34, 0x45, 0x68, 0x80, 0xFE, 0x9B, 0x50, 0x50, 0x8A, 0x6B, 0x37, 0x41, 0x78, 0x78, 0x41, 0x37, 0x6B, 0x8A, 0x0, 0x1, 0xFC, 0x61, 0xFE, 0x69, 0xFF, 0x10, 0xFF, 0x89, 0x0, 0x8, 0x0, 0x0, 0x7, 0x1, 0x23, 0x1, 0x35, 0x33, 0x17, 0x37, 0x33, 0xF0, 0xFE, 0xEE, 0x8F, 0xFE, 0xF2, 0xC0, 0x95, 0x97, 0xC3, 0x82, 0xFE, 0xEB, 0x1, 0x13, 0xD, 0x9C, 0x9C, 0x0, 0x1, 0xFC, 0x61, 0xFE, 0x76, 0xFF, 0x10, 0xFF, 0x96, 0x0, 0x8, 0x0, 0x0, 0x5, 0x1, 0x15, 0x23, 0x27, 0x7, 0x23, 0x35, 0x1, 0xFD, 0xFE, 0x1, 0x12, 0xC3, 0x96, 0x96, 0xC0, 0x1, 0xE, 0x6A, 0xFE, 0xEB, 0xB, 0x9C, 0x9C, 0xD, 0x1, 0x13, 0x0, 0x1, 0xFC, 0x75, 0xFE, 0x8B, 0xFE, 0xFB, 0xFF, 0xA5, 0x0, 0xC, 0x0, 0x0, 0x5, 0x33, 0x14, 0x6, 0x20, 0x26, 0x35, 0x33, 0x14, 0x16, 0x33, 0x32, 0x36, 0xFE, 0x44, 0xB7, 0xAE, 0xFE, 0xD6, 0xAE, 0xB6, 0x40, 0x4D, 0x4C, 0x40, 0x5B, 0x7D, 0x9D, 0x9D, 0x7D, 0x37, 0x54, 0x54, 0x0, 0x1, 0xFC, 0x75, 0xFE, 0x83, 0xFE, 0xFB, 0xFF, 0x9D, 0x0, 0xC, 0x0, 0x0, 0x1, 0x23, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x23, 0x34, 0x36, 0x20, 0x16, 0xFE, 0xFB, 0xB7, 0x40, 0x4C, 0x4D, 0x40, 0xB6, 0xAE, 0x1, 0x2A, 0xAE, 0xFE, 0x83, 0x37, 0x53, 0x53, 0x37, 0x7C, 0x9E, 0x9E, 0x0, 0x1, 0xFC, 0x43, 0xFE, 0x79, 0xFF, 0x21, 0xFF, 0x93, 0x0, 0x14, 0x0, 0x0, 0x5, 0x17, 0x14, 0x6, 0x23, 0x22, 0x26, 0x26, 0x23, 0x22, 0x6, 0x15, 0x27, 0x34, 0x36, 0x33, 0x32, 0x16, 0x33, 0x32, 0x36, 0xFE, 0x8C, 0x95, 0x81, 0x5F, 0x41, 0x50, 0x47, 0x36, 0x26, 0x34, 0x96, 0x7F, 0x60, 0x52, 0x6F, 0x4D, 0x26, 0x36, 0x6D, 0xC, 0x6F, 0x91, 0x2C, 0x2D, 0x39, 0x2E, 0x8, 0x6E, 0x96, 0x59, 0x39, 0x0, 0x1, 0xFC, 0x62, 0xFE, 0xC1, 0xFF, 0x10, 0xFF, 0x5F, 0x0, 0x3, 0x0, 0x0, 0x7, 0x15, 0x21, 0x35, 0xF0, 0xFD, 0x52, 0xA1, 0x9E, 0x9E, 0xFF, 0xFF, 0xFB, 0xED, 0xFE, 0xAD, 0xFF, 0x83, 0xFF, 0x6D, 0x0, 0x7, 0x0, 0x44, 0xFB, 0xEA, 0xFF, 0x6D, 0x0, 0x2, 0xFB, 0xED, 0xFD, 0xF9, 0xFF, 0x84, 0xFF, 0xAC, 0x0, 0x3, 0x0, 0x7, 0x0, 0x0, 0x7, 0x15, 0x21, 0x35, 0x1, 0x15, 0x21, 0x35, 0x7D, 0xFC, 0x6A, 0x3, 0x97, 0xFC, 0x6A, 0x54, 0xAC, 0xAC, 0xFE, 0xF9, 0xAC, 0xAC, 0xFF, 0xFF, 0xFC, 0x49, 0x1, 0x8F, 0xFF, 0x27, 0x2, 0xA9, 0x0, 0x7, 0x1, 0x8D, 0xFB, 0xCF, 0xFC, 0xB4, 0xFF, 0xFF, 0xFC, 0x69, 0x1, 0xC2, 0xFF, 0x7, 0x2, 0x6D, 0x0, 0x7, 0x7, 0xA4, 0xFB, 0xD9, 0xFF, 0x3B, 0x0, 0x1, 0xFB, 0x44, 0x1, 0xC2, 0x0, 0x2C, 0x2, 0x6D, 0x0, 0x3, 0x0, 0x0, 0x13, 0x15, 0x21, 0x35, 0x2C, 0xFB, 0x18, 0x2, 0x6D, 0xAB, 0xAB, 0x0, 0x1, 0xFC, 0x1E, 0xFF, 0x76, 0xFF, 0x46, 0x4, 0xBC, 0x0, 0x3, 0x0, 0x0, 0x3, 0x1, 0x23, 0x1, 0xBA, 0xFD, 0x69, 0x91, 0x2, 0x97, 0x4, 0xBC, 0xFA, 0xBA, 0x5, 0x46, 0x0, 0x1, 0xFB, 0xA, 0xFF, 0xA1, 0xFF, 0x51, 0x5, 0xEE, 0x0, 0x3, 0x0, 0x0, 0x3, 0x1, 0x23, 0x1, 0xAF, 0xFC, 0x2C, 0x73, 0x3, 0xD4, 0x5, 0xEE, 0xF9, 0xB3, 0x6, 0x4D, 0x0, 0x1, 0xFD, 0x50, 0xFE, 0x2B, 0xFE, 0x20, 0xFF, 0xB4, 0x0, 0xC, 0x0, 0x0, 0x1, 0x35, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x35, 0x32, 0x16, 0x14, 0x6, 0xFD, 0x50, 0x2A, 0x38, 0x38, 0x2A, 0x56, 0x7A, 0x7A, 0xFE, 0x2B, 0x5D, 0x39, 0x2C, 0x2E, 0x3A, 0x5F, 0x71, 0xAC, 0x6C, 0x0, 0x1, 0xFC, 0x5C, 0xFE, 0x23, 0xFF, 0x13, 0xFF, 0x91, 0x0, 0x7, 0x0, 0x0, 0x1, 0x11, 0x33, 0x15, 0x21, 0x35, 0x33, 0x11, 0xFC, 0x5C, 0xA9, 0x1, 0x66, 0xA8, 0xFE, 0x23, 0x1, 0x6E, 0xDC, 0xDC, 0xFE, 0x92, 0x0, 0x2, 0xFC, 0xE8, 0xFE, 0xE, 0xFE, 0x8A, 0xFF, 0xB0, 0x0, 0x3, 0x0, 0x7, 0x0, 0x0, 0x1, 0x11, 0x21, 0x11, 0x1, 0x15, 0x33, 0x35, 0xFC, 0xE8, 0x1, 0xA2, 0xFE, 0xDC, 0xA7, 0xFE, 0xE, 0x1, 0xA2, 0xFE, 0x5E, 0x1, 0x24, 0xA7, 0xA7, 0x0, 0x1, 0xFC, 0x2B, 0xFE, 0x9E, 0xFF, 0x49, 0xFF, 0x93, 0x0, 0x16, 0x0, 0x0, 0x1, 0x23, 0x34, 0x36, 0x33, 0x32, 0x17, 0x36, 0x33, 0x32, 0x16, 0x15, 0x23, 0x34, 0x26, 0x23, 0x22, 0x15, 0x23, 0x34, 0x23, 0x22, 0x6, 0xFC, 0x92, 0x67, 0x7D, 0x61, 0x71, 0x3F, 0x3F, 0x70, 0x61, 0x80, 0x68, 0x45, 0x34, 0x7B, 0x67, 0x7D, 0x33, 0x44, 0xFE, 0x9E, 0x6A, 0x8B, 0x50, 0x50, 0x8B, 0x6A, 0x37, 0x41, 0x77, 0x77, 0x41, 0x0, 0x1, 0xFD, 0x4, 0x4, 0xDF, 0xFE, 0xE3, 0x6, 0xC6, 0x0, 0xB, 0x0, 0x0, 0x1, 0x27, 0x7, 0x27, 0x37, 0x27, 0x37, 0x17, 0x37, 0x17, 0x7, 0x17, 0xFE, 0x7C, 0x89, 0x8A, 0x65, 0x8A, 0x88, 0x65, 0x89, 0x8A, 0x65, 0x8A, 0x89, 0x4, 0xDF, 0x8D, 0x8B, 0x68, 0x8A, 0x8B, 0x68, 0x8C, 0x8B, 0x68, 0x8A, 0x8C, 0x0, 0x1, 0xFD, 0x45, 0x4, 0x62, 0xFE, 0x2A, 0x6, 0x87, 0x0, 0x12, 0x0, 0x0, 0x1, 0x35, 0x32, 0x36, 0x35, 0x34, 0x26, 0x35, 0x34, 0x36, 0x33, 0x15, 0x22, 0x15, 0x14, 0x16, 0x15, 0x14, 0x6, 0xFD, 0x45, 0x28, 0x20, 0x46, 0x80, 0x62, 0x40, 0x41, 0x7A, 0x4, 0x62, 0x83, 0x25, 0x13, 0x27, 0x75, 0x3F, 0x4A, 0x45, 0x82, 0x32, 0x2A, 0x72, 0x41, 0x49, 0x4B, 0x0, 0x2, 0xFB, 0xED, 0x5, 0xD4, 0xFF, 0x83, 0x7, 0x7F, 0x0, 0x3, 0x0, 0x7, 0x0, 0x0, 0x3, 0x15, 0x21, 0x35, 0x1, 0x15, 0x21, 0x35, 0x7D, 0xFC, 0x6A, 0x3, 0x96, 0xFC, 0x6B, 0x7, 0x7F, 0x9D, 0x9D, 0xFE, 0xF2, 0x9D, 0x9D, 0xFF, 0xFF, 0xFF, 0x0, 0x4, 0xD2, 0x0, 0xD9, 0x6, 0x0, 0x0, 0x7, 0x0, 0x45, 0xFE, 0xCF, 0x0, 0x0, 0xFF, 0xFF, 0xFF, 0xF, 0x4, 0xD2, 0x0, 0xE7, 0x6, 0x0, 0x0, 0x7, 0x0, 0x76, 0xFE, 0x9E, 0x0, 0x0, 0xFF, 0xFF, 0xFC, 0x49, 0x4, 0xDB, 0xFF, 0x27, 0x5, 0xF5, 0x0, 0x7, 0x1, 0x8D, 0xFB, 0xCF, 0x0, 0x0, 0xFF, 0xFF, 0xFD, 0x30, 0x4, 0xC5, 0xFE, 0x44, 0x6, 0x65, 0x0, 0x7, 0x7, 0x25, 0xFC, 0xEA, 0x5, 0x5F, 0xFF, 0xFF, 0xFC, 0xB, 0x4, 0xE0, 0xFF, 0x5E, 0x6, 0xAF, 0x0, 0x7, 0x2, 0x2E, 0xFB, 0xA3, 0x0, 0x0, 0x0, 0x1, 0xFD, 0x60, 0xFD, 0xF2, 0xFE, 0x62, 0xFF, 0xBA, 0x0, 0xB, 0x0, 0x0, 0x5, 0x33, 0x11, 0x14, 0x33, 0x37, 0x15, 0x6, 0x23, 0x22, 0x26, 0x35, 0xFD, 0x60, 0xA4, 0x33, 0x2B, 0x22, 0x30, 0x4D, 0x63, 0x46, 0xFE, 0xF6, 0x48, 0x4, 0x6E, 0xC, 0x57, 0x63, 0x0, 0x1, 0xFC, 0x5C, 0x4, 0xC0, 0xFF, 0x13, 0x6, 0x49, 0x0, 0x7, 0x0, 0x0, 0x1, 0x11, 0x21, 0x11, 0x23, 0x35, 0x21, 0x15, 0xFC, 0x5C, 0x2, 0xB7, 0xA8, 0xFE, 0x9A, 0x4, 0xC0, 0x1, 0x89, 0xFE, 0x77, 0xF7, 0xF7, 0x0, 0x2, 0xFC, 0xC2, 0xFE, 0xE, 0xFE, 0xB0, 0xFF, 0x9D, 0x0, 0x3, 0x0, 0x7, 0x0, 0x0, 0x5, 0x21, 0x15, 0x21, 0x15, 0x21, 0x15, 0x21, 0xFC, 0xC2, 0x1, 0xEE, 0xFE, 0x12, 0x1, 0xEE, 0xFE, 0x12, 0x63, 0x9B, 0x59, 0x9B, 0xFF, 0xFF, 0xFC, 0xCE, 0xFE, 0xE, 0xFE, 0xA2, 0xFF, 0xB3, 0x0, 0x27, 0x1, 0x79, 0xFC, 0x91, 0xF9, 0x94, 0x0, 0x7, 0x1, 0x79, 0xFD, 0xBE, 0xF9, 0x94, 0x0, 0x1, 0xFD, 0x9, 0xFE, 0x6, 0xFE, 0x9E, 0xFF, 0x8F, 0x0, 0x5, 0x0, 0x0, 0x1, 0x35, 0x23, 0x35, 0x21, 0x11, 0xFD, 0xF7, 0xEE, 0x1, 0x95, 0xFE, 0x6, 0xEC, 0x9D, 0xFE, 0x77, 0x0, 0x1, 0xFC, 0x4A, 0x4, 0x99, 0xFF, 0x27, 0x6, 0x2F, 0x0, 0x1A, 0x0, 0x0, 0x1, 0x22, 0x27, 0x7, 0x27, 0x37, 0x26, 0x23, 0x22, 0x6, 0x15, 0x27, 0x34, 0x36, 0x33, 0x32, 0x17, 0x37, 0x17, 0x7, 0x17, 0x32, 0x36, 0x35, 0x17, 0x14, 0x6, 0xFE, 0x47, 0x3D, 0x39, 0x39, 0x6A, 0x36, 0x14, 0x16, 0x27, 0x34, 0x95, 0x7F, 0x5F, 0x3A, 0x46, 0x3B, 0x68, 0x33, 0x1E, 0x26, 0x36, 0x95, 0x80, 0x4, 0xE9, 0x1E, 0x6E, 0x3D, 0x67, 0x5, 0x39, 0x2E, 0x8, 0x6E, 0x96, 0x28, 0x70, 0x3D, 0x61, 0x3, 0x39, 0x2E, 0xC, 0x6F, 0x91, 0x0, 0x3, 0xFC, 0x2A, 0x4, 0x79, 0xFF, 0x7, 0x7, 0x92, 0x0, 0x9, 0x0, 0x1E, 0x0, 0x28, 0x0, 0x0, 0x1, 0x34, 0x36, 0x32, 0x16, 0x15, 0x14, 0x6, 0x22, 0x26, 0x5, 0x17, 0x14, 0x6, 0x23, 0x22, 0x26, 0x26, 0x23, 0x22, 0x6, 0x15, 0x27, 0x34, 0x36, 0x33, 0x32, 0x16, 0x33, 0x32, 0x36, 0x1, 0x34, 0x36, 0x32, 0x16, 0x15, 0x14, 0x6, 0x22, 0x26, 0xFD, 0x12, 0x48, 0x82, 0x49, 0x49, 0x82, 0x48, 0x1, 0x60, 0x95, 0x80, 0x5F, 0x41, 0x50, 0x48, 0x35, 0x26, 0x35, 0x95, 0x7F, 0x60, 0x51, 0x6F, 0x4D, 0x27, 0x35, 0xFE, 0xA0, 0x48, 0x82, 0x49, 0x49, 0x82, 0x48, 0x7, 0x16, 0x35, 0x47, 0x47, 0x35, 0x34, 0x47, 0x47, 0x51, 0xC, 0x70, 0x90, 0x2D, 0x2C, 0x39, 0x2E, 0x8, 0x6E, 0x96, 0x5A, 0x3A, 0xFE, 0x91, 0x35, 0x48, 0x48, 0x35, 0x34, 0x47, 0x47, 0x0, 0x2, 0xFC, 0x55, 0x4, 0xDC, 0xFF, 0x32, 0x6, 0x9E, 0x0, 0x13, 0x0, 0x28, 0x0, 0x0, 0x1, 0x17, 0x14, 0x6, 0x23, 0x22, 0x26, 0x26, 0x23, 0x22, 0x15, 0x27, 0x34, 0x36, 0x33, 0x32, 0x16, 0x33, 0x32, 0x36, 0x15, 0x17, 0x14, 0x6, 0x23, 0x22, 0x26, 0x26, 0x23, 0x22, 0x6, 0x15, 0x27, 0x34, 0x36, 0x33, 0x32, 0x16, 0x33, 0x32, 0x36, 0xFE, 0x9D, 0x95, 0x80, 0x60, 0x42, 0x4F, 0x48, 0x34, 0x5B, 0x95, 0x7F, 0x5F, 0x52, 0x6F, 0x4D, 0x26, 0x36, 0x95, 0x80, 0x60, 0x42, 0x4F, 0x48, 0x34, 0x27, 0x34, 0x95, 0x7F, 0x5F, 0x52, 0x6F, 0x4D, 0x26, 0x36, 0x6, 0x9E, 0xA, 0x57, 0x73, 0x23, 0x23, 0x50, 0x7, 0x56, 0x76, 0x46, 0x2C, 0xBE, 0xA, 0x58, 0x72, 0x23, 0x23, 0x2D, 0x24, 0x7, 0x56, 0x76, 0x45, 0x2C, 0x0, 0x1, 0xFC, 0xD, 0xFD, 0xD9, 0xFF, 0x63, 0xFF, 0x89, 0x0, 0xD, 0x0, 0x0, 0x1, 0x37, 0x21, 0x17, 0x23, 0x27, 0x37, 0x33, 0x7, 0x21, 0x27, 0x33, 0x17, 0x7, 0xFE, 0x8, 0x9C, 0xFE, 0x29, 0x9C, 0x89, 0xD3, 0xD3, 0x89, 0x9A, 0x1, 0xD3, 0x9A, 0x89, 0xD2, 0xD2, 0xFD, 0xD9, 0xA0, 0xA0, 0xD8, 0xD8, 0x9E, 0x9E, 0xD8, 0xD8, 0x0, 0x1, 0xFC, 0xD1, 0xFD, 0xDA, 0xFE, 0x9F, 0xFF, 0xA8, 0x0, 0x8, 0x0, 0x0, 0x1, 0x27, 0x11, 0x23, 0x11, 0x7, 0x35, 0x37, 0x17, 0xFE, 0x9F, 0xAD, 0x73, 0xAE, 0xE7, 0xE7, 0xFE, 0x56, 0x9A, 0xFE, 0xEA, 0x1, 0x17, 0x9B, 0x85, 0xCD, 0xCD, 0x0, 0x1, 0xFC, 0x7C, 0x4, 0xA8, 0xFF, 0x12, 0x7, 0x30, 0x0, 0x8, 0x0, 0x0, 0x1, 0x35, 0x25, 0x37, 0x27, 0x25, 0x35, 0x5, 0x15, 0xFC, 0x7C, 0x1, 0x92, 0x3D, 0x3D, 0xFE, 0x6E, 0x2, 0x96, 0x4, 0xA8, 0xA4, 0x91, 0xE, 0xE, 0x93, 0xA4, 0xFF, 0x89, 0x0, 0x1, 0xFD, 0x6F, 0x4, 0x62, 0xFE, 0x3F, 0x5, 0xEB, 0x0, 0xC, 0x0, 0x0, 0x1, 0x22, 0x26, 0x34, 0x36, 0x33, 0x15, 0x22, 0x6, 0x15, 0x14, 0x16, 0x33, 0xFE, 0x3F, 0x56, 0x7A, 0x7A, 0x56, 0x2A, 0x38, 0x38, 0x2A, 0x4, 0x62, 0x6C, 0xAC, 0x71, 0x5F, 0x3A, 0x2E, 0x2B, 0x3A, 0x0, 0x2, 0xFC, 0x75, 0x4, 0x8F, 0xFE, 0xFB, 0x6, 0xBD, 0x0, 0xD, 0x0, 0x19, 0x0, 0x0, 0x1, 0x23, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x23, 0x34, 0x36, 0x33, 0x32, 0x16, 0x1, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x6, 0x23, 0x22, 0x26, 0xFE, 0xFB, 0xB7, 0x3F, 0x4C, 0x4D, 0x40, 0xB7, 0xAF, 0x95, 0x94, 0xAE, 0xFE, 0x33, 0x49, 0x41, 0x40, 0x4A, 0x4A, 0x40, 0x41, 0x49, 0x5, 0xA2, 0x37, 0x54, 0x54, 0x37, 0x7D, 0x9E, 0x9E, 0xFE, 0xEB, 0x35, 0x47, 0x47, 0x35, 0x34, 0x47, 0x47, 0x0, 0x1, 0xFD, 0x4, 0xFD, 0xF0, 0xFE, 0xD3, 0xFF, 0xC7, 0x0, 0xB, 0x0, 0x0, 0x1, 0x27, 0x7, 0x27, 0x37, 0x27, 0x37, 0x17, 0x37, 0x17, 0x7, 0x17, 0xFE, 0x6F, 0x84, 0x85, 0x62, 0x85, 0x84, 0x63, 0x84, 0x85, 0x62, 0x85, 0x84, 0xFD, 0xF0, 0x88, 0x86, 0x64, 0x86, 0x87, 0x64, 0x87, 0x86, 0x64, 0x86, 0x88, 0xFF, 0xFF, 0xFC, 0xBE, 0xFD, 0xDB, 0xFE, 0xC5, 0xFF, 0xBC, 0x0, 0x7, 0x1, 0xA2, 0xFC, 0x81, 0x0, 0x0, 0xFF, 0xFF, 0xFC, 0xCE, 0xFD, 0xDB, 0xFE, 0xD5, 0xFF, 0xBC, 0x0, 0x7, 0x1, 0xA3, 0xFC, 0x91, 0x0, 0x0, 0xFF, 0xFF, 0xFC, 0x17, 0xFD, 0xDB, 0x0, 0x1E, 0xFF, 0xBC, 0x0, 0x27, 0x1, 0xA3, 0xFB, 0xDA, 0x0, 0x0, 0x0, 0x7, 0x1, 0xA1, 0xFD, 0xDB, 0x0, 0x0, 0xFF, 0xFF, 0xFD, 0x4F, 0x4, 0x62, 0xFE, 0x1F, 0x5, 0xEB, 0x0, 0x7, 0x1, 0x6F, 0xFD, 0x19, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x49, 0x4, 0xA6, 0x1, 0x5D, 0x5, 0x9E, 0x0, 0x7, 0x1, 0xD4, 0x3, 0x2E, 0x6, 0x13, 0x0, 0x1, 0xFC, 0xD9, 0xFD, 0xEB, 0xFE, 0x96, 0xFF, 0xB7, 0x0, 0xE, 0x0, 0x0, 0x1, 0x37, 0x27, 0x37, 0x17, 0x27, 0x33, 0x7, 0x37, 0x17, 0x7, 0x17, 0x7, 0x27, 0x7, 0xFD, 0xC, 0x6B, 0x9E, 0x1C, 0x9D, 0x7, 0x5D, 0x8, 0x9A, 0x1C, 0xA1, 0x68, 0x4C, 0x5D, 0x5D, 0xFE, 0x25, 0x91, 0x2E, 0x5A, 0x3E, 0xB7, 0xBB, 0x3D, 0x5A, 0x30, 0x8D, 0x37, 0x98, 0x94, 0x0, 0x3, 0xFC, 0x41, 0xFE, 0x1F, 0xFF, 0x50, 0xFF, 0xBC, 0x0, 0x13, 0x0, 0x1C, 0x0, 0x25, 0x0, 0x0, 0x1, 0x22, 0x27, 0x6, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x17, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x6, 0x27, 0x14, 0x16, 0x32, 0x36, 0x34, 0x26, 0x22, 0x6, 0x5, 0x14, 0x16, 0x32, 0x36, 0x34, 0x26, 0x22, 0x6, 0xFE, 0x73, 0x6A, 0x40, 0x41, 0x69, 0x5F, 0x7F, 0x7F, 0x5F, 0x68, 0x42, 0x41, 0x69, 0x5E, 0x7F, 0x7F, 0xCE, 0x3E, 0x64, 0x3E, 0x3E, 0x64, 0x3E, 0xFE, 0xAC, 0x3E, 0x64, 0x3E, 0x3E, 0x64, 0x3E, 0xFE, 0x1F, 0x47, 0x47, 0x76, 0x57, 0x55, 0x7B, 0x49, 0x49, 0x7B, 0x55, 0x57, 0x76, 0xCD, 0x2C, 0x44, 0x43, 0x5A, 0x44, 0x44, 0x2D, 0x2C, 0x44, 0x43, 0x5A, 0x44, 0x44, 0x0, 0x1, 0xFC, 0xFC, 0x4, 0x9D, 0xFE, 0x94, 0x6, 0x7D, 0x0, 0x7, 0x0, 0x0, 0x1, 0x33, 0x7, 0x33, 0x3, 0x23, 0x37, 0x23, 0xFD, 0x67, 0x86, 0x3C, 0xE3, 0x6B, 0x86, 0x3C, 0xE3, 0x6, 0x7D, 0xAD, 0xFE, 0xCD, 0xAD, 0xFF, 0xFF, 0xFD, 0x34, 0xFE, 0x52, 0x2, 0xCB, 0xFF, 0x98, 0x0, 0x7, 0x2, 0xE, 0x0, 0x0, 0xF9, 0xBC, 0x0, 0x1, 0xFD, 0x34, 0x4, 0x96, 0x2, 0xCB, 0x5, 0xDC, 0x0, 0xC, 0x0, 0x0, 0x1, 0x33, 0x6, 0x4, 0x20, 0x24, 0x27, 0x33, 0x16, 0x4, 0x33, 0x32, 0x24, 0x2, 0x15, 0xB6, 0x4A, 0xFE, 0x9F, 0xFD, 0xC0, 0xFE, 0x9E, 0x4A, 0xB6, 0x39, 0x1, 0xF, 0xCE, 0xCD, 0x1, 0x11, 0x5, 0xDC, 0x7C, 0xCA, 0xCA, 0x7C, 0x37, 0x80, 0x80, 0x0, 0x1, 0xFD, 0xB6, 0x5, 0x6, 0x2, 0x4B, 0x5, 0xA4, 0x0, 0x3, 0x0, 0x0, 0x1, 0x15, 0x21, 0x35, 0x2, 0x4B, 0xFB, 0x6B, 0x5, 0xA4, 0x9E, 0x9E, 0xFF, 0xFF, 0xFD, 0xB6, 0xFE, 0xCF, 0x2, 0x4B, 0xFF, 0x6D, 0x0, 0x7, 0x2, 0xF, 0x0, 0x0, 0xF9, 0xC9, 0x0, 0x1, 0xFC, 0x2E, 0x4, 0xD7, 0x3, 0xD1, 0x5, 0xF8, 0x0, 0x15, 0x0, 0x0, 0x1, 0x17, 0x6, 0x6, 0x23, 0x22, 0x2C, 0x2, 0x23, 0x22, 0x7, 0x27, 0x36, 0x36, 0x33, 0x32, 0xC, 0x2, 0x33, 0x32, 0x3, 0x4F, 0x82, 0xE, 0xAB, 0x83, 0x8E, 0xFE, 0xA7, 0xFE, 0x72, 0xFE, 0xC8, 0x6C, 0xA0, 0x2B, 0x83, 0x14, 0xA6, 0x85, 0x78, 0x1, 0x5E, 0x1, 0x8B, 0x1, 0x4E, 0x69, 0xAB, 0x5, 0xF8, 0x28, 0x6A, 0x7B, 0x1B, 0x28, 0x1A, 0x71, 0x23, 0x65, 0x84, 0x1C, 0x26, 0x1B, 0x0, 0x1, 0xFD, 0x34, 0x4, 0x88, 0x2, 0xCB, 0x5, 0xCE, 0x0, 0xC, 0x0, 0x0, 0x1, 0x23, 0x26, 0x24, 0x23, 0x22, 0x4, 0x7, 0x23, 0x36, 0x24, 0x20, 0x4, 0x2, 0xCB, 0xB6, 0x37, 0xFE, 0xEF, 0xCD, 0xCE, 0xFE, 0xF1, 0x39, 0xB6, 0x4A, 0x1, 0x62, 0x2, 0x40, 0x1, 0x61, 0x4, 0x88, 0x37, 0x7F, 0x7F, 0x37, 0x7D, 0xC9, 0xC9, 0x0, 0x1, 0xFD, 0x27, 0xFD, 0xD7, 0x3, 0x6D, 0xFF, 0x89, 0x0, 0x8, 0x0, 0x0, 0x1, 0x23, 0x37, 0x21, 0x35, 0x21, 0x27, 0x33, 0x5, 0x2, 0x40, 0xC3, 0xE4, 0xFA, 0xC6, 0x5, 0x38, 0xE2, 0xC3, 0x1, 0x2D, 0xFD, 0xD7, 0xA4, 0x6B, 0xA3, 0xD8, 0x0, 0x2, 0xFC, 0xD0, 0x4, 0xA8, 0xFE, 0xC1, 0x6, 0xE0, 0x0, 0x9, 0x0, 0x23, 0x0, 0x0, 0x1, 0x32, 0x36, 0x37, 0x35, 0x23, 0x22, 0x6, 0x15, 0x14, 0x17, 0x26, 0x27, 0x6, 0x23, 0x22, 0x26, 0x35, 0x34, 0x37, 0x33, 0x35, 0x34, 0x23, 0x22, 0x15, 0x27, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x15, 0x14, 0x17, 0xFD, 0xAC, 0x25, 0x41, 0xC, 0x53, 0x37, 0x35, 0xD3, 0xA, 0x6, 0x38, 0x63, 0x54, 0x63, 0xEF, 0x5F, 0x50, 0x58, 0x8A, 0x7D, 0x68, 0x60, 0x7C, 0x14, 0x5, 0x16, 0x26, 0x16, 0x50, 0x30, 0x20, 0x3C, 0x64, 0x1B, 0x22, 0x47, 0x5A, 0x4B, 0xA8, 0x4, 0x22, 0x55, 0x42, 0x6, 0x4A, 0x62, 0x63, 0x63, 0xE3, 0x4C, 0x39, 0x0, 0x2, 0xFC, 0xCE, 0x4, 0xA3, 0xFE, 0xC0, 0x6, 0xDF, 0x0, 0x5, 0x0, 0x19, 0x0, 0x0, 0x1, 0x22, 0x7, 0x33, 0x35, 0x26, 0x13, 0x6, 0x6, 0x23, 0x22, 0x26, 0x35, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x15, 0x21, 0x16, 0x33, 0x32, 0x37, 0xFD, 0xCD, 0x5E, 0xF, 0xD8, 0x5, 0x81, 0x1B, 0x6B, 0x52, 0x81, 0x8D, 0x8E, 0x71, 0x79, 0x7A, 0xFE, 0x9E, 0xB, 0x7A, 0x5A, 0x30, 0x6, 0x6B, 0x76, 0x9, 0x6D, 0xFE, 0xA0, 0x27, 0x41, 0x99, 0x72, 0x15, 0x85, 0x97, 0x99, 0x77, 0x37, 0x80, 0x3E, 0x0, 0x2, 0xFD, 0x79, 0x4, 0xB1, 0xFE, 0x1C, 0x7, 0xAD, 0x0, 0x5, 0x0, 0x9, 0x0, 0x0, 0x0, 0x33, 0x32, 0x14, 0x23, 0x22, 0x17, 0x11, 0x23, 0x11, 0xFD, 0x79, 0x51, 0x52, 0x52, 0x51, 0x9A, 0x90, 0x7, 0xAD, 0x98, 0x3C, 0xFD, 0xD8, 0x2, 0x28, 0x0, 0x2, 0xFC, 0xC2, 0x4, 0xA3, 0xFE, 0xD0, 0x6, 0xDF, 0x0, 0xA, 0x0, 0x12, 0x0, 0x0, 0x0, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x6, 0x27, 0x32, 0x35, 0x34, 0x23, 0x22, 0x15, 0x14, 0xFD, 0x50, 0x8E, 0x8E, 0x78, 0x7A, 0x8E, 0x8E, 0x79, 0x78, 0x79, 0x76, 0x4, 0xA3, 0x9C, 0x87, 0x7D, 0x9C, 0x9C, 0x88, 0x7C, 0x9C, 0x74, 0xAF, 0xA5, 0xB0, 0xA4, 0x0, 0x1, 0xFC, 0xD6, 0x4, 0xA7, 0xFE, 0xB3, 0x6, 0xD9, 0x0, 0x10, 0x0, 0x0, 0x1, 0x27, 0x6, 0x23, 0x22, 0x26, 0x35, 0x11, 0x33, 0x11, 0x14, 0x33, 0x32, 0x37, 0x11, 0x33, 0x11, 0xFE, 0x41, 0xF, 0x37, 0x68, 0x56, 0x67, 0x90, 0x56, 0x4B, 0x1C, 0x90, 0x4, 0xB1, 0x3F, 0x49, 0x6C, 0x7C, 0x1, 0x4A, 0xFE, 0xB5, 0x73, 0x38, 0x1, 0x86, 0xFD, 0xD8, 0x0, 0x1, 0xFC, 0xCC, 0x4, 0xA3, 0xFE, 0xB7, 0x6, 0xDF, 0x0, 0x18, 0x0, 0x0, 0x1, 0x22, 0x26, 0x35, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x17, 0x23, 0x26, 0x26, 0x23, 0x22, 0x15, 0x14, 0x16, 0x33, 0x32, 0x37, 0x33, 0x6, 0x6, 0xFD, 0xCE, 0x84, 0x7E, 0x7E, 0x84, 0x69, 0x7E, 0x2, 0x88, 0x2, 0x2E, 0x32, 0x72, 0x34, 0x3E, 0x59, 0x9, 0x88, 0x2, 0x86, 0x4, 0xA3, 0xA4, 0x71, 0x12, 0x71, 0xA4, 0x74, 0x5B, 0x22, 0x39, 0xB3, 0x43, 0x5E, 0x4D, 0x50, 0x71, 0x0, 0x2, 0xFC, 0xC0, 0x4, 0xA4, 0xFE, 0xBE, 0x7, 0xC8, 0x0, 0x9, 0x0, 0x18, 0x0, 0x0, 0x1, 0x32, 0x37, 0x35, 0x26, 0x23, 0x22, 0x15, 0x14, 0x16, 0x17, 0x27, 0x6, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x17, 0x11, 0x33, 0x11, 0xFD, 0xBF, 0x4F, 0x20, 0x20, 0x4E, 0x71, 0x37, 0xBB, 0x9, 0x37, 0x62, 0x68, 0x77, 0x76, 0x6A, 0x59, 0x35, 0x90, 0x5, 0x19, 0x48, 0xC5, 0x47, 0xB1, 0x49, 0x5A, 0x68, 0x35, 0x42, 0x9E, 0x85, 0x7D, 0x9B, 0x36, 0x1, 0x1F, 0xFC, 0xE9, 0x0, 0x1, 0xFC, 0xD6, 0x4, 0xB1, 0xFE, 0xB3, 0x7, 0xC8, 0x0, 0x10, 0x0, 0x0, 0x1, 0x22, 0x7, 0x11, 0x23, 0x11, 0x33, 0x11, 0x36, 0x33, 0x32, 0x16, 0x15, 0x11, 0x23, 0x11, 0x34, 0xFD, 0xC9, 0x47, 0x1C, 0x90, 0x90, 0x36, 0x5A, 0x56, 0x67, 0x90, 0x6, 0x6B, 0x33, 0xFE, 0x79, 0x3, 0x17, 0xFE, 0xDB, 0x3C, 0x6F, 0x80, 0xFE, 0xC1, 0x1, 0x40, 0x7A, 0x0, 0x1, 0xFC, 0x33, 0x4, 0xB1, 0xFF, 0x5D, 0x6, 0xDF, 0x0, 0x1C, 0x0, 0x0, 0x1, 0x22, 0x7, 0x11, 0x23, 0x11, 0x33, 0x17, 0x36, 0x33, 0x32, 0x17, 0x36, 0x33, 0x32, 0x16, 0x15, 0x11, 0x23, 0x11, 0x34, 0x23, 0x22, 0x7, 0x17, 0x11, 0x23, 0x11, 0x34, 0xFD, 0x2A, 0x4B, 0x1C, 0x90, 0x72, 0xF, 0x37, 0x68, 0x75, 0x2D, 0x36, 0x75, 0x56, 0x67, 0x8F, 0x57, 0x4F, 0x1B, 0x3, 0x90, 0x6, 0x6B, 0x38, 0xFE, 0x7E, 0x2, 0x28, 0x42, 0x48, 0x5B, 0x5B, 0x6C, 0x7C, 0xFE, 0xBA, 0x1, 0x47, 0x73, 0x3E, 0x26, 0xFE, 0xAA, 0x1, 0x47, 0x73, 0x0, 0x1, 0xFD, 0x46, 0x4, 0xB1, 0xFE, 0x79, 0x6, 0xDF, 0x0, 0xD, 0x0, 0x0, 0x1, 0x22, 0x7, 0x11, 0x23, 0x11, 0x33, 0x17, 0x36, 0x33, 0x32, 0x17, 0x15, 0x26, 0xFE, 0x3C, 0x4B, 0x1C, 0x8F, 0x72, 0xE, 0x31, 0x55, 0x1B, 0x12, 0x1C, 0x6, 0x5F, 0x38, 0xFE, 0x8A, 0x2, 0x28, 0x3F, 0x45, 0x5, 0x89, 0xE, 0x0, 0x1, 0xFC, 0xFB, 0x4, 0xAC, 0xFE, 0x46, 0x7, 0x64, 0x0, 0x12, 0x0, 0x0, 0x1, 0x6, 0x23, 0x22, 0x27, 0x11, 0x23, 0x35, 0x33, 0x35, 0x33, 0x15, 0x33, 0x15, 0x23, 0x11, 0x14, 0x33, 0x37, 0xFE, 0x43, 0x21, 0x31, 0x99, 0x3, 0x5A, 0x5A, 0x90, 0x61, 0x61, 0x33, 0x2B, 0x4, 0xB8, 0xC, 0xB3, 0x1, 0x11, 0x6F, 0x85, 0x85, 0x6F, 0xFE, 0xFA, 0x48, 0x4, 0x0, 0x1, 0xFC, 0xC5, 0x4, 0xB1, 0xFE, 0xCB, 0x6, 0xDB, 0x0, 0x8, 0x0, 0x0, 0x1, 0x3, 0x33, 0x13, 0x17, 0x37, 0x13, 0x33, 0x3, 0xFD, 0x86, 0xC1, 0x9A, 0x62, 0x8, 0x9, 0x5F, 0x9A, 0xC0, 0x4, 0xB1, 0x2, 0x2A, 0xFE, 0xA7, 0x2F, 0x2F, 0x1, 0x59, 0xFD, 0xD6, 0x0, 0x1, 0xFC, 0xE6, 0x4, 0xB1, 0xFE, 0xEE, 0x6, 0xDB, 0x0, 0xB, 0x0, 0x0, 0x1, 0x17, 0x37, 0x33, 0x3, 0x13, 0x23, 0x27, 0x7, 0x23, 0x13, 0x3, 0xFD, 0x8E, 0x5B, 0x5C, 0xA3, 0xA2, 0xA8, 0xA3, 0x61, 0x61, 0xA3, 0xA8, 0xA2, 0x6, 0xDB, 0xA4, 0xA4, 0xFE, 0xEF, 0xFE, 0xE7, 0xAC, 0xAC, 0x1, 0x19, 0x1, 0x11, 0x0, 0x1, 0x0, 0x95, 0x0, 0x0, 0x4, 0x50, 0x5, 0xB0, 0x0, 0x7, 0x0, 0x0, 0x1, 0x21, 0x11, 0x23, 0x11, 0x33, 0x11, 0x21, 0x4, 0x50, 0xFD, 0x41, 0xFC, 0xFC, 0x2, 0xBF, 0x2, 0x88, 0xFD, 0x78, 0x5, 0xB0, 0xFD, 0xA2, 0x0, 0x1, 0x0, 0x1B, 0x0, 0x0, 0x3, 0xD0, 0x4, 0x4E, 0x0, 0x11, 0x0, 0x0, 0x1, 0x21, 0x11, 0x23, 0x11, 0x34, 0x26, 0x23, 0x22, 0x7, 0x35, 0x36, 0x33, 0x32, 0x16, 0x15, 0x15, 0x21, 0x3, 0xD0, 0xFE, 0x1B, 0xF3, 0x5C, 0x41, 0x1D, 0x23, 0x37, 0x45, 0x7E, 0xD6, 0x1, 0xE5, 0x1, 0xB5, 0xFE, 0x4B, 0x3, 0xF, 0x56, 0x40, 0x7, 0xA3, 0xD, 0x8D, 0xB2, 0x98, 0x0, 0x1, 0x0, 0x2D, 0x0, 0x0, 0x4, 0xB0, 0x5, 0xB0, 0x0, 0xB, 0x0, 0x0, 0x1, 0x11, 0x23, 0x11, 0x23, 0x11, 0x23, 0x11, 0x23, 0x11, 0x21, 0x11, 0x3, 0xE5, 0xFA, 0xFC, 0xF7, 0xCB, 0x4, 0x83, 0x3, 0x84, 0x1, 0x61, 0xFB, 0x1B, 0x4, 0xE5, 0xFE, 0x9F, 0x2, 0x2C, 0xFD, 0xD4, 0x0, 0x1, 0x0, 0x36, 0x0, 0x0, 0x3, 0xF7, 0x5, 0xB0, 0x0, 0xB, 0x0, 0x0, 0x1, 0x11, 0x23, 0x11, 0x23, 0x11, 0x23, 0x11, 0x23, 0x11, 0x21, 0x11, 0x3, 0x34, 0xA5, 0xF1, 0xA5, 0xC3, 0x3, 0xC1, 0x3, 0xC5, 0x1, 0x28, 0xFB, 0x13, 0x4, 0xED, 0xFE, 0xD8, 0x1, 0xEB, 0xFE, 0x15, 0xFF, 0xFF, 0x0, 0x51, 0x4, 0xBC, 0x1, 0xA0, 0x6, 0x1A, 0x0, 0x6, 0x1, 0x6B, 0x2E, 0x0, 0x0, 0x1, 0x0, 0x50, 0xFE, 0x56, 0x1, 0x9F, 0xFF, 0xB4, 0x0, 0x3, 0x0, 0x0, 0x5, 0x3, 0x23, 0x13, 0x1, 0x9F, 0x6E, 0xE1, 0xC8, 0x4C, 0xFE, 0xA2, 0x1, 0x5E, 0xFF, 0xFF, 0x0, 0x95, 0x0, 0x0, 0x5, 0xD, 0x5, 0xB0, 0x0, 0x6, 0x2, 0x72, 0x0, 0x0, 0x0, 0x1, 0x0, 0x86, 0xFF, 0xEB, 0x4, 0x8F, 0x4, 0x3A, 0x0, 0x12, 0x0, 0x0, 0x5, 0x22, 0x26, 0x35, 0x11, 0x1, 0x23, 0x11, 0x33, 0x11, 0x1, 0x33, 0x11, 0x16, 0x33, 0x32, 0x37, 0x17, 0x6, 0x4, 0x10, 0x70, 0x80, 0xFE, 0x59, 0xF3, 0xF3, 0x1, 0xA7, 0xF3, 0x3, 0x46, 0x10, 0xA, 0x19, 0x33, 0x15, 0xA4, 0xB5, 0x1, 0x94, 0xFD, 0x28, 0x4, 0x3A, 0xFD, 0x29, 0x2, 0xD7, 0xFC, 0xFA, 0x7B, 0x4, 0xB3, 0x1F, 0x0, 0x1, 0x0, 0x3B, 0xFF, 0xEC, 0x3, 0xE1, 0x4, 0x4E, 0x0, 0x1B, 0x0, 0x0, 0x13, 0x33, 0x16, 0x16, 0x33, 0x32, 0x36, 0x35, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x7, 0x23, 0x36, 0x36, 0x33, 0x32, 0x12, 0x17, 0x15, 0x14, 0x2, 0x23, 0x22, 0x24, 0x3B, 0xE5, 0x5, 0x7A, 0x58, 0x95, 0x62, 0x62, 0x95, 0x63, 0x6F, 0x5, 0xE5, 0x5, 0xF1, 0xC4, 0xF7, 0xF3, 0x2, 0xF3, 0xFA, 0xB4, 0xFF, 0x0, 0x1, 0x66, 0x4F, 0x68, 0xD9, 0x83, 0x24, 0x81, 0xDB, 0x7D, 0x57, 0xB3, 0xE4, 0xFE, 0xC4, 0xDD, 0x2A, 0xDF, 0xFE, 0xC0, 0xDD, 0x0, 0x2, 0x0, 0x50, 0xFF, 0xEC, 0x3, 0xF5, 0x4, 0x4E, 0x0, 0x1B, 0x0, 0x23, 0x0, 0x0, 0x5, 0x22, 0x2, 0x35, 0x35, 0x34, 0x12, 0x33, 0x32, 0x16, 0x17, 0x23, 0x26, 0x26, 0x23, 0x22, 0x6, 0x15, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x37, 0x33, 0x6, 0x4, 0x0, 0x36, 0x32, 0x16, 0x14, 0x6, 0x22, 0x26, 0x2, 0x3C, 0xFA, 0xF2, 0xF3, 0xF9, 0xC5, 0xF0, 0x4, 0xE4, 0x5, 0x70, 0x63, 0x94, 0x63, 0x62, 0x96, 0x58, 0x7A, 0x5, 0xE4, 0x4, 0xFF, 0x0, 0xFE, 0xC0, 0x42, 0x76, 0x42, 0x42, 0x76, 0x42, 0x14, 0x1, 0x40, 0xDF, 0x24, 0xDE, 0x1, 0x41, 0xE4, 0xB3, 0x57, 0x7D, 0xDB, 0x81, 0x24, 0x83, 0xD9, 0x68, 0x4F, 0x9D, 0xDD, 0x2, 0x5E, 0x45, 0x45, 0x64, 0x44, 0x44, 0x0, 0x2, 0x0, 0x3B, 0xFF, 0xEC, 0x3, 0xE1, 0x4, 0x4E, 0x0, 0x7, 0x0, 0x23, 0x0, 0x0, 0x0, 0x26, 0x34, 0x36, 0x32, 0x16, 0x14, 0x6, 0x5, 0x33, 0x16, 0x16, 0x33, 0x32, 0x36, 0x35, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x7, 0x23, 0x36, 0x36, 0x33, 0x32, 0x12, 0x17, 0x15, 0x14, 0x2, 0x23, 0x22, 0x24, 0x1, 0xB7, 0x42, 0x42, 0x76, 0x42, 0x42, 0xFE, 0xE, 0xE5, 0x5, 0x7A, 0x58, 0x95, 0x62, 0x62, 0x95, 0x63, 0x6F, 0x5, 0xE5, 0x5, 0xF1, 0xC4, 0xF7, 0xF3, 0x2, 0xF3, 0xFA, 0xB4, 0xFF, 0x0, 0x1, 0xA2, 0x44, 0x64, 0x45, 0x45, 0x64, 0x44, 0x3C, 0x4F, 0x68, 0xD9, 0x83, 0x24, 0x81, 0xDB, 0x7D, 0x57, 0xB3, 0xE4, 0xFE, 0xC4, 0xDD, 0x2A, 0xDF, 0xFE, 0xC0, 0xDD, 0xFF, 0xFF, 0x0, 0x47, 0xFE, 0xB8, 0x1, 0x9F, 0x4, 0x52, 0x0, 0x27, 0x0, 0x13, 0xFF, 0xFC, 0x3, 0x51, 0x0, 0x6, 0x0, 0x11, 0x2A, 0x0, 0x0, 0x1, 0x0, 0xC7, 0x4, 0xEA, 0x1, 0xE2, 0x6, 0x41, 0x0, 0x3, 0x0, 0x0, 0x13, 0x13, 0x33, 0x3, 0xC7, 0x3C, 0xDF, 0x8B, 0x4, 0xEA, 0x1, 0x57, 0xFE, 0xA9, 0x0, 0x3, 0x0, 0x68, 0x4, 0xE0, 0x3, 0xBB, 0x6, 0xAF, 0x0, 0x3, 0x0, 0xF, 0x0, 0x1B, 0x0, 0x0, 0x1, 0x13, 0x33, 0x3, 0x5, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x6, 0x23, 0x22, 0x26, 0x25, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x6, 0x23, 0x22, 0x26, 0x1, 0xC0, 0x2F, 0xE4, 0x81, 0xFE, 0x16, 0x44, 0x3A, 0x3B, 0x44, 0x44, 0x3B, 0x3A, 0x44, 0x2, 0x55, 0x45, 0x3A, 0x3B, 0x44, 0x44, 0x3B, 0x3A, 0x45, 0x5, 0x86, 0x1, 0x29, 0xFE, 0xD7, 0x30, 0x32, 0x45, 0x45, 0x32, 0x31, 0x44, 0x44, 0x30, 0x32, 0x45, 0x45, 0x32, 0x31, 0x44, 0x44, 0xFF, 0xFF, 0x0, 0x8E, 0x2, 0x46, 0x1, 0xAA, 0x3, 0x52, 0x0, 0x6, 0x0, 0x79, 0x0, 0x0, 0x0, 0x1, 0x0, 0x9B, 0x0, 0x0, 0x4, 0x38, 0x5, 0xB0, 0x0, 0x5, 0x0, 0x0, 0x1, 0x15, 0x21, 0x11, 0x23, 0x11, 0x4, 0x38, 0xFD, 0x5F, 0xFC, 0x5, 0xB0, 0xCB, 0xFB, 0x1B, 0x5, 0xB0, 0x0, 0x2, 0x0, 0x19, 0x0, 0x0, 0x5, 0xA1, 0x5, 0xB0, 0x0, 0x2, 0x0, 0x6, 0x0, 0x0, 0x25, 0x1, 0x1, 0x5, 0x1, 0x33, 0x1, 0x4, 0x4F, 0xFE, 0x98, 0xFE, 0x88, 0xFE, 0xAA, 0x2, 0x56, 0xF4, 0x2, 0x3E, 0xCA, 0x3, 0xBD, 0xFC, 0x43, 0xCA, 0x5, 0xB0, 0xFA, 0x50, 0x0, 0x3, 0x0, 0x5C, 0xFF, 0xEC, 0x5, 0x14, 0x5, 0xC4, 0x0, 0xD, 0x0, 0x1B, 0x0, 0x1F, 0x0, 0x0, 0x1, 0x10, 0x0, 0x21, 0x20, 0x0, 0x11, 0x35, 0x10, 0x0, 0x21, 0x20, 0x0, 0x11, 0x27, 0x34, 0x2, 0x23, 0x22, 0x2, 0x15, 0x15, 0x14, 0x12, 0x33, 0x32, 0x12, 0x35, 0x27, 0x15, 0x21, 0x35, 0x5, 0x14, 0xFE, 0xB5, 0xFE, 0xF0, 0xFE, 0xF6, 0xFE, 0xAD, 0x1, 0x51, 0x1, 0xA, 0x1, 0x10, 0x1, 0x4D, 0xFD, 0xB9, 0xA7, 0xA2, 0xBC, 0xBE, 0xA2, 0xA8, 0xB6, 0x74, 0xFE, 0x40, 0x2, 0xB3, 0xFE, 0xB4, 0xFE, 0x85, 0x1, 0x7B, 0x1, 0x4C, 0x49, 0x1, 0x4C, 0x1, 0x7C, 0xFE, 0x84, 0xFE, 0xB4, 0x2, 0xF5, 0x1, 0x0, 0xFF, 0x0, 0xF5, 0x4B, 0xF5, 0xFE, 0xFE, 0x1, 0x2, 0xF5, 0x89, 0xC3, 0xC3, 0x0, 0x1, 0x0, 0x20, 0x0, 0x0, 0x5, 0x12, 0x5, 0xB0, 0x0, 0x6, 0x0, 0x0, 0x21, 0x1, 0x1, 0x21, 0x1, 0x33, 0x1, 0x4, 0x2, 0xFE, 0x97, 0xFE, 0x97, 0xFE, 0xF0, 0x1, 0xFE, 0xF6, 0x1, 0xFE, 0x4, 0x44, 0xFB, 0xBC, 0x5, 0xB0, 0xFA, 0x50, 0x0, 0x3, 0x0, 0x6D, 0x0, 0x0, 0x4, 0x2F, 0x5, 0xB0, 0x0, 0x3, 0x0, 0x7, 0x0, 0xB, 0x0, 0x0, 0x13, 0x35, 0x21, 0x15, 0x1, 0x35, 0x21, 0x15, 0x1, 0x35, 0x21, 0x15, 0x79, 0x3, 0x9A, 0xFC, 0xBD, 0x2, 0xF7, 0xFC, 0xA6, 0x3, 0xC2, 0x4, 0xE5, 0xCB, 0xCB, 0xFD, 0xA2, 0xC6, 0xC6, 0xFD, 0x79, 0xCA, 0xCA, 0x0, 0x1, 0x0, 0x9B, 0x0, 0x0, 0x5, 0x15, 0x5, 0xB0, 0x0, 0x7, 0x0, 0x0, 0x1, 0x11, 0x23, 0x11, 0x21, 0x11, 0x23, 0x11, 0x5, 0x15, 0xFD, 0xFD, 0x7F, 0xFC, 0x5, 0xB0, 0xFA, 0x50, 0x4, 0xE5, 0xFB, 0x1B, 0x5, 0xB0, 0x0, 0x1, 0x0, 0x48, 0x0, 0x0, 0x4, 0x4D, 0x5, 0xB0, 0x0, 0xC, 0x0, 0x0, 0x33, 0x35, 0x1, 0x1, 0x35, 0x21, 0x15, 0x21, 0x1, 0x15, 0x1, 0x21, 0x15, 0x48, 0x1, 0xC9, 0xFE, 0x37, 0x3, 0xE1, 0xFD, 0x6B, 0x1, 0x88, 0xFE, 0x77, 0x2, 0xBA, 0x98, 0x2, 0x42, 0x2, 0x3F, 0x97, 0xCB, 0xFD, 0xFE, 0x13, 0xFD, 0xFB, 0xCB, 0x0, 0x3, 0x0, 0x4A, 0x0, 0x0, 0x5, 0xAF, 0x5, 0xB0, 0x0, 0x11, 0x0, 0x18, 0x0, 0x1F, 0x0, 0x0, 0x21, 0x23, 0x35, 0x26, 0x0, 0x35, 0x34, 0x0, 0x37, 0x35, 0x33, 0x15, 0x16, 0x0, 0x15, 0x14, 0x0, 0x7, 0x1, 0x14, 0x16, 0x17, 0x11, 0x6, 0x6, 0x5, 0x34, 0x26, 0x27, 0x11, 0x36, 0x36, 0x3, 0x7C, 0xFC, 0xFE, 0xFE, 0xC8, 0x1, 0x3C, 0xFA, 0xFC, 0xF9, 0x1, 0x3A, 0xFE, 0xC9, 0xFC, 0xFD, 0xC7, 0xA1, 0x9C, 0x99, 0xA4, 0x3, 0x73, 0xA2, 0x98, 0x9C, 0x9E, 0xA9, 0x7, 0x1, 0x2C, 0xF3, 0xF8, 0x1, 0x33, 0x6, 0xB0, 0xB0, 0x7, 0xFE, 0xD0, 0xF8, 0xF3, 0xFE, 0xD3, 0x8, 0x2, 0x26, 0x9B, 0xB0, 0x6, 0x2, 0xAD, 0x5, 0xB6, 0x9F, 0xA0, 0xB4, 0x6, 0xFD, 0x53, 0x7, 0xB2, 0x0, 0x1, 0x0, 0x44, 0x0, 0x0, 0x5, 0x5D, 0x5, 0xB0, 0x0, 0x16, 0x0, 0x0, 0x21, 0x23, 0x11, 0x26, 0x0, 0x11, 0x11, 0x33, 0x11, 0x14, 0x16, 0x17, 0x11, 0x33, 0x11, 0x24, 0x13, 0x11, 0x33, 0x11, 0x6, 0x0, 0x7, 0x3, 0x4D, 0xFC, 0xEB, 0xFE, 0xDE, 0xFC, 0x94, 0x7D, 0xFC, 0x1, 0xD, 0x6, 0xFD, 0x3, 0xFE, 0xDE, 0xEB, 0x1, 0x75, 0x17, 0x1, 0x2E, 0x1, 0x6, 0x1, 0xF0, 0xFE, 0x10, 0xA4, 0xBF, 0x19, 0x3, 0x6C, 0xFC, 0x93, 0x2F, 0x1, 0x40, 0x1, 0xFE, 0xFE, 0x6, 0xFF, 0xFE, 0xD8, 0x19, 0x0, 0x1, 0x0, 0x6B, 0x0, 0x0, 0x4, 0xDD, 0x5, 0xC4, 0x0, 0x23, 0x0, 0x0, 0x21, 0x21, 0x35, 0x33, 0x26, 0x2, 0x35, 0x35, 0x10, 0x0, 0x33, 0x32, 0x0, 0x11, 0x15, 0x14, 0x2, 0x7, 0x33, 0x15, 0x21, 0x35, 0x36, 0x12, 0x37, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x15, 0x14, 0x12, 0x17, 0x2, 0x6F, 0xFE, 0x8, 0xD7, 0x66, 0x7D, 0x1, 0x3B, 0xFD, 0xFE, 0x1, 0x3C, 0x7C, 0x65, 0xD3, 0xFE, 0x10, 0x6D, 0x81, 0x2, 0xA0, 0x8C, 0x89, 0xA1, 0x86, 0x70, 0xCC, 0x61, 0x1, 0x21, 0xA0, 0x64, 0x1, 0x15, 0x1, 0x5D, 0xFE, 0xA3, 0xFE, 0xEB, 0x64, 0xA0, 0xFE, 0xE0, 0x62, 0xCC, 0xD0, 0x1D, 0x1, 0x3, 0xEE, 0x76, 0xD0, 0xD4, 0xD4, 0xD0, 0x66, 0xFA, 0xFE, 0xF9, 0x1D, 0x0, 0x2, 0x0, 0x56, 0xFF, 0xEB, 0x4, 0x7A, 0x4, 0x4E, 0x0, 0x16, 0x0, 0x21, 0x0, 0x0, 0x5, 0x22, 0x27, 0x6, 0x23, 0x22, 0x2, 0x35, 0x35, 0x34, 0x12, 0x33, 0x32, 0x17, 0x37, 0x33, 0x11, 0x16, 0x33, 0x32, 0x37, 0x17, 0x6, 0x25, 0x32, 0x37, 0x11, 0x26, 0x23, 0x22, 0x6, 0x15, 0x14, 0x16, 0x3, 0xFB, 0xA2, 0x35, 0x68, 0xC0, 0xCA, 0xDC, 0xDB, 0xCD, 0xB6, 0x66, 0x14, 0xD0, 0x3, 0x46, 0x10, 0xA, 0x19, 0x33, 0xFD, 0xF3, 0x8C, 0x45, 0x44, 0x8B, 0x84, 0x6E, 0x6D, 0x15, 0xA3, 0xA3, 0x1, 0x28, 0xE7, 0x15, 0xFC, 0x1, 0x43, 0x97, 0x83, 0xFC, 0xFA, 0x7B, 0x4, 0xB3, 0x1F, 0xC3, 0x87, 0x1, 0xCA, 0x8C, 0xE0, 0xB1, 0x8B, 0xC1, 0x0, 0x2, 0x0, 0x96, 0xFE, 0x76, 0x4, 0x6A, 0x5, 0xC4, 0x0, 0x14, 0x0, 0x26, 0x0, 0x0, 0x25, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x23, 0x35, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x11, 0x16, 0x17, 0x22, 0x27, 0x11, 0x23, 0x11, 0x34, 0x24, 0x33, 0x32, 0x16, 0x15, 0x14, 0x7, 0x16, 0x11, 0x14, 0x6, 0x2, 0x7D, 0x77, 0x84, 0x75, 0x6F, 0x79, 0x4A, 0x71, 0x62, 0x67, 0x68, 0x5F, 0x81, 0x5A, 0xC4, 0xA6, 0x78, 0xF3, 0x1, 0x14, 0xBF, 0xCD, 0xF5, 0xBB, 0xFA, 0xF9, 0xAF, 0x8C, 0x6A, 0x68, 0x98, 0xB9, 0x74, 0x60, 0x50, 0x7F, 0x7D, 0x65, 0xFC, 0xE1, 0x51, 0xC3, 0x53, 0xFE, 0x37, 0x5, 0xA9, 0xB6, 0xEF, 0xD5, 0xB5, 0xC5, 0x65, 0x5B, 0xFE, 0xF0, 0xD3, 0xE6, 0x0, 0x1, 0x0, 0x21, 0xFE, 0x5F, 0x3, 0xF5, 0x4, 0x3A, 0x0, 0x8, 0x0, 0x0, 0x1, 0x23, 0x11, 0x1, 0x33, 0x13, 0x13, 0x33, 0x1, 0x2, 0x84, 0xF2, 0xFE, 0x8F, 0xFB, 0xF3, 0xEC, 0xFA, 0xFE, 0x8F, 0xFE, 0x5F, 0x1, 0xD1, 0x4, 0xA, 0xFD, 0x4, 0x2, 0xFC, 0xFB, 0xEE, 0x0, 0x2, 0x0, 0x54, 0xFF, 0xEC, 0x4, 0x39, 0x6, 0x21, 0x0, 0x1E, 0x0, 0x2C, 0x0, 0x0, 0x13, 0x34, 0x36, 0x33, 0x32, 0x16, 0x17, 0x15, 0x26, 0x23, 0x22, 0x15, 0x14, 0x16, 0x17, 0x4, 0x13, 0x15, 0x14, 0x0, 0x23, 0x22, 0x0, 0x35, 0x35, 0x34, 0x36, 0x37, 0x27, 0x26, 0x26, 0x13, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x35, 0x34, 0x26, 0x27, 0x22, 0x6, 0x15, 0xD0, 0xD3, 0xB8, 0x4F, 0x75, 0x46, 0x98, 0x68, 0xA8, 0x49, 0x79, 0x1, 0xB1, 0x9, 0xFE, 0xFB, 0xEC, 0xEE, 0xFE, 0xFA, 0xBF, 0x82, 0x2, 0x59, 0x6A, 0x77, 0x7C, 0x85, 0x84, 0x7A, 0x89, 0x75, 0x84, 0x7D, 0x4, 0xEA, 0x92, 0xA5, 0x19, 0x19, 0xC2, 0x34, 0x71, 0x22, 0x54, 0x2B, 0x9A, 0xFE, 0x74, 0x24, 0xE5, 0xFE, 0xCC, 0x1, 0x30, 0xE3, 0x13, 0xAC, 0xFA, 0x20, 0x5, 0x29, 0x89, 0xFD, 0x7C, 0x8E, 0xCF, 0xCF, 0x8E, 0x14, 0x71, 0xD2, 0x17, 0xCF, 0x8B, 0x0, 0x1, 0x0, 0x61, 0xFF, 0xEC, 0x4, 0xD, 0x4, 0x4D, 0x0, 0x26, 0x0, 0x0, 0x1, 0x14, 0x6, 0x6, 0x23, 0x22, 0x24, 0x35, 0x34, 0x37, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x4, 0x15, 0x23, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x14, 0x16, 0x33, 0x33, 0x15, 0x23, 0x6, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x4, 0xD, 0x89, 0xD4, 0x72, 0xCD, 0xFE, 0xF0, 0xCB, 0xB8, 0xFD, 0xCD, 0xB6, 0x1, 0x7, 0xF2, 0x79, 0x59, 0x6D, 0x64, 0x62, 0x68, 0xC7, 0xD2, 0xD1, 0x75, 0x6D, 0x6B, 0x7A, 0x1, 0x41, 0x76, 0x97, 0x48, 0xAC, 0x9A, 0xB9, 0x42, 0x4D, 0x98, 0x9A, 0xA1, 0xAE, 0x98, 0x3E, 0x4D, 0x57, 0x34, 0x3C, 0x4C, 0xAD, 0x4, 0x91, 0x3A, 0x5C, 0x5D, 0x3D, 0x0, 0x1, 0x0, 0x61, 0xFE, 0x7E, 0x3, 0xCA, 0x5, 0xB0, 0x0, 0x1D, 0x0, 0x0, 0x1, 0x27, 0x36, 0x27, 0x36, 0x27, 0x27, 0x26, 0x26, 0x35, 0x10, 0x1, 0x13, 0x21, 0x35, 0x21, 0x15, 0x1, 0x6, 0x6, 0x15, 0x14, 0x16, 0x17, 0x17, 0x16, 0x16, 0x7, 0x6, 0x6, 0x2, 0xD8, 0x7E, 0x5E, 0x1, 0x1, 0x82, 0x57, 0xAF, 0x94, 0x1, 0x10, 0xF3, 0xFD, 0xC2, 0x3, 0x69, 0xFE, 0xA3, 0x6B, 0x74, 0x4C, 0x50, 0x65, 0x78, 0x9E, 0x1, 0x1, 0x88, 0xFE, 0x7E, 0x64, 0x67, 0x46, 0x41, 0x24, 0x17, 0x2F, 0xAB, 0x9B, 0x1, 0x14, 0x1, 0x44, 0x1, 0x16, 0xC2, 0x91, 0xFE, 0x5B, 0x7D, 0xD3, 0x92, 0x60, 0x56, 0x17, 0x1D, 0x23, 0x52, 0x7D, 0x53, 0xB9, 0x0, 0x1, 0x0, 0x7F, 0xFE, 0x61, 0x4, 0x6, 0x4, 0x4E, 0x0, 0x11, 0x0, 0x0, 0x1, 0x23, 0x11, 0x34, 0x26, 0x23, 0x22, 0x7, 0x11, 0x23, 0x11, 0x33, 0x17, 0x36, 0x33, 0x32, 0x16, 0x17, 0x4, 0x6, 0xF3, 0x65, 0x60, 0x98, 0x45, 0xF2, 0xDE, 0xB, 0x76, 0xC3, 0xA1, 0xC3, 0x1, 0xFE, 0x61, 0x4, 0x53, 0x77, 0x60, 0x7B, 0xFC, 0xF0, 0x4, 0x3A, 0x83, 0x97, 0xAF, 0xE4, 0x0, 0x3, 0x0, 0x74, 0xFF, 0xEC, 0x4, 0x2D, 0x5, 0xC4, 0x0, 0xD, 0x0, 0x14, 0x0, 0x1B, 0x0, 0x0, 0x1, 0x10, 0x0, 0x23, 0x22, 0x0, 0x3, 0x35, 0x10, 0x0, 0x33, 0x32, 0x0, 0x13, 0x5, 0x21, 0x35, 0x10, 0x23, 0x22, 0x3, 0x13, 0x32, 0x13, 0x37, 0x21, 0x15, 0x10, 0x4, 0x2D, 0xFE, 0xFC, 0xD7, 0xD4, 0xFE, 0xF9, 0x3, 0x1, 0x6, 0xD6, 0xD5, 0x1, 0x5, 0x3, 0xFD, 0x3A, 0x1, 0xD3, 0xEA, 0xD9, 0xF, 0xEA, 0xD8, 0xF, 0x1, 0xFE, 0x2D, 0x2, 0x73, 0xFE, 0xB4, 0xFE, 0xC5, 0x1, 0x35, 0x1, 0x43, 0xE0, 0x1, 0x4C, 0x1, 0x34, 0xFE, 0xD2, 0xFE, 0xBD, 0x1B, 0x31, 0x1, 0x98, 0xFE, 0x9E, 0xFD, 0x10, 0x1, 0x6A, 0x61, 0x2A, 0xFE, 0x5F, 0x0, 0x1, 0x0, 0xAA, 0xFF, 0xF4, 0x2, 0x62, 0x4, 0x3A, 0x0, 0xD, 0x0, 0x0, 0x13, 0x33, 0x3, 0x14, 0x16, 0x33, 0x32, 0x37, 0x15, 0x6, 0x23, 0x22, 0x26, 0x35, 0xAA, 0xF3, 0x1, 0x40, 0x31, 0x2A, 0x2B, 0x43, 0x5D, 0x79, 0x9F, 0x4, 0x3A, 0xFC, 0xF8, 0x49, 0x2C, 0xA, 0xBB, 0x18, 0x89, 0xA7, 0x0, 0x1, 0x0, 0x16, 0xFF, 0xEE, 0x4, 0x4A, 0x5, 0xFC, 0x0, 0x17, 0x0, 0x0, 0x5, 0x22, 0x26, 0x27, 0x3, 0x3, 0x21, 0x1, 0x27, 0x26, 0x23, 0x7, 0x27, 0x36, 0x33, 0x32, 0x16, 0x17, 0x1, 0x16, 0x33, 0x37, 0x17, 0x6, 0x3, 0xEC, 0x65, 0x79, 0x2D, 0xCA, 0xF8, 0xFE, 0xF7, 0x1, 0x82, 0x56, 0x26, 0x53, 0x35, 0x3, 0x31, 0x51, 0x6B, 0x78, 0x1F, 0x1, 0xAC, 0x26, 0x3D, 0x23, 0x3, 0x28, 0x12, 0x51, 0x73, 0x2, 0x18, 0xFD, 0x36, 0x4, 0x11, 0xCC, 0x5B, 0x2, 0xB5, 0x11, 0x55, 0x50, 0xFB, 0xBE, 0x5E, 0x2, 0xC2, 0x9, 0x0, 0x1, 0x0, 0x64, 0xFE, 0x75, 0x3, 0xD5, 0x5, 0xC4, 0x0, 0x2C, 0x0, 0x0, 0x5, 0x6, 0x6, 0x7, 0x27, 0x36, 0x36, 0x35, 0x34, 0x27, 0x2E, 0x2, 0x35, 0x34, 0x36, 0x37, 0x26, 0x26, 0x35, 0x34, 0x24, 0x33, 0x32, 0x17, 0x7, 0x26, 0x23, 0x22, 0x6, 0x15, 0x14, 0x16, 0x33, 0x33, 0x15, 0x23, 0x4, 0x11, 0x14, 0x16, 0x17, 0x17, 0x16, 0x16, 0x3, 0xD4, 0x1, 0x88, 0x43, 0x84, 0x30, 0x33, 0x82, 0xBC, 0xD5, 0x70, 0xA3, 0x90, 0x6D, 0x7C, 0x1, 0x8, 0xDD, 0x9A, 0x7B, 0x25, 0x88, 0x58, 0x86, 0x7C, 0x7F, 0x93, 0x93, 0xA2, 0xFE, 0xB3, 0x9A, 0x64, 0x6A, 0x80, 0x96, 0x4D, 0x53, 0xB9, 0x32, 0x64, 0x34, 0x4F, 0x2F, 0x3F, 0x22, 0x31, 0x62, 0xAB, 0x96, 0x92, 0xC3, 0x2E, 0x27, 0x8F, 0x60, 0xAB, 0xC0, 0x2C, 0xBD, 0x24, 0x5F, 0x43, 0x51, 0x66, 0xC7, 0x8, 0xFE, 0xEC, 0x75, 0x7B, 0x18, 0x19, 0x1F, 0x5D, 0x0, 0x1, 0x0, 0x2E, 0xFF, 0xF4, 0x4, 0xCF, 0x4, 0x3A, 0x0, 0x15, 0x0, 0x0, 0x25, 0x6, 0x23, 0x22, 0x26, 0x35, 0x11, 0x21, 0x11, 0x23, 0x11, 0x23, 0x35, 0x21, 0x15, 0x23, 0x3, 0x14, 0x16, 0x33, 0x32, 0x37, 0x4, 0xCF, 0x43, 0x5C, 0x79, 0xA0, 0xFE, 0xB4, 0xF2, 0xAB, 0x4, 0x7C, 0x9F, 0x1, 0x3F, 0x32, 0x29, 0x2B, 0xC, 0x18, 0x89, 0xA7, 0x2, 0x59, 0xFC, 0x83, 0x3, 0x7D, 0xBD, 0xBD, 0xFD, 0xB5, 0x49, 0x2C, 0xA, 0x0, 0x2, 0x0, 0x81, 0xFE, 0x60, 0x4, 0x32, 0x4, 0x4E, 0x0, 0xC, 0x0, 0x1B, 0x0, 0x0, 0x25, 0x32, 0x36, 0x35, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x11, 0x16, 0x17, 0x22, 0x27, 0x11, 0x23, 0x11, 0x34, 0x0, 0x33, 0x32, 0x12, 0x15, 0x15, 0x14, 0x2, 0x2, 0x4C, 0x83, 0x70, 0x6C, 0x83, 0x75, 0x68, 0x44, 0xD9, 0xB2, 0x6B, 0xF2, 0x1, 0xA, 0xCC, 0xEC, 0xEF, 0xD7, 0xAF, 0xC0, 0x8B, 0x15, 0x9B, 0xE1, 0xDC, 0x7C, 0xFE, 0xF3, 0x77, 0xC3, 0x78, 0xFD, 0xFC, 0x3, 0xE0, 0xF5, 0x1, 0x19, 0xFE, 0xBD, 0xFD, 0x14, 0xE7, 0xFE, 0xD9, 0x0, 0x1, 0x0, 0x52, 0xFE, 0x8A, 0x3, 0xEA, 0x4, 0x4E, 0x0, 0x20, 0x0, 0x0, 0x1, 0x32, 0x16, 0x15, 0x23, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x15, 0x14, 0x16, 0x4, 0x16, 0x17, 0x17, 0x6, 0x6, 0x7, 0x27, 0x36, 0x36, 0x27, 0x34, 0x27, 0x26, 0x26, 0x35, 0x35, 0x34, 0x12, 0x2, 0x39, 0xBF, 0xF2, 0xE5, 0x64, 0x68, 0x86, 0x6E, 0x92, 0x1, 0x2E, 0x8B, 0x7, 0x1, 0x1, 0x86, 0x43, 0x7F, 0x30, 0x2D, 0x1, 0x82, 0xE9, 0xEE, 0xFB, 0x4, 0x4E, 0xD6, 0xC1, 0x57, 0x7D, 0xDB, 0x81, 0x24, 0x83, 0x9A, 0x57, 0x4F, 0x6B, 0x14, 0x53, 0xBA, 0x32, 0x65, 0x34, 0x4D, 0x2F, 0x45, 0x1F, 0x38, 0xFA, 0xD6, 0x24, 0xDE, 0x1, 0x41, 0x0, 0x2, 0x0, 0x53, 0xFF, 0xEC, 0x4, 0x7F, 0x4, 0x3A, 0x0, 0xF, 0x0, 0x1D, 0x0, 0x0, 0x1, 0x14, 0x2, 0x23, 0x22, 0x0, 0x35, 0x35, 0x34, 0x0, 0x33, 0x21, 0x15, 0x21, 0x16, 0x16, 0x5, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x4, 0x2D, 0xFF, 0xEA, 0xED, 0xFE, 0xFC, 0x1, 0x4, 0xEB, 0x2, 0x3D, 0xFE, 0xF5, 0x54, 0x65, 0xFD, 0x19, 0x76, 0x88, 0x83, 0x73, 0x72, 0x85, 0x87, 0x76, 0x1, 0xE9, 0xCD, 0xFE, 0xD0, 0x1, 0x3B, 0xEB, 0x15, 0xE3, 0x1, 0x30, 0xC4, 0x42, 0xC1, 0x61, 0x91, 0xD2, 0xD2, 0x91, 0x15, 0x87, 0xC8, 0xC8, 0x87, 0x0, 0x1, 0x0, 0x40, 0xFF, 0xEC, 0x3, 0xED, 0x4, 0x3A, 0x0, 0x11, 0x0, 0x0, 0x25, 0x6, 0x23, 0x22, 0x26, 0x35, 0x11, 0x21, 0x35, 0x21, 0x15, 0x21, 0x11, 0x14, 0x16, 0x33, 0x32, 0x37, 0x3, 0x66, 0x4F, 0x6D, 0x83, 0x95, 0xFE, 0xAE, 0x3, 0xAD, 0xFE, 0x98, 0x35, 0x28, 0x2A, 0x34, 0x19, 0x2D, 0x9A, 0xAB, 0x2, 0x48, 0xC1, 0xC1, 0xFD, 0xB1, 0x47, 0x30, 0x16, 0x0, 0x1, 0x0, 0x80, 0xFF, 0xEB, 0x4, 0x8, 0x4, 0x3A, 0x0, 0x15, 0x0, 0x0, 0x13, 0x33, 0x11, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x26, 0x3, 0x33, 0x16, 0x12, 0x15, 0x14, 0x2, 0x6, 0x23, 0x22, 0x26, 0x27, 0x80, 0xF3, 0x5D, 0x44, 0x7D, 0x85, 0x5, 0x6D, 0xF1, 0x2E, 0x45, 0x67, 0xD9, 0xAA, 0xBD, 0xE0, 0x1, 0x4, 0x3A, 0xFD, 0x6D, 0x89, 0x70, 0xFB, 0x8D, 0xEB, 0x1, 0x19, 0x5C, 0xFE, 0xFD, 0xA5, 0x9E, 0xFE, 0xF4, 0xA1, 0xD4, 0xE6, 0x0, 0x2, 0x0, 0x45, 0xFE, 0x22, 0x5, 0x85, 0x4, 0x41, 0x0, 0x1C, 0x0, 0x25, 0x0, 0x0, 0x1, 0x23, 0x11, 0x2E, 0x2, 0x35, 0x34, 0x12, 0x37, 0x17, 0x6, 0x6, 0x7, 0x14, 0x16, 0x17, 0x11, 0x34, 0x36, 0x33, 0x32, 0x16, 0x16, 0x15, 0x14, 0x6, 0x6, 0x7, 0x35, 0x36, 0x36, 0x35, 0x26, 0x26, 0x23, 0x22, 0x15, 0x3, 0x59, 0xF3, 0xC8, 0xEF, 0x6A, 0x7F, 0x71, 0x98, 0x4D, 0x45, 0x4, 0x86, 0xA9, 0x9F, 0x7B, 0x9E, 0xE8, 0x7F, 0x6C, 0xF3, 0xCD, 0xAF, 0x8B, 0x3, 0x82, 0x7E, 0x37, 0xFE, 0x22, 0x1, 0xD0, 0x16, 0xAE, 0xFF, 0x8F, 0xA3, 0x1, 0x8, 0x52, 0x93, 0x4B, 0xC3, 0x5C, 0x87, 0xE2, 0x22, 0x2, 0x84, 0x74, 0x90, 0x96, 0xF5, 0x8F, 0x88, 0xF3, 0xA7, 0x14, 0xC7, 0x1E, 0xD6, 0x7B, 0x8A, 0xCD, 0x3E, 0x0, 0x1, 0x0, 0x50, 0xFE, 0x22, 0x5, 0x7F, 0x4, 0x3A, 0x0, 0x1B, 0x0, 0x0, 0x1, 0x23, 0x11, 0x26, 0x0, 0x11, 0x11, 0x33, 0x11, 0x16, 0x16, 0x17, 0x11, 0x33, 0x11, 0x36, 0x36, 0x35, 0x26, 0x3, 0x33, 0x16, 0x16, 0x15, 0x14, 0x2, 0x6, 0x7, 0x3, 0x52, 0xF3, 0xF3, 0xFE, 0xE4, 0xF3, 0x2, 0x9F, 0x7B, 0xF3, 0xAE, 0x8C, 0x3, 0x71, 0xED, 0x30, 0x4A, 0x6A, 0xF4, 0xCF, 0xFE, 0x22, 0x1, 0xD0, 0x1D, 0x1, 0x25, 0x1, 0x1E, 0x1, 0xE8, 0xFE, 0xC, 0xBA, 0xB8, 0x1A, 0x3, 0x80, 0xFC, 0x7F, 0x20, 0xE3, 0x88, 0xDD, 0x1, 0x19, 0x59, 0xFC, 0xA1, 0x91, 0xFE, 0xFF, 0xAE, 0x14, 0x0, 0x1, 0x0, 0x66, 0xFF, 0xEB, 0x6, 0x2E, 0x4, 0x3A, 0x0, 0x26, 0x0, 0x0, 0x5, 0x22, 0x27, 0x6, 0x23, 0x22, 0x26, 0x2, 0x35, 0x34, 0x12, 0x37, 0x33, 0x2, 0x7, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x11, 0x33, 0x11, 0x16, 0x16, 0x33, 0x32, 0x36, 0x35, 0x26, 0x3, 0x33, 0x16, 0x12, 0x15, 0x14, 0x2, 0x6, 0x4, 0x8D, 0xE7, 0x5C, 0x5C, 0xE7, 0x9B, 0xB7, 0x4F, 0x55, 0x39, 0xF1, 0x85, 0x7, 0x51, 0x67, 0x50, 0x6C, 0xFB, 0x1, 0x6B, 0x4F, 0x67, 0x52, 0x7, 0x86, 0xF1, 0x38, 0x56, 0x4F, 0xB6, 0x15, 0xDF, 0xDF, 0xA1, 0x1, 0xC, 0x9E, 0xA5, 0x1, 0x3, 0x5C, 0xFE, 0xE9, 0xED, 0x9A, 0xEE, 0x8A, 0xA9, 0x1, 0x45, 0xFE, 0xB5, 0xA5, 0x88, 0xEC, 0x9C, 0xEF, 0x1, 0x15, 0x5C, 0xFE, 0xFD, 0xA5, 0x9E, 0xFE, 0xF4, 0xA1, 0x0, 0x1, 0x0, 0x95, 0xFE, 0x91, 0x5, 0x18, 0x5, 0xB0, 0x0, 0xE, 0x0, 0x0, 0x1, 0x27, 0x37, 0x1, 0x7, 0x11, 0x23, 0x11, 0x33, 0x11, 0x37, 0x1, 0x21, 0x1, 0x1, 0x3, 0x72, 0x84, 0xFC, 0xFE, 0x4D, 0xA6, 0xFC, 0xFC, 0x8D, 0x1, 0xAA, 0x1, 0x32, 0xFD, 0xE3, 0x2, 0x3B, 0xFE, 0x91, 0x98, 0xDB, 0x2, 0x72, 0xB0, 0xFE, 0x3A, 0x5, 0xB0, 0xFD, 0x54, 0xAE, 0x1, 0xFE, 0xFD, 0x7C, 0xFC, 0xD4, 0x0, 0x3, 0x0, 0x50, 0xFF, 0xEB, 0x4, 0x31, 0x6, 0x15, 0x0, 0x9, 0x0, 0x22, 0x0, 0x2D, 0x0, 0x0, 0x1, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x7, 0x16, 0x1, 0x14, 0x0, 0x23, 0x22, 0x2, 0x3, 0x35, 0x10, 0x0, 0x21, 0x32, 0x16, 0x15, 0x14, 0x6, 0x23, 0x22, 0x27, 0x6, 0x15, 0x36, 0x33, 0x32, 0x16, 0x25, 0x22, 0x6, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x10, 0x2, 0x4F, 0x4A, 0x46, 0x3F, 0x48, 0x90, 0x54, 0x7A, 0x2, 0x43, 0xFE, 0xFF, 0xE8, 0xF8, 0xFC, 0x4, 0x1, 0x20, 0x1, 0x8, 0x97, 0xBB, 0xA8, 0xBB, 0x9C, 0x94, 0x1C, 0x8A, 0xD5, 0xC5, 0xF2, 0xFE, 0x15, 0x67, 0x96, 0x76, 0x82, 0x83, 0x7A, 0x4, 0x98, 0x3A, 0x21, 0x27, 0x40, 0x94, 0x2E, 0xFD, 0x3F, 0xD9, 0xFE, 0xED, 0x1, 0x55, 0x1, 0x56, 0x58, 0x1, 0x6F, 0x1, 0xB8, 0x94, 0x81, 0x67, 0xB1, 0x38, 0x7A, 0x99, 0x97, 0xF2, 0x2F, 0x86, 0x84, 0x85, 0xA4, 0xA4, 0x85, 0x1, 0xA, 0x0, 0x2, 0x0, 0x76, 0xFF, 0xEB, 0x4, 0x99, 0x5, 0xC5, 0x0, 0x9, 0x0, 0x28, 0x0, 0x0, 0x1, 0x14, 0x16, 0x17, 0x11, 0x26, 0x23, 0x22, 0x6, 0x15, 0x13, 0x22, 0x0, 0x35, 0x11, 0x37, 0x11, 0x14, 0x16, 0x33, 0x32, 0x37, 0x35, 0x26, 0x0, 0x35, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x11, 0x37, 0x17, 0x6, 0x7, 0x15, 0x6, 0x6, 0x2, 0x39, 0x77, 0x71, 0x2, 0x6E, 0x34, 0x44, 0x13, 0xD3, 0xFE, 0xFD, 0xEC, 0x81, 0x70, 0xCA, 0x4, 0xD1, 0xFE, 0xFE, 0xCC, 0x9E, 0xA4, 0xBE, 0x76, 0x9, 0x3D, 0x42, 0x1, 0xFE, 0x4, 0x42, 0x68, 0xA4, 0x21, 0x1, 0x3B, 0xA3, 0x49, 0x53, 0xFB, 0x94, 0x1, 0x6, 0xCE, 0x1, 0x24, 0x1, 0xFE, 0xDB, 0x77, 0x91, 0xFE, 0x87, 0x26, 0x1, 0x17, 0xC5, 0x11, 0xB0, 0xC6, 0xCE, 0xBC, 0xFE, 0xCD, 0x16, 0xC6, 0x14, 0xC, 0x7C, 0xD9, 0xF8, 0x0, 0x1, 0xFF, 0xE1, 0x0, 0x0, 0x4, 0x9E, 0x5, 0xC4, 0x0, 0x1A, 0x0, 0x0, 0x21, 0x23, 0x11, 0x1, 0x26, 0x23, 0x22, 0x7, 0x27, 0x36, 0x33, 0x32, 0x16, 0x17, 0x13, 0x13, 0x36, 0x36, 0x33, 0x32, 0x17, 0x7, 0x26, 0x23, 0x22, 0x7, 0x1, 0x2, 0xBC, 0xFC, 0xFE, 0xDB, 0x1E, 0x43, 0x28, 0xC, 0x25, 0x43, 0x44, 0x56, 0x86, 0x33, 0xC9, 0xCA, 0x32, 0x7F, 0x5B, 0x48, 0x40, 0x26, 0xC, 0x28, 0x42, 0x1F, 0xFE, 0xD9, 0x2, 0x14, 0x2, 0x94, 0x45, 0x6, 0xC2, 0x1B, 0x54, 0x7D, 0xFE, 0x16, 0x1, 0xE6, 0x77, 0x5E, 0x1B, 0xC2, 0x6, 0x45, 0xFD, 0x69, 0xFF, 0xFF, 0x0, 0x54, 0xFE, 0x60, 0x5, 0x7F, 0x6, 0x0, 0x0, 0x6, 0x2, 0x8D, 0x0, 0x0, 0x0, 0x2, 0x0, 0x33, 0xFF, 0xEB, 0x6, 0x55, 0x4, 0x3A, 0x0, 0x13, 0x0, 0x28, 0x0, 0x0, 0x25, 0x32, 0x36, 0x35, 0x26, 0x27, 0x21, 0x6, 0x7, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x35, 0x33, 0x15, 0x16, 0x16, 0x1, 0x14, 0x2, 0x6, 0x23, 0x22, 0x27, 0x6, 0x23, 0x22, 0x26, 0x2, 0x35, 0x34, 0x37, 0x23, 0x35, 0x21, 0x15, 0x23, 0x16, 0x4, 0x7C, 0x58, 0x45, 0x4, 0x3D, 0xFC, 0xC8, 0x3D, 0x4, 0x46, 0x58, 0x52, 0x70, 0xFA, 0x1, 0x71, 0x1, 0xE0, 0x49, 0xAA, 0x92, 0xED, 0x5D, 0x5D, 0xED, 0x91, 0xAB, 0x4A, 0x38, 0x71, 0x6, 0x22, 0x81, 0x37, 0xAE, 0xEC, 0x9C, 0x9A, 0xB4, 0xB4, 0x9A, 0x9A, 0xEE, 0x8A, 0xA9, 0xE1, 0xE8, 0xA4, 0x88, 0x1, 0x88, 0x9E, 0xFE, 0xF4, 0xA1, 0xE2, 0xE2, 0xA1, 0x1, 0xC, 0x9E, 0xAF, 0x9F, 0xB6, 0xB6, 0x9C, 0x0, 0x1, 0x0, 0x23, 0xFE, 0x73, 0x5, 0x2F, 0x4, 0x4E, 0x0, 0x25, 0x0, 0x0, 0x1, 0x22, 0x27, 0x35, 0x16, 0x33, 0x32, 0x35, 0x34, 0x26, 0x2, 0x27, 0x1, 0x23, 0x37, 0x11, 0x34, 0x26, 0x23, 0x22, 0x7, 0x35, 0x36, 0x33, 0x32, 0x16, 0x15, 0x11, 0x1, 0x33, 0x7, 0x16, 0x12, 0x12, 0x16, 0x15, 0x14, 0x6, 0x3, 0xDC, 0x41, 0x3A, 0x16, 0x22, 0xB3, 0x64, 0x5B, 0x13, 0xFE, 0x7, 0xDC, 0x65, 0x5B, 0x47, 0x26, 0x1F, 0x3A, 0x4B, 0xA1, 0x9D, 0x1, 0xE1, 0xE5, 0x80, 0x10, 0x4D, 0x7D, 0x29, 0xA6, 0xFE, 0x73, 0xE, 0xB8, 0x6, 0xA3, 0x6F, 0xBD, 0x1, 0x12, 0x8D, 0xFD, 0x5F, 0x88, 0x2, 0x67, 0x5B, 0x44, 0x7, 0xB6, 0x11, 0xBC, 0xA3, 0xFE, 0xC2, 0x2, 0x89, 0xAA, 0xB5, 0xFE, 0xE6, 0xFE, 0xFA, 0x93, 0x60, 0x8C, 0xC9, 0x0, 0x2, 0x0, 0x66, 0xFE, 0x60, 0x5, 0x1F, 0x5, 0xC4, 0x0, 0x10, 0x0, 0x1E, 0x0, 0x0, 0x1, 0x23, 0x11, 0x26, 0x0, 0x11, 0x35, 0x10, 0x0, 0x21, 0x20, 0x0, 0x11, 0x15, 0x10, 0x0, 0x7, 0x13, 0x34, 0x2, 0x23, 0x22, 0x2, 0x15, 0x15, 0x14, 0x12, 0x33, 0x32, 0x12, 0x35, 0x3, 0x42, 0xFD, 0xD7, 0xFE, 0xF8, 0x1, 0x52, 0x1, 0xA, 0x1, 0x10, 0x1, 0x4D, 0xFE, 0xFD, 0xDA, 0xE0, 0xB9, 0xA7, 0xA2, 0xBD, 0xBF, 0xA2, 0xA8, 0xB6, 0xFE, 0x60, 0x1, 0x98, 0x2B, 0x1, 0x6D, 0x1, 0x23, 0x49, 0x1, 0x4C, 0x1, 0x7C, 0xFE, 0x84, 0xFE, 0xB4, 0x49, 0xFE, 0xDC, 0xFE, 0x93, 0x2A, 0x3, 0x6, 0xF5, 0x1, 0x0, 0xFF, 0x0, 0xF5, 0x4B, 0xF5, 0xFE, 0xFE, 0x1, 0x2, 0xF5, 0x0, 0x2, 0x0, 0x50, 0xFE, 0x60, 0x4, 0x3E, 0x4, 0x4E, 0x0, 0x10, 0x0, 0x1E, 0x0, 0x0, 0x1, 0x23, 0x11, 0x26, 0x2, 0x35, 0x35, 0x34, 0x0, 0x33, 0x32, 0x0, 0x15, 0x15, 0x14, 0x2, 0x7, 0x1, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x2, 0xC1, 0xF3, 0xB6, 0xC8, 0x1, 0xA, 0xEC, 0xEF, 0x1, 0x9, 0xC8, 0xB5, 0xFE, 0x81, 0x7D, 0x89, 0x86, 0x7D, 0x7C, 0x89, 0x87, 0x7D, 0xFE, 0x60, 0x1, 0x99, 0x27, 0x1, 0x27, 0xCB, 0x15, 0xEC, 0x1, 0x3B, 0xFE, 0xC5, 0xEC, 0x15, 0xCC, 0xFE, 0xDA, 0x27, 0x2, 0x19, 0x91, 0xD2, 0xD2, 0x91, 0x15, 0x8F, 0xD5, 0xD5, 0x8F, 0x0, 0x1, 0x0, 0x66, 0xFE, 0x78, 0x4, 0xEC, 0x5, 0xC4, 0x0, 0x20, 0x0, 0x0, 0x1, 0x27, 0x36, 0x35, 0x34, 0x27, 0x25, 0x26, 0x0, 0x11, 0x35, 0x10, 0x0, 0x21, 0x20, 0x0, 0x17, 0x23, 0x26, 0x26, 0x23, 0x22, 0x6, 0x15, 0x15, 0x14, 0x16, 0x17, 0x5, 0x16, 0x15, 0x14, 0x6, 0x3, 0x3C, 0x1, 0x82, 0x55, 0xFE, 0xCB, 0xC2, 0xFE, 0xF5, 0x1, 0x4A, 0x1, 0xF, 0x1, 0x5, 0x1, 0x12, 0x16, 0xFC, 0xE, 0x7B, 0xA8, 0xB4, 0xA6, 0xA3, 0x7C, 0x1, 0x4F, 0xE8, 0xCE, 0xFE, 0x78, 0xC5, 0x9, 0x4D, 0x40, 0x1B, 0x60, 0x3D, 0x1, 0x20, 0x1, 0x1B, 0x68, 0x1, 0x28, 0x1, 0x6E, 0xFE, 0xE2, 0xD7, 0x7B, 0xAE, 0xFF, 0xC9, 0x6A, 0xBC, 0xBE, 0x2A, 0x71, 0x4E, 0xBC, 0x87, 0x9F, 0x0, 0x1, 0x0, 0x50, 0xFE, 0x7C, 0x4, 0x3, 0x4, 0x4E, 0x0, 0x22, 0x0, 0x0, 0x1, 0x35, 0x32, 0x35, 0x34, 0x27, 0x27, 0x2E, 0x2, 0x35, 0x35, 0x34, 0x12, 0x33, 0x32, 0x16, 0x17, 0x23, 0x26, 0x26, 0x23, 0x22, 0x6, 0x15, 0x15, 0x14, 0x16, 0x17, 0x17, 0x16, 0x16, 0x15, 0x14, 0x6, 0x2, 0x93, 0x7D, 0x5D, 0xF5, 0x60, 0xA7, 0x67, 0xF3, 0xF9, 0xC5, 0xF0, 0x4, 0xE4, 0x5, 0x70, 0x63, 0x91, 0x66, 0x97, 0x6B, 0xF9, 0x5A, 0x6C, 0xC8, 0xFE, 0x7C, 0xC2, 0x55, 0x46, 0x14, 0x40, 0x1C, 0x67, 0xC2, 0xA3, 0x24, 0xD9, 0x1, 0x3C, 0xE4, 0xB3, 0x57, 0x7D, 0xCF, 0x81, 0x24, 0x96, 0x88, 0x1F, 0x48, 0x1D, 0x70, 0x6D, 0x92, 0x8A, 0x0, 0x1, 0x0, 0x95, 0x0, 0x0, 0x4, 0x31, 0x5, 0xB0, 0x0, 0xB, 0x0, 0x0, 0x1, 0x35, 0x21, 0x11, 0x23, 0x11, 0x21, 0x15, 0x21, 0x11, 0x21, 0x11, 0x3, 0x11, 0xFE, 0x80, 0xFC, 0x3, 0x9C, 0xFD, 0x60, 0x2, 0x4A, 0x1, 0x95, 0xD4, 0xFD, 0x97, 0x5, 0xB0, 0xCB, 0xFE, 0x4E, 0xFE, 0x62, 0x0, 0x1, 0x0, 0x87, 0xFE, 0x60, 0x3, 0xD3, 0x4, 0x3A, 0x0, 0xB, 0x0, 0x0, 0x25, 0x35, 0x21, 0x11, 0x23, 0x11, 0x21, 0x15, 0x21, 0x11, 0x21, 0x11, 0x2, 0xBA, 0xFE, 0xC0, 0xF3, 0x3, 0x4C, 0xFD, 0xA7, 0x2, 0x2, 0xC4, 0xB8, 0xFC, 0xE4, 0x5, 0xDA, 0xC1, 0xFE, 0xC5, 0xFE, 0x86, 0x0, 0x1, 0x0, 0x23, 0xFF, 0xEB, 0x5, 0x8, 0x5, 0xCE, 0x0, 0x1E, 0x0, 0x0, 0x5, 0x22, 0x26, 0x35, 0x37, 0x13, 0x1, 0x27, 0x13, 0x37, 0x34, 0x23, 0x7, 0x37, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x7, 0x3, 0x1, 0x17, 0x3, 0x7, 0x14, 0x33, 0x37, 0x7, 0x6, 0x4, 0xA5, 0xA3, 0xAC, 0x3, 0x2A, 0xFD, 0x4C, 0x21, 0x4A, 0x2, 0xB2, 0x25, 0x11, 0x27, 0x2E, 0xA1, 0xAC, 0x6, 0x20, 0x2, 0xBE, 0x20, 0x5A, 0x3, 0xAC, 0x2B, 0x11, 0x27, 0x15, 0xA9, 0x8D, 0x4F, 0x1, 0xB0, 0xFD, 0xDA, 0x16, 0x3, 0x3D, 0x25, 0xA0, 0x1, 0xB7, 0x6, 0xB0, 0xA1, 0x28, 0x30, 0xFE, 0xAF, 0x2, 0x35, 0x18, 0xFC, 0x80, 0x32, 0x98, 0x2, 0xB8, 0x6, 0x0, 0x1, 0x0, 0x52, 0x0, 0x0, 0x4, 0x14, 0x5, 0xB0, 0x0, 0x9, 0x0, 0x0, 0x21, 0x21, 0x13, 0x21, 0x35, 0x1, 0x21, 0x3, 0x21, 0x15, 0x2, 0xF9, 0xFE, 0xF9, 0xFA, 0xFD, 0x66, 0x1, 0x20, 0x1, 0x8, 0xFB, 0x2, 0x95, 0x2, 0x6E, 0x6C, 0x2, 0xD6, 0xFD, 0x81, 0x66, 0x0, 0x1, 0x0, 0x21, 0xFE, 0x4B, 0x5, 0x93, 0x5, 0xC4, 0x0, 0x1C, 0x0, 0x0, 0x1, 0x35, 0x32, 0x12, 0x13, 0x1, 0x27, 0x1, 0x26, 0x27, 0x1, 0x27, 0x1, 0x26, 0x23, 0x22, 0x6, 0x7, 0x23, 0x36, 0x12, 0x24, 0x33, 0x20, 0x0, 0x13, 0x15, 0x10, 0x0, 0x2, 0xC0, 0xD6, 0xEE, 0x13, 0xFD, 0xD8, 0x61, 0x2, 0x8D, 0x1, 0x28, 0xFD, 0x2F, 0x61, 0x2, 0xE2, 0x7F, 0xEC, 0xBB, 0xCD, 0x1B, 0xF3, 0x13, 0x95, 0x1, 0x1A, 0xD9, 0x1, 0x60, 0x1, 0x73, 0x4, 0xFE, 0x85, 0xFE, 0x4B, 0xEA, 0x1, 0x2A, 0x1, 0xA, 0xFE, 0xC1, 0xA9, 0x1, 0x7A, 0xB0, 0x89, 0xFE, 0x5E, 0xAA, 0x1, 0xAB, 0xBF, 0xE1, 0xC0, 0x9E, 0x1, 0x1C, 0xB3, 0xFE, 0x1F, 0xFE, 0x6B, 0x7C, 0xFE, 0x64, 0xFE, 0x15, 0x0, 0x1, 0x0, 0x21, 0xFE, 0x4B, 0x5, 0x3F, 0x6, 0x1F, 0x0, 0x12, 0x0, 0x0, 0x1, 0x34, 0x2, 0x27, 0x1, 0x27, 0x1, 0x26, 0x27, 0x1, 0x27, 0x1, 0x2, 0x25, 0x37, 0x4, 0x0, 0x12, 0x11, 0x4, 0x5F, 0x21, 0x28, 0xFD, 0x75, 0x62, 0x2, 0xB3, 0x36, 0x4F, 0xFD, 0x59, 0x61, 0x2, 0x91, 0xEF, 0xFE, 0x30, 0xDF, 0x1, 0xAA, 0x1, 0xD9, 0xBC, 0xFE, 0x4B, 0xE8, 0x1, 0x8A, 0xA8, 0xFE, 0x87, 0xA9, 0x1, 0x90, 0x91, 0x7A, 0xFE, 0x77, 0xA9, 0x1, 0x7C, 0x1, 0xB, 0xCF, 0x79, 0xB7, 0xFE, 0x2, 0xFD, 0x3B, 0xFE, 0x20, 0x0, 0x1, 0x0, 0x23, 0xFF, 0xEC, 0x5, 0x13, 0x4, 0x4E, 0x0, 0x1E, 0x0, 0x0, 0x5, 0x22, 0x26, 0x35, 0x11, 0x1, 0x23, 0x37, 0x11, 0x34, 0x26, 0x23, 0x22, 0x7, 0x27, 0x36, 0x33, 0x32, 0x16, 0x15, 0x11, 0x1, 0x33, 0x7, 0x13, 0x16, 0x33, 0x32, 0x37, 0x15, 0x6, 0x4, 0x8E, 0xA0, 0x9E, 0xFE, 0x31, 0xDC, 0x65, 0x5B, 0x47, 0x27, 0x1D, 0x1, 0x3A, 0x4B, 0xA1, 0x9D, 0x1, 0xE1, 0xE5, 0x80, 0x1, 0x5, 0x9D, 0x25, 0x1F, 0x3C, 0x14, 0xBC, 0xA3, 0x1, 0x1F, 0xFD, 0x96, 0x88, 0x2, 0x67, 0x5B, 0x44, 0x7, 0xB6, 0x11, 0xBC, 0xA3, 0xFE, 0xC2, 0x2, 0x89, 0xAB, 0xFD, 0xAF, 0x92, 0x7, 0xB7, 0x10, 0x0, 0x2, 0x0, 0x50, 0xFE, 0x25, 0x4, 0x32, 0x4, 0x4E, 0x0, 0xD, 0x0, 0x27, 0x0, 0x0, 0x25, 0x32, 0x36, 0x35, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x15, 0x14, 0x16, 0x1, 0x23, 0x34, 0x26, 0x27, 0x26, 0x0, 0x3, 0x35, 0x34, 0x0, 0x33, 0x32, 0x0, 0x15, 0x15, 0x14, 0x2, 0x23, 0x22, 0x27, 0x16, 0x16, 0x17, 0x16, 0x16, 0x2, 0x40, 0x89, 0x76, 0x76, 0x87, 0x88, 0x77, 0x76, 0x2, 0x24, 0xC4, 0x5B, 0x85, 0xDB, 0xFE, 0xF3, 0x1, 0x1, 0x4, 0xEE, 0xED, 0x1, 0x3, 0xEC, 0xD7, 0xC7, 0x8D, 0x1D, 0xB1, 0x80, 0xAF, 0xC5, 0xFE, 0xB6, 0x79, 0x15, 0x86, 0xC3, 0xC3, 0x86, 0x15, 0x79, 0xB6, 0xFD, 0x27, 0x3D, 0x39, 0x1C, 0x2E, 0x1, 0x7C, 0x1, 0x7D, 0x4F, 0xEA, 0x1, 0x37, 0xFE, 0xD4, 0xE0, 0x15, 0xD6, 0xFE, 0xE4, 0x96, 0xA4, 0x97, 0x1B, 0x25, 0x7C, 0x0, 0x1, 0x0, 0x50, 0xFF, 0xF9, 0x3, 0x6D, 0x4, 0x41, 0x0, 0x15, 0x0, 0x0, 0x25, 0x15, 0x21, 0x22, 0x2, 0x35, 0x35, 0x34, 0x12, 0x37, 0x21, 0x15, 0x21, 0x22, 0x6, 0x7, 0x21, 0x15, 0x21, 0x16, 0x16, 0x33, 0x3, 0x6D, 0xFE, 0xD0, 0xF9, 0xF4, 0xF2, 0xF3, 0x1, 0x37, 0xFE, 0xD3, 0x80, 0x6E, 0xA, 0x1, 0x7B, 0xFE, 0x84, 0xB, 0x6D, 0x7F, 0xBC, 0xC3, 0x1, 0x33, 0xDF, 0x24, 0xDC, 0x1, 0x34, 0x2, 0xC3, 0x9B, 0x6B, 0xB6, 0x6B, 0x9B, 0x0, 0x1, 0x0, 0x28, 0xFF, 0xF9, 0x3, 0x45, 0x4, 0x41, 0x0, 0x15, 0x0, 0x0, 0x17, 0x35, 0x21, 0x32, 0x36, 0x37, 0x21, 0x35, 0x21, 0x26, 0x26, 0x23, 0x21, 0x35, 0x21, 0x16, 0x12, 0x17, 0x15, 0x14, 0x2, 0x23, 0x28, 0x1, 0x30, 0x7F, 0x6D, 0xB, 0xFE, 0x84, 0x1, 0x7B, 0xA, 0x6E, 0x80, 0xFE, 0xD3, 0x1, 0x33, 0xF5, 0xF3, 0x1, 0xF4, 0xF9, 0x7, 0xC3, 0x9B, 0x6B, 0xB6, 0x6B, 0x9B, 0xC3, 0x1, 0xFE, 0xCE, 0xDC, 0x27, 0xDF, 0xFE, 0xCD, 0x0, 0x1, 0x0, 0x7D, 0xFE, 0x60, 0x5, 0x5D, 0x4, 0x3A, 0x0, 0xC, 0x0, 0x0, 0x21, 0x1, 0x11, 0x23, 0x11, 0x21, 0x1, 0x1, 0x21, 0x11, 0x23, 0x11, 0x1, 0x2, 0x9A, 0xFE, 0xD5, 0xF2, 0x1, 0x32, 0x1, 0x3E, 0x1, 0x40, 0x1, 0x30, 0xF3, 0xFE, 0xD5, 0x2, 0xD2, 0xFB, 0x8E, 0x5, 0xDA, 0xFC, 0xF1, 0x3, 0xF, 0xFB, 0xC6, 0x2, 0xCD, 0xFD, 0x33, 0xFF, 0xFF, 0x0, 0x14, 0xFE, 0x60, 0x4, 0x81, 0x4, 0x4E, 0x0, 0x26, 0x2, 0x46, 0x4F, 0x0, 0x0, 0x7, 0x7, 0xA4, 0xFF, 0x84, 0xFC, 0x6A, 0x0, 0x1, 0x0, 0x4D, 0xFF, 0xEC, 0x4, 0xD3, 0x5, 0xC4, 0x0, 0x1B, 0x0, 0x0, 0x13, 0x33, 0x16, 0x16, 0x33, 0x32, 0x36, 0x37, 0x35, 0x34, 0x2, 0x23, 0x22, 0x6, 0x7, 0x23, 0x36, 0x0, 0x21, 0x20, 0x0, 0x13, 0x15, 0x10, 0x0, 0x21, 0x20, 0x0, 0x4D, 0xFC, 0x11, 0x86, 0x9D, 0xAB, 0xAC, 0x1, 0x9C, 0xB1, 0xA3, 0x89, 0x12, 0xFC, 0x14, 0x1, 0x1A, 0x1, 0xC, 0x1, 0xA, 0x1, 0x3D, 0x4, 0xFE, 0xBD, 0xFE, 0xED, 0xFE, 0xFA, 0xFE, 0xEC, 0x1, 0xE1, 0x8B, 0x9E, 0xFB, 0xE4, 0x7D, 0xDA, 0x1, 0xA, 0x96, 0x8C, 0xD4, 0x1, 0x1A, 0xFE, 0x92, 0xFE, 0xCD, 0x85, 0xFE, 0xC5, 0xFE, 0x89, 0x1, 0x1B, 0x0, 0x2, 0x0, 0x66, 0xFF, 0xEC, 0x4, 0xEC, 0x5, 0xC4, 0x0, 0x1B, 0x0, 0x25, 0x0, 0x0, 0x1, 0x33, 0x6, 0x0, 0x21, 0x20, 0x0, 0x11, 0x35, 0x10, 0x0, 0x21, 0x20, 0x0, 0x17, 0x23, 0x26, 0x26, 0x23, 0x22, 0x6, 0x7, 0x15, 0x14, 0x12, 0x33, 0x32, 0x36, 0x1, 0x34, 0x36, 0x32, 0x16, 0x15, 0x14, 0x6, 0x22, 0x26, 0x3, 0xEF, 0xFC, 0x13, 0xFE, 0xE5, 0xFE, 0xF4, 0xFE, 0xF3, 0xFE, 0xC2, 0x1, 0x44, 0x1, 0x13, 0x1, 0x5, 0x1, 0x14, 0x16, 0xFC, 0x10, 0x87, 0x9C, 0xAB, 0xAC, 0x1, 0x9B, 0xB1, 0xA3, 0x89, 0xFE, 0x4C, 0x48, 0x82, 0x49, 0x49, 0x82, 0x48, 0x1, 0xDA, 0xD4, 0xFE, 0xE6, 0x1, 0x76, 0x1, 0x3B, 0x76, 0x1, 0x3A, 0x1, 0x77, 0xFE, 0xE5, 0xDA, 0x8C, 0x9D, 0xFA, 0xE4, 0x7D, 0xDA, 0xFE, 0xF5, 0x97, 0x1, 0x88, 0x35, 0x48, 0x48, 0x35, 0x34, 0x47, 0x47, 0x0, 0x2, 0x0, 0x4D, 0xFF, 0xEC, 0x4, 0xD3, 0x5, 0xC4, 0x0, 0x9, 0x0, 0x25, 0x0, 0x0, 0x0, 0x26, 0x35, 0x34, 0x36, 0x32, 0x16, 0x15, 0x14, 0x6, 0x5, 0x33, 0x16, 0x16, 0x33, 0x32, 0x36, 0x37, 0x35, 0x34, 0x2, 0x23, 0x22, 0x6, 0x7, 0x23, 0x36, 0x0, 0x21, 0x20, 0x0, 0x13, 0x15, 0x10, 0x0, 0x21, 0x20, 0x0, 0x2, 0x2C, 0x49, 0x49, 0x82, 0x49, 0x49, 0xFD, 0x9F, 0xFC, 0x11, 0x86, 0x9D, 0xAB, 0xAC, 0x1, 0x9C, 0xB1, 0xA3, 0x89, 0x12, 0xFC, 0x14, 0x1, 0x1A, 0x1, 0xC, 0x1, 0xA, 0x1, 0x3D, 0x4, 0xFE, 0xBD, 0xFE, 0xED, 0xFE, 0xFA, 0xFE, 0xEC, 0x2, 0x5C, 0x47, 0x34, 0x35, 0x48, 0x48, 0x35, 0x34, 0x47, 0x7B, 0x8B, 0x9E, 0xFB, 0xE4, 0x7D, 0xDA, 0x1, 0xA, 0x96, 0x8C, 0xD4, 0x1, 0x1A, 0xFE, 0x92, 0xFE, 0xCD, 0x85, 0xFE, 0xC5, 0xFE, 0x89, 0x1, 0x1B, 0x0, 0x1, 0x0, 0x23, 0xFF, 0xF1, 0x5, 0xBC, 0x5, 0xB0, 0x0, 0x19, 0x0, 0x0, 0x1, 0x14, 0x2, 0x21, 0x27, 0x32, 0x36, 0x35, 0x26, 0x26, 0x23, 0x22, 0x7, 0x11, 0x23, 0x11, 0x21, 0x35, 0x21, 0x15, 0x21, 0x11, 0x36, 0x33, 0x32, 0x4, 0x5, 0xBC, 0xF8, 0xFE, 0xE9, 0x2, 0xAB, 0x6A, 0x1, 0x8F, 0x8E, 0x85, 0x7A, 0xFC, 0xFE, 0x7C, 0x4, 0x6E, 0xFE, 0x12, 0x94, 0x72, 0xF5, 0x1, 0x1E, 0x1, 0xB7, 0xC1, 0xFE, 0xFB, 0xC1, 0x98, 0x64, 0x77, 0x88, 0x20, 0xFD, 0x73, 0x4, 0xE5, 0xCB, 0xCB, 0xFE, 0x73, 0x26, 0xE8, 0x0, 0x1, 0x0, 0x69, 0xFF, 0xEC, 0x4, 0xEF, 0x5, 0xC4, 0x0, 0x1D, 0x0, 0x0, 0x1, 0x6, 0x0, 0x21, 0x20, 0x0, 0x11, 0x35, 0x10, 0x0, 0x21, 0x20, 0x0, 0x17, 0x23, 0x26, 0x26, 0x23, 0x22, 0x6, 0x7, 0x21, 0x15, 0x21, 0x16, 0x16, 0x33, 0x32, 0x36, 0x37, 0x4, 0xEF, 0x14, 0xFE, 0xE4, 0xFE, 0xF5, 0xFE, 0xF3, 0xFE, 0xC2, 0x1, 0x43, 0x1, 0x14, 0x1, 0x5, 0x1, 0x14, 0x16, 0xFC, 0x10, 0x86, 0x9D, 0xA4, 0xAC, 0x9, 0x1, 0xFA, 0xFE, 0x6, 0x6, 0x9E, 0xA9, 0xA3, 0x89, 0x11, 0x1, 0xDA, 0xD5, 0xFE, 0xE7, 0x1, 0x75, 0x1, 0x3B, 0x75, 0x1, 0x3C, 0x1, 0x77, 0xFE, 0xE5, 0xDA, 0x8B, 0x9F, 0xE6, 0xD1, 0xCB, 0xCA, 0xF7, 0x98, 0x8C, 0x0, 0x2, 0x0, 0x2D, 0x0, 0x0, 0x8, 0x41, 0x5, 0xB0, 0x0, 0x16, 0x0, 0x1E, 0x0, 0x0, 0x33, 0x35, 0x37, 0x36, 0x36, 0x13, 0x13, 0x21, 0x11, 0x21, 0x16, 0x0, 0x15, 0x14, 0x0, 0x23, 0x21, 0x11, 0x21, 0x3, 0x2, 0x2, 0x7, 0x25, 0x21, 0x32, 0x36, 0x34, 0x26, 0x23, 0x21, 0x2D, 0x31, 0x7B, 0x61, 0xD, 0x1B, 0x3, 0xAC, 0x1, 0x30, 0xF3, 0x1, 0x10, 0xFE, 0xED, 0xF8, 0xFD, 0xDB, 0xFE, 0x43, 0x1B, 0x16, 0xC5, 0xE7, 0x4, 0x97, 0x1, 0x28, 0x8D, 0x83, 0x83, 0x8D, 0xFE, 0xD8, 0xCA, 0x5, 0xE, 0xF4, 0x1, 0x2E, 0x2, 0xB1, 0xFD, 0xF1, 0x2, 0xFE, 0xFA, 0xC9, 0xC8, 0xFE, 0xF8, 0x4, 0xE5, 0xFD, 0xCB, 0xFE, 0x8C, 0xFE, 0xC7, 0x3, 0xCA, 0xA3, 0xCA, 0x9F, 0x0, 0x2, 0x0, 0x9B, 0x0, 0x0, 0x8, 0x47, 0x5, 0xB0, 0x0, 0x8, 0x0, 0x1B, 0x0, 0x0, 0x25, 0x21, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x21, 0x3, 0x11, 0x21, 0x11, 0x23, 0x11, 0x33, 0x11, 0x21, 0x11, 0x33, 0x11, 0x21, 0x16, 0x4, 0x15, 0x14, 0x0, 0x23, 0x5, 0x14, 0x1, 0x29, 0x8D, 0x82, 0x82, 0x8D, 0xFE, 0xD7, 0xFC, 0xFD, 0x7F, 0xFC, 0xFC, 0x2, 0x81, 0xFC, 0x1, 0x34, 0xF3, 0x1, 0xC, 0xFE, 0xEE, 0xF8, 0xD0, 0x96, 0x61, 0x5F, 0x93, 0xFD, 0x47, 0x2, 0x7B, 0xFD, 0x85, 0x5, 0xB0, 0xFD, 0x95, 0x2, 0x6B, 0xFD, 0xD3, 0x3, 0xF9, 0xC2, 0xC4, 0xFE, 0xFF, 0x0, 0x1, 0x0, 0x31, 0x0, 0x0, 0x5, 0xC8, 0x5, 0xB0, 0x0, 0x15, 0x0, 0x0, 0x1, 0x22, 0x7, 0x11, 0x23, 0x11, 0x21, 0x35, 0x21, 0x15, 0x21, 0x11, 0x36, 0x33, 0x32, 0x4, 0x15, 0x11, 0x23, 0x11, 0x34, 0x26, 0x3, 0xB6, 0x84, 0x8E, 0xFD, 0xFE, 0x8A, 0x4, 0x62, 0xFE, 0x11, 0x87, 0x8B, 0xF5, 0x1, 0x1D, 0xFC, 0x8A, 0x2, 0xD0, 0x1C, 0xFD, 0x4C, 0x4, 0xE5, 0xCB, 0xCB, 0xFE, 0x9B, 0x1B, 0xDA, 0xF9, 0xFE, 0x38, 0x1, 0xC8, 0x9B, 0x6D, 0x0, 0x1, 0x0, 0x93, 0xFE, 0x98, 0x5, 0xD, 0x5, 0xB0, 0x0, 0xB, 0x0, 0x0, 0x21, 0x21, 0x11, 0x23, 0x11, 0x21, 0x11, 0x33, 0x11, 0x21, 0x11, 0x33, 0x5, 0xD, 0xFE, 0x4B, 0xFC, 0xFE, 0x37, 0xFC, 0x2, 0x81, 0xFD, 0xFE, 0x98, 0x1, 0x68, 0x5, 0xB0, 0xFB, 0x1A, 0x4, 0xE6, 0x0, 0x2, 0x0, 0x90, 0x0, 0x0, 0x4, 0xC2, 0x5, 0xB0, 0x0, 0x7, 0x0, 0x14, 0x0, 0x0, 0x25, 0x21, 0x32, 0x36, 0x34, 0x26, 0x23, 0x21, 0x3, 0x11, 0x21, 0x15, 0x21, 0x11, 0x21, 0x16, 0x4, 0x15, 0x14, 0x4, 0x23, 0x1, 0x8E, 0x1, 0x28, 0x8D, 0x82, 0x82, 0x8D, 0xFE, 0xD8, 0xFE, 0x3, 0x9D, 0xFD, 0x61, 0x1, 0x2C, 0xF6, 0x1, 0x12, 0xFE, 0xEC, 0xF8, 0xCA, 0x99, 0xCA, 0x8B, 0xFD, 0x48, 0x5, 0xB0, 0xCB, 0xFE, 0x9E, 0x1, 0xF3, 0xC9, 0xC8, 0xFE, 0x0, 0x2, 0x0, 0x24, 0xFE, 0x9A, 0x5, 0xDC, 0x5, 0xB0, 0x0, 0x5, 0x0, 0x14, 0x0, 0x0, 0x25, 0x21, 0x11, 0x21, 0x3, 0x2, 0x1, 0x11, 0x21, 0x11, 0x23, 0x3, 0x33, 0x36, 0x12, 0x13, 0x13, 0x21, 0x11, 0x33, 0x3, 0x1, 0xB7, 0x2, 0x70, 0xFE, 0x57, 0x18, 0x1D, 0x2, 0x96, 0xFC, 0x41, 0xF3, 0x9, 0x76, 0x36, 0x84, 0x14, 0x26, 0x3, 0x96, 0xB8, 0xD, 0xCA, 0x4, 0x1B, 0xFE, 0x55, 0xFE, 0x6F, 0xFC, 0xF1, 0x1, 0x66, 0xFE, 0x9A, 0x2, 0x30, 0x34, 0x1, 0x19, 0x1, 0x27, 0x2, 0x72, 0xFB, 0x1A, 0xFD, 0xD0, 0x0, 0x1, 0x0, 0x17, 0x0, 0x0, 0x7, 0x9C, 0x5, 0xB0, 0x0, 0x15, 0x0, 0x0, 0x21, 0x11, 0x23, 0x1, 0x21, 0x1, 0x1, 0x21, 0x1, 0x33, 0x11, 0x33, 0x11, 0x33, 0x1, 0x21, 0x1, 0x1, 0x21, 0x1, 0x23, 0x11, 0x3, 0x61, 0xAB, 0xFE, 0x9B, 0xFE, 0xC6, 0x1, 0xD4, 0xFE, 0x4B, 0x1, 0x32, 0x1, 0x5C, 0x9D, 0xFB, 0x97, 0x1, 0x58, 0x1, 0x32, 0xFE, 0x4E, 0x1, 0xD1, 0xFE, 0xC6, 0xFE, 0x9E, 0xA4, 0x2, 0x74, 0xFD, 0x8C, 0x3, 0x8, 0x2, 0xA8, 0xFD, 0xA1, 0x2, 0x5F, 0xFD, 0xA1, 0x2, 0x5F, 0xFD, 0x59, 0xFC, 0xF7, 0x2, 0x74, 0xFD, 0x8C, 0x0, 0x1, 0x0, 0x49, 0xFF, 0xEC, 0x4, 0x7F, 0x5, 0xC4, 0x0, 0x27, 0x0, 0x0, 0x5, 0x22, 0x26, 0x26, 0x35, 0x33, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x25, 0x23, 0x35, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x23, 0x34, 0x24, 0x33, 0x32, 0x4, 0x15, 0x14, 0x6, 0x7, 0x16, 0x15, 0x14, 0x4, 0x2, 0x5A, 0x81, 0xF3, 0x9D, 0xFD, 0x98, 0x7C, 0x8E, 0x9A, 0xFE, 0xF6, 0xB9, 0xAB, 0x8A, 0x78, 0x83, 0x8F, 0x6C, 0x94, 0xFC, 0x1, 0x2D, 0xCF, 0xF0, 0x1, 0x1F, 0x79, 0x6B, 0xFA, 0xFE, 0xCB, 0x14, 0x58, 0xBB, 0x95, 0x5B, 0x83, 0x81, 0x61, 0xE5, 0x6, 0xC7, 0x79, 0x61, 0x56, 0x7F, 0x72, 0x5B, 0xBE, 0xDA, 0xD3, 0xCC, 0x63, 0xA6, 0x30, 0x57, 0xFD, 0xCD, 0xDF, 0x0, 0x1, 0x0, 0x95, 0x0, 0x0, 0x5, 0xD, 0x5, 0xB0, 0x0, 0x9, 0x0, 0x0, 0x1, 0x1, 0x33, 0x11, 0x23, 0x11, 0x1, 0x23, 0x11, 0x33, 0x1, 0x91, 0x2, 0x80, 0xFC, 0xFC, 0xFD, 0x80, 0xFC, 0xFC, 0x1, 0xA3, 0x4, 0xD, 0xFA, 0x50, 0x4, 0xE, 0xFB, 0xF2, 0x5, 0xB0, 0x0, 0x1, 0x0, 0x2D, 0x0, 0x0, 0x5, 0xE, 0x5, 0xB0, 0x0, 0xF, 0x0, 0x0, 0x33, 0x35, 0x37, 0x36, 0x36, 0x13, 0x13, 0x21, 0x11, 0x23, 0x11, 0x21, 0x3, 0x2, 0x2, 0x7, 0x2D, 0x31, 0x7B, 0x61, 0xD, 0x1B, 0x3, 0xAC, 0xFD, 0xFE, 0x43, 0x1B, 0x16, 0xC5, 0xE7, 0xCA, 0x5, 0xE, 0xF4, 0x1, 0x2E, 0x2, 0xB1, 0xFA, 0x50, 0x4, 0xE5, 0xFD, 0xCB, 0xFE, 0x8C, 0xFE, 0xC7, 0x3, 0x0, 0x1, 0x0, 0x3A, 0xFF, 0xEB, 0x4, 0xDE, 0x5, 0xB0, 0x0, 0xF, 0x0, 0x0, 0x5, 0x27, 0x37, 0x17, 0x32, 0x36, 0x37, 0x37, 0x1, 0x21, 0x1, 0x1, 0x21, 0x1, 0x6, 0x6, 0x1, 0x70, 0x67, 0x1, 0x55, 0x47, 0x45, 0x27, 0x19, 0xFE, 0xF, 0x1, 0x14, 0x1, 0x53, 0x1, 0x24, 0x1, 0x19, 0xFE, 0xA, 0x31, 0x99, 0x15, 0x6, 0xC8, 0x4, 0x3B, 0x60, 0x3E, 0x4, 0x22, 0xFD, 0x9, 0x2, 0xF7, 0xFB, 0x57, 0x71, 0xAB, 0x0, 0x3, 0x0, 0x4F, 0xFF, 0xC4, 0x6, 0x19, 0x5, 0xEC, 0x0, 0x8, 0x0, 0x11, 0x0, 0x27, 0x0, 0x0, 0x1, 0x11, 0x23, 0x22, 0x6, 0x15, 0x14, 0x16, 0x33, 0x1, 0x11, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x3, 0x15, 0x23, 0x35, 0x23, 0x26, 0x0, 0x11, 0x10, 0x0, 0x33, 0x33, 0x35, 0x33, 0x15, 0x33, 0x16, 0x0, 0x11, 0x10, 0x0, 0x7, 0x2, 0xBC, 0x18, 0xA8, 0xBD, 0xBE, 0xA7, 0x1, 0xB, 0x18, 0xA6, 0xBC, 0xBC, 0xA6, 0x18, 0xF3, 0x1E, 0xFC, 0xFE, 0xAD, 0x1, 0x58, 0xFD, 0x18, 0xF3, 0x1C, 0xFB, 0x1, 0x53, 0xFE, 0xAC, 0xFA, 0x1, 0x4D, 0x3, 0xF, 0xD1, 0xBB, 0xB7, 0xCC, 0x3, 0xF, 0xFC, 0xF1, 0xCF, 0xB6, 0xBA, 0xD0, 0xFC, 0x27, 0xBF, 0xBF, 0x2, 0x1, 0x44, 0x1, 0x7, 0x1, 0xD, 0x1, 0x49, 0xC6, 0xC6, 0x2, 0xFE, 0xB9, 0xFE, 0xF5, 0xFE, 0xF8, 0xFE, 0xBB, 0x2, 0x0, 0x1, 0x0, 0x93, 0xFE, 0xA1, 0x5, 0xBD, 0x5, 0xB0, 0x0, 0xB, 0x0, 0x0, 0x1, 0x23, 0x11, 0x21, 0x11, 0x33, 0x11, 0x21, 0x11, 0x33, 0x11, 0x33, 0x5, 0xA9, 0xE7, 0xFB, 0xD1, 0xFC, 0x2, 0x81, 0xFD, 0xB0, 0xFE, 0xA1, 0x1, 0x5F, 0x5, 0xB0, 0xFB, 0x1A, 0x4, 0xE6, 0xFB, 0x1D, 0x0, 0x1, 0x0, 0x8E, 0x0, 0x0, 0x4, 0xEF, 0x5, 0xB0, 0x0, 0x11, 0x0, 0x0, 0x21, 0x23, 0x11, 0x6, 0x23, 0x22, 0x24, 0x35, 0x11, 0x33, 0x11, 0x16, 0x16, 0x33, 0x32, 0x37, 0x11, 0x33, 0x4, 0xEF, 0xFD, 0x9E, 0xB4, 0xF5, 0xFE, 0xE3, 0xFD, 0x1, 0x89, 0x8B, 0xA9, 0xA9, 0xFD, 0x2, 0x3E, 0x29, 0xD9, 0xF9, 0x1, 0xC9, 0xFE, 0x32, 0x96, 0x6C, 0x29, 0x2, 0xA7, 0x0, 0x1, 0x0, 0x99, 0x0, 0x0, 0x7, 0x4, 0x5, 0xB0, 0x0, 0xB, 0x0, 0x0, 0x13, 0x33, 0x11, 0x21, 0x11, 0x33, 0x11, 0x21, 0x11, 0x33, 0x11, 0x21, 0x99, 0xFD, 0x1, 0xBD, 0xFB, 0x1, 0xBA, 0xFC, 0xF9, 0x95, 0x5, 0xB0, 0xFB, 0x1A, 0x4, 0xE6, 0xFB, 0x1A, 0x4, 0xE6, 0xFA, 0x50, 0x0, 0x1, 0x0, 0x99, 0xFE, 0xA1, 0x7, 0xAD, 0x5, 0xB0, 0x0, 0xF, 0x0, 0x0, 0x1, 0x23, 0x11, 0x21, 0x11, 0x33, 0x11, 0x21, 0x11, 0x33, 0x11, 0x21, 0x11, 0x33, 0x11, 0x33, 0x7, 0x99, 0xDD, 0xF9, 0xDD, 0xFD, 0x1, 0xBD, 0xFB, 0x1, 0xBA, 0xFC, 0xA9, 0xFE, 0xA1, 0x1, 0x5F, 0x5, 0xB0, 0xFB, 0x1A, 0x4, 0xE6, 0xFB, 0x1A, 0x4, 0xE6, 0xFB, 0x13, 0x0, 0x2, 0x0, 0x18, 0x0, 0x0, 0x5, 0xD4, 0x5, 0xB0, 0x0, 0xC, 0x0, 0x14, 0x0, 0x0, 0x21, 0x11, 0x21, 0x35, 0x21, 0x11, 0x21, 0x16, 0x4, 0x15, 0x14, 0x4, 0x23, 0x25, 0x21, 0x32, 0x36, 0x34, 0x26, 0x23, 0x21, 0x1, 0xA3, 0xFE, 0x75, 0x2, 0x88, 0x1, 0x2D, 0xF6, 0x1, 0x11, 0xFE, 0xED, 0xF8, 0xFE, 0xD7, 0x1, 0x29, 0x8C, 0x83, 0x83, 0x8C, 0xFE, 0xD7, 0x4, 0xED, 0xC3, 0xFD, 0xD3, 0x1, 0xF3, 0xC9, 0xC8, 0xFE, 0xCA, 0x99, 0xCA, 0x8B, 0x0, 0x3, 0x0, 0x9C, 0x0, 0x0, 0x6, 0x59, 0x5, 0xB0, 0x0, 0x3, 0x0, 0xE, 0x0, 0x16, 0x0, 0x0, 0x1, 0x11, 0x23, 0x11, 0x1, 0x11, 0x33, 0x11, 0x21, 0x16, 0x4, 0x15, 0x14, 0x4, 0x23, 0x25, 0x21, 0x32, 0x36, 0x34, 0x26, 0x23, 0x21, 0x6, 0x59, 0xFC, 0xFB, 0x3F, 0xFD, 0x1, 0x2C, 0xF6, 0x1, 0x12, 0xFE, 0xEC, 0xF8, 0xFE, 0xD8, 0x1, 0x28, 0x8D, 0x82, 0x82, 0x8D, 0xFE, 0xD8, 0x5, 0xB0, 0xFA, 0x50, 0x5, 0xB0, 0xFA, 0x50, 0x5, 0xB0, 0xFD, 0xD3, 0x1, 0xF3, 0xC9, 0xC8, 0xFE, 0xCA, 0x99, 0xCA, 0x8B, 0x0, 0x2, 0x0, 0x91, 0x0, 0x0, 0x4, 0xC2, 0x5, 0xB0, 0x0, 0xA, 0x0, 0x12, 0x0, 0x0, 0x33, 0x11, 0x33, 0x11, 0x21, 0x16, 0x4, 0x15, 0x14, 0x4, 0x23, 0x25, 0x21, 0x32, 0x36, 0x34, 0x26, 0x23, 0x21, 0x91, 0xFD, 0x1, 0x2C, 0xF6, 0x1, 0x12, 0xFE, 0xEC, 0xF8, 0xFE, 0xD8, 0x1, 0x28, 0x8D, 0x82, 0x82, 0x8D, 0xFE, 0xD8, 0x5, 0xB0, 0xFD, 0xD3, 0x1, 0xF3, 0xC9, 0xC8, 0xFE, 0xCA, 0x99, 0xCA, 0x8B, 0x0, 0x1, 0x0, 0x6B, 0xFF, 0xEC, 0x4, 0xF1, 0x5, 0xC4, 0x0, 0x1D, 0x0, 0x0, 0x5, 0x20, 0x0, 0x27, 0x33, 0x16, 0x16, 0x33, 0x32, 0x36, 0x37, 0x21, 0x35, 0x21, 0x26, 0x26, 0x23, 0x22, 0x6, 0x7, 0x23, 0x36, 0x0, 0x21, 0x20, 0x0, 0x13, 0x15, 0x10, 0x0, 0x2, 0xA6, 0xFE, 0xF5, 0xFE, 0xE5, 0x14, 0xFC, 0x12, 0x89, 0xA3, 0xA8, 0x9F, 0x7, 0xFD, 0xFE, 0x2, 0x2, 0x7, 0xAE, 0xA4, 0x9D, 0x86, 0x11, 0xFC, 0x17, 0x1, 0x13, 0x1, 0x6, 0x1, 0x10, 0x1, 0x42, 0x4, 0xFE, 0xC2, 0x14, 0x1, 0x19, 0xD5, 0x8C, 0x98, 0xF3, 0xC8, 0xCB, 0xD4, 0xE9, 0x9F, 0x8B, 0xDA, 0x1, 0x1B, 0xFE, 0x91, 0xFE, 0xCB, 0x84, 0xFE, 0xC5, 0xFE, 0x8B, 0x0, 0x2, 0x0, 0xA0, 0xFF, 0xEC, 0x7, 0x8, 0x5, 0xC4, 0x0, 0x13, 0x0, 0x21, 0x0, 0x0, 0x5, 0x22, 0x0, 0x3, 0x23, 0x11, 0x23, 0x11, 0x33, 0x11, 0x33, 0x12, 0x0, 0x21, 0x20, 0x0, 0x11, 0x15, 0x10, 0x0, 0x13, 0x34, 0x2, 0x23, 0x22, 0x2, 0x15, 0x15, 0x14, 0x12, 0x33, 0x32, 0x12, 0x35, 0x4, 0xAD, 0xF9, 0xFE, 0xB5, 0x17, 0xB6, 0xFC, 0xFC, 0xB4, 0xA, 0x1, 0x4E, 0x1, 0x3, 0x1, 0x10, 0x1, 0x4D, 0xFE, 0xB5, 0x4E, 0xB9, 0xA7, 0xA2, 0xBD, 0xBF, 0xA2, 0xA8, 0xB6, 0x14, 0x1, 0x4C, 0x1, 0x26, 0xFD, 0xA2, 0x5, 0xB0, 0xFD, 0x71, 0x1, 0x3C, 0x1, 0x67, 0xFE, 0x84, 0xFE, 0xB4, 0x49, 0xFE, 0xB4, 0xFE, 0x85, 0x3, 0x12, 0xF5, 0x1, 0x0, 0xFF, 0x0, 0xF5, 0x4B, 0xF5, 0xFE, 0xFE, 0x1, 0x2, 0xF5, 0x0, 0x2, 0x0, 0x21, 0x0, 0x0, 0x4, 0x5F, 0x5, 0xB0, 0x0, 0x8, 0x0, 0x15, 0x0, 0x0, 0x1, 0x11, 0x23, 0x22, 0x6, 0x15, 0x14, 0x16, 0x33, 0x13, 0x11, 0x21, 0x1, 0x21, 0x1, 0x26, 0x11, 0x34, 0x24, 0x33, 0x21, 0x11, 0x3, 0x63, 0xEC, 0x8B, 0x88, 0x8A, 0x89, 0xEC, 0xFE, 0xE6, 0xFE, 0xE7, 0xFE, 0xF1, 0x1, 0x45, 0xFE, 0x1, 0x1B, 0xF4, 0x1, 0xE8, 0x2, 0xE4, 0x2, 0x1, 0x87, 0x75, 0x7A, 0x8B, 0xFD, 0x1C, 0x2, 0x21, 0xFD, 0xDF, 0x2, 0x6C, 0x77, 0x1, 0x11, 0xD8, 0xE4, 0xFA, 0x50, 0x0, 0x2, 0x0, 0x5C, 0xFF, 0xEB, 0x4, 0x3D, 0x6, 0x13, 0x0, 0x19, 0x0, 0x27, 0x0, 0x0, 0x5, 0x22, 0x0, 0x27, 0x35, 0x10, 0x0, 0x37, 0x36, 0x36, 0x35, 0x33, 0x14, 0x6, 0x7, 0x6, 0x6, 0x7, 0x36, 0x33, 0x32, 0x12, 0x15, 0x15, 0x14, 0x0, 0x3, 0x22, 0x6, 0x15, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x35, 0x34, 0x26, 0x2, 0x4D, 0xEC, 0xFE, 0xFE, 0x3, 0x1, 0xA, 0xDA, 0x71, 0x73, 0xC5, 0xC8, 0xAE, 0x7E, 0xB1, 0x1E, 0x90, 0xC4, 0xD8, 0xEB, 0xFE, 0xFD, 0xEF, 0x87, 0x76, 0x77, 0x88, 0x87, 0x76, 0x76, 0x15, 0x1, 0x31, 0xE6, 0x57, 0x1, 0x7D, 0x1, 0x7C, 0x2E, 0x18, 0x36, 0x45, 0xB5, 0x7C, 0x25, 0x1B, 0x96, 0xA4, 0x96, 0xFE, 0xE4, 0xD6, 0x15, 0xE0, 0xFE, 0xD4, 0x3, 0x50, 0xB5, 0x7A, 0x15, 0x86, 0xC3, 0xC3, 0x86, 0x15, 0x7A, 0xB5, 0x0, 0x3, 0x0, 0x8F, 0x0, 0x0, 0x4, 0x3B, 0x4, 0x3A, 0x0, 0x6, 0x0, 0xD, 0x0, 0x1B, 0x0, 0x0, 0x1, 0x15, 0x33, 0x32, 0x35, 0x34, 0x27, 0x3, 0x11, 0x21, 0x32, 0x35, 0x34, 0x27, 0x1, 0x11, 0x21, 0x32, 0x16, 0x15, 0x14, 0x7, 0x16, 0x16, 0x15, 0x14, 0x6, 0x23, 0x1, 0x82, 0xC9, 0xCF, 0xCA, 0xCE, 0x1, 0xA, 0xBC, 0xB4, 0xFD, 0xFB, 0x1, 0xB8, 0xD1, 0xF4, 0xB7, 0x73, 0x73, 0xE3, 0xCC, 0x3, 0x79, 0xFE, 0x7B, 0x80, 0x3, 0xFE, 0x54, 0xFE, 0xF4, 0x85, 0x84, 0x3, 0xFE, 0x33, 0x4, 0x3A, 0x92, 0x9A, 0x9F, 0x42, 0x19, 0x89, 0x56, 0x9A, 0x9B, 0x0, 0x1, 0x0, 0x85, 0x0, 0x0, 0x3, 0x4D, 0x4, 0x3A, 0x0, 0x5, 0x0, 0x0, 0x1, 0x15, 0x21, 0x11, 0x23, 0x11, 0x3, 0x4D, 0xFE, 0x2B, 0xF3, 0x4, 0x3A, 0xC4, 0xFC, 0x8A, 0x4, 0x3A, 0x0, 0x2, 0x0, 0x27, 0xFE, 0xBE, 0x4, 0xC6, 0x4, 0x3A, 0x0, 0x5, 0x0, 0x14, 0x0, 0x0, 0x25, 0x21, 0x11, 0x21, 0x7, 0x2, 0x3, 0x11, 0x23, 0x13, 0x33, 0x36, 0x36, 0x37, 0x13, 0x21, 0x11, 0x33, 0x11, 0x23, 0x11, 0x1, 0x9F, 0x1, 0x9E, 0xFE, 0xEF, 0x5, 0xC, 0xFD, 0xF7, 0x1, 0x59, 0x54, 0x58, 0x7, 0xC, 0x2, 0xF0, 0x96, 0xF3, 0xC3, 0x2, 0xA6, 0xB6, 0xFE, 0xC5, 0xFE, 0x88, 0xFE, 0xBE, 0x2, 0x5, 0x5E, 0xC9, 0xCD, 0x1, 0x83, 0xFC, 0x89, 0xFD, 0xFB, 0x1, 0x42, 0x0, 0x1, 0x0, 0x1E, 0x0, 0x0, 0x6, 0x5C, 0x4, 0x3A, 0x0, 0x15, 0x0, 0x0, 0x21, 0x11, 0x23, 0x3, 0x21, 0x1, 0x1, 0x21, 0x13, 0x33, 0x11, 0x33, 0x11, 0x33, 0x13, 0x21, 0x1, 0x1, 0x21, 0x3, 0x23, 0x11, 0x2, 0xC2, 0x80, 0xFA, 0xFE, 0xD6, 0x1, 0x68, 0xFE, 0xAB, 0x1, 0x29, 0xF6, 0x72, 0xF2, 0x74, 0xF5, 0x1, 0x29, 0xFE, 0xAE, 0x1, 0x68, 0xFE, 0xD2, 0xF9, 0x81, 0x1, 0xB3, 0xFE, 0x4D, 0x2, 0x33, 0x2, 0x7, 0xFE, 0x58, 0x1, 0xA8, 0xFE, 0x58, 0x1, 0xA8, 0xFD, 0xFD, 0xFD, 0xC9, 0x1, 0xB3, 0xFE, 0x4D, 0x0, 0x1, 0x0, 0x4E, 0xFF, 0xEC, 0x3, 0xC4, 0x4, 0x4D, 0x0, 0x25, 0x0, 0x0, 0x5, 0x22, 0x26, 0x26, 0x35, 0x33, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x27, 0x23, 0x35, 0x33, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x23, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x7, 0x16, 0x15, 0x14, 0x6, 0x2, 0x8, 0x6D, 0xCB, 0x82, 0xF2, 0x6E, 0x61, 0x64, 0x5E, 0xB7, 0xB3, 0xBB, 0x9C, 0x4D, 0x62, 0x52, 0x6C, 0xF2, 0xFA, 0xAF, 0xC4, 0xE5, 0xA6, 0xB9, 0xF7, 0x14, 0x48, 0x97, 0x76, 0x3D, 0x5E, 0x5D, 0x3A, 0x92, 0x2, 0xB0, 0x4, 0x82, 0x34, 0x57, 0x4D, 0x3E, 0x98, 0xAE, 0xA1, 0x9A, 0x99, 0x4C, 0x41, 0xBA, 0x9A, 0xAC, 0x0, 0x1, 0x0, 0x86, 0x0, 0x0, 0x4, 0x13, 0x4, 0x3A, 0x0, 0x9, 0x0, 0x0, 0x1, 0x1, 0x33, 0x11, 0x23, 0x11, 0x1, 0x23, 0x11, 0x33, 0x1, 0x79, 0x1, 0xA7, 0xF3, 0xF3, 0xFE, 0x59, 0xF3, 0xF3, 0x1, 0x68, 0x2, 0xD2, 0xFB, 0xC6, 0x2, 0xD2, 0xFD, 0x2E, 0x4, 0x3A, 0x0, 0x1, 0x0, 0x8F, 0x0, 0x0, 0x4, 0x65, 0x4, 0x3A, 0x0, 0xC, 0x0, 0x0, 0x21, 0x1, 0x23, 0x11, 0x23, 0x11, 0x33, 0x11, 0x33, 0x1, 0x21, 0x1, 0x1, 0x3, 0x2A, 0xFE, 0xD3, 0x7B, 0xF3, 0xF3, 0x6C, 0x1, 0x2A, 0x1, 0x2D, 0xFE, 0x78, 0x1, 0xA8, 0x1, 0xAD, 0xFE, 0x53, 0x4, 0x3A, 0xFE, 0x51, 0x1, 0xAF, 0xFD, 0xFA, 0xFD, 0xCC, 0x0, 0x1, 0x0, 0x22, 0x0, 0x0, 0x4, 0x14, 0x4, 0x3A, 0x0, 0xF, 0x0, 0x0, 0x33, 0x27, 0x37, 0x36, 0x36, 0x37, 0x13, 0x21, 0x11, 0x23, 0x11, 0x21, 0x3, 0x2, 0x6, 0x7, 0x23, 0x1, 0x27, 0x5F, 0x44, 0xA, 0x14, 0x3, 0xA, 0xF3, 0xFE, 0xCF, 0x15, 0x13, 0xAA, 0xAC, 0xCB, 0x3, 0x8, 0xC1, 0xD5, 0x1, 0xCE, 0xFB, 0xC6, 0x3, 0x76, 0xFE, 0x8B, 0xFE, 0xEB, 0xEA, 0x2, 0x0, 0x1, 0x0, 0x8F, 0x0, 0x0, 0x5, 0x6F, 0x4, 0x3A, 0x0, 0xC, 0x0, 0x0, 0x21, 0x1, 0x11, 0x23, 0x11, 0x21, 0x1, 0x1, 0x21, 0x11, 0x23, 0x11, 0x1, 0x2, 0xAD, 0xFE, 0xD5, 0xF3, 0x1, 0x33, 0x1, 0x3D, 0x1, 0x41, 0x1, 0x2F, 0xF2, 0xFE, 0xD5, 0x2, 0xD2, 0xFD, 0x2E, 0x4, 0x3A, 0xFC, 0xF1, 0x3, 0xF, 0xFB, 0xC6, 0x2, 0xCF, 0xFD, 0x31, 0x0, 0x1, 0x0, 0x86, 0x0, 0x0, 0x4, 0x11, 0x4, 0x3A, 0x0, 0xB, 0x0, 0x0, 0x21, 0x11, 0x21, 0x11, 0x23, 0x11, 0x33, 0x11, 0x21, 0x11, 0x33, 0x11, 0x3, 0x1E, 0xFE, 0x5B, 0xF3, 0xF3, 0x1, 0xA5, 0xF3, 0x1, 0xB5, 0xFE, 0x4B, 0x4, 0x3A, 0xFE, 0x3D, 0x1, 0xC3, 0xFB, 0xC6, 0x0, 0x1, 0x0, 0x86, 0x0, 0x0, 0x4, 0x13, 0x4, 0x3A, 0x0, 0x7, 0x0, 0x0, 0x21, 0x11, 0x21, 0x11, 0x23, 0x11, 0x21, 0x11, 0x3, 0x20, 0xFE, 0x59, 0xF3, 0x3, 0x8D, 0x3, 0x76, 0xFC, 0x8A, 0x4, 0x3A, 0xFB, 0xC6, 0x0, 0x1, 0x0, 0x24, 0x0, 0x0, 0x3, 0xD1, 0x4, 0x3A, 0x0, 0x7, 0x0, 0x0, 0x1, 0x21, 0x11, 0x23, 0x11, 0x21, 0x35, 0x21, 0x3, 0xD1, 0xFE, 0xA0, 0xF3, 0xFE, 0xA6, 0x3, 0xAD, 0x3, 0x79, 0xFC, 0x87, 0x3, 0x79, 0xC1, 0x0, 0x3, 0x0, 0x54, 0xFE, 0x60, 0x5, 0x7F, 0x6, 0x0, 0x0, 0xA, 0x0, 0x15, 0x0, 0x31, 0x0, 0x0, 0x25, 0x32, 0x37, 0x11, 0x26, 0x23, 0x22, 0x6, 0x15, 0x14, 0x16, 0x5, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x7, 0x11, 0x16, 0x17, 0x22, 0x27, 0x11, 0x23, 0x11, 0x6, 0x23, 0x22, 0x2, 0x35, 0x35, 0x34, 0x12, 0x33, 0x32, 0x17, 0x11, 0x33, 0x11, 0x36, 0x33, 0x32, 0x12, 0x17, 0x15, 0x14, 0x2, 0x2, 0x1D, 0x2B, 0x22, 0x21, 0x2A, 0x79, 0x5F, 0x5D, 0x2, 0xC, 0x78, 0x64, 0x65, 0x79, 0x2D, 0x24, 0x24, 0x73, 0x55, 0x42, 0xF3, 0x3D, 0x4E, 0xC1, 0xCA, 0xC9, 0xC4, 0x4C, 0x3D, 0xF3, 0x41, 0x54, 0xC3, 0xC9, 0x1, 0xC9, 0xAF, 0xA, 0x2, 0xC8, 0xA, 0xE0, 0xB1, 0x8B, 0xC0, 0x1, 0xC0, 0xA1, 0x9B, 0xE1, 0xC, 0xFD, 0x39, 0xA, 0xC3, 0x1E, 0xFE, 0x57, 0x1, 0xA6, 0x1B, 0x1, 0x28, 0xE7, 0x15, 0xFC, 0x1, 0x43, 0x1B, 0x1, 0xCD, 0xFE, 0x2F, 0x1F, 0xFE, 0xC0, 0xFA, 0x1A, 0xE7, 0xFE, 0xD8, 0x0, 0x1, 0x0, 0x86, 0xFE, 0xBF, 0x4, 0xA6, 0x4, 0x3A, 0x0, 0xB, 0x0, 0x0, 0x1, 0x23, 0x11, 0x21, 0x11, 0x33, 0x11, 0x21, 0x11, 0x33, 0x11, 0x33, 0x4, 0x92, 0xDE, 0xFC, 0xD2, 0xF3, 0x1, 0xA7, 0xF3, 0x93, 0xFE, 0xBF, 0x1, 0x41, 0x4, 0x3A, 0xFC, 0x89, 0x3, 0x77, 0xFC, 0x88, 0x0, 0x1, 0x0, 0x5F, 0x0, 0x0, 0x3, 0xE1, 0x4, 0x3B, 0x0, 0x11, 0x0, 0x0, 0x21, 0x23, 0x11, 0x6, 0x23, 0x22, 0x26, 0x35, 0x11, 0x33, 0x11, 0x14, 0x16, 0x33, 0x32, 0x37, 0x11, 0x33, 0x3, 0xE1, 0xF3, 0x64, 0x63, 0xD1, 0xF7, 0xF3, 0x6B, 0x6A, 0x65, 0x62, 0xF3, 0x1, 0x6A, 0x16, 0xC9, 0xD2, 0x1, 0x4C, 0xFE, 0xB4, 0x76, 0x62, 0x17, 0x2, 0xC, 0x0, 0x1, 0x0, 0x86, 0x0, 0x0, 0x6, 0x4, 0x4, 0x3A, 0x0, 0xB, 0x0, 0x0, 0x13, 0x33, 0x11, 0x21, 0x11, 0x33, 0x11, 0x21, 0x11, 0x33, 0x11, 0x21, 0x86, 0xF3, 0x1, 0x53, 0xF3, 0x1, 0x52, 0xF3, 0xFA, 0x82, 0x4, 0x3A, 0xFC, 0x89, 0x3, 0x77, 0xFC, 0x89, 0x3, 0x77, 0xFB, 0xC6, 0x0, 0x1, 0x0, 0x7F, 0xFE, 0xBF, 0x6, 0xB5, 0x4, 0x3A, 0x0, 0xF, 0x0, 0x0, 0x1, 0x23, 0x11, 0x21, 0x11, 0x33, 0x11, 0x21, 0x11, 0x33, 0x11, 0x21, 0x11, 0x33, 0x11, 0x33, 0x6, 0xA1, 0xDD, 0xFA, 0xBB, 0xF2, 0x1, 0x53, 0xF3, 0x1, 0x52, 0xF3, 0xB9, 0xFE, 0xBF, 0x1, 0x41, 0x4, 0x3A, 0xFC, 0x89, 0x3, 0x77, 0xFC, 0x89, 0x3, 0x77, 0xFC, 0x88, 0x0, 0x2, 0x0, 0x1F, 0x0, 0x0, 0x4, 0xEB, 0x4, 0x3A, 0x0, 0xC, 0x0, 0x14, 0x0, 0x0, 0x21, 0x11, 0x21, 0x35, 0x21, 0x11, 0x33, 0x16, 0x16, 0x15, 0x14, 0x6, 0x23, 0x27, 0x33, 0x32, 0x36, 0x34, 0x26, 0x23, 0x23, 0x1, 0x58, 0xFE, 0xC7, 0x2, 0x2C, 0xF1, 0xCF, 0xE0, 0xE2, 0xD1, 0xED, 0xED, 0x69, 0x57, 0x57, 0x69, 0xED, 0x3, 0x77, 0xC3, 0xFE, 0xA8, 0x1, 0xCE, 0xA1, 0x9D, 0xD5, 0xC2, 0x6A, 0x84, 0x70, 0x0, 0x3, 0x0, 0x8F, 0x0, 0x0, 0x5, 0xCA, 0x4, 0x3A, 0x0, 0x3, 0x0, 0xE, 0x0, 0x16, 0x0, 0x0, 0x1, 0x11, 0x23, 0x11, 0x1, 0x11, 0x33, 0x11, 0x33, 0x16, 0x16, 0x15, 0x14, 0x6, 0x23, 0x27, 0x33, 0x32, 0x36, 0x34, 0x26, 0x23, 0x23, 0x5, 0xCA, 0xF3, 0xFB, 0xB8, 0xF4, 0xF1, 0xCF, 0xE0, 0xE2, 0xD1, 0xED, 0xED, 0x69, 0x57, 0x57, 0x69, 0xED, 0x4, 0x3A, 0xFB, 0xC6, 0x4, 0x3A, 0xFB, 0xC6, 0x4, 0x3A, 0xFE, 0xA8, 0x1, 0xCE, 0xA1, 0x9D, 0xD5, 0xC2, 0x6A, 0x84, 0x70, 0x0, 0x2, 0x0, 0x8F, 0x0, 0x0, 0x4, 0x23, 0x4, 0x3A, 0x0, 0xA, 0x0, 0x12, 0x0, 0x0, 0x33, 0x11, 0x33, 0x11, 0x33, 0x16, 0x16, 0x15, 0x14, 0x6, 0x23, 0x27, 0x33, 0x32, 0x36, 0x34, 0x26, 0x23, 0x23, 0x8F, 0xF4, 0xF1, 0xCF, 0xE0, 0xE2, 0xD1, 0xED, 0xED, 0x69, 0x57, 0x57, 0x69, 0xED, 0x4, 0x3A, 0xFE, 0xA8, 0x1, 0xCE, 0xA1, 0x9D, 0xD5, 0xC2, 0x6A, 0x84, 0x70, 0x0, 0x1, 0x0, 0x52, 0xFF, 0xEB, 0x3, 0xE9, 0x4, 0x4E, 0x0, 0x1D, 0x0, 0x0, 0x5, 0x22, 0x26, 0x35, 0x33, 0x14, 0x16, 0x33, 0x32, 0x36, 0x37, 0x21, 0x35, 0x21, 0x26, 0x26, 0x23, 0x22, 0x6, 0x15, 0x23, 0x34, 0x24, 0x33, 0x32, 0x12, 0x15, 0x15, 0x14, 0x2, 0x2, 0x2, 0xBE, 0xF2, 0xE5, 0x70, 0x5B, 0x77, 0x70, 0xA, 0xFE, 0xAB, 0x1, 0x54, 0xC, 0x70, 0x74, 0x53, 0x78, 0xE5, 0x1, 0x1, 0xAF, 0xED, 0xFA, 0xFB, 0x15, 0xE5, 0xB3, 0x57, 0x7E, 0xB1, 0x72, 0xA8, 0x6E, 0xA4, 0x67, 0x50, 0x9D, 0xDD, 0xFE, 0xBF, 0xDF, 0x23, 0xDF, 0xFE, 0xBF, 0x0, 0x2, 0x0, 0x91, 0xFF, 0xEC, 0x6, 0x39, 0x4, 0x4E, 0x0, 0x13, 0x0, 0x21, 0x0, 0x0, 0x5, 0x22, 0x0, 0x27, 0x23, 0x11, 0x23, 0x11, 0x33, 0x11, 0x33, 0x36, 0x0, 0x33, 0x32, 0x0, 0x17, 0x15, 0x14, 0x0, 0x1, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x4, 0x42, 0xD9, 0xFE, 0xFB, 0x16, 0xCA, 0xF3, 0xF3, 0xCC, 0x1B, 0x1, 0x2, 0xD3, 0xEC, 0x1, 0x9, 0x4, 0xFE, 0xF6, 0xFE, 0xE, 0x7D, 0x88, 0x87, 0x7D, 0x7D, 0x89, 0x87, 0x7C, 0x14, 0x1, 0xA, 0xCE, 0xFE, 0x3C, 0x4, 0x3A, 0xFE, 0x4E, 0xC6, 0x1, 0x0, 0xFE, 0xCD, 0xE7, 0x22, 0xEB, 0xFE, 0xC5, 0x2, 0x26, 0x91, 0xD2, 0xD2, 0x91, 0x15, 0x8F, 0xD5, 0xD5, 0x8F, 0x0, 0x2, 0x0, 0x27, 0x0, 0x0, 0x3, 0xE0, 0x4, 0x3A, 0x0, 0x8, 0x0, 0x15, 0x0, 0x0, 0x1, 0x11, 0x23, 0x22, 0x6, 0x15, 0x14, 0x16, 0x33, 0x13, 0x11, 0x23, 0x3, 0x23, 0x13, 0x26, 0x35, 0x34, 0x36, 0x33, 0x21, 0x11, 0x2, 0xEE, 0xE1, 0x65, 0x5D, 0x57, 0x5E, 0xEE, 0xE2, 0xE8, 0xFD, 0xFF, 0xCF, 0xE8, 0xCE, 0x1, 0xD3, 0x2, 0x42, 0x1, 0x37, 0x65, 0x39, 0x38, 0x61, 0xFD, 0xBE, 0x1, 0x8E, 0xFE, 0x72, 0x1, 0xB6, 0x57, 0xD3, 0x95, 0xC5, 0xFB, 0xC6, 0x0, 0x1, 0xFF, 0xDA, 0xFE, 0x4B, 0x3, 0xF9, 0x6, 0x0, 0x0, 0x22, 0x0, 0x0, 0x1, 0x22, 0x27, 0x37, 0x16, 0x33, 0x32, 0x37, 0x11, 0x34, 0x26, 0x23, 0x22, 0x7, 0x11, 0x23, 0x11, 0x23, 0x35, 0x33, 0x35, 0x33, 0x15, 0x21, 0x15, 0x21, 0x15, 0x36, 0x33, 0x32, 0x16, 0x17, 0x11, 0x14, 0x6, 0x2, 0x99, 0x45, 0x3B, 0xF, 0x29, 0x3A, 0x7A, 0x1, 0x62, 0x5D, 0x93, 0x48, 0xF2, 0xA0, 0xA0, 0xF2, 0x1, 0xC, 0xFE, 0xF4, 0x76, 0xB7, 0x9F, 0xC0, 0x1, 0xBB, 0xFE, 0x4B, 0x11, 0xBF, 0xD, 0xB0, 0x2, 0xFD, 0x71, 0x5C, 0x83, 0xFC, 0xFB, 0x4, 0xAE, 0xAB, 0xA7, 0xA7, 0xAB, 0xEB, 0x8B, 0xB6, 0xDA, 0xFD, 0x3, 0xB6, 0xC0, 0x0, 0x1, 0x0, 0x54, 0xFF, 0xEC, 0x3, 0xFA, 0x4, 0x4E, 0x0, 0x1D, 0x0, 0x0, 0x1, 0x6, 0x4, 0x23, 0x22, 0x2, 0x27, 0x35, 0x34, 0x12, 0x33, 0x32, 0x16, 0x17, 0x23, 0x26, 0x26, 0x23, 0x22, 0x6, 0x7, 0x21, 0x15, 0x21, 0x16, 0x16, 0x33, 0x32, 0x36, 0x37, 0x3, 0xFA, 0x5, 0xFF, 0x0, 0xB4, 0xF8, 0xF3, 0x2, 0xF3, 0xF9, 0xC5, 0xF0, 0x5, 0xE5, 0x4, 0x70, 0x63, 0x83, 0x69, 0x9, 0x1, 0x5A, 0xFE, 0xA7, 0xA, 0x69, 0x81, 0x59, 0x7A, 0x4, 0x1, 0x66, 0x9D, 0xDD, 0x1, 0x3B, 0xDE, 0x2A, 0xDE, 0x1, 0x41, 0xE4, 0xB3, 0x57, 0x7D, 0xAF, 0x71, 0xA8, 0x6F, 0xA5, 0x68, 0x4F, 0x0, 0x2, 0x0, 0x1F, 0x0, 0x0, 0x6, 0x9B, 0x4, 0x3A, 0x0, 0x17, 0x0, 0x20, 0x0, 0x0, 0x33, 0x27, 0x37, 0x36, 0x36, 0x37, 0x13, 0x21, 0x11, 0x33, 0x16, 0x17, 0x16, 0x15, 0x14, 0x6, 0x23, 0x21, 0x11, 0x21, 0x3, 0x2, 0x6, 0x7, 0x25, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x23, 0x20, 0x1, 0x27, 0x5F, 0x45, 0xA, 0x14, 0x2, 0xF2, 0xF2, 0xCE, 0x70, 0x71, 0xE2, 0xD1, 0xFE, 0x1F, 0xFE, 0xE6, 0x13, 0x12, 0xAD, 0xAE, 0x3, 0x8D, 0xEE, 0x69, 0x57, 0x57, 0x69, 0xEE, 0xCB, 0x3, 0x8, 0xC1, 0xD5, 0x1, 0xCE, 0xFE, 0x88, 0x1, 0x62, 0x63, 0x98, 0x99, 0xCB, 0x3, 0x76, 0xFE, 0x9A, 0xFE, 0xE0, 0xEF, 0x1, 0xC1, 0x68, 0x3D, 0x3B, 0x5E, 0x0, 0x2, 0x0, 0x86, 0x0, 0x0, 0x6, 0xB1, 0x4, 0x3A, 0x0, 0x8, 0x0, 0x1B, 0x0, 0x0, 0x25, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x23, 0x3, 0x11, 0x21, 0x11, 0x23, 0x11, 0x33, 0x11, 0x21, 0x11, 0x33, 0x11, 0x33, 0x16, 0x16, 0x15, 0x14, 0x6, 0x23, 0x4, 0x11, 0xED, 0x6A, 0x56, 0x56, 0x6A, 0xED, 0xF3, 0xFE, 0x5B, 0xF3, 0xF3, 0x1, 0xA5, 0xF3, 0xF2, 0xCE, 0xE0, 0xE2, 0xD1, 0xC1, 0x68, 0x3D, 0x3B, 0x5E, 0xFE, 0x1, 0x1, 0xDD, 0xFE, 0x23, 0x4, 0x3A, 0xFE, 0x65, 0x1, 0x9B, 0xFE, 0x87, 0x1, 0xC5, 0x97, 0x99, 0xCB, 0x0, 0x1, 0xFF, 0xEE, 0x0, 0x0, 0x3, 0xF9, 0x6, 0x0, 0x0, 0x19, 0x0, 0x0, 0x1, 0x22, 0x7, 0x11, 0x23, 0x11, 0x23, 0x35, 0x33, 0x35, 0x33, 0x15, 0x21, 0x15, 0x21, 0x15, 0x36, 0x33, 0x32, 0x16, 0x17, 0x11, 0x23, 0x11, 0x34, 0x26, 0x2, 0x47, 0x93, 0x48, 0xF2, 0x8C, 0x8C, 0xF2, 0x1, 0x20, 0xFE, 0xE0, 0x76, 0xB7, 0x9F, 0xC0, 0x1, 0xF3, 0x62, 0x3, 0x88, 0x83, 0xFC, 0xFB, 0x4, 0xB5, 0xAB, 0xA0, 0xA0, 0xAB, 0xF2, 0x8B, 0xB6, 0xDA, 0xFD, 0x42, 0x2, 0xBB, 0x71, 0x5C, 0x0, 0x1, 0x0, 0x86, 0xFE, 0x9A, 0x4, 0x13, 0x4, 0x3A, 0x0, 0xB, 0x0, 0x0, 0x21, 0x21, 0x11, 0x23, 0x11, 0x21, 0x11, 0x33, 0x11, 0x21, 0x11, 0x33, 0x4, 0x13, 0xFE, 0xB4, 0xF2, 0xFE, 0xB1, 0xF3, 0x1, 0xA7, 0xF3, 0xFE, 0x9A, 0x1, 0x66, 0x4, 0x3A, 0xFC, 0x89, 0x3, 0x77, 0x0, 0x1, 0x0, 0x89, 0xFF, 0xEB, 0x6, 0xC2, 0x5, 0xB0, 0x0, 0x1D, 0x0, 0x0, 0x5, 0x22, 0x27, 0x6, 0x23, 0x22, 0x24, 0x35, 0x11, 0x33, 0x11, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x11, 0x21, 0x11, 0x14, 0x16, 0x32, 0x36, 0x35, 0x11, 0x33, 0x11, 0x14, 0x4, 0x4, 0xF7, 0xE4, 0x6E, 0x71, 0xE9, 0xC2, 0xFF, 0x0, 0xFD, 0x6E, 0x57, 0x62, 0x78, 0x1, 0x1, 0x75, 0xB8, 0x72, 0xFD, 0xFE, 0xFB, 0x15, 0xA6, 0xA6, 0xE3, 0xDF, 0x4, 0x3, 0xFB, 0xFD, 0x7F, 0x79, 0x79, 0x7F, 0x4, 0x3, 0xFB, 0xFD, 0x7F, 0x79, 0x79, 0x7F, 0x4, 0x3, 0xFB, 0xFD, 0xDF, 0xE3, 0x0, 0x1, 0x0, 0x70, 0xFF, 0xEB, 0x5, 0xEE, 0x4, 0x3A, 0x0, 0x1D, 0x0, 0x0, 0x5, 0x22, 0x27, 0x6, 0x23, 0x22, 0x26, 0x35, 0x11, 0x33, 0x11, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x11, 0x33, 0x11, 0x16, 0x33, 0x32, 0x36, 0x35, 0x11, 0x33, 0x11, 0x14, 0x6, 0x4, 0x55, 0xC5, 0x61, 0x66, 0xCC, 0xAC, 0xE1, 0xF3, 0x54, 0x46, 0x53, 0x67, 0xF4, 0x2, 0xA8, 0x4B, 0x5B, 0xF3, 0xE7, 0x15, 0x8F, 0x8F, 0xD1, 0xD0, 0x2, 0xAE, 0xFD, 0x52, 0x72, 0x6C, 0x6C, 0x72, 0x2, 0xAE, 0xFD, 0x4D, 0xD9, 0x6C, 0x72, 0x2, 0xAE, 0xFD, 0x52, 0xD0, 0xD1, 0x0, 0x2, 0xFF, 0xDF, 0x0, 0x0, 0x4, 0x22, 0x6, 0x19, 0x0, 0x11, 0x0, 0x1A, 0x0, 0x0, 0x24, 0x6, 0x23, 0x21, 0x11, 0x23, 0x35, 0x33, 0x11, 0x33, 0x11, 0x21, 0x15, 0x21, 0x11, 0x33, 0x16, 0x16, 0x1, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x23, 0x4, 0x22, 0xE2, 0xD2, 0xFE, 0x20, 0xAF, 0xAF, 0xF3, 0x1, 0x22, 0xFE, 0xDE, 0xF1, 0xD0, 0xE0, 0xFD, 0x5F, 0xED, 0x6A, 0x57, 0x57, 0x6A, 0xED, 0xDF, 0xDF, 0x4, 0x3A, 0xAB, 0x1, 0x34, 0xFE, 0xCC, 0xAB, 0xFE, 0xC9, 0x1, 0xD7, 0xFE, 0x97, 0x75, 0x49, 0x47, 0x7A, 0x0, 0x1, 0x0, 0x99, 0xFF, 0xED, 0x6, 0xCE, 0x5, 0xC5, 0x0, 0x23, 0x0, 0x0, 0x1, 0x6, 0x0, 0x21, 0x20, 0x0, 0x3, 0x23, 0x11, 0x23, 0x11, 0x33, 0x11, 0x33, 0x12, 0x0, 0x21, 0x20, 0x0, 0x17, 0x23, 0x26, 0x26, 0x23, 0x22, 0x6, 0x7, 0x21, 0x15, 0x21, 0x16, 0x12, 0x33, 0x32, 0x36, 0x37, 0x6, 0xCD, 0x13, 0xFE, 0xE5, 0xFE, 0xF4, 0xFE, 0xF7, 0xFE, 0xC3, 0x5, 0xB3, 0xFC, 0xFC, 0xB5, 0x10, 0x1, 0x3F, 0x1, 0x6, 0x1, 0x5, 0x1, 0x14, 0x16, 0xFC, 0x10, 0x87, 0x9C, 0xA1, 0xAC, 0xB, 0x1, 0xE9, 0xFE, 0x16, 0x3, 0x9D, 0xAD, 0xA3, 0x89, 0x12, 0x1, 0xDB, 0xD4, 0xFE, 0xE6, 0x1, 0x6C, 0x1, 0x33, 0xFD, 0x74, 0x5, 0xB0, 0xFD, 0xA0, 0x1, 0x20, 0x1, 0x55, 0xFE, 0xE5, 0xDA, 0x8C, 0x9D, 0xDE, 0xCB, 0xC4, 0xD3, 0xFF, 0x0, 0x97, 0x8B, 0x0, 0x1, 0x0, 0x87, 0xFF, 0xEC, 0x5, 0xBB, 0x4, 0x4E, 0x0, 0x23, 0x0, 0x0, 0x1, 0x6, 0x4, 0x23, 0x22, 0x2, 0x27, 0x23, 0x11, 0x23, 0x11, 0x33, 0x11, 0x33, 0x36, 0x12, 0x33, 0x32, 0x16, 0x17, 0x23, 0x26, 0x26, 0x23, 0x22, 0x6, 0x7, 0x21, 0x15, 0x21, 0x16, 0x16, 0x33, 0x32, 0x36, 0x37, 0x5, 0xBB, 0x5, 0xFF, 0x0, 0xB4, 0xE7, 0xF2, 0x11, 0x9E, 0xF3, 0xF3, 0x9E, 0x11, 0xF2, 0xE6, 0xC5, 0xF0, 0x5, 0xE5, 0x4, 0x71, 0x63, 0x81, 0x69, 0x9, 0x1, 0x7B, 0xFE, 0x85, 0x9, 0x69, 0x82, 0x59, 0x7A, 0x4, 0x1, 0x66, 0x9D, 0xDD, 0x1, 0x14, 0xC7, 0xFE, 0x39, 0x4, 0x3A, 0xFE, 0x38, 0xC7, 0x1, 0x15, 0xE4, 0xB3, 0x57, 0x7D, 0xAA, 0x6F, 0xAB, 0x70, 0xA8, 0x68, 0x4F, 0x0, 0x2, 0x0, 0x1D, 0x0, 0x0, 0x5, 0x18, 0x5, 0xB0, 0x0, 0x2, 0x0, 0xE, 0x0, 0x0, 0x1, 0x3, 0x3, 0x13, 0x11, 0x23, 0x3, 0x21, 0x1, 0x33, 0x1, 0x21, 0x3, 0x23, 0x11, 0x3, 0x45, 0xA8, 0xAA, 0x31, 0x72, 0x8F, 0xFE, 0xFA, 0x2, 0x6, 0xF5, 0x2, 0x0, 0xFE, 0xFA, 0x8E, 0x7E, 0x2, 0x69, 0x1, 0xFA, 0xFE, 0x6, 0xFD, 0x97, 0x1, 0xAA, 0xFE, 0x56, 0x5, 0xB0, 0xFA, 0x50, 0x1, 0xAA, 0xFE, 0x56, 0x0, 0x2, 0x0, 0xA, 0x0, 0x0, 0x4, 0x46, 0x4, 0x3A, 0x0, 0x4, 0x0, 0x10, 0x0, 0x0, 0x1, 0x3, 0x33, 0x3, 0x27, 0x3, 0x11, 0x23, 0x3, 0x23, 0x1, 0x33, 0x1, 0x23, 0x3, 0x23, 0x11, 0x2, 0xC, 0x61, 0xF7, 0x63, 0x19, 0x61, 0x5B, 0x68, 0xF8, 0x1, 0xAA, 0xE7, 0x1, 0xAB, 0xF8, 0x6A, 0x5C, 0x2, 0xCA, 0xFE, 0xFB, 0x1, 0x5, 0x67, 0xFC, 0xCF, 0x1, 0x18, 0xFE, 0xE8, 0x4, 0x3A, 0xFB, 0xC6, 0x1, 0x18, 0xFE, 0xE8, 0x0, 0x2, 0x0, 0xAD, 0x0, 0x0, 0x7, 0x30, 0x5, 0xB0, 0x0, 0x2, 0x0, 0x16, 0x0, 0x0, 0x1, 0x3, 0x3, 0x1, 0x13, 0x21, 0x11, 0x23, 0x11, 0x33, 0x11, 0x21, 0x1, 0x33, 0x1, 0x21, 0x3, 0x23, 0x11, 0x23, 0x11, 0x23, 0x3, 0x5, 0x5D, 0xA8, 0xAA, 0xFE, 0x2A, 0x99, 0xFE, 0xDB, 0xFC, 0xFC, 0x1, 0x67, 0x1, 0x2C, 0xF5, 0x1, 0xFF, 0xFE, 0xFA, 0x8D, 0x7F, 0xE1, 0x72, 0x90, 0x2, 0x69, 0x1, 0xFA, 0xFE, 0x6, 0xFD, 0x97, 0x1, 0xAC, 0xFE, 0x54, 0x5, 0xB0, 0xFC, 0xB7, 0x3, 0x49, 0xFA, 0x50, 0x1, 0xAA, 0xFE, 0x56, 0x1, 0xAA, 0xFE, 0x56, 0x0, 0x2, 0x0, 0x9E, 0x0, 0x0, 0x6, 0x19, 0x4, 0x3A, 0x0, 0x4, 0x0, 0x18, 0x0, 0x0, 0x1, 0x3, 0x33, 0x3, 0x27, 0x1, 0x13, 0x23, 0x11, 0x23, 0x11, 0x33, 0x11, 0x33, 0x13, 0x33, 0x1, 0x23, 0x3, 0x23, 0x11, 0x23, 0x11, 0x23, 0x3, 0x3, 0xDF, 0x61, 0xF6, 0x63, 0x18, 0xFD, 0xE4, 0x6E, 0xBA, 0xF3, 0xF3, 0xFE, 0xF7, 0xE8, 0x1, 0xAB, 0xF8, 0x6B, 0x5B, 0xC3, 0x5B, 0x68, 0x2, 0xCA, 0xFE, 0xFB, 0x1, 0x5, 0x65, 0xFC, 0xD1, 0x1, 0x17, 0xFE, 0xE9, 0x4, 0x3A, 0xFD, 0x8B, 0x2, 0x75, 0xFB, 0xC6, 0x1, 0x18, 0xFE, 0xE8, 0x1, 0x18, 0xFE, 0xE8, 0x0, 0x2, 0x0, 0x80, 0x0, 0x0, 0x6, 0x6E, 0x5, 0xB0, 0x0, 0x2, 0x0, 0x1D, 0x0, 0x0, 0x1, 0x13, 0x21, 0x1, 0x23, 0x11, 0x36, 0x24, 0x33, 0x1, 0x21, 0x1, 0x16, 0x4, 0x15, 0x11, 0x23, 0x11, 0x34, 0x26, 0x23, 0x23, 0x7, 0x11, 0x23, 0x11, 0x23, 0x22, 0x6, 0x15, 0x3, 0x84, 0xE9, 0xFE, 0x2E, 0xFE, 0xE1, 0xFC, 0x3, 0x1, 0x10, 0xFA, 0xFE, 0x85, 0x4, 0xE4, 0xFE, 0x85, 0xEC, 0x1, 0x7, 0xFC, 0x82, 0x86, 0x66, 0x6, 0xFC, 0x7E, 0x85, 0x83, 0x3, 0x3A, 0x1, 0xA9, 0xFB, 0x1D, 0x1, 0x6C, 0xF4, 0xC9, 0x2, 0x87, 0xFD, 0x79, 0x3, 0xCF, 0xF6, 0xFE, 0x9F, 0x1, 0x61, 0x93, 0x68, 0xA, 0xFD, 0xAE, 0x2, 0x5C, 0x68, 0x93, 0x0, 0x2, 0x0, 0x83, 0x0, 0x0, 0x5, 0x64, 0x4, 0x3B, 0x0, 0x2, 0x0, 0x21, 0x0, 0x0, 0x1, 0x13, 0x21, 0x3, 0x23, 0x35, 0x36, 0x36, 0x37, 0x1, 0x33, 0x35, 0x21, 0x15, 0x33, 0x1, 0x16, 0x16, 0x15, 0x15, 0x23, 0x35, 0x26, 0x26, 0x27, 0x23, 0x7, 0x11, 0x23, 0x11, 0x23, 0x22, 0x6, 0x15, 0x2, 0xFB, 0x95, 0xFE, 0xD5, 0xEF, 0xF3, 0x2, 0xD4, 0xBC, 0xFE, 0xEB, 0xA9, 0x2, 0xC6, 0x86, 0xFE, 0xEA, 0xB7, 0xCE, 0xF3, 0x1, 0x6A, 0x6D, 0x27, 0x1, 0xF3, 0x2C, 0x70, 0x6C, 0x2, 0x69, 0x1, 0x22, 0xFC, 0x75, 0xB2, 0xDB, 0xC7, 0xC, 0x1, 0xDA, 0x1, 0x1, 0xFE, 0x25, 0xF, 0xCB, 0xDB, 0xAA, 0xAF, 0x8F, 0x65, 0x1, 0x1, 0xFE, 0x5D, 0x1, 0xA4, 0x67, 0x93, 0x0, 0x2, 0x0, 0xA4, 0x0, 0x0, 0x8, 0xB4, 0x5, 0xB0, 0x0, 0x2, 0x0, 0x23, 0x0, 0x0, 0x1, 0x13, 0x21, 0x1, 0x21, 0x11, 0x23, 0x11, 0x33, 0x11, 0x21, 0x1, 0x21, 0x1, 0x16, 0x4, 0x15, 0x11, 0x23, 0x11, 0x34, 0x26, 0x23, 0x23, 0x7, 0x11, 0x23, 0x11, 0x23, 0x22, 0x6, 0x15, 0x11, 0x23, 0x11, 0x34, 0x5, 0xC9, 0xE9, 0xFE, 0x2E, 0xFE, 0x21, 0xFE, 0x9F, 0xFC, 0xFC, 0x3, 0x31, 0xFE, 0x86, 0x4, 0xE4, 0xFE, 0x85, 0xEC, 0x1, 0x8, 0xFC, 0x82, 0x86, 0x67, 0x6, 0xFC, 0x7E, 0x85, 0x82, 0xFC, 0x3, 0x3B, 0x1, 0xA8, 0xFD, 0x84, 0xFD, 0x99, 0x5, 0xB0, 0xFD, 0x7B, 0x2, 0x85, 0xFD, 0x79, 0x3, 0xCF, 0xF6, 0xFE, 0x9F, 0x1, 0x61, 0x93, 0x68, 0xA, 0xFD, 0xAE, 0x2, 0x5C, 0x68, 0x93, 0xFE, 0x9F, 0x1, 0x61, 0xA0, 0x0, 0x2, 0x0, 0x90, 0x0, 0x0, 0x7, 0x77, 0x4, 0x3B, 0x0, 0x2, 0x0, 0x27, 0x0, 0x0, 0x1, 0x13, 0x21, 0x1, 0x21, 0x11, 0x23, 0x11, 0x33, 0x11, 0x21, 0x1, 0x33, 0x35, 0x21, 0x15, 0x33, 0x1, 0x16, 0x16, 0x15, 0x15, 0x23, 0x35, 0x26, 0x26, 0x27, 0x23, 0x7, 0x11, 0x23, 0x11, 0x23, 0x22, 0x6, 0x15, 0x15, 0x23, 0x35, 0x34, 0x5, 0xD, 0x95, 0xFE, 0xD6, 0xFE, 0x54, 0xFE, 0xB7, 0xF3, 0xF3, 0x2, 0xA4, 0xFE, 0xEC, 0xA9, 0x2, 0xC5, 0x86, 0xFE, 0xEB, 0xB7, 0xCE, 0xF3, 0x1, 0x6A, 0x6D, 0x27, 0x1, 0xF3, 0x2C, 0x70, 0x6D, 0xF2, 0x2, 0x69, 0x1, 0x22, 0xFE, 0x1D, 0xFE, 0x58, 0x4, 0x3A, 0xFE, 0x28, 0x1, 0xD8, 0x1, 0x1, 0xFE, 0x25, 0xF, 0xCB, 0xDB, 0xAA, 0xAF, 0x8F, 0x65, 0x1, 0x1, 0xFE, 0x5D, 0x1, 0xA4, 0x67, 0x93, 0xAA, 0xAA, 0x9B, 0x0, 0x2, 0x0, 0x29, 0xFE, 0x40, 0x3, 0xAA, 0x7, 0x89, 0x0, 0x8, 0x0, 0x32, 0x0, 0x0, 0x1, 0x17, 0x37, 0x33, 0x15, 0x1, 0x23, 0x1, 0x35, 0x13, 0x26, 0x26, 0x27, 0x34, 0x36, 0x33, 0x33, 0x32, 0x36, 0x35, 0x34, 0x25, 0x23, 0x35, 0x33, 0x36, 0x36, 0x35, 0x34, 0x26, 0x23, 0x21, 0x35, 0x21, 0x32, 0x4, 0x15, 0x14, 0x6, 0x7, 0x4, 0x11, 0x14, 0x4, 0x23, 0x23, 0x22, 0x15, 0x14, 0x16, 0x17, 0x1, 0x71, 0x92, 0x92, 0xD0, 0xFE, 0xE9, 0x96, 0xFE, 0xEB, 0xAE, 0x7D, 0xA9, 0x2, 0xBD, 0xA0, 0x33, 0x79, 0x85, 0xFE, 0xE3, 0x9D, 0x98, 0x89, 0x78, 0x7C, 0x83, 0xFE, 0xE5, 0x1, 0x1B, 0xDC, 0x1, 0x16, 0x7D, 0x6F, 0x1, 0xD, 0xFE, 0xEF, 0xD8, 0x32, 0x85, 0x6F, 0x29, 0x7, 0x89, 0x9B, 0x9B, 0xB, 0xFE, 0xEA, 0x1, 0x17, 0xA, 0xF6, 0xB7, 0x26, 0xB3, 0x84, 0x8F, 0x86, 0x81, 0x61, 0xED, 0x6, 0xC7, 0x1, 0x77, 0x5B, 0x56, 0x73, 0xC6, 0xC5, 0xBF, 0x6F, 0xA4, 0x2C, 0x55, 0xFF, 0x0, 0xCD, 0xE0, 0x67, 0x4A, 0x4E, 0x13, 0x0, 0x2, 0x0, 0x33, 0xFE, 0x47, 0x3, 0x88, 0x6, 0x1C, 0x0, 0x8, 0x0, 0x31, 0x0, 0x0, 0x1, 0x17, 0x37, 0x33, 0x15, 0x1, 0x23, 0x1, 0x35, 0x13, 0x26, 0x26, 0x27, 0x34, 0x36, 0x33, 0x33, 0x32, 0x36, 0x35, 0x34, 0x27, 0x23, 0x35, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x21, 0x35, 0x21, 0x32, 0x4, 0x15, 0x14, 0x7, 0x16, 0x15, 0x14, 0x6, 0x23, 0x23, 0x22, 0x15, 0x14, 0x16, 0x17, 0x1, 0x42, 0x92, 0x93, 0xCF, 0xFE, 0xE9, 0x96, 0xFE, 0xEB, 0xD9, 0x6C, 0xAC, 0x2, 0xB7, 0x98, 0x30, 0x6B, 0x78, 0xF0, 0xA8, 0x9A, 0x77, 0x67, 0x6D, 0x71, 0xFE, 0xE5, 0x1, 0x1B, 0xCD, 0x1, 0x3, 0xB8, 0xD9, 0xFA, 0xC6, 0x2E, 0x8C, 0x69, 0x28, 0x6, 0x1C, 0x9B, 0x9B, 0xA, 0xFE, 0xE9, 0x1, 0x17, 0xA, 0xF8, 0x2B, 0x29, 0xAD, 0x80, 0x87, 0x7F, 0x52, 0x3E, 0x8E, 0x5, 0xAA, 0x4F, 0x3F, 0x38, 0x4B, 0xB9, 0x9C, 0x95, 0x9F, 0x4B, 0x44, 0xAB, 0x9A, 0xAB, 0x67, 0x4A, 0x4E, 0x13, 0x0, 0x3, 0x0, 0x5F, 0xFF, 0xEC, 0x5, 0x18, 0x5, 0xC4, 0x0, 0xD, 0x0, 0x14, 0x0, 0x1A, 0x0, 0x0, 0x1, 0x10, 0x0, 0x21, 0x20, 0x0, 0x11, 0x35, 0x10, 0x0, 0x21, 0x20, 0x0, 0x11, 0x1, 0x22, 0x6, 0x7, 0x21, 0x26, 0x26, 0x3, 0x20, 0x13, 0x21, 0x16, 0x16, 0x5, 0x18, 0xFE, 0xB5, 0xFE, 0xF0, 0xFE, 0xF6, 0xFE, 0xAC, 0x1, 0x52, 0x1, 0xA, 0x1, 0x10, 0x1, 0x4D, 0xFD, 0xA3, 0x9B, 0xBA, 0x9, 0x2, 0xBD, 0x8, 0xB7, 0x9E, 0x1, 0x49, 0x14, 0xFD, 0x43, 0xB, 0xBC, 0x2, 0xB3, 0xFE, 0xB4, 0xFE, 0x85, 0x1, 0x7B, 0x1, 0x4C, 0x49, 0x1, 0x4C, 0x1, 0x7C, 0xFE, 0x84, 0xFE, 0xB4, 0x1, 0xF7, 0xE9, 0xE0, 0xE0, 0xE9, 0xFB, 0xC9, 0x1, 0xC3, 0xDC, 0xE7, 0x0, 0x3, 0x0, 0x4F, 0xFF, 0xEC, 0x4, 0x3D, 0x4, 0x4E, 0x0, 0xD, 0x0, 0x14, 0x0, 0x1B, 0x0, 0x0, 0x13, 0x34, 0x0, 0x33, 0x32, 0x0, 0x15, 0x15, 0x14, 0x0, 0x23, 0x22, 0x0, 0x27, 0x1, 0x22, 0x6, 0x7, 0x21, 0x26, 0x26, 0x3, 0x32, 0x36, 0x37, 0x21, 0x16, 0x16, 0x4F, 0x1, 0xA, 0xEC, 0xEF, 0x1, 0x9, 0xFE, 0xF7, 0xED, 0xEB, 0xFE, 0xF7, 0x4, 0x1, 0xF6, 0x74, 0x7C, 0xE, 0x1, 0xFF, 0xE, 0x7D, 0x74, 0x76, 0x7C, 0xE, 0xFD, 0xFF, 0xE, 0x7C, 0x2, 0x27, 0xEC, 0x1, 0x3B, 0xFE, 0xC5, 0xEC, 0x15, 0xEB, 0xFE, 0xC5, 0x1, 0x33, 0xE6, 0x1, 0x86, 0xA2, 0x75, 0x75, 0xA2, 0xFD, 0x24, 0xA2, 0x78, 0x78, 0xA2, 0x0, 0x1, 0x0, 0x10, 0x0, 0x0, 0x4, 0xF4, 0x5, 0xC3, 0x0, 0xF, 0x0, 0x0, 0x21, 0x1, 0x21, 0x1, 0x17, 0x37, 0x13, 0x36, 0x36, 0x33, 0x17, 0x7, 0x23, 0x6, 0x7, 0x1, 0x2, 0x2, 0xFE, 0xE, 0x1, 0xE, 0x1, 0x43, 0x1B, 0x1B, 0xE4, 0x34, 0x96, 0x82, 0x2D, 0x2, 0x17, 0x55, 0x29, 0xFE, 0x99, 0x5, 0xB0, 0xFB, 0xDB, 0x72, 0x70, 0x2, 0xF7, 0xA3, 0xA0, 0x1, 0xD7, 0x2, 0x80, 0xFB, 0x97, 0x0, 0x1, 0x0, 0x21, 0x0, 0x0, 0x4, 0x19, 0x4, 0x4E, 0x0, 0x11, 0x0, 0x0, 0x21, 0x1, 0x33, 0x13, 0x17, 0x37, 0x13, 0x12, 0x33, 0x32, 0x17, 0x7, 0x26, 0x23, 0x22, 0x6, 0x7, 0x1, 0x1, 0x8E, 0xFE, 0x93, 0xFB, 0xC8, 0x14, 0x14, 0x7A, 0x58, 0xD1, 0x44, 0x26, 0x17, 0x8, 0x24, 0x22, 0x3B, 0xD, 0xFE, 0xF5, 0x4, 0x3A, 0xFD, 0x35, 0x61, 0x61, 0x1, 0xBD, 0x1, 0x22, 0x15, 0xC0, 0x5, 0x35, 0x27, 0xFC, 0xDE, 0x0, 0x2, 0x0, 0x5F, 0xFF, 0x76, 0x5, 0x18, 0x6, 0x2E, 0x0, 0x13, 0x0, 0x25, 0x0, 0x0, 0x5, 0x23, 0x35, 0x26, 0x0, 0x3, 0x35, 0x10, 0x0, 0x37, 0x35, 0x33, 0x15, 0x16, 0x0, 0x13, 0x15, 0x10, 0x0, 0x7, 0x3, 0x33, 0x15, 0x36, 0x13, 0x35, 0x10, 0x27, 0x15, 0x23, 0x35, 0x6, 0x6, 0x15, 0x15, 0x14, 0x16, 0x17, 0x3, 0x21, 0xC5, 0xE2, 0xFE, 0xE7, 0x2, 0x1, 0x19, 0xE3, 0xC5, 0xE4, 0x1, 0x12, 0x2, 0xFE, 0xEE, 0xE5, 0xC5, 0xC5, 0xF4, 0x6, 0xFB, 0xC5, 0x77, 0x88, 0x89, 0x77, 0x8A, 0x7D, 0x22, 0x1, 0x6D, 0x1, 0x28, 0x52, 0x1, 0x2D, 0x1, 0x73, 0x21, 0x71, 0x71, 0x23, 0xFE, 0x92, 0xFE, 0xD9, 0x52, 0xFE, 0xD3, 0xFE, 0x8F, 0x22, 0x1, 0x37, 0x61, 0x47, 0x1, 0x90, 0x5E, 0x1, 0x9E, 0x49, 0x61, 0x62, 0x22, 0xF7, 0xCF, 0x4B, 0xCE, 0xF9, 0x23, 0x0, 0x2, 0x0, 0x50, 0xFF, 0x88, 0x4, 0x3E, 0x4, 0xB4, 0x0, 0x13, 0x0, 0x23, 0x0, 0x0, 0x5, 0x23, 0x35, 0x26, 0x2, 0x35, 0x35, 0x34, 0x12, 0x37, 0x35, 0x33, 0x15, 0x16, 0x12, 0x15, 0x15, 0x14, 0x2, 0x7, 0x11, 0x15, 0x36, 0x11, 0x34, 0x26, 0x27, 0x15, 0x23, 0x35, 0x6, 0x11, 0x14, 0x16, 0x17, 0x35, 0x2, 0x9F, 0xB7, 0xC2, 0xD6, 0xD8, 0xC2, 0xB8, 0xC4, 0xD8, 0xDA, 0xC5, 0xAC, 0x51, 0x58, 0xB8, 0xA8, 0x50, 0x56, 0x78, 0x6C, 0x20, 0x1, 0x2B, 0xD3, 0x15, 0xD4, 0x1, 0x2C, 0x20, 0x6D, 0x6D, 0x1F, 0xFE, 0xD3, 0xD4, 0x15, 0xD5, 0xFE, 0xD3, 0x1E, 0x1, 0x36, 0x6A, 0x40, 0x1, 0x29, 0x74, 0xBD, 0x22, 0x5F, 0x5F, 0x44, 0xFE, 0xDC, 0x75, 0xB9, 0x23, 0x67, 0x0, 0x3, 0x0, 0x89, 0xFF, 0xEB, 0x6, 0xB6, 0x7, 0x3F, 0x0, 0x11, 0x0, 0x1A, 0x0, 0x45, 0x0, 0x0, 0x1, 0x15, 0x22, 0x26, 0x26, 0x23, 0x22, 0x7, 0x15, 0x23, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x16, 0x33, 0x1, 0x27, 0x36, 0x35, 0x35, 0x33, 0x15, 0x14, 0x6, 0x1, 0x22, 0x27, 0x6, 0x23, 0x22, 0x24, 0x35, 0x11, 0x34, 0x24, 0x33, 0x15, 0x22, 0x6, 0x15, 0x11, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x11, 0x33, 0x11, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x11, 0x34, 0x26, 0x23, 0x35, 0x32, 0x16, 0x15, 0x11, 0x14, 0x6, 0x5, 0x5F, 0x94, 0xAD, 0x88, 0x38, 0x67, 0x1, 0x86, 0x7D, 0x6D, 0x4E, 0x8E, 0xA1, 0x68, 0xFE, 0x39, 0x52, 0x44, 0xA9, 0x69, 0x1, 0x4B, 0xE4, 0x71, 0x72, 0xE3, 0xC2, 0xFF, 0x0, 0x1, 0x0, 0xC2, 0x57, 0x6E, 0x6E, 0x57, 0x62, 0x78, 0xF5, 0x79, 0x62, 0x56, 0x6F, 0x6F, 0x56, 0xC2, 0xFF, 0xFF, 0x6, 0xC7, 0x86, 0x3C, 0x3C, 0x64, 0x14, 0x25, 0x70, 0x69, 0x3C, 0x3C, 0xFE, 0x4F, 0x39, 0x55, 0x42, 0x5F, 0x66, 0x3A, 0x74, 0xFA, 0xBA, 0x9E, 0x9E, 0xEE, 0xEA, 0x2, 0x14, 0xEA, 0xEF, 0xCB, 0x83, 0x8B, 0xFD, 0xEC, 0x8B, 0x83, 0x79, 0x7F, 0x1, 0x83, 0xFE, 0x7D, 0x7F, 0x79, 0x83, 0x8B, 0x2, 0x14, 0x8B, 0x83, 0xCB, 0xEF, 0xEA, 0xFD, 0xEC, 0xEA, 0xEE, 0x0, 0x3, 0x0, 0x74, 0xFF, 0xEB, 0x5, 0xD2, 0x5, 0xE3, 0x0, 0x12, 0x0, 0x1B, 0x0, 0x46, 0x0, 0x0, 0x1, 0x15, 0x22, 0x26, 0x27, 0x26, 0x23, 0x22, 0x7, 0x15, 0x23, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x16, 0x33, 0x1, 0x27, 0x36, 0x35, 0x35, 0x33, 0x15, 0x14, 0x6, 0x1, 0x22, 0x27, 0x6, 0x23, 0x22, 0x26, 0x35, 0x35, 0x34, 0x36, 0x33, 0x15, 0x22, 0x6, 0x15, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x35, 0x33, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x35, 0x34, 0x26, 0x23, 0x35, 0x32, 0x16, 0x15, 0x15, 0x14, 0x6, 0x4, 0xF7, 0x75, 0x84, 0x95, 0x3F, 0x35, 0x68, 0x1, 0x87, 0x7E, 0x6E, 0x4E, 0x8D, 0xA1, 0x68, 0xFE, 0x3E, 0x52, 0x44, 0xA9, 0x69, 0x1, 0x3, 0xC4, 0x61, 0x62, 0xC3, 0xAB, 0xDF, 0xE8, 0xB0, 0x49, 0x5C, 0x54, 0x43, 0x4D, 0x62, 0xEC, 0x63, 0x4C, 0x43, 0x54, 0x5C, 0x49, 0xB0, 0xE8, 0xE0, 0x5, 0x6B, 0x86, 0x1D, 0x40, 0x1B, 0x64, 0x14, 0x25, 0x70, 0x69, 0x3C, 0x3C, 0xFE, 0x4D, 0x39, 0x55, 0x42, 0x5F, 0x66, 0x3A, 0x74, 0xFC, 0x18, 0x92, 0x92, 0xDB, 0xD9, 0xF5, 0xD9, 0xDB, 0xC3, 0x75, 0x7C, 0xF5, 0x7C, 0x75, 0x6C, 0x72, 0xC6, 0xC6, 0x72, 0x6C, 0x75, 0x7C, 0xF5, 0x7C, 0x75, 0xC3, 0xDB, 0xD9, 0xF5, 0xD9, 0xDB, 0x0, 0x2, 0x0, 0x89, 0xFF, 0xEB, 0x6, 0xC2, 0x7, 0x12, 0x0, 0x7, 0x0, 0x25, 0x0, 0x0, 0x1, 0x21, 0x35, 0x21, 0x17, 0x21, 0x15, 0x23, 0x1, 0x22, 0x27, 0x6, 0x23, 0x22, 0x24, 0x35, 0x11, 0x33, 0x11, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x11, 0x21, 0x11, 0x14, 0x16, 0x32, 0x36, 0x35, 0x11, 0x33, 0x11, 0x14, 0x4, 0x3, 0x46, 0xFE, 0xB9, 0x3, 0x54, 0x2, 0xFE, 0xA6, 0xB5, 0x1, 0xB1, 0xE4, 0x6E, 0x71, 0xE9, 0xC2, 0xFF, 0x0, 0xFD, 0x6E, 0x57, 0x62, 0x78, 0x1, 0x1, 0x75, 0xB8, 0x72, 0xFD, 0xFE, 0xFB, 0x6, 0x97, 0x7B, 0x7B, 0x7F, 0xF9, 0xD3, 0xA6, 0xA6, 0xE3, 0xDF, 0x4, 0x3, 0xFB, 0xFD, 0x7F, 0x79, 0x79, 0x7F, 0x4, 0x3, 0xFB, 0xFD, 0x7F, 0x79, 0x79, 0x7F, 0x4, 0x3, 0xFB, 0xFD, 0xDF, 0xE3, 0x0, 0x2, 0x0, 0x70, 0xFF, 0xEB, 0x5, 0xEE, 0x5, 0xB1, 0x0, 0x7, 0x0, 0x25, 0x0, 0x0, 0x1, 0x21, 0x35, 0x21, 0x17, 0x21, 0x15, 0x23, 0x1, 0x22, 0x27, 0x6, 0x23, 0x22, 0x26, 0x35, 0x11, 0x33, 0x11, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x11, 0x33, 0x11, 0x16, 0x33, 0x32, 0x36, 0x35, 0x11, 0x33, 0x11, 0x14, 0x6, 0x2, 0xD0, 0xFE, 0xC7, 0x3, 0x38, 0x5, 0xFE, 0xB1, 0xB5, 0x1, 0x85, 0xC5, 0x61, 0x66, 0xCC, 0xAC, 0xE1, 0xF3, 0x54, 0x46, 0x53, 0x67, 0xF4, 0x2, 0xA8, 0x4B, 0x5B, 0xF3, 0xE7, 0x5, 0x37, 0x7A, 0x7A, 0x7F, 0xFB, 0x33, 0x8F, 0x8F, 0xD1, 0xD0, 0x2, 0xAE, 0xFD, 0x52, 0x72, 0x6C, 0x6C, 0x72, 0x2, 0xAE, 0xFD, 0x4D, 0xD9, 0x6C, 0x72, 0x2, 0xAE, 0xFD, 0x52, 0xD0, 0xD1, 0x0, 0x1, 0x0, 0x67, 0xFE, 0x8B, 0x4, 0xB6, 0x5, 0xC5, 0x0, 0x17, 0x0, 0x0, 0x25, 0x11, 0x23, 0x11, 0x26, 0x2, 0x35, 0x11, 0x10, 0x0, 0x33, 0x32, 0x0, 0x15, 0x23, 0x10, 0x21, 0x22, 0x6, 0x15, 0x11, 0x14, 0x16, 0x33, 0x3, 0x35, 0xFC, 0xD5, 0xFD, 0x1, 0x33, 0xFD, 0xFE, 0x1, 0x21, 0xFC, 0xFE, 0xDD, 0x94, 0xA0, 0xA0, 0x94, 0xB5, 0xFD, 0xD6, 0x1, 0x67, 0x20, 0x1, 0x4A, 0xEF, 0x1, 0x19, 0x1, 0x9, 0x1, 0x58, 0xFE, 0xFB, 0xEC, 0x1, 0x26, 0xEA, 0xAA, 0xFE, 0xE5, 0xAB, 0xEB, 0x0, 0x1, 0x0, 0x5C, 0xFE, 0x88, 0x3, 0xF3, 0x4, 0x4E, 0x0, 0x18, 0x0, 0x0, 0x25, 0x11, 0x23, 0x11, 0x26, 0x2, 0x35, 0x35, 0x34, 0x12, 0x33, 0x32, 0x16, 0x15, 0x23, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x15, 0x14, 0x16, 0x33, 0x2, 0xD5, 0xF2, 0xBF, 0xC8, 0xFB, 0xEC, 0xBF, 0xF1, 0xE4, 0x70, 0x5C, 0x86, 0x6E, 0x6D, 0x88, 0xAE, 0xFD, 0xDA, 0x1, 0x6B, 0x22, 0x1, 0x2F, 0xC8, 0x23, 0xDE, 0x1, 0x41, 0xE4, 0xB3, 0x57, 0x7D, 0xDB, 0x81, 0x24, 0x83, 0xDA, 0x0, 0x1, 0x0, 0x6E, 0x0, 0x0, 0x4, 0x94, 0x5, 0x3E, 0x0, 0x13, 0x0, 0x0, 0x1, 0x3, 0x5, 0x7, 0x25, 0x3, 0x23, 0x13, 0x25, 0x37, 0x5, 0x13, 0x25, 0x37, 0x5, 0x13, 0x33, 0x3, 0x5, 0x7, 0x3, 0x28, 0xCC, 0x1, 0x21, 0x48, 0xFE, 0xDD, 0xB5, 0xAF, 0xE1, 0xFE, 0xDF, 0x47, 0x1, 0x25, 0xCA, 0xFE, 0xDE, 0x49, 0x1, 0x23, 0xB9, 0xAC, 0xE4, 0x1, 0x25, 0x4C, 0x3, 0x29, 0xFE, 0x98, 0xAC, 0x80, 0xAA, 0xFE, 0xC1, 0x1, 0x8E, 0xAB, 0x80, 0xAB, 0x1, 0x68, 0xAB, 0x82, 0xAB, 0x1, 0x46, 0xFE, 0x6B, 0xAB, 0x7F, 0x0, 0x1, 0xFC, 0x65, 0x4, 0xA2, 0xFF, 0x38, 0x5, 0xFD, 0x0, 0x7, 0x0, 0x0, 0x3, 0x21, 0x15, 0x27, 0x37, 0x21, 0x27, 0x17, 0xC8, 0xFD, 0xDF, 0xB2, 0x1, 0x2, 0x22, 0x1, 0xB1, 0x5, 0x20, 0x7E, 0x1, 0xEE, 0x6C, 0x1, 0x0, 0x1, 0xFC, 0x72, 0x5, 0x17, 0xFF, 0x6C, 0x6, 0x15, 0x0, 0x12, 0x0, 0x0, 0x1, 0x32, 0x36, 0x37, 0x36, 0x33, 0x32, 0x16, 0x15, 0x15, 0x23, 0x35, 0x26, 0x23, 0x22, 0x6, 0x6, 0x23, 0x23, 0xFC, 0x72, 0x66, 0x72, 0x9B, 0x4A, 0x4F, 0x6F, 0x7F, 0x88, 0x1, 0x69, 0x39, 0x87, 0xB0, 0x74, 0x24, 0x5, 0x9D, 0x18, 0x41, 0x1F, 0x69, 0x70, 0x25, 0x14, 0x64, 0x3C, 0x3C, 0x0, 0x1, 0xFD, 0x7A, 0x5, 0x17, 0xFE, 0x71, 0x6, 0x61, 0x0, 0x5, 0x0, 0x0, 0x1, 0x27, 0x35, 0x33, 0x7, 0x17, 0xFE, 0x20, 0xA6, 0xBE, 0x1, 0x3A, 0x5, 0x17, 0xC5, 0x85, 0x97, 0x6F, 0x0, 0x1, 0xFD, 0xA5, 0x5, 0x17, 0xFE, 0x9C, 0x6, 0x61, 0x0, 0x5, 0x0, 0x0, 0x1, 0x7, 0x27, 0x37, 0x27, 0x33, 0xFE, 0x9C, 0xA6, 0x51, 0x3A, 0x1, 0xBE, 0x5, 0xDC, 0xC5, 0x44, 0x6F, 0x97, 0x0, 0x1, 0xFC, 0x2D, 0x5, 0x17, 0xFF, 0x63, 0x6, 0x15, 0x0, 0x13, 0x0, 0x0, 0x3, 0x15, 0x23, 0x22, 0x26, 0x26, 0x23, 0x22, 0x6, 0x15, 0x15, 0x23, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x16, 0x33, 0x9D, 0xB1, 0x44, 0x62, 0x75, 0x5F, 0x30, 0x53, 0x88, 0x93, 0x85, 0x67, 0x82, 0x5F, 0x34, 0x5, 0x9D, 0x86, 0x3C, 0x3C, 0x30, 0x36, 0x12, 0x25, 0x63, 0x76, 0x3C, 0x3C, 0x0, 0x8, 0xFA, 0x24, 0xFE, 0xC4, 0x1, 0xC0, 0x5, 0xAF, 0x0, 0xD, 0x0, 0x1B, 0x0, 0x29, 0x0, 0x37, 0x0, 0x45, 0x0, 0x53, 0x0, 0x61, 0x0, 0x6F, 0x0, 0x0, 0x1, 0x23, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x23, 0x34, 0x26, 0x23, 0x22, 0x6, 0x1, 0x23, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x23, 0x34, 0x26, 0x23, 0x22, 0x6, 0x5, 0x23, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x23, 0x34, 0x26, 0x23, 0x22, 0x6, 0x1, 0x23, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x23, 0x34, 0x26, 0x23, 0x22, 0x6, 0x5, 0x23, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x23, 0x34, 0x26, 0x23, 0x22, 0x6, 0x1, 0x23, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x23, 0x34, 0x26, 0x23, 0x22, 0x6, 0x5, 0x23, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x23, 0x34, 0x26, 0x23, 0x22, 0x6, 0x1, 0x23, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x23, 0x34, 0x26, 0x23, 0x22, 0x6, 0xFD, 0x82, 0x71, 0x70, 0x62, 0x61, 0x72, 0x70, 0x2D, 0x36, 0x35, 0x2C, 0xFD, 0xC4, 0x72, 0x71, 0x62, 0x61, 0x72, 0x70, 0x2D, 0x36, 0x35, 0x2C, 0x4, 0x8C, 0x72, 0x71, 0x61, 0x62, 0x72, 0x71, 0x2C, 0x37, 0x35, 0x2B, 0xFA, 0xC3, 0x71, 0x71, 0x61, 0x62, 0x71, 0x70, 0x2C, 0x37, 0x35, 0x2C, 0x5, 0xF7, 0x71, 0x71, 0x61, 0x62, 0x71, 0x70, 0x2C, 0x37, 0x34, 0x2D, 0xFA, 0xB0, 0x72, 0x71, 0x61, 0x62, 0x72, 0x71, 0x2C, 0x37, 0x35, 0x2B, 0x4, 0x8B, 0x71, 0x71, 0x61, 0x62, 0x71, 0x70, 0x2C, 0x37, 0x35, 0x2C, 0xFD, 0xC0, 0x71, 0x70, 0x62, 0x61, 0x72, 0x70, 0x2D, 0x36, 0x35, 0x2C, 0x4, 0xF3, 0x53, 0x69, 0x69, 0x53, 0x28, 0x3D, 0x3D, 0xFE, 0xC3, 0x53, 0x69, 0x69, 0x53, 0x28, 0x3D, 0x3D, 0x28, 0x53, 0x69, 0x69, 0x53, 0x28, 0x3D, 0x3D, 0xFD, 0xE1, 0x53, 0x69, 0x69, 0x53, 0x28, 0x3D, 0x3D, 0x28, 0x53, 0x69, 0x69, 0x53, 0x28, 0x3D, 0x3D, 0xFD, 0xD1, 0x53, 0x69, 0x69, 0x53, 0x28, 0x3D, 0x3D, 0x28, 0x53, 0x69, 0x69, 0x53, 0x28, 0x3D, 0x3D, 0xFE, 0xBC, 0x52, 0x6A, 0x6A, 0x52, 0x28, 0x3D, 0x3D, 0x0, 0x8, 0xFA, 0x4C, 0xFE, 0x63, 0x1, 0x8C, 0x5, 0xC6, 0x0, 0x4, 0x0, 0x9, 0x0, 0xE, 0x0, 0x13, 0x0, 0x18, 0x0, 0x1D, 0x0, 0x22, 0x0, 0x27, 0x0, 0x0, 0x1, 0x23, 0x27, 0x13, 0x33, 0x1, 0x7, 0x27, 0x3, 0x37, 0x1, 0x27, 0x37, 0x25, 0x17, 0x1, 0x15, 0x7, 0x25, 0x35, 0x5, 0x35, 0x37, 0x5, 0x15, 0x1, 0x37, 0x17, 0x13, 0x7, 0x1, 0x17, 0x7, 0x5, 0x27, 0x25, 0x33, 0x17, 0x3, 0x23, 0xFE, 0x14, 0x88, 0xC, 0x7A, 0x60, 0xFE, 0x12, 0x62, 0x11, 0x94, 0x41, 0x3, 0xFD, 0x61, 0x2, 0x1, 0x41, 0x44, 0xFA, 0xDD, 0xD, 0xFE, 0xB3, 0x5, 0xE6, 0xD, 0x1, 0x4D, 0xFD, 0xDF, 0x61, 0x11, 0x95, 0x42, 0xFC, 0x5, 0x61, 0x2, 0xFE, 0xC0, 0x45, 0x2, 0xB7, 0x89, 0xB, 0x7A, 0x60, 0x4, 0x66, 0xE, 0x1, 0x52, 0xFD, 0xF8, 0x62, 0x2, 0x1, 0x46, 0x45, 0xFE, 0x9E, 0x63, 0x10, 0x99, 0x44, 0xFD, 0xED, 0x8B, 0xC, 0x7C, 0x62, 0x97, 0x8B, 0xC, 0x7C, 0x62, 0xFE, 0x99, 0x63, 0x2, 0xFE, 0xBB, 0x47, 0x1, 0x65, 0x63, 0x11, 0x99, 0x45, 0x14, 0xE, 0xFE, 0xAD, 0xFF, 0xFF, 0x0, 0x95, 0xFE, 0x7D, 0x5, 0xDD, 0x7, 0x25, 0x0, 0x26, 0x2, 0x72, 0x0, 0x0, 0x0, 0x27, 0x1, 0x89, 0x1, 0x1C, 0x1, 0x3E, 0x0, 0x7, 0x0, 0x11, 0x4, 0x80, 0xFF, 0xC5, 0xFF, 0xFF, 0x0, 0x86, 0xFE, 0x7D, 0x4, 0xE4, 0x5, 0xD9, 0x0, 0x26, 0x2, 0x86, 0x0, 0x0, 0x0, 0x27, 0x1, 0x89, 0x0, 0x97, 0xFF, 0xF2, 0x0, 0x7, 0x0, 0x11, 0x3, 0x87, 0xFF, 0xC5, 0x0, 0x2, 0xFF, 0xDF, 0x0, 0x0, 0x4, 0x22, 0x6, 0x63, 0x0, 0x11, 0x0, 0x1A, 0x0, 0x0, 0x24, 0x6, 0x23, 0x21, 0x11, 0x23, 0x35, 0x33, 0x35, 0x33, 0x15, 0x21, 0x15, 0x21, 0x11, 0x33, 0x16, 0x16, 0x1, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x23, 0x4, 0x22, 0xE2, 0xD2, 0xFE, 0x20, 0xAF, 0xAF, 0xF3, 0x1, 0x22, 0xFE, 0xDE, 0xF1, 0xD0, 0xE0, 0xFD, 0x5F, 0xED, 0x6A, 0x57, 0x57, 0x6A, 0xED, 0xDF, 0xDF, 0x5, 0x5, 0xAB, 0xB3, 0xB3, 0xAB, 0xFD, 0xFE, 0x1, 0xD7, 0xFE, 0x97, 0x75, 0x49, 0x47, 0x7A, 0x0, 0x2, 0x0, 0x95, 0x0, 0x0, 0x4, 0xDA, 0x5, 0xB0, 0x0, 0xC, 0x0, 0x1B, 0x0, 0x0, 0x1, 0x32, 0x37, 0x27, 0x37, 0x17, 0x36, 0x35, 0x34, 0x26, 0x23, 0x21, 0x11, 0x15, 0x11, 0x23, 0x11, 0x21, 0x32, 0x0, 0x15, 0x14, 0x7, 0x17, 0x7, 0x27, 0x6, 0x23, 0x2, 0xC2, 0x50, 0x39, 0x73, 0x6E, 0x75, 0x1B, 0x81, 0x93, 0xFE, 0xCF, 0xFC, 0x2, 0x2D, 0xFD, 0x1, 0x15, 0x74, 0x7A, 0x6E, 0x88, 0x79, 0xA9, 0x2, 0xE8, 0x16, 0x80, 0x64, 0x81, 0x35, 0x49, 0x66, 0xA0, 0xFE, 0x3, 0xCB, 0xFD, 0xE3, 0x5, 0xB0, 0xFE, 0xFA, 0xC9, 0xC2, 0x75, 0x87, 0x64, 0x96, 0x38, 0x0, 0x2, 0x0, 0x7D, 0xFE, 0x60, 0x4, 0x31, 0x4, 0x4E, 0x0, 0xE, 0x0, 0x22, 0x0, 0x0, 0x25, 0x32, 0x37, 0x27, 0x37, 0x17, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x7, 0x11, 0x16, 0x17, 0x22, 0x27, 0x11, 0x23, 0x11, 0x33, 0x17, 0x36, 0x33, 0x32, 0x12, 0x15, 0x15, 0x14, 0x7, 0x17, 0x7, 0x27, 0x6, 0x2, 0x48, 0x44, 0x33, 0x6A, 0x6F, 0x58, 0x22, 0x75, 0x83, 0x96, 0x41, 0x43, 0xDA, 0xB1, 0x6C, 0xF2, 0xDF, 0xA, 0x6D, 0xB7, 0xCE, 0xD9, 0x6E, 0x6A, 0x6F, 0x68, 0x58, 0xAF, 0x21, 0x7B, 0x64, 0x66, 0x54, 0x8A, 0x92, 0xCF, 0x7D, 0xFE, 0x23, 0x7F, 0xC3, 0x75, 0xFD, 0xFF, 0x5, 0xDA, 0x6D, 0x81, 0xFE, 0xD0, 0xF8, 0x14, 0xF5, 0x95, 0x7B, 0x63, 0x78, 0x36, 0x0, 0x1, 0x0, 0x90, 0x0, 0x0, 0x4, 0x34, 0x7, 0x10, 0x0, 0x9, 0x0, 0x0, 0x1, 0x11, 0x23, 0x11, 0x21, 0x11, 0x33, 0x11, 0x23, 0x15, 0x1, 0x8C, 0xFC, 0x2, 0xB1, 0xF3, 0x7, 0x4, 0xE5, 0xFB, 0x1B, 0x5, 0xB0, 0x1, 0x60, 0xFD, 0xDD, 0x8, 0x0, 0x1, 0x0, 0x7F, 0x0, 0x0, 0x3, 0x5C, 0x5, 0x74, 0x0, 0x7, 0x0, 0x0, 0x21, 0x23, 0x11, 0x21, 0x11, 0x33, 0x11, 0x21, 0x1, 0x71, 0xF2, 0x1, 0xEA, 0xF3, 0xFE, 0x15, 0x4, 0x3A, 0x1, 0x3A, 0xFE, 0x2, 0x0, 0x1, 0x0, 0x9B, 0xFE, 0xC5, 0x4, 0x9E, 0x5, 0xB0, 0x0, 0x15, 0x0, 0x0, 0x1, 0x27, 0x32, 0x36, 0x35, 0x2, 0x25, 0x23, 0x11, 0x23, 0x11, 0x21, 0x15, 0x21, 0x11, 0x33, 0x16, 0x4, 0x12, 0x15, 0x14, 0x2, 0x2, 0xA1, 0x2, 0xA3, 0x69, 0x2, 0xFE, 0xAB, 0xBD, 0xFC, 0x3, 0x9D, 0xFD, 0x5F, 0xB3, 0xBC, 0x1, 0xD, 0x8B, 0xF3, 0xFE, 0xC5, 0xBB, 0xE5, 0x91, 0x1, 0x7A, 0x9, 0xFD, 0x87, 0x5, 0xB0, 0xCB, 0xFE, 0x5E, 0x1, 0x8D, 0xFF, 0x0, 0xB8, 0xF4, 0xFE, 0xBC, 0x0, 0x1, 0x0, 0x7F, 0xFE, 0xE2, 0x3, 0xDC, 0x4, 0x3A, 0x0, 0x15, 0x0, 0x0, 0x1, 0x27, 0x36, 0x27, 0x34, 0x26, 0x23, 0x23, 0x11, 0x23, 0x11, 0x21, 0x15, 0x21, 0x15, 0x33, 0x16, 0x4, 0x15, 0x16, 0x6, 0x6, 0x2, 0x60, 0x55, 0xDF, 0x2, 0xA1, 0x84, 0x52, 0xF2, 0x2, 0xC8, 0xFE, 0x2A, 0x5A, 0xE7, 0x1, 0x29, 0x1, 0x4D, 0xA7, 0xFE, 0xE2, 0xAD, 0x4C, 0xD4, 0x89, 0x8F, 0xFE, 0x39, 0x4, 0x3A, 0xC4, 0xE5, 0x2, 0xF9, 0xE7, 0x4D, 0xBD, 0xA1, 0xFF, 0xFF, 0x0, 0x17, 0xFE, 0x99, 0x8, 0x6, 0x5, 0xB0, 0x0, 0x26, 0x2, 0x70, 0x0, 0x0, 0x0, 0x7, 0x7, 0xDB, 0x6, 0xB6, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x1E, 0xFE, 0x99, 0x6, 0xB5, 0x4, 0x3A, 0x0, 0x26, 0x2, 0x84, 0x0, 0x0, 0x0, 0x7, 0x7, 0xDB, 0x5, 0x65, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x9B, 0xFE, 0x99, 0x5, 0x80, 0x5, 0xB0, 0x0, 0x26, 0x7, 0xAA, 0x0, 0x0, 0x0, 0x7, 0x7, 0xDB, 0x4, 0x30, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x8F, 0xFE, 0x99, 0x4, 0xC3, 0x4, 0x3A, 0x0, 0x26, 0x2, 0x87, 0x0, 0x0, 0x0, 0x7, 0x7, 0xDB, 0x3, 0x73, 0x0, 0x0, 0x0, 0x1, 0x0, 0x91, 0x0, 0x0, 0x5, 0x36, 0x5, 0xB0, 0x0, 0x14, 0x0, 0x0, 0x1, 0x35, 0x23, 0x11, 0x23, 0x11, 0x33, 0x11, 0x33, 0x35, 0x33, 0x15, 0x33, 0x1, 0x21, 0x1, 0x1, 0x21, 0x1, 0x23, 0x15, 0x1, 0xE6, 0x58, 0xFD, 0xFD, 0x58, 0xA3, 0x38, 0x1, 0x1B, 0x1, 0x32, 0xFE, 0x7D, 0x1, 0xAB, 0xFE, 0xC1, 0xFE, 0xD5, 0x43, 0x1, 0x85, 0xE8, 0xFD, 0x93, 0x5, 0xB0, 0xFD, 0x9A, 0xFF, 0xFF, 0x2, 0x66, 0xFD, 0x5B, 0xFC, 0xF5, 0x2, 0x6D, 0xE8, 0x0, 0x1, 0x0, 0x8E, 0x0, 0x0, 0x4, 0xAF, 0x4, 0x3A, 0x0, 0x14, 0x0, 0x0, 0x25, 0x35, 0x23, 0x11, 0x23, 0x11, 0x33, 0x11, 0x33, 0x35, 0x33, 0x15, 0x33, 0x13, 0x21, 0x1, 0x1, 0x21, 0x3, 0x23, 0x15, 0x1, 0xD7, 0x56, 0xF3, 0xF3, 0x56, 0x9C, 0x27, 0xCF, 0x1, 0x2C, 0xFE, 0xC3, 0x1, 0x57, 0xFE, 0xCB, 0xD9, 0x2E, 0xFA, 0xB3, 0xFE, 0x53, 0x4, 0x3A, 0xFE, 0x51, 0xC7, 0xC7, 0x1, 0xAF, 0xFD, 0xFE, 0xFD, 0xC8, 0x1, 0xAD, 0xB3, 0x0, 0x1, 0x0, 0x34, 0x0, 0x0, 0x6, 0xA3, 0x5, 0xB0, 0x0, 0xE, 0x0, 0x0, 0x21, 0x1, 0x23, 0x11, 0x23, 0x11, 0x21, 0x35, 0x21, 0x11, 0x33, 0x1, 0x21, 0x1, 0x1, 0x5, 0x73, 0xFE, 0x43, 0xAC, 0xFD, 0xFE, 0x27, 0x2, 0xD6, 0x8A, 0x1, 0xAD, 0x1, 0x36, 0xFE, 0xD, 0x2, 0x1F, 0x2, 0x70, 0xFD, 0x90, 0x4, 0xED, 0xC3, 0xFD, 0x9D, 0x2, 0x63, 0xFD, 0x47, 0xFD, 0x9, 0x0, 0x1, 0x0, 0x3E, 0x0, 0x0, 0x5, 0xA9, 0x4, 0x3A, 0x0, 0xE, 0x0, 0x0, 0x21, 0x1, 0x23, 0x11, 0x23, 0x11, 0x21, 0x35, 0x21, 0x11, 0x33, 0x1, 0x21, 0x1, 0x1, 0x4, 0x6D, 0xFE, 0xD4, 0x7B, 0xF3, 0xFE, 0x6B, 0x2, 0x88, 0x6B, 0x1, 0x2B, 0x1, 0x2C, 0xFE, 0x79, 0x1, 0xA8, 0x1, 0xAD, 0xFE, 0x53, 0x3, 0x76, 0xC4, 0xFE, 0x51, 0x1, 0xAF, 0xFD, 0xFA, 0xFD, 0xCC, 0xFF, 0xFF, 0x0, 0x95, 0xFE, 0x99, 0x5, 0xDC, 0x5, 0xB0, 0x0, 0x26, 0x0, 0x2D, 0x0, 0x0, 0x0, 0x7, 0x7, 0xDB, 0x4, 0x8C, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x86, 0xFE, 0x99, 0x4, 0xD6, 0x4, 0x3A, 0x0, 0x26, 0x2, 0x8A, 0x0, 0x0, 0x0, 0x7, 0x7, 0xDB, 0x3, 0x86, 0x0, 0x0, 0x0, 0x1, 0x0, 0x95, 0x0, 0x0, 0x7, 0x84, 0x5, 0xB0, 0x0, 0xD, 0x0, 0x0, 0x21, 0x11, 0x21, 0x11, 0x23, 0x11, 0x33, 0x11, 0x21, 0x11, 0x21, 0x15, 0x21, 0x11, 0x4, 0x1C, 0xFD, 0x75, 0xFC, 0xFC, 0x2, 0x8B, 0x3, 0x68, 0xFD, 0x95, 0x2, 0x88, 0xFD, 0x78, 0x5, 0xB0, 0xFD, 0xA2, 0x2, 0x5E, 0xC3, 0xFB, 0x13, 0x0, 0x1, 0x0, 0x7F, 0x0, 0x0, 0x5, 0x67, 0x4, 0x3A, 0x0, 0xD, 0x0, 0x0, 0x21, 0x11, 0x21, 0x11, 0x23, 0x11, 0x33, 0x11, 0x21, 0x11, 0x21, 0x15, 0x21, 0x11, 0x3, 0x16, 0xFE, 0x5B, 0xF2, 0xF2, 0x1, 0xA5, 0x2, 0x51, 0xFE, 0xA2, 0x1, 0xB5, 0xFE, 0x4B, 0x4, 0x3A, 0xFE, 0x3D, 0x1, 0xC3, 0xC4, 0xFC, 0x8A, 0x0, 0x1, 0x0, 0x9B, 0xFE, 0xC3, 0x7, 0xF0, 0x5, 0xB0, 0x0, 0x16, 0x0, 0x0, 0x1, 0x27, 0x32, 0x36, 0x35, 0x2, 0x25, 0x23, 0x11, 0x23, 0x11, 0x21, 0x11, 0x23, 0x11, 0x21, 0x11, 0x33, 0x4, 0x0, 0x11, 0x14, 0x2, 0x5, 0xF3, 0x2, 0xA3, 0x69, 0x2, 0xFE, 0xAB, 0x91, 0xFD, 0xFD, 0x7F, 0xFC, 0x4, 0x7A, 0x88, 0x1, 0x14, 0x1, 0x3F, 0xF3, 0xFE, 0xC3, 0xBB, 0xE5, 0x91, 0x1, 0x7A, 0x9, 0xFD, 0x89, 0x4, 0xE5, 0xFB, 0x1B, 0x5, 0xB0, 0xFD, 0x91, 0x2, 0xFE, 0xD3, 0xFE, 0xE9, 0xF4, 0xFE, 0xBC, 0x0, 0x1, 0x0, 0x7F, 0xFE, 0xE5, 0x6, 0xBB, 0x4, 0x3A, 0x0, 0x17, 0x0, 0x0, 0x1, 0x27, 0x36, 0x35, 0x26, 0x26, 0x23, 0x23, 0x11, 0x23, 0x11, 0x21, 0x11, 0x23, 0x11, 0x21, 0x11, 0x33, 0x16, 0x4, 0x15, 0x14, 0x6, 0x6, 0x5, 0x3F, 0x55, 0xDE, 0x1, 0xAB, 0x8E, 0x83, 0xF3, 0xFE, 0x59, 0xF2, 0x3, 0x8C, 0x8E, 0xF0, 0x1, 0x32, 0x4C, 0xA7, 0xFE, 0xE5, 0xAE, 0x4A, 0xD5, 0x89, 0x8F, 0xFE, 0x36, 0x3, 0x76, 0xFC, 0x8A, 0x4, 0x3A, 0xFE, 0x5B, 0x3, 0xF9, 0xE7, 0x4D, 0xBD, 0xA1, 0x0, 0x2, 0x0, 0x67, 0xFF, 0xEA, 0x5, 0xD8, 0x5, 0xC5, 0x0, 0x23, 0x0, 0x2E, 0x0, 0x0, 0x5, 0x22, 0x27, 0x6, 0x23, 0x20, 0x0, 0x11, 0x35, 0x10, 0x0, 0x33, 0x15, 0x22, 0x6, 0x15, 0x15, 0x14, 0x12, 0x33, 0x32, 0x37, 0x26, 0x11, 0x35, 0x34, 0x12, 0x33, 0x32, 0x12, 0x15, 0x15, 0x10, 0x7, 0x16, 0x33, 0x1, 0x10, 0x17, 0x36, 0x37, 0x35, 0x10, 0x23, 0x22, 0x6, 0x15, 0x5, 0xD8, 0xDE, 0xB6, 0x96, 0xB4, 0xFE, 0xE0, 0xFE, 0x8D, 0x1, 0xE, 0xDC, 0x6B, 0x79, 0xD4, 0xB9, 0x2E, 0x2B, 0xE1, 0xE8, 0xBD, 0xC4, 0xF1, 0xBA, 0x5C, 0x6A, 0xFD, 0x8E, 0xC8, 0xA1, 0x1, 0xB9, 0x53, 0x5E, 0x16, 0x48, 0x47, 0x1, 0x86, 0x1, 0x35, 0xB2, 0x1, 0x7, 0x1, 0x66, 0xD4, 0xE9, 0xAE, 0xBE, 0xCD, 0xFE, 0xEF, 0x7, 0xCB, 0x1, 0x3E, 0xD0, 0xE9, 0x1, 0x3D, 0xFE, 0xBD, 0xFD, 0xCD, 0xFE, 0xD8, 0xC8, 0x14, 0x2, 0x19, 0xFE, 0xF0, 0x92, 0x8D, 0xFD, 0xE4, 0x1, 0x59, 0xB0, 0xA0, 0x0, 0x2, 0x0, 0x61, 0xFF, 0xEB, 0x4, 0xC9, 0x4, 0x4F, 0x0, 0xA, 0x0, 0x2D, 0x0, 0x0, 0x1, 0x14, 0x17, 0x36, 0x35, 0x35, 0x34, 0x26, 0x22, 0x6, 0x15, 0x1, 0x22, 0x27, 0x6, 0x23, 0x22, 0x0, 0x35, 0x35, 0x34, 0x12, 0x33, 0x15, 0x6, 0x6, 0x15, 0x15, 0x14, 0x16, 0x33, 0x37, 0x26, 0x27, 0x35, 0x34, 0x36, 0x33, 0x32, 0x12, 0x15, 0x15, 0x14, 0x7, 0x16, 0x33, 0x2, 0xD8, 0x78, 0x62, 0x38, 0x6A, 0x38, 0x1, 0xF1, 0xBA, 0x93, 0x78, 0x91, 0xEE, 0xFE, 0xDC, 0xD7, 0xAF, 0x41, 0x4B, 0x96, 0x82, 0x25, 0x8E, 0x1, 0xB3, 0x97, 0x9B, 0xB7, 0x80, 0x4C, 0x58, 0x2, 0x22, 0xAA, 0x6C, 0x62, 0xA5, 0x80, 0x65, 0x8D, 0x7E, 0x61, 0xFD, 0x47, 0x37, 0x39, 0x1, 0x4A, 0xF3, 0x4B, 0xCB, 0x1, 0x10, 0xCA, 0x4, 0x96, 0x75, 0x4D, 0x9E, 0xD4, 0x2, 0x95, 0xDA, 0x83, 0xB6, 0xEF, 0xFE, 0xFB, 0xC1, 0x7D, 0xD3, 0x95, 0x11, 0xFF, 0xFF, 0x0, 0x29, 0xFE, 0x99, 0x5, 0x23, 0x5, 0xB0, 0x0, 0x26, 0x0, 0x3D, 0x0, 0x0, 0x0, 0x7, 0x7, 0xDB, 0x3, 0xD3, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x1F, 0xFE, 0x99, 0x4, 0x28, 0x4, 0x3A, 0x0, 0x26, 0x0, 0x5D, 0x0, 0x0, 0x0, 0x7, 0x7, 0xDB, 0x2, 0xD8, 0x0, 0x0, 0x0, 0x1, 0x0, 0x2E, 0xFE, 0xA1, 0x6, 0xB8, 0x5, 0xB0, 0x0, 0xF, 0x0, 0x0, 0x25, 0x3, 0x23, 0x11, 0x21, 0x11, 0x21, 0x35, 0x21, 0x15, 0x21, 0x11, 0x21, 0x11, 0x33, 0x11, 0x6, 0xB8, 0x14, 0xE7, 0xFB, 0xD1, 0xFE, 0xA0, 0x3, 0xBD, 0xFE, 0x9F, 0x2, 0x81, 0xFD, 0xCD, 0xFD, 0xD4, 0x1, 0x5F, 0x4, 0xED, 0xC3, 0xC3, 0xFB, 0xDD, 0x4, 0xE6, 0xFB, 0x1D, 0x0, 0x1, 0x0, 0x26, 0xFE, 0xBF, 0x5, 0x3B, 0x4, 0x3B, 0x0, 0xF, 0x0, 0x0, 0x25, 0x3, 0x23, 0x11, 0x21, 0x11, 0x23, 0x35, 0x21, 0x15, 0x23, 0x11, 0x21, 0x11, 0x33, 0x11, 0x5, 0x3B, 0x14, 0xDD, 0xFC, 0xD2, 0xF6, 0x2, 0xC4, 0xDC, 0x1, 0xA7, 0xF3, 0xC2, 0xFD, 0xFD, 0x1, 0x41, 0x3, 0x77, 0xC4, 0xC4, 0xFD, 0x4C, 0x3, 0x77, 0xFC, 0x88, 0xFF, 0xFF, 0x0, 0x8E, 0xFE, 0x99, 0x5, 0xAE, 0x5, 0xB0, 0x0, 0x26, 0x2, 0x77, 0x0, 0x0, 0x0, 0x7, 0x7, 0xDB, 0x4, 0x5E, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x5F, 0xFE, 0x99, 0x4, 0xA6, 0x4, 0x3B, 0x0, 0x26, 0x2, 0x8F, 0x0, 0x0, 0x0, 0x7, 0x7, 0xDB, 0x3, 0x56, 0x0, 0x0, 0x0, 0x1, 0x0, 0x81, 0x0, 0x0, 0x4, 0xE1, 0x5, 0xB0, 0x0, 0x17, 0x0, 0x0, 0x21, 0x23, 0x11, 0x6, 0x7, 0x15, 0x23, 0x35, 0x26, 0x24, 0x35, 0x11, 0x33, 0x11, 0x14, 0x16, 0x17, 0x11, 0x33, 0x11, 0x36, 0x37, 0x11, 0x33, 0x4, 0xE1, 0xFC, 0x61, 0x6F, 0xA3, 0xE7, 0xFE, 0xF6, 0xFC, 0x7A, 0x7B, 0xA3, 0x6E, 0x62, 0xFC, 0x2, 0x3E, 0x19, 0xA, 0xEB, 0xE5, 0x7, 0xDA, 0xF1, 0x1, 0xC9, 0xFE, 0x37, 0x91, 0x70, 0x5, 0x1, 0x2A, 0xFE, 0xDC, 0xB, 0x17, 0x2, 0xA7, 0x0, 0x1, 0x0, 0x74, 0x0, 0x0, 0x3, 0xF6, 0x4, 0x3B, 0x0, 0x16, 0x0, 0x0, 0x21, 0x23, 0x11, 0x6, 0x7, 0x15, 0x23, 0x35, 0x26, 0x26, 0x35, 0x11, 0x33, 0x11, 0x14, 0x17, 0x11, 0x33, 0x11, 0x36, 0x37, 0x11, 0x33, 0x3, 0xF6, 0xF4, 0x3A, 0x3B, 0xA4, 0xAD, 0xC8, 0xF3, 0x82, 0xA4, 0x3A, 0x3B, 0xF4, 0x1, 0x6A, 0xD, 0x5, 0x8C, 0x8C, 0x13, 0xC8, 0xBC, 0x1, 0x4C, 0xFE, 0xB4, 0xAF, 0x20, 0x1, 0xB, 0xFE, 0xF0, 0x5, 0xE, 0x2, 0xC, 0x0, 0x1, 0x0, 0x85, 0x0, 0x0, 0x4, 0xE5, 0x5, 0xB0, 0x0, 0x11, 0x0, 0x0, 0x1, 0x22, 0x7, 0x11, 0x23, 0x11, 0x33, 0x11, 0x36, 0x33, 0x32, 0x4, 0x15, 0x11, 0x23, 0x11, 0x26, 0x26, 0x2, 0xD3, 0xA9, 0xA9, 0xFC, 0xFC, 0x9E, 0xB4, 0xF6, 0x1, 0x1C, 0xFC, 0x1, 0x89, 0x2, 0xD0, 0x29, 0xFD, 0x59, 0x5, 0xB0, 0xFD, 0xC2, 0x29, 0xD9, 0xF9, 0xFE, 0x37, 0x1, 0xCE, 0x97, 0x6B, 0x0, 0x2, 0x0, 0x17, 0xFF, 0xE9, 0x5, 0xBD, 0x5, 0xC4, 0x0, 0x7, 0x0, 0x25, 0x0, 0x0, 0x1, 0x21, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x1, 0x6, 0x6, 0x23, 0x20, 0x0, 0x11, 0x35, 0x26, 0x26, 0x35, 0x33, 0x14, 0x17, 0x36, 0x12, 0x24, 0x17, 0x20, 0x0, 0x11, 0x15, 0x21, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x37, 0x2, 0x55, 0x2, 0x6C, 0x85, 0xA9, 0x9B, 0xA3, 0x3, 0x16, 0x1F, 0xC9, 0xA7, 0xFE, 0xC5, 0xFE, 0xB7, 0x9D, 0xA4, 0xB5, 0x8C, 0x1, 0x99, 0x1, 0x2, 0x9F, 0x1, 0x13, 0x1, 0x17, 0xFC, 0x98, 0xB1, 0xD6, 0x7C, 0xAC, 0x36, 0x3, 0x55, 0x1F, 0x9E, 0xDB, 0xED, 0xFC, 0x3F, 0x12, 0x44, 0x1, 0x62, 0x1, 0x14, 0x45, 0x18, 0xD7, 0xA7, 0xB4, 0x2A, 0xB5, 0x1, 0x16, 0x9D, 0x1, 0xFE, 0x91, 0xFE, 0xC9, 0x88, 0x36, 0xAC, 0xF5, 0x31, 0x16, 0x0, 0x2, 0xFF, 0xCA, 0xFF, 0xEC, 0x4, 0x8B, 0x4, 0x4E, 0x0, 0x7, 0x0, 0x21, 0x0, 0x0, 0x1, 0x22, 0x6, 0x7, 0x21, 0x35, 0x26, 0x26, 0x1, 0x6, 0x6, 0x23, 0x22, 0x0, 0x27, 0x26, 0x26, 0x35, 0x33, 0x14, 0x17, 0x36, 0x24, 0x33, 0x32, 0x12, 0x15, 0x15, 0x21, 0x16, 0x16, 0x33, 0x32, 0x37, 0x2, 0xBC, 0x63, 0x7B, 0x11, 0x1, 0xCE, 0x4, 0x61, 0x1, 0x44, 0x34, 0xCC, 0xA1, 0xED, 0xFE, 0xEC, 0x4, 0x83, 0x87, 0xAA, 0x69, 0x21, 0x1, 0xA, 0xB5, 0xEC, 0xE2, 0xFD, 0x3D, 0xA, 0x95, 0x80, 0xA8, 0x68, 0x3, 0x8B, 0x8C, 0x7C, 0x12, 0x5F, 0x97, 0xFD, 0x2D, 0x4C, 0x80, 0x1, 0x25, 0xDA, 0x1E, 0xBF, 0x93, 0x95, 0x30, 0xCD, 0xEB, 0xFE, 0xD4, 0xEA, 0x67, 0x7D, 0xA5, 0x86, 0x0, 0x1, 0x0, 0x91, 0xFE, 0xBE, 0x4, 0xEE, 0x5, 0xB0, 0x0, 0x18, 0x0, 0x0, 0x1, 0x27, 0x32, 0x36, 0x36, 0x27, 0x10, 0x25, 0x21, 0x35, 0x23, 0x11, 0x23, 0x11, 0x33, 0x11, 0x33, 0x1, 0x21, 0x1, 0x16, 0x0, 0x15, 0x14, 0x2, 0x2, 0xEA, 0x1, 0x6D, 0x72, 0x2A, 0x1, 0xFE, 0xB0, 0xFE, 0xF5, 0x8, 0xFD, 0xFD, 0x70, 0x1, 0xB3, 0x1, 0x31, 0xFE, 0x23, 0xE4, 0x1, 0x5, 0xF3, 0xFE, 0xBE, 0xC2, 0x6D, 0xA9, 0x5B, 0x1, 0x78, 0x8, 0x1, 0xFD, 0x8E, 0x5, 0xB0, 0xFD, 0xA5, 0x2, 0x5B, 0xFD, 0x8B, 0x1D, 0xFE, 0xDA, 0xFE, 0xEE, 0xFE, 0xB2, 0x0, 0x1, 0x0, 0x8E, 0xFE, 0xE9, 0x4, 0x43, 0x4, 0x3A, 0x0, 0x15, 0x0, 0x0, 0x1, 0x27, 0x36, 0x35, 0x2, 0x21, 0x23, 0x11, 0x23, 0x11, 0x33, 0x11, 0x33, 0x1, 0x21, 0x1, 0x16, 0x16, 0x15, 0x14, 0x6, 0x6, 0x2, 0xBE, 0x55, 0xDE, 0x2, 0xFE, 0xBE, 0x82, 0xF3, 0xF3, 0x54, 0x1, 0x42, 0x1, 0x2C, 0xFE, 0x8B, 0xA5, 0xC6, 0x4C, 0xA7, 0xFE, 0xE9, 0xAD, 0x49, 0xC9, 0x1, 0x5, 0xFE, 0x53, 0x4, 0x3A, 0xFE, 0x51, 0x1, 0xAF, 0xFE, 0x28, 0x26, 0xDC, 0xB8, 0x4B, 0xB7, 0x9B, 0xFF, 0xFF, 0x0, 0x2D, 0xFE, 0x7D, 0x5, 0xDB, 0x5, 0xB0, 0x0, 0x26, 0x2, 0x73, 0x0, 0x0, 0x0, 0x7, 0x0, 0x11, 0x4, 0x7E, 0xFF, 0xC5, 0xFF, 0xFF, 0x0, 0x22, 0xFE, 0x7D, 0x4, 0xE5, 0x4, 0x3A, 0x0, 0x26, 0x2, 0x88, 0x0, 0x0, 0x0, 0x7, 0x0, 0x11, 0x3, 0x88, 0xFF, 0xC5, 0x0, 0x1, 0x0, 0x9B, 0xFE, 0x4B, 0x5, 0x13, 0x5, 0xB0, 0x0, 0x14, 0x0, 0x0, 0x13, 0x33, 0x11, 0x21, 0x11, 0x33, 0x11, 0x14, 0x6, 0x23, 0x22, 0x27, 0x37, 0x16, 0x33, 0x32, 0x37, 0x11, 0x21, 0x11, 0x23, 0x9B, 0xFC, 0x2, 0x80, 0xFC, 0xBF, 0xA7, 0x46, 0x3C, 0xE, 0x2A, 0x39, 0x7A, 0x1, 0xFD, 0x80, 0xFC, 0x5, 0xB0, 0xFD, 0x83, 0x2, 0x7D, 0xFA, 0x17, 0xB9, 0xC3, 0x11, 0xC7, 0xD, 0xAE, 0x2, 0xA5, 0xFD, 0x97, 0x0, 0x1, 0x0, 0x7F, 0xFE, 0x4B, 0x4, 0x9, 0x4, 0x3A, 0x0, 0x14, 0x0, 0x0, 0x13, 0x33, 0x11, 0x21, 0x11, 0x33, 0x11, 0x14, 0x6, 0x23, 0x22, 0x27, 0x37, 0x16, 0x33, 0x32, 0x37, 0x11, 0x21, 0x11, 0x23, 0x7F, 0xF2, 0x1, 0xA5, 0xF3, 0xBC, 0xA4, 0x45, 0x3A, 0xE, 0x29, 0x39, 0x7B, 0x1, 0xFE, 0x5B, 0xF2, 0x4, 0x3A, 0xFE, 0x3D, 0x1, 0xC3, 0xFB, 0x87, 0xB6, 0xC0, 0x11, 0xBF, 0xD, 0xB0, 0x1, 0xF7, 0xFE, 0x4B, 0xFF, 0xFF, 0x0, 0x95, 0xFE, 0x7D, 0x5, 0xE8, 0x5, 0xB0, 0x0, 0x26, 0x0, 0x2D, 0x0, 0x0, 0x0, 0x7, 0x0, 0x11, 0x4, 0x8B, 0xFF, 0xC5, 0xFF, 0xFF, 0x0, 0x86, 0xFE, 0x7D, 0x4, 0xE2, 0x4, 0x3A, 0x0, 0x26, 0x2, 0x8A, 0x0, 0x0, 0x0, 0x7, 0x0, 0x11, 0x3, 0x85, 0xFF, 0xC5, 0xFF, 0xFF, 0x0, 0x95, 0xFE, 0x7D, 0x7, 0x31, 0x5, 0xB0, 0x0, 0x26, 0x0, 0x32, 0x0, 0x0, 0x0, 0x7, 0x0, 0x11, 0x5, 0xD4, 0xFF, 0xC5, 0xFF, 0xFF, 0x0, 0x8F, 0xFE, 0x7D, 0x6, 0x41, 0x4, 0x3A, 0x0, 0x26, 0x2, 0x89, 0x0, 0x0, 0x0, 0x7, 0x0, 0x11, 0x4, 0xE4, 0xFF, 0xC5, 0x0, 0x2, 0x0, 0x51, 0xFF, 0xEB, 0x5, 0x1E, 0x5, 0xC4, 0x0, 0x16, 0x0, 0x1E, 0x0, 0x0, 0x1, 0x14, 0x2, 0x4, 0x27, 0x20, 0x0, 0x11, 0x35, 0x21, 0x26, 0x2, 0x23, 0x22, 0x6, 0x7, 0x27, 0x36, 0x36, 0x33, 0x20, 0x0, 0x11, 0x1, 0x32, 0x36, 0x37, 0x21, 0x15, 0x14, 0x16, 0x5, 0x1E, 0xA4, 0xFE, 0xEA, 0xAC, 0xFE, 0xD0, 0xFE, 0xC9, 0x3, 0xD1, 0x3, 0xC6, 0xE7, 0x83, 0xB6, 0x39, 0x31, 0x20, 0xD4, 0xAF, 0x1, 0x4F, 0x1, 0x5D, 0xFD, 0x9A, 0xA1, 0xB7, 0xF, 0xFD, 0x2F, 0xA0, 0x2, 0x9B, 0xCB, 0xFE, 0xCA, 0xAF, 0x1, 0x1, 0x6E, 0x1, 0x36, 0x8E, 0xC1, 0x1, 0xF, 0x30, 0x16, 0xC5, 0x13, 0x44, 0xFE, 0x7D, 0xFE, 0xCF, 0xFD, 0xB1, 0xEB, 0xAC, 0x1F, 0x9D, 0xDB, 0x0, 0x1, 0x0, 0x5C, 0xFF, 0xEB, 0x4, 0x4B, 0x5, 0xB0, 0x0, 0x1B, 0x0, 0x0, 0x5, 0x22, 0x26, 0x26, 0x35, 0x33, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x23, 0x35, 0x1, 0x21, 0x35, 0x21, 0x17, 0x1, 0x16, 0x16, 0x15, 0x14, 0x4, 0x2, 0x47, 0x78, 0xE2, 0x91, 0xFC, 0x82, 0x6D, 0x7E, 0x8A, 0x98, 0x92, 0x8C, 0x1, 0x66, 0xFD, 0x93, 0x3, 0x91, 0x1, 0xFE, 0x86, 0xC7, 0xDA, 0xFE, 0xDD, 0x15, 0x58, 0xBC, 0x95, 0x5B, 0x84, 0x82, 0x61, 0x95, 0x84, 0xAD, 0x1, 0x87, 0xCB, 0xA3, 0xFE, 0x51, 0x19, 0xE9, 0xC4, 0xCD, 0xE0, 0x0, 0x1, 0x0, 0x5E, 0xFE, 0x75, 0x4, 0x46, 0x4, 0x3A, 0x0, 0x1B, 0x0, 0x0, 0x1, 0x22, 0x26, 0x26, 0x35, 0x33, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x23, 0x35, 0x1, 0x21, 0x35, 0x21, 0x17, 0x1, 0x16, 0x16, 0x15, 0x14, 0x4, 0x2, 0x46, 0x77, 0xE1, 0x90, 0xF3, 0x85, 0x70, 0x80, 0x8E, 0x9B, 0x93, 0x8E, 0x1, 0x5C, 0xFD, 0x9B, 0x3, 0x8D, 0x1, 0xFE, 0x89, 0xC7, 0xD9, 0xFE, 0xDF, 0xFE, 0x75, 0x58, 0xBB, 0x95, 0x5E, 0x87, 0x85, 0x64, 0x97, 0x82, 0xAB, 0x1, 0x91, 0xC4, 0x9B, 0xFE, 0x44, 0x18, 0xE7, 0xC3, 0xCC, 0xE0, 0xFF, 0xFF, 0x0, 0x32, 0xFE, 0x4B, 0x4, 0x8A, 0x5, 0xB0, 0x0, 0x26, 0x2, 0x30, 0x52, 0x0, 0x0, 0x26, 0x7, 0xA4, 0xA2, 0x29, 0x0, 0x7, 0x7, 0xE3, 0x1, 0x35, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x2C, 0xFE, 0x47, 0x3, 0xA2, 0x4, 0x3A, 0x0, 0x26, 0x2, 0x82, 0x55, 0x0, 0x0, 0x27, 0x7, 0xA4, 0xFF, 0x9C, 0xFF, 0x79, 0x0, 0x7, 0x7, 0xE3, 0x1, 0xB, 0xFF, 0xFC, 0xFF, 0xFF, 0x0, 0x29, 0xFE, 0x4B, 0x5, 0x51, 0x5, 0xB0, 0x0, 0x26, 0x0, 0x3D, 0x0, 0x0, 0x0, 0x7, 0x7, 0xE3, 0x3, 0xC3, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x1F, 0xFE, 0x4B, 0x4, 0x55, 0x4, 0x3A, 0x0, 0x26, 0x0, 0x5D, 0x0, 0x0, 0x0, 0x7, 0x7, 0xE3, 0x2, 0xC7, 0x0, 0x0, 0x0, 0x2, 0x0, 0x52, 0x0, 0x0, 0x4, 0x83, 0x5, 0xB0, 0x0, 0xA, 0x0, 0x12, 0x0, 0x0, 0x21, 0x21, 0x22, 0x0, 0x35, 0x34, 0x0, 0x33, 0x21, 0x11, 0x33, 0x3, 0x11, 0x21, 0x22, 0x6, 0x14, 0x16, 0x33, 0x4, 0x83, 0xFD, 0xDA, 0xF7, 0xFE, 0xEC, 0x1, 0x14, 0xF7, 0x1, 0x29, 0xFD, 0xFD, 0xFE, 0xD7, 0x8D, 0x81, 0x81, 0x8D, 0x1, 0x8, 0xC8, 0xCA, 0x1, 0x2, 0x2, 0x14, 0xFB, 0x1A, 0x2, 0x7, 0x9A, 0xCA, 0xA3, 0x0, 0x2, 0x0, 0x68, 0x0, 0x0, 0x6, 0xB0, 0x5, 0xB0, 0x0, 0x7, 0x0, 0x20, 0x0, 0x0, 0x25, 0x11, 0x21, 0x22, 0x6, 0x14, 0x16, 0x33, 0x15, 0x22, 0x0, 0x35, 0x34, 0x0, 0x33, 0x21, 0x11, 0x33, 0x11, 0x37, 0x36, 0x36, 0x37, 0x36, 0x26, 0x27, 0x33, 0x16, 0x16, 0x7, 0x6, 0x6, 0x23, 0x3, 0x9C, 0xFE, 0xD7, 0x8D, 0x81, 0x81, 0x8D, 0xF7, 0xFE, 0xEC, 0x1, 0x14, 0xF7, 0x1, 0x29, 0xFD, 0x4A, 0x6C, 0x60, 0x3, 0x2, 0x20, 0x1E, 0xF5, 0x1A, 0x2B, 0x2, 0x4, 0xF8, 0xCF, 0xCA, 0x2, 0x7, 0x9A, 0xCA, 0xA3, 0xCA, 0x1, 0x8, 0xC8, 0xCA, 0x1, 0x2, 0x2, 0x14, 0xFB, 0x1A, 0x1, 0x2, 0xA0, 0x66, 0x4D, 0xD5, 0x4D, 0x4D, 0xD2, 0x50, 0xD7, 0xFC, 0x0, 0x2, 0x0, 0x5F, 0xFF, 0xE7, 0x6, 0x7E, 0x6, 0x18, 0x0, 0x1E, 0x0, 0x2A, 0x0, 0x0, 0x5, 0x6, 0x27, 0x6, 0x23, 0x22, 0x2, 0x35, 0x35, 0x34, 0x12, 0x33, 0x32, 0x17, 0x11, 0x33, 0x11, 0x14, 0x16, 0x33, 0x36, 0x36, 0x37, 0x36, 0x27, 0x33, 0x16, 0x16, 0x7, 0x2, 0x0, 0x25, 0x32, 0x37, 0x27, 0x11, 0x26, 0x23, 0x22, 0x6, 0x15, 0x14, 0x16, 0x4, 0x90, 0xFF, 0x57, 0x69, 0xCD, 0xCA, 0xDB, 0xDA, 0xCD, 0xA2, 0x65, 0xF3, 0x4E, 0x42, 0x77, 0x7F, 0x3, 0x3, 0x3F, 0xEC, 0x1B, 0x2A, 0x2, 0x4, 0xFE, 0xDB, 0xFC, 0xEF, 0x8A, 0x48, 0x7, 0x47, 0x82, 0x84, 0x6F, 0x6E, 0x15, 0x4, 0xB7, 0xB3, 0x1, 0x28, 0xE8, 0x14, 0xFC, 0x1, 0x43, 0x77, 0x2, 0x41, 0xFB, 0x4C, 0x4F, 0x66, 0x2, 0xBE, 0xA2, 0xC2, 0xD1, 0x61, 0xCB, 0x67, 0xFE, 0xEA, 0xFE, 0xF0, 0xC7, 0x71, 0x45, 0x1, 0xB8, 0x68, 0xDD, 0xB1, 0x8B, 0xBD, 0x0, 0x1, 0x0, 0x3C, 0xFF, 0xE8, 0x5, 0xE4, 0x5, 0xB0, 0x0, 0x2A, 0x0, 0x0, 0x5, 0x6, 0x26, 0x27, 0x35, 0x34, 0x26, 0x23, 0x23, 0x35, 0x33, 0x36, 0x36, 0x35, 0x34, 0x26, 0x23, 0x21, 0x35, 0x21, 0x16, 0x4, 0x15, 0x14, 0x7, 0x16, 0x16, 0x15, 0x15, 0x6, 0x16, 0x33, 0x36, 0x36, 0x37, 0x36, 0x27, 0x33, 0x16, 0x16, 0x7, 0x2, 0x0, 0x4, 0x2, 0x9F, 0xBA, 0x8, 0x79, 0x68, 0xD9, 0xA6, 0x97, 0x81, 0x7B, 0x8F, 0xFE, 0xA1, 0x1, 0x68, 0xF7, 0x1, 0x6, 0xFF, 0x8D, 0x6E, 0x1, 0x3B, 0x34, 0x68, 0x6F, 0x4, 0x4, 0x41, 0xF6, 0x1A, 0x2B, 0x2, 0x4, 0xFE, 0xE1, 0x15, 0x3, 0x9D, 0xB3, 0x42, 0x68, 0x81, 0xCD, 0x1, 0x72, 0x6F, 0x5F, 0x72, 0xCD, 0x2, 0xD4, 0xCA, 0xE5, 0x64, 0x26, 0xAF, 0x76, 0x44, 0x37, 0x4A, 0x2, 0xBA, 0x9E, 0xBB, 0xD8, 0x61, 0xCB, 0x67, 0xFE, 0xE9, 0xFE, 0xF1, 0x0, 0x1, 0x0, 0x30, 0xFF, 0xE2, 0x4, 0xFF, 0x4, 0x3A, 0x0, 0x26, 0x0, 0x0, 0x5, 0x6, 0x26, 0x27, 0x35, 0x26, 0x27, 0x23, 0x27, 0x33, 0x36, 0x35, 0x34, 0x26, 0x23, 0x21, 0x27, 0x21, 0x16, 0x16, 0x15, 0x14, 0x7, 0x16, 0x15, 0x15, 0x6, 0x33, 0x36, 0x36, 0x37, 0x36, 0x27, 0x33, 0x16, 0x16, 0x7, 0x6, 0x6, 0x3, 0x54, 0x9D, 0xA0, 0x9, 0x2, 0x98, 0xED, 0x2, 0xC2, 0xB8, 0x5A, 0x69, 0xFE, 0xFA, 0x6, 0x1, 0x1A, 0xCB, 0xDE, 0xB0, 0xBE, 0x2, 0x4E, 0x59, 0x61, 0x3, 0x3, 0x3F, 0xEB, 0x1B, 0x2B, 0x2, 0x4, 0xFE, 0x1B, 0x3, 0x72, 0x82, 0x4E, 0x78, 0x2, 0xBC, 0x4, 0x83, 0x41, 0x56, 0xC2, 0x3, 0xA9, 0x97, 0x9B, 0x4A, 0x30, 0xBA, 0x3C, 0x58, 0x2, 0x90, 0x7D, 0x9D, 0xA2, 0x50, 0xA1, 0x4E, 0xE1, 0xDD, 0x0, 0x1, 0x0, 0x49, 0xFE, 0xB9, 0x4, 0x38, 0x5, 0xB0, 0x0, 0x25, 0x0, 0x0, 0x1, 0x27, 0x36, 0x36, 0x37, 0x23, 0x26, 0x26, 0x35, 0x35, 0x34, 0x26, 0x23, 0x23, 0x27, 0x33, 0x36, 0x36, 0x35, 0x34, 0x26, 0x23, 0x21, 0x27, 0x21, 0x16, 0x4, 0x15, 0x14, 0x7, 0x16, 0x16, 0x15, 0x15, 0x33, 0x7, 0x14, 0x6, 0x3, 0x7A, 0x83, 0x23, 0x37, 0x9, 0xA3, 0x2E, 0x11, 0x7E, 0x71, 0xF2, 0x1, 0xCE, 0x92, 0x81, 0x7F, 0x8C, 0xFE, 0xE0, 0x3, 0x1, 0x30, 0xEC, 0x1, 0x4, 0xE5, 0x82, 0x65, 0xCD, 0x1, 0x67, 0xFE, 0xB9, 0x4E, 0x38, 0x78, 0x49, 0x28, 0xAA, 0x23, 0x73, 0x71, 0x83, 0xC3, 0x1, 0x74, 0x6F, 0x69, 0x81, 0xC3, 0x3, 0xDB, 0xC9, 0xE0, 0x65, 0x29, 0xB7, 0x7A, 0x7D, 0xAD, 0x65, 0xDA, 0x0, 0x1, 0x0, 0x75, 0xFE, 0xA8, 0x4, 0x1B, 0x4, 0x3A, 0x0, 0x21, 0x0, 0x0, 0x1, 0x27, 0x36, 0x36, 0x37, 0x23, 0x26, 0x26, 0x2, 0x27, 0x21, 0x35, 0x33, 0x36, 0x35, 0x34, 0x26, 0x23, 0x21, 0x27, 0x21, 0x16, 0x16, 0x15, 0x14, 0x7, 0x16, 0x16, 0x15, 0x15, 0x33, 0x15, 0x14, 0x6, 0x3, 0x5D, 0x83, 0x26, 0x38, 0x7, 0xA7, 0x18, 0x12, 0x2, 0xB7, 0xFE, 0xFE, 0xF0, 0xC2, 0x62, 0x6B, 0xFE, 0xE1, 0x4, 0x1, 0x2C, 0xCF, 0xE9, 0xAE, 0x65, 0x4F, 0xBC, 0x67, 0xFE, 0xA8, 0x4E, 0x3C, 0x7E, 0x50, 0x12, 0x4B, 0x1, 0x3B, 0x4, 0xB3, 0x4, 0x8A, 0x42, 0x5A, 0xC1, 0x2, 0xB2, 0x9B, 0x9E, 0x4F, 0x21, 0x89, 0x5A, 0x1E, 0xAD, 0x65, 0xDA, 0x0, 0x1, 0x0, 0x43, 0xFF, 0xEB, 0x7, 0x80, 0x5, 0xB0, 0x0, 0x20, 0x0, 0x0, 0x5, 0x22, 0x26, 0x35, 0x11, 0x21, 0x3, 0x2, 0x2, 0x7, 0x23, 0x35, 0x37, 0x36, 0x36, 0x13, 0x13, 0x21, 0x11, 0x14, 0x16, 0x37, 0x36, 0x36, 0x37, 0x36, 0x27, 0x33, 0x16, 0x16, 0x7, 0x2, 0x0, 0x5, 0x90, 0xB1, 0xD7, 0xFE, 0x61, 0x1A, 0x16, 0xC6, 0xE7, 0x49, 0x31, 0x7B, 0x61, 0xD, 0x1B, 0x3, 0x8D, 0x4A, 0x41, 0x73, 0x7B, 0x3, 0x4, 0x40, 0xF6, 0x1A, 0x2B, 0x2, 0x4, 0xFE, 0xD9, 0x15, 0xB2, 0xCD, 0x3, 0x79, 0xFD, 0xCD, 0xFE, 0x8C, 0xFE, 0xC7, 0x3, 0xCA, 0x5, 0xE, 0xF4, 0x1, 0x2E, 0x2, 0xB1, 0xFB, 0xBA, 0x4E, 0x66, 0x1, 0x1, 0xBB, 0x9E, 0xBE, 0xD5, 0x61, 0xCB, 0x67, 0xFE, 0xEA, 0xFE, 0xF0, 0x0, 0x1, 0x0, 0x41, 0xFF, 0xEB, 0x6, 0x59, 0x4, 0x3A, 0x0, 0x20, 0x0, 0x0, 0x5, 0x22, 0x26, 0x35, 0x11, 0x21, 0x3, 0x2, 0x6, 0x7, 0x23, 0x27, 0x37, 0x36, 0x36, 0x37, 0x13, 0x21, 0x11, 0x14, 0x16, 0x37, 0x36, 0x36, 0x37, 0x36, 0x27, 0x33, 0x16, 0x16, 0x7, 0x2, 0x4, 0x4, 0xA1, 0xB1, 0xD9, 0xFE, 0xF8, 0x15, 0x13, 0xAA, 0xAC, 0x4F, 0x1, 0x27, 0x5F, 0x45, 0xA, 0x14, 0x2, 0xE0, 0x51, 0x46, 0x5D, 0x64, 0x2, 0x4, 0x40, 0xEC, 0x1A, 0x2B, 0x2, 0x4, 0xFE, 0xFB, 0x15, 0xB1, 0xCC, 0x2, 0xD, 0xFE, 0x8C, 0xFE, 0xEB, 0xEA, 0x2, 0xCB, 0x3, 0x8, 0xC1, 0xD5, 0x1, 0xCE, 0xFD, 0x2E, 0x50, 0x6A, 0x1, 0x1, 0xA9, 0x8F, 0xB5, 0xC8, 0x5C, 0xC0, 0x61, 0xFE, 0xFF, 0xFC, 0x0, 0x1, 0x0, 0x94, 0xFF, 0xE8, 0x7, 0x86, 0x5, 0xB0, 0x0, 0x1C, 0x0, 0x0, 0x5, 0x6, 0x26, 0x27, 0x35, 0x21, 0x11, 0x23, 0x11, 0x33, 0x11, 0x21, 0x11, 0x33, 0x11, 0x14, 0x16, 0x33, 0x36, 0x36, 0x37, 0x36, 0x27, 0x33, 0x16, 0x16, 0x7, 0x2, 0x0, 0x5, 0x95, 0xB0, 0xCC, 0xB, 0xFD, 0x83, 0xFD, 0xFD, 0x2, 0x7D, 0xFD, 0x4B, 0x3F, 0x74, 0x7B, 0x3, 0x4, 0x41, 0xF6, 0x1C, 0x2A, 0x2, 0x4, 0xFE, 0xD9, 0x15, 0x3, 0xB5, 0xCD, 0xFF, 0xFD, 0x97, 0x5, 0xB0, 0xFD, 0x83, 0x2, 0x7D, 0xFB, 0xB6, 0x4D, 0x62, 0x2, 0xBA, 0x9E, 0xBB, 0xD8, 0x65, 0xC8, 0x66, 0xFE, 0xEA, 0xFE, 0xF0, 0x0, 0x1, 0x0, 0x77, 0xFF, 0xE8, 0x6, 0x5D, 0x4, 0x3A, 0x0, 0x1C, 0x0, 0x0, 0x5, 0x6, 0x26, 0x27, 0x35, 0x21, 0x11, 0x23, 0x11, 0x33, 0x11, 0x21, 0x11, 0x33, 0x11, 0x14, 0x16, 0x33, 0x36, 0x36, 0x37, 0x36, 0x27, 0x33, 0x16, 0x16, 0x7, 0x2, 0x4, 0x4, 0xA4, 0xB1, 0xCE, 0xB, 0xFE, 0x50, 0xF3, 0xF3, 0x1, 0xB0, 0xF3, 0x52, 0x45, 0x5D, 0x64, 0x3, 0x4, 0x40, 0xEB, 0x28, 0x1E, 0x2, 0x4, 0xFE, 0xFA, 0x15, 0x3, 0xB4, 0xCC, 0x52, 0xFE, 0x46, 0x4, 0x3A, 0xFE, 0x44, 0x1, 0xBC, 0xFD, 0x2A, 0x4E, 0x67, 0x2, 0xA8, 0x8F, 0xAF, 0xCE, 0x8F, 0x9F, 0x4F, 0xFE, 0xFF, 0xFC, 0x0, 0x1, 0x0, 0x5D, 0xFF, 0xEB, 0x4, 0xBC, 0x5, 0xC5, 0x0, 0x1E, 0x0, 0x0, 0x5, 0x20, 0x0, 0x11, 0x11, 0x10, 0x0, 0x21, 0x32, 0x17, 0x7, 0x26, 0x23, 0x22, 0x6, 0x15, 0x11, 0x14, 0x16, 0x33, 0x36, 0x36, 0x37, 0x36, 0x27, 0x33, 0x17, 0x16, 0x7, 0x6, 0x4, 0x2, 0xBB, 0xFE, 0xF1, 0xFE, 0xB1, 0x1, 0x4F, 0x1, 0xF, 0xDE, 0x89, 0x3E, 0x86, 0xA3, 0xA6, 0xBB, 0xBB, 0xA6, 0x7C, 0x84, 0x3, 0x3, 0x35, 0xF5, 0x27, 0x14, 0x2, 0x4, 0xFE, 0xD0, 0x15, 0x1, 0x61, 0x1, 0x9, 0x1, 0x6, 0x1, 0xA, 0x1, 0x60, 0x59, 0xB8, 0x44, 0xF2, 0xA9, 0xFE, 0xF8, 0xAB, 0xF3, 0x2, 0x86, 0x73, 0x96, 0xCA, 0xAC, 0x5B, 0x59, 0xE7, 0xE0, 0x0, 0x1, 0x0, 0x55, 0xFF, 0xEB, 0x3, 0xE6, 0x4, 0x4E, 0x0, 0x1D, 0x0, 0x0, 0x25, 0x36, 0x36, 0x37, 0x34, 0x27, 0x33, 0x16, 0x7, 0x6, 0x6, 0x23, 0x22, 0x0, 0x35, 0x35, 0x34, 0x0, 0x33, 0x32, 0x17, 0x7, 0x26, 0x23, 0x22, 0x6, 0x15, 0x15, 0x14, 0x16, 0x2, 0x5A, 0x57, 0x3F, 0x2, 0x13, 0xEB, 0x1C, 0x1, 0x4, 0xDF, 0xA8, 0xF9, 0xFE, 0xF4, 0x1, 0x3, 0xEE, 0xBB, 0x5F, 0x2E, 0x62, 0x8A, 0x87, 0x77, 0x7F, 0xAF, 0x2, 0x49, 0x41, 0x76, 0x68, 0x8C, 0x52, 0xAA, 0xA6, 0x1, 0x45, 0xD8, 0x2A, 0xD8, 0x1, 0x44, 0x42, 0xBC, 0x3A, 0xDD, 0x7B, 0x2A, 0x7C, 0xDD, 0x0, 0x1, 0x0, 0x22, 0xFF, 0xE8, 0x5, 0x5A, 0x5, 0xB0, 0x0, 0x18, 0x0, 0x0, 0x5, 0x6, 0x26, 0x27, 0x11, 0x21, 0x35, 0x21, 0x15, 0x21, 0x11, 0x6, 0x16, 0x33, 0x36, 0x36, 0x37, 0x36, 0x27, 0x33, 0x16, 0x16, 0x7, 0x2, 0x0, 0x3, 0x6A, 0xB0, 0xCD, 0xA, 0xFE, 0x3F, 0x4, 0x80, 0xFE, 0x3D, 0x1, 0x4C, 0x40, 0x74, 0x7B, 0x3, 0x4, 0x40, 0xF5, 0x1B, 0x2A, 0x2, 0x4, 0xFE, 0xDA, 0x15, 0x3, 0xB5, 0xCD, 0x3, 0x79, 0xCD, 0xCD, 0xFC, 0x87, 0x4E, 0x65, 0x2, 0xBA, 0x9E, 0xB7, 0xDC, 0x61, 0xCB, 0x67, 0xFE, 0xEA, 0xFE, 0xF0, 0x0, 0x1, 0x0, 0x45, 0xFF, 0xE8, 0x4, 0xCD, 0x4, 0x3A, 0x0, 0x18, 0x0, 0x0, 0x5, 0x6, 0x26, 0x27, 0x11, 0x21, 0x35, 0x21, 0x15, 0x21, 0x11, 0x6, 0x16, 0x33, 0x36, 0x36, 0x37, 0x36, 0x27, 0x33, 0x16, 0x16, 0x7, 0x6, 0x4, 0x3, 0x13, 0xB1, 0xCE, 0xA, 0xFE, 0xBB, 0x3, 0x8B, 0xFE, 0xAD, 0x1, 0x51, 0x46, 0x5E, 0x64, 0x3, 0x3, 0x3F, 0xEB, 0x1B, 0x2B, 0x2, 0x4, 0xFE, 0xF9, 0x15, 0x3, 0xB4, 0xCC, 0x2, 0x10, 0xC2, 0xC2, 0xFD, 0xF0, 0x50, 0x69, 0x2, 0x85, 0x73, 0x93, 0x9E, 0x4C, 0x99, 0x4C, 0xE1, 0xDD, 0x0, 0x1, 0x0, 0x82, 0xFF, 0xEB, 0x4, 0xFF, 0x5, 0xC5, 0x0, 0x27, 0x0, 0x0, 0x1, 0x14, 0x6, 0x4, 0x23, 0x20, 0x24, 0x35, 0x34, 0x25, 0x26, 0x26, 0x35, 0x34, 0x24, 0x21, 0x32, 0x4, 0x15, 0x23, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x14, 0x16, 0x33, 0x33, 0x15, 0x23, 0x4, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x4, 0xFF, 0xA5, 0xFE, 0xFF, 0x8A, 0xFF, 0x0, 0xFE, 0xB3, 0x1, 0xD, 0x73, 0x84, 0x1, 0x37, 0x1, 0x0, 0xDD, 0x1, 0x3F, 0xFC, 0xA7, 0x79, 0xA3, 0x97, 0x8C, 0x9E, 0xC0, 0xD2, 0xFE, 0xD2, 0xB0, 0xA0, 0x8A, 0xAA, 0x1, 0x94, 0x95, 0xBC, 0x58, 0xE0, 0xCD, 0xFD, 0x57, 0x30, 0xA5, 0x64, 0xCC, 0xD4, 0xDB, 0xBE, 0x5B, 0x73, 0x80, 0x56, 0x61, 0x79, 0xC7, 0x7, 0xE4, 0x61, 0x82, 0x84, 0x5B, 0xFF, 0xFF, 0x0, 0x2D, 0xFE, 0x4B, 0x5, 0xFC, 0x5, 0xB0, 0x0, 0x26, 0x2, 0x73, 0x0, 0x0, 0x0, 0x7, 0x7, 0xE3, 0x4, 0x6E, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x22, 0xFE, 0x4B, 0x5, 0x6, 0x4, 0x3A, 0x0, 0x26, 0x2, 0x88, 0x0, 0x0, 0x0, 0x7, 0x7, 0xE3, 0x3, 0x78, 0x0, 0x0, 0x0, 0x1, 0x0, 0x2D, 0x0, 0x0, 0x7, 0x88, 0x5, 0xB0, 0x0, 0x17, 0x0, 0x0, 0x33, 0x35, 0x37, 0x36, 0x36, 0x13, 0x13, 0x21, 0x1, 0x1, 0x21, 0x1, 0x1, 0x21, 0x1, 0x1, 0x21, 0x1, 0x1, 0x23, 0x3, 0x2, 0x2, 0x7, 0x2D, 0x31, 0x7B, 0x61, 0xD, 0x1B, 0x2, 0x94, 0x1, 0x32, 0x1, 0x31, 0x1, 0x24, 0xFE, 0x48, 0x1, 0xC3, 0xFE, 0xD9, 0xFE, 0xC7, 0xFE, 0xC6, 0xFE, 0xD9, 0x1, 0xC3, 0xFE, 0xC4, 0xFA, 0x1B, 0x16, 0xC5, 0xE7, 0xCA, 0x5, 0xE, 0xF4, 0x1, 0x2E, 0x2, 0xB1, 0xFD, 0xF2, 0x2, 0xE, 0xFD, 0x2E, 0xFD, 0x22, 0x2, 0x17, 0xFD, 0xE9, 0x2, 0xDE, 0x2, 0x7, 0xFD, 0xCB, 0xFE, 0x8C, 0xFE, 0xC7, 0x3, 0x0, 0x1, 0x0, 0x22, 0x0, 0x0, 0x5, 0xFE, 0x4, 0x3A, 0x0, 0x17, 0x0, 0x0, 0x33, 0x27, 0x37, 0x36, 0x36, 0x37, 0x13, 0x21, 0x13, 0x13, 0x21, 0x1, 0x1, 0x21, 0x3, 0x3, 0x21, 0x1, 0x3, 0x23, 0x3, 0x2, 0x6, 0x7, 0x23, 0x1, 0x27, 0x5F, 0x44, 0xA, 0x14, 0x2, 0x43, 0xCA, 0xCE, 0x1, 0xD, 0xFE, 0xB6, 0x1, 0x56, 0xFE, 0xF3, 0xD8, 0xD7, 0xFE, 0xF2, 0x1, 0x56, 0xD0, 0xCA, 0x15, 0x13, 0xAA, 0xAC, 0xCB, 0x3, 0x8, 0xC1, 0xD5, 0x1, 0xCE, 0xFE, 0x9C, 0x1, 0x64, 0xFD, 0xEC, 0xFD, 0xDA, 0x1, 0x72, 0xFE, 0x8E, 0x2, 0x26, 0x1, 0x50, 0xFE, 0x8B, 0xFE, 0xEB, 0xEA, 0x2, 0x0, 0x2, 0x0, 0x95, 0x0, 0x0, 0x6, 0xF8, 0x5, 0xB0, 0x0, 0x8, 0x0, 0x18, 0x0, 0x0, 0x1, 0x11, 0x21, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x1, 0x11, 0x23, 0x11, 0x21, 0x32, 0x4, 0x17, 0x13, 0x21, 0x1, 0x1, 0x21, 0x1, 0x6, 0x23, 0x1, 0x91, 0x1, 0x31, 0x93, 0x81, 0x81, 0x93, 0xFE, 0xCF, 0xFC, 0x2, 0x2D, 0xC6, 0x1, 0x1, 0x30, 0xF2, 0x1, 0x2F, 0xFD, 0xE9, 0x2, 0x35, 0xFE, 0xD4, 0xFE, 0x4D, 0x85, 0xD2, 0x4, 0xE5, 0xFE, 0x3, 0x8A, 0x6D, 0x66, 0xA0, 0xFD, 0x38, 0xFD, 0xE3, 0x5, 0xB0, 0xA4, 0x87, 0x1, 0x2B, 0xFD, 0x74, 0xFC, 0xDC, 0x2, 0x72, 0x55, 0x0, 0x2, 0x0, 0x7D, 0xFE, 0x60, 0x6, 0x2D, 0x4, 0x4E, 0x0, 0xB, 0x0, 0x20, 0x0, 0x0, 0x25, 0x32, 0x36, 0x35, 0x35, 0x34, 0x26, 0x23, 0x22, 0x7, 0x11, 0x16, 0x17, 0x22, 0x27, 0x11, 0x23, 0x11, 0x33, 0x17, 0x36, 0x33, 0x32, 0x16, 0x17, 0x13, 0x21, 0x1, 0x1, 0x21, 0x3, 0x6, 0x6, 0x2, 0x48, 0x83, 0x73, 0x75, 0x83, 0x96, 0x41, 0x43, 0xDA, 0xB1, 0x6C, 0xF2, 0xDF, 0xA, 0x6D, 0xB7, 0x98, 0xC7, 0x2A, 0xCD, 0x1, 0x2D, 0xFE, 0x89, 0x1, 0x97, 0xFE, 0xC5, 0xDC, 0x28, 0xC8, 0xAF, 0xD3, 0x90, 0x15, 0x92, 0xCF, 0x7D, 0xFE, 0x23, 0x7F, 0xC3, 0x75, 0xFD, 0xFF, 0x5, 0xDA, 0x6D, 0x81, 0xAB, 0x93, 0x1, 0x2A, 0xFD, 0xE8, 0xFD, 0xDE, 0x1, 0x3B, 0x97, 0xB8, 0x0, 0x2, 0x0, 0x43, 0x0, 0x0, 0x7, 0x3C, 0x5, 0xB0, 0x0, 0x8, 0x0, 0x1D, 0x0, 0x0, 0x1, 0x11, 0x23, 0x22, 0x6, 0x15, 0x14, 0x16, 0x33, 0x13, 0x11, 0x21, 0x1, 0x21, 0x1, 0x26, 0x11, 0x34, 0x24, 0x33, 0x21, 0x15, 0x21, 0x11, 0x21, 0x15, 0x21, 0x11, 0x21, 0x15, 0x3, 0x85, 0xEC, 0x8B, 0x88, 0x8A, 0x89, 0xEC, 0xFE, 0xE6, 0xFE, 0xE7, 0xFE, 0xF1, 0x1, 0x45, 0xFE, 0x1, 0x1B, 0xF4, 0x4, 0x9C, 0xFD, 0x4C, 0x2, 0x56, 0xFD, 0xAA, 0x2, 0xBB, 0x2, 0xE4, 0x2, 0x1, 0x87, 0x75, 0x7A, 0x8B, 0xFD, 0x1C, 0x2, 0x21, 0xFD, 0xDF, 0x2, 0x6C, 0x77, 0x1, 0x11, 0xD8, 0xE4, 0xCB, 0xFE, 0x6D, 0xC7, 0xFE, 0x3F, 0xCA, 0x0, 0x3, 0x0, 0x27, 0xFF, 0xEC, 0x6, 0xA5, 0x4, 0x4E, 0x0, 0x7, 0x0, 0x10, 0x0, 0x2E, 0x0, 0x0, 0x1, 0x22, 0x6, 0x7, 0x21, 0x35, 0x26, 0x26, 0x1, 0x11, 0x23, 0x22, 0x6, 0x15, 0x14, 0x16, 0x33, 0x1, 0x6, 0x6, 0x23, 0x22, 0x24, 0x27, 0x23, 0x3, 0x23, 0x13, 0x26, 0x35, 0x34, 0x36, 0x33, 0x21, 0x15, 0x36, 0x33, 0x32, 0x12, 0x15, 0x15, 0x21, 0x16, 0x16, 0x33, 0x32, 0x37, 0x4, 0xD6, 0x63, 0x7B, 0x11, 0x1, 0xCE, 0x4, 0x62, 0xFD, 0x9F, 0xE1, 0x65, 0x5D, 0x57, 0x5E, 0x4, 0x94, 0x34, 0xCC, 0xA1, 0xD3, 0xFE, 0xF5, 0x1E, 0xEB, 0xE8, 0xFD, 0xFF, 0xCF, 0xE8, 0xCE, 0x1, 0xB7, 0x78, 0x9B, 0xEC, 0xE2, 0xFD, 0x3D, 0xA, 0x95, 0x80, 0xA8, 0x68, 0x3, 0x8B, 0x8C, 0x7C, 0x12, 0x5F, 0x97, 0xFE, 0xB7, 0x1, 0x37, 0x65, 0x39, 0x38, 0x61, 0xFE, 0x76, 0x4C, 0x80, 0xEB, 0xB7, 0xFE, 0x72, 0x1, 0xB6, 0x57, 0xD3, 0x95, 0xC5, 0x42, 0x56, 0xFE, 0xD4, 0xEA, 0x67, 0x7D, 0xA5, 0x86, 0x0, 0x1, 0x0, 0x9B, 0x0, 0x0, 0x5, 0x26, 0x5, 0xB0, 0x0, 0x14, 0x0, 0x0, 0x21, 0x1, 0x23, 0x11, 0x23, 0x11, 0x33, 0x11, 0x33, 0x13, 0x27, 0x37, 0x17, 0x37, 0x21, 0x1, 0x17, 0x7, 0x27, 0x7, 0x1, 0x3, 0xEE, 0xFE, 0x12, 0x69, 0xFC, 0xFC, 0x5A, 0xE8, 0x96, 0x6F, 0x8D, 0x8A, 0x1, 0x39, 0xFE, 0xF8, 0xA9, 0x6E, 0xA2, 0xAC, 0x2, 0x3F, 0x2, 0x8B, 0xFD, 0x75, 0x5, 0xB0, 0xFD, 0x82, 0x1, 0x3A, 0x80, 0x82, 0x79, 0xBB, 0xFE, 0xA5, 0x91, 0x81, 0x8A, 0xE3, 0xFD, 0x16, 0x0, 0x1, 0x0, 0x8F, 0x0, 0x0, 0x4, 0x5E, 0x4, 0x3B, 0x0, 0x14, 0x0, 0x0, 0x21, 0x1, 0x23, 0x11, 0x23, 0x11, 0x33, 0x11, 0x33, 0x37, 0x27, 0x37, 0x17, 0x37, 0x21, 0x7, 0x17, 0x7, 0x27, 0x7, 0x1, 0x3, 0x2D, 0xFE, 0xCF, 0x7A, 0xF3, 0xF3, 0x6F, 0x89, 0x88, 0x6B, 0x81, 0x4C, 0x1, 0x1B, 0xB7, 0x9C, 0x6A, 0x96, 0x6B, 0x1, 0x9F, 0x1, 0xAD, 0xFE, 0x53, 0x4, 0x3A, 0xFE, 0x51, 0xBD, 0x70, 0x83, 0x6A, 0x69, 0xFA, 0x80, 0x84, 0x7B, 0x92, 0xFD, 0xDB, 0x0, 0x1, 0x0, 0x2D, 0xFE, 0x4B, 0x8, 0x32, 0x5, 0xB0, 0x0, 0x26, 0x0, 0x0, 0x1, 0x22, 0x27, 0x37, 0x16, 0x33, 0x32, 0x35, 0x11, 0x34, 0x26, 0x23, 0x22, 0x7, 0x11, 0x23, 0x11, 0x21, 0x3, 0x2, 0x2, 0x7, 0x23, 0x35, 0x37, 0x36, 0x36, 0x13, 0x13, 0x21, 0x11, 0x36, 0x33, 0x32, 0x4, 0x15, 0x11, 0x14, 0x6, 0x6, 0xCD, 0x45, 0x3A, 0xF, 0x32, 0x2D, 0x7A, 0x8F, 0x8C, 0x7A, 0x93, 0xFD, 0xFE, 0x43, 0x1B, 0x16, 0xC5, 0xE7, 0x4A, 0x31, 0x7B, 0x61, 0xD, 0x1B, 0x3, 0xAC, 0x95, 0xA4, 0xE4, 0x1, 0x7, 0xC0, 0xFE, 0x4B, 0x11, 0xCD, 0xD, 0xA5, 0x2, 0x7, 0x9B, 0x6D, 0x1D, 0xFD, 0x4D, 0x4, 0xE5, 0xFD, 0xCB, 0xFE, 0x8C, 0xFE, 0xC7, 0x3, 0xCA, 0x5, 0xE, 0xF4, 0x1, 0x2E, 0x2, 0xB1, 0xFD, 0xCF, 0x1C, 0xDA, 0xF9, 0xFD, 0xF9, 0xB6, 0xC0, 0x0, 0x1, 0x0, 0x22, 0xFE, 0x4B, 0x6, 0xA3, 0x4, 0x3A, 0x0, 0x26, 0x0, 0x0, 0x1, 0x22, 0x27, 0x37, 0x16, 0x33, 0x32, 0x37, 0x11, 0x34, 0x26, 0x23, 0x22, 0x7, 0x11, 0x23, 0x11, 0x21, 0x3, 0x2, 0x6, 0x7, 0x23, 0x27, 0x37, 0x36, 0x36, 0x37, 0x13, 0x21, 0x11, 0x36, 0x33, 0x32, 0x16, 0x15, 0x11, 0x14, 0x6, 0x5, 0x44, 0x45, 0x3B, 0xF, 0x27, 0x3C, 0x7A, 0x1, 0x6D, 0x68, 0x5F, 0x69, 0xF3, 0xFE, 0xCF, 0x15, 0x13, 0xAA, 0xAC, 0x4F, 0x1, 0x27, 0x5F, 0x44, 0xA, 0x14, 0x3, 0xA, 0x75, 0x79, 0xBD, 0xE4, 0xBA, 0xFE, 0x4B, 0x11, 0xBF, 0xD, 0xB0, 0x1, 0x8D, 0x76, 0x62, 0x19, 0xFD, 0xF6, 0x3, 0x76, 0xFE, 0x8B, 0xFE, 0xEB, 0xEA, 0x2, 0xCB, 0x3, 0x8, 0xC1, 0xD5, 0x1, 0xCE, 0xFE, 0x92, 0x1A, 0xC8, 0xD3, 0xFE, 0x76, 0xB6, 0xC0, 0x0, 0x1, 0x0, 0x9B, 0xFE, 0x4B, 0x8, 0x44, 0x5, 0xB0, 0x0, 0x22, 0x0, 0x0, 0x1, 0x22, 0x27, 0x37, 0x16, 0x33, 0x32, 0x35, 0x11, 0x34, 0x26, 0x23, 0x22, 0x7, 0x11, 0x23, 0x11, 0x21, 0x11, 0x23, 0x11, 0x33, 0x11, 0x21, 0x11, 0x33, 0x11, 0x36, 0x33, 0x32, 0x4, 0x15, 0x11, 0x14, 0x6, 0x6, 0xDF, 0x45, 0x3A, 0xE, 0x32, 0x2D, 0x7B, 0x8A, 0x8C, 0x85, 0x8E, 0xFC, 0xFD, 0x74, 0xFC, 0xFC, 0x2, 0x8C, 0xFC, 0x87, 0x8C, 0xF5, 0x1, 0x1D, 0xC0, 0xFE, 0x4B, 0x11, 0xCD, 0xD, 0xA5, 0x2, 0x7, 0x9B, 0x6D, 0x1C, 0xFD, 0x4C, 0x2, 0x88, 0xFD, 0x78, 0x5, 0xB0, 0xFD, 0xA2, 0x2, 0x5E, 0xFD, 0xD0, 0x1B, 0xDA, 0xF9, 0xFD, 0xF9, 0xB6, 0xC0, 0x0, 0x1, 0x0, 0x86, 0xFE, 0x4B, 0x6, 0xA0, 0x4, 0x3A, 0x0, 0x22, 0x0, 0x0, 0x1, 0x22, 0x27, 0x37, 0x16, 0x33, 0x32, 0x37, 0x11, 0x34, 0x26, 0x23, 0x22, 0x7, 0x11, 0x23, 0x11, 0x21, 0x11, 0x23, 0x11, 0x33, 0x11, 0x21, 0x11, 0x33, 0x11, 0x36, 0x33, 0x32, 0x16, 0x15, 0x11, 0x14, 0x6, 0x5, 0x41, 0x45, 0x3B, 0xF, 0x27, 0x3C, 0x7A, 0x1, 0x6A, 0x6B, 0x65, 0x63, 0xF3, 0xFE, 0x5B, 0xF3, 0xF3, 0x1, 0xA5, 0xF3, 0x64, 0x64, 0xD1, 0xF6, 0xBA, 0xFE, 0x4B, 0x11, 0xBF, 0xD, 0xB0, 0x1, 0x8D, 0x76, 0x62, 0x18, 0xFD, 0xF5, 0x1, 0xB5, 0xFE, 0x4B, 0x4, 0x3A, 0xFE, 0x3D, 0x1, 0xC3, 0xFE, 0x96, 0x16, 0xC8, 0xD3, 0xFE, 0x76, 0xB6, 0xC0, 0x0, 0x1, 0x0, 0x9B, 0xFE, 0x99, 0x5, 0xD6, 0x5, 0xB0, 0x0, 0xB, 0x0, 0x0, 0x25, 0x11, 0x23, 0x11, 0x23, 0x11, 0x21, 0x11, 0x23, 0x11, 0x21, 0x11, 0x5, 0xD6, 0xF2, 0xCC, 0xFD, 0x7F, 0xFC, 0x4, 0x7A, 0xB5, 0xFD, 0xE4, 0x1, 0x67, 0x4, 0xE5, 0xFB, 0x1B, 0x5, 0xB0, 0xFB, 0x5, 0x0, 0x1, 0x0, 0x86, 0xFE, 0x99, 0x4, 0xD7, 0x4, 0x3A, 0x0, 0xB, 0x0, 0x0, 0x25, 0x11, 0x23, 0x11, 0x23, 0x11, 0x21, 0x11, 0x23, 0x11, 0x21, 0x11, 0x4, 0xD7, 0xF3, 0xC4, 0xFE, 0x59, 0xF3, 0x3, 0x8D, 0xB5, 0xFD, 0xE4, 0x1, 0x67, 0x3, 0x76, 0xFC, 0x8A, 0x4, 0x3A, 0xFC, 0x7B, 0x0, 0x1, 0x0, 0x85, 0xFE, 0x99, 0x5, 0xB0, 0x5, 0xB0, 0x0, 0x15, 0x0, 0x0, 0x21, 0x23, 0x11, 0x33, 0x11, 0x36, 0x33, 0x32, 0x4, 0x17, 0x11, 0x33, 0x11, 0x23, 0x11, 0x23, 0x11, 0x26, 0x26, 0x23, 0x22, 0x7, 0x1, 0x81, 0xFC, 0xFC, 0xA2, 0xB0, 0xF4, 0x1, 0x1C, 0x2, 0xCB, 0xF3, 0xD4, 0x1, 0x89, 0x8C, 0xA7, 0xAB, 0x5, 0xB0, 0xFD, 0xC1, 0x2A, 0xD6, 0xF5, 0xFE, 0xE5, 0xFD, 0xE4, 0x1, 0x67, 0x1, 0xCE, 0x97, 0x6B, 0x2A, 0x0, 0x1, 0x0, 0x7A, 0xFE, 0x99, 0x4, 0xBD, 0x6, 0x0, 0x0, 0x15, 0x0, 0x0, 0x25, 0x11, 0x23, 0x11, 0x23, 0x11, 0x34, 0x26, 0x23, 0x22, 0x7, 0x11, 0x23, 0x11, 0x33, 0x11, 0x36, 0x33, 0x32, 0x16, 0x17, 0x11, 0x4, 0xBD, 0xF2, 0xC5, 0x62, 0x5D, 0x91, 0x4A, 0xF2, 0xF2, 0x78, 0xB5, 0x9F, 0xC0, 0x1, 0xB5, 0xFD, 0xE4, 0x1, 0x67, 0x2, 0xBB, 0x71, 0x5C, 0x81, 0xFC, 0xF9, 0x6, 0x0, 0xFD, 0xC3, 0x8B, 0xB6, 0xDA, 0xFD, 0xF7, 0x0, 0x1, 0x0, 0xD, 0xFE, 0x4B, 0x5, 0x78, 0x5, 0xB0, 0x0, 0x14, 0x0, 0x0, 0x13, 0x22, 0x27, 0x37, 0x16, 0x33, 0x32, 0x35, 0x11, 0x33, 0x11, 0x21, 0x11, 0x33, 0x11, 0x23, 0x11, 0x21, 0x11, 0x14, 0x6, 0x8C, 0x45, 0x3A, 0xE, 0x32, 0x2D, 0x7B, 0xFC, 0x2, 0x8B, 0xFC, 0xFC, 0xFD, 0x75, 0xC1, 0xFE, 0x4B, 0x11, 0xCD, 0xD, 0xA5, 0x5, 0xEF, 0xFD, 0xA2, 0x2, 0x5E, 0xFA, 0x50, 0x2, 0x88, 0xFD, 0x39, 0xB6, 0xC0, 0x0, 0x1, 0x0, 0xD, 0xFE, 0x4B, 0x4, 0x84, 0x4, 0x3A, 0x0, 0x14, 0x0, 0x0, 0x13, 0x22, 0x27, 0x37, 0x16, 0x33, 0x32, 0x37, 0x11, 0x33, 0x11, 0x21, 0x11, 0x33, 0x11, 0x23, 0x11, 0x21, 0x11, 0x6, 0x6, 0x8C, 0x45, 0x3A, 0xE, 0x26, 0x3D, 0x7A, 0x1, 0xF3, 0x1, 0xA5, 0xF3, 0xF3, 0xFE, 0x5B, 0x1, 0xBB, 0xFE, 0x4B, 0x11, 0xC5, 0xC, 0xA9, 0x4, 0x7C, 0xFE, 0x3D, 0x1, 0xC3, 0xFB, 0xC6, 0x1, 0xB5, 0xFE, 0x8, 0xB4, 0xBE, 0x0, 0x2, 0x0, 0x24, 0xFE, 0x9A, 0xA, 0xCF, 0x5, 0xB0, 0x0, 0x5, 0x0, 0x25, 0x0, 0x0, 0x25, 0x21, 0x11, 0x21, 0x3, 0x2, 0x1, 0x11, 0x21, 0x11, 0x23, 0x3, 0x33, 0x36, 0x12, 0x13, 0x13, 0x21, 0x11, 0x21, 0x11, 0x33, 0x11, 0x33, 0x1, 0x21, 0x1, 0x1, 0x21, 0x1, 0x23, 0x11, 0x23, 0x11, 0x21, 0x11, 0x33, 0x3, 0x1, 0xB7, 0x2, 0x70, 0xFE, 0x57, 0x18, 0x1D, 0x2, 0x96, 0xFC, 0x41, 0xF3, 0x9, 0x76, 0x36, 0x84, 0x14, 0x26, 0x3, 0x96, 0x1, 0x27, 0xFD, 0x8A, 0x1, 0xAC, 0x1, 0x32, 0xFE, 0x6, 0x2, 0x19, 0xFE, 0xD4, 0xFE, 0x4A, 0xA5, 0xFD, 0xFE, 0xD9, 0xB8, 0xD, 0xCA, 0x4, 0x1B, 0xFE, 0x55, 0xFE, 0x6F, 0xFC, 0xF1, 0x1, 0x66, 0xFE, 0x9A, 0x2, 0x30, 0x34, 0x1, 0x19, 0x1, 0x27, 0x2, 0x72, 0xFD, 0x98, 0x2, 0x68, 0xFD, 0x98, 0x2, 0x68, 0xFD, 0x4C, 0xFD, 0x4, 0x2, 0x76, 0xFD, 0x8A, 0x2, 0x76, 0xFE, 0x54, 0xFD, 0xD0, 0x0, 0x2, 0x0, 0x27, 0xFE, 0xBE, 0x8, 0xFC, 0x4, 0x3A, 0x0, 0x5, 0x0, 0x25, 0x0, 0x0, 0x25, 0x21, 0x11, 0x21, 0x7, 0x2, 0x3, 0x11, 0x23, 0x11, 0x33, 0x36, 0x36, 0x37, 0x13, 0x21, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x1, 0x21, 0x1, 0x1, 0x21, 0x1, 0x23, 0x11, 0x23, 0x11, 0x23, 0x15, 0x33, 0x11, 0x23, 0x11, 0x1, 0x9E, 0x1, 0x9F, 0xFE, 0xEF, 0x5, 0xE, 0xFB, 0xF7, 0x5A, 0x54, 0x58, 0x7, 0xC, 0x2, 0xF0, 0xF6, 0xF3, 0x6B, 0x1, 0x2B, 0x1, 0x2C, 0xFE, 0x79, 0x1, 0xA8, 0xFE, 0xC4, 0xFE, 0xD4, 0x7B, 0xF3, 0xF6, 0x96, 0xF3, 0xC3, 0x2, 0xA6, 0xB6, 0xFE, 0xC4, 0xFE, 0x89, 0xFE, 0xBE, 0x2, 0x5, 0x5E, 0xC9, 0xCD, 0x1, 0x83, 0xFE, 0x51, 0x1, 0xAF, 0xFE, 0x51, 0x1, 0xAF, 0xFD, 0xFA, 0xFD, 0xCC, 0x1, 0xAD, 0xFE, 0x53, 0x1, 0xAD, 0xEA, 0xFD, 0xFB, 0x1, 0x42, 0x0, 0x3, 0x0, 0x3A, 0xFE, 0x9A, 0x5, 0xF2, 0x5, 0xB0, 0x0, 0x3, 0x0, 0x7, 0x0, 0x1B, 0x0, 0x0, 0x1, 0x11, 0x23, 0x1, 0x7, 0x3, 0x21, 0x11, 0x13, 0x11, 0x21, 0x11, 0x23, 0x3, 0x33, 0x13, 0x26, 0x3, 0x11, 0x33, 0x11, 0x14, 0x17, 0x1, 0x21, 0x11, 0x33, 0x3, 0x4, 0x3D, 0x66, 0xFE, 0xEB, 0x6C, 0xB1, 0x2, 0x98, 0xB8, 0xFC, 0x41, 0xF4, 0x8, 0x51, 0xD6, 0xEC, 0x7, 0xFD, 0x61, 0x1, 0x82, 0x1, 0xEB, 0xB9, 0xD, 0x2, 0xE0, 0x2, 0x5, 0xFD, 0xFB, 0xCA, 0xFE, 0xB4, 0x1, 0x4B, 0xFC, 0x85, 0x1, 0x66, 0xFE, 0x9A, 0x2, 0x30, 0x1, 0x7C, 0x62, 0x1, 0x2C, 0x1, 0xDC, 0xFE, 0x37, 0xAE, 0x36, 0x2, 0xAD, 0xFB, 0x1A, 0xFD, 0xD0, 0x0, 0x3, 0x0, 0x2B, 0xFE, 0xBE, 0x4, 0xC9, 0x4, 0x3A, 0x0, 0x3, 0x0, 0x8, 0x0, 0x1C, 0x0, 0x0, 0x1, 0x23, 0x3, 0x33, 0x5, 0x7, 0x21, 0x35, 0x21, 0x3, 0x11, 0x23, 0x11, 0x33, 0x37, 0x26, 0x27, 0x11, 0x33, 0x11, 0x14, 0x17, 0x1, 0x21, 0x11, 0x33, 0x11, 0x23, 0x11, 0x3, 0x41, 0x1F, 0xD1, 0xF0, 0xFE, 0x9B, 0x6A, 0x1, 0xCF, 0xFE, 0xC2, 0xE2, 0xF6, 0x3A, 0x97, 0xA4, 0x2, 0xE8, 0x31, 0x1, 0x3F, 0x1, 0x85, 0x96, 0xF2, 0x3, 0x69, 0xFE, 0xB8, 0xB8, 0xA6, 0xA4, 0xFE, 0x99, 0xFE, 0xBE, 0x2, 0x5, 0xE6, 0x64, 0xF0, 0x1, 0x3D, 0xFE, 0xC9, 0x76, 0x36, 0x1, 0xE3, 0xFC, 0x89, 0xFD, 0xFB, 0x1, 0x42, 0x0, 0x1, 0x0, 0x2D, 0xFE, 0x99, 0x5, 0xCF, 0x5, 0xB0, 0x0, 0x13, 0x0, 0x0, 0x1, 0x21, 0x11, 0x33, 0x11, 0x23, 0x11, 0x23, 0x11, 0x21, 0x3, 0x2, 0x2, 0x7, 0x23, 0x35, 0x37, 0x36, 0x36, 0x13, 0x1, 0x62, 0x3, 0xAC, 0xC1, 0xF3, 0xCB, 0xFE, 0x42, 0x1A, 0x16, 0xC5, 0xE7, 0x4A, 0x31, 0x7B, 0x61, 0xD, 0x5, 0xB0, 0xFB, 0x5, 0xFD, 0xE4, 0x1, 0x67, 0x4, 0xE5, 0xFD, 0xCB, 0xFE, 0x8C, 0xFE, 0xC7, 0x3, 0xCA, 0x5, 0xE, 0xF4, 0x1, 0x2E, 0x0, 0x1, 0x0, 0x22, 0xFE, 0x99, 0x4, 0xD8, 0x4, 0x3A, 0x0, 0x13, 0x0, 0x0, 0x1, 0x21, 0x11, 0x33, 0x11, 0x23, 0x11, 0x23, 0x11, 0x21, 0x3, 0x2, 0x6, 0x7, 0x23, 0x27, 0x37, 0x36, 0x36, 0x37, 0x1, 0xA, 0x3, 0xA, 0xC4, 0xF2, 0xC5, 0xFE, 0xCF, 0x15, 0x13, 0xAA, 0xAC, 0x4F, 0x1, 0x27, 0x5F, 0x44, 0xA, 0x4, 0x3A, 0xFC, 0x7B, 0xFD, 0xE4, 0x1, 0x67, 0x3, 0x76, 0xFE, 0x8B, 0xFE, 0xEB, 0xEA, 0x2, 0xCB, 0x3, 0x8, 0xC1, 0xD5, 0x0, 0x1, 0xFB, 0x6C, 0x4, 0xE1, 0x0, 0x1D, 0x6, 0x1, 0x0, 0xE, 0x0, 0x0, 0x1, 0x7, 0x23, 0x35, 0x1, 0x33, 0x17, 0x37, 0x33, 0x1, 0x15, 0x23, 0x27, 0x7, 0x23, 0xFC, 0xC2, 0x95, 0xC1, 0x1, 0xF, 0x8F, 0xB9, 0xBA, 0x8F, 0x1, 0x11, 0xC3, 0x96, 0x95, 0xD7, 0x5, 0x7D, 0x9C, 0xD, 0x1, 0x13, 0xBE, 0xBE, 0xFE, 0xEB, 0xB, 0x9C, 0x9C, 0x0, 0x4, 0xFB, 0xAF, 0x4, 0xC4, 0xFF, 0xC1, 0x6, 0x60, 0x0, 0x9, 0x0, 0x15, 0x0, 0x1F, 0x0, 0x2B, 0x0, 0x0, 0x0, 0x36, 0x33, 0x32, 0x16, 0x14, 0x6, 0x23, 0x22, 0x26, 0x37, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x5, 0x34, 0x36, 0x32, 0x16, 0x15, 0x14, 0x6, 0x22, 0x26, 0x25, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x6, 0x23, 0x22, 0x26, 0xFC, 0xDB, 0x7F, 0x5F, 0x5E, 0x7F, 0x7F, 0x5E, 0x5F, 0x7F, 0x6D, 0x3F, 0x32, 0x31, 0x3F, 0x3F, 0x31, 0x32, 0x3F, 0xFE, 0x67, 0x43, 0x7C, 0x45, 0x45, 0x7C, 0x43, 0x3, 0xE, 0x44, 0x3E, 0x3D, 0x45, 0x45, 0x3D, 0x3E, 0x44, 0x5, 0xE6, 0x7A, 0x7A, 0xAC, 0x76, 0x76, 0x56, 0x2B, 0x44, 0x43, 0x2C, 0x2E, 0x44, 0x44, 0x6F, 0x32, 0x44, 0x44, 0x32, 0x31, 0x45, 0x45, 0x2F, 0x32, 0x45, 0x45, 0x32, 0x31, 0x44, 0x44, 0x0, 0x3, 0xFB, 0xD1, 0x4, 0x60, 0xFF, 0x9F, 0x6, 0x9D, 0x0, 0x19, 0x0, 0x25, 0x0, 0x31, 0x0, 0x0, 0x1, 0x22, 0x26, 0x27, 0x6, 0x6, 0x23, 0x22, 0x26, 0x35, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x17, 0x36, 0x36, 0x33, 0x32, 0x16, 0x15, 0x15, 0x14, 0x6, 0x27, 0x32, 0x37, 0x35, 0x34, 0x23, 0x22, 0x6, 0x7, 0x15, 0x16, 0x16, 0x21, 0x32, 0x36, 0x37, 0x35, 0x26, 0x26, 0x23, 0x22, 0x7, 0x15, 0x14, 0xFE, 0xA7, 0x52, 0x7A, 0x23, 0x23, 0x79, 0x52, 0x74, 0x85, 0x85, 0x73, 0x52, 0x7A, 0x23, 0x23, 0x7B, 0x52, 0x72, 0x85, 0x85, 0x73, 0x6F, 0x3, 0x71, 0x4E, 0x5B, 0x7, 0x6, 0x5C, 0xFE, 0x70, 0x4C, 0x5C, 0x6, 0x6, 0x5B, 0x4E, 0x73, 0x2, 0x4, 0x60, 0x60, 0x3B, 0x3B, 0x60, 0x9D, 0x73, 0x1D, 0x73, 0x9D, 0x5E, 0x3A, 0x3A, 0x5E, 0x9D, 0x73, 0x1D, 0x73, 0x9D, 0x71, 0x97, 0x25, 0x9F, 0x86, 0x1D, 0x11, 0x1D, 0x8A, 0x8A, 0x1D, 0x11, 0x1D, 0x86, 0x9A, 0x22, 0x9F, 0x0, 0x1, 0xFC, 0x8A, 0x4, 0x86, 0xFE, 0xE6, 0x7, 0x2E, 0x0, 0x8, 0x0, 0x0, 0x1, 0x1, 0x35, 0x17, 0x11, 0x33, 0x11, 0x37, 0x15, 0xFD, 0xB8, 0xFE, 0xD2, 0xE3, 0x97, 0xE2, 0x4, 0x86, 0x1, 0x2D, 0xC3, 0xE2, 0x1, 0x9A, 0xFE, 0x67, 0xE1, 0xC3, 0xFF, 0xFF, 0xFC, 0x25, 0x4, 0xA7, 0xFF, 0x14, 0x6, 0xCB, 0x0, 0x27, 0x1, 0xD4, 0xFF, 0xA, 0x6, 0x14, 0x0, 0x27, 0x1, 0xD4, 0x0, 0xE5, 0x6, 0x14, 0x0, 0x7, 0x1, 0xD4, 0xFF, 0xF7, 0x7, 0x40, 0x0, 0x2, 0xFB, 0xA6, 0xFD, 0xD8, 0x0, 0x6, 0xFF, 0x7F, 0x0, 0xB, 0x0, 0x17, 0x0, 0x0, 0x5, 0x17, 0x37, 0x33, 0x7, 0x17, 0x23, 0x27, 0x7, 0x23, 0x37, 0x27, 0x21, 0x17, 0x37, 0x33, 0x7, 0x17, 0x23, 0x27, 0x7, 0x23, 0x37, 0x27, 0xFE, 0xA6, 0x5B, 0x5C, 0xA3, 0xA2, 0xA8, 0xA3, 0x61, 0x61, 0xA3, 0xA8, 0xA2, 0xFE, 0x4A, 0x5B, 0x5C, 0xA3, 0xA2, 0xA8, 0xA3, 0x61, 0x61, 0xA3, 0xA8, 0xA2, 0x81, 0x7D, 0x7D, 0xD0, 0xD7, 0x84, 0x84, 0xD7, 0xD0, 0x7D, 0x7D, 0xD0, 0xD7, 0x84, 0x84, 0xD7, 0xD0, 0x0, 0x1, 0xFB, 0x4C, 0xFE, 0x94, 0x0, 0x25, 0xFF, 0x8B, 0x0, 0x26, 0x0, 0x0, 0x5, 0x32, 0x36, 0x33, 0x32, 0x16, 0x17, 0x7, 0x26, 0x23, 0x22, 0x6, 0x6, 0x23, 0x22, 0x26, 0x26, 0x27, 0x23, 0x22, 0x6, 0x6, 0x22, 0x26, 0x26, 0x23, 0x22, 0x7, 0x27, 0x36, 0x36, 0x33, 0x32, 0x16, 0x32, 0x36, 0x33, 0x32, 0x16, 0xFE, 0x86, 0x37, 0x50, 0x55, 0x45, 0x6B, 0x13, 0x7D, 0x1A, 0x3B, 0x2B, 0x34, 0x3C, 0x32, 0x34, 0x3B, 0x33, 0x27, 0x4, 0x2B, 0x34, 0x3C, 0x66, 0x3B, 0x35, 0x2A, 0x39, 0x1C, 0x7D, 0x13, 0x6E, 0x47, 0x51, 0x4F, 0x6E, 0x4B, 0x4C, 0x4B, 0x4A, 0xCF, 0x5A, 0x6A, 0x4E, 0x33, 0x4D, 0x2D, 0x2C, 0x2C, 0x2C, 0x1, 0x2D, 0x2C, 0x2C, 0x2D, 0x4B, 0x33, 0x4D, 0x69, 0x5A, 0x5A, 0x5A, 0x0, 0x1, 0xFD, 0x5B, 0xFD, 0xD5, 0xFE, 0xBD, 0xFF, 0x9C, 0x0, 0xB, 0x0, 0x0, 0x5, 0x33, 0x15, 0x16, 0x33, 0x32, 0x37, 0x15, 0x6, 0x23, 0x22, 0x3, 0xFD, 0x5B, 0xB4, 0x4, 0x70, 0x1F, 0x1B, 0x30, 0x36, 0xF7, 0x5, 0x64, 0xC5, 0x68, 0x7, 0x93, 0xE, 0x1, 0x2, 0xFF, 0xFF, 0xFC, 0x76, 0xFD, 0xD5, 0xFF, 0x3D, 0xFF, 0x9C, 0x0, 0x27, 0x3, 0x27, 0xFF, 0x1B, 0x0, 0x0, 0x0, 0x7, 0x3, 0x27, 0x0, 0x80, 0x0, 0x0, 0x0, 0x1, 0xFD, 0x5B, 0xFE, 0x18, 0xFF, 0x38, 0x0, 0x96, 0x0, 0x3, 0x0, 0x0, 0x27, 0x1, 0x27, 0x1, 0xC8, 0xFE, 0xA1, 0x7E, 0x1, 0x64, 0x4B, 0xFD, 0xCD, 0x49, 0x2, 0x35, 0x0, 0x1, 0xFD, 0x57, 0xFE, 0x10, 0xFF, 0x3F, 0x0, 0x96, 0x0, 0xD, 0x0, 0x0, 0x1, 0x22, 0x26, 0x35, 0x34, 0x36, 0x37, 0x13, 0x17, 0x3, 0x16, 0x15, 0x14, 0x6, 0xFD, 0xD2, 0x33, 0x48, 0x43, 0x31, 0xFC, 0x78, 0xFA, 0x9, 0x48, 0xFE, 0x10, 0x48, 0x33, 0x32, 0x47, 0x3, 0x1, 0x8F, 0x4B, 0xFE, 0x70, 0x17, 0x19, 0x33, 0x48, 0x0, 0x2, 0xFB, 0xAA, 0x5, 0x2, 0xFF, 0xDD, 0x6, 0xAF, 0x0, 0xD, 0x0, 0x1B, 0x0, 0x0, 0x3, 0x27, 0x36, 0x36, 0x35, 0x34, 0x26, 0x27, 0x37, 0x16, 0x16, 0x15, 0x14, 0x6, 0x5, 0x26, 0x26, 0x35, 0x34, 0x36, 0x37, 0x17, 0x6, 0x6, 0x15, 0x14, 0x16, 0x17, 0xDE, 0xE, 0x22, 0x40, 0x3F, 0x23, 0xE, 0x3A, 0x81, 0x81, 0xFD, 0x8, 0x39, 0x81, 0x81, 0x39, 0xE, 0x23, 0x3E, 0x3F, 0x22, 0x5, 0x2, 0x4A, 0x11, 0x3E, 0x3F, 0x3C, 0x3E, 0x10, 0x4B, 0xF, 0x6B, 0x5B, 0x5C, 0x6C, 0x10, 0x10, 0x6C, 0x5C, 0x5A, 0x6C, 0xF, 0x4B, 0x10, 0x40, 0x3A, 0x3E, 0x3F, 0x11, 0x0, 0x4, 0xFA, 0xED, 0x5, 0x2, 0x0, 0xB0, 0x6, 0xAF, 0x0, 0xD, 0x0, 0x1B, 0x0, 0x29, 0x0, 0x37, 0x0, 0x0, 0x3, 0x27, 0x36, 0x36, 0x35, 0x34, 0x26, 0x27, 0x37, 0x16, 0x16, 0x15, 0x14, 0x6, 0x5, 0x27, 0x36, 0x36, 0x35, 0x34, 0x26, 0x27, 0x37, 0x16, 0x16, 0x15, 0x14, 0x6, 0x5, 0x26, 0x26, 0x35, 0x34, 0x36, 0x37, 0x17, 0x6, 0x6, 0x15, 0x14, 0x16, 0x17, 0x7, 0x26, 0x26, 0x35, 0x34, 0x36, 0x37, 0x17, 0x6, 0x6, 0x15, 0x14, 0x16, 0x17, 0xB, 0xE, 0x23, 0x3F, 0x3F, 0x23, 0xE, 0x3A, 0x81, 0x81, 0xFE, 0xFE, 0xE, 0x22, 0x40, 0x3F, 0x23, 0xE, 0x3A, 0x81, 0x81, 0xFD, 0x9, 0x3A, 0x81, 0x81, 0x3A, 0xE, 0x23, 0x3F, 0x3F, 0x23, 0xD6, 0x3A, 0x81, 0x81, 0x3A, 0xE, 0x23, 0x3F, 0x3F, 0x23, 0x5, 0x2, 0x4A, 0x11, 0x3E, 0x3F, 0x3C, 0x3E, 0x10, 0x4B, 0xF, 0x6B, 0x5B, 0x5C, 0x6C, 0x10, 0x4A, 0x11, 0x3E, 0x3F, 0x3C, 0x3E, 0x10, 0x4B, 0xF, 0x6B, 0x5B, 0x5C, 0x6C, 0x10, 0x10, 0x6C, 0x5C, 0x5A, 0x6C, 0xF, 0x4B, 0x10, 0x40, 0x3A, 0x3E, 0x3F, 0x11, 0x4A, 0x10, 0x6C, 0x5C, 0x5A, 0x6C, 0xF, 0x4B, 0x10, 0x40, 0x3A, 0x3E, 0x3F, 0x11, 0x0, 0x2, 0xFB, 0x9D, 0xFD, 0xE3, 0xFF, 0xD0, 0xFF, 0x90, 0x0, 0xD, 0x0, 0x1B, 0x0, 0x0, 0x3, 0x27, 0x36, 0x36, 0x35, 0x34, 0x26, 0x27, 0x37, 0x16, 0x16, 0x15, 0x14, 0x6, 0x5, 0x26, 0x26, 0x35, 0x34, 0x36, 0x37, 0x17, 0x6, 0x6, 0x15, 0x14, 0x16, 0x17, 0xEB, 0xE, 0x22, 0x40, 0x3F, 0x23, 0xE, 0x3A, 0x81, 0x81, 0xFD, 0x8, 0x39, 0x81, 0x81, 0x39, 0xE, 0x23, 0x3E, 0x3F, 0x22, 0xFD, 0xE3, 0x49, 0x11, 0x3F, 0x3F, 0x3B, 0x3D, 0x11, 0x4C, 0xF, 0x6B, 0x5B, 0x5C, 0x6D, 0xF, 0xF, 0x6D, 0x5C, 0x59, 0x6D, 0xF, 0x4C, 0x11, 0x3F, 0x39, 0x3F, 0x3F, 0x11, 0x0, 0x2, 0xFA, 0xEF, 0x1, 0x77, 0x0, 0xA0, 0x3, 0x25, 0x0, 0xC, 0x0, 0x19, 0x0, 0x0, 0x3, 0x27, 0x36, 0x36, 0x35, 0x34, 0x26, 0x27, 0x37, 0x16, 0x16, 0x14, 0x6, 0x5, 0x26, 0x26, 0x35, 0x34, 0x36, 0x37, 0x17, 0x6, 0x15, 0x14, 0x16, 0x17, 0x1A, 0xE, 0x22, 0x3F, 0x3E, 0x23, 0xE, 0x39, 0x81, 0x81, 0xFB, 0x8B, 0x3A, 0x81, 0x81, 0x3A, 0xE, 0x62, 0x3F, 0x23, 0x1, 0x77, 0x4A, 0x11, 0x3E, 0x40, 0x3B, 0x3E, 0x10, 0x4C, 0xF, 0x6B, 0xB8, 0x6C, 0x10, 0x10, 0x6C, 0x5C, 0x5A, 0x6D, 0xF, 0x4C, 0x2D, 0x5C, 0x3F, 0x3F, 0x11, 0x0, 0x2, 0x0, 0x8, 0x0, 0x0, 0x4, 0x98, 0x4, 0x3A, 0x0, 0x2, 0x0, 0xA, 0x0, 0x0, 0x1, 0x3, 0x3, 0x1, 0x27, 0x21, 0x7, 0x23, 0x1, 0x33, 0x1, 0x2, 0xF6, 0xA6, 0xA5, 0x1, 0xF0, 0x59, 0xFE, 0x1D, 0x59, 0xFE, 0x1, 0xCD, 0xF7, 0x1, 0xCC, 0x1, 0x99, 0x1, 0x9A, 0xFE, 0x66, 0xFE, 0x67, 0xDC, 0xDC, 0x4, 0x3A, 0xFB, 0xC6, 0x0, 0x2, 0xFF, 0xF0, 0x0, 0x0, 0x6, 0x4, 0x4, 0x3A, 0x0, 0x2, 0x0, 0x12, 0x0, 0x0, 0x1, 0x3, 0x1, 0x1, 0x27, 0x21, 0x7, 0x21, 0x1, 0x21, 0x15, 0x21, 0x17, 0x21, 0x15, 0x21, 0x13, 0x21, 0x15, 0x2, 0xEF, 0x14, 0xFE, 0xFA, 0x1, 0x2B, 0x9, 0xFE, 0x76, 0x78, 0xFE, 0xFB, 0x2, 0x6F, 0x3, 0x77, 0xFD, 0xF6, 0xA, 0x1, 0xC3, 0xFE, 0x45, 0xC, 0x2, 0x1A, 0x1, 0x9D, 0x1, 0xE1, 0xFE, 0x1F, 0xFE, 0x63, 0xDC, 0xDC, 0x4, 0x3A, 0xC1, 0xE4, 0xC1, 0xFE, 0xED, 0xC1, 0x0, 0x3, 0x0, 0x3D, 0xFF, 0xEC, 0x6, 0x79, 0x4, 0x50, 0x0, 0xA, 0x0, 0x12, 0x0, 0x3C, 0x0, 0x0, 0x1, 0x22, 0x6, 0x7, 0x15, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x1, 0x32, 0x36, 0x37, 0x21, 0x15, 0x14, 0x16, 0x5, 0x22, 0x27, 0x6, 0x27, 0x22, 0x2, 0x35, 0x35, 0x21, 0x26, 0x26, 0x23, 0x22, 0x6, 0x7, 0x27, 0x36, 0x36, 0x33, 0x32, 0x17, 0x36, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x6, 0x23, 0x23, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x17, 0x14, 0x6, 0x4, 0xD2, 0x3F, 0x85, 0x2B, 0xBD, 0x71, 0x76, 0x58, 0xFC, 0xD0, 0x6C, 0x77, 0xE, 0xFE, 0x3D, 0x60, 0x3, 0xB, 0xE1, 0x6D, 0x82, 0xC9, 0xD9, 0xE9, 0x2, 0xB7, 0x9, 0x8D, 0x92, 0x70, 0x8B, 0x36, 0x48, 0x29, 0xC7, 0x98, 0xFC, 0x8D, 0x35, 0xCC, 0x9C, 0xB6, 0xC2, 0xEF, 0xE8, 0xBF, 0x5F, 0x58, 0x5F, 0x6F, 0xF2, 0xF7, 0x3, 0x97, 0x3E, 0x29, 0xD0, 0x65, 0x42, 0x3E, 0x52, 0xFD, 0x19, 0x96, 0x73, 0x1E, 0x62, 0x89, 0xC3, 0x84, 0x85, 0x1, 0x1, 0x8, 0xE2, 0x8D, 0x7F, 0xAA, 0x3D, 0x1F, 0xA6, 0x20, 0x59, 0xA2, 0x3E, 0x64, 0xB5, 0x98, 0x9D, 0xAD, 0x47, 0x5A, 0x68, 0x5C, 0x3F, 0x13, 0x8F, 0xBC, 0x0, 0x3, 0x0, 0x1B, 0x0, 0x0, 0x4, 0xF3, 0x4, 0x3A, 0x0, 0x6, 0x0, 0xD, 0x0, 0x21, 0x0, 0x0, 0x1, 0x15, 0x33, 0x32, 0x35, 0x34, 0x27, 0x3, 0x11, 0x21, 0x32, 0x35, 0x34, 0x27, 0x1, 0x11, 0x23, 0x35, 0x33, 0x11, 0x21, 0x32, 0x16, 0x15, 0x14, 0x7, 0x33, 0x15, 0x23, 0x16, 0x15, 0x14, 0x6, 0x23, 0x1, 0xCA, 0xC9, 0xCF, 0xCA, 0xCE, 0x1, 0xA, 0xBC, 0xB4, 0xFD, 0xFB, 0xBC, 0xBC, 0x1, 0xB8, 0xD1, 0xF4, 0x3B, 0xDA, 0xA7, 0x37, 0xE3, 0xCC, 0x3, 0x79, 0xFE, 0x7B, 0x80, 0x3, 0xFE, 0x54, 0xFE, 0xF4, 0x85, 0x84, 0x3, 0xFE, 0x33, 0x1, 0xCD, 0xAE, 0x1, 0xBF, 0x92, 0x9A, 0x54, 0x3F, 0xAE, 0x40, 0x58, 0x9A, 0x9B, 0x0, 0x1, 0x0, 0x50, 0xFF, 0xEF, 0x4, 0x1A, 0x4, 0x4E, 0x0, 0x19, 0x0, 0x0, 0x1, 0x33, 0x6, 0x4, 0x23, 0x22, 0x0, 0x35, 0x35, 0x34, 0x0, 0x33, 0x32, 0x16, 0x17, 0x23, 0x26, 0x23, 0x22, 0x6, 0x15, 0x15, 0x14, 0x16, 0x32, 0x36, 0x3, 0x26, 0xF3, 0xF, 0xFF, 0x0, 0xCD, 0xD5, 0xFE, 0xE8, 0x1, 0x18, 0xD5, 0xD2, 0xFC, 0xF, 0xF3, 0x1D, 0xCD, 0x71, 0x8A, 0x8A, 0xE2, 0x69, 0x1, 0x94, 0xD3, 0xD2, 0x1, 0x12, 0xE0, 0x7C, 0xE0, 0x1, 0x11, 0xD1, 0xD1, 0xE1, 0xAA, 0x85, 0x7D, 0x85, 0xAC, 0x6E, 0x0, 0x2, 0x0, 0x86, 0x0, 0x0, 0x4, 0x3A, 0x4, 0x3A, 0x0, 0x9, 0x0, 0x13, 0x0, 0x0, 0x1, 0x11, 0x33, 0x32, 0x36, 0x35, 0x35, 0x34, 0x26, 0x23, 0x1, 0x11, 0x21, 0x32, 0x0, 0x15, 0x15, 0x14, 0x0, 0x23, 0x1, 0x78, 0xC5, 0x72, 0x98, 0x98, 0x72, 0xFE, 0x49, 0x1, 0xB7, 0xD7, 0x1, 0x26, 0xFE, 0xDA, 0xD7, 0x3, 0x79, 0xFD, 0x48, 0xA3, 0x79, 0x80, 0x7A, 0xA2, 0xFC, 0x87, 0x4, 0x3A, 0xFE, 0xF6, 0xD4, 0x7F, 0xD4, 0xFE, 0xF7, 0xFF, 0xFF, 0x0, 0x2D, 0x0, 0x0, 0x4, 0x9E, 0x4, 0x3A, 0x0, 0x26, 0x3, 0x34, 0x64, 0x0, 0x0, 0x7, 0x7, 0xA4, 0xFF, 0x9D, 0xFF, 0x38, 0x0, 0x1, 0x0, 0x86, 0x0, 0x0, 0x3, 0xC6, 0x4, 0x3A, 0x0, 0xB, 0x0, 0x0, 0x33, 0x11, 0x21, 0x15, 0x21, 0x15, 0x21, 0x15, 0x21, 0x11, 0x21, 0x15, 0x86, 0x3, 0x40, 0xFD, 0xB2, 0x1, 0xF8, 0xFE, 0x8, 0x2, 0x4E, 0x4, 0x3A, 0xC1, 0xE2, 0xC2, 0xFE, 0xEC, 0xC1, 0xFF, 0xFF, 0x0, 0x4E, 0xFF, 0xEC, 0x3, 0xC4, 0x4, 0x4D, 0x0, 0x6, 0x2, 0x85, 0x0, 0x0, 0x0, 0x2, 0x0, 0x7A, 0xFE, 0x65, 0x1, 0x8D, 0x4, 0x3A, 0x0, 0x3, 0x0, 0xF, 0x0, 0x0, 0x1, 0x11, 0x23, 0x11, 0x3, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x6, 0x23, 0x22, 0x26, 0x1, 0x7C, 0xF3, 0xF, 0x49, 0x40, 0x41, 0x49, 0x49, 0x41, 0x40, 0x49, 0x4, 0x3A, 0xFB, 0xC6, 0x4, 0x3A, 0xFA, 0xAE, 0x37, 0x4B, 0x4B, 0x37, 0x38, 0x4B, 0x4B, 0x0, 0x1, 0x0, 0x1A, 0xFF, 0xEE, 0x3, 0x78, 0x4, 0x3A, 0x0, 0xF, 0x0, 0x0, 0x1, 0x33, 0x11, 0x14, 0x6, 0x23, 0x22, 0x26, 0x35, 0x33, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x2, 0x86, 0xF2, 0xEF, 0xB6, 0xC4, 0xF5, 0xF3, 0x70, 0x56, 0x4D, 0x66, 0x4, 0x3A, 0xFD, 0x38, 0xB2, 0xD2, 0xB9, 0xBB, 0x5D, 0x56, 0x6B, 0x58, 0x0, 0x1, 0x0, 0x84, 0x0, 0x0, 0x4, 0x53, 0x4, 0x3A, 0x0, 0xC, 0x0, 0x0, 0x21, 0x1, 0x23, 0x11, 0x23, 0x11, 0x33, 0x11, 0x33, 0x1, 0x21, 0x1, 0x1, 0x3, 0x1E, 0xFE, 0xC6, 0x6E, 0xF2, 0xF2, 0x55, 0x1, 0x42, 0x1, 0x2C, 0xFE, 0x69, 0x1, 0xB1, 0x1, 0xAE, 0xFE, 0x52, 0x4, 0x3A, 0xFE, 0x4C, 0x1, 0xB4, 0xFD, 0xFF, 0xFD, 0xC7, 0x0, 0x1, 0x0, 0x2D, 0x0, 0x0, 0x3, 0x92, 0x4, 0x3A, 0x0, 0xD, 0x0, 0x0, 0x33, 0x11, 0x7, 0x35, 0x37, 0x11, 0x33, 0x11, 0x37, 0x15, 0x7, 0x11, 0x21, 0x15, 0xA7, 0x7A, 0x7A, 0xF2, 0xFE, 0xFE, 0x1, 0xF9, 0x1, 0xF2, 0x25, 0xB8, 0x25, 0x1, 0x90, 0xFE, 0xB9, 0x4D, 0xB8, 0x4D, 0xFE, 0x86, 0xC1, 0x0, 0x1, 0x0, 0x86, 0x0, 0x0, 0x5, 0x66, 0x4, 0x3A, 0x0, 0xC, 0x0, 0x0, 0x21, 0x1, 0x11, 0x23, 0x11, 0x21, 0x1, 0x1, 0x21, 0x11, 0x23, 0x11, 0x1, 0x2, 0xA3, 0xFE, 0xD5, 0xF2, 0x1, 0x32, 0x1, 0x3E, 0x1, 0x40, 0x1, 0x30, 0xF3, 0xFE, 0xD5, 0x2, 0xD2, 0xFD, 0x2E, 0x4, 0x3A, 0xFC, 0xF1, 0x3, 0xF, 0xFB, 0xC6, 0x2, 0xCF, 0xFD, 0x31, 0xFF, 0xFF, 0x0, 0x85, 0x0, 0x0, 0x4, 0x12, 0x4, 0x3A, 0x0, 0x6, 0x2, 0x86, 0xFF, 0x0, 0x0, 0x2, 0x0, 0x50, 0xFF, 0xEE, 0x4, 0x4E, 0x4, 0x4E, 0x0, 0xD, 0x0, 0x1A, 0x0, 0x0, 0x1, 0x14, 0x0, 0x23, 0x22, 0x0, 0x35, 0x35, 0x34, 0x0, 0x33, 0x32, 0x0, 0x15, 0x27, 0x34, 0x26, 0x22, 0x6, 0x15, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x4, 0x4E, 0xFE, 0xE5, 0xE3, 0xE2, 0xFE, 0xE2, 0x1, 0x1C, 0xE2, 0xE3, 0x1, 0x1D, 0xF3, 0x8F, 0xFC, 0x8D, 0x8E, 0x7F, 0x7E, 0x8D, 0x1, 0xE7, 0xE0, 0xFE, 0xE7, 0x1, 0x19, 0xE0, 0x70, 0xE0, 0x1, 0x17, 0xFE, 0xE9, 0xE0, 0x1, 0x8B, 0xAA, 0xAA, 0x8B, 0x71, 0x8B, 0xAD, 0xAD, 0x8B, 0x0, 0x1, 0x0, 0x3B, 0xFF, 0xEC, 0x3, 0xE1, 0x4, 0x4E, 0x0, 0x1B, 0x0, 0x0, 0x13, 0x33, 0x16, 0x16, 0x33, 0x32, 0x36, 0x35, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x7, 0x23, 0x36, 0x36, 0x33, 0x32, 0x12, 0x17, 0x15, 0x14, 0x2, 0x23, 0x22, 0x24, 0x3B, 0xE5, 0x5, 0x7A, 0x58, 0x95, 0x62, 0x62, 0x95, 0x63, 0x6F, 0x5, 0xE5, 0x5, 0xF1, 0xC4, 0xF7, 0xF3, 0x2, 0xF3, 0xFA, 0xB4, 0xFF, 0x0, 0x1, 0x66, 0x4F, 0x68, 0xD9, 0x83, 0x24, 0x81, 0xDB, 0x7D, 0x57, 0xB3, 0xE4, 0xFE, 0xC4, 0xDD, 0x2A, 0xDF, 0xFE, 0xC0, 0xDD, 0x0, 0x2, 0x0, 0x50, 0x0, 0x26, 0x4, 0xB2, 0x4, 0x14, 0x0, 0xD, 0x0, 0x1B, 0x0, 0x0, 0x25, 0x22, 0x0, 0x35, 0x34, 0x0, 0x33, 0x33, 0x32, 0x0, 0x15, 0x14, 0x0, 0x7, 0x27, 0x32, 0x36, 0x35, 0x34, 0x26, 0x27, 0x23, 0x22, 0x6, 0x15, 0x14, 0x16, 0x33, 0x2, 0x77, 0xEB, 0xFE, 0xC4, 0x1, 0x3C, 0xEC, 0x14, 0xEC, 0x1, 0x3A, 0xFE, 0xCE, 0xE7, 0xD, 0x92, 0xD1, 0xCE, 0x91, 0x19, 0x8F, 0xD5, 0xD5, 0x8F, 0x26, 0x1, 0xB, 0xEB, 0xEF, 0x1, 0x9, 0xFE, 0xF7, 0xED, 0xEA, 0xFE, 0xF6, 0x4, 0xF3, 0x7D, 0x88, 0x86, 0x7D, 0x1, 0x7D, 0x89, 0x87, 0x7C, 0x0, 0x1, 0x0, 0x50, 0x0, 0x4A, 0x4, 0xB2, 0x3, 0xF0, 0x0, 0x1B, 0x0, 0x0, 0x1, 0x14, 0x16, 0x17, 0x15, 0x26, 0x2, 0x35, 0x34, 0x24, 0x37, 0x33, 0x32, 0x4, 0x15, 0x14, 0x6, 0x7, 0x35, 0x36, 0x36, 0x35, 0x34, 0x26, 0x23, 0x23, 0x22, 0x6, 0x1, 0x13, 0x68, 0x4F, 0x9D, 0xDD, 0x1, 0x3C, 0xDD, 0x2A, 0xDE, 0x1, 0x41, 0xE4, 0xB3, 0x57, 0x7D, 0xDB, 0x81, 0x24, 0x83, 0xD9, 0x2, 0x5, 0x58, 0x79, 0x5, 0xE5, 0x5, 0x1, 0x0, 0xB4, 0xF8, 0xF3, 0x2, 0xF4, 0xF8, 0xC4, 0xF1, 0x5, 0xE5, 0x5, 0x6F, 0x63, 0x95, 0x62, 0x62, 0x0, 0x3, 0x0, 0x25, 0x0, 0x26, 0x5, 0x6A, 0x4, 0x14, 0x0, 0x8, 0x0, 0x11, 0x0, 0x27, 0x0, 0x0, 0x1, 0x22, 0x7, 0x1, 0x36, 0x35, 0x34, 0x26, 0x27, 0x3, 0x32, 0x37, 0x1, 0x6, 0x15, 0x14, 0x16, 0x33, 0x5, 0x27, 0x6, 0x5, 0x23, 0x22, 0x0, 0x35, 0x34, 0x37, 0x27, 0x35, 0x17, 0x36, 0x25, 0x33, 0x32, 0x0, 0x15, 0x14, 0x7, 0x17, 0x2, 0xB7, 0x99, 0x60, 0x2, 0x5E, 0x13, 0xCE, 0x91, 0x4, 0x99, 0x5E, 0xFD, 0xA3, 0x13, 0xD5, 0x8F, 0x2, 0xB3, 0xD7, 0x94, 0xFE, 0xD9, 0x21, 0xEB, 0xFE, 0xC4, 0x20, 0x8B, 0xC9, 0x94, 0x1, 0x29, 0x21, 0xEC, 0x1, 0x3A, 0x20, 0x98, 0x3, 0x22, 0x3E, 0xFE, 0xD6, 0x2D, 0x37, 0x86, 0x7D, 0x1, 0xFD, 0xF7, 0x3C, 0x1, 0x29, 0x2C, 0x36, 0x87, 0x7C, 0x94, 0x6A, 0xC5, 0x4, 0x1, 0xB, 0xEB, 0x66, 0x56, 0x44, 0x91, 0x63, 0xC6, 0x4, 0xFE, 0xF7, 0xED, 0x66, 0x57, 0x4B, 0x0, 0x3, 0x0, 0x4C, 0xFF, 0xEC, 0x6, 0xE3, 0x4, 0x50, 0x0, 0xD, 0x0, 0x15, 0x0, 0x37, 0x0, 0x0, 0x1, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x1, 0x32, 0x36, 0x37, 0x21, 0x15, 0x14, 0x16, 0x5, 0x22, 0x26, 0x27, 0x6, 0x6, 0x27, 0x22, 0x2, 0x35, 0x35, 0x21, 0x26, 0x26, 0x23, 0x22, 0x6, 0x7, 0x27, 0x36, 0x36, 0x33, 0x32, 0x16, 0x17, 0x36, 0x36, 0x33, 0x32, 0x0, 0x15, 0x15, 0x14, 0x0, 0x5, 0xF1, 0x76, 0x89, 0x87, 0x76, 0x77, 0x88, 0x87, 0x76, 0xFC, 0x1F, 0x5B, 0x74, 0x12, 0xFE, 0x4B, 0x64, 0x3, 0x54, 0x7F, 0xC1, 0x3F, 0x40, 0xB8, 0x6D, 0xE2, 0xE2, 0x2, 0xAA, 0xA, 0x87, 0x80, 0x6B, 0x8D, 0x37, 0x4F, 0x35, 0xC6, 0x91, 0x7E, 0xC4, 0x41, 0x3F, 0xC0, 0x7D, 0xEE, 0x1, 0x3, 0xFE, 0xFD, 0x2, 0x29, 0x92, 0xD2, 0xD2, 0x93, 0x14, 0x8F, 0xD5, 0xD5, 0x8F, 0xFE, 0x9C, 0x93, 0x6F, 0x19, 0x60, 0x89, 0xC3, 0x5E, 0x52, 0x53, 0x5E, 0x1, 0x1, 0xF, 0xD9, 0x8F, 0x7C, 0xAD, 0x36, 0x26, 0x9E, 0x2F, 0x52, 0x5D, 0x52, 0x52, 0x5D, 0xFE, 0xC5, 0xEC, 0x15, 0xEB, 0xFE, 0xC4, 0x0, 0x2, 0x0, 0x4F, 0xFF, 0xEC, 0x3, 0x97, 0x4, 0x4E, 0x0, 0x16, 0x0, 0x20, 0x0, 0x0, 0x4, 0x26, 0x35, 0x35, 0x34, 0x37, 0x26, 0x35, 0x33, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x33, 0x14, 0x7, 0x16, 0x15, 0x15, 0x14, 0x6, 0x1, 0x14, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x22, 0x6, 0x1, 0x3F, 0xF0, 0x9B, 0x9B, 0xF3, 0x49, 0x68, 0x66, 0x4A, 0xF4, 0x9B, 0x9B, 0xEE, 0xFE, 0x9A, 0xB1, 0x5F, 0x51, 0x52, 0xBE, 0x51, 0x14, 0xD9, 0xC9, 0x10, 0xD1, 0x7D, 0x8B, 0xD7, 0x6E, 0x98, 0x98, 0x6E, 0xD6, 0x8B, 0x7D, 0xD2, 0x10, 0xC9, 0xD9, 0x1, 0xA2, 0xDF, 0x77, 0x78, 0x65, 0x82, 0x7E, 0x0, 0x1, 0x0, 0x4F, 0x2, 0x1D, 0x4, 0x4D, 0x4, 0x4E, 0x0, 0x11, 0x0, 0x0, 0x1, 0x23, 0x35, 0x26, 0x26, 0x23, 0x22, 0x6, 0x15, 0x15, 0x23, 0x35, 0x36, 0x0, 0x33, 0x32, 0x0, 0x15, 0x4, 0x4D, 0xF3, 0x2, 0x8E, 0x7D, 0x7F, 0x8C, 0xF3, 0x1, 0x1, 0x1B, 0xE2, 0xE3, 0x1, 0x1D, 0x2, 0x1D, 0x42, 0x88, 0xA4, 0xA8, 0x8B, 0x3B, 0x3D, 0xDE, 0x1, 0x16, 0xFE, 0xE9, 0xE0, 0x0, 0x1, 0x0, 0x4F, 0xFF, 0xEC, 0x4, 0x4D, 0x2, 0x1E, 0x0, 0x11, 0x0, 0x0, 0x1, 0x33, 0x15, 0x14, 0x0, 0x23, 0x22, 0x0, 0x35, 0x35, 0x33, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x3, 0x5A, 0xF3, 0xFE, 0xE3, 0xE3, 0xE2, 0xFE, 0xE4, 0xF3, 0x8C, 0x7F, 0x7E, 0x8F, 0x2, 0x1E, 0x3B, 0xE0, 0xFE, 0xE9, 0x1, 0x17, 0xE0, 0x3B, 0x3C, 0x8B, 0xA8, 0xA8, 0x8B, 0x0, 0x2, 0x0, 0x8F, 0x0, 0x0, 0x4, 0x3E, 0x4, 0x3A, 0x0, 0x8, 0x0, 0x13, 0x0, 0x0, 0x1, 0x11, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x3, 0x11, 0x23, 0x11, 0x21, 0x32, 0x16, 0x15, 0x14, 0x6, 0x23, 0x1, 0x82, 0xEE, 0x70, 0x6B, 0x6B, 0x70, 0xEE, 0xF3, 0x1, 0xE1, 0xD8, 0xF6, 0xF6, 0xD8, 0x3, 0x79, 0xFE, 0x8A, 0x70, 0x49, 0x4B, 0x72, 0xFD, 0xC8, 0xFE, 0xBF, 0x4, 0x3A, 0xD5, 0xA7, 0xA8, 0xD5, 0x0, 0x2, 0x0, 0x31, 0x0, 0x0, 0x3, 0xEA, 0x4, 0x3A, 0x0, 0x8, 0x0, 0x15, 0x0, 0x0, 0x1, 0x11, 0x23, 0x22, 0x6, 0x15, 0x14, 0x16, 0x33, 0x13, 0x11, 0x23, 0x3, 0x23, 0x1, 0x26, 0x35, 0x34, 0x36, 0x33, 0x21, 0x11, 0x2, 0xF8, 0xE0, 0x66, 0x5D, 0x57, 0x5F, 0xED, 0xE2, 0xE8, 0xFD, 0x1, 0x0, 0xD0, 0xE9, 0xCE, 0x1, 0xD2, 0x2, 0x42, 0x1, 0x37, 0x65, 0x39, 0x38, 0x61, 0xFD, 0xBE, 0x1, 0x8E, 0xFE, 0x72, 0x1, 0xB6, 0x56, 0xD4, 0x95, 0xC5, 0xFB, 0xC6, 0x0, 0x2, 0x0, 0x31, 0x0, 0x0, 0x3, 0xEA, 0x4, 0x3A, 0x0, 0xC, 0x0, 0x15, 0x0, 0x0, 0x21, 0x21, 0x22, 0x26, 0x35, 0x34, 0x37, 0x1, 0x33, 0x13, 0x33, 0x11, 0x33, 0x3, 0x11, 0x23, 0x22, 0x6, 0x15, 0x14, 0x16, 0x33, 0x3, 0xEA, 0xFE, 0x2E, 0xCE, 0xE9, 0xD0, 0xFF, 0x0, 0xFD, 0xE8, 0xE2, 0xF2, 0xF2, 0xED, 0x5F, 0x57, 0x5D, 0x66, 0xC5, 0x95, 0xD4, 0x56, 0x1, 0xB6, 0xFE, 0x72, 0x1, 0x8E, 0xFC, 0x87, 0x1, 0x37, 0x5F, 0x3A, 0x3B, 0x63, 0xFF, 0xFF, 0x0, 0x25, 0x0, 0x0, 0x3, 0xD2, 0x4, 0x3A, 0x0, 0x6, 0x2, 0x8C, 0x1, 0x0, 0x0, 0x1, 0x0, 0x7A, 0xFF, 0xEE, 0x4, 0x78, 0x4, 0x3A, 0x0, 0x11, 0x0, 0x0, 0x1, 0x33, 0x11, 0x14, 0x4, 0x23, 0x22, 0x24, 0x35, 0x11, 0x33, 0x11, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x3, 0x85, 0xF3, 0xFE, 0xE2, 0xE1, 0xDF, 0xFE, 0xE0, 0xF2, 0x94, 0x79, 0x7D, 0x8F, 0x4, 0x3A, 0xFD, 0x5D, 0xCB, 0xDE, 0xDE, 0xCB, 0x2, 0xA3, 0xFD, 0x5D, 0x70, 0x78, 0x78, 0x70, 0x0, 0x1, 0x0, 0x5B, 0x0, 0x53, 0x4, 0xA9, 0x3, 0xD3, 0x0, 0x11, 0x0, 0x0, 0x37, 0x35, 0x21, 0x36, 0x36, 0x35, 0x34, 0x27, 0x21, 0x35, 0x21, 0x15, 0x7, 0x16, 0x15, 0x14, 0x6, 0x23, 0x5B, 0x2, 0x8E, 0x91, 0x69, 0xA3, 0xFD, 0x1B, 0x4, 0x3A, 0x79, 0x8D, 0xD4, 0xF3, 0x53, 0xF3, 0x1, 0x66, 0x44, 0xB8, 0x37, 0xF3, 0xD7, 0xD, 0x6D, 0xCA, 0x9F, 0xC6, 0x0, 0x3, 0x0, 0x5B, 0x0, 0x53, 0x6, 0x10, 0x3, 0xD3, 0x0, 0x11, 0x0, 0x1B, 0x0, 0x25, 0x0, 0x0, 0x25, 0x35, 0x21, 0x36, 0x36, 0x35, 0x34, 0x27, 0x21, 0x35, 0x21, 0x15, 0x7, 0x16, 0x15, 0x14, 0x6, 0x23, 0x1, 0x22, 0x26, 0x34, 0x36, 0x33, 0x32, 0x16, 0x14, 0x6, 0x3, 0x22, 0x26, 0x34, 0x36, 0x33, 0x32, 0x16, 0x14, 0x6, 0x1, 0xC2, 0x2, 0x8D, 0x91, 0x69, 0xA3, 0xFD, 0x1C, 0x4, 0x3A, 0x79, 0x8D, 0xD5, 0xF3, 0xFC, 0x8B, 0x31, 0x45, 0x45, 0x31, 0x32, 0x44, 0x44, 0x33, 0x31, 0x46, 0x46, 0x31, 0x32, 0x44, 0x44, 0x53, 0xF3, 0x1, 0x66, 0x44, 0xB8, 0x37, 0xF3, 0xD7, 0xD, 0x6D, 0xCA, 0x9F, 0xC6, 0x2, 0x32, 0x44, 0x7C, 0x44, 0x44, 0x7C, 0x44, 0xFE, 0x1D, 0x44, 0x7C, 0x44, 0x44, 0x7C, 0x44, 0x0, 0x1, 0x0, 0x5B, 0xFF, 0x28, 0x4, 0xA9, 0x5, 0x25, 0x0, 0x1F, 0x0, 0x0, 0x17, 0x35, 0x21, 0x32, 0x36, 0x35, 0x34, 0x26, 0x27, 0x21, 0x35, 0x21, 0x32, 0x36, 0x35, 0x34, 0x27, 0x21, 0x35, 0x21, 0x15, 0x7, 0x16, 0x15, 0x14, 0x7, 0x16, 0x16, 0x15, 0x14, 0x6, 0x23, 0x5B, 0x2, 0x8E, 0x92, 0x68, 0x63, 0x4D, 0xFD, 0x28, 0x2, 0x8E, 0x8A, 0x70, 0x77, 0xFC, 0xEF, 0x4, 0x3A, 0x74, 0x88, 0xAE, 0x4F, 0x5F, 0xD5, 0xEC, 0xD8, 0xF3, 0x69, 0x5A, 0x53, 0x69, 0x14, 0xF2, 0x69, 0x5A, 0x92, 0x3D, 0xF3, 0xDE, 0xB, 0x73, 0xC8, 0xD5, 0x53, 0x35, 0xA7, 0x71, 0x9D, 0xC7, 0xFF, 0xFF, 0x0, 0x1A, 0x0, 0x0, 0x3, 0xDE, 0x4, 0x3A, 0x0, 0x6, 0x0, 0x5B, 0x3, 0x0, 0xFF, 0xFF, 0x0, 0x25, 0x0, 0x0, 0x5, 0xD0, 0x4, 0x3A, 0x0, 0x6, 0x0, 0x5C, 0x3, 0x0, 0xFF, 0xFF, 0x0, 0x56, 0x0, 0x0, 0x3, 0xC4, 0x4, 0x3A, 0x0, 0x6, 0x0, 0x5F, 0x4, 0x0, 0x0, 0x1, 0x0, 0x4E, 0xFF, 0xEC, 0x3, 0xC4, 0x4, 0x3A, 0x0, 0x1A, 0x0, 0x0, 0x5, 0x22, 0x26, 0x26, 0x35, 0x33, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x27, 0x23, 0x35, 0x1, 0x21, 0x35, 0x21, 0x15, 0x1, 0x16, 0x16, 0x15, 0x14, 0x6, 0x2, 0x8, 0x6D, 0xCB, 0x82, 0xF2, 0x6E, 0x61, 0x64, 0x5E, 0xBB, 0xB6, 0x1, 0x22, 0xFD, 0xDF, 0x3, 0x4C, 0xFE, 0xC0, 0xA7, 0xB0, 0xF2, 0x14, 0x48, 0x97, 0x76, 0x3D, 0x5E, 0x60, 0x47, 0xA4, 0x4, 0x7C, 0x1, 0x5, 0xC4, 0x9B, 0xFE, 0xCF, 0xB, 0xA2, 0x7E, 0xA6, 0xB1, 0x0, 0x1, 0x0, 0x57, 0xFF, 0xEC, 0x3, 0xD6, 0x4, 0x4E, 0x0, 0x27, 0x0, 0x0, 0x1, 0x14, 0x6, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x37, 0x35, 0x36, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x23, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x6, 0x7, 0x15, 0x22, 0x6, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x37, 0x3, 0xD6, 0xEA, 0xDF, 0xC7, 0xEF, 0xC0, 0xA8, 0x8C, 0x7A, 0x58, 0x5C, 0x5F, 0x60, 0xF3, 0xE7, 0xCA, 0xC1, 0xE1, 0x9E, 0x94, 0xB8, 0x82, 0x64, 0x60, 0x52, 0x89, 0x5, 0x1, 0x56, 0x86, 0xE4, 0xAD, 0x91, 0x85, 0x86, 0x16, 0x4E, 0x9, 0x41, 0x3B, 0x34, 0x46, 0x63, 0x3F, 0x92, 0xC6, 0xB2, 0x85, 0x7F, 0x81, 0x1B, 0x55, 0x54, 0x39, 0x31, 0x47, 0x4F, 0x65, 0x0, 0x1, 0x0, 0x39, 0xFF, 0xEC, 0x4, 0x93, 0x4, 0x4D, 0x0, 0x20, 0x0, 0x0, 0x13, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x6, 0x7, 0x16, 0x33, 0x32, 0x37, 0x17, 0x6, 0x23, 0x22, 0x26, 0x27, 0x6, 0x6, 0x23, 0x22, 0x27, 0x37, 0x16, 0x33, 0x32, 0x37, 0x26, 0x27, 0x26, 0xEF, 0xC8, 0xAF, 0xB0, 0xC8, 0xA0, 0x56, 0x3E, 0x77, 0x63, 0x78, 0x1B, 0x77, 0x7F, 0x72, 0x8C, 0x39, 0x3A, 0x8C, 0x71, 0x7F, 0x77, 0x1B, 0x78, 0x63, 0x77, 0x3E, 0x9F, 0x3B, 0x1B, 0x2, 0xF7, 0x8B, 0xCB, 0xCB, 0x8B, 0xAC, 0xE5, 0x64, 0x53, 0x2B, 0xC3, 0x2B, 0x48, 0x3D, 0x3D, 0x48, 0x2B, 0xC3, 0x2B, 0x53, 0xAA, 0xA2, 0x4B, 0xFF, 0xFF, 0x0, 0x8F, 0x0, 0x0, 0x3, 0x57, 0x4, 0x3A, 0x0, 0x6, 0x2, 0x82, 0xA, 0x0, 0x0, 0x1, 0x0, 0x8, 0x0, 0x0, 0x4, 0x98, 0x4, 0x3A, 0x0, 0x6, 0x0, 0x0, 0x21, 0x1, 0x1, 0x23, 0x1, 0x33, 0x1, 0x3, 0x9B, 0xFE, 0xB5, 0xFE, 0xB6, 0xFE, 0x1, 0xCD, 0xF7, 0x1, 0xCC, 0x3, 0x33, 0xFC, 0xCD, 0x4, 0x3A, 0xFB, 0xC6, 0xFF, 0xFF, 0x0, 0x8F, 0x0, 0x0, 0x4, 0x1C, 0x4, 0x3A, 0x0, 0x6, 0x2, 0x8B, 0x9, 0x0, 0xFF, 0xFF, 0x0, 0x8F, 0x0, 0x0, 0x4, 0x3E, 0x4, 0x3A, 0x0, 0x6, 0x3, 0x47, 0x0, 0x0, 0x0, 0x1, 0x0, 0x2E, 0x0, 0x0, 0x5, 0x24, 0x4, 0x3A, 0x0, 0x15, 0x0, 0x0, 0x21, 0x23, 0x11, 0x26, 0x0, 0x3, 0x35, 0x33, 0x15, 0x12, 0x5, 0x11, 0x33, 0x11, 0x24, 0x13, 0x35, 0x33, 0x15, 0x2, 0x2, 0x7, 0x3, 0x26, 0xF3, 0xFF, 0xFE, 0xFD, 0x3, 0xF3, 0x6, 0x1, 0xC, 0xF3, 0x1, 0x5, 0x7, 0xF2, 0x3, 0xFE, 0xFD, 0x1, 0xB, 0x1A, 0x1, 0x2B, 0x1, 0x12, 0xD8, 0xE0, 0xFE, 0xAF, 0x36, 0x2, 0x67, 0xFD, 0x9A, 0x39, 0x1, 0x4A, 0xE3, 0xD9, 0xFE, 0xF2, 0xFE, 0xD5, 0x1C, 0xFF, 0xFF, 0x0, 0x22, 0x0, 0x0, 0x4, 0x14, 0x4, 0x3A, 0x0, 0x6, 0x2, 0x88, 0x0, 0x0, 0x0, 0x2, 0x0, 0x1B, 0x2, 0x8C, 0x4, 0x14, 0x6, 0xC1, 0x0, 0x2, 0x0, 0xA, 0x0, 0x0, 0x1, 0x3, 0x3, 0x1, 0x27, 0x21, 0x7, 0x23, 0x1, 0x33, 0x1, 0x2, 0xB1, 0x98, 0x99, 0x1, 0xBE, 0x52, 0xFE, 0x59, 0x53, 0xD7, 0x1, 0xA2, 0xBA, 0x1, 0x9D, 0x4, 0x1E, 0x1, 0xB1, 0xFE, 0x4F, 0xFE, 0x6E, 0xEB, 0xEB, 0x4, 0x35, 0xFB, 0xCB, 0x0, 0x2, 0x0, 0x1B, 0x2, 0x8C, 0x5, 0x8A, 0x6, 0xC1, 0x0, 0x2, 0x0, 0x12, 0x0, 0x0, 0x1, 0x3, 0x3, 0x1, 0x27, 0x21, 0x7, 0x23, 0x1, 0x21, 0x15, 0x21, 0x13, 0x21, 0x15, 0x21, 0x13, 0x21, 0x15, 0x2, 0xE6, 0x13, 0xF4, 0x1, 0x19, 0xA, 0xFE, 0x99, 0x84, 0xE8, 0x2, 0x5F, 0x2, 0xE2, 0xFE, 0x3E, 0xB, 0x1, 0x7C, 0xFE, 0x8B, 0xD, 0x1, 0xD1, 0x4, 0x30, 0x1, 0xD1, 0xFE, 0x2F, 0xFE, 0x5C, 0xFB, 0xFB, 0x4, 0x35, 0xA8, 0xFE, 0xF2, 0xA7, 0xFE, 0xD0, 0xA8, 0x0, 0x3, 0x0, 0x64, 0x2, 0x8C, 0x3, 0x88, 0x6, 0xC1, 0x0, 0x8, 0x0, 0xF, 0x0, 0x1D, 0x0, 0x0, 0x1, 0x11, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x3, 0x11, 0x33, 0x32, 0x35, 0x34, 0x27, 0x1, 0x11, 0x21, 0x32, 0x16, 0x15, 0x14, 0x7, 0x16, 0x16, 0x15, 0x14, 0x6, 0x23, 0x1, 0x29, 0xC0, 0x56, 0x6A, 0x69, 0x62, 0xB5, 0xD7, 0xC3, 0xB5, 0xFE, 0x56, 0x1, 0x91, 0xAE, 0xCC, 0x9E, 0x5C, 0x5B, 0xC6, 0xAC, 0x6, 0x19, 0xFE, 0xEB, 0x47, 0x49, 0x4D, 0x38, 0xFE, 0x4E, 0xFE, 0xCC, 0x9B, 0x96, 0x3, 0xFE, 0x25, 0x4, 0x35, 0x8E, 0x97, 0x9C, 0x41, 0x19, 0x8C, 0x52, 0x9E, 0x9E, 0x0, 0x3, 0x0, 0x1B, 0x2, 0x8C, 0x4, 0x88, 0x6, 0xC1, 0x0, 0x8, 0x0, 0xF, 0x0, 0x23, 0x0, 0x0, 0x1, 0x11, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x3, 0x11, 0x33, 0x32, 0x35, 0x34, 0x27, 0x1, 0x11, 0x23, 0x35, 0x33, 0x11, 0x21, 0x32, 0x16, 0x15, 0x14, 0x7, 0x33, 0x15, 0x23, 0x16, 0x15, 0x14, 0x6, 0x23, 0x1, 0xB0, 0xC0, 0x57, 0x6A, 0x6A, 0x61, 0xB6, 0xD7, 0xC3, 0xB5, 0xFE, 0x56, 0xD0, 0xD0, 0x1, 0x91, 0xAE, 0xCC, 0x39, 0xCB, 0xAB, 0x32, 0xC6, 0xAB, 0x6, 0x19, 0xFE, 0xEB, 0x47, 0x49, 0x4D, 0x38, 0xFE, 0x4E, 0xFE, 0xCC, 0x9B, 0x96, 0x3, 0xFE, 0x25, 0x1, 0xDB, 0x9D, 0x1, 0xBD, 0x8E, 0x97, 0x59, 0x3F, 0x9D, 0x43, 0x5C, 0x9E, 0x9E, 0x0, 0x2, 0x0, 0x64, 0x2, 0x8C, 0x3, 0xA7, 0x6, 0xC1, 0x0, 0x7, 0x0, 0x11, 0x0, 0x0, 0x1, 0x11, 0x33, 0x20, 0x13, 0x35, 0x10, 0x25, 0x1, 0x11, 0x21, 0x32, 0x0, 0x15, 0x15, 0x14, 0x0, 0x23, 0x1, 0x28, 0x91, 0x1, 0x21, 0x8, 0xFE, 0xEE, 0xFE, 0x94, 0x1, 0x5F, 0xDD, 0x1, 0x7, 0xFE, 0xF8, 0xE6, 0x6, 0x1B, 0xFD, 0x18, 0x1, 0x47, 0x4A, 0x1, 0x4F, 0x8, 0xFC, 0x71, 0x4, 0x35, 0xFE, 0xEC, 0xEB, 0x36, 0xEA, 0xFE, 0xEA, 0x0, 0x1, 0x0, 0x64, 0x2, 0x8C, 0x3, 0x30, 0x6, 0xC1, 0x0, 0xB, 0x0, 0x0, 0x13, 0x11, 0x21, 0x15, 0x21, 0x11, 0x21, 0x15, 0x21, 0x11, 0x21, 0x15, 0x64, 0x2, 0xC7, 0xFD, 0xFD, 0x1, 0xBD, 0xFE, 0x43, 0x2, 0x8, 0x2, 0x8C, 0x4, 0x35, 0xA6, 0xFE, 0xEA, 0xA7, 0xFE, 0xD5, 0xA7, 0x0, 0x1, 0x0, 0x35, 0x2, 0x8C, 0x3, 0x1, 0x6, 0xC1, 0x0, 0xB, 0x0, 0x0, 0x13, 0x35, 0x21, 0x11, 0x21, 0x35, 0x21, 0x11, 0x21, 0x35, 0x21, 0x11, 0x3A, 0x2, 0x4, 0xFE, 0x42, 0x1, 0xBE, 0xFD, 0xF7, 0x2, 0xCC, 0x2, 0x8C, 0xA7, 0x1, 0x16, 0xA7, 0x1, 0x2B, 0xA6, 0xFB, 0xCB, 0x0, 0x1, 0x0, 0x3C, 0x2, 0x7B, 0x3, 0xA3, 0x6, 0xCE, 0x0, 0x1E, 0x0, 0x0, 0x1, 0x11, 0x6, 0x6, 0x23, 0x22, 0x0, 0x35, 0x35, 0x34, 0x12, 0x33, 0x32, 0x16, 0x17, 0x23, 0x26, 0x26, 0x23, 0x20, 0x3, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x37, 0x35, 0x23, 0x35, 0x3, 0xA3, 0x22, 0xB1, 0xB6, 0xCA, 0xFE, 0xEC, 0xFD, 0xD1, 0xC2, 0xC4, 0x13, 0xAD, 0xE, 0x6C, 0x70, 0xFE, 0xFD, 0x8, 0x9C, 0x82, 0x65, 0x5D, 0x14, 0xE9, 0x4, 0xB1, 0xFE, 0x66, 0x2C, 0x70, 0x1, 0xB, 0xFA, 0x49, 0xF5, 0x1, 0x10, 0xC0, 0x95, 0x54, 0x5B, 0xFE, 0xB6, 0x5E, 0xAE, 0xB3, 0x2F, 0x15, 0xAE, 0xA0, 0x0, 0x1, 0x0, 0x64, 0x2, 0x8C, 0x3, 0xDC, 0x6, 0xC1, 0x0, 0xB, 0x0, 0x0, 0x1, 0x11, 0x21, 0x11, 0x23, 0x11, 0x33, 0x11, 0x21, 0x11, 0x33, 0x11, 0x3, 0x19, 0xFE, 0xF, 0xC4, 0xC4, 0x1, 0xF1, 0xC3, 0x2, 0x8C, 0x1, 0xC9, 0xFE, 0x37, 0x4, 0x35, 0xFE, 0x3A, 0x1, 0xC6, 0xFB, 0xCB, 0x0, 0x1, 0x0, 0x7F, 0x2, 0x8C, 0x1, 0x42, 0x6, 0xC1, 0x0, 0x3, 0x0, 0x0, 0x1, 0x11, 0x23, 0x11, 0x1, 0x42, 0xC3, 0x6, 0xC1, 0xFB, 0xCB, 0x4, 0x35, 0x0, 0x1, 0x0, 0x28, 0x2, 0x78, 0x2, 0xF1, 0x6, 0xBC, 0x0, 0xE, 0x0, 0x0, 0x1, 0x33, 0x11, 0x14, 0x6, 0x23, 0x22, 0x26, 0x35, 0x33, 0x14, 0x16, 0x33, 0x32, 0x37, 0x2, 0x2D, 0xC4, 0xCD, 0x92, 0x93, 0xD7, 0xBD, 0x64, 0x49, 0x96, 0x5, 0x6, 0xBC, 0xFD, 0x18, 0xB3, 0xA9, 0xA8, 0xAD, 0x56, 0x58, 0xA7, 0x0, 0x1, 0x0, 0x64, 0x2, 0x8C, 0x3, 0xCD, 0x6, 0xC1, 0x0, 0xB, 0x0, 0x0, 0x1, 0x1, 0x7, 0x11, 0x23, 0x11, 0x33, 0x11, 0x1, 0x33, 0x1, 0x1, 0x2, 0xE2, 0xFE, 0xCF, 0x89, 0xC4, 0xC4, 0x1, 0x8F, 0xF7, 0xFE, 0x87, 0x1, 0x98, 0x2, 0x8C, 0x1, 0xD0, 0x99, 0xFE, 0xC9, 0x4, 0x35, 0xFE, 0xF, 0x1, 0xF1, 0xFE, 0x34, 0xFD, 0x97, 0x0, 0x1, 0x0, 0x64, 0x2, 0x8C, 0x3, 0x18, 0x6, 0xC1, 0x0, 0x5, 0x0, 0x0, 0x13, 0x11, 0x33, 0x11, 0x21, 0x15, 0x64, 0xC4, 0x1, 0xF0, 0x2, 0x8C, 0x4, 0x35, 0xFC, 0x72, 0xA7, 0x0, 0x1, 0x0, 0x64, 0x2, 0x8C, 0x4, 0xD4, 0x6, 0xC1, 0x0, 0xE, 0x0, 0x0, 0x1, 0x11, 0x23, 0x11, 0x33, 0x1, 0x1, 0x33, 0x11, 0x23, 0x11, 0x13, 0x1, 0x23, 0x1, 0x1, 0x29, 0xC5, 0xEA, 0x1, 0x4D, 0x1, 0x50, 0xE9, 0xC5, 0xE, 0xFE, 0xCC, 0x9C, 0xFE, 0xCD, 0x3, 0xFC, 0xFE, 0x90, 0x4, 0x35, 0xFC, 0xD2, 0x3, 0x2E, 0xFB, 0xCB, 0x1, 0x70, 0x1, 0x7D, 0xFD, 0x13, 0x2, 0xEE, 0x0, 0x1, 0x0, 0x64, 0x2, 0x8C, 0x3, 0xD9, 0x6, 0xC1, 0x0, 0xB, 0x0, 0x0, 0x1, 0x1, 0x11, 0x23, 0x11, 0x33, 0x1, 0x11, 0x33, 0x11, 0x23, 0x35, 0x3, 0x13, 0xFE, 0x16, 0xC5, 0xC5, 0x1, 0xEC, 0xC4, 0xC4, 0x2, 0x8C, 0x2, 0xEC, 0xFD, 0x14, 0x4, 0x35, 0xFD, 0x9, 0x2, 0xF7, 0xFB, 0xCB, 0x2, 0x0, 0x1, 0x0, 0x64, 0x2, 0x8C, 0x3, 0xD9, 0x6, 0xC1, 0x0, 0xB, 0x0, 0x0, 0x1, 0x27, 0x15, 0x23, 0x11, 0x33, 0x11, 0x1, 0x33, 0x11, 0x23, 0x11, 0x1, 0x2A, 0x2, 0xC4, 0xC4, 0x1, 0xEC, 0xC5, 0xC5, 0x2, 0x8C, 0x2, 0x2, 0x4, 0x35, 0xFD, 0x9, 0x2, 0xF7, 0xFB, 0xCB, 0x2, 0xEC, 0x0, 0x2, 0x0, 0x3C, 0x2, 0x7B, 0x3, 0xD0, 0x6, 0xCE, 0x0, 0xD, 0x0, 0x19, 0x0, 0x0, 0x1, 0x14, 0x2, 0x23, 0x22, 0x0, 0x35, 0x35, 0x34, 0x0, 0x33, 0x32, 0x12, 0x15, 0x27, 0x10, 0x21, 0x22, 0x6, 0x15, 0x15, 0x14, 0x16, 0x33, 0x32, 0x13, 0x3, 0xD0, 0xFC, 0xCD, 0xC9, 0xFE, 0xFE, 0x1, 0x0, 0xC9, 0xCE, 0xFD, 0xC5, 0xFE, 0xFA, 0x79, 0x8B, 0x8C, 0x7A, 0xFE, 0x6, 0x4, 0x89, 0xFA, 0xFE, 0xEC, 0x1, 0x14, 0xFA, 0x38, 0xFA, 0x1, 0x13, 0xFE, 0xED, 0xFA, 0x1, 0x1, 0x66, 0xB0, 0xB6, 0x39, 0xB5, 0xB2, 0x1, 0x57, 0x0, 0x2, 0x0, 0x3C, 0x2, 0x7E, 0x3, 0x3C, 0x6, 0xC1, 0x0, 0x17, 0x0, 0x23, 0x0, 0x0, 0x1, 0x22, 0x26, 0x35, 0x35, 0x34, 0x37, 0x26, 0x35, 0x33, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x33, 0x14, 0x7, 0x16, 0x17, 0x15, 0x14, 0x6, 0x1, 0x14, 0x33, 0x32, 0x37, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x1, 0xBC, 0xB4, 0xCC, 0x7F, 0x7F, 0xC5, 0x5D, 0x5E, 0x5C, 0x5F, 0xC5, 0x7F, 0x7E, 0x1, 0xCB, 0xFE, 0x90, 0xBB, 0xB7, 0x4, 0x61, 0x5B, 0x59, 0x61, 0x2, 0x7E, 0xE6, 0xAB, 0x23, 0xCB, 0x70, 0x67, 0xED, 0x8E, 0x6C, 0x6C, 0x8E, 0xED, 0x67, 0x6E, 0xCA, 0x26, 0xAB, 0xE6, 0x1, 0x96, 0xEF, 0xE5, 0x26, 0x6F, 0x81, 0x81, 0x6F, 0x0, 0x2, 0x0, 0x64, 0x2, 0x8C, 0x3, 0x8B, 0x6, 0xC1, 0x0, 0x7, 0x0, 0x12, 0x0, 0x0, 0x1, 0x11, 0x33, 0x32, 0x35, 0x34, 0x26, 0x23, 0x3, 0x11, 0x23, 0x11, 0x21, 0x32, 0x16, 0x15, 0x14, 0x6, 0x23, 0x1, 0x28, 0xC8, 0xD7, 0x68, 0x6F, 0xC8, 0xC4, 0x1, 0xA2, 0xBF, 0xC6, 0xC6, 0xBF, 0x6, 0x1B, 0xFE, 0xA0, 0xAC, 0x4D, 0x67, 0xFD, 0xF9, 0xFE, 0x78, 0x4, 0x35, 0xC5, 0x94, 0x9D, 0xB7, 0x0, 0x2, 0x0, 0x64, 0x2, 0x8C, 0x3, 0x9E, 0x6, 0xC1, 0x0, 0x6, 0x0, 0x14, 0x0, 0x0, 0x1, 0x11, 0x33, 0x32, 0x35, 0x34, 0x27, 0x13, 0x3, 0x23, 0x11, 0x23, 0x11, 0x21, 0x32, 0x16, 0x15, 0x14, 0x7, 0x13, 0x15, 0x1, 0x29, 0xA9, 0xD4, 0xCE, 0xF1, 0xE4, 0xBC, 0xC5, 0x1, 0x84, 0xB9, 0xCA, 0xC8, 0xFB, 0x6, 0x1B, 0xFE, 0xAB, 0xA5, 0xAD, 0x3, 0xFC, 0x71, 0x1, 0x93, 0xFE, 0x6D, 0x4, 0x35, 0xAB, 0xA4, 0xD9, 0x51, 0xFE, 0x4E, 0xA, 0x0, 0x1, 0x0, 0x28, 0x2, 0x8C, 0x3, 0x7A, 0x6, 0xC1, 0x0, 0x7, 0x0, 0x0, 0x1, 0x21, 0x11, 0x23, 0x11, 0x21, 0x35, 0x21, 0x3, 0x7A, 0xFE, 0xB9, 0xC6, 0xFE, 0xBB, 0x3, 0x52, 0x6, 0x1B, 0xFC, 0x71, 0x3, 0x8F, 0xA6, 0x0, 0x1, 0x0, 0x64, 0x2, 0x7B, 0x3, 0x91, 0x6, 0xBF, 0x0, 0xF, 0x0, 0x0, 0x1, 0x33, 0x11, 0x14, 0x6, 0x23, 0x22, 0x26, 0x35, 0x11, 0x33, 0x11, 0x16, 0x33, 0x32, 0x37, 0x2, 0xCC, 0xC5, 0xE7, 0xAF, 0xB5, 0xE2, 0xC5, 0x2, 0xD0, 0xCF, 0x2, 0x6, 0xBF, 0xFD, 0x3C, 0xC2, 0xBE, 0xBE, 0xC2, 0x2, 0xC4, 0xFD, 0x3F, 0xDD, 0xDD, 0x0, 0x1, 0x0, 0x35, 0x2, 0x8C, 0x5, 0x3F, 0x6, 0xC1, 0x0, 0xC, 0x0, 0x0, 0x1, 0x3, 0x33, 0x13, 0x13, 0x33, 0x13, 0x13, 0x33, 0x3, 0x23, 0x3, 0x3, 0x1, 0x30, 0xFB, 0xC7, 0x9D, 0xCB, 0xB1, 0xC8, 0x9B, 0xC7, 0xFB, 0xB1, 0xD6, 0xDB, 0x2, 0x8C, 0x4, 0x35, 0xFC, 0xFF, 0x3, 0x1, 0xFC, 0xFF, 0x3, 0x1, 0xFB, 0xCB, 0x3, 0x7, 0xFC, 0xF9, 0x0, 0x2, 0x0, 0x3C, 0x2, 0x7D, 0x3, 0x0, 0x5, 0xBA, 0x0, 0x8, 0x0, 0x24, 0x0, 0x0, 0x1, 0x32, 0x36, 0x37, 0x35, 0x23, 0x6, 0x15, 0x14, 0x5, 0x26, 0x27, 0x6, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x33, 0x33, 0x35, 0x34, 0x23, 0x22, 0x7, 0x23, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x11, 0x14, 0x17, 0x15, 0x1, 0x78, 0x34, 0x59, 0x18, 0x61, 0xBB, 0x1, 0x37, 0xD, 0x7, 0x5A, 0x7F, 0x7A, 0x95, 0xC2, 0xAF, 0x70, 0x86, 0x77, 0xF, 0xBE, 0xBA, 0x97, 0x87, 0xB7, 0x1E, 0x3, 0x1F, 0x2A, 0x1D, 0x93, 0x3, 0x75, 0x62, 0x93, 0x1A, 0x2C, 0x55, 0x82, 0x6B, 0x84, 0x8D, 0x18, 0x87, 0x5C, 0x5F, 0x9D, 0x8B, 0x93, 0xFE, 0xAA, 0x6D, 0x41, 0xC, 0x0, 0x2, 0x0, 0x56, 0x2, 0x7D, 0x3, 0x1A, 0x5, 0xBA, 0x0, 0x8, 0x0, 0x24, 0x0, 0x0, 0x1, 0x22, 0x6, 0x7, 0x15, 0x33, 0x36, 0x35, 0x34, 0x13, 0x14, 0x6, 0x23, 0x22, 0x26, 0x35, 0x11, 0x34, 0x27, 0x35, 0x33, 0x16, 0x17, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x6, 0x23, 0x23, 0x15, 0x14, 0x33, 0x32, 0x37, 0x1, 0xDF, 0x34, 0x5A, 0x18, 0x62, 0xBA, 0xAE, 0xB9, 0x98, 0x87, 0xB7, 0x1E, 0xC9, 0xC, 0x7, 0x5A, 0x80, 0x7A, 0x94, 0xC1, 0xAF, 0x71, 0x86, 0x78, 0xF, 0x5, 0x19, 0x2A, 0x1E, 0x92, 0x3, 0x74, 0x63, 0xFE, 0x61, 0x5E, 0x9F, 0x8B, 0x94, 0x1, 0x56, 0x6D, 0x40, 0xC, 0x1A, 0x2C, 0x55, 0x82, 0x6B, 0x83, 0x8E, 0x18, 0x86, 0x5C, 0x0, 0x2, 0x0, 0x3C, 0x2, 0x7D, 0x3, 0x6A, 0x5, 0xBC, 0x0, 0x15, 0x0, 0x20, 0x0, 0x0, 0x1, 0x22, 0x27, 0x6, 0x23, 0x22, 0x26, 0x35, 0x35, 0x34, 0x36, 0x33, 0x32, 0x17, 0x37, 0x33, 0x11, 0x16, 0x33, 0x37, 0x17, 0x6, 0x25, 0x32, 0x37, 0x11, 0x26, 0x23, 0x22, 0x6, 0x15, 0x14, 0x16, 0x3, 0xD, 0x8E, 0x26, 0x4C, 0x8C, 0x96, 0xAF, 0xAF, 0x98, 0x87, 0x4B, 0xE, 0xAC, 0x2, 0x34, 0x14, 0x11, 0x3B, 0xFE, 0x7F, 0x69, 0x33, 0x32, 0x68, 0x61, 0x4E, 0x4C, 0x2, 0x7D, 0x75, 0x74, 0xDB, 0xAA, 0xF, 0xBC, 0xEE, 0x70, 0x61, 0xFD, 0xD2, 0x5C, 0x3, 0x91, 0x18, 0x95, 0x63, 0x1, 0x4D, 0x66, 0xA1, 0x84, 0x67, 0x8A, 0x0, 0x3, 0x0, 0x3C, 0x2, 0x7D, 0x4, 0xF7, 0x5, 0xBC, 0x0, 0x8, 0x0, 0xF, 0x0, 0x36, 0x0, 0x0, 0x1, 0x22, 0x6, 0x7, 0x15, 0x33, 0x36, 0x35, 0x34, 0x1, 0x32, 0x37, 0x21, 0x15, 0x14, 0x16, 0x5, 0x22, 0x27, 0x6, 0x23, 0x22, 0x26, 0x35, 0x35, 0x21, 0x26, 0x26, 0x23, 0x22, 0x7, 0x27, 0x36, 0x36, 0x33, 0x32, 0x17, 0x36, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x6, 0x23, 0x23, 0x15, 0x14, 0x33, 0x32, 0x37, 0x33, 0x14, 0x6, 0x3, 0xBC, 0x34, 0x5A, 0x18, 0x61, 0xBB, 0xFD, 0x6E, 0x91, 0x1B, 0xFE, 0xB5, 0x50, 0x2, 0x3E, 0xA5, 0x55, 0x67, 0x8F, 0xAF, 0xB4, 0x2, 0x11, 0xE, 0x6F, 0x50, 0x6B, 0x53, 0x73, 0x27, 0x9D, 0x78, 0xB1, 0x6F, 0x3E, 0x8B, 0x67, 0x85, 0x97, 0xC1, 0xAF, 0x71, 0x86, 0x78, 0xF, 0xBD, 0xBA, 0x5, 0x1B, 0x2A, 0x1E, 0x93, 0x3, 0x75, 0x63, 0xFE, 0x9, 0xAD, 0xD, 0x46, 0x5A, 0xA5, 0x5C, 0x5E, 0xDE, 0xAD, 0x63, 0x50, 0x5A, 0x61, 0x73, 0x39, 0x5B, 0x71, 0x39, 0x39, 0x82, 0x6B, 0x84, 0x8D, 0x18, 0x86, 0x5C, 0x5F, 0x9E, 0x0, 0x2, 0x0, 0x64, 0x2, 0x7D, 0x3, 0x3D, 0x7, 0xE, 0x0, 0xF, 0x0, 0x1A, 0x0, 0x0, 0x1, 0x22, 0x27, 0x7, 0x23, 0x11, 0x33, 0x11, 0x36, 0x33, 0x32, 0x16, 0x15, 0x15, 0x14, 0x6, 0x27, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x7, 0x11, 0x16, 0x1, 0xFC, 0x8F, 0x50, 0xD, 0xAC, 0xC4, 0x4E, 0x84, 0x9B, 0xA8, 0xA9, 0xC6, 0x5A, 0x50, 0x4E, 0x5D, 0x72, 0x33, 0x34, 0x2, 0x7D, 0x6A, 0x5B, 0x4, 0x82, 0xFE, 0x50, 0x5C, 0xDE, 0xB9, 0x10, 0xB6, 0xE0, 0xA8, 0x80, 0x7E, 0x69, 0x87, 0x62, 0xFE, 0xD7, 0x63, 0x0, 0x2, 0x0, 0x3C, 0x2, 0x7D, 0x3, 0x15, 0x7, 0xE, 0x0, 0x9, 0x0, 0x19, 0x0, 0x0, 0x1, 0x32, 0x37, 0x11, 0x26, 0x23, 0x22, 0x6, 0x15, 0x14, 0x5, 0x27, 0x6, 0x23, 0x22, 0x26, 0x35, 0x35, 0x34, 0x36, 0x33, 0x32, 0x17, 0x11, 0x33, 0x11, 0x1, 0xAB, 0x72, 0x34, 0x33, 0x72, 0x5D, 0x4E, 0x1, 0x68, 0xD, 0x50, 0x8F, 0x98, 0xA9, 0xA9, 0x9A, 0x84, 0x4E, 0xC4, 0x3, 0x25, 0x63, 0x1, 0x29, 0x62, 0x86, 0x7A, 0xEE, 0x99, 0x5A, 0x69, 0xE0, 0xB6, 0x10, 0xB9, 0xDE, 0x5B, 0x1, 0xAF, 0xFB, 0x7E, 0x0, 0x2, 0x0, 0x3C, 0x2, 0x7E, 0x3, 0x16, 0x5, 0xBC, 0x0, 0x6, 0x0, 0x1C, 0x0, 0x0, 0x1, 0x22, 0x7, 0x21, 0x35, 0x34, 0x26, 0x1, 0x6, 0x6, 0x23, 0x22, 0x26, 0x35, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x15, 0x21, 0x16, 0x16, 0x33, 0x32, 0x36, 0x37, 0x1, 0xB2, 0x91, 0x1B, 0x1, 0x4B, 0x4F, 0x1, 0x1, 0x26, 0x9E, 0x77, 0xB2, 0xDA, 0xDF, 0x98, 0xAF, 0xB4, 0xFD, 0xEF, 0xE, 0x6F, 0x50, 0x40, 0x5B, 0x24, 0x5, 0x15, 0xAD, 0xD, 0x47, 0x59, 0xFD, 0xFD, 0x39, 0x5B, 0xDE, 0xA4, 0x1F, 0xBE, 0xDF, 0xDE, 0xAD, 0x63, 0x50, 0x5A, 0x39, 0x28, 0x0, 0x2, 0x0, 0x3C, 0x2, 0x7C, 0x3, 0x16, 0x5, 0xBA, 0x0, 0x14, 0x0, 0x1B, 0x0, 0x0, 0x1, 0x22, 0x26, 0x35, 0x35, 0x21, 0x26, 0x26, 0x23, 0x22, 0x7, 0x27, 0x36, 0x36, 0x33, 0x32, 0x16, 0x15, 0x15, 0x14, 0x6, 0x27, 0x32, 0x37, 0x21, 0x15, 0x14, 0x16, 0x1, 0x9F, 0xAF, 0xB4, 0x2, 0x11, 0xE, 0x6F, 0x50, 0x6B, 0x53, 0x73, 0x27, 0x9D, 0x78, 0xB2, 0xD9, 0xDE, 0x98, 0x91, 0x1B, 0xFE, 0xB5, 0x50, 0x2, 0x7C, 0xDE, 0xAD, 0x63, 0x50, 0x5A, 0x61, 0x73, 0x39, 0x5B, 0xDE, 0xA4, 0x1F, 0xBE, 0xDF, 0xA7, 0xAD, 0xD, 0x46, 0x5A, 0x0, 0x1, 0x0, 0x3C, 0x2, 0x7C, 0x2, 0xE8, 0x5, 0xBA, 0x0, 0x20, 0x0, 0x0, 0x1, 0x14, 0x6, 0x23, 0x22, 0x26, 0x35, 0x34, 0x37, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x23, 0x26, 0x23, 0x22, 0x15, 0x14, 0x17, 0x33, 0x15, 0x23, 0x6, 0x15, 0x14, 0x33, 0x32, 0x37, 0x2, 0xE8, 0xD9, 0x7A, 0x93, 0xC6, 0x94, 0x85, 0xB7, 0x93, 0x83, 0xC4, 0xB9, 0x4, 0x8F, 0x80, 0x78, 0x93, 0x93, 0x86, 0x8E, 0x95, 0xB, 0x3, 0x79, 0x83, 0x7A, 0x80, 0x71, 0x89, 0x31, 0x39, 0x70, 0x72, 0x78, 0x81, 0x71, 0x50, 0x55, 0x52, 0x1, 0x97, 0x1, 0x5B, 0x61, 0x5D, 0x0, 0x1, 0x0, 0x3C, 0x2, 0x7C, 0x2, 0xE8, 0x5, 0xBA, 0x0, 0x20, 0x0, 0x0, 0x1, 0x22, 0x26, 0x35, 0x33, 0x16, 0x33, 0x32, 0x35, 0x34, 0x27, 0x23, 0x35, 0x33, 0x36, 0x35, 0x34, 0x23, 0x22, 0x7, 0x23, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x7, 0x16, 0x15, 0x14, 0x6, 0x1, 0x8F, 0x7A, 0xD9, 0xB9, 0x9, 0x97, 0x8E, 0x87, 0x93, 0x93, 0x79, 0x81, 0x8F, 0x3, 0xBA, 0xC4, 0x83, 0x94, 0xB7, 0x85, 0x93, 0xC5, 0x2, 0x7C, 0x7A, 0x83, 0x5D, 0x61, 0x5B, 0x1, 0x97, 0x1, 0x52, 0x55, 0x50, 0x71, 0x81, 0x78, 0x72, 0x70, 0x39, 0x31, 0x89, 0x71, 0x80, 0x0, 0x2, 0x0, 0x3C, 0x1, 0x4C, 0x3, 0x16, 0x5, 0xBA, 0x0, 0xA, 0x0, 0x24, 0x0, 0x0, 0x1, 0x32, 0x37, 0x11, 0x26, 0x23, 0x22, 0x6, 0x15, 0x14, 0x16, 0x13, 0x22, 0x26, 0x27, 0x37, 0x16, 0x33, 0x32, 0x37, 0x35, 0x6, 0x23, 0x22, 0x26, 0x35, 0x35, 0x34, 0x36, 0x33, 0x32, 0x17, 0x37, 0x33, 0x11, 0x14, 0x6, 0x1, 0xB0, 0x70, 0x31, 0x31, 0x6F, 0x5E, 0x52, 0x50, 0x60, 0x53, 0xBD, 0x3E, 0x61, 0x5C, 0x7A, 0xB1, 0x6, 0x4F, 0x80, 0x92, 0xB4, 0xB3, 0x94, 0x8D, 0x4E, 0xD, 0xAB, 0xC7, 0x3, 0x22, 0x55, 0x1, 0x4A, 0x52, 0x85, 0x7C, 0x6B, 0x85, 0xFE, 0x2A, 0x44, 0x49, 0x7B, 0x64, 0x9B, 0x4A, 0x5A, 0xE8, 0xAF, 0xF, 0xB7, 0xE2, 0x66, 0x57, 0xFC, 0xF0, 0xA2, 0xAD, 0x0, 0x2, 0x0, 0x78, 0x1, 0x4F, 0x1, 0x5C, 0x5, 0xAD, 0x0, 0x3, 0x0, 0xD, 0x0, 0x0, 0x1, 0x11, 0x23, 0x11, 0x2, 0x36, 0x33, 0x32, 0x16, 0x14, 0x6, 0x23, 0x22, 0x26, 0x1, 0x4D, 0xC5, 0x10, 0x3B, 0x37, 0x36, 0x3C, 0x3C, 0x36, 0x37, 0x3B, 0x5, 0xAD, 0xFC, 0xDF, 0x3, 0x21, 0xFC, 0x3C, 0x3D, 0x3D, 0x5C, 0x3E, 0x3E, 0x0, 0x1, 0x0, 0x64, 0x2, 0x8C, 0x3, 0x3E, 0x7, 0xE, 0x0, 0xC, 0x0, 0x0, 0x1, 0x3, 0x7, 0x15, 0x23, 0x11, 0x33, 0x11, 0x37, 0x37, 0x33, 0x1, 0x1, 0x2, 0x54, 0xD8, 0x53, 0xC5, 0xC5, 0x36, 0xDA, 0xE4, 0xFE, 0xDD, 0x1, 0x44, 0x2, 0x8C, 0x1, 0x54, 0x58, 0xFC, 0x4, 0x82, 0xFD, 0x5E, 0x45, 0xFC, 0xFE, 0xBB, 0xFE, 0x24, 0x0, 0x1, 0x0, 0x64, 0x2, 0x8C, 0x4, 0xCC, 0x5, 0xBA, 0x0, 0x1C, 0x0, 0x0, 0x1, 0x22, 0x7, 0x11, 0x23, 0x11, 0x33, 0x17, 0x36, 0x33, 0x32, 0x17, 0x36, 0x33, 0x32, 0x16, 0x15, 0x11, 0x23, 0x11, 0x26, 0x23, 0x22, 0x7, 0x17, 0x11, 0x23, 0x11, 0x26, 0x1, 0xB3, 0x62, 0x28, 0xC5, 0x98, 0x20, 0x4C, 0x8F, 0xB6, 0x37, 0x4B, 0x9A, 0x78, 0x8B, 0xC5, 0x4, 0x7F, 0x64, 0x28, 0x2, 0xC5, 0x4, 0x5, 0x13, 0x59, 0xFD, 0xD2, 0x3, 0x21, 0x7A, 0x87, 0x9A, 0x9A, 0x91, 0xA2, 0xFE, 0x5, 0x1, 0xD9, 0xAE, 0x5F, 0x1F, 0xFD, 0xF7, 0x1, 0xD9, 0xAE, 0x0, 0x1, 0x0, 0x64, 0x1, 0x4C, 0x2, 0xFA, 0x5, 0xBA, 0x0, 0x19, 0x0, 0x0, 0x1, 0x22, 0x27, 0x35, 0x16, 0x33, 0x32, 0x35, 0x11, 0x34, 0x26, 0x23, 0x22, 0x7, 0x11, 0x23, 0x11, 0x33, 0x17, 0x36, 0x33, 0x32, 0x16, 0x15, 0x11, 0x14, 0x2, 0x3F, 0x46, 0x4F, 0x27, 0x1D, 0x47, 0x45, 0x3D, 0x62, 0x28, 0xC5, 0xAB, 0x11, 0x4C, 0x8B, 0x78, 0x8B, 0x1, 0x4C, 0x11, 0xB4, 0x9, 0x50, 0x1, 0xFE, 0x69, 0x54, 0x59, 0xFD, 0xD2, 0x3, 0x21, 0x73, 0x80, 0x91, 0xA2, 0xFD, 0xBF, 0xFA, 0x0, 0x2, 0x0, 0x3C, 0x2, 0x7C, 0x3, 0x32, 0x5, 0xBA, 0x0, 0xD, 0x0, 0x17, 0x0, 0x0, 0x13, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x15, 0x14, 0x6, 0x23, 0x22, 0x26, 0x35, 0x33, 0x14, 0x16, 0x33, 0x32, 0x11, 0x34, 0x26, 0x23, 0x22, 0x3C, 0xCB, 0xAF, 0xB1, 0xCB, 0xCB, 0xB0, 0xAF, 0xCC, 0xC5, 0x5B, 0x5B, 0xB6, 0x5B, 0x5C, 0xB5, 0x4, 0x23, 0xB3, 0xE4, 0xE4, 0xB3, 0x10, 0xB3, 0xE4, 0xE4, 0xB3, 0x6E, 0x82, 0x1, 0x0, 0x6C, 0x84, 0x0, 0x1, 0x0, 0x28, 0x2, 0x7C, 0x2, 0x83, 0x5, 0xBA, 0x0, 0x15, 0x0, 0x0, 0x13, 0x37, 0x16, 0x33, 0x32, 0x11, 0x34, 0x26, 0x23, 0x22, 0x7, 0x27, 0x36, 0x33, 0x32, 0x16, 0x15, 0x15, 0x14, 0x6, 0x23, 0x22, 0x30, 0x54, 0x38, 0x4D, 0xB5, 0x5B, 0x5B, 0x43, 0x38, 0x65, 0x5D, 0x83, 0xB0, 0xCB, 0xCA, 0xB0, 0x7F, 0x2, 0xB9, 0x8F, 0x25, 0x1, 0x0, 0x6C, 0x84, 0x24, 0x88, 0x43, 0xE4, 0xB3, 0x10, 0xB3, 0xE4, 0x0, 0x1, 0x0, 0x28, 0x4, 0x13, 0x3, 0x1E, 0x5, 0xBA, 0x0, 0xD, 0x0, 0x0, 0x1, 0x23, 0x10, 0x23, 0x22, 0x11, 0x23, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x3, 0x1E, 0xC5, 0xB7, 0xB5, 0xC5, 0xCB, 0xAF, 0xB1, 0xCB, 0x4, 0x13, 0x1, 0x0, 0xFF, 0x0, 0x10, 0xB3, 0xE4, 0xE4, 0xB3, 0x0, 0x1, 0x0, 0x28, 0x2, 0x83, 0x3, 0x1E, 0x4, 0x2A, 0x0, 0xE, 0x0, 0x0, 0x1, 0x33, 0x15, 0x14, 0x6, 0x23, 0x22, 0x26, 0x35, 0x35, 0x33, 0x14, 0x16, 0x33, 0x32, 0x2, 0x59, 0xC5, 0xCB, 0xB1, 0xAF, 0xCB, 0xC5, 0x5B, 0x5A, 0xB7, 0x4, 0x2A, 0x10, 0xB2, 0xE5, 0xE5, 0xB2, 0x10, 0x7D, 0x83, 0x0, 0x2, 0x0, 0x64, 0x1, 0x29, 0x3, 0x3D, 0x5, 0xBA, 0x0, 0x9, 0x0, 0x19, 0x0, 0x0, 0x1, 0x32, 0x36, 0x35, 0x34, 0x23, 0x22, 0x7, 0x11, 0x16, 0x17, 0x22, 0x27, 0x11, 0x23, 0x11, 0x33, 0x17, 0x36, 0x33, 0x32, 0x16, 0x15, 0x15, 0x14, 0x6, 0x1, 0xCD, 0x5D, 0x4E, 0xAA, 0x72, 0x34, 0x33, 0x9F, 0x84, 0x4E, 0xC4, 0xAC, 0xD, 0x50, 0x8F, 0x98, 0xA9, 0xA8, 0x3, 0x24, 0x86, 0x7B, 0xED, 0x63, 0xFE, 0xD7, 0x62, 0xA7, 0x5C, 0xFE, 0x50, 0x4, 0x82, 0x5A, 0x69, 0xDF, 0xB6, 0x10, 0xB9, 0xDF, 0x0, 0x1, 0x0, 0x28, 0x2, 0x7D, 0x2, 0x2, 0x6, 0x70, 0x0, 0x15, 0x0, 0x0, 0x1, 0x6, 0x23, 0x22, 0x26, 0x35, 0x11, 0x23, 0x35, 0x33, 0x35, 0x33, 0x15, 0x33, 0x15, 0x23, 0x11, 0x14, 0x16, 0x33, 0x32, 0x37, 0x1, 0xFE, 0x32, 0x56, 0x57, 0x73, 0x84, 0x84, 0xC5, 0x91, 0x91, 0x27, 0x25, 0x23, 0x1E, 0x2, 0x8F, 0x12, 0x74, 0x86, 0x1, 0x95, 0xA0, 0xC4, 0xC4, 0xA0, 0xFE, 0x7E, 0x3B, 0x2A, 0x7, 0x0, 0x1, 0x0, 0x64, 0x2, 0x7F, 0x2, 0xFA, 0x5, 0xAD, 0x0, 0x10, 0x0, 0x0, 0x1, 0x27, 0x6, 0x23, 0x22, 0x26, 0x35, 0x11, 0x33, 0x11, 0x16, 0x33, 0x32, 0x37, 0x11, 0x33, 0x11, 0x2, 0x51, 0x12, 0x4C, 0x8B, 0x79, 0x8B, 0xC5, 0x4, 0x7F, 0x61, 0x28, 0xC5, 0x2, 0x8C, 0x74, 0x81, 0x91, 0xA2, 0x1, 0xFB, 0xFE, 0x28, 0xAF, 0x58, 0x2, 0x2F, 0xFC, 0xDF, 0x0, 0x1, 0x0, 0x3C, 0x2, 0xCB, 0x3, 0x6A, 0x5, 0x61, 0x0, 0x10, 0x0, 0x0, 0x13, 0x35, 0x21, 0x36, 0x35, 0x34, 0x27, 0x21, 0x35, 0x21, 0x15, 0x7, 0x16, 0x15, 0x14, 0x6, 0x23, 0x3C, 0x1, 0xD8, 0xAF, 0x59, 0xFD, 0xD2, 0x3, 0x20, 0x74, 0x82, 0x91, 0xA2, 0x2, 0xCB, 0xC5, 0x4, 0x7E, 0x62, 0x28, 0xC5, 0xA8, 0x13, 0x4C, 0x8C, 0x78, 0x8B, 0x0, 0x1, 0x0, 0x64, 0x2, 0x7F, 0x4, 0xCC, 0x5, 0xAD, 0x0, 0x1C, 0x0, 0x0, 0x1, 0x27, 0x6, 0x23, 0x22, 0x27, 0x6, 0x23, 0x22, 0x26, 0x35, 0x11, 0x33, 0x11, 0x16, 0x33, 0x32, 0x37, 0x27, 0x11, 0x33, 0x11, 0x16, 0x33, 0x32, 0x37, 0x11, 0x33, 0x11, 0x4, 0x34, 0x20, 0x4C, 0x8F, 0xB6, 0x36, 0x4B, 0x9A, 0x79, 0x8B, 0xC5, 0x4, 0x7F, 0x65, 0x27, 0x2, 0xC5, 0x4, 0x7F, 0x61, 0x28, 0xC5, 0x2, 0x8C, 0x79, 0x86, 0x9A, 0x9A, 0x91, 0xA2, 0x1, 0xFB, 0xFE, 0x28, 0xAF, 0x5E, 0x20, 0x2, 0x9, 0xFE, 0x28, 0xAF, 0x59, 0x2, 0x2E, 0xFC, 0xDF, 0x0, 0x1, 0x0, 0x28, 0x2, 0x8C, 0x3, 0xB, 0x5, 0xAD, 0x0, 0x8, 0x0, 0x0, 0x1, 0x1, 0x33, 0x13, 0x17, 0x37, 0x13, 0x33, 0x1, 0x1, 0x40, 0xFE, 0xE8, 0xD4, 0x96, 0x9, 0xA, 0x93, 0xD3, 0xFE, 0xEB, 0x2, 0x8C, 0x3, 0x21, 0xFD, 0xF3, 0x32, 0x32, 0x2, 0xD, 0xFC, 0xDF, 0x0, 0x1, 0x0, 0x35, 0x2, 0x7D, 0x3, 0x6D, 0x5, 0xBA, 0x0, 0x1E, 0x0, 0x0, 0x13, 0x34, 0x36, 0x32, 0x16, 0x15, 0x14, 0x6, 0x7, 0x16, 0x33, 0x32, 0x37, 0x17, 0x6, 0x23, 0x22, 0x26, 0x27, 0x6, 0x6, 0x23, 0x22, 0x27, 0x37, 0x16, 0x33, 0x32, 0x37, 0x26, 0x27, 0xBB, 0x97, 0xFE, 0x97, 0x6F, 0x40, 0x2D, 0x52, 0x4A, 0x58, 0x14, 0x5B, 0x5B, 0x54, 0x68, 0x2A, 0x2B, 0x67, 0x54, 0x5B, 0x5B, 0x14, 0x58, 0x4A, 0x52, 0x2D, 0x9E, 0xF, 0x4, 0xBC, 0x65, 0x99, 0x99, 0x65, 0x73, 0xA0, 0x47, 0x3E, 0x20, 0xA7, 0x20, 0x35, 0x2D, 0x2D, 0x35, 0x20, 0xA7, 0x20, 0x3E, 0xAA, 0x86, 0x0, 0x2, 0x0, 0x64, 0x1, 0x66, 0x3, 0x45, 0x6, 0xCF, 0x0, 0x10, 0x0, 0x22, 0x0, 0x0, 0x1, 0x32, 0x35, 0x34, 0x27, 0x23, 0x35, 0x33, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x15, 0x11, 0x16, 0x17, 0x22, 0x27, 0x11, 0x23, 0x11, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x7, 0x16, 0x15, 0x14, 0x6, 0x1, 0xD1, 0xAF, 0xB3, 0x48, 0x38, 0x93, 0x42, 0x4C, 0x9A, 0x3C, 0x89, 0x6F, 0x56, 0xC4, 0xCD, 0x8E, 0x98, 0xBF, 0x92, 0xC1, 0xC3, 0x3, 0x23, 0xA9, 0xA1, 0x5, 0x9F, 0x2, 0x92, 0x34, 0x4F, 0xA7, 0xFD, 0xCE, 0x2C, 0xA7, 0x34, 0xFE, 0xB6, 0x4, 0x31, 0x87, 0xB1, 0x9E, 0x86, 0x91, 0x4C, 0x44, 0xC8, 0x9C, 0xAA, 0x0, 0x1, 0x0, 0x28, 0x1, 0x4C, 0x3, 0x32, 0x5, 0xAB, 0x0, 0xA, 0x0, 0x0, 0x1, 0x23, 0x11, 0x1, 0x33, 0x13, 0x17, 0x37, 0x13, 0x33, 0x1, 0x2, 0x11, 0xC5, 0xFE, 0xDC, 0xD8, 0xA6, 0x9, 0xA, 0xA2, 0xD7, 0xFE, 0xDF, 0x1, 0x4C, 0x1, 0x47, 0x3, 0x18, 0xFD, 0xEF, 0x32, 0x32, 0x2, 0x11, 0xFC, 0xEE, 0x0, 0x2, 0x0, 0x3C, 0x2, 0x7C, 0x3, 0x24, 0x7, 0x14, 0x0, 0x1C, 0x0, 0x26, 0x0, 0x0, 0x13, 0x34, 0x36, 0x33, 0x32, 0x17, 0x7, 0x26, 0x23, 0x22, 0x15, 0x14, 0x17, 0x4, 0x13, 0x15, 0x14, 0x6, 0x23, 0x22, 0x26, 0x35, 0x35, 0x34, 0x36, 0x37, 0x37, 0x26, 0x26, 0x13, 0x14, 0x16, 0x33, 0x32, 0x35, 0x34, 0x26, 0x27, 0x6, 0x96, 0xA1, 0x82, 0x7C, 0x89, 0x26, 0x84, 0x56, 0x65, 0x84, 0x1, 0x44, 0x3, 0xC4, 0xAE, 0xB0, 0xC6, 0x8F, 0x60, 0x3, 0x42, 0x56, 0x6C, 0x56, 0x5A, 0xAC, 0x56, 0x56, 0xB0, 0x6, 0x35, 0x69, 0x76, 0x46, 0x8F, 0x33, 0x47, 0x42, 0x2F, 0x73, 0xFE, 0xD6, 0x14, 0xA9, 0xE4, 0xE2, 0xA6, 0xF, 0x7F, 0xB4, 0x18, 0x8, 0x1F, 0x67, 0xFE, 0x22, 0x69, 0x83, 0xFB, 0x53, 0x92, 0x11, 0x7, 0x0, 0x2, 0x0, 0x3C, 0x1, 0x4C, 0x4, 0x2C, 0x5, 0xC4, 0x0, 0x18, 0x0, 0x21, 0x0, 0x0, 0x1, 0x23, 0x11, 0x26, 0x2, 0x35, 0x34, 0x36, 0x37, 0x17, 0x6, 0x15, 0x14, 0x16, 0x17, 0x11, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x6, 0x7, 0x35, 0x36, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x15, 0x2, 0x90, 0xC5, 0xD9, 0xB6, 0x64, 0x55, 0x71, 0x66, 0x57, 0x74, 0x78, 0x63, 0xB0, 0xD6, 0xBC, 0xE0, 0x7C, 0x5B, 0x5C, 0x44, 0x37, 0x1, 0x4C, 0x1, 0x3F, 0x1D, 0x1, 0x7, 0x9D, 0x78, 0xC2, 0x3D, 0x72, 0x74, 0x91, 0x62, 0x9B, 0x19, 0x1, 0xA2, 0x7F, 0x6D, 0xF0, 0x9E, 0x96, 0xFD, 0x19, 0xAA, 0x15, 0x93, 0x5A, 0x66, 0x84, 0x48, 0x0, 0x1, 0x0, 0x35, 0x1, 0x4A, 0x3, 0x4E, 0x5, 0xBA, 0x0, 0x1D, 0x0, 0x0, 0x1, 0x6, 0x27, 0x26, 0x26, 0x27, 0x27, 0x3, 0x23, 0x1, 0x3, 0x26, 0x26, 0x23, 0x7, 0x27, 0x36, 0x33, 0x32, 0x16, 0x17, 0x17, 0x13, 0x33, 0x1, 0x13, 0x16, 0x17, 0x16, 0x37, 0x3, 0x3C, 0x22, 0x30, 0x5B, 0x69, 0x25, 0x42, 0xAD, 0xBE, 0x1, 0x11, 0x87, 0x14, 0x33, 0x2F, 0x31, 0x2, 0x3B, 0x2F, 0x6F, 0x60, 0x1B, 0x46, 0xA1, 0xBC, 0xFE, 0xFD, 0x90, 0x2D, 0x32, 0x18, 0x1E, 0x1, 0x57, 0xD, 0x3, 0x5, 0x86, 0x53, 0x94, 0xFE, 0x9C, 0x2, 0x2E, 0x1, 0x2E, 0x2E, 0x34, 0x4, 0x97, 0xE, 0x80, 0x3C, 0x9C, 0x1, 0x4A, 0xFD, 0xEC, 0xFE, 0xBE, 0x5F, 0x3, 0x2, 0x4, 0x0, 0x2, 0x0, 0x78, 0xFF, 0x38, 0x1, 0x5C, 0x3, 0x96, 0x0, 0xB, 0x0, 0xF, 0x0, 0x0, 0x13, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x6, 0x23, 0x22, 0x26, 0x17, 0x11, 0x23, 0x11, 0x78, 0x3B, 0x37, 0x36, 0x3C, 0x3C, 0x36, 0x37, 0x3B, 0xD5, 0xC5, 0x3, 0x2A, 0x2F, 0x3D, 0x3D, 0x2F, 0x2D, 0x3D, 0x3D, 0xA4, 0xFC, 0xDF, 0x3, 0x21, 0xFF, 0xFF, 0x0, 0x64, 0xFF, 0x38, 0x2, 0x12, 0x2, 0x66, 0x0, 0x7, 0x1, 0x65, 0x0, 0x0, 0xFC, 0xAC, 0xFF, 0xFF, 0x0, 0x64, 0xFF, 0x2B, 0x2, 0xFA, 0x2, 0x59, 0x0, 0x7, 0x3, 0x87, 0x0, 0x0, 0xFC, 0xAC, 0xFF, 0xFF, 0x0, 0x28, 0xFF, 0x38, 0x3, 0xB, 0x2, 0x59, 0x0, 0x7, 0x3, 0x8A, 0x0, 0x0, 0xFC, 0xAC, 0xFF, 0xFF, 0x0, 0x64, 0xFE, 0x17, 0x3, 0x45, 0x3, 0x80, 0x0, 0x7, 0x3, 0x8C, 0x0, 0x0, 0xFC, 0xB1, 0xFF, 0xFF, 0x0, 0x28, 0xFD, 0xFA, 0x3, 0x32, 0x2, 0x59, 0x0, 0x7, 0x3, 0x8D, 0x0, 0x0, 0xFC, 0xAE, 0x0, 0x2, 0x0, 0x64, 0xFE, 0x8, 0x3, 0x39, 0x2, 0x6C, 0x0, 0xB, 0x0, 0x1A, 0x0, 0x0, 0x5, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x15, 0x16, 0x17, 0x22, 0x27, 0x11, 0x23, 0x11, 0x34, 0x36, 0x33, 0x32, 0x16, 0x17, 0x15, 0x14, 0x6, 0x1, 0xC9, 0x5C, 0x4F, 0x4E, 0x59, 0x57, 0x4D, 0x33, 0xA0, 0x84, 0x4F, 0xC5, 0xD7, 0x97, 0xAC, 0xB9, 0x2, 0xA7, 0x2C, 0x76, 0x78, 0x73, 0x90, 0x8C, 0x5C, 0xBD, 0x4C, 0xA7, 0x59, 0xFE, 0x82, 0x2, 0xDE, 0xB6, 0xD0, 0xEA, 0xB9, 0x17, 0xAA, 0xDB, 0xFF, 0xFF, 0x0, 0x3C, 0xFD, 0xEB, 0x4, 0x2C, 0x2, 0x63, 0x0, 0x7, 0x3, 0x8F, 0x0, 0x0, 0xFC, 0x9F, 0xFF, 0xFF, 0x0, 0x42, 0xFD, 0xF4, 0x3, 0x5B, 0x2, 0x64, 0x0, 0x7, 0x3, 0x90, 0x0, 0xD, 0xFC, 0xAA, 0x0, 0x2, 0x0, 0x77, 0xFF, 0xEC, 0x6, 0xBC, 0x4, 0x4E, 0x0, 0x23, 0x0, 0x2B, 0x0, 0x0, 0x5, 0x22, 0x26, 0x27, 0x6, 0x6, 0x23, 0x22, 0x26, 0x35, 0x11, 0x33, 0x11, 0x16, 0x16, 0x33, 0x32, 0x37, 0x11, 0x33, 0x15, 0x36, 0x33, 0x32, 0x12, 0x15, 0x15, 0x21, 0x16, 0x16, 0x33, 0x32, 0x37, 0x17, 0x6, 0x6, 0x3, 0x22, 0x6, 0x7, 0x21, 0x35, 0x26, 0x26, 0x5, 0xA, 0x9B, 0xE5, 0x3F, 0x2D, 0xB5, 0x8D, 0x9F, 0xC6, 0xF3, 0x1, 0x66, 0x45, 0xB7, 0x37, 0xE5, 0x74, 0x91, 0xEC, 0xE2, 0xFD, 0x3D, 0xA, 0x95, 0x80, 0xA8, 0x68, 0x83, 0x34, 0xCC, 0xBE, 0x63, 0x7B, 0x11, 0x1, 0xCE, 0x5, 0x61, 0x14, 0x83, 0x6E, 0x6F, 0x82, 0xD5, 0xF3, 0x2, 0x86, 0xFD, 0x72, 0x8F, 0x6A, 0xA3, 0x2, 0xE4, 0x38, 0x4C, 0xFE, 0xD4, 0xEA, 0x67, 0x7D, 0xA5, 0x86, 0x7D, 0x4C, 0x80, 0x3, 0x9F, 0x8C, 0x7C, 0x12, 0x5F, 0x97, 0x0, 0x2, 0xFF, 0xEC, 0xFF, 0xEC, 0x4, 0xBF, 0x6, 0x0, 0x0, 0x24, 0x0, 0x2F, 0x0, 0x0, 0x1, 0x14, 0x2, 0x23, 0x22, 0x27, 0x7, 0x23, 0x11, 0x27, 0x22, 0x6, 0x15, 0x27, 0x34, 0x36, 0x33, 0x32, 0x17, 0x35, 0x33, 0x15, 0x33, 0x32, 0x36, 0x35, 0x17, 0x14, 0x6, 0x23, 0x27, 0x15, 0x36, 0x33, 0x32, 0x12, 0x17, 0x1, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x7, 0x11, 0x16, 0x4, 0xBF, 0xD8, 0xCE, 0xBC, 0x6C, 0xC, 0xDC, 0x19, 0x29, 0x38, 0xA3, 0x89, 0x67, 0x17, 0x16, 0xF3, 0x3, 0x29, 0x3A, 0xA3, 0x8A, 0x68, 0x17, 0x6A, 0xB1, 0xD0, 0xD7, 0x1, 0xFE, 0x1D, 0x87, 0x69, 0x66, 0x8C, 0x9C, 0x42, 0x43, 0x2, 0x12, 0xEF, 0xFE, 0xC9, 0x89, 0x75, 0x4, 0xDC, 0x2, 0x3B, 0x2F, 0x8, 0x72, 0x9C, 0x5, 0x7B, 0xD2, 0x3B, 0x2F, 0xC, 0x73, 0x97, 0x1, 0xB0, 0x7B, 0xFE, 0xD0, 0xF3, 0xFE, 0x88, 0xCA, 0xAA, 0x8F, 0xD2, 0x8B, 0xFE, 0x43, 0x8D, 0x0, 0x2, 0x0, 0x50, 0xFF, 0xEC, 0x5, 0x9, 0x6, 0x0, 0x0, 0xB, 0x0, 0x2F, 0x0, 0x0, 0x25, 0x32, 0x37, 0x11, 0x26, 0x23, 0x22, 0x6, 0x15, 0x15, 0x14, 0x16, 0x5, 0x27, 0x6, 0x23, 0x22, 0x2, 0x35, 0x35, 0x34, 0x12, 0x33, 0x32, 0x17, 0x11, 0x27, 0x22, 0x6, 0x15, 0x27, 0x34, 0x36, 0x33, 0x32, 0x17, 0x35, 0x33, 0x15, 0x32, 0x36, 0x35, 0x17, 0x14, 0x6, 0x23, 0x27, 0x11, 0x2, 0x37, 0x95, 0x45, 0x44, 0x94, 0x84, 0x73, 0x72, 0x1, 0x73, 0xB, 0x6C, 0xB7, 0xC3, 0xE6, 0xE5, 0xC6, 0xAC, 0x6A, 0x1D, 0x29, 0x38, 0xA3, 0x89, 0x67, 0x19, 0x18, 0xF3, 0x29, 0x39, 0xA3, 0x8A, 0x68, 0x13, 0xB3, 0x86, 0x1, 0xCD, 0x82, 0xD0, 0x92, 0x15, 0x91, 0xCD, 0xB3, 0x70, 0x84, 0x1, 0x39, 0xEC, 0x15, 0xF7, 0x1, 0x31, 0x77, 0x1, 0x9, 0x2, 0x3B, 0x30, 0x9, 0x71, 0x9C, 0x6, 0x79, 0xCF, 0x3B, 0x30, 0xD, 0x73, 0x97, 0x1, 0xFB, 0x7A, 0x0, 0x1, 0x0, 0x13, 0x0, 0x0, 0x3, 0x33, 0x6, 0x15, 0x0, 0x27, 0x0, 0x0, 0x1, 0x27, 0x11, 0x23, 0x11, 0x27, 0x22, 0x6, 0x15, 0x27, 0x34, 0x36, 0x33, 0x17, 0x35, 0x23, 0x35, 0x33, 0x35, 0x34, 0x36, 0x33, 0x32, 0x17, 0x7, 0x26, 0x23, 0x22, 0x7, 0x15, 0x33, 0x15, 0x23, 0x11, 0x32, 0x36, 0x35, 0x17, 0x14, 0x6, 0x2, 0x3A, 0x18, 0xF3, 0x18, 0x29, 0x38, 0xA3, 0x89, 0x67, 0x2C, 0xA5, 0xA5, 0xCC, 0xB0, 0x42, 0x46, 0x6, 0x2A, 0x34, 0xAB, 0x2, 0xDC, 0xDC, 0x2E, 0x39, 0xA3, 0x8A, 0x1, 0x8A, 0x1, 0xFE, 0x75, 0x1, 0xE5, 0x1, 0x3B, 0x2F, 0x8, 0x72, 0x9C, 0x4, 0xF9, 0xB3, 0x67, 0xB5, 0xBF, 0x12, 0xBE, 0x8, 0xA8, 0x6B, 0xB3, 0xFE, 0xAF, 0x3B, 0x2F, 0xC, 0x73, 0x97, 0x0, 0x3, 0x0, 0x14, 0x0, 0x0, 0x7, 0xC3, 0x4, 0x4E, 0x0, 0x9, 0x0, 0x12, 0x0, 0x37, 0x0, 0x0, 0x1, 0x16, 0x17, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x7, 0x25, 0x22, 0x7, 0x15, 0x16, 0x17, 0x35, 0x26, 0x26, 0x13, 0x11, 0x26, 0x27, 0x11, 0x23, 0x11, 0x6, 0x7, 0x27, 0x36, 0x37, 0x11, 0x33, 0x17, 0x36, 0x33, 0x32, 0x17, 0x36, 0x36, 0x33, 0x32, 0x16, 0x17, 0x15, 0x36, 0x37, 0x17, 0x6, 0x7, 0x11, 0x23, 0x11, 0x26, 0x27, 0x11, 0x4, 0x65, 0xFA, 0x98, 0x69, 0x59, 0x52, 0x69, 0x15, 0xFE, 0x4A, 0x93, 0x3C, 0x9C, 0xF6, 0x1, 0x68, 0x69, 0xFC, 0x96, 0xF3, 0x34, 0x25, 0x80, 0x3B, 0x9E, 0xE5, 0x7, 0x73, 0xC5, 0xD8, 0x51, 0x35, 0xA7, 0x70, 0xA5, 0xBD, 0x2, 0x33, 0x28, 0x7E, 0x3F, 0x9A, 0xF3, 0xA2, 0xF0, 0x2, 0x67, 0x19, 0x3, 0x73, 0x78, 0x52, 0x58, 0x47, 0x9F, 0x78, 0x6E, 0x5, 0x1C, 0x40, 0x6E, 0x59, 0xFC, 0x78, 0x1, 0xE4, 0x1D, 0x3, 0xFD, 0xFC, 0x1, 0xE5, 0x1B, 0x42, 0x32, 0x92, 0x3A, 0x1, 0xB4, 0x71, 0x85, 0xA5, 0x4B, 0x5A, 0xB6, 0xD2, 0x54, 0x1E, 0x3D, 0x3C, 0x95, 0x33, 0xFE, 0x37, 0x1, 0xAC, 0x3, 0x1A, 0xFE, 0x37, 0x0, 0x2, 0x0, 0x14, 0x0, 0x0, 0x5, 0x39, 0x4, 0x4E, 0x0, 0x8, 0x0, 0x24, 0x0, 0x0, 0x1, 0x35, 0x34, 0x26, 0x23, 0x22, 0x7, 0x15, 0x16, 0x7, 0x11, 0x23, 0x11, 0x6, 0x7, 0x27, 0x34, 0x36, 0x37, 0x11, 0x33, 0x17, 0x36, 0x33, 0x32, 0x16, 0x17, 0x15, 0x36, 0x37, 0x17, 0x14, 0x6, 0x7, 0x11, 0x23, 0x11, 0x3, 0x71, 0x62, 0x5D, 0x92, 0x49, 0xA8, 0xA8, 0xF2, 0x44, 0xA, 0x83, 0x6B, 0x66, 0xE4, 0x8, 0x77, 0xC3, 0x9C, 0xBC, 0x1, 0x47, 0xC, 0x82, 0x6D, 0x68, 0xF3, 0x2, 0x4D, 0x71, 0x70, 0x5A, 0x86, 0x7C, 0x14, 0x8D, 0xFE, 0x1B, 0x1, 0xF0, 0x14, 0x54, 0x23, 0x51, 0x84, 0x10, 0x1, 0xAA, 0x7D, 0x91, 0xB3, 0xDA, 0x82, 0x12, 0x58, 0x28, 0x54, 0x81, 0xD, 0xFE, 0x61, 0x1, 0xAB, 0x0, 0x2, 0xFF, 0xE6, 0xFE, 0x60, 0x4, 0xA0, 0x4, 0x4E, 0x0, 0xB, 0x0, 0x2F, 0x0, 0x0, 0x25, 0x32, 0x36, 0x35, 0x35, 0x34, 0x26, 0x23, 0x22, 0x7, 0x11, 0x16, 0x3, 0x27, 0x15, 0x23, 0x35, 0x23, 0x22, 0x6, 0x15, 0x27, 0x34, 0x36, 0x33, 0x17, 0x11, 0x33, 0x17, 0x36, 0x33, 0x32, 0x12, 0x15, 0x15, 0x14, 0x2, 0x23, 0x22, 0x27, 0x11, 0x17, 0x32, 0x36, 0x35, 0x17, 0x14, 0x6, 0x2, 0xB7, 0x83, 0x74, 0x76, 0x83, 0x94, 0x42, 0x43, 0x14, 0x2F, 0xF3, 0x2, 0x28, 0x38, 0xA4, 0x8A, 0x67, 0x15, 0xE0, 0xA, 0x6C, 0xB7, 0xCE, 0xD9, 0xD9, 0xCB, 0xB1, 0x6C, 0x1B, 0x29, 0x3A, 0xA2, 0x89, 0xAF, 0xD3, 0x91, 0x14, 0x92, 0xCF, 0x7B, 0xFE, 0x20, 0x7E, 0xFD, 0xFF, 0x4, 0x52, 0xAB, 0x3B, 0x30, 0x9, 0x71, 0x9C, 0x1, 0x4, 0x85, 0x6D, 0x81, 0xFE, 0xD0, 0xF8, 0x14, 0xEC, 0xFE, 0xC6, 0x75, 0xFE, 0xFB, 0x2, 0x3B, 0x30, 0xD, 0x74, 0x96, 0x0, 0x1, 0xFF, 0xDD, 0x0, 0x0, 0x3, 0x34, 0x4, 0x4E, 0x0, 0x21, 0x0, 0x0, 0x1, 0x27, 0x11, 0x23, 0x11, 0x27, 0x22, 0x6, 0x15, 0x27, 0x34, 0x36, 0x33, 0x32, 0x17, 0x11, 0x33, 0x17, 0x36, 0x33, 0x32, 0x17, 0x7, 0x26, 0x23, 0x22, 0x7, 0x15, 0x32, 0x36, 0x35, 0x17, 0x14, 0x6, 0x2, 0x5, 0x17, 0xF2, 0x1B, 0x29, 0x38, 0xA3, 0x89, 0x67, 0x18, 0x17, 0xE7, 0x7, 0x57, 0x9D, 0x31, 0x25, 0x2, 0x32, 0x30, 0xA9, 0x39, 0x2C, 0x39, 0xA3, 0x8A, 0x1, 0x74, 0x1, 0xFE, 0x8B, 0x1, 0xCF, 0x2, 0x3B, 0x30, 0x9, 0x71, 0x9C, 0x5, 0x1, 0xC3, 0x79, 0x8D, 0xD, 0xE5, 0x8, 0x80, 0xC4, 0x3B, 0x30, 0xD, 0x73, 0x97, 0x0, 0x1, 0xFF, 0xFC, 0x0, 0x0, 0x3, 0x15, 0x4, 0x4E, 0x0, 0x1E, 0x0, 0x0, 0x1, 0x22, 0x27, 0x11, 0x23, 0x11, 0x6, 0x15, 0x27, 0x34, 0x36, 0x33, 0x35, 0x34, 0x36, 0x33, 0x32, 0x17, 0x7, 0x26, 0x23, 0x22, 0x7, 0x15, 0x17, 0x32, 0x36, 0x35, 0x17, 0x14, 0x6, 0x2, 0x23, 0x1E, 0x1B, 0xF3, 0x58, 0xA3, 0x89, 0x72, 0xCC, 0xB0, 0x42, 0x46, 0x6, 0x2A, 0x34, 0xAB, 0x2, 0x26, 0x29, 0x39, 0xA3, 0x8A, 0x1, 0x74, 0x6, 0xFE, 0x86, 0x1, 0xD1, 0x8, 0x63, 0x9, 0x72, 0x9B, 0x5E, 0xB4, 0xC0, 0x12, 0xBE, 0x8, 0xA8, 0xBA, 0x4, 0x3B, 0x30, 0xD, 0x73, 0x97, 0x0, 0x1, 0x0, 0x28, 0xFF, 0xEC, 0x4, 0x29, 0x4, 0x4E, 0x0, 0x35, 0x0, 0x0, 0x5, 0x22, 0x26, 0x35, 0x33, 0x16, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x24, 0x27, 0x26, 0x23, 0x22, 0x6, 0x7, 0x27, 0x34, 0x36, 0x37, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x23, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x14, 0x16, 0x17, 0x16, 0x17, 0x17, 0x32, 0x37, 0x17, 0x14, 0x7, 0x16, 0x15, 0x14, 0x6, 0x2, 0x32, 0xDF, 0xEA, 0xEC, 0x5, 0x8A, 0x51, 0x5F, 0x65, 0x4F, 0xFF, 0x0, 0x3E, 0x2F, 0x18, 0x3D, 0x38, 0x5, 0x83, 0x43, 0x43, 0x21, 0xE1, 0xC0, 0xCB, 0xE7, 0xF3, 0x60, 0x5F, 0x5C, 0x58, 0x5C, 0x82, 0x6B, 0x49, 0x23, 0x6D, 0xB, 0x82, 0x6A, 0x28, 0xEE, 0x14, 0xE4, 0x86, 0x64, 0x50, 0x4A, 0x3A, 0x33, 0x4B, 0x39, 0x19, 0x8, 0x41, 0x2D, 0x23, 0x40, 0x72, 0x20, 0x38, 0x49, 0x85, 0xC3, 0xC6, 0x92, 0x3F, 0x63, 0x52, 0x36, 0x35, 0x40, 0x1C, 0x17, 0x1D, 0x2, 0x68, 0x27, 0x81, 0x40, 0x3F, 0x56, 0x90, 0xB8, 0x0, 0x1, 0xFF, 0xE2, 0xFF, 0xEC, 0x2, 0xD1, 0x5, 0x41, 0x0, 0x29, 0x0, 0x0, 0x25, 0x6, 0x23, 0x22, 0x26, 0x35, 0x35, 0x27, 0x22, 0x6, 0x15, 0x27, 0x34, 0x36, 0x33, 0x32, 0x17, 0x35, 0x23, 0x35, 0x33, 0x11, 0x33, 0x11, 0x33, 0x15, 0x23, 0x11, 0x32, 0x36, 0x35, 0x17, 0x14, 0x6, 0x23, 0x27, 0x15, 0x14, 0x16, 0x33, 0x32, 0x37, 0x2, 0xA5, 0x43, 0x5C, 0x79, 0xA0, 0x1B, 0x26, 0x35, 0x95, 0x7F, 0x5F, 0x16, 0x17, 0xB2, 0xB2, 0xF3, 0xBF, 0xBF, 0x26, 0x36, 0x95, 0x81, 0x5F, 0x11, 0x3F, 0x32, 0x29, 0x2B, 0x4, 0x18, 0x89, 0xA7, 0xD6, 0x2, 0x39, 0x2E, 0x8, 0x6E, 0x96, 0x5, 0xF3, 0xB3, 0x1, 0x7, 0xFE, 0xF9, 0xB3, 0xFE, 0xB8, 0x3A, 0x2E, 0xC, 0x70, 0x90, 0x1, 0x72, 0x49, 0x2B, 0xA, 0x0, 0x1, 0x0, 0x2D, 0x0, 0x0, 0x3, 0xE8, 0x4, 0x3A, 0x0, 0x21, 0x0, 0x0, 0x33, 0x35, 0x13, 0x26, 0x23, 0x22, 0x6, 0x15, 0x27, 0x34, 0x36, 0x33, 0x32, 0x17, 0x37, 0x21, 0x35, 0x21, 0x15, 0x1, 0x16, 0x33, 0x32, 0x36, 0x35, 0x17, 0x14, 0x6, 0x23, 0x22, 0x27, 0x7, 0x21, 0x15, 0x67, 0xFE, 0x2E, 0x21, 0x2E, 0x39, 0x82, 0x7D, 0x63, 0x3A, 0x85, 0xC0, 0xFD, 0xE5, 0x3, 0x4F, 0xFE, 0xF8, 0x29, 0x1D, 0x2E, 0x39, 0x83, 0x7C, 0x65, 0x47, 0x71, 0xB9, 0x2, 0x3F, 0x9F, 0x1, 0x50, 0x8, 0x40, 0x2E, 0x24, 0x5C, 0x8D, 0x1E, 0xFE, 0xC4, 0x99, 0xFE, 0xA2, 0x7, 0x41, 0x2E, 0x28, 0x5C, 0x89, 0x1A, 0xF5, 0xC3, 0x0, 0x2, 0x0, 0x7C, 0xFE, 0x55, 0x4, 0x37, 0x4, 0x4D, 0x0, 0x1A, 0x0, 0x26, 0x0, 0x0, 0x25, 0x14, 0x2, 0x23, 0x22, 0x27, 0x7, 0x23, 0x11, 0x34, 0x24, 0x33, 0x32, 0x16, 0x17, 0x7, 0x26, 0x23, 0x22, 0x6, 0x15, 0x15, 0x36, 0x33, 0x32, 0x12, 0x17, 0x1, 0x32, 0x36, 0x35, 0x35, 0x34, 0x26, 0x23, 0x22, 0x7, 0x11, 0x16, 0x4, 0x37, 0xE9, 0xC9, 0xBA, 0x69, 0xA, 0xDC, 0x1, 0x12, 0xD9, 0x59, 0xF4, 0x48, 0x73, 0x70, 0xA4, 0x79, 0x8D, 0x6A, 0xAE, 0xC6, 0xE8, 0x2, 0xFE, 0x11, 0x83, 0x79, 0x77, 0x83, 0x96, 0x45, 0x43, 0x7E, 0xF7, 0xFE, 0xCE, 0x7F, 0x6B, 0x4, 0x1C, 0xDB, 0xED, 0x51, 0x62, 0x91, 0x85, 0x85, 0x7E, 0x4A, 0x76, 0xFE, 0xCC, 0xE8, 0xFE, 0x81, 0xD0, 0x92, 0x15, 0x90, 0xCD, 0x7F, 0xFE, 0x27, 0x7C, 0xFF, 0xFF, 0x0, 0x64, 0x2, 0x8C, 0x3, 0xDC, 0x6, 0xC1, 0x0, 0x6, 0x3, 0x63, 0x0, 0x0, 0x0, 0x2, 0x0, 0x3E, 0xFE, 0x60, 0x4, 0x3, 0x4, 0x3A, 0x0, 0x18, 0x0, 0x24, 0x0, 0x0, 0x1, 0x22, 0x24, 0x35, 0x34, 0x36, 0x37, 0x26, 0x35, 0x34, 0x37, 0x21, 0x35, 0x21, 0x15, 0x6, 0x6, 0x15, 0x14, 0x1E, 0x2, 0x15, 0x14, 0x4, 0x27, 0x32, 0x36, 0x35, 0x34, 0x26, 0x27, 0x6, 0x6, 0x15, 0x14, 0x16, 0x2, 0x21, 0xBE, 0xFE, 0xDB, 0xF3, 0xDC, 0x4D, 0x8A, 0xFE, 0x1C, 0x3, 0x72, 0x90, 0x9B, 0x66, 0x8A, 0x66, 0xFE, 0xE6, 0xC5, 0x67, 0x85, 0x50, 0x35, 0xB4, 0xA6, 0x87, 0xFE, 0x60, 0xDC, 0xD5, 0xC7, 0xEE, 0x17, 0x64, 0x5B, 0x80, 0x5A, 0xC4, 0x9B, 0x3D, 0x71, 0x4D, 0x3E, 0x73, 0x8C, 0xC1, 0x8C, 0xD7, 0xE3, 0xC3, 0x88, 0x6C, 0x65, 0x94, 0x3E, 0x13, 0x9A, 0x83, 0x77, 0x84, 0x0, 0x1, 0x0, 0x22, 0xFF, 0x83, 0x6, 0x64, 0x6, 0x0, 0x0, 0x2F, 0x0, 0x0, 0x5, 0x22, 0x27, 0x7, 0x23, 0x13, 0x26, 0x35, 0x11, 0x23, 0x35, 0x33, 0x11, 0x33, 0x11, 0x33, 0x15, 0x23, 0x11, 0x1, 0x11, 0x33, 0x11, 0x1, 0x33, 0x1, 0x37, 0x32, 0x16, 0x17, 0x11, 0x23, 0x11, 0x34, 0x26, 0x23, 0x22, 0x7, 0x11, 0x23, 0x11, 0x3, 0x16, 0x33, 0x32, 0x37, 0x15, 0x6, 0x2, 0x4, 0x56, 0x3C, 0x6B, 0xE5, 0xDB, 0x12, 0xB2, 0xB2, 0xF3, 0xBF, 0xBF, 0x1, 0x6, 0xF3, 0x1, 0x31, 0xE5, 0xFE, 0xE5, 0x32, 0x9F, 0xC0, 0x1, 0xF3, 0x62, 0x5D, 0x94, 0x47, 0xF3, 0xDE, 0x19, 0x30, 0x29, 0x2B, 0x43, 0x14, 0x1E, 0x87, 0x1, 0x14, 0x39, 0x4C, 0x2, 0x6B, 0xB3, 0x1, 0x7, 0xFE, 0xF9, 0xB3, 0xFE, 0x2C, 0x1, 0x4A, 0x3, 0x3, 0xFE, 0x2F, 0x1, 0x81, 0xFE, 0x9B, 0x3, 0xB6, 0xDA, 0xFD, 0x42, 0x2, 0xBB, 0x71, 0x5C, 0x82, 0xFC, 0xFA, 0x1, 0xDC, 0xFE, 0xE9, 0xF, 0xA, 0xBC, 0x18, 0xFF, 0xFF, 0x0, 0x14, 0x0, 0x0, 0x2, 0xB2, 0x4, 0x3A, 0x0, 0x26, 0x1, 0x1F, 0xF9, 0x0, 0x0, 0x7, 0x7, 0xA4, 0xFF, 0x84, 0xFF, 0x5A, 0xFF, 0xFF, 0x0, 0x14, 0xFF, 0xF4, 0x2, 0xB2, 0x4, 0x3A, 0x0, 0x26, 0x2, 0x42, 0x3B, 0x0, 0x0, 0x7, 0x7, 0xA4, 0xFF, 0x84, 0xFF, 0x5E, 0x0, 0x3, 0x0, 0x18, 0xFE, 0x60, 0x4, 0xFF, 0x4, 0x4E, 0x0, 0x6, 0x0, 0xD, 0x0, 0x22, 0x0, 0x0, 0x1, 0x22, 0x7, 0x15, 0x21, 0x26, 0x26, 0x3, 0x32, 0x36, 0x37, 0x21, 0x15, 0x16, 0x17, 0x22, 0x27, 0x11, 0x23, 0x11, 0x23, 0x35, 0x33, 0x11, 0x33, 0x17, 0x36, 0x20, 0x16, 0x17, 0x33, 0x15, 0x23, 0x6, 0x2, 0x2, 0x87, 0x95, 0x41, 0x1, 0xC7, 0x11, 0x75, 0x69, 0x79, 0x75, 0x8, 0xFE, 0x32, 0x43, 0xDA, 0xB1, 0x6C, 0xF2, 0xA7, 0xA7, 0xDF, 0xA, 0x6C, 0x1, 0x6E, 0xD6, 0x16, 0x91, 0x8D, 0xA, 0xD9, 0x3, 0x88, 0x7C, 0x7C, 0x6C, 0x8C, 0xFD, 0x27, 0xB5, 0x81, 0xB8, 0x7E, 0xC3, 0x75, 0xFD, 0xFF, 0x3, 0x85, 0xAB, 0x1, 0xAA, 0x6D, 0x81, 0xF3, 0xCB, 0xAB, 0xDB, 0xFE, 0xE2, 0x0, 0x2, 0x0, 0x18, 0xFF, 0xEE, 0x5, 0x48, 0x4, 0x3A, 0x0, 0x8, 0x0, 0x1D, 0x0, 0x0, 0x25, 0x32, 0x36, 0x35, 0x35, 0x21, 0x15, 0x14, 0x16, 0x17, 0x22, 0x24, 0x35, 0x35, 0x23, 0x35, 0x33, 0x11, 0x33, 0x11, 0x21, 0x11, 0x33, 0x11, 0x33, 0x15, 0x23, 0x15, 0x14, 0x4, 0x2, 0xB0, 0x7D, 0x8F, 0xFD, 0xE7, 0x94, 0x79, 0xDF, 0xFE, 0xE0, 0x99, 0x99, 0xF2, 0x2, 0x19, 0xF3, 0x99, 0x99, 0xFE, 0xE2, 0xAF, 0x78, 0x70, 0x4E, 0x4E, 0x70, 0x78, 0xC1, 0xDE, 0xCB, 0x4E, 0xAB, 0x1, 0xAA, 0xFE, 0x56, 0x1, 0xAA, 0xFE, 0x56, 0xAB, 0x4E, 0xCB, 0xDE, 0x0, 0x2, 0x0, 0x18, 0xFF, 0xEB, 0x4, 0xD9, 0x4, 0x4E, 0x0, 0xA, 0x0, 0x39, 0x0, 0x0, 0x25, 0x32, 0x36, 0x36, 0x35, 0x27, 0x21, 0x7, 0x14, 0x16, 0x16, 0x25, 0x14, 0x6, 0x6, 0x23, 0x22, 0x26, 0x26, 0x35, 0x34, 0x37, 0x23, 0x35, 0x33, 0x37, 0x36, 0x35, 0x34, 0x26, 0x23, 0x35, 0x32, 0x16, 0x16, 0x15, 0x14, 0x6, 0x7, 0x21, 0x27, 0x26, 0x35, 0x34, 0x36, 0x36, 0x33, 0x15, 0x22, 0x6, 0x15, 0x14, 0x16, 0x17, 0x33, 0x15, 0x23, 0x16, 0x2, 0x78, 0x7A, 0x7D, 0x2D, 0x3, 0xFD, 0xBF, 0x3, 0x2D, 0x7D, 0x2, 0x90, 0x59, 0xE7, 0xD7, 0xD6, 0xE7, 0x59, 0x8, 0x52, 0x88, 0x28, 0x10, 0x4F, 0x22, 0x9D, 0x99, 0x30, 0x29, 0x18, 0x1, 0xD9, 0x2D, 0x15, 0x31, 0x99, 0x9C, 0x22, 0x4E, 0x23, 0x15, 0x88, 0x52, 0x8, 0xAE, 0x57, 0x7C, 0x36, 0x2E, 0x2E, 0x36, 0x7C, 0x57, 0xD1, 0x5C, 0xBB, 0x7D, 0x7D, 0xBB, 0x5C, 0x35, 0x31, 0xAB, 0x5B, 0x26, 0x26, 0x39, 0x21, 0xBD, 0x4E, 0x6E, 0x2F, 0x35, 0x67, 0x37, 0x6A, 0x34, 0x35, 0x2F, 0x6E, 0x4E, 0xBD, 0x21, 0x39, 0x28, 0x4F, 0x30, 0xAB, 0x31, 0x0, 0x2, 0x0, 0x7D, 0xFE, 0x52, 0x4, 0x32, 0x6, 0x0, 0x0, 0xA, 0x0, 0x28, 0x0, 0x0, 0x25, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x7, 0x11, 0x16, 0x13, 0x22, 0x27, 0x35, 0x16, 0x33, 0x32, 0x36, 0x35, 0x35, 0x6, 0x23, 0x22, 0x27, 0x7, 0x23, 0x11, 0x33, 0x11, 0x36, 0x33, 0x32, 0x12, 0x15, 0x15, 0x14, 0x7, 0x11, 0x14, 0x6, 0x2, 0x4F, 0x87, 0x6A, 0x67, 0x8C, 0x9B, 0x43, 0x44, 0xE7, 0x3B, 0x33, 0x1D, 0x23, 0x41, 0x5C, 0x3A, 0x42, 0xBD, 0x6C, 0xB, 0xDC, 0xF2, 0x6A, 0xB2, 0xD1, 0xD6, 0x5A, 0xB6, 0xB3, 0xCA, 0xAA, 0x8F, 0xD2, 0x8C, 0xFE, 0x44, 0x8D, 0xFD, 0x9F, 0xF, 0xA3, 0x7, 0x3F, 0x56, 0x6C, 0x12, 0x8A, 0x76, 0x6, 0x0, 0xFD, 0xD2, 0x7C, 0xFE, 0xCD, 0xF4, 0x15, 0xE0, 0x91, 0xFE, 0xF1, 0x9B, 0xA5, 0x0, 0x2, 0x0, 0x50, 0xFE, 0x52, 0x4, 0xA4, 0x6, 0x0, 0x0, 0xB, 0x0, 0x29, 0x0, 0x0, 0x25, 0x32, 0x37, 0x11, 0x26, 0x23, 0x22, 0x6, 0x15, 0x15, 0x14, 0x16, 0x1, 0x22, 0x27, 0x35, 0x16, 0x33, 0x32, 0x36, 0x35, 0x35, 0x23, 0x27, 0x6, 0x23, 0x22, 0x2, 0x35, 0x35, 0x34, 0x12, 0x33, 0x32, 0x17, 0x11, 0x33, 0x11, 0x33, 0x11, 0x14, 0x6, 0x2, 0x37, 0x95, 0x45, 0x44, 0x94, 0x84, 0x73, 0x72, 0x1, 0xB2, 0x3B, 0x33, 0x1D, 0x23, 0x41, 0x5C, 0xAE, 0xB, 0x6C, 0xB7, 0xC3, 0xE6, 0xE5, 0xC6, 0xAC, 0x6A, 0xF3, 0xA0, 0xB6, 0xB3, 0x86, 0x1, 0xCD, 0x82, 0xD0, 0x92, 0x15, 0x91, 0xCD, 0xFD, 0x9F, 0xF, 0xA3, 0x7, 0x3F, 0x56, 0x6E, 0x70, 0x84, 0x1, 0x39, 0xEC, 0x15, 0xF7, 0x1, 0x31, 0x77, 0x2, 0x29, 0xFA, 0xC3, 0xFE, 0xCF, 0x9B, 0xA5, 0x0, 0x1, 0x0, 0x2D, 0xFE, 0x52, 0x2, 0xD7, 0x6, 0x15, 0x0, 0x22, 0x0, 0x0, 0x1, 0x22, 0x27, 0x35, 0x16, 0x33, 0x32, 0x36, 0x35, 0x35, 0x23, 0x11, 0x23, 0x35, 0x33, 0x35, 0x34, 0x36, 0x33, 0x32, 0x17, 0x7, 0x26, 0x23, 0x22, 0x7, 0x15, 0x33, 0x15, 0x23, 0x11, 0x33, 0x11, 0x14, 0x6, 0x1, 0x28, 0x3B, 0x33, 0x1D, 0x23, 0x41, 0x5C, 0xC5, 0xA5, 0xA5, 0xCC, 0xB0, 0x43, 0x46, 0x6, 0x2A, 0x34, 0xAB, 0x2, 0xDB, 0xDB, 0xA0, 0xB6, 0xFE, 0x52, 0xF, 0xA3, 0x7, 0x3F, 0x56, 0x6E, 0x3, 0x87, 0xB3, 0x67, 0xB5, 0xBF, 0x12, 0xBE, 0x8, 0xA8, 0x6B, 0xB3, 0xFD, 0x3C, 0xFE, 0xCF, 0x9B, 0xA5, 0x0, 0x2, 0x0, 0x51, 0xFE, 0x52, 0x5, 0xA1, 0x4, 0x4E, 0x0, 0xB, 0x0, 0x35, 0x0, 0x0, 0x25, 0x32, 0x37, 0x11, 0x26, 0x23, 0x22, 0x6, 0x15, 0x15, 0x14, 0x16, 0x1, 0x22, 0x27, 0x35, 0x16, 0x33, 0x32, 0x36, 0x35, 0x35, 0x23, 0x6, 0x4, 0x23, 0x22, 0x26, 0x27, 0x37, 0x16, 0x33, 0x32, 0x36, 0x35, 0x35, 0x6, 0x23, 0x22, 0x2, 0x27, 0x35, 0x34, 0x12, 0x33, 0x32, 0x17, 0x37, 0x33, 0x11, 0x21, 0x11, 0x14, 0x6, 0x2, 0x3E, 0x97, 0x44, 0x43, 0x96, 0x83, 0x79, 0x77, 0x2, 0xA8, 0x3C, 0x33, 0x1D, 0x23, 0x41, 0x5D, 0xC7, 0xA, 0xFE, 0xF2, 0xD2, 0x59, 0xF4, 0x48, 0x73, 0x6F, 0xA5, 0x79, 0x8D, 0x6A, 0xAF, 0xC5, 0xE8, 0x2, 0xE9, 0xC8, 0xBB, 0x69, 0xA, 0xDC, 0x1, 0x95, 0xB6, 0xB3, 0x80, 0x1, 0xD9, 0x7C, 0xD0, 0x92, 0x15, 0x91, 0xCD, 0xFD, 0x9F, 0xF, 0xA3, 0x7, 0x3F, 0x56, 0x6E, 0xCD, 0xDD, 0x51, 0x62, 0x91, 0x85, 0x85, 0x7F, 0x49, 0x76, 0x1, 0x35, 0xE8, 0x1D, 0xF7, 0x1, 0x31, 0x80, 0x6C, 0xFC, 0x89, 0xFE, 0xCF, 0x9B, 0xA5, 0x0, 0x1, 0x0, 0x7D, 0xFE, 0x52, 0x4, 0x4C, 0x6, 0x0, 0x0, 0x1A, 0x0, 0x0, 0x1, 0x22, 0x27, 0x35, 0x16, 0x33, 0x32, 0x36, 0x35, 0x35, 0x23, 0x1, 0x7, 0x11, 0x23, 0x11, 0x33, 0x11, 0x37, 0x1, 0x21, 0x1, 0x1, 0x33, 0x11, 0x14, 0x6, 0x3, 0xE, 0x3B, 0x33, 0x1D, 0x23, 0x41, 0x5C, 0x5F, 0xFE, 0xBF, 0x6D, 0xF3, 0xF3, 0x4D, 0x1, 0x2B, 0x1, 0x24, 0xFE, 0x6D, 0x1, 0x34, 0x9F, 0xB6, 0xFE, 0x52, 0xF, 0xA3, 0x7, 0x3F, 0x56, 0x6E, 0x1, 0xD2, 0x70, 0xFE, 0x9E, 0x6, 0x0, 0xFC, 0x8A, 0x60, 0x1, 0x50, 0xFE, 0x3E, 0xFE, 0x4B, 0xFE, 0xCF, 0x9B, 0xA5, 0x0, 0x1, 0x0, 0x82, 0xFE, 0x52, 0x2, 0x2E, 0x6, 0x0, 0x0, 0x11, 0x0, 0x0, 0x13, 0x22, 0x27, 0x35, 0x16, 0x33, 0x32, 0x36, 0x35, 0x35, 0x23, 0x11, 0x33, 0x11, 0x33, 0x11, 0x14, 0x6, 0xF0, 0x3B, 0x33, 0x1C, 0x23, 0x41, 0x5D, 0xC4, 0xF3, 0xA0, 0xB6, 0xFE, 0x52, 0xF, 0xA3, 0x7, 0x3F, 0x56, 0x6E, 0x6, 0x0, 0xFA, 0xC3, 0xFE, 0xCF, 0x9B, 0xA5, 0x0, 0x1, 0x0, 0x7D, 0xFE, 0x52, 0x7, 0x1B, 0x4, 0x4E, 0x0, 0x2C, 0x0, 0x0, 0x1, 0x22, 0x27, 0x35, 0x16, 0x33, 0x32, 0x36, 0x35, 0x35, 0x23, 0x11, 0x34, 0x26, 0x23, 0x22, 0x6, 0x7, 0x11, 0x23, 0x11, 0x34, 0x26, 0x23, 0x22, 0x7, 0x11, 0x23, 0x11, 0x33, 0x17, 0x36, 0x33, 0x32, 0x17, 0x36, 0x33, 0x32, 0x16, 0x17, 0x11, 0x33, 0x11, 0x14, 0x6, 0x5, 0xDD, 0x3C, 0x33, 0x1D, 0x23, 0x41, 0x5D, 0xC5, 0x69, 0x59, 0x53, 0x69, 0x14, 0xF3, 0x69, 0x5A, 0x93, 0x3C, 0xF3, 0xE5, 0x7, 0x73, 0xC5, 0xD8, 0x51, 0x77, 0xD6, 0xA5, 0xBD, 0x2, 0xA0, 0xB6, 0xFE, 0x52, 0xF, 0xA3, 0x7, 0x3F, 0x56, 0x6E, 0x2, 0xBE, 0x78, 0x52, 0x5A, 0x48, 0xFD, 0x1A, 0x2, 0xBC, 0x72, 0x5A, 0x78, 0xFC, 0xF0, 0x4, 0x3A, 0x71, 0x85, 0xA5, 0xA5, 0xB6, 0xD2, 0xFD, 0xFD, 0xFE, 0xCF, 0x9B, 0xA5, 0x0, 0x1, 0x0, 0x7D, 0xFE, 0x52, 0x4, 0x9E, 0x4, 0x4E, 0x0, 0x1F, 0x0, 0x0, 0x1, 0x22, 0x27, 0x35, 0x16, 0x33, 0x32, 0x36, 0x35, 0x35, 0x23, 0x11, 0x34, 0x26, 0x23, 0x22, 0x7, 0x11, 0x23, 0x11, 0x33, 0x17, 0x36, 0x33, 0x32, 0x16, 0x17, 0x11, 0x33, 0x11, 0x14, 0x6, 0x3, 0x60, 0x3C, 0x33, 0x1D, 0x23, 0x41, 0x5D, 0xC6, 0x61, 0x5D, 0x92, 0x49, 0xF3, 0xE5, 0x8, 0x77, 0xC3, 0x9B, 0xBC, 0x1, 0xA2, 0xB6, 0xFE, 0x52, 0xF, 0xA3, 0x7, 0x3F, 0x56, 0x6E, 0x2, 0xBE, 0x70, 0x5A, 0x85, 0xFC, 0xFD, 0x4, 0x3A, 0x7D, 0x91, 0xB3, 0xDA, 0xFE, 0x2, 0xFE, 0xCF, 0x9B, 0xA5, 0x0, 0x2, 0x0, 0x7D, 0xFE, 0x52, 0x4, 0x31, 0x4, 0x4E, 0x0, 0x1D, 0x0, 0x29, 0x0, 0x0, 0x1, 0x22, 0x27, 0x35, 0x16, 0x33, 0x32, 0x36, 0x35, 0x35, 0x6, 0x23, 0x22, 0x27, 0x11, 0x23, 0x11, 0x33, 0x17, 0x36, 0x33, 0x32, 0x12, 0x15, 0x15, 0x14, 0x7, 0x11, 0x14, 0x6, 0x3, 0x32, 0x36, 0x35, 0x35, 0x34, 0x26, 0x23, 0x22, 0x7, 0x11, 0x16, 0x2, 0x9A, 0x3B, 0x33, 0x1D, 0x23, 0x41, 0x5C, 0x3A, 0x43, 0xB1, 0x6C, 0xF2, 0xDF, 0xA, 0x6D, 0xB7, 0xCE, 0xD9, 0x59, 0xB6, 0xDA, 0x83, 0x73, 0x75, 0x83, 0x96, 0x41, 0x43, 0xFE, 0x52, 0xF, 0xA3, 0x7, 0x3F, 0x56, 0x6D, 0x13, 0x75, 0xFD, 0xFF, 0x5, 0xDA, 0x6D, 0x81, 0xFE, 0xD0, 0xF8, 0x14, 0xDA, 0x91, 0xFE, 0xEB, 0x9B, 0xA5, 0x2, 0x5D, 0xD3, 0x90, 0x15, 0x92, 0xCF, 0x7D, 0xFE, 0x23, 0x7F, 0x0, 0x1, 0x0, 0x64, 0xFE, 0x52, 0x2, 0xB5, 0x4, 0x4E, 0x0, 0x1B, 0x0, 0x0, 0x13, 0x22, 0x27, 0x35, 0x16, 0x33, 0x32, 0x36, 0x35, 0x35, 0x23, 0x11, 0x33, 0x17, 0x36, 0x33, 0x32, 0x17, 0x7, 0x26, 0x23, 0x22, 0x7, 0x11, 0x33, 0x11, 0x14, 0x6, 0xD2, 0x3B, 0x33, 0x1D, 0x22, 0x41, 0x5D, 0xC4, 0xE8, 0x6, 0x56, 0x9E, 0x31, 0x25, 0x2, 0x32, 0x30, 0xA9, 0x39, 0xA1, 0xB6, 0xFE, 0x52, 0xF, 0xA3, 0x7, 0x3F, 0x56, 0x6E, 0x4, 0x3A, 0x7A, 0x8E, 0xD, 0xE5, 0x8, 0x80, 0xFD, 0xDF, 0xFE, 0xCF, 0x9B, 0xA5, 0x0, 0x1, 0x0, 0x4C, 0xFE, 0x52, 0x3, 0xCA, 0x4, 0x4E, 0x0, 0x30, 0x0, 0x0, 0x1, 0x22, 0x27, 0x35, 0x16, 0x33, 0x32, 0x36, 0x35, 0x35, 0x6, 0x23, 0x22, 0x26, 0x35, 0x33, 0x16, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x27, 0x26, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x23, 0x34, 0x26, 0x23, 0x22, 0x6, 0x14, 0x16, 0x17, 0x16, 0x16, 0x15, 0x11, 0x14, 0x6, 0x2, 0x8C, 0x3B, 0x33, 0x1D, 0x23, 0x41, 0x5C, 0x64, 0x82, 0xDF, 0xEA, 0xEC, 0x5, 0x8A, 0x50, 0x60, 0x65, 0x55, 0x8E, 0xB0, 0xD9, 0xE0, 0xC1, 0xCB, 0xE7, 0xF3, 0x60, 0x5F, 0x5C, 0x58, 0x5F, 0x7F, 0xBC, 0xD3, 0xB6, 0xFE, 0x52, 0xF, 0xA3, 0x7, 0x3F, 0x56, 0x84, 0x2A, 0xE4, 0x86, 0x64, 0x50, 0x4A, 0x3A, 0x35, 0x4C, 0x1E, 0x25, 0x93, 0x89, 0x85, 0xC3, 0xC6, 0x92, 0x3F, 0x63, 0x52, 0x6C, 0x40, 0x1B, 0x28, 0x92, 0x91, 0xFE, 0x5E, 0x9B, 0xA5, 0x0, 0x1, 0x0, 0x1B, 0xFE, 0x4B, 0x3, 0xDA, 0x6, 0x15, 0x0, 0x25, 0x0, 0x0, 0x13, 0x22, 0x27, 0x37, 0x16, 0x33, 0x32, 0x35, 0x11, 0x34, 0x36, 0x33, 0x32, 0x17, 0x7, 0x26, 0x23, 0x22, 0x7, 0x11, 0x21, 0x11, 0x14, 0x6, 0x23, 0x22, 0x27, 0x35, 0x16, 0x33, 0x32, 0x36, 0x35, 0x35, 0x23, 0x15, 0x14, 0x6, 0xA4, 0x43, 0x46, 0x7, 0x28, 0x35, 0xAD, 0xCD, 0xAF, 0x43, 0x46, 0x7, 0x28, 0x35, 0xAC, 0x1, 0x1, 0xBA, 0xB6, 0x88, 0x3B, 0x33, 0x1D, 0x23, 0x41, 0x5C, 0xEB, 0xCC, 0xFE, 0x4B, 0x12, 0xBE, 0x8, 0xAC, 0x4, 0xE2, 0xB5, 0xBF, 0x12, 0xBE, 0x8, 0xAA, 0xFC, 0x20, 0xFE, 0xCF, 0x9B, 0xA5, 0xF, 0xA3, 0x7, 0x3F, 0x56, 0x6E, 0x41, 0xB4, 0xC0, 0x0, 0x1, 0x0, 0x17, 0xFE, 0x52, 0x3, 0xDB, 0x4, 0x3A, 0x0, 0x14, 0x0, 0x0, 0x1, 0x22, 0x27, 0x35, 0x16, 0x33, 0x32, 0x36, 0x35, 0x35, 0x21, 0x1, 0x33, 0x13, 0x13, 0x33, 0x1, 0x33, 0x11, 0x14, 0x6, 0x2, 0x47, 0x3B, 0x33, 0x1D, 0x23, 0x41, 0x5C, 0xFE, 0xDB, 0xFE, 0x86, 0xFB, 0xEA, 0xE4, 0xFB, 0xFE, 0xCD, 0xDD, 0xB6, 0xFE, 0x52, 0xF, 0xA3, 0x7, 0x3F, 0x56, 0x6E, 0x4, 0x3A, 0xFC, 0xFB, 0x3, 0x5, 0xFC, 0x89, 0xFE, 0xCF, 0x9B, 0xA5, 0x0, 0x1, 0x0, 0x1F, 0xFE, 0x52, 0x4, 0x7, 0x4, 0x3A, 0x0, 0x19, 0x0, 0x0, 0x1, 0x22, 0x27, 0x35, 0x16, 0x33, 0x32, 0x36, 0x35, 0x35, 0x23, 0x3, 0x3, 0x21, 0x1, 0x1, 0x21, 0x13, 0x13, 0x21, 0x1, 0x13, 0x33, 0x11, 0x14, 0x6, 0x2, 0xC9, 0x3C, 0x33, 0x1D, 0x23, 0x41, 0x5C, 0x5B, 0xD8, 0xD7, 0xFE, 0xF2, 0x1, 0x56, 0xFE, 0xB6, 0x1, 0xD, 0xCA, 0xCE, 0x1, 0xD, 0xFE, 0xB6, 0xDD, 0x97, 0xB6, 0xFE, 0x52, 0xF, 0xA3, 0x7, 0x3F, 0x56, 0x6E, 0x1, 0x72, 0xFE, 0x8E, 0x2, 0x26, 0x2, 0x14, 0xFE, 0x9C, 0x1, 0x64, 0xFD, 0xEC, 0xFE, 0x9D, 0xFE, 0xCF, 0x9B, 0xA5, 0x0, 0x1, 0x0, 0x52, 0xFE, 0x52, 0x3, 0xC0, 0x4, 0x3A, 0x0, 0x15, 0x0, 0x0, 0x1, 0x22, 0x27, 0x35, 0x16, 0x33, 0x32, 0x36, 0x35, 0x35, 0x21, 0x35, 0x1, 0x21, 0x35, 0x21, 0x15, 0x1, 0x21, 0x11, 0x14, 0x6, 0x2, 0x82, 0x3B, 0x33, 0x1D, 0x23, 0x41, 0x5C, 0xFD, 0x61, 0x2, 0x26, 0xFD, 0xE5, 0x3, 0x4E, 0xFD, 0xD6, 0x2, 0x3F, 0xB6, 0xFE, 0x52, 0xF, 0xA3, 0x7, 0x3F, 0x56, 0x6E, 0x9F, 0x2, 0xD7, 0xC4, 0x99, 0xFD, 0x22, 0xFE, 0xCF, 0x9B, 0xA5, 0x0, 0x2, 0x0, 0x5B, 0xFE, 0x52, 0x5, 0x1F, 0x4, 0x4E, 0x0, 0x29, 0x0, 0x32, 0x0, 0x0, 0x1, 0x22, 0x26, 0x35, 0x35, 0x23, 0x26, 0x27, 0x6, 0x23, 0x22, 0x26, 0x35, 0x34, 0x24, 0x33, 0x33, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x23, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x11, 0x17, 0x33, 0x11, 0x14, 0x16, 0x33, 0x32, 0x37, 0x15, 0x6, 0x0, 0x36, 0x37, 0x35, 0x23, 0x6, 0x15, 0x14, 0x16, 0x4, 0xB0, 0x88, 0xB6, 0x6E, 0x12, 0xA, 0x73, 0xAA, 0xA2, 0xCE, 0x1, 0x2, 0xEA, 0x99, 0x5F, 0x5F, 0x57, 0x67, 0xF2, 0xF1, 0xCD, 0xB6, 0xED, 0x2, 0x6D, 0x5D, 0x40, 0x23, 0x1D, 0x33, 0xFD, 0x61, 0x7A, 0x19, 0x94, 0xFF, 0x58, 0xFE, 0x52, 0xA5, 0x9B, 0x6E, 0x25, 0x41, 0x7A, 0xBA, 0x8A, 0xAD, 0xB8, 0x47, 0x55, 0x65, 0x56, 0x3E, 0x80, 0xCC, 0xBA, 0xBA, 0xFE, 0xF, 0x26, 0xFE, 0xCF, 0x56, 0x3F, 0x7, 0xA3, 0xF, 0x2, 0x5D, 0x51, 0x31, 0xCC, 0x6, 0xAF, 0x41, 0x58, 0x0, 0x2, 0x0, 0x50, 0xFE, 0x52, 0x5, 0x69, 0x4, 0x4E, 0x0, 0x1F, 0x0, 0x2A, 0x0, 0x0, 0x1, 0x22, 0x26, 0x35, 0x35, 0x26, 0x27, 0x6, 0x23, 0x22, 0x2, 0x35, 0x35, 0x34, 0x12, 0x33, 0x32, 0x17, 0x37, 0x33, 0x11, 0x16, 0x17, 0x33, 0x11, 0x14, 0x16, 0x33, 0x32, 0x37, 0x15, 0x6, 0x1, 0x32, 0x37, 0x11, 0x26, 0x23, 0x22, 0x6, 0x15, 0x14, 0x16, 0x4, 0xFB, 0x88, 0xB6, 0x76, 0x2B, 0x67, 0xC0, 0xCA, 0xDB, 0xDA, 0xCD, 0xB6, 0x66, 0x14, 0xD0, 0x3, 0x45, 0x4D, 0x5D, 0x40, 0x23, 0x1D, 0x33, 0xFC, 0xFD, 0x8D, 0x44, 0x44, 0x8B, 0x83, 0x6F, 0x6D, 0xFE, 0x52, 0xA5, 0x9B, 0x5E, 0x18, 0x85, 0xA2, 0x1, 0x28, 0xE8, 0x14, 0xFC, 0x1, 0x43, 0x97, 0x83, 0xFC, 0xF9, 0x76, 0x1, 0xFE, 0xD6, 0x56, 0x3F, 0x7, 0xA3, 0xF, 0x2, 0x5C, 0x88, 0x1, 0xCA, 0x8B, 0xE0, 0xB1, 0x8B, 0xC1, 0x0, 0x2, 0x0, 0x4E, 0xFE, 0x52, 0x4, 0xDF, 0x6, 0x1F, 0x0, 0xB, 0x0, 0x2F, 0x0, 0x0, 0x25, 0x32, 0x37, 0x11, 0x26, 0x23, 0x22, 0x6, 0x15, 0x15, 0x14, 0x16, 0x1, 0x6, 0x23, 0x22, 0x26, 0x35, 0x35, 0x6, 0x23, 0x22, 0x2, 0x35, 0x35, 0x34, 0x12, 0x33, 0x32, 0x17, 0x11, 0x34, 0x36, 0x33, 0x32, 0x17, 0x15, 0x26, 0x23, 0x22, 0x6, 0x15, 0x11, 0x14, 0x16, 0x33, 0x32, 0x37, 0x2, 0x35, 0x94, 0x45, 0x43, 0x94, 0x84, 0x73, 0x72, 0x3, 0x2D, 0x2F, 0x4C, 0x88, 0xCD, 0x6B, 0xAD, 0xC3, 0xE6, 0xE5, 0xC6, 0xAB, 0x6A, 0xD7, 0x7D, 0x49, 0x33, 0x25, 0x1A, 0x41, 0x5C, 0x5D, 0x40, 0x23, 0x1D, 0xB3, 0x84, 0x1, 0xD1, 0x80, 0xD0, 0x92, 0x15, 0x91, 0xCD, 0xFD, 0xAE, 0xF, 0x95, 0xAB, 0xD2, 0x78, 0x1, 0x39, 0xEC, 0x15, 0xF7, 0x1, 0x31, 0x76, 0x1, 0x8, 0xB3, 0x8C, 0xF, 0xA2, 0x7, 0x3F, 0x56, 0xFA, 0xB2, 0x56, 0x3F, 0x7, 0x0, 0x2, 0x0, 0x54, 0xFE, 0x52, 0x4, 0xD7, 0x4, 0x4E, 0x0, 0x7, 0x0, 0x28, 0x0, 0x0, 0x1, 0x22, 0x6, 0x7, 0x21, 0x35, 0x26, 0x26, 0x1, 0x6, 0x23, 0x22, 0x26, 0x35, 0x35, 0x6, 0x23, 0x22, 0x0, 0x35, 0x35, 0x10, 0x0, 0x33, 0x32, 0x12, 0x15, 0x15, 0x21, 0x16, 0x16, 0x33, 0x32, 0x37, 0x17, 0x11, 0x14, 0x16, 0x33, 0x32, 0x37, 0x2, 0x3D, 0x64, 0x7A, 0x12, 0x1, 0xCE, 0x4, 0x61, 0x2, 0x21, 0x33, 0x3B, 0x88, 0xB6, 0x5F, 0x73, 0xF1, 0xFE, 0xEC, 0x1, 0x1B, 0xCE, 0xEC, 0xE3, 0xFD, 0x3D, 0xA, 0x95, 0x80, 0xA7, 0x68, 0x83, 0x5D, 0x41, 0x23, 0x1C, 0x3, 0x8B, 0x8C, 0x7C, 0x12, 0x5F, 0x97, 0xFA, 0xD6, 0xF, 0xA5, 0x9B, 0x80, 0x26, 0x1, 0x2C, 0xDF, 0x29, 0x1, 0x1, 0x1, 0x2D, 0xFE, 0xD4, 0xEA, 0x67, 0x7D, 0xA5, 0x86, 0x7D, 0xFE, 0xDA, 0x56, 0x3F, 0x7, 0x0, 0x1, 0x0, 0x61, 0xFE, 0x52, 0x4, 0xEB, 0x4, 0x4D, 0x0, 0x31, 0x0, 0x0, 0x1, 0x6, 0x23, 0x22, 0x26, 0x35, 0x35, 0x6, 0x23, 0x22, 0x24, 0x35, 0x34, 0x37, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x4, 0x15, 0x23, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x14, 0x16, 0x33, 0x33, 0x15, 0x23, 0x6, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x33, 0x11, 0x14, 0x16, 0x33, 0x32, 0x37, 0x4, 0xEB, 0x33, 0x3C, 0x88, 0xB6, 0x72, 0x8E, 0xCD, 0xFE, 0xF0, 0xCB, 0xB8, 0xFD, 0xCD, 0xB6, 0x1, 0x7, 0xF2, 0x79, 0x59, 0x6D, 0x64, 0x62, 0x68, 0xC7, 0xD2, 0xD1, 0x75, 0x6D, 0x6B, 0x7A, 0xF3, 0x5C, 0x41, 0x23, 0x1D, 0xFE, 0x61, 0xF, 0xA5, 0x9B, 0x8C, 0x32, 0xAC, 0x9A, 0xB9, 0x42, 0x4D, 0x98, 0x9A, 0xA1, 0xAE, 0x98, 0x3E, 0x4D, 0x57, 0x34, 0x3C, 0x4C, 0xAD, 0x4, 0x91, 0x3A, 0x5C, 0x5D, 0x3D, 0xFE, 0x51, 0x56, 0x3F, 0x7, 0x0, 0x1, 0x0, 0x4D, 0xFE, 0x52, 0x3, 0xFA, 0x4, 0x4D, 0x0, 0x31, 0x0, 0x0, 0x1, 0x6, 0x23, 0x22, 0x26, 0x35, 0x11, 0x33, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x27, 0x23, 0x35, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x23, 0x34, 0x24, 0x33, 0x32, 0x16, 0x15, 0x14, 0x7, 0x16, 0x15, 0x14, 0x4, 0x23, 0x22, 0x27, 0x15, 0x14, 0x16, 0x33, 0x32, 0x37, 0x1, 0xFA, 0x33, 0x3C, 0x88, 0xB6, 0xF2, 0x7A, 0x6B, 0x6E, 0x75, 0xD4, 0xD0, 0xC7, 0x69, 0x61, 0x63, 0x6E, 0x58, 0x7A, 0xF2, 0x1, 0x8, 0xB5, 0xCE, 0xFD, 0xB8, 0xCB, 0xFE, 0xF0, 0xCE, 0x8E, 0x72, 0x5E, 0x40, 0x23, 0x1D, 0xFE, 0x61, 0xF, 0xA5, 0x9B, 0x1, 0xAF, 0x3D, 0x5D, 0x5C, 0x3A, 0x92, 0x3, 0xAD, 0x4C, 0x3C, 0x34, 0x57, 0x4D, 0x3E, 0x98, 0xAE, 0xA1, 0x9A, 0x98, 0x4D, 0x42, 0xB9, 0x9A, 0xAC, 0x32, 0x8C, 0x56, 0x3F, 0x7, 0x0, 0x2, 0x0, 0x47, 0xFE, 0x52, 0x5, 0xD6, 0x4, 0x4E, 0x0, 0x22, 0x0, 0x2A, 0x0, 0x0, 0x1, 0x22, 0x26, 0x35, 0x11, 0x23, 0x6, 0x4, 0x23, 0x22, 0x2, 0x35, 0x35, 0x21, 0x26, 0x26, 0x23, 0x22, 0x7, 0x27, 0x36, 0x36, 0x33, 0x32, 0x0, 0x17, 0x33, 0x11, 0x14, 0x16, 0x33, 0x32, 0x37, 0x15, 0x6, 0x1, 0x32, 0x36, 0x37, 0x21, 0x15, 0x16, 0x16, 0x5, 0x67, 0x87, 0xB6, 0x31, 0x1C, 0xFE, 0xF2, 0xBA, 0xEC, 0xE2, 0x2, 0xC3, 0xA, 0x95, 0x80, 0xA8, 0x68, 0x83, 0x34, 0xCC, 0xA1, 0xE6, 0x1, 0x13, 0xC, 0xFB, 0x5D, 0x40, 0x23, 0x1D, 0x33, 0xFC, 0x73, 0x63, 0x7B, 0x11, 0xFE, 0x32, 0x5, 0x61, 0xFE, 0x52, 0xA5, 0x9B, 0x2, 0x25, 0xD5, 0xF6, 0x1, 0x2C, 0xEA, 0x67, 0x7D, 0xA5, 0x86, 0x7D, 0x4D, 0x7F, 0xFE, 0xEC, 0xD1, 0xFD, 0x29, 0x56, 0x3F, 0x7, 0xA3, 0xF, 0x2, 0x5D, 0x8C, 0x7C, 0x12, 0x5E, 0x98, 0x0, 0x2, 0x0, 0x7D, 0xFE, 0x52, 0x2, 0xD4, 0x5, 0xD5, 0x0, 0x9, 0x0, 0x1B, 0x0, 0x0, 0x13, 0x34, 0x36, 0x32, 0x16, 0x15, 0x14, 0x6, 0x22, 0x26, 0x1, 0x22, 0x26, 0x35, 0x35, 0x23, 0x11, 0x33, 0x11, 0x33, 0x11, 0x14, 0x16, 0x33, 0x32, 0x37, 0x15, 0x6, 0x7D, 0x49, 0x82, 0x49, 0x49, 0x82, 0x49, 0x1, 0xE8, 0x88, 0xB6, 0x9B, 0xF3, 0x78, 0x5D, 0x40, 0x23, 0x1D, 0x33, 0x5, 0x54, 0x38, 0x49, 0x49, 0x38, 0x37, 0x4A, 0x4A, 0xF9, 0x35, 0xA5, 0x9B, 0x6E, 0x4, 0x3A, 0xFC, 0x9E, 0xFE, 0xBA, 0x56, 0x3F, 0x7, 0xA3, 0xF, 0x0, 0x1, 0x0, 0x3B, 0xFE, 0x52, 0x3, 0xE8, 0x4, 0x4E, 0x0, 0x27, 0x0, 0x0, 0x1, 0x6, 0x23, 0x22, 0x26, 0x35, 0x11, 0x33, 0x16, 0x16, 0x33, 0x32, 0x36, 0x35, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x7, 0x23, 0x36, 0x36, 0x33, 0x32, 0x12, 0x17, 0x15, 0x14, 0x2, 0x23, 0x22, 0x27, 0x15, 0x14, 0x16, 0x33, 0x32, 0x37, 0x1, 0xE8, 0x33, 0x3C, 0x88, 0xB6, 0xEC, 0x5, 0x7A, 0x58, 0x95, 0x62, 0x62, 0x95, 0x63, 0x6F, 0x5, 0xE5, 0x5, 0xF1, 0xC4, 0xF7, 0xF3, 0x2, 0xF3, 0xFA, 0x84, 0x6D, 0x5D, 0x41, 0x23, 0x1D, 0xFE, 0x61, 0xF, 0xA5, 0x9B, 0x1, 0xD4, 0x4F, 0x68, 0xD9, 0x83, 0x24, 0x81, 0xDB, 0x7D, 0x57, 0xB3, 0xE4, 0xFE, 0xC4, 0xDD, 0x2A, 0xDF, 0xFE, 0xC0, 0x42, 0x9C, 0x56, 0x3F, 0x7, 0x0, 0x1, 0x0, 0x1B, 0xFE, 0x4B, 0x3, 0x31, 0x6, 0x2D, 0x0, 0x20, 0x0, 0x0, 0x1, 0x22, 0x26, 0x35, 0x35, 0x37, 0x16, 0x33, 0x32, 0x37, 0x11, 0x34, 0x36, 0x33, 0x32, 0x17, 0x7, 0x26, 0x23, 0x22, 0x7, 0x11, 0x14, 0x6, 0x7, 0x15, 0x14, 0x16, 0x33, 0x32, 0x37, 0x15, 0x6, 0x1, 0x59, 0x88, 0xB6, 0x7, 0x27, 0x36, 0xAD, 0x1, 0xCC, 0xAF, 0x43, 0x46, 0x6, 0x2A, 0x34, 0xAC, 0x1, 0xA4, 0x91, 0x5D, 0x40, 0x23, 0x1D, 0x33, 0xFE, 0x4B, 0xA5, 0x9B, 0x25, 0xBF, 0x9, 0xAB, 0x3, 0xA8, 0xB5, 0xBF, 0x12, 0xBE, 0x8, 0xAA, 0xFC, 0x58, 0xA2, 0xBB, 0x13, 0x18, 0x56, 0x3F, 0x7, 0xA3, 0xF, 0x0, 0x1, 0x0, 0x77, 0xFE, 0x52, 0x5, 0x58, 0x4, 0x3A, 0x0, 0x1F, 0x0, 0x0, 0x1, 0x22, 0x26, 0x35, 0x35, 0x23, 0x27, 0x6, 0x23, 0x22, 0x26, 0x27, 0x11, 0x33, 0x11, 0x14, 0x16, 0x33, 0x32, 0x37, 0x11, 0x33, 0x11, 0x33, 0x11, 0x14, 0x16, 0x33, 0x32, 0x37, 0x15, 0x6, 0x4, 0xEA, 0x88, 0xB6, 0x9A, 0x6, 0x6A, 0xC6, 0x9E, 0xC6, 0x1, 0xF3, 0x67, 0x45, 0xAE, 0x40, 0xF3, 0x84, 0x5D, 0x41, 0x23, 0x1C, 0x33, 0xFE, 0x52, 0xA5, 0x9B, 0x6E, 0x6A, 0x7E, 0xBA, 0xD5, 0x2, 0xBF, 0xFD, 0x43, 0x75, 0x55, 0x7D, 0x3, 0xA, 0xFC, 0x9E, 0xFE, 0xBA, 0x56, 0x3F, 0x7, 0xA3, 0xF, 0x0, 0x1, 0x0, 0x5E, 0xFD, 0xDA, 0x4, 0x46, 0x4, 0x3A, 0x0, 0x26, 0x0, 0x0, 0x1, 0x6, 0x23, 0x22, 0x26, 0x35, 0x11, 0x33, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x23, 0x35, 0x1, 0x21, 0x35, 0x21, 0x17, 0x1, 0x16, 0x16, 0x15, 0x14, 0x4, 0x23, 0x22, 0x27, 0x15, 0x14, 0x16, 0x33, 0x32, 0x37, 0x2, 0xA, 0x33, 0x3B, 0x88, 0xB6, 0xF3, 0x85, 0x70, 0x80, 0x8E, 0x9B, 0x93, 0x84, 0x1, 0x49, 0xFD, 0xA4, 0x3, 0x8D, 0x1, 0xFE, 0x87, 0xC8, 0xDA, 0xFE, 0xDF, 0xDF, 0xA7, 0x7F, 0x6A, 0x41, 0x22, 0x1D, 0xFD, 0xE9, 0xF, 0xA3, 0x9B, 0x1, 0x6E, 0x5E, 0x88, 0x88, 0x65, 0x7A, 0x69, 0xAB, 0x1, 0x5B, 0xC4, 0x9B, 0xFE, 0x7B, 0x15, 0xCC, 0xAC, 0xCE, 0xE2, 0x4A, 0xF, 0x56, 0x3D, 0x7, 0x0, 0x2, 0x0, 0x41, 0x2, 0x7D, 0x3, 0x70, 0x5, 0xBC, 0x0, 0x15, 0x0, 0x20, 0x0, 0x0, 0x1, 0x22, 0x27, 0x7, 0x23, 0x11, 0x26, 0x23, 0x7, 0x27, 0x36, 0x33, 0x32, 0x17, 0x36, 0x33, 0x32, 0x16, 0x15, 0x15, 0x14, 0x6, 0x27, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x7, 0x11, 0x16, 0x2, 0x29, 0x86, 0x4C, 0xE, 0xAC, 0x2, 0x35, 0x13, 0x12, 0x38, 0x26, 0x8E, 0x26, 0x4C, 0x8C, 0x96, 0xAF, 0xAF, 0xC5, 0x61, 0x4E, 0x4C, 0x62, 0x68, 0x33, 0x32, 0x2, 0x7D, 0x70, 0x61, 0x2, 0x30, 0x5B, 0x3, 0x91, 0x17, 0x74, 0x74, 0xDB, 0xAA, 0xF, 0xBB, 0xF0, 0x95, 0xA2, 0x83, 0x67, 0x8A, 0x63, 0xFE, 0xB2, 0x65, 0x0, 0x1, 0x0, 0x3C, 0x2, 0x7C, 0x2, 0xF5, 0x5, 0xBA, 0x0, 0x19, 0x0, 0x0, 0x1, 0x32, 0x37, 0x33, 0x6, 0x6, 0x23, 0x22, 0x26, 0x35, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x17, 0x23, 0x26, 0x23, 0x22, 0x6, 0x15, 0x15, 0x14, 0x16, 0x1, 0xAD, 0x88, 0x14, 0xAC, 0x4, 0xBC, 0x86, 0xB8, 0xBB, 0xBB, 0xB8, 0x92, 0xB0, 0x4, 0xAC, 0x15, 0x87, 0x5F, 0x4D, 0x4B, 0x3, 0x23, 0x71, 0x74, 0xA4, 0xED, 0xA5, 0x1A, 0xA5, 0xED, 0xA8, 0x85, 0x86, 0x8B, 0x60, 0x1A, 0x61, 0x8A, 0x0, 0x2, 0x0, 0x3C, 0x2, 0x26, 0x3, 0x40, 0x5, 0xBA, 0x0, 0x8, 0x0, 0x27, 0x0, 0x0, 0x1, 0x32, 0x36, 0x35, 0x34, 0x23, 0x22, 0x7, 0x16, 0x17, 0x22, 0x27, 0x7, 0x27, 0x37, 0x26, 0x35, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x17, 0x23, 0x26, 0x23, 0x22, 0x6, 0x15, 0x15, 0x14, 0x17, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x6, 0x2, 0x1, 0x32, 0x50, 0x39, 0x40, 0x68, 0x27, 0x34, 0x78, 0x57, 0x71, 0x81, 0x82, 0x3A, 0xBE, 0xB3, 0x92, 0xB3, 0x4, 0xAC, 0x15, 0x87, 0x61, 0x4C, 0x6, 0x86, 0x89, 0x77, 0x6B, 0xC2, 0x3, 0x1B, 0x26, 0x29, 0x31, 0x67, 0x19, 0x9F, 0x36, 0x8C, 0x5F, 0x9F, 0x63, 0x86, 0x1B, 0xAA, 0xE8, 0xA8, 0x85, 0x86, 0x8C, 0x5F, 0x1B, 0x2A, 0x23, 0x7A, 0x78, 0x4D, 0x72, 0x87, 0x0, 0x2, 0x0, 0x3C, 0x2, 0x7D, 0x3, 0x3A, 0x6, 0xEF, 0x0, 0x1A, 0x0, 0x25, 0x0, 0x0, 0x1, 0x22, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x17, 0x26, 0x27, 0x7, 0x27, 0x37, 0x26, 0x27, 0x37, 0x16, 0x17, 0x37, 0x17, 0x7, 0x16, 0x13, 0x15, 0x14, 0x6, 0x27, 0x32, 0x11, 0x35, 0x26, 0x23, 0x22, 0x6, 0x15, 0x14, 0x16, 0x1, 0xBB, 0xAA, 0xD5, 0xC3, 0xAB, 0x62, 0x50, 0x20, 0x49, 0xAB, 0x40, 0x8B, 0x29, 0x2F, 0x3E, 0x6F, 0x5B, 0xA9, 0x40, 0x93, 0xA0, 0x1, 0xDA, 0xA2, 0xB7, 0x42, 0x79, 0x5B, 0x5E, 0x5F, 0x2, 0x7D, 0xD3, 0x97, 0xA9, 0xCD, 0x36, 0x6F, 0x4C, 0x60, 0x5C, 0x4E, 0x17, 0xF, 0x9D, 0x1B, 0x45, 0x5F, 0x5C, 0x53, 0xB6, 0xFE, 0xE5, 0x42, 0xBF, 0xF0, 0xA7, 0x1, 0x12, 0x4A, 0x3B, 0x71, 0x63, 0x54, 0x6F, 0x0, 0x1, 0x0, 0x32, 0x2, 0x7C, 0x2, 0xDE, 0x5, 0xBA, 0x0, 0x20, 0x0, 0x0, 0x1, 0x22, 0x26, 0x35, 0x33, 0x16, 0x33, 0x32, 0x35, 0x34, 0x27, 0x23, 0x35, 0x33, 0x36, 0x35, 0x34, 0x23, 0x22, 0x7, 0x23, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x7, 0x16, 0x15, 0x14, 0x6, 0x1, 0x85, 0x7A, 0xD9, 0xB8, 0xB, 0x95, 0x8E, 0x86, 0x93, 0x93, 0x78, 0x80, 0x8F, 0x4, 0xB9, 0xC4, 0x83, 0x93, 0xB7, 0x85, 0x94, 0xC6, 0x2, 0x7C, 0x7A, 0x83, 0x5D, 0x61, 0x5B, 0x1, 0x97, 0x1, 0x52, 0x55, 0x50, 0x71, 0x81, 0x78, 0x72, 0x6F, 0x3A, 0x30, 0x8A, 0x71, 0x80, 0x0, 0x1, 0x0, 0x35, 0x2, 0x8C, 0x2, 0x34, 0x7, 0x1E, 0x0, 0x14, 0x0, 0x0, 0x1, 0x23, 0x11, 0x23, 0x11, 0x23, 0x35, 0x33, 0x35, 0x34, 0x36, 0x33, 0x32, 0x17, 0x7, 0x26, 0x23, 0x22, 0x7, 0x15, 0x33, 0x2, 0x19, 0xA5, 0xC5, 0x7A, 0x7A, 0x9B, 0x82, 0x34, 0x34, 0x5, 0x1C, 0x2B, 0x73, 0x1, 0xA5, 0x5, 0xC, 0xFD, 0x80, 0x2, 0x80, 0xA0, 0x55, 0x8D, 0x90, 0xD, 0x9F, 0x6, 0x75, 0x57, 0x0, 0x1, 0x0, 0x33, 0x1, 0x4C, 0x2, 0x4D, 0x5, 0xAD, 0x0, 0x15, 0x0, 0x0, 0x13, 0x22, 0x27, 0x35, 0x16, 0x33, 0x32, 0x36, 0x35, 0x11, 0x23, 0x35, 0x33, 0x11, 0x33, 0x11, 0x33, 0x15, 0x23, 0x11, 0x14, 0x6, 0xAB, 0x36, 0x2A, 0x17, 0x20, 0x32, 0x2F, 0xB0, 0xB0, 0xC5, 0xA5, 0xA5, 0x7A, 0x1, 0x4C, 0xD, 0xA6, 0x6, 0x38, 0x49, 0x1, 0x91, 0xA0, 0x1, 0x2, 0xFE, 0xFE, 0xA0, 0xFE, 0x70, 0x87, 0xA8, 0xFF, 0xFF, 0x0, 0x3C, 0x1, 0x4C, 0x3, 0x16, 0x5, 0xBA, 0x0, 0x6, 0x3, 0x7C, 0x0, 0x0, 0x0, 0x1, 0x0, 0x64, 0x1, 0xB, 0x2, 0xFA, 0x5, 0xAD, 0x0, 0x10, 0x0, 0x0, 0x1, 0x23, 0x11, 0x6, 0x23, 0x22, 0x26, 0x35, 0x11, 0x33, 0x11, 0x16, 0x33, 0x32, 0x37, 0x11, 0x33, 0x2, 0xFA, 0xC5, 0x4B, 0x82, 0x79, 0x8B, 0xC5, 0x4, 0x7F, 0x61, 0x28, 0xC5, 0x1, 0xB, 0x1, 0xE5, 0x71, 0x91, 0xA2, 0x1, 0xFB, 0xFE, 0x28, 0xAF, 0x58, 0x2, 0x2F, 0x0, 0x2, 0x0, 0x28, 0x2, 0x8C, 0x2, 0x42, 0x6, 0xEA, 0x0, 0x9, 0x0, 0x15, 0x0, 0x0, 0x12, 0x36, 0x33, 0x32, 0x16, 0x14, 0x6, 0x23, 0x22, 0x26, 0x1, 0x23, 0x11, 0x23, 0x11, 0x23, 0x35, 0x33, 0x11, 0x33, 0x11, 0x33, 0xC2, 0x3B, 0x37, 0x36, 0x3C, 0x3C, 0x36, 0x37, 0x3B, 0x1, 0x80, 0xAC, 0xC5, 0xA9, 0xA9, 0xC5, 0xAC, 0x6, 0xAC, 0x3E, 0x3E, 0x5C, 0x3D, 0x3D, 0xFD, 0xBB, 0xFE, 0x81, 0x1, 0x7F, 0xA0, 0x1, 0x2, 0xFE, 0xFE, 0x0, 0x1, 0x0, 0x64, 0x2, 0x82, 0x1, 0xCF, 0x5, 0xAD, 0x0, 0xC, 0x0, 0x0, 0x13, 0x33, 0x11, 0x16, 0x33, 0x32, 0x37, 0x17, 0x6, 0x23, 0x22, 0x26, 0x35, 0x64, 0xC4, 0x3, 0x43, 0x1C, 0x2A, 0x1B, 0x3A, 0x50, 0x62, 0x7F, 0x5, 0xAD, 0xFD, 0xC9, 0x4D, 0x10, 0x95, 0x22, 0x73, 0x7E, 0x0, 0x1, 0x0, 0x3F, 0x2, 0x8C, 0x2, 0x2B, 0x5, 0xEB, 0x0, 0xB, 0x0, 0x0, 0x1, 0x21, 0x35, 0x33, 0x11, 0x23, 0x35, 0x21, 0x15, 0x23, 0x11, 0x33, 0x2, 0x2B, 0xFE, 0x14, 0x93, 0x93, 0x1, 0xEC, 0x94, 0x94, 0x2, 0x8C, 0xA0, 0x2, 0x1F, 0xA0, 0xA0, 0xFD, 0xE1, 0x0, 0x1, 0x0, 0x28, 0x2, 0x8C, 0x2, 0x42, 0x5, 0xEB, 0x0, 0x13, 0x0, 0x0, 0x1, 0x21, 0x35, 0x33, 0x35, 0x23, 0x35, 0x33, 0x35, 0x23, 0x35, 0x21, 0x15, 0x23, 0x15, 0x33, 0x15, 0x23, 0x15, 0x33, 0x2, 0x2B, 0xFE, 0x14, 0x93, 0xAA, 0xAA, 0x93, 0x1, 0xEC, 0x94, 0xAB, 0xAB, 0x94, 0x2, 0x8C, 0xA0, 0xEC, 0xA0, 0x93, 0xA0, 0xA0, 0x93, 0xA0, 0xEC, 0x0, 0x3, 0x0, 0x0, 0x1, 0x3D, 0x2, 0x7D, 0x6, 0xEA, 0x0, 0x7, 0x0, 0x17, 0x0, 0x20, 0x0, 0x0, 0x0, 0x36, 0x32, 0x16, 0x14, 0x6, 0x22, 0x26, 0x3, 0x22, 0x26, 0x35, 0x34, 0x36, 0x33, 0x33, 0x11, 0x33, 0x11, 0x33, 0x15, 0x23, 0x14, 0x6, 0x27, 0x32, 0x36, 0x35, 0x35, 0x23, 0x22, 0x15, 0x14, 0x1, 0x1F, 0x3B, 0x6C, 0x3D, 0x3D, 0x6C, 0x3B, 0x24, 0x67, 0x94, 0x9D, 0x6A, 0x27, 0xC5, 0x8A, 0x8A, 0x70, 0x90, 0x24, 0x17, 0x21, 0x50, 0x6, 0xAC, 0x3E, 0x3E, 0x5C, 0x3D, 0x3D, 0xFA, 0xED, 0x6A, 0x67, 0x77, 0x7C, 0x2, 0xAC, 0xFD, 0x54, 0xA7, 0x83, 0x9A, 0xA3, 0x2C, 0x22, 0x2C, 0x40, 0x3A, 0x0, 0x1, 0x0, 0x64, 0x1, 0x4C, 0x1, 0xB5, 0x7, 0xE, 0x0, 0xB, 0x0, 0x0, 0x1, 0x6, 0x23, 0x22, 0x27, 0x11, 0x33, 0x11, 0x14, 0x33, 0x32, 0x37, 0x1, 0xB5, 0x52, 0x43, 0xBA, 0x2, 0xC5, 0x48, 0x1D, 0x27, 0x1, 0x5D, 0x11, 0xF5, 0x4, 0xCD, 0xFB, 0x4A, 0x50, 0x9, 0x0, 0x1, 0x0, 0x64, 0x1, 0x4C, 0x1, 0xC3, 0x7, 0xE, 0x0, 0xF, 0x0, 0x0, 0x1, 0x22, 0x27, 0x35, 0x16, 0x33, 0x32, 0x35, 0x35, 0x23, 0x11, 0x33, 0x11, 0x33, 0x15, 0x14, 0x1, 0x7, 0x43, 0x52, 0x27, 0x1D, 0x48, 0x9A, 0xC5, 0x9A, 0x1, 0x4C, 0x11, 0xB4, 0x9, 0x50, 0x34, 0x4, 0x82, 0xFC, 0x25, 0xED, 0xFA, 0x0, 0x1, 0x0, 0x65, 0x2, 0x8C, 0x2, 0xC0, 0x5, 0xAD, 0x0, 0x5, 0x0, 0x0, 0x13, 0x11, 0x33, 0x11, 0x21, 0x15, 0x65, 0xC5, 0x1, 0x96, 0x2, 0x8C, 0x3, 0x21, 0xFD, 0x86, 0xA7, 0x0, 0x1, 0x0, 0x64, 0x1, 0x4C, 0x4, 0xCA, 0x5, 0xBA, 0x0, 0x25, 0x0, 0x0, 0x1, 0x22, 0x27, 0x35, 0x16, 0x33, 0x32, 0x35, 0x11, 0x34, 0x26, 0x23, 0x22, 0x7, 0x17, 0x11, 0x23, 0x11, 0x26, 0x23, 0x22, 0x7, 0x11, 0x23, 0x11, 0x33, 0x17, 0x36, 0x33, 0x32, 0x17, 0x36, 0x33, 0x32, 0x16, 0x15, 0x11, 0x14, 0x4, 0xE, 0x45, 0x50, 0x2A, 0x1A, 0x48, 0x46, 0x3D, 0x63, 0x27, 0x2, 0xC5, 0x4, 0x7E, 0x62, 0x28, 0xC5, 0x98, 0x20, 0x4C, 0x8F, 0xB5, 0x37, 0x4A, 0x99, 0x79, 0x8B, 0x1, 0x4C, 0x11, 0xB4, 0x9, 0x50, 0x1, 0xFE, 0x69, 0x54, 0x5A, 0x23, 0xFD, 0xF6, 0x1, 0xD9, 0xAE, 0x59, 0xFD, 0xD2, 0x3, 0x21, 0x7A, 0x87, 0x98, 0x98, 0x91, 0xA2, 0xFD, 0xBF, 0xFA, 0x0, 0x1, 0x0, 0x64, 0x1, 0x4C, 0x4, 0xCA, 0x5, 0xAD, 0x0, 0x1C, 0x0, 0x0, 0x1, 0x23, 0x11, 0x6, 0x23, 0x22, 0x27, 0x6, 0x23, 0x22, 0x26, 0x35, 0x11, 0x33, 0x11, 0x16, 0x33, 0x32, 0x37, 0x27, 0x11, 0x33, 0x11, 0x16, 0x33, 0x32, 0x37, 0x11, 0x33, 0x4, 0xCA, 0xC5, 0x4C, 0x82, 0xB5, 0x37, 0x4A, 0x99, 0x79, 0x8B, 0xC5, 0x4, 0x7F, 0x63, 0x27, 0x2, 0xC5, 0x4, 0x7E, 0x62, 0x28, 0xC5, 0x1, 0x4C, 0x1, 0xA4, 0x71, 0x98, 0x98, 0x91, 0xA2, 0x1, 0xFB, 0xFE, 0x28, 0xAF, 0x5A, 0x23, 0x2, 0xA, 0xFE, 0x28, 0xAF, 0x59, 0x2, 0x2E, 0x0, 0x1, 0x0, 0x1A, 0x1, 0x4C, 0x3, 0x3C, 0x5, 0xBA, 0x0, 0x18, 0x0, 0x0, 0x13, 0x22, 0x27, 0x35, 0x16, 0x33, 0x32, 0x35, 0x11, 0x33, 0x17, 0x36, 0x33, 0x32, 0x16, 0x15, 0x11, 0x23, 0x11, 0x26, 0x23, 0x22, 0x7, 0x11, 0x6, 0xAF, 0x46, 0x4F, 0x27, 0x1D, 0x47, 0xAB, 0x11, 0x4C, 0x8B, 0x79, 0x8B, 0xC5, 0x4, 0x7F, 0x61, 0x28, 0x3, 0x1, 0x4C, 0x11, 0xB4, 0x9, 0x50, 0x3, 0x55, 0x73, 0x80, 0x91, 0xA2, 0xFE, 0x5, 0x1, 0xD9, 0xAE, 0x58, 0xFD, 0x83, 0xF2, 0x0, 0x1, 0x0, 0x64, 0x1, 0x4C, 0x3, 0x86, 0x5, 0xBA, 0x0, 0x18, 0x0, 0x0, 0x1, 0x6, 0x23, 0x22, 0x27, 0x11, 0x26, 0x23, 0x22, 0x7, 0x11, 0x23, 0x11, 0x33, 0x17, 0x36, 0x33, 0x32, 0x16, 0x15, 0x11, 0x14, 0x33, 0x32, 0x37, 0x3, 0x86, 0x4F, 0x46, 0xB9, 0x3, 0x4, 0x7E, 0x62, 0x28, 0xC5, 0xAB, 0x12, 0x4C, 0x8A, 0x78, 0x8B, 0x48, 0x1D, 0x27, 0x1, 0x5D, 0x11, 0xF2, 0x2, 0x27, 0xAE, 0x59, 0xFD, 0xD2, 0x3, 0x21, 0x71, 0x7E, 0x91, 0xA2, 0xFD, 0xD1, 0x50, 0x9, 0x0, 0x1, 0x0, 0x64, 0x2, 0x8C, 0x3, 0x83, 0x5, 0xAD, 0x0, 0x9, 0x0, 0x0, 0x1, 0x1, 0x11, 0x23, 0x11, 0x33, 0x1, 0x11, 0x33, 0x11, 0x2, 0xBD, 0xFE, 0x6C, 0xC5, 0xC5, 0x1, 0x94, 0xC6, 0x2, 0x8C, 0x1, 0xEA, 0xFE, 0x16, 0x3, 0x21, 0xFE, 0x17, 0x1, 0xE9, 0xFC, 0xDF, 0x0, 0x3, 0x0, 0x3C, 0x2, 0x7C, 0x3, 0x32, 0x5, 0xBA, 0x0, 0xD, 0x0, 0x12, 0x0, 0x17, 0x0, 0x0, 0x13, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x15, 0x14, 0x6, 0x23, 0x22, 0x26, 0x35, 0x1, 0x22, 0x7, 0x21, 0x26, 0x3, 0x32, 0x37, 0x21, 0x16, 0x3C, 0xCB, 0xAF, 0xB1, 0xCB, 0xCB, 0xB0, 0xAF, 0xCC, 0x1, 0x7A, 0x8E, 0x20, 0x1, 0x5E, 0x20, 0x8F, 0x93, 0x1D, 0xFE, 0xA0, 0x1C, 0x4, 0x23, 0xB3, 0xE4, 0xE4, 0xB3, 0x10, 0xB3, 0xE4, 0xE4, 0xB3, 0x1, 0x0, 0x9F, 0x9F, 0xFE, 0x10, 0xA7, 0xA7, 0x0, 0x3, 0x0, 0x3C, 0x1, 0x57, 0x4, 0x31, 0x7, 0xD, 0x0, 0x9, 0x0, 0x14, 0x0, 0x2D, 0x0, 0x0, 0x1, 0x32, 0x37, 0x11, 0x26, 0x23, 0x22, 0x6, 0x15, 0x14, 0x21, 0x32, 0x35, 0x35, 0x34, 0x26, 0x23, 0x22, 0x7, 0x11, 0x16, 0x17, 0x22, 0x27, 0x11, 0x23, 0x11, 0x6, 0x23, 0x22, 0x26, 0x10, 0x36, 0x33, 0x32, 0x17, 0x11, 0x33, 0x11, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x6, 0x1, 0x95, 0x21, 0x1B, 0x1A, 0x21, 0x50, 0x45, 0x1, 0xD2, 0x98, 0x49, 0x50, 0x21, 0x1B, 0x1B, 0x55, 0x3F, 0x31, 0xC5, 0x2F, 0x3B, 0x8E, 0x9D, 0x9C, 0x91, 0x3A, 0x2E, 0xC5, 0x30, 0x3E, 0x91, 0x9C, 0x9C, 0x3, 0x20, 0xB, 0x1, 0xDF, 0xB, 0x90, 0x84, 0xE1, 0xE7, 0xA, 0x73, 0x91, 0xC, 0xFE, 0x21, 0xA, 0xA5, 0x16, 0xFE, 0xC6, 0x1, 0x39, 0x15, 0xDB, 0x1, 0x76, 0xEE, 0x15, 0x1, 0x68, 0xFE, 0x96, 0x17, 0xED, 0xCC, 0xAA, 0xDC, 0x0, 0x1, 0x0, 0x3C, 0x1, 0x4C, 0x2, 0xDF, 0x5, 0xBA, 0x0, 0x2C, 0x0, 0x0, 0x1, 0x6, 0x23, 0x22, 0x26, 0x35, 0x11, 0x33, 0x16, 0x33, 0x32, 0x35, 0x34, 0x27, 0x26, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x23, 0x26, 0x26, 0x23, 0x22, 0x15, 0x14, 0x16, 0x17, 0x16, 0x16, 0x15, 0x14, 0x6, 0x23, 0x22, 0x27, 0x15, 0x16, 0x33, 0x32, 0x37, 0x1, 0x8D, 0x4F, 0x46, 0x66, 0x56, 0xBE, 0x10, 0x98, 0x79, 0xAD, 0x86, 0x92, 0xAC, 0x87, 0x9D, 0xB3, 0xC3, 0x1, 0x40, 0x46, 0x76, 0x4E, 0x56, 0x8E, 0x94, 0xA7, 0x9C, 0x5C, 0x49, 0x3, 0x4F, 0x1D, 0x27, 0x1, 0x5D, 0x11, 0x81, 0x84, 0x1, 0x37, 0x72, 0x4C, 0x47, 0x27, 0x1E, 0x73, 0x6A, 0x6E, 0x81, 0x93, 0x6B, 0x28, 0x3D, 0x4E, 0x28, 0x2A, 0x13, 0x1F, 0x74, 0x6D, 0x72, 0x80, 0x1C, 0x48, 0x48, 0x9, 0x0, 0x1, 0x0, 0x1A, 0x1, 0x4C, 0x1, 0xF6, 0x7, 0xE, 0x0, 0x13, 0x0, 0x0, 0x13, 0x22, 0x27, 0x35, 0x16, 0x33, 0x32, 0x35, 0x11, 0x36, 0x33, 0x32, 0x17, 0x15, 0x26, 0x23, 0x22, 0x15, 0x11, 0x6, 0xAF, 0x43, 0x52, 0x27, 0x1D, 0x47, 0x2, 0xBA, 0x42, 0x53, 0x34, 0x10, 0x47, 0x2, 0x1, 0x4C, 0x11, 0xB4, 0x9, 0x50, 0x3, 0xC1, 0xF5, 0x10, 0xB4, 0x8, 0x4F, 0xFC, 0x3E, 0xF5, 0x0, 0x1, 0x0, 0x28, 0x1, 0x4C, 0x2, 0x7, 0x6, 0x70, 0x0, 0x1B, 0x0, 0x0, 0x1, 0x22, 0x27, 0x35, 0x16, 0x33, 0x32, 0x35, 0x35, 0x26, 0x27, 0x11, 0x23, 0x35, 0x33, 0x35, 0x33, 0x15, 0x33, 0x15, 0x23, 0x11, 0x14, 0x33, 0x32, 0x37, 0x15, 0x6, 0x1, 0x47, 0x46, 0x4F, 0x27, 0x1D, 0x48, 0x90, 0x2, 0x84, 0x84, 0xC5, 0x96, 0x96, 0x51, 0x19, 0x28, 0x5, 0x1, 0x4C, 0x11, 0xB4, 0x9, 0x4A, 0x32, 0x24, 0xD2, 0x1, 0x8C, 0xA7, 0xC3, 0xC3, 0xA7, 0xFE, 0x8B, 0x6D, 0x8, 0xF3, 0xED, 0x0, 0x2, 0x0, 0x28, 0x2, 0x7F, 0x3, 0xA2, 0x5, 0xAD, 0x0, 0x6, 0x0, 0x1C, 0x0, 0x0, 0x1, 0x32, 0x37, 0x35, 0x21, 0x14, 0x16, 0x17, 0x27, 0x6, 0x23, 0x22, 0x26, 0x35, 0x35, 0x23, 0x35, 0x33, 0x11, 0x33, 0x11, 0x21, 0x11, 0x33, 0x11, 0x33, 0x15, 0x23, 0x11, 0x1, 0xE2, 0x61, 0x28, 0xFE, 0xF4, 0x46, 0xE1, 0x12, 0x4B, 0x8C, 0x78, 0x8B, 0x72, 0x72, 0xC5, 0x1, 0xC, 0xC5, 0x72, 0x72, 0x3, 0x26, 0x59, 0x64, 0x69, 0x54, 0x9A, 0x73, 0x80, 0x91, 0xA2, 0x31, 0xA7, 0x1, 0x23, 0xFE, 0xDD, 0x1, 0x23, 0xFE, 0xDD, 0xA7, 0xFE, 0xA9, 0x0, 0x1, 0x0, 0x4C, 0x2, 0x7F, 0x3, 0x81, 0x5, 0xAD, 0x0, 0x2D, 0x0, 0x0, 0x0, 0x36, 0x34, 0x26, 0x26, 0x27, 0x35, 0x34, 0x36, 0x36, 0x33, 0x15, 0x22, 0x6, 0x15, 0x14, 0x16, 0x16, 0x15, 0x14, 0x6, 0x6, 0x23, 0x22, 0x26, 0x26, 0x35, 0x34, 0x36, 0x37, 0x36, 0x35, 0x34, 0x26, 0x23, 0x35, 0x32, 0x16, 0x16, 0x15, 0x14, 0x6, 0x7, 0x6, 0x14, 0x16, 0x2, 0x6A, 0x51, 0x3C, 0x3B, 0x2, 0x29, 0x84, 0x87, 0x22, 0x49, 0x3B, 0x3B, 0x44, 0xB2, 0xA5, 0xA4, 0xB2, 0x44, 0x3B, 0x1D, 0x1E, 0x48, 0x23, 0x88, 0x83, 0x29, 0x3C, 0x1D, 0x20, 0x50, 0x3, 0x26, 0x74, 0x68, 0x58, 0x5A, 0x36, 0x7, 0x25, 0x57, 0x40, 0xA1, 0x17, 0x29, 0x22, 0x47, 0x5F, 0x49, 0x47, 0x93, 0x62, 0x62, 0x93, 0x47, 0x49, 0x5F, 0x23, 0x24, 0x22, 0x29, 0x17, 0xA1, 0x40, 0x57, 0x25, 0x3A, 0x5D, 0x2A, 0x2E, 0x68, 0x74, 0x0, 0x1, 0x0, 0x5B, 0x2, 0x7E, 0x3, 0x50, 0x5, 0xAD, 0x0, 0xF, 0x0, 0x0, 0x1, 0x33, 0x11, 0x14, 0x6, 0x23, 0x22, 0x26, 0x35, 0x11, 0x33, 0x11, 0x16, 0x33, 0x32, 0x37, 0x2, 0x8B, 0xC5, 0xD2, 0xA9, 0xA6, 0xD4, 0xC5, 0x1, 0xB4, 0xB5, 0x1, 0x5, 0xAD, 0xFE, 0x27, 0xAD, 0xA9, 0xA9, 0xAD, 0x1, 0xD9, 0xFE, 0x25, 0xAE, 0xAE, 0x0, 0x1, 0x0, 0x5B, 0x2, 0x7F, 0x3, 0x13, 0x5, 0xBA, 0x0, 0x18, 0x0, 0x0, 0x1, 0x32, 0x36, 0x35, 0x35, 0x34, 0x23, 0x22, 0x7, 0x35, 0x36, 0x33, 0x32, 0x17, 0x15, 0x14, 0x6, 0x20, 0x26, 0x35, 0x11, 0x33, 0x11, 0x14, 0x16, 0x1, 0xB7, 0x41, 0x56, 0x41, 0x1C, 0x27, 0x4F, 0x3E, 0xB7, 0x5, 0xC1, 0xFE, 0xCA, 0xC1, 0xC5, 0x57, 0x3, 0x26, 0x54, 0x6A, 0xD0, 0x4A, 0x9, 0xB4, 0x11, 0xED, 0xFA, 0xBA, 0x9A, 0x9A, 0xBA, 0x1, 0xDA, 0xFE, 0x37, 0x6A, 0x54, 0x0, 0x1, 0x0, 0x1C, 0x2, 0x8C, 0x2, 0xFF, 0x5, 0xAD, 0x0, 0x8, 0x0, 0x0, 0x1, 0x3, 0x23, 0x1, 0x33, 0x1, 0x23, 0x3, 0x27, 0x1, 0x87, 0x97, 0xD4, 0x1, 0x18, 0xB6, 0x1, 0x15, 0xD3, 0x93, 0x9, 0x4, 0x99, 0xFD, 0xF3, 0x3, 0x21, 0xFC, 0xDF, 0x2, 0xD, 0x30, 0x0, 0x1, 0x0, 0x2E, 0x2, 0x8C, 0x2, 0xB8, 0x5, 0xAD, 0x0, 0x9, 0x0, 0x0, 0x13, 0x35, 0x1, 0x21, 0x35, 0x21, 0x15, 0x1, 0x21, 0x15, 0x2E, 0x1, 0x7C, 0xFE, 0x8C, 0x2, 0x72, 0xFE, 0x82, 0x1, 0x8E, 0x2, 0x8C, 0x84, 0x1, 0xF6, 0xA7, 0x7F, 0xFE, 0x5, 0xA7, 0x0, 0x1, 0x0, 0x2E, 0x1, 0x4C, 0x3, 0x43, 0x5, 0xAD, 0x0, 0x13, 0x0, 0x0, 0x1, 0x6, 0x23, 0x22, 0x27, 0x35, 0x21, 0x35, 0x1, 0x21, 0x35, 0x21, 0x15, 0x1, 0x21, 0x15, 0x14, 0x33, 0x32, 0x37, 0x3, 0x43, 0x4F, 0x46, 0xB8, 0x4, 0xFE, 0x3C, 0x1, 0x7C, 0xFE, 0x8C, 0x2, 0x72, 0xFE, 0x82, 0x1, 0x8E, 0x47, 0x1D, 0x27, 0x1, 0x5D, 0x11, 0xF0, 0x50, 0x84, 0x1, 0xF6, 0xA7, 0x7F, 0xFE, 0x5, 0xE1, 0x4A, 0x9, 0x0, 0x2, 0x0, 0x2E, 0x1, 0xEA, 0x3, 0xA3, 0x5, 0xAD, 0x0, 0x6, 0x0, 0x1C, 0x0, 0x0, 0x1, 0x22, 0x7, 0x33, 0x36, 0x35, 0x34, 0x1, 0x7, 0x27, 0x37, 0x23, 0x35, 0x1, 0x21, 0x35, 0x21, 0x15, 0x1, 0x33, 0x36, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x6, 0x23, 0x2, 0xB1, 0x2B, 0x48, 0x15, 0x8B, 0xFE, 0xF7, 0x6C, 0x97, 0x29, 0xCD, 0x1, 0x7C, 0xFE, 0x8C, 0x2, 0x72, 0xFE, 0x82, 0x47, 0x63, 0x94, 0x6B, 0x62, 0x6E, 0xB6, 0xA2, 0x3, 0xA3, 0x70, 0x2, 0x43, 0x2B, 0xFE, 0xE9, 0xA2, 0x68, 0x3A, 0x84, 0x1, 0xF6, 0xA7, 0x7F, 0xFE, 0x5, 0x8D, 0x8D, 0x6C, 0x56, 0x74, 0x8B, 0x0, 0x1, 0x0, 0x33, 0x1, 0x54, 0x3, 0x2B, 0x5, 0xAD, 0x0, 0x19, 0x0, 0x0, 0x1, 0x22, 0x26, 0x35, 0x33, 0x16, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x23, 0x35, 0x13, 0x21, 0x35, 0x21, 0x17, 0x1, 0x4, 0x11, 0x14, 0x6, 0x1, 0xAE, 0x8E, 0xED, 0xC7, 0x4, 0x55, 0x5B, 0x56, 0x62, 0x7E, 0x63, 0x63, 0xF7, 0xFE, 0x45, 0x2, 0xAD, 0x1, 0xFE, 0xF4, 0x1, 0x2B, 0xE0, 0x1, 0x54, 0x96, 0xA7, 0x41, 0x57, 0x57, 0x49, 0x65, 0x4A, 0xA5, 0x1, 0x19, 0xA7, 0x80, 0xFE, 0xBA, 0x30, 0xFE, 0xE0, 0x97, 0xAC, 0x0, 0x3, 0x0, 0x58, 0x2, 0x7B, 0x3, 0x49, 0x6, 0xCE, 0x0, 0xD, 0x0, 0x15, 0x0, 0x1D, 0x0, 0x0, 0x1, 0x22, 0x26, 0x35, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x15, 0x14, 0x6, 0x1, 0x21, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x13, 0x32, 0x36, 0x35, 0x21, 0x15, 0x14, 0x16, 0x1, 0xD1, 0x9A, 0xDF, 0xDD, 0x9B, 0x9D, 0xDC, 0xDB, 0xFE, 0xAE, 0x1, 0x68, 0x58, 0x5C, 0x5A, 0x5A, 0xB5, 0x5E, 0x55, 0xFE, 0x98, 0x5B, 0x2, 0x7B, 0xEF, 0xFC, 0x84, 0xFD, 0xE7, 0xE7, 0xFD, 0x84, 0xFC, 0xEF, 0x2, 0x7F, 0x9, 0x9E, 0x87, 0x86, 0xFD, 0x80, 0x90, 0xA1, 0x4, 0x9D, 0x90, 0x0, 0x3, 0xFB, 0xCE, 0x4, 0x90, 0xFF, 0x6A, 0x6, 0x0, 0x0, 0x3, 0x0, 0xD, 0x0, 0x17, 0x0, 0x0, 0x1, 0x13, 0x23, 0x1, 0x5, 0x34, 0x36, 0x32, 0x16, 0x15, 0x14, 0x6, 0x22, 0x26, 0x5, 0x34, 0x36, 0x32, 0x16, 0x15, 0x14, 0x6, 0x22, 0x26, 0xFD, 0x9B, 0xC3, 0xCA, 0xFE, 0xF2, 0x1, 0xD0, 0x49, 0x82, 0x49, 0x49, 0x82, 0x49, 0xFD, 0x78, 0x49, 0x82, 0x49, 0x49, 0x82, 0x49, 0x6, 0x0, 0xFE, 0xD2, 0x1, 0x2E, 0x92, 0x35, 0x48, 0x48, 0x35, 0x34, 0x47, 0x47, 0x2F, 0x35, 0x47, 0x47, 0x35, 0x34, 0x47, 0x47, 0x0, 0x3, 0xFB, 0xCB, 0x4, 0x90, 0xFF, 0x67, 0x6, 0x0, 0x0, 0x3, 0x0, 0xD, 0x0, 0x17, 0x0, 0x0, 0x1, 0x13, 0x21, 0x1, 0x25, 0x34, 0x36, 0x32, 0x16, 0x15, 0x14, 0x6, 0x22, 0x26, 0x5, 0x34, 0x36, 0x32, 0x16, 0x15, 0x14, 0x6, 0x22, 0x26, 0xFC, 0xDE, 0xC3, 0x1, 0x15, 0xFE, 0xEB, 0xFE, 0x2A, 0x49, 0x82, 0x49, 0x49, 0x82, 0x49, 0x2, 0x89, 0x48, 0x82, 0x49, 0x49, 0x82, 0x48, 0x4, 0xD2, 0x1, 0x2E, 0xFE, 0xD2, 0x9C, 0x35, 0x48, 0x48, 0x35, 0x34, 0x47, 0x47, 0x2F, 0x35, 0x47, 0x47, 0x35, 0x34, 0x47, 0x47, 0x0, 0x1, 0xFD, 0xA, 0xFD, 0xD5, 0xFE, 0x64, 0xFF, 0xAE, 0x0, 0x29, 0x0, 0x0, 0x5, 0x36, 0x33, 0x32, 0x16, 0x14, 0x6, 0x7, 0x6, 0x14, 0x16, 0x16, 0x14, 0x6, 0x6, 0x7, 0x15, 0x14, 0x17, 0x7, 0x26, 0x26, 0x35, 0x34, 0x36, 0x36, 0x37, 0x35, 0x34, 0x26, 0x27, 0x26, 0x35, 0x34, 0x36, 0x37, 0x36, 0x35, 0x34, 0x23, 0x22, 0x7, 0xFD, 0xA, 0x58, 0x6F, 0x43, 0x45, 0x46, 0x22, 0x23, 0x4B, 0x4B, 0x4C, 0x49, 0x2, 0x7C, 0x14, 0x6B, 0x82, 0x4A, 0x4A, 0x1, 0x4F, 0x22, 0x25, 0x4E, 0x28, 0x26, 0x23, 0x3F, 0x45, 0x88, 0x36, 0x3C, 0x50, 0x21, 0x8, 0x8, 0x18, 0xB, 0x1A, 0x44, 0x17, 0x9, 0xA, 0x1, 0x13, 0x8, 0x55, 0x8, 0x38, 0x2C, 0x22, 0x17, 0x9, 0xC, 0x1, 0xA, 0xC, 0xB, 0xC, 0x1F, 0x1C, 0x20, 0xB, 0xA, 0xC, 0x14, 0x24, 0x0, 0x1, 0xFC, 0xCB, 0x4, 0xAC, 0xFF, 0x6C, 0x6, 0x28, 0x0, 0x5, 0x0, 0x0, 0x1, 0x25, 0x37, 0x17, 0x25, 0x17, 0xFD, 0xCF, 0xFE, 0xFC, 0x54, 0xB0, 0x1, 0x48, 0x55, 0x4, 0xAC, 0x95, 0x90, 0x65, 0xBC, 0x90, 0x0, 0x1, 0xFC, 0xDE, 0x4, 0xD2, 0xFF, 0xBC, 0x6, 0x0, 0x0, 0x5, 0x0, 0x0, 0x1, 0x35, 0x21, 0x37, 0x21, 0x3, 0xFC, 0xDE, 0x1, 0x8D, 0x49, 0x1, 0x8, 0xEE, 0x4, 0xD2, 0x9E, 0x90, 0xFE, 0xD2, 0x0, 0x1, 0xFC, 0x3C, 0x4, 0xD2, 0xFF, 0x1A, 0x6, 0x0, 0x0, 0x5, 0x0, 0x0, 0x1, 0x3, 0x21, 0x17, 0x21, 0x15, 0xFD, 0x2A, 0xEE, 0x1, 0x4, 0x4A, 0x1, 0x90, 0x4, 0xD2, 0x1, 0x2E, 0x90, 0x9E, 0x0, 0x1, 0xFC, 0xA4, 0x4, 0xD2, 0xFF, 0x71, 0x6, 0x0, 0x0, 0x5, 0x0, 0x0, 0x1, 0x35, 0x21, 0x13, 0x23, 0x27, 0xFC, 0xA4, 0x2, 0x9, 0xC4, 0xCA, 0x81, 0x5, 0x62, 0x9E, 0xFE, 0xD2, 0x90, 0x0, 0x1, 0xFC, 0x6E, 0x4, 0xD2, 0xFF, 0x35, 0x6, 0x0, 0x0, 0x5, 0x0, 0x0, 0x1, 0x13, 0x21, 0x15, 0x21, 0x7, 0xFC, 0x6E, 0xC3, 0x2, 0x4, 0xFE, 0x84, 0x81, 0x4, 0xD2, 0x1, 0x2E, 0x9E, 0x90, 0x0, 0x1, 0xFC, 0x22, 0x4, 0xD2, 0xFF, 0x8F, 0x6, 0x0, 0x0, 0x9, 0x0, 0x0, 0x1, 0x3, 0x33, 0x17, 0x37, 0x21, 0x13, 0x23, 0x27, 0x7, 0xFC, 0xED, 0xCB, 0xEF, 0x5C, 0x61, 0x1, 0x35, 0x8C, 0xB4, 0x7A, 0x7E, 0x4, 0xD2, 0x1, 0x2E, 0xA0, 0xA0, 0xFE, 0xD2, 0xA7, 0xA7, 0x0, 0x1, 0xFC, 0x60, 0x4, 0xD2, 0xFF, 0xCE, 0x6, 0x0, 0x0, 0x9, 0x0, 0x0, 0x1, 0x13, 0x21, 0x17, 0x37, 0x33, 0x3, 0x23, 0x27, 0x7, 0xFC, 0x60, 0x8D, 0x1, 0x34, 0x61, 0x5C, 0xF0, 0xCC, 0xF6, 0x81, 0x7B, 0x4, 0xD2, 0x1, 0x2E, 0xA0, 0xA0, 0xFE, 0xD2, 0xA7, 0xA7, 0x0, 0x1, 0xFD, 0x44, 0xFD, 0xDA, 0xFE, 0x77, 0xFF, 0x87, 0x0, 0xD, 0x0, 0x0, 0x5, 0x22, 0x7, 0x15, 0x23, 0x11, 0x33, 0x17, 0x36, 0x33, 0x32, 0x17, 0x15, 0x26, 0xFE, 0x3A, 0x4B, 0x1C, 0x8F, 0x72, 0xE, 0x31, 0x55, 0x1B, 0x12, 0x1A, 0xFA, 0x37, 0xF5, 0x1, 0xA7, 0x3F, 0x45, 0x5, 0x89, 0xD, 0x0, 0x1, 0xFB, 0x61, 0x4, 0xCC, 0x0, 0x36, 0x5, 0xE7, 0x0, 0xE, 0x0, 0x0, 0x13, 0x21, 0x6, 0x23, 0x22, 0x26, 0x35, 0x33, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x21, 0x36, 0xFD, 0x83, 0x58, 0xBC, 0x95, 0xAF, 0xB7, 0x40, 0x4D, 0x4C, 0x3F, 0x3, 0x6, 0x5, 0x49, 0x7D, 0x9F, 0x7C, 0x37, 0x54, 0x54, 0x37, 0x0, 0x1, 0xFB, 0x3D, 0x4, 0xCC, 0x0, 0x10, 0x5, 0xE7, 0x0, 0xE, 0x0, 0x0, 0x1, 0x22, 0x27, 0x21, 0x35, 0x21, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x33, 0x14, 0x6, 0xFE, 0xCE, 0xBF, 0x56, 0xFD, 0x84, 0x3, 0x4, 0x40, 0x4D, 0x4C, 0x3F, 0xB7, 0xAE, 0x4, 0xCC, 0x7D, 0x9E, 0x37, 0x54, 0x54, 0x37, 0x7C, 0x9F, 0x0, 0x1, 0xFC, 0x9F, 0x4, 0xA1, 0x3, 0x63, 0x5, 0xEE, 0x0, 0x8, 0x0, 0x0, 0x13, 0x5, 0x15, 0x7, 0x25, 0x5, 0x27, 0x35, 0x25, 0x47, 0x3, 0x1C, 0xCD, 0xFD, 0x69, 0xFD, 0x6B, 0xCB, 0x3, 0x19, 0x5, 0xEE, 0xF1, 0x19, 0x43, 0xD2, 0xD2, 0x43, 0x1B, 0xEF, 0xFF, 0xFF, 0xFD, 0x2F, 0x3, 0xE6, 0xFE, 0xA7, 0x5, 0xD0, 0x0, 0xF, 0x1, 0x8C, 0xFE, 0xD0, 0x4, 0x22, 0xC0, 0x0, 0x0, 0x1, 0xFC, 0xD6, 0xFD, 0xD5, 0xFE, 0x9A, 0xFF, 0x90, 0x0, 0x7, 0x0, 0x0, 0x1, 0x23, 0x37, 0x21, 0x13, 0x33, 0x7, 0x21, 0xFE, 0x47, 0x99, 0x31, 0xFE, 0xF7, 0x53, 0x99, 0x31, 0x1, 0x9, 0xFD, 0xD5, 0xA4, 0x1, 0x17, 0xA4, 0x0, 0x1, 0xFC, 0xC9, 0xFE, 0x14, 0xFF, 0xAE, 0xFF, 0xC0, 0x0, 0x13, 0x0, 0x0, 0x5, 0x33, 0x7, 0x36, 0x33, 0x32, 0x16, 0x33, 0x32, 0x37, 0x17, 0x6, 0x6, 0x23, 0x22, 0x26, 0x23, 0x22, 0x7, 0x27, 0xFD, 0x5A, 0x98, 0x60, 0x4C, 0x3B, 0x38, 0x57, 0x32, 0x46, 0x16, 0x78, 0x8, 0x57, 0x5C, 0x53, 0x84, 0x42, 0x47, 0x62, 0x68, 0x40, 0xF5, 0x2E, 0x40, 0x50, 0x27, 0x4E, 0x80, 0x4B, 0x3B, 0x30, 0x0, 0x1, 0xFC, 0x94, 0x4, 0x7A, 0xFE, 0xDB, 0x5, 0xDF, 0x0, 0x20, 0x0, 0x0, 0x1, 0x32, 0x35, 0x34, 0x26, 0x27, 0x35, 0x32, 0x16, 0x15, 0x14, 0x6, 0x23, 0x22, 0x26, 0x26, 0x23, 0x22, 0x15, 0x14, 0x17, 0x15, 0x22, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x17, 0x16, 0x16, 0xFE, 0x36, 0x3A, 0x23, 0x2E, 0x45, 0x77, 0x59, 0x51, 0x4C, 0x4C, 0x32, 0x2D, 0x3B, 0x48, 0x4C, 0x67, 0x5F, 0x4A, 0x4C, 0x4E, 0x13, 0x10, 0x22, 0x4, 0xE4, 0x42, 0x1F, 0x34, 0x2, 0x64, 0x5F, 0x58, 0x4A, 0x64, 0x50, 0x9D, 0x3B, 0x42, 0x6, 0x68, 0x62, 0x4E, 0x4A, 0x5C, 0x58, 0x3B, 0x36, 0x25, 0x0, 0x1, 0xFC, 0x9B, 0x4, 0x7E, 0xFE, 0xE0, 0x7, 0x7A, 0x0, 0x1D, 0x0, 0x0, 0x1, 0x22, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x6, 0x6, 0x7, 0x27, 0x3E, 0x2, 0x35, 0x34, 0x26, 0x22, 0x6, 0x15, 0x14, 0x33, 0x32, 0x37, 0x17, 0x6, 0xFD, 0x95, 0x5F, 0x9B, 0xA3, 0x74, 0x83, 0xAB, 0x78, 0xB1, 0x57, 0x2D, 0x3E, 0x85, 0x5B, 0x57, 0x82, 0x4E, 0x7F, 0x39, 0x27, 0x19, 0x3A, 0x5, 0x91, 0x6B, 0x7D, 0x73, 0x8E, 0xA4, 0x92, 0x97, 0xB7, 0x61, 0x17, 0x70, 0x15, 0x44, 0x87, 0x77, 0x63, 0x61, 0x4A, 0x40, 0x84, 0x12, 0x56, 0x26, 0x0, 0x1, 0xFC, 0x3D, 0x4, 0xA8, 0xFF, 0x32, 0x5, 0x6C, 0x0, 0x14, 0x0, 0x0, 0x1, 0x22, 0x27, 0x6, 0x23, 0x22, 0x26, 0x35, 0x33, 0x14, 0x33, 0x32, 0x35, 0x33, 0x14, 0x33, 0x32, 0x35, 0x33, 0x14, 0x6, 0xFE, 0x52, 0x61, 0x39, 0x32, 0x68, 0x65, 0x7C, 0x8A, 0x57, 0x51, 0x85, 0x5E, 0x51, 0x8F, 0x7D, 0x4, 0xA8, 0x34, 0x34, 0x6E, 0x56, 0x54, 0x54, 0x54, 0x54, 0x62, 0x62, 0x0, 0x3, 0xFC, 0x1F, 0x4, 0xA3, 0xFF, 0x60, 0x6, 0xE0, 0x0, 0x5, 0x0, 0xF, 0x0, 0x34, 0x0, 0x0, 0x1, 0x22, 0x7, 0x33, 0x35, 0x26, 0x1, 0x32, 0x37, 0x26, 0x27, 0x23, 0x22, 0x6, 0x15, 0x14, 0x5, 0x6, 0x6, 0x23, 0x22, 0x27, 0x6, 0x6, 0x23, 0x22, 0x26, 0x35, 0x34, 0x37, 0x33, 0x35, 0x34, 0x23, 0x22, 0x15, 0x27, 0x34, 0x36, 0x33, 0x32, 0x17, 0x36, 0x33, 0x32, 0x16, 0x15, 0x15, 0x21, 0x16, 0x33, 0x32, 0x37, 0xFE, 0x6D, 0x5E, 0xF, 0xD8, 0x5, 0xFE, 0x28, 0x59, 0x24, 0x9, 0x1, 0x54, 0x37, 0x35, 0x2, 0xA6, 0x1B, 0x6B, 0x52, 0xA3, 0x47, 0x16, 0x5D, 0x49, 0x54, 0x63, 0xEF, 0x5F, 0x50, 0x58, 0x8A, 0x7D, 0x68, 0x6D, 0x3B, 0x43, 0x62, 0x79, 0x7A, 0xFE, 0x9E, 0xB, 0x7A, 0x5A, 0x30, 0x6, 0x6B, 0x76, 0x9, 0x6D, 0xFE, 0xAB, 0x4A, 0x1F, 0x23, 0x30, 0x20, 0x3C, 0xB, 0x27, 0x41, 0x7A, 0x2E, 0x47, 0x5A, 0x4B, 0xA8, 0x4, 0x22, 0x55, 0x42, 0x6, 0x4A, 0x62, 0x3B, 0x3A, 0x99, 0x77, 0x37, 0x80, 0x3E, 0x0, 0x3, 0xFC, 0x19, 0x4, 0xA3, 0xFF, 0x76, 0x6, 0xE0, 0x0, 0x7, 0x0, 0x25, 0x0, 0x2F, 0x0, 0x0, 0x1, 0x32, 0x35, 0x34, 0x23, 0x22, 0x15, 0x14, 0x17, 0x22, 0x27, 0x6, 0x6, 0x23, 0x22, 0x26, 0x35, 0x34, 0x37, 0x33, 0x35, 0x34, 0x23, 0x22, 0x15, 0x27, 0x34, 0x36, 0x33, 0x32, 0x17, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x6, 0x25, 0x32, 0x37, 0x26, 0x27, 0x23, 0x22, 0x6, 0x15, 0x14, 0xFE, 0x6F, 0x78, 0x79, 0x76, 0x77, 0x9D, 0x45, 0x16, 0x5D, 0x4A, 0x54, 0x63, 0xEE, 0x60, 0x50, 0x58, 0x8A, 0x7D, 0x68, 0x6E, 0x3B, 0x45, 0x66, 0x7A, 0x8E, 0x8E, 0xFE, 0xD, 0x5A, 0x24, 0x8, 0x2, 0x56, 0x36, 0x35, 0x5, 0x17, 0xAF, 0xA5, 0xB0, 0xA4, 0x74, 0x7D, 0x2F, 0x49, 0x5A, 0x4B, 0xA8, 0x4, 0x22, 0x55, 0x42, 0x6, 0x4A, 0x62, 0x3C, 0x3B, 0x9C, 0x88, 0x7C, 0x9C, 0x73, 0x4C, 0x1E, 0x22, 0x30, 0x20, 0x3C, 0x0, 0x2, 0xFC, 0x13, 0x4, 0xA8, 0xFF, 0x1F, 0x6, 0xE0, 0x0, 0x9, 0x0, 0x25, 0x0, 0x0, 0x1, 0x32, 0x36, 0x37, 0x35, 0x23, 0x22, 0x6, 0x15, 0x14, 0x17, 0x26, 0x27, 0x6, 0x23, 0x22, 0x26, 0x35, 0x34, 0x37, 0x33, 0x35, 0x34, 0x23, 0x22, 0x15, 0x27, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x15, 0x37, 0x13, 0x33, 0x3, 0xFC, 0xEE, 0x25, 0x41, 0xC, 0x53, 0x36, 0x35, 0xD2, 0xA, 0x6, 0x38, 0x63, 0x53, 0x63, 0xEE, 0x5F, 0x50, 0x58, 0x8A, 0x7E, 0x68, 0x60, 0x7C, 0xB, 0x8A, 0x9A, 0xE5, 0x5, 0x16, 0x26, 0x16, 0x50, 0x30, 0x20, 0x3C, 0x64, 0x1B, 0x22, 0x47, 0x5A, 0x4B, 0xA8, 0x4, 0x22, 0x55, 0x42, 0x6, 0x4A, 0x62, 0x63, 0x63, 0xC8, 0x25, 0x1, 0x65, 0xFD, 0xD6, 0x0, 0x1, 0xFC, 0xCC, 0x3, 0xC8, 0xFE, 0xB7, 0x6, 0xDF, 0x0, 0x23, 0x0, 0x0, 0x1, 0x14, 0x7, 0x27, 0x32, 0x35, 0x34, 0x27, 0x37, 0x26, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x17, 0x23, 0x26, 0x26, 0x23, 0x22, 0x15, 0x14, 0x16, 0x33, 0x32, 0x37, 0x33, 0x6, 0x6, 0x7, 0x7, 0x16, 0x16, 0xFE, 0x41, 0xB0, 0x4, 0x40, 0x48, 0x10, 0x66, 0x63, 0x7E, 0x84, 0x69, 0x7E, 0x2, 0x88, 0x2, 0x2E, 0x32, 0x72, 0x34, 0x3E, 0x59, 0x9, 0x88, 0x2, 0x6D, 0x52, 0x4, 0x21, 0x2E, 0x4, 0x3A, 0x70, 0x2, 0x4E, 0x28, 0x1E, 0x8, 0x44, 0x12, 0x99, 0x77, 0x71, 0xA4, 0x74, 0x5B, 0x22, 0x39, 0xB3, 0x43, 0x5E, 0x4D, 0x48, 0x6A, 0xC, 0x14, 0x7, 0x25, 0x0, 0x2, 0xFC, 0xAA, 0x4, 0xA8, 0xFE, 0xCA, 0x7, 0xC5, 0x0, 0x12, 0x0, 0x1D, 0x0, 0x0, 0x1, 0x22, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x17, 0x26, 0x26, 0x27, 0x37, 0x16, 0x16, 0x15, 0x15, 0x14, 0x6, 0x27, 0x32, 0x37, 0x35, 0x26, 0x23, 0x22, 0x6, 0x15, 0x14, 0x16, 0xFD, 0xB8, 0x76, 0x98, 0x92, 0x71, 0x40, 0x39, 0x1E, 0x80, 0x44, 0x2F, 0x89, 0xCE, 0xA0, 0x71, 0x7F, 0x3, 0x25, 0x5E, 0x42, 0x3D, 0x41, 0x4, 0xA8, 0x92, 0x68, 0x74, 0x8E, 0x22, 0x59, 0x65, 0x16, 0x6F, 0x22, 0xF4, 0xB1, 0x2C, 0x84, 0xA6, 0x74, 0xAE, 0x40, 0x29, 0x51, 0x40, 0x3A, 0x4C, 0x0, 0x2, 0xFC, 0xAA, 0x4, 0xA8, 0xFE, 0xCA, 0x7, 0xC5, 0x0, 0x1A, 0x0, 0x25, 0x0, 0x0, 0x1, 0x22, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x17, 0x26, 0x27, 0x7, 0x27, 0x37, 0x26, 0x27, 0x37, 0x16, 0x17, 0x37, 0x17, 0x7, 0x16, 0x15, 0x15, 0x14, 0x6, 0x27, 0x32, 0x37, 0x35, 0x26, 0x23, 0x22, 0x6, 0x15, 0x14, 0x16, 0xFD, 0xB8, 0x76, 0x98, 0x92, 0x71, 0x40, 0x39, 0x18, 0x35, 0x70, 0x28, 0x5F, 0x2A, 0x32, 0x2F, 0x5C, 0x4D, 0x73, 0x27, 0x67, 0x7B, 0xA0, 0x71, 0x7F, 0x3, 0x25, 0x5E, 0x42, 0x3D, 0x41, 0x4, 0xA8, 0x92, 0x68, 0x74, 0x8E, 0x22, 0x47, 0x34, 0x3F, 0x38, 0x35, 0x1B, 0x10, 0x6F, 0x17, 0x3D, 0x40, 0x37, 0x3A, 0x86, 0xC2, 0x26, 0x84, 0xA6, 0x74, 0xAE, 0x40, 0x29, 0x51, 0x40, 0x3A, 0x4C, 0x0, 0x2, 0xFC, 0xB8, 0x3, 0xDA, 0xFE, 0xC0, 0x6, 0xE6, 0x0, 0x8, 0x0, 0x21, 0x0, 0x0, 0x1, 0x32, 0x37, 0x35, 0x26, 0x23, 0x22, 0x15, 0x14, 0x13, 0x22, 0x26, 0x27, 0x37, 0x16, 0x33, 0x32, 0x37, 0x35, 0x6, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x17, 0x37, 0x33, 0x11, 0x14, 0x6, 0xFD, 0xC1, 0x4E, 0x21, 0x21, 0x4D, 0x7B, 0x6B, 0x3A, 0x7C, 0x25, 0x41, 0x3A, 0x59, 0x80, 0x5, 0x36, 0x59, 0x65, 0x84, 0x83, 0x67, 0x62, 0x36, 0x8, 0x7E, 0xA0, 0x5, 0x1D, 0x38, 0xE7, 0x36, 0xB1, 0xA4, 0xFE, 0xBD, 0x2E, 0x2F, 0x5A, 0x45, 0x6A, 0x2F, 0x3C, 0xA0, 0x83, 0x7E, 0x9C, 0x45, 0x3A, 0xFD, 0xE8, 0x79, 0x70, 0x0, 0x1, 0xFC, 0xAA, 0x4, 0xA7, 0xFE, 0xC5, 0x7, 0x9, 0x0, 0x1A, 0x0, 0x0, 0x1, 0x22, 0x26, 0x35, 0x35, 0x34, 0x36, 0x32, 0x16, 0x17, 0x23, 0x26, 0x23, 0x22, 0x7, 0x15, 0x14, 0x33, 0x32, 0x37, 0x35, 0x23, 0x35, 0x21, 0x15, 0x6, 0x6, 0xFD, 0xBD, 0x77, 0x9C, 0x9A, 0xE8, 0x80, 0x9, 0x88, 0x11, 0x64, 0x7D, 0x1, 0x83, 0x54, 0x25, 0x76, 0x1, 0x5, 0x16, 0x88, 0x4, 0xA7, 0x87, 0x6C, 0x7C, 0x6D, 0x86, 0x66, 0x58, 0x4B, 0x90, 0x61, 0x8B, 0x1C, 0x50, 0x6B, 0xF0, 0x1C, 0x3E, 0x0, 0x1, 0xFC, 0xD2, 0x4, 0xB1, 0xFE, 0xDA, 0x7, 0xCD, 0x0, 0xC, 0x0, 0x0, 0x1, 0x27, 0x7, 0x15, 0x23, 0x11, 0x33, 0x11, 0x37, 0x37, 0x33, 0x7, 0x13, 0xFE, 0x36, 0x9A, 0x3A, 0x90, 0x90, 0x23, 0x92, 0x9F, 0xC1, 0xE5, 0x4, 0xB1, 0xE9, 0x3D, 0xAC, 0x3, 0x1C, 0xFE, 0x35, 0x2C, 0xAB, 0xDE, 0xFE, 0xB6, 0x0, 0x1, 0xFD, 0x71, 0x4, 0xB1, 0xFE, 0x0, 0x7, 0xC8, 0x0, 0x3, 0x0, 0x0, 0x1, 0x33, 0x11, 0x23, 0xFD, 0x71, 0x8F, 0x8F, 0x7, 0xC8, 0xFC, 0xE9, 0x0, 0x1, 0xFD, 0xB, 0x4, 0xB1, 0xFE, 0x9C, 0x7, 0x4, 0x0, 0x5, 0x0, 0x0, 0x1, 0x11, 0x33, 0x11, 0x21, 0x15, 0xFD, 0xB, 0x8F, 0x1, 0x2, 0x4, 0xB1, 0x2, 0x53, 0xFE, 0x21, 0x74, 0x0, 0x1, 0xFC, 0x65, 0x4, 0xB1, 0xFF, 0x9, 0x7, 0x4, 0x0, 0xC, 0x0, 0x0, 0x1, 0x3, 0x11, 0x23, 0x11, 0x33, 0x13, 0x13, 0x33, 0x11, 0x23, 0x11, 0x3, 0xFD, 0x80, 0x8C, 0x8F, 0xB0, 0xA2, 0xA3, 0xAF, 0x8F, 0x8C, 0x4, 0xB1, 0x1, 0x6D, 0xFE, 0x93, 0x2, 0x53, 0xFE, 0x4C, 0x1, 0xB4, 0xFD, 0xAD, 0x1, 0x6C, 0xFE, 0x94, 0xFF, 0xFF, 0xFC, 0xC9, 0x4, 0xB1, 0xFE, 0xA6, 0x6, 0xE3, 0x0, 0xF, 0x2, 0x18, 0xFB, 0x7C, 0xB, 0x8A, 0xC0, 0x0, 0x0, 0x1, 0xFC, 0x97, 0x4, 0xB1, 0xFE, 0xC4, 0x7, 0x4, 0x0, 0x9, 0x0, 0x0, 0x1, 0x1, 0x11, 0x23, 0x11, 0x33, 0x1, 0x11, 0x33, 0x11, 0xFE, 0x35, 0xFE, 0xF1, 0x8F, 0x8F, 0x1, 0xF, 0x8F, 0x4, 0xB1, 0x1, 0x7B, 0xFE, 0x85, 0x2, 0x53, 0xFE, 0x85, 0x1, 0x7B, 0xFD, 0xAD, 0x0, 0x2, 0xFC, 0xBB, 0x4, 0xB1, 0xFE, 0xB5, 0x7, 0x4, 0x0, 0x6, 0x0, 0x1A, 0x0, 0x0, 0x1, 0x15, 0x33, 0x32, 0x35, 0x34, 0x23, 0x3, 0x15, 0x23, 0x11, 0x33, 0x32, 0x16, 0x15, 0x14, 0x7, 0x16, 0x14, 0x17, 0x15, 0x23, 0x26, 0x26, 0x34, 0x26, 0x23, 0xFD, 0x4A, 0x6F, 0x56, 0x56, 0x6F, 0x8F, 0xFE, 0x6C, 0x79, 0x58, 0x5C, 0x13, 0x93, 0xB, 0x5, 0x32, 0x30, 0x6, 0x91, 0x99, 0x52, 0x47, 0xFE, 0xF3, 0xD3, 0x2, 0x53, 0x5E, 0x53, 0x5D, 0x2E, 0x20, 0xD6, 0x18, 0x9, 0xD, 0x3D, 0x6D, 0x1C, 0x0, 0x1, 0xFD, 0x1, 0x4, 0xB1, 0xFE, 0x91, 0x6, 0xDF, 0x0, 0x12, 0x0, 0x0, 0x1, 0x23, 0x27, 0x36, 0x36, 0x35, 0x34, 0x23, 0x22, 0x7, 0x27, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x7, 0x17, 0xFE, 0x91, 0x96, 0x8D, 0x46, 0x44, 0x44, 0x2E, 0x43, 0x42, 0x5E, 0x64, 0x52, 0x72, 0x70, 0x7A, 0x4, 0xB1, 0xEE, 0x21, 0x3B, 0x2C, 0x44, 0x25, 0x56, 0x43, 0x5F, 0x53, 0x62, 0x47, 0xCD, 0x0, 0x1, 0xFC, 0xC3, 0x4, 0xA7, 0xFE, 0x9E, 0x6, 0xE3, 0x0, 0x1F, 0x0, 0x0, 0x1, 0x34, 0x2E, 0x2, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x23, 0x26, 0x23, 0x22, 0x15, 0x14, 0x16, 0x16, 0x15, 0x14, 0x6, 0x23, 0x22, 0x26, 0x35, 0x33, 0x16, 0x16, 0x33, 0x32, 0xFE, 0x11, 0x2D, 0xA0, 0x6F, 0x79, 0x62, 0x67, 0x84, 0x89, 0xA, 0x58, 0x4E, 0xCA, 0x72, 0x86, 0x62, 0x74, 0x7F, 0x85, 0x2, 0x46, 0x2A, 0x57, 0x5, 0x49, 0x18, 0x21, 0x26, 0x4D, 0x48, 0x4A, 0x5C, 0x65, 0x4A, 0x46, 0x39, 0x2D, 0x2E, 0x4B, 0x4D, 0x4F, 0x58, 0x74, 0x44, 0x2D, 0x22, 0x0, 0x1, 0xFD, 0x6B, 0x4, 0xB1, 0xFE, 0x81, 0x7, 0xD8, 0x0, 0xC, 0x0, 0x0, 0x1, 0x23, 0x11, 0x34, 0x36, 0x33, 0x32, 0x17, 0x7, 0x26, 0x23, 0x22, 0x15, 0xFD, 0xFB, 0x90, 0x74, 0x56, 0x22, 0x2A, 0x8, 0x14, 0x1A, 0x50, 0x4, 0xB1, 0x2, 0x60, 0x63, 0x64, 0xB, 0x6F, 0x6, 0x53, 0x0, 0x1, 0xFC, 0xD8, 0x4, 0xB1, 0xFE, 0x98, 0x6, 0xD9, 0x0, 0x9, 0x0, 0x0, 0x1, 0x35, 0x1, 0x21, 0x35, 0x21, 0x15, 0x1, 0x21, 0x15, 0xFC, 0xD8, 0x1, 0x9, 0xFE, 0xFD, 0x1, 0xAF, 0xFE, 0xFB, 0x1, 0x10, 0x4, 0xB1, 0x63, 0x1, 0x51, 0x74, 0x5E, 0xFE, 0xAB, 0x75, 0x0, 0x2, 0xFC, 0x9B, 0x4, 0xA7, 0xFE, 0xD6, 0x6, 0xE4, 0x0, 0x14, 0x0, 0x1D, 0x0, 0x0, 0x1, 0x22, 0x27, 0x6, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x17, 0x37, 0x33, 0x11, 0x14, 0x33, 0x37, 0x17, 0x6, 0x25, 0x32, 0x37, 0x35, 0x26, 0x23, 0x22, 0x15, 0x14, 0xFE, 0x88, 0x57, 0x1B, 0x35, 0x62, 0x6A, 0x7A, 0x79, 0x6C, 0x5C, 0x35, 0x9, 0x7E, 0x26, 0xD, 0xB, 0x19, 0xFE, 0xE1, 0x49, 0x22, 0x23, 0x47, 0x75, 0x4, 0xA7, 0x53, 0x53, 0x97, 0x80, 0x81, 0xA5, 0x4D, 0x43, 0xFE, 0x7D, 0x3E, 0x1, 0x64, 0xF, 0x74, 0x3C, 0xD9, 0x40, 0xBD, 0x98, 0x0, 0x2, 0xFC, 0xBA, 0x4, 0xA4, 0xFE, 0xB7, 0x7, 0xC8, 0x0, 0xE, 0x0, 0x18, 0x0, 0x0, 0x1, 0x22, 0x27, 0x7, 0x23, 0x11, 0x33, 0x11, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x6, 0x27, 0x32, 0x35, 0x34, 0x26, 0x23, 0x22, 0x7, 0x15, 0x16, 0xFD, 0xD8, 0x62, 0x37, 0x9, 0x7C, 0x8F, 0x35, 0x59, 0x6A, 0x76, 0x77, 0x88, 0x70, 0x37, 0x3A, 0x4E, 0x20, 0x20, 0x4, 0xA4, 0x43, 0x36, 0x3, 0x17, 0xFE, 0xE1, 0x36, 0x9A, 0x89, 0x79, 0x9F, 0x75, 0xAE, 0x4A, 0x5C, 0x47, 0xC5, 0x48, 0x0, 0x2, 0xFC, 0xAD, 0x3, 0xE8, 0xFE, 0xC4, 0x7, 0xA2, 0x0, 0x10, 0x0, 0x22, 0x0, 0x0, 0x1, 0x32, 0x35, 0x34, 0x27, 0x23, 0x35, 0x33, 0x36, 0x35, 0x34, 0x23, 0x22, 0x6, 0x15, 0x11, 0x16, 0x17, 0x22, 0x27, 0x15, 0x23, 0x11, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x7, 0x16, 0x15, 0x14, 0x6, 0xFD, 0xB9, 0x7C, 0x74, 0x3A, 0x28, 0x66, 0x68, 0x2C, 0x45, 0x2F, 0x64, 0x55, 0x3E, 0x8F, 0xA0, 0x62, 0x68, 0x85, 0x60, 0x88, 0x85, 0x5, 0x16, 0x72, 0x7B, 0x1, 0x69, 0x1, 0x67, 0x5D, 0x36, 0x43, 0xFE, 0x88, 0x2B, 0x6F, 0x28, 0xE7, 0x2, 0xD0, 0x7A, 0x70, 0x66, 0x5C, 0x6D, 0x32, 0x2E, 0x8B, 0x6C, 0x75, 0x0, 0x2, 0xFC, 0xBF, 0x4, 0xA3, 0xFE, 0xB2, 0x6, 0xDF, 0x0, 0x13, 0x0, 0x19, 0x0, 0x0, 0x1, 0x22, 0x26, 0x35, 0x35, 0x21, 0x26, 0x23, 0x22, 0x7, 0x27, 0x36, 0x36, 0x33, 0x32, 0x16, 0x15, 0x15, 0x14, 0x6, 0x27, 0x32, 0x37, 0x23, 0x15, 0x16, 0xFD, 0xB2, 0x79, 0x7A, 0x1, 0x62, 0xB, 0x7A, 0x5B, 0x2E, 0x48, 0x1B, 0x6B, 0x53, 0x80, 0x8E, 0x90, 0x70, 0x5E, 0xF, 0xD8, 0x5, 0x4, 0xA3, 0x99, 0x77, 0x37, 0x80, 0x3E, 0x4B, 0x27, 0x41, 0x99, 0x72, 0x15, 0x85, 0x97, 0x74, 0x76, 0x9, 0x6D, 0x0, 0x1, 0xFD, 0xD, 0x4, 0xB1, 0xFE, 0x81, 0x7, 0xD8, 0x0, 0x14, 0x0, 0x0, 0x1, 0x23, 0x11, 0x23, 0x11, 0x23, 0x35, 0x33, 0x35, 0x34, 0x36, 0x33, 0x32, 0x17, 0x7, 0x26, 0x23, 0x22, 0x7, 0x15, 0x33, 0xFE, 0x58, 0x5D, 0x90, 0x5E, 0x5E, 0x74, 0x56, 0x22, 0x2A, 0x8, 0x14, 0x1A, 0x4F, 0x1, 0x5D, 0x6, 0x70, 0xFE, 0x41, 0x1, 0xBF, 0x6F, 0x32, 0x63, 0x64, 0xB, 0x6F, 0x6, 0x51, 0x34, 0x0, 0x1, 0xFC, 0xFB, 0x4, 0xB1, 0xFE, 0x72, 0x7, 0xC8, 0x0, 0x23, 0x0, 0x0, 0x1, 0x11, 0x23, 0x11, 0x23, 0x22, 0x15, 0x27, 0x34, 0x36, 0x33, 0x17, 0x35, 0x23, 0x22, 0x15, 0x27, 0x34, 0x36, 0x33, 0x17, 0x35, 0x33, 0x11, 0x32, 0x35, 0x17, 0x14, 0x6, 0x23, 0x15, 0x32, 0x35, 0x17, 0x14, 0x6, 0xFE, 0x0, 0x8F, 0x4, 0x2F, 0x43, 0x3C, 0x2F, 0xB, 0x4, 0x2F, 0x43, 0x3C, 0x2F, 0xB, 0x8F, 0x2F, 0x43, 0x3D, 0x35, 0x2F, 0x43, 0x3D, 0x5, 0xB4, 0xFE, 0xFD, 0x1, 0x30, 0x38, 0x12, 0x2F, 0x48, 0x1, 0x4A, 0x38, 0x12, 0x2F, 0x48, 0x1, 0xFD, 0xFE, 0xD6, 0x38, 0x14, 0x2F, 0x46, 0x49, 0x39, 0x14, 0x2F, 0x46, 0x0, 0x2, 0xFC, 0x75, 0x3, 0xED, 0xFE, 0xC1, 0x6, 0xDF, 0x0, 0x8, 0x0, 0x18, 0x0, 0x0, 0x1, 0x32, 0x36, 0x35, 0x34, 0x23, 0x22, 0x15, 0x14, 0x17, 0x22, 0x27, 0x7, 0x27, 0x37, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x6, 0xFD, 0xBA, 0x40, 0x37, 0x78, 0x77, 0x78, 0x30, 0x2A, 0x7A, 0x71, 0x7E, 0x40, 0x8E, 0x78, 0x7A, 0x8E, 0x8E, 0x5, 0x17, 0x59, 0x56, 0xA5, 0xB0, 0xA4, 0x74, 0xD, 0xC3, 0x41, 0xCA, 0x4C, 0x82, 0x7D, 0x9C, 0x9C, 0x88, 0x7C, 0x9C, 0xFF, 0xFF, 0xFC, 0xB9, 0x3, 0xBE, 0xFE, 0xB7, 0x6, 0xE2, 0x0, 0xF, 0x2, 0x1A, 0xFB, 0x77, 0xB, 0x86, 0xC0, 0x0, 0x0, 0x1, 0xFC, 0xE5, 0x3, 0xBC, 0xFE, 0x82, 0x7, 0xD8, 0x0, 0x15, 0x0, 0x0, 0x1, 0x22, 0x27, 0x37, 0x16, 0x33, 0x32, 0x35, 0x11, 0x34, 0x36, 0x33, 0x32, 0x17, 0x7, 0x26, 0x23, 0x22, 0x15, 0x11, 0x14, 0x6, 0xFD, 0x31, 0x18, 0x34, 0x9, 0xF, 0x1E, 0x51, 0x74, 0x57, 0x21, 0x2A, 0x8, 0x14, 0x19, 0x51, 0x74, 0x3, 0xBC, 0xB, 0x6E, 0x5, 0x53, 0x2, 0x8E, 0x63, 0x64, 0xB, 0x6F, 0x6, 0x53, 0xFD, 0x72, 0x63, 0x64, 0x0, 0x1, 0xFC, 0x6E, 0x3, 0xED, 0xFE, 0xA6, 0x6, 0xD9, 0x0, 0x13, 0x0, 0x0, 0x1, 0x27, 0x7, 0x27, 0x37, 0x26, 0x35, 0x11, 0x33, 0x11, 0x14, 0x33, 0x32, 0x37, 0x11, 0x33, 0x11, 0x23, 0x27, 0x6, 0xFD, 0x86, 0x30, 0x77, 0x71, 0x7D, 0x22, 0x90, 0x56, 0x4B, 0x1C, 0x90, 0x72, 0xF, 0x37, 0x4, 0xA7, 0x4, 0xBE, 0x41, 0xC7, 0x39, 0x61, 0x1, 0x4A, 0xFE, 0xB5, 0x73, 0x38, 0x1, 0x86, 0xFD, 0xD8, 0x3F, 0x49, 0x0, 0x1, 0xFC, 0x40, 0x4, 0xB1, 0xFF, 0x31, 0x6, 0xD9, 0x0, 0xF, 0x0, 0x0, 0x1, 0x3, 0x33, 0x13, 0x13, 0x33, 0x13, 0x35, 0x13, 0x33, 0x3, 0x23, 0x3, 0x27, 0x7, 0x3, 0xFC, 0xD3, 0x93, 0x8D, 0x4B, 0x65, 0x77, 0x67, 0x49, 0x8D, 0x93, 0x73, 0x66, 0xD, 0xC, 0x66, 0x4, 0xB1, 0x2, 0x28, 0xFE, 0x9E, 0x1, 0x62, 0xFE, 0x97, 0x3, 0x1, 0x66, 0xFD, 0xD8, 0x1, 0x4E, 0x2F, 0x2E, 0xFE, 0xB1, 0x0, 0x4, 0xFC, 0xD0, 0x4, 0xA8, 0xFE, 0xC1, 0x7, 0xAD, 0x0, 0x5, 0x0, 0xB, 0x0, 0x15, 0x0, 0x2F, 0x0, 0x0, 0x0, 0x33, 0x32, 0x14, 0x23, 0x22, 0x26, 0x33, 0x32, 0x14, 0x23, 0x22, 0x13, 0x32, 0x36, 0x37, 0x35, 0x23, 0x22, 0x6, 0x15, 0x14, 0x17, 0x26, 0x27, 0x6, 0x23, 0x22, 0x26, 0x35, 0x34, 0x37, 0x33, 0x35, 0x34, 0x23, 0x22, 0x15, 0x27, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x15, 0x14, 0x17, 0xFD, 0xF4, 0x52, 0x51, 0x51, 0x52, 0xFE, 0x52, 0x51, 0x51, 0x52, 0xB6, 0x25, 0x41, 0xC, 0x53, 0x37, 0x35, 0xD3, 0xA, 0x6, 0x38, 0x63, 0x54, 0x63, 0xEF, 0x5F, 0x50, 0x58, 0x8A, 0x7D, 0x68, 0x60, 0x7C, 0x14, 0x7, 0xAD, 0x98, 0x98, 0x98, 0xFE, 0x1, 0x26, 0x16, 0x50, 0x30, 0x20, 0x3C, 0x64, 0x1B, 0x22, 0x47, 0x5A, 0x4B, 0xA8, 0x4, 0x22, 0x55, 0x42, 0x6, 0x4A, 0x62, 0x63, 0x63, 0xE3, 0x4C, 0x39, 0x0, 0x4, 0xFC, 0xB1, 0x4, 0xA3, 0xFE, 0xBF, 0x7, 0xAD, 0x0, 0x5, 0x0, 0xB, 0x0, 0x16, 0x0, 0x1F, 0x0, 0x0, 0x0, 0x33, 0x32, 0x14, 0x23, 0x22, 0x26, 0x33, 0x32, 0x14, 0x23, 0x22, 0x13, 0x22, 0x26, 0x35, 0x34, 0x36, 0x32, 0x16, 0x15, 0x14, 0x6, 0x27, 0x32, 0x36, 0x35, 0x34, 0x23, 0x22, 0x15, 0x14, 0xFD, 0xE6, 0x51, 0x52, 0x52, 0x51, 0xFE, 0x51, 0x52, 0x52, 0x51, 0xD1, 0x7A, 0x8E, 0x8E, 0xF2, 0x8E, 0x8D, 0x79, 0x40, 0x37, 0x78, 0x77, 0x7, 0xAD, 0x98, 0x98, 0x98, 0xFD, 0x8E, 0x9C, 0x87, 0x7D, 0x9C, 0x9B, 0x89, 0x7C, 0x9C, 0x74, 0x59, 0x56, 0xA5, 0xB0, 0xA4, 0x0, 0x3, 0xFC, 0xC9, 0x4, 0xA7, 0xFE, 0xA6, 0x7, 0xAD, 0x0, 0x3, 0x0, 0x7, 0x0, 0x18, 0x0, 0x0, 0x0, 0x32, 0x14, 0x22, 0x26, 0x32, 0x14, 0x22, 0x1, 0x27, 0x6, 0x23, 0x22, 0x26, 0x35, 0x11, 0x33, 0x11, 0x14, 0x33, 0x32, 0x37, 0x11, 0x33, 0x11, 0xFD, 0xE4, 0xA2, 0xA2, 0xFE, 0xA2, 0xA2, 0x1, 0x4E, 0xF, 0x37, 0x68, 0x56, 0x67, 0x90, 0x56, 0x4B, 0x1C, 0x90, 0x7, 0xAD, 0x98, 0x98, 0x98, 0xFD, 0x9C, 0x3F, 0x49, 0x6C, 0x7C, 0x1, 0x4A, 0xFE, 0xB5, 0x73, 0x38, 0x1, 0x86, 0xFD, 0xD8, 0xFF, 0xFF, 0xFC, 0xDB, 0x4, 0x96, 0xFE, 0x93, 0x6, 0xB, 0x0, 0x7, 0x1, 0x85, 0xFC, 0x8B, 0x3, 0xF3, 0x0, 0x1, 0xFD, 0x23, 0xFE, 0x5A, 0x2, 0xBA, 0xFF, 0xA0, 0x0, 0xC, 0x0, 0x0, 0x1, 0x23, 0x26, 0x24, 0x23, 0x22, 0x4, 0x7, 0x23, 0x36, 0x24, 0x20, 0x4, 0x2, 0xBA, 0xB6, 0x37, 0xFE, 0xEF, 0xCD, 0xCE, 0xFE, 0xF2, 0x3A, 0xB6, 0x4A, 0x1, 0x62, 0x2, 0x40, 0x1, 0x61, 0xFE, 0x5A, 0x37, 0x80, 0x80, 0x37, 0x7C, 0xCA, 0xCA, 0x0, 0x2, 0xFC, 0x55, 0xFE, 0x2, 0xFF, 0x32, 0xFF, 0xC4, 0x0, 0x13, 0x0, 0x28, 0x0, 0x0, 0x5, 0x17, 0x14, 0x6, 0x23, 0x22, 0x26, 0x26, 0x23, 0x22, 0x15, 0x27, 0x34, 0x36, 0x33, 0x32, 0x16, 0x33, 0x32, 0x36, 0x15, 0x17, 0x14, 0x6, 0x23, 0x22, 0x26, 0x26, 0x23, 0x22, 0x6, 0x15, 0x27, 0x34, 0x36, 0x33, 0x32, 0x16, 0x33, 0x32, 0x36, 0xFE, 0x9D, 0x95, 0x80, 0x60, 0x42, 0x4F, 0x48, 0x34, 0x5B, 0x95, 0x7F, 0x5F, 0x52, 0x6F, 0x4D, 0x26, 0x36, 0x95, 0x80, 0x60, 0x42, 0x4F, 0x48, 0x34, 0x27, 0x34, 0x95, 0x7F, 0x5F, 0x52, 0x6F, 0x4D, 0x26, 0x36, 0x3C, 0xA, 0x57, 0x73, 0x23, 0x23, 0x51, 0x8, 0x55, 0x77, 0x46, 0x2C, 0xBE, 0xA, 0x58, 0x72, 0x23, 0x23, 0x2D, 0x24, 0x7, 0x55, 0x77, 0x45, 0x2C, 0xFF, 0xFF, 0xFC, 0x46, 0x4, 0x9C, 0xFF, 0x2C, 0x7, 0x82, 0x0, 0x7, 0x1, 0x73, 0xFC, 0x9, 0x2, 0x4D, 0x0, 0x2, 0xFA, 0xEF, 0xFD, 0xDD, 0x0, 0xA2, 0xFF, 0xBC, 0x0, 0x6, 0x0, 0xF, 0x0, 0x0, 0x1, 0x35, 0x25, 0x25, 0x35, 0x5, 0x15, 0x5, 0x1, 0x33, 0x13, 0x17, 0x37, 0x13, 0x33, 0x1, 0xFA, 0xEF, 0x1, 0xBE, 0xFE, 0x42, 0x2, 0xE7, 0x1, 0x8, 0xFE, 0xDF, 0xB2, 0xA3, 0x1D, 0x1B, 0xA7, 0xB1, 0xFE, 0xE0, 0xFD, 0xE3, 0x84, 0x68, 0x6A, 0x83, 0xB8, 0x68, 0xBF, 0x1, 0xDA, 0xFE, 0xE2, 0x41, 0x41, 0x1, 0x1E, 0xFE, 0x26, 0xFF, 0xFF, 0x0, 0x95, 0xFE, 0x40, 0x5, 0x19, 0x5, 0xB0, 0x0, 0x26, 0x0, 0x2D, 0x0, 0x0, 0x0, 0x6, 0x0, 0x7A, 0x30, 0x0, 0xFF, 0xFF, 0x0, 0x7A, 0xFE, 0x40, 0x3, 0xF9, 0x6, 0x0, 0x0, 0x26, 0x0, 0x4D, 0x0, 0x0, 0x0, 0x6, 0x0, 0x7A, 0xE, 0x0, 0xFF, 0xFF, 0x0, 0xA, 0xFE, 0x7F, 0x2, 0xE8, 0x5, 0xB0, 0x0, 0x26, 0x0, 0x2E, 0x5E, 0x0, 0x0, 0x7, 0x1, 0x8D, 0xFF, 0x90, 0xF9, 0xA4, 0xFF, 0xFF, 0x0, 0x6, 0xFE, 0x83, 0x2, 0xE4, 0x5, 0xD5, 0x0, 0x26, 0x0, 0x4E, 0x76, 0x0, 0x0, 0x7, 0x1, 0x8D, 0xFF, 0x8C, 0xF9, 0xA8, 0xFF, 0xFF, 0x0, 0x14, 0x0, 0x0, 0x2, 0xD2, 0x7, 0xBE, 0x0, 0x26, 0x0, 0x2E, 0x52, 0x0, 0x0, 0x7, 0x7, 0xB5, 0x3, 0xBA, 0x1, 0x59, 0xFF, 0xFF, 0x0, 0xE, 0x0, 0x0, 0x2, 0xD4, 0x7, 0x26, 0x0, 0x26, 0x0, 0x8E, 0x63, 0x0, 0x0, 0x7, 0x8, 0xBB, 0x3, 0xB7, 0xFF, 0xF9, 0x0, 0x2, 0x0, 0xD2, 0x0, 0x0, 0x2, 0xD7, 0x7, 0x86, 0x0, 0x9, 0x0, 0x16, 0x0, 0x0, 0x1, 0x34, 0x36, 0x32, 0x16, 0x15, 0x14, 0x6, 0x22, 0x26, 0x13, 0x23, 0x11, 0x34, 0x36, 0x33, 0x32, 0x17, 0x7, 0x26, 0x23, 0x22, 0x15, 0x1, 0x92, 0x45, 0x7C, 0x45, 0x45, 0x7C, 0x45, 0x34, 0xF4, 0xCC, 0xB0, 0x43, 0x46, 0x6, 0x2A, 0x34, 0xAD, 0x7, 0xA, 0x35, 0x47, 0x47, 0x35, 0x34, 0x46, 0x46, 0xF9, 0x2A, 0x4, 0xA1, 0xB5, 0xBF, 0x12, 0xBE, 0x8, 0xAC, 0x0, 0x1, 0x0, 0x41, 0x0, 0x0, 0x2, 0xD7, 0x6, 0x15, 0x0, 0x14, 0x0, 0x0, 0x1, 0x7, 0x11, 0x23, 0x11, 0x7, 0x35, 0x37, 0x11, 0x34, 0x36, 0x33, 0x32, 0x17, 0x7, 0x26, 0x23, 0x22, 0x7, 0x11, 0x37, 0x2, 0x63, 0x9D, 0xF4, 0x91, 0x91, 0xCC, 0xB0, 0x43, 0x46, 0x6, 0x2A, 0x34, 0xAC, 0x1, 0x9D, 0x2, 0xD0, 0x37, 0xFD, 0x67, 0x2, 0x42, 0x33, 0xB7, 0x34, 0x1, 0xA7, 0xB5, 0xBF, 0x12, 0xBE, 0x8, 0xAA, 0xFE, 0xAD, 0x38, 0x0, 0x1, 0x0, 0x2D, 0x0, 0x0, 0x2, 0xD7, 0x6, 0x15, 0x0, 0x12, 0x0, 0x0, 0x1, 0x23, 0x11, 0x23, 0x11, 0x23, 0x35, 0x33, 0x36, 0x36, 0x33, 0x32, 0x17, 0x7, 0x26, 0x23, 0x22, 0x7, 0x33, 0x2, 0xA1, 0xDB, 0xF4, 0xA5, 0xA7, 0x10, 0xC7, 0xA3, 0x43, 0x46, 0x6, 0x2A, 0x34, 0x8C, 0x1B, 0xD5, 0x4, 0x31, 0xFB, 0xCF, 0x4, 0x31, 0xA5, 0x9B, 0xA4, 0x12, 0xBE, 0x8, 0x77, 0x0, 0x1, 0x0, 0x74, 0xFF, 0xEB, 0x4, 0xF3, 0x5, 0xC4, 0x0, 0x24, 0x0, 0x0, 0x5, 0x22, 0x27, 0x37, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x23, 0x35, 0x1, 0x26, 0x26, 0x23, 0x22, 0x6, 0x15, 0x11, 0x23, 0x11, 0x31, 0x12, 0x12, 0x33, 0x32, 0x4, 0x17, 0x1, 0x16, 0x16, 0x15, 0x14, 0x4, 0x3, 0x2, 0x9F, 0x93, 0x45, 0x6E, 0x6F, 0x80, 0x8E, 0x9A, 0x93, 0x8E, 0x1, 0x1C, 0x31, 0x7F, 0x5E, 0x87, 0x66, 0xF2, 0x1, 0xEF, 0xEF, 0xAD, 0x1, 0xE, 0x78, 0xFE, 0xBB, 0xCF, 0xE3, 0xFE, 0xE3, 0x15, 0x36, 0xBE, 0x31, 0x84, 0x69, 0x91, 0x7B, 0xAB, 0x1, 0x53, 0x25, 0x37, 0xB4, 0x91, 0xFC, 0x44, 0x3, 0xBE, 0x1, 0x2, 0x1, 0x4, 0x85, 0x65, 0xFE, 0x77, 0x14, 0xDE, 0xC2, 0xD3, 0xDF, 0xFF, 0xFF, 0x0, 0x54, 0xFF, 0xEC, 0x4, 0x39, 0x6, 0x21, 0x0, 0x6, 0x2, 0x3D, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x95, 0x0, 0x0, 0x5, 0xEF, 0x5, 0xB0, 0x0, 0x26, 0x0, 0x31, 0x0, 0x0, 0x0, 0x7, 0x0, 0x31, 0x1, 0xC8, 0x0, 0x0, 0x0, 0x1, 0x0, 0x1B, 0x0, 0x0, 0x4, 0x50, 0x6, 0x0, 0x0, 0x13, 0x0, 0x0, 0x21, 0x11, 0x23, 0x11, 0x23, 0x11, 0x23, 0x35, 0x33, 0x35, 0x33, 0x15, 0x33, 0x35, 0x33, 0x15, 0x33, 0x15, 0x23, 0x11, 0x2, 0x87, 0xA6, 0xF3, 0xD3, 0xD3, 0xF3, 0xA6, 0xF3, 0xD6, 0xD6, 0x4, 0x9A, 0xFB, 0x66, 0x4, 0x9A, 0xAA, 0xBC, 0xBC, 0xBC, 0xBC, 0xAA, 0xFB, 0x66, 0x0, 0x1, 0x0, 0x66, 0xFF, 0xEC, 0x4, 0x32, 0x5, 0xB7, 0x0, 0x1B, 0x0, 0x0, 0x1, 0x37, 0x16, 0x12, 0x15, 0x14, 0x6, 0x23, 0x22, 0x0, 0x11, 0x35, 0x10, 0x0, 0x25, 0x17, 0x6, 0x2, 0x11, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x2, 0x54, 0x57, 0xAA, 0xDD, 0xF9, 0xE3, 0xDF, 0xFE, 0xEF, 0x1, 0x3B, 0x1, 0x69, 0x20, 0xE2, 0xE8, 0x90, 0x63, 0x6E, 0x7D, 0x8B, 0x3, 0x14, 0xB9, 0x34, 0xFE, 0xEB, 0xBC, 0xDD, 0xFF, 0x1, 0x44, 0x1, 0x6, 0x2C, 0x1, 0x4D, 0x1, 0xD0, 0x38, 0xC8, 0x2B, 0xFE, 0xD4, 0xFE, 0xF3, 0x79, 0xAD, 0xB1, 0x87, 0x7C, 0x92, 0xA7, 0x0, 0x1, 0x0, 0x4E, 0xFF, 0xEC, 0x4, 0x10, 0x6, 0x1F, 0x0, 0x1B, 0x0, 0x0, 0x1, 0x37, 0x16, 0x12, 0x15, 0x14, 0x6, 0x23, 0x22, 0x0, 0x11, 0x35, 0x10, 0x0, 0x25, 0x17, 0x6, 0x0, 0x11, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x2, 0x36, 0x57, 0xA8, 0xDB, 0xF7, 0xE1, 0xDC, 0xFE, 0xF2, 0x1, 0x4A, 0x1, 0x34, 0x52, 0xCF, 0xFE, 0xF3, 0x90, 0x63, 0x6E, 0x7D, 0x8B, 0x3, 0x14, 0xB9, 0x34, 0xFE, 0xEB, 0xBC, 0xDD, 0xFF, 0x1, 0x43, 0x1, 0x6, 0x2D, 0x1, 0x4D, 0x1, 0xED, 0x83, 0xB5, 0x62, 0xFE, 0x86, 0xFE, 0xD2, 0x4E, 0xAF, 0xB3, 0x8A, 0x7D, 0x92, 0xA7, 0x0, 0x2, 0x0, 0x1C, 0xFF, 0xEB, 0x5, 0x46, 0x5, 0xB0, 0x0, 0xF, 0x0, 0x1B, 0x0, 0x0, 0x5, 0x22, 0x26, 0x10, 0x36, 0x33, 0x32, 0x17, 0x1, 0x21, 0x1, 0x1, 0x21, 0x1, 0x6, 0x6, 0x27, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x14, 0x16, 0x1, 0x8D, 0x99, 0xD8, 0xD8, 0x99, 0x44, 0x3E, 0xFE, 0x72, 0x1, 0x11, 0x1, 0x5B, 0x1, 0x49, 0x1, 0x10, 0xFD, 0xA4, 0x27, 0xBE, 0x77, 0x3E, 0x56, 0x56, 0x3E, 0x3F, 0x58, 0x58, 0x15, 0xD8, 0x1, 0x32, 0xD9, 0x17, 0x2, 0xF9, 0xFD, 0x34, 0x2, 0xCC, 0xFB, 0x30, 0x6B, 0x8A, 0xD6, 0x4F, 0x4D, 0x4E, 0x51, 0x51, 0x4E, 0x4D, 0x4F, 0x0, 0x2, 0x0, 0x1B, 0xFE, 0x4B, 0x4, 0x99, 0x4, 0x3A, 0x0, 0x11, 0x0, 0x1D, 0x0, 0x0, 0x1, 0x22, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x17, 0x1, 0x21, 0x13, 0x17, 0x13, 0x21, 0x1, 0x6, 0x6, 0x27, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x14, 0x16, 0x1, 0x89, 0x97, 0xD7, 0xD8, 0x99, 0x2E, 0x2D, 0xFE, 0xE8, 0x1, 0xA, 0xCB, 0xC, 0xE0, 0x1, 0x9, 0xFE, 0x61, 0x33, 0xB0, 0x8A, 0x3E, 0x56, 0x56, 0x3E, 0x40, 0x57, 0x57, 0xFE, 0x4B, 0xD8, 0x99, 0x98, 0xDA, 0xC, 0x3, 0x18, 0xFD, 0x63, 0x36, 0x2, 0xD3, 0xFB, 0x3B, 0x96, 0x94, 0xD6, 0x4F, 0x4D, 0x4E, 0x50, 0x50, 0x4E, 0x4D, 0x4F, 0x0, 0x1, 0x0, 0x5B, 0x4, 0x6F, 0x1, 0x5B, 0x5, 0xD8, 0x0, 0x7, 0x0, 0x0, 0x1, 0x15, 0x6, 0x7, 0x27, 0x36, 0x35, 0x35, 0x1, 0x5B, 0x2, 0xAE, 0x50, 0x4F, 0x5, 0xD8, 0x5D, 0xB3, 0x59, 0x49, 0x4B, 0x82, 0x53, 0x0, 0x1, 0x0, 0x73, 0xFD, 0xF2, 0x1, 0x75, 0xFF, 0x9C, 0x0, 0xB, 0x0, 0x0, 0x17, 0x33, 0x15, 0x14, 0x33, 0x37, 0x15, 0x6, 0x23, 0x22, 0x26, 0x35, 0x73, 0xA4, 0x33, 0x2B, 0x24, 0x2E, 0x4C, 0x64, 0x64, 0xEC, 0x48, 0x4, 0x6E, 0xC, 0x57, 0x63, 0x0, 0x1, 0x0, 0x5B, 0x4, 0x6F, 0x1, 0x5B, 0x5, 0xD8, 0x0, 0x7, 0x0, 0x0, 0x1, 0x15, 0x6, 0x7, 0x27, 0x36, 0x35, 0x35, 0x1, 0x5B, 0x2, 0xAE, 0x50, 0x4F, 0x5, 0xD8, 0x5D, 0xB3, 0x59, 0x49, 0x4B, 0x82, 0x53, 0x0, 0x1, 0x0, 0x4B, 0x4, 0xDB, 0x3, 0x29, 0x5, 0xF5, 0x0, 0x14, 0x0, 0x0, 0x1, 0x17, 0x14, 0x6, 0x23, 0x22, 0x26, 0x26, 0x23, 0x22, 0x6, 0x15, 0x27, 0x34, 0x36, 0x33, 0x32, 0x16, 0x33, 0x32, 0x36, 0x2, 0x94, 0x95, 0x81, 0x5F, 0x40, 0x51, 0x47, 0x36, 0x26, 0x34, 0x96, 0x7F, 0x60, 0x52, 0x6F, 0x4D, 0x26, 0x36, 0x5, 0xF5, 0xC, 0x6F, 0x91, 0x2D, 0x2C, 0x39, 0x2E, 0x8, 0x6E, 0x96, 0x59, 0x39, 0x0, 0x3, 0x0, 0x6F, 0x4, 0xC7, 0x3, 0x48, 0x6, 0xC7, 0x0, 0x13, 0x0, 0x1F, 0x0, 0x2B, 0x0, 0x0, 0x1, 0x17, 0x14, 0x6, 0x23, 0x22, 0x26, 0x23, 0x22, 0x6, 0x15, 0x27, 0x34, 0x36, 0x33, 0x32, 0x16, 0x33, 0x32, 0x36, 0x1, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x6, 0x23, 0x22, 0x26, 0x25, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x6, 0x23, 0x22, 0x26, 0x2, 0x8B, 0x67, 0x5D, 0x49, 0x50, 0x52, 0x41, 0x1F, 0x2A, 0x68, 0x5C, 0x49, 0x42, 0x63, 0x3F, 0x1E, 0x2C, 0xFD, 0xE4, 0x44, 0x3D, 0x3E, 0x45, 0x45, 0x3E, 0x3D, 0x44, 0x1, 0xD5, 0x44, 0x3D, 0x3E, 0x45, 0x45, 0x3E, 0x3D, 0x44, 0x6, 0xC7, 0x1E, 0x49, 0x6D, 0x47, 0x32, 0x25, 0x1C, 0x47, 0x71, 0x47, 0x32, 0xFE, 0x9C, 0x32, 0x44, 0x44, 0x32, 0x31, 0x45, 0x45, 0x2F, 0x32, 0x45, 0x45, 0x32, 0x31, 0x44, 0x44, 0x0, 0x2, 0x0, 0x5B, 0x4, 0x6F, 0x2, 0xC9, 0x5, 0xD8, 0x0, 0x7, 0x0, 0xD, 0x0, 0x0, 0x1, 0x15, 0x6, 0x7, 0x27, 0x36, 0x35, 0x35, 0x1, 0x15, 0x23, 0x3, 0x35, 0x33, 0x1, 0x5B, 0x2, 0xAE, 0x50, 0x4F, 0x2, 0x1F, 0x5D, 0xE6, 0xD3, 0x5, 0xD8, 0x5D, 0xB3, 0x59, 0x49, 0x4B, 0x82, 0x53, 0xFE, 0xC0, 0x14, 0x1, 0x3F, 0x15, 0x0, 0x2, 0x0, 0x5B, 0x4, 0x6F, 0x2, 0xB5, 0x5, 0xD8, 0x0, 0x7, 0x0, 0xD, 0x0, 0x0, 0x1, 0x15, 0x6, 0x7, 0x27, 0x36, 0x35, 0x35, 0x13, 0x35, 0x13, 0x33, 0x15, 0x3, 0x1, 0x5B, 0x2, 0xAE, 0x50, 0x4F, 0xC9, 0x6F, 0xD3, 0xE6, 0x5, 0xD8, 0x5D, 0xB3, 0x59, 0x49, 0x4B, 0x82, 0x53, 0xFE, 0xAC, 0x14, 0x1, 0x40, 0x15, 0xFE, 0xC1, 0x0, 0x2, 0x0, 0x6F, 0x4, 0x6F, 0x2, 0xA8, 0x6, 0x9F, 0x0, 0x13, 0x0, 0x1C, 0x0, 0x0, 0x1, 0x17, 0x14, 0x6, 0x23, 0x22, 0x26, 0x23, 0x22, 0x6, 0x15, 0x27, 0x34, 0x36, 0x33, 0x32, 0x16, 0x33, 0x32, 0x36, 0x7, 0x15, 0x14, 0x6, 0x7, 0x27, 0x36, 0x35, 0x35, 0x2, 0x41, 0x67, 0x5C, 0x49, 0x50, 0x53, 0x41, 0x1F, 0x2A, 0x67, 0x5C, 0x49, 0x42, 0x62, 0x3F, 0x1E, 0x2C, 0x57, 0x45, 0x3E, 0x55, 0x3F, 0x6, 0x9F, 0x1E, 0x49, 0x6D, 0x47, 0x32, 0x25, 0x1C, 0x48, 0x70, 0x46, 0x31, 0xE1, 0x4B, 0x40, 0x7A, 0x25, 0x3C, 0x3F, 0x65, 0x4A, 0x0, 0x2, 0x0, 0x68, 0x4, 0x6F, 0x2, 0xA4, 0x5, 0xD8, 0x0, 0x8, 0x0, 0xE, 0x0, 0x0, 0x13, 0x33, 0x15, 0x14, 0x17, 0x7, 0x26, 0x26, 0x35, 0x5, 0x15, 0x23, 0x3, 0x35, 0x33, 0x68, 0xB0, 0x50, 0x51, 0x51, 0x5E, 0x2, 0x3C, 0x5C, 0xE6, 0xD3, 0x5, 0xD8, 0x53, 0x83, 0x4A, 0x49, 0x2A, 0x8D, 0x59, 0xE7, 0x14, 0x1, 0x3F, 0x15, 0x0, 0x2, 0x0, 0x68, 0x4, 0x6F, 0x2, 0xD6, 0x5, 0xD8, 0x0, 0x8, 0x0, 0xE, 0x0, 0x0, 0x13, 0x33, 0x15, 0x14, 0x17, 0x7, 0x26, 0x26, 0x35, 0x5, 0x35, 0x13, 0x33, 0x15, 0x3, 0x68, 0xB0, 0x50, 0x51, 0x51, 0x5E, 0x1, 0x2C, 0x6F, 0xD3, 0xE6, 0x5, 0xD8, 0x53, 0x83, 0x4A, 0x49, 0x2A, 0x8D, 0x59, 0xFB, 0x14, 0x1, 0x40, 0x15, 0xFE, 0xC1, 0x0, 0x2, 0x0, 0x6F, 0x4, 0x6F, 0x2, 0xA8, 0x6, 0x9F, 0x0, 0x13, 0x0, 0x1C, 0x0, 0x0, 0x1, 0x17, 0x14, 0x6, 0x23, 0x22, 0x26, 0x23, 0x22, 0x6, 0x15, 0x27, 0x34, 0x36, 0x33, 0x32, 0x16, 0x33, 0x32, 0x36, 0x7, 0x33, 0x15, 0x14, 0x17, 0x7, 0x26, 0x26, 0x35, 0x2, 0x41, 0x67, 0x5C, 0x49, 0x50, 0x53, 0x41, 0x1F, 0x2A, 0x67, 0x5C, 0x49, 0x42, 0x62, 0x3F, 0x1E, 0x2C, 0xF6, 0x99, 0x3F, 0x56, 0x3D, 0x45, 0x6, 0x9F, 0x1E, 0x49, 0x6D, 0x47, 0x32, 0x25, 0x1C, 0x48, 0x70, 0x46, 0x31, 0xE1, 0x4A, 0x65, 0x3F, 0x3C, 0x25, 0x7A, 0x40, 0x0, 0x3, 0x0, 0x6F, 0x4, 0xC7, 0x3, 0x48, 0x6, 0x65, 0x0, 0x3, 0x0, 0xF, 0x0, 0x1B, 0x0, 0x0, 0x1, 0x17, 0x23, 0x27, 0x3, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x6, 0x23, 0x22, 0x26, 0x25, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x6, 0x23, 0x22, 0x26, 0x1, 0xBB, 0x72, 0x8D, 0xA8, 0x89, 0x44, 0x3D, 0x3E, 0x45, 0x45, 0x3E, 0x3D, 0x44, 0x1, 0xD5, 0x44, 0x3D, 0x3E, 0x45, 0x45, 0x3E, 0x3D, 0x44, 0x6, 0x65, 0xD3, 0xD3, 0xFE, 0xD9, 0x32, 0x44, 0x44, 0x32, 0x31, 0x45, 0x45, 0x2F, 0x32, 0x45, 0x45, 0x32, 0x31, 0x44, 0x44, 0x0, 0x3, 0x0, 0x6F, 0x4, 0xC7, 0x3, 0x48, 0x6, 0x65, 0x0, 0x3, 0x0, 0xF, 0x0, 0x1B, 0x0, 0x0, 0x1, 0x37, 0x33, 0x7, 0x5, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x6, 0x23, 0x22, 0x26, 0x25, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x6, 0x23, 0x22, 0x26, 0x1, 0x86, 0x71, 0xC3, 0xA7, 0xFE, 0x5C, 0x44, 0x3D, 0x3E, 0x45, 0x45, 0x3E, 0x3D, 0x44, 0x1, 0xD5, 0x44, 0x3D, 0x3E, 0x45, 0x45, 0x3E, 0x3D, 0x44, 0x5, 0x92, 0xD3, 0xD3, 0x54, 0x32, 0x44, 0x44, 0x32, 0x31, 0x45, 0x45, 0x2F, 0x32, 0x45, 0x45, 0x32, 0x31, 0x44, 0x44, 0x0, 0x1, 0x0, 0x66, 0x4, 0x6F, 0x1, 0xA9, 0x5, 0xC3, 0x0, 0x5, 0x0, 0x0, 0x1, 0x23, 0x3, 0x35, 0x33, 0x13, 0x1, 0xA9, 0x5D, 0xE6, 0xD3, 0x70, 0x4, 0x6F, 0x1, 0x3F, 0x15, 0xFE, 0xC1, 0x0, 0x1, 0x0, 0x64, 0x4, 0x6F, 0x1, 0xA7, 0x5, 0xC3, 0x0, 0x5, 0x0, 0x0, 0x13, 0x35, 0x13, 0x33, 0x15, 0x3, 0x64, 0x70, 0xD3, 0xE6, 0x4, 0x6F, 0x15, 0x1, 0x3F, 0x15, 0xFE, 0xC1, 0x0, 0x1, 0x0, 0x69, 0x4, 0x6F, 0x1, 0x69, 0x5, 0xD8, 0x0, 0x8, 0x0, 0x0, 0x13, 0x33, 0x15, 0x14, 0x17, 0x7, 0x26, 0x26, 0x35, 0x69, 0xB0, 0x50, 0x51, 0x51, 0x5E, 0x5, 0xD8, 0x53, 0x83, 0x4A, 0x49, 0x2A, 0x8D, 0x59, 0x0, 0x1, 0xFD, 0x68, 0xFF, 0x38, 0xFE, 0x9, 0x4, 0xD8, 0x0, 0x3, 0x0, 0x0, 0x5, 0x11, 0x33, 0x11, 0xFD, 0x68, 0xA1, 0xC8, 0x5, 0xA0, 0xFA, 0x60, 0x0, 0x1, 0xFC, 0x94, 0xFF, 0x38, 0xFE, 0xDE, 0x5, 0xF1, 0x0, 0xE, 0x0, 0x0, 0x1, 0x27, 0x11, 0x23, 0x11, 0x7, 0x27, 0x37, 0x27, 0x37, 0x17, 0x37, 0x17, 0x7, 0x17, 0xFE, 0x67, 0x61, 0xA0, 0x5B, 0x77, 0xB0, 0xB0, 0x77, 0xAE, 0xAE, 0x77, 0xB0, 0xB0, 0x3, 0xA0, 0x63, 0xFB, 0x35, 0x4, 0xC5, 0x5D, 0x74, 0xB4, 0xB4, 0x75, 0xB2, 0xB2, 0x75, 0xB4, 0xB4, 0x0, 0x1, 0xFC, 0xAD, 0xFF, 0x38, 0xFF, 0x46, 0x5, 0xD1, 0x0, 0xA, 0x0, 0x0, 0x1, 0x37, 0x23, 0x11, 0x23, 0x11, 0x21, 0x27, 0x33, 0x17, 0x7, 0xFD, 0x98, 0xA8, 0xF2, 0xA1, 0x1, 0x9A, 0xA8, 0xC6, 0xE1, 0xE7, 0x3, 0xE9, 0xA1, 0xFA, 0xAE, 0x5, 0xEB, 0xAE, 0xFB, 0xED, 0x0, 0x1, 0xFC, 0x5E, 0xFF, 0x38, 0xFE, 0xF7, 0x5, 0xD1, 0x0, 0xA, 0x0, 0x0, 0x5, 0x11, 0x23, 0x17, 0x23, 0x27, 0x37, 0x33, 0x7, 0x21, 0x11, 0xFE, 0x57, 0xF3, 0xA8, 0xC6, 0xE8, 0xE1, 0xC7, 0xA9, 0x1, 0x9A, 0xC8, 0x5, 0x52, 0xA1, 0xED, 0xFB, 0xAE, 0xFA, 0x15, 0xFF, 0xFF, 0x0, 0x47, 0x2, 0xA, 0x2, 0x54, 0x2, 0xCD, 0x0, 0x6, 0x0, 0x12, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x47, 0x2, 0xA, 0x2, 0x54, 0x2, 0xCD, 0x0, 0x6, 0x0, 0x12, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x9F, 0x2, 0x6E, 0x3, 0xEF, 0x3, 0x32, 0x0, 0x6, 0x5, 0x3A, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x9E, 0x2, 0x6E, 0x4, 0x97, 0x3, 0x32, 0x0, 0x46, 0x5, 0x3A, 0xDF, 0x0, 0x4C, 0xCD, 0x40, 0x0, 0xFF, 0xFF, 0x0, 0x82, 0x2, 0x6E, 0x5, 0xCF, 0x3, 0x32, 0x0, 0x46, 0x5, 0x3A, 0x84, 0x0, 0x66, 0x66, 0x40, 0x0, 0xFF, 0xFF, 0x0, 0xAB, 0xFE, 0xF2, 0x2, 0x8D, 0x5, 0xB0, 0x0, 0x26, 0x0, 0x61, 0xFD, 0x0, 0x0, 0x7, 0x0, 0x61, 0x1, 0x37, 0x0, 0x0, 0x0, 0x2, 0x0, 0x4, 0xFE, 0x60, 0x3, 0x9A, 0x0, 0x0, 0x0, 0x3, 0x0, 0x7, 0x0, 0x0, 0x21, 0x15, 0x21, 0x35, 0x1, 0x15, 0x21, 0x35, 0x3, 0x9A, 0xFC, 0x6A, 0x3, 0x96, 0xFC, 0x6A, 0x9D, 0x9D, 0xFE, 0xFC, 0x9C, 0x9C, 0x0, 0x1, 0x0, 0x64, 0x4, 0x21, 0x1, 0x96, 0x6, 0x1B, 0x0, 0x8, 0x0, 0x0, 0x13, 0x35, 0x34, 0x36, 0x37, 0x17, 0x6, 0x7, 0x15, 0x64, 0x65, 0x51, 0x7C, 0x59, 0x4, 0x4, 0x21, 0x88, 0x5F, 0xD0, 0x43, 0x4D, 0x87, 0x8B, 0x9B, 0x0, 0x1, 0x0, 0x34, 0x4, 0x0, 0x1, 0x66, 0x6, 0x0, 0x0, 0x8, 0x0, 0x0, 0x1, 0x15, 0x14, 0x6, 0x7, 0x27, 0x36, 0x37, 0x35, 0x1, 0x66, 0x65, 0x51, 0x7C, 0x5A, 0x3, 0x6, 0x0, 0x8E, 0x5E, 0xD0, 0x44, 0x4D, 0x89, 0x8D, 0x9D, 0x0, 0x1, 0x0, 0x32, 0xFE, 0xD6, 0x1, 0x65, 0x0, 0xCB, 0x0, 0x8, 0x0, 0x0, 0x25, 0x7, 0x6, 0x6, 0x7, 0x27, 0x36, 0x37, 0x35, 0x1, 0x65, 0x1, 0x1, 0x63, 0x52, 0x7C, 0x55, 0x3, 0xCB, 0x86, 0x5F, 0xCD, 0x43, 0x4D, 0x81, 0x93, 0x94, 0x0, 0x1, 0x0, 0x4B, 0x4, 0x0, 0x1, 0x7D, 0x6, 0x0, 0x0, 0x8, 0x0, 0x0, 0x13, 0x33, 0x15, 0x16, 0x17, 0x7, 0x26, 0x26, 0x35, 0x4B, 0xD5, 0x3, 0x5A, 0x7C, 0x52, 0x64, 0x6, 0x0, 0x9D, 0x91, 0x85, 0x4D, 0x44, 0xD0, 0x5E, 0xFF, 0xFF, 0x0, 0x6D, 0x4, 0x21, 0x2, 0xEF, 0x6, 0x1B, 0x0, 0x26, 0x4, 0x62, 0x9, 0x0, 0x0, 0x7, 0x4, 0x62, 0x1, 0x59, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x41, 0x4, 0x0, 0x2, 0xC1, 0x6, 0x0, 0x0, 0x26, 0x4, 0x63, 0xD, 0x0, 0x0, 0x7, 0x4, 0x63, 0x1, 0x5B, 0x0, 0x0, 0x0, 0x2, 0x0, 0x32, 0xFE, 0xC2, 0x2, 0xAB, 0x0, 0xFF, 0x0, 0x8, 0x0, 0x11, 0x0, 0x0, 0x25, 0x7, 0x14, 0x6, 0x7, 0x27, 0x36, 0x37, 0x35, 0x23, 0x7, 0x14, 0x6, 0x7, 0x27, 0x36, 0x37, 0x35, 0x2, 0xAB, 0x1, 0x64, 0x52, 0x7F, 0x59, 0x3, 0x6C, 0x1, 0x61, 0x52, 0x7F, 0x55, 0x3, 0xFF, 0xB7, 0x64, 0xDC, 0x46, 0x4D, 0x8D, 0x9B, 0xC8, 0xB7, 0x64, 0xDC, 0x46, 0x4D, 0x87, 0xA0, 0xC9, 0x0, 0x2, 0x0, 0x4F, 0x3, 0xD6, 0x2, 0xE0, 0x6, 0x18, 0x0, 0x8, 0x0, 0x11, 0x0, 0x0, 0x1, 0x33, 0x15, 0x16, 0x17, 0x7, 0x26, 0x26, 0x35, 0x25, 0x33, 0x15, 0x16, 0x17, 0x7, 0x26, 0x26, 0x35, 0x1, 0xAA, 0xDC, 0x2, 0x58, 0x80, 0x51, 0x65, 0xFE, 0xA5, 0xDC, 0x3, 0x57, 0x7F, 0x52, 0x65, 0x6, 0x18, 0xC8, 0xA2, 0x8A, 0x4E, 0x47, 0xDC, 0x64, 0xBB, 0xCC, 0x9C, 0x8C, 0x4E, 0x47, 0xDC, 0x64, 0x0, 0x1, 0x0, 0x41, 0x0, 0x0, 0x4, 0x1E, 0x5, 0xB0, 0x0, 0xB, 0x0, 0x0, 0x1, 0x21, 0x11, 0x23, 0x11, 0x21, 0x35, 0x21, 0x11, 0x33, 0x11, 0x21, 0x4, 0x1E, 0xFE, 0x88, 0xF3, 0xFE, 0x8E, 0x1, 0x72, 0xF3, 0x1, 0x78, 0x3, 0x73, 0xFC, 0x8D, 0x3, 0x73, 0xC7, 0x1, 0x76, 0xFE, 0x8A, 0x0, 0x1, 0x0, 0x5D, 0xFE, 0x60, 0x4, 0x3A, 0x5, 0xB0, 0x0, 0x13, 0x0, 0x0, 0x21, 0x21, 0x11, 0x23, 0x11, 0x21, 0x35, 0x21, 0x11, 0x21, 0x35, 0x21, 0x11, 0x33, 0x11, 0x21, 0x15, 0x21, 0x11, 0x21, 0x4, 0x3A, 0xFE, 0x88, 0xF3, 0xFE, 0x8E, 0x1, 0x72, 0xFE, 0x8E, 0x1, 0x72, 0xF3, 0x1, 0x78, 0xFE, 0x88, 0x1, 0x78, 0xFE, 0x60, 0x1, 0xA0, 0xC3, 0x2, 0xB3, 0xC4, 0x1, 0x76, 0xFE, 0x8A, 0xC4, 0xFD, 0x4D, 0x0, 0x1, 0x0, 0x88, 0x2, 0x7, 0x2, 0x45, 0x3, 0xDB, 0x0, 0xC, 0x0, 0x0, 0x13, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x15, 0x14, 0x6, 0x22, 0x26, 0x35, 0x88, 0x78, 0x65, 0x68, 0x78, 0x77, 0xCE, 0x78, 0x3, 0x3, 0x5F, 0x79, 0x79, 0x5F, 0x27, 0x5E, 0x77, 0x77, 0x5E, 0x0, 0x1, 0x0, 0x98, 0x0, 0x87, 0x4, 0x9, 0x4, 0x90, 0x0, 0x2, 0x0, 0x0, 0x13, 0x1, 0x1, 0x98, 0x3, 0x71, 0xFC, 0x8F, 0x4, 0x90, 0xFD, 0xFB, 0xFD, 0xFC, 0xFF, 0xFF, 0x0, 0x85, 0xFF, 0xF4, 0x1, 0xA0, 0x1, 0x1, 0x0, 0x6, 0x0, 0x13, 0xFD, 0x0, 0xFF, 0xFF, 0x0, 0x8C, 0xFF, 0xF4, 0x3, 0x70, 0x1, 0x1, 0x0, 0x26, 0x0, 0x13, 0x4, 0x0, 0x0, 0x7, 0x0, 0x13, 0x1, 0xCD, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x8C, 0xFF, 0xF4, 0x5, 0x29, 0x1, 0x1, 0x0, 0x22, 0x0, 0x13, 0x4, 0x0, 0x0, 0x23, 0x0, 0x13, 0x1, 0xCD, 0x0, 0x0, 0x0, 0x3, 0x0, 0x13, 0x3, 0x86, 0x0, 0x0, 0x0, 0x1, 0x0, 0x5B, 0x1, 0xEC, 0x1, 0x6E, 0x2, 0xED, 0x0, 0x9, 0x0, 0x0, 0x13, 0x34, 0x36, 0x32, 0x16, 0x15, 0x14, 0x6, 0x22, 0x26, 0x5B, 0x48, 0x82, 0x49, 0x49, 0x82, 0x48, 0x2, 0x6C, 0x38, 0x49, 0x49, 0x38, 0x37, 0x49, 0x49, 0x0, 0x6, 0x0, 0x4B, 0xFF, 0xEB, 0x7, 0x60, 0x5, 0xC5, 0x0, 0xD, 0x0, 0x1B, 0x0, 0x1F, 0x0, 0x35, 0x0, 0x42, 0x0, 0x4F, 0x0, 0x0, 0x13, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x15, 0x14, 0x6, 0x23, 0x22, 0x26, 0x35, 0x33, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x25, 0x1, 0x27, 0x1, 0x1, 0x22, 0x27, 0x6, 0x23, 0x22, 0x26, 0x35, 0x35, 0x34, 0x36, 0x33, 0x32, 0x17, 0x36, 0x33, 0x32, 0x16, 0x15, 0x15, 0x14, 0x6, 0x1, 0x14, 0x16, 0x33, 0x32, 0x35, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x5, 0x14, 0x16, 0x33, 0x32, 0x35, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x4B, 0xA1, 0x8C, 0x92, 0xA3, 0xA3, 0x90, 0x8E, 0xA1, 0xA2, 0x45, 0x48, 0x46, 0x44, 0x45, 0x47, 0x46, 0x45, 0x3, 0x9C, 0xFD, 0x39, 0x7D, 0x2, 0xC7, 0x2, 0x21, 0x96, 0x50, 0x4E, 0x93, 0x91, 0xA5, 0xA4, 0x90, 0x94, 0x4F, 0x50, 0x94, 0x91, 0xA4, 0xA4, 0xFE, 0xE4, 0x49, 0x44, 0x89, 0x44, 0x47, 0x46, 0x45, 0xFE, 0x39, 0x48, 0x45, 0x89, 0x44, 0x47, 0x46, 0x45, 0x4, 0x98, 0x7C, 0xB1, 0xB1, 0x7C, 0x4D, 0x7A, 0xB1, 0xB1, 0x7A, 0x3B, 0x5E, 0x5D, 0x3C, 0x4D, 0x3D, 0x5E, 0x5E, 0x3D, 0x47, 0xFB, 0x8E, 0x49, 0x4, 0x72, 0xFA, 0xC3, 0x6F, 0x6F, 0xB1, 0x7B, 0x4E, 0x7B, 0xB1, 0x6F, 0x6F, 0xB1, 0x7B, 0x4E, 0x7B, 0xB1, 0x1, 0x2C, 0x3C, 0x5E, 0xAA, 0x3E, 0x3C, 0x5E, 0x5E, 0x3C, 0x4E, 0x3C, 0x5E, 0xAA, 0x3E, 0x3C, 0x5E, 0x5E, 0x3C, 0x0, 0x7, 0x0, 0x4B, 0xFF, 0xEB, 0x9, 0x15, 0x5, 0xC5, 0x0, 0xD, 0x0, 0x1B, 0x0, 0x1F, 0x0, 0x3C, 0x0, 0x49, 0x0, 0x56, 0x0, 0x63, 0x0, 0x0, 0x13, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x15, 0x14, 0x6, 0x23, 0x22, 0x26, 0x35, 0x33, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x25, 0x1, 0x27, 0x1, 0x1, 0x22, 0x27, 0x6, 0x23, 0x22, 0x27, 0x6, 0x23, 0x22, 0x26, 0x35, 0x35, 0x34, 0x36, 0x33, 0x32, 0x17, 0x36, 0x33, 0x32, 0x17, 0x36, 0x20, 0x16, 0x15, 0x15, 0x14, 0x6, 0x1, 0x14, 0x16, 0x33, 0x32, 0x35, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x5, 0x14, 0x16, 0x33, 0x32, 0x35, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x5, 0x14, 0x16, 0x33, 0x32, 0x35, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x4B, 0xA1, 0x8C, 0x92, 0xA3, 0xA3, 0x90, 0x8E, 0xA1, 0xA2, 0x45, 0x48, 0x46, 0x44, 0x45, 0x47, 0x46, 0x45, 0x3, 0x8B, 0xFD, 0x39, 0x7D, 0x2, 0xC7, 0x3, 0xE7, 0x92, 0x50, 0x4D, 0x97, 0x95, 0x50, 0x4F, 0x93, 0x91, 0xA5, 0xA5, 0x8F, 0x95, 0x4F, 0x50, 0x93, 0x99, 0x4D, 0x4F, 0x1, 0x22, 0xA4, 0xA4, 0xFE, 0xE4, 0x49, 0x44, 0x89, 0x44, 0x47, 0x46, 0x45, 0xFE, 0x3B, 0x49, 0x43, 0x8A, 0x45, 0x47, 0x46, 0x44, 0xFE, 0x39, 0x48, 0x44, 0x8A, 0x45, 0x47, 0x46, 0x44, 0x4, 0x98, 0x7C, 0xB1, 0xB1, 0x7C, 0x4D, 0x7A, 0xB1, 0xB1, 0x7A, 0x3B, 0x5E, 0x5D, 0x3C, 0x4D, 0x3D, 0x5E, 0x5E, 0x3D, 0x47, 0xFB, 0x8E, 0x49, 0x4, 0x72, 0xFA, 0xC3, 0x6A, 0x6A, 0x6F, 0x6F, 0xB1, 0x7B, 0x4E, 0x7B, 0xB1, 0x6F, 0x6F, 0x6A, 0x6A, 0xB1, 0x7B, 0x4E, 0x7B, 0xB1, 0x1, 0x2C, 0x3C, 0x5E, 0xAA, 0x3E, 0x3C, 0x5E, 0x5E, 0x3C, 0x4E, 0x3C, 0x5E, 0xAC, 0x3C, 0x3C, 0x5E, 0x5E, 0x3C, 0x4E, 0x3C, 0x5E, 0xA9, 0x3F, 0x3C, 0x5E, 0x5E, 0x3C, 0x0, 0x3, 0x0, 0x4C, 0x4, 0xBA, 0x4, 0xA4, 0x6, 0x1A, 0x0, 0x3, 0x0, 0x7, 0x0, 0xB, 0x0, 0x0, 0x1, 0x13, 0x33, 0x3, 0x21, 0x13, 0x33, 0x3, 0x21, 0x13, 0x33, 0x3, 0x3, 0x1B, 0x9A, 0xEF, 0xDE, 0xFD, 0xEE, 0x99, 0xF0, 0xDE, 0xFD, 0xED, 0x9A, 0xEF, 0xDE, 0x4, 0xBA, 0x1, 0x60, 0xFE, 0xA0, 0x1, 0x60, 0xFE, 0xA0, 0x1, 0x60, 0xFE, 0xA0, 0x0, 0x1, 0x0, 0x4C, 0x4, 0xBA, 0x1, 0xD5, 0x6, 0x1A, 0x0, 0x3, 0x0, 0x0, 0x1, 0x13, 0x23, 0x3, 0x1, 0x3C, 0x99, 0xAB, 0xDE, 0x6, 0x1A, 0xFE, 0xA0, 0x1, 0x60, 0x0, 0x2, 0x0, 0x50, 0x4, 0xBA, 0x3, 0x41, 0x6, 0x1A, 0x0, 0x3, 0x0, 0x7, 0x0, 0x0, 0x1, 0x13, 0x23, 0x3, 0x21, 0x13, 0x23, 0x3, 0x1, 0x40, 0x99, 0xAB, 0xDE, 0x2, 0x57, 0x9A, 0xAB, 0xDE, 0x6, 0x1A, 0xFE, 0xA0, 0x1, 0x60, 0xFE, 0xA0, 0x1, 0x60, 0x0, 0x3, 0x0, 0x50, 0x4, 0xBA, 0x4, 0xA8, 0x6, 0x1A, 0x0, 0x3, 0x0, 0x7, 0x0, 0xB, 0x0, 0x0, 0x1, 0x13, 0x23, 0x3, 0x21, 0x13, 0x23, 0x3, 0x21, 0x13, 0x23, 0x3, 0x1, 0x40, 0x99, 0xAB, 0xDE, 0x2, 0x57, 0x9A, 0xAB, 0xDE, 0x2, 0x57, 0x99, 0xAB, 0xDE, 0x6, 0x1A, 0xFE, 0xA0, 0x1, 0x60, 0xFE, 0xA0, 0x1, 0x60, 0xFE, 0xA0, 0x1, 0x60, 0x0, 0x1, 0x0, 0x30, 0xFD, 0xDB, 0x3, 0x49, 0xFF, 0x9D, 0x0, 0x8, 0x0, 0x0, 0x1, 0x3, 0x23, 0x1, 0x33, 0x1, 0x23, 0x3, 0x27, 0x1, 0xAB, 0xB5, 0xC6, 0x1, 0x39, 0xA4, 0x1, 0x3C, 0xC6, 0xBB, 0xE, 0xFE, 0xF5, 0xFE, 0xE6, 0x1, 0xC2, 0xFE, 0x3E, 0x1, 0x1A, 0x24, 0x0, 0x1, 0x0, 0x6C, 0x0, 0x8B, 0x2, 0x34, 0x3, 0xAA, 0x0, 0x6, 0x0, 0x0, 0x25, 0x23, 0x1, 0x35, 0x1, 0x33, 0x3, 0x2, 0x34, 0xA8, 0xFE, 0xE0, 0x1, 0x20, 0xA8, 0xF7, 0x8B, 0x1, 0x86, 0x13, 0x1, 0x86, 0xFE, 0x71, 0x0, 0x1, 0x0, 0x55, 0x0, 0x8A, 0x2, 0x1C, 0x3, 0xA9, 0x0, 0x6, 0x0, 0x0, 0x37, 0x23, 0x13, 0x3, 0x33, 0x1, 0x15, 0xFC, 0xA7, 0xF7, 0xF7, 0xA7, 0x1, 0x20, 0x8A, 0x1, 0x90, 0x1, 0x8F, 0xFE, 0x7A, 0x13, 0x0, 0x5, 0x0, 0x4A, 0x0, 0x6B, 0x4, 0xE1, 0x4, 0xF1, 0x0, 0x9, 0x0, 0x15, 0x0, 0x21, 0x0, 0x2B, 0x0, 0x35, 0x0, 0x0, 0x1, 0x34, 0x36, 0x32, 0x16, 0x15, 0x14, 0x6, 0x22, 0x26, 0x9, 0x2, 0x27, 0x1, 0x1, 0x37, 0x1, 0x1, 0x17, 0x1, 0x1, 0x3, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x6, 0x23, 0x22, 0x26, 0x25, 0x34, 0x36, 0x32, 0x16, 0x15, 0x14, 0x6, 0x22, 0x26, 0x1, 0x34, 0x36, 0x32, 0x16, 0x15, 0x14, 0x6, 0x22, 0x26, 0x2, 0xC, 0x48, 0x82, 0x49, 0x49, 0x82, 0x48, 0x1, 0xC9, 0xFE, 0xC5, 0xFE, 0xC4, 0x94, 0x1, 0x3C, 0xFE, 0xC4, 0x94, 0x1, 0x3C, 0x1, 0x3B, 0x94, 0xFE, 0xC4, 0x1, 0x3C, 0x9C, 0x49, 0x40, 0x41, 0x4A, 0x4A, 0x41, 0x40, 0x49, 0xFC, 0x7D, 0x48, 0x82, 0x49, 0x49, 0x82, 0x48, 0x1, 0xC2, 0x48, 0x82, 0x49, 0x49, 0x82, 0x48, 0x4, 0x75, 0x35, 0x47, 0x47, 0x35, 0x34, 0x47, 0x47, 0xFC, 0x96, 0x1, 0x42, 0xFE, 0xBE, 0x95, 0x1, 0x43, 0x1, 0x42, 0x95, 0xFE, 0xBE, 0x1, 0x42, 0x95, 0xFE, 0xBE, 0xFE, 0xBD, 0x1, 0x46, 0x35, 0x48, 0x48, 0x35, 0x34, 0x47, 0x47, 0x34, 0x35, 0x48, 0x48, 0x35, 0x34, 0x47, 0x47, 0xFE, 0x68, 0x35, 0x48, 0x48, 0x35, 0x34, 0x47, 0x47, 0x0, 0x3, 0x0, 0x2C, 0xFF, 0xF4, 0x3, 0x88, 0x6, 0x78, 0x0, 0x5, 0x0, 0x19, 0x0, 0x23, 0x0, 0x0, 0x1, 0x34, 0x27, 0x3, 0x36, 0x36, 0x1, 0x3, 0x6, 0x15, 0x23, 0x36, 0x36, 0x37, 0x27, 0x21, 0x7, 0x16, 0x16, 0x15, 0x14, 0x6, 0x7, 0x6, 0x6, 0x7, 0x3, 0x34, 0x36, 0x32, 0x16, 0x15, 0x14, 0x6, 0x22, 0x26, 0x2, 0x95, 0x80, 0x8, 0x3A, 0x4E, 0xFE, 0x9F, 0xE, 0x7, 0xF3, 0x2, 0x86, 0x6C, 0x4, 0x1, 0x1, 0x4, 0xAF, 0xC0, 0x5B, 0xA1, 0x35, 0x25, 0x1, 0xF4, 0x49, 0x82, 0x49, 0x49, 0x82, 0x49, 0x4, 0x39, 0x9E, 0x1D, 0xFE, 0x55, 0x38, 0x6A, 0xFD, 0xC2, 0x2, 0xCE, 0x19, 0x1D, 0x87, 0xB1, 0x28, 0xD3, 0xB6, 0xF, 0xC8, 0xA9, 0x65, 0xA4, 0x9A, 0x33, 0x76, 0x49, 0xFE, 0xC9, 0x38, 0x4B, 0x4B, 0x38, 0x37, 0x4B, 0x4B, 0xFF, 0xFF, 0x0, 0xD, 0x6, 0x13, 0x3, 0xA3, 0x6, 0xD3, 0x0, 0x7, 0x0, 0x44, 0x0, 0xA, 0x6, 0xD3, 0x0, 0x1, 0x0, 0xB, 0xFE, 0x1A, 0x6, 0x19, 0xFF, 0x8D, 0x0, 0xD, 0x0, 0x0, 0x1, 0x20, 0x24, 0x27, 0x37, 0x16, 0x4, 0x33, 0x32, 0x24, 0x37, 0x17, 0x6, 0x4, 0x3, 0x11, 0xFE, 0xD7, 0xFE, 0x94, 0x71, 0x71, 0x65, 0x1, 0x41, 0xEF, 0xF0, 0x1, 0x52, 0x65, 0x61, 0x5A, 0xFE, 0x7C, 0xFE, 0x1A, 0x9F, 0x7A, 0x58, 0x41, 0x5C, 0x62, 0x3D, 0x5A, 0x71, 0xA8, 0x0, 0x1, 0x0, 0xB, 0x4, 0x9E, 0x6, 0x19, 0x6, 0x10, 0x0, 0xD, 0x0, 0x0, 0x1, 0x22, 0x4, 0x7, 0x27, 0x36, 0x24, 0x21, 0x20, 0x4, 0x17, 0x7, 0x26, 0x24, 0x3, 0x11, 0xEF, 0xFE, 0xBF, 0x65, 0x71, 0x71, 0x1, 0x6C, 0x1, 0x29, 0x1, 0x2A, 0x1, 0x84, 0x5A, 0x61, 0x65, 0xFE, 0xAE, 0x5, 0x3D, 0x5C, 0x41, 0x57, 0x7A, 0x9F, 0xA8, 0x71, 0x59, 0x3D, 0x62, 0x0, 0x1, 0x0, 0x3B, 0xFE, 0xE, 0x3, 0x3D, 0x2, 0x5A, 0x0, 0x7, 0x0, 0x0, 0x1, 0x3, 0x3, 0x27, 0x1, 0x17, 0x1, 0x13, 0x2, 0x60, 0xC8, 0xC4, 0x99, 0x2, 0x67, 0x9B, 0xFE, 0xC0, 0xFB, 0xFE, 0xE, 0x1, 0x42, 0xFE, 0xBF, 0x58, 0x3, 0xF3, 0x58, 0xFD, 0xF3, 0xFE, 0x6B, 0x0, 0x3, 0x0, 0x50, 0x0, 0x83, 0x5, 0x8, 0x5, 0x27, 0x0, 0x17, 0x0, 0x2F, 0x0, 0x47, 0x0, 0x0, 0x1, 0x27, 0x15, 0x23, 0x35, 0x7, 0x27, 0x37, 0x23, 0x35, 0x33, 0x27, 0x37, 0x17, 0x35, 0x33, 0x15, 0x37, 0x17, 0x7, 0x33, 0x15, 0x23, 0x17, 0x1, 0x27, 0x15, 0x23, 0x35, 0x7, 0x27, 0x37, 0x23, 0x35, 0x33, 0x27, 0x37, 0x17, 0x35, 0x33, 0x15, 0x37, 0x17, 0x7, 0x33, 0x15, 0x23, 0x17, 0x5, 0x27, 0x15, 0x23, 0x35, 0x7, 0x27, 0x37, 0x23, 0x35, 0x33, 0x27, 0x37, 0x17, 0x35, 0x33, 0x15, 0x37, 0x17, 0x7, 0x33, 0x15, 0x23, 0x17, 0x3, 0x4B, 0x65, 0x73, 0x66, 0x51, 0x68, 0x94, 0x91, 0x65, 0x51, 0x67, 0x72, 0x65, 0x50, 0x65, 0x92, 0x95, 0x68, 0xFE, 0x70, 0x65, 0x73, 0x66, 0x51, 0x68, 0x94, 0x91, 0x65, 0x51, 0x67, 0x72, 0x65, 0x50, 0x65, 0x92, 0x95, 0x68, 0x2, 0x30, 0x65, 0x73, 0x66, 0x51, 0x68, 0x94, 0x91, 0x65, 0x51, 0x67, 0x72, 0x65, 0x50, 0x65, 0x92, 0x95, 0x68, 0x3, 0x17, 0x66, 0x8E, 0x90, 0x68, 0x52, 0x69, 0x73, 0x66, 0x51, 0x68, 0x93, 0x91, 0x66, 0x51, 0x67, 0x72, 0x6A, 0xFD, 0x43, 0x66, 0x8E, 0x90, 0x68, 0x52, 0x69, 0x73, 0x66, 0x51, 0x68, 0x93, 0x91, 0x66, 0x51, 0x67, 0x72, 0x6A, 0x51, 0x66, 0x8E, 0x90, 0x68, 0x52, 0x69, 0x73, 0x66, 0x51, 0x68, 0x93, 0x91, 0x66, 0x51, 0x67, 0x72, 0x6A, 0x0, 0x1, 0x0, 0x54, 0x2, 0x17, 0x3, 0x1A, 0x3, 0xBB, 0x0, 0x3, 0x0, 0x0, 0x1, 0x11, 0x21, 0x11, 0x3, 0x1A, 0xFD, 0x3A, 0x3, 0xBB, 0xFE, 0x5C, 0x1, 0xA4, 0x0, 0x1, 0x0, 0x2D, 0x0, 0x6D, 0x3, 0x72, 0x5, 0x28, 0x0, 0x3, 0x0, 0x0, 0x1, 0x1, 0x27, 0x1, 0x3, 0x72, 0xFD, 0x39, 0x7E, 0x2, 0xC7, 0x4, 0xDF, 0xFB, 0x8E, 0x49, 0x4, 0x72, 0x0, 0x1, 0x0, 0x99, 0xFE, 0xBB, 0x2, 0x32, 0x6, 0x8F, 0x0, 0xB, 0x0, 0x0, 0x5, 0x15, 0x21, 0x11, 0x21, 0x15, 0x23, 0x11, 0x33, 0x15, 0x23, 0x11, 0x2, 0x32, 0xFE, 0x67, 0x1, 0x99, 0xA6, 0xA6, 0xA6, 0x87, 0xBE, 0x7, 0xD4, 0xBE, 0xFD, 0x3E, 0xBE, 0xFD, 0x28, 0x0, 0x1, 0x0, 0x5E, 0xFE, 0xBB, 0x1, 0xF7, 0x6, 0x8F, 0x0, 0xB, 0x0, 0x0, 0x1, 0x21, 0x35, 0x33, 0x11, 0x23, 0x35, 0x33, 0x11, 0x23, 0x35, 0x21, 0x1, 0xF7, 0xFE, 0x67, 0xA6, 0xA6, 0xA6, 0xA6, 0x1, 0x99, 0xFE, 0xBB, 0xBE, 0x2, 0xD8, 0xBE, 0x2, 0xC2, 0xBE, 0x0, 0x1, 0x0, 0x3C, 0xFE, 0x60, 0x3, 0x1C, 0x4, 0x3A, 0x0, 0x5, 0x0, 0x0, 0x13, 0x35, 0x21, 0x11, 0x23, 0x11, 0x3C, 0x2, 0xE0, 0xF2, 0x3, 0x76, 0xC4, 0xFA, 0x26, 0x5, 0x16, 0x0, 0x1, 0x0, 0x84, 0x0, 0x0, 0x3, 0xB6, 0x5, 0xB0, 0x0, 0xA, 0x0, 0x0, 0x21, 0x23, 0x11, 0x21, 0x32, 0x12, 0x15, 0x14, 0x2, 0x23, 0x23, 0x1, 0x77, 0xF3, 0x1, 0x46, 0xEF, 0xFD, 0xFD, 0xEF, 0x53, 0x5, 0xB0, 0xFE, 0xF5, 0xC9, 0xCA, 0xFE, 0xF6, 0x0, 0x2, 0x0, 0x66, 0x0, 0xCD, 0x4, 0x97, 0x3, 0xBD, 0x0, 0x7, 0x0, 0xB, 0x0, 0x0, 0x1, 0x11, 0x21, 0x22, 0x26, 0x10, 0x36, 0x33, 0x5, 0x23, 0x11, 0x33, 0x4, 0x97, 0xFD, 0x66, 0xB5, 0xE2, 0xE2, 0xB5, 0x1, 0xD2, 0x6A, 0x6A, 0x3, 0xBD, 0xFD, 0x10, 0xCE, 0x1, 0x54, 0xCE, 0x7B, 0xFE, 0x6, 0x0, 0x2, 0x0, 0x66, 0x0, 0xCD, 0x4, 0x97, 0x3, 0xBD, 0x0, 0x7, 0x0, 0xB, 0x0, 0x0, 0x13, 0x21, 0x32, 0x16, 0x10, 0x6, 0x23, 0x21, 0x1, 0x23, 0x11, 0x33, 0x66, 0x2, 0x9A, 0xB6, 0xE1, 0xE1, 0xB6, 0xFD, 0x66, 0x1, 0x32, 0x6A, 0x6A, 0x3, 0xBD, 0xCE, 0xFE, 0xAC, 0xCE, 0x2, 0x75, 0xFE, 0x6, 0xFF, 0xFF, 0x0, 0x3E, 0xFE, 0x4E, 0x3, 0x97, 0x1, 0xB1, 0x0, 0x7, 0x0, 0xF, 0x0, 0x22, 0xFC, 0x0, 0x0, 0x2, 0x0, 0x84, 0xFE, 0xAB, 0x1, 0xD9, 0x4, 0x52, 0x0, 0x9, 0x0, 0x12, 0x0, 0x0, 0x13, 0x34, 0x36, 0x32, 0x16, 0x15, 0x14, 0x6, 0x22, 0x26, 0x13, 0x33, 0x15, 0x16, 0x17, 0x7, 0x26, 0x26, 0x35, 0x84, 0x4A, 0x86, 0x4B, 0x4B, 0x86, 0x4A, 0x18, 0xE5, 0x3, 0x55, 0x7F, 0x55, 0x69, 0x3, 0xCA, 0x3A, 0x4E, 0x4E, 0x3A, 0x38, 0x4D, 0x4D, 0xFD, 0x59, 0xCC, 0xA0, 0x87, 0x4D, 0x48, 0xE0, 0x65, 0x0, 0x2, 0x0, 0xB, 0xFE, 0x1A, 0x6, 0x19, 0x6, 0x11, 0x0, 0xD, 0x0, 0x1B, 0x0, 0x0, 0x13, 0x36, 0x24, 0x21, 0x20, 0x4, 0x17, 0x7, 0x26, 0x24, 0x23, 0x22, 0x4, 0x7, 0x1, 0x20, 0x24, 0x27, 0x37, 0x16, 0x4, 0x33, 0x32, 0x24, 0x37, 0x17, 0x6, 0x4, 0xB, 0x71, 0x1, 0x6C, 0x1, 0x29, 0x1, 0x2A, 0x1, 0x84, 0x5A, 0x61, 0x65, 0xFE, 0xAE, 0xF0, 0xEF, 0xFE, 0xBF, 0x65, 0x2, 0x95, 0xFE, 0xD7, 0xFE, 0x94, 0x71, 0x71, 0x65, 0x1, 0x41, 0xEF, 0xF0, 0x1, 0x52, 0x65, 0x61, 0x5A, 0xFE, 0x7C, 0x4, 0xF8, 0x7A, 0x9F, 0xA8, 0x71, 0x5A, 0x3D, 0x62, 0x5C, 0x41, 0xF9, 0x7A, 0x9F, 0x7A, 0x58, 0x41, 0x5C, 0x62, 0x3D, 0x5A, 0x71, 0xA8, 0xFF, 0xFF, 0x0, 0x50, 0xFE, 0x4F, 0x3, 0xA9, 0x5, 0xB1, 0x0, 0x26, 0x0, 0xF, 0x34, 0x0, 0x0, 0x7, 0x0, 0xF, 0x0, 0x34, 0xFC, 0x1, 0x0, 0x3, 0x0, 0x43, 0xFF, 0x83, 0x3, 0x6C, 0x5, 0xB0, 0x0, 0x3, 0x0, 0xF, 0x0, 0x19, 0x0, 0x0, 0x1, 0x1, 0x23, 0x1, 0x1, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x6, 0x23, 0x22, 0x26, 0x1, 0x34, 0x36, 0x32, 0x16, 0x15, 0x14, 0x6, 0x22, 0x26, 0x3, 0x55, 0xFD, 0xC3, 0xBF, 0x2, 0x3D, 0xFD, 0xAD, 0x49, 0x40, 0x41, 0x49, 0x49, 0x41, 0x40, 0x49, 0x2, 0x16, 0x48, 0x82, 0x49, 0x49, 0x82, 0x48, 0x5, 0xB0, 0xF9, 0xD3, 0x6, 0x2D, 0xFE, 0x7B, 0x35, 0x48, 0x48, 0x35, 0x34, 0x47, 0x47, 0xFD, 0x18, 0x35, 0x47, 0x47, 0x35, 0x34, 0x47, 0x47, 0x0, 0x1, 0x0, 0x50, 0x1, 0xFB, 0x5, 0x2E, 0x3, 0x89, 0x0, 0x16, 0x0, 0x0, 0x1, 0x17, 0x6, 0x6, 0x23, 0x22, 0x26, 0x27, 0x26, 0x23, 0x22, 0x6, 0x7, 0x27, 0x36, 0x36, 0x33, 0x32, 0x16, 0x16, 0x33, 0x32, 0x36, 0x4, 0xCF, 0x5F, 0x36, 0xA7, 0x6A, 0x6E, 0xC5, 0x5A, 0x5E, 0x5D, 0x4E, 0x73, 0x37, 0x57, 0x41, 0xA9, 0x67, 0x6C, 0xC1, 0xB6, 0x59, 0x44, 0x74, 0x3, 0x1D, 0x98, 0x2E, 0x5C, 0x64, 0x31, 0x33, 0x35, 0x29, 0x9E, 0x31, 0x55, 0x65, 0x63, 0x33, 0x0, 0x1, 0x0, 0xB, 0xFE, 0x1A, 0x6, 0x19, 0xFF, 0x8D, 0x0, 0xD, 0x0, 0x0, 0x5, 0x20, 0x4, 0x17, 0x7, 0x26, 0x24, 0x23, 0x22, 0x4, 0x7, 0x27, 0x36, 0x24, 0x3, 0x11, 0x1, 0x2A, 0x1, 0x84, 0x5A, 0x61, 0x65, 0xFE, 0xAE, 0xF0, 0xEF, 0xFE, 0xBF, 0x65, 0x71, 0x71, 0x1, 0x6C, 0x73, 0xA9, 0x70, 0x5A, 0x3D, 0x62, 0x5D, 0x40, 0x58, 0x79, 0xA0, 0x0, 0x1, 0x0, 0xC0, 0x0, 0x49, 0x4, 0x63, 0x3, 0xEC, 0x0, 0x17, 0x0, 0x0, 0x25, 0x27, 0x15, 0x23, 0x35, 0x7, 0x27, 0x37, 0x23, 0x35, 0x33, 0x27, 0x37, 0x17, 0x35, 0x33, 0x15, 0x37, 0x17, 0x7, 0x33, 0x15, 0x23, 0x17, 0x3, 0x97, 0xAB, 0xB5, 0xAD, 0x7F, 0xB1, 0xFC, 0xF7, 0xAC, 0x7F, 0xAE, 0xB4, 0xAB, 0x80, 0xAD, 0xF9, 0xFD, 0xB1, 0x8B, 0xAF, 0xF1, 0xF3, 0xB1, 0x81, 0xB4, 0xB5, 0xB0, 0x7F, 0xB1, 0xF9, 0xF6, 0xAE, 0x7F, 0xB0, 0xB5, 0xB4, 0xFF, 0xFF, 0x0, 0x43, 0xFF, 0xE2, 0x3, 0x6E, 0x3, 0xED, 0x0, 0x27, 0x1, 0xD4, 0x3, 0x28, 0x2, 0xD9, 0x0, 0x27, 0x1, 0xD4, 0x5, 0x3F, 0x1, 0x4F, 0x0, 0x7, 0x1, 0xD4, 0x5, 0x3F, 0x4, 0x62, 0x0, 0x4, 0x0, 0x50, 0x4, 0xBA, 0x6, 0x13, 0x6, 0x1A, 0x0, 0x3, 0x0, 0x7, 0x0, 0xB, 0x0, 0xF, 0x0, 0x0, 0x1, 0x13, 0x33, 0x3, 0x21, 0x13, 0x33, 0x3, 0x21, 0x13, 0x33, 0x3, 0x21, 0x13, 0x33, 0x3, 0x4, 0x8A, 0x9A, 0xEF, 0xDE, 0xFD, 0xEA, 0x9A, 0xEF, 0xDE, 0xFD, 0xEE, 0x99, 0xF0, 0xDE, 0xFD, 0xED, 0x9A, 0xEF, 0xDE, 0x4, 0xBA, 0x1, 0x60, 0xFE, 0xA0, 0x1, 0x60, 0xFE, 0xA0, 0x1, 0x60, 0xFE, 0xA0, 0x1, 0x60, 0xFE, 0xA0, 0xFF, 0xFF, 0x0, 0x43, 0xFF, 0xE2, 0x4, 0xA0, 0x3, 0xED, 0x0, 0x27, 0x1, 0xD4, 0x3, 0x28, 0x2, 0xD9, 0x0, 0x27, 0x1, 0xD4, 0x4, 0xCC, 0x1, 0x4F, 0x0, 0x27, 0x1, 0xD4, 0x6, 0x71, 0x2, 0xD9, 0x0, 0x7, 0x1, 0xD4, 0x4, 0xCC, 0x4, 0x62, 0xFF, 0xFF, 0x0, 0x43, 0xFF, 0xE2, 0x4, 0x43, 0x3, 0xED, 0x0, 0x27, 0x1, 0xD4, 0x3, 0x28, 0x4, 0x62, 0x0, 0x27, 0x1, 0xD4, 0x6, 0x14, 0x1, 0x4F, 0x0, 0x27, 0x1, 0xD4, 0x3, 0x28, 0x1, 0x4F, 0x0, 0x27, 0x1, 0xD4, 0x6, 0x14, 0x4, 0x62, 0x0, 0x7, 0x1, 0xD4, 0x4, 0x9E, 0x2, 0xD9, 0xFF, 0xFF, 0x0, 0x43, 0xFF, 0xE2, 0x1, 0x57, 0x5, 0x5C, 0x0, 0x27, 0x1, 0xD4, 0x3, 0x28, 0x1, 0x4F, 0x0, 0x7, 0x1, 0xD4, 0x3, 0x28, 0x5, 0xD1, 0xFF, 0xFF, 0x0, 0x43, 0xFF, 0xE2, 0x4, 0x37, 0x5, 0x5C, 0x0, 0x27, 0x1, 0xD4, 0x3, 0x28, 0x3, 0x9A, 0x0, 0x27, 0x1, 0xD4, 0x6, 0x8, 0x3, 0x9A, 0x0, 0x27, 0x1, 0xD4, 0x4, 0x98, 0x1, 0x4F, 0x0, 0x7, 0x1, 0xD4, 0x4, 0x98, 0x5, 0xD1, 0x0, 0x5, 0x0, 0x43, 0xFF, 0xD6, 0x4, 0x5B, 0x3, 0xFA, 0x0, 0xB, 0x0, 0x17, 0x0, 0x23, 0x0, 0x2F, 0x0, 0x39, 0x0, 0x0, 0x1, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x6, 0x23, 0x22, 0x26, 0x25, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x6, 0x23, 0x22, 0x26, 0x1, 0x21, 0x11, 0x23, 0x11, 0x21, 0x35, 0x21, 0x11, 0x33, 0x11, 0x21, 0x1, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x6, 0x23, 0x22, 0x26, 0x25, 0x34, 0x36, 0x32, 0x16, 0x15, 0x14, 0x6, 0x22, 0x26, 0x3, 0x47, 0x49, 0x40, 0x41, 0x49, 0x49, 0x41, 0x40, 0x49, 0xFC, 0xFC, 0x49, 0x40, 0x41, 0x49, 0x49, 0x41, 0x40, 0x49, 0x3, 0xFA, 0xFE, 0x84, 0xEC, 0xFE, 0x82, 0x1, 0x7E, 0xEC, 0x1, 0x7C, 0xFC, 0x6, 0x49, 0x40, 0x41, 0x49, 0x49, 0x41, 0x40, 0x49, 0x3, 0x5, 0x48, 0x82, 0x49, 0x49, 0x82, 0x48, 0x3, 0x70, 0x35, 0x48, 0x48, 0x35, 0x34, 0x47, 0x47, 0x34, 0x35, 0x48, 0x48, 0x35, 0x34, 0x47, 0x47, 0xFE, 0x4C, 0xFE, 0x4E, 0x1, 0xB2, 0xDD, 0x1, 0x95, 0xFE, 0x6B, 0xFD, 0xF9, 0x35, 0x47, 0x47, 0x35, 0x34, 0x47, 0x47, 0x34, 0x35, 0x47, 0x47, 0x35, 0x34, 0x47, 0x47, 0xFF, 0xFF, 0x0, 0x43, 0xFF, 0xE2, 0x1, 0x57, 0x5, 0x5C, 0x0, 0x27, 0x1, 0xD4, 0x3, 0x28, 0x5, 0xD1, 0x0, 0x27, 0x1, 0xD4, 0x3, 0x28, 0x3, 0x90, 0x0, 0x7, 0x1, 0xD4, 0x3, 0x28, 0x1, 0x4F, 0xFF, 0xFF, 0x0, 0x43, 0xFF, 0xE2, 0x1, 0x57, 0x5, 0x5C, 0x0, 0x27, 0x1, 0xD4, 0x3, 0x28, 0x5, 0xD1, 0x0, 0x27, 0x1, 0xD4, 0x3, 0x28, 0x4, 0x4E, 0x0, 0x27, 0x1, 0xD4, 0x3, 0x28, 0x2, 0xCF, 0x0, 0x7, 0x1, 0xD4, 0x3, 0x28, 0x1, 0x4F, 0xFF, 0xFF, 0x0, 0x4C, 0x2, 0x90, 0x2, 0xAA, 0x5, 0xBB, 0x0, 0x7, 0x7, 0x43, 0x0, 0x0, 0x2, 0x9B, 0x0, 0x2, 0x0, 0x79, 0x2, 0x30, 0x1, 0x5F, 0x6, 0x91, 0x0, 0xB, 0x0, 0xF, 0x0, 0x0, 0x13, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x6, 0x23, 0x22, 0x26, 0x17, 0x11, 0x23, 0x11, 0x79, 0x3C, 0x36, 0x38, 0x3C, 0x3C, 0x38, 0x36, 0x3C, 0xD9, 0xC5, 0x6, 0x24, 0x2F, 0x3E, 0x3E, 0x2F, 0x2E, 0x3D, 0x3D, 0xA2, 0xFC, 0xDC, 0x3, 0x24, 0xFF, 0xFF, 0x0, 0x35, 0x2, 0x9B, 0x2, 0xBF, 0x5, 0xB0, 0x0, 0x7, 0x7, 0x9E, 0x0, 0x0, 0x2, 0x9B, 0xFF, 0xFF, 0x0, 0x4F, 0x2, 0x90, 0x2, 0xAE, 0x5, 0xB0, 0x0, 0x7, 0x7, 0x9F, 0x0, 0x0, 0x2, 0x9B, 0xFF, 0xFF, 0x0, 0x4E, 0x2, 0x90, 0x2, 0xB9, 0x5, 0xBD, 0x0, 0x7, 0x7, 0xA0, 0x0, 0x0, 0x2, 0x9B, 0xFF, 0xFF, 0x0, 0x37, 0x2, 0x9B, 0x2, 0xAE, 0x5, 0xB0, 0x0, 0x7, 0x7, 0xA1, 0x0, 0x0, 0x2, 0x9B, 0xFF, 0xFF, 0x0, 0x4C, 0x2, 0x90, 0x2, 0xAA, 0x5, 0xBB, 0x0, 0x7, 0x7, 0xA2, 0x0, 0x0, 0x2, 0x9B, 0xFF, 0xFF, 0x0, 0x47, 0x2, 0x92, 0x2, 0xA4, 0x5, 0xBB, 0x0, 0x7, 0x7, 0xA3, 0x0, 0x0, 0x2, 0x9B, 0x0, 0x1, 0x0, 0x50, 0x2, 0x8E, 0x2, 0xEC, 0x5, 0x53, 0x0, 0xB, 0x0, 0x0, 0x1, 0x23, 0x11, 0x23, 0x11, 0x23, 0x35, 0x33, 0x11, 0x33, 0x11, 0x33, 0x2, 0xEC, 0xFD, 0xA1, 0xFE, 0xFE, 0xA1, 0xFD, 0x3, 0xA3, 0xFE, 0xEB, 0x1, 0x15, 0x9A, 0x1, 0x16, 0xFE, 0xEA, 0x0, 0x1, 0x0, 0x50, 0x3, 0xA3, 0x2, 0xA9, 0x4, 0x3D, 0x0, 0x3, 0x0, 0x0, 0x1, 0x15, 0x21, 0x35, 0x2, 0xA9, 0xFD, 0xA7, 0x4, 0x3D, 0x9A, 0x9A, 0x0, 0x2, 0x0, 0x50, 0x3, 0x10, 0x2, 0xA9, 0x4, 0xD0, 0x0, 0x3, 0x0, 0x7, 0x0, 0x0, 0x1, 0x15, 0x21, 0x35, 0x1, 0x15, 0x21, 0x35, 0x2, 0xA9, 0xFD, 0xA7, 0x2, 0x59, 0xFD, 0xA7, 0x4, 0xD0, 0x9A, 0x9A, 0xFE, 0xDA, 0x9A, 0x9A, 0x0, 0x1, 0x0, 0x50, 0x1, 0x87, 0x1, 0xB0, 0x6, 0x31, 0x0, 0xE, 0x0, 0x0, 0x13, 0x34, 0x12, 0x37, 0x17, 0x6, 0x6, 0x15, 0x14, 0x16, 0x17, 0x7, 0x26, 0x2, 0x35, 0x50, 0xC5, 0x57, 0x44, 0x37, 0x65, 0x65, 0x37, 0x44, 0x57, 0xC5, 0x3, 0xE5, 0xF7, 0x1, 0x2A, 0x2B, 0x7F, 0x3A, 0xCF, 0xD6, 0xCC, 0xCA, 0x3A, 0x7C, 0x2C, 0x1, 0x2A, 0xF8, 0x0, 0x1, 0x0, 0x50, 0x1, 0x87, 0x1, 0xB0, 0x6, 0x31, 0x0, 0xE, 0x0, 0x0, 0x1, 0x14, 0x2, 0x7, 0x27, 0x36, 0x36, 0x35, 0x34, 0x26, 0x27, 0x37, 0x16, 0x12, 0x15, 0x1, 0xB0, 0xC4, 0x58, 0x44, 0x37, 0x65, 0x64, 0x38, 0x44, 0x58, 0xC4, 0x3, 0xD4, 0xF7, 0xFE, 0xD6, 0x2C, 0x7C, 0x3A, 0xC9, 0xE0, 0xC2, 0xD0, 0x3A, 0x7F, 0x2B, 0xFE, 0xD6, 0xF7, 0x0, 0x1, 0x0, 0x6A, 0x2, 0x8C, 0x3, 0x0, 0x5, 0xBA, 0x0, 0x10, 0x0, 0x0, 0x1, 0x22, 0x7, 0x11, 0x23, 0x11, 0x33, 0x17, 0x36, 0x33, 0x32, 0x16, 0x15, 0x11, 0x23, 0x11, 0x26, 0x1, 0xB8, 0x61, 0x28, 0xC5, 0x98, 0x20, 0x4B, 0x8F, 0x79, 0x8B, 0xC5, 0x4, 0x5, 0x13, 0x58, 0xFD, 0xD1, 0x3, 0x21, 0x79, 0x86, 0x91, 0xA2, 0xFE, 0x5, 0x1, 0xD9, 0xAE, 0xFF, 0xFF, 0x0, 0x4C, 0xFE, 0x88, 0x2, 0xAA, 0x1, 0xB3, 0x0, 0x7, 0x7, 0x43, 0x0, 0x0, 0xFE, 0x93, 0xFF, 0xFF, 0x0, 0x81, 0xFE, 0x93, 0x2, 0x3, 0x1, 0xA7, 0x0, 0x7, 0x7, 0x42, 0x0, 0x0, 0xFE, 0x93, 0xFF, 0xFF, 0x0, 0x3C, 0xFE, 0x93, 0x2, 0xB2, 0x1, 0xB3, 0x0, 0x7, 0x7, 0x41, 0x0, 0x0, 0xFE, 0x93, 0xFF, 0xFF, 0x0, 0x37, 0xFE, 0x88, 0x2, 0xA9, 0x1, 0xB3, 0x0, 0x7, 0x7, 0x9D, 0x0, 0x0, 0xFE, 0x93, 0xFF, 0xFF, 0x0, 0x35, 0xFE, 0x93, 0x2, 0xBF, 0x1, 0xA8, 0x0, 0x7, 0x7, 0x9E, 0x0, 0x0, 0xFE, 0x93, 0xFF, 0xFF, 0x0, 0x4F, 0xFE, 0x88, 0x2, 0xAE, 0x1, 0xA8, 0x0, 0x7, 0x7, 0x9F, 0x0, 0x0, 0xFE, 0x93, 0xFF, 0xFF, 0x0, 0x4E, 0xFE, 0x88, 0x2, 0xB9, 0x1, 0xB5, 0x0, 0x7, 0x7, 0xA0, 0x0, 0x0, 0xFE, 0x93, 0xFF, 0xFF, 0x0, 0x37, 0xFE, 0x93, 0x2, 0xAE, 0x1, 0xA8, 0x0, 0x7, 0x7, 0xA1, 0x0, 0x0, 0xFE, 0x93, 0xFF, 0xFF, 0x0, 0x4C, 0xFE, 0x88, 0x2, 0xAA, 0x1, 0xB3, 0x0, 0x7, 0x7, 0xA2, 0x0, 0x0, 0xFE, 0x93, 0xFF, 0xFF, 0x0, 0x47, 0xFE, 0x8A, 0x2, 0xA4, 0x1, 0xB3, 0x0, 0x7, 0x7, 0xA3, 0x0, 0x0, 0xFE, 0x93, 0xFF, 0xFF, 0x0, 0x50, 0xFE, 0xA6, 0x2, 0xEC, 0x1, 0x6B, 0x0, 0x7, 0x4, 0xA3, 0x0, 0x0, 0xFC, 0x18, 0xFF, 0xFF, 0x0, 0x50, 0xFF, 0xBB, 0x2, 0xA9, 0x0, 0x55, 0x0, 0x7, 0x4, 0xA4, 0x0, 0x0, 0xFC, 0x18, 0xFF, 0xFF, 0x0, 0x50, 0xFF, 0x28, 0x2, 0xA9, 0x0, 0xE8, 0x0, 0x7, 0x4, 0xA5, 0x0, 0x0, 0xFC, 0x18, 0x0, 0x1, 0x0, 0x50, 0xFD, 0xEB, 0x1, 0xB0, 0x2, 0x53, 0x0, 0xE, 0x0, 0x0, 0x37, 0x34, 0x12, 0x37, 0x17, 0x6, 0x6, 0x15, 0x14, 0x16, 0x17, 0x7, 0x26, 0x2, 0x35, 0x50, 0xC5, 0x57, 0x44, 0x37, 0x65, 0x65, 0x37, 0x44, 0x57, 0xC5, 0x25, 0xEB, 0x1, 0x1B, 0x28, 0x7F, 0x35, 0xC2, 0xCA, 0xBD, 0xBB, 0x35, 0x7B, 0x28, 0x1, 0x18, 0xE9, 0x0, 0x1, 0x0, 0x50, 0xFD, 0xEB, 0x1, 0xB0, 0x2, 0x53, 0x0, 0xE, 0x0, 0x0, 0x25, 0x14, 0x2, 0x7, 0x27, 0x36, 0x36, 0x35, 0x34, 0x26, 0x27, 0x37, 0x16, 0x12, 0x15, 0x1, 0xB0, 0xC4, 0x58, 0x44, 0x37, 0x65, 0x64, 0x38, 0x44, 0x58, 0xC4, 0x1E, 0xED, 0xFE, 0xE3, 0x29, 0x7B, 0x37, 0xBD, 0xD6, 0xB2, 0xBE, 0x34, 0x7F, 0x28, 0xFE, 0xEA, 0xE6, 0xFF, 0xFF, 0x0, 0x3C, 0xFE, 0x50, 0x3, 0x0, 0x1, 0x8D, 0x0, 0x7, 0x3, 0x72, 0x0, 0x0, 0xFB, 0xD3, 0xFF, 0xFF, 0x0, 0x3C, 0xFE, 0x4B, 0x3, 0x16, 0x1, 0x89, 0x0, 0x7, 0x3, 0x78, 0x0, 0x0, 0xFB, 0xCD, 0xFF, 0xFF, 0x0, 0x3C, 0xFE, 0x4C, 0x3, 0x32, 0x1, 0x8A, 0x0, 0x7, 0x3, 0x81, 0x0, 0x0, 0xFB, 0xD0, 0xFF, 0xFF, 0x0, 0x28, 0xFE, 0x5F, 0x3, 0x12, 0x1, 0x80, 0x0, 0x7, 0x1, 0x94, 0xFF, 0xF9, 0xFB, 0xD3, 0xFF, 0xFF, 0x0, 0x3C, 0xFE, 0x4B, 0x3, 0x16, 0x1, 0x89, 0x0, 0xF, 0x3, 0x78, 0x3, 0x52, 0x4, 0x7, 0xC0, 0x0, 0xFF, 0xFF, 0x0, 0x64, 0xFE, 0x5F, 0x2, 0xFA, 0x3, 0x1, 0x0, 0x7, 0x1, 0x62, 0x0, 0x0, 0xFB, 0xD3, 0xFF, 0xFF, 0x0, 0x64, 0xFE, 0x5F, 0x3, 0x3E, 0x2, 0xE1, 0x0, 0x7, 0x3, 0x7E, 0x0, 0x0, 0xFB, 0xD3, 0xFF, 0xFF, 0x0, 0x78, 0xFE, 0x5F, 0x1, 0x3D, 0x3, 0x1, 0x0, 0x7, 0x1, 0x92, 0x0, 0x14, 0xFB, 0xD3, 0xFF, 0xFF, 0x0, 0x64, 0xFE, 0x5F, 0x4, 0xCC, 0x1, 0x8D, 0x0, 0x7, 0x3, 0x7F, 0x0, 0x0, 0xFB, 0xD3, 0x0, 0x1, 0x0, 0x64, 0xFE, 0x60, 0x2, 0xFA, 0x1, 0x8D, 0x0, 0x10, 0x0, 0x0, 0x25, 0x22, 0x7, 0x11, 0x23, 0x11, 0x33, 0x17, 0x36, 0x33, 0x32, 0x16, 0x15, 0x11, 0x23, 0x11, 0x26, 0x1, 0xB3, 0x62, 0x28, 0xC5, 0xA7, 0x14, 0x4C, 0x8C, 0x78, 0x8B, 0xC5, 0x4, 0xE7, 0x59, 0xFD, 0xD2, 0x3, 0x20, 0x74, 0x81, 0x91, 0xA2, 0xFE, 0x6, 0x1, 0xD8, 0xAF, 0x0, 0x2, 0x0, 0x64, 0xFD, 0xEE, 0x3, 0x3D, 0x1, 0x88, 0x0, 0x9, 0x0, 0x19, 0x0, 0x0, 0x5, 0x32, 0x36, 0x35, 0x34, 0x23, 0x22, 0x7, 0x11, 0x16, 0x17, 0x22, 0x27, 0x15, 0x23, 0x11, 0x33, 0x17, 0x36, 0x33, 0x32, 0x16, 0x15, 0x15, 0x14, 0x6, 0x1, 0xCD, 0x5D, 0x4E, 0xAA, 0x72, 0x34, 0x33, 0x9F, 0x84, 0x4E, 0xC4, 0xAC, 0xC, 0x50, 0x90, 0x98, 0xA9, 0xA8, 0xC8, 0x72, 0x6A, 0xCC, 0x57, 0xFE, 0xFF, 0x50, 0xA6, 0x52, 0xF6, 0x3, 0x8B, 0x55, 0x64, 0xCD, 0xA8, 0xF, 0xA9, 0xC9, 0xFF, 0xFF, 0x0, 0x3C, 0xFE, 0x4B, 0x2, 0xDF, 0x1, 0x89, 0x0, 0x7, 0x1, 0x93, 0x0, 0x0, 0xFB, 0xCF, 0xFF, 0xFF, 0x0, 0x28, 0xFE, 0x4B, 0x2, 0x2, 0x2, 0x3E, 0x0, 0x7, 0x3, 0x86, 0x0, 0x0, 0xFB, 0xCE, 0x0, 0x1, 0x0, 0x58, 0xFF, 0xFF, 0x5, 0x28, 0x6, 0x1, 0x0, 0x20, 0x0, 0x0, 0x5, 0x11, 0x22, 0x0, 0x35, 0x35, 0x34, 0x0, 0x33, 0x32, 0x16, 0x17, 0x23, 0x26, 0x23, 0x22, 0x6, 0x15, 0x15, 0x14, 0x16, 0x33, 0x11, 0x21, 0x15, 0x21, 0x15, 0x21, 0x15, 0x21, 0x11, 0x21, 0x15, 0x2, 0x22, 0xC6, 0xFE, 0xFC, 0x1, 0x3, 0xC7, 0xC4, 0xEA, 0xD, 0xE4, 0x1A, 0xBD, 0x68, 0x7E, 0x7F, 0x67, 0x3, 0x6, 0xFD, 0xDE, 0x1, 0xD2, 0xFE, 0x2E, 0x2, 0x22, 0x1, 0x1, 0xBE, 0x1, 0x3, 0xCF, 0xA0, 0xD0, 0x1, 0x2, 0xC2, 0xC2, 0xCE, 0xA1, 0x7A, 0xA1, 0x79, 0xA4, 0x1, 0x98, 0xB6, 0xE0, 0xB7, 0xFE, 0xF8, 0xB6, 0x0, 0x3, 0x0, 0x66, 0xFF, 0x83, 0x4, 0xEC, 0x6, 0x22, 0x0, 0x5, 0x0, 0xB, 0x0, 0x2C, 0x0, 0x0, 0x1, 0x14, 0x17, 0x13, 0x4, 0x11, 0x13, 0x1, 0x26, 0x27, 0x1, 0x16, 0x3, 0x37, 0x26, 0x27, 0x7, 0x23, 0x13, 0x26, 0x3, 0x35, 0x10, 0x0, 0x25, 0x37, 0x33, 0x7, 0x16, 0x17, 0x37, 0x33, 0x3, 0x16, 0x17, 0x23, 0x1, 0x36, 0x36, 0x37, 0x33, 0x6, 0x0, 0x21, 0x7, 0x1, 0x65, 0xD, 0xFA, 0xFE, 0xF9, 0xDB, 0x1, 0x48, 0x27, 0x37, 0xFE, 0xBA, 0x27, 0x36, 0x2A, 0x33, 0x2E, 0x37, 0xC0, 0x5F, 0x9E, 0x2, 0x1, 0x3D, 0x1, 0xE, 0x1F, 0xBF, 0x25, 0x34, 0x2F, 0x30, 0xBF, 0x55, 0x71, 0x14, 0xF1, 0xFF, 0x0, 0x79, 0x6B, 0x10, 0xFC, 0x13, 0xFE, 0xE6, 0xFE, 0xF9, 0x22, 0x2, 0x9D, 0x5E, 0x4D, 0x2, 0xFE, 0x3A, 0xFE, 0x55, 0xFD, 0xBF, 0x3, 0xF2, 0x20, 0xF, 0xFC, 0x17, 0x26, 0xFE, 0xA7, 0x82, 0xF, 0x18, 0xA9, 0x1, 0x23, 0xB9, 0x1, 0x36, 0x7E, 0x1, 0x37, 0x1, 0x76, 0x4, 0x5E, 0x72, 0xD, 0x16, 0x95, 0xFE, 0xF9, 0x80, 0xCC, 0xFC, 0xEE, 0x10, 0x93, 0x7A, 0xD4, 0xFE, 0xE6, 0x69, 0x0, 0x1, 0x0, 0x66, 0xFF, 0xEC, 0x4, 0xEC, 0x5, 0xC4, 0x0, 0x28, 0x0, 0x0, 0x1, 0x6, 0x0, 0x21, 0x20, 0x0, 0x11, 0x35, 0x10, 0x0, 0x21, 0x20, 0x0, 0x17, 0x23, 0x26, 0x26, 0x23, 0x22, 0x6, 0x7, 0x15, 0x14, 0x16, 0x17, 0x11, 0x33, 0x17, 0x36, 0x33, 0x32, 0x17, 0x7, 0x26, 0x23, 0x22, 0x7, 0x11, 0x36, 0x36, 0x37, 0x4, 0xEB, 0x13, 0xFE, 0xE5, 0xFE, 0xF4, 0xFE, 0xF3, 0xFE, 0xC2, 0x1, 0x44, 0x1, 0x13, 0x1, 0x5, 0x1, 0x14, 0x16, 0xFC, 0x10, 0x87, 0x9C, 0xAB, 0xAC, 0x1, 0x5F, 0x6A, 0xE2, 0xA, 0x5A, 0x9C, 0x35, 0x22, 0x2, 0x32, 0x31, 0xA7, 0x3A, 0x64, 0x5C, 0xE, 0x1, 0xDA, 0xD4, 0xFE, 0xE6, 0x1, 0x76, 0x1, 0x3B, 0x76, 0x1, 0x3A, 0x1, 0x77, 0xFE, 0xE5, 0xDA, 0x8C, 0x9D, 0xFA, 0xE4, 0x7D, 0xAC, 0xF2, 0x2E, 0x2, 0x9B, 0x78, 0x8C, 0xE, 0xE4, 0x8, 0x7F, 0xFE, 0xAD, 0x18, 0x8E, 0x70, 0x0, 0x1, 0x0, 0x60, 0x0, 0x0, 0x4, 0x7C, 0x5, 0xC4, 0x0, 0x28, 0x0, 0x0, 0x21, 0x21, 0x35, 0x33, 0x36, 0x36, 0x35, 0x27, 0x23, 0x35, 0x33, 0x27, 0x23, 0x35, 0x33, 0x27, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x23, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x17, 0x21, 0x15, 0x21, 0x17, 0x21, 0x15, 0x21, 0x17, 0x14, 0x7, 0x21, 0x4, 0x7C, 0xFB, 0xE7, 0x51, 0x32, 0x21, 0x2, 0xA5, 0xA0, 0x4, 0x9C, 0x97, 0x5, 0xFF, 0xC6, 0xD0, 0xE3, 0xF5, 0x7A, 0x4E, 0x51, 0x6E, 0x6, 0x1, 0x3E, 0xFE, 0xC7, 0x5, 0x1, 0x34, 0xFE, 0xD1, 0x2, 0x41, 0x2, 0xB8, 0xCA, 0xD, 0x8A, 0x3D, 0x37, 0x90, 0x79, 0x90, 0xA1, 0xCF, 0xE6, 0xDE, 0xB5, 0x6E, 0x5A, 0x78, 0x72, 0xA1, 0x90, 0x79, 0x90, 0x2F, 0x88, 0x54, 0x0, 0x1, 0x0, 0x7D, 0xFF, 0x83, 0x6, 0x7A, 0x5, 0x1, 0x0, 0x25, 0x0, 0x0, 0x21, 0x35, 0x3, 0x23, 0x1, 0x35, 0x34, 0x26, 0x23, 0x22, 0x7, 0x11, 0x23, 0x11, 0x33, 0x17, 0x36, 0x33, 0x32, 0x17, 0x13, 0x33, 0x7, 0x36, 0x33, 0x32, 0x16, 0x17, 0x11, 0x23, 0x11, 0x34, 0x26, 0x23, 0x22, 0x6, 0x7, 0x11, 0x3, 0x1, 0x80, 0xC0, 0x1, 0x40, 0x68, 0x5A, 0x93, 0x3D, 0xF2, 0xE4, 0x7, 0x73, 0xC6, 0x95, 0x56, 0x69, 0xBF, 0x58, 0x53, 0x67, 0xA6, 0xBD, 0x1, 0xF3, 0x69, 0x5A, 0x53, 0x69, 0x14, 0xC3, 0xFE, 0xC0, 0x3, 0x1E, 0x1B, 0x72, 0x5A, 0x78, 0xFC, 0xF0, 0x4, 0x3A, 0x71, 0x85, 0x52, 0x1, 0x5, 0xDB, 0x28, 0xB8, 0xD4, 0xFD, 0x3E, 0x2, 0xBE, 0x78, 0x52, 0x5A, 0x48, 0xFD, 0x1A, 0x0, 0x5, 0x0, 0x22, 0x0, 0x0, 0x6, 0x4F, 0x5, 0xB0, 0x0, 0x2, 0x0, 0x6, 0x0, 0xA, 0x0, 0x26, 0x0, 0x29, 0x0, 0x0, 0x1, 0x15, 0x33, 0x13, 0x27, 0x23, 0x15, 0x21, 0x35, 0x23, 0x17, 0x13, 0x1, 0x21, 0x11, 0x23, 0x11, 0x23, 0x35, 0x33, 0x35, 0x23, 0x35, 0x33, 0x11, 0x33, 0x1, 0x21, 0x11, 0x33, 0x11, 0x33, 0x15, 0x23, 0x15, 0x33, 0x15, 0x23, 0x11, 0x3, 0x35, 0x23, 0x1, 0xF1, 0x2B, 0xC2, 0x5E, 0x8F, 0x2, 0x8B, 0xF2, 0x5E, 0x92, 0xFE, 0xC9, 0xFE, 0xAE, 0xFD, 0xD2, 0xD2, 0xD2, 0xD2, 0xFD, 0x1, 0x35, 0x1, 0x56, 0xFB, 0xD8, 0xD8, 0xD8, 0xD8, 0xFB, 0x2F, 0x4, 0x9, 0x44, 0xFE, 0xCA, 0x96, 0x96, 0x96, 0x96, 0xFD, 0x71, 0x1, 0xEF, 0xFE, 0x11, 0x1, 0xEF, 0xA0, 0x96, 0xA0, 0x1, 0xEB, 0xFE, 0x15, 0x1, 0xEB, 0xFE, 0x15, 0xA0, 0x96, 0xA0, 0xFE, 0x11, 0x1, 0xA4, 0x4B, 0x0, 0x2, 0x0, 0x99, 0xFF, 0xEC, 0x6, 0x3A, 0x5, 0xB0, 0x0, 0x8, 0x0, 0x28, 0x0, 0x0, 0x1, 0x11, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x1, 0x6, 0x23, 0x22, 0x26, 0x35, 0x11, 0x23, 0x6, 0x6, 0x23, 0x23, 0x11, 0x23, 0x11, 0x21, 0x32, 0x16, 0x17, 0x33, 0x11, 0x33, 0x11, 0x33, 0x15, 0x23, 0x11, 0x14, 0x16, 0x33, 0x32, 0x37, 0x1, 0x93, 0x92, 0x95, 0x5F, 0x5F, 0x95, 0x4, 0x15, 0x43, 0x5D, 0x79, 0x9F, 0x77, 0x1A, 0xED, 0xDF, 0x92, 0xFA, 0x1, 0x8C, 0xE5, 0xEE, 0x16, 0x74, 0xF3, 0xBF, 0xBF, 0x3F, 0x31, 0x2A, 0x2B, 0x4, 0xE4, 0xFE, 0x4, 0x9F, 0x61, 0x60, 0x9C, 0xFB, 0x20, 0x18, 0x89, 0xA7, 0x2, 0x6B, 0xA1, 0xCA, 0xFD, 0xE4, 0x5, 0xB0, 0xD1, 0xA5, 0x1, 0x7, 0xFE, 0xF9, 0xB3, 0xFD, 0xA3, 0x49, 0x2B, 0xA, 0xFF, 0xFF, 0x0, 0x95, 0xFF, 0xEC, 0x8, 0x3C, 0x5, 0xB0, 0x0, 0x26, 0x0, 0x37, 0x0, 0x0, 0x0, 0x7, 0x0, 0x58, 0x4, 0x72, 0x0, 0x0, 0x0, 0x6, 0x0, 0x22, 0x0, 0x0, 0x6, 0x7, 0x5, 0xB0, 0x0, 0x3, 0x0, 0x7, 0x0, 0xB, 0x0, 0xE, 0x0, 0x11, 0x0, 0x31, 0x0, 0x0, 0x1, 0x37, 0x23, 0x17, 0x21, 0x27, 0x23, 0x7, 0x21, 0x37, 0x23, 0x17, 0x1, 0x37, 0x23, 0x5, 0x37, 0x23, 0x1, 0x3, 0x23, 0x35, 0x33, 0x27, 0x23, 0x35, 0x33, 0x3, 0x33, 0x13, 0x33, 0x13, 0x33, 0x13, 0x33, 0x13, 0x33, 0x3, 0x33, 0x15, 0x23, 0x7, 0x33, 0x15, 0x23, 0x3, 0x23, 0x3, 0x23, 0x3, 0x2, 0x34, 0x1A, 0xA6, 0x1A, 0x1, 0x74, 0x1A, 0x12, 0x1B, 0x1, 0x75, 0x19, 0xA1, 0x19, 0xFE, 0x7, 0x1F, 0x3F, 0x2, 0x50, 0x1E, 0x3C, 0xFD, 0x6E, 0x77, 0xE3, 0xC3, 0x21, 0xA2, 0x81, 0x4F, 0xFB, 0x3F, 0xD9, 0x3D, 0xE1, 0x3D, 0xD5, 0x3D, 0xFB, 0x4F, 0x87, 0xA7, 0x21, 0xC8, 0xE8, 0x77, 0xFA, 0x5E, 0x7B, 0x60, 0x2, 0xE9, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xA2, 0xFE, 0x9B, 0xC5, 0xBE, 0xBE, 0xFD, 0xB7, 0x2, 0x49, 0xA0, 0xA2, 0xA0, 0x1, 0x85, 0xFE, 0x7B, 0x1, 0x85, 0xFE, 0x7B, 0x1, 0x85, 0xFE, 0x7B, 0xA0, 0xA2, 0xA0, 0xFD, 0xB7, 0x2, 0x49, 0xFD, 0xB7, 0x0, 0x2, 0x0, 0x7D, 0x0, 0x0, 0x6, 0x10, 0x4, 0x3A, 0x0, 0xD, 0x0, 0x1B, 0x0, 0x0, 0x13, 0x21, 0x32, 0x16, 0x17, 0x11, 0x23, 0x11, 0x34, 0x26, 0x23, 0x21, 0x11, 0x23, 0x21, 0x11, 0x33, 0x11, 0x21, 0x32, 0x36, 0x35, 0x11, 0x33, 0x11, 0x14, 0x4, 0x23, 0x7D, 0x2, 0x90, 0xB6, 0xB3, 0x1, 0xF3, 0x66, 0x5E, 0xFE, 0xAF, 0xF2, 0x1, 0x99, 0xF2, 0x1, 0x51, 0x5E, 0x66, 0xF3, 0xFE, 0xF2, 0xB7, 0x4, 0x3A, 0xBA, 0xD7, 0xFE, 0xBC, 0x1, 0x40, 0x7B, 0x56, 0xFC, 0x8A, 0x2, 0xD6, 0xFD, 0xEE, 0x56, 0x7B, 0x2, 0xA5, 0xFD, 0x5C, 0xD9, 0xBD, 0x0, 0x1, 0x0, 0x5E, 0xFF, 0xEC, 0x4, 0x31, 0x5, 0xC4, 0x0, 0x23, 0x0, 0x0, 0x25, 0x6, 0x23, 0x22, 0x0, 0x3, 0x23, 0x35, 0x33, 0x35, 0x23, 0x35, 0x33, 0x12, 0x0, 0x33, 0x32, 0x17, 0x7, 0x26, 0x23, 0x22, 0x6, 0x7, 0x21, 0x15, 0x21, 0x15, 0x21, 0x15, 0x21, 0x16, 0x16, 0x33, 0x32, 0x37, 0x4, 0x31, 0x7A, 0x7F, 0xF0, 0xFE, 0xCA, 0x8, 0xAC, 0xAC, 0xAC, 0xAD, 0xE, 0x1, 0x38, 0xF0, 0x6B, 0x85, 0x1D, 0x63, 0x67, 0x8E, 0xA9, 0xB, 0x1, 0x63, 0xFE, 0x9C, 0x1, 0x64, 0xFE, 0x9C, 0x6, 0xAE, 0x8D, 0x6C, 0x60, 0xA, 0x1E, 0x1, 0x13, 0x1, 0x11, 0x8C, 0x81, 0x8C, 0x1, 0xC, 0x1, 0xF, 0x1F, 0xCD, 0x21, 0xA1, 0xAF, 0x8C, 0x81, 0x8C, 0xBA, 0xA0, 0x20, 0x0, 0x1, 0x0, 0x22, 0x0, 0x0, 0x5, 0x90, 0x5, 0xB0, 0x0, 0x13, 0x0, 0x0, 0x21, 0x1, 0x23, 0x11, 0x23, 0x11, 0x23, 0x35, 0x33, 0x11, 0x33, 0x11, 0x33, 0x1, 0x21, 0x1, 0x21, 0x15, 0x21, 0x1, 0x4, 0x60, 0xFE, 0x43, 0xAC, 0xFD, 0xD8, 0xD8, 0xFD, 0x8A, 0x1, 0xAD, 0x1, 0x36, 0xFE, 0x44, 0x1, 0xCB, 0xFE, 0x57, 0x1, 0xC6, 0x2, 0x70, 0xFD, 0x90, 0x2, 0x7A, 0xCA, 0x2, 0x6C, 0xFD, 0x9D, 0x2, 0x63, 0xFD, 0x94, 0xCA, 0xFD, 0x86, 0x0, 0x1, 0x0, 0x2D, 0x0, 0x0, 0x4, 0xB0, 0x5, 0xB0, 0x0, 0x17, 0x0, 0x0, 0x1, 0x7, 0x11, 0x23, 0x11, 0x7, 0x35, 0x37, 0x35, 0x7, 0x35, 0x37, 0x11, 0x21, 0x35, 0x21, 0x15, 0x21, 0x15, 0x37, 0x15, 0x7, 0x15, 0x37, 0x3, 0xC5, 0xDA, 0xFC, 0xE3, 0xE3, 0xE3, 0xE3, 0xFE, 0x3E, 0x4, 0x83, 0xFE, 0x3B, 0xDA, 0xDA, 0xDA, 0x2, 0x39, 0x56, 0xFE, 0x1D, 0x1, 0x7F, 0x5A, 0xBE, 0x5A, 0x92, 0x5A, 0xBE, 0x5A, 0x1, 0x58, 0xCB, 0xCB, 0xF4, 0x57, 0xBE, 0x57, 0x92, 0x57, 0x0, 0x5, 0x0, 0x35, 0xFE, 0x60, 0xA, 0x26, 0x6, 0x7E, 0x0, 0xC, 0x0, 0x18, 0x0, 0x22, 0x0, 0x31, 0x0, 0x50, 0x0, 0x0, 0x25, 0x32, 0x36, 0x35, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x11, 0x16, 0x21, 0x32, 0x12, 0x35, 0x35, 0x34, 0x2, 0x23, 0x7, 0x11, 0x16, 0x16, 0x5, 0x32, 0x35, 0x35, 0x26, 0x7, 0x6, 0x15, 0x14, 0x16, 0x5, 0x22, 0x27, 0x11, 0x23, 0x11, 0x34, 0x0, 0x33, 0x32, 0x12, 0x15, 0x15, 0x14, 0x2, 0x21, 0x22, 0x26, 0x27, 0x6, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x17, 0x11, 0x6, 0x7, 0x35, 0x36, 0x37, 0x35, 0x33, 0x15, 0x36, 0x33, 0x20, 0x0, 0x11, 0x15, 0x10, 0x0, 0x8, 0x40, 0x83, 0x71, 0x6C, 0x83, 0x75, 0x68, 0x44, 0xFC, 0x42, 0xA7, 0x95, 0xD8, 0xED, 0x8D, 0x39, 0x82, 0xFD, 0xE6, 0x6C, 0x35, 0x32, 0x66, 0x38, 0x7, 0x35, 0xB2, 0x6B, 0xF2, 0x1, 0xA, 0xCC, 0xEC, 0xEE, 0xD6, 0xFA, 0x9E, 0x73, 0xA1, 0x3C, 0x57, 0xCB, 0x9A, 0xAD, 0xA9, 0x8A, 0x42, 0x3B, 0x83, 0x95, 0x93, 0x85, 0xF3, 0x4C, 0x4A, 0x1, 0x47, 0x1, 0x67, 0xFE, 0xD8, 0xAF, 0xC0, 0x8B, 0x15, 0x9B, 0xE1, 0xDC, 0x7C, 0xFE, 0xF1, 0x75, 0x1, 0x1E, 0xE6, 0x4C, 0xEF, 0x1, 0x13, 0x5, 0xFC, 0x3A, 0x36, 0x51, 0x15, 0x78, 0x18, 0x2D, 0x1, 0x2, 0x5B, 0x2B, 0x34, 0xAE, 0x78, 0xFD, 0xFC, 0x3, 0xE0, 0xF5, 0x1, 0x19, 0xFE, 0xBD, 0xFD, 0x14, 0xE7, 0xFE, 0xD9, 0x4B, 0x34, 0x7F, 0x98, 0x78, 0x80, 0x8E, 0x17, 0x2, 0xE9, 0x18, 0x2A, 0xC3, 0x29, 0x18, 0xE0, 0xC0, 0x6, 0xFE, 0x76, 0xFE, 0xC3, 0x4A, 0xFE, 0xB1, 0xFE, 0x88, 0x0, 0x2, 0x0, 0x22, 0xFE, 0x4B, 0x4, 0xC1, 0x6, 0x18, 0x0, 0xB, 0x0, 0x30, 0x0, 0x0, 0x1, 0x36, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x14, 0x16, 0x13, 0x22, 0x27, 0x35, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x27, 0x7, 0x3, 0x3, 0x23, 0x1, 0x1, 0x37, 0x3, 0x27, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x2, 0x3, 0x13, 0x16, 0x15, 0x14, 0x6, 0x3, 0x5A, 0x55, 0x3F, 0x47, 0x3D, 0x3F, 0x45, 0x1D, 0x3F, 0x6C, 0x6E, 0x5A, 0x62, 0x36, 0x32, 0x24, 0x45, 0x89, 0xFF, 0x99, 0xE0, 0x1, 0x58, 0x1, 0x4, 0x4F, 0x79, 0x29, 0x1F, 0xB2, 0xAA, 0xB3, 0xA6, 0x81, 0x8D, 0x8A, 0x39, 0xA5, 0x2, 0xFC, 0xAC, 0xBD, 0x51, 0x48, 0x57, 0x59, 0x49, 0x38, 0x7C, 0xFA, 0x4C, 0x2C, 0xC1, 0x2A, 0x39, 0x2B, 0x34, 0x7C, 0xC8, 0xFE, 0x1, 0x3B, 0xFE, 0xD9, 0x2, 0x93, 0xFE, 0xBB, 0x99, 0x1, 0x63, 0x8D, 0x72, 0x74, 0x95, 0xC6, 0xC9, 0x8E, 0x84, 0xFE, 0xC2, 0xFE, 0xF7, 0xFE, 0x69, 0xB3, 0x69, 0x71, 0x87, 0x0, 0x4, 0x0, 0x22, 0x0, 0x0, 0x5, 0xD5, 0x5, 0xB0, 0x0, 0x4, 0x0, 0x9, 0x0, 0xE, 0x0, 0x28, 0x0, 0x0, 0x1, 0x15, 0x21, 0x26, 0x23, 0x1, 0x27, 0x21, 0x15, 0x21, 0x7, 0x21, 0x15, 0x21, 0x32, 0x5, 0x11, 0x23, 0x11, 0x23, 0x35, 0x33, 0x35, 0x23, 0x35, 0x33, 0x11, 0x21, 0x32, 0x16, 0x17, 0x33, 0x15, 0x23, 0x17, 0x7, 0x33, 0x15, 0x23, 0x6, 0x5, 0x1, 0xD6, 0x1, 0xF2, 0x48, 0x79, 0x1, 0x14, 0x2, 0xFD, 0xBD, 0x2, 0x44, 0x4E, 0xFE, 0xA, 0x1, 0x31, 0x7F, 0xFE, 0x50, 0xFC, 0xB8, 0xB8, 0xB8, 0xB8, 0x2, 0x2D, 0xB9, 0xF9, 0x37, 0xE5, 0xBD, 0x1, 0x1, 0xBD, 0xE1, 0x6D, 0xFE, 0x94, 0x4, 0xE5, 0x3E, 0x3E, 0xFE, 0xFA, 0x28, 0x47, 0xA0, 0x38, 0xCB, 0xFD, 0xE3, 0x3, 0x20, 0xA0, 0x47, 0xA0, 0x1, 0x9, 0x90, 0x79, 0xA0, 0x26, 0x21, 0xA0, 0xFC, 0x7, 0x0, 0x3, 0x0, 0x6A, 0xFF, 0x83, 0x4, 0xF0, 0x6, 0x17, 0x0, 0x19, 0x0, 0x1F, 0x0, 0x25, 0x0, 0x0, 0x25, 0x6, 0x6, 0x7, 0x15, 0x23, 0x35, 0x26, 0x0, 0x3, 0x35, 0x10, 0x0, 0x37, 0x35, 0x33, 0x15, 0x16, 0x16, 0x17, 0x23, 0x26, 0x26, 0x27, 0x11, 0x21, 0x5, 0x10, 0x17, 0x11, 0x6, 0x11, 0x5, 0x23, 0x11, 0x36, 0x36, 0x37, 0x4, 0xF0, 0x2B, 0xDB, 0xD5, 0xC3, 0xDB, 0xFE, 0xF5, 0x2, 0x1, 0x1, 0xE7, 0xC3, 0xE0, 0xE3, 0x18, 0xF8, 0x10, 0x69, 0x6A, 0x1, 0xDB, 0xFC, 0x79, 0xE9, 0xE9, 0x2, 0x8B, 0xDF, 0x66, 0x62, 0x17, 0xBE, 0x3A, 0x8B, 0xB, 0x6B, 0x75, 0x2A, 0x1, 0x5F, 0x1, 0x1E, 0x68, 0x1, 0x2B, 0x1, 0x67, 0x23, 0x5B, 0x57, 0x15, 0xFD, 0xBB, 0x60, 0x8B, 0x14, 0xFD, 0xF9, 0x43, 0xFE, 0x88, 0x60, 0x4, 0x18, 0x4F, 0xFE, 0x6B, 0xD8, 0xFE, 0x8C, 0x7, 0x36, 0x19, 0x0, 0x3, 0x0, 0x22, 0x0, 0x0, 0x5, 0x64, 0x5, 0xB0, 0x0, 0x2, 0x0, 0x6, 0x0, 0x1E, 0x0, 0x0, 0x1, 0x27, 0x7, 0x1, 0x27, 0x21, 0x7, 0x1, 0x3, 0x21, 0x3, 0x21, 0x13, 0x23, 0x35, 0x33, 0x37, 0x21, 0x35, 0x21, 0x13, 0x33, 0x13, 0x21, 0x15, 0x21, 0x17, 0x33, 0x15, 0x23, 0x13, 0x3, 0x21, 0x55, 0x56, 0x1, 0x29, 0x3A, 0xFE, 0xCD, 0x3A, 0x2, 0x64, 0x77, 0xFD, 0xCD, 0x77, 0xFE, 0xF9, 0x83, 0x95, 0xDF, 0x3F, 0xFE, 0xE2, 0x1, 0x67, 0xD1, 0xE3, 0xD1, 0x1, 0x52, 0xFE, 0xF8, 0x3F, 0xC9, 0x80, 0x84, 0x3, 0x88, 0xF4, 0xF4, 0xFE, 0x97, 0xA6, 0xA6, 0xFD, 0xE1, 0x1, 0x54, 0xFE, 0xAC, 0x1, 0x5C, 0xC3, 0xA6, 0xC3, 0x2, 0x28, 0xFD, 0xD8, 0xC3, 0xA6, 0xC3, 0xFE, 0xA4, 0x0, 0x2, 0x0, 0x43, 0xFF, 0xEC, 0x4, 0x8C, 0x5, 0xC4, 0x0, 0x14, 0x0, 0x29, 0x0, 0x0, 0x1, 0x21, 0x35, 0x21, 0x36, 0x35, 0x34, 0x23, 0x22, 0x6, 0x7, 0x23, 0x36, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x7, 0x33, 0x3, 0x6, 0x4, 0x23, 0x22, 0x26, 0x35, 0x34, 0x37, 0x23, 0x35, 0x21, 0x15, 0x21, 0x6, 0x15, 0x14, 0x33, 0x32, 0x36, 0x37, 0x4, 0x8C, 0xFB, 0xB7, 0x2, 0xB2, 0x37, 0xBD, 0x70, 0x5F, 0x2, 0xFD, 0x6, 0xD6, 0xF0, 0xD4, 0xE8, 0x38, 0x9B, 0x3E, 0x5, 0xFE, 0xF8, 0xD9, 0xE1, 0xF5, 0x40, 0x8F, 0x4, 0x49, 0xFD, 0x45, 0x43, 0xDA, 0x66, 0x80, 0x2, 0x3, 0x1E, 0xB2, 0x42, 0x58, 0x91, 0x5A, 0x50, 0x9F, 0xD4, 0xB0, 0xA2, 0x53, 0x4F, 0xFD, 0x97, 0xC5, 0xB6, 0xB4, 0xA4, 0x61, 0x4F, 0xB2, 0xB2, 0x43, 0x64, 0x99, 0x50, 0x63, 0x0, 0x2, 0x0, 0x66, 0xFF, 0x83, 0x4, 0xEC, 0x6, 0x17, 0x0, 0x1B, 0x0, 0x22, 0x0, 0x0, 0x1, 0x6, 0x2, 0x7, 0x15, 0x23, 0x35, 0x26, 0x0, 0x11, 0x35, 0x10, 0x0, 0x37, 0x35, 0x33, 0x15, 0x16, 0x12, 0x17, 0x23, 0x26, 0x26, 0x27, 0x11, 0x36, 0x36, 0x37, 0x25, 0x14, 0x16, 0x17, 0x11, 0x6, 0x11, 0x4, 0xEB, 0x11, 0xEA, 0xDB, 0xC3, 0xE4, 0xFE, 0xF8, 0x1, 0x8, 0xE4, 0xC3, 0xDA, 0xE9, 0x14, 0xFC, 0xE, 0x62, 0x6B, 0x6A, 0x61, 0xF, 0xFD, 0x76, 0x70, 0x7D, 0xED, 0x1, 0xDA, 0xBF, 0xFE, 0xF2, 0x1B, 0x6F, 0x70, 0x20, 0x1, 0x6C, 0x1, 0x1E, 0x76, 0x1, 0x1B, 0x1, 0x6A, 0x24, 0x5B, 0x58, 0x18, 0xFE, 0xEF, 0xC7, 0x76, 0x96, 0x15, 0xFB, 0xD1, 0x16, 0x8F, 0x74, 0xC3, 0xBA, 0xFC, 0x23, 0x4, 0x25, 0x4A, 0xFE, 0x6E, 0x0, 0x1, 0x0, 0x22, 0xFF, 0xEC, 0x4, 0x20, 0x6, 0x0, 0x0, 0x1D, 0x0, 0x0, 0x25, 0x6, 0x23, 0x22, 0x26, 0x35, 0x11, 0x23, 0x11, 0x23, 0x11, 0x23, 0x35, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x15, 0x23, 0x11, 0x14, 0x16, 0x33, 0x32, 0x37, 0x4, 0x20, 0x43, 0x5D, 0x97, 0x81, 0xA5, 0xF3, 0xAE, 0xAE, 0xF3, 0xA5, 0xF3, 0xBF, 0xBF, 0x27, 0x49, 0x2A, 0x2B, 0x4, 0x18, 0xAA, 0x91, 0x2, 0x60, 0xFC, 0x79, 0x3, 0x87, 0xB3, 0x1, 0xC6, 0xFE, 0x3A, 0x1, 0x7, 0xFE, 0xF9, 0xB3, 0xFD, 0xB7, 0x43, 0x45, 0xA, 0x0, 0x3, 0x0, 0x35, 0xFF, 0x89, 0x4, 0xE2, 0x5, 0xC4, 0x0, 0x8, 0x0, 0xF, 0x0, 0x46, 0x0, 0x0, 0x25, 0x37, 0x35, 0x34, 0x23, 0x22, 0x7, 0x17, 0x16, 0x25, 0x22, 0x7, 0x16, 0x17, 0x34, 0x26, 0x13, 0x35, 0x26, 0x27, 0x15, 0x23, 0x11, 0x33, 0x17, 0x36, 0x33, 0x32, 0x17, 0x36, 0x33, 0x32, 0x17, 0x15, 0x36, 0x35, 0x34, 0x26, 0x27, 0x26, 0x24, 0x35, 0x34, 0x24, 0x33, 0x32, 0x0, 0x15, 0x23, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x14, 0x16, 0x17, 0x16, 0x16, 0x15, 0x14, 0x6, 0x7, 0x15, 0x23, 0x35, 0x7, 0x22, 0x27, 0x15, 0x2, 0xC1, 0x38, 0x64, 0x47, 0x23, 0x2, 0x4A, 0xFE, 0xBC, 0x3A, 0x20, 0x46, 0x78, 0x35, 0x35, 0x7A, 0x52, 0x96, 0x74, 0x18, 0x3A, 0x6C, 0x8B, 0x29, 0x39, 0x75, 0xBF, 0x6, 0x57, 0x85, 0x9E, 0xE2, 0xFE, 0xEF, 0x1, 0x1B, 0xE6, 0xFC, 0x1, 0x14, 0xFC, 0x85, 0x91, 0x82, 0x80, 0xB1, 0x8B, 0xE8, 0xF2, 0xB3, 0xA1, 0x95, 0x38, 0x4C, 0x48, 0xB4, 0x2, 0x2F, 0x90, 0x3C, 0x7A, 0xB, 0xC1, 0x2B, 0x41, 0x28, 0x54, 0x40, 0xFE, 0x14, 0x8F, 0x27, 0x46, 0xFC, 0x2, 0x60, 0x5C, 0x66, 0x74, 0x74, 0xDB, 0x3B, 0x32, 0x68, 0x5F, 0x69, 0x30, 0x45, 0xCD, 0xB1, 0xB0, 0xE2, 0xFE, 0xF7, 0xB3, 0x68, 0x8B, 0x74, 0x54, 0x5C, 0x6A, 0x28, 0x43, 0xD6, 0xB3, 0x91, 0xC1, 0x25, 0x79, 0x64, 0x1, 0xA, 0x6D, 0x0, 0x2, 0x0, 0x2D, 0x0, 0x0, 0x4, 0xB0, 0x5, 0xB0, 0x0, 0x3, 0x0, 0xB, 0x0, 0x0, 0x1, 0x15, 0x21, 0x35, 0x1, 0x21, 0x11, 0x23, 0x11, 0x21, 0x35, 0x21, 0x4, 0xB0, 0xFB, 0x7D, 0x4, 0x83, 0xFE, 0x3B, 0xFC, 0xFE, 0x3E, 0x4, 0x83, 0x5, 0xB0, 0xCB, 0xCB, 0xFD, 0xF6, 0xFC, 0x5A, 0x3, 0xA6, 0xCC, 0x0, 0x1, 0x0, 0x28, 0x0, 0x0, 0x4, 0xC, 0x5, 0xB0, 0x0, 0x1A, 0x0, 0x0, 0x25, 0x15, 0x21, 0x1, 0x27, 0x33, 0x32, 0x36, 0x37, 0x21, 0x37, 0x21, 0x26, 0x27, 0x21, 0x37, 0x21, 0x7, 0x23, 0x16, 0x17, 0x33, 0x7, 0x23, 0x6, 0x6, 0x7, 0x3, 0x59, 0xFE, 0xE2, 0xFE, 0x3, 0x1, 0xFC, 0x70, 0x84, 0x16, 0xFD, 0xE6, 0x32, 0x1, 0xE3, 0x2F, 0xC8, 0xFE, 0xE1, 0x37, 0x3, 0xAD, 0x33, 0xD9, 0x33, 0xF, 0xCA, 0x33, 0x95, 0x15, 0xCF, 0xD9, 0xD, 0xD, 0x2, 0x52, 0x99, 0x5E, 0x4B, 0xB6, 0x96, 0x5, 0xCB, 0xB6, 0x4A, 0x66, 0xB6, 0x98, 0xBC, 0x12, 0x0, 0x1, 0x0, 0x22, 0xFF, 0xEC, 0x4, 0x52, 0x5, 0xB0, 0x0, 0x1D, 0x0, 0x0, 0x5, 0x22, 0x27, 0x11, 0x7, 0x35, 0x37, 0x35, 0x7, 0x35, 0x37, 0x11, 0x33, 0x15, 0x37, 0x15, 0x7, 0x15, 0x37, 0x15, 0x7, 0x11, 0x36, 0x36, 0x37, 0x35, 0x33, 0x15, 0x2, 0x0, 0x1, 0xF4, 0x7A, 0x7C, 0xDC, 0xDC, 0xDC, 0xDC, 0xFB, 0xE2, 0xE2, 0xE2, 0xE2, 0xAC, 0xAE, 0x3, 0xFC, 0x4, 0xFE, 0xB3, 0x14, 0x14, 0x2, 0x5D, 0x57, 0xC8, 0x57, 0x89, 0x57, 0xC7, 0x57, 0x1, 0x3B, 0xD7, 0x5A, 0xC8, 0x59, 0x89, 0x5A, 0xC8, 0x5A, 0xFD, 0xFB, 0x2, 0xF4, 0xF0, 0x5E, 0x5C, 0xFE, 0xBB, 0xFE, 0x8D, 0x0, 0x3, 0x0, 0x28, 0x0, 0x0, 0x6, 0x62, 0x5, 0xA4, 0x0, 0x9, 0x0, 0x2D, 0x0, 0x39, 0x0, 0x0, 0x1, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x14, 0x33, 0x1, 0x14, 0x6, 0x6, 0x23, 0x27, 0x7, 0x27, 0x7, 0x15, 0x14, 0x16, 0x33, 0x15, 0x20, 0x24, 0x27, 0x7, 0x27, 0x25, 0x11, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x15, 0x21, 0x1E, 0x2, 0x25, 0x15, 0x37, 0x17, 0x37, 0x17, 0x36, 0x36, 0x35, 0x34, 0x26, 0x23, 0x1, 0xD8, 0x34, 0x38, 0x29, 0x38, 0x6B, 0x4, 0xEC, 0x91, 0xCD, 0x5A, 0x81, 0xB1, 0x81, 0x2C, 0x98, 0xD6, 0xFE, 0xC3, 0xFE, 0xF3, 0x13, 0xA2, 0x6A, 0x1, 0x8, 0x7D, 0x8A, 0xA9, 0xAD, 0x9A, 0xC6, 0x96, 0x1, 0x8E, 0xC9, 0xE4, 0x5C, 0xFC, 0x69, 0x5D, 0x77, 0xC6, 0x94, 0x4D, 0x30, 0x84, 0xA1, 0x4, 0x3A, 0x4C, 0x31, 0x3F, 0x33, 0x2C, 0x5D, 0xFE, 0x99, 0x86, 0xA6, 0x4D, 0x82, 0x7A, 0x92, 0x10, 0xA, 0x98, 0x8E, 0xB4, 0xC6, 0xC8, 0x3A, 0xD4, 0x56, 0x1, 0x7, 0x8F, 0x80, 0x78, 0x98, 0xD1, 0x87, 0x12, 0x1, 0x6E, 0xA6, 0x60, 0xB8, 0x1E, 0x85, 0x78, 0xAB, 0xE, 0x63, 0x30, 0x52, 0x5F, 0x0, 0x1, 0x0, 0x50, 0x0, 0x0, 0x5, 0x10, 0x4, 0x3A, 0x0, 0x17, 0x0, 0x0, 0x21, 0x23, 0x35, 0x12, 0x0, 0x37, 0x35, 0x33, 0x15, 0x16, 0x0, 0x11, 0x15, 0x23, 0x35, 0x26, 0x26, 0x27, 0x11, 0x23, 0x11, 0x6, 0x6, 0x15, 0x1, 0x42, 0xF2, 0x2, 0x1, 0xD, 0xD7, 0xF2, 0xDD, 0x1, 0xB, 0xF3, 0x1, 0x81, 0x73, 0xF2, 0x71, 0x83, 0xB8, 0x1, 0x1F, 0x1, 0x6B, 0x29, 0xCF, 0xCF, 0x28, 0xFE, 0x91, 0xFE, 0xDB, 0xAF, 0xB8, 0xC4, 0xF3, 0x29, 0xFD, 0x68, 0x2, 0x97, 0x2A, 0xF5, 0xC7, 0x0, 0x2, 0x0, 0x29, 0x0, 0x0, 0x5, 0x34, 0x5, 0xB0, 0x0, 0x8, 0x0, 0x1F, 0x0, 0x0, 0x1, 0x11, 0x21, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x13, 0x21, 0x15, 0x23, 0x35, 0x23, 0x35, 0x33, 0x35, 0x23, 0x35, 0x33, 0x11, 0x21, 0x32, 0x0, 0x15, 0x14, 0x4, 0x23, 0x21, 0x15, 0x21, 0x1, 0xF2, 0x1, 0x2D, 0x94, 0x83, 0x81, 0x92, 0x11, 0xFE, 0xBE, 0xFC, 0xCD, 0xCD, 0xCD, 0xCD, 0x2, 0x2C, 0xFD, 0x1, 0x15, 0xFE, 0xE9, 0xFB, 0xFE, 0xD0, 0x1, 0x42, 0x4, 0xE4, 0xFE, 0x4, 0x8A, 0x72, 0x62, 0x9E, 0xFC, 0x3, 0xE7, 0xE7, 0xCB, 0x6B, 0xCB, 0x2, 0xC8, 0xFE, 0xFE, 0xC8, 0xD8, 0xF1, 0x6B, 0x0, 0x1, 0x0, 0x66, 0x0, 0x0, 0x5, 0x1F, 0x5, 0xC4, 0x0, 0x25, 0x0, 0x0, 0x21, 0x21, 0x35, 0x33, 0x26, 0x26, 0x35, 0x34, 0x12, 0x37, 0x35, 0x33, 0x15, 0x37, 0x17, 0x35, 0x33, 0x15, 0x16, 0x12, 0x15, 0x23, 0x10, 0x27, 0x11, 0x23, 0x11, 0x27, 0x7, 0x11, 0x23, 0x11, 0x6, 0x11, 0x14, 0x16, 0x33, 0x21, 0x5, 0x15, 0xFB, 0x53, 0xB4, 0x56, 0x60, 0xCC, 0xAC, 0xA8, 0x3C, 0x3D, 0xA8, 0xAE, 0xCA, 0xF0, 0x88, 0xA8, 0x3D, 0x3C, 0xA8, 0x88, 0xC5, 0xA9, 0x2, 0x51, 0xC3, 0x57, 0xF1, 0x94, 0xE9, 0x1, 0x3B, 0x3F, 0xC2, 0x9D, 0x2, 0x2, 0x9D, 0xC1, 0x40, 0xFE, 0xC1, 0xEC, 0x1, 0xF, 0x6E, 0xFE, 0x83, 0x1, 0xC1, 0x4, 0x4, 0xFE, 0x3F, 0x1, 0x7E, 0x6E, 0xFE, 0xF8, 0xE3, 0xFA, 0xFF, 0xFF, 0xFB, 0x5B, 0x5, 0x8, 0xFF, 0xF9, 0x6, 0x15, 0x0, 0x27, 0x0, 0x13, 0xFA, 0xD3, 0x5, 0x14, 0x0, 0x27, 0x0, 0x13, 0xFC, 0x9D, 0x5, 0x14, 0x0, 0x7, 0x0, 0x13, 0xFE, 0x56, 0x5, 0x14, 0xFF, 0xFF, 0xFA, 0x85, 0x5, 0x8, 0x0, 0xD5, 0x6, 0x15, 0x0, 0x27, 0x0, 0x13, 0xF9, 0xFD, 0x5, 0x14, 0x0, 0x27, 0x0, 0x13, 0xFB, 0xC7, 0x5, 0x14, 0x0, 0x27, 0x0, 0x13, 0xFD, 0x80, 0x5, 0x14, 0x0, 0x7, 0x0, 0x13, 0xFF, 0x32, 0x5, 0x14, 0xFF, 0xFF, 0xFB, 0x5B, 0xFE, 0x0, 0xFF, 0xF9, 0xFF, 0xD, 0x0, 0x27, 0x0, 0x13, 0xFA, 0xD3, 0xFE, 0xC, 0x0, 0x27, 0x0, 0x13, 0xFC, 0x9D, 0xFE, 0xC, 0x0, 0x7, 0x0, 0x13, 0xFE, 0x56, 0xFE, 0xC, 0x0, 0x1, 0xFC, 0x54, 0x4, 0xDF, 0xFF, 0x3F, 0x7, 0xD7, 0x0, 0x11, 0x0, 0x0, 0x1, 0x37, 0x7, 0x27, 0x37, 0x27, 0x37, 0x17, 0x27, 0x33, 0x7, 0x37, 0x17, 0x7, 0x17, 0x7, 0x27, 0x17, 0xFD, 0x73, 0x9, 0xD0, 0x57, 0xD9, 0xDA, 0x57, 0xD0, 0x9, 0xAF, 0xA, 0xD0, 0x58, 0xD9, 0xD9, 0x57, 0xD0, 0x9, 0x4, 0xDF, 0xF5, 0x83, 0x97, 0x72, 0x73, 0x97, 0x82, 0xF5, 0xF5, 0x83, 0x97, 0x72, 0x73, 0x98, 0x83, 0xF5, 0x0, 0x4, 0x0, 0x6A, 0xFF, 0xEC, 0x5, 0xB2, 0x5, 0xC0, 0x0, 0x3, 0x0, 0xB, 0x0, 0x27, 0x0, 0x42, 0x0, 0x0, 0x1, 0x1, 0x27, 0x1, 0x1, 0x32, 0x37, 0x35, 0x23, 0x6, 0x15, 0x14, 0x17, 0x26, 0x27, 0x6, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x33, 0x33, 0x35, 0x34, 0x23, 0x22, 0x7, 0x23, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x11, 0x14, 0x17, 0x15, 0x1, 0x22, 0x26, 0x35, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x23, 0x34, 0x26, 0x22, 0x6, 0x15, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x33, 0x14, 0x6, 0x4, 0xCB, 0xFD, 0x39, 0x7D, 0x2, 0xC7, 0xFD, 0x20, 0x56, 0x2E, 0x4E, 0x95, 0xF9, 0xA, 0x6, 0x47, 0x6B, 0x63, 0x79, 0x9E, 0x8E, 0x5C, 0x6C, 0x61, 0xB, 0x9D, 0x97, 0x7B, 0x6E, 0x9A, 0x19, 0x1, 0xE4, 0x8B, 0x97, 0x97, 0x89, 0x8A, 0x96, 0xA9, 0x3A, 0x7A, 0x3A, 0x3C, 0x3D, 0x3C, 0x39, 0xA9, 0x94, 0x4, 0xDF, 0xFB, 0x8E, 0x49, 0x4, 0x72, 0xFE, 0x77, 0x3A, 0x78, 0x2, 0x61, 0x4F, 0x77, 0x14, 0x25, 0x45, 0x69, 0x58, 0x6B, 0x73, 0x14, 0x6D, 0x4B, 0x4D, 0x82, 0x72, 0x78, 0xFE, 0xE9, 0x5A, 0x33, 0xA, 0xFC, 0xC4, 0xB1, 0x7A, 0x4D, 0x7C, 0xB1, 0x9C, 0x6B, 0x2D, 0x48, 0x5E, 0x3D, 0x4D, 0x3B, 0x5E, 0x4B, 0x29, 0x6A, 0x9C, 0x0, 0x4, 0x0, 0x6A, 0xFF, 0xEC, 0x5, 0xA6, 0x5, 0xC0, 0x0, 0x3, 0x0, 0xB, 0x0, 0x27, 0x0, 0x46, 0x0, 0x0, 0x1, 0x1, 0x27, 0x1, 0x1, 0x32, 0x37, 0x35, 0x23, 0x6, 0x15, 0x14, 0x17, 0x26, 0x27, 0x6, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x33, 0x33, 0x35, 0x34, 0x23, 0x22, 0x7, 0x23, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x11, 0x14, 0x17, 0x15, 0x1, 0x22, 0x26, 0x35, 0x33, 0x16, 0x33, 0x32, 0x35, 0x34, 0x27, 0x26, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x23, 0x26, 0x23, 0x22, 0x15, 0x14, 0x16, 0x16, 0x15, 0x14, 0x6, 0x4, 0xCC, 0xFD, 0x39, 0x7E, 0x2, 0xC7, 0xFD, 0x20, 0x56, 0x2E, 0x4E, 0x95, 0xF9, 0xA, 0x6, 0x47, 0x6B, 0x63, 0x79, 0x9E, 0x8E, 0x5C, 0x6C, 0x61, 0xB, 0x9D, 0x97, 0x7B, 0x6E, 0x9A, 0x19, 0x1, 0xEF, 0x90, 0x8F, 0x9E, 0xC, 0x7A, 0x5F, 0x8B, 0x67, 0x78, 0x8D, 0x6E, 0x80, 0x92, 0xA3, 0x2, 0x66, 0x60, 0xF7, 0x74, 0x8B, 0x4, 0xDF, 0xFB, 0x8E, 0x49, 0x4, 0x72, 0xFE, 0x77, 0x3A, 0x78, 0x2, 0x61, 0x4F, 0x77, 0x14, 0x25, 0x45, 0x69, 0x58, 0x6B, 0x73, 0x14, 0x6D, 0x4B, 0x4D, 0x82, 0x72, 0x78, 0xFE, 0xE9, 0x5A, 0x33, 0xA, 0xFC, 0xC4, 0x8A, 0x50, 0x5A, 0x3D, 0x3A, 0x1F, 0x17, 0x5F, 0x55, 0x57, 0x6C, 0x77, 0x58, 0x4F, 0x3F, 0x34, 0x37, 0x5C, 0x58, 0x5E, 0x68, 0x0, 0x3, 0x0, 0x28, 0xFF, 0xEC, 0x6, 0xD3, 0x5, 0xC5, 0x0, 0x9, 0x0, 0x15, 0x0, 0x31, 0x0, 0x0, 0x12, 0x36, 0x33, 0x32, 0x16, 0x14, 0x6, 0x23, 0x22, 0x26, 0x37, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x1, 0x33, 0x6, 0x0, 0x21, 0x20, 0x0, 0x11, 0x35, 0x10, 0x0, 0x21, 0x20, 0x0, 0x17, 0x23, 0x26, 0x26, 0x23, 0x22, 0x6, 0x7, 0x15, 0x14, 0x12, 0x33, 0x32, 0x36, 0x28, 0x9C, 0x6C, 0x6B, 0x99, 0x99, 0x6B, 0x6C, 0x9C, 0x8B, 0x4A, 0x33, 0x34, 0x46, 0x46, 0x34, 0x33, 0x4A, 0x5, 0x23, 0xFC, 0x13, 0xFE, 0xE5, 0xFE, 0xF4, 0xFE, 0xF3, 0xFE, 0xC2, 0x1, 0x44, 0x1, 0x12, 0x1, 0x6, 0x1, 0x14, 0x16, 0xFC, 0x10, 0x87, 0x9D, 0xAB, 0xAC, 0x1, 0x9C, 0xB1, 0xA3, 0x89, 0x5, 0x26, 0x9F, 0x9F, 0xDC, 0x9B, 0x9B, 0x6E, 0x35, 0x47, 0x47, 0x35, 0x37, 0x49, 0x49, 0xFC, 0xEB, 0xD4, 0xFE, 0xE6, 0x1, 0x76, 0x1, 0x3B, 0x76, 0x1, 0x3A, 0x1, 0x77, 0xFE, 0xE5, 0xDA, 0x8C, 0x9D, 0xFA, 0xE4, 0x7D, 0xDA, 0xFE, 0xF5, 0x97, 0x0, 0x4, 0x0, 0x71, 0xFF, 0xEB, 0x5, 0x89, 0x5, 0xC5, 0x0, 0x1A, 0x0, 0x1E, 0x0, 0x2B, 0x0, 0x38, 0x0, 0x0, 0x1, 0x33, 0x14, 0x6, 0x23, 0x22, 0x26, 0x35, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x23, 0x34, 0x26, 0x22, 0x6, 0x15, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x25, 0x1, 0x27, 0x1, 0x3, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x15, 0x14, 0x6, 0x20, 0x26, 0x35, 0x33, 0x14, 0x16, 0x33, 0x32, 0x35, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x2, 0x8, 0xA9, 0x94, 0x8A, 0x8B, 0x97, 0x97, 0x89, 0x8B, 0x95, 0xA9, 0x3A, 0x7A, 0x3A, 0x3C, 0x3D, 0x3C, 0x39, 0x2, 0x83, 0xFD, 0x39, 0x7D, 0x2, 0xC7, 0xEE, 0xA2, 0x92, 0x95, 0xA0, 0x9F, 0xFE, 0xD8, 0xA2, 0xA9, 0x49, 0x44, 0x8A, 0x45, 0x47, 0x46, 0x45, 0x4, 0x26, 0x6A, 0x9C, 0xB1, 0x7A, 0x4D, 0x7C, 0xB1, 0x9C, 0x6B, 0x2D, 0x48, 0x5E, 0x3D, 0x4D, 0x3B, 0x5E, 0x4B, 0xE2, 0xFB, 0x8E, 0x49, 0x4, 0x72, 0xFC, 0x3D, 0x7B, 0xB1, 0xB1, 0x7B, 0x4E, 0x7B, 0xB1, 0xB1, 0x7B, 0x3C, 0x5E, 0xA9, 0x3F, 0x3C, 0x5E, 0x5E, 0x3C, 0x0, 0x3, 0x0, 0x6A, 0xFF, 0xF4, 0x5, 0x9F, 0x5, 0xC5, 0x0, 0x1A, 0x0, 0x1E, 0x0, 0x2F, 0x0, 0x0, 0x1, 0x22, 0x26, 0x35, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x23, 0x34, 0x26, 0x22, 0x6, 0x15, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x33, 0x14, 0x6, 0x1, 0x1, 0x27, 0x1, 0x1, 0x27, 0x6, 0x23, 0x22, 0x26, 0x35, 0x11, 0x33, 0x11, 0x14, 0x33, 0x32, 0x37, 0x11, 0x33, 0x11, 0x1, 0x8C, 0x8B, 0x97, 0x97, 0x89, 0x8B, 0x95, 0xA9, 0x3A, 0x7A, 0x3A, 0x3C, 0x3D, 0x3C, 0x39, 0xA9, 0x94, 0x2, 0x68, 0xFD, 0x39, 0x7D, 0x2, 0xC7, 0x1, 0x10, 0xD, 0x40, 0x70, 0x60, 0x73, 0xA4, 0x65, 0x50, 0x20, 0xA5, 0x3, 0x20, 0xB1, 0x7A, 0x4D, 0x7C, 0xB1, 0x9C, 0x6B, 0x2D, 0x48, 0x5E, 0x3D, 0x4D, 0x3B, 0x5E, 0x4B, 0x29, 0x6A, 0x9C, 0x1, 0xBF, 0xFB, 0x8E, 0x49, 0x4, 0x72, 0xFA, 0xD8, 0x54, 0x60, 0x78, 0x88, 0x1, 0x98, 0xFE, 0x7A, 0x8B, 0x47, 0x1, 0xCA, 0xFD, 0x74, 0x0, 0x3, 0x0, 0x28, 0x0, 0x0, 0x6, 0x43, 0x5, 0xC5, 0x0, 0x9, 0x0, 0x15, 0x0, 0x1F, 0x0, 0x0, 0x12, 0x36, 0x33, 0x32, 0x16, 0x14, 0x6, 0x23, 0x22, 0x26, 0x37, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x1, 0x21, 0x11, 0x23, 0x11, 0x21, 0x15, 0x21, 0x11, 0x21, 0x28, 0x9C, 0x6C, 0x6B, 0x99, 0x99, 0x6B, 0x6C, 0x9C, 0x8B, 0x4A, 0x33, 0x34, 0x46, 0x46, 0x34, 0x33, 0x4A, 0x5, 0x3A, 0xFD, 0xB7, 0xFD, 0x3, 0x9C, 0xFD, 0x61, 0x2, 0x49, 0x5, 0x26, 0x9F, 0x9F, 0xDC, 0x9B, 0x9B, 0x6E, 0x35, 0x47, 0x47, 0x35, 0x37, 0x49, 0x49, 0xFD, 0x7A, 0xFD, 0x97, 0x5, 0xB0, 0xCB, 0xFE, 0x4E, 0x0, 0x2, 0x0, 0x4C, 0xFF, 0xEB, 0x3, 0x91, 0x5, 0xF9, 0x0, 0x18, 0x0, 0x20, 0x0, 0x0, 0x5, 0x22, 0x26, 0x35, 0x35, 0x6, 0x23, 0x35, 0x32, 0x37, 0x11, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x15, 0x14, 0x2, 0x7, 0x15, 0x14, 0x16, 0x33, 0x3, 0x36, 0x35, 0x35, 0x34, 0x23, 0x22, 0x7, 0x2, 0xDB, 0xEB, 0xE3, 0x5D, 0x64, 0x67, 0x5A, 0xB5, 0x9B, 0x86, 0xAE, 0xCB, 0xBF, 0x5B, 0x79, 0xD4, 0xA5, 0x4C, 0x56, 0x3, 0x15, 0xF7, 0xCD, 0xD, 0x13, 0xBB, 0x18, 0x1, 0xDE, 0xC3, 0xDC, 0xB1, 0x9A, 0x2A, 0x9E, 0xFE, 0xA2, 0x6D, 0x4F, 0x7D, 0x8A, 0x2, 0x43, 0xA1, 0xEE, 0x17, 0x80, 0xB2, 0x0, 0x4, 0x0, 0x90, 0x0, 0x0, 0x7, 0xC3, 0x5, 0xC0, 0x0, 0xC, 0x0, 0x1A, 0x0, 0x24, 0x0, 0x28, 0x0, 0x0, 0x1, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x15, 0x14, 0x6, 0x20, 0x26, 0x35, 0x33, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x1, 0x11, 0x21, 0x1, 0x11, 0x23, 0x11, 0x21, 0x1, 0x11, 0x1, 0x15, 0x21, 0x35, 0x5, 0xE, 0xBB, 0x9F, 0xA1, 0xBA, 0xB9, 0xFE, 0xC0, 0xBC, 0xAF, 0x55, 0x58, 0x56, 0x54, 0x55, 0x57, 0x56, 0x55, 0xFE, 0xC6, 0xFE, 0xF5, 0xFE, 0xC, 0xF4, 0x1, 0xC, 0x1, 0xF5, 0x4, 0x6, 0xFD, 0x9F, 0x4, 0x60, 0x9B, 0xC5, 0xC5, 0x9B, 0x53, 0x9B, 0xC4, 0xC4, 0x9B, 0x59, 0x74, 0x74, 0x59, 0x53, 0x58, 0x74, 0x74, 0x58, 0x1, 0x50, 0xFA, 0x50, 0x4, 0xB, 0xFB, 0xF5, 0x5, 0xB0, 0xFB, 0xF3, 0x4, 0xD, 0xFC, 0x82, 0x95, 0x95, 0x0, 0x4, 0x0, 0x57, 0xFF, 0xEB, 0x5, 0xE2, 0x5, 0xC4, 0x0, 0xD, 0x0, 0x1B, 0x0, 0x24, 0x0, 0x2E, 0x0, 0x0, 0x4, 0x24, 0x2, 0x35, 0x34, 0x12, 0x24, 0x20, 0x4, 0x12, 0x15, 0x14, 0x2, 0x4, 0x26, 0x24, 0x12, 0x35, 0x34, 0x2, 0x24, 0x20, 0x4, 0x2, 0x15, 0x14, 0x12, 0x4, 0x13, 0x11, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x3, 0x11, 0x23, 0x11, 0x21, 0x32, 0x16, 0x14, 0x6, 0x23, 0x2, 0x59, 0xFE, 0xBE, 0xC0, 0xC0, 0x1, 0x42, 0x1, 0x88, 0x1, 0x41, 0xC0, 0xC0, 0xFE, 0xBF, 0x22, 0x1, 0xB, 0x9E, 0x9E, 0xFE, 0xF5, 0xFE, 0xBC, 0xFE, 0xF5, 0x9F, 0x9F, 0x1, 0xB, 0x2B, 0xB7, 0x53, 0x4C, 0x4C, 0x53, 0xB7, 0x97, 0x1, 0x4E, 0x91, 0xA2, 0xA3, 0x90, 0x15, 0xC7, 0x1, 0x54, 0xD3, 0xD4, 0x1, 0x52, 0xC5, 0xC5, 0xFE, 0xAE, 0xD4, 0xD3, 0xFE, 0xAC, 0xC7, 0x7D, 0xA5, 0x1, 0x1C, 0xB0, 0xB1, 0x1, 0x19, 0xA4, 0xA4, 0xFE, 0xE7, 0xB1, 0xB0, 0xFE, 0xE4, 0xA5, 0x3, 0x8E, 0xFE, 0xF3, 0x4A, 0x38, 0x39, 0x52, 0xFE, 0x6C, 0xFE, 0xC7, 0x3, 0x52, 0x97, 0xF0, 0x92, 0x0, 0x2, 0x0, 0x95, 0x0, 0x0, 0x5, 0x4B, 0x5, 0xB0, 0x0, 0x8, 0x0, 0x20, 0x0, 0x0, 0x1, 0x11, 0x21, 0x32, 0x36, 0x35, 0x34, 0x26, 0x27, 0x3, 0x13, 0x27, 0x21, 0x11, 0x23, 0x11, 0x21, 0x32, 0x4, 0x15, 0x14, 0x6, 0x7, 0x17, 0x37, 0x5, 0x3, 0x13, 0x15, 0x21, 0x27, 0x7, 0x21, 0x1, 0x91, 0x1, 0x4, 0x88, 0x89, 0x80, 0x8D, 0x15, 0xDE, 0xA3, 0xFE, 0xD2, 0xFC, 0x2, 0x0, 0xFB, 0x1, 0x12, 0x8E, 0x7D, 0x4F, 0x64, 0x1, 0x1, 0xE1, 0xDE, 0xFE, 0xFA, 0x5C, 0x5D, 0xFE, 0xFB, 0x4, 0xE5, 0xFE, 0x17, 0x89, 0x68, 0x70, 0x87, 0x1, 0xFB, 0x28, 0x1, 0x38, 0xEC, 0xFD, 0xCF, 0x5, 0xB0, 0xE0, 0xD7, 0x92, 0xC6, 0x34, 0x6E, 0x8D, 0x1, 0xFE, 0xBA, 0xFE, 0xC8, 0xD, 0x86, 0x86, 0x0, 0x4, 0x0, 0x95, 0xFE, 0x98, 0x4, 0xDE, 0x6, 0xF4, 0x0, 0x5, 0x0, 0xB, 0x0, 0xE, 0x0, 0x24, 0x0, 0x0, 0x1, 0x11, 0x33, 0x13, 0x26, 0x23, 0x5, 0x34, 0x27, 0x3, 0x36, 0x36, 0x1, 0x13, 0x23, 0x9, 0x2, 0x23, 0x13, 0x23, 0x11, 0x21, 0x32, 0x17, 0x37, 0x27, 0x37, 0x5, 0x7, 0x16, 0x11, 0x14, 0x6, 0x7, 0x1, 0x15, 0x1, 0x91, 0xC1, 0xA2, 0x2B, 0x34, 0x1, 0x11, 0x21, 0x7D, 0x4F, 0x4F, 0xFD, 0xEB, 0x7D, 0x7D, 0x2, 0x3F, 0xFE, 0xE6, 0xFE, 0xCB, 0xAA, 0x79, 0xBB, 0x2, 0x0, 0x58, 0x4A, 0x1E, 0xC4, 0x4A, 0x1, 0x4F, 0x52, 0xCA, 0x8E, 0x7D, 0x1, 0x47, 0x4, 0xE5, 0xFE, 0x17, 0x1, 0xDF, 0xA, 0xF8, 0x53, 0x38, 0xFE, 0x95, 0x1A, 0x77, 0xFD, 0x21, 0x1, 0x72, 0xFD, 0xCF, 0x2, 0x1E, 0xFC, 0x7A, 0x1, 0x68, 0x5, 0xB0, 0xE, 0x59, 0x51, 0xA8, 0x9A, 0xEF, 0x6D, 0xFE, 0xFB, 0x92, 0xC6, 0x34, 0xFD, 0xA0, 0xD, 0x0, 0x2, 0x0, 0x65, 0x3, 0x8B, 0x4, 0xB3, 0x5, 0xB9, 0x0, 0xC, 0x0, 0x2B, 0x0, 0x0, 0x1, 0x3, 0x11, 0x23, 0x11, 0x33, 0x13, 0x13, 0x33, 0x11, 0x23, 0x11, 0x3, 0x25, 0x34, 0x26, 0x27, 0x26, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x15, 0x23, 0x34, 0x22, 0x15, 0x14, 0x1E, 0x2, 0x15, 0x14, 0x6, 0x23, 0x22, 0x26, 0x35, 0x33, 0x16, 0x33, 0x32, 0x3, 0x80, 0x8C, 0x6E, 0x88, 0x91, 0x91, 0x83, 0x6F, 0x87, 0xFD, 0xF7, 0x2E, 0x44, 0x61, 0x68, 0x6F, 0x62, 0xD1, 0x6E, 0xC6, 0x24, 0xB5, 0x62, 0x77, 0x65, 0x5F, 0x82, 0x6E, 0x2, 0x71, 0x6E, 0x3, 0x95, 0x1, 0x5A, 0xFE, 0xA6, 0x2, 0x1B, 0xFE, 0x83, 0x1, 0x7D, 0xFD, 0xE5, 0x1, 0x4B, 0xFE, 0xB5, 0x91, 0x1B, 0x24, 0xF, 0x16, 0x49, 0x4C, 0x44, 0x56, 0xAA, 0x4E, 0x3E, 0x19, 0x20, 0x2C, 0x4C, 0x47, 0x48, 0x54, 0x54, 0x58, 0x4F, 0x0, 0x3, 0x0, 0x65, 0x3, 0x96, 0x5, 0x4B, 0x5, 0xB0, 0x0, 0x7, 0x0, 0xD, 0x0, 0x19, 0x0, 0x0, 0x1, 0x23, 0x11, 0x23, 0x11, 0x23, 0x35, 0x21, 0x1, 0x11, 0x33, 0x11, 0x33, 0x15, 0x21, 0x11, 0x21, 0x15, 0x23, 0x15, 0x33, 0x15, 0x23, 0x15, 0x33, 0x15, 0x1, 0xEB, 0x89, 0x76, 0x87, 0x1, 0x86, 0x2, 0x17, 0x76, 0xD3, 0xFC, 0xF6, 0x1, 0x48, 0xD3, 0xB1, 0xB1, 0xD3, 0x5, 0x51, 0xFE, 0x45, 0x1, 0xBB, 0x5F, 0xFD, 0xE6, 0x2, 0x1A, 0xFE, 0x45, 0x5F, 0x2, 0x1A, 0x5F, 0x78, 0x5F, 0x85, 0x5F, 0x0, 0x2, 0x0, 0x6E, 0x3, 0x95, 0x4, 0x57, 0x5, 0xB0, 0x0, 0x7, 0x0, 0x14, 0x0, 0x0, 0x1, 0x15, 0x23, 0x11, 0x23, 0x11, 0x23, 0x35, 0x1, 0x11, 0x3, 0x23, 0x3, 0x11, 0x23, 0x11, 0x33, 0x13, 0x13, 0x33, 0x11, 0x1, 0xF9, 0x89, 0x76, 0x8C, 0x3, 0x7B, 0x7D, 0x3D, 0x7D, 0x6E, 0x88, 0x81, 0x85, 0x85, 0x5, 0xB0, 0x5F, 0xFE, 0x45, 0x1, 0xBB, 0x5F, 0xFD, 0xE5, 0x1, 0x74, 0xFE, 0x8C, 0x1, 0x74, 0xFE, 0x8C, 0x2, 0x1B, 0xFE, 0x83, 0x1, 0x7D, 0xFD, 0xE5, 0x0, 0x1, 0x0, 0x12, 0xFE, 0x98, 0x5, 0x1D, 0x6, 0xF4, 0x0, 0x10, 0x0, 0x0, 0x21, 0x27, 0x3, 0x23, 0x1, 0x1, 0x21, 0x13, 0x13, 0x27, 0x37, 0x5, 0x1, 0x17, 0x1, 0x21, 0x1, 0x2, 0x1C, 0x3D, 0xB7, 0xAA, 0x1, 0x8, 0xFE, 0x8C, 0x1, 0x15, 0xDA, 0xFE, 0xC3, 0x49, 0x1, 0x4F, 0xFE, 0x82, 0x40, 0x1, 0x71, 0x1, 0x16, 0xFD, 0xF4, 0xAB, 0xFD, 0xED, 0x3, 0xB, 0x4, 0xD, 0xFD, 0x5D, 0x2, 0xEE, 0x51, 0xA8, 0x9A, 0xFB, 0xAB, 0xC7, 0x4, 0x72, 0xFA, 0x50, 0x0, 0x1, 0x0, 0x51, 0xFE, 0x75, 0x4, 0x42, 0x5, 0xB0, 0x0, 0x22, 0x0, 0x0, 0x1, 0x22, 0x26, 0x26, 0x35, 0x33, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x23, 0x35, 0x1, 0x21, 0x35, 0x33, 0x1, 0x21, 0x35, 0x21, 0x17, 0x1, 0x21, 0x17, 0x1, 0x16, 0x16, 0x15, 0x14, 0x4, 0x2, 0x3D, 0x77, 0xE3, 0x92, 0xFC, 0x82, 0x6E, 0x80, 0x88, 0x95, 0x93, 0x8E, 0x1, 0x30, 0xFE, 0xCF, 0x1, 0x1, 0x2D, 0xFD, 0xBE, 0x3, 0x99, 0x1, 0xFE, 0xAA, 0x1, 0x55, 0x1, 0xFE, 0xA3, 0xBB, 0xD0, 0xFE, 0xDA, 0xFE, 0x75, 0x58, 0xBB, 0x95, 0x58, 0x87, 0x81, 0x69, 0x92, 0x79, 0xAE, 0x1, 0x1D, 0xCA, 0x1, 0x1E, 0xCA, 0x9B, 0xFE, 0xB3, 0x9D, 0xFE, 0xAE, 0x1D, 0xDE, 0xBD, 0xCC, 0xE0, 0xFF, 0xFF, 0x0, 0x95, 0x0, 0x0, 0x5, 0x18, 0x5, 0xB0, 0x0, 0x6, 0x0, 0x30, 0x0, 0x0, 0x0, 0x3, 0x0, 0x12, 0x0, 0x0, 0x5, 0x43, 0x6, 0xEF, 0x0, 0xB, 0x0, 0xE, 0x0, 0x1E, 0x0, 0x0, 0x1, 0x14, 0x16, 0x17, 0x33, 0x36, 0x36, 0x35, 0x34, 0x26, 0x22, 0x6, 0x1, 0x3, 0x3, 0x1, 0x3, 0x21, 0x3, 0x21, 0x1, 0x26, 0x35, 0x34, 0x36, 0x32, 0x16, 0x15, 0x14, 0x7, 0x1, 0x2, 0x39, 0x35, 0x2C, 0x1F, 0x2B, 0x35, 0x3E, 0x64, 0x3E, 0x1, 0x45, 0xD4, 0xD3, 0x2, 0x64, 0x77, 0xFD, 0xCC, 0x76, 0xFE, 0xF8, 0x2, 0x11, 0x57, 0x7E, 0xBE, 0x7E, 0x57, 0x2, 0x14, 0x6, 0x1F, 0x28, 0x41, 0x6, 0x6, 0x40, 0x29, 0x2D, 0x44, 0x44, 0xFB, 0xD3, 0x2, 0x5E, 0xFD, 0xA2, 0xFD, 0xE1, 0x1, 0x54, 0xFE, 0xAC, 0x5, 0x79, 0x3C, 0x6A, 0x56, 0x7A, 0x7A, 0x56, 0x69, 0x3C, 0xFA, 0x86, 0x0, 0x2, 0x0, 0x97, 0xFF, 0xEC, 0x4, 0x92, 0x4, 0x4E, 0x0, 0x13, 0x0, 0x1A, 0x0, 0x0, 0x25, 0x17, 0x6, 0x23, 0x22, 0x26, 0x26, 0x10, 0x36, 0x36, 0x33, 0x32, 0x0, 0x17, 0x15, 0x21, 0x11, 0x16, 0x33, 0x32, 0x3, 0x22, 0x7, 0x11, 0x21, 0x11, 0x26, 0x4, 0x13, 0x2, 0xB8, 0xBA, 0x91, 0xEE, 0x8D, 0x99, 0xF0, 0x83, 0xCC, 0x1, 0x1D, 0x6, 0xFD, 0x0, 0x76, 0x9B, 0xC6, 0xC6, 0x95, 0x7C, 0x2, 0x1C, 0x73, 0xC6, 0x68, 0x72, 0x98, 0xFF, 0x1, 0x34, 0xFF, 0x98, 0xFE, 0xD4, 0xDF, 0x41, 0xFE, 0xB8, 0x6E, 0x3, 0xA4, 0x7A, 0xFE, 0xEB, 0x1, 0x1E, 0x71, 0x0, 0x1, 0x0, 0x35, 0x0, 0x0, 0x3, 0xD1, 0x5, 0xB0, 0x0, 0x9, 0x0, 0x0, 0x33, 0x35, 0x21, 0x11, 0x21, 0x35, 0x21, 0x11, 0x33, 0x11, 0x35, 0x2, 0xA0, 0xFD, 0xB6, 0x2, 0x4A, 0xFC, 0xCB, 0x1, 0xB2, 0xCA, 0x2, 0x69, 0xFA, 0x50, 0x0, 0x4, 0x0, 0x65, 0x3, 0x96, 0x5, 0xE4, 0x5, 0xB0, 0x0, 0x2, 0x0, 0xC, 0x0, 0x18, 0x0, 0x20, 0x0, 0x0, 0x1, 0x27, 0x7, 0x27, 0x23, 0x15, 0x23, 0x11, 0x21, 0x15, 0x23, 0x15, 0x33, 0x25, 0x17, 0x37, 0x33, 0x3, 0x13, 0x23, 0x27, 0x7, 0x23, 0x13, 0x3, 0x3, 0x27, 0x23, 0x7, 0x23, 0x13, 0x33, 0x13, 0x2, 0xFF, 0x50, 0x50, 0xD4, 0xB1, 0x75, 0x1, 0x48, 0xD3, 0xB1, 0x2, 0xF5, 0x6E, 0x6F, 0x83, 0xAD, 0xB1, 0x82, 0x73, 0x72, 0x82, 0xB0, 0xAC, 0xB6, 0x28, 0xE4, 0x28, 0x74, 0xD5, 0x72, 0xD4, 0x4, 0x5C, 0xD7, 0xD7, 0x11, 0xD7, 0x2, 0x1A, 0x5F, 0x85, 0xE3, 0xBA, 0xBA, 0xFE, 0xF6, 0xFE, 0xF1, 0xBF, 0xBF, 0x1, 0xF, 0x1, 0xA, 0xFD, 0xE7, 0x6B, 0x6B, 0x2, 0x19, 0xFD, 0xE7, 0x0, 0x4, 0x0, 0x6A, 0xFF, 0xEC, 0x7, 0xA0, 0x6, 0x88, 0x0, 0x2, 0x0, 0x6, 0x0, 0xE, 0x0, 0x32, 0x0, 0x0, 0x1, 0x3, 0x3, 0x25, 0x1, 0x27, 0x1, 0x1, 0x27, 0x21, 0x7, 0x23, 0x1, 0x33, 0x1, 0x1, 0x34, 0x26, 0x27, 0x26, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x17, 0x23, 0x26, 0x26, 0x23, 0x22, 0x15, 0x14, 0x16, 0x17, 0x16, 0x16, 0x15, 0x14, 0x6, 0x23, 0x22, 0x26, 0x35, 0x33, 0x16, 0x16, 0x33, 0x32, 0x2, 0x82, 0x7A, 0x7D, 0x4, 0x4E, 0xFD, 0x39, 0x7D, 0x2, 0xC7, 0xFD, 0x98, 0x43, 0xFE, 0xAA, 0x43, 0xAE, 0x1, 0x52, 0x97, 0x1, 0x4F, 0x3, 0x59, 0x4E, 0x66, 0x98, 0x9F, 0xA7, 0x8B, 0xA7, 0xA2, 0x8, 0xA2, 0x1, 0x54, 0x5B, 0x8C, 0x63, 0x53, 0xA3, 0x92, 0xA4, 0x9C, 0xA3, 0xC4, 0xA3, 0xB, 0x67, 0x52, 0x9B, 0x4, 0x66, 0x1, 0x60, 0xFE, 0xA0, 0x79, 0xFB, 0x8E, 0x49, 0x4, 0x72, 0xFD, 0xF8, 0xBF, 0xBF, 0x3, 0x68, 0xFC, 0x98, 0xFD, 0xBE, 0x30, 0x3B, 0x23, 0x34, 0x78, 0x71, 0x62, 0x88, 0xA3, 0x6F, 0x2D, 0x5E, 0x66, 0x32, 0x3F, 0x1C, 0x37, 0x76, 0x6C, 0x6A, 0x8A, 0xA7, 0x7D, 0x58, 0x45, 0x0, 0x4, 0x0, 0x57, 0xFF, 0xEC, 0x7, 0xB8, 0x3, 0x80, 0x0, 0x33, 0x0, 0x3D, 0x0, 0x47, 0x0, 0x51, 0x0, 0x0, 0x5, 0x22, 0x27, 0x6, 0x20, 0x27, 0x6, 0x20, 0x27, 0x6, 0x23, 0x35, 0x32, 0x37, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x7, 0x16, 0x32, 0x37, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x7, 0x16, 0x32, 0x37, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x7, 0x16, 0x33, 0x1, 0x14, 0x17, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x5, 0x14, 0x17, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x5, 0x14, 0x17, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x7, 0xB8, 0xAE, 0x8D, 0x8D, 0xFE, 0xA4, 0x8D, 0x8D, 0xFE, 0xA4, 0x8C, 0x8D, 0xAE, 0x55, 0x41, 0x7B, 0x75, 0xAA, 0xAB, 0x75, 0x7B, 0x41, 0xAA, 0x42, 0x7B, 0x75, 0xAA, 0xAB, 0x75, 0x7B, 0x41, 0xAA, 0x42, 0x7B, 0x75, 0xAA, 0xAB, 0x75, 0x7B, 0x41, 0x55, 0xF9, 0x91, 0x49, 0x48, 0x23, 0x26, 0x25, 0x23, 0x2, 0x76, 0x48, 0x49, 0x23, 0x26, 0x25, 0x23, 0x2, 0x76, 0x48, 0x49, 0x23, 0x26, 0x25, 0x23, 0x14, 0x4C, 0x4C, 0x4C, 0x4C, 0x4C, 0x4C, 0xC3, 0x11, 0x99, 0xDB, 0x88, 0xC4, 0xC4, 0x88, 0xDB, 0x99, 0x11, 0x11, 0x99, 0xDB, 0x88, 0xC4, 0xC4, 0x88, 0xDB, 0x99, 0x11, 0x11, 0x99, 0xDB, 0x88, 0xC4, 0xC4, 0x88, 0xDB, 0x99, 0x11, 0x1, 0x84, 0xB0, 0x5D, 0x5E, 0xAF, 0x3B, 0x4F, 0x4F, 0x3B, 0xAF, 0x5E, 0x5D, 0xB0, 0x3B, 0x4F, 0x4F, 0x3B, 0xAF, 0x5E, 0x5D, 0xB0, 0x3B, 0x4F, 0x4F, 0xFF, 0xFF, 0x0, 0x93, 0x0, 0x0, 0x6, 0xA6, 0x5, 0xAC, 0x0, 0x27, 0x7, 0x42, 0x0, 0x12, 0x2, 0x98, 0x0, 0x27, 0x7, 0xA1, 0x3, 0xF8, 0x0, 0x0, 0x0, 0x7, 0x4, 0x83, 0x1, 0x4A, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x93, 0xFF, 0xF7, 0x6, 0x3B, 0x5, 0xAC, 0x0, 0x27, 0x7, 0x42, 0x0, 0x12, 0x2, 0x98, 0x0, 0x27, 0x7, 0xA3, 0x3, 0x97, 0x0, 0x0, 0x0, 0x7, 0x4, 0x83, 0x1, 0x4A, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x93, 0xFF, 0xF5, 0x8, 0x23, 0x5, 0xAC, 0x0, 0x27, 0x7, 0x42, 0x0, 0x12, 0x2, 0x98, 0x0, 0x27, 0x7, 0x43, 0x5, 0x79, 0x0, 0x0, 0x0, 0x27, 0x4, 0x83, 0x1, 0x4B, 0x0, 0x0, 0x0, 0x7, 0x7, 0x42, 0x3, 0x58, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x93, 0xFF, 0xF5, 0x6, 0x57, 0x5, 0xAC, 0x0, 0x27, 0x7, 0x42, 0x0, 0x12, 0x2, 0x98, 0x0, 0x27, 0x7, 0x9D, 0x3, 0xAE, 0x0, 0x0, 0x0, 0x7, 0x4, 0x83, 0x1, 0x4A, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x58, 0xFF, 0xF5, 0x7, 0x7, 0x5, 0xB8, 0x0, 0x27, 0x7, 0x41, 0x0, 0x1C, 0x2, 0x98, 0x0, 0x27, 0x4, 0x83, 0x1, 0xFD, 0x0, 0x0, 0x0, 0x7, 0x7, 0x9D, 0x4, 0x5E, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x93, 0xFF, 0xF5, 0x6, 0x51, 0x5, 0xAC, 0x0, 0x27, 0x7, 0x42, 0x0, 0x12, 0x2, 0x98, 0x0, 0x27, 0x7, 0x9F, 0x3, 0xA3, 0x0, 0x0, 0x0, 0x7, 0x4, 0x83, 0x1, 0x4A, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x58, 0xFF, 0xF5, 0x7, 0x4, 0x5, 0xB8, 0x0, 0x27, 0x7, 0x41, 0x0, 0x1C, 0x2, 0x98, 0x0, 0x27, 0x4, 0x83, 0x1, 0xFC, 0x0, 0x0, 0x0, 0x7, 0x7, 0x9F, 0x4, 0x56, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x5B, 0xFF, 0xF5, 0x6, 0xD7, 0x5, 0xB8, 0x0, 0x27, 0x7, 0x9D, 0x0, 0x24, 0x2, 0x98, 0x0, 0x27, 0x4, 0x83, 0x1, 0xA6, 0x0, 0x0, 0x0, 0x7, 0x7, 0x9F, 0x4, 0x29, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x52, 0xFF, 0xF5, 0x7, 0x3A, 0x5, 0xAD, 0x0, 0x27, 0x7, 0x9E, 0x0, 0x1D, 0x2, 0x98, 0x0, 0x27, 0x4, 0x83, 0x2, 0xC, 0x0, 0x0, 0x0, 0x7, 0x7, 0x9F, 0x4, 0x8C, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x93, 0xFF, 0xF5, 0x6, 0x29, 0x5, 0xAC, 0x0, 0x27, 0x7, 0x42, 0x0, 0x12, 0x2, 0x98, 0x0, 0x27, 0x7, 0xA0, 0x3, 0x70, 0x0, 0x0, 0x0, 0x7, 0x4, 0x83, 0x1, 0x49, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x51, 0xFF, 0xF5, 0x6, 0x76, 0x5, 0xAD, 0x0, 0x27, 0x7, 0x9F, 0x0, 0x2, 0x2, 0x98, 0x0, 0x27, 0x7, 0xA0, 0x3, 0xBD, 0x0, 0x0, 0x0, 0x7, 0x4, 0x83, 0x1, 0x96, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x59, 0xFF, 0xF5, 0x5, 0xCB, 0x5, 0x9A, 0x0, 0x27, 0x7, 0x42, 0xFF, 0xD8, 0x2, 0x86, 0x0, 0x27, 0x4, 0x83, 0x0, 0xFB, 0x0, 0x0, 0x0, 0x7, 0x7, 0xA2, 0x3, 0x21, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x54, 0xFF, 0xF5, 0x6, 0x68, 0x5, 0xB4, 0x0, 0x27, 0x7, 0x9D, 0x0, 0x1D, 0x2, 0x94, 0x0, 0x27, 0x4, 0x83, 0x1, 0xA8, 0x0, 0x0, 0x0, 0x7, 0x7, 0xA2, 0x3, 0xBE, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x5B, 0xFF, 0xF5, 0x6, 0x5C, 0x5, 0xA8, 0x0, 0x27, 0x7, 0x9F, 0x0, 0xC, 0x2, 0x93, 0x0, 0x27, 0x4, 0x83, 0x1, 0x8C, 0x0, 0x0, 0x0, 0x7, 0x7, 0xA2, 0x3, 0xB2, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x59, 0xFF, 0xF5, 0x6, 0x1A, 0x5, 0xA3, 0x0, 0x27, 0x7, 0xA1, 0x0, 0x22, 0x2, 0x8E, 0x0, 0x27, 0x4, 0x83, 0x1, 0x33, 0x0, 0x0, 0x0, 0x7, 0x7, 0xA2, 0x3, 0x70, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x93, 0x0, 0x6D, 0x4, 0xBC, 0x5, 0xAC, 0x0, 0x27, 0x7, 0x42, 0x0, 0x12, 0x2, 0x98, 0x0, 0x7, 0x4, 0x83, 0x1, 0x4A, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0xA4, 0x0, 0x0, 0x1, 0xA0, 0x5, 0xB0, 0x0, 0x6, 0x0, 0x2E, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0xA4, 0x0, 0x0, 0x3, 0xBD, 0x5, 0xB0, 0x0, 0x26, 0x0, 0x2E, 0x0, 0x0, 0x0, 0x7, 0x0, 0x2E, 0x2, 0x1D, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0xA4, 0x0, 0x0, 0x5, 0xDB, 0x5, 0xB0, 0x0, 0x26, 0x0, 0x2E, 0x0, 0x0, 0x0, 0x27, 0x0, 0x2E, 0x2, 0x1D, 0x0, 0x0, 0x0, 0x7, 0x0, 0x2E, 0x4, 0x3B, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0xA4, 0x0, 0x0, 0x7, 0x56, 0x5, 0xB0, 0x0, 0x26, 0x0, 0x2E, 0x0, 0x0, 0x0, 0x7, 0x0, 0x3B, 0x2, 0x39, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x12, 0x0, 0x0, 0x5, 0x1D, 0x5, 0xB0, 0x0, 0x6, 0x0, 0x3B, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x12, 0x0, 0x0, 0x6, 0xC5, 0x5, 0xB0, 0x0, 0x26, 0x0, 0x3B, 0x0, 0x0, 0x0, 0x7, 0x0, 0x2E, 0x5, 0x25, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x12, 0x0, 0x0, 0x8, 0xE2, 0x5, 0xB0, 0x0, 0x26, 0x0, 0x3B, 0x0, 0x0, 0x0, 0x27, 0x0, 0x2E, 0x5, 0x25, 0x0, 0x0, 0x0, 0x7, 0x0, 0x2E, 0x7, 0x42, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x12, 0x0, 0x0, 0xA, 0xFF, 0x5, 0xB0, 0x0, 0x26, 0x0, 0x3B, 0x0, 0x0, 0x0, 0x27, 0x0, 0x2E, 0x5, 0x25, 0x0, 0x0, 0x0, 0x27, 0x0, 0x2E, 0x7, 0x42, 0x0, 0x0, 0x0, 0x7, 0x0, 0x2E, 0x9, 0x5F, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0xA4, 0x0, 0x0, 0x7, 0x31, 0x5, 0xB0, 0x0, 0x26, 0x0, 0x2E, 0x0, 0x0, 0x0, 0x7, 0x0, 0x3D, 0x2, 0x47, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x28, 0x0, 0x0, 0x4, 0xE9, 0x5, 0xB0, 0x0, 0x6, 0x0, 0x3D, 0xFF, 0x0, 0xFF, 0xFF, 0x0, 0x28, 0x0, 0x0, 0x6, 0xBC, 0x5, 0xB0, 0x0, 0x26, 0x0, 0x3D, 0xFF, 0x0, 0x0, 0x7, 0x0, 0x2E, 0x5, 0x1C, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x28, 0x0, 0x0, 0x8, 0xD9, 0x5, 0xB0, 0x0, 0x26, 0x0, 0x3D, 0xFF, 0x0, 0x0, 0x27, 0x0, 0x2E, 0x5, 0x1C, 0x0, 0x0, 0x0, 0x7, 0x0, 0x2E, 0x7, 0x39, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0xA4, 0x0, 0x0, 0x4, 0x36, 0x5, 0xB0, 0x0, 0x6, 0x0, 0x31, 0xF, 0x0, 0xFF, 0xFF, 0x0, 0x65, 0xFF, 0xEC, 0x4, 0xEB, 0x5, 0xC4, 0x0, 0x6, 0x0, 0x28, 0xFF, 0x0, 0xFF, 0xFF, 0x0, 0xA4, 0x0, 0x0, 0x4, 0xE1, 0x5, 0xB0, 0x0, 0x6, 0x0, 0x29, 0xF, 0x0, 0xFF, 0xFF, 0x0, 0xA4, 0x0, 0x0, 0x6, 0x7A, 0x5, 0xB0, 0x0, 0x6, 0x0, 0x32, 0xF, 0x0, 0xFF, 0xFF, 0x0, 0x7E, 0x0, 0x0, 0x1, 0x92, 0x5, 0xD5, 0x0, 0x6, 0x0, 0x4E, 0x1, 0x0, 0xFF, 0xFF, 0x0, 0x7E, 0x0, 0x0, 0x3, 0x9E, 0x5, 0xD5, 0x0, 0x26, 0x0, 0x4E, 0x1, 0x0, 0x0, 0x7, 0x0, 0x4E, 0x2, 0xD, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x7E, 0x0, 0x0, 0x5, 0xA9, 0x5, 0xD5, 0x0, 0x26, 0x0, 0x4E, 0x1, 0x0, 0x0, 0x27, 0x0, 0x4E, 0x2, 0xD, 0x0, 0x0, 0x0, 0x7, 0x0, 0x4E, 0x4, 0x18, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x7E, 0x0, 0x0, 0x5, 0xE8, 0x5, 0xD5, 0x0, 0x26, 0x0, 0x4E, 0x1, 0x0, 0x0, 0x7, 0x0, 0x5B, 0x2, 0xD, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x1A, 0x0, 0x0, 0x3, 0xDE, 0x4, 0x3A, 0x0, 0x6, 0x0, 0x5B, 0x3, 0x0, 0xFF, 0xFF, 0x0, 0x1A, 0x0, 0x0, 0x5, 0x8A, 0x5, 0xD5, 0x0, 0x26, 0x0, 0x5B, 0x3, 0x0, 0x0, 0x7, 0x0, 0x4E, 0x3, 0xF9, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x1A, 0x0, 0x0, 0x7, 0x95, 0x5, 0xD5, 0x0, 0x26, 0x0, 0x5B, 0x3, 0x0, 0x0, 0x27, 0x0, 0x4E, 0x3, 0xF9, 0x0, 0x0, 0x0, 0x7, 0x0, 0x4E, 0x6, 0x4, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x1A, 0x0, 0x0, 0x9, 0xA1, 0x5, 0xD5, 0x0, 0x26, 0x0, 0x5B, 0x3, 0x0, 0x0, 0x27, 0x0, 0x4E, 0x3, 0xF9, 0x0, 0x0, 0x0, 0x27, 0x0, 0x4E, 0x6, 0x4, 0x0, 0x0, 0x0, 0x7, 0x0, 0x4E, 0x8, 0x10, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x7E, 0x0, 0x0, 0x5, 0xF6, 0x5, 0xD5, 0x0, 0x26, 0x0, 0x4E, 0x1, 0x0, 0x0, 0x7, 0x0, 0x5D, 0x2, 0xD, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x22, 0x0, 0x0, 0x3, 0xEC, 0x4, 0x3A, 0x0, 0x6, 0x0, 0x5D, 0x3, 0x0, 0xFF, 0xFF, 0x0, 0x22, 0x0, 0x0, 0x5, 0x9B, 0x5, 0xD5, 0x0, 0x26, 0x0, 0x5D, 0x3, 0x0, 0x0, 0x7, 0x0, 0x4E, 0x4, 0xA, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x22, 0x0, 0x0, 0x7, 0xA7, 0x5, 0xD5, 0x0, 0x26, 0x0, 0x5D, 0x3, 0x0, 0x0, 0x27, 0x0, 0x4E, 0x4, 0xA, 0x0, 0x0, 0x0, 0x7, 0x0, 0x4E, 0x6, 0x16, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x7E, 0x0, 0x0, 0x1, 0x71, 0x6, 0x0, 0x0, 0x6, 0x0, 0x51, 0xF2, 0x0, 0xFF, 0xFF, 0x0, 0x50, 0xFF, 0xEC, 0x3, 0xF5, 0x4, 0x4E, 0x0, 0x6, 0x0, 0x48, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x50, 0xFF, 0xEC, 0x4, 0x4, 0x6, 0x0, 0x0, 0x6, 0x0, 0x49, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x7E, 0x0, 0x0, 0x6, 0x7B, 0x4, 0x4E, 0x0, 0x6, 0x0, 0x52, 0x1, 0x0, 0x0, 0x3, 0x0, 0x68, 0x0, 0x0, 0x6, 0xCC, 0x5, 0xB0, 0x0, 0x9, 0x0, 0x13, 0x0, 0x23, 0x0, 0x0, 0x25, 0x11, 0x23, 0x22, 0x6, 0x7, 0x15, 0x14, 0x12, 0x17, 0x1, 0x11, 0x33, 0x32, 0x12, 0x35, 0x35, 0x34, 0x2, 0x23, 0x1, 0x20, 0x0, 0x11, 0x35, 0x10, 0x0, 0x21, 0x21, 0x20, 0x0, 0x11, 0x15, 0x10, 0x0, 0x21, 0x3, 0x1F, 0x1D, 0xCD, 0xCE, 0x2, 0xCB, 0xD5, 0x1, 0xE, 0x17, 0xD2, 0xD2, 0xC6, 0xD1, 0xFE, 0xCC, 0xFE, 0xD0, 0xFE, 0x95, 0x1, 0x6A, 0x1, 0x24, 0x1, 0x48, 0x1, 0x24, 0x1, 0x6A, 0xFE, 0x95, 0xFE, 0xD0, 0xCA, 0x4, 0x1B, 0xEF, 0xED, 0x56, 0xE0, 0xFE, 0xFA, 0x3, 0x4, 0x1B, 0xFB, 0xE5, 0x1, 0x2, 0xE7, 0x4C, 0xE2, 0x1, 0x4, 0xFB, 0x1B, 0x1, 0x77, 0x1, 0x3C, 0x4A, 0x1, 0x3D, 0x1, 0x76, 0xFE, 0x8A, 0xFE, 0xC3, 0x4A, 0xFE, 0xC4, 0xFE, 0x89, 0x0, 0x3, 0x0, 0x99, 0x0, 0x0, 0x4, 0xF4, 0x5, 0xB0, 0x0, 0x8, 0x0, 0x1C, 0x0, 0x26, 0x0, 0x0, 0x1, 0x11, 0x33, 0x32, 0x37, 0x35, 0x34, 0x26, 0x23, 0x3, 0x15, 0x33, 0x36, 0x12, 0x37, 0x35, 0x34, 0x26, 0x27, 0x23, 0x15, 0x33, 0x16, 0x16, 0x17, 0x15, 0x14, 0x6, 0x23, 0x1, 0x11, 0x21, 0x20, 0x0, 0x11, 0x15, 0x10, 0x0, 0x21, 0x1, 0x8C, 0x75, 0xDB, 0x4, 0x71, 0x65, 0x7E, 0xCF, 0xDA, 0xD9, 0x1, 0xD2, 0xD1, 0xE0, 0x88, 0xAE, 0xD7, 0x1, 0xDA, 0xB8, 0xFE, 0x91, 0x1, 0xCC, 0x1, 0x25, 0x1, 0x6A, 0xFE, 0x94, 0xFE, 0xD0, 0x3, 0xF3, 0xFD, 0xC6, 0xFD, 0x38, 0x8D, 0x78, 0xFD, 0x2B, 0x68, 0x1, 0x1, 0xB, 0xEC, 0x51, 0xFC, 0xFD, 0x2, 0x6C, 0x1, 0xE0, 0xBC, 0x32, 0xBF, 0xE2, 0xFE, 0xE2, 0x5, 0xB0, 0xFE, 0x8A, 0xFE, 0xC3, 0x4A, 0xFE, 0xC4, 0xFE, 0x89, 0x0, 0x5, 0x0, 0x6A, 0x0, 0x0, 0x7, 0x87, 0x5, 0xB0, 0x0, 0x13, 0x0, 0x1C, 0x0, 0x24, 0x0, 0x38, 0x0, 0x48, 0x0, 0x0, 0x25, 0x35, 0x23, 0x26, 0x26, 0x27, 0x35, 0x34, 0x36, 0x33, 0x33, 0x35, 0x23, 0x6, 0x6, 0x7, 0x15, 0x14, 0x12, 0x33, 0x1, 0x11, 0x33, 0x32, 0x37, 0x35, 0x34, 0x26, 0x23, 0x1, 0x11, 0x23, 0x22, 0x7, 0x15, 0x10, 0x17, 0x5, 0x15, 0x33, 0x32, 0x12, 0x35, 0x35, 0x34, 0x26, 0x23, 0x23, 0x15, 0x33, 0x16, 0x16, 0x17, 0x15, 0x14, 0x6, 0x23, 0x1, 0x20, 0x0, 0x11, 0x35, 0x10, 0x0, 0x21, 0x21, 0x20, 0x0, 0x11, 0x15, 0x10, 0x0, 0x21, 0x3, 0x7F, 0x2C, 0xB6, 0xD9, 0x1, 0xDB, 0xAF, 0x32, 0x8D, 0xD0, 0xD1, 0x2, 0xDB, 0xDB, 0x1, 0x6D, 0x22, 0xDB, 0x4, 0x71, 0x65, 0xFE, 0xE2, 0x2B, 0xD0, 0x6, 0xD7, 0x1, 0x1D, 0x7A, 0xDB, 0xDB, 0xD4, 0xD6, 0x86, 0x35, 0xAE, 0xD8, 0x1, 0xDB, 0xB8, 0xFE, 0x6A, 0xFE, 0xD0, 0xFE, 0x95, 0x1, 0x6A, 0x1, 0x24, 0x2, 0x1, 0x1, 0x24, 0x1, 0x6A, 0xFE, 0x95, 0xFE, 0xD0, 0xB6, 0x68, 0x1, 0xE0, 0xBD, 0x31, 0xBF, 0xE2, 0x6C, 0x2, 0xF9, 0xF6, 0x56, 0xF0, 0xFE, 0xF3, 0x3, 0x3D, 0xFD, 0xC6, 0xFD, 0x38, 0x8D, 0x78, 0xFD, 0xC6, 0x2, 0x3A, 0xF4, 0x40, 0xFE, 0xFF, 0x5, 0x9B, 0x68, 0x1, 0xD, 0xF0, 0x4C, 0xFD, 0xFE, 0x6C, 0x1, 0xE0, 0xBD, 0x31, 0xBF, 0xE2, 0xFE, 0xE2, 0x1, 0x77, 0x1, 0x3C, 0x4A, 0x1, 0x3D, 0x1, 0x76, 0xFE, 0x8A, 0xFE, 0xC3, 0x4A, 0xFE, 0xC4, 0xFE, 0x89, 0x0, 0x1, 0x0, 0x4D, 0xFF, 0xEC, 0x4, 0xCD, 0x5, 0xC4, 0x0, 0x1A, 0x0, 0x0, 0x13, 0x33, 0x16, 0x16, 0x33, 0x32, 0x12, 0x35, 0x35, 0x34, 0x2, 0x23, 0x22, 0x6, 0x7, 0x23, 0x36, 0x0, 0x21, 0x20, 0x0, 0x13, 0x15, 0x10, 0x0, 0x20, 0x0, 0x4E, 0xF3, 0x13, 0x8B, 0xA6, 0xB4, 0xA1, 0xB2, 0xB0, 0x9E, 0x89, 0x11, 0xF3, 0x16, 0x1, 0x12, 0x1, 0x3, 0x1, 0x10, 0x1, 0x41, 0x4, 0xFE, 0xC3, 0xFD, 0xEA, 0xFE, 0xE8, 0x1, 0xD9, 0x8E, 0x9C, 0x1, 0x13, 0xD9, 0x7C, 0xE6, 0x1, 0x4, 0xA2, 0x8D, 0xDA, 0x1, 0x18, 0xFE, 0x93, 0xFE, 0xCD, 0x89, 0xFE, 0xC7, 0xFE, 0x8A, 0x1, 0x1A, 0x0, 0x1, 0x0, 0x3B, 0xFF, 0xEC, 0x3, 0xE1, 0x4, 0x4E, 0x0, 0x1B, 0x0, 0x0, 0x13, 0x33, 0x16, 0x16, 0x33, 0x32, 0x36, 0x35, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x7, 0x23, 0x36, 0x36, 0x33, 0x32, 0x12, 0x17, 0x15, 0x14, 0x2, 0x23, 0x22, 0x24, 0x3B, 0xE5, 0x5, 0x7A, 0x58, 0x95, 0x62, 0x62, 0x95, 0x63, 0x6F, 0x5, 0xE5, 0x5, 0xF1, 0xC4, 0xF7, 0xF3, 0x2, 0xF3, 0xFA, 0xB4, 0xFF, 0x0, 0x1, 0x66, 0x4F, 0x68, 0xD9, 0x83, 0x24, 0x81, 0xDB, 0x7D, 0x57, 0xB3, 0xE4, 0xFE, 0xC4, 0xDD, 0x2A, 0xDF, 0xFE, 0xC0, 0xDD, 0x0, 0x1, 0x0, 0x66, 0xFE, 0x98, 0x4, 0xE6, 0x5, 0xC4, 0x0, 0x1D, 0x0, 0x0, 0x1, 0x11, 0x23, 0x11, 0x6, 0x23, 0x20, 0x0, 0x11, 0x35, 0x10, 0x0, 0x21, 0x20, 0x0, 0x17, 0x23, 0x26, 0x26, 0x23, 0x22, 0x2, 0x15, 0x15, 0x14, 0x12, 0x33, 0x32, 0x37, 0x35, 0x4, 0xD6, 0xF3, 0x80, 0xB5, 0xFE, 0xF5, 0xFE, 0xC3, 0x1, 0x43, 0x1, 0x12, 0x1, 0x3, 0x1, 0x12, 0x16, 0xF3, 0x11, 0x89, 0x9E, 0xB0, 0xB2, 0xA1, 0xB4, 0xC6, 0x6F, 0x1, 0xDC, 0xFC, 0xBC, 0x1, 0x9E, 0x4A, 0x1, 0x76, 0x1, 0x39, 0x7A, 0x1, 0x3A, 0x1, 0x75, 0xFE, 0xE8, 0xDA, 0x8D, 0xA2, 0xFE, 0xFC, 0xE6, 0x7C, 0xD9, 0xFE, 0xED, 0x7F, 0xAE, 0x0, 0x1, 0x0, 0x3C, 0x0, 0x0, 0x6, 0x10, 0x5, 0xB0, 0x0, 0x9, 0x0, 0x0, 0x21, 0x1, 0x37, 0x1, 0x11, 0x33, 0x11, 0x1, 0x17, 0x1, 0x2, 0xB6, 0xFD, 0x86, 0xB0, 0x1, 0xBF, 0xF3, 0x1, 0xC8, 0xAA, 0xFD, 0x86, 0x2, 0xA4, 0xAD, 0xFE, 0x17, 0x4, 0x48, 0xFB, 0xB5, 0x1, 0xEC, 0xB4, 0xFD, 0x63, 0x0, 0x4, 0x0, 0x99, 0x0, 0x0, 0x4, 0xF9, 0x5, 0xB0, 0x0, 0x6, 0x0, 0x18, 0x0, 0x2C, 0x0, 0x36, 0x0, 0x0, 0x1, 0x11, 0x36, 0x35, 0x35, 0x34, 0x26, 0x3, 0x15, 0x33, 0x36, 0x36, 0x37, 0x35, 0x34, 0x26, 0x23, 0x23, 0x15, 0x33, 0x4, 0x17, 0x15, 0x14, 0x6, 0x7, 0x15, 0x33, 0x32, 0x12, 0x35, 0x35, 0x10, 0x2, 0x23, 0x23, 0x15, 0x33, 0x16, 0x16, 0x17, 0x15, 0x14, 0x6, 0x7, 0x5, 0x11, 0x21, 0x20, 0x0, 0x11, 0x15, 0x10, 0x0, 0x21, 0x1, 0x8C, 0x83, 0x40, 0x43, 0x6A, 0x88, 0x9D, 0x1, 0x9F, 0x82, 0x6F, 0x17, 0x1, 0x17, 0x5, 0x97, 0x9C, 0xD2, 0xDC, 0xF3, 0xE8, 0xDA, 0xDF, 0x8F, 0xC1, 0xEF, 0x1, 0xF0, 0xCA, 0xFE, 0x87, 0x1, 0xD2, 0x1, 0x29, 0x1, 0x65, 0xFE, 0x9A, 0xFE, 0xCB, 0x3, 0x62, 0xFE, 0xF6, 0x1, 0x71, 0x1E, 0x45, 0x35, 0xFE, 0x68, 0x50, 0x1, 0x90, 0xAF, 0x3A, 0xBC, 0x8B, 0x4B, 0x6, 0xF9, 0x27, 0x80, 0x80, 0xE0, 0x53, 0x1, 0x22, 0xFA, 0x4C, 0x1, 0x1, 0x1, 0x20, 0x55, 0x1, 0xF0, 0xE4, 0x39, 0xE6, 0xEC, 0x1, 0xEA, 0x5, 0xB0, 0xFE, 0x8A, 0xFE, 0xC3, 0x4A, 0xFE, 0xC4, 0xFE, 0x89, 0x0, 0x7, 0x0, 0x6A, 0x0, 0x0, 0x8, 0x37, 0x5, 0xB0, 0x0, 0x13, 0x0, 0x25, 0x0, 0x2D, 0x0, 0x35, 0x0, 0x47, 0x0, 0x5B, 0x0, 0x6B, 0x0, 0x0, 0x25, 0x35, 0x23, 0x26, 0x26, 0x35, 0x35, 0x34, 0x36, 0x33, 0x33, 0x35, 0x23, 0x6, 0x2, 0x7, 0x15, 0x14, 0x12, 0x33, 0x37, 0x35, 0x23, 0x24, 0x27, 0x35, 0x10, 0x25, 0x33, 0x35, 0x23, 0x6, 0x6, 0x7, 0x15, 0x14, 0x16, 0x33, 0x1, 0x11, 0x33, 0x32, 0x35, 0x35, 0x34, 0x26, 0x1, 0x11, 0x23, 0x22, 0x6, 0x15, 0x15, 0x14, 0x5, 0x15, 0x33, 0x32, 0x36, 0x35, 0x35, 0x34, 0x26, 0x23, 0x23, 0x15, 0x33, 0x4, 0x17, 0x15, 0x14, 0x5, 0x7, 0x15, 0x33, 0x32, 0x12, 0x35, 0x35, 0x10, 0x2, 0x23, 0x23, 0x15, 0x33, 0x16, 0x16, 0x17, 0x15, 0x14, 0x6, 0x7, 0x5, 0x20, 0x0, 0x11, 0x35, 0x10, 0x0, 0x21, 0x21, 0x20, 0x0, 0x11, 0x15, 0x10, 0x0, 0x21, 0x3, 0xD7, 0x86, 0xCA, 0xF0, 0xF1, 0xC3, 0x8C, 0xE2, 0xD5, 0xE7, 0x3, 0xF4, 0xDB, 0xD2, 0x1B, 0xFE, 0xE6, 0x6, 0x1, 0x1C, 0x1F, 0x71, 0x81, 0x9D, 0x1, 0xA0, 0x8B, 0x1, 0x58, 0x5, 0x88, 0x42, 0xFE, 0xC2, 0xB, 0x40, 0x44, 0x1, 0x82, 0x65, 0x8C, 0x9F, 0x9F, 0x82, 0x6F, 0x1D, 0x1, 0x18, 0x5, 0xFE, 0xE2, 0x1C, 0xD2, 0xDB, 0xF4, 0xE8, 0xDA, 0xDF, 0x8F, 0xC1, 0xEF, 0x1, 0xF0, 0xCA, 0xFD, 0xB5, 0xFE, 0xCB, 0xFE, 0x9A, 0x1, 0x65, 0x1, 0x29, 0x2, 0xB1, 0x1, 0x29, 0x1, 0x65, 0xFE, 0x9A, 0xFE, 0xCB, 0x97, 0x53, 0x1, 0xEC, 0xE6, 0x35, 0xE7, 0xF2, 0x55, 0x1, 0xFE, 0xE7, 0xFB, 0x58, 0xFA, 0xFE, 0xDE, 0xE3, 0x50, 0x6, 0xF0, 0x28, 0x1, 0x2, 0x6, 0x4B, 0x1, 0x8A, 0xB7, 0x3B, 0xB2, 0x92, 0x1, 0xE8, 0xFE, 0xF6, 0x72, 0x1E, 0x44, 0x36, 0xFE, 0xF6, 0x1, 0xA, 0x35, 0x45, 0x1E, 0x72, 0x8E, 0x50, 0x92, 0xB2, 0x36, 0xBC, 0x8B, 0x4B, 0x6, 0xF9, 0x27, 0xF9, 0x7, 0xE0, 0x53, 0x1, 0x22, 0xFA, 0x4C, 0x1, 0x1, 0x1, 0x20, 0x55, 0x1, 0xF0, 0xE4, 0x39, 0xE6, 0xEC, 0x1, 0xEA, 0x1, 0x77, 0x1, 0x3C, 0x4A, 0x1, 0x3D, 0x1, 0x76, 0xFE, 0x8A, 0xFE, 0xC3, 0x4A, 0xFE, 0xC4, 0xFE, 0x89, 0xFF, 0xFF, 0x0, 0x46, 0xFF, 0xF5, 0x6, 0x51, 0x5, 0xA8, 0x0, 0x27, 0x4, 0x83, 0x1, 0x65, 0x0, 0x0, 0x0, 0x27, 0x7, 0x9D, 0x3, 0xA8, 0x0, 0x0, 0x0, 0x7, 0x7, 0x43, 0xFF, 0xFA, 0x2, 0x88, 0x0, 0x2, 0x0, 0x62, 0xFF, 0xEB, 0x4, 0x43, 0x5, 0xF6, 0x0, 0x19, 0x0, 0x27, 0x0, 0x0, 0x1, 0x32, 0x17, 0x26, 0x26, 0x23, 0x22, 0x6, 0x7, 0x27, 0x36, 0x36, 0x33, 0x20, 0x0, 0x13, 0x15, 0x10, 0x0, 0x23, 0x22, 0x0, 0x35, 0x35, 0x34, 0x12, 0x17, 0x22, 0x6, 0x15, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x35, 0x26, 0x26, 0x2, 0x39, 0xAC, 0x78, 0x19, 0xC5, 0x84, 0x4E, 0x74, 0x46, 0x1D, 0x38, 0x8E, 0x73, 0x1, 0x12, 0x1, 0x20, 0x2, 0xFE, 0xFD, 0xEE, 0xED, 0xFE, 0xFD, 0xF6, 0xFC, 0x88, 0x77, 0x76, 0x87, 0x89, 0x76, 0xF, 0x74, 0x4, 0x5, 0x7E, 0xC1, 0xE6, 0x1A, 0x1A, 0xB7, 0x19, 0x2C, 0xFE, 0x4B, 0xFE, 0x84, 0x44, 0xFE, 0xE8, 0xFE, 0x82, 0x1, 0x30, 0xE3, 0x15, 0xD6, 0x1, 0x1C, 0xC3, 0xB9, 0x7D, 0x15, 0x86, 0xC3, 0xE9, 0xA7, 0x5A, 0x2F, 0x7B, 0x0, 0x1, 0x0, 0xA6, 0xFF, 0x1A, 0x4, 0xF4, 0x5, 0xB0, 0x0, 0x7, 0x0, 0x0, 0x1, 0x11, 0x23, 0x11, 0x21, 0x11, 0x23, 0x11, 0x4, 0xF4, 0xF3, 0xFD, 0x99, 0xF4, 0x5, 0xB0, 0xF9, 0x6A, 0x5, 0xD6, 0xFA, 0x2A, 0x6, 0x96, 0x0, 0x1, 0x0, 0x41, 0xFE, 0xF3, 0x4, 0xC1, 0x5, 0xB0, 0x0, 0xC, 0x0, 0x0, 0x13, 0x35, 0x1, 0x1, 0x35, 0x21, 0x15, 0x21, 0x1, 0x15, 0x1, 0x21, 0x15, 0x41, 0x2, 0x4E, 0xFD, 0xB2, 0x4, 0x46, 0xFC, 0xF7, 0x2, 0x12, 0xFD, 0xEE, 0x3, 0x43, 0xFE, 0xF3, 0x97, 0x2, 0xC9, 0x2, 0xC6, 0x97, 0xC3, 0xFD, 0x74, 0x1E, 0xFD, 0x73, 0xC3, 0x0, 0x1, 0x0, 0x9F, 0x2, 0x6E, 0x3, 0xEF, 0x3, 0x32, 0x0, 0x3, 0x0, 0x0, 0x1, 0x15, 0x21, 0x35, 0x3, 0xEF, 0xFC, 0xB0, 0x3, 0x32, 0xC4, 0xC4, 0x0, 0x1, 0x0, 0x3C, 0xFF, 0xFF, 0x4, 0x92, 0x5, 0xB0, 0x0, 0x8, 0x0, 0x0, 0x5, 0x3, 0x23, 0x35, 0x21, 0x13, 0x1, 0x33, 0x1, 0x1, 0xE5, 0xD9, 0xD0, 0x1, 0x66, 0xA0, 0x1, 0x78, 0xD8, 0xFE, 0x17, 0x1, 0x2, 0x42, 0xC6, 0xFE, 0x23, 0x4, 0x86, 0xFA, 0x4F, 0x0, 0x3, 0x0, 0x5E, 0xFF, 0xEB, 0x7, 0xE0, 0x4, 0x4E, 0x0, 0x19, 0x0, 0x29, 0x0, 0x39, 0x0, 0x0, 0x5, 0x22, 0x26, 0x27, 0x6, 0x6, 0x23, 0x22, 0x0, 0x27, 0x35, 0x34, 0x0, 0x33, 0x32, 0x16, 0x17, 0x36, 0x36, 0x33, 0x32, 0x0, 0x15, 0x15, 0x14, 0x0, 0x13, 0x34, 0x26, 0x23, 0x22, 0x6, 0x6, 0x7, 0x15, 0x1E, 0x2, 0x33, 0x32, 0x36, 0x35, 0x21, 0x14, 0x16, 0x33, 0x32, 0x36, 0x36, 0x37, 0x35, 0x2E, 0x2, 0x23, 0x22, 0x6, 0x15, 0x5, 0xE9, 0xB1, 0xDC, 0x3E, 0x3D, 0xDC, 0xB1, 0xE3, 0xFE, 0xF0, 0x3, 0x1, 0x11, 0xE3, 0xB2, 0xDD, 0x3E, 0x3D, 0xDD, 0xB2, 0xDB, 0x1, 0x1A, 0xFE, 0xEE, 0x22, 0x8B, 0x81, 0x6B, 0x8B, 0x49, 0x9, 0x8, 0x4A, 0x8B, 0x69, 0x82, 0x8C, 0xFA, 0x5D, 0x8C, 0x82, 0x6A, 0x8A, 0x4A, 0x8, 0x8, 0x49, 0x8B, 0x6C, 0x81, 0x8B, 0x15, 0xD2, 0x7A, 0x7A, 0xD2, 0x1, 0x40, 0xDD, 0x20, 0xE0, 0x1, 0x46, 0xCE, 0x78, 0x78, 0xCE, 0xFE, 0xC4, 0xF2, 0xF, 0xE0, 0xFE, 0xBA, 0x2, 0x3D, 0x91, 0xCF, 0x8D, 0xA4, 0x25, 0x23, 0x26, 0xA8, 0x8F, 0xCC, 0x93, 0x93, 0xCC, 0x8F, 0xA8, 0x26, 0x23, 0x25, 0xA4, 0x8D, 0xCF, 0x91, 0x0, 0x1, 0xFF, 0xAF, 0xFE, 0x4B, 0x2, 0xA9, 0x6, 0x15, 0x0, 0x15, 0x0, 0x0, 0x13, 0x22, 0x27, 0x37, 0x16, 0x33, 0x32, 0x35, 0x11, 0x34, 0x36, 0x33, 0x32, 0x17, 0x7, 0x26, 0x23, 0x22, 0x15, 0x11, 0x14, 0x6, 0x31, 0x46, 0x3C, 0x11, 0x2B, 0x27, 0x8C, 0xC5, 0xAE, 0x3D, 0x5B, 0x19, 0x2A, 0x32, 0xA3, 0xBB, 0xFE, 0x4B, 0x12, 0xBE, 0xD, 0xA2, 0x4, 0xF3, 0xB4, 0xBE, 0x15, 0xB8, 0xA, 0xAF, 0xFB, 0xD, 0xB5, 0xB0, 0x0, 0x2, 0x0, 0x65, 0x1, 0x1, 0x4, 0x16, 0x3, 0xFB, 0x0, 0x14, 0x0, 0x28, 0x0, 0x0, 0x13, 0x35, 0x36, 0x33, 0x36, 0x1E, 0x2, 0x33, 0x32, 0x37, 0x15, 0x6, 0x23, 0x22, 0x2E, 0x2, 0x7, 0x22, 0x6, 0x3, 0x35, 0x36, 0x33, 0x36, 0x1E, 0x2, 0x33, 0x32, 0x37, 0x15, 0x6, 0x23, 0x22, 0x2E, 0x2, 0x7, 0x22, 0x65, 0x65, 0x91, 0x4F, 0x63, 0x7A, 0x5D, 0x49, 0x85, 0x64, 0x65, 0x80, 0x30, 0x48, 0xDD, 0x4A, 0x33, 0x41, 0x8A, 0x2F, 0x65, 0x8E, 0x4F, 0x63, 0x7A, 0x5D, 0x49, 0x88, 0x64, 0x65, 0x84, 0x30, 0x48, 0xDD, 0x4A, 0x33, 0x92, 0x2, 0xB5, 0xDA, 0x6A, 0x2, 0x2B, 0x3E, 0x27, 0x7E, 0xDA, 0x6A, 0x10, 0x70, 0xF, 0x1, 0x43, 0xFE, 0x21, 0xDA, 0x6A, 0x2, 0x2B, 0x3E, 0x27, 0x7E, 0xDA, 0x6A, 0x10, 0x70, 0xF, 0x1, 0x0, 0x1, 0x0, 0x91, 0x0, 0x80, 0x3, 0xF0, 0x4, 0xC4, 0x0, 0x13, 0x0, 0x0, 0x1, 0x21, 0x7, 0x27, 0x37, 0x23, 0x35, 0x21, 0x37, 0x21, 0x35, 0x21, 0x37, 0x17, 0x7, 0x33, 0x15, 0x21, 0x7, 0x21, 0x3, 0xF0, 0xFD, 0xE2, 0x81, 0x6D, 0x5D, 0xB0, 0x1, 0x22, 0x7E, 0xFE, 0x60, 0x2, 0x11, 0x86, 0x6D, 0x63, 0xBE, 0xFE, 0xD1, 0x7E, 0x1, 0xAD, 0x1, 0x64, 0xE4, 0x3E, 0xA6, 0xCA, 0xDF, 0xC9, 0xEE, 0x3F, 0xAF, 0xC9, 0xDF, 0xFF, 0xFF, 0x0, 0x3C, 0x0, 0x0, 0x3, 0x8C, 0x4, 0x48, 0x0, 0x67, 0x0, 0x21, 0x0, 0x0, 0x0, 0x8B, 0x40, 0x0, 0x37, 0x96, 0x0, 0x47, 0x5, 0x3A, 0xFF, 0x9D, 0xFD, 0xA6, 0x40, 0x0, 0x3D, 0xFC, 0xFF, 0xFF, 0x0, 0x80, 0xFF, 0xFF, 0x3, 0xE0, 0x4, 0x55, 0x0, 0x67, 0x0, 0x23, 0x0, 0x0, 0x0, 0x98, 0x40, 0x0, 0x37, 0x96, 0x0, 0x47, 0x5, 0x3A, 0xFF, 0xE1, 0xFD, 0xA5, 0x40, 0x0, 0x3D, 0xFC, 0x0, 0x1, 0x0, 0x45, 0xFE, 0xB8, 0x4, 0xFB, 0x0, 0x8C, 0x0, 0x7, 0x0, 0x0, 0x37, 0x33, 0x11, 0x21, 0x11, 0x33, 0x11, 0x21, 0x45, 0xC8, 0x3, 0x26, 0xC8, 0xFB, 0x4A, 0x8C, 0xFE, 0xEA, 0x1, 0x16, 0xFE, 0x2C, 0x0, 0x2, 0x0, 0x24, 0x0, 0x0, 0x3, 0xEB, 0x5, 0xB0, 0x0, 0x3, 0x0, 0x9, 0x0, 0x0, 0x1, 0x13, 0x13, 0x3, 0x3, 0x1, 0x1, 0x33, 0x1, 0x1, 0x1, 0x18, 0xF2, 0xED, 0xF1, 0x5F, 0xFE, 0x7D, 0x1, 0x80, 0xC5, 0x1, 0x82, 0xFE, 0x81, 0x2, 0xD7, 0xFE, 0x2A, 0x1, 0xD6, 0x1, 0xD7, 0xFB, 0x52, 0x2, 0xD7, 0x2, 0xD9, 0xFD, 0x27, 0xFD, 0x29, 0x0, 0x2, 0x0, 0x99, 0xFE, 0xBB, 0x3, 0xA8, 0x6, 0x8F, 0x0, 0x3, 0x0, 0xB, 0x0, 0x0, 0x5, 0x33, 0x11, 0x23, 0x3, 0x11, 0x21, 0x15, 0x23, 0x11, 0x33, 0x15, 0x1, 0x6E, 0xA1, 0xA1, 0xD5, 0x3, 0xF, 0xC4, 0xC4, 0x9F, 0x6, 0x87, 0xF8, 0xD3, 0x7, 0xD4, 0xA7, 0xF9, 0x79, 0xA6, 0x0, 0x2, 0x0, 0x52, 0xFE, 0xBB, 0x3, 0x61, 0x6, 0x8F, 0x0, 0x3, 0x0, 0xB, 0x0, 0x0, 0x1, 0x23, 0x11, 0x33, 0x5, 0x35, 0x33, 0x11, 0x23, 0x35, 0x21, 0x11, 0x2, 0x8D, 0xA2, 0xA2, 0xFD, 0xC5, 0xC5, 0xC5, 0x3, 0xF, 0x5, 0xE8, 0xF9, 0x79, 0xA6, 0xA6, 0x6, 0x87, 0xA7, 0xF8, 0x2C, 0x0, 0x1, 0x0, 0x40, 0xFE, 0xBE, 0x2, 0x98, 0x6, 0x8A, 0x0, 0x5, 0x0, 0x0, 0x1, 0x17, 0x1, 0x1, 0x7, 0x1, 0x1, 0xD0, 0xC8, 0xFE, 0x96, 0x1, 0x6A, 0xC8, 0xFE, 0x70, 0x6, 0x8A, 0x58, 0xFC, 0x72, 0xFC, 0x70, 0x56, 0x3, 0xE6, 0x0, 0x1, 0x0, 0x67, 0xFE, 0xBE, 0x2, 0xBF, 0x6, 0x8A, 0x0, 0x5, 0x0, 0x0, 0x13, 0x37, 0x1, 0x1, 0x27, 0x1, 0x67, 0xC8, 0x1, 0x90, 0xFE, 0x70, 0xC8, 0x1, 0x6A, 0x6, 0x32, 0x58, 0xFC, 0x1A, 0xFC, 0x1A, 0x56, 0x3, 0x90, 0xFF, 0xFF, 0x0, 0x40, 0xFE, 0xBE, 0x4, 0x4B, 0x6, 0x8A, 0x0, 0x26, 0x5, 0x46, 0x0, 0x0, 0x0, 0x7, 0x5, 0x46, 0x1, 0xB3, 0x0, 0x0, 0x0, 0x2, 0x0, 0x67, 0xFE, 0xBE, 0x4, 0x72, 0x6, 0x8A, 0x0, 0x5, 0x0, 0xB, 0x0, 0x0, 0x1, 0x37, 0x1, 0x1, 0x27, 0x1, 0x1, 0x37, 0x1, 0x1, 0x27, 0x1, 0x2, 0x1A, 0xC8, 0x1, 0x90, 0xFE, 0x70, 0xC8, 0x1, 0x6A, 0xFC, 0xE3, 0xC8, 0x1, 0x90, 0xFE, 0x70, 0xC8, 0x1, 0x6A, 0x6, 0x32, 0x58, 0xFC, 0x1A, 0xFC, 0x1A, 0x56, 0x3, 0x90, 0x3, 0x8E, 0x58, 0xFC, 0x1A, 0xFC, 0x1A, 0x56, 0x3, 0x90, 0x0, 0x2, 0x0, 0x99, 0xFE, 0x76, 0x3, 0x66, 0x6, 0xDC, 0x0, 0x7, 0x0, 0xB, 0x0, 0x0, 0x1, 0x1, 0x11, 0x1, 0x17, 0x7, 0x11, 0x17, 0x1, 0x17, 0x11, 0x7, 0x2, 0xFA, 0xFD, 0x9F, 0x2, 0x61, 0x6C, 0xA9, 0xA9, 0xFE, 0x8, 0x7A, 0x7A, 0xFE, 0x76, 0x1, 0x7B, 0x5, 0x70, 0x1, 0x7B, 0xA3, 0x6B, 0xF9, 0xB6, 0x6B, 0x1, 0x3F, 0x4D, 0x5, 0x3C, 0x4D, 0x0, 0x2, 0x0, 0x5A, 0xFE, 0x76, 0x3, 0x27, 0x6, 0xDC, 0x0, 0x7, 0x0, 0xB, 0x0, 0x0, 0x13, 0x27, 0x37, 0x11, 0x27, 0x37, 0x1, 0x11, 0x3, 0x27, 0x11, 0x37, 0xC6, 0x6C, 0xA9, 0xA9, 0x6C, 0x2, 0x61, 0xD5, 0x7A, 0x7A, 0xFE, 0x76, 0xA3, 0x6B, 0x6, 0x4A, 0x6B, 0xA3, 0xFE, 0x85, 0xFA, 0x90, 0x5, 0x9, 0x4D, 0xFA, 0xC4, 0x4D, 0x0, 0x1, 0x0, 0x99, 0xFE, 0x76, 0x2, 0x3F, 0x6, 0xDC, 0x0, 0x7, 0x0, 0x0, 0x1, 0x11, 0x17, 0x7, 0x1, 0x11, 0x1, 0x17, 0x1, 0x6E, 0xD1, 0x94, 0xFE, 0xEE, 0x1, 0x12, 0x94, 0x5, 0x77, 0xFA, 0x64, 0xD2, 0x93, 0x1, 0x12, 0x6, 0x42, 0x1, 0x12, 0x93, 0x0, 0x1, 0x0, 0x54, 0xFE, 0x76, 0x1, 0xFA, 0x6, 0xDC, 0x0, 0x7, 0x0, 0x0, 0x17, 0x37, 0x11, 0x27, 0x37, 0x1, 0x11, 0x1, 0x54, 0xD1, 0xD1, 0x94, 0x1, 0x12, 0xFE, 0xEE, 0xF7, 0xD2, 0x5, 0x9C, 0xD2, 0x93, 0xFE, 0xEE, 0xF9, 0xBE, 0xFE, 0xEE, 0x0, 0x1, 0x0, 0x50, 0x0, 0x0, 0x2, 0xCA, 0x4, 0x4E, 0x0, 0x8, 0x0, 0x0, 0x1, 0x3, 0x3, 0x23, 0x13, 0x5, 0x37, 0x25, 0x13, 0x2, 0x97, 0xA0, 0xDB, 0x9D, 0xE6, 0xFE, 0xEB, 0x32, 0x1, 0x72, 0xD6, 0x2, 0x20, 0x1, 0x15, 0xFC, 0xCB, 0x3, 0x5C, 0x9F, 0xBD, 0xD4, 0xFE, 0x8F, 0x0, 0x1, 0x0, 0x50, 0xFF, 0xED, 0x2, 0xCA, 0x4, 0x3A, 0x0, 0x8, 0x0, 0x0, 0x5, 0x25, 0x27, 0x5, 0x3, 0x33, 0x13, 0x13, 0x17, 0x1, 0xF4, 0xFE, 0x8E, 0x32, 0x1, 0x15, 0xE6, 0x9D, 0xDB, 0xA0, 0x33, 0x13, 0xD4, 0xBC, 0x9F, 0x3, 0x5C, 0xFC, 0xCB, 0x1, 0x15, 0xBC, 0x0, 0x1, 0x0, 0x50, 0x0, 0x0, 0x5, 0x2, 0x6, 0x18, 0x0, 0x17, 0x0, 0x0, 0x33, 0x23, 0x1, 0x3E, 0x2, 0x33, 0x32, 0x16, 0x7, 0x7, 0x25, 0x7, 0x5, 0x3, 0x37, 0x13, 0x37, 0x12, 0x23, 0x22, 0x6, 0x7, 0x7, 0xED, 0x9D, 0x1, 0x13, 0x2A, 0x5D, 0x96, 0x7F, 0xBF, 0x97, 0x35, 0x2A, 0x1, 0xC, 0x32, 0xFE, 0x8E, 0xD6, 0x33, 0xA4, 0x29, 0x47, 0xD4, 0x54, 0x5D, 0x1B, 0x30, 0x4, 0x4, 0x9B, 0xF0, 0x89, 0xED, 0xC7, 0x9E, 0x9A, 0xBC, 0xD4, 0x1, 0x71, 0xBC, 0xFE, 0xE5, 0x99, 0x1, 0x9, 0x7A, 0x5F, 0xAB, 0x0, 0x1, 0x0, 0x35, 0xFF, 0xEC, 0x4, 0xBF, 0x6, 0x18, 0x0, 0x16, 0x0, 0x0, 0x5, 0x25, 0x27, 0x5, 0x1, 0x26, 0x26, 0x23, 0x22, 0x6, 0x17, 0x13, 0x7, 0x3, 0x26, 0x12, 0x33, 0x32, 0x16, 0x17, 0x1, 0x13, 0x17, 0x3, 0xE9, 0xFE, 0x8E, 0x32, 0x1, 0x19, 0xFE, 0xF6, 0x16, 0x4F, 0x5F, 0x61, 0x55, 0x22, 0x46, 0x93, 0x4B, 0x2F, 0xA0, 0xBD, 0x96, 0x94, 0x2B, 0x1, 0x8, 0x9D, 0x33, 0x14, 0xD4, 0xBC, 0xA1, 0x3, 0xE0, 0x51, 0x78, 0x84, 0x7E, 0xFE, 0xFD, 0x28, 0x1, 0x12, 0xAF, 0x1, 0x0, 0x9A, 0x9E, 0xFC, 0x28, 0x1, 0x11, 0xBC, 0x0, 0x1, 0x0, 0x50, 0x0, 0x0, 0x4, 0x7F, 0x6, 0x1F, 0x0, 0xA, 0x0, 0x0, 0x33, 0x35, 0x21, 0x1, 0x5, 0x37, 0x25, 0x13, 0x7, 0x3, 0x1, 0x50, 0x1, 0x8D, 0x1, 0x3D, 0xFE, 0xEB, 0x32, 0x1, 0x72, 0xD6, 0x33, 0xA0, 0xFE, 0xA6, 0x94, 0x4, 0x9A, 0x9F, 0xBC, 0xD4, 0xFE, 0x8F, 0xBC, 0x1, 0x15, 0xFA, 0xF9, 0x0, 0x1, 0x0, 0x50, 0xFF, 0xEC, 0x4, 0x7F, 0x6, 0xB, 0x0, 0xA, 0x0, 0x0, 0x5, 0x25, 0x27, 0x5, 0x1, 0x21, 0x35, 0x21, 0x1, 0x13, 0x17, 0x3, 0xA9, 0xFE, 0x8E, 0x32, 0x1, 0x15, 0xFE, 0xC3, 0xFE, 0x73, 0x2, 0x2, 0x1, 0x5A, 0xA0, 0x33, 0x14, 0xD4, 0xBC, 0x9F, 0x4, 0x9A, 0x94, 0xFA, 0xF9, 0x1, 0x15, 0xBC, 0x0, 0x1, 0x0, 0x50, 0xFF, 0xEC, 0x4, 0x6C, 0x6, 0x0, 0x0, 0xB, 0x0, 0x0, 0x25, 0x13, 0x1, 0x27, 0x1, 0x33, 0x1, 0x1, 0x25, 0x37, 0x5, 0x3, 0x3, 0x56, 0x53, 0xFD, 0x20, 0x79, 0x1, 0x80, 0x9A, 0xFE, 0x97, 0x2, 0x5B, 0xFE, 0xCD, 0xA8, 0x1, 0x9B, 0x6E, 0x61, 0x1, 0x35, 0xFE, 0x56, 0x86, 0x5, 0x8E, 0xFA, 0xBC, 0x1, 0x5D, 0x53, 0x62, 0x6F, 0xFE, 0x64, 0x0, 0x1, 0x0, 0x50, 0xFF, 0xEC, 0x4, 0x6C, 0x4, 0x3A, 0x0, 0xB, 0x0, 0x0, 0x25, 0x13, 0x1, 0x27, 0x1, 0x33, 0x3, 0x1, 0x25, 0x37, 0x5, 0x3, 0x3, 0x56, 0x53, 0xFD, 0x20, 0x79, 0x1, 0x8, 0x9B, 0xF2, 0x2, 0x5B, 0xFE, 0xCD, 0xA8, 0x1, 0x9B, 0x6E, 0x61, 0x1, 0x35, 0xFE, 0x56, 0x86, 0x3, 0xC8, 0xFC, 0x82, 0x1, 0x5D, 0x53, 0x62, 0x6F, 0xFE, 0x64, 0xFF, 0xFF, 0x0, 0x21, 0x0, 0x0, 0x4, 0x7A, 0x5, 0xB0, 0x0, 0x26, 0x0, 0x31, 0x53, 0x0, 0x0, 0x27, 0x7, 0xA4, 0xFF, 0x91, 0x0, 0xD5, 0x0, 0x6, 0x7, 0xA4, 0x91, 0xA8, 0xFF, 0xFF, 0x0, 0x21, 0x0, 0x0, 0x2, 0xBF, 0x6, 0x0, 0x0, 0x26, 0x0, 0x51, 0x6A, 0x0, 0x0, 0x27, 0x7, 0xA4, 0xFF, 0x91, 0x0, 0xD5, 0x0, 0x6, 0x7, 0xA4, 0x91, 0xA8, 0x0, 0x1, 0x0, 0x5, 0x0, 0x0, 0x4, 0xA8, 0x5, 0xB0, 0x0, 0x19, 0x0, 0x0, 0x21, 0x11, 0x27, 0x22, 0x6, 0x15, 0x27, 0x34, 0x36, 0x33, 0x17, 0x11, 0x33, 0x11, 0x33, 0x32, 0x36, 0x35, 0x17, 0x14, 0x6, 0x23, 0x27, 0x11, 0x21, 0x15, 0x1, 0x17, 0x10, 0x29, 0x38, 0xA1, 0x87, 0x67, 0x24, 0xFC, 0x1, 0x29, 0x39, 0xA1, 0x89, 0x66, 0x15, 0x2, 0x95, 0x2, 0xE9, 0x1, 0x39, 0x2E, 0x8, 0x6E, 0x96, 0x3, 0x2, 0x24, 0xFD, 0x86, 0x39, 0x2E, 0xC, 0x6F, 0x91, 0x1, 0xFE, 0x38, 0xCA, 0xFF, 0xFF, 0x0, 0x21, 0x0, 0x0, 0x5, 0x15, 0x5, 0xB0, 0x0, 0x26, 0x0, 0x35, 0x41, 0x0, 0x0, 0x7, 0x7, 0xA4, 0xFF, 0x91, 0x0, 0xFF, 0x0, 0x2, 0x0, 0x95, 0xFE, 0x4B, 0x4, 0xDE, 0x5, 0xB0, 0x0, 0x8, 0x0, 0x21, 0x0, 0x0, 0x1, 0x11, 0x21, 0x32, 0x36, 0x35, 0x34, 0x26, 0x27, 0x3, 0x6, 0x23, 0x22, 0x26, 0x35, 0x11, 0x21, 0x16, 0x4, 0x15, 0x14, 0x6, 0x7, 0x1, 0x15, 0x21, 0x1, 0x21, 0x11, 0x14, 0x16, 0x33, 0x32, 0x37, 0x1, 0x91, 0x1, 0x4, 0x88, 0x89, 0x80, 0x8D, 0x26, 0x3E, 0x44, 0x9D, 0xBF, 0x2, 0xD, 0xF5, 0x1, 0xB, 0x8E, 0x7D, 0x1, 0x47, 0xFE, 0xF2, 0xFE, 0xDC, 0xFE, 0xE5, 0x57, 0x40, 0x2A, 0x21, 0x4, 0xE5, 0xFE, 0x17, 0x89, 0x68, 0x70, 0x87, 0x1, 0xF9, 0x77, 0x11, 0xC0, 0xB6, 0x5, 0xEF, 0x3, 0xE0, 0xD4, 0x92, 0xC6, 0x34, 0xFD, 0xA0, 0xD, 0x2, 0x31, 0xFD, 0x90, 0x62, 0x45, 0x8, 0x0, 0x4, 0x0, 0x5B, 0xFF, 0x76, 0x3, 0xFC, 0x4, 0xBC, 0x0, 0x2, 0x0, 0x9, 0x0, 0xE, 0x0, 0x32, 0x0, 0x0, 0x1, 0x35, 0x7, 0x3, 0x32, 0x36, 0x37, 0x35, 0x23, 0x3, 0x27, 0x14, 0x17, 0x13, 0x6, 0x13, 0x22, 0x27, 0x7, 0x23, 0x37, 0x26, 0x35, 0x34, 0x36, 0x37, 0x37, 0x26, 0x23, 0x22, 0x6, 0x15, 0x23, 0x34, 0x36, 0x33, 0x32, 0x17, 0x37, 0x33, 0x7, 0x16, 0x15, 0x11, 0x14, 0x17, 0x15, 0x23, 0x26, 0x27, 0x6, 0x2, 0xE0, 0x19, 0xCE, 0x54, 0x7A, 0x19, 0x63, 0xA3, 0x8D, 0x1B, 0x7F, 0x9A, 0x7E, 0x29, 0x26, 0x3D, 0x90, 0x52, 0xA6, 0xFA, 0xE2, 0x6C, 0x30, 0x51, 0x57, 0x67, 0xF2, 0xF1, 0xCD, 0x74, 0x5A, 0x48, 0x90, 0x6A, 0x67, 0x29, 0xF8, 0x12, 0xA, 0x73, 0x2, 0x95, 0x32, 0x32, 0xFE, 0x1A, 0x51, 0x31, 0xCC, 0xFE, 0xB4, 0x97, 0x34, 0x26, 0x1, 0x3, 0x25, 0xFE, 0x20, 0x7, 0x7D, 0xA7, 0x5B, 0xB8, 0xAA, 0xB8, 0x3, 0xDB, 0x26, 0x56, 0x3E, 0x80, 0xCC, 0x25, 0x93, 0xD8, 0x62, 0xA8, 0xFE, 0x20, 0x92, 0x57, 0x11, 0x25, 0x41, 0x7A, 0x0, 0x2, 0x0, 0x8, 0xFF, 0x76, 0x3, 0x34, 0x5, 0x41, 0x0, 0x2, 0x0, 0x1C, 0x0, 0x0, 0x1, 0x37, 0x23, 0x13, 0x22, 0x27, 0x7, 0x23, 0x13, 0x27, 0x11, 0x23, 0x35, 0x33, 0x11, 0x33, 0x11, 0x33, 0x37, 0x33, 0x1, 0x15, 0x14, 0x16, 0x33, 0x32, 0x37, 0x15, 0x6, 0x1, 0xAD, 0x5E, 0x5E, 0x26, 0x8D, 0x47, 0x62, 0x91, 0xB2, 0x3, 0xB3, 0xB3, 0xF2, 0xB6, 0x40, 0x91, 0xFE, 0x79, 0x40, 0x31, 0x2A, 0x2B, 0x46, 0x2, 0xC7, 0xC0, 0xFC, 0x65, 0x51, 0xC7, 0x1, 0x6B, 0x2A, 0x2, 0x7C, 0xB3, 0x1, 0x7, 0xFE, 0xF9, 0x82, 0xFC, 0xE4, 0x76, 0x49, 0x2B, 0xA, 0xBC, 0x18, 0xFF, 0xFF, 0x0, 0x95, 0xFE, 0x99, 0x5, 0xDC, 0x5, 0xB0, 0x0, 0x26, 0x0, 0x2D, 0x0, 0x0, 0x0, 0x7, 0x7, 0xDB, 0x4, 0x8C, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x7A, 0xFE, 0x99, 0x4, 0xBE, 0x6, 0x0, 0x0, 0x26, 0x0, 0x4D, 0x0, 0x0, 0x0, 0x7, 0x7, 0xDB, 0x3, 0x6E, 0x0, 0x0, 0x0, 0x1, 0x0, 0x95, 0xFE, 0x9A, 0x5, 0x4C, 0x5, 0xB0, 0x0, 0x10, 0x0, 0x0, 0x1, 0x23, 0x11, 0x23, 0x1, 0x7, 0x11, 0x23, 0x11, 0x33, 0x11, 0x37, 0x1, 0x21, 0x1, 0x1, 0x33, 0x5, 0x4C, 0xFB, 0x65, 0xFE, 0x4B, 0xA6, 0xFC, 0xFC, 0x8D, 0x1, 0xAA, 0x1, 0x32, 0xFD, 0xE3, 0x1, 0xAD, 0xC2, 0xFE, 0x9A, 0x1, 0x66, 0x2, 0x76, 0xB0, 0xFE, 0x3A, 0x5, 0xB0, 0xFD, 0x54, 0xAE, 0x1, 0xFE, 0xFD, 0x7C, 0xFD, 0x9E, 0x0, 0x1, 0x0, 0x7D, 0xFE, 0xBE, 0x4, 0x7D, 0x6, 0x0, 0x0, 0x10, 0x0, 0x0, 0x1, 0x23, 0x11, 0x23, 0x1, 0x7, 0x11, 0x23, 0x11, 0x33, 0x11, 0x37, 0x1, 0x21, 0x1, 0x1, 0x33, 0x4, 0x7D, 0xF2, 0x6D, 0xFE, 0xBF, 0x6D, 0xF3, 0xF3, 0x4D, 0x1, 0x2B, 0x1, 0x24, 0xFE, 0x6D, 0x1, 0x34, 0xD0, 0xFE, 0xBE, 0x1, 0x42, 0x1, 0xD2, 0x70, 0xFE, 0x9E, 0x6, 0x0, 0xFC, 0x8A, 0x60, 0x1, 0x50, 0xFE, 0x3E, 0xFE, 0x4B, 0x0, 0x1, 0x0, 0x50, 0xFE, 0x9A, 0x4, 0x8C, 0x5, 0xB0, 0x0, 0xB, 0x0, 0x0, 0x1, 0x23, 0x11, 0x21, 0x35, 0x1, 0x21, 0x35, 0x21, 0x15, 0x1, 0x21, 0x4, 0x8C, 0xFB, 0xFC, 0xBF, 0x2, 0xF2, 0xFD, 0x14, 0x4, 0x1E, 0xFD, 0xE, 0x3, 0xA, 0xFE, 0x9A, 0x1, 0x66, 0xA4, 0x4, 0x41, 0xCB, 0xA0, 0xFB, 0xBA, 0x0, 0x1, 0x0, 0x52, 0xFE, 0xBE, 0x3, 0xD9, 0x4, 0x3A, 0x0, 0xB, 0x0, 0x0, 0x1, 0x23, 0x11, 0x21, 0x35, 0x1, 0x21, 0x35, 0x21, 0x15, 0x1, 0x21, 0x3, 0xD9, 0xF3, 0xFD, 0x6C, 0x2, 0x26, 0xFD, 0xE5, 0x3, 0x4E, 0xFD, 0xD6, 0x2, 0x58, 0xFE, 0xBE, 0x1, 0x42, 0x9F, 0x2, 0xD7, 0xC4, 0x99, 0xFD, 0x22, 0x0, 0x2, 0x0, 0x66, 0xFF, 0xEC, 0x5, 0xFD, 0x5, 0xC4, 0x0, 0xB, 0x0, 0x23, 0x0, 0x0, 0x25, 0x32, 0x37, 0x11, 0x26, 0x23, 0x22, 0x2, 0x15, 0x15, 0x14, 0x12, 0x5, 0x6, 0x23, 0x22, 0x27, 0x6, 0x23, 0x20, 0x0, 0x11, 0x35, 0x10, 0x0, 0x21, 0x32, 0x17, 0x37, 0x33, 0x11, 0x14, 0x16, 0x33, 0x32, 0x37, 0x2, 0xDE, 0xB8, 0x5E, 0x5F, 0xB7, 0xD3, 0xA8, 0xB0, 0x3, 0xEA, 0x51, 0x5A, 0x9E, 0x52, 0x9F, 0xEC, 0xFE, 0xCE, 0xFE, 0xC1, 0x1, 0x49, 0x1, 0x28, 0xC1, 0x91, 0xA, 0xBD, 0x4F, 0x3A, 0x19, 0x26, 0xBC, 0x63, 0x3, 0x88, 0x4D, 0xFE, 0xDD, 0xC8, 0x61, 0xD6, 0xFE, 0xEA, 0xA3, 0x2D, 0x67, 0x67, 0x1, 0x92, 0x1, 0x2A, 0x61, 0x1, 0x32, 0x1, 0x89, 0x3D, 0x29, 0xFB, 0xAB, 0x5F, 0x3F, 0x9, 0x0, 0x1, 0x0, 0x95, 0xFE, 0x4B, 0x6, 0x6B, 0x5, 0xB0, 0x0, 0x17, 0x0, 0x0, 0x1, 0x22, 0x27, 0x37, 0x16, 0x33, 0x32, 0x35, 0x11, 0x13, 0x1, 0x23, 0x1, 0x13, 0x11, 0x23, 0x11, 0x21, 0x1, 0x1, 0x21, 0x11, 0x14, 0x6, 0x5, 0x6, 0x47, 0x38, 0xE, 0x32, 0x2D, 0x7B, 0x18, 0xFE, 0x53, 0xB5, 0xFE, 0x53, 0x19, 0xFC, 0x1, 0x47, 0x1, 0xA4, 0x1, 0xA3, 0x1, 0x48, 0xC1, 0xFE, 0x4B, 0x11, 0xCD, 0xD, 0xA5, 0x2, 0x1F, 0x2, 0x80, 0xFB, 0xA0, 0x4, 0x61, 0xFD, 0x7F, 0xFE, 0x20, 0x5, 0xB0, 0xFB, 0xA4, 0x4, 0x5C, 0xFA, 0x11, 0xB6, 0xC0, 0x0, 0x2, 0x0, 0x12, 0x0, 0x0, 0x5, 0x43, 0x5, 0xB0, 0x0, 0x2, 0x0, 0xA, 0x0, 0x0, 0x1, 0x13, 0x21, 0x13, 0x1, 0x21, 0x13, 0x21, 0x13, 0x21, 0x1, 0x2, 0xAA, 0xD3, 0xFE, 0x5A, 0x61, 0xFD, 0xDA, 0x1, 0x8, 0x76, 0x2, 0x34, 0x77, 0x1, 0x8, 0xFD, 0xD8, 0x1, 0x34, 0x2, 0x5D, 0xFC, 0x6F, 0x5, 0xB0, 0xFE, 0xAC, 0x1, 0x54, 0xFA, 0x50, 0x0, 0x2, 0x0, 0x11, 0xFF, 0xEC, 0x5, 0xA7, 0x5, 0xC4, 0x0, 0x17, 0x0, 0x23, 0x0, 0x0, 0x5, 0x22, 0x27, 0x7, 0x23, 0x11, 0x34, 0x26, 0x23, 0x22, 0x7, 0x27, 0x36, 0x33, 0x32, 0x17, 0x36, 0x33, 0x20, 0x0, 0x11, 0x15, 0x10, 0x0, 0x25, 0x32, 0x12, 0x35, 0x35, 0x34, 0x2, 0x23, 0x22, 0x7, 0x11, 0x16, 0x3, 0x36, 0xC5, 0x8C, 0xA, 0xBE, 0x4F, 0x39, 0x1B, 0x24, 0x45, 0x50, 0x5A, 0x9E, 0x52, 0x9F, 0xEC, 0x1, 0x32, 0x1, 0x3F, 0xFE, 0xB7, 0xFE, 0xD1, 0xD4, 0xA7, 0xB0, 0xCB, 0xB8, 0x5E, 0x61, 0x14, 0x3D, 0x29, 0x4, 0x55, 0x5F, 0x3F, 0x9, 0xAD, 0x2D, 0x67, 0x67, 0xFE, 0x6E, 0xFE, 0xD7, 0x61, 0xFE, 0xCD, 0xFE, 0x77, 0xD0, 0x1, 0x24, 0xC8, 0x61, 0xD5, 0x1, 0x16, 0x63, 0xFC, 0x78, 0x4D, 0x0, 0x1, 0x0, 0x17, 0x0, 0x0, 0x4, 0xA4, 0x4, 0x4D, 0x0, 0x11, 0x0, 0x0, 0x21, 0x1, 0x33, 0x13, 0x17, 0x37, 0x13, 0x36, 0x36, 0x33, 0x32, 0x17, 0x7, 0x26, 0x23, 0x22, 0x7, 0x1, 0x1, 0x91, 0xFE, 0x86, 0xFB, 0xD7, 0x12, 0x13, 0x83, 0x24, 0x86, 0x7C, 0x86, 0x67, 0x4E, 0x3D, 0x31, 0x4F, 0x2D, 0xFE, 0xF8, 0x4, 0x3A, 0xFD, 0x3B, 0x5B, 0x5B, 0x1, 0xB3, 0x7C, 0xA9, 0x54, 0xA4, 0x24, 0x81, 0xFD, 0x8, 0x0, 0x1, 0x0, 0x30, 0x0, 0x0, 0x7, 0xF4, 0x5, 0xC4, 0x0, 0x1B, 0x0, 0x0, 0x21, 0x1, 0x33, 0x13, 0x17, 0x37, 0x1, 0x33, 0x1, 0x17, 0x37, 0x13, 0x36, 0x36, 0x33, 0x32, 0x16, 0x17, 0x7, 0x26, 0x23, 0x22, 0x6, 0x7, 0x3, 0x23, 0x1, 0x1, 0x1, 0x82, 0xFE, 0xAE, 0xFC, 0xDC, 0x4, 0x7, 0x1, 0x12, 0xD3, 0x1, 0xC, 0x9, 0x4, 0x96, 0x24, 0x92, 0x7F, 0x56, 0x88, 0x3A, 0x67, 0x4E, 0x3D, 0x27, 0x34, 0x17, 0xFB, 0xF2, 0xFE, 0xEC, 0xFE, 0xE4, 0x5, 0xB0, 0xFB, 0xD5, 0x28, 0x2A, 0x4, 0x29, 0xFB, 0xD5, 0x30, 0x32, 0x2, 0xDE, 0xAD, 0xB2, 0x4F, 0x34, 0xA4, 0x40, 0x41, 0x62, 0xFB, 0xC6, 0x4, 0x26, 0xFB, 0xDA, 0x0, 0x1, 0x0, 0x22, 0x0, 0x0, 0x6, 0xAA, 0x4, 0x4E, 0x0, 0x1B, 0x0, 0x0, 0x21, 0x1, 0x33, 0x13, 0x17, 0x37, 0x13, 0x33, 0x13, 0x17, 0x37, 0x13, 0x36, 0x36, 0x33, 0x32, 0x17, 0x7, 0x26, 0x23, 0x22, 0x7, 0x3, 0x23, 0x3, 0x27, 0x7, 0x3, 0x1, 0x4A, 0xFE, 0xD8, 0xED, 0xA4, 0x8, 0xB, 0xD5, 0xB8, 0xD6, 0xD, 0xC, 0x58, 0x2A, 0x91, 0x68, 0x7E, 0x6F, 0x4D, 0x38, 0x35, 0x5B, 0x28, 0xC8, 0xC8, 0xCF, 0x18, 0x17, 0xCE, 0x4, 0x3A, 0xFD, 0x3C, 0x3F, 0x3D, 0x2, 0xC6, 0xFD, 0x3B, 0x4B, 0x52, 0x1, 0x8B, 0xB5, 0x92, 0x54, 0xA2, 0x24, 0x94, 0xFD, 0x18, 0x2, 0x9C, 0x6E, 0x6D, 0xFD, 0x63, 0x0, 0x2, 0x0, 0x31, 0x0, 0x0, 0x3, 0xF4, 0x4, 0x4E, 0x0, 0x7, 0x0, 0x1C, 0x0, 0x0, 0x1, 0x36, 0x35, 0x34, 0x23, 0x22, 0x7, 0x6, 0x13, 0x3, 0x7, 0x27, 0x37, 0x27, 0x26, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x6, 0x7, 0x17, 0x17, 0x37, 0x13, 0x33, 0x1, 0x1, 0x6C, 0x48, 0x28, 0x23, 0x8, 0x9, 0x47, 0xB9, 0x72, 0x43, 0x7A, 0x4, 0x4C, 0x9F, 0x82, 0x77, 0x78, 0x57, 0x72, 0x50, 0x18, 0x1A, 0xD5, 0xFB, 0xFE, 0x7E, 0x3, 0x11, 0x31, 0x30, 0x28, 0x25, 0x25, 0xFC, 0xB0, 0x2, 0x1, 0x3B, 0xA5, 0x3C, 0xA, 0xD3, 0xCA, 0x77, 0x56, 0x54, 0x7B, 0x48, 0xF5, 0x72, 0x72, 0x2, 0xC5, 0xFB, 0xC6, 0x0, 0x1, 0x0, 0x95, 0x0, 0x0, 0x4, 0x50, 0x5, 0xB0, 0x0, 0x7, 0x0, 0x0, 0x1, 0x21, 0x11, 0x23, 0x11, 0x33, 0x11, 0x21, 0x4, 0x50, 0xFD, 0x41, 0xFC, 0xFC, 0x2, 0xBF, 0x2, 0x88, 0xFD, 0x78, 0x5, 0xB0, 0xFD, 0xA2, 0x0, 0x1, 0x0, 0x7A, 0x0, 0x0, 0x3, 0x52, 0x4, 0x3A, 0x0, 0x7, 0x0, 0x0, 0x1, 0x21, 0x11, 0x23, 0x11, 0x33, 0x11, 0x21, 0x3, 0x52, 0xFE, 0x1B, 0xF3, 0xF3, 0x1, 0xE5, 0x1, 0xB5, 0xFE, 0x4B, 0x4, 0x3A, 0xFE, 0x3D, 0x0, 0x2, 0x0, 0x49, 0xFF, 0xEB, 0x5, 0x8A, 0x4, 0x41, 0x0, 0x19, 0x0, 0x22, 0x0, 0x0, 0x5, 0x22, 0x24, 0x2, 0x35, 0x34, 0x12, 0x37, 0x17, 0x6, 0x6, 0x15, 0x14, 0x16, 0x17, 0x11, 0x34, 0x36, 0x33, 0x32, 0x16, 0x16, 0x15, 0x14, 0x2, 0x4, 0x27, 0x36, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x15, 0x2, 0xE6, 0xF7, 0xFE, 0xDA, 0x80, 0x7F, 0x72, 0x97, 0x4D, 0x48, 0x85, 0xA9, 0x9F, 0x7B, 0x9E, 0xE9, 0x7F, 0x82, 0xFE, 0xD8, 0x83, 0xB0, 0x8A, 0x85, 0x7E, 0x37, 0x15, 0xAA, 0x1, 0x12, 0x9D, 0xA3, 0x1, 0x8, 0x52, 0x93, 0x4B, 0xC3, 0x5C, 0x87, 0xE2, 0x22, 0x2, 0x84, 0x74, 0x90, 0x96, 0xF5, 0x8F, 0x94, 0xFE, 0xFB, 0xA3, 0xCD, 0x1E, 0xD6, 0x7B, 0x8A, 0xCD, 0x3E, 0x0, 0x2, 0x0, 0x54, 0xFF, 0xEC, 0x5, 0x5A, 0x4, 0x4E, 0x0, 0x7, 0x0, 0x25, 0x0, 0x0, 0x1, 0x22, 0x6, 0x7, 0x21, 0x35, 0x26, 0x26, 0x1, 0x6, 0x23, 0x22, 0x27, 0x6, 0x23, 0x22, 0x0, 0x35, 0x35, 0x10, 0x0, 0x33, 0x32, 0x12, 0x15, 0x15, 0x21, 0x16, 0x16, 0x33, 0x32, 0x37, 0x17, 0x16, 0x16, 0x33, 0x32, 0x37, 0x2, 0x3D, 0x64, 0x7A, 0x12, 0x1, 0xCE, 0x4, 0x61, 0x2, 0xA4, 0x44, 0x95, 0x90, 0x47, 0x86, 0xCB, 0xF1, 0xFE, 0xEC, 0x1, 0x1B, 0xCE, 0xEC, 0xE3, 0xFD, 0x3D, 0xA, 0x95, 0x80, 0xA7, 0x68, 0x88, 0x1A, 0x39, 0x26, 0x43, 0x20, 0x3, 0x8B, 0x8C, 0x7C, 0x12, 0x5F, 0x97, 0xFD, 0x21, 0xC0, 0x73, 0x73, 0x1, 0x2C, 0xDF, 0x29, 0x1, 0x1, 0x1, 0x2D, 0xFE, 0xD4, 0xEA, 0x67, 0x7D, 0xA5, 0x86, 0x23, 0x44, 0x32, 0x76, 0x0, 0x1, 0x0, 0x28, 0xFF, 0xEC, 0x2, 0x60, 0x6, 0x15, 0x0, 0x17, 0x0, 0x0, 0x21, 0x27, 0x6, 0x23, 0x22, 0x27, 0x37, 0x16, 0x33, 0x32, 0x37, 0x11, 0x34, 0x26, 0x23, 0x22, 0x7, 0x35, 0x36, 0x33, 0x32, 0x16, 0x15, 0x11, 0x1, 0x78, 0x6, 0x55, 0x9F, 0x31, 0x25, 0x2, 0x32, 0x30, 0xA9, 0x39, 0x5D, 0x41, 0x23, 0x1D, 0x39, 0x43, 0x7E, 0xD6, 0x79, 0x8D, 0xD, 0xE5, 0x8, 0x80, 0x3, 0x80, 0x56, 0x3E, 0x7, 0xA3, 0xF, 0x8D, 0xB2, 0xFB, 0x2A, 0x0, 0x3, 0x0, 0x50, 0xFF, 0xEC, 0x4, 0x3E, 0x4, 0x4E, 0x0, 0xD, 0x0, 0x1E, 0x0, 0x2B, 0x0, 0x0, 0x13, 0x34, 0x0, 0x33, 0x32, 0x0, 0x15, 0x15, 0x14, 0x0, 0x23, 0x22, 0x0, 0x27, 0x37, 0x14, 0x17, 0x36, 0x36, 0x33, 0x32, 0x16, 0x17, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x1, 0x37, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x14, 0x16, 0x17, 0x50, 0x1, 0xA, 0xEC, 0xEF, 0x1, 0x9, 0xFE, 0xF7, 0xED, 0xEB, 0xFE, 0xF7, 0x4, 0xF2, 0x10, 0x1C, 0x87, 0x54, 0x53, 0x84, 0x1C, 0xF, 0x7C, 0x89, 0x87, 0x7D, 0x1, 0x6, 0x17, 0x64, 0x46, 0x34, 0x33, 0x4A, 0x3D, 0x2C, 0x2, 0x27, 0xEC, 0x1, 0x3B, 0xFE, 0xC5, 0xEC, 0x15, 0xEB, 0xFE, 0xC5, 0x1, 0x33, 0xE6, 0xD, 0x4C, 0x3F, 0x4D, 0x63, 0x62, 0x4C, 0x3F, 0x5F, 0x8F, 0xD5, 0xD5, 0x8F, 0xFE, 0x88, 0x1, 0x11, 0x69, 0x37, 0x49, 0x49, 0x37, 0x30, 0x43, 0x7, 0x0, 0x1, 0x0, 0x56, 0x0, 0x0, 0x3, 0x97, 0x4, 0x3A, 0x0, 0xB, 0x0, 0x0, 0x33, 0x35, 0x21, 0x35, 0x21, 0x35, 0x21, 0x11, 0x21, 0x35, 0x21, 0x11, 0x56, 0x2, 0x4E, 0xFE, 0x9, 0x1, 0xF7, 0xFD, 0xB2, 0x3, 0x41, 0xC1, 0xE5, 0xC2, 0x1, 0x11, 0xC1, 0xFB, 0xC6, 0xFF, 0xFF, 0x0, 0x29, 0xFD, 0xF5, 0x1, 0x92, 0x3, 0x96, 0x0, 0x7, 0x1, 0x64, 0x0, 0x7, 0xFC, 0xA9, 0x0, 0x1, 0x0, 0x28, 0x2, 0x8C, 0x3, 0x25, 0x5, 0xD5, 0x0, 0x8, 0x0, 0x0, 0x1, 0x1, 0x33, 0x13, 0x17, 0x37, 0x13, 0x33, 0x1, 0x1, 0x4D, 0xFE, 0xDB, 0xD4, 0xA3, 0x9, 0xA, 0xA0, 0xD3, 0xFE, 0xDE, 0x2, 0x8C, 0x3, 0x49, 0xFD, 0xCB, 0x32, 0x32, 0x2, 0x35, 0xFC, 0xB7, 0x0, 0x1, 0x0, 0x4A, 0xFE, 0x4B, 0x4, 0x8A, 0x5, 0xC4, 0x0, 0x2E, 0x0, 0x0, 0x1, 0x6, 0x23, 0x22, 0x0, 0x3, 0x26, 0x35, 0x33, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x24, 0x24, 0x35, 0x34, 0x24, 0x33, 0x32, 0x0, 0x15, 0x23, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x14, 0x16, 0x17, 0x16, 0x16, 0x15, 0x14, 0x4, 0x23, 0x27, 0x16, 0x33, 0x32, 0x37, 0x4, 0x24, 0x3D, 0x78, 0xCD, 0xFE, 0xA8, 0xAA, 0x56, 0xFD, 0xB8, 0x85, 0x84, 0x85, 0x72, 0xFE, 0x60, 0xFE, 0xFD, 0x1, 0x1D, 0xE7, 0xF7, 0x1, 0x16, 0xFC, 0x86, 0x8E, 0x85, 0x7F, 0x98, 0x99, 0xF7, 0xED, 0xFE, 0xE7, 0xED, 0x50, 0xA7, 0xC0, 0x47, 0x42, 0xFE, 0x66, 0x1B, 0x1, 0x61, 0x1, 0xC, 0x6D, 0x93, 0x8A, 0x7A, 0x6C, 0x58, 0x57, 0x69, 0x81, 0xCA, 0xAE, 0xB0, 0xE3, 0xFE, 0xF9, 0xB6, 0x6B, 0x89, 0x73, 0x56, 0x52, 0x6B, 0x2D, 0x48, 0xD8, 0xAE, 0xB8, 0xD6, 0x4, 0xD7, 0x10, 0x0, 0x1, 0x0, 0x4F, 0xFE, 0x4B, 0x4, 0x8C, 0x5, 0xB0, 0x0, 0x16, 0x0, 0x0, 0x1, 0x22, 0x2E, 0x2, 0x23, 0x23, 0x27, 0x1, 0x21, 0x35, 0x21, 0x15, 0x1, 0x1E, 0x3, 0x33, 0x32, 0x37, 0x15, 0x6, 0x3, 0xE3, 0x7B, 0xB5, 0xAA, 0xCB, 0x90, 0x5C, 0x3, 0x2, 0xF3, 0xFD, 0x14, 0x4, 0x1E, 0xFD, 0x1, 0x7C, 0xB3, 0x8D, 0x84, 0x4E, 0x43, 0x46, 0x42, 0xFE, 0x4B, 0x84, 0xAD, 0x84, 0xA3, 0x4, 0x42, 0xCB, 0x9F, 0xFB, 0xA5, 0x1F, 0x86, 0x92, 0x66, 0x12, 0xC3, 0x1D, 0x0, 0x2, 0xFC, 0xB4, 0x4, 0xA8, 0xFE, 0xBC, 0x7, 0xC7, 0x0, 0x18, 0x0, 0x22, 0x0, 0x0, 0x1, 0x22, 0x26, 0x35, 0x35, 0x36, 0x36, 0x37, 0x36, 0x36, 0x37, 0x33, 0x14, 0x6, 0x7, 0x6, 0x6, 0x7, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x6, 0x27, 0x32, 0x35, 0x34, 0x23, 0x22, 0x15, 0x15, 0x14, 0x16, 0xFD, 0xB9, 0x7F, 0x86, 0x1, 0x83, 0x70, 0x59, 0x20, 0x2, 0x76, 0x56, 0x67, 0x3F, 0x59, 0x10, 0x3D, 0x5F, 0x73, 0x79, 0x86, 0x7D, 0x73, 0x75, 0x73, 0x39, 0x4, 0xA8, 0xA3, 0x73, 0x27, 0xD0, 0xBF, 0x16, 0x13, 0x17, 0x13, 0x58, 0x43, 0x17, 0xE, 0x3B, 0x4A, 0x3A, 0x8F, 0x7A, 0x72, 0x99, 0x74, 0xA2, 0x8A, 0x8A, 0xB, 0x44, 0x53, 0x0, 0x3, 0xFC, 0xD1, 0x4, 0xB1, 0xFE, 0xC2, 0x6, 0xD9, 0x0, 0x6, 0x0, 0xD, 0x0, 0x19, 0x0, 0x0, 0x1, 0x15, 0x33, 0x32, 0x35, 0x34, 0x27, 0x7, 0x15, 0x33, 0x32, 0x35, 0x34, 0x27, 0x5, 0x11, 0x33, 0x32, 0x16, 0x14, 0x7, 0x16, 0x16, 0x15, 0x14, 0x23, 0xFD, 0x60, 0x5E, 0x5D, 0x5C, 0x5F, 0x80, 0x53, 0x4A, 0xFE, 0xE8, 0xEB, 0x6B, 0x83, 0x62, 0x3B, 0x3F, 0xF0, 0x6, 0x70, 0x76, 0x39, 0x3C, 0x1, 0xD6, 0x80, 0x42, 0x3B, 0x3, 0xE9, 0x2, 0x28, 0x4B, 0x9C, 0x20, 0xE, 0x4A, 0x2B, 0x9E, 0x0, 0x1, 0xFD, 0x3, 0x4, 0xB1, 0xFE, 0x7B, 0x6, 0xD9, 0x0, 0x5, 0x0, 0x0, 0x1, 0x15, 0x23, 0x11, 0x23, 0x11, 0xFE, 0x7B, 0xE9, 0x8F, 0x6, 0xD9, 0x74, 0xFE, 0x4C, 0x2, 0x28, 0x0, 0x2, 0xFC, 0x87, 0x4, 0xC, 0xFE, 0xE9, 0x6, 0xD9, 0x0, 0x5, 0x0, 0x14, 0x0, 0x0, 0x1, 0x6, 0x7, 0x33, 0x11, 0x23, 0x3, 0x15, 0x23, 0x11, 0x33, 0x36, 0x36, 0x37, 0x37, 0x21, 0x11, 0x33, 0x11, 0x23, 0x35, 0xFD, 0x93, 0x7, 0x33, 0xB4, 0x78, 0x8E, 0x80, 0x33, 0x2B, 0x2A, 0x3, 0x4, 0x1, 0x86, 0x4D, 0x7F, 0x6, 0x15, 0x97, 0x59, 0x1, 0x40, 0xFE, 0x4C, 0xA5, 0x1, 0x19, 0x2F, 0x6E, 0x5F, 0xB8, 0xFE, 0x4C, 0xFE, 0xE7, 0xA5, 0x0, 0x1, 0xFC, 0x16, 0x4, 0xB1, 0xFF, 0x5E, 0x6, 0xD9, 0x0, 0x15, 0x0, 0x0, 0x1, 0x35, 0x23, 0x7, 0x23, 0x13, 0x3, 0x33, 0x17, 0x33, 0x35, 0x33, 0x15, 0x33, 0x37, 0x33, 0x3, 0x13, 0x23, 0x27, 0x23, 0x15, 0xFD, 0x72, 0x41, 0x77, 0xA4, 0xB5, 0xA4, 0x9C, 0x7C, 0x33, 0x8F, 0x35, 0x7B, 0x9D, 0xA4, 0xB4, 0xA4, 0x77, 0x42, 0x4, 0xB1, 0xD2, 0xD2, 0x1, 0x20, 0x1, 0x8, 0xD8, 0xD8, 0xD8, 0xD8, 0xFE, 0xF8, 0xFE, 0xE0, 0xD2, 0xD2, 0x0, 0x1, 0xFC, 0xD1, 0x4, 0xA8, 0xFE, 0x9F, 0x6, 0xE0, 0x0, 0x1F, 0x0, 0x0, 0x1, 0x22, 0x26, 0x35, 0x33, 0x16, 0x33, 0x32, 0x35, 0x34, 0x23, 0x23, 0x35, 0x33, 0x32, 0x34, 0x23, 0x22, 0x7, 0x23, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x7, 0x16, 0x15, 0x14, 0x6, 0xFD, 0xB4, 0x52, 0x91, 0x83, 0x8, 0x5C, 0x58, 0x55, 0x5C, 0x5C, 0x4C, 0x4F, 0x58, 0x3, 0x84, 0x83, 0x58, 0x64, 0x7E, 0x56, 0x5F, 0x87, 0x4, 0xA8, 0x53, 0x5A, 0x40, 0x43, 0x3F, 0x66, 0x74, 0x36, 0x4D, 0x58, 0x52, 0x4E, 0x50, 0x24, 0x21, 0x5E, 0x4E, 0x57, 0x0, 0x1, 0xFC, 0xD4, 0x4, 0xB1, 0xFE, 0xC8, 0x6, 0xD9, 0x0, 0xC, 0x0, 0x0, 0x1, 0x27, 0x23, 0x15, 0x23, 0x11, 0x33, 0x15, 0x33, 0x37, 0x33, 0x3, 0x13, 0xFE, 0x20, 0x7D, 0x3F, 0x90, 0x90, 0x34, 0x80, 0x9F, 0xAA, 0xBB, 0x4, 0xB1, 0xD2, 0xD2, 0x2, 0x28, 0xD9, 0xD9, 0xFE, 0xF8, 0xFE, 0xE0, 0x0, 0x1, 0xFC, 0x9E, 0x4, 0xB1, 0xFE, 0xB2, 0x6, 0xD9, 0x0, 0xF, 0x0, 0x0, 0x1, 0x27, 0x37, 0x36, 0x36, 0x37, 0x37, 0x21, 0x11, 0x23, 0x11, 0x23, 0x7, 0x6, 0x6, 0x23, 0xFC, 0xA0, 0x2, 0x12, 0x31, 0x21, 0x5, 0xA, 0x1, 0xA1, 0x8F, 0x8E, 0x7, 0x9, 0x5E, 0x70, 0x4, 0xB1, 0x7D, 0x2, 0x6, 0x55, 0x61, 0xED, 0xFD, 0xD8, 0x1, 0xB4, 0x96, 0x92, 0x8C, 0x0, 0x1, 0xFC, 0x66, 0x4, 0xB1, 0xFF, 0xA, 0x6, 0xD8, 0x0, 0xC, 0x0, 0x0, 0x1, 0x3, 0x11, 0x23, 0x11, 0x33, 0x13, 0x13, 0x33, 0x11, 0x23, 0x11, 0x3, 0xFD, 0x81, 0x8B, 0x90, 0xB6, 0x9C, 0x9D, 0xB5, 0x8F, 0x8C, 0x4, 0xB1, 0x1, 0x4E, 0xFE, 0xB2, 0x2, 0x27, 0xFE, 0x8B, 0x1, 0x75, 0xFD, 0xD9, 0x1, 0x4F, 0xFE, 0xB1, 0x0, 0x1, 0xFC, 0xC1, 0x4, 0xB1, 0xFE, 0xAF, 0x6, 0xD9, 0x0, 0xB, 0x0, 0x0, 0x1, 0x35, 0x23, 0x15, 0x23, 0x11, 0x33, 0x15, 0x33, 0x35, 0x33, 0x11, 0xFE, 0x20, 0xD0, 0x8F, 0x8F, 0xD0, 0x8F, 0x4, 0xB1, 0xDB, 0xDB, 0x2, 0x28, 0xD9, 0xD9, 0xFD, 0xD8, 0xFF, 0xFF, 0xFC, 0xB1, 0x4, 0xA3, 0xFE, 0xBF, 0x6, 0xDF, 0x0, 0x6, 0x2, 0x17, 0xEF, 0x0, 0x0, 0x1, 0xFC, 0xC1, 0x4, 0xB1, 0xFE, 0xAF, 0x6, 0xD9, 0x0, 0x7, 0x0, 0x0, 0x1, 0x11, 0x23, 0x11, 0x23, 0x11, 0x21, 0x11, 0xFE, 0x20, 0xD0, 0x8F, 0x1, 0xEE, 0x4, 0xB1, 0x1, 0xB4, 0xFE, 0x4C, 0x2, 0x28, 0xFD, 0xD8, 0xFF, 0xFF, 0xFC, 0xBF, 0x3, 0xBC, 0xFE, 0xBD, 0x6, 0xE0, 0x0, 0xF, 0x2, 0x1A, 0xFB, 0x7D, 0xB, 0x84, 0xC0, 0x0, 0xFF, 0xFF, 0xFC, 0xC2, 0x4, 0xA3, 0xFE, 0xAD, 0x6, 0xDF, 0x0, 0x6, 0x2, 0x19, 0xF6, 0x0, 0x0, 0x1, 0xFC, 0xC5, 0x4, 0xB1, 0xFE, 0xAB, 0x6, 0xD9, 0x0, 0x7, 0x0, 0x0, 0x1, 0x23, 0x11, 0x23, 0x11, 0x23, 0x35, 0x21, 0xFE, 0xAB, 0xAC, 0x8F, 0xAB, 0x1, 0xE6, 0x6, 0x65, 0xFE, 0x4C, 0x1, 0xB4, 0x74, 0xFF, 0xFF, 0xFC, 0xD4, 0x4, 0xB1, 0xFE, 0xDC, 0x6, 0xDB, 0x0, 0x6, 0x2, 0x20, 0xEE, 0x0, 0x0, 0x1, 0xFC, 0xB1, 0x4, 0xE, 0xFE, 0xEF, 0x6, 0xD9, 0x0, 0xB, 0x0, 0x0, 0x1, 0x23, 0x35, 0x21, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0xFE, 0xEB, 0x7B, 0xFE, 0x41, 0x90, 0xD0, 0x8F, 0x4F, 0x4, 0xE, 0xA3, 0x2, 0x28, 0xFE, 0x4C, 0x1, 0xB4, 0xFE, 0x4C, 0x0, 0x1, 0xFC, 0xAB, 0x4, 0xB1, 0xFE, 0x7C, 0x6, 0xDA, 0x0, 0x11, 0x0, 0x0, 0x1, 0x23, 0x35, 0x6, 0x23, 0x22, 0x26, 0x35, 0x35, 0x33, 0x15, 0x14, 0x16, 0x33, 0x32, 0x37, 0x35, 0x33, 0xFE, 0x7C, 0x90, 0x2D, 0x2B, 0x6B, 0x7E, 0x90, 0x2E, 0x37, 0x26, 0x26, 0x90, 0x4, 0xB1, 0xB6, 0x9, 0x69, 0x70, 0xA3, 0xA3, 0x3C, 0x29, 0x9, 0xFE, 0x0, 0x1, 0xFC, 0x49, 0x4, 0xB1, 0xFF, 0x27, 0x6, 0xD9, 0x0, 0xB, 0x0, 0x0, 0x1, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0xFC, 0x49, 0x90, 0x97, 0x90, 0x97, 0x90, 0x4, 0xB1, 0x2, 0x28, 0xFE, 0x4C, 0x1, 0xB4, 0xFE, 0x4C, 0x1, 0xB4, 0xFD, 0xD8, 0x0, 0x1, 0xFC, 0x34, 0x4, 0xE, 0xFF, 0x60, 0x6, 0xD9, 0x0, 0xF, 0x0, 0x0, 0x3, 0x23, 0x35, 0x21, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0xA4, 0x7B, 0xFD, 0x53, 0x8F, 0x97, 0x90, 0x97, 0x90, 0x4F, 0x4, 0xE, 0xA3, 0x2, 0x28, 0xFE, 0x4C, 0x1, 0xB4, 0xFE, 0x4C, 0x1, 0xB4, 0xFE, 0x4C, 0x0, 0x3, 0xFC, 0xB1, 0x4, 0xA3, 0xFE, 0xBF, 0x6, 0xDF, 0x0, 0xA, 0x0, 0xF, 0x0, 0x14, 0x0, 0x0, 0x0, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x6, 0x3, 0x22, 0x7, 0x33, 0x26, 0x3, 0x32, 0x37, 0x23, 0x16, 0xFD, 0x3F, 0x8E, 0x8E, 0x78, 0x7A, 0x8E, 0x8E, 0x7A, 0x5F, 0x13, 0xE5, 0x13, 0x5F, 0x64, 0x10, 0xE9, 0x10, 0x4, 0xA3, 0x9C, 0x87, 0x7D, 0x9C, 0x9C, 0x88, 0x7C, 0x9C, 0x1, 0xC8, 0x6B, 0x6B, 0xFE, 0xAC, 0x75, 0x75, 0x0, 0x1, 0xFC, 0x19, 0x4, 0xA3, 0xFF, 0x8E, 0x6, 0xD9, 0x0, 0x19, 0x0, 0x0, 0x1, 0x22, 0x26, 0x35, 0x35, 0x34, 0x36, 0x33, 0x21, 0x15, 0x23, 0x11, 0x23, 0x11, 0x21, 0x22, 0x15, 0x15, 0x14, 0x16, 0x33, 0x32, 0x37, 0x33, 0x6, 0x6, 0xFD, 0x1B, 0x85, 0x7D, 0x7E, 0x83, 0x2, 0x74, 0xAB, 0x90, 0xFE, 0xC6, 0x71, 0x33, 0x3E, 0x59, 0xA, 0x88, 0x3, 0x85, 0x4, 0xA3, 0xA4, 0x71, 0x12, 0x71, 0x9E, 0x74, 0xFE, 0x4C, 0x1, 0xB4, 0xA3, 0xA, 0x43, 0x5E, 0x4D, 0x50, 0x71, 0x0, 0x2, 0xFC, 0xBF, 0x4, 0xA8, 0xFE, 0xB1, 0x6, 0xE0, 0x0, 0x9, 0x0, 0x23, 0x0, 0x0, 0x1, 0x32, 0x36, 0x37, 0x35, 0x23, 0x22, 0x6, 0x15, 0x14, 0x17, 0x26, 0x27, 0x6, 0x23, 0x22, 0x26, 0x35, 0x34, 0x37, 0x33, 0x35, 0x34, 0x23, 0x22, 0x15, 0x27, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x15, 0x14, 0x17, 0xFD, 0x9B, 0x25, 0x41, 0xC, 0x53, 0x37, 0x35, 0xD3, 0xA, 0x6, 0x38, 0x63, 0x54, 0x63, 0xEF, 0x5F, 0x50, 0x58, 0x8A, 0x7D, 0x68, 0x60, 0x7C, 0x15, 0x5, 0x16, 0x26, 0x16, 0x50, 0x30, 0x20, 0x3C, 0x64, 0x1B, 0x22, 0x47, 0x5A, 0x4B, 0xA8, 0x4, 0x22, 0x55, 0x42, 0x6, 0x4A, 0x62, 0x63, 0x63, 0xE3, 0x49, 0x3C, 0x0, 0x2, 0xFC, 0xBF, 0x4, 0xA3, 0xFE, 0xB1, 0x6, 0xDF, 0x0, 0x5, 0x0, 0x19, 0x0, 0x0, 0x1, 0x22, 0x7, 0x33, 0x35, 0x26, 0x13, 0x6, 0x6, 0x23, 0x22, 0x26, 0x35, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x15, 0x21, 0x16, 0x33, 0x32, 0x37, 0xFD, 0xBE, 0x5E, 0xF, 0xD8, 0x5, 0x81, 0x1B, 0x6B, 0x52, 0x81, 0x8D, 0x8F, 0x71, 0x78, 0x7A, 0xFE, 0x9E, 0xB, 0x7A, 0x5A, 0x30, 0x6, 0x6B, 0x76, 0x9, 0x6D, 0xFE, 0xA0, 0x27, 0x41, 0x99, 0x72, 0x15, 0x85, 0x97, 0x99, 0x77, 0x37, 0x80, 0x3E, 0x0, 0x1, 0xFC, 0x9C, 0x4, 0xB1, 0xFE, 0xD5, 0x6, 0xD9, 0x0, 0xE, 0x0, 0x0, 0x1, 0x3, 0x3, 0x23, 0x13, 0x23, 0x35, 0x33, 0x35, 0x33, 0x15, 0x33, 0x15, 0x23, 0x13, 0xFE, 0x40, 0x87, 0x88, 0x95, 0xBA, 0x69, 0x86, 0x89, 0x89, 0x6A, 0xBA, 0x4, 0xB1, 0x1, 0xA, 0xFE, 0xF6, 0x1, 0x49, 0x74, 0x6B, 0x6B, 0x74, 0xFE, 0xB7, 0x0, 0x2, 0xFC, 0x93, 0x4, 0xA8, 0xFE, 0xDD, 0x7, 0xC2, 0x0, 0x18, 0x0, 0x21, 0x0, 0x0, 0x0, 0x26, 0x35, 0x34, 0x36, 0x37, 0x26, 0x27, 0x27, 0x33, 0x17, 0x16, 0x17, 0x36, 0x37, 0x37, 0x33, 0x7, 0x6, 0x7, 0x16, 0x16, 0x15, 0x14, 0x6, 0x26, 0x35, 0x34, 0x26, 0x27, 0x6, 0x6, 0x15, 0x14, 0xFD, 0x4D, 0x8B, 0x5E, 0x3D, 0x82, 0x25, 0x23, 0x92, 0x1A, 0x1A, 0x5F, 0x5F, 0x19, 0x1B, 0x92, 0x20, 0x24, 0x86, 0x3D, 0x5E, 0x8B, 0x4, 0x3B, 0x2C, 0x2C, 0x3B, 0x4, 0xA8, 0x67, 0x55, 0x49, 0x66, 0x31, 0x76, 0x7D, 0x8B, 0x75, 0x63, 0x5A, 0x5A, 0x5F, 0x79, 0x84, 0x80, 0x7A, 0x31, 0x66, 0x49, 0x55, 0x67, 0x74, 0x53, 0x21, 0x41, 0x25, 0x25, 0x41, 0x21, 0x53, 0x0, 0x2, 0xFC, 0x84, 0x4, 0xB1, 0xFE, 0xE3, 0x7, 0xEC, 0x0, 0x11, 0x0, 0x18, 0x0, 0x0, 0x1, 0x14, 0x6, 0x23, 0x21, 0x11, 0x23, 0x35, 0x33, 0x35, 0x33, 0x15, 0x33, 0x15, 0x23, 0x15, 0x33, 0x20, 0x1, 0x33, 0x32, 0x35, 0x34, 0x23, 0x23, 0xFE, 0xE3, 0x86, 0x6B, 0xFE, 0xF8, 0x66, 0x66, 0x8F, 0x9B, 0x9B, 0x69, 0x1, 0x1, 0xFE, 0x96, 0x79, 0x62, 0x62, 0x79, 0x5, 0x77, 0x64, 0x62, 0x2, 0x5F, 0x67, 0x75, 0x75, 0x67, 0xD6, 0xFE, 0xE6, 0x57, 0x54, 0x0, 0x2, 0xFC, 0x78, 0x4, 0xA3, 0xFF, 0x71, 0x6, 0xDF, 0x0, 0x12, 0x0, 0x1A, 0x0, 0x0, 0x1, 0x22, 0x26, 0x27, 0x23, 0x15, 0x23, 0x11, 0x33, 0x15, 0x33, 0x36, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x6, 0x27, 0x32, 0x35, 0x34, 0x23, 0x22, 0x15, 0x14, 0xFE, 0x6A, 0x6D, 0x8A, 0xD, 0x5F, 0x8F, 0x8F, 0x60, 0x10, 0x88, 0x6A, 0x7A, 0x8E, 0x8E, 0x79, 0x78, 0x79, 0x76, 0x4, 0xA3, 0x80, 0x69, 0xDB, 0x2, 0x28, 0xD9, 0x65, 0x7A, 0x9C, 0x88, 0x7C, 0x9C, 0x74, 0xAF, 0xA5, 0xB0, 0xA4, 0x0, 0x2, 0xFC, 0x7F, 0x4, 0xA8, 0xFF, 0x69, 0x6, 0xE0, 0x0, 0x9, 0x0, 0x29, 0x0, 0x0, 0x1, 0x32, 0x36, 0x37, 0x35, 0x23, 0x22, 0x6, 0x15, 0x14, 0x17, 0x26, 0x27, 0x6, 0x23, 0x22, 0x27, 0x23, 0x15, 0x23, 0x11, 0x33, 0x11, 0x33, 0x36, 0x37, 0x33, 0x35, 0x34, 0x23, 0x22, 0x15, 0x27, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x15, 0x14, 0x17, 0xFE, 0x53, 0x25, 0x41, 0xC, 0x53, 0x36, 0x35, 0xD2, 0xA, 0x6, 0x38, 0x63, 0x9A, 0x19, 0x6D, 0x8F, 0x8F, 0x7E, 0x35, 0xA8, 0x5C, 0x50, 0x58, 0x8A, 0x7E, 0x68, 0x60, 0x7C, 0x14, 0x5, 0x16, 0x26, 0x16, 0x50, 0x30, 0x20, 0x3C, 0x64, 0x1B, 0x22, 0x47, 0x81, 0x78, 0x2, 0x28, 0xFE, 0xC4, 0x5A, 0x2, 0x22, 0x55, 0x42, 0x6, 0x4A, 0x62, 0x63, 0x63, 0xE3, 0x4C, 0x39, 0x0, 0x2, 0xFC, 0x92, 0x4, 0xB1, 0xFE, 0xE1, 0x6, 0xD9, 0x0, 0x4, 0x0, 0x10, 0x0, 0x0, 0x1, 0x7, 0x33, 0x27, 0x27, 0x3, 0x35, 0x23, 0x7, 0x23, 0x13, 0x33, 0x13, 0x23, 0x27, 0x23, 0x15, 0xFD, 0xAB, 0x31, 0x7D, 0x32, 0xD, 0x38, 0x2B, 0x31, 0x92, 0xDF, 0x90, 0xE0, 0x92, 0x32, 0x2C, 0x6, 0x1D, 0x85, 0x85, 0x29, 0xFE, 0x6B, 0x83, 0x83, 0x2, 0x28, 0xFD, 0xD8, 0x83, 0x83, 0x0, 0x2, 0xFC, 0x6C, 0x4, 0xB1, 0xFF, 0x4, 0x6, 0xD9, 0x0, 0x2, 0x0, 0x19, 0x0, 0x0, 0x1, 0x37, 0x23, 0x3, 0x23, 0x37, 0x36, 0x37, 0x27, 0x21, 0x7, 0x16, 0x17, 0x17, 0x23, 0x35, 0x34, 0x26, 0x23, 0x15, 0x23, 0x35, 0x23, 0x22, 0x6, 0x15, 0xFD, 0xB8, 0x47, 0x8E, 0x7C, 0x89, 0x1, 0xD, 0xBF, 0x9E, 0x2, 0x3A, 0x9F, 0xC0, 0xD, 0x1, 0x89, 0x35, 0x4B, 0x89, 0xD, 0x39, 0x37, 0x5, 0xEC, 0x83, 0xFE, 0x42, 0x76, 0xB1, 0xF, 0xF2, 0xF2, 0xF, 0xB1, 0x76, 0x57, 0x49, 0x2C, 0xCC, 0xCC, 0x2A, 0x4B, 0x0, 0x2, 0xFB, 0xCB, 0x4, 0xB1, 0xFF, 0x5F, 0x6, 0xD9, 0x0, 0x2, 0x0, 0x20, 0x0, 0x0, 0x1, 0x37, 0x23, 0x7, 0x23, 0x15, 0x23, 0x11, 0x33, 0x15, 0x21, 0x27, 0x21, 0x7, 0x16, 0x17, 0x17, 0x23, 0x35, 0x34, 0x26, 0x23, 0x15, 0x23, 0x35, 0x23, 0x22, 0x6, 0x15, 0x15, 0x23, 0x35, 0x34, 0xFE, 0x13, 0x47, 0x8E, 0xEF, 0x83, 0x8F, 0x8F, 0x1, 0x39, 0x9D, 0x2, 0x3A, 0x9F, 0xC0, 0xD, 0x1, 0x89, 0x35, 0x4B, 0x89, 0xD, 0x39, 0x37, 0x89, 0x5, 0xEC, 0x83, 0xF2, 0xCC, 0x2, 0x28, 0xF0, 0xF0, 0xF2, 0xF, 0xB1, 0x76, 0x57, 0x49, 0x2C, 0xCC, 0xCC, 0x2A, 0x4B, 0x57, 0x57, 0x46, 0x0, 0x1, 0x0, 0x50, 0x2, 0x8C, 0x2, 0xF9, 0x5, 0xAB, 0x0, 0x5, 0x0, 0x0, 0x1, 0x21, 0x11, 0x23, 0x11, 0x21, 0x2, 0xF9, 0xFE, 0x1C, 0xC5, 0x2, 0xA9, 0x5, 0x4, 0xFD, 0x88, 0x3, 0x1F, 0x0, 0x2, 0x0, 0x50, 0x2, 0x8C, 0x2, 0xF9, 0x5, 0xAB, 0x0, 0x5, 0x0, 0xF, 0x0, 0x0, 0x1, 0x21, 0x11, 0x23, 0x11, 0x21, 0x1, 0x34, 0x36, 0x32, 0x16, 0x15, 0x14, 0x6, 0x22, 0x26, 0x2, 0xF9, 0xFE, 0x1C, 0xC5, 0x2, 0xA9, 0xFE, 0x81, 0x49, 0x82, 0x49, 0x49, 0x82, 0x49, 0x5, 0x4, 0xFD, 0x88, 0x3, 0x1F, 0xFE, 0x3F, 0x35, 0x47, 0x47, 0x35, 0x34, 0x47, 0x47, 0x0, 0x1, 0x0, 0x50, 0x2, 0x8B, 0x2, 0x33, 0x5, 0xBB, 0x0, 0x5, 0x0, 0x0, 0x1, 0x23, 0x11, 0x1, 0x17, 0x1, 0x1, 0x15, 0xC5, 0x1, 0x67, 0x7C, 0xFE, 0xE2, 0x2, 0x8B, 0x1, 0xCA, 0x1, 0x66, 0x7D, 0xFE, 0xE1, 0x0, 0x1, 0x0, 0x50, 0x2, 0x8B, 0x2, 0x33, 0x5, 0xBB, 0x0, 0x5, 0x0, 0x0, 0x1, 0x11, 0x1, 0x37, 0x1, 0x11, 0x1, 0x6E, 0xFE, 0xE2, 0x7D, 0x1, 0x66, 0x2, 0x8B, 0x1, 0x95, 0x1, 0x1E, 0x7D, 0xFE, 0x9A, 0xFE, 0x36, 0x0, 0x2, 0x0, 0x50, 0x2, 0x8B, 0x2, 0x71, 0x5, 0xBB, 0x0, 0x5, 0x0, 0x11, 0x0, 0x0, 0x1, 0x23, 0x11, 0x1, 0x17, 0x1, 0x17, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x6, 0x23, 0x22, 0x26, 0x1, 0x15, 0xC5, 0x1, 0x67, 0x7C, 0xFE, 0xE2, 0x48, 0x49, 0x40, 0x41, 0x4A, 0x4A, 0x41, 0x40, 0x49, 0x2, 0x8B, 0x1, 0xCA, 0x1, 0x66, 0x7D, 0xFE, 0xE1, 0x53, 0x35, 0x47, 0x47, 0x35, 0x34, 0x47, 0x47, 0x0, 0x2, 0x0, 0x50, 0x2, 0x8B, 0x2, 0xE7, 0x5, 0xBB, 0x0, 0x5, 0x0, 0x11, 0x0, 0x0, 0x1, 0x11, 0x1, 0x37, 0x1, 0x11, 0x1, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x6, 0x23, 0x22, 0x26, 0x2, 0x22, 0xFE, 0xE2, 0x7D, 0x1, 0x66, 0xFD, 0x69, 0x49, 0x40, 0x41, 0x49, 0x49, 0x41, 0x40, 0x49, 0x2, 0x8B, 0x1, 0x95, 0x1, 0x1E, 0x7D, 0xFE, 0x9A, 0xFE, 0x36, 0x1, 0x41, 0x35, 0x47, 0x47, 0x35, 0x34, 0x47, 0x47, 0x0, 0x1, 0x0, 0x50, 0x2, 0x8C, 0x4, 0xC7, 0x5, 0xAB, 0x0, 0x7, 0x0, 0x0, 0x1, 0x21, 0x11, 0x23, 0x11, 0x21, 0x35, 0x21, 0x4, 0xC7, 0xFE, 0x27, 0xC5, 0xFE, 0x27, 0x4, 0x77, 0x5, 0x4, 0xFD, 0x88, 0x2, 0x78, 0xA7, 0x0, 0x2, 0x0, 0x50, 0x2, 0x8C, 0x4, 0xC7, 0x5, 0xAB, 0x0, 0x7, 0x0, 0x11, 0x0, 0x0, 0x1, 0x21, 0x11, 0x23, 0x11, 0x21, 0x35, 0x21, 0x1, 0x34, 0x36, 0x32, 0x16, 0x15, 0x14, 0x6, 0x22, 0x26, 0x4, 0xC7, 0xFE, 0x27, 0xC5, 0xFE, 0x27, 0x4, 0x77, 0xFE, 0x8C, 0x48, 0x82, 0x49, 0x49, 0x82, 0x48, 0x5, 0x4, 0xFD, 0x88, 0x2, 0x78, 0xA7, 0xFE, 0x3F, 0x35, 0x47, 0x47, 0x35, 0x34, 0x47, 0x47, 0x0, 0x2, 0x0, 0x50, 0x2, 0x7E, 0x4, 0x35, 0x5, 0xBA, 0x0, 0x9, 0x0, 0x22, 0x0, 0x0, 0x1, 0x34, 0x36, 0x32, 0x16, 0x15, 0x14, 0x6, 0x22, 0x26, 0x1, 0x22, 0x27, 0x37, 0x16, 0x33, 0x32, 0x36, 0x35, 0x35, 0x36, 0x36, 0x33, 0x32, 0x16, 0x17, 0x7, 0x26, 0x23, 0x22, 0x6, 0x15, 0x15, 0x6, 0x6, 0x2, 0xE7, 0x48, 0x82, 0x49, 0x49, 0x82, 0x48, 0xFE, 0x7B, 0xA5, 0x6D, 0x5B, 0x4D, 0x55, 0x4F, 0x44, 0x2, 0xA9, 0x98, 0x5B, 0x80, 0x37, 0x5D, 0x4C, 0x52, 0x4F, 0x46, 0x2, 0xA8, 0x3, 0xEF, 0x35, 0x47, 0x47, 0x35, 0x34, 0x47, 0x47, 0xFE, 0xC3, 0x53, 0x93, 0x39, 0x58, 0x65, 0x71, 0xB7, 0xAA, 0x2C, 0x26, 0x94, 0x39, 0x58, 0x65, 0x71, 0xB7, 0xAA, 0x0, 0x1, 0x0, 0x50, 0x2, 0x7E, 0x4, 0x35, 0x5, 0xBA, 0x0, 0x18, 0x0, 0x0, 0x1, 0x22, 0x27, 0x37, 0x16, 0x33, 0x32, 0x36, 0x35, 0x35, 0x36, 0x36, 0x33, 0x32, 0x16, 0x17, 0x7, 0x26, 0x23, 0x22, 0x6, 0x15, 0x15, 0x6, 0x6, 0x1, 0x62, 0xA5, 0x6D, 0x5B, 0x4D, 0x55, 0x4F, 0x44, 0x2, 0xA9, 0x98, 0x5B, 0x80, 0x37, 0x5D, 0x4C, 0x52, 0x4F, 0x46, 0x2, 0xA8, 0x2, 0x7E, 0x53, 0x93, 0x39, 0x58, 0x65, 0x71, 0xB7, 0xAA, 0x2C, 0x26, 0x94, 0x39, 0x58, 0x65, 0x71, 0xB7, 0xAA, 0x0, 0x1, 0x0, 0x50, 0x2, 0x7E, 0x4, 0x35, 0x5, 0xBA, 0x0, 0x18, 0x0, 0x0, 0x1, 0x22, 0x26, 0x35, 0x35, 0x34, 0x26, 0x23, 0x22, 0x7, 0x27, 0x36, 0x36, 0x33, 0x32, 0x16, 0x17, 0x15, 0x14, 0x16, 0x33, 0x32, 0x37, 0x17, 0x6, 0x3, 0x23, 0x9A, 0xA9, 0x46, 0x4F, 0x50, 0x4E, 0x5D, 0x37, 0x80, 0x5B, 0x9A, 0xA8, 0x1, 0x45, 0x4E, 0x55, 0x4D, 0x5B, 0x6B, 0x2, 0x7E, 0xAE, 0xBC, 0x68, 0x65, 0x58, 0x39, 0x94, 0x26, 0x2C, 0xAC, 0xB9, 0x6D, 0x65, 0x58, 0x39, 0x93, 0x53, 0x0, 0x2, 0x0, 0x50, 0x2, 0x8C, 0x3, 0x5B, 0x5, 0xAB, 0x0, 0x3, 0x0, 0x7, 0x0, 0x0, 0x1, 0x11, 0x21, 0x11, 0x7, 0x11, 0x21, 0x11, 0x2, 0x96, 0xFE, 0x7F, 0xC5, 0x3, 0xB, 0x3, 0x33, 0x1, 0xD1, 0xFE, 0x2F, 0xA7, 0x3, 0x1F, 0xFC, 0xE1, 0x0, 0x1, 0x0, 0x50, 0x2, 0x7B, 0x3, 0x92, 0x5, 0xBB, 0x0, 0x3, 0x0, 0x0, 0x13, 0x37, 0x1, 0x7, 0x50, 0x7D, 0x2, 0xC5, 0x7D, 0x5, 0x3E, 0x7D, 0xFD, 0x3D, 0x7D, 0xFF, 0xFF, 0x0, 0x50, 0x2, 0x7B, 0x3, 0x92, 0x5, 0xBB, 0x0, 0x47, 0x5, 0xA2, 0x3, 0xE2, 0x0, 0x0, 0xC0, 0x0, 0x40, 0x0, 0x0, 0x7, 0x0, 0x5F, 0xFD, 0xE7, 0x5, 0xAD, 0x7, 0xF9, 0x0, 0x8, 0x0, 0xC, 0x0, 0x10, 0x0, 0x1C, 0x0, 0x20, 0x0, 0x24, 0x0, 0x2D, 0x0, 0x0, 0x1, 0x35, 0x34, 0x36, 0x37, 0x17, 0x6, 0x7, 0x15, 0x17, 0x15, 0x21, 0x35, 0x1, 0x15, 0x21, 0x35, 0x1, 0x21, 0x6, 0x22, 0x27, 0x21, 0x35, 0x21, 0x36, 0x32, 0x17, 0x21, 0x1, 0x15, 0x21, 0x35, 0x1, 0x15, 0x21, 0x35, 0x1, 0x15, 0x14, 0x6, 0x7, 0x27, 0x36, 0x37, 0x35, 0x2, 0x93, 0x4F, 0x46, 0x80, 0x4A, 0x2, 0xA5, 0xFD, 0xF4, 0x2, 0xB5, 0xFC, 0xAF, 0x4, 0x54, 0xFD, 0xB1, 0x20, 0xC0, 0x20, 0xFE, 0x1, 0x1, 0xFF, 0x20, 0xC0, 0x20, 0x2, 0x4F, 0xFE, 0xFD, 0xFC, 0xAF, 0x2, 0xA8, 0xFD, 0xF3, 0x1, 0x7F, 0x4E, 0x47, 0x7F, 0x48, 0x3, 0x6, 0x59, 0x4C, 0x57, 0xBF, 0x3E, 0x4D, 0x72, 0x82, 0x5F, 0x84, 0xB7, 0xB7, 0xFE, 0xC4, 0xBA, 0xBA, 0xFD, 0xFB, 0x49, 0x49, 0xB9, 0x4A, 0x4A, 0xFE, 0xB5, 0xBA, 0xBA, 0xFE, 0xC1, 0xB7, 0xB7, 0xFE, 0xC4, 0x4C, 0x56, 0xC0, 0x3E, 0x4D, 0x6F, 0x80, 0x64, 0x0, 0x1, 0x0, 0x47, 0xFE, 0xC8, 0x5, 0x73, 0xFF, 0x6D, 0x0, 0x3, 0x0, 0x0, 0x5, 0x15, 0x21, 0x35, 0x5, 0x73, 0xFA, 0xD4, 0x93, 0xA5, 0xA5, 0x0, 0x1, 0x0, 0x47, 0xFD, 0xEC, 0x5, 0x73, 0xFF, 0x6D, 0x0, 0x7, 0x0, 0x0, 0x1, 0x21, 0x5, 0x27, 0x37, 0x23, 0x35, 0x21, 0x5, 0x73, 0xFC, 0xE7, 0xFE, 0x81, 0x50, 0x99, 0xDD, 0x5, 0x2C, 0xFE, 0xC8, 0xDC, 0x8A, 0x52, 0xA5, 0x0, 0x1, 0x0, 0x45, 0xFD, 0xED, 0x5, 0x71, 0xFF, 0x6D, 0x0, 0x7, 0x0, 0x0, 0x1, 0x25, 0x21, 0x35, 0x21, 0x15, 0x23, 0x17, 0x4, 0xD5, 0xFE, 0x83, 0xFC, 0xED, 0x5, 0x2C, 0xE3, 0x97, 0xFD, 0xED, 0xDB, 0xA5, 0xA5, 0x51, 0x0, 0x1, 0x0, 0x50, 0xFE, 0xC7, 0x1, 0x73, 0x0, 0xF4, 0x0, 0xB, 0x0, 0x0, 0x37, 0x35, 0x32, 0x16, 0x15, 0x14, 0x6, 0x23, 0x35, 0x32, 0x35, 0x34, 0x50, 0x77, 0xAC, 0xAC, 0x77, 0x7D, 0x52, 0xA2, 0x89, 0x91, 0x90, 0x83, 0xA2, 0x71, 0x78, 0x0, 0x3, 0x0, 0x50, 0x0, 0x74, 0x4, 0x48, 0x6, 0x1F, 0x0, 0x3, 0x0, 0xD, 0x0, 0x17, 0x0, 0x0, 0x1, 0x1, 0x27, 0x1, 0x1, 0x34, 0x36, 0x32, 0x16, 0x15, 0x14, 0x6, 0x22, 0x26, 0x1, 0x34, 0x36, 0x32, 0x16, 0x15, 0x14, 0x6, 0x22, 0x26, 0x4, 0x48, 0xFC, 0x84, 0x7C, 0x3, 0x7D, 0xFC, 0xAE, 0x48, 0x82, 0x49, 0x49, 0x82, 0x48, 0x2, 0x5D, 0x49, 0x82, 0x49, 0x49, 0x82, 0x49, 0x5, 0xD4, 0xFA, 0xA0, 0x4B, 0x5, 0x60, 0xFE, 0x7, 0x35, 0x47, 0x47, 0x35, 0x34, 0x47, 0x47, 0xFE, 0x80, 0x35, 0x47, 0x47, 0x35, 0x34, 0x47, 0x47, 0x0, 0x1, 0x0, 0x37, 0xFF, 0xDD, 0x5, 0x16, 0x6, 0x1F, 0x0, 0xF, 0x0, 0x0, 0x25, 0x6, 0x7, 0x6, 0x24, 0x27, 0x26, 0x37, 0x17, 0x6, 0x17, 0x1, 0x17, 0x1, 0x16, 0x37, 0x2, 0xF4, 0x42, 0x80, 0x81, 0xFE, 0xD8, 0x29, 0x29, 0x42, 0x96, 0x3B, 0x5C, 0x3, 0x6B, 0x7B, 0xFC, 0x97, 0x7C, 0x3A, 0x6F, 0x6D, 0x13, 0x12, 0xB0, 0x79, 0x78, 0x70, 0x5B, 0x63, 0x55, 0x5, 0x44, 0x4B, 0xFA, 0xBD, 0x2C, 0x62, 0xFF, 0xFF, 0x0, 0x3B, 0xFF, 0xEC, 0x5, 0x1A, 0x6, 0x2E, 0x0, 0xF, 0x5, 0xAA, 0x5, 0x51, 0x6, 0xB, 0xC0, 0x0, 0x0, 0x3, 0x0, 0x50, 0x0, 0x5, 0x2, 0xA9, 0x4, 0x43, 0x0, 0x9, 0x0, 0x10, 0x0, 0x1A, 0x0, 0x0, 0x1, 0x34, 0x36, 0x32, 0x16, 0x15, 0x14, 0x6, 0x22, 0x26, 0x3, 0x23, 0x13, 0x3, 0x33, 0x1, 0x15, 0x3, 0x34, 0x36, 0x32, 0x16, 0x15, 0x14, 0x6, 0x22, 0x26, 0x1, 0x96, 0x48, 0x82, 0x49, 0x49, 0x82, 0x48, 0x9E, 0xA8, 0xF7, 0xF7, 0xA8, 0x1, 0x20, 0x82, 0x48, 0x82, 0x49, 0x49, 0x82, 0x48, 0x3, 0xC6, 0x35, 0x48, 0x48, 0x35, 0x34, 0x47, 0x47, 0xFD, 0x3, 0x1, 0x90, 0x1, 0x8F, 0xFE, 0x7A, 0x13, 0xFE, 0x65, 0x35, 0x47, 0x47, 0x35, 0x34, 0x47, 0x47, 0x0, 0x2, 0x0, 0x50, 0x1, 0x28, 0x2, 0x7D, 0x3, 0xAF, 0x0, 0x3, 0x0, 0x7, 0x0, 0x0, 0x1, 0x17, 0x5, 0x27, 0x5, 0x17, 0x5, 0x27, 0x2, 0x4B, 0x32, 0xFE, 0x5, 0x32, 0x1, 0xFB, 0x32, 0xFE, 0x5, 0x32, 0x3, 0xAF, 0xBD, 0x88, 0xBD, 0xBA, 0xBD, 0x88, 0xBD, 0x0, 0x3, 0x0, 0x48, 0xFF, 0x2E, 0x3, 0xA4, 0x5, 0xBD, 0x0, 0x7, 0x0, 0x19, 0x0, 0x1F, 0x0, 0x0, 0x0, 0x6, 0x22, 0x26, 0x34, 0x36, 0x32, 0x16, 0x13, 0x21, 0x37, 0x26, 0x26, 0x35, 0x34, 0x36, 0x37, 0x36, 0x36, 0x37, 0x21, 0x13, 0x33, 0x6, 0x6, 0x7, 0x1, 0x14, 0x17, 0x13, 0x6, 0x6, 0x2, 0x92, 0x48, 0x82, 0x49, 0x49, 0x82, 0x48, 0x2B, 0xFE, 0xFF, 0x4, 0xB3, 0xC5, 0x9A, 0x5F, 0x37, 0x26, 0x1, 0x1, 0x6, 0xD, 0xF2, 0x2, 0x81, 0x68, 0xFE, 0x82, 0x89, 0x8, 0x3D, 0x54, 0x5, 0x4, 0x4D, 0x4D, 0x6E, 0x4B, 0x4B, 0xF9, 0xBC, 0xC1, 0xC, 0xC8, 0xAC, 0x85, 0xC2, 0x5A, 0x32, 0x77, 0x4B, 0xFD, 0x67, 0x84, 0xAF, 0x28, 0x1, 0x68, 0xA5, 0x18, 0x1, 0xB7, 0x3B, 0x6F, 0x0, 0x1, 0x0, 0x57, 0xFF, 0xE2, 0x5, 0xD, 0x6, 0x72, 0x0, 0x23, 0x0, 0x0, 0x5, 0x27, 0x37, 0x3, 0x37, 0x13, 0x37, 0x3, 0x37, 0x13, 0x37, 0x3, 0x37, 0x17, 0x37, 0x3, 0x37, 0x17, 0x37, 0x17, 0x7, 0x37, 0x17, 0x5, 0x7, 0x37, 0x17, 0x5, 0x7, 0x25, 0x17, 0x5, 0x7, 0x25, 0x17, 0x5, 0x1, 0x42, 0xB0, 0x63, 0x9E, 0xAE, 0x70, 0x3E, 0x85, 0xAE, 0x56, 0x3F, 0x6C, 0xAE, 0x3D, 0x40, 0x52, 0xAE, 0x23, 0x74, 0xB0, 0x74, 0x7F, 0x2F, 0xFE, 0xD3, 0x40, 0xE0, 0x2F, 0xFE, 0x72, 0x3E, 0x1, 0x45, 0x2F, 0xFE, 0xC, 0x3E, 0x1, 0xA3, 0x2F, 0xFD, 0xAE, 0x1E, 0x66, 0xAC, 0x2, 0x50, 0x2F, 0xFE, 0x5D, 0x6C, 0x1, 0xF3, 0x2F, 0xFE, 0xBA, 0x6C, 0x1, 0x8D, 0x2F, 0xE0, 0x6D, 0x1, 0x2D, 0x2E, 0x7F, 0xC9, 0x66, 0xC9, 0x21, 0xAD, 0x4F, 0x6F, 0x3B, 0xAD, 0x69, 0x6B, 0x57, 0xAE, 0x86, 0x6C, 0x70, 0xAE, 0x9E, 0x0, 0x3, 0x0, 0x64, 0x2, 0xA, 0x3, 0x2A, 0x5, 0xF, 0x0, 0xB, 0x0, 0x17, 0x0, 0x1B, 0x0, 0x0, 0x13, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x6, 0x23, 0x22, 0x26, 0x25, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x6, 0x23, 0x22, 0x26, 0x13, 0x15, 0x21, 0x35, 0x64, 0x44, 0x3A, 0x3B, 0x44, 0x44, 0x3B, 0x3A, 0x44, 0x1, 0xC9, 0x44, 0x3A, 0x3B, 0x44, 0x44, 0x3B, 0x3A, 0x44, 0x9E, 0xFD, 0xF3, 0x4, 0x98, 0x32, 0x45, 0x45, 0x32, 0x31, 0x44, 0x44, 0x30, 0x32, 0x45, 0x45, 0x32, 0x31, 0x44, 0x44, 0xFE, 0x67, 0xC3, 0xC3, 0x0, 0x3, 0x0, 0x46, 0x1, 0xFC, 0x3, 0x23, 0x4, 0xE3, 0x0, 0x7, 0x0, 0x11, 0x0, 0x26, 0x0, 0x0, 0x12, 0x36, 0x32, 0x16, 0x14, 0x6, 0x22, 0x26, 0x37, 0x14, 0x16, 0x32, 0x36, 0x35, 0x34, 0x26, 0x22, 0x6, 0x1, 0x17, 0x14, 0x6, 0x23, 0x22, 0x26, 0x26, 0x23, 0x22, 0x6, 0x15, 0x27, 0x34, 0x36, 0x33, 0x32, 0x16, 0x33, 0x32, 0x36, 0xDB, 0x7F, 0xBE, 0x7E, 0x7E, 0xBE, 0x7F, 0x6D, 0x3F, 0x64, 0x3E, 0x3E, 0x64, 0x3F, 0x1, 0x46, 0x95, 0x80, 0x60, 0x3F, 0x50, 0x48, 0x36, 0x27, 0x34, 0x95, 0x7F, 0x5F, 0x52, 0x6F, 0x4D, 0x26, 0x36, 0x4, 0x69, 0x7A, 0x7A, 0xAC, 0x76, 0x76, 0x56, 0x2B, 0x44, 0x43, 0x2C, 0x2E, 0x44, 0x44, 0xFE, 0xD5, 0xC, 0x6F, 0x91, 0x2C, 0x2D, 0x39, 0x2E, 0x8, 0x6E, 0x96, 0x59, 0x39, 0x0, 0x1, 0x0, 0x50, 0xFE, 0xDD, 0x3, 0xC, 0x2, 0xBE, 0x0, 0x3, 0x0, 0x0, 0x13, 0x37, 0x1, 0x7, 0x50, 0x7D, 0x2, 0x3F, 0x7E, 0x2, 0x75, 0x49, 0xFC, 0x67, 0x48, 0xFF, 0xFF, 0x0, 0x50, 0xFE, 0xDD, 0x3, 0xC, 0x2, 0xBE, 0x0, 0x47, 0x5, 0xB2, 0x3, 0x5C, 0x0, 0x0, 0xC0, 0x0, 0x40, 0x0, 0x0, 0x2, 0x0, 0x4A, 0x2, 0x6E, 0x3, 0x27, 0x4, 0xAC, 0x0, 0x9, 0x0, 0x1E, 0x0, 0x0, 0x1, 0x34, 0x36, 0x32, 0x16, 0x15, 0x14, 0x6, 0x22, 0x26, 0x5, 0x17, 0x14, 0x6, 0x23, 0x22, 0x26, 0x26, 0x23, 0x22, 0x6, 0x15, 0x27, 0x34, 0x36, 0x33, 0x32, 0x16, 0x33, 0x32, 0x36, 0x1, 0x2C, 0x49, 0x82, 0x49, 0x49, 0x82, 0x49, 0x1, 0x66, 0x95, 0x81, 0x5F, 0x40, 0x51, 0x47, 0x36, 0x26, 0x34, 0x95, 0x7F, 0x5F, 0x52, 0x6F, 0x4D, 0x26, 0x36, 0x4, 0x30, 0x35, 0x47, 0x47, 0x35, 0x34, 0x47, 0x47, 0x74, 0xC, 0x6F, 0x91, 0x2D, 0x2C, 0x39, 0x2E, 0x8, 0x6E, 0x96, 0x59, 0x39, 0x0, 0x2, 0x0, 0x4A, 0x1, 0xAF, 0x3, 0x27, 0x3, 0xF3, 0x0, 0x14, 0x0, 0x1E, 0x0, 0x0, 0x1, 0x17, 0x14, 0x6, 0x23, 0x22, 0x26, 0x26, 0x23, 0x22, 0x6, 0x15, 0x27, 0x34, 0x36, 0x33, 0x32, 0x16, 0x33, 0x32, 0x36, 0x1, 0x34, 0x36, 0x32, 0x16, 0x15, 0x14, 0x6, 0x22, 0x26, 0x2, 0x92, 0x95, 0x81, 0x5F, 0x40, 0x51, 0x47, 0x36, 0x26, 0x34, 0x95, 0x7F, 0x5F, 0x52, 0x6F, 0x4D, 0x26, 0x36, 0xFE, 0xAB, 0x48, 0x82, 0x49, 0x49, 0x82, 0x48, 0x3, 0xF3, 0xC, 0x6F, 0x91, 0x2D, 0x2C, 0x39, 0x2E, 0x8, 0x6E, 0x96, 0x59, 0x39, 0xFE, 0x65, 0x35, 0x48, 0x48, 0x35, 0x34, 0x47, 0x47, 0xFF, 0xFF, 0x0, 0x99, 0xFE, 0xF2, 0x3, 0x7B, 0x5, 0xB0, 0x0, 0x26, 0x0, 0x61, 0xEB, 0x0, 0x0, 0x7, 0x7, 0xA4, 0x0, 0x4D, 0xFF, 0x74, 0xFF, 0xFF, 0x0, 0x42, 0xFE, 0xF2, 0x3, 0x23, 0x5, 0xB0, 0x0, 0x27, 0x0, 0x61, 0x1, 0xCD, 0x0, 0x0, 0x0, 0x7, 0x7, 0xA4, 0xFF, 0xB2, 0xFF, 0x74, 0x0, 0x1, 0x0, 0x50, 0x2, 0x51, 0x1, 0xE9, 0x5, 0xB0, 0x0, 0x5, 0x0, 0x0, 0x1, 0x15, 0x23, 0x11, 0x23, 0x11, 0x1, 0xE9, 0xD4, 0xC5, 0x5, 0xB0, 0xA7, 0xFD, 0x48, 0x3, 0x5F, 0x0, 0x1, 0x0, 0x50, 0x2, 0x51, 0x1, 0xE9, 0x5, 0xB0, 0x0, 0x5, 0x0, 0x0, 0x13, 0x35, 0x21, 0x11, 0x23, 0x11, 0x50, 0x1, 0x99, 0xC4, 0x5, 0x9, 0xA7, 0xFC, 0xA1, 0x2, 0xB8, 0x0, 0x1, 0x0, 0x50, 0xFE, 0xF2, 0x1, 0xE9, 0x2, 0x51, 0x0, 0x5, 0x0, 0x0, 0x5, 0x15, 0x21, 0x11, 0x33, 0x11, 0x1, 0xE9, 0xFE, 0x67, 0xC5, 0x67, 0xA7, 0x3, 0x5F, 0xFD, 0x48, 0x0, 0x1, 0x0, 0x50, 0xFE, 0xF2, 0x1, 0xE9, 0x2, 0x51, 0x0, 0x5, 0x0, 0x0, 0x13, 0x35, 0x33, 0x11, 0x33, 0x11, 0x50, 0xD5, 0xC4, 0xFE, 0xF2, 0xA7, 0x2, 0xB8, 0xFC, 0xA1, 0x0, 0x1, 0x0, 0x57, 0x0, 0x6D, 0x4, 0x63, 0x4, 0xE, 0x0, 0xF, 0x0, 0x0, 0x1, 0x15, 0x21, 0x22, 0x24, 0x35, 0x34, 0x24, 0x33, 0x21, 0x15, 0x21, 0x6, 0x11, 0x10, 0x17, 0x4, 0x63, 0xFD, 0xD2, 0xCA, 0xFE, 0xEC, 0x1, 0x14, 0xCA, 0x2, 0x2E, 0xFD, 0xCB, 0xF3, 0xF3, 0x1, 0x30, 0xC3, 0xF0, 0xE0, 0xDF, 0xF2, 0xC3, 0x4, 0xFE, 0xF6, 0xFE, 0xF7, 0x4, 0x0, 0x1, 0x0, 0x4E, 0x0, 0x6D, 0x4, 0x5A, 0x4, 0xE, 0x0, 0xF, 0x0, 0x0, 0x37, 0x35, 0x21, 0x36, 0x11, 0x10, 0x27, 0x21, 0x35, 0x21, 0x32, 0x4, 0x15, 0x14, 0x4, 0x23, 0x4E, 0x2, 0x35, 0xF3, 0xF3, 0xFD, 0xCB, 0x2, 0x2E, 0xCB, 0x1, 0x13, 0xFE, 0xED, 0xCB, 0x6D, 0xC3, 0x4, 0x1, 0x9, 0x1, 0xA, 0x4, 0xC3, 0xF2, 0xDF, 0xE0, 0xF0, 0xFF, 0xFF, 0x0, 0x81, 0xFE, 0x31, 0x4, 0x3A, 0x6, 0x5F, 0x0, 0x26, 0x0, 0xD, 0x0, 0x0, 0x0, 0x7, 0x0, 0xD, 0x1, 0x97, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x28, 0xFE, 0x31, 0x3, 0xE9, 0x6, 0x5F, 0x0, 0x26, 0x0, 0xE, 0x0, 0x0, 0x0, 0x7, 0x0, 0xE, 0x1, 0x97, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x43, 0xFF, 0xE3, 0x4, 0x43, 0x3, 0xED, 0x0, 0x27, 0x1, 0xD4, 0x3, 0x28, 0x4, 0x62, 0x0, 0x27, 0x1, 0xD4, 0x6, 0x14, 0x4, 0x62, 0x0, 0x7, 0x1, 0xD4, 0x4, 0x9E, 0x1, 0x50, 0xFF, 0xFF, 0x0, 0x43, 0xFF, 0xE4, 0x4, 0x43, 0x3, 0xED, 0x0, 0x27, 0x1, 0xD4, 0x3, 0x28, 0x1, 0x51, 0x0, 0x27, 0x1, 0xD4, 0x6, 0x14, 0x1, 0x51, 0x0, 0x7, 0x1, 0xD4, 0x4, 0x9E, 0x4, 0x62, 0xFF, 0xFF, 0x0, 0x43, 0xFF, 0xE2, 0x4, 0x43, 0x3, 0xED, 0x0, 0x27, 0x1, 0xD4, 0x3, 0x28, 0x4, 0x62, 0x0, 0x27, 0x1, 0xD4, 0x6, 0x14, 0x1, 0x4F, 0x0, 0x27, 0x1, 0xD4, 0x6, 0x14, 0x4, 0x62, 0x0, 0x7, 0x1, 0xD4, 0x3, 0x28, 0x1, 0x4F, 0xFF, 0xFF, 0x0, 0x43, 0xFF, 0xE2, 0x4, 0x5E, 0x3, 0xED, 0x0, 0x27, 0x1, 0xD4, 0x3, 0x28, 0x2, 0xD9, 0x0, 0x27, 0x1, 0xD4, 0x4, 0xAB, 0x4, 0x62, 0x0, 0x27, 0x1, 0xD4, 0x6, 0x2F, 0x2, 0xD9, 0x0, 0x27, 0x1, 0xD4, 0x4, 0xAB, 0x1, 0x4F, 0x0, 0x7, 0x1, 0xD4, 0x4, 0xAB, 0x2, 0xD9, 0x0, 0x2, 0x0, 0x3D, 0xFF, 0xF4, 0x3, 0x9F, 0x5, 0xC5, 0x0, 0x18, 0x0, 0x22, 0x0, 0x0, 0x1, 0x23, 0x26, 0x26, 0x27, 0x26, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x17, 0x23, 0x26, 0x26, 0x23, 0x22, 0x15, 0x14, 0x16, 0x17, 0x16, 0x16, 0x13, 0x14, 0x6, 0x22, 0x26, 0x35, 0x34, 0x36, 0x32, 0x16, 0x2, 0x62, 0xE3, 0x1, 0x1C, 0x39, 0x59, 0x93, 0xE3, 0xCC, 0xB7, 0xFA, 0x2, 0xF3, 0x1, 0x77, 0x48, 0xBC, 0x66, 0x3A, 0x5D, 0x34, 0x16, 0x48, 0x82, 0x49, 0x49, 0x82, 0x48, 0x1, 0xA6, 0x4D, 0x69, 0x38, 0x57, 0xC9, 0x87, 0xBE, 0xCC, 0xC3, 0xBC, 0x60, 0x55, 0xC9, 0x58, 0x88, 0x3E, 0x56, 0x8B, 0xFE, 0x43, 0x37, 0x4B, 0x4B, 0x37, 0x38, 0x4B, 0x4B, 0x0, 0x1, 0x0, 0x50, 0x3, 0xFF, 0x1, 0x71, 0x6, 0xCF, 0x0, 0x13, 0x0, 0x0, 0x13, 0x27, 0x32, 0x36, 0x35, 0x34, 0x26, 0x35, 0x34, 0x36, 0x33, 0x17, 0x22, 0x6, 0x15, 0x14, 0x16, 0x15, 0x14, 0x6, 0x73, 0x23, 0x2E, 0x40, 0x59, 0x8A, 0x5B, 0x27, 0x2E, 0x40, 0x59, 0x8D, 0x3, 0xFF, 0x83, 0x37, 0x26, 0x51, 0x6F, 0x5F, 0x5C, 0x75, 0x82, 0x37, 0x27, 0x4F, 0x76, 0x59, 0x5D, 0x75, 0xFF, 0xFF, 0x0, 0x46, 0x2, 0x3B, 0x2, 0x1, 0x3, 0xD7, 0x0, 0x7, 0x1, 0x8B, 0xFF, 0xCD, 0xFD, 0xAD, 0xFF, 0xFF, 0x0, 0x5E, 0x2, 0xD7, 0x1, 0x79, 0x3, 0xE4, 0x0, 0x7, 0x0, 0x13, 0xFF, 0xD6, 0x2, 0xE3, 0xFF, 0xFF, 0x0, 0x57, 0xFE, 0xE1, 0x1, 0x97, 0x1, 0x14, 0x0, 0xF, 0x0, 0x11, 0x1, 0xB4, 0xFF, 0xCC, 0xC0, 0x0, 0xFF, 0xFF, 0x0, 0x50, 0x1, 0xE1, 0x1, 0x6B, 0x2, 0xEE, 0x0, 0x7, 0x0, 0x13, 0xFF, 0xC8, 0x1, 0xED, 0xFF, 0xFF, 0x0, 0x46, 0x0, 0xB3, 0x1, 0x86, 0x2, 0xE6, 0x0, 0x7, 0x0, 0x11, 0x0, 0x29, 0x1, 0xFB, 0x0, 0x2, 0x0, 0x84, 0xFF, 0xEB, 0x1, 0xE1, 0x5, 0x84, 0x0, 0x9, 0x0, 0x11, 0x0, 0x0, 0x13, 0x37, 0x34, 0x36, 0x37, 0x17, 0x6, 0x6, 0x15, 0x15, 0x2, 0x36, 0x32, 0x16, 0x14, 0x6, 0x22, 0x26, 0xA0, 0x1, 0x66, 0x57, 0x83, 0x2B, 0x3B, 0xF7, 0x4A, 0x86, 0x4B, 0x4B, 0x86, 0x4A, 0x3, 0x51, 0xAC, 0x66, 0xDA, 0x47, 0x4D, 0x43, 0x8F, 0x5F, 0xB5, 0xFD, 0x59, 0x4E, 0x4E, 0x72, 0x4D, 0x4D, 0x0, 0x1, 0x0, 0x50, 0x0, 0x0, 0x2, 0xB5, 0x5, 0xB0, 0x0, 0x7, 0x0, 0x0, 0x21, 0x23, 0x11, 0x21, 0x35, 0x21, 0x11, 0x33, 0x2, 0xB5, 0xF2, 0xFE, 0x8D, 0x1, 0x73, 0xF2, 0x3, 0x73, 0xC7, 0x1, 0x76, 0x0, 0x1, 0x0, 0x99, 0x0, 0x0, 0x3, 0x4, 0x5, 0xB0, 0x0, 0x7, 0x0, 0x0, 0x1, 0x21, 0x11, 0x23, 0x11, 0x33, 0x11, 0x21, 0x3, 0x4, 0xFE, 0x88, 0xF3, 0xF3, 0x1, 0x78, 0x3, 0x73, 0xFC, 0x8D, 0x5, 0xB0, 0xFE, 0x8A, 0x0, 0x1, 0x0, 0x50, 0x0, 0x0, 0x4, 0x2E, 0x5, 0xB0, 0x0, 0xB, 0x0, 0x0, 0x21, 0x11, 0x21, 0x35, 0x21, 0x11, 0x33, 0x11, 0x21, 0x15, 0x21, 0x11, 0x1, 0xC3, 0xFE, 0x8D, 0x1, 0x73, 0xF2, 0x1, 0x79, 0xFE, 0x87, 0x1, 0x76, 0xC7, 0x3, 0x73, 0xFC, 0x8D, 0xC7, 0xFE, 0x8A, 0x0, 0x2, 0x0, 0x5B, 0x0, 0x76, 0x4, 0x8A, 0x5, 0xC5, 0x0, 0xB, 0x0, 0x27, 0x0, 0x0, 0x1, 0x32, 0x36, 0x35, 0x34, 0x26, 0x27, 0x27, 0x6, 0x15, 0x14, 0x16, 0x13, 0x26, 0x26, 0x10, 0x37, 0x26, 0x35, 0x34, 0x24, 0x33, 0x32, 0x4, 0x15, 0x23, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x14, 0x16, 0x4, 0x17, 0x16, 0x15, 0x14, 0x4, 0x2, 0x8C, 0x64, 0xA9, 0x95, 0xC6, 0x85, 0x6B, 0x7D, 0x68, 0xDD, 0xFB, 0xAA, 0x85, 0x1, 0x13, 0xE6, 0xEC, 0x1, 0xF, 0xF2, 0x87, 0x82, 0x88, 0x7E, 0x76, 0x1, 0xAE, 0x77, 0x7C, 0xFE, 0xE6, 0x1, 0x44, 0x2C, 0x52, 0x4D, 0x60, 0x39, 0x2B, 0x2A, 0x7B, 0x58, 0x5B, 0xFE, 0xFB, 0x3E, 0xB3, 0x1, 0x70, 0x5A, 0x66, 0xB7, 0xAA, 0xCD, 0xDE, 0xCF, 0x61, 0x89, 0x69, 0x49, 0x53, 0x56, 0x77, 0x56, 0x5A, 0xB9, 0xA1, 0xB0, 0xFF, 0xFF, 0x0, 0xAE, 0x2, 0x6E, 0xB, 0x33, 0x3, 0x32, 0x0, 0x66, 0x5, 0x3A, 0xB0, 0x0, 0x66, 0x66, 0x40, 0x0, 0x0, 0x47, 0x5, 0x3A, 0x4, 0xE8, 0x0, 0x0, 0x66, 0x66, 0x40, 0x0, 0xFF, 0xFF, 0x0, 0xAE, 0x2, 0x6E, 0x10, 0x6A, 0x3, 0x32, 0x0, 0x66, 0x5, 0x3A, 0xB0, 0x0, 0x66, 0x66, 0x40, 0x0, 0x0, 0x67, 0x5, 0x3A, 0xA, 0x1F, 0x0, 0x0, 0x66, 0x66, 0x40, 0x0, 0x0, 0x47, 0x5, 0x3A, 0x4, 0xE8, 0x0, 0x0, 0x66, 0x66, 0x40, 0x0, 0x0, 0x1, 0x0, 0x50, 0xFF, 0x9E, 0x1, 0xF2, 0x1, 0x47, 0x0, 0xB, 0x0, 0x0, 0x5, 0x27, 0x7, 0x27, 0x37, 0x27, 0x37, 0x17, 0x37, 0x17, 0x7, 0x17, 0x1, 0xAF, 0x8E, 0x8E, 0x43, 0x8F, 0x8F, 0x43, 0x8E, 0x8E, 0x43, 0x8F, 0x8F, 0x62, 0x91, 0x91, 0x43, 0x92, 0x91, 0x43, 0x91, 0x91, 0x43, 0x91, 0x92, 0xFF, 0xFF, 0x0, 0x43, 0xFE, 0x5F, 0x1, 0x57, 0x6, 0xDF, 0x0, 0x27, 0x1, 0xD4, 0x3, 0x28, 0xFF, 0xCC, 0x0, 0x27, 0x1, 0xD4, 0x3, 0x28, 0x2, 0xCF, 0x0, 0x27, 0x1, 0xD4, 0x3, 0x28, 0x7, 0x54, 0x0, 0x27, 0x1, 0xD4, 0x3, 0x28, 0x5, 0xD1, 0x0, 0x27, 0x1, 0xD4, 0x3, 0x28, 0x4, 0x4E, 0x0, 0x7, 0x1, 0xD4, 0x3, 0x28, 0x1, 0x4F, 0x0, 0x1, 0x0, 0x50, 0xFE, 0x46, 0x1, 0x47, 0x6, 0x53, 0x0, 0x40, 0x0, 0x0, 0x36, 0x26, 0x35, 0x34, 0x36, 0x35, 0x34, 0x26, 0x35, 0x34, 0x36, 0x34, 0x26, 0x34, 0x36, 0x35, 0x34, 0x26, 0x35, 0x34, 0x36, 0x37, 0x17, 0x6, 0x15, 0x14, 0x16, 0x16, 0x17, 0x15, 0x14, 0x6, 0x6, 0x14, 0x16, 0x16, 0x17, 0x15, 0x14, 0x6, 0x6, 0x14, 0x16, 0x16, 0x14, 0x6, 0x6, 0x15, 0x14, 0x16, 0x16, 0x17, 0x15, 0x14, 0x6, 0x6, 0x15, 0x14, 0x17, 0x7, 0x26, 0x26, 0x35, 0x34, 0x36, 0xAA, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x6A, 0x4E, 0x33, 0x4D, 0x2D, 0x2B, 0x1, 0x2C, 0x2D, 0x2D, 0x2B, 0x1, 0x2C, 0x2D, 0x2D, 0x2C, 0x2C, 0x2D, 0x2D, 0x2B, 0x1, 0x2C, 0x2D, 0x4B, 0x33, 0x4D, 0x69, 0x5A, 0x1D, 0x4A, 0x4B, 0x4C, 0x4A, 0x37, 0x38, 0x4A, 0x4C, 0x4B, 0x4B, 0x6E, 0x4A, 0x98, 0x4A, 0x37, 0x38, 0x50, 0x55, 0x44, 0x6C, 0x12, 0x7C, 0x1D, 0x39, 0x2A, 0x35, 0x39, 0x30, 0x5, 0x32, 0x3C, 0x35, 0x54, 0x35, 0x39, 0x30, 0x5, 0x32, 0x3C, 0x35, 0x54, 0x35, 0x3C, 0x66, 0x3B, 0x34, 0x2B, 0x2A, 0x35, 0x39, 0x30, 0x5, 0x33, 0x3B, 0x35, 0x2A, 0x3B, 0x1A, 0x7D, 0x13, 0x6D, 0x48, 0x50, 0x4F, 0x0, 0x3, 0x0, 0x41, 0xFE, 0xF3, 0x4, 0x44, 0x5, 0xB0, 0x0, 0x5, 0x0, 0xB, 0x0, 0x2D, 0x0, 0x0, 0x1, 0x37, 0x11, 0x27, 0x7, 0x11, 0x1, 0x14, 0x17, 0x11, 0x6, 0x15, 0x1, 0x27, 0x11, 0x23, 0x11, 0x26, 0x26, 0x35, 0x35, 0x34, 0x36, 0x37, 0x35, 0x33, 0x15, 0x37, 0x17, 0x35, 0x33, 0x15, 0x16, 0x17, 0x7, 0x26, 0x27, 0x11, 0x36, 0x37, 0x17, 0x6, 0x7, 0x11, 0x23, 0x11, 0x2, 0x69, 0x2B, 0x2C, 0x1A, 0xFE, 0xE5, 0x74, 0x74, 0x1, 0x38, 0x1D, 0xA7, 0x9F, 0xC7, 0xC7, 0x9F, 0xA7, 0x1D, 0x29, 0xA7, 0xA1, 0x68, 0x8E, 0x2A, 0x51, 0x59, 0x28, 0x72, 0x55, 0x9E, 0xA7, 0x2, 0x64, 0x2, 0x2, 0x26, 0x1, 0x1, 0xFD, 0xD9, 0x1, 0x2, 0x87, 0x49, 0x1, 0xC0, 0x4B, 0x82, 0xFE, 0x17, 0x1, 0xFD, 0x51, 0x2, 0xC8, 0x2D, 0xE1, 0x9E, 0x23, 0x9E, 0xE1, 0x2D, 0x7A, 0x61, 0x1, 0x1, 0x61, 0x74, 0x24, 0x6C, 0x8C, 0x33, 0x1C, 0xFE, 0x14, 0x1A, 0x26, 0x93, 0x4F, 0x27, 0xFD, 0x39, 0x2, 0xAF, 0xFF, 0xFF, 0x0, 0x64, 0x1, 0x76, 0x2, 0x71, 0x3, 0x5A, 0x0, 0x27, 0x0, 0x12, 0x0, 0x1D, 0xFF, 0x6C, 0x0, 0x7, 0x0, 0x12, 0x0, 0x1D, 0x0, 0x8D, 0x0, 0x1, 0x0, 0x5B, 0xFE, 0xAB, 0x1, 0x98, 0x0, 0xEB, 0x0, 0x8, 0x0, 0x0, 0x37, 0x33, 0x15, 0x16, 0x17, 0x7, 0x26, 0x26, 0x27, 0x5B, 0xE5, 0x3, 0x55, 0x7F, 0x53, 0x69, 0x1, 0xEB, 0xCC, 0xA0, 0x87, 0x4D, 0x47, 0xDE, 0x64, 0x0, 0x2, 0x0, 0x5B, 0xFE, 0xAB, 0x2, 0xEE, 0x0, 0xEB, 0x0, 0x8, 0x0, 0x11, 0x0, 0x0, 0x25, 0x33, 0x15, 0x16, 0x17, 0x7, 0x26, 0x26, 0x35, 0x25, 0x33, 0x15, 0x16, 0x17, 0x7, 0x26, 0x26, 0x27, 0x1, 0xB1, 0xE4, 0x2, 0x57, 0x80, 0x54, 0x69, 0xFE, 0xAA, 0xE5, 0x3, 0x55, 0x7F, 0x53, 0x69, 0x1, 0xEB, 0xC7, 0xA5, 0x87, 0x4D, 0x48, 0xE0, 0x65, 0xB3, 0xCC, 0xA0, 0x87, 0x4D, 0x47, 0xDE, 0x64, 0x0, 0x1, 0x0, 0x50, 0xFE, 0x87, 0x4, 0x8C, 0x5, 0xB0, 0x0, 0x1C, 0x0, 0x0, 0x1, 0x22, 0x6, 0x7, 0x27, 0x36, 0x36, 0x33, 0x32, 0x16, 0x33, 0x32, 0x35, 0x21, 0x35, 0x1, 0x21, 0x35, 0x21, 0x15, 0x1, 0x21, 0x15, 0x31, 0x6, 0x6, 0x23, 0x22, 0x26, 0x1, 0xE7, 0x3D, 0x56, 0x2B, 0x7D, 0x4D, 0x92, 0x58, 0x6E, 0xBC, 0x59, 0x6D, 0xFC, 0x7D, 0x2, 0xF2, 0xFD, 0x14, 0x4, 0x1E, 0xFD, 0xE, 0x3, 0xA, 0x1, 0x7A, 0xA0, 0x70, 0xBE, 0xFE, 0xFC, 0x46, 0x2F, 0x8B, 0x51, 0x55, 0x6B, 0xB3, 0xA4, 0x4, 0x41, 0xCB, 0xA0, 0xFB, 0xBA, 0xCA, 0x97, 0xD8, 0x6B, 0x0, 0x1, 0x0, 0x52, 0xFE, 0x8C, 0x3, 0xC0, 0x4, 0x3A, 0x0, 0x1D, 0x0, 0x0, 0x1, 0x22, 0x6, 0x7, 0x27, 0x36, 0x36, 0x33, 0x32, 0x16, 0x33, 0x32, 0x36, 0x35, 0x21, 0x35, 0x1, 0x21, 0x35, 0x21, 0x15, 0x1, 0x21, 0x15, 0x31, 0x14, 0x6, 0x23, 0x22, 0x26, 0x1, 0x6D, 0x20, 0x32, 0x47, 0x82, 0x48, 0x85, 0x4B, 0x60, 0xA5, 0x4C, 0x34, 0x18, 0xFD, 0x4B, 0x2, 0x26, 0xFD, 0xE5, 0x3, 0x4E, 0xFD, 0xD6, 0x2, 0x3F, 0x62, 0x87, 0x66, 0xB1, 0xFE, 0xFC, 0x1E, 0x52, 0x7C, 0x55, 0x5B, 0x6B, 0x5B, 0x58, 0x9F, 0x2, 0xD7, 0xC4, 0x99, 0xFD, 0x22, 0xC3, 0xA5, 0xCA, 0x6B, 0xFF, 0xFF, 0x0, 0x50, 0xFE, 0x87, 0x4, 0x8C, 0x5, 0xB0, 0x0, 0x26, 0x5, 0xD9, 0x0, 0x0, 0x0, 0x7, 0x7, 0xA4, 0x0, 0x80, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x52, 0xFE, 0x8C, 0x3, 0xC0, 0x4, 0x3A, 0x0, 0x26, 0x5, 0xDA, 0x0, 0x0, 0x0, 0x7, 0x7, 0xA4, 0x0, 0x15, 0xFF, 0x37, 0x0, 0x1, 0x0, 0x4A, 0xFF, 0xEC, 0x4, 0x8A, 0x5, 0xC4, 0x0, 0x24, 0x0, 0x0, 0x5, 0x22, 0x24, 0x35, 0x34, 0x36, 0x37, 0x36, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x23, 0x34, 0x0, 0x33, 0x32, 0x4, 0x10, 0x4, 0x4, 0x6, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x33, 0x14, 0x6, 0x4, 0x2, 0x50, 0xEC, 0xFE, 0xE6, 0xEC, 0xFB, 0x9A, 0x95, 0x7F, 0x86, 0x8D, 0x86, 0xFC, 0x1, 0x16, 0xF7, 0xE7, 0x1, 0x1D, 0xFE, 0xF7, 0xFE, 0x66, 0x73, 0x86, 0x83, 0x86, 0xB7, 0xFD, 0xA8, 0xFE, 0xFA, 0x14, 0xD6, 0xB8, 0xAD, 0xD9, 0x49, 0x2D, 0x6B, 0x51, 0x56, 0x73, 0x89, 0x6B, 0xB6, 0x1, 0x7, 0xE3, 0xFE, 0xA0, 0xCA, 0x7F, 0x69, 0x57, 0x58, 0x6C, 0x7A, 0x8A, 0x99, 0xCD, 0x66, 0x0, 0x1, 0x0, 0x57, 0xFF, 0xEC, 0x3, 0xD6, 0x4, 0x4E, 0x0, 0x25, 0x0, 0x0, 0x5, 0x22, 0x26, 0x35, 0x34, 0x36, 0x37, 0x36, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x23, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x6, 0x7, 0x6, 0x6, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x37, 0x33, 0x14, 0x6, 0x2, 0xD, 0xC7, 0xEF, 0xD4, 0xBC, 0x83, 0x5B, 0x58, 0x5C, 0x5F, 0x60, 0xF3, 0xE7, 0xCA, 0xC1, 0xE1, 0xD8, 0xB2, 0x8E, 0x54, 0x65, 0x5F, 0x51, 0x8A, 0x5, 0xEC, 0xEA, 0x14, 0xB8, 0x90, 0x91, 0x92, 0x28, 0x1C, 0x40, 0x35, 0x36, 0x52, 0x63, 0x3F, 0x92, 0xC6, 0xC3, 0x85, 0x88, 0x94, 0x25, 0x1E, 0x4C, 0x35, 0x3A, 0x4A, 0x50, 0x64, 0x86, 0xE4, 0x0, 0x1, 0x0, 0xA7, 0xFF, 0xEC, 0x2, 0x64, 0x5, 0xCC, 0x0, 0xD, 0x0, 0x0, 0x13, 0x33, 0x11, 0x14, 0x16, 0x33, 0x32, 0x37, 0x15, 0x6, 0x23, 0x22, 0x26, 0x35, 0xA7, 0xF8, 0x3F, 0x31, 0x2A, 0x2B, 0x43, 0x5D, 0x7C, 0xA1, 0x5, 0xCC, 0xFB, 0x5E, 0x49, 0x2B, 0xA, 0xBC, 0x18, 0x89, 0xA7, 0xFF, 0xFF, 0x0, 0xAA, 0xFF, 0xF4, 0x2, 0x62, 0x4, 0x3A, 0x0, 0x6, 0x2, 0x42, 0x0, 0x0, 0x0, 0x1, 0x0, 0x8, 0x0, 0x0, 0x4, 0xD6, 0x5, 0xB0, 0x0, 0xE, 0x0, 0x0, 0x1, 0x1, 0x21, 0x1, 0x23, 0x35, 0x33, 0x11, 0x33, 0x11, 0x33, 0x15, 0x23, 0x1, 0x21, 0x2, 0x6F, 0xFE, 0xB2, 0xFE, 0xE7, 0x1, 0xE2, 0xE6, 0xEC, 0xFE, 0xEC, 0xE6, 0x1, 0xE2, 0xFE, 0xE8, 0x2, 0xB1, 0xFD, 0x4F, 0x3, 0x8D, 0xAF, 0x1, 0x74, 0xFE, 0x8C, 0xAF, 0xFC, 0x73, 0x0, 0x1, 0x0, 0x14, 0x0, 0x0, 0x4, 0x3D, 0x4, 0x3A, 0x0, 0xE, 0x0, 0x0, 0x21, 0x1, 0x1, 0x21, 0x1, 0x23, 0x35, 0x33, 0x35, 0x33, 0x15, 0x33, 0x15, 0x23, 0x1, 0x3, 0x32, 0xFE, 0xF6, 0xFE, 0xF7, 0xFE, 0xF5, 0x1, 0x8D, 0xCE, 0xD9, 0xF3, 0xE0, 0xD0, 0x1, 0x8E, 0x2, 0x4, 0xFD, 0xFC, 0x2, 0xBA, 0xAB, 0xD5, 0xD5, 0xAB, 0xFD, 0x46, 0x0, 0x2, 0x0, 0x47, 0xFF, 0xEC, 0x4, 0x84, 0x5, 0xB0, 0x0, 0xB, 0x0, 0x27, 0x0, 0x0, 0x24, 0x36, 0x35, 0x34, 0x26, 0x27, 0x27, 0x6, 0x6, 0x15, 0x14, 0x16, 0x17, 0x22, 0x24, 0x35, 0x34, 0x36, 0x37, 0x37, 0x26, 0x27, 0x3, 0x21, 0x13, 0x16, 0x17, 0x36, 0x37, 0x13, 0x21, 0x3, 0x6, 0x7, 0x17, 0x16, 0x16, 0x15, 0x14, 0x4, 0x2, 0xD0, 0x68, 0x5C, 0x27, 0x4F, 0x83, 0x50, 0x69, 0x6A, 0xB7, 0xFE, 0xEC, 0x88, 0x49, 0x57, 0xB0, 0x5F, 0x6D, 0x1, 0xA, 0x5E, 0x42, 0x75, 0x79, 0x3D, 0x5E, 0x1, 0xA, 0x6F, 0x5C, 0xB0, 0x57, 0x50, 0x80, 0xFE, 0xEC, 0xB0, 0x63, 0x46, 0x3F, 0x59, 0x21, 0x43, 0x6E, 0x54, 0x3A, 0x46, 0x63, 0xC4, 0xB3, 0xB1, 0x6F, 0xA0, 0x3C, 0x48, 0xAC, 0xF9, 0x1, 0x28, 0xFE, 0xF4, 0xB8, 0x7B, 0x84, 0xAD, 0x1, 0xE, 0xFE, 0xD2, 0xEE, 0xB2, 0x48, 0x43, 0x9B, 0x6C, 0xB1, 0xB3, 0x0, 0x2, 0x0, 0x47, 0xFF, 0xEC, 0x4, 0x92, 0x6, 0x0, 0x0, 0xA, 0x0, 0x25, 0x0, 0x0, 0x24, 0x36, 0x35, 0x34, 0x27, 0x27, 0x7, 0x6, 0x15, 0x14, 0x16, 0x6, 0x24, 0x35, 0x34, 0x37, 0x37, 0x26, 0x2, 0x27, 0x27, 0x21, 0x17, 0x12, 0x17, 0x36, 0x13, 0x37, 0x21, 0x7, 0x6, 0x2, 0x7, 0x17, 0x16, 0x15, 0x14, 0x4, 0x2, 0xD6, 0x6A, 0x40, 0x94, 0x98, 0x3B, 0x69, 0x4C, 0xFE, 0xED, 0x83, 0xAB, 0x6B, 0xBE, 0x2B, 0x36, 0x1, 0x9, 0x2D, 0x36, 0xB9, 0xB9, 0x36, 0x2D, 0x1, 0xA, 0x37, 0x2B, 0xC0, 0x6A, 0xB3, 0x7C, 0xFE, 0xED, 0xB0, 0x63, 0x46, 0x40, 0x39, 0x80, 0x85, 0x33, 0x41, 0x46, 0x63, 0xC4, 0xB3, 0xB1, 0x8E, 0x6E, 0x8F, 0x67, 0x1, 0x1B, 0xC7, 0xDC, 0xCB, 0xFE, 0xEC, 0xBD, 0xBD, 0x1, 0x14, 0xCB, 0xDC, 0xC7, 0xFE, 0xE6, 0x67, 0x96, 0x69, 0x8D, 0xB1, 0xB3, 0x0, 0x1, 0x0, 0x68, 0xFF, 0xEB, 0x8, 0x29, 0x5, 0xC5, 0x0, 0x2C, 0x0, 0x0, 0x5, 0x22, 0x26, 0x27, 0x6, 0x6, 0x23, 0x20, 0x0, 0x11, 0x11, 0x10, 0x0, 0x21, 0x15, 0x22, 0x6, 0x15, 0x11, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x11, 0x33, 0x11, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x11, 0x34, 0x26, 0x23, 0x35, 0x20, 0x0, 0x11, 0x11, 0x10, 0x0, 0x5, 0xCC, 0x70, 0xCB, 0x48, 0x49, 0xCB, 0x70, 0xFE, 0xF4, 0xFE, 0xAF, 0x1, 0x52, 0x1, 0x11, 0xA9, 0xBE, 0xBD, 0xA4, 0x7F, 0x87, 0xFC, 0x86, 0x7F, 0xA4, 0xBD, 0xBE, 0xA9, 0x1, 0x11, 0x1, 0x52, 0xFE, 0xB0, 0x15, 0x45, 0x45, 0x45, 0x45, 0x1, 0x61, 0x1, 0x9, 0x1, 0x6, 0x1, 0xA, 0x1, 0x60, 0xCD, 0xF1, 0xAA, 0xFE, 0xF8, 0xAB, 0xF5, 0x88, 0x73, 0x1, 0x62, 0xFE, 0x9E, 0x73, 0x88, 0xF5, 0xAB, 0x1, 0x8, 0xAA, 0xF1, 0xCD, 0xFE, 0xA0, 0xFE, 0xF6, 0xFE, 0xFA, 0xFE, 0xF7, 0xFE, 0x9F, 0x0, 0x1, 0x0, 0x4F, 0xFF, 0xEB, 0x6, 0x7C, 0x4, 0x4E, 0x0, 0x2A, 0x0, 0x0, 0x5, 0x22, 0x27, 0x6, 0x23, 0x22, 0x0, 0x35, 0x35, 0x34, 0x0, 0x33, 0x15, 0x22, 0x6, 0x15, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x11, 0x33, 0x11, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x35, 0x34, 0x26, 0x23, 0x35, 0x32, 0x0, 0x17, 0x15, 0x14, 0x0, 0x4, 0x77, 0xA9, 0x68, 0x69, 0xA9, 0xF9, 0xFE, 0xF4, 0x1, 0x3, 0xEE, 0x87, 0x77, 0x7F, 0x93, 0x56, 0x42, 0xF3, 0x41, 0x57, 0x93, 0x7F, 0x77, 0x87, 0xED, 0x1, 0x1, 0x3, 0xFE, 0xF4, 0x15, 0x4D, 0x4D, 0x1, 0x45, 0xD8, 0x2A, 0xD8, 0x1, 0x44, 0xC4, 0xDD, 0x7B, 0x2A, 0x7C, 0xDD, 0x4C, 0x40, 0x1, 0x8, 0xFE, 0xF8, 0x40, 0x4C, 0xDD, 0x7C, 0x2A, 0x7B, 0xDD, 0xC4, 0xFE, 0xC2, 0xD5, 0x33, 0xD8, 0xFE, 0xBB, 0x0, 0x2, 0x0, 0x18, 0x0, 0x0, 0x5, 0xD4, 0x5, 0xB0, 0x0, 0xC, 0x0, 0x14, 0x0, 0x0, 0x21, 0x11, 0x21, 0x35, 0x21, 0x11, 0x21, 0x16, 0x4, 0x15, 0x14, 0x4, 0x23, 0x25, 0x21, 0x32, 0x36, 0x34, 0x26, 0x23, 0x21, 0x1, 0xA3, 0xFE, 0x75, 0x2, 0x88, 0x1, 0x2D, 0xF6, 0x1, 0x11, 0xFE, 0xED, 0xF8, 0xFE, 0xD7, 0x1, 0x29, 0x8C, 0x83, 0x83, 0x8C, 0xFE, 0xD7, 0x4, 0xED, 0xC3, 0xFD, 0xD3, 0x1, 0xF3, 0xC9, 0xC8, 0xFE, 0xCA, 0x99, 0xCA, 0x8B, 0x0, 0x2, 0x0, 0x1F, 0x0, 0x0, 0x4, 0xEB, 0x4, 0x3A, 0x0, 0xC, 0x0, 0x14, 0x0, 0x0, 0x21, 0x11, 0x21, 0x35, 0x21, 0x11, 0x33, 0x16, 0x16, 0x15, 0x14, 0x6, 0x23, 0x27, 0x33, 0x32, 0x36, 0x34, 0x26, 0x23, 0x23, 0x1, 0x58, 0xFE, 0xC7, 0x2, 0x2C, 0xF1, 0xCF, 0xE0, 0xE2, 0xD1, 0xED, 0xED, 0x69, 0x57, 0x57, 0x69, 0xED, 0x3, 0x77, 0xC3, 0xFE, 0xA8, 0x1, 0xCE, 0xA1, 0x9D, 0xD5, 0xC2, 0x6A, 0x84, 0x70, 0xFF, 0xFF, 0xFF, 0xCF, 0x0, 0x0, 0x7, 0x17, 0x5, 0xB0, 0x0, 0x27, 0x0, 0x2E, 0x5, 0x77, 0x0, 0x0, 0x0, 0x6, 0x5, 0xE7, 0xB7, 0x0, 0xFF, 0xFF, 0x0, 0x1F, 0x0, 0x0, 0x6, 0x92, 0x4, 0x3A, 0x0, 0x27, 0x0, 0x8E, 0x5, 0xF, 0x0, 0x0, 0x0, 0x6, 0x5, 0xE8, 0x0, 0x0, 0x0, 0x2, 0x0, 0x96, 0x0, 0x0, 0x6, 0x3F, 0x5, 0xB0, 0x0, 0x16, 0x0, 0x1E, 0x0, 0x0, 0x21, 0x11, 0x23, 0x11, 0x23, 0x11, 0x33, 0x15, 0x33, 0x35, 0x33, 0x15, 0x21, 0x15, 0x21, 0x15, 0x21, 0x16, 0x4, 0x15, 0x14, 0x4, 0x23, 0x25, 0x21, 0x32, 0x36, 0x34, 0x26, 0x23, 0x21, 0x2, 0xE, 0x7C, 0xFC, 0xFC, 0x7C, 0xFD, 0x1, 0x4F, 0xFE, 0xB1, 0x1, 0x2C, 0xF6, 0x1, 0x12, 0xFE, 0xEC, 0xF8, 0xFE, 0xD8, 0x1, 0x28, 0x8D, 0x82, 0x82, 0x8D, 0xFE, 0xD8, 0x4, 0x2E, 0xFB, 0xD2, 0x5, 0xB0, 0xB9, 0xB9, 0xB9, 0xC9, 0xAB, 0x1, 0xF3, 0xC9, 0xC8, 0xFE, 0xCA, 0x99, 0xCA, 0x8B, 0x0, 0x2, 0x0, 0x7D, 0x0, 0x0, 0x5, 0x8B, 0x6, 0x18, 0x0, 0x16, 0x0, 0x1E, 0x0, 0x0, 0x21, 0x11, 0x23, 0x11, 0x23, 0x11, 0x33, 0x11, 0x33, 0x11, 0x33, 0x11, 0x21, 0x15, 0x21, 0x11, 0x33, 0x16, 0x16, 0x15, 0x14, 0x6, 0x23, 0x27, 0x33, 0x32, 0x36, 0x34, 0x26, 0x23, 0x23, 0x1, 0xF7, 0x87, 0xF3, 0xF3, 0x87, 0xF3, 0x1, 0x3E, 0xFE, 0xC2, 0xF2, 0xCF, 0xE0, 0xE2, 0xD1, 0xEE, 0xEE, 0x69, 0x57, 0x57, 0x69, 0xEE, 0x4, 0x2E, 0xFB, 0xD2, 0x6, 0x0, 0xFE, 0xF1, 0x1, 0x27, 0xFE, 0xD9, 0xC3, 0xFE, 0xB4, 0x1, 0xCE, 0xA1, 0x9D, 0xD5, 0xC2, 0x6A, 0x84, 0x70, 0x0, 0x2, 0x0, 0x66, 0xFF, 0xEC, 0x6, 0xD1, 0x5, 0xC4, 0x0, 0xD, 0x0, 0x21, 0x0, 0x0, 0x25, 0x32, 0x12, 0x35, 0x35, 0x34, 0x2, 0x23, 0x22, 0x2, 0x15, 0x15, 0x14, 0x12, 0x5, 0x11, 0x23, 0x2, 0x0, 0x23, 0x20, 0x0, 0x11, 0x35, 0x10, 0x0, 0x21, 0x20, 0x0, 0x13, 0x33, 0x11, 0x33, 0x11, 0x2, 0xC4, 0xA8, 0xB6, 0xB9, 0xA7, 0xA2, 0xBD, 0xBF, 0x3, 0xB3, 0xB9, 0x16, 0xFE, 0xBB, 0xFD, 0xFE, 0xF6, 0xFE, 0xAC, 0x1, 0x52, 0x1, 0xA, 0x1, 0x8, 0x1, 0x4B, 0x9, 0xB7, 0xFC, 0xBC, 0x1, 0x2, 0xF5, 0x4B, 0xF5, 0x1, 0x0, 0xFF, 0x0, 0xF5, 0x4B, 0xF5, 0xFE, 0xFE, 0xBC, 0x2, 0x5D, 0xFE, 0xDA, 0xFE, 0xB5, 0x1, 0x7B, 0x1, 0x4C, 0x49, 0x1, 0x4C, 0x1, 0x7C, 0xFE, 0x98, 0xFE, 0xC4, 0x2, 0x90, 0xFA, 0x50, 0x0, 0x2, 0x0, 0x50, 0xFF, 0xEC, 0x6, 0x47, 0x4, 0x4E, 0x0, 0xD, 0x0, 0x21, 0x0, 0x0, 0x1, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x1, 0x11, 0x21, 0x6, 0x0, 0x23, 0x22, 0x0, 0x27, 0x35, 0x34, 0x0, 0x33, 0x32, 0x0, 0x17, 0x21, 0x11, 0x33, 0x11, 0x1, 0x42, 0x7D, 0x89, 0x86, 0x7D, 0x7C, 0x89, 0x87, 0x7D, 0x4, 0x12, 0xFE, 0xE6, 0x15, 0xFE, 0xFC, 0xD9, 0xEB, 0xFE, 0xF7, 0x4, 0x1, 0xA, 0xEC, 0xD5, 0x1, 0x3, 0x1A, 0x1, 0x1C, 0xF3, 0x2, 0x12, 0x91, 0xD2, 0xD2, 0x91, 0x15, 0x8F, 0xD5, 0xD5, 0x8F, 0xFD, 0xD9, 0x1, 0xC4, 0xCE, 0xFE, 0xF6, 0x1, 0x33, 0xE6, 0x22, 0xEC, 0x1, 0x3B, 0xFF, 0x0, 0xC6, 0x1, 0xB2, 0xFB, 0xC6, 0x0, 0x2, 0x0, 0x96, 0x0, 0x0, 0x7, 0x20, 0x5, 0xB0, 0x0, 0x2, 0x0, 0x12, 0x0, 0x0, 0x1, 0x3, 0x3, 0x1, 0x13, 0x23, 0x11, 0x23, 0x11, 0x33, 0x11, 0x21, 0x1, 0x33, 0x1, 0x21, 0x3, 0x21, 0x3, 0x5, 0x5B, 0xD3, 0xD3, 0xFE, 0x3B, 0x80, 0xDE, 0xFC, 0xFC, 0x1, 0x2B, 0x1, 0x59, 0xE3, 0x2, 0x27, 0xFE, 0xF8, 0x77, 0xFD, 0xCD, 0x76, 0x2, 0x1F, 0x2, 0x5D, 0xFD, 0xA3, 0xFD, 0xE1, 0x1, 0x54, 0xFE, 0xAC, 0x5, 0xB0, 0xFC, 0x6F, 0x3, 0x91, 0xFA, 0x50, 0x1, 0x54, 0xFE, 0xAC, 0x0, 0x2, 0x0, 0x7D, 0xFF, 0xEC, 0x5, 0xAC, 0x4, 0x4E, 0x0, 0x9, 0x0, 0x2D, 0x0, 0x0, 0x25, 0x32, 0x36, 0x37, 0x35, 0x23, 0x4, 0x15, 0x14, 0x16, 0x5, 0x26, 0x27, 0x6, 0x23, 0x22, 0x26, 0x27, 0x23, 0x15, 0x23, 0x11, 0x33, 0x11, 0x33, 0x12, 0x25, 0x33, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x23, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x11, 0x14, 0x17, 0x15, 0x3, 0xA9, 0x54, 0x7A, 0x19, 0x91, 0xFE, 0xFF, 0x58, 0x1, 0x5E, 0x12, 0xA, 0x73, 0xAA, 0x83, 0xBD, 0x21, 0xAA, 0xF3, 0xF3, 0xA6, 0x3F, 0x1, 0x8A, 0xB1, 0x5F, 0x5F, 0x56, 0x67, 0xF3, 0xF2, 0xCC, 0xB6, 0xED, 0x29, 0xAF, 0x51, 0x31, 0xCC, 0x5, 0xB0, 0x41, 0x58, 0xAF, 0x25, 0x41, 0x7A, 0x7E, 0x64, 0xCE, 0x4, 0x3A, 0xFD, 0x51, 0x1, 0x2, 0x8, 0x47, 0x55, 0x65, 0x56, 0x3E, 0x80, 0xCC, 0xBA, 0xBA, 0xFE, 0x20, 0x92, 0x57, 0x11, 0x0, 0x3, 0x0, 0x12, 0x0, 0x0, 0x5, 0x43, 0x5, 0xB0, 0x0, 0x2, 0x0, 0x6, 0x0, 0xA, 0x0, 0x0, 0x1, 0x3, 0x3, 0x1, 0x27, 0x21, 0x7, 0x5, 0x1, 0x33, 0x1, 0x3, 0x6B, 0xC1, 0xC1, 0x2, 0xC, 0x43, 0xFD, 0xF1, 0x43, 0xFE, 0xB2, 0x2, 0x26, 0xE3, 0x2, 0x28, 0x2, 0x54, 0x2, 0x29, 0xFD, 0xD7, 0xFE, 0x76, 0xC0, 0xC0, 0xCA, 0x5, 0xB0, 0xFA, 0x50, 0x0, 0x3, 0x0, 0x1C, 0x0, 0x0, 0x4, 0xAC, 0x4, 0x3A, 0x0, 0x2, 0x0, 0x6, 0x0, 0xA, 0x0, 0x0, 0x1, 0x3, 0x3, 0x1, 0x27, 0x21, 0x7, 0x5, 0x1, 0x33, 0x1, 0x2, 0xF3, 0x8F, 0x8E, 0x1, 0x8F, 0x28, 0xFE, 0x4F, 0x28, 0xFE, 0xB8, 0x1, 0xCD, 0xF8, 0x1, 0xCB, 0x1, 0xD2, 0x1, 0x61, 0xFE, 0x9F, 0xFE, 0xE6, 0x63, 0x63, 0xB8, 0x4, 0x3A, 0xFB, 0xC6, 0x0, 0x3, 0x0, 0x80, 0x0, 0x0, 0x6, 0x6E, 0x5, 0xB0, 0x0, 0x2, 0x0, 0xA, 0x0, 0x20, 0x0, 0x0, 0x1, 0x13, 0x21, 0x3, 0x22, 0x6, 0x7, 0x21, 0x26, 0x26, 0x23, 0x1, 0x11, 0x21, 0x11, 0x23, 0x11, 0x36, 0x24, 0x37, 0x33, 0x1, 0x21, 0x1, 0x33, 0x32, 0x4, 0x15, 0x11, 0x23, 0x11, 0x21, 0x11, 0x3, 0x7F, 0xE9, 0xFE, 0x2E, 0x1D, 0x62, 0x77, 0x16, 0x3, 0xDA, 0x16, 0x77, 0x62, 0xFE, 0x8D, 0xFE, 0x7A, 0xFC, 0x2, 0x1, 0x4, 0xDF, 0x22, 0xFE, 0x85, 0x4, 0xE5, 0xFE, 0x85, 0x17, 0xD5, 0x1, 0xC, 0xFC, 0xFE, 0x8C, 0x3, 0x3A, 0x1, 0xA9, 0xFD, 0x79, 0x3A, 0x4D, 0x4D, 0x3A, 0xFD, 0xA4, 0x1, 0x11, 0xFE, 0xEF, 0x1, 0x68, 0xF4, 0xCA, 0x3, 0x2, 0x87, 0xFD, 0x79, 0xCD, 0xFB, 0xFE, 0x9F, 0x1, 0x11, 0xFE, 0xEF, 0x0, 0x3, 0x0, 0x5C, 0x0, 0x0, 0x5, 0x3E, 0x4, 0x3B, 0x0, 0x2, 0x0, 0xA, 0x0, 0x22, 0x0, 0x0, 0x1, 0x13, 0x21, 0x3, 0x22, 0x6, 0x7, 0x21, 0x26, 0x26, 0x23, 0x1, 0x35, 0x21, 0x15, 0x23, 0x35, 0x36, 0x36, 0x37, 0x1, 0x33, 0x35, 0x21, 0x15, 0x33, 0x1, 0x16, 0x16, 0x17, 0x15, 0x23, 0x35, 0x21, 0x15, 0x2, 0xD4, 0x95, 0xFE, 0xD6, 0x14, 0x49, 0x61, 0x18, 0x2, 0xC8, 0x18, 0x61, 0x49, 0xFE, 0xE9, 0xFE, 0xF7, 0xF3, 0x2, 0xD5, 0xBE, 0xFE, 0xE9, 0xA8, 0x2, 0xC6, 0x86, 0xFE, 0xE9, 0xB7, 0xCF, 0x1, 0xF3, 0xFF, 0x0, 0x2, 0x69, 0x1, 0x22, 0xFE, 0x19, 0x29, 0x35, 0x35, 0x29, 0xFE, 0x5C, 0x96, 0x96, 0xB3, 0xDA, 0xC8, 0xB, 0x1, 0xDA, 0x1, 0x1, 0xFE, 0x25, 0xE, 0xC9, 0xDA, 0xAE, 0x96, 0x96, 0x0, 0x3, 0x0, 0x96, 0x0, 0x0, 0x7, 0x20, 0x5, 0xB0, 0x0, 0x2, 0x0, 0x6, 0x0, 0x12, 0x0, 0x0, 0x1, 0x3, 0x3, 0x1, 0x27, 0x21, 0x7, 0x5, 0x13, 0x23, 0x11, 0x23, 0x11, 0x33, 0x11, 0x21, 0x1, 0x33, 0x1, 0x5, 0x48, 0xC0, 0xC1, 0x2, 0xC, 0x44, 0xFD, 0xF2, 0x44, 0xFE, 0xB3, 0x95, 0xF3, 0xFC, 0xFC, 0x1, 0x3F, 0x1, 0x45, 0xE3, 0x2, 0x27, 0x2, 0x54, 0x2, 0x28, 0xFD, 0xD8, 0xFE, 0x71, 0xC5, 0xC5, 0xC5, 0x1, 0x8A, 0xFE, 0x76, 0x5, 0xB0, 0xFC, 0xA4, 0x3, 0x5C, 0xFA, 0x50, 0x0, 0x3, 0x0, 0x7D, 0x0, 0x0, 0x6, 0x4B, 0x4, 0x3A, 0x0, 0x2, 0x0, 0x6, 0x0, 0x12, 0x0, 0x0, 0x1, 0x3, 0x3, 0x1, 0x27, 0x21, 0x7, 0x5, 0x13, 0x23, 0x11, 0x23, 0x11, 0x33, 0x11, 0x21, 0x1, 0x33, 0x1, 0x4, 0x92, 0x8F, 0x8E, 0x1, 0x8F, 0x28, 0xFE, 0x4F, 0x28, 0xFE, 0xB8, 0x79, 0xC4, 0xF3, 0xF3, 0x1, 0x12, 0x1, 0x6, 0xF8, 0x1, 0xCB, 0x1, 0xD2, 0x1, 0x61, 0xFE, 0x9F, 0xFE, 0xE6, 0x63, 0x63, 0xB8, 0x1, 0x1B, 0xFE, 0xE5, 0x4, 0x3A, 0xFD, 0x98, 0x2, 0x68, 0xFB, 0xC6, 0x0, 0x1, 0x0, 0x1E, 0xFE, 0x60, 0x5, 0x82, 0x5, 0xB0, 0x0, 0xE, 0x0, 0x0, 0x1, 0x23, 0x11, 0x6, 0x2, 0x7, 0x27, 0x36, 0x12, 0x12, 0x13, 0x33, 0x1, 0x23, 0x3, 0x3, 0x8D, 0xF2, 0x40, 0xD6, 0xAD, 0xBA, 0xBC, 0xE4, 0x8D, 0x39, 0xE7, 0x2, 0x17, 0xFB, 0xFA, 0xFE, 0x60, 0x4, 0x5E, 0xC6, 0xFE, 0xA2, 0xB8, 0x97, 0xC0, 0x1, 0x96, 0x1, 0xCF, 0x1, 0x12, 0xFA, 0x50, 0x2, 0xE7, 0x0, 0x1, 0x0, 0x22, 0xFE, 0x60, 0x4, 0xC0, 0x4, 0x3A, 0x0, 0xD, 0x0, 0x0, 0x1, 0x23, 0x11, 0x6, 0x6, 0x7, 0x27, 0x36, 0x12, 0x13, 0x33, 0x1, 0x23, 0x3, 0x3, 0x5, 0xF3, 0x35, 0xA0, 0x7B, 0xA0, 0xD9, 0xC7, 0x43, 0xEB, 0x1, 0xD0, 0xFC, 0xBF, 0xFE, 0x60, 0x3, 0x72, 0x84, 0xF0, 0x72, 0x9E, 0xDA, 0x1, 0xBF, 0x1, 0x17, 0xFB, 0xC6, 0x1, 0xF3, 0x0, 0x1, 0x0, 0x3B, 0xFE, 0xA1, 0x5, 0x65, 0x5, 0xB0, 0x0, 0xB, 0x0, 0x0, 0x13, 0x3, 0x33, 0x11, 0x33, 0x11, 0x21, 0x11, 0x33, 0x11, 0x21, 0x11, 0x4F, 0x14, 0xB0, 0xFD, 0x2, 0x81, 0xFC, 0xFB, 0xD1, 0xFE, 0xA1, 0x2, 0x2C, 0x4, 0xE3, 0xFB, 0x1A, 0x4, 0xE6, 0xFA, 0x50, 0xFE, 0xA1, 0x0, 0x1, 0x0, 0x2E, 0xFE, 0xBF, 0x4, 0x4D, 0x4, 0x3A, 0x0, 0xB, 0x0, 0x0, 0x13, 0x3, 0x33, 0x11, 0x33, 0x11, 0x21, 0x11, 0x33, 0x11, 0x21, 0x11, 0x42, 0x14, 0x93, 0xF3, 0x1, 0xA7, 0xF2, 0xFC, 0xD2, 0xFE, 0xBF, 0x2, 0x3, 0x3, 0x78, 0xFC, 0x89, 0x3, 0x77, 0xFB, 0xC6, 0xFE, 0xBF, 0x0, 0x2, 0x0, 0x24, 0xFE, 0x9A, 0x7, 0x4F, 0x5, 0xB0, 0x0, 0x5, 0x0, 0x16, 0x0, 0x0, 0x25, 0x21, 0x11, 0x21, 0x3, 0x2, 0x1, 0x11, 0x21, 0x11, 0x23, 0x3, 0x33, 0x36, 0x12, 0x13, 0x13, 0x21, 0x15, 0x21, 0x11, 0x33, 0x3, 0x1, 0xB7, 0x2, 0x70, 0xFE, 0x57, 0x18, 0x1D, 0x2, 0x96, 0xFC, 0x41, 0xF3, 0x9, 0x76, 0x36, 0x84, 0x14, 0x26, 0x5, 0xC1, 0xFD, 0xD5, 0xB8, 0xD, 0xCA, 0x4, 0x1B, 0xFE, 0x55, 0xFE, 0x6F, 0xFC, 0xF1, 0x1, 0x66, 0xFE, 0x9A, 0x2, 0x30, 0x34, 0x1, 0x19, 0x1, 0x27, 0x2, 0x72, 0xCB, 0xFB, 0xE5, 0xFD, 0xD0, 0x0, 0x2, 0x0, 0x27, 0xFE, 0xBE, 0x5, 0xFE, 0x4, 0x3A, 0x0, 0x5, 0x0, 0x16, 0x0, 0x0, 0x25, 0x21, 0x11, 0x21, 0x7, 0x2, 0x3, 0x11, 0x23, 0x13, 0x33, 0x36, 0x36, 0x37, 0x13, 0x21, 0x15, 0x21, 0x11, 0x33, 0x11, 0x23, 0x11, 0x1, 0x9F, 0x1, 0x9E, 0xFE, 0xEF, 0x5, 0xC, 0xFD, 0xF7, 0x1, 0x59, 0x54, 0x58, 0x7, 0xC, 0x4, 0xBE, 0xFE, 0x32, 0x96, 0xF3, 0xC3, 0x2, 0xA6, 0xB6, 0xFE, 0xC5, 0xFE, 0x88, 0xFE, 0xBE, 0x2, 0x5, 0x5E, 0xC9, 0xCD, 0x1, 0x83, 0xD1, 0xFD, 0x5A, 0xFD, 0xFB, 0x1, 0x42, 0x0, 0x1, 0x0, 0x2D, 0x0, 0x0, 0x7, 0x3A, 0x5, 0xB0, 0x0, 0x11, 0x0, 0x0, 0x33, 0x35, 0x37, 0x36, 0x36, 0x13, 0x13, 0x21, 0x15, 0x21, 0x11, 0x23, 0x11, 0x21, 0x3, 0x2, 0x2, 0x7, 0x2D, 0x31, 0x7B, 0x61, 0xD, 0x1B, 0x5, 0xD8, 0xFD, 0xD4, 0xFD, 0xFE, 0x43, 0x1B, 0x16, 0xC5, 0xE7, 0xCA, 0x5, 0xE, 0xF4, 0x1, 0x2E, 0x2, 0xB1, 0xCB, 0xFB, 0x1B, 0x4, 0xE5, 0xFD, 0xCB, 0xFE, 0x8C, 0xFE, 0xC7, 0x3, 0x0, 0x1, 0x0, 0x22, 0x0, 0x0, 0x5, 0xE2, 0x4, 0x3A, 0x0, 0x11, 0x0, 0x0, 0x33, 0x27, 0x37, 0x36, 0x36, 0x37, 0x13, 0x21, 0x15, 0x21, 0x11, 0x23, 0x11, 0x21, 0x3, 0x2, 0x6, 0x7, 0x23, 0x1, 0x27, 0x5F, 0x44, 0xA, 0x14, 0x4, 0xD8, 0xFE, 0x32, 0xF3, 0xFE, 0xCF, 0x15, 0x13, 0xAA, 0xAC, 0xCB, 0x3, 0x8, 0xC1, 0xD5, 0x1, 0xCE, 0xC4, 0xFC, 0x8A, 0x3, 0x76, 0xFE, 0x8B, 0xFE, 0xEB, 0xEA, 0x2, 0x0, 0x1, 0x0, 0x95, 0x0, 0x0, 0x8, 0x98, 0x5, 0xB0, 0x0, 0x10, 0x0, 0x0, 0x1, 0x11, 0x23, 0x11, 0x21, 0x1, 0x1, 0x21, 0x15, 0x21, 0x11, 0x23, 0x11, 0x13, 0x1, 0x23, 0x1, 0x1, 0x91, 0xFC, 0x1, 0x47, 0x1, 0xA4, 0x1, 0xA3, 0x3, 0x75, 0xFD, 0xD3, 0xFC, 0x18, 0xFE, 0x53, 0xB5, 0xFE, 0x53, 0x1, 0xE0, 0xFE, 0x20, 0x5, 0xB0, 0xFB, 0xA4, 0x4, 0x5C, 0xCB, 0xFB, 0x1B, 0x1, 0xE0, 0x2, 0x80, 0xFB, 0xA0, 0x4, 0x61, 0x0, 0x1, 0x0, 0x88, 0x0, 0x0, 0x7, 0x34, 0x4, 0x3A, 0x0, 0xE, 0x0, 0x0, 0x21, 0x1, 0x11, 0x23, 0x11, 0x21, 0x1, 0x1, 0x21, 0x15, 0x21, 0x11, 0x23, 0x11, 0x1, 0x2, 0xA6, 0xFE, 0xD5, 0xF3, 0x1, 0x33, 0x1, 0x3D, 0x1, 0x41, 0x2, 0xFB, 0xFE, 0x34, 0xF2, 0xFE, 0xD5, 0x2, 0xD2, 0xFD, 0x2E, 0x4, 0x3A, 0xFC, 0xF1, 0x3, 0xF, 0xC4, 0xFC, 0x8A, 0x2, 0xCF, 0xFD, 0x31, 0xFF, 0xFF, 0x0, 0x66, 0xFF, 0xEC, 0x5, 0x1F, 0x5, 0xC4, 0x0, 0x26, 0x0, 0x34, 0x0, 0x0, 0x0, 0x7, 0x1, 0xB8, 0x5, 0xA, 0xFD, 0x86, 0x0, 0x3, 0x0, 0x50, 0xFF, 0xEC, 0x4, 0x3E, 0x4, 0x4E, 0x0, 0xD, 0x0, 0x1B, 0x0, 0x25, 0x0, 0x0, 0x5, 0x22, 0x0, 0x27, 0x35, 0x34, 0x0, 0x33, 0x32, 0x0, 0x15, 0x15, 0x14, 0x0, 0x27, 0x32, 0x36, 0x35, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x15, 0x14, 0x16, 0x13, 0x34, 0x36, 0x32, 0x16, 0x15, 0x14, 0x6, 0x22, 0x26, 0x2, 0x48, 0xEB, 0xFE, 0xF7, 0x4, 0x1, 0xA, 0xEC, 0xEF, 0x1, 0x9, 0xFE, 0xF7, 0xED, 0x87, 0x7D, 0x7D, 0x89, 0x87, 0x7C, 0x7D, 0x6, 0x45, 0x7C, 0x45, 0x45, 0x7C, 0x45, 0x14, 0x1, 0x33, 0xE6, 0x22, 0xEC, 0x1, 0x3B, 0xFE, 0xC5, 0xEC, 0x15, 0xEB, 0xFE, 0xC5, 0xC3, 0xD2, 0x91, 0x15, 0x8F, 0xD5, 0xD5, 0x8F, 0x15, 0x91, 0xD2, 0x1, 0x6C, 0x35, 0x48, 0x48, 0x35, 0x34, 0x47, 0x47, 0x0, 0x4, 0x0, 0x66, 0xFF, 0xEF, 0x5, 0x75, 0x5, 0xC4, 0x0, 0xD, 0x0, 0x1B, 0x0, 0x25, 0x0, 0x2F, 0x0, 0x0, 0x1, 0x10, 0x0, 0x21, 0x20, 0x0, 0x3, 0x35, 0x10, 0x0, 0x21, 0x20, 0x0, 0x11, 0x27, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x25, 0x34, 0x36, 0x32, 0x16, 0x15, 0x14, 0x6, 0x22, 0x26, 0x25, 0x34, 0x36, 0x32, 0x16, 0x15, 0x14, 0x6, 0x22, 0x26, 0x5, 0x75, 0xFE, 0x9C, 0xFE, 0xDE, 0xFE, 0xE6, 0xFE, 0x94, 0x3, 0x1, 0x6B, 0x1, 0x1C, 0x1, 0x22, 0x1, 0x66, 0xFD, 0xD2, 0xB9, 0xB2, 0xD8, 0xDA, 0xB2, 0xB9, 0xD0, 0xFE, 0x9F, 0x49, 0x82, 0x49, 0x49, 0x82, 0x49, 0xFE, 0x9A, 0x48, 0x82, 0x49, 0x49, 0x82, 0x48, 0x2, 0xB5, 0xFE, 0xAA, 0xFE, 0x90, 0x1, 0x6B, 0x1, 0x50, 0x53, 0x1, 0x56, 0x1, 0x71, 0xFE, 0x8F, 0xFE, 0xAA, 0x2, 0xFD, 0xF7, 0xF7, 0xFD, 0x4A, 0xFD, 0xF9, 0xF9, 0xFD, 0x22, 0x38, 0x4A, 0x4A, 0x38, 0x37, 0x49, 0x49, 0x37, 0x38, 0x4A, 0x4A, 0x38, 0x37, 0x49, 0x49, 0x0, 0x4, 0x0, 0x50, 0xFF, 0xEC, 0x5, 0x26, 0x4, 0x4E, 0x0, 0xC, 0x0, 0x1A, 0x0, 0x24, 0x0, 0x2E, 0x0, 0x0, 0x13, 0x34, 0x0, 0x21, 0x20, 0x0, 0x15, 0x15, 0x14, 0x0, 0x20, 0x0, 0x35, 0x33, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x5, 0x34, 0x36, 0x32, 0x16, 0x15, 0x14, 0x6, 0x22, 0x26, 0x25, 0x34, 0x36, 0x32, 0x16, 0x15, 0x14, 0x6, 0x22, 0x26, 0x50, 0x1, 0x46, 0x1, 0x24, 0x1, 0x26, 0x1, 0x46, 0xFE, 0xBB, 0xFD, 0xB6, 0xFE, 0xB9, 0xF3, 0xB9, 0xC0, 0xBF, 0xB9, 0xBA, 0xC0, 0xBE, 0xB9, 0x1, 0x96, 0x48, 0x82, 0x49, 0x49, 0x82, 0x48, 0xFE, 0xB1, 0x49, 0x82, 0x49, 0x49, 0x82, 0x49, 0x2, 0x27, 0xF1, 0x1, 0x36, 0xFE, 0xCA, 0xF1, 0x15, 0xF1, 0xFE, 0xCB, 0x1, 0x35, 0xF1, 0x9C, 0xC7, 0xC7, 0x9C, 0x15, 0x9A, 0xCA, 0xCA, 0x9A, 0xE, 0x38, 0x4A, 0x4A, 0x38, 0x37, 0x49, 0x49, 0x37, 0x38, 0x4A, 0x4A, 0x38, 0x37, 0x49, 0x49, 0xFF, 0xFF, 0x0, 0x66, 0xFF, 0xEC, 0x8, 0xDB, 0x5, 0xC4, 0x0, 0x26, 0x0, 0x34, 0x0, 0x0, 0x0, 0x27, 0x1, 0xB8, 0x5, 0xA, 0xFD, 0x86, 0x0, 0x27, 0x1, 0xB8, 0x8, 0xC5, 0xFD, 0x86, 0x0, 0x7, 0x0, 0x34, 0x3, 0xBC, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x50, 0xFF, 0xEC, 0x7, 0x39, 0x4, 0x4E, 0x0, 0x27, 0x6, 0x2, 0x2, 0xFB, 0x0, 0x0, 0x0, 0x6, 0x6, 0x2, 0x0, 0x0, 0x0, 0xF, 0x0, 0x55, 0xFD, 0xE4, 0x9, 0x75, 0x6, 0x72, 0x0, 0x2B, 0x0, 0x39, 0x0, 0x47, 0x0, 0x53, 0x0, 0x5D, 0x0, 0x6B, 0x0, 0x79, 0x0, 0x87, 0x0, 0x91, 0x0, 0x9B, 0x0, 0xA7, 0x0, 0xB5, 0x0, 0xC3, 0x0, 0xCB, 0x0, 0xD5, 0x0, 0x0, 0x1, 0x22, 0x27, 0x6, 0x23, 0x22, 0x26, 0x35, 0x35, 0x34, 0x37, 0x26, 0x26, 0x35, 0x35, 0x34, 0x36, 0x37, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x17, 0x36, 0x33, 0x32, 0x16, 0x15, 0x15, 0x14, 0x7, 0x16, 0x16, 0x15, 0x15, 0x14, 0x6, 0x7, 0x16, 0x15, 0x14, 0x6, 0x1, 0x32, 0x36, 0x35, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x15, 0x14, 0x16, 0x21, 0x32, 0x36, 0x35, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x15, 0x14, 0x16, 0x1, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x6, 0x23, 0x22, 0x26, 0x25, 0x34, 0x36, 0x32, 0x16, 0x15, 0x14, 0x6, 0x22, 0x26, 0x1, 0x32, 0x36, 0x35, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x15, 0x14, 0x16, 0x21, 0x32, 0x36, 0x35, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x15, 0x14, 0x16, 0x21, 0x32, 0x36, 0x35, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x15, 0x14, 0x16, 0x1, 0x34, 0x36, 0x32, 0x16, 0x15, 0x14, 0x6, 0x22, 0x26, 0x25, 0x34, 0x36, 0x32, 0x16, 0x15, 0x14, 0x6, 0x22, 0x26, 0x25, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x6, 0x23, 0x22, 0x26, 0x1, 0x32, 0x36, 0x35, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x15, 0x14, 0x16, 0x21, 0x32, 0x36, 0x35, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x15, 0x14, 0x16, 0x12, 0x36, 0x32, 0x16, 0x14, 0x6, 0x22, 0x26, 0x24, 0x36, 0x33, 0x32, 0x16, 0x14, 0x6, 0x23, 0x22, 0x26, 0x6, 0x45, 0xE2, 0x7E, 0x7C, 0xE3, 0xDC, 0xF6, 0x29, 0xBA, 0xCE, 0xCE, 0xB9, 0x28, 0xF6, 0xDB, 0xE2, 0x7E, 0x7E, 0xE0, 0xDD, 0xF6, 0x28, 0xBA, 0xCD, 0xCE, 0xBA, 0x29, 0xF6, 0xFC, 0x66, 0x7D, 0x77, 0x78, 0x7D, 0x7C, 0x77, 0x76, 0x3, 0x3D, 0x7D, 0x76, 0x77, 0x7E, 0x7C, 0x76, 0x76, 0xFD, 0x47, 0x3E, 0x39, 0x3A, 0x3F, 0x3F, 0x3A, 0x39, 0x3E, 0x2, 0xBE, 0x3F, 0x72, 0x3F, 0x3F, 0x72, 0x3F, 0xFC, 0x5B, 0x7D, 0x76, 0x77, 0x7E, 0x7C, 0x77, 0x77, 0x3, 0x3D, 0x7C, 0x77, 0x77, 0x7E, 0x7C, 0x77, 0x76, 0x3, 0x3D, 0x7D, 0x76, 0x77, 0x7E, 0x7C, 0x76, 0x76, 0xFA, 0x88, 0x3E, 0x74, 0x3E, 0x3E, 0x74, 0x3E, 0x2, 0xBF, 0x3F, 0x72, 0x3F, 0x3F, 0x72, 0x3F, 0x2, 0xBE, 0x3F, 0x39, 0x3A, 0x3F, 0x3F, 0x3A, 0x39, 0x3F, 0xFC, 0x5B, 0x7D, 0x77, 0x78, 0x7D, 0x7C, 0x77, 0x76, 0x3, 0x3D, 0x7D, 0x76, 0x77, 0x7E, 0x7C, 0x76, 0x76, 0x5, 0x3F, 0x72, 0x3F, 0x3F, 0x72, 0x3F, 0xFD, 0x42, 0x3E, 0x39, 0x3A, 0x3F, 0x3F, 0x3A, 0x39, 0x3E, 0xFD, 0xE4, 0x8F, 0x8F, 0xFC, 0xBC, 0x15, 0x6B, 0x58, 0x16, 0xED, 0xAA, 0x15, 0xAA, 0xEF, 0x16, 0x57, 0x7D, 0xBD, 0xFC, 0x8F, 0x8F, 0xFC, 0xBD, 0x15, 0x68, 0x57, 0x17, 0xEF, 0xA9, 0x15, 0xAA, 0xEE, 0x15, 0x58, 0x80, 0xBC, 0xFC, 0x5, 0xC3, 0x98, 0x64, 0x16, 0x63, 0x9A, 0x9A, 0x63, 0x16, 0x64, 0x98, 0x98, 0x64, 0x16, 0x63, 0x9A, 0x9A, 0x63, 0x16, 0x64, 0x98, 0x1, 0x6, 0x32, 0x45, 0x45, 0x32, 0x31, 0x45, 0x45, 0x31, 0x32, 0x45, 0x45, 0x32, 0x31, 0x45, 0x45, 0xFC, 0xA8, 0x99, 0x64, 0x15, 0x63, 0x9B, 0x9B, 0x63, 0x15, 0x64, 0x99, 0x99, 0x64, 0x15, 0x63, 0x9B, 0x9B, 0x63, 0x15, 0x64, 0x99, 0x99, 0x64, 0x15, 0x63, 0x9B, 0x9B, 0x63, 0x15, 0x64, 0x99, 0x1, 0x6, 0x33, 0x44, 0x44, 0x33, 0x31, 0x44, 0x44, 0x31, 0x33, 0x44, 0x44, 0x33, 0x31, 0x44, 0x44, 0x31, 0x33, 0x44, 0x44, 0x33, 0x31, 0x44, 0x44, 0xFC, 0xA7, 0x97, 0x65, 0x16, 0x63, 0x9A, 0x9A, 0x63, 0x16, 0x65, 0x97, 0x97, 0x65, 0x16, 0x63, 0x9A, 0x9A, 0x63, 0x16, 0x65, 0x97, 0x1, 0x38, 0x45, 0x45, 0x64, 0x44, 0x44, 0x64, 0x45, 0x45, 0x64, 0x44, 0x44, 0x0, 0x1, 0xFB, 0x5D, 0x3, 0xD8, 0x0, 0x13, 0x5, 0xAC, 0x0, 0x7, 0x0, 0x0, 0x1, 0x23, 0x11, 0x21, 0x11, 0x23, 0x11, 0x21, 0xFC, 0x25, 0xC8, 0x4, 0xB6, 0xC8, 0xFC, 0xDA, 0x3, 0xD8, 0x1, 0xD4, 0xFE, 0x2C, 0x1, 0x16, 0x0, 0x8, 0xF9, 0x94, 0xFE, 0x4, 0x1, 0xDC, 0x6, 0x35, 0x0, 0xB, 0x0, 0x17, 0x0, 0x23, 0x0, 0x2F, 0x0, 0x3B, 0x0, 0x47, 0x0, 0x53, 0x0, 0x5F, 0x0, 0x0, 0x1, 0x17, 0x37, 0x33, 0x7, 0x17, 0x23, 0x27, 0x7, 0x23, 0x37, 0x27, 0x5, 0x17, 0x37, 0x33, 0x7, 0x17, 0x23, 0x27, 0x7, 0x23, 0x37, 0x27, 0x21, 0x17, 0x37, 0x33, 0x7, 0x17, 0x23, 0x27, 0x7, 0x23, 0x37, 0x27, 0x1, 0x17, 0x37, 0x33, 0x7, 0x17, 0x23, 0x27, 0x7, 0x23, 0x37, 0x27, 0x21, 0x17, 0x37, 0x33, 0x7, 0x17, 0x23, 0x27, 0x7, 0x23, 0x37, 0x27, 0x1, 0x17, 0x37, 0x33, 0x7, 0x17, 0x23, 0x27, 0x7, 0x23, 0x37, 0x27, 0x21, 0x17, 0x37, 0x33, 0x7, 0x17, 0x23, 0x27, 0x7, 0x23, 0x37, 0x27, 0x5, 0x17, 0x37, 0x33, 0x7, 0x17, 0x23, 0x27, 0x7, 0x23, 0x37, 0x27, 0xFD, 0x88, 0x30, 0x31, 0x8C, 0x6D, 0x70, 0x8A, 0x34, 0x34, 0x8C, 0x71, 0x6E, 0x2, 0xF7, 0x30, 0x31, 0x8A, 0x6E, 0x71, 0x8B, 0x35, 0x33, 0x8B, 0x70, 0x6D, 0xFB, 0xB5, 0x30, 0x2D, 0x90, 0x6D, 0x70, 0x8E, 0x30, 0x34, 0x8C, 0x71, 0x6E, 0x6, 0x5D, 0x30, 0x31, 0x8A, 0x6E, 0x71, 0x8B, 0x35, 0x33, 0x8B, 0x70, 0x6D, 0xF9, 0xC1, 0x30, 0x31, 0x8C, 0x6D, 0x70, 0x8A, 0x34, 0x34, 0x8C, 0x71, 0x6E, 0x6, 0x67, 0x30, 0x31, 0x8A, 0x6E, 0x71, 0x8B, 0x35, 0x33, 0x8B, 0x70, 0x6D, 0xFB, 0xA1, 0x30, 0x31, 0x8C, 0x6D, 0x70, 0x8A, 0x34, 0x34, 0x8C, 0x71, 0x6E, 0x3, 0x1, 0x30, 0x31, 0x8C, 0x6D, 0x70, 0x8A, 0x34, 0x34, 0x8C, 0x71, 0x6E, 0x6, 0x35, 0x60, 0x60, 0xB1, 0xB4, 0x65, 0x65, 0xB4, 0xB1, 0xDC, 0x60, 0x60, 0xB1, 0xB4, 0x65, 0x65, 0xB4, 0xB1, 0x60, 0x60, 0xB1, 0xB4, 0x65, 0x65, 0xB4, 0xB1, 0xFD, 0x81, 0x60, 0x60, 0xB1, 0xB4, 0x65, 0x65, 0xB4, 0xB1, 0x60, 0x60, 0xB1, 0xB4, 0x65, 0x65, 0xB4, 0xB1, 0xFD, 0x81, 0x61, 0x61, 0xB1, 0xB4, 0x64, 0x64, 0xB4, 0xB1, 0x61, 0x61, 0xB1, 0xB4, 0x64, 0x64, 0xB4, 0xB1, 0xF2, 0x61, 0x61, 0xB1, 0xB4, 0x64, 0x64, 0xB4, 0xB1, 0x0, 0x2, 0xFB, 0x5D, 0xFE, 0xB8, 0x0, 0x13, 0x5, 0xAC, 0x0, 0x7, 0x0, 0xF, 0x0, 0x0, 0x1, 0x23, 0x11, 0x21, 0x11, 0x23, 0x11, 0x21, 0x3, 0x33, 0x11, 0x21, 0x11, 0x33, 0x11, 0x21, 0xFC, 0x25, 0xC8, 0x4, 0xB6, 0xC8, 0xFC, 0xDA, 0xC8, 0xC8, 0x3, 0x26, 0xC8, 0xFB, 0x4A, 0x3, 0xD8, 0x1, 0xD4, 0xFE, 0x2C, 0x1, 0x16, 0xFB, 0x9E, 0xFE, 0xEA, 0x1, 0x16, 0xFE, 0x2C, 0x0, 0xA, 0xF9, 0x7A, 0xFE, 0x23, 0x1, 0xF9, 0x6, 0x3A, 0x0, 0xB, 0x0, 0xF, 0x0, 0x13, 0x0, 0x17, 0x0, 0x1B, 0x0, 0x1F, 0x0, 0x23, 0x0, 0x27, 0x0, 0x2B, 0x0, 0x2F, 0x0, 0x0, 0x1, 0x23, 0x15, 0x23, 0x35, 0x23, 0x35, 0x33, 0x35, 0x33, 0x15, 0x33, 0x1, 0x15, 0x21, 0x35, 0x21, 0x15, 0x21, 0x35, 0x1, 0x15, 0x21, 0x35, 0x21, 0x15, 0x21, 0x35, 0x1, 0x15, 0x21, 0x35, 0x21, 0x15, 0x21, 0x35, 0x1, 0x23, 0x11, 0x33, 0x1, 0x23, 0x11, 0x33, 0x1, 0x23, 0x11, 0x33, 0xFE, 0x90, 0x77, 0xC3, 0x78, 0x78, 0xC3, 0x77, 0x3, 0x69, 0xFE, 0x14, 0xFB, 0x59, 0xFE, 0x14, 0x8, 0x7F, 0xFE, 0x14, 0xFB, 0x59, 0xFE, 0x14, 0x8, 0x7F, 0xFE, 0x14, 0xFB, 0x59, 0xFE, 0x14, 0x4, 0x9F, 0xC3, 0xC3, 0xFE, 0xA2, 0xC3, 0xC3, 0x2, 0xBC, 0xC3, 0xC3, 0x5, 0x7, 0x71, 0x71, 0xC3, 0x70, 0x70, 0xFE, 0x31, 0xC3, 0xC3, 0xC3, 0xC3, 0xFE, 0xA2, 0xC3, 0xC3, 0xC3, 0xC3, 0xFE, 0xA2, 0xC3, 0xC3, 0xC3, 0xC3, 0xFC, 0xE4, 0x1, 0x88, 0xFE, 0x78, 0x1, 0x88, 0xFE, 0x78, 0x1, 0x88, 0x0, 0x2, 0x0, 0x50, 0x1, 0x8D, 0x3, 0x66, 0x5, 0x20, 0x0, 0xB, 0x0, 0x17, 0x0, 0x0, 0x13, 0x21, 0x37, 0x17, 0x21, 0x7, 0x17, 0x21, 0x7, 0x27, 0x21, 0x37, 0x33, 0x7, 0x33, 0x17, 0x37, 0x33, 0x27, 0x37, 0x23, 0x27, 0x7, 0x23, 0x50, 0x1, 0x7, 0x85, 0x84, 0x1, 0x6, 0x84, 0x84, 0xFE, 0xFA, 0x84, 0x85, 0xFE, 0xF9, 0x84, 0x8A, 0x3C, 0x7B, 0x3F, 0x40, 0x7B, 0x3E, 0x3E, 0x7B, 0x40, 0x3F, 0x7B, 0x4, 0x3A, 0xE6, 0xE6, 0xE5, 0xE2, 0xE6, 0xE6, 0xE2, 0x6C, 0x6C, 0x6C, 0x6C, 0x6D, 0x6E, 0x6E, 0x0, 0x1, 0xFC, 0xB8, 0x4, 0xA4, 0xFE, 0xA0, 0x6, 0xE0, 0x0, 0x19, 0x0, 0x0, 0x1, 0x14, 0x6, 0x23, 0x22, 0x26, 0x35, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x23, 0x26, 0x23, 0x22, 0x7, 0x33, 0x15, 0x23, 0x16, 0x33, 0x32, 0x37, 0xFE, 0xA0, 0x82, 0x61, 0x78, 0x8D, 0x8D, 0x78, 0x59, 0x8A, 0x81, 0x8, 0x5A, 0x65, 0xE, 0xA6, 0xA6, 0xD, 0x66, 0x5C, 0x6, 0x5, 0x74, 0x5E, 0x72, 0x9A, 0x7B, 0x12, 0x7B, 0x9A, 0x63, 0x5E, 0x4E, 0x78, 0x62, 0x7B, 0x5C, 0x0, 0x1, 0xFC, 0xBC, 0x4, 0xB1, 0xFE, 0xB3, 0x6, 0xD9, 0x0, 0x9, 0x0, 0x0, 0x1, 0x23, 0x11, 0x33, 0x11, 0x13, 0x33, 0x11, 0x23, 0x11, 0xFD, 0x4C, 0x90, 0x90, 0xD8, 0x8F, 0x8F, 0x4, 0xB1, 0x2, 0x28, 0xFE, 0xA8, 0x1, 0x58, 0xFD, 0xD8, 0x1, 0x54, 0x0, 0x3, 0xFC, 0xF9, 0x4, 0xB1, 0xFE, 0x80, 0x7, 0xAD, 0x0, 0x5, 0x0, 0xB, 0x0, 0xF, 0x0, 0x0, 0x0, 0x33, 0x32, 0x14, 0x23, 0x22, 0x26, 0x33, 0x32, 0x14, 0x23, 0x22, 0x5, 0x11, 0x23, 0x11, 0xFD, 0xDD, 0x51, 0x52, 0x52, 0x51, 0xE4, 0x51, 0x52, 0x52, 0x51, 0x1, 0xC, 0x8F, 0x7, 0xAD, 0x98, 0x98, 0x98, 0x3C, 0xFD, 0xD8, 0x2, 0x28, 0x0, 0x1, 0xFC, 0xA5, 0x3, 0xCC, 0xFE, 0xA8, 0x6, 0xDA, 0x0, 0x10, 0x0, 0x0, 0x1, 0x22, 0x27, 0x35, 0x17, 0x32, 0x36, 0x37, 0x3, 0x33, 0x13, 0x17, 0x13, 0x33, 0x3, 0x6, 0x6, 0xFD, 0x21, 0x1B, 0x27, 0x1F, 0x27, 0x2D, 0x18, 0xC5, 0x92, 0x66, 0x8, 0x75, 0x8E, 0xDE, 0x15, 0x48, 0x3, 0xCC, 0x9, 0x6D, 0x2, 0x22, 0x49, 0x2, 0x2F, 0xFE, 0xAA, 0x24, 0x1, 0x7A, 0xFD, 0x7F, 0x39, 0x54, 0x0, 0x2, 0xFC, 0x2E, 0x4, 0xB1, 0xFE, 0xD9, 0x6, 0xD9, 0x0, 0xB, 0x0, 0x12, 0x0, 0x0, 0x1, 0x11, 0x23, 0x35, 0x21, 0x15, 0x33, 0x20, 0x15, 0x14, 0x6, 0x23, 0x27, 0x33, 0x32, 0x35, 0x34, 0x23, 0x23, 0xFC, 0xE0, 0xB2, 0x1, 0x41, 0x67, 0x1, 0x3, 0x87, 0x6A, 0x79, 0x79, 0x62, 0x62, 0x79, 0x4, 0xB1, 0x1, 0xBA, 0x6E, 0xA2, 0xC3, 0x62, 0x61, 0x6F, 0x55, 0x52, 0x0, 0x3, 0xFC, 0x67, 0x4, 0xB1, 0xFF, 0x31, 0x6, 0xD9, 0x0, 0x9, 0x0, 0xD, 0x0, 0x14, 0x0, 0x0, 0x1, 0x11, 0x33, 0x15, 0x33, 0x20, 0x15, 0x14, 0x6, 0x23, 0x1, 0x11, 0x23, 0x11, 0x1, 0x33, 0x32, 0x35, 0x34, 0x23, 0x23, 0xFC, 0x67, 0x8F, 0x69, 0x1, 0x1, 0x86, 0x6B, 0x1, 0xC2, 0x8F, 0xFE, 0x54, 0x79, 0x62, 0x62, 0x79, 0x4, 0xB1, 0x2, 0x28, 0xA2, 0xC3, 0x62, 0x61, 0x2, 0x28, 0xFD, 0xD8, 0x2, 0x28, 0xFE, 0x47, 0x55, 0x52, 0x0, 0x2, 0xFC, 0xE0, 0x4, 0xB1, 0xFE, 0xD9, 0x6, 0xD9, 0x0, 0x9, 0x0, 0x10, 0x0, 0x0, 0x1, 0x11, 0x33, 0x15, 0x33, 0x20, 0x15, 0x14, 0x6, 0x23, 0x27, 0x33, 0x32, 0x35, 0x34, 0x23, 0x23, 0xFC, 0xE0, 0x8F, 0x67, 0x1, 0x3, 0x87, 0x6A, 0x79, 0x79, 0x62, 0x62, 0x79, 0x4, 0xB1, 0x2, 0x28, 0xA2, 0xC3, 0x62, 0x61, 0x6F, 0x55, 0x52, 0x0, 0x1, 0xFC, 0x32, 0x4, 0xA7, 0xFF, 0x3B, 0x6, 0xD9, 0x0, 0x17, 0x0, 0x0, 0x1, 0x22, 0x27, 0x6, 0x23, 0x22, 0x27, 0x11, 0x33, 0x11, 0x14, 0x32, 0x35, 0x11, 0x33, 0x11, 0x14, 0x32, 0x35, 0x11, 0x33, 0x11, 0x14, 0x6, 0xFE, 0x55, 0x60, 0x3D, 0x3B, 0x65, 0xE0, 0x6, 0x8F, 0xAE, 0x8F, 0xAE, 0x8F, 0x73, 0x4, 0xA7, 0x4B, 0x4B, 0xDA, 0x1, 0x58, 0xFE, 0xB5, 0x73, 0x73, 0x1, 0x4B, 0xFE, 0xB5, 0x73, 0x73, 0x1, 0x4B, 0xFE, 0xB6, 0x7C, 0x6C, 0xFF, 0xFF, 0xFC, 0x75, 0x4, 0xCC, 0xFE, 0xFA, 0x5, 0xE7, 0x0, 0x7, 0x1, 0x89, 0xFB, 0xFF, 0x0, 0x0, 0x0, 0x1, 0xFC, 0x99, 0x4, 0x69, 0xFE, 0xD9, 0x5, 0xE4, 0x0, 0xF, 0x0, 0x0, 0x1, 0x23, 0x37, 0x6, 0x23, 0x22, 0x26, 0x37, 0x33, 0x6, 0x16, 0x33, 0x32, 0x37, 0x37, 0x33, 0xFE, 0x82, 0x99, 0x1E, 0x23, 0x25, 0x7A, 0xAC, 0xB, 0x9B, 0x2, 0x3D, 0x4E, 0x39, 0x2C, 0x13, 0x99, 0x4, 0x69, 0x6F, 0xA, 0x91, 0x85, 0x3A, 0x5E, 0x16, 0x47, 0xFF, 0xFF, 0x0, 0x50, 0x4, 0xCC, 0x2, 0xD5, 0x5, 0xE7, 0x0, 0x6, 0x1, 0x89, 0xDA, 0x0, 0xFF, 0xFF, 0x0, 0x47, 0x4, 0x69, 0x2, 0x87, 0x5, 0xE4, 0x0, 0x7, 0x6, 0x16, 0x3, 0xAE, 0x0, 0x0, 0x0, 0x2, 0x0, 0x24, 0xFE, 0x9A, 0x5, 0xDC, 0x6, 0xCE, 0x0, 0x5, 0x0, 0x16, 0x0, 0x0, 0x25, 0x21, 0x11, 0x21, 0x3, 0x2, 0x1, 0x11, 0x21, 0x11, 0x23, 0x3, 0x33, 0x36, 0x12, 0x13, 0x13, 0x33, 0x3, 0x21, 0x11, 0x33, 0x3, 0x1, 0xB6, 0x2, 0x71, 0xFE, 0x57, 0x1B, 0x1E, 0x2, 0x9A, 0xFC, 0x41, 0xF3, 0x9, 0x76, 0x37, 0x83, 0x14, 0x37, 0xFC, 0x11, 0x2, 0x9A, 0xB8, 0xD, 0xCA, 0x4, 0x1B, 0xFE, 0x4A, 0xFE, 0x79, 0xFC, 0xF2, 0x1, 0x66, 0xFE, 0x9A, 0x2, 0x30, 0x35, 0x1, 0x1D, 0x1, 0x30, 0x3, 0x82, 0xFE, 0xE2, 0xFB, 0x1A, 0xFD, 0xD0, 0x0, 0x2, 0x0, 0x27, 0xFE, 0xBE, 0x4, 0xC6, 0x5, 0x7A, 0x0, 0x5, 0x0, 0x16, 0x0, 0x0, 0x25, 0x21, 0x11, 0x21, 0x7, 0x2, 0x3, 0x11, 0x23, 0x11, 0x33, 0x36, 0x36, 0x37, 0x13, 0x33, 0x3, 0x21, 0x11, 0x33, 0x11, 0x23, 0x11, 0x1, 0x9F, 0x1, 0x9E, 0xFE, 0xEE, 0x6, 0xE, 0xF9, 0xF7, 0x5A, 0x55, 0x56, 0x7, 0x15, 0xF2, 0x9, 0x1, 0xFF, 0x96, 0xF3, 0xC3, 0x2, 0xA6, 0xCF, 0xFE, 0xD8, 0xFE, 0x8E, 0xFE, 0xBE, 0x2, 0x5, 0x5F, 0xCA, 0xCA, 0x2, 0xC4, 0xFE, 0xC0, 0xFC, 0x89, 0xFD, 0xFB, 0x1, 0x42, 0x0, 0x1, 0x0, 0x4D, 0xFE, 0x4B, 0x4, 0x86, 0x5, 0xC4, 0x0, 0x25, 0x0, 0x0, 0x25, 0x34, 0x26, 0x24, 0x26, 0x26, 0x35, 0x34, 0x24, 0x33, 0x32, 0x0, 0x15, 0x23, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x14, 0x16, 0x17, 0x16, 0x16, 0x15, 0x14, 0x0, 0x23, 0x22, 0x26, 0x26, 0x35, 0x33, 0x14, 0x16, 0x33, 0x20, 0x3, 0x8A, 0x91, 0xFE, 0xA5, 0xC2, 0x62, 0x1, 0x1A, 0xE6, 0xF8, 0x1, 0x13, 0xFC, 0x84, 0x8D, 0x85, 0x7C, 0xB0, 0x8F, 0xEE, 0xE2, 0xFE, 0xDF, 0xF1, 0x8D, 0xFC, 0x9E, 0xFC, 0xB9, 0x7A, 0x1, 0xE, 0x38, 0x79, 0xAD, 0xC1, 0xA0, 0xB8, 0x7B, 0xDE, 0xF4, 0xFE, 0xF8, 0xB3, 0x6B, 0x87, 0x8C, 0x7D, 0x83, 0x9C, 0x51, 0x86, 0xFD, 0xC7, 0xEA, 0xFE, 0xFD, 0x66, 0xCB, 0x98, 0x87, 0x78, 0x0, 0x1, 0x0, 0x4D, 0xFE, 0x4B, 0x3, 0xCC, 0x4, 0x4E, 0x0, 0x24, 0x0, 0x0, 0x5, 0x34, 0x26, 0x24, 0x27, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x23, 0x34, 0x26, 0x23, 0x22, 0x15, 0x14, 0x16, 0x17, 0x16, 0x16, 0x15, 0x14, 0x6, 0x23, 0x22, 0x26, 0x35, 0x33, 0x16, 0x16, 0x33, 0x32, 0x36, 0x2, 0xDD, 0x7C, 0xFE, 0xE2, 0x67, 0x6B, 0xE1, 0xC1, 0xCB, 0xE6, 0xF3, 0x60, 0x5F, 0xB4, 0x66, 0x83, 0xC1, 0xC4, 0xEB, 0xCB, 0xDF, 0xEA, 0xEC, 0x5, 0x89, 0x52, 0x60, 0x64, 0x29, 0x6C, 0x83, 0x91, 0x63, 0x67, 0xB4, 0xAF, 0xCA, 0xC6, 0x92, 0x3F, 0x63, 0xC2, 0x50, 0x84, 0x42, 0x61, 0xEA, 0xA0, 0xB3, 0xD7, 0xE4, 0x86, 0x65, 0x4F, 0x72, 0x0, 0x1, 0x0, 0x49, 0xFF, 0xEC, 0x9, 0x90, 0x5, 0xC4, 0x0, 0x36, 0x0, 0x0, 0x1, 0x14, 0x4, 0x23, 0x22, 0x26, 0x26, 0x35, 0x33, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x25, 0x23, 0x35, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x23, 0x34, 0x24, 0x33, 0x32, 0x4, 0x15, 0x14, 0x7, 0x33, 0x11, 0x33, 0x11, 0x33, 0x1, 0x21, 0x1, 0x1, 0x21, 0x1, 0x23, 0x11, 0x23, 0x11, 0x23, 0x16, 0x4, 0x7F, 0xFE, 0xCB, 0xF0, 0x81, 0xF3, 0x9D, 0xFD, 0x98, 0x7C, 0x8E, 0x9A, 0xFE, 0xF6, 0xB9, 0xAB, 0x8A, 0x78, 0x83, 0x8F, 0x6C, 0x94, 0xFC, 0x1, 0x2D, 0xCF, 0xF0, 0x1, 0x1F, 0x59, 0xEA, 0xFD, 0x8A, 0x1, 0xAD, 0x1, 0x36, 0xFE, 0xD, 0x2, 0x1F, 0xFE, 0xD0, 0xFE, 0x43, 0xAC, 0xFD, 0xBF, 0x44, 0x1, 0x98, 0xCD, 0xDF, 0x58, 0xBB, 0x95, 0x5B, 0x83, 0x81, 0x61, 0xE5, 0x6, 0xC7, 0x79, 0x61, 0x56, 0x7F, 0x72, 0x5B, 0xBE, 0xDA, 0xD3, 0xCC, 0x7A, 0x5E, 0x2, 0x63, 0xFD, 0x9D, 0x2, 0x63, 0xFD, 0x47, 0xFD, 0x9, 0x2, 0x70, 0xFD, 0x90, 0x2, 0x70, 0x58, 0x0, 0x1, 0x0, 0x4E, 0xFF, 0xEC, 0x7, 0xFE, 0x4, 0x4D, 0x0, 0x35, 0x0, 0x0, 0x1, 0x14, 0x6, 0x23, 0x22, 0x26, 0x26, 0x35, 0x33, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x27, 0x23, 0x35, 0x33, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x23, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x7, 0x33, 0x11, 0x33, 0x11, 0x33, 0x1, 0x21, 0x1, 0x1, 0x21, 0x1, 0x23, 0x11, 0x23, 0x11, 0x23, 0x16, 0x3, 0xC4, 0xF7, 0xC5, 0x6D, 0xCB, 0x82, 0xF2, 0x6E, 0x61, 0x64, 0x5E, 0xB7, 0xB3, 0xBB, 0x9C, 0x4D, 0x62, 0x52, 0x6C, 0xF2, 0xFA, 0xAF, 0xC4, 0xE5, 0x2E, 0xA5, 0xF3, 0x6C, 0x1, 0x2A, 0x1, 0x2D, 0xFE, 0x78, 0x1, 0xA8, 0xFE, 0xC5, 0xFE, 0xD3, 0x7B, 0xF3, 0x7F, 0x1B, 0x1, 0x32, 0x9A, 0xAC, 0x48, 0x97, 0x76, 0x3D, 0x5E, 0x5D, 0x3A, 0x92, 0x2, 0xB0, 0x4, 0x82, 0x34, 0x57, 0x4D, 0x3E, 0x98, 0xAE, 0xA1, 0x9A, 0x4A, 0x3D, 0x1, 0xAF, 0xFE, 0x51, 0x1, 0xAF, 0xFD, 0xFA, 0xFD, 0xCC, 0x1, 0xAD, 0xFE, 0x53, 0x1, 0xAD, 0x36, 0x0, 0x1, 0x0, 0x84, 0x0, 0x0, 0x5, 0xD0, 0x5, 0xB0, 0x0, 0x20, 0x0, 0x0, 0x21, 0x23, 0x11, 0x6, 0x23, 0x22, 0x27, 0x6, 0x6, 0x23, 0x22, 0x26, 0x27, 0x11, 0x33, 0x11, 0x14, 0x16, 0x33, 0x32, 0x37, 0x26, 0x35, 0x11, 0x33, 0x11, 0x14, 0x16, 0x33, 0x32, 0x37, 0x11, 0x33, 0x5, 0xD0, 0xFD, 0x4A, 0x3F, 0x9D, 0x62, 0x3B, 0x96, 0x31, 0xDD, 0xE7, 0x1, 0xFC, 0x64, 0x6F, 0x33, 0x31, 0x2B, 0xFC, 0x5D, 0x6F, 0x40, 0x3F, 0xFD, 0x2, 0x24, 0x11, 0x32, 0x18, 0x1A, 0xD4, 0xFB, 0x1, 0xCE, 0xFE, 0x36, 0x90, 0x78, 0x9, 0x65, 0x9A, 0x1, 0xCA, 0xFE, 0x36, 0x90, 0x78, 0xF, 0x2, 0xC3, 0x0, 0x1, 0x0, 0x36, 0x0, 0x0, 0x4, 0xEB, 0x4, 0x3B, 0x0, 0x1F, 0x0, 0x0, 0x21, 0x23, 0x11, 0x6, 0x23, 0x22, 0x27, 0x6, 0x23, 0x22, 0x26, 0x35, 0x11, 0x33, 0x11, 0x14, 0x16, 0x33, 0x32, 0x37, 0x26, 0x35, 0x11, 0x33, 0x11, 0x14, 0x16, 0x33, 0x32, 0x37, 0x11, 0x33, 0x4, 0xEB, 0xF3, 0x36, 0x33, 0x83, 0x57, 0x79, 0x70, 0xC3, 0xD3, 0xF3, 0x48, 0x5A, 0x2A, 0x2A, 0x22, 0xF2, 0x46, 0x59, 0x35, 0x35, 0xF3, 0x1, 0x5D, 0x9, 0x29, 0x29, 0xC0, 0xDB, 0x1, 0x4C, 0xFE, 0xB4, 0x6E, 0x6A, 0x8, 0x55, 0x7B, 0x1, 0x4C, 0xFE, 0xB4, 0x6E, 0x6A, 0x9, 0x2, 0x1A, 0x0, 0x2, 0x0, 0x24, 0xFE, 0x4B, 0x6, 0xF2, 0x5, 0xB0, 0x0, 0x5, 0x0, 0x2F, 0x0, 0x0, 0x25, 0x21, 0x11, 0x21, 0x3, 0x2, 0x1, 0x22, 0x26, 0x35, 0x33, 0x16, 0x33, 0x32, 0x35, 0x34, 0x27, 0x23, 0x35, 0x33, 0x36, 0x35, 0x34, 0x23, 0x22, 0x6, 0x23, 0x31, 0x21, 0x11, 0x23, 0x3, 0x33, 0x36, 0x12, 0x13, 0x13, 0x21, 0x11, 0x33, 0x20, 0x15, 0x14, 0x7, 0x16, 0x15, 0x14, 0x6, 0x1, 0xB6, 0x2, 0x71, 0xFE, 0x57, 0x1A, 0x1E, 0x3, 0xB0, 0x64, 0xA8, 0x8E, 0x6, 0x72, 0x6C, 0x66, 0x61, 0x61, 0x5B, 0x54, 0x40, 0x4C, 0x4D, 0xFB, 0xFC, 0xF3, 0x9, 0x76, 0x36, 0x82, 0x14, 0x28, 0x3, 0x96, 0xBD, 0x1, 0x6, 0x6B, 0x76, 0x94, 0xCA, 0x4, 0x1B, 0xFE, 0x57, 0xFE, 0x6D, 0xFC, 0xA2, 0x5C, 0x64, 0x46, 0x49, 0x44, 0x1, 0x77, 0x1, 0x3E, 0x3C, 0x45, 0xFE, 0x9A, 0x2, 0x30, 0x34, 0x1, 0x19, 0x1, 0x27, 0x2, 0x72, 0xFB, 0x1A, 0xB5, 0x5A, 0x2A, 0x25, 0x6B, 0x55, 0x61, 0x0, 0x2, 0x0, 0x27, 0xFE, 0x4B, 0x5, 0xDD, 0x4, 0x3A, 0x0, 0x5, 0x0, 0x2F, 0x0, 0x0, 0x25, 0x5, 0x11, 0x21, 0x7, 0x2, 0x1, 0x22, 0x26, 0x35, 0x33, 0x16, 0x33, 0x32, 0x35, 0x34, 0x27, 0x23, 0x35, 0x33, 0x36, 0x35, 0x34, 0x23, 0x22, 0x6, 0x23, 0x21, 0x11, 0x23, 0x13, 0x33, 0x36, 0x36, 0x37, 0x13, 0x21, 0x11, 0x33, 0x32, 0x16, 0x15, 0x14, 0x7, 0x16, 0x15, 0x14, 0x6, 0x1, 0xA1, 0x1, 0x9C, 0xFE, 0xF0, 0x6, 0xD, 0x2, 0xC4, 0x5D, 0xAC, 0x8E, 0x6, 0x72, 0x6C, 0x66, 0x61, 0x61, 0x5B, 0x54, 0x3D, 0x46, 0x35, 0xFC, 0xEE, 0xF7, 0x1, 0x5A, 0x53, 0x5B, 0x6, 0xA, 0x2, 0xF0, 0xA7, 0x70, 0x8B, 0x6A, 0x75, 0x8E, 0xC4, 0x1, 0x2, 0xA6, 0xD3, 0xFE, 0xDC, 0xFC, 0xD9, 0x5C, 0x64, 0x46, 0x49, 0x44, 0x1, 0x77, 0x1, 0x3E, 0x3C, 0x45, 0xFE, 0xBE, 0x2, 0x6, 0x5D, 0xC9, 0xCD, 0x1, 0x83, 0xFC, 0x89, 0x5A, 0x56, 0x58, 0x2A, 0x25, 0x6B, 0x55, 0x61, 0x0, 0x1, 0x0, 0x2D, 0xFE, 0x4B, 0x5, 0x7A, 0x5, 0xB0, 0x0, 0x1E, 0x0, 0x0, 0x1, 0x22, 0x27, 0x37, 0x16, 0x33, 0x32, 0x37, 0x11, 0x34, 0x26, 0x23, 0x22, 0x7, 0x11, 0x23, 0x11, 0x21, 0x35, 0x21, 0x15, 0x21, 0x11, 0x36, 0x33, 0x32, 0x16, 0x17, 0x11, 0x14, 0x6, 0x4, 0x19, 0x44, 0x3B, 0xE, 0x26, 0x3D, 0x7B, 0x1, 0x66, 0x60, 0x92, 0x4B, 0xF3, 0xFE, 0x3C, 0x4, 0x7D, 0xFE, 0x3A, 0x71, 0xBF, 0xA1, 0xC4, 0x1, 0xBC, 0xFE, 0x4B, 0x11, 0xC5, 0xC, 0xA9, 0x2, 0xE2, 0x83, 0x65, 0x69, 0xFC, 0xE1, 0x4, 0xED, 0xC3, 0xC3, 0xFE, 0xC2, 0x9F, 0xC4, 0xE3, 0xFD, 0x1A, 0xB6, 0xC0, 0x0, 0x1, 0x0, 0x24, 0xFE, 0x4B, 0x4, 0xFD, 0x4, 0x3A, 0x0, 0x1F, 0x0, 0x0, 0x1, 0x22, 0x27, 0x37, 0x16, 0x33, 0x32, 0x36, 0x35, 0x11, 0x34, 0x26, 0x23, 0x22, 0x7, 0x11, 0x23, 0x11, 0x21, 0x35, 0x21, 0x15, 0x21, 0x11, 0x36, 0x33, 0x32, 0x16, 0x15, 0x11, 0x14, 0x6, 0x3, 0x9C, 0x49, 0x3C, 0xA, 0x25, 0x37, 0x3B, 0x52, 0x62, 0x5D, 0x92, 0x48, 0xF3, 0xFE, 0xA6, 0x3, 0xAD, 0xFE, 0xA0, 0x76, 0xB6, 0xA0, 0xC0, 0xCF, 0xFE, 0x4B, 0x11, 0xB1, 0xB, 0x53, 0x56, 0x1, 0x90, 0x83, 0x6F, 0x81, 0xFE, 0x54, 0x3, 0x79, 0xC1, 0xC1, 0xFE, 0xF0, 0x8A, 0xD0, 0xEA, 0xFE, 0x72, 0xC2, 0x9E, 0x0, 0x1, 0x0, 0x2D, 0xFF, 0xEC, 0x4, 0xB0, 0x5, 0xB0, 0x0, 0x11, 0x0, 0x0, 0x21, 0x6, 0x23, 0x22, 0x26, 0x35, 0x11, 0x21, 0x35, 0x21, 0x15, 0x21, 0x11, 0x14, 0x16, 0x33, 0x32, 0x37, 0x3, 0xD3, 0x46, 0x53, 0x84, 0xC7, 0xFE, 0x3E, 0x4, 0x83, 0xFE, 0x3B, 0x5C, 0x34, 0x1D, 0x3B, 0x14, 0x9F, 0xB1, 0x3, 0xA9, 0xCB, 0xCB, 0xFC, 0x57, 0x55, 0x32, 0xB, 0x0, 0x1, 0x0, 0x24, 0xFF, 0xEC, 0x3, 0xD1, 0x4, 0x3A, 0x0, 0x11, 0x0, 0x0, 0x21, 0x6, 0x23, 0x22, 0x26, 0x35, 0x11, 0x21, 0x35, 0x21, 0x15, 0x21, 0x11, 0x14, 0x16, 0x33, 0x32, 0x37, 0x3, 0x5B, 0x46, 0x4F, 0x84, 0xC4, 0xFE, 0xA6, 0x3, 0xAD, 0xFE, 0xA0, 0x5E, 0x34, 0x1D, 0x3B, 0x14, 0xAC, 0xB8, 0x2, 0x29, 0xC1, 0xC1, 0xFD, 0xD6, 0x5C, 0x3E, 0xB, 0x0, 0x1, 0x0, 0x93, 0xFE, 0x65, 0x5, 0xF5, 0x5, 0xB0, 0x0, 0x1A, 0x0, 0x0, 0x1, 0x20, 0x25, 0x37, 0x16, 0x4, 0x33, 0x32, 0x36, 0x35, 0x34, 0x27, 0x21, 0x11, 0x33, 0x11, 0x21, 0x11, 0x33, 0x11, 0x33, 0x16, 0x16, 0x15, 0x14, 0x6, 0x4, 0x3, 0x63, 0xFE, 0x90, 0xFE, 0xC2, 0x54, 0x75, 0x1, 0x38, 0xB8, 0x94, 0xFF, 0x18, 0xFB, 0xAA, 0xFC, 0x2, 0x81, 0xFD, 0x8F, 0x27, 0x32, 0xB6, 0xFE, 0xD4, 0xFE, 0x65, 0x8F, 0xC1, 0x34, 0x4B, 0x3D, 0x44, 0x25, 0x24, 0x5, 0xB0, 0xFB, 0x1A, 0x4, 0xE6, 0xFB, 0x1A, 0x3E, 0x78, 0x44, 0x8A, 0x9F, 0x42, 0x0, 0x1, 0x0, 0x87, 0xFE, 0x6D, 0x4, 0xE6, 0x4, 0x3A, 0x0, 0x1A, 0x0, 0x0, 0x1, 0x20, 0x25, 0x37, 0x16, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x27, 0x21, 0x11, 0x33, 0x11, 0x21, 0x11, 0x33, 0x11, 0x33, 0x16, 0x16, 0x15, 0x14, 0x6, 0x6, 0x2, 0xC5, 0xFE, 0xDB, 0xFE, 0xF9, 0x4B, 0x68, 0xE1, 0x94, 0x8B, 0xAE, 0x18, 0xFC, 0xA5, 0xF3, 0x1, 0xA7, 0xF3, 0x7F, 0x24, 0x2F, 0x9B, 0xF9, 0xFE, 0x6D, 0x7C, 0xB4, 0x32, 0x39, 0x44, 0x41, 0x25, 0x24, 0x4, 0x3A, 0xFC, 0x89, 0x3, 0x77, 0xFC, 0x8C, 0x3E, 0x74, 0x44, 0x81, 0x9C, 0x46, 0x0, 0x1, 0x0, 0x2D, 0xFE, 0xCA, 0x4, 0xB0, 0x5, 0xB0, 0x0, 0x17, 0x0, 0x0, 0x1, 0x6, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x33, 0x11, 0x21, 0x35, 0x21, 0x15, 0x21, 0x11, 0x23, 0x22, 0x15, 0x14, 0x16, 0x33, 0x32, 0x37, 0x2, 0x97, 0x3E, 0x5E, 0x6C, 0x9E, 0x73, 0x8B, 0xFE, 0x3E, 0x4, 0x83, 0xFE, 0x3B, 0xF8, 0x51, 0x41, 0x2C, 0x42, 0x2B, 0xFE, 0xF8, 0x2E, 0x6C, 0x75, 0x5E, 0x8E, 0x4, 0x4E, 0xCB, 0xCB, 0xFB, 0x1B, 0x56, 0x32, 0x28, 0x1C, 0x0, 0x1, 0x0, 0x24, 0xFE, 0xCA, 0x3, 0xD1, 0x4, 0x3A, 0x0, 0x18, 0x0, 0x0, 0x25, 0x11, 0x21, 0x35, 0x21, 0x15, 0x21, 0x11, 0x23, 0x22, 0x15, 0x14, 0x16, 0x33, 0x32, 0x37, 0x17, 0x6, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x33, 0x1, 0x7E, 0xFE, 0xA6, 0x3, 0xAD, 0xFE, 0xA0, 0xF3, 0x51, 0x41, 0x2C, 0x44, 0x29, 0x1B, 0x3E, 0x5E, 0x6C, 0x9E, 0x73, 0x7F, 0x97, 0x2, 0xE2, 0xC1, 0xC1, 0xFC, 0x87, 0x56, 0x32, 0x28, 0x1C, 0x74, 0x2E, 0x6C, 0x75, 0x5D, 0x8F, 0x0, 0x1, 0x0, 0x1B, 0x0, 0x0, 0x6, 0x38, 0x5, 0xB0, 0x0, 0x15, 0x0, 0x0, 0x1, 0x11, 0x23, 0x11, 0x6, 0x23, 0x22, 0x24, 0x27, 0x11, 0x21, 0x35, 0x21, 0x15, 0x21, 0x15, 0x14, 0x16, 0x33, 0x32, 0x37, 0x11, 0x6, 0x38, 0xFD, 0x9E, 0xB4, 0xF3, 0xFE, 0xE3, 0x2, 0xFE, 0x44, 0x4, 0x58, 0xFE, 0x61, 0x8A, 0x8B, 0xA9, 0xA9, 0x5, 0xB0, 0xFA, 0x50, 0x2, 0x3E, 0x29, 0xD6, 0xF5, 0x1, 0x5, 0xCB, 0xCB, 0xFE, 0x9A, 0x6D, 0x29, 0x2, 0xA7, 0x0, 0x1, 0x0, 0x11, 0x0, 0x0, 0x4, 0xEC, 0x4, 0x3A, 0x0, 0x15, 0x0, 0x0, 0x1, 0x11, 0x23, 0x11, 0x6, 0x23, 0x22, 0x26, 0x35, 0x35, 0x21, 0x35, 0x21, 0x15, 0x21, 0x15, 0x14, 0x16, 0x33, 0x32, 0x37, 0x11, 0x4, 0xEC, 0xF3, 0x63, 0x63, 0xD2, 0xF6, 0xFE, 0xA6, 0x3, 0x84, 0xFE, 0xC9, 0x6A, 0x6B, 0x64, 0x62, 0x4, 0x3A, 0xFB, 0xC6, 0x1, 0x6A, 0x16, 0xC9, 0xD2, 0x89, 0xC2, 0xC2, 0x89, 0x76, 0x62, 0x17, 0x2, 0xC, 0x0, 0x1, 0x0, 0x85, 0x0, 0x0, 0x4, 0xE8, 0x5, 0xC4, 0x0, 0x1B, 0x0, 0x0, 0x1, 0x22, 0x7, 0x11, 0x23, 0x11, 0x34, 0x36, 0x33, 0x32, 0x17, 0x7, 0x26, 0x23, 0x22, 0x6, 0x15, 0x15, 0x36, 0x33, 0x32, 0x4, 0x17, 0x11, 0x23, 0x11, 0x34, 0x26, 0x2, 0xDE, 0xB2, 0xAB, 0xFC, 0xD6, 0xA9, 0x45, 0x3B, 0xA, 0x32, 0x2F, 0x3D, 0x5B, 0xAC, 0xB1, 0xF0, 0x1, 0x18, 0x2, 0xFC, 0x87, 0x3, 0x33, 0x2B, 0xFC, 0xF8, 0x4, 0x4E, 0xB6, 0xC0, 0x11, 0xC2, 0xC, 0x53, 0x5C, 0x7C, 0x2B, 0xCC, 0xFC, 0xFD, 0xCB, 0x2, 0x2E, 0x97, 0x6E, 0x0, 0x1, 0x0, 0x7E, 0x0, 0x0, 0x3, 0xFD, 0x6, 0x1F, 0x0, 0x1B, 0x0, 0x0, 0x1, 0x22, 0x7, 0x11, 0x23, 0x11, 0x34, 0x36, 0x33, 0x32, 0x17, 0x7, 0x26, 0x23, 0x22, 0x6, 0x15, 0x15, 0x36, 0x33, 0x32, 0x16, 0x15, 0x11, 0x23, 0x11, 0x34, 0x26, 0x2, 0x4B, 0x93, 0x48, 0xF2, 0xCF, 0x91, 0x4E, 0x37, 0x9, 0x2A, 0x32, 0x3A, 0x54, 0x76, 0xB7, 0xA0, 0xC0, 0xF3, 0x62, 0x3, 0x88, 0x83, 0xFC, 0xFB, 0x4, 0xC0, 0xC2, 0x9D, 0x10, 0xB1, 0xB, 0x53, 0x56, 0xFC, 0x8A, 0xD0, 0xEA, 0xFD, 0x6C, 0x2, 0x96, 0x83, 0x6F, 0x0, 0x1, 0x0, 0x93, 0xFE, 0x65, 0x7, 0xC6, 0x5, 0xB0, 0x0, 0x1E, 0x0, 0x0, 0x1, 0x20, 0x25, 0x37, 0x16, 0x4, 0x33, 0x32, 0x36, 0x35, 0x34, 0x27, 0x21, 0x11, 0x33, 0x11, 0x21, 0x11, 0x33, 0x11, 0x21, 0x11, 0x33, 0x11, 0x33, 0x16, 0x16, 0x15, 0x14, 0x6, 0x4, 0x5, 0x34, 0xFE, 0x92, 0xFE, 0xC0, 0x54, 0x75, 0x1, 0x39, 0xB8, 0x94, 0xFF, 0x19, 0xF9, 0xD9, 0xFD, 0x1, 0xBD, 0xFC, 0x1, 0xB9, 0xFC, 0x6F, 0x27, 0x32, 0xB6, 0xFE, 0xD4, 0xFE, 0x65, 0x8F, 0xC1, 0x34, 0x4B, 0x3D, 0x44, 0x25, 0x24, 0x5, 0xB0, 0xFB, 0x1A, 0x4, 0xE6, 0xFB, 0x1A, 0x4, 0xE6, 0xFB, 0x1A, 0x3E, 0x78, 0x44, 0x8A, 0x9F, 0x42, 0x0, 0x1, 0x0, 0x7D, 0xFE, 0x6D, 0x6, 0xD0, 0x4, 0x3A, 0x0, 0x1E, 0x0, 0x0, 0x1, 0x20, 0x25, 0x37, 0x16, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x27, 0x21, 0x11, 0x33, 0x11, 0x21, 0x11, 0x33, 0x11, 0x21, 0x11, 0x33, 0x11, 0x33, 0x16, 0x16, 0x15, 0x14, 0x6, 0x6, 0x4, 0xB0, 0xFE, 0xDA, 0xFE, 0xF9, 0x4C, 0x68, 0xE0, 0x94, 0x8B, 0xAE, 0x18, 0xFA, 0xB1, 0xF2, 0x1, 0x53, 0xF3, 0x1, 0x53, 0xF2, 0x83, 0x25, 0x2E, 0x9B, 0xF9, 0xFE, 0x6D, 0x7C, 0xB4, 0x32, 0x39, 0x44, 0x41, 0x27, 0x22, 0x4, 0x3A, 0xFC, 0x89, 0x3, 0x77, 0xFC, 0x89, 0x3, 0x77, 0xFC, 0x89, 0x3F, 0x70, 0x44, 0x81, 0x9C, 0x46, 0xFF, 0xFF, 0x0, 0x66, 0xFF, 0xEC, 0x8, 0xE0, 0x5, 0xC4, 0x0, 0x26, 0x0, 0x34, 0x0, 0x0, 0x0, 0x7, 0x0, 0x34, 0x3, 0xC1, 0x0, 0x0, 0x0, 0x3, 0x0, 0x50, 0xFF, 0xEC, 0x7, 0x3D, 0x4, 0x4E, 0x0, 0x16, 0x0, 0x24, 0x0, 0x32, 0x0, 0x0, 0x5, 0x22, 0x27, 0x6, 0x23, 0x22, 0x0, 0x27, 0x35, 0x34, 0x0, 0x33, 0x32, 0x17, 0x36, 0x36, 0x33, 0x32, 0x0, 0x17, 0x15, 0x14, 0x0, 0x1, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x5, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x5, 0x46, 0xF4, 0x8B, 0x8B, 0xF4, 0xEB, 0xFE, 0xF7, 0x4, 0x1, 0xA, 0xEC, 0xF5, 0x8C, 0x40, 0xC1, 0x7C, 0xEC, 0x1, 0x9, 0x4, 0xFE, 0xF6, 0xFE, 0xE, 0x7D, 0x88, 0x87, 0x7D, 0x7D, 0x89, 0x87, 0x7C, 0xFD, 0x2, 0x7D, 0x88, 0x87, 0x7D, 0x7D, 0x89, 0x87, 0x7C, 0x14, 0xAD, 0xAD, 0x1, 0x33, 0xE6, 0x22, 0xEC, 0x1, 0x3B, 0xAE, 0x51, 0x5D, 0xFE, 0xCD, 0xE7, 0x22, 0xEB, 0xFE, 0xC5, 0x2, 0x26, 0x91, 0xD2, 0xD2, 0x91, 0x15, 0x8F, 0xD5, 0xD5, 0x8F, 0x15, 0x91, 0xD2, 0xD2, 0x91, 0x15, 0x8F, 0xD5, 0xD5, 0x8F, 0x0, 0x5, 0x0, 0x66, 0xFF, 0xEC, 0x5, 0x1F, 0x5, 0xC4, 0x0, 0xD, 0x0, 0x12, 0x0, 0x16, 0x0, 0x1B, 0x0, 0x1F, 0x0, 0x0, 0x1, 0x10, 0x0, 0x21, 0x20, 0x0, 0x11, 0x35, 0x10, 0x0, 0x21, 0x20, 0x0, 0x11, 0x25, 0x11, 0x6, 0x6, 0x7, 0x21, 0x2, 0x27, 0x11, 0x3, 0x11, 0x21, 0x16, 0x16, 0x5, 0x36, 0x13, 0x21, 0x5, 0x1F, 0xFE, 0xB5, 0xFE, 0xF0, 0xFE, 0xF6, 0xFE, 0xAC, 0x1, 0x52, 0x1, 0xA, 0x1, 0x10, 0x1, 0x4D, 0xFD, 0x51, 0x75, 0x8D, 0xA, 0x2, 0xBD, 0x12, 0xF8, 0xA7, 0xFE, 0xF4, 0x6, 0x8E, 0x1, 0x1F, 0xFE, 0xC, 0xFE, 0xF6, 0x2, 0xB3, 0xFE, 0xB4, 0xFE, 0x85, 0x1, 0x7B, 0x1, 0x4C, 0x49, 0x1, 0x4C, 0x1, 0x7C, 0xFE, 0x84, 0xFE, 0xB4, 0x39, 0x1, 0xB5, 0x1C, 0xDD, 0xBC, 0x1, 0x7A, 0x3A, 0xFE, 0x4C, 0xFD, 0x91, 0x1, 0xC8, 0xC3, 0xE8, 0x1E, 0x3B, 0x1, 0x8E, 0x0, 0x5, 0x0, 0x50, 0xFF, 0xEC, 0x4, 0x3E, 0x4, 0x4E, 0x0, 0xD, 0x0, 0x12, 0x0, 0x17, 0x0, 0x1C, 0x0, 0x21, 0x0, 0x0, 0x13, 0x34, 0x0, 0x33, 0x32, 0x0, 0x15, 0x15, 0x14, 0x0, 0x23, 0x22, 0x0, 0x27, 0x25, 0x11, 0x6, 0x6, 0x7, 0x21, 0x26, 0x26, 0x27, 0x11, 0x3, 0x11, 0x23, 0x16, 0x16, 0x17, 0x36, 0x36, 0x37, 0x23, 0x50, 0x1, 0xA, 0xEC, 0xEF, 0x1, 0x9, 0xFE, 0xF7, 0xED, 0xEB, 0xFE, 0xF7, 0x4, 0x1, 0xA3, 0x4D, 0x54, 0xB, 0x2, 0x1, 0xC, 0x55, 0x4D, 0xA7, 0xAC, 0xB, 0x54, 0xF4, 0x4E, 0x55, 0xB, 0xAE, 0x2, 0x27, 0xEC, 0x1, 0x3B, 0xFE, 0xC5, 0xEC, 0x15, 0xEB, 0xFE, 0xC5, 0x1, 0x33, 0xE6, 0x6C, 0x1, 0xC, 0x1B, 0x92, 0x5F, 0x5F, 0x92, 0x1B, 0xFE, 0xF4, 0xFE, 0x4C, 0x1, 0xC, 0x60, 0x91, 0x1C, 0x1A, 0x92, 0x61, 0x0, 0x2, 0x0, 0x28, 0x2, 0x8C, 0x3, 0xA0, 0x5, 0xAD, 0x0, 0xB, 0x0, 0x14, 0x0, 0x0, 0x13, 0x11, 0x23, 0x35, 0x21, 0x11, 0x33, 0x32, 0x16, 0x14, 0x6, 0x23, 0x27, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x23, 0xF6, 0xCE, 0x1, 0x93, 0xAB, 0x94, 0xA6, 0xAC, 0x98, 0xA1, 0x91, 0x4B, 0x45, 0x40, 0x47, 0x9A, 0x2, 0x8C, 0x2, 0x7A, 0xA7, 0xFE, 0xFF, 0xA6, 0xDA, 0xA0, 0xA7, 0x3D, 0x2E, 0x2C, 0x3B, 0x0, 0x2, 0x0, 0x64, 0x2, 0x8C, 0x3, 0xF, 0x5, 0xAD, 0x0, 0x9, 0x0, 0x12, 0x0, 0x0, 0x13, 0x11, 0x33, 0x11, 0x33, 0x32, 0x16, 0x14, 0x6, 0x23, 0x27, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x23, 0x64, 0xC5, 0xAB, 0x95, 0xA6, 0xAC, 0x98, 0xA2, 0x91, 0x4C, 0x44, 0x40, 0x46, 0x9B, 0x2, 0x8C, 0x3, 0x21, 0xFE, 0xFF, 0xA6, 0xDA, 0xA0, 0xA7, 0x3D, 0x2E, 0x2C, 0x3B, 0x0, 0x1, 0xFC, 0x78, 0x4, 0xA4, 0xFF, 0x51, 0x6, 0xE0, 0x0, 0x1F, 0x0, 0x0, 0x3, 0x14, 0x6, 0x23, 0x22, 0x26, 0x27, 0x23, 0x15, 0x23, 0x11, 0x33, 0x15, 0x33, 0x36, 0x36, 0x33, 0x32, 0x16, 0x15, 0x23, 0x26, 0x23, 0x22, 0x7, 0x33, 0x15, 0x23, 0x16, 0x33, 0x32, 0x37, 0xAF, 0x83, 0x61, 0x6E, 0x89, 0xC, 0x62, 0x90, 0x90, 0x64, 0xE, 0x89, 0x6B, 0x58, 0x8B, 0x82, 0x8, 0x59, 0x66, 0xE, 0xA7, 0xA7, 0xD, 0x66, 0x5C, 0x6, 0x5, 0x74, 0x5E, 0x72, 0x82, 0x6A, 0xDF, 0x2, 0x28, 0xD9, 0x65, 0x7B, 0x63, 0x5E, 0x4E, 0x78, 0x62, 0x7B, 0x5C, 0x0, 0x1, 0x0, 0x50, 0xFE, 0x60, 0x2, 0x8, 0x0, 0x9C, 0x0, 0x11, 0x0, 0x0, 0x1, 0x23, 0x22, 0x26, 0x35, 0x35, 0x34, 0x36, 0x33, 0x33, 0x15, 0x23, 0x22, 0x15, 0x14, 0x16, 0x33, 0x33, 0x2, 0x8, 0xAF, 0x85, 0x84, 0x85, 0x84, 0xAF, 0xAE, 0x7B, 0x3B, 0x3E, 0xB0, 0xFE, 0x60, 0xA3, 0x71, 0x13, 0x71, 0xA4, 0x74, 0xB4, 0x43, 0x5D, 0x0, 0x2, 0x0, 0x50, 0xFD, 0xD5, 0x2, 0x8, 0x0, 0x9C, 0x0, 0x10, 0x0, 0x14, 0x0, 0x0, 0x1, 0x23, 0x26, 0x26, 0x35, 0x34, 0x36, 0x33, 0x33, 0x15, 0x23, 0x22, 0x15, 0x14, 0x16, 0x33, 0x33, 0x15, 0x15, 0x21, 0x35, 0x2, 0x8, 0xB3, 0x82, 0x83, 0x85, 0x84, 0xAF, 0xAD, 0x7C, 0x3B, 0x3E, 0xB0, 0xFE, 0x6B, 0xFE, 0x84, 0x1, 0x99, 0x78, 0x6C, 0x9A, 0x73, 0xA0, 0x3D, 0x56, 0xAF, 0x72, 0x72, 0xFF, 0xFF, 0x0, 0x50, 0x3, 0x9A, 0x2, 0x8, 0x5, 0xD6, 0x0, 0x7, 0x6, 0x38, 0x0, 0x0, 0x5, 0x3A, 0x0, 0x2, 0x0, 0x50, 0x2, 0xEA, 0x2, 0x8, 0x5, 0xD5, 0x0, 0x11, 0x0, 0x15, 0x0, 0x0, 0x1, 0x23, 0x22, 0x26, 0x35, 0x35, 0x34, 0x36, 0x33, 0x33, 0x15, 0x23, 0x22, 0x15, 0x14, 0x16, 0x33, 0x33, 0x15, 0x15, 0x21, 0x35, 0x2, 0x8, 0xAF, 0x85, 0x84, 0x85, 0x84, 0xAF, 0xAE, 0x7B, 0x3B, 0x3E, 0xB0, 0xFE, 0x6B, 0x3, 0x99, 0xA4, 0x71, 0x13, 0x71, 0xA3, 0x73, 0xB4, 0x43, 0x5E, 0xAF, 0x74, 0x74, 0x0, 0x1, 0x0, 0x50, 0x3, 0x9A, 0x2, 0x8, 0x5, 0xD6, 0x0, 0x11, 0x0, 0x0, 0x13, 0x35, 0x33, 0x32, 0x35, 0x34, 0x26, 0x23, 0x23, 0x35, 0x33, 0x32, 0x16, 0x15, 0x15, 0x14, 0x6, 0x23, 0x50, 0xAF, 0x7A, 0x3B, 0x3D, 0xB1, 0xAF, 0x84, 0x85, 0x84, 0x85, 0x3, 0x9A, 0x74, 0xB3, 0x42, 0x5F, 0x74, 0xA4, 0x71, 0x12, 0x71, 0xA4, 0x0, 0x2, 0x0, 0x50, 0x2, 0xEA, 0x2, 0xE, 0x5, 0xD6, 0x0, 0x11, 0x0, 0x15, 0x0, 0x0, 0x13, 0x35, 0x33, 0x32, 0x35, 0x34, 0x26, 0x23, 0x23, 0x35, 0x33, 0x32, 0x16, 0x15, 0x15, 0x14, 0x6, 0x23, 0x17, 0x15, 0x21, 0x35, 0x56, 0xAF, 0x7A, 0x3B, 0x3D, 0xB1, 0xAF, 0x84, 0x85, 0x84, 0x85, 0xE0, 0xFE, 0x6B, 0x3, 0x9A, 0x74, 0xB3, 0x42, 0x5F, 0x74, 0xA4, 0x71, 0x12, 0x71, 0xA4, 0x3C, 0x74, 0x74, 0x0, 0x1, 0x0, 0x50, 0xFE, 0x60, 0x2, 0x8, 0x0, 0x9C, 0x0, 0x11, 0x0, 0x0, 0x13, 0x35, 0x33, 0x36, 0x35, 0x34, 0x26, 0x23, 0x23, 0x35, 0x33, 0x32, 0x16, 0x15, 0x15, 0x14, 0x6, 0x23, 0x50, 0xB1, 0x78, 0x3B, 0x3D, 0xB1, 0xAF, 0x84, 0x85, 0x84, 0x85, 0xFE, 0x60, 0x74, 0x1, 0xB2, 0x41, 0x60, 0x74, 0xA4, 0x71, 0x13, 0x71, 0xA3, 0x0, 0x2, 0x0, 0x50, 0xFD, 0xD5, 0x2, 0xE, 0x0, 0x9C, 0x0, 0x11, 0x0, 0x15, 0x0, 0x0, 0x13, 0x35, 0x33, 0x32, 0x35, 0x34, 0x26, 0x23, 0x23, 0x35, 0x33, 0x32, 0x16, 0x15, 0x15, 0x14, 0x6, 0x23, 0x17, 0x15, 0x21, 0x35, 0x56, 0xAD, 0x7C, 0x3B, 0x3D, 0xB1, 0xAF, 0x84, 0x85, 0x84, 0x85, 0xE0, 0xFE, 0x6B, 0xFE, 0x85, 0x74, 0x9F, 0x3B, 0x55, 0x74, 0x99, 0x6B, 0xF, 0x6A, 0x9A, 0x3C, 0x74, 0x74, 0x0, 0x2, 0x0, 0x32, 0xFE, 0xF2, 0x2, 0x6C, 0x5, 0xC4, 0x0, 0x9, 0x0, 0xD, 0x0, 0x0, 0x13, 0x34, 0x36, 0x32, 0x16, 0x15, 0x14, 0x6, 0x22, 0x26, 0x25, 0x11, 0x23, 0x11, 0x32, 0x48, 0x82, 0x49, 0x49, 0x82, 0x48, 0x2, 0x3A, 0xA8, 0x5, 0x48, 0x35, 0x47, 0x47, 0x35, 0x34, 0x47, 0x47, 0x9C, 0xF9, 0x42, 0x6, 0xBE, 0x0, 0x2, 0x0, 0x3C, 0xFE, 0xF2, 0x2, 0x76, 0x5, 0xB0, 0x0, 0x3, 0x0, 0xF, 0x0, 0x0, 0x1, 0x11, 0x23, 0x11, 0x1, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x6, 0x23, 0x22, 0x26, 0x2, 0x76, 0xA7, 0xFE, 0x6D, 0x49, 0x40, 0x41, 0x49, 0x49, 0x41, 0x40, 0x49, 0x5, 0xB0, 0xF9, 0x42, 0x6, 0xBE, 0xFE, 0x1C, 0x35, 0x48, 0x48, 0x35, 0x34, 0x47, 0x47, 0x0, 0x2, 0x0, 0x3C, 0xFE, 0xF2, 0x2, 0x76, 0x5, 0xB0, 0x0, 0x3, 0x0, 0xF, 0x0, 0x0, 0x1, 0x11, 0x23, 0x11, 0x1, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x6, 0x23, 0x22, 0x26, 0x2, 0x76, 0xA7, 0xFE, 0x6D, 0x49, 0x40, 0x41, 0x49, 0x49, 0x41, 0x40, 0x49, 0x5, 0xB0, 0xF9, 0x42, 0x6, 0xBE, 0xFC, 0xA1, 0x35, 0x47, 0x47, 0x35, 0x34, 0x47, 0x47, 0x0, 0x2, 0x0, 0x3C, 0xFE, 0xF2, 0x2, 0x76, 0x5, 0xB0, 0x0, 0x3, 0x0, 0xF, 0x0, 0x0, 0x1, 0x11, 0x23, 0x11, 0x1, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x6, 0x23, 0x22, 0x26, 0x2, 0x76, 0xA7, 0xFE, 0x6D, 0x49, 0x40, 0x41, 0x49, 0x49, 0x41, 0x40, 0x49, 0x5, 0xB0, 0xF9, 0x42, 0x6, 0xBE, 0xFB, 0x25, 0x35, 0x48, 0x48, 0x35, 0x34, 0x47, 0x47, 0x0, 0x2, 0x0, 0x3C, 0xFE, 0xE5, 0x2, 0x76, 0x5, 0xB0, 0x0, 0x3, 0x0, 0xD, 0x0, 0x0, 0x1, 0x11, 0x23, 0x11, 0x0, 0x36, 0x33, 0x32, 0x16, 0x14, 0x6, 0x23, 0x22, 0x26, 0x2, 0x76, 0xA7, 0xFE, 0x6D, 0x49, 0x40, 0x41, 0x49, 0x49, 0x41, 0x40, 0x49, 0x5, 0xB0, 0xF9, 0x42, 0x6, 0xBE, 0xF9, 0xE4, 0x48, 0x48, 0x68, 0x47, 0x47, 0x0, 0x2, 0x0, 0x99, 0xFE, 0xF2, 0x2, 0x9C, 0x5, 0xC4, 0x0, 0x9, 0x0, 0xD, 0x0, 0x0, 0x1, 0x34, 0x36, 0x32, 0x16, 0x15, 0x14, 0x6, 0x22, 0x26, 0x27, 0x11, 0x23, 0x11, 0x1, 0x89, 0x48, 0x82, 0x49, 0x49, 0x82, 0x48, 0x48, 0xA8, 0x5, 0x48, 0x35, 0x47, 0x47, 0x35, 0x34, 0x47, 0x47, 0x9C, 0xF9, 0x42, 0x6, 0xBE, 0x0, 0x2, 0x0, 0x99, 0xFE, 0xF2, 0x2, 0x9C, 0x5, 0xB0, 0x0, 0x3, 0x0, 0xD, 0x0, 0x0, 0x1, 0x11, 0x23, 0x11, 0x13, 0x34, 0x36, 0x32, 0x16, 0x15, 0x14, 0x6, 0x22, 0x26, 0x1, 0x41, 0xA8, 0xF0, 0x48, 0x82, 0x49, 0x49, 0x82, 0x48, 0x5, 0xB0, 0xF9, 0x42, 0x6, 0xBE, 0xFE, 0x1C, 0x35, 0x48, 0x48, 0x35, 0x34, 0x47, 0x47, 0x0, 0x2, 0x0, 0x99, 0xFE, 0xF2, 0x2, 0x9C, 0x5, 0xB0, 0x0, 0x3, 0x0, 0xD, 0x0, 0x0, 0x1, 0x11, 0x23, 0x11, 0x13, 0x34, 0x36, 0x32, 0x16, 0x15, 0x14, 0x6, 0x22, 0x26, 0x1, 0x41, 0xA8, 0xF0, 0x48, 0x82, 0x49, 0x49, 0x82, 0x48, 0x5, 0xB0, 0xF9, 0x42, 0x6, 0xBE, 0xFC, 0xA1, 0x35, 0x47, 0x47, 0x35, 0x34, 0x47, 0x47, 0x0, 0x2, 0x0, 0x99, 0xFE, 0xF2, 0x2, 0x9C, 0x5, 0xB0, 0x0, 0x3, 0x0, 0xD, 0x0, 0x0, 0x1, 0x11, 0x23, 0x11, 0x13, 0x34, 0x36, 0x32, 0x16, 0x15, 0x14, 0x6, 0x22, 0x26, 0x1, 0x41, 0xA8, 0xF0, 0x48, 0x82, 0x49, 0x49, 0x82, 0x48, 0x5, 0xB0, 0xF9, 0x42, 0x6, 0xBE, 0xFB, 0x25, 0x35, 0x48, 0x48, 0x35, 0x34, 0x47, 0x47, 0x0, 0x2, 0x0, 0x99, 0xFE, 0xE5, 0x2, 0x9C, 0x5, 0xB0, 0x0, 0x3, 0x0, 0xB, 0x0, 0x0, 0x1, 0x11, 0x23, 0x11, 0x12, 0x36, 0x32, 0x16, 0x14, 0x6, 0x22, 0x26, 0x1, 0x41, 0xA8, 0xF0, 0x48, 0x82, 0x49, 0x49, 0x82, 0x48, 0x5, 0xB0, 0xF9, 0x42, 0x6, 0xBE, 0xF9, 0xE4, 0x48, 0x48, 0x68, 0x47, 0x47, 0x0, 0x1, 0x0, 0x99, 0xFE, 0xF2, 0x3, 0x4A, 0x5, 0xB0, 0x0, 0x5, 0x0, 0x0, 0x1, 0x21, 0x11, 0x23, 0x11, 0x21, 0x3, 0x4A, 0xFD, 0xF7, 0xA8, 0x2, 0xB1, 0x5, 0x12, 0xF9, 0xE0, 0x6, 0xBE, 0x0, 0x1, 0x0, 0x99, 0xFE, 0xF2, 0x3, 0x4A, 0x5, 0xB0, 0x0, 0x7, 0x0, 0x0, 0x1, 0x21, 0x11, 0x23, 0x11, 0x33, 0x11, 0x21, 0x3, 0x4A, 0xFD, 0xF7, 0xA8, 0xA8, 0x2, 0x9, 0x3, 0x8A, 0xFB, 0x68, 0x6, 0xBE, 0xFE, 0x78, 0x0, 0x1, 0x0, 0x99, 0xFE, 0xF2, 0x3, 0x4A, 0x5, 0xB0, 0x0, 0x7, 0x0, 0x0, 0x1, 0x21, 0x11, 0x23, 0x11, 0x33, 0x11, 0x21, 0x3, 0x4A, 0xFD, 0xF7, 0xA8, 0xA8, 0x2, 0x9, 0x2, 0x2, 0xFC, 0xF0, 0x6, 0xBE, 0xFC, 0xF0, 0x0, 0x1, 0x0, 0x99, 0xFE, 0xF2, 0x3, 0x4A, 0x5, 0xB0, 0x0, 0x7, 0x0, 0x0, 0x25, 0x21, 0x11, 0x23, 0x11, 0x33, 0x11, 0x21, 0x3, 0x4A, 0xFD, 0xF7, 0xA8, 0xA8, 0x2, 0x9, 0x7A, 0xFE, 0x78, 0x6, 0xBE, 0xFB, 0x68, 0x0, 0x1, 0x0, 0x99, 0xFE, 0xF2, 0x3, 0x4A, 0x5, 0xB0, 0x0, 0x5, 0x0, 0x0, 0x13, 0x11, 0x33, 0x11, 0x21, 0x15, 0x99, 0xA8, 0x2, 0x9, 0xFE, 0xF2, 0x6, 0xBE, 0xF9, 0xE0, 0x9E, 0x0, 0x2, 0x0, 0x50, 0x2, 0x8C, 0x2, 0x67, 0x5, 0xB1, 0x0, 0x3, 0x0, 0xD, 0x0, 0x0, 0x1, 0x33, 0x11, 0x23, 0x0, 0x36, 0x33, 0x32, 0x16, 0x14, 0x6, 0x23, 0x22, 0x26, 0x1, 0xB2, 0xB5, 0xB5, 0xFE, 0x9E, 0x3B, 0x37, 0x36, 0x3D, 0x3D, 0x36, 0x37, 0x3B, 0x5, 0xB1, 0xFC, 0xDB, 0x1, 0xC0, 0x3E, 0x3E, 0x5C, 0x3D, 0x3D, 0x0, 0x2, 0x0, 0x55, 0x2, 0x80, 0x3, 0xF, 0x5, 0x3B, 0x0, 0x3, 0x0, 0xB, 0x0, 0x0, 0x1, 0x17, 0x1, 0x27, 0x12, 0x36, 0x32, 0x16, 0x14, 0x6, 0x22, 0x26, 0x2, 0x8D, 0x82, 0xFD, 0xC7, 0x81, 0xB, 0x3C, 0x6C, 0x3D, 0x3D, 0x6C, 0x3C, 0x5, 0x3B, 0x82, 0xFD, 0xC7, 0x82, 0x1, 0xBF, 0x3D, 0x3D, 0x5C, 0x3D, 0x3D, 0x0, 0x2, 0x0, 0x50, 0x3, 0x54, 0x3, 0x75, 0x5, 0x56, 0x0, 0x9, 0x0, 0xD, 0x0, 0x0, 0x0, 0x36, 0x33, 0x32, 0x16, 0x14, 0x6, 0x23, 0x22, 0x26, 0x5, 0x15, 0x21, 0x35, 0x1, 0x6F, 0x3B, 0x37, 0x36, 0x3D, 0x3D, 0x36, 0x37, 0x3B, 0x2, 0x6, 0xFC, 0xDB, 0x5, 0x19, 0x3D, 0x3D, 0x5C, 0x3D, 0x3D, 0xB3, 0xB6, 0xB6, 0x0, 0x1, 0x0, 0x50, 0x3, 0x5E, 0x2, 0xF9, 0x4, 0xD6, 0x0, 0x5, 0x0, 0x0, 0x13, 0x35, 0x21, 0x35, 0x33, 0x11, 0x50, 0x2, 0x1, 0xA8, 0x3, 0x5E, 0x92, 0xE6, 0xFE, 0x88, 0x0, 0x1, 0x0, 0x50, 0x2, 0xB8, 0x2, 0xAC, 0x5, 0xBD, 0x0, 0x8, 0x0, 0x0, 0x1, 0x27, 0x11, 0x23, 0x11, 0x7, 0x35, 0x1, 0x1, 0x2, 0xAC, 0xE3, 0x97, 0xE2, 0x1, 0x2E, 0x1, 0x2E, 0x3, 0xCD, 0xE2, 0xFE, 0x9, 0x1, 0xF6, 0xE1, 0xC3, 0x1, 0x2D, 0xFE, 0xD3, 0x0, 0x1, 0x0, 0x50, 0x2, 0xB8, 0x2, 0xAC, 0x5, 0xBD, 0x0, 0x8, 0x0, 0x0, 0x1, 0x1, 0x35, 0x17, 0x11, 0x33, 0x11, 0x37, 0x15, 0x1, 0x7E, 0xFE, 0xD2, 0xE2, 0x97, 0xE3, 0x2, 0xB8, 0x1, 0x2D, 0xC3, 0xE1, 0x1, 0xF6, 0xFE, 0x9, 0xE2, 0xC3, 0x0, 0x2, 0x0, 0x64, 0x2, 0x7D, 0x1, 0x42, 0x6, 0xBB, 0x0, 0x3, 0x0, 0xD, 0x0, 0x0, 0x1, 0x3, 0x23, 0x3, 0x3, 0x34, 0x36, 0x32, 0x16, 0x15, 0x14, 0x6, 0x22, 0x26, 0x1, 0x3B, 0x11, 0xAD, 0x12, 0x7, 0x3B, 0x68, 0x3B, 0x3B, 0x68, 0x3B, 0x6, 0xBB, 0xFD, 0x3, 0x2, 0xFD, 0xFC, 0x2A, 0x2D, 0x3E, 0x3E, 0x2D, 0x2B, 0x3D, 0x3D, 0x0, 0x2, 0x0, 0x64, 0x2, 0x8C, 0x1, 0x42, 0x6, 0xCA, 0x0, 0x9, 0x0, 0xD, 0x0, 0x0, 0x12, 0x26, 0x35, 0x34, 0x36, 0x32, 0x16, 0x15, 0x14, 0x6, 0x17, 0x13, 0x23, 0x13, 0x9F, 0x3B, 0x3B, 0x68, 0x3B, 0x3B, 0x23, 0x11, 0xD0, 0x12, 0x5, 0xF7, 0x3E, 0x2D, 0x2C, 0x3C, 0x3C, 0x2C, 0x2D, 0x3E, 0x6E, 0xFD, 0x3, 0x2, 0xFD, 0x0, 0x2, 0x0, 0x64, 0x1, 0x4C, 0x1, 0x42, 0x5, 0x8A, 0x0, 0x9, 0x0, 0xD, 0x0, 0x0, 0x12, 0x26, 0x35, 0x34, 0x36, 0x32, 0x16, 0x15, 0x14, 0x6, 0x17, 0x13, 0x23, 0x13, 0x9F, 0x3B, 0x3B, 0x68, 0x3B, 0x3B, 0x23, 0x11, 0xD0, 0x12, 0x4, 0xB7, 0x3E, 0x2D, 0x2C, 0x3C, 0x3C, 0x2C, 0x2D, 0x3E, 0x6E, 0xFD, 0x3, 0x2, 0xFD, 0x0, 0x1, 0x0, 0x50, 0x3, 0xF4, 0x4, 0xAE, 0x6, 0x99, 0x0, 0x9, 0x0, 0x0, 0x1, 0x35, 0x27, 0x11, 0x23, 0x11, 0x1, 0x7, 0x25, 0x15, 0x1, 0xE0, 0xD2, 0xBE, 0x4, 0x5E, 0x34, 0xFE, 0x24, 0x4, 0x83, 0xDD, 0x39, 0xFE, 0x5B, 0x2, 0xA5, 0xFE, 0xCF, 0xBD, 0x81, 0xA9, 0x0, 0x1, 0x0, 0x50, 0xFD, 0xEF, 0x4, 0xAE, 0x1, 0x56, 0x0, 0x9, 0x0, 0x0, 0x1, 0x1, 0x11, 0x33, 0x11, 0x17, 0x35, 0x33, 0x11, 0x5, 0x4, 0x7A, 0xFB, 0xD6, 0xBE, 0xD2, 0xBE, 0x2, 0x10, 0xFD, 0xEF, 0x1, 0x22, 0x2, 0x45, 0xFE, 0x53, 0x39, 0xEC, 0xFE, 0xE0, 0x90, 0x0, 0x2, 0x0, 0x65, 0x0, 0x60, 0x2, 0x65, 0x5, 0xB0, 0x0, 0xF, 0x0, 0x1F, 0x0, 0x0, 0x13, 0x27, 0x33, 0x16, 0x16, 0x17, 0x15, 0x14, 0x6, 0x7, 0x27, 0x36, 0x36, 0x35, 0x34, 0x27, 0x3, 0x27, 0x33, 0x16, 0x16, 0x17, 0x15, 0x14, 0x6, 0x7, 0x27, 0x36, 0x36, 0x35, 0x34, 0x27, 0x66, 0x1, 0x57, 0xD9, 0xCF, 0x1, 0xF4, 0xD3, 0x36, 0x86, 0x85, 0xAE, 0x5F, 0x1, 0x57, 0xD9, 0xCF, 0x1, 0xF4, 0xD3, 0x36, 0x86, 0x85, 0xAE, 0x4, 0xEE, 0xC2, 0x2, 0x97, 0x7E, 0x2, 0x91, 0x97, 0x49, 0xB5, 0x29, 0x4C, 0x34, 0x66, 0x4, 0xFD, 0x3A, 0xC2, 0x2, 0x97, 0x7E, 0x2, 0x91, 0x97, 0x49, 0xB5, 0x29, 0x4C, 0x34, 0x66, 0x4, 0x0, 0x2, 0x0, 0x50, 0xFF, 0xEC, 0x1, 0xEF, 0x4, 0x3A, 0x0, 0xE, 0x0, 0x1D, 0x0, 0x0, 0x13, 0x27, 0x33, 0x16, 0x16, 0x15, 0x14, 0x6, 0x7, 0x27, 0x36, 0x36, 0x35, 0x34, 0x27, 0x3, 0x27, 0x33, 0x16, 0x16, 0x15, 0x14, 0x6, 0x7, 0x27, 0x36, 0x36, 0x35, 0x34, 0x27, 0x55, 0x1, 0x4B, 0xAF, 0xA1, 0xBA, 0xB3, 0x32, 0x6E, 0x51, 0x58, 0x62, 0x1, 0x4B, 0xAF, 0xA1, 0xBA, 0xB3, 0x32, 0x6E, 0x51, 0x58, 0x3, 0x93, 0xA7, 0x2, 0x7E, 0x65, 0x68, 0x7D, 0x41, 0xA6, 0x26, 0x32, 0x28, 0x37, 0x6, 0xFD, 0xBE, 0xA7, 0x2, 0x7E, 0x65, 0x68, 0x7D, 0x41, 0xA6, 0x26, 0x32, 0x28, 0x37, 0x6, 0x0, 0x1, 0x0, 0x57, 0x2, 0x4D, 0x2, 0x5A, 0x5, 0xB0, 0x0, 0xE, 0x0, 0x0, 0x1, 0x15, 0x23, 0x6, 0x15, 0x14, 0x16, 0x17, 0x7, 0x26, 0x2, 0x35, 0x34, 0x36, 0x33, 0x2, 0x57, 0x5D, 0xB0, 0x91, 0x7F, 0x81, 0xAD, 0xD5, 0xD5, 0xDF, 0x5, 0xB0, 0xC2, 0x4, 0x71, 0x58, 0xA9, 0x76, 0xB5, 0xA1, 0x1, 0x2, 0x9A, 0x89, 0x9D, 0x0, 0x1, 0x0, 0x50, 0x1, 0x9F, 0x1, 0xF4, 0x4, 0x3A, 0x0, 0xE, 0x0, 0x0, 0x1, 0x7, 0x23, 0x6, 0x15, 0x14, 0x16, 0x17, 0x7, 0x26, 0x26, 0x35, 0x34, 0x36, 0x33, 0x1, 0xEB, 0x1, 0x42, 0x79, 0x61, 0x64, 0x86, 0x80, 0x9E, 0xA7, 0xB5, 0x4, 0x3A, 0xA7, 0x1, 0x41, 0x2D, 0x86, 0x6F, 0x90, 0x86, 0xC7, 0x69, 0x67, 0x7E, 0x0, 0x1, 0x0, 0x95, 0xFE, 0x4B, 0x5, 0x19, 0x5, 0xB0, 0x0, 0x15, 0x0, 0x0, 0x1, 0x22, 0x27, 0x35, 0x16, 0x33, 0x32, 0x36, 0x35, 0x11, 0x21, 0x11, 0x23, 0x11, 0x33, 0x11, 0x21, 0x11, 0x33, 0x11, 0x14, 0x6, 0x3, 0x83, 0x7B, 0x4A, 0x4B, 0x42, 0x68, 0x69, 0xFD, 0x75, 0xFC, 0xFC, 0x2, 0x8B, 0xFD, 0xCA, 0xFE, 0x4B, 0x1C, 0xBC, 0x10, 0x4A, 0x64, 0x2, 0xC7, 0xFD, 0x78, 0x5, 0xB0, 0xFD, 0xA2, 0x2, 0x5E, 0xFA, 0x11, 0xC5, 0xB1, 0x0, 0x1, 0x0, 0x7E, 0xFE, 0x4B, 0x3, 0xFD, 0x6, 0x0, 0x0, 0x1B, 0x0, 0x0, 0x1, 0x22, 0x27, 0x35, 0x16, 0x33, 0x32, 0x36, 0x35, 0x11, 0x34, 0x26, 0x23, 0x22, 0x7, 0x11, 0x23, 0x11, 0x33, 0x11, 0x36, 0x33, 0x32, 0x16, 0x17, 0x11, 0x14, 0x6, 0x2, 0x68, 0x7B, 0x4A, 0x4B, 0x42, 0x6C, 0x6E, 0x62, 0x5D, 0x93, 0x48, 0xF2, 0xF2, 0x76, 0xB7, 0x9F, 0xC0, 0x1, 0xC9, 0xFE, 0x4B, 0x1C, 0xBC, 0x10, 0x4A, 0x64, 0x2, 0xFA, 0x71, 0x5C, 0x83, 0xFC, 0xFB, 0x6, 0x0, 0xFD, 0xC4, 0x8A, 0xB6, 0xDA, 0xFD, 0x3, 0xC5, 0xB1, 0x0, 0x1, 0x0, 0x2D, 0xFE, 0x4D, 0x5, 0xF1, 0x5, 0xB0, 0x0, 0x24, 0x0, 0x0, 0x1, 0x22, 0x26, 0x26, 0x35, 0x33, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x23, 0x35, 0x1, 0x21, 0x11, 0x23, 0x11, 0x21, 0x35, 0x21, 0x15, 0x21, 0x15, 0x21, 0x17, 0x1, 0x17, 0x16, 0x16, 0x15, 0x14, 0x4, 0x3, 0xDD, 0x7F, 0xE1, 0x8D, 0xF7, 0x7E, 0x7B, 0x86, 0x94, 0x9A, 0x92, 0x8E, 0x1, 0x5B, 0xFE, 0x50, 0xFC, 0xFE, 0x3E, 0x4, 0x83, 0xFE, 0x3B, 0x2, 0xDC, 0x1, 0xFE, 0x87, 0xA, 0xB9, 0xDF, 0xFE, 0xD4, 0xFE, 0x4D, 0x48, 0x9A, 0x7A, 0x3E, 0x58, 0x91, 0x6E, 0x90, 0x7E, 0xAC, 0x1, 0xA7, 0xFC, 0x8D, 0x4, 0xE5, 0xCB, 0xCB, 0xAB, 0x9E, 0xFE, 0x2C, 0x1, 0xE, 0xE0, 0xC8, 0xD7, 0xED, 0x0, 0x1, 0x0, 0x8, 0xFE, 0x4D, 0x5, 0x88, 0x5, 0x41, 0x0, 0x2D, 0x0, 0x0, 0x1, 0x22, 0x24, 0x35, 0x33, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x23, 0x35, 0x1, 0x21, 0x11, 0x14, 0x16, 0x33, 0x32, 0x37, 0x15, 0x6, 0x23, 0x22, 0x26, 0x35, 0x11, 0x23, 0x35, 0x33, 0x11, 0x33, 0x11, 0x21, 0x17, 0x1, 0x17, 0x16, 0x16, 0x15, 0x14, 0x4, 0x3, 0x81, 0xBA, 0xFE, 0xD8, 0xF1, 0x7B, 0x76, 0x84, 0x93, 0x9D, 0x93, 0x8F, 0x1, 0x6F, 0xFD, 0x65, 0x40, 0x31, 0x2A, 0x2B, 0x46, 0x5A, 0x79, 0x9F, 0xB3, 0xB3, 0xF2, 0x3, 0xB0, 0x1, 0xFE, 0x81, 0x3, 0xCA, 0xDC, 0xFE, 0xDC, 0xFE, 0x4D, 0xA3, 0xB5, 0x3D, 0x58, 0x91, 0x6D, 0x93, 0x85, 0xA5, 0x1, 0xBC, 0xFD, 0xA3, 0x49, 0x2B, 0xA, 0xBC, 0x18, 0x89, 0xA7, 0x2, 0x6B, 0xB3, 0x1, 0x7, 0xFE, 0xF9, 0x9B, 0xFE, 0x29, 0x1, 0xC, 0xEC, 0xC1, 0xD6, 0xEB, 0x0, 0x1, 0x0, 0x59, 0xFF, 0xEC, 0x4, 0x20, 0x5, 0xC4, 0x0, 0x26, 0x0, 0x0, 0x1, 0x14, 0x4, 0x23, 0x22, 0x24, 0x35, 0x34, 0x36, 0x37, 0x26, 0x26, 0x35, 0x34, 0x24, 0x33, 0x32, 0x4, 0x15, 0x23, 0x34, 0x26, 0x23, 0x22, 0x15, 0x14, 0x16, 0x33, 0x33, 0x15, 0x23, 0x20, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x4, 0x20, 0xFE, 0xE0, 0xBE, 0xD0, 0xFE, 0xE7, 0x6E, 0x87, 0x71, 0x6E, 0x1, 0x3, 0xD0, 0xCA, 0x1, 0x6, 0xF3, 0x7F, 0x61, 0xDD, 0x7A, 0x7D, 0x90, 0x89, 0xFE, 0xEC, 0x83, 0x70, 0x6C, 0x82, 0x1, 0x87, 0xCB, 0xD0, 0xDF, 0xCD, 0x6B, 0xBC, 0x2D, 0x33, 0xB2, 0x55, 0xCD, 0xD1, 0xE2, 0xAD, 0x5E, 0x6E, 0xDB, 0x62, 0x7D, 0xC0, 0xEF, 0x70, 0x79, 0x78, 0x60, 0x0, 0x1, 0x0, 0x54, 0xFE, 0xA3, 0x4, 0x3A, 0x4, 0x8D, 0x0, 0x17, 0x0, 0x0, 0x1, 0x15, 0x23, 0x4, 0x11, 0x14, 0x16, 0x33, 0x32, 0x37, 0x17, 0x6, 0x23, 0x20, 0x0, 0x11, 0x34, 0x36, 0x37, 0x1, 0x37, 0x21, 0x15, 0x21, 0x2, 0xE9, 0x5A, 0xFE, 0xBE, 0xC6, 0xAD, 0xA7, 0x96, 0x3D, 0xCA, 0xC0, 0xFE, 0xFA, 0xFE, 0xAA, 0xDF, 0x99, 0xFE, 0xAB, 0x1, 0x3, 0x77, 0xFD, 0xBA, 0x2, 0x55, 0x7B, 0x8, 0xFE, 0xE1, 0x90, 0xB6, 0x58, 0xBA, 0x68, 0x1, 0x17, 0x1, 0x3, 0xBE, 0xEA, 0x19, 0x1, 0x80, 0x8F, 0xC4, 0x0, 0x2, 0x0, 0x35, 0xFF, 0xEC, 0x3, 0xA3, 0x5, 0xB0, 0x0, 0x3, 0x0, 0x13, 0x0, 0x0, 0x1, 0x21, 0x11, 0x7, 0x3, 0x22, 0x27, 0x35, 0x16, 0x33, 0x32, 0x36, 0x35, 0x21, 0x27, 0x1, 0x33, 0x11, 0x14, 0x6, 0x1, 0x33, 0x1, 0x7D, 0x11, 0x53, 0x5F, 0x41, 0x2D, 0x2B, 0x50, 0x5C, 0xFD, 0x8B, 0x6, 0x2, 0x74, 0xFA, 0xC8, 0x2, 0x8, 0x2, 0x5D, 0x1E, 0xFB, 0xA5, 0x12, 0xBF, 0x9, 0x3E, 0x52, 0x94, 0x3, 0xD8, 0xFB, 0x96, 0xBB, 0x9F, 0x0, 0x2, 0x0, 0x35, 0xFE, 0x4B, 0x3, 0xA3, 0x4, 0x3B, 0x0, 0x3, 0x0, 0x14, 0x0, 0x0, 0x25, 0x21, 0x11, 0x7, 0x3, 0x22, 0x27, 0x35, 0x16, 0x33, 0x32, 0x36, 0x35, 0x35, 0x21, 0x27, 0x1, 0x33, 0x11, 0x14, 0x6, 0x1, 0x30, 0x1, 0x80, 0x17, 0x6B, 0x44, 0x3E, 0x26, 0x25, 0x4C, 0x6D, 0xFD, 0x8B, 0x6, 0x2, 0x74, 0xFA, 0xD7, 0xC4, 0x2, 0x3A, 0x28, 0xFB, 0x75, 0x11, 0xC0, 0x9, 0x4A, 0x64, 0x3F, 0x94, 0x3, 0xA7, 0xFB, 0x86, 0xB6, 0xC0, 0x0, 0x3, 0x0, 0x35, 0xFF, 0x2C, 0x4, 0xDA, 0x5, 0xB0, 0x0, 0x3, 0x0, 0xC, 0x0, 0x1F, 0x0, 0x0, 0x1, 0x21, 0x11, 0x7, 0x1, 0x15, 0x14, 0x6, 0x7, 0x27, 0x36, 0x37, 0x35, 0x5, 0x22, 0x27, 0x35, 0x16, 0x33, 0x32, 0x36, 0x35, 0x21, 0x27, 0x1, 0x33, 0x11, 0x33, 0x15, 0x23, 0x6, 0x6, 0x1, 0x33, 0x1, 0x7D, 0x11, 0x2, 0x3B, 0x4F, 0x46, 0x80, 0x4A, 0x2, 0xFE, 0x3B, 0x5F, 0x41, 0x2D, 0x2B, 0x50, 0x5C, 0xFD, 0x8B, 0x6, 0x2, 0x74, 0xFA, 0xD1, 0xD1, 0x1, 0xC7, 0x2, 0x8, 0x2, 0x5D, 0x1E, 0xFC, 0x85, 0x4B, 0x57, 0xBF, 0x3F, 0x4E, 0x70, 0x83, 0x5F, 0xE0, 0x12, 0xBF, 0x9, 0x3E, 0x52, 0x94, 0x3, 0xD8, 0xFC, 0x58, 0xC4, 0xBA, 0x9E, 0x0, 0x3, 0x0, 0x35, 0xFD, 0xE8, 0x4, 0xDA, 0x4, 0x3B, 0x0, 0x3, 0x0, 0xC, 0x0, 0x21, 0x0, 0x0, 0x25, 0x21, 0x11, 0x7, 0x1, 0x15, 0x14, 0x6, 0x7, 0x27, 0x36, 0x37, 0x35, 0x1, 0x22, 0x27, 0x35, 0x16, 0x33, 0x32, 0x36, 0x35, 0x35, 0x21, 0x27, 0x1, 0x33, 0x11, 0x33, 0x15, 0x23, 0x15, 0x6, 0x6, 0x1, 0x30, 0x1, 0x80, 0x17, 0x2, 0x41, 0x4F, 0x46, 0x80, 0x4A, 0x2, 0xFE, 0x1D, 0x44, 0x3E, 0x26, 0x25, 0x4C, 0x6D, 0xFD, 0x8B, 0x6, 0x2, 0x74, 0xFA, 0xD2, 0xD2, 0x2, 0xD7, 0xC4, 0x2, 0x3A, 0x28, 0xFC, 0xB2, 0x4C, 0x56, 0xC0, 0x3E, 0x4D, 0x72, 0x82, 0x5F, 0xFE, 0xC3, 0x11, 0xC0, 0x9, 0x4A, 0x64, 0x3F, 0x94, 0x3, 0xA7, 0xFC, 0x89, 0xC4, 0x46, 0xB2, 0xBD, 0x0, 0x1, 0x0, 0x85, 0x0, 0x0, 0x3, 0x4D, 0x4, 0x3A, 0x0, 0x9, 0x0, 0x0, 0x1, 0x21, 0x11, 0x23, 0x11, 0x21, 0x15, 0x21, 0x11, 0x21, 0x3, 0xE, 0xFE, 0x6A, 0xF3, 0x2, 0xC8, 0xFE, 0x2B, 0x1, 0x96, 0x1, 0x89, 0xFE, 0x77, 0x4, 0x3A, 0xC4, 0xFE, 0xC9, 0xFF, 0xFF, 0x0, 0x4C, 0xFF, 0xEC, 0x3, 0xCA, 0x4, 0x4E, 0x0, 0x6, 0x0, 0x58, 0x0, 0x0, 0x0, 0x3, 0x0, 0x12, 0x0, 0x0, 0x8, 0x6C, 0x5, 0xB0, 0x0, 0x2, 0x0, 0x5, 0x0, 0x14, 0x0, 0x0, 0x1, 0x3, 0x3, 0x21, 0xB, 0x3, 0x21, 0x3, 0x21, 0x1, 0x33, 0x1, 0x1, 0x33, 0x1, 0x21, 0x3, 0x21, 0x13, 0x3, 0x7E, 0xD4, 0xD3, 0x4, 0xCF, 0xD3, 0xD3, 0xC5, 0x77, 0xFD, 0xCC, 0x76, 0xFE, 0xF8, 0x2, 0x26, 0xE3, 0x1, 0x24, 0x1, 0x22, 0xE3, 0x2, 0x28, 0xFE, 0xF8, 0x77, 0xFD, 0xD5, 0x81, 0x2, 0x1F, 0x2, 0x5E, 0xFD, 0xA2, 0x2, 0x5D, 0xFD, 0xA3, 0xFD, 0xE1, 0x1, 0x54, 0xFE, 0xAC, 0x5, 0xB0, 0xFC, 0xFD, 0x3, 0x3, 0xFA, 0x50, 0x1, 0x54, 0xFE, 0xAC, 0x0, 0x4, 0x0, 0x5B, 0xFF, 0xEC, 0x6, 0x81, 0x4, 0x4E, 0x0, 0xA, 0x0, 0x14, 0x0, 0x1D, 0x0, 0x45, 0x0, 0x0, 0x1, 0x36, 0x37, 0x33, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x13, 0x32, 0x36, 0x37, 0x35, 0x23, 0x4, 0x15, 0x14, 0x16, 0x20, 0x36, 0x37, 0x35, 0x23, 0x6, 0x15, 0x14, 0x16, 0x5, 0x26, 0x27, 0x6, 0x23, 0x22, 0x26, 0x27, 0x6, 0x6, 0x23, 0x22, 0x26, 0x35, 0x34, 0x24, 0x33, 0x33, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x23, 0x34, 0x36, 0x33, 0x32, 0x17, 0x36, 0x33, 0x32, 0x16, 0x15, 0x11, 0x14, 0x17, 0x15, 0x3, 0xD3, 0x66, 0x8B, 0xA1, 0x64, 0x65, 0x5C, 0x6D, 0xAB, 0x54, 0x7A, 0x19, 0x91, 0xFE, 0xFF, 0x58, 0xFE, 0x22, 0x7A, 0x19, 0x94, 0xFF, 0x58, 0x3, 0xE4, 0x12, 0xA, 0x72, 0xAB, 0x6E, 0xA9, 0x2D, 0x2E, 0xA0, 0x73, 0xA2, 0xCE, 0x1, 0x2, 0xEA, 0x99, 0x5F, 0x5F, 0x57, 0x67, 0xF2, 0xF1, 0xCD, 0xC7, 0x71, 0x7F, 0xC7, 0xB9, 0xF1, 0x29, 0x2, 0x72, 0x22, 0x1, 0x47, 0x55, 0x65, 0x62, 0x60, 0xFD, 0xDB, 0x51, 0x31, 0xCC, 0x5, 0xB0, 0x41, 0x58, 0x51, 0x31, 0xCC, 0x6, 0xAF, 0x41, 0x58, 0xAF, 0x25, 0x40, 0x79, 0x5A, 0x4B, 0x40, 0x65, 0xBA, 0x8A, 0xAD, 0xB8, 0x47, 0x55, 0x65, 0x56, 0x3E, 0x80, 0xCC, 0x67, 0x67, 0xBA, 0xBA, 0xFE, 0x20, 0x92, 0x57, 0x11, 0x0, 0x3, 0x0, 0x12, 0xFF, 0xEC, 0x8, 0x44, 0x5, 0xC4, 0x0, 0x12, 0x0, 0x20, 0x0, 0x23, 0x0, 0x0, 0x5, 0x22, 0x24, 0x27, 0x21, 0x3, 0x21, 0x1, 0x33, 0x13, 0x36, 0x24, 0x33, 0x20, 0x0, 0x11, 0x15, 0x10, 0x0, 0x13, 0x34, 0x2, 0x23, 0x22, 0x2, 0x15, 0x15, 0x14, 0x12, 0x33, 0x32, 0x12, 0x35, 0x5, 0x3, 0x3, 0x5, 0xE9, 0xBA, 0xFE, 0xE6, 0x49, 0xFD, 0xC4, 0x76, 0xFE, 0xF8, 0x2, 0x26, 0xE3, 0x98, 0x3E, 0x1, 0x2A, 0xCC, 0x1, 0x10, 0x1, 0x4D, 0xFE, 0xB5, 0x4E, 0xB9, 0xA7, 0xA2, 0xBC, 0xBE, 0xA2, 0xA8, 0xB6, 0xFC, 0x36, 0xD3, 0xD3, 0x14, 0xBC, 0xAC, 0xFE, 0xAC, 0x5, 0xB0, 0xFE, 0x64, 0xCD, 0xE3, 0xFE, 0x84, 0xFE, 0xB4, 0x49, 0xFE, 0xB4, 0xFE, 0x85, 0x3, 0x12, 0xF5, 0x1, 0x0, 0xFF, 0x0, 0xF5, 0x4B, 0xF5, 0xFE, 0xFE, 0x1, 0x2, 0xF5, 0x94, 0x2, 0x5E, 0xFD, 0xA2, 0x0, 0x3, 0x0, 0x5B, 0xFF, 0xEC, 0x6, 0xCE, 0x4, 0x4E, 0x0, 0xD, 0x0, 0x30, 0x0, 0x3B, 0x0, 0x0, 0x1, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x1, 0x22, 0x26, 0x27, 0x6, 0x6, 0x23, 0x22, 0x26, 0x35, 0x34, 0x24, 0x33, 0x33, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x23, 0x34, 0x36, 0x33, 0x32, 0x17, 0x36, 0x33, 0x32, 0x0, 0x15, 0x15, 0x14, 0x0, 0x25, 0x32, 0x36, 0x37, 0x26, 0x27, 0x23, 0x20, 0x15, 0x14, 0x16, 0x3, 0xD3, 0x7D, 0x88, 0x87, 0x7C, 0x7C, 0x89, 0x87, 0x7C, 0x1, 0x5, 0x87, 0xCD, 0x40, 0x29, 0xC2, 0x8E, 0xA2, 0xCE, 0x1, 0x2, 0xEA, 0x99, 0x5F, 0x5F, 0x57, 0x67, 0xF2, 0xF1, 0xCD, 0xE1, 0x70, 0x86, 0xCF, 0xEF, 0x1, 0x9, 0xFE, 0xF7, 0xFC, 0x38, 0x66, 0x85, 0xC, 0x12, 0x2, 0x83, 0xFE, 0xF0, 0x59, 0x2, 0x12, 0x91, 0xD2, 0xD2, 0x91, 0x15, 0x8F, 0xD5, 0xD5, 0x8F, 0xFD, 0xC5, 0x6B, 0x5D, 0x4A, 0x7E, 0xBA, 0x8A, 0xAD, 0xB8, 0x47, 0x55, 0x65, 0x56, 0x3E, 0x80, 0xCC, 0x80, 0x80, 0xFE, 0xC5, 0xEC, 0x15, 0xEB, 0xFE, 0xC5, 0xC3, 0x75, 0x43, 0x47, 0x4F, 0xB5, 0x41, 0x58, 0x0, 0x2, 0xFF, 0xF6, 0xFF, 0xEC, 0x7, 0xE8, 0x5, 0xB0, 0x0, 0x14, 0x0, 0x17, 0x0, 0x0, 0x5, 0x22, 0x24, 0x27, 0x21, 0x3, 0x21, 0x1, 0x21, 0x11, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x11, 0x33, 0x11, 0x14, 0x4, 0x1, 0x11, 0x1, 0x5, 0xC7, 0xC5, 0xFE, 0xE1, 0x2B, 0xFE, 0x18, 0xB8, 0xFE, 0xDE, 0x3, 0x43, 0x1, 0x6A, 0x9F, 0x85, 0x87, 0x9D, 0xFD, 0xFE, 0xC2, 0xFC, 0xFE, 0xFE, 0x9C, 0x14, 0xB6, 0xB3, 0xFE, 0xAB, 0x5, 0xB0, 0xFC, 0x33, 0x9C, 0x91, 0x91, 0x9C, 0x3, 0xCD, 0xFC, 0x33, 0xFA, 0xFD, 0x2, 0x3F, 0x2, 0x92, 0xFD, 0x6E, 0x0, 0x2, 0x0, 0x5B, 0xFF, 0xEC, 0x6, 0x60, 0x4, 0x4E, 0x0, 0xA, 0x0, 0x31, 0x0, 0x0, 0x25, 0x32, 0x36, 0x37, 0x26, 0x35, 0x23, 0x20, 0x15, 0x14, 0x16, 0x5, 0x27, 0x6, 0x23, 0x22, 0x27, 0x6, 0x6, 0x23, 0x22, 0x26, 0x35, 0x34, 0x24, 0x33, 0x33, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x23, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x11, 0x14, 0x16, 0x33, 0x32, 0x37, 0x11, 0x33, 0x11, 0x1, 0xFD, 0x54, 0x78, 0x1A, 0x3, 0x83, 0xFE, 0xF0, 0x59, 0x3, 0xD5, 0x6, 0x6A, 0xC6, 0xD1, 0x58, 0x32, 0xAD, 0x72, 0xA2, 0xCE, 0x1, 0x2, 0xEA, 0x99, 0x5F, 0x5F, 0x57, 0x67, 0xF2, 0xF1, 0xCD, 0xB6, 0xEC, 0x68, 0x44, 0xAF, 0x40, 0xF3, 0xAF, 0x51, 0x36, 0x23, 0xA4, 0xB5, 0x41, 0x58, 0xAF, 0x6B, 0x7F, 0x90, 0x3B, 0x55, 0xBA, 0x8A, 0xAD, 0xB8, 0x47, 0x55, 0x65, 0x56, 0x3E, 0x80, 0xCC, 0xBA, 0xBA, 0xFE, 0xA3, 0x75, 0x55, 0x7F, 0x3, 0x8, 0xFB, 0xC6, 0x0, 0x2, 0x0, 0x12, 0x0, 0x0, 0x7, 0x53, 0x5, 0xB0, 0x0, 0x2, 0x0, 0xD, 0x0, 0x0, 0x1, 0x3, 0x3, 0x1, 0x3, 0x21, 0x3, 0x21, 0x1, 0x33, 0x1, 0x1, 0x21, 0x1, 0x3, 0x84, 0xD6, 0xD7, 0x2, 0x69, 0x76, 0xFD, 0xC6, 0x76, 0xFE, 0xF8, 0x2, 0x26, 0xFD, 0x1, 0x96, 0x1, 0x72, 0x1, 0x16, 0xFD, 0xF4, 0x2, 0x1F, 0x2, 0x6A, 0xFD, 0x96, 0xFD, 0xE1, 0x1, 0x54, 0xFE, 0xAC, 0x5, 0xB0, 0xFB, 0x8B, 0x4, 0x75, 0xFA, 0x50, 0x0, 0x2, 0x0, 0x5B, 0xFF, 0xEC, 0x6, 0x43, 0x4, 0x4E, 0x0, 0x8, 0x0, 0x27, 0x0, 0x0, 0x24, 0x36, 0x37, 0x35, 0x23, 0x6, 0x15, 0x14, 0x16, 0x5, 0x26, 0x27, 0x6, 0x23, 0x22, 0x26, 0x35, 0x34, 0x24, 0x33, 0x33, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x23, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x11, 0x37, 0x1, 0x33, 0x1, 0x2, 0x4D, 0x7A, 0x19, 0x94, 0xFF, 0x58, 0x1, 0x5F, 0x12, 0xA, 0x73, 0xAA, 0xA2, 0xCE, 0x1, 0x2, 0xEA, 0x99, 0x5F, 0x5F, 0x57, 0x67, 0xF2, 0xF1, 0xCD, 0xB5, 0xE7, 0x5A, 0x1, 0x1F, 0xFE, 0xFD, 0xE8, 0xAF, 0x51, 0x31, 0xCC, 0x6, 0xAF, 0x41, 0x58, 0xAF, 0x25, 0x41, 0x7A, 0xBA, 0x8A, 0xAD, 0xB8, 0x47, 0x55, 0x65, 0x56, 0x3E, 0x80, 0xCC, 0xBA, 0xBA, 0xFD, 0xF3, 0xF7, 0x2, 0x76, 0xFB, 0xC6, 0x0, 0x3, 0x0, 0x12, 0x0, 0x0, 0x7, 0x53, 0x5, 0xB0, 0x0, 0x2, 0x0, 0xE, 0x0, 0x11, 0x0, 0x0, 0x1, 0x3, 0x3, 0x1, 0x3, 0x21, 0x3, 0x21, 0x1, 0x33, 0x1, 0x21, 0x13, 0x21, 0x1, 0x3, 0x37, 0x23, 0x3, 0x42, 0x94, 0x95, 0x2, 0x27, 0xBB, 0xFE, 0x51, 0xBC, 0xFE, 0xF8, 0x2, 0x26, 0xFD, 0x1, 0x1, 0x1, 0x1D, 0xEA, 0x1, 0x16, 0xFD, 0xF4, 0x7C, 0x49, 0x99, 0x2, 0xDD, 0x1, 0xAC, 0xFE, 0x54, 0xFD, 0x23, 0x2, 0x1D, 0xFD, 0xE3, 0x5, 0xB0, 0xFD, 0x2D, 0x2, 0xD3, 0xFA, 0x50, 0x1, 0x3B, 0xE2, 0x0, 0x3, 0x0, 0x5B, 0xFF, 0xEC, 0x6, 0x43, 0x4, 0x4E, 0x0, 0x3, 0x0, 0xC, 0x0, 0x2B, 0x0, 0x0, 0x1, 0x37, 0x23, 0x11, 0x4, 0x36, 0x37, 0x35, 0x23, 0x6, 0x15, 0x14, 0x16, 0x5, 0x26, 0x27, 0x6, 0x23, 0x22, 0x26, 0x35, 0x34, 0x24, 0x33, 0x33, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x23, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x15, 0x33, 0x13, 0x33, 0x1, 0x4, 0x2B, 0x1A, 0x79, 0xFE, 0x81, 0x7A, 0x19, 0x94, 0xFF, 0x58, 0x1, 0x5F, 0x12, 0xA, 0x73, 0xAA, 0xA2, 0xCE, 0x1, 0x2, 0xEA, 0x99, 0x5F, 0x5F, 0x57, 0x67, 0xF2, 0xF1, 0xCD, 0xB5, 0xE7, 0xBD, 0xBC, 0xFE, 0xFD, 0xE8, 0x1, 0xC4, 0x39, 0xFE, 0xCA, 0x18, 0x51, 0x31, 0xCC, 0x6, 0xAF, 0x41, 0x58, 0xAF, 0x25, 0x41, 0x7A, 0xBA, 0x8A, 0xAD, 0xB8, 0x47, 0x55, 0x65, 0x56, 0x3E, 0x80, 0xCC, 0xBA, 0xBA, 0x45, 0x1, 0xA5, 0xFB, 0xC6, 0x0, 0x2, 0x0, 0x12, 0xFE, 0x4B, 0x7, 0x5D, 0x5, 0xB0, 0x0, 0x2, 0x0, 0x17, 0x0, 0x0, 0x1, 0x3, 0x3, 0x1, 0x22, 0x27, 0x35, 0x17, 0x32, 0x36, 0x37, 0x37, 0x3, 0x21, 0x3, 0x21, 0x1, 0x33, 0x1, 0x1, 0x21, 0x1, 0x6, 0x6, 0x3, 0x7E, 0xD4, 0xD3, 0x1, 0xD7, 0x2C, 0x55, 0x2E, 0x54, 0x55, 0x26, 0x16, 0x7B, 0xFD, 0xCB, 0x76, 0xFE, 0xF8, 0x2, 0x26, 0xE3, 0x1, 0xA6, 0x1, 0x95, 0x1, 0x7, 0xFD, 0xB2, 0x2E, 0xA7, 0x2, 0x1F, 0x2, 0x5E, 0xFD, 0xA2, 0xFC, 0x2C, 0x11, 0xBD, 0x4, 0x42, 0x63, 0x3B, 0x1, 0x5F, 0xFE, 0xAC, 0x5, 0xB0, 0xFB, 0xA8, 0x4, 0x58, 0xF9, 0xB7, 0x7F, 0x9D, 0x0, 0x2, 0x0, 0x5B, 0xFE, 0x4B, 0x6, 0x4D, 0x4, 0x4E, 0x0, 0x8, 0x0, 0x2D, 0x0, 0x0, 0x24, 0x36, 0x37, 0x35, 0x23, 0x4, 0x15, 0x14, 0x16, 0x13, 0x22, 0x27, 0x35, 0x17, 0x32, 0x37, 0x37, 0x27, 0x6, 0x23, 0x22, 0x26, 0x35, 0x34, 0x24, 0x33, 0x33, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x23, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x11, 0x1, 0x33, 0x1, 0x2, 0x2, 0x4D, 0x7A, 0x19, 0x91, 0xFF, 0x0, 0x56, 0x8A, 0x2C, 0x55, 0x2E, 0xAA, 0x5A, 0x9, 0x9, 0x70, 0xA5, 0xA2, 0xCE, 0x1, 0x2, 0xEA, 0x99, 0x5F, 0x5F, 0x57, 0x67, 0xF2, 0xF1, 0xCD, 0xB5, 0xE7, 0x1, 0x84, 0xFD, 0xFD, 0x8A, 0x92, 0xAF, 0x51, 0x31, 0xCC, 0x5, 0xB2, 0x41, 0x56, 0xFD, 0x9C, 0x11, 0xBC, 0x3, 0x72, 0xC, 0xCB, 0x72, 0xBA, 0x8A, 0xAD, 0xB8, 0x47, 0x55, 0x65, 0x56, 0x3E, 0x80, 0xCC, 0xBA, 0xBA, 0xFE, 0x16, 0x3, 0x4A, 0xFB, 0x2F, 0xFE, 0xE2, 0x0, 0x2, 0x0, 0x4D, 0xFF, 0xEC, 0x4, 0xD3, 0x5, 0xC4, 0x0, 0xB, 0x0, 0x27, 0x0, 0x0, 0x1, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x6, 0x23, 0x22, 0x26, 0x5, 0x33, 0x16, 0x16, 0x33, 0x32, 0x36, 0x37, 0x35, 0x34, 0x2, 0x23, 0x22, 0x6, 0x7, 0x23, 0x36, 0x0, 0x21, 0x20, 0x0, 0x11, 0x15, 0x10, 0x0, 0x21, 0x20, 0x0, 0x1, 0xE9, 0x49, 0x40, 0x41, 0x49, 0x49, 0x41, 0x40, 0x49, 0xFE, 0x64, 0xFC, 0x11, 0x86, 0x9D, 0xAB, 0xAC, 0x1, 0x9C, 0xB1, 0xA3, 0x89, 0x12, 0xFC, 0x14, 0x1, 0x1A, 0x1, 0xC, 0x1, 0xD, 0x1, 0x3E, 0xFE, 0xBD, 0xFE, 0xED, 0xFE, 0xFA, 0xFE, 0xEC, 0x2, 0xD6, 0x35, 0x48, 0x48, 0x35, 0x34, 0x47, 0x47, 0xC1, 0x8B, 0x9D, 0xFA, 0xE4, 0x7D, 0xDA, 0x1, 0xA, 0x96, 0x8C, 0xD5, 0x1, 0x19, 0xFE, 0x8B, 0xFE, 0xC5, 0x76, 0xFE, 0xC5, 0xFE, 0x89, 0x1, 0x1B, 0x0, 0x2, 0x0, 0x3B, 0xFF, 0xEC, 0x3, 0xE1, 0x4, 0x4E, 0x0, 0xB, 0x0, 0x27, 0x0, 0x0, 0x1, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x6, 0x23, 0x22, 0x26, 0x5, 0x33, 0x16, 0x16, 0x33, 0x32, 0x36, 0x35, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x7, 0x23, 0x36, 0x36, 0x33, 0x32, 0x12, 0x17, 0x15, 0x14, 0x2, 0x23, 0x22, 0x24, 0x1, 0x72, 0x42, 0x3B, 0x3C, 0x42, 0x42, 0x3C, 0x3B, 0x42, 0xFE, 0xC9, 0xE5, 0x5, 0x7A, 0x58, 0x95, 0x62, 0x62, 0x95, 0x63, 0x6F, 0x5, 0xE5, 0x5, 0xF1, 0xC4, 0xF7, 0xF3, 0x2, 0xF3, 0xFA, 0xB4, 0xFF, 0x0, 0x2, 0x19, 0x32, 0x45, 0x45, 0x32, 0x31, 0x45, 0x45, 0x82, 0x4F, 0x68, 0xD9, 0x83, 0x24, 0x81, 0xDB, 0x7D, 0x57, 0xB3, 0xE4, 0xFE, 0xC4, 0xDD, 0x2A, 0xDF, 0xFE, 0xC0, 0xDD, 0xFF, 0xFF, 0x0, 0x14, 0x0, 0x0, 0x5, 0x65, 0x5, 0xB0, 0x0, 0x26, 0x0, 0x30, 0x4D, 0x0, 0x0, 0x7, 0x7, 0xA4, 0xFF, 0x84, 0x1, 0xE1, 0xFF, 0xFF, 0x0, 0x14, 0x0, 0x0, 0x4, 0x99, 0x6, 0x0, 0x0, 0x26, 0x0, 0x50, 0x62, 0x0, 0x0, 0x7, 0x7, 0xA4, 0xFF, 0x84, 0x2, 0x6, 0x0, 0x1, 0x0, 0x95, 0x0, 0x0, 0x5, 0x18, 0x5, 0xB0, 0x0, 0x14, 0x0, 0x0, 0x1, 0x37, 0x27, 0x7, 0x11, 0x23, 0x11, 0x33, 0x11, 0x37, 0x1, 0x21, 0x1, 0x17, 0x37, 0x17, 0x7, 0x1, 0x21, 0x3, 0x7, 0x2, 0x2B, 0x9F, 0x93, 0xA6, 0xFC, 0xFC, 0x8D, 0x1, 0xAA, 0x1, 0x32, 0xFD, 0xE3, 0xA8, 0x9A, 0x6C, 0xA4, 0x1, 0x31, 0xFE, 0xD4, 0xC1, 0x94, 0x1, 0x1E, 0x84, 0xD4, 0xB0, 0xFE, 0x3A, 0x5, 0xB0, 0xFD, 0x54, 0xAE, 0x1, 0xFE, 0xFD, 0x7C, 0xEE, 0x80, 0x83, 0x89, 0xFE, 0x4E, 0x1, 0x16, 0x7C, 0x0, 0x1, 0x0, 0x7D, 0x0, 0x0, 0x4, 0x36, 0x6, 0x0, 0x0, 0x14, 0x0, 0x0, 0x25, 0x37, 0x27, 0x7, 0x11, 0x23, 0x11, 0x33, 0x11, 0x37, 0x1, 0x21, 0x1, 0x17, 0x37, 0x17, 0x7, 0x13, 0x21, 0x27, 0x7, 0x1, 0xB5, 0x8C, 0x64, 0x6E, 0xF2, 0xF2, 0x4D, 0x1, 0x2B, 0x1, 0x24, 0xFE, 0x6E, 0x75, 0xBB, 0x6C, 0xC5, 0xE6, 0xFE, 0xE7, 0x7C, 0x80, 0xCC, 0x74, 0x92, 0x71, 0xFE, 0x9F, 0x6, 0x0, 0xFC, 0x8A, 0x60, 0x1, 0x50, 0xFE, 0x3D, 0xA6, 0x9C, 0x84, 0xA4, 0xFE, 0xBB, 0xB4, 0x6B, 0x0, 0x1, 0x0, 0x14, 0x0, 0x0, 0x5, 0x66, 0x5, 0xB0, 0x0, 0x1C, 0x0, 0x0, 0x1, 0x37, 0x27, 0x7, 0x11, 0x23, 0x11, 0x23, 0x35, 0x33, 0x35, 0x33, 0x15, 0x33, 0x15, 0x23, 0x11, 0x37, 0x1, 0x21, 0x1, 0x17, 0x37, 0x17, 0x7, 0x1, 0x21, 0x3, 0x7, 0x2, 0x78, 0x9F, 0x93, 0xA5, 0xFD, 0xCE, 0xCE, 0xFD, 0xD3, 0xD3, 0x8C, 0x1, 0xAA, 0x1, 0x32, 0xFD, 0xE3, 0xA8, 0x9A, 0x6C, 0xA4, 0x1, 0x32, 0xFE, 0xD3, 0xC1, 0x94, 0x1, 0x1E, 0x84, 0xD4, 0xAF, 0xFE, 0x39, 0x4, 0x68, 0xAA, 0x9E, 0x9E, 0xAA, 0xFE, 0x9E, 0xAC, 0x1, 0xFE, 0xFD, 0x7D, 0xEF, 0x80, 0x83, 0x88, 0xFE, 0x4D, 0x1, 0x16, 0x7C, 0x0, 0x1, 0x0, 0x14, 0x0, 0x0, 0x4, 0x99, 0x6, 0x0, 0x0, 0x1C, 0x0, 0x0, 0x25, 0x37, 0x27, 0x7, 0x11, 0x23, 0x11, 0x23, 0x35, 0x33, 0x35, 0x33, 0x15, 0x33, 0x15, 0x23, 0x11, 0x37, 0x1, 0x21, 0x1, 0x17, 0x37, 0x17, 0x7, 0x13, 0x21, 0x27, 0x7, 0x2, 0x18, 0x8C, 0x65, 0x6D, 0xF2, 0xCC, 0xCC, 0xF2, 0xE0, 0xE0, 0x4D, 0x1, 0x2B, 0x1, 0x24, 0xFE, 0x6D, 0x76, 0xBB, 0x6C, 0xC5, 0xE6, 0xFE, 0xE7, 0x7C, 0x80, 0xCC, 0x74, 0x92, 0x70, 0xFE, 0x9E, 0x4, 0x8D, 0xAA, 0xC9, 0xC9, 0xAA, 0xFD, 0xFD, 0x60, 0x1, 0x50, 0xFE, 0x3E, 0xA7, 0x9C, 0x84, 0xA4, 0xFE, 0xBB, 0xB4, 0x6B, 0x0, 0x1, 0x0, 0x95, 0x0, 0x0, 0x4, 0xC0, 0x5, 0xB0, 0x0, 0x9, 0x0, 0x0, 0x1, 0x23, 0x11, 0x33, 0x11, 0x33, 0x11, 0x21, 0x15, 0x21, 0x1, 0x5B, 0xC6, 0xFC, 0xC6, 0x2, 0x69, 0xFC, 0x9B, 0x2, 0x8F, 0x3, 0x21, 0xFD, 0xAA, 0xFD, 0x70, 0xCA, 0x0, 0x1, 0x0, 0x64, 0x0, 0x0, 0x2, 0x17, 0x6, 0x1, 0x0, 0x7, 0x0, 0x0, 0x1, 0x23, 0x11, 0x33, 0x11, 0x33, 0x11, 0x23, 0x1, 0x24, 0xC0, 0xF3, 0xC0, 0xF3, 0x2, 0xB4, 0x3, 0x4D, 0xFD, 0x76, 0xFC, 0x89, 0xFF, 0xFF, 0x0, 0x14, 0x0, 0x0, 0x4, 0x76, 0x5, 0xB0, 0x0, 0x26, 0x0, 0x31, 0x4F, 0x0, 0x0, 0x7, 0x7, 0xA4, 0xFF, 0x84, 0x2, 0x8, 0xFF, 0xFF, 0x0, 0x14, 0x0, 0x0, 0x2, 0xB2, 0x6, 0x0, 0x0, 0x26, 0x0, 0x51, 0x5D, 0x0, 0x0, 0x7, 0x7, 0xA4, 0xFF, 0x84, 0x2, 0x19, 0x0, 0x3, 0x0, 0x14, 0xFF, 0xEC, 0x6, 0x56, 0x5, 0xC4, 0x0, 0x6, 0x0, 0xC, 0x0, 0x1E, 0x0, 0x0, 0x1, 0x22, 0x6, 0x7, 0x21, 0x26, 0x26, 0x3, 0x20, 0x13, 0x21, 0x16, 0x16, 0x1, 0x23, 0x2, 0x0, 0x21, 0x22, 0x0, 0x3, 0x23, 0x35, 0x33, 0x12, 0x0, 0x33, 0x20, 0x0, 0x13, 0x33, 0x3, 0x34, 0x98, 0xBA, 0xB, 0x2, 0xBB, 0xB, 0xB7, 0x9A, 0x1, 0x43, 0x19, 0xFD, 0x45, 0xD, 0xBB, 0x3, 0xB7, 0xC7, 0x11, 0xFE, 0xBA, 0xFE, 0xFE, 0xFD, 0xFE, 0xB3, 0x12, 0xC6, 0xC6, 0x10, 0x1, 0x4C, 0xFE, 0x1, 0x3, 0x1, 0x48, 0x10, 0xC7, 0x4, 0xF3, 0xE1, 0xD8, 0xD8, 0xE1, 0xFB, 0xC9, 0x1, 0xB4, 0xD5, 0xDF, 0x1, 0xB4, 0xFE, 0xD2, 0xFE, 0xAA, 0x1, 0x56, 0x1, 0x2E, 0xCA, 0x1, 0x31, 0x1, 0x59, 0xFE, 0xA7, 0xFE, 0xCF, 0x0, 0x3, 0x0, 0x1B, 0xFF, 0xEC, 0x5, 0x2F, 0x4, 0x4E, 0x0, 0x6, 0x0, 0xD, 0x0, 0x1F, 0x0, 0x0, 0x1, 0x22, 0x6, 0x7, 0x21, 0x26, 0x26, 0x3, 0x32, 0x36, 0x37, 0x21, 0x16, 0x16, 0x1, 0x23, 0x6, 0x0, 0x23, 0x22, 0x0, 0x27, 0x23, 0x35, 0x33, 0x36, 0x0, 0x33, 0x32, 0x0, 0x17, 0x33, 0x2, 0xA4, 0x71, 0x7B, 0x10, 0x1, 0xFA, 0x10, 0x7C, 0x70, 0x73, 0x7C, 0xF, 0xFE, 0x2, 0xF, 0x7C, 0x2, 0xFE, 0x97, 0x17, 0xFE, 0xFD, 0xD8, 0xD9, 0xFE, 0xFC, 0x17, 0x97, 0x99, 0x19, 0x1, 0x2, 0xD5, 0xD7, 0x1, 0x3, 0x18, 0x99, 0x3, 0x8B, 0x98, 0x70, 0x70, 0x98, 0xFD, 0x24, 0x9C, 0x75, 0x75, 0x9C, 0x1, 0x11, 0xCC, 0xFE, 0xF8, 0x1, 0x8, 0xCC, 0xC3, 0xC8, 0x1, 0x3, 0xFE, 0xFD, 0xC8, 0x0, 0x3, 0x0, 0x66, 0xFF, 0xEC, 0x5, 0xCC, 0x5, 0xC5, 0x0, 0x16, 0x0, 0x1F, 0x0, 0x2D, 0x0, 0x0, 0x5, 0x20, 0x0, 0x11, 0x35, 0x10, 0x0, 0x21, 0x32, 0x17, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x6, 0x7, 0x16, 0x15, 0x15, 0x10, 0x0, 0x13, 0x22, 0x7, 0x16, 0x17, 0x36, 0x35, 0x34, 0x26, 0x3, 0x34, 0x2, 0x23, 0x22, 0x2, 0x15, 0x15, 0x14, 0x12, 0x33, 0x32, 0x12, 0x35, 0x2, 0xC4, 0xFE, 0xF6, 0xFE, 0xAC, 0x1, 0x52, 0x1, 0xA, 0xB2, 0x88, 0x4E, 0x72, 0x74, 0x9C, 0x6E, 0x50, 0x11, 0xFE, 0xB5, 0xE8, 0x30, 0x24, 0x52, 0x2F, 0x4B, 0x45, 0xCD, 0xB9, 0xA7, 0xA2, 0xBD, 0xBF, 0xA2, 0xA8, 0xB6, 0x14, 0x1, 0x7B, 0x1, 0x4C, 0x49, 0x1, 0x4C, 0x1, 0x7C, 0x54, 0x55, 0x94, 0x73, 0x59, 0x8D, 0x1A, 0x5C, 0x66, 0x49, 0xFE, 0xB4, 0xFE, 0x85, 0x5, 0x4D, 0x21, 0x57, 0x7C, 0x1E, 0x56, 0x37, 0x49, 0xFD, 0xC5, 0xF5, 0x1, 0x0, 0xFF, 0x0, 0xF5, 0x4B, 0xF5, 0xFE, 0xFE, 0x1, 0x2, 0xF5, 0x0, 0x3, 0x0, 0x50, 0xFF, 0xEC, 0x4, 0xF5, 0x4, 0x9A, 0x0, 0x15, 0x0, 0x1E, 0x0, 0x2C, 0x0, 0x0, 0x5, 0x22, 0x0, 0x27, 0x35, 0x34, 0x0, 0x33, 0x32, 0x17, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x6, 0x7, 0x16, 0x15, 0x14, 0x0, 0x13, 0x22, 0x7, 0x16, 0x17, 0x36, 0x35, 0x34, 0x26, 0x1, 0x32, 0x36, 0x35, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x15, 0x14, 0x16, 0x2, 0x48, 0xEB, 0xFE, 0xF7, 0x4, 0x1, 0xA, 0xEC, 0x6F, 0x5D, 0x4F, 0x88, 0x6E, 0x9E, 0x6E, 0x50, 0x7, 0xFE, 0xF7, 0xB4, 0x3B, 0x25, 0x5B, 0x2F, 0x4E, 0x45, 0xFE, 0x2C, 0x86, 0x7D, 0x7C, 0x89, 0x87, 0x7D, 0x7D, 0x14, 0x1, 0x33, 0xE6, 0x22, 0xEC, 0x1, 0x3B, 0x26, 0x72, 0x87, 0x85, 0x5E, 0x88, 0x18, 0x33, 0x4B, 0xEB, 0xFE, 0xC5, 0x4, 0x22, 0x2E, 0x4D, 0x7A, 0x1D, 0x58, 0x37, 0x49, 0xFC, 0xA1, 0xD2, 0x91, 0x15, 0x8F, 0xD5, 0xD5, 0x8F, 0x15, 0x91, 0xD2, 0xFF, 0xFF, 0x0, 0x66, 0xFF, 0xEC, 0x8, 0xDB, 0x5, 0xC4, 0x0, 0x26, 0x0, 0x34, 0x0, 0x0, 0x0, 0x7, 0x0, 0x34, 0x3, 0xBC, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x50, 0xFF, 0xEC, 0x7, 0x39, 0x4, 0x4E, 0x0, 0x26, 0x0, 0x54, 0x0, 0x0, 0x0, 0x7, 0x0, 0x54, 0x2, 0xFB, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x14, 0x0, 0x0, 0x5, 0x20, 0x5, 0xB0, 0x0, 0x26, 0x0, 0x35, 0x4C, 0x0, 0x0, 0x7, 0x7, 0xA4, 0xFF, 0x84, 0xFE, 0x75, 0xFF, 0xFF, 0x0, 0xD, 0xFE, 0x60, 0x4, 0x94, 0x4, 0x4E, 0x0, 0x26, 0x0, 0x55, 0x63, 0x0, 0x0, 0x7, 0x7, 0xA4, 0xFF, 0x7D, 0xFC, 0x75, 0x0, 0x2, 0x0, 0x28, 0x0, 0x0, 0x5, 0xEA, 0x5, 0xB0, 0x0, 0x8, 0x0, 0x20, 0x0, 0x0, 0x1, 0x11, 0x21, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x1, 0x11, 0x23, 0x11, 0x23, 0x22, 0x6, 0x15, 0x14, 0x17, 0x23, 0x26, 0x35, 0x34, 0x36, 0x33, 0x11, 0x21, 0x32, 0x0, 0x15, 0x14, 0x4, 0x23, 0x2, 0xA8, 0x1, 0x30, 0x93, 0x82, 0x82, 0x93, 0xFE, 0xD0, 0xFD, 0xD, 0x67, 0x44, 0x11, 0xC0, 0x1C, 0xD9, 0xAA, 0x2, 0x2D, 0xFE, 0x1, 0x14, 0xFE, 0xEC, 0xFE, 0x4, 0xE5, 0xFE, 0x3, 0x8A, 0x6D, 0x66, 0xA0, 0xFD, 0x38, 0xFD, 0xE3, 0x2, 0x1D, 0x62, 0x5B, 0x53, 0x44, 0x4A, 0x79, 0xBF, 0x9D, 0x2, 0xC8, 0xFE, 0xFA, 0xC9, 0xD3, 0xF1, 0x0, 0x2, 0x0, 0x22, 0xFE, 0x60, 0x5, 0x6C, 0x4, 0x4E, 0x0, 0xB, 0x0, 0x2B, 0x0, 0x0, 0x25, 0x32, 0x36, 0x35, 0x35, 0x34, 0x26, 0x23, 0x22, 0x7, 0x11, 0x16, 0x17, 0x22, 0x27, 0x11, 0x23, 0x11, 0x26, 0x23, 0x22, 0x6, 0x15, 0x14, 0x17, 0x23, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x17, 0x11, 0x33, 0x17, 0x36, 0x33, 0x32, 0x12, 0x15, 0x15, 0x14, 0x2, 0x3, 0x78, 0x8B, 0x76, 0x76, 0x83, 0x94, 0x42, 0x5F, 0x90, 0x7F, 0x70, 0xF3, 0x34, 0x23, 0x3D, 0x3A, 0x10, 0xBC, 0x1B, 0xAB, 0x6D, 0x3B, 0x42, 0xE0, 0xA, 0x6C, 0xB7, 0xCE, 0xDA, 0xE1, 0xAE, 0xD4, 0x90, 0x15, 0x92, 0xCF, 0x7B, 0xFD, 0xC7, 0x26, 0xC2, 0x20, 0xFE, 0x54, 0x2, 0x11, 0x16, 0x6C, 0x54, 0x4D, 0x4B, 0x47, 0x7D, 0xAA, 0xB8, 0x17, 0x2, 0xFC, 0x6D, 0x81, 0xFE, 0xD0, 0xF7, 0x15, 0xEC, 0xFE, 0xC6, 0x0, 0x2, 0x0, 0x28, 0x0, 0x0, 0x5, 0xF1, 0x6, 0xF, 0x0, 0x8, 0x0, 0x26, 0x0, 0x0, 0x1, 0x11, 0x21, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x1, 0x11, 0x23, 0x11, 0x26, 0x26, 0x35, 0x34, 0x36, 0x35, 0x34, 0x26, 0x27, 0x37, 0x16, 0x16, 0x15, 0x14, 0x6, 0x15, 0x14, 0x33, 0x11, 0x21, 0x32, 0x0, 0x15, 0x14, 0x4, 0x23, 0x2, 0xAE, 0x1, 0x30, 0x93, 0x82, 0x82, 0x93, 0xFE, 0xD0, 0xFD, 0x9F, 0xDC, 0x68, 0x47, 0x2F, 0x93, 0x51, 0x57, 0x65, 0xB3, 0x2, 0x2D, 0xFE, 0x1, 0x15, 0xFE, 0xEB, 0xFE, 0x4, 0xE5, 0xFE, 0x3, 0x8A, 0x6D, 0x66, 0xA0, 0xFD, 0x38, 0xFD, 0xE3, 0x2, 0x1D, 0x1, 0x7F, 0xA7, 0x76, 0xB7, 0x55, 0x44, 0x54, 0x2A, 0x87, 0x4D, 0x92, 0x59, 0x6D, 0xBC, 0x59, 0x6D, 0x2, 0xC8, 0xFE, 0xFA, 0xC9, 0xD3, 0xF1, 0x0, 0x2, 0x0, 0x2B, 0xFE, 0x60, 0x5, 0x57, 0x4, 0x4E, 0x0, 0xB, 0x0, 0x30, 0x0, 0x0, 0x25, 0x32, 0x36, 0x35, 0x35, 0x34, 0x26, 0x23, 0x22, 0x7, 0x11, 0x16, 0x17, 0x22, 0x27, 0x11, 0x23, 0x11, 0x2E, 0x2, 0x35, 0x34, 0x36, 0x35, 0x34, 0x26, 0x27, 0x37, 0x16, 0x16, 0x15, 0x14, 0x6, 0x15, 0x14, 0x16, 0x17, 0x11, 0x33, 0x17, 0x36, 0x33, 0x32, 0x12, 0x15, 0x15, 0x14, 0x2, 0x3, 0x64, 0x8B, 0x76, 0x76, 0x83, 0x94, 0x42, 0x6F, 0x8F, 0x82, 0x7C, 0xF3, 0x56, 0xAB, 0x71, 0x66, 0x3D, 0x2F, 0x90, 0x52, 0x55, 0x5E, 0x5C, 0x43, 0xDF, 0xB, 0x6C, 0xB7, 0xCE, 0xD9, 0xDA, 0xAF, 0xD3, 0x90, 0x15, 0x92, 0xCF, 0x7B, 0xFD, 0xC2, 0x20, 0xC3, 0x1C, 0xFE, 0x58, 0x1, 0xF3, 0x1C, 0x49, 0x76, 0x61, 0x6B, 0xB2, 0x5C, 0x36, 0x47, 0x2B, 0x88, 0x4C, 0x87, 0x53, 0x60, 0xB6, 0x50, 0x36, 0x47, 0x19, 0x3, 0x24, 0x6D, 0x81, 0xFE, 0xD0, 0xF8, 0x14, 0xEC, 0xFE, 0xC6, 0x0, 0x2, 0x0, 0x60, 0xFE, 0x75, 0x5, 0x9A, 0x5, 0xC4, 0x0, 0xD, 0x0, 0x28, 0x0, 0x0, 0x1, 0x34, 0x2, 0x23, 0x22, 0x2, 0x15, 0x15, 0x14, 0x12, 0x33, 0x32, 0x12, 0x35, 0x13, 0x27, 0x7, 0x27, 0x37, 0x27, 0x6, 0x23, 0x20, 0x0, 0x11, 0x35, 0x10, 0x0, 0x21, 0x20, 0x0, 0x11, 0x15, 0x14, 0x2, 0x7, 0x17, 0x37, 0x17, 0x7, 0x17, 0x4, 0x1C, 0xB9, 0xA7, 0xA2, 0xBC, 0xBE, 0xA2, 0xA8, 0xB6, 0xDF, 0x94, 0x94, 0x7C, 0x89, 0x9F, 0x3F, 0x44, 0xFE, 0xF6, 0xFE, 0xAC, 0x1, 0x52, 0x1, 0xA, 0x1, 0x10, 0x1, 0x4D, 0x84, 0x76, 0x57, 0xA9, 0x7B, 0x9C, 0x9A, 0x2, 0xFE, 0xF5, 0x1, 0x0, 0xFF, 0x0, 0xF5, 0x4B, 0xF5, 0xFE, 0xFE, 0x1, 0x2, 0xF5, 0xFB, 0xE5, 0x76, 0x99, 0x77, 0x8E, 0x7F, 0xD, 0x1, 0x7B, 0x1, 0x4C, 0x49, 0x1, 0x4C, 0x1, 0x7C, 0xFE, 0x84, 0xFE, 0xB4, 0x49, 0xCE, 0xFE, 0xCE, 0x58, 0x45, 0xAE, 0x78, 0xA1, 0x7A, 0xFF, 0xFF, 0x0, 0x50, 0xFE, 0x60, 0x4, 0xD7, 0x4, 0x4E, 0x0, 0x26, 0x0, 0x56, 0x0, 0x0, 0x0, 0x7, 0x7, 0xA4, 0x1, 0xA9, 0xFC, 0x75, 0x0, 0x2, 0x0, 0x60, 0xFE, 0x82, 0x6, 0xCD, 0x5, 0xC4, 0x0, 0xD, 0x0, 0x31, 0x0, 0x0, 0x1, 0x34, 0x2, 0x23, 0x22, 0x2, 0x15, 0x15, 0x14, 0x12, 0x33, 0x32, 0x12, 0x35, 0x13, 0x27, 0x7, 0x27, 0x37, 0x27, 0x6, 0x23, 0x20, 0x0, 0x11, 0x35, 0x10, 0x0, 0x21, 0x20, 0x0, 0x11, 0x15, 0x14, 0x2, 0x7, 0x17, 0x1, 0x36, 0x37, 0x36, 0x26, 0x27, 0x37, 0x16, 0x17, 0x14, 0x7, 0x1, 0x17, 0x4, 0x1B, 0xB9, 0xA7, 0xA1, 0xBD, 0xBF, 0xA1, 0xA8, 0xB6, 0xDF, 0x93, 0x8B, 0x7F, 0x7E, 0x9B, 0x3F, 0x44, 0xFE, 0xF6, 0xFE, 0xAD, 0x1, 0x51, 0x1, 0xA, 0x1, 0x10, 0x1, 0x4E, 0x84, 0x76, 0x55, 0x1, 0x19, 0x6F, 0xB, 0xA, 0x52, 0x2E, 0x9D, 0x9E, 0x1, 0xBF, 0xFE, 0xF3, 0x96, 0x2, 0xFE, 0xF5, 0x1, 0x0, 0xFF, 0x0, 0xF5, 0x4B, 0xF5, 0xFE, 0xFE, 0x1, 0x2, 0xF5, 0xFB, 0xE5, 0x75, 0x8B, 0x7E, 0x7E, 0x7B, 0xD, 0x1, 0x7B, 0x1, 0x4C, 0x49, 0x1, 0x4C, 0x1, 0x7C, 0xFE, 0x84, 0xFE, 0xB4, 0x49, 0xCE, 0xFE, 0xCE, 0x58, 0x44, 0x1, 0x19, 0x6F, 0x58, 0x58, 0x8F, 0x3C, 0x73, 0xC4, 0xAA, 0xA6, 0xC4, 0xFE, 0xF3, 0x77, 0x0, 0x2, 0x0, 0x50, 0xFE, 0x60, 0x5, 0x9B, 0x4, 0x4E, 0x0, 0x1F, 0x0, 0x2B, 0x0, 0x0, 0x1, 0x23, 0x35, 0x7, 0x27, 0x37, 0x35, 0x6, 0x23, 0x22, 0x2, 0x35, 0x35, 0x34, 0x12, 0x33, 0x32, 0x17, 0x37, 0x33, 0x11, 0x37, 0x36, 0x37, 0x36, 0x26, 0x27, 0x37, 0x16, 0x12, 0x7, 0x7, 0x25, 0x32, 0x37, 0x11, 0x26, 0x23, 0x22, 0x6, 0x15, 0x15, 0x14, 0x16, 0x4, 0x3, 0xF3, 0x80, 0x7E, 0xFE, 0x6A, 0xAA, 0xCA, 0xE2, 0xE1, 0xCD, 0xB4, 0x6B, 0xD, 0xD9, 0x58, 0x6C, 0xA, 0xA, 0x52, 0x2E, 0x9E, 0x9E, 0x4, 0xCF, 0xC9, 0xFE, 0x36, 0x92, 0x45, 0x46, 0x8F, 0x83, 0x76, 0x74, 0xFE, 0x60, 0xA3, 0x7A, 0x7E, 0xF4, 0x62, 0x71, 0x1, 0x3A, 0xED, 0x14, 0xF7, 0x1, 0x30, 0x7E, 0x6A, 0xFC, 0xAA, 0x54, 0x68, 0x57, 0x56, 0x91, 0x3C, 0x73, 0xC4, 0xFE, 0xA8, 0xC6, 0xC0, 0xC4, 0x7C, 0x1, 0xEA, 0x76, 0xD2, 0x92, 0x15, 0x91, 0xD2, 0x0, 0x1, 0x0, 0x14, 0x0, 0x0, 0x3, 0xF9, 0x5, 0xC4, 0x0, 0x15, 0x0, 0x0, 0x21, 0x21, 0x1, 0x36, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x7, 0x27, 0x36, 0x21, 0x32, 0x16, 0x15, 0x14, 0x6, 0x7, 0x1, 0x3, 0xF9, 0xFE, 0xFC, 0xFE, 0x52, 0xAF, 0xE5, 0x76, 0x88, 0x65, 0x8B, 0x59, 0x80, 0xCB, 0x1, 0x10, 0xE6, 0xFD, 0xC6, 0x8C, 0x1, 0x79, 0x2, 0x6F, 0x56, 0xA8, 0x91, 0x66, 0x94, 0x44, 0x4A, 0x93, 0xC7, 0xEC, 0xCA, 0xA9, 0xE0, 0x55, 0xFD, 0xDD, 0x0, 0x1, 0x0, 0xD, 0x0, 0x0, 0x3, 0x1E, 0x4, 0x46, 0x0, 0x16, 0x0, 0x0, 0x21, 0x21, 0x1, 0x36, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x7, 0x27, 0x36, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x6, 0x7, 0x1, 0x3, 0x1E, 0xFE, 0xFB, 0xFE, 0xC4, 0x86, 0x9D, 0x58, 0x43, 0x42, 0x62, 0x3D, 0x77, 0x4B, 0xAB, 0x73, 0xAB, 0xD3, 0x8C, 0x64, 0x1, 0x1A, 0x1, 0xD4, 0x36, 0x7F, 0x5E, 0x4D, 0x4D, 0x2A, 0x29, 0x92, 0x3C, 0x4A, 0xBA, 0xA1, 0x7B, 0x99, 0x35, 0xFE, 0x67, 0x0, 0x1, 0x0, 0x22, 0xFE, 0x60, 0x4, 0xE2, 0x5, 0xC5, 0x0, 0x1D, 0x0, 0x0, 0x21, 0x23, 0x11, 0x23, 0x11, 0x21, 0x35, 0x36, 0x12, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x7, 0x27, 0x36, 0x33, 0x32, 0x4, 0x15, 0x14, 0x0, 0x7, 0x21, 0x11, 0x33, 0x11, 0x33, 0x4, 0xE2, 0xAE, 0xFC, 0xFC, 0xFA, 0xBD, 0xFC, 0x7D, 0x86, 0x7A, 0x7F, 0x6B, 0x5C, 0x93, 0xD2, 0xCC, 0x1, 0x13, 0xFE, 0xEC, 0xDC, 0x1, 0xC2, 0xFC, 0xAE, 0xFE, 0x60, 0x1, 0xA0, 0xAF, 0xB7, 0x1, 0x10, 0xF3, 0x8D, 0x74, 0x89, 0x3E, 0xAF, 0x61, 0xDB, 0xE3, 0xD9, 0xFE, 0x6D, 0xD1, 0x1, 0x8E, 0xFE, 0x72, 0x0, 0x1, 0x0, 0x22, 0xFE, 0x60, 0x4, 0xE2, 0x6, 0x1F, 0x0, 0x1B, 0x0, 0x0, 0x21, 0x23, 0x11, 0x23, 0x11, 0x21, 0x35, 0x0, 0x0, 0x35, 0x10, 0x21, 0x22, 0x7, 0x27, 0x36, 0x33, 0x32, 0x4, 0x15, 0x14, 0x0, 0x7, 0x21, 0x11, 0x33, 0x11, 0x33, 0x4, 0xE2, 0xB7, 0xF3, 0xFC, 0xFA, 0x1, 0x21, 0x1, 0x1B, 0xFE, 0xFF, 0x7A, 0x69, 0x68, 0x95, 0xC2, 0xD4, 0x1, 0x14, 0xFE, 0xE6, 0xDF, 0x1, 0xD0, 0xF3, 0xB7, 0xFE, 0x60, 0x1, 0xA0, 0xA8, 0x1, 0x14, 0x1, 0xC0, 0xD5, 0x1, 0xB, 0x40, 0xA3, 0x60, 0xD6, 0xE8, 0xDC, 0xFE, 0x22, 0xE4, 0x1, 0x95, 0xFE, 0x6B, 0x0, 0x1, 0x0, 0x12, 0xFF, 0x83, 0x5, 0x1D, 0x6, 0x1D, 0x0, 0xE, 0x0, 0x0, 0x21, 0x27, 0x7, 0x23, 0x13, 0x1, 0x21, 0x13, 0x1, 0x33, 0x1, 0x17, 0x1, 0x21, 0x1, 0x2, 0x1C, 0x21, 0x46, 0xC0, 0xA1, 0xFE, 0x7C, 0x1, 0x15, 0xE7, 0x1, 0xB, 0xBF, 0xFE, 0x95, 0x29, 0x1, 0x71, 0x1, 0x16, 0xFD, 0xF4, 0x5C, 0xD9, 0x1, 0xF2, 0x4, 0x3B, 0xFD, 0x35, 0x3, 0x38, 0xFB, 0x9F, 0x7E, 0x4, 0x72, 0xFA, 0x50, 0x0, 0x1, 0x0, 0x17, 0xFF, 0x83, 0x3, 0xDB, 0x5, 0x1, 0x0, 0xE, 0x0, 0x0, 0x21, 0x27, 0x7, 0x23, 0x13, 0x3, 0x33, 0x13, 0x13, 0x33, 0x3, 0x17, 0x13, 0x33, 0x1, 0x1, 0x91, 0x1F, 0x3F, 0xB7, 0x94, 0xF9, 0xFB, 0x6A, 0xA3, 0xB6, 0xFD, 0x24, 0xE4, 0xFB, 0xFE, 0x89, 0x58, 0xD5, 0x1, 0xEF, 0x2, 0xC8, 0xFE, 0xA3, 0x2, 0x24, 0xFC, 0xAB, 0x77, 0x3, 0x5, 0xFB, 0xC6, 0x0, 0x1, 0x0, 0x31, 0xFE, 0x4B, 0x6, 0xE5, 0x5, 0xB0, 0x0, 0x16, 0x0, 0x0, 0x1, 0x22, 0x27, 0x35, 0x17, 0x32, 0x36, 0x37, 0x37, 0x23, 0x1, 0x1, 0x23, 0x1, 0x33, 0x13, 0x1, 0x33, 0x1, 0x13, 0x33, 0x1, 0x2, 0x4, 0x27, 0x2C, 0x55, 0x2E, 0x59, 0x68, 0x17, 0xE, 0x17, 0xFE, 0xEB, 0xFE, 0xE5, 0xF2, 0xFE, 0xB0, 0xFB, 0xE2, 0x1, 0x16, 0xD4, 0x1, 0x10, 0xE2, 0xFB, 0xFE, 0x90, 0x49, 0xFE, 0x4B, 0x11, 0xBD, 0x4, 0x44, 0x67, 0x40, 0x4, 0x26, 0xFB, 0xDA, 0x5, 0xB0, 0xFB, 0xBD, 0x4, 0x43, 0xFB, 0xC5, 0x4, 0x3B, 0xF9, 0xD4, 0xFE, 0xC7, 0xFF, 0xFF, 0x0, 0x17, 0xFE, 0x4B, 0x6, 0xAB, 0x4, 0x3A, 0x0, 0x26, 0x0, 0x5B, 0x0, 0x0, 0x0, 0x7, 0x0, 0x5E, 0x2, 0xD4, 0x0, 0x0, 0x0, 0x1, 0x0, 0x4A, 0xFF, 0xEB, 0x4, 0x3D, 0x7, 0x8C, 0x0, 0x2E, 0x0, 0x0, 0x5, 0x22, 0x26, 0x26, 0x35, 0x33, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x23, 0x35, 0x25, 0x23, 0x26, 0x24, 0x35, 0x34, 0x24, 0x33, 0x32, 0x16, 0x16, 0x15, 0x23, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x14, 0x16, 0x33, 0x21, 0x17, 0x1, 0x16, 0x16, 0x15, 0x14, 0x4, 0x2, 0x3D, 0x77, 0xE1, 0x90, 0xFA, 0x83, 0x6B, 0x7A, 0x89, 0x96, 0x8D, 0x8D, 0x1, 0x2D, 0x71, 0xF6, 0xFE, 0xF4, 0x1, 0x1E, 0xE2, 0x7D, 0xE1, 0x8E, 0xFA, 0x88, 0x6A, 0x7C, 0x87, 0x89, 0x84, 0x1, 0xBF, 0x1, 0xFE, 0xAE, 0xB5, 0xC6, 0xFE, 0xDF, 0x15, 0x58, 0xBC, 0x95, 0x59, 0x7F, 0x81, 0x64, 0x86, 0x73, 0xAE, 0xED, 0x2, 0xD4, 0xD4, 0xD0, 0xDD, 0x5C, 0xBB, 0x8F, 0x5A, 0x7B, 0x7D, 0x5F, 0x7E, 0x6D, 0x9B, 0xFE, 0xEC, 0x1C, 0xD1, 0xBC, 0xD0, 0xE1, 0x0, 0x1, 0x0, 0x51, 0xFE, 0x4B, 0x4, 0x4A, 0x6, 0x9E, 0x0, 0x2D, 0x0, 0x0, 0x1, 0x22, 0x26, 0x26, 0x35, 0x33, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x23, 0x35, 0x1, 0x23, 0x26, 0x24, 0x35, 0x34, 0x24, 0x33, 0x32, 0x16, 0x16, 0x15, 0x23, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x14, 0x5, 0x21, 0x17, 0x1, 0x16, 0x16, 0x15, 0x14, 0x4, 0x2, 0x4A, 0x77, 0xE1, 0x90, 0xF3, 0x85, 0x70, 0x80, 0x8E, 0x9B, 0x93, 0x8E, 0x1, 0x61, 0xAE, 0xF4, 0xFE, 0xF6, 0x1, 0x1E, 0xE2, 0x7D, 0xE1, 0x8E, 0xF3, 0x8B, 0x6E, 0x83, 0x8A, 0x1, 0xC, 0x1, 0xC9, 0x1, 0xFE, 0x89, 0xCA, 0xDD, 0xFE, 0xDF, 0xFE, 0x4B, 0x58, 0xBB, 0x95, 0x5E, 0x87, 0x85, 0x64, 0x97, 0x82, 0xAB, 0x1, 0x84, 0x3, 0xE0, 0xD0, 0xCF, 0xDD, 0x5D, 0xBB, 0x8E, 0x60, 0x83, 0x85, 0x65, 0xF3, 0x5, 0x9B, 0xFE, 0x5C, 0x17, 0xE7, 0xC5, 0xCC, 0xE0, 0x0, 0x2, 0x0, 0x14, 0x0, 0x0, 0x4, 0xCE, 0x5, 0xB0, 0x0, 0x8, 0x0, 0x1D, 0x0, 0x0, 0x1, 0x11, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x3, 0x11, 0x23, 0x11, 0x23, 0x35, 0x33, 0x35, 0x33, 0x15, 0x33, 0x15, 0x23, 0x15, 0x21, 0x16, 0x4, 0x15, 0x14, 0x4, 0x23, 0x1, 0xD7, 0xF6, 0x91, 0x7D, 0x7D, 0x91, 0xF6, 0xF3, 0xD0, 0xD0, 0xF3, 0xDB, 0xDB, 0x1, 0x2, 0xF3, 0x1, 0x2, 0xFE, 0xF8, 0xF9, 0x3, 0xA3, 0xFE, 0x4C, 0x8A, 0x52, 0x53, 0x85, 0xFD, 0x89, 0xFE, 0xD4, 0x4, 0xB6, 0xAB, 0x4F, 0x4F, 0xAB, 0x50, 0x3, 0xE7, 0xAF, 0xB3, 0xEE, 0x0, 0x2, 0x0, 0x14, 0xFE, 0x60, 0x4, 0x99, 0x6, 0x0, 0x0, 0xB, 0x0, 0x23, 0x0, 0x0, 0x25, 0x32, 0x36, 0x35, 0x35, 0x34, 0x26, 0x23, 0x22, 0x7, 0x11, 0x16, 0x3, 0x23, 0x11, 0x23, 0x35, 0x33, 0x35, 0x33, 0x15, 0x33, 0x15, 0x23, 0x15, 0x36, 0x33, 0x32, 0x12, 0x15, 0x15, 0x14, 0x2, 0x23, 0x22, 0x27, 0x2, 0xB0, 0x83, 0x74, 0x76, 0x83, 0x94, 0x42, 0x43, 0x43, 0xF3, 0xD1, 0xD1, 0xF3, 0xDA, 0xDA, 0x6B, 0xAF, 0xCE, 0xD9, 0xD9, 0xCB, 0xB1, 0x6C, 0xAF, 0xD3, 0x91, 0x14, 0x92, 0xCF, 0x7B, 0xFE, 0x20, 0x7E, 0xFD, 0xB1, 0x6, 0x60, 0xAB, 0x95, 0x95, 0xAB, 0xE8, 0x76, 0xFE, 0xD0, 0xF8, 0x14, 0xEC, 0xFE, 0xC6, 0x75, 0x0, 0x2, 0x0, 0x14, 0xFF, 0x38, 0x4, 0xCE, 0x5, 0xB0, 0x0, 0x8, 0x0, 0x1D, 0x0, 0x0, 0x1, 0x11, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x3, 0x23, 0x15, 0x23, 0x35, 0x23, 0x35, 0x33, 0x11, 0x33, 0x11, 0x33, 0x16, 0x4, 0x15, 0x14, 0x4, 0x23, 0x23, 0x15, 0x33, 0x1, 0xD7, 0xF6, 0x91, 0x7D, 0x7D, 0x91, 0x1B, 0xDB, 0xF3, 0xD0, 0xD0, 0xF3, 0xFE, 0xF5, 0x1, 0x4, 0xFE, 0xF8, 0xF9, 0xF6, 0xDB, 0x3, 0xD6, 0xFE, 0x19, 0x95, 0x5C, 0x5F, 0x97, 0xFC, 0x2A, 0xC8, 0xC8, 0xAB, 0x5, 0x5, 0xFE, 0xE9, 0x2, 0xF8, 0xBD, 0xBE, 0xF8, 0x81, 0x0, 0x2, 0x0, 0x14, 0xFE, 0x60, 0x4, 0x99, 0x6, 0x0, 0x0, 0xB, 0x0, 0x23, 0x0, 0x0, 0x25, 0x32, 0x36, 0x35, 0x35, 0x34, 0x26, 0x23, 0x22, 0x7, 0x11, 0x16, 0x13, 0x23, 0x15, 0x23, 0x35, 0x23, 0x35, 0x33, 0x11, 0x33, 0x11, 0x36, 0x33, 0x32, 0x12, 0x15, 0x15, 0x14, 0x2, 0x23, 0x22, 0x27, 0x15, 0x33, 0x2, 0xB0, 0x83, 0x74, 0x76, 0x83, 0x95, 0x41, 0x43, 0x97, 0xDA, 0xF3, 0xD1, 0xD1, 0xF3, 0x6B, 0xAF, 0xCE, 0xD9, 0xD9, 0xCB, 0xB1, 0x6C, 0xDA, 0xAF, 0xD3, 0x91, 0x14, 0x92, 0xCF, 0x7E, 0xFE, 0x25, 0x80, 0xFE, 0x46, 0x95, 0x95, 0xAB, 0x6, 0x60, 0xFD, 0xD8, 0x76, 0xFE, 0xD0, 0xF8, 0x14, 0xEC, 0xFE, 0xC6, 0x75, 0xC1, 0x0, 0x1, 0x0, 0x95, 0xFE, 0x60, 0x4, 0x6E, 0x5, 0xB0, 0x0, 0x7, 0x0, 0x0, 0x1, 0x23, 0x11, 0x33, 0x11, 0x1, 0x21, 0x1, 0x1, 0x91, 0xFC, 0xFC, 0x1, 0xCF, 0x1, 0xE, 0xFD, 0x23, 0xFE, 0x60, 0x7, 0x50, 0xFC, 0x7, 0x3, 0xF9, 0xF9, 0xFB, 0x0, 0x1, 0x0, 0x7D, 0xFE, 0x60, 0x3, 0xCB, 0x4, 0x3A, 0x0, 0x7, 0x0, 0x0, 0x1, 0x23, 0x11, 0x33, 0x11, 0x1, 0x33, 0x1, 0x1, 0x70, 0xF3, 0xF3, 0x1, 0x60, 0xFB, 0xFD, 0xA5, 0xFE, 0x60, 0x5, 0xDA, 0xFC, 0xE9, 0x3, 0x17, 0xFB, 0x29, 0x0, 0x1, 0x0, 0x25, 0x0, 0x0, 0x3, 0xC9, 0x5, 0xC5, 0x0, 0x22, 0x0, 0x0, 0x33, 0x35, 0x21, 0x32, 0x36, 0x35, 0x34, 0x25, 0x23, 0x35, 0x33, 0x36, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x23, 0x34, 0x24, 0x33, 0x32, 0x16, 0x15, 0x14, 0x6, 0x7, 0x16, 0x15, 0x14, 0x4, 0x23, 0x73, 0x1, 0x30, 0x8D, 0x9C, 0xFE, 0xF5, 0x8A, 0x81, 0x86, 0x78, 0x5A, 0x71, 0x5D, 0x6F, 0xFA, 0x1, 0x8, 0xBB, 0xDC, 0xEF, 0x7B, 0x6D, 0xFE, 0xFE, 0xCB, 0xF1, 0xCB, 0x72, 0x6B, 0xE1, 0x6, 0xC9, 0x1, 0x72, 0x60, 0x56, 0x72, 0x6C, 0x59, 0xBD, 0xDA, 0xDB, 0xB7, 0x67, 0xA5, 0x2F, 0x5C, 0xFC, 0xD3, 0xCD, 0x0, 0x1, 0x0, 0x21, 0xFE, 0x6D, 0x3, 0x6C, 0x4, 0x4D, 0x0, 0x23, 0x0, 0x0, 0x13, 0x35, 0x33, 0x36, 0x36, 0x35, 0x10, 0x25, 0x23, 0x35, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x23, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x6, 0x7, 0x16, 0x16, 0x15, 0x14, 0x4, 0x23, 0x6E, 0xF6, 0x91, 0x85, 0xFE, 0xEF, 0x76, 0x90, 0x69, 0x67, 0x4D, 0x5A, 0x45, 0x54, 0xF2, 0xE4, 0xA5, 0xC4, 0xD7, 0x65, 0x55, 0x70, 0x71, 0xFE, 0xFE, 0xEC, 0xFE, 0x6D, 0xBC, 0x1, 0x8E, 0x6A, 0x1, 0x1, 0x6, 0xA9, 0x8A, 0x6B, 0x56, 0x75, 0x58, 0x3B, 0x98, 0xB6, 0xD4, 0xAA, 0x69, 0xA9, 0x30, 0x33, 0xC1, 0x80, 0xBB, 0xF1, 0x0, 0x2, 0x0, 0x46, 0xFF, 0xEC, 0x4, 0x1C, 0x5, 0xC5, 0x0, 0x7, 0x0, 0x20, 0x0, 0x0, 0x1, 0x33, 0x32, 0x35, 0x34, 0x23, 0x22, 0x7, 0x1, 0x22, 0x27, 0x37, 0x16, 0x33, 0x32, 0x37, 0x11, 0x21, 0x35, 0x21, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x10, 0x5, 0x23, 0x11, 0x14, 0x6, 0x2, 0x60, 0x39, 0x9A, 0x67, 0x6A, 0x2, 0xFE, 0x7D, 0x50, 0x47, 0x7, 0x34, 0x3A, 0xA8, 0x1, 0xFE, 0xE9, 0x1, 0x17, 0x9B, 0xCA, 0xA7, 0xAC, 0xFE, 0x94, 0x50, 0xCC, 0x4, 0x17, 0x8A, 0x69, 0x86, 0xFB, 0x68, 0x15, 0xBD, 0x9, 0xB5, 0x1, 0xF2, 0xBB, 0x2F, 0x94, 0xEB, 0xAD, 0x7F, 0xFE, 0xCC, 0x9, 0xFE, 0x10, 0xC3, 0xBD, 0x0, 0x2, 0x0, 0x49, 0xFE, 0x4B, 0x4, 0x18, 0x5, 0xFB, 0x0, 0xA, 0x0, 0x24, 0x0, 0x0, 0x1, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x1, 0x22, 0x27, 0x37, 0x16, 0x33, 0x32, 0x37, 0x11, 0x21, 0x35, 0x21, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x6, 0x23, 0x23, 0x11, 0x14, 0x6, 0x2, 0x57, 0x3F, 0x53, 0x4C, 0x3D, 0x2F, 0x36, 0x3C, 0xFE, 0x88, 0x46, 0x43, 0x6, 0x2E, 0x33, 0xA6, 0x1, 0xFE, 0xE5, 0x1, 0x1B, 0x9A, 0xC7, 0xA7, 0xAC, 0xC4, 0xBF, 0x3E, 0xC8, 0x4, 0x3E, 0x57, 0x40, 0x38, 0x40, 0x53, 0x44, 0xF9, 0x95, 0x10, 0xC1, 0x8, 0xB5, 0x3, 0xC1, 0xB4, 0x3E, 0x95, 0xEA, 0xAF, 0x7F, 0x99, 0xAA, 0xFC, 0x41, 0xBA, 0xC6, 0x0, 0x2, 0x0, 0x4D, 0xFF, 0xEC, 0x4, 0x4D, 0x5, 0xC4, 0x0, 0x14, 0x0, 0x21, 0x0, 0x0, 0x5, 0x27, 0x3E, 0x2, 0x37, 0x6, 0x23, 0x22, 0x0, 0x35, 0x34, 0x0, 0x33, 0x32, 0x0, 0x11, 0x15, 0x10, 0x2, 0x4, 0x3, 0x32, 0x36, 0x37, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x14, 0x16, 0x1, 0xA0, 0x3E, 0x63, 0xC1, 0x95, 0x20, 0x7C, 0xA6, 0xCC, 0xFF, 0x0, 0x1, 0x18, 0xE5, 0xD7, 0x1, 0x2C, 0xBE, 0xFE, 0xC9, 0xF, 0x61, 0x84, 0x21, 0x94, 0x6E, 0x7B, 0x87, 0x83, 0x14, 0xC9, 0x17, 0x4C, 0x98, 0x88, 0x60, 0x1, 0x10, 0xE9, 0xCF, 0x1, 0x24, 0xFE, 0xCD, 0xFE, 0xF9, 0x69, 0xFE, 0xE4, 0xFE, 0xAD, 0xA9, 0x2, 0x95, 0x35, 0x27, 0x9E, 0xB0, 0xAB, 0xA6, 0x82, 0x7A, 0xB3, 0x0, 0x2, 0x0, 0x40, 0xFE, 0x4B, 0x4, 0x40, 0x4, 0x4E, 0x0, 0x13, 0x0, 0x20, 0x0, 0x0, 0x1, 0x27, 0x36, 0x24, 0x37, 0x6, 0x23, 0x22, 0x0, 0x35, 0x34, 0x0, 0x33, 0x32, 0x0, 0x11, 0x15, 0x10, 0x2, 0x4, 0x3, 0x32, 0x36, 0x37, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x14, 0x16, 0x1, 0x94, 0x3F, 0x99, 0x1, 0x1A, 0x32, 0x7C, 0x9F, 0xCE, 0xFE, 0xEF, 0x1, 0x19, 0xE5, 0xD7, 0x1, 0x2B, 0xBD, 0xFE, 0xC9, 0xF, 0x6A, 0x8A, 0x1D, 0x99, 0x74, 0x82, 0x8C, 0x93, 0xFE, 0x4B, 0xC9, 0x27, 0xC0, 0xCC, 0x66, 0x1, 0x10, 0xE9, 0xCF, 0x1, 0x25, 0xFE, 0xCD, 0xFE, 0xF9, 0x6A, 0xFE, 0xF9, 0xFE, 0x94, 0xCF, 0x2, 0xB6, 0x41, 0x2D, 0x95, 0xAA, 0xC0, 0xB7, 0x7A, 0x82, 0xBA, 0x0, 0x2, 0x0, 0x56, 0x1, 0x4C, 0x3, 0x4C, 0x5, 0xBE, 0x0, 0x12, 0x0, 0x1D, 0x0, 0x0, 0x1, 0x27, 0x36, 0x36, 0x37, 0x6, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x15, 0x10, 0x0, 0x3, 0x32, 0x37, 0x35, 0x34, 0x23, 0x22, 0x6, 0x15, 0x14, 0x16, 0x1, 0x57, 0x38, 0x7D, 0xB2, 0x24, 0x54, 0x65, 0xA1, 0xC2, 0xD0, 0xA9, 0x9F, 0xDE, 0xFE, 0xF6, 0x73, 0x73, 0x45, 0xB6, 0x5B, 0x5B, 0x5B, 0x1, 0x4C, 0x9D, 0x25, 0x8B, 0x78, 0x3A, 0xC9, 0xAC, 0x9A, 0xD8, 0xE3, 0xC2, 0x4E, 0xFE, 0xF1, 0xFE, 0xBA, 0x2, 0x3, 0x37, 0x73, 0xF4, 0x70, 0x5B, 0x60, 0x73, 0x0, 0x2, 0x0, 0x50, 0xFE, 0x60, 0x5, 0x86, 0x6, 0x0, 0x0, 0xD, 0x0, 0x2A, 0x0, 0x0, 0x25, 0x32, 0x37, 0x26, 0x35, 0x11, 0x26, 0x23, 0x22, 0x6, 0x15, 0x15, 0x14, 0x16, 0x5, 0x22, 0x27, 0x3, 0x23, 0x13, 0x26, 0x27, 0x6, 0x23, 0x22, 0x2, 0x35, 0x35, 0x34, 0x12, 0x33, 0x32, 0x17, 0x11, 0x33, 0x11, 0x14, 0x17, 0x13, 0x33, 0x3, 0x16, 0x37, 0x2, 0x37, 0x9E, 0x44, 0x8, 0x44, 0x94, 0x84, 0x73, 0x72, 0x3, 0x61, 0x54, 0x44, 0x85, 0xBF, 0x96, 0x58, 0x2F, 0x6E, 0xE1, 0xC3, 0xE6, 0xE5, 0xC6, 0xAC, 0x6A, 0xF3, 0x1D, 0xA6, 0xBF, 0xC8, 0x26, 0x31, 0xB3, 0x97, 0x36, 0x41, 0x1, 0x45, 0x82, 0xD0, 0x92, 0x15, 0x91, 0xCD, 0xC7, 0xA, 0xFE, 0x6A, 0x1, 0xCB, 0x30, 0x56, 0xC5, 0x1, 0x39, 0xEC, 0x15, 0xF7, 0x1, 0x31, 0x77, 0x2, 0x29, 0xFB, 0xC2, 0x60, 0x3C, 0x1, 0xFA, 0xFD, 0x9C, 0x6, 0x2, 0x0, 0x1, 0x0, 0x8C, 0xFE, 0x60, 0x3, 0x0, 0x6, 0x0, 0x0, 0x11, 0x0, 0x0, 0x5, 0x22, 0x27, 0x3, 0x23, 0x13, 0x26, 0x3, 0x11, 0x33, 0x11, 0x14, 0x17, 0x13, 0x33, 0x3, 0x16, 0x37, 0x2, 0x90, 0x54, 0x44, 0x85, 0xBF, 0x96, 0xBC, 0x2, 0xF3, 0x1D, 0xA5, 0xBF, 0xC8, 0x27, 0x31, 0x14, 0xA, 0xFE, 0x6A, 0x1, 0xCB, 0x66, 0x1, 0x2A, 0x4, 0x45, 0xFB, 0xC2, 0x60, 0x3B, 0x1, 0xF9, 0xFD, 0x9C, 0x6, 0x2, 0x0, 0x1, 0x0, 0x7D, 0xFE, 0x60, 0x7, 0xFB, 0x4, 0x4E, 0x0, 0x2C, 0x0, 0x0, 0x5, 0x22, 0x27, 0x3, 0x23, 0x13, 0x26, 0x3, 0x11, 0x26, 0x26, 0x23, 0x22, 0x6, 0x7, 0x11, 0x23, 0x11, 0x34, 0x26, 0x23, 0x22, 0x7, 0x11, 0x23, 0x11, 0x33, 0x17, 0x36, 0x33, 0x32, 0x17, 0x36, 0x33, 0x32, 0x16, 0x17, 0x11, 0x14, 0x17, 0x13, 0x33, 0x3, 0x16, 0x37, 0x7, 0x8B, 0x54, 0x44, 0x85, 0xC0, 0x97, 0xBA, 0x4, 0x1, 0x68, 0x5A, 0x53, 0x69, 0x14, 0xF3, 0x68, 0x5A, 0x93, 0x3D, 0xF2, 0xE4, 0x7, 0x73, 0xC6, 0xD7, 0x51, 0x77, 0xD6, 0xA5, 0xBD, 0x2, 0x1C, 0xA6, 0xBF, 0xC8, 0x27, 0x31, 0x14, 0xA, 0xFE, 0x6A, 0x1, 0xCC, 0x64, 0x1, 0x23, 0x1, 0xB, 0x77, 0x53, 0x5A, 0x48, 0xFD, 0x1A, 0x2, 0xBC, 0x72, 0x5A, 0x78, 0xFC, 0xF0, 0x4, 0x3A, 0x71, 0x85, 0xA5, 0xA5, 0xB6, 0xD2, 0xFE, 0xFA, 0x5F, 0x3B, 0x1, 0xFA, 0xFD, 0x9D, 0x6, 0x2, 0x0, 0x1, 0x0, 0x7A, 0xFE, 0x60, 0x5, 0x79, 0x4, 0x4E, 0x0, 0x1F, 0x0, 0x0, 0x5, 0x22, 0x27, 0x3, 0x23, 0x13, 0x26, 0x3, 0x11, 0x26, 0x26, 0x23, 0x22, 0x7, 0x11, 0x23, 0x11, 0x33, 0x17, 0x36, 0x33, 0x32, 0x16, 0x17, 0x11, 0x14, 0x17, 0x13, 0x33, 0x3, 0x16, 0x37, 0x5, 0xA, 0x55, 0x44, 0x85, 0xBF, 0x96, 0xB8, 0x5, 0x1, 0x60, 0x5E, 0x91, 0x49, 0xF3, 0xE5, 0x8, 0x77, 0xC2, 0x9C, 0xBC, 0x1, 0x1C, 0xA5, 0xBF, 0xC8, 0x28, 0x31, 0x14, 0xA, 0xFE, 0x6A, 0x1, 0xCC, 0x64, 0x1, 0x21, 0x1, 0xD, 0x70, 0x5A, 0x84, 0xFC, 0xFC, 0x4, 0x3A, 0x7C, 0x90, 0xB3, 0xDA, 0xFE, 0xFF, 0x5F, 0x3A, 0x1, 0xF9, 0xFD, 0x9D, 0x6, 0x2, 0x0, 0x1, 0x0, 0x7D, 0x0, 0x0, 0x3, 0x83, 0x5, 0xB, 0x0, 0x13, 0x0, 0x0, 0x1, 0x13, 0x6, 0x7, 0x11, 0x23, 0x11, 0x33, 0x17, 0x36, 0x37, 0x37, 0x33, 0x7, 0x16, 0x17, 0x7, 0x26, 0x27, 0x3, 0x1, 0xC7, 0x65, 0x8B, 0x32, 0xF2, 0xE8, 0x7, 0x5A, 0xB4, 0x3E, 0xBE, 0x44, 0x2D, 0x24, 0x1, 0x60, 0x38, 0x63, 0x2, 0x2B, 0x1, 0x34, 0x14, 0x6B, 0xFD, 0x20, 0x4, 0x3A, 0x86, 0x92, 0x8, 0xBD, 0xD2, 0xB, 0xE, 0xE5, 0x19, 0x7, 0xFE, 0xD0, 0x0, 0x2, 0x0, 0x76, 0xFE, 0x60, 0x5, 0x64, 0x4, 0x3A, 0x0, 0x7, 0x0, 0x1C, 0x0, 0x0, 0x1, 0x11, 0x33, 0x32, 0x36, 0x35, 0x34, 0x27, 0x1, 0x21, 0x3, 0x23, 0x13, 0x1, 0x23, 0x11, 0x23, 0x11, 0x21, 0x32, 0x16, 0x15, 0x14, 0x7, 0x17, 0x13, 0x33, 0x1, 0x33, 0x1, 0x69, 0xC1, 0x6B, 0x6C, 0xCF, 0x3, 0xD, 0xFE, 0xC8, 0xB6, 0xC3, 0xD7, 0xFE, 0xFD, 0xF9, 0xF3, 0x1, 0xB3, 0xD8, 0xF3, 0xD0, 0x98, 0xE9, 0xBF, 0xFE, 0xF7, 0xE4, 0x3, 0x76, 0xFE, 0xD3, 0x58, 0x48, 0x8A, 0x3, 0xFC, 0x8A, 0xFE, 0x60, 0x1, 0xE8, 0x1, 0x3E, 0xFE, 0x7A, 0x4, 0x3A, 0xA3, 0x9B, 0xD8, 0x5A, 0xBD, 0x2, 0x13, 0xFD, 0xA1, 0x0, 0x1, 0x0, 0x8, 0xFF, 0xEC, 0x3, 0xBB, 0x5, 0x41, 0x0, 0x1D, 0x0, 0x0, 0x25, 0x6, 0x23, 0x22, 0x26, 0x35, 0x11, 0x23, 0x35, 0x33, 0x11, 0x33, 0x11, 0x33, 0x37, 0x33, 0x7, 0x33, 0x15, 0x23, 0x3, 0x23, 0x13, 0x23, 0x11, 0x14, 0x16, 0x33, 0x32, 0x37, 0x2, 0x73, 0x46, 0x5A, 0x79, 0x9F, 0xB3, 0xB3, 0xF2, 0xE5, 0x44, 0xBE, 0x44, 0x6B, 0xA5, 0x71, 0xC0, 0x72, 0xAA, 0x40, 0x31, 0x2A, 0x2B, 0x4, 0x18, 0x89, 0xA7, 0x2, 0x6B, 0xB3, 0x1, 0x7, 0xFE, 0xF9, 0xD1, 0xD1, 0xB3, 0xFE, 0xA4, 0x1, 0x5C, 0xFD, 0xA3, 0x49, 0x2B, 0xA, 0x0, 0x2, 0x0, 0x1B, 0x0, 0x0, 0x4, 0x1F, 0x5, 0xC4, 0x0, 0x1F, 0x0, 0x2A, 0x0, 0x0, 0x33, 0x35, 0x21, 0x32, 0x36, 0x35, 0x34, 0x26, 0x27, 0x27, 0x1, 0x21, 0x1, 0x27, 0x26, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x6, 0x7, 0x16, 0x16, 0x15, 0x14, 0x6, 0x23, 0x13, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x14, 0x17, 0x1B, 0x2, 0x22, 0x74, 0x7B, 0x24, 0x50, 0x15, 0xFE, 0xF8, 0xFE, 0xE6, 0x1, 0x75, 0x75, 0x56, 0x6E, 0xC3, 0xA3, 0xAD, 0xD0, 0x4B, 0x40, 0x76, 0x94, 0xFF, 0xDC, 0x20, 0x57, 0x4B, 0x4D, 0x49, 0x52, 0x51, 0xBC, 0x76, 0x60, 0x23, 0x6E, 0x3C, 0xF, 0xFE, 0x9D, 0x1, 0xE1, 0x54, 0x3E, 0x9A, 0x68, 0x83, 0xC1, 0xC2, 0xAD, 0x55, 0x9C, 0x5B, 0x52, 0xAE, 0x7F, 0xB5, 0xD5, 0x3, 0x7E, 0x7F, 0x5B, 0x45, 0x64, 0x56, 0x34, 0x5F, 0x3D, 0x0, 0x2, 0x0, 0x6A, 0xFF, 0xEC, 0x5, 0x1C, 0x6, 0xA3, 0x0, 0x13, 0x0, 0x21, 0x0, 0x0, 0x5, 0x20, 0x0, 0x11, 0x34, 0x12, 0x24, 0x33, 0x32, 0x17, 0x26, 0x27, 0x37, 0x16, 0x4, 0x12, 0x11, 0x15, 0x10, 0x0, 0x25, 0x32, 0x12, 0x35, 0x35, 0x34, 0x27, 0x26, 0x23, 0x22, 0x6, 0x15, 0x14, 0x16, 0x2, 0xC4, 0xFE, 0xF7, 0xFE, 0xAF, 0xA3, 0x1, 0xE, 0xA0, 0x31, 0x36, 0x91, 0xE8, 0x52, 0xDB, 0x1, 0x6C, 0xDA, 0xFE, 0xB7, 0xFE, 0xF1, 0xA5, 0xB5, 0x40, 0x76, 0x92, 0x9A, 0xD4, 0xBF, 0x14, 0x1, 0x66, 0x1, 0x33, 0xDE, 0x1, 0x34, 0xA1, 0x9, 0x75, 0x44, 0xBB, 0x3A, 0xE5, 0xFE, 0x8B, 0xFE, 0xEF, 0x4B, 0xFE, 0xB4, 0xFE, 0x85, 0xD1, 0x1, 0x2, 0xF4, 0x4D, 0xB4, 0x8C, 0x2B, 0xEA, 0xFB, 0xDC, 0xED, 0x0, 0x2, 0x0, 0x50, 0xFF, 0xEB, 0x4, 0x62, 0x5, 0x51, 0x0, 0x13, 0x0, 0x20, 0x0, 0x0, 0x5, 0x22, 0x0, 0x35, 0x34, 0x0, 0x33, 0x32, 0x17, 0x26, 0x24, 0x27, 0x37, 0x16, 0x4, 0x12, 0x15, 0x15, 0x10, 0x0, 0x27, 0x32, 0x36, 0x35, 0x35, 0x26, 0x26, 0x23, 0x22, 0x6, 0x15, 0x14, 0x16, 0x2, 0x55, 0xE6, 0xFE, 0xE1, 0x1, 0x13, 0xDC, 0x8D, 0x71, 0x49, 0xFE, 0xDB, 0x94, 0x4C, 0xD2, 0x1, 0x4A, 0xBF, 0xFE, 0xD3, 0xDC, 0x80, 0x96, 0x20, 0x8D, 0x6E, 0x80, 0x91, 0x91, 0x15, 0x1, 0x1D, 0xCC, 0xE4, 0x1, 0x15, 0x51, 0x90, 0x67, 0x1B, 0xC3, 0x2A, 0xA1, 0xFE, 0xE0, 0xEB, 0x57, 0xFE, 0xFD, 0xFE, 0xCA, 0xC3, 0xDF, 0xA5, 0x70, 0x2C, 0x43, 0xB7, 0x86, 0x70, 0xB6, 0x0, 0x1, 0x0, 0x99, 0xFE, 0x60, 0x4, 0x8B, 0x5, 0xC4, 0x0, 0x12, 0x0, 0x0, 0x21, 0x21, 0x11, 0x23, 0x11, 0x33, 0x15, 0x36, 0x33, 0x20, 0x17, 0x7, 0x26, 0x26, 0x23, 0x22, 0x7, 0x11, 0x21, 0x3, 0xB8, 0xFD, 0xDD, 0xFC, 0xFC, 0xBB, 0xAE, 0x1, 0xA, 0x83, 0x95, 0x30, 0x79, 0x5F, 0xA9, 0xB0, 0x2, 0x23, 0xFE, 0x60, 0x7, 0x50, 0x30, 0x44, 0x92, 0xA1, 0x2F, 0x33, 0x42, 0xFC, 0x19, 0x0, 0x1, 0x0, 0x7D, 0xFE, 0x60, 0x3, 0x37, 0x4, 0x4E, 0x0, 0x11, 0x0, 0x0, 0x21, 0x21, 0x11, 0x23, 0x11, 0x33, 0x17, 0x36, 0x33, 0x32, 0x17, 0x7, 0x26, 0x23, 0x22, 0x7, 0x11, 0x21, 0x3, 0x13, 0xFE, 0x5C, 0xF2, 0xDE, 0xB, 0x6D, 0xB7, 0x62, 0x4B, 0x2, 0x62, 0x59, 0xBF, 0x4C, 0x1, 0xA4, 0xFE, 0x60, 0x5, 0xDA, 0x83, 0x97, 0x1A, 0xE0, 0x20, 0x8E, 0xFD, 0xDD, 0x0, 0x1, 0x0, 0x4A, 0xFF, 0xEC, 0x4, 0xB6, 0x5, 0xB0, 0x0, 0x21, 0x0, 0x0, 0x5, 0x22, 0x24, 0x26, 0x35, 0x33, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x24, 0x24, 0x35, 0x34, 0x37, 0x23, 0x35, 0x21, 0x15, 0x21, 0x6, 0x15, 0x14, 0x16, 0x17, 0x16, 0x16, 0x15, 0x14, 0x4, 0x2, 0xB0, 0x8C, 0xFE, 0xFA, 0xA8, 0xFD, 0xB7, 0x86, 0x83, 0x86, 0x73, 0xFE, 0x61, 0xFE, 0xFC, 0x3E, 0x97, 0x4, 0x63, 0xFD, 0x4D, 0x5A, 0x95, 0x9A, 0xFB, 0xEC, 0xFE, 0xE6, 0x14, 0x66, 0xCD, 0x99, 0x8A, 0x7A, 0x6C, 0x58, 0x57, 0x69, 0x81, 0xCA, 0xAE, 0x60, 0x54, 0xCB, 0xCB, 0x3B, 0x78, 0x51, 0x6B, 0x2D, 0x49, 0xD9, 0xAD, 0xB8, 0xD6, 0x0, 0x1, 0x0, 0x30, 0xFF, 0xF3, 0x4, 0x9B, 0x5, 0xB7, 0x0, 0x21, 0x0, 0x0, 0x5, 0x21, 0x35, 0x21, 0x36, 0x35, 0x34, 0x26, 0x27, 0x26, 0x26, 0x35, 0x34, 0x24, 0x33, 0x32, 0x4, 0x16, 0x15, 0x23, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x14, 0x16, 0x4, 0x16, 0x15, 0x14, 0x7, 0x33, 0x4, 0x9B, 0xFB, 0x9D, 0x2, 0xB3, 0x5A, 0x98, 0x99, 0xF7, 0xED, 0x1, 0x19, 0xED, 0x8C, 0x1, 0x5, 0xA8, 0xFC, 0xB7, 0x86, 0x84, 0x85, 0x72, 0x1, 0xA7, 0xFC, 0x3D, 0x96, 0xD, 0xCB, 0x3B, 0x78, 0x52, 0x6B, 0x2D, 0x48, 0xD8, 0xAE, 0xB9, 0xD5, 0x66, 0xCC, 0x9A, 0x8A, 0x7A, 0x6C, 0x58, 0x56, 0x6A, 0x84, 0xC8, 0xAD, 0x60, 0x54, 0x0, 0x1, 0x0, 0x42, 0xFE, 0x60, 0x3, 0xE6, 0x4, 0x4E, 0x0, 0x20, 0x0, 0x0, 0x1, 0x21, 0x35, 0x21, 0x36, 0x35, 0x34, 0x26, 0x24, 0x27, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x23, 0x34, 0x26, 0x23, 0x22, 0x15, 0x14, 0x16, 0x17, 0x16, 0x16, 0x15, 0x14, 0x7, 0x33, 0x3, 0xE6, 0xFC, 0x67, 0x2, 0x19, 0x47, 0x7B, 0xFE, 0xE2, 0x67, 0x6B, 0xE0, 0xC1, 0xCB, 0xE6, 0xF2, 0x60, 0x5F, 0xB4, 0x64, 0x81, 0xC3, 0xC5, 0x33, 0x7D, 0xFE, 0x60, 0xC1, 0x43, 0x73, 0x6C, 0x83, 0x91, 0x63, 0x67, 0xB4, 0xAF, 0xCA, 0xC6, 0x92, 0x3F, 0x63, 0xC2, 0x50, 0x83, 0x41, 0x62, 0xE9, 0x99, 0x66, 0x57, 0xFF, 0xFF, 0x0, 0x2E, 0x0, 0x0, 0x3, 0xC0, 0x5, 0xB0, 0x0, 0xF, 0x0, 0x31, 0x4, 0x55, 0x5, 0xB0, 0xC0, 0x0, 0xFF, 0xFF, 0x0, 0x83, 0xFE, 0x3A, 0x1, 0x76, 0x4, 0x3A, 0x0, 0x7, 0x0, 0x51, 0xFF, 0xF7, 0xFE, 0x3A, 0x0, 0x1, 0x0, 0x95, 0xFE, 0x60, 0x4, 0xF3, 0x5, 0xC4, 0x0, 0x11, 0x0, 0x0, 0x1, 0x22, 0x7, 0x11, 0x23, 0x11, 0x33, 0x15, 0x36, 0x33, 0x32, 0x4, 0x15, 0x11, 0x23, 0x11, 0x34, 0x26, 0x2, 0xEA, 0xA9, 0xB0, 0xFC, 0xFC, 0xBD, 0xAC, 0xE4, 0x1, 0x15, 0xFC, 0x84, 0x4, 0xF3, 0x42, 0xF9, 0xAF, 0x7, 0x50, 0x30, 0x44, 0xD7, 0xF8, 0xFC, 0xB, 0x3, 0xF5, 0x93, 0x6B, 0x0, 0x1, 0x0, 0x7D, 0xFE, 0x60, 0x3, 0xFC, 0x4, 0x4E, 0x0, 0x11, 0x0, 0x0, 0x1, 0x22, 0x7, 0x11, 0x23, 0x11, 0x33, 0x17, 0x36, 0x33, 0x32, 0x16, 0x17, 0x11, 0x23, 0x11, 0x34, 0x26, 0x2, 0x4A, 0x92, 0x49, 0xF2, 0xE4, 0x8, 0x77, 0xC3, 0x9C, 0xBC, 0x1, 0xF3, 0x62, 0x3, 0x88, 0x86, 0xFB, 0x5E, 0x5, 0xDA, 0x7D, 0x91, 0xB3, 0xDA, 0xFD, 0x3F, 0x2, 0xBE, 0x70, 0x5A, 0x0, 0x1, 0x0, 0x95, 0xFE, 0x60, 0x3, 0x6C, 0x5, 0xC4, 0x0, 0xD, 0x0, 0x0, 0x1, 0x22, 0x7, 0x11, 0x23, 0x11, 0x33, 0x15, 0x36, 0x33, 0x32, 0x17, 0x15, 0x26, 0x2, 0xEA, 0xA9, 0xB0, 0xFC, 0xFC, 0xBB, 0xA7, 0x52, 0x27, 0x38, 0x4, 0xF3, 0x42, 0xF9, 0xAF, 0x7, 0x50, 0x30, 0x44, 0xC, 0xD2, 0xD, 0x0, 0x1, 0x0, 0x7D, 0xFE, 0x60, 0x2, 0xB5, 0x4, 0x4E, 0x0, 0xD, 0x0, 0x0, 0x1, 0x22, 0x7, 0x11, 0x23, 0x11, 0x33, 0x17, 0x36, 0x33, 0x32, 0x17, 0x7, 0x26, 0x2, 0x51, 0xA9, 0x39, 0xF2, 0xE8, 0x6, 0x56, 0x9E, 0x31, 0x25, 0x2, 0x32, 0x3, 0x64, 0x80, 0xFB, 0x7C, 0x5, 0xDA, 0x7A, 0x8E, 0xD, 0xE5, 0x8, 0x0, 0x1, 0x0, 0x86, 0xFF, 0xEC, 0x5, 0x10, 0x5, 0xB0, 0x0, 0x18, 0x0, 0x0, 0x1, 0x6, 0x0, 0x20, 0x0, 0x11, 0x35, 0x34, 0x12, 0x37, 0x23, 0x35, 0x21, 0x15, 0x21, 0x22, 0x2, 0x15, 0x15, 0x14, 0x12, 0x33, 0x32, 0x36, 0x37, 0x5, 0xB, 0x13, 0xFE, 0xE4, 0xFD, 0xE8, 0xFE, 0xC2, 0x7F, 0x69, 0xE8, 0x4, 0x8A, 0xFE, 0x13, 0xC1, 0xDE, 0x9C, 0xB0, 0xA3, 0x89, 0x13, 0x1, 0xDA, 0xD4, 0xFE, 0xE6, 0x1, 0x6B, 0x1, 0x31, 0x47, 0xA7, 0x1, 0x16, 0x5A, 0xCA, 0xCA, 0xFE, 0xE1, 0xFE, 0x41, 0xD0, 0xFF, 0x0, 0x97, 0x8B, 0x0, 0x1, 0x0, 0x50, 0xFF, 0xEC, 0x4, 0x6, 0x4, 0x3A, 0x0, 0x19, 0x0, 0x0, 0x1, 0x6, 0x4, 0x23, 0x22, 0x2, 0x35, 0x35, 0x34, 0x36, 0x37, 0x23, 0x35, 0x21, 0x15, 0x21, 0x22, 0x6, 0x15, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x37, 0x4, 0x4, 0x5, 0xFF, 0x0, 0xB4, 0xFA, 0xF2, 0x54, 0x53, 0xB6, 0x3, 0xB6, 0xFE, 0x6E, 0x82, 0xA1, 0x62, 0x95, 0x59, 0x7A, 0x4, 0x1, 0x66, 0x9D, 0xDD, 0x1, 0x26, 0xC5, 0x23, 0x6E, 0xC7, 0x4A, 0xC1, 0xC1, 0xDD, 0xA4, 0x1C, 0x70, 0xBD, 0x68, 0x4F, 0xFF, 0xFF, 0x0, 0x49, 0xFE, 0x98, 0x2, 0xF8, 0xFF, 0xB8, 0x0, 0x7, 0x1, 0x77, 0xFF, 0xB4, 0xF9, 0xB7, 0x0, 0x2, 0x0, 0x6B, 0x1, 0x7, 0x1, 0x51, 0x4, 0x4E, 0x0, 0xB, 0x0, 0x17, 0x0, 0x0, 0x13, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x6, 0x23, 0x22, 0x26, 0x11, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x6, 0x23, 0x22, 0x26, 0x6B, 0x3C, 0x36, 0x38, 0x3C, 0x3C, 0x38, 0x36, 0x3C, 0x3C, 0x36, 0x38, 0x3C, 0x3C, 0x38, 0x36, 0x3C, 0x3, 0xE1, 0x2F, 0x3E, 0x3E, 0x2F, 0x2E, 0x3D, 0x3D, 0xFD, 0xBF, 0x2F, 0x3E, 0x3E, 0x2F, 0x2E, 0x3D, 0x3D, 0x0, 0x2, 0x0, 0x57, 0x1, 0xC9, 0x2, 0x7A, 0x3, 0x95, 0x0, 0x3, 0x0, 0x7, 0x0, 0x0, 0x1, 0x15, 0x21, 0x35, 0x1, 0x15, 0x21, 0x35, 0x2, 0x7A, 0xFD, 0xDD, 0x2, 0x23, 0xFD, 0xDD, 0x3, 0x95, 0xA3, 0xA3, 0xFE, 0xD8, 0xA4, 0xA4, 0x0, 0x1, 0x0, 0x50, 0x3, 0x4D, 0x1, 0xD, 0x6, 0x18, 0x0, 0x5, 0x0, 0x0, 0x1, 0x15, 0x3, 0x23, 0x3, 0x35, 0x1, 0xD, 0x1D, 0x83, 0x1D, 0x6, 0x18, 0x91, 0xFD, 0xC6, 0x2, 0x3A, 0x91, 0x0, 0x1, 0x0, 0x50, 0x2, 0x93, 0x1, 0xD, 0x4, 0xEC, 0x0, 0x5, 0x0, 0x0, 0x1, 0x15, 0x3, 0x23, 0x3, 0x35, 0x1, 0xD, 0x1D, 0x83, 0x1D, 0x4, 0xEC, 0x91, 0xFE, 0x38, 0x1, 0xC8, 0x91, 0x0, 0x1, 0x0, 0x8E, 0x0, 0x0, 0x4, 0xF1, 0x5, 0xB0, 0x0, 0x9, 0x0, 0x0, 0x21, 0x23, 0x11, 0x21, 0x11, 0x33, 0x11, 0x21, 0x11, 0x33, 0x4, 0xF1, 0xFC, 0xFC, 0x99, 0xFC, 0x2, 0x6B, 0xFC, 0x2, 0x3B, 0x3, 0x75, 0xFD, 0x56, 0x2, 0xAA, 0x0, 0x2, 0x0, 0x28, 0xFF, 0xEC, 0x3, 0xAB, 0x6, 0x0, 0x0, 0x9, 0x0, 0x25, 0x0, 0x0, 0x1, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x14, 0x33, 0x1, 0x6, 0x23, 0x22, 0x26, 0x35, 0x11, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x17, 0x11, 0x33, 0x11, 0x33, 0x15, 0x23, 0x11, 0x14, 0x16, 0x33, 0x32, 0x37, 0x1, 0xD8, 0x34, 0x38, 0x29, 0x38, 0x6B, 0x2, 0x35, 0x4A, 0x63, 0x7F, 0xA7, 0x7D, 0x8A, 0xA9, 0xAD, 0x9A, 0x39, 0x30, 0xF3, 0xE0, 0xE0, 0x45, 0x39, 0x30, 0x32, 0x2, 0xE3, 0x4D, 0x30, 0x3F, 0x32, 0x2C, 0x5E, 0xFD, 0x21, 0x18, 0x89, 0xA7, 0x1, 0x13, 0x8E, 0x80, 0x78, 0x99, 0xA, 0x1, 0xBC, 0xFC, 0xE3, 0xB4, 0xFE, 0xFB, 0x49, 0x2B, 0xA, 0xFF, 0xFF, 0x0, 0x95, 0xFE, 0x99, 0x5, 0xDB, 0x5, 0xB0, 0x0, 0x26, 0x0, 0x33, 0x0, 0x0, 0x0, 0x7, 0x7, 0xDB, 0x4, 0x8B, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x7A, 0xFE, 0x99, 0x4, 0xBE, 0x4, 0x4E, 0x0, 0x26, 0x0, 0x53, 0x0, 0x0, 0x0, 0x7, 0x7, 0xDB, 0x3, 0x6E, 0x0, 0x0, 0x0, 0x1, 0x0, 0x14, 0xFF, 0xEC, 0x5, 0x60, 0x5, 0xC4, 0x0, 0x1F, 0x0, 0x0, 0x1, 0x6, 0x0, 0x21, 0x20, 0x0, 0x3, 0x23, 0x35, 0x33, 0x12, 0x0, 0x21, 0x20, 0x0, 0x17, 0x23, 0x26, 0x26, 0x23, 0x22, 0x6, 0x7, 0x33, 0x15, 0x23, 0x16, 0x16, 0x33, 0x32, 0x36, 0x37, 0x5, 0x5F, 0x13, 0xFE, 0xE5, 0xFE, 0xF4, 0xFE, 0xF8, 0xFE, 0xC3, 0x6, 0xC6, 0xC6, 0x9, 0x1, 0x42, 0x1, 0xC, 0x1, 0x5, 0x1, 0x14, 0x16, 0xFC, 0x10, 0x86, 0x9D, 0xA7, 0xAB, 0x6, 0xD9, 0xD9, 0x4, 0x9C, 0xAC, 0xA3, 0x89, 0x12, 0x1, 0xDA, 0xD4, 0xFE, 0xE6, 0x1, 0x69, 0x1, 0x32, 0xAB, 0x1, 0x2D, 0x1, 0x65, 0xFE, 0xE5, 0xDA, 0x8C, 0x9D, 0xEE, 0xD8, 0xAB, 0xD1, 0xFE, 0x97, 0x8B, 0x0, 0x1, 0x0, 0x14, 0xFF, 0xEC, 0x4, 0x72, 0x4, 0x4E, 0x0, 0x1F, 0x0, 0x0, 0x1, 0x6, 0x4, 0x23, 0x22, 0x2, 0x27, 0x23, 0x35, 0x33, 0x36, 0x12, 0x33, 0x32, 0x16, 0x17, 0x23, 0x26, 0x26, 0x23, 0x22, 0x6, 0x7, 0x33, 0x15, 0x23, 0x16, 0x16, 0x33, 0x32, 0x36, 0x37, 0x4, 0x72, 0x5, 0xFF, 0x0, 0xB4, 0xEA, 0xF2, 0xF, 0xBA, 0xBC, 0x13, 0xF2, 0xE3, 0xC5, 0xF0, 0x5, 0xE5, 0x5, 0x70, 0x63, 0x7E, 0x6A, 0xA, 0xEF, 0xF1, 0x8, 0x68, 0x85, 0x59, 0x79, 0x5, 0x1, 0x66, 0x9D, 0xDD, 0x1, 0x1A, 0xCA, 0xAB, 0xC4, 0x1, 0xF, 0xE4, 0xB3, 0x57, 0x7D, 0xA4, 0x6C, 0xAB, 0x73, 0xAE, 0x68, 0x4F, 0x0, 0x1, 0x0, 0x50, 0xFE, 0x52, 0x3, 0xF5, 0x4, 0x4E, 0x0, 0x27, 0x0, 0x0, 0x1, 0x22, 0x27, 0x35, 0x16, 0x33, 0x32, 0x36, 0x35, 0x35, 0x6, 0x23, 0x22, 0x2, 0x35, 0x35, 0x34, 0x12, 0x33, 0x32, 0x16, 0x17, 0x23, 0x26, 0x26, 0x23, 0x22, 0x6, 0x15, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x37, 0x33, 0x11, 0x14, 0x6, 0x2, 0xB8, 0x3C, 0x33, 0x1D, 0x23, 0x44, 0x60, 0x6D, 0x84, 0xFA, 0xF2, 0xF3, 0xF9, 0xC5, 0xF0, 0x4, 0xE4, 0x5, 0x70, 0x63, 0x94, 0x63, 0x62, 0x96, 0x58, 0x7A, 0x5, 0xE4, 0xB6, 0xFE, 0x52, 0xF, 0xA3, 0x7, 0x3F, 0x56, 0x99, 0x3F, 0x1, 0x40, 0xDF, 0x24, 0xDE, 0x1, 0x41, 0xE4, 0xB3, 0x57, 0x7D, 0xDB, 0x81, 0x24, 0x83, 0xD9, 0x68, 0x4F, 0xFE, 0x2C, 0x9B, 0xA5, 0x0, 0x1, 0x0, 0x7A, 0xFE, 0x4B, 0x4, 0xB2, 0x6, 0x0, 0x0, 0x1E, 0x0, 0x0, 0x1, 0x22, 0x27, 0x35, 0x16, 0x33, 0x32, 0x37, 0x35, 0x23, 0x11, 0x34, 0x26, 0x23, 0x22, 0x7, 0x11, 0x23, 0x11, 0x33, 0x11, 0x36, 0x33, 0x32, 0x16, 0x17, 0x11, 0x33, 0x11, 0x14, 0x6, 0x3, 0x5F, 0x40, 0x36, 0x23, 0x21, 0x90, 0x2, 0xB9, 0x62, 0x5D, 0x93, 0x48, 0xF2, 0xF2, 0x76, 0xB7, 0x9F, 0xC0, 0x1, 0xB9, 0xC1, 0xFE, 0x4B, 0x10, 0xB0, 0x8, 0x99, 0x64, 0x2, 0xBB, 0x71, 0x5C, 0x83, 0xFC, 0xFB, 0x6, 0x0, 0xFD, 0xC3, 0x8B, 0xB6, 0xDA, 0xFE, 0xD, 0xFE, 0xD5, 0xA5, 0xB0, 0x0, 0x3, 0x0, 0x28, 0x0, 0x0, 0x5, 0xB9, 0x5, 0xB0, 0x0, 0x7, 0x0, 0xF, 0x0, 0x2B, 0x0, 0x0, 0x1, 0x11, 0x33, 0x32, 0x36, 0x35, 0x34, 0x27, 0x1, 0x11, 0x21, 0x32, 0x36, 0x35, 0x34, 0x27, 0x1, 0x11, 0x23, 0x22, 0x6, 0x15, 0x14, 0x17, 0x23, 0x26, 0x35, 0x34, 0x36, 0x33, 0x11, 0x21, 0x32, 0x4, 0x15, 0x14, 0x6, 0x7, 0x16, 0x16, 0x15, 0x14, 0x4, 0x23, 0x2, 0xA8, 0xF8, 0x76, 0x85, 0xF2, 0xFE, 0xFF, 0x1, 0x19, 0x7D, 0x7F, 0xE7, 0xFD, 0xD5, 0xD, 0x67, 0x44, 0x10, 0xBF, 0x1C, 0xD9, 0xAA, 0x1, 0xF2, 0xEE, 0x1, 0xC, 0x6C, 0x67, 0x7D, 0x78, 0xFE, 0xF4, 0xEC, 0x4, 0xE5, 0xFE, 0x67, 0x6B, 0x61, 0xC8, 0x5, 0xFD, 0xAC, 0xFE, 0x39, 0x7C, 0x64, 0xE2, 0x5, 0xFD, 0x6F, 0x2, 0x92, 0x70, 0x5D, 0x4D, 0x4B, 0x4A, 0x7A, 0xBF, 0x9C, 0x2, 0x64, 0xBE, 0xCC, 0x63, 0xA1, 0x2B, 0x21, 0xBB, 0x72, 0xD0, 0xD9, 0x0, 0x2, 0x0, 0x42, 0xFF, 0x7F, 0x5, 0x54, 0x6, 0x0, 0x0, 0xA, 0x0, 0x27, 0x0, 0x0, 0x25, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x7, 0x11, 0x16, 0x5, 0x14, 0x17, 0x23, 0x26, 0x26, 0x35, 0x34, 0x12, 0x37, 0x11, 0x33, 0x11, 0x36, 0x33, 0x32, 0x12, 0x15, 0x15, 0x14, 0x2, 0x23, 0x22, 0x27, 0x7, 0x23, 0x11, 0x6, 0x6, 0x3, 0x71, 0x87, 0x69, 0x66, 0x8C, 0x7C, 0x62, 0x44, 0xFE, 0x3B, 0x1F, 0xC9, 0xC, 0x18, 0xD6, 0x86, 0xF3, 0x7B, 0xA1, 0xD1, 0xD6, 0xD7, 0xCE, 0xBD, 0x6C, 0xC, 0xDC, 0x55, 0x39, 0xB3, 0xCA, 0xAA, 0x8F, 0xD2, 0x50, 0xFE, 0x8, 0x8D, 0x44, 0x6B, 0x85, 0x1F, 0x90, 0x4A, 0xFA, 0x1, 0x69, 0x7A, 0x2, 0xAB, 0xFE, 0x0, 0x4E, 0xFE, 0xCD, 0xF4, 0x15, 0xEF, 0xFE, 0xC9, 0x89, 0x75, 0x2, 0x50, 0x76, 0xF6, 0x0, 0x1, 0x0, 0x1B, 0xFE, 0x4B, 0x4, 0xE5, 0x5, 0xB0, 0x0, 0x16, 0x0, 0x0, 0x13, 0x22, 0x27, 0x35, 0x16, 0x33, 0x32, 0x37, 0x11, 0x21, 0x35, 0x21, 0x11, 0x21, 0x15, 0x21, 0x11, 0x21, 0x15, 0x21, 0x11, 0x14, 0x6, 0xF2, 0x46, 0x3A, 0x23, 0x21, 0x91, 0x1, 0xFE, 0xD3, 0x1, 0x2D, 0x3, 0x9D, 0xFD, 0x60, 0x2, 0x49, 0xFD, 0xB7, 0xC1, 0xFE, 0x4B, 0x10, 0xB0, 0x8, 0x9B, 0x2, 0xCB, 0xCA, 0x2, 0x7D, 0xCB, 0xFE, 0x4E, 0xCA, 0xFD, 0x37, 0xAD, 0xA8, 0x0, 0x1, 0x0, 0x2D, 0x0, 0x0, 0x2, 0xD7, 0x6, 0x15, 0x0, 0x1C, 0x0, 0x0, 0x1, 0x23, 0x11, 0x23, 0x11, 0x23, 0x35, 0x33, 0x35, 0x23, 0x35, 0x33, 0x35, 0x34, 0x36, 0x33, 0x32, 0x17, 0x7, 0x26, 0x23, 0x22, 0x7, 0x15, 0x33, 0x15, 0x23, 0x15, 0x33, 0x2, 0xA1, 0xDB, 0xF4, 0xA5, 0xA5, 0xA5, 0xA5, 0xCC, 0xB0, 0x43, 0x46, 0x6, 0x2A, 0x34, 0xAB, 0x2, 0xDB, 0xDB, 0xDB, 0x2, 0x0, 0xFE, 0x0, 0x2, 0x0, 0xB4, 0xD3, 0xB3, 0x67, 0xB5, 0xBF, 0x12, 0xBE, 0x8, 0xA8, 0x6B, 0xB3, 0xD3, 0x0, 0x2, 0x0, 0x58, 0xFF, 0xEB, 0x4, 0xFC, 0x5, 0xC3, 0x0, 0x19, 0x0, 0x2E, 0x0, 0x0, 0x5, 0x22, 0x27, 0x6, 0x23, 0x22, 0x24, 0x35, 0x34, 0x37, 0x26, 0x26, 0x35, 0x34, 0x24, 0x33, 0x32, 0x17, 0x35, 0x33, 0x11, 0x16, 0x33, 0x37, 0x17, 0x6, 0x25, 0x32, 0x36, 0x35, 0x11, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x14, 0x16, 0x33, 0x33, 0x15, 0x23, 0x4, 0x15, 0x14, 0x16, 0x4, 0x79, 0x80, 0x3B, 0x78, 0xC8, 0xF0, 0xFE, 0xCA, 0xFC, 0x6B, 0x7A, 0x1, 0x1F, 0xF0, 0x96, 0x70, 0xFC, 0x3, 0x46, 0x1B, 0x18, 0x38, 0xFD, 0xBA, 0x7F, 0x87, 0x98, 0x6E, 0x8E, 0x85, 0x79, 0x8A, 0x44, 0x52, 0xFE, 0xF5, 0x9B, 0x15, 0x62, 0x62, 0xDF, 0xCD, 0xFE, 0x56, 0x31, 0xA6, 0x62, 0xCE, 0xD1, 0x42, 0x2F, 0xFB, 0x84, 0x7B, 0x4, 0xB3, 0x1F, 0xC7, 0x84, 0x5E, 0x2, 0x9A, 0x5C, 0x6E, 0x7C, 0x59, 0x5E, 0x7C, 0xC7, 0x6, 0xE5, 0x61, 0x84, 0x0, 0x2, 0x0, 0x53, 0xFF, 0xEB, 0x4, 0x39, 0x4, 0x4D, 0x0, 0x19, 0x0, 0x2D, 0x0, 0x0, 0x5, 0x22, 0x27, 0x6, 0x23, 0x22, 0x26, 0x35, 0x34, 0x37, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x17, 0x35, 0x33, 0x11, 0x16, 0x33, 0x32, 0x37, 0x17, 0x6, 0x25, 0x32, 0x36, 0x37, 0x11, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x14, 0x17, 0x33, 0x15, 0x23, 0x6, 0x15, 0x14, 0x16, 0x3, 0xBA, 0x73, 0x3C, 0x5F, 0xA4, 0xBF, 0xF6, 0xB9, 0xA6, 0xDD, 0xAC, 0x7B, 0x60, 0xF3, 0x3, 0x46, 0x14, 0x6, 0x19, 0x33, 0xFE, 0x2, 0x59, 0x61, 0x8, 0x74, 0x5C, 0x58, 0x49, 0x9F, 0x35, 0x30, 0xB7, 0x5E, 0x15, 0x50, 0x4F, 0xAC, 0x9A, 0xBA, 0x41, 0x4C, 0x99, 0x9A, 0xA1, 0x2E, 0x1B, 0xFC, 0xFA, 0x7B, 0x5, 0xB4, 0x1F, 0xBB, 0x4F, 0x36, 0x1, 0xDC, 0x3E, 0x4D, 0x57, 0x34, 0x83, 0x3, 0xB0, 0x2, 0x92, 0x3A, 0x5D, 0x0, 0x2, 0x0, 0x58, 0xFF, 0xEC, 0x4, 0xDA, 0x5, 0xC4, 0x0, 0x11, 0x0, 0x26, 0x0, 0x0, 0x5, 0x22, 0x24, 0x35, 0x34, 0x37, 0x26, 0x26, 0x35, 0x34, 0x24, 0x33, 0x20, 0x0, 0x11, 0x15, 0x10, 0x0, 0x25, 0x32, 0x12, 0x35, 0x35, 0x34, 0x2, 0x23, 0x22, 0x6, 0x15, 0x14, 0x16, 0x33, 0x33, 0x15, 0x23, 0x4, 0x15, 0x14, 0x16, 0x2, 0x77, 0xEE, 0xFE, 0xCF, 0xF9, 0x6A, 0x79, 0x1, 0x1E, 0xF1, 0x1, 0xD, 0x1, 0x50, 0xFE, 0xB0, 0xFE, 0xEA, 0xAD, 0xBB, 0xBC, 0xA7, 0x8E, 0x80, 0x78, 0x8A, 0x3A, 0x47, 0xFE, 0xF5, 0x96, 0x14, 0xDF, 0xCD, 0xFC, 0x57, 0x30, 0xA5, 0x64, 0xCC, 0xD4, 0xFE, 0x84, 0xFE, 0xB4, 0x49, 0xFE, 0xB4, 0xFE, 0x85, 0xCB, 0x1, 0x7, 0xF5, 0x4B, 0xF5, 0x1, 0x5, 0x7F, 0x57, 0x61, 0x78, 0xC6, 0x6, 0xE5, 0x61, 0x80, 0x0, 0x2, 0x0, 0x4F, 0xFF, 0xEC, 0x3, 0xEF, 0x4, 0x4E, 0x0, 0x13, 0x0, 0x24, 0x0, 0x0, 0x25, 0x32, 0x36, 0x35, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x14, 0x17, 0x33, 0x15, 0x23, 0x6, 0x15, 0x14, 0x16, 0x17, 0x22, 0x26, 0x35, 0x34, 0x37, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x0, 0x15, 0x15, 0x14, 0x0, 0x1, 0xF9, 0x87, 0x7D, 0x7D, 0x89, 0x52, 0x50, 0x9F, 0x35, 0x30, 0xB7, 0x59, 0x5E, 0xBE, 0xEC, 0xB9, 0xA6, 0xE1, 0xB4, 0xEF, 0x1, 0x9, 0xFE, 0xF7, 0xAF, 0xD2, 0x91, 0x15, 0x8F, 0xD5, 0x50, 0x34, 0x83, 0x3, 0xB0, 0x2, 0x8E, 0x3D, 0x55, 0xC3, 0xAC, 0x9A, 0xBA, 0x41, 0x4C, 0x99, 0x9A, 0xA2, 0xFE, 0xC5, 0xEC, 0x15, 0xEB, 0xFE, 0xC5, 0x0, 0x1, 0x0, 0x44, 0xFF, 0xEC, 0x4, 0x86, 0x5, 0xB0, 0x0, 0x1B, 0x0, 0x0, 0x5, 0x22, 0x24, 0x35, 0x34, 0x36, 0x37, 0x1, 0x35, 0x21, 0x1, 0x33, 0x17, 0x23, 0x6, 0x6, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x11, 0x33, 0x11, 0x14, 0x2, 0x2, 0x8C, 0xFA, 0xFE, 0xEF, 0x8E, 0x7E, 0xFE, 0xB7, 0x1, 0xE, 0x1, 0x28, 0x6C, 0x2, 0x61, 0x84, 0x86, 0x81, 0x8E, 0x90, 0x6E, 0xFC, 0xFB, 0x14, 0xEE, 0xD6, 0x8F, 0xC7, 0x34, 0x2, 0x69, 0xD, 0xFD, 0xC2, 0xCC, 0x1, 0x87, 0x65, 0x6F, 0x8E, 0xB3, 0x8B, 0x3, 0xB6, 0xFC, 0x4A, 0xEB, 0xFE, 0xDD, 0x0, 0x1, 0x0, 0x27, 0xFF, 0xEC, 0x3, 0xE0, 0x4, 0x3A, 0x0, 0x19, 0x0, 0x0, 0x5, 0x22, 0x26, 0x35, 0x34, 0x37, 0x1, 0x33, 0x13, 0x33, 0x15, 0x23, 0x22, 0x6, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x11, 0x33, 0x11, 0x14, 0x6, 0x2, 0xD, 0xCE, 0xE8, 0xD0, 0xFF, 0x0, 0xFD, 0xEB, 0x68, 0x77, 0x5E, 0x57, 0x5C, 0x61, 0x77, 0x6F, 0xF2, 0xED, 0x14, 0xC5, 0x95, 0xD4, 0x57, 0x1, 0xC9, 0xFE, 0x5E, 0xB4, 0x61, 0x38, 0x39, 0x65, 0x8C, 0x5B, 0x2, 0xA6, 0xFD, 0x5A, 0xB6, 0xF2, 0x0, 0x1, 0x0, 0x14, 0xFF, 0xEC, 0x6, 0x5, 0x5, 0xC4, 0x0, 0x25, 0x0, 0x0, 0x25, 0x6, 0x6, 0x23, 0x22, 0x0, 0x3, 0x7, 0x35, 0x37, 0x35, 0x12, 0x0, 0x21, 0x20, 0x0, 0x17, 0x23, 0x26, 0x26, 0x23, 0x22, 0x2, 0x7, 0x15, 0x25, 0x15, 0x5, 0x16, 0x16, 0x33, 0x32, 0x36, 0x37, 0x35, 0x21, 0x35, 0x21, 0x5, 0x40, 0x2E, 0xF5, 0xF5, 0xF3, 0xFE, 0xB5, 0x26, 0xB0, 0xA6, 0x4, 0x1, 0x3E, 0x1, 0x16, 0x1, 0xB, 0x1, 0x9, 0x1A, 0xF8, 0x13, 0x89, 0x95, 0xB1, 0xAC, 0x1, 0x4, 0x4C, 0xFB, 0xB8, 0x12, 0xC3, 0x9F, 0x83, 0x76, 0x1B, 0xFE, 0xD4, 0x2, 0x27, 0xBE, 0x3D, 0x95, 0x1, 0x20, 0x1, 0xA, 0x28, 0x90, 0x26, 0x73, 0x1, 0x46, 0x1, 0x67, 0xFE, 0xFA, 0xCB, 0x71, 0x95, 0xFE, 0xFF, 0xEA, 0x30, 0xFC, 0x90, 0xFB, 0xC6, 0xD3, 0x3C, 0x1C, 0x80, 0xBF, 0x0, 0x3, 0x0, 0x14, 0xFE, 0x56, 0x5, 0x2D, 0x4, 0x4E, 0x0, 0x7, 0x0, 0xE, 0x0, 0x31, 0x0, 0x0, 0x1, 0x25, 0x35, 0x26, 0x23, 0x22, 0x6, 0x15, 0x13, 0x32, 0x37, 0x35, 0x5, 0x16, 0x16, 0x13, 0x22, 0x26, 0x27, 0x37, 0x16, 0x33, 0x32, 0x36, 0x35, 0x35, 0x6, 0x23, 0x22, 0x26, 0x27, 0x7, 0x35, 0x37, 0x26, 0x35, 0x34, 0x12, 0x33, 0x32, 0x17, 0x37, 0x33, 0x11, 0x37, 0x15, 0x7, 0x11, 0x14, 0x4, 0x1, 0xA3, 0x1, 0xD5, 0x43, 0x95, 0x84, 0x79, 0xFB, 0x95, 0x45, 0xFE, 0x3F, 0x19, 0x71, 0x3F, 0x59, 0xF3, 0x48, 0x73, 0x6F, 0xA4, 0x79, 0x8D, 0x6A, 0xAE, 0x95, 0xD0, 0x2D, 0xBA, 0xA0, 0x4, 0xE9, 0xC9, 0xBA, 0x69, 0xA, 0xDC, 0xC2, 0xC2, 0xFE, 0xEF, 0x2, 0x0, 0x7C, 0x90, 0x7C, 0xD0, 0x92, 0xFE, 0x8D, 0x7F, 0xB9, 0x77, 0x56, 0x6B, 0xFD, 0xA3, 0x51, 0x62, 0x91, 0x85, 0x85, 0x7F, 0x49, 0x76, 0xB5, 0x95, 0x31, 0x91, 0x2A, 0x28, 0x3E, 0xF7, 0x1, 0x31, 0x7F, 0x6B, 0xFE, 0x83, 0x33, 0x91, 0x33, 0xFD, 0xF2, 0xDB, 0xED, 0x0, 0x2, 0x0, 0x14, 0x0, 0x0, 0x5, 0x4B, 0x5, 0xB0, 0x0, 0x3, 0x0, 0x18, 0x0, 0x0, 0x1, 0x25, 0x27, 0x7, 0x1, 0x3, 0x5, 0x15, 0x23, 0x35, 0x7, 0x35, 0x37, 0x11, 0x33, 0x11, 0x37, 0x1, 0x21, 0x1, 0x13, 0x25, 0x15, 0x5, 0x1, 0x1, 0xC4, 0x1, 0x15, 0x6F, 0xA6, 0x2, 0x5B, 0xF2, 0xFE, 0x97, 0xFC, 0xB4, 0xB4, 0xFC, 0x8D, 0x1, 0xA9, 0x1, 0x33, 0xFD, 0xE3, 0xC2, 0x1, 0x66, 0xFE, 0xEF, 0x1, 0x24, 0x1, 0x8B, 0x4A, 0xA1, 0xB0, 0xFE, 0x3A, 0x1, 0x5D, 0x61, 0xFC, 0xB9, 0x30, 0x8F, 0x30, 0x4, 0x68, 0xFD, 0x54, 0xAE, 0x1, 0xFE, 0xFD, 0x7C, 0xFE, 0xEC, 0x5F, 0x8F, 0x49, 0xFE, 0x61, 0x0, 0x2, 0x0, 0x14, 0x0, 0x0, 0x4, 0x84, 0x6, 0x0, 0x0, 0x3, 0x0, 0x18, 0x0, 0x0, 0x1, 0x37, 0x27, 0x7, 0x1, 0x27, 0x5, 0x15, 0x23, 0x35, 0x7, 0x35, 0x37, 0x11, 0x33, 0x11, 0x37, 0x1, 0x21, 0x1, 0x17, 0x25, 0x15, 0x7, 0x13, 0x1, 0xBD, 0xAC, 0x3F, 0x6D, 0x1, 0xAD, 0xAD, 0xFF, 0x0, 0xF3, 0xB6, 0xB6, 0xF3, 0x4D, 0x1, 0x2A, 0x1, 0x25, 0xFE, 0x6D, 0x8B, 0x1, 0x27, 0xD1, 0xDD, 0x1, 0x48, 0x2D, 0x5D, 0x70, 0xFE, 0x9E, 0xFB, 0x44, 0xB7, 0x76, 0x30, 0x91, 0x30, 0x4, 0xF9, 0xFC, 0x8A, 0x60, 0x1, 0x50, 0xFE, 0x3E, 0xC5, 0x4E, 0x90, 0x38, 0xFE, 0xC7, 0x0, 0x3, 0x0, 0x14, 0x0, 0x0, 0x6, 0xD, 0x5, 0xB0, 0x0, 0x2, 0x0, 0x5, 0x0, 0x19, 0x0, 0x0, 0x1, 0x11, 0x37, 0x1, 0x11, 0x7, 0x13, 0x1, 0x5, 0x11, 0x23, 0x11, 0x7, 0x35, 0x37, 0x11, 0x33, 0x1, 0x37, 0x11, 0x33, 0x11, 0x37, 0x15, 0x7, 0x11, 0x1, 0xC6, 0xC4, 0x1, 0xC7, 0x96, 0x94, 0xFE, 0x89, 0xFE, 0xEE, 0xFD, 0xB5, 0xB5, 0xFD, 0x1, 0xA8, 0xE3, 0xFB, 0xC1, 0xC1, 0x4, 0x9, 0xFE, 0x93, 0x35, 0xFE, 0xD3, 0x1, 0x16, 0x28, 0xFD, 0x6E, 0x2, 0x55, 0x49, 0xFD, 0xF4, 0x1, 0xC8, 0x30, 0x90, 0x30, 0x3, 0x58, 0xFD, 0x5D, 0x3D, 0x2, 0x66, 0xFD, 0xDD, 0x34, 0x90, 0x34, 0xFD, 0x3, 0x0, 0x2, 0x0, 0x14, 0x0, 0x0, 0x5, 0x2D, 0x4, 0x4E, 0x0, 0x7, 0x0, 0x1C, 0x0, 0x0, 0x1, 0x22, 0x7, 0x15, 0x25, 0x35, 0x34, 0x26, 0x13, 0x11, 0x5, 0x11, 0x23, 0x11, 0x7, 0x35, 0x37, 0x11, 0x33, 0x17, 0x36, 0x33, 0x32, 0x16, 0x17, 0x37, 0x15, 0x7, 0x11, 0x2, 0xA5, 0x91, 0x49, 0x1, 0x99, 0x61, 0x61, 0xFE, 0x67, 0xF3, 0xC4, 0xC4, 0xE5, 0x8, 0x77, 0xC3, 0x9A, 0xBC, 0x2, 0xD6, 0xD6, 0x3, 0x88, 0x84, 0xED, 0x6D, 0x3A, 0x70, 0x5A, 0xFC, 0x78, 0x1, 0xF6, 0x6C, 0xFE, 0x76, 0x1, 0x49, 0x34, 0x8E, 0x34, 0x2, 0x63, 0x7D, 0x91, 0xB2, 0xD8, 0x39, 0x8D, 0x39, 0xFD, 0xC9, 0x0, 0x3, 0x0, 0x14, 0x0, 0x0, 0x5, 0x73, 0x5, 0xB0, 0x0, 0x4, 0x0, 0xA, 0x0, 0x20, 0x0, 0x0, 0x1, 0x15, 0x25, 0x26, 0x27, 0x5, 0x5, 0x15, 0x21, 0x32, 0x36, 0x13, 0x1, 0x21, 0x11, 0x23, 0x11, 0x7, 0x35, 0x37, 0x11, 0x21, 0x20, 0x17, 0x37, 0x15, 0x7, 0x17, 0x14, 0x6, 0x7, 0x1, 0x15, 0x1, 0xC8, 0x1, 0xF8, 0x3D, 0xB2, 0x1, 0xB, 0xFD, 0xEC, 0x1, 0x3, 0x89, 0x88, 0x2A, 0xFE, 0xDC, 0xFE, 0xE6, 0xFD, 0xB7, 0xB7, 0x2, 0x0, 0x1, 0x84, 0x68, 0xBC, 0x9D, 0x2, 0x8E, 0x7D, 0x1, 0x47, 0x4, 0xE5, 0xFC, 0x86, 0x74, 0x2, 0xFA, 0x8E, 0x61, 0x88, 0xFC, 0x7C, 0x2, 0x31, 0xFD, 0xCF, 0x3, 0x19, 0x31, 0x8C, 0x31, 0x2, 0xB, 0xFE, 0x32, 0x8C, 0x2A, 0x35, 0x92, 0xC6, 0x34, 0xFD, 0xA0, 0xD, 0x0, 0x1, 0x0, 0x15, 0x0, 0x0, 0x3, 0x13, 0x4, 0x4E, 0x0, 0x15, 0x0, 0x0, 0x1, 0x5, 0x11, 0x23, 0x11, 0x7, 0x35, 0x37, 0x11, 0x33, 0x17, 0x36, 0x33, 0x32, 0x17, 0x7, 0x26, 0x23, 0x22, 0x7, 0x15, 0x25, 0x3, 0x7, 0xFE, 0xC7, 0xF3, 0xC6, 0xC6, 0xE8, 0x7, 0x57, 0x9C, 0x31, 0x25, 0x1, 0x33, 0x30, 0xA7, 0x3A, 0x1, 0x39, 0x1, 0xDE, 0x53, 0xFE, 0x75, 0x1, 0x4A, 0x35, 0x8C, 0x35, 0x2, 0x64, 0x79, 0x8D, 0xD, 0xE5, 0x8, 0x7F, 0xCE, 0x53, 0x0, 0x1, 0x0, 0x14, 0xFF, 0xEC, 0x5, 0x7F, 0x5, 0xC4, 0x0, 0x2D, 0x0, 0x0, 0x5, 0x22, 0x24, 0x26, 0x35, 0x33, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x27, 0x27, 0x5, 0x35, 0x25, 0x26, 0x26, 0x35, 0x34, 0x24, 0x33, 0x32, 0x0, 0x15, 0x23, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x14, 0x16, 0x17, 0x17, 0x25, 0x15, 0x5, 0x4, 0x15, 0x14, 0x4, 0x2, 0xE0, 0x8B, 0xFE, 0xFA, 0xA8, 0xFC, 0xB8, 0x85, 0x84, 0x85, 0x7A, 0xC0, 0x48, 0xFD, 0xAD, 0x1, 0x91, 0x61, 0x70, 0x1, 0x1D, 0xE7, 0xF7, 0x1, 0x16, 0xFC, 0x86, 0x8E, 0x85, 0x7F, 0x99, 0x9C, 0x5, 0x2, 0x74, 0xFE, 0x63, 0x1, 0x4, 0xFE, 0xE7, 0x14, 0x66, 0xCD, 0x99, 0x8A, 0x7A, 0x6C, 0x58, 0x5A, 0x6A, 0x3A, 0x18, 0xA0, 0x8C, 0x6C, 0x3A, 0xA0, 0x71, 0xB0, 0xE3, 0xFE, 0xF9, 0xB6, 0x6B, 0x89, 0x73, 0x56, 0x52, 0x6C, 0x2D, 0x1, 0xA8, 0x8C, 0x6F, 0x82, 0xF7, 0xB8, 0xD6, 0x0, 0x1, 0x0, 0x14, 0xFF, 0xEC, 0x4, 0xBF, 0x4, 0x4E, 0x0, 0x2A, 0x0, 0x0, 0x5, 0x22, 0x26, 0x35, 0x33, 0x16, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x27, 0x27, 0x5, 0x35, 0x25, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x23, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x14, 0x16, 0x17, 0x25, 0x15, 0x5, 0x16, 0x15, 0x14, 0x6, 0x2, 0x6D, 0xDE, 0xEA, 0xEB, 0x5, 0x8B, 0x50, 0x60, 0x64, 0x55, 0x96, 0x24, 0xFD, 0xEF, 0x1, 0x3D, 0x89, 0xE1, 0xC1, 0xCB, 0xE6, 0xF2, 0x60, 0x5F, 0x5C, 0x58, 0x55, 0x9B, 0x2, 0x19, 0xFE, 0xCA, 0x9A, 0xEE, 0x14, 0xE4, 0x86, 0x64, 0x50, 0x4A, 0x3A, 0x35, 0x4D, 0x1F, 0x8, 0x8C, 0x8A, 0x54, 0x54, 0x91, 0x85, 0xC3, 0xC6, 0x92, 0x3F, 0x63, 0x52, 0x36, 0x33, 0x40, 0x22, 0x8E, 0x8A, 0x52, 0x55, 0xA4, 0x90, 0xB8, 0x0, 0x1, 0x0, 0x1B, 0x0, 0x0, 0x5, 0xF4, 0x5, 0xB0, 0x0, 0x17, 0x0, 0x0, 0x21, 0x11, 0x21, 0x11, 0x23, 0x11, 0x23, 0x22, 0x6, 0x15, 0x14, 0x17, 0x23, 0x26, 0x35, 0x34, 0x36, 0x37, 0x21, 0x11, 0x21, 0x11, 0x33, 0x11, 0x4, 0xF8, 0xFD, 0x75, 0xFC, 0x17, 0x55, 0x40, 0x7, 0xA2, 0xF, 0x94, 0xA7, 0x1, 0x17, 0x2, 0x8B, 0xFC, 0x2, 0x88, 0xFD, 0x78, 0x4, 0xF4, 0x5C, 0x41, 0x1B, 0x25, 0x33, 0x4F, 0x79, 0x9D, 0x1, 0xFD, 0xA2, 0x2, 0x5E, 0xFA, 0x50, 0xFF, 0xFF, 0x0, 0x49, 0xFF, 0xEC, 0x4, 0x7F, 0x5, 0xC4, 0x0, 0x6, 0x2, 0x71, 0x0, 0x0, 0x0, 0x2, 0x0, 0x66, 0xFE, 0x4C, 0x4, 0xF6, 0x5, 0xC4, 0x0, 0xC, 0x0, 0x26, 0x0, 0x0, 0x25, 0x32, 0x36, 0x37, 0x11, 0x26, 0x23, 0x22, 0x6, 0x7, 0x15, 0x14, 0x12, 0x13, 0x22, 0x26, 0x27, 0x37, 0x16, 0x33, 0x20, 0x37, 0x35, 0x6, 0x23, 0x20, 0x0, 0x11, 0x35, 0x10, 0x0, 0x21, 0x32, 0x17, 0x37, 0x33, 0x11, 0x14, 0x4, 0x2, 0xB1, 0x68, 0xAB, 0x36, 0x6F, 0xCE, 0xAB, 0xAC, 0x1, 0x9B, 0xC9, 0x81, 0xF6, 0x5E, 0x79, 0xA4, 0xB6, 0x1, 0x2D, 0x6, 0x88, 0xC1, 0xFE, 0xF3, 0xFE, 0xC2, 0x1, 0x44, 0x1, 0x13, 0xC8, 0x8D, 0xC, 0xD8, 0xFE, 0xDC, 0xB8, 0x4C, 0x39, 0x3, 0x4A, 0x71, 0xFA, 0xE4, 0x7D, 0xDA, 0xFE, 0xF5, 0xFD, 0x94, 0x55, 0x62, 0x98, 0x86, 0xFA, 0x3A, 0x5D, 0x1, 0x76, 0x1, 0x3B, 0x76, 0x1, 0x3A, 0x1, 0x77, 0x68, 0x54, 0xFA, 0x6E, 0xDD, 0xF5, 0x0, 0x2, 0x0, 0x28, 0x0, 0x0, 0x5, 0x65, 0x5, 0xB0, 0x0, 0x8, 0x0, 0x1C, 0x0, 0x0, 0x1, 0x35, 0x34, 0x23, 0x22, 0x6, 0x15, 0x14, 0x33, 0x13, 0x11, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x17, 0x11, 0x33, 0x11, 0x33, 0x15, 0x23, 0x11, 0x21, 0x15, 0x1, 0xD3, 0x67, 0x26, 0x3A, 0x68, 0x5F, 0x78, 0x8A, 0xA9, 0xAD, 0x9A, 0x36, 0x2E, 0xFD, 0xEE, 0xEE, 0x2, 0x95, 0x2, 0xE7, 0x49, 0x6C, 0x2F, 0x2C, 0x5A, 0xFD, 0x19, 0x2, 0x2B, 0x92, 0x80, 0x78, 0x99, 0x9, 0x1, 0x6B, 0xFD, 0x37, 0xBC, 0xFE, 0x9F, 0xCA, 0x0, 0x1, 0xFF, 0xF3, 0x0, 0x0, 0x4, 0x77, 0x5, 0xB0, 0x0, 0xC, 0x0, 0x0, 0x21, 0x21, 0x1, 0x1, 0x21, 0x1, 0x37, 0x11, 0x33, 0x11, 0x23, 0x11, 0x7, 0x1, 0x44, 0xFE, 0xCE, 0x2, 0x1C, 0xFD, 0xC5, 0x1, 0x2C, 0x1, 0xB5, 0xA6, 0xFD, 0xFD, 0x8C, 0x2, 0x84, 0x3, 0x2C, 0xFD, 0x8A, 0xAF, 0x1, 0xC7, 0xFA, 0x50, 0x2, 0xAA, 0xAC, 0x0, 0x1, 0x0, 0x2D, 0x0, 0x0, 0x4, 0xB0, 0x5, 0xB0, 0x0, 0x7, 0x0, 0x0, 0x21, 0x21, 0x35, 0x21, 0x11, 0x33, 0x11, 0x21, 0x4, 0xB0, 0xFB, 0x7D, 0x1, 0xC2, 0xFC, 0x1, 0xC5, 0xCB, 0x4, 0xE5, 0xFB, 0x1B, 0x0, 0x1, 0x0, 0x3C, 0x2, 0x5F, 0x5, 0xEC, 0x3, 0x51, 0x0, 0x3, 0x0, 0x0, 0x13, 0x21, 0x15, 0x21, 0x3C, 0x5, 0xB0, 0xFA, 0x50, 0x3, 0x51, 0xF2, 0x0, 0x2, 0x0, 0x35, 0x2, 0x8C, 0x4, 0xC4, 0x6, 0xC1, 0x0, 0x3, 0x0, 0x17, 0x0, 0x0, 0x1, 0x35, 0x21, 0x15, 0x1, 0x11, 0x21, 0x11, 0x23, 0x11, 0x23, 0x35, 0x33, 0x35, 0x33, 0x15, 0x21, 0x35, 0x33, 0x15, 0x33, 0x15, 0x23, 0x11, 0x3, 0x75, 0xFE, 0xF, 0x1, 0xF1, 0xFE, 0xF, 0xC4, 0x8B, 0x8B, 0xC4, 0x1, 0xF1, 0xC4, 0x8B, 0x8B, 0x4, 0xFB, 0x68, 0x68, 0xFD, 0x91, 0x1, 0xC9, 0xFE, 0x37, 0x2, 0xD7, 0xA7, 0xB7, 0xB7, 0xB7, 0xB7, 0xA7, 0xFD, 0x29, 0xFF, 0xFF, 0x0, 0x3C, 0x2, 0x7C, 0x5, 0x47, 0x5, 0xBC, 0x0, 0x26, 0x3, 0x81, 0x0, 0x0, 0x0, 0x7, 0x3, 0x78, 0x2, 0x31, 0x0, 0x0, 0x0, 0x1, 0x0, 0x7D, 0x0, 0x0, 0x6, 0x16, 0x4, 0x3A, 0x0, 0xF, 0x0, 0x0, 0x25, 0x23, 0x15, 0x21, 0x35, 0x23, 0x11, 0x33, 0x11, 0x21, 0x11, 0x33, 0x11, 0x21, 0x11, 0x33, 0x6, 0x16, 0xB4, 0xFB, 0xAB, 0x90, 0xF3, 0x1, 0x5F, 0xF4, 0x1, 0x5F, 0xF4, 0x1, 0x1, 0x1, 0x4, 0x39, 0xFC, 0x88, 0x3, 0x78, 0xFC, 0x88, 0x3, 0x78, 0x0, 0x1, 0x0, 0x34, 0x0, 0x0, 0x3, 0xD1, 0x5, 0xB0, 0x0, 0x9, 0x0, 0x0, 0x21, 0x11, 0x21, 0x35, 0x21, 0x11, 0x21, 0x35, 0x21, 0x11, 0x2, 0xD4, 0xFD, 0xB6, 0x2, 0x4A, 0xFD, 0x60, 0x3, 0x9D, 0x2, 0x69, 0xCA, 0x1, 0xB2, 0xCB, 0xFA, 0x50, 0x0, 0x2, 0x0, 0x4A, 0x0, 0x0, 0x4, 0x89, 0x5, 0xB0, 0x0, 0xA, 0x0, 0x13, 0x0, 0x0, 0x21, 0x23, 0x11, 0x21, 0x26, 0x24, 0x35, 0x34, 0x0, 0x33, 0x21, 0x3, 0x11, 0x21, 0x22, 0x6, 0x15, 0x14, 0x16, 0x33, 0x4, 0x89, 0xFC, 0xFE, 0xCA, 0xFA, 0xFE, 0xED, 0x1, 0x15, 0xFD, 0x2, 0x2D, 0xFC, 0xFE, 0xCF, 0x93, 0x81, 0x81, 0x93, 0x2, 0x1D, 0x1, 0xF1, 0xD2, 0xC9, 0x1, 0x6, 0xFD, 0x38, 0x1, 0xFD, 0xA0, 0x66, 0x6D, 0x8A, 0x0, 0x1, 0x0, 0x95, 0x0, 0x0, 0x6, 0x6B, 0x5, 0xB0, 0x0, 0xE, 0x0, 0x0, 0x33, 0x11, 0x33, 0x11, 0x3, 0x1, 0x33, 0x1, 0x3, 0x11, 0x33, 0x11, 0x21, 0x1, 0x1, 0x95, 0xFC, 0x19, 0x1, 0xAD, 0xB5, 0x1, 0xAD, 0x18, 0xFC, 0xFE, 0xB8, 0xFE, 0x5D, 0xFE, 0x5C, 0x5, 0xB0, 0xFE, 0x20, 0xFD, 0x7F, 0x4, 0x61, 0xFB, 0xA0, 0x2, 0x80, 0x1, 0xE0, 0xFA, 0x50, 0x4, 0x5C, 0xFB, 0xA4, 0x0, 0x1, 0x0, 0xA4, 0x0, 0x0, 0x1, 0xA0, 0x6, 0x0, 0x0, 0x3, 0x0, 0x0, 0x1, 0x11, 0x23, 0x11, 0x1, 0xA0, 0xFC, 0x6, 0x0, 0xFA, 0x0, 0x6, 0x0, 0x0, 0x1, 0x0, 0x75, 0x0, 0x0, 0x9, 0x11, 0x5, 0xB0, 0x0, 0x13, 0x0, 0x0, 0x21, 0x1, 0x3, 0x23, 0x13, 0x33, 0x1, 0x13, 0x33, 0x1, 0x13, 0x33, 0x3, 0x23, 0x35, 0x7, 0x1, 0x3, 0x23, 0x35, 0x4, 0x1, 0xFD, 0xD6, 0x66, 0xFC, 0x8C, 0xFC, 0x2, 0x2C, 0x66, 0xF8, 0x2, 0x2C, 0x66, 0xF8, 0x8C, 0xF8, 0x2, 0xFD, 0xD6, 0x66, 0xF8, 0x4, 0x27, 0xFB, 0xD9, 0x5, 0xB0, 0xFB, 0xD9, 0x4, 0x27, 0xFB, 0xD9, 0x4, 0x27, 0xFA, 0x50, 0x2, 0x2, 0x4, 0x25, 0xFB, 0xDB, 0x2, 0x0, 0x1, 0x0, 0x18, 0x1, 0xE3, 0x4, 0x49, 0x3, 0x4A, 0x0, 0xC, 0x0, 0x0, 0x1, 0x23, 0x26, 0x26, 0x23, 0x22, 0x6, 0x7, 0x23, 0x36, 0x24, 0x20, 0x4, 0x4, 0x49, 0xB3, 0x24, 0x9D, 0xA4, 0xAE, 0x91, 0x26, 0xB4, 0x38, 0x1, 0x4, 0x1, 0xBA, 0x1, 0x4, 0x1, 0xE3, 0x3C, 0x8D, 0x8D, 0x3C, 0x89, 0xDE, 0xDE, 0x0, 0x3, 0x0, 0x1B, 0xFF, 0xEB, 0x5, 0x2E, 0x4, 0x4E, 0x0, 0x6, 0x0, 0xD, 0x0, 0x29, 0x0, 0x0, 0x1, 0x22, 0x6, 0x7, 0x21, 0x35, 0x26, 0x3, 0x32, 0x37, 0x35, 0x21, 0x16, 0x16, 0x5, 0x6, 0x23, 0x22, 0x27, 0x6, 0x23, 0x22, 0x2, 0x27, 0x23, 0x35, 0x33, 0x36, 0x12, 0x20, 0x17, 0x37, 0x33, 0x11, 0x33, 0x15, 0x23, 0x15, 0x14, 0x33, 0x32, 0x37, 0x2, 0xA9, 0x6B, 0x6F, 0x11, 0x1, 0xBB, 0x45, 0x8D, 0x8D, 0x45, 0xFE, 0x3F, 0x6, 0x6F, 0x2, 0xBB, 0x33, 0x4C, 0xA3, 0x34, 0x68, 0xC0, 0xC3, 0xD9, 0x9, 0xAA, 0xAF, 0x17, 0xD5, 0x1, 0x6C, 0x66, 0x13, 0xD1, 0xC2, 0xC2, 0x49, 0xE, 0xC, 0x3, 0x8B, 0x99, 0x73, 0x80, 0x8C, 0xFD, 0x23, 0x89, 0x9D, 0x7E, 0xA8, 0xA4, 0x1F, 0xA3, 0xA3, 0x1, 0x11, 0xD8, 0xAB, 0xCF, 0x1, 0x0, 0x97, 0x83, 0xFE, 0x45, 0xAB, 0x90, 0x8B, 0x4, 0x0, 0x3, 0x0, 0x5B, 0xFF, 0xEC, 0x6, 0x8E, 0x4, 0x4E, 0x0, 0x28, 0x0, 0x31, 0x0, 0x39, 0x0, 0x0, 0x5, 0x22, 0x27, 0x6, 0x6, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x37, 0x33, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x23, 0x34, 0x36, 0x33, 0x32, 0x17, 0x36, 0x33, 0x32, 0x16, 0x17, 0x7, 0x26, 0x23, 0x22, 0x6, 0x7, 0x21, 0x15, 0x14, 0x2, 0x24, 0x36, 0x37, 0x35, 0x23, 0x6, 0x15, 0x14, 0x16, 0x21, 0x32, 0x36, 0x35, 0x35, 0x21, 0x16, 0x16, 0x4, 0xBF, 0xE6, 0x89, 0x2D, 0xC6, 0x92, 0xA2, 0xCE, 0xFF, 0xE7, 0x9F, 0x5F, 0x5F, 0x57, 0x67, 0xF2, 0xF1, 0xCD, 0xE0, 0x6F, 0x89, 0xD3, 0xA2, 0xCB, 0x34, 0x83, 0x66, 0xA9, 0x76, 0x8F, 0xE, 0x2, 0xB7, 0xE3, 0xFC, 0xA2, 0x79, 0x1A, 0x96, 0xFD, 0x58, 0x3, 0x1A, 0x79, 0x65, 0xFE, 0x39, 0xC, 0x79, 0x14, 0xB8, 0x49, 0x6F, 0xBA, 0x8A, 0xA9, 0xA4, 0x1, 0x5E, 0x55, 0x65, 0x56, 0x3E, 0x80, 0xCC, 0x81, 0x81, 0x7F, 0x4D, 0x7D, 0x86, 0x99, 0x74, 0x7C, 0xEA, 0xFE, 0xD4, 0xC3, 0x50, 0x31, 0xA0, 0x5, 0x83, 0x41, 0x58, 0x98, 0x5E, 0x2B, 0x89, 0x98, 0x0, 0x2, 0x0, 0x7D, 0xFF, 0xEC, 0x3, 0x50, 0x4, 0x4E, 0x0, 0x7, 0x0, 0xA, 0x0, 0x0, 0x5, 0x25, 0x11, 0x25, 0x1, 0x1, 0x15, 0x5, 0x1, 0x11, 0x37, 0x2, 0xA7, 0xFD, 0xD6, 0x1, 0x97, 0x1, 0x3C, 0xFE, 0x1F, 0x1, 0x83, 0xFE, 0x7D, 0xA1, 0x14, 0x55, 0x3, 0x2C, 0xE1, 0xFE, 0x3A, 0xFE, 0xF1, 0x7E, 0x44, 0x2, 0xE2, 0xFE, 0xBD, 0x5E, 0x0, 0x2, 0x0, 0x1B, 0xFF, 0xEC, 0x4, 0xFD, 0x4, 0x4E, 0x0, 0x6, 0x0, 0x22, 0x0, 0x0, 0x1, 0x22, 0x7, 0x21, 0x35, 0x26, 0x26, 0x1, 0x6, 0x6, 0x23, 0x22, 0x24, 0x27, 0x23, 0x35, 0x33, 0x35, 0x36, 0x0, 0x33, 0x32, 0x12, 0x15, 0x15, 0x21, 0x15, 0x21, 0x15, 0x21, 0x16, 0x16, 0x33, 0x32, 0x37, 0x2, 0x9E, 0xB6, 0x36, 0x1, 0xC0, 0x5, 0x60, 0x1, 0x44, 0x34, 0xCC, 0xA2, 0xC6, 0xFE, 0xFD, 0x2A, 0xA1, 0x8F, 0x4, 0x1, 0x1F, 0xD0, 0xE8, 0xDD, 0xFD, 0x3B, 0x3, 0x60, 0xFC, 0xBB, 0x1F, 0x86, 0x61, 0xA9, 0x66, 0x3, 0x8B, 0xC2, 0xC, 0x44, 0x72, 0xFD, 0x2D, 0x4C, 0x80, 0xD0, 0xA5, 0x99, 0x33, 0xFB, 0x1, 0x26, 0xFE, 0xFB, 0xCB, 0x4F, 0x35, 0x99, 0x50, 0x62, 0x86, 0x0, 0x2, 0x0, 0x2F, 0xFF, 0xEC, 0x5, 0x3C, 0x4, 0x4E, 0x0, 0x7, 0x0, 0x26, 0x0, 0x0, 0x1, 0x22, 0x6, 0x7, 0x21, 0x35, 0x26, 0x26, 0x1, 0x6, 0x6, 0x23, 0x22, 0x0, 0x27, 0x6, 0x6, 0x15, 0x14, 0x17, 0x23, 0x26, 0x35, 0x34, 0x36, 0x37, 0x36, 0x24, 0x33, 0x32, 0x12, 0x15, 0x15, 0x21, 0x16, 0x16, 0x33, 0x32, 0x37, 0x3, 0x6D, 0x64, 0x7A, 0x12, 0x1, 0xCF, 0x5, 0x61, 0x1, 0x45, 0x34, 0xCC, 0xA2, 0xE6, 0xFE, 0xEE, 0xC, 0x57, 0x38, 0x10, 0xBC, 0x1B, 0xCA, 0x91, 0x1C, 0x1, 0xE, 0xBA, 0xEC, 0xE2, 0xFD, 0x3D, 0xA, 0x95, 0x80, 0xA9, 0x66, 0x3, 0x8B, 0x8C, 0x7C, 0x12, 0x5F, 0x97, 0xFD, 0x2D, 0x4C, 0x80, 0x1, 0x14, 0xD1, 0x5, 0x67, 0x58, 0x61, 0x37, 0x47, 0x7D, 0xB2, 0x95, 0x3, 0xD5, 0xF6, 0xFE, 0xD4, 0xEA, 0x67, 0x7D, 0xA5, 0x86, 0xFF, 0xFF, 0x0, 0x2D, 0x0, 0x0, 0x2, 0xD7, 0x6, 0x15, 0x0, 0x6, 0x0, 0x4B, 0x0, 0x0, 0x0, 0x3, 0x0, 0x50, 0xFE, 0x4B, 0x4, 0xDC, 0x4, 0x4E, 0x0, 0xB, 0x0, 0x23, 0x0, 0x2A, 0x0, 0x0, 0x25, 0x32, 0x37, 0x11, 0x26, 0x23, 0x22, 0x6, 0x15, 0x15, 0x14, 0x16, 0x13, 0x22, 0x26, 0x35, 0x34, 0x37, 0x26, 0x2, 0x35, 0x35, 0x34, 0x12, 0x33, 0x32, 0x17, 0x37, 0x33, 0x11, 0x33, 0x15, 0x23, 0x15, 0x14, 0x6, 0x27, 0x32, 0x35, 0x35, 0x23, 0x22, 0x14, 0x2, 0x39, 0x92, 0x45, 0x46, 0x8F, 0x83, 0x76, 0x74, 0xF1, 0x99, 0xAE, 0x2F, 0x98, 0xA7, 0xE1, 0xCD, 0xB4, 0x6B, 0xD, 0xD9, 0xD9, 0xD9, 0x96, 0xC8, 0x6B, 0x61, 0x6B, 0xAF, 0x7C, 0x1, 0xEA, 0x76, 0xD2, 0x92, 0x15, 0x91, 0xD2, 0xFD, 0x9C, 0x99, 0x78, 0x5D, 0x41, 0x29, 0x1, 0x25, 0xCA, 0x15, 0xF7, 0x1, 0x30, 0x7E, 0x6A, 0xFC, 0x30, 0xB4, 0x13, 0x87, 0xD1, 0xAF, 0x77, 0x45, 0xBC, 0x0, 0x1, 0x0, 0x35, 0x0, 0x0, 0x3, 0x88, 0x6, 0x0, 0x0, 0x25, 0x0, 0x0, 0x1, 0x22, 0x27, 0x11, 0x23, 0x11, 0x26, 0x23, 0x22, 0x15, 0x14, 0x16, 0x17, 0x15, 0x22, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x17, 0x11, 0x33, 0x11, 0x16, 0x33, 0x32, 0x35, 0x34, 0x26, 0x27, 0x35, 0x32, 0x16, 0x15, 0x14, 0x6, 0x2, 0x99, 0x20, 0x1D, 0xF3, 0x1F, 0x2F, 0x4C, 0x27, 0x3C, 0x60, 0x9D, 0x80, 0x72, 0x23, 0x1F, 0xF3, 0x1E, 0x27, 0x4E, 0x32, 0x23, 0x68, 0x86, 0x81, 0x1, 0xC7, 0xA, 0xFE, 0x2F, 0x3, 0x5D, 0x3E, 0x79, 0x43, 0x5C, 0x9, 0xB7, 0xAC, 0xAD, 0x9C, 0xA7, 0xA, 0x1, 0xAB, 0xFC, 0xC5, 0x3B, 0x76, 0x46, 0x3F, 0x1, 0xC4, 0xB3, 0x9D, 0x87, 0xAC, 0x0, 0x1, 0x0, 0x24, 0x0, 0x0, 0x3, 0x3D, 0x6, 0x0, 0x0, 0x2B, 0x0, 0x0, 0x1, 0x27, 0x11, 0x23, 0x11, 0x27, 0x22, 0x6, 0x15, 0x27, 0x34, 0x36, 0x33, 0x17, 0x35, 0x27, 0x22, 0x6, 0x15, 0x27, 0x34, 0x36, 0x33, 0x17, 0x11, 0x33, 0x11, 0x33, 0x32, 0x36, 0x35, 0x17, 0x14, 0x6, 0x23, 0x27, 0x15, 0x33, 0x32, 0x36, 0x35, 0x17, 0x14, 0x6, 0x2, 0x4C, 0x1C, 0xF3, 0x15, 0x28, 0x38, 0xA4, 0x89, 0x67, 0x29, 0x15, 0x28, 0x38, 0xA4, 0x89, 0x67, 0x29, 0xF3, 0x8, 0x29, 0x39, 0xA3, 0x8A, 0x67, 0x1C, 0x8, 0x29, 0x39, 0xA3, 0x8A, 0x1, 0xCB, 0x1, 0xFE, 0x34, 0x2, 0x26, 0x1, 0x3B, 0x2F, 0x8, 0x72, 0x9C, 0x4, 0x99, 0x1, 0x3B, 0x2F, 0x8, 0x72, 0x9C, 0x4, 0x1, 0xEF, 0xFD, 0xB9, 0x3B, 0x2F, 0xC, 0x73, 0x97, 0x1, 0x97, 0x3B, 0x2F, 0xC, 0x73, 0x97, 0x0, 0x3, 0x0, 0x35, 0x0, 0x0, 0x2, 0x6B, 0x6, 0x0, 0x0, 0x11, 0x0, 0x16, 0x0, 0x1A, 0x0, 0x0, 0x21, 0x23, 0x11, 0x26, 0x26, 0x35, 0x34, 0x36, 0x37, 0x11, 0x33, 0x11, 0x16, 0x16, 0x15, 0x14, 0x6, 0x7, 0x25, 0x14, 0x17, 0x35, 0x6, 0x4, 0x27, 0x15, 0x36, 0x1, 0xCC, 0xF3, 0x48, 0x5C, 0x5C, 0x48, 0xF3, 0x47, 0x58, 0x58, 0x47, 0xFE, 0xEE, 0x1F, 0x1F, 0x1, 0x2C, 0x1A, 0x1A, 0x1, 0xE0, 0x1E, 0x80, 0x57, 0x56, 0x82, 0x20, 0x2, 0x33, 0xFD, 0xCC, 0x1F, 0x82, 0x56, 0x57, 0x7F, 0x1E, 0xF4, 0x32, 0x28, 0xB7, 0x29, 0x2, 0x27, 0xB1, 0x26, 0x0, 0x2, 0x0, 0x7D, 0xFF, 0xEC, 0x7, 0x76, 0x4, 0x4E, 0x0, 0x2C, 0x0, 0x34, 0x0, 0x0, 0x5, 0x22, 0x26, 0x35, 0x34, 0x36, 0x33, 0x33, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x7, 0x11, 0x23, 0x11, 0x34, 0x26, 0x23, 0x22, 0x7, 0x11, 0x23, 0x11, 0x33, 0x17, 0x36, 0x33, 0x32, 0x17, 0x36, 0x36, 0x33, 0x32, 0x16, 0x17, 0x15, 0x33, 0x15, 0x23, 0x15, 0x14, 0x6, 0x27, 0x32, 0x35, 0x35, 0x23, 0x22, 0x15, 0x14, 0x5, 0x5D, 0x88, 0x9B, 0x9C, 0x75, 0x5F, 0x75, 0x5F, 0x5B, 0x72, 0x15, 0xF3, 0x68, 0x5A, 0x93, 0x3D, 0xF2, 0xE4, 0x7, 0x73, 0xC6, 0xDA, 0x50, 0x37, 0xAF, 0x76, 0xAB, 0xCA, 0x1, 0xD9, 0xD9, 0x8C, 0xB7, 0x50, 0x4A, 0x4D, 0x14, 0x98, 0x78, 0x80, 0x8F, 0xB3, 0x78, 0x52, 0x5C, 0x49, 0xFD, 0x1D, 0x2, 0xBC, 0x72, 0x5A, 0x78, 0xFC, 0xF0, 0x4, 0x3A, 0x71, 0x85, 0xA8, 0x4D, 0x5B, 0xB8, 0xD5, 0xB6, 0xB5, 0x12, 0x87, 0xD1, 0xAF, 0x71, 0x4A, 0x5E, 0x5D, 0x0, 0x2, 0x0, 0x7D, 0xFF, 0xEC, 0x4, 0xF4, 0x4, 0x4E, 0x0, 0x1F, 0x0, 0x27, 0x0, 0x0, 0x5, 0x22, 0x26, 0x35, 0x34, 0x36, 0x33, 0x33, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x7, 0x11, 0x23, 0x11, 0x33, 0x17, 0x36, 0x33, 0x32, 0x16, 0x17, 0x15, 0x33, 0x15, 0x23, 0x15, 0x14, 0x6, 0x27, 0x32, 0x35, 0x35, 0x23, 0x22, 0x15, 0x14, 0x2, 0xDC, 0x88, 0x9B, 0x9C, 0x74, 0x60, 0x6B, 0x5F, 0x53, 0x7B, 0x22, 0xF2, 0xDE, 0xB, 0x7C, 0xCF, 0x9F, 0xCA, 0x2, 0xD8, 0xD8, 0x8D, 0xB7, 0x51, 0x4A, 0x4D, 0x14, 0x98, 0x78, 0x80, 0x8F, 0x9F, 0x78, 0x66, 0x52, 0x44, 0xFD, 0xE, 0x4, 0x3A, 0x83, 0x97, 0xBF, 0xDE, 0xA6, 0xB5, 0x12, 0x87, 0xD1, 0xAF, 0x72, 0x49, 0x5E, 0x5D, 0x0, 0x2, 0x0, 0x7D, 0xFE, 0x4B, 0x4, 0xEB, 0x4, 0x4E, 0x0, 0x1F, 0x0, 0x27, 0x0, 0x0, 0x1, 0x22, 0x26, 0x35, 0x34, 0x36, 0x33, 0x33, 0x11, 0x34, 0x26, 0x23, 0x22, 0x6, 0x7, 0x11, 0x23, 0x11, 0x33, 0x17, 0x36, 0x33, 0x32, 0x16, 0x15, 0x11, 0x33, 0x15, 0x23, 0x15, 0x14, 0x6, 0x27, 0x32, 0x35, 0x35, 0x23, 0x6, 0x15, 0x14, 0x2, 0xC5, 0x94, 0xA6, 0xA9, 0x7F, 0x6C, 0x6E, 0x5C, 0x4E, 0x76, 0x22, 0xF2, 0xE4, 0x8, 0x76, 0xC3, 0xA1, 0xCF, 0xD9, 0xD9, 0x92, 0xC4, 0x63, 0x59, 0x62, 0xFE, 0x4B, 0x99, 0x78, 0x80, 0x8E, 0x2, 0x4B, 0x76, 0x5D, 0x4E, 0x41, 0xFD, 0x7, 0x4, 0x3A, 0x7F, 0x93, 0xB9, 0xE1, 0xFD, 0xB6, 0xB4, 0x13, 0x87, 0xD1, 0xAF, 0x71, 0x4B, 0x1, 0x5E, 0x5D, 0x0, 0x2, 0x0, 0x7D, 0xFF, 0xEC, 0x3, 0x81, 0x4, 0x4E, 0x0, 0x5, 0x0, 0x9, 0x0, 0x0, 0x5, 0x25, 0x11, 0x37, 0x5, 0x11, 0x25, 0x5, 0x11, 0x25, 0x2, 0x8E, 0xFD, 0xEF, 0xF2, 0x2, 0x12, 0xFD, 0xEE, 0x1, 0x1F, 0xFE, 0xE1, 0x14, 0x55, 0x3, 0x2C, 0xE1, 0x55, 0xFC, 0xD4, 0x2E, 0x36, 0x2, 0x7A, 0x35, 0x0, 0x3, 0x0, 0x86, 0xFF, 0x76, 0x3, 0xAE, 0x4, 0xBC, 0x0, 0x2, 0x0, 0x5, 0x0, 0x13, 0x0, 0x0, 0x1, 0x27, 0x11, 0x17, 0x17, 0x11, 0x25, 0x37, 0x5, 0x37, 0x33, 0x7, 0x17, 0x11, 0x7, 0x25, 0x7, 0x23, 0x37, 0x27, 0x2, 0x68, 0xD7, 0x3E, 0xE1, 0xFD, 0xEF, 0xF2, 0x1, 0x3D, 0x4F, 0x91, 0x5B, 0x50, 0xF3, 0xFE, 0xBA, 0x53, 0x91, 0x5E, 0x45, 0x3, 0x4C, 0x28, 0xFE, 0x22, 0xA7, 0x2A, 0x1, 0xF2, 0xB6, 0xE1, 0x34, 0xA2, 0xB7, 0xC, 0xFC, 0xD4, 0xE1, 0x34, 0xAA, 0xC0, 0xB, 0x0, 0x2, 0x0, 0x25, 0xFF, 0x83, 0x3, 0xBB, 0x5, 0x1, 0x0, 0x9, 0x0, 0x1E, 0x0, 0x0, 0x25, 0x32, 0x36, 0x35, 0x35, 0x34, 0x26, 0x27, 0x3, 0x16, 0x17, 0x22, 0x27, 0x7, 0x23, 0x1, 0x6, 0x7, 0x27, 0x36, 0x36, 0x33, 0x37, 0x33, 0x7, 0x16, 0x12, 0x15, 0x15, 0x14, 0x2, 0x1, 0xCA, 0x95, 0x69, 0x39, 0x4C, 0xED, 0x39, 0x3B, 0x61, 0x56, 0x31, 0xBD, 0x1, 0x69, 0x38, 0x38, 0x83, 0x3F, 0x90, 0x6B, 0x3F, 0xBD, 0x4A, 0x9A, 0x9A, 0xF8, 0xAF, 0xD9, 0x84, 0x22, 0x62, 0xB3, 0x2B, 0xFD, 0x5F, 0x1E, 0xC3, 0x23, 0x8C, 0x4, 0x1, 0xD, 0x29, 0x9D, 0x31, 0x32, 0xB3, 0xD3, 0x38, 0xFE, 0xE8, 0xB0, 0x22, 0xDF, 0xFE, 0xBF, 0x0, 0x3, 0x0, 0x50, 0xFF, 0xEC, 0x7, 0xE, 0x4, 0x4E, 0x0, 0x1E, 0x0, 0x2C, 0x0, 0x34, 0x0, 0x0, 0x1, 0x14, 0x2, 0x23, 0x22, 0x27, 0x6, 0x6, 0x23, 0x22, 0x0, 0x27, 0x35, 0x34, 0x0, 0x33, 0x32, 0x17, 0x36, 0x36, 0x33, 0x32, 0x16, 0x17, 0x7, 0x26, 0x23, 0x22, 0x6, 0x7, 0x21, 0x5, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x1, 0x32, 0x36, 0x37, 0x35, 0x21, 0x16, 0x16, 0x7, 0xE, 0xE3, 0xEC, 0xE8, 0x8B, 0x41, 0xC4, 0x7F, 0xEB, 0xFE, 0xF7, 0x4, 0x1, 0xA, 0xEC, 0xF8, 0x8B, 0x43, 0xCC, 0x83, 0xA2, 0xCB, 0x34, 0x83, 0x68, 0xA7, 0x80, 0x95, 0xA, 0x2, 0xC3, 0xFA, 0x34, 0x7D, 0x89, 0x86, 0x7D, 0x7C, 0x89, 0x87, 0x7D, 0x3, 0xFD, 0x79, 0x61, 0x4, 0xFE, 0x32, 0x12, 0x7A, 0x2, 0x2, 0xEA, 0xFE, 0xD4, 0xB3, 0x53, 0x60, 0x1, 0x33, 0xE6, 0x22, 0xEC, 0x1, 0x3B, 0xB1, 0x52, 0x5F, 0x7F, 0x4D, 0x7D, 0x86, 0xA5, 0x7D, 0x57, 0x91, 0xD2, 0xD2, 0x91, 0x15, 0x8F, 0xD5, 0xD5, 0x8F, 0xFE, 0x88, 0x98, 0x5E, 0x12, 0x7C, 0x8C, 0x0, 0x4, 0x0, 0x5D, 0xFF, 0x83, 0x6, 0xF1, 0x5, 0x1, 0x0, 0x7, 0x0, 0xF, 0x0, 0x17, 0x0, 0x41, 0x0, 0x0, 0x1, 0x14, 0x17, 0x13, 0x27, 0x22, 0x6, 0x15, 0x13, 0x32, 0x36, 0x35, 0x35, 0x34, 0x27, 0x3, 0x5, 0x32, 0x36, 0x37, 0x21, 0x15, 0x14, 0x16, 0x5, 0x22, 0x27, 0x7, 0x23, 0x37, 0x26, 0x27, 0x6, 0x6, 0x27, 0x22, 0x2, 0x35, 0x35, 0x21, 0x26, 0x26, 0x23, 0x22, 0x6, 0x7, 0x27, 0x36, 0x36, 0x33, 0x32, 0x16, 0x17, 0x36, 0x36, 0x33, 0x32, 0x17, 0x37, 0x33, 0x7, 0x16, 0x16, 0x15, 0x14, 0x0, 0x4, 0x3, 0x41, 0xE0, 0x24, 0x87, 0x76, 0xFF, 0x87, 0x76, 0x40, 0xDF, 0xFD, 0x41, 0x5B, 0x74, 0x12, 0xFE, 0x4B, 0x64, 0x3, 0x51, 0x34, 0x31, 0x28, 0xBD, 0x3F, 0x42, 0x31, 0x3F, 0xB7, 0x6D, 0xE2, 0xE2, 0x2, 0xAA, 0xA, 0x87, 0x80, 0x6B, 0x8C, 0x38, 0x4F, 0x35, 0xC6, 0x91, 0x7E, 0xC3, 0x41, 0x3E, 0xBF, 0x7D, 0x35, 0x31, 0x42, 0xBC, 0x58, 0x6F, 0x76, 0xFE, 0xFD, 0x2, 0x14, 0xA5, 0x5E, 0x2, 0x7A, 0x2, 0xD2, 0x93, 0xFE, 0x88, 0xD5, 0x8F, 0x15, 0xA4, 0x5F, 0xFD, 0x86, 0x2, 0x93, 0x6F, 0x19, 0x60, 0x89, 0xC3, 0x9, 0x73, 0xB3, 0x2B, 0x41, 0x55, 0x61, 0x1, 0x1, 0xF, 0xD9, 0x8F, 0x7C, 0xAD, 0x36, 0x26, 0x9E, 0x2F, 0x52, 0x60, 0x53, 0x53, 0x60, 0x9, 0xBA, 0xF9, 0x46, 0xFB, 0xB3, 0xEB, 0xFE, 0xC4, 0x0, 0x4, 0x0, 0x5D, 0xFF, 0xEC, 0x6, 0xF1, 0x4, 0x50, 0x0, 0x6, 0x0, 0xD, 0x0, 0x15, 0x0, 0x37, 0x0, 0x0, 0x1, 0x22, 0x6, 0x7, 0x21, 0x26, 0x26, 0x3, 0x32, 0x36, 0x37, 0x21, 0x16, 0x16, 0x21, 0x32, 0x36, 0x37, 0x21, 0x15, 0x14, 0x16, 0x5, 0x22, 0x26, 0x27, 0x6, 0x6, 0x27, 0x22, 0x2, 0x35, 0x35, 0x21, 0x26, 0x26, 0x23, 0x22, 0x6, 0x7, 0x27, 0x36, 0x36, 0x33, 0x32, 0x16, 0x17, 0x36, 0x36, 0x33, 0x32, 0x0, 0x15, 0x15, 0x14, 0x0, 0x5, 0x0, 0x79, 0x77, 0xB, 0x1, 0xF8, 0xB, 0x78, 0x78, 0x71, 0x77, 0xF, 0xFE, 0x10, 0xF, 0x78, 0xFD, 0x91, 0x5B, 0x74, 0x12, 0xFE, 0x4B, 0x64, 0x3, 0x51, 0x7E, 0xC0, 0x3F, 0x41, 0xB7, 0x6C, 0xE2, 0xE2, 0x2, 0xAA, 0xA, 0x87, 0x80, 0x6B, 0x8C, 0x38, 0x4F, 0x35, 0xC6, 0x91, 0x7D, 0xC3, 0x42, 0x3F, 0xBF, 0x7C, 0xED, 0x1, 0x4, 0xFE, 0xFD, 0x3, 0x8D, 0xAB, 0x7D, 0x7D, 0xAB, 0xFD, 0x23, 0x99, 0x71, 0x71, 0x99, 0x93, 0x6F, 0x19, 0x60, 0x89, 0xC3, 0x5D, 0x51, 0x52, 0x5D, 0x1, 0x1, 0xF, 0xD9, 0x8F, 0x7C, 0xAD, 0x36, 0x26, 0x9E, 0x2F, 0x52, 0x5C, 0x50, 0x50, 0x5C, 0xFE, 0xC5, 0xEC, 0x15, 0xEB, 0xFE, 0xC4, 0x0, 0x2, 0x0, 0x50, 0xFF, 0xEC, 0x6, 0x74, 0x4, 0x4E, 0x0, 0x21, 0x0, 0x2F, 0x0, 0x0, 0x5, 0x22, 0x27, 0x6, 0x23, 0x22, 0x0, 0x27, 0x35, 0x34, 0x0, 0x33, 0x15, 0x22, 0x6, 0x15, 0x15, 0x14, 0x16, 0x33, 0x32, 0x37, 0x26, 0x35, 0x35, 0x34, 0x0, 0x33, 0x32, 0x0, 0x15, 0x15, 0x14, 0x0, 0x1, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x4, 0x7E, 0xA5, 0x79, 0x79, 0xA0, 0xEA, 0xFE, 0xF7, 0x4, 0x1, 0xA, 0xEC, 0x88, 0x7C, 0x7D, 0x88, 0x4B, 0x41, 0x4D, 0x1, 0xA, 0xEC, 0xEF, 0x1, 0x9, 0xFE, 0xF7, 0xFE, 0xE, 0x7D, 0x88, 0x87, 0x7D, 0x7D, 0x89, 0x87, 0x7C, 0x14, 0x52, 0x52, 0x1, 0x33, 0xE6, 0x22, 0xEC, 0x1, 0x3B, 0xC3, 0xD5, 0x8F, 0x15, 0x91, 0xD2, 0x2A, 0x86, 0xB3, 0x15, 0xEC, 0x1, 0x3B, 0xFE, 0xC5, 0xEC, 0x15, 0xEB, 0xFE, 0xC5, 0x2, 0x26, 0x91, 0xD2, 0xD2, 0x91, 0x15, 0x8F, 0xD5, 0xD5, 0x8F, 0x0, 0x3, 0x0, 0x50, 0xFF, 0x83, 0x6, 0x74, 0x5, 0x1, 0x0, 0x7, 0x0, 0xF, 0x0, 0x3A, 0x0, 0x0, 0x1, 0x14, 0x17, 0x13, 0x27, 0x22, 0x6, 0x15, 0x1, 0x32, 0x36, 0x35, 0x35, 0x34, 0x27, 0x3, 0x17, 0x22, 0x27, 0x7, 0x23, 0x37, 0x27, 0x6, 0x23, 0x22, 0x0, 0x27, 0x35, 0x34, 0x0, 0x33, 0x15, 0x22, 0x6, 0x15, 0x15, 0x14, 0x16, 0x33, 0x32, 0x37, 0x26, 0x35, 0x35, 0x34, 0x0, 0x33, 0x32, 0x17, 0x37, 0x33, 0x7, 0x16, 0x12, 0x15, 0x15, 0x14, 0x0, 0x3, 0x79, 0x3E, 0xDD, 0x18, 0x87, 0x7C, 0x1, 0x5, 0x87, 0x7D, 0x4F, 0xE2, 0x2D, 0x3A, 0x35, 0x29, 0xBD, 0x40, 0x9, 0x79, 0xA0, 0xEA, 0xFE, 0xF7, 0x4, 0x1, 0xA, 0xEC, 0x88, 0x7C, 0x7D, 0x88, 0x4B, 0x41, 0x4D, 0x1, 0xA, 0xEC, 0x2F, 0x2C, 0x41, 0xBD, 0x56, 0x76, 0x7F, 0xFE, 0xF7, 0x2, 0x12, 0x9C, 0x5E, 0x2, 0x72, 0x1, 0xD5, 0x8F, 0xFE, 0x88, 0xD2, 0x91, 0x15, 0xB1, 0x5E, 0xFD, 0x7D, 0xC7, 0xA, 0x73, 0xB5, 0x6, 0x52, 0x1, 0x33, 0xE6, 0x22, 0xEC, 0x1, 0x3B, 0xC3, 0xD5, 0x8F, 0x15, 0x91, 0xD2, 0x2A, 0x86, 0xB3, 0x15, 0xEC, 0x1, 0x3B, 0x7, 0xBA, 0xF4, 0x45, 0xFF, 0x0, 0xA2, 0x14, 0xEB, 0xFE, 0xC5, 0x0, 0x1, 0x0, 0x35, 0x0, 0x0, 0x4, 0x23, 0x4, 0x3A, 0x0, 0x14, 0x0, 0x0, 0x21, 0x23, 0x35, 0x34, 0x12, 0x37, 0x11, 0x33, 0x11, 0x16, 0x12, 0x15, 0x15, 0x23, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x1, 0x28, 0xF3, 0xC8, 0xB5, 0xF3, 0xB6, 0xC8, 0xF3, 0x7C, 0x89, 0x87, 0x7C, 0x15, 0xCC, 0x1, 0x27, 0x27, 0x2, 0xB, 0xFD, 0xF5, 0x27, 0xFE, 0xD9, 0xCC, 0x15, 0x15, 0x8F, 0xD5, 0xD5, 0x8F, 0x0, 0x2, 0x0, 0x99, 0xFE, 0x60, 0x4, 0x55, 0x4, 0x3A, 0x0, 0x15, 0x0, 0x1C, 0x0, 0x0, 0x1, 0x23, 0x26, 0x35, 0x11, 0x26, 0x27, 0x23, 0x11, 0x23, 0x11, 0x21, 0x32, 0x16, 0x15, 0x14, 0x7, 0x16, 0x17, 0x11, 0x14, 0x17, 0x1, 0x11, 0x33, 0x32, 0x35, 0x34, 0x27, 0x4, 0x55, 0xFB, 0x1E, 0x1, 0xBC, 0xF3, 0xF3, 0x1, 0xBE, 0xD8, 0xF3, 0x9B, 0xA4, 0x3, 0x27, 0xFD, 0x37, 0xCC, 0xD8, 0xCE, 0xFE, 0x60, 0x23, 0x96, 0x1, 0xC0, 0xAB, 0x2, 0xFE, 0x7A, 0x4, 0x3A, 0xA4, 0x9E, 0xBB, 0x59, 0x3F, 0xC6, 0xFE, 0x52, 0x97, 0x2A, 0x5, 0x9, 0xFE, 0xC9, 0xA3, 0x90, 0x4, 0x0, 0x1, 0x0, 0x7D, 0x0, 0x0, 0x1, 0xED, 0x4, 0x3A, 0x0, 0x9, 0x0, 0x0, 0x21, 0x23, 0x11, 0x33, 0x17, 0x36, 0x37, 0x15, 0x6, 0x7, 0x1, 0x6F, 0xF2, 0xE8, 0x6, 0x33, 0x4F, 0x58, 0x26, 0x4, 0x3A, 0x7A, 0x55, 0x22, 0xE3, 0x1D, 0x53, 0x0, 0x1, 0x0, 0x7D, 0x0, 0x0, 0x3, 0x7F, 0x4, 0x4E, 0x0, 0x17, 0x0, 0x0, 0x1, 0x22, 0x7, 0x11, 0x23, 0x11, 0x33, 0x17, 0x36, 0x33, 0x32, 0x17, 0x36, 0x33, 0x32, 0x17, 0x15, 0x26, 0x23, 0x22, 0x7, 0x23, 0x26, 0x26, 0x2, 0x4, 0x6A, 0x2B, 0xF2, 0xE1, 0x7, 0x46, 0x70, 0x4F, 0x39, 0x2F, 0x4E, 0x3E, 0x21, 0x2D, 0x22, 0x37, 0x15, 0x7A, 0x16, 0x2A, 0x3, 0x64, 0x6E, 0xFD, 0xA, 0x4, 0x3A, 0x58, 0x6C, 0x42, 0x42, 0x1B, 0xDE, 0xF, 0x2F, 0x17, 0x18, 0x0, 0x2, 0x0, 0x28, 0xFF, 0xEC, 0x3, 0xF4, 0x4, 0x4E, 0x0, 0x1A, 0x0, 0x21, 0x0, 0x0, 0x5, 0x22, 0x26, 0x35, 0x34, 0x36, 0x33, 0x33, 0x11, 0x33, 0x17, 0x36, 0x33, 0x32, 0x17, 0x7, 0x26, 0x23, 0x22, 0x7, 0x15, 0x33, 0x15, 0x23, 0x15, 0x14, 0x6, 0x27, 0x32, 0x35, 0x35, 0x23, 0x6, 0x14, 0x1, 0x62, 0x94, 0xA6, 0xA9, 0x7E, 0x6D, 0xE1, 0xA, 0x5D, 0x9A, 0x31, 0x25, 0x2, 0x32, 0x30, 0xA8, 0x3A, 0xD9, 0xD9, 0x91, 0xC4, 0x63, 0x59, 0x62, 0x14, 0x98, 0x78, 0x80, 0x8F, 0x2, 0x2F, 0x77, 0x8B, 0xD, 0xE5, 0x8, 0x7F, 0xDA, 0xB5, 0x12, 0x87, 0xD1, 0xAF, 0x70, 0x4B, 0x1, 0xBA, 0x0, 0x2, 0x0, 0x28, 0xFF, 0xEC, 0x4, 0xBE, 0x4, 0x4E, 0x0, 0x24, 0x0, 0x2B, 0x0, 0x0, 0x5, 0x22, 0x26, 0x35, 0x34, 0x36, 0x33, 0x33, 0x11, 0x33, 0x17, 0x36, 0x33, 0x32, 0x17, 0x36, 0x33, 0x32, 0x17, 0x15, 0x26, 0x23, 0x22, 0x7, 0x23, 0x26, 0x26, 0x23, 0x22, 0x7, 0x15, 0x33, 0x15, 0x23, 0x15, 0x14, 0x6, 0x27, 0x32, 0x35, 0x35, 0x23, 0x6, 0x14, 0x1, 0x62, 0x94, 0xA6, 0xA9, 0x7E, 0x6D, 0xE1, 0x7, 0x46, 0x70, 0x4F, 0x39, 0x2F, 0x4E, 0x3E, 0x21, 0x2D, 0x22, 0x37, 0x15, 0x7A, 0x16, 0x2A, 0x26, 0x6A, 0x2B, 0xD9, 0xD9, 0x91, 0xC4, 0x63, 0x59, 0x62, 0x14, 0x98, 0x78, 0x80, 0x8F, 0x2, 0x2F, 0x57, 0x6B, 0x42, 0x42, 0x1B, 0xDE, 0xF, 0x2F, 0x17, 0x18, 0x6D, 0xEC, 0xB5, 0x12, 0x87, 0xD1, 0xAF, 0x70, 0x4B, 0x1, 0xBA, 0x0, 0x1, 0x0, 0x1F, 0xFF, 0xEB, 0x4, 0x25, 0x4, 0x46, 0x0, 0x16, 0x0, 0x0, 0x5, 0x22, 0x26, 0x35, 0x11, 0x6, 0x23, 0x22, 0x26, 0x35, 0x33, 0x14, 0x16, 0x33, 0x32, 0x37, 0x33, 0x11, 0x16, 0x33, 0x37, 0x17, 0x6, 0x3, 0xA3, 0x70, 0x80, 0x75, 0xBA, 0xA0, 0xC5, 0xF7, 0x64, 0x43, 0xC5, 0x31, 0xF6, 0x3, 0x46, 0x1B, 0x18, 0x33, 0x15, 0xA4, 0xB5, 0x1, 0xE4, 0x72, 0xC6, 0xCA, 0x6F, 0x5A, 0xBD, 0xFC, 0xFA, 0x7B, 0x4, 0xB3, 0x1F, 0x0, 0x2, 0x0, 0x1F, 0xFF, 0xEB, 0x5, 0xC3, 0x4, 0x46, 0x0, 0x17, 0x0, 0x23, 0x0, 0x0, 0x4, 0x26, 0x35, 0x11, 0x6, 0x23, 0x22, 0x26, 0x35, 0x33, 0x14, 0x16, 0x33, 0x32, 0x37, 0x33, 0x11, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x6, 0x27, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x14, 0x16, 0x3, 0x9C, 0xE9, 0x75, 0xBA, 0xA0, 0xC5, 0xF7, 0x64, 0x43, 0xC5, 0x31, 0xF6, 0x46, 0x4E, 0xA1, 0xE5, 0xE5, 0xA0, 0x47, 0x64, 0x64, 0x47, 0x49, 0x69, 0x69, 0x15, 0xD6, 0xA5, 0x1, 0xC2, 0x72, 0xC6, 0xCA, 0x6F, 0x5A, 0xBD, 0xFE, 0x90, 0x1B, 0xDC, 0xA4, 0xA5, 0xD5, 0xC9, 0x63, 0x4F, 0x52, 0x64, 0x64, 0x52, 0x4E, 0x64, 0x0, 0x1, 0xFF, 0xD8, 0xFF, 0xEC, 0x2, 0xF4, 0x6, 0x15, 0x0, 0x15, 0x0, 0x0, 0x17, 0x22, 0x27, 0x37, 0x16, 0x33, 0x32, 0x37, 0x11, 0x34, 0x36, 0x33, 0x32, 0x17, 0x7, 0x26, 0x23, 0x22, 0x7, 0x11, 0x14, 0x6, 0x61, 0x43, 0x46, 0x6, 0x2A, 0x34, 0xAD, 0x1, 0xC5, 0xAD, 0x3F, 0x59, 0x19, 0x2A, 0x32, 0xA2, 0x1, 0xCB, 0x14, 0x12, 0xBE, 0x8, 0xAA, 0x3, 0x43, 0xB5, 0xBF, 0x15, 0xB9, 0xB, 0xAF, 0xFC, 0xBD, 0xB5, 0xBF, 0x0, 0x1, 0x0, 0x77, 0xFF, 0xEC, 0x3, 0xF7, 0x4, 0x3A, 0x0, 0x11, 0x0, 0x0, 0x21, 0x27, 0x6, 0x23, 0x22, 0x26, 0x27, 0x11, 0x33, 0x11, 0x14, 0x16, 0x33, 0x32, 0x37, 0x11, 0x33, 0x11, 0x3, 0x12, 0x6, 0x6A, 0xC6, 0x9E, 0xC6, 0x1, 0xF3, 0x67, 0x45, 0xAE, 0x40, 0xF3, 0x6A, 0x7E, 0xBA, 0xD5, 0x2, 0xBF, 0xFD, 0x43, 0x75, 0x55, 0x7D, 0x1, 0xDE, 0xFC, 0xF2, 0x0, 0x2, 0x0, 0x1B, 0xFF, 0xEC, 0x4, 0xEE, 0x4, 0x3A, 0x0, 0x7, 0x0, 0x1D, 0x0, 0x0, 0x25, 0x32, 0x37, 0x35, 0x21, 0x15, 0x14, 0x16, 0x5, 0x27, 0x6, 0x23, 0x22, 0x26, 0x27, 0x35, 0x23, 0x35, 0x33, 0x11, 0x33, 0x11, 0x21, 0x35, 0x33, 0x15, 0x33, 0x15, 0x23, 0x11, 0x2, 0x61, 0xAE, 0x40, 0xFE, 0x66, 0x67, 0x1, 0x41, 0x6, 0x6A, 0xC6, 0x9E, 0xC6, 0x1, 0xA7, 0xA7, 0xF3, 0x1, 0x9A, 0xF3, 0xAC, 0xAC, 0xB3, 0x7D, 0xC3, 0x76, 0x75, 0x55, 0xB3, 0x6A, 0x7E, 0xBA, 0xD5, 0x78, 0xAB, 0x1, 0x9C, 0xFE, 0x64, 0x70, 0x70, 0xAB, 0xFE, 0xD, 0x0, 0x2, 0x0, 0x77, 0xFF, 0xEC, 0x6, 0x74, 0x4, 0x4E, 0x0, 0x9, 0x0, 0x28, 0x0, 0x0, 0x1, 0x34, 0x36, 0x32, 0x16, 0x15, 0x14, 0x6, 0x22, 0x26, 0x1, 0x27, 0x6, 0x23, 0x22, 0x27, 0x6, 0x23, 0x22, 0x26, 0x27, 0x11, 0x33, 0x11, 0x14, 0x16, 0x33, 0x32, 0x36, 0x37, 0x11, 0x33, 0x11, 0x14, 0x16, 0x33, 0x32, 0x37, 0x11, 0x33, 0x11, 0x2, 0xEE, 0x48, 0x82, 0x49, 0x49, 0x82, 0x48, 0x2, 0xA2, 0x7, 0x73, 0xC5, 0xD8, 0x51, 0x77, 0xD6, 0xA5, 0xBE, 0x1, 0xF3, 0x6A, 0x59, 0x53, 0x69, 0x14, 0xF3, 0x69, 0x5A, 0x93, 0x3C, 0xF2, 0x3, 0xCD, 0x38, 0x49, 0x49, 0x38, 0x37, 0x49, 0x49, 0xFC, 0x6A, 0x71, 0x85, 0xA5, 0xA5, 0xB8, 0xD4, 0x2, 0xC2, 0xFD, 0x42, 0x78, 0x52, 0x5A, 0x48, 0x1, 0x84, 0xFE, 0xA6, 0x72, 0x5A, 0x78, 0x3, 0x10, 0xFB, 0xC6, 0xFF, 0xFF, 0x0, 0x7D, 0xFF, 0xEC, 0x6, 0x7A, 0x4, 0x4E, 0x0, 0xF, 0x7, 0x11, 0x6, 0xF1, 0x4, 0x3A, 0xC0, 0x0, 0x0, 0x1, 0x0, 0x14, 0xFF, 0xEC, 0x4, 0x67, 0x4, 0x4E, 0x0, 0x19, 0x0, 0x0, 0x21, 0x27, 0x6, 0x23, 0x22, 0x26, 0x35, 0x11, 0x26, 0x23, 0x22, 0x7, 0x35, 0x36, 0x33, 0x20, 0x13, 0x11, 0x14, 0x16, 0x33, 0x32, 0x37, 0x11, 0x33, 0x11, 0x3, 0x81, 0x5, 0x6B, 0xC5, 0xA0, 0xC5, 0x4, 0x84, 0x25, 0x26, 0x3C, 0x46, 0x1, 0x3A, 0x9, 0x68, 0x44, 0xAF, 0x40, 0xF3, 0x6A, 0x7E, 0xBC, 0xD7, 0x1, 0x66, 0xA1, 0x9, 0xC0, 0x11, 0xFE, 0x9E, 0xFE, 0x91, 0x75, 0x55, 0x7F, 0x3, 0x8, 0xFB, 0xC6, 0x0, 0x1, 0x0, 0x1F, 0xFE, 0x60, 0x3, 0xEA, 0x4, 0x3A, 0x0, 0xB, 0x0, 0x0, 0x1, 0x13, 0x13, 0x21, 0x1, 0x1, 0x21, 0x3, 0x3, 0x21, 0x1, 0x1, 0x1, 0x38, 0xCA, 0xCF, 0x1, 0xE, 0xFE, 0xB5, 0x1, 0x56, 0xFE, 0xF4, 0xD8, 0xD9, 0xFE, 0xF2, 0x1, 0x57, 0xFE, 0xB5, 0x4, 0x3A, 0xFE, 0x4, 0x1, 0xFC, 0xFD, 0x1F, 0xFD, 0x7, 0x2, 0xD, 0xFD, 0xF3, 0x2, 0xF9, 0x2, 0xE1, 0x0, 0x2, 0x0, 0x1F, 0xFE, 0x4B, 0x4, 0xFA, 0x4, 0x3A, 0x0, 0x15, 0x0, 0x1D, 0x0, 0x0, 0x1, 0x22, 0x26, 0x27, 0x27, 0x3, 0x21, 0x1, 0x1, 0x21, 0x13, 0x13, 0x21, 0x1, 0x13, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x6, 0x26, 0x36, 0x34, 0x26, 0x22, 0x6, 0x14, 0x16, 0x3, 0xE8, 0x91, 0xA6, 0x46, 0x65, 0xD9, 0xFE, 0xF2, 0x1, 0x57, 0xFE, 0xB5, 0x1, 0xD, 0xCA, 0xCF, 0x1, 0xE, 0xFE, 0xB5, 0x92, 0x50, 0x72, 0x71, 0xA1, 0xA1, 0x42, 0x3F, 0x3F, 0x5C, 0x41, 0x41, 0xFE, 0x4B, 0x8D, 0xA4, 0xF1, 0xFD, 0xF3, 0x2, 0xF9, 0x2, 0xE1, 0xFE, 0x4, 0x1, 0xFC, 0xFD, 0x1F, 0xFE, 0xC2, 0x52, 0xA1, 0x70, 0x71, 0xA0, 0x9F, 0x3A, 0x72, 0x3B, 0x3B, 0x72, 0x3A, 0x0, 0x1, 0x0, 0xA, 0xFE, 0x60, 0x3, 0xED, 0x4, 0x3A, 0x0, 0xF, 0x0, 0x0, 0x5, 0x15, 0x21, 0x35, 0x33, 0x1, 0x1, 0x21, 0x13, 0x13, 0x21, 0x1, 0x1, 0x21, 0x3, 0x3, 0x1, 0xC0, 0xFE, 0x4A, 0x65, 0x1, 0xA, 0xFE, 0xB5, 0x1, 0xC, 0xCB, 0xCF, 0x1, 0xE, 0xFE, 0xB4, 0x1, 0x57, 0xFE, 0xF4, 0xD9, 0x92, 0xF6, 0xAA, 0xAA, 0x2, 0x4F, 0x2, 0xE1, 0xFE, 0x4, 0x1, 0xFC, 0xFD, 0x1F, 0xFD, 0x7, 0x2, 0xD, 0xFE, 0x9D, 0x0, 0x2, 0x0, 0x1F, 0xFF, 0xEC, 0x4, 0xD7, 0x4, 0x3A, 0x0, 0x15, 0x0, 0x21, 0x0, 0x0, 0x5, 0x22, 0x26, 0x27, 0x27, 0x3, 0x21, 0x1, 0x1, 0x21, 0x13, 0x13, 0x21, 0x1, 0x17, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x6, 0x27, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x14, 0x16, 0x3, 0xC5, 0x8B, 0x9B, 0x40, 0x5B, 0xD7, 0xFE, 0xF2, 0x1, 0x56, 0xFE, 0xB6, 0x1, 0xD, 0xCA, 0xCE, 0x1, 0xD, 0xFE, 0xB6, 0x56, 0x51, 0x8B, 0x71, 0xA1, 0xA1, 0x6F, 0x2D, 0x40, 0x40, 0x2D, 0x2F, 0x41, 0x41, 0x14, 0x80, 0x6C, 0x9A, 0xFE, 0x8E, 0x2, 0x26, 0x2, 0x14, 0xFE, 0x9C, 0x1, 0x64, 0xFD, 0xEC, 0x8A, 0x72, 0xA1, 0x71, 0x70, 0xA0, 0x9E, 0x3A, 0x3A, 0x39, 0x3B, 0x3B, 0x39, 0x3A, 0x3A, 0x0, 0x1, 0xFF, 0xDE, 0xFE, 0x60, 0x4, 0x9E, 0x4, 0x3A, 0x0, 0xB, 0x0, 0x0, 0x1, 0x13, 0x13, 0x21, 0x1, 0x1, 0x21, 0x3, 0x1, 0x21, 0x1, 0x1, 0x1, 0xED, 0xCA, 0xCE, 0x1, 0xD, 0xFE, 0xB6, 0x1, 0x56, 0xFE, 0xF3, 0xD8, 0xFE, 0x36, 0xFE, 0xEF, 0x2, 0x4C, 0xFE, 0xB6, 0x4, 0x3A, 0xFE, 0x9C, 0x1, 0x64, 0xFD, 0xEC, 0xFD, 0xDA, 0x1, 0x72, 0xFC, 0xEE, 0x3, 0xC6, 0x2, 0x14, 0x0, 0x2, 0xFF, 0xDE, 0xFE, 0x60, 0x5, 0x8C, 0x4, 0x3A, 0x0, 0x15, 0x0, 0x21, 0x0, 0x0, 0x1, 0x1, 0x21, 0x1, 0x1, 0x21, 0x13, 0x13, 0x21, 0x1, 0x17, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x6, 0x23, 0x22, 0x26, 0x27, 0x5, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x14, 0x16, 0x2, 0xB9, 0xFE, 0x36, 0xFE, 0xEF, 0x2, 0x4C, 0xFE, 0xB6, 0x1, 0xD, 0xCA, 0xCE, 0x1, 0xD, 0xFE, 0xB6, 0x56, 0x52, 0x8A, 0x71, 0xA1, 0xA2, 0x74, 0x8B, 0x97, 0x40, 0x1, 0x68, 0x2D, 0x40, 0x40, 0x2D, 0x2F, 0x41, 0x41, 0x1, 0x72, 0xFC, 0xEE, 0x3, 0xC6, 0x2, 0x14, 0xFE, 0x9C, 0x1, 0x64, 0xFD, 0xEC, 0x89, 0x71, 0xA1, 0x71, 0x70, 0xA0, 0x80, 0x6C, 0x4E, 0x3A, 0x3A, 0x39, 0x3B, 0x3B, 0x39, 0x3A, 0x3A, 0x0, 0x1, 0xFF, 0xBE, 0xFE, 0x60, 0x4, 0x88, 0x4, 0x3A, 0x0, 0xF, 0x0, 0x0, 0x1, 0x21, 0x35, 0x33, 0x1, 0x1, 0x21, 0x13, 0x13, 0x21, 0x1, 0x1, 0x21, 0x3, 0x1, 0x33, 0x1, 0xB0, 0xFE, 0xE, 0x72, 0x1, 0xE5, 0xFE, 0xB6, 0x1, 0xC, 0xCA, 0xCE, 0x1, 0xE, 0xFE, 0xB5, 0x1, 0x56, 0xFE, 0xF4, 0xD8, 0xFE, 0x99, 0x73, 0xFE, 0x60, 0xAA, 0x3, 0x1C, 0x2, 0x14, 0xFE, 0x9C, 0x1, 0x64, 0xFD, 0xEC, 0xFD, 0xDA, 0x1, 0x72, 0xFD, 0x98, 0x0, 0x1, 0x0, 0xD, 0xFE, 0x4B, 0x3, 0x76, 0x4, 0x3A, 0x0, 0x11, 0x0, 0x0, 0x13, 0x22, 0x27, 0x35, 0x17, 0x32, 0x36, 0x37, 0x37, 0x1, 0x21, 0x13, 0x17, 0x13, 0x21, 0x1, 0x2, 0x7, 0xDA, 0x23, 0x52, 0x2D, 0x58, 0x55, 0x1C, 0x28, 0xFE, 0x8A, 0x1, 0xA, 0xCB, 0xC, 0x82, 0x1, 0x6, 0xFE, 0xB8, 0x5C, 0xCB, 0xFE, 0x4B, 0x11, 0xBC, 0x3, 0x41, 0x4F, 0x72, 0x4, 0x23, 0xFD, 0x63, 0x34, 0x1, 0xAB, 0xFC, 0x56, 0xFE, 0xF8, 0x15, 0x0, 0x2, 0x0, 0x50, 0x2, 0xEE, 0x2, 0xD6, 0x5, 0xB0, 0x0, 0xB, 0x0, 0x17, 0x0, 0x0, 0x1, 0x33, 0x14, 0x6, 0x20, 0x26, 0x35, 0x33, 0x14, 0x16, 0x32, 0x36, 0x11, 0x34, 0x26, 0x22, 0x6, 0x15, 0x23, 0x34, 0x36, 0x20, 0x16, 0x15, 0x2, 0x1F, 0xB7, 0xAE, 0xFE, 0xD6, 0xAE, 0xB6, 0x40, 0x9A, 0x3F, 0x3F, 0x9A, 0x40, 0xB6, 0xAE, 0x1, 0x2A, 0xAE, 0x5, 0xB0, 0x7C, 0x9E, 0x9E, 0x7C, 0x37, 0x54, 0x54, 0xFD, 0x75, 0x37, 0x54, 0x54, 0x37, 0x7D, 0x9E, 0x9E, 0x7D, 0x0, 0x1, 0x0, 0x64, 0x1, 0x4C, 0x2, 0xFA, 0x7, 0x2E, 0x0, 0x19, 0x0, 0x0, 0x1, 0x22, 0x27, 0x35, 0x16, 0x33, 0x32, 0x35, 0x11, 0x34, 0x26, 0x23, 0x22, 0x7, 0x11, 0x23, 0x11, 0x33, 0x11, 0x36, 0x33, 0x32, 0x16, 0x15, 0x11, 0x14, 0x2, 0x3F, 0x46, 0x4F, 0x27, 0x1D, 0x47, 0x45, 0x3D, 0x62, 0x28, 0xC5, 0xC5, 0x4C, 0x82, 0x78, 0x8B, 0x1, 0x4C, 0x11, 0xB4, 0x9, 0x50, 0x1, 0xFE, 0x69, 0x54, 0x59, 0xFD, 0xD2, 0x4, 0xA2, 0xFE, 0x1B, 0x71, 0x91, 0xA2, 0xFD, 0xBF, 0xFA, 0x0, 0x1, 0x0, 0x35, 0x2, 0x8C, 0x2, 0xA9, 0x7, 0x2E, 0x0, 0x23, 0x0, 0x0, 0x1, 0x22, 0x27, 0x11, 0x23, 0x11, 0x26, 0x23, 0x22, 0x15, 0x14, 0x16, 0x17, 0x15, 0x22, 0x26, 0x35, 0x34, 0x33, 0x32, 0x17, 0x11, 0x33, 0x11, 0x16, 0x33, 0x32, 0x35, 0x34, 0x27, 0x35, 0x32, 0x16, 0x15, 0x14, 0x6, 0x1, 0xF9, 0x11, 0x11, 0xC5, 0x15, 0x1E, 0x38, 0x18, 0x25, 0x46, 0x69, 0xB3, 0x16, 0x14, 0xC5, 0xF, 0x18, 0x3A, 0x34, 0x4B, 0x5A, 0x60, 0x3, 0xEE, 0x5, 0xFE, 0x99, 0x2, 0x95, 0x2C, 0x59, 0x31, 0x46, 0x5, 0x88, 0x80, 0x80, 0xEF, 0x7, 0x1, 0x56, 0xFD, 0x67, 0x16, 0x5D, 0x5B, 0x2, 0x91, 0x85, 0x74, 0x63, 0x80, 0x0, 0x1, 0x0, 0x35, 0x2, 0x8C, 0x2, 0x4A, 0x7, 0x2E, 0x0, 0x15, 0x0, 0x0, 0x1, 0x11, 0x23, 0x11, 0x23, 0x22, 0x6, 0x15, 0x27, 0x34, 0x36, 0x33, 0x17, 0x11, 0x33, 0x11, 0x32, 0x36, 0x35, 0x17, 0x14, 0x6, 0x1, 0xA4, 0xC6, 0x3, 0x1D, 0x28, 0x61, 0x56, 0x45, 0xE, 0xC6, 0x1D, 0x28, 0x61, 0x57, 0x4, 0xA6, 0xFD, 0xE6, 0x2, 0x5D, 0x30, 0x22, 0x19, 0x44, 0x69, 0x1, 0x1, 0xD2, 0xFD, 0xED, 0x30, 0x22, 0x1E, 0x44, 0x65, 0x0, 0x1, 0x0, 0x28, 0x2, 0x7F, 0x3, 0x4A, 0x5, 0xBA, 0x0, 0x18, 0x0, 0x0, 0x1, 0x27, 0x6, 0x23, 0x22, 0x26, 0x35, 0x35, 0x34, 0x23, 0x22, 0x7, 0x35, 0x36, 0x33, 0x32, 0x17, 0x15, 0x16, 0x33, 0x32, 0x37, 0x11, 0x33, 0x11, 0x2, 0xA8, 0x17, 0x4C, 0x8E, 0x78, 0x8C, 0x47, 0x1D, 0x27, 0x4F, 0x46, 0xB6, 0x5, 0x4, 0x7F, 0x61, 0x28, 0xC6, 0x2, 0x8C, 0x79, 0x86, 0x91, 0xA2, 0xFC, 0x50, 0x9, 0xB4, 0x11, 0xED, 0xF8, 0xAF, 0x58, 0x2, 0x2F, 0xFC, 0xDF, 0x0, 0x2, 0x0, 0x56, 0xFF, 0xEC, 0x4, 0x7A, 0x4, 0x4F, 0x0, 0xA, 0x0, 0x21, 0x0, 0x0, 0x25, 0x32, 0x37, 0x11, 0x26, 0x23, 0x22, 0x6, 0x15, 0x14, 0x16, 0x5, 0x27, 0x6, 0x23, 0x22, 0x2, 0x35, 0x35, 0x34, 0x12, 0x33, 0x32, 0x17, 0x36, 0x33, 0x32, 0x17, 0x7, 0x26, 0x23, 0x22, 0x7, 0x11, 0x2, 0x3C, 0x8B, 0x44, 0x44, 0x8D, 0x83, 0x6D, 0x6E, 0x1, 0x76, 0x14, 0x66, 0xB6, 0xCD, 0xDB, 0xDC, 0xCA, 0xBF, 0x68, 0x35, 0xA3, 0x4C, 0x33, 0x19, 0xA, 0x10, 0x46, 0x3, 0xAF, 0x8C, 0x1, 0xC9, 0x88, 0xBF, 0xA2, 0x9B, 0xE1, 0xAF, 0x83, 0x97, 0x1, 0x43, 0xFC, 0x15, 0xE7, 0x1, 0x28, 0xA1, 0xA1, 0x1F, 0xB3, 0x4, 0x7B, 0xFC, 0xFA, 0x0, 0x1, 0x0, 0x68, 0x0, 0x0, 0x4, 0x8E, 0x4, 0x4E, 0x0, 0x1E, 0x0, 0x0, 0x21, 0x21, 0x35, 0x33, 0x26, 0x35, 0x35, 0x34, 0x0, 0x33, 0x32, 0x0, 0x15, 0x15, 0x14, 0x7, 0x33, 0x15, 0x21, 0x35, 0x36, 0x13, 0x35, 0x34, 0x26, 0x23, 0x20, 0x11, 0x15, 0x10, 0x17, 0x2, 0x45, 0xFE, 0x31, 0xA6, 0xB4, 0x1, 0x16, 0xFC, 0xFD, 0x1, 0x17, 0xB3, 0xAC, 0xFE, 0x2F, 0xD1, 0x6, 0x83, 0x90, 0xFE, 0xEF, 0xDC, 0xC4, 0x91, 0xFE, 0x18, 0xC4, 0x1, 0x1F, 0xFE, 0xE1, 0xC3, 0x19, 0xFE, 0x91, 0xC4, 0xC8, 0x41, 0x1, 0x24, 0x30, 0x88, 0xA4, 0xFE, 0xC7, 0x13, 0xFE, 0xD3, 0x48, 0xFF, 0xFF, 0x0, 0xA2, 0x0, 0xAB, 0x1, 0xBD, 0x5, 0x8, 0x0, 0x27, 0x0, 0x13, 0x0, 0x1A, 0x0, 0xB7, 0x0, 0x7, 0x0, 0x13, 0x0, 0x1A, 0x4, 0x7, 0x0, 0x2, 0x0, 0x64, 0x2, 0x80, 0x2, 0x3E, 0x4, 0x3A, 0x0, 0x3, 0x0, 0x7, 0x0, 0x0, 0x1, 0x11, 0x23, 0x11, 0x23, 0x11, 0x23, 0x11, 0x2, 0x3E, 0x9C, 0xA1, 0x9D, 0x4, 0x3A, 0xFE, 0x46, 0x1, 0xBA, 0xFE, 0x46, 0x1, 0xBA, 0x0, 0x1, 0x0, 0x46, 0xFF, 0x66, 0x1, 0x5A, 0x1, 0x6, 0x0, 0x8, 0x0, 0x0, 0x1, 0x15, 0x14, 0x6, 0x7, 0x27, 0x36, 0x37, 0x35, 0x1, 0x5A, 0x4E, 0x47, 0x7F, 0x49, 0x2, 0x1, 0x6, 0x4B, 0x57, 0xBF, 0x3F, 0x4E, 0x6F, 0x84, 0x5F, 0xFF, 0xFF, 0x0, 0x2D, 0x0, 0x0, 0x5, 0x1B, 0x6, 0x15, 0x0, 0x26, 0x0, 0x4B, 0x0, 0x0, 0x0, 0x7, 0x0, 0x4B, 0x2, 0x44, 0x0, 0x0, 0x0, 0x2, 0x0, 0x19, 0x0, 0x0, 0x4, 0x18, 0x6, 0x15, 0x0, 0x3, 0x0, 0x18, 0x0, 0x0, 0x1, 0x11, 0x23, 0x11, 0x7, 0x23, 0x11, 0x23, 0x11, 0x23, 0x35, 0x33, 0x35, 0x36, 0x36, 0x33, 0x32, 0x17, 0x7, 0x26, 0x23, 0x22, 0x7, 0x15, 0x33, 0x4, 0x18, 0xF3, 0x9F, 0xD5, 0xF3, 0xA5, 0xA5, 0x1, 0xE8, 0xCC, 0x7C, 0xB6, 0x26, 0x8A, 0x71, 0xCF, 0x4, 0xD5, 0x4, 0x3A, 0xFB, 0xC6, 0x4, 0x3A, 0xB3, 0xFC, 0x79, 0x3, 0x87, 0xB3, 0x48, 0xC4, 0xCF, 0x3C, 0xC8, 0x30, 0xBB, 0x4C, 0x0, 0x1, 0x0, 0x2D, 0x0, 0x0, 0x4, 0x2D, 0x6, 0x15, 0x0, 0x16, 0x0, 0x0, 0x1, 0x23, 0x11, 0x23, 0x11, 0x23, 0x35, 0x33, 0x35, 0x36, 0x36, 0x33, 0x32, 0x5, 0x11, 0x23, 0x11, 0x26, 0x23, 0x22, 0x7, 0x15, 0x33, 0x2, 0xA1, 0xDB, 0xF4, 0xA5, 0xA5, 0x2, 0xD8, 0xC2, 0x92, 0x1, 0x2D, 0xF3, 0x67, 0x49, 0xC0, 0x4, 0xDB, 0x3, 0x87, 0xFC, 0x79, 0x3, 0x87, 0xB3, 0x67, 0xB4, 0xC0, 0x2F, 0xFA, 0x1A, 0x5, 0x40, 0xD, 0xAC, 0x67, 0x0, 0x2, 0x0, 0x2D, 0x0, 0x0, 0x6, 0x94, 0x6, 0x15, 0x0, 0x3, 0x0, 0x29, 0x0, 0x0, 0x1, 0x11, 0x23, 0x11, 0x1, 0x11, 0x21, 0x11, 0x23, 0x11, 0x23, 0x35, 0x33, 0x35, 0x34, 0x36, 0x33, 0x32, 0x17, 0x7, 0x26, 0x23, 0x22, 0x7, 0x15, 0x21, 0x35, 0x36, 0x36, 0x33, 0x32, 0x17, 0x7, 0x26, 0x23, 0x22, 0x7, 0x15, 0x33, 0x15, 0x23, 0x11, 0x6, 0x94, 0xF3, 0xFD, 0x99, 0xFE, 0x8C, 0xF4, 0xA5, 0xA5, 0xCC, 0xB0, 0x43, 0x46, 0x6, 0x2A, 0x34, 0xAB, 0x2, 0x1, 0x74, 0x1, 0xE8, 0xCC, 0x7C, 0xB6, 0x26, 0x8A, 0x71, 0xCF, 0x4, 0xD5, 0xD5, 0x4, 0x3A, 0xFB, 0xC6, 0x4, 0x3A, 0xFB, 0xC6, 0x3, 0x87, 0xFC, 0x79, 0x3, 0x87, 0xB3, 0x67, 0xB5, 0xBF, 0x12, 0xBE, 0x8, 0xA8, 0x6B, 0x48, 0xC4, 0xCF, 0x3C, 0xC8, 0x30, 0xBB, 0x4C, 0xB3, 0xFC, 0x79, 0x0, 0x1, 0x0, 0x2D, 0x0, 0x0, 0x6, 0x94, 0x6, 0x15, 0x0, 0x27, 0x0, 0x0, 0x21, 0x11, 0x21, 0x11, 0x23, 0x11, 0x23, 0x35, 0x33, 0x35, 0x34, 0x36, 0x33, 0x32, 0x17, 0x7, 0x26, 0x23, 0x22, 0x7, 0x15, 0x21, 0x35, 0x36, 0x36, 0x33, 0x32, 0x5, 0x11, 0x23, 0x11, 0x26, 0x23, 0x22, 0x7, 0x15, 0x33, 0x15, 0x23, 0x11, 0x3, 0x3A, 0xFE, 0x8C, 0xF4, 0xA5, 0xA5, 0xCC, 0xB0, 0x43, 0x46, 0x6, 0x2A, 0x34, 0xAB, 0x2, 0x1, 0x74, 0x1, 0xD7, 0xC3, 0x92, 0x1, 0x2D, 0xF3, 0x67, 0x49, 0xC0, 0x4, 0xDB, 0xDB, 0x3, 0x87, 0xFC, 0x79, 0x3, 0x87, 0xB3, 0x67, 0xB5, 0xBF, 0x12, 0xBE, 0x8, 0xA8, 0x6B, 0x63, 0xB7, 0xC1, 0x2F, 0xFA, 0x1A, 0x5, 0x40, 0xD, 0xAC, 0x67, 0xB3, 0xFC, 0x79, 0x0, 0x1, 0x0, 0x2D, 0xFF, 0xEC, 0x4, 0xD1, 0x6, 0x15, 0x0, 0x25, 0x0, 0x0, 0x25, 0x6, 0x23, 0x22, 0x26, 0x35, 0x11, 0x23, 0x35, 0x33, 0x35, 0x26, 0x23, 0x22, 0x15, 0x11, 0x23, 0x11, 0x23, 0x35, 0x33, 0x35, 0x36, 0x36, 0x33, 0x32, 0x16, 0x17, 0x11, 0x33, 0x15, 0x23, 0x11, 0x14, 0x16, 0x33, 0x32, 0x37, 0x4, 0xD1, 0x43, 0x5C, 0x79, 0x9F, 0xB3, 0xB3, 0x42, 0x70, 0xA3, 0xF3, 0xA5, 0xA5, 0x1, 0xC5, 0xAD, 0x73, 0xF3, 0x61, 0xBF, 0xBF, 0x3F, 0x32, 0x29, 0x2B, 0x4, 0x18, 0x89, 0xA7, 0x2, 0x6B, 0xB3, 0xF9, 0x1F, 0xB1, 0xFB, 0x5F, 0x3, 0x87, 0xB3, 0x6B, 0xB2, 0xBE, 0x3E, 0x2B, 0xFE, 0x8E, 0xB3, 0xFD, 0xA3, 0x49, 0x2B, 0xA, 0x0, 0x1, 0x0, 0x4C, 0xFF, 0xEC, 0x6, 0x80, 0x6, 0x18, 0x0, 0x4B, 0x0, 0x0, 0x5, 0x22, 0x26, 0x35, 0x11, 0x23, 0x35, 0x33, 0x35, 0x34, 0x23, 0x22, 0x6, 0x15, 0x14, 0x16, 0x16, 0x15, 0x23, 0x34, 0x26, 0x23, 0x22, 0x6, 0x14, 0x16, 0x17, 0x16, 0x16, 0x15, 0x14, 0x6, 0x23, 0x22, 0x26, 0x35, 0x33, 0x16, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x27, 0x26, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x17, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x16, 0x15, 0x31, 0x15, 0x33, 0x15, 0x23, 0x11, 0x14, 0x16, 0x33, 0x32, 0x37, 0x15, 0x6, 0x5, 0xE0, 0x79, 0x9F, 0xAC, 0xAC, 0xB8, 0x56, 0x50, 0x2E, 0x2B, 0xF3, 0x60, 0x5F, 0x5C, 0x58, 0x5F, 0x7F, 0xBC, 0xD3, 0xEE, 0xC7, 0xDF, 0xEA, 0xEC, 0x5, 0x8A, 0x50, 0x60, 0x65, 0x55, 0x8E, 0xB0, 0xD9, 0xE0, 0xC1, 0x5C, 0x4D, 0x2D, 0xCF, 0xB8, 0xA8, 0xB7, 0x48, 0xBF, 0xBF, 0x3F, 0x31, 0x2A, 0x2B, 0x43, 0x14, 0x9D, 0xB5, 0x2, 0x49, 0xB3, 0x59, 0xCA, 0x5A, 0x3E, 0x4D, 0x89, 0x94, 0x65, 0x3F, 0x63, 0x52, 0x6C, 0x40, 0x1B, 0x28, 0x92, 0x91, 0x90, 0xB8, 0xE4, 0x86, 0x64, 0x50, 0x4A, 0x3A, 0x35, 0x4C, 0x1E, 0x25, 0x93, 0x89, 0x85, 0xC3, 0x17, 0x6C, 0x4F, 0x7A, 0xAC, 0x77, 0xB2, 0x5B, 0x5A, 0xB3, 0xFD, 0xB7, 0x50, 0x38, 0xA, 0xBC, 0x18, 0x0, 0x1, 0xFC, 0xF4, 0x4, 0x84, 0x0, 0x0, 0x6, 0x0, 0x0, 0x7, 0x0, 0x0, 0x11, 0x15, 0x20, 0x4, 0x7, 0x23, 0x36, 0x24, 0xFF, 0x0, 0xFE, 0xE9, 0x25, 0xD0, 0x28, 0x1, 0x8D, 0x6, 0x0, 0xA7, 0x76, 0x5F, 0xB2, 0xCA, 0x0, 0x1, 0x0, 0x0, 0x4, 0x84, 0x3, 0xC, 0x6, 0x0, 0x0, 0x7, 0x0, 0x0, 0x11, 0x35, 0x20, 0x4, 0x17, 0x23, 0x26, 0x24, 0x1, 0x57, 0x1, 0x8D, 0x28, 0xD1, 0x23, 0xFE, 0xE7, 0x5, 0x59, 0xA7, 0xCA, 0xB2, 0x5F, 0x76, 0xFF, 0xFF, 0xFB, 0xC3, 0x4, 0x8E, 0x0, 0x0, 0x5, 0xAB, 0x0, 0x7, 0x7, 0x36, 0x0, 0x0, 0x6, 0x40, 0xFF, 0xFF, 0x0, 0x0, 0x4, 0xA6, 0x4, 0x3D, 0x5, 0xC3, 0x0, 0x7, 0x7, 0x37, 0x0, 0x0, 0x6, 0x40, 0x0, 0x1, 0xFD, 0xB8, 0x5, 0x13, 0xFF, 0xD3, 0x5, 0xB1, 0x0, 0x3, 0x0, 0x0, 0x3, 0x15, 0x21, 0x35, 0x2D, 0xFD, 0xE5, 0x5, 0xB1, 0x9E, 0x9E, 0x0, 0x1, 0xFB, 0x9C, 0x5, 0x13, 0xFD, 0xB8, 0x5, 0xB1, 0x0, 0x3, 0x0, 0x0, 0x1, 0x15, 0x21, 0x35, 0xFD, 0xB8, 0xFD, 0xE4, 0x5, 0xB1, 0x9E, 0x9E, 0x0, 0x1, 0xFB, 0x9C, 0x5, 0x13, 0xFF, 0xD3, 0x5, 0xB1, 0x0, 0x3, 0x0, 0x0, 0x3, 0x15, 0x21, 0x35, 0x2D, 0xFB, 0xC9, 0x5, 0xB1, 0x9E, 0x9E, 0x0, 0x1, 0xFC, 0xEE, 0xFE, 0x5C, 0x0, 0x0, 0xFF, 0xA2, 0x0, 0x7, 0x0, 0x0, 0x11, 0x15, 0x20, 0x24, 0x27, 0x33, 0x16, 0x4, 0xFE, 0xBD, 0xFE, 0x7B, 0x4A, 0xB6, 0x39, 0x1, 0x32, 0xFE, 0xEC, 0x90, 0xC9, 0x7D, 0x37, 0x7F, 0x0, 0x1, 0x0, 0x0, 0xFE, 0x5C, 0x3, 0x11, 0xFF, 0xA2, 0x0, 0x7, 0x0, 0x0, 0x5, 0x33, 0x6, 0x4, 0x21, 0x35, 0x32, 0x24, 0x2, 0x5B, 0xB6, 0x4A, 0xFE, 0x7C, 0xFE, 0xBD, 0xEF, 0x1, 0x35, 0x5E, 0x7D, 0xC9, 0x90, 0x7F, 0x0, 0x1, 0xFB, 0xC3, 0xFE, 0x4E, 0x0, 0x0, 0xFF, 0x6B, 0x0, 0xD, 0x0, 0x0, 0x15, 0x15, 0x25, 0x26, 0x23, 0x22, 0x6, 0x7, 0x27, 0x36, 0x36, 0x33, 0x32, 0x17, 0xFE, 0x8A, 0x98, 0x70, 0x87, 0x96, 0x2A, 0x78, 0x2E, 0xD7, 0xAC, 0x66, 0x9C, 0xC9, 0x9E, 0x25, 0xF, 0x4B, 0x34, 0x31, 0x5B, 0x91, 0xE, 0x0, 0x1, 0x0, 0x0, 0xFE, 0x66, 0x4, 0x3D, 0xFF, 0x83, 0x0, 0xD, 0x0, 0x0, 0x11, 0x35, 0x16, 0x4, 0x33, 0x32, 0x36, 0x37, 0x17, 0x6, 0x6, 0x23, 0x22, 0x24, 0xB6, 0x1, 0x72, 0x54, 0x88, 0x96, 0x2B, 0x78, 0x2E, 0xD9, 0xAB, 0x74, 0xFE, 0xD1, 0xFE, 0x99, 0x9E, 0x1A, 0x1A, 0x4C, 0x34, 0x35, 0x5C, 0x8C, 0x1B, 0xFF, 0xFF, 0xFD, 0xB8, 0xFE, 0xCF, 0xFF, 0xD3, 0xFF, 0x6D, 0x0, 0x7, 0x7, 0x31, 0x0, 0x0, 0xF9, 0xBC, 0xFF, 0xFF, 0xFB, 0x9C, 0xFE, 0xCF, 0xFD, 0xB8, 0xFF, 0x6D, 0x0, 0x7, 0x7, 0x32, 0x0, 0x0, 0xF9, 0xBC, 0xFF, 0xFF, 0xFB, 0x9C, 0xFE, 0xD0, 0xFF, 0xD3, 0xFF, 0x6E, 0x0, 0x7, 0x7, 0x33, 0x0, 0x0, 0xF9, 0xBD, 0x0, 0x16, 0x0, 0x5A, 0xFE, 0x72, 0x7, 0xED, 0x5, 0xAE, 0x0, 0x3, 0x0, 0x7, 0x0, 0xB, 0x0, 0x11, 0x0, 0x17, 0x0, 0x1B, 0x0, 0x1F, 0x0, 0x2D, 0x0, 0x37, 0x0, 0x3E, 0x0, 0x42, 0x0, 0x46, 0x0, 0x4D, 0x0, 0x5C, 0x0, 0x60, 0x0, 0x64, 0x0, 0x70, 0x0, 0x76, 0x0, 0x7C, 0x0, 0x80, 0x0, 0x84, 0x0, 0x88, 0x0, 0x0, 0x1, 0x21, 0x35, 0x21, 0x5, 0x21, 0x35, 0x21, 0x5, 0x21, 0x35, 0x21, 0x5, 0x23, 0x35, 0x21, 0x11, 0x23, 0x21, 0x23, 0x11, 0x21, 0x15, 0x23, 0x11, 0x15, 0x23, 0x35, 0x21, 0x15, 0x23, 0x35, 0x1, 0x14, 0x6, 0x23, 0x22, 0x26, 0x35, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x23, 0x34, 0x23, 0x22, 0x7, 0x15, 0x14, 0x33, 0x32, 0x37, 0x37, 0x15, 0x33, 0x32, 0x35, 0x34, 0x27, 0x5, 0x15, 0x23, 0x35, 0x21, 0x15, 0x23, 0x35, 0x5, 0x15, 0x33, 0x32, 0x35, 0x34, 0x23, 0x1, 0x33, 0x11, 0x14, 0x6, 0x23, 0x22, 0x26, 0x35, 0x33, 0x14, 0x33, 0x32, 0x36, 0x35, 0x5, 0x15, 0x23, 0x35, 0x21, 0x15, 0x23, 0x35, 0x5, 0x11, 0x33, 0x32, 0x16, 0x15, 0x14, 0x7, 0x16, 0x15, 0x14, 0x23, 0x1, 0x21, 0x35, 0x33, 0x35, 0x33, 0x1, 0x21, 0x11, 0x33, 0x15, 0x33, 0x5, 0x21, 0x35, 0x21, 0x5, 0x21, 0x35, 0x21, 0x5, 0x21, 0x35, 0x21, 0x6, 0x3E, 0xFE, 0xEA, 0x1, 0x16, 0xFE, 0x70, 0xFE, 0xEB, 0x1, 0x15, 0xFE, 0x70, 0xFE, 0xEC, 0x1, 0x14, 0x4, 0x60, 0xC7, 0x1, 0x36, 0x6F, 0xF9, 0x4D, 0x71, 0x1, 0x35, 0xC4, 0x71, 0x7, 0x93, 0x6F, 0xFB, 0xBA, 0x7F, 0x66, 0x67, 0x81, 0x80, 0x66, 0x67, 0x80, 0x5C, 0x8B, 0x88, 0x2, 0x8C, 0x87, 0x2, 0xFE, 0x5D, 0x76, 0x73, 0x3, 0xB3, 0x6F, 0xF9, 0x4D, 0x71, 0x3, 0x80, 0x7E, 0x67, 0x67, 0x2, 0x3E, 0x5C, 0x6B, 0x50, 0x58, 0x6D, 0x5D, 0x68, 0x29, 0x36, 0xFA, 0x35, 0x71, 0x7, 0x93, 0x6F, 0xFB, 0xFD, 0xBC, 0x62, 0x72, 0x54, 0x66, 0xD2, 0x3, 0xA2, 0xFE, 0xCA, 0xC7, 0x6F, 0xF9, 0xA2, 0xFE, 0xCB, 0x71, 0xC4, 0x3, 0x1F, 0xFE, 0xEB, 0x1, 0x15, 0xFE, 0x70, 0xFE, 0xEC, 0x1, 0x14, 0x3, 0x20, 0xFE, 0xEA, 0x1, 0x16, 0x5, 0x3A, 0x74, 0x74, 0x74, 0x74, 0x74, 0x74, 0x74, 0xFE, 0xE3, 0x1, 0x1D, 0x74, 0xFE, 0xDA, 0xFA, 0xFA, 0xFA, 0xFA, 0xFD, 0xC0, 0x61, 0x7A, 0x7A, 0x61, 0x70, 0x61, 0x7A, 0x7A, 0x61, 0x93, 0x8F, 0x74, 0x93, 0x8F, 0xFD, 0x97, 0x50, 0x46, 0x1, 0x31, 0xFC, 0xFC, 0xFC, 0xFC, 0xAC, 0xA9, 0x53, 0x56, 0x1, 0x33, 0xFE, 0x86, 0x4F, 0x5C, 0x51, 0x53, 0x5B, 0x37, 0x2B, 0x87, 0xF9, 0xF9, 0xF9, 0xF9, 0x26, 0x2, 0x25, 0x49, 0x4D, 0x53, 0x21, 0x1A, 0x66, 0x9B, 0xFD, 0x76, 0x71, 0xCA, 0xFE, 0xC5, 0x1, 0x3B, 0xCA, 0x71, 0x71, 0x71, 0x71, 0x71, 0x71, 0x0, 0x5, 0x0, 0x5C, 0xFD, 0xD5, 0x7, 0xD7, 0x8, 0x73, 0x0, 0x3, 0x0, 0x7, 0x0, 0x1F, 0x0, 0x23, 0x0, 0x27, 0x0, 0x0, 0x1, 0x35, 0x33, 0x15, 0x9, 0x3, 0x3, 0x33, 0x34, 0x36, 0x37, 0x36, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x7, 0x33, 0x36, 0x36, 0x33, 0x32, 0x15, 0x14, 0x7, 0x6, 0x6, 0x13, 0x35, 0x23, 0x15, 0x13, 0x35, 0x33, 0x15, 0x4, 0x1E, 0x4, 0xFC, 0x3A, 0x3, 0xBC, 0x3, 0xBF, 0xFC, 0x41, 0x77, 0xCA, 0x19, 0x29, 0x44, 0x62, 0xA7, 0x95, 0x7F, 0xB1, 0x2, 0xCB, 0x2, 0x3E, 0x27, 0x71, 0x5D, 0x46, 0x43, 0xC9, 0xCA, 0x7F, 0x4, 0x8, 0x6F, 0x4, 0x4, 0xFA, 0x14, 0x3, 0xCF, 0xFC, 0x31, 0xFC, 0x31, 0x2, 0xDE, 0x33, 0x3E, 0x1B, 0x25, 0x81, 0x52, 0x80, 0x97, 0x7D, 0x8D, 0x37, 0x30, 0x74, 0x5F, 0x3C, 0x31, 0x59, 0xFE, 0x9C, 0xAA, 0xAA, 0xFD, 0x48, 0x4, 0x4, 0x0, 0x2, 0x0, 0x74, 0x3, 0x89, 0x4, 0xC5, 0x5, 0xB9, 0x0, 0x1A, 0x0, 0x27, 0x0, 0x0, 0x1, 0x32, 0x37, 0x33, 0x6, 0x6, 0x23, 0x22, 0x26, 0x35, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x17, 0x23, 0x26, 0x26, 0x23, 0x22, 0x6, 0x15, 0x15, 0x14, 0x16, 0x5, 0x3, 0x11, 0x23, 0x11, 0x33, 0x13, 0x13, 0x33, 0x11, 0x23, 0x11, 0x3, 0x3, 0xE9, 0x60, 0xC, 0x6F, 0x4, 0x7B, 0x5C, 0x77, 0x77, 0x77, 0x77, 0x62, 0x75, 0x5, 0x70, 0x4, 0x37, 0x31, 0x46, 0x39, 0x38, 0xFD, 0xCC, 0x8C, 0x6E, 0x88, 0x90, 0x92, 0x83, 0x6F, 0x87, 0x3, 0xE4, 0x61, 0x52, 0x6A, 0x95, 0x69, 0x35, 0x69, 0x94, 0x6B, 0x59, 0x2C, 0x3E, 0x67, 0x3C, 0x35, 0x3D, 0x66, 0x4F, 0x1, 0x5A, 0xFE, 0xA6, 0x2, 0x1B, 0xFE, 0x83, 0x1, 0x7D, 0xFD, 0xE5, 0x1, 0x4B, 0xFE, 0xB5, 0x0, 0x3, 0x0, 0x74, 0x3, 0x95, 0x4, 0xCC, 0x5, 0xB0, 0x0, 0x9, 0x0, 0x16, 0x0, 0x20, 0x0, 0x0, 0x1, 0x11, 0x33, 0x32, 0x36, 0x35, 0x35, 0x34, 0x26, 0x23, 0x1, 0x3, 0x11, 0x23, 0x11, 0x33, 0x13, 0x13, 0x33, 0x11, 0x23, 0x11, 0x3, 0x21, 0x11, 0x33, 0x32, 0x16, 0x15, 0x15, 0x14, 0x6, 0x23, 0x3, 0x87, 0x5D, 0x35, 0x44, 0x44, 0x35, 0xFD, 0x8A, 0x8C, 0x6E, 0x88, 0x90, 0x92, 0x83, 0x6F, 0x87, 0x1, 0x6E, 0xCB, 0x64, 0x84, 0x84, 0x64, 0x5, 0x57, 0xFE, 0x97, 0x4B, 0x39, 0x61, 0x39, 0x4B, 0xFE, 0x3E, 0x1, 0x5A, 0xFE, 0xA6, 0x2, 0x1B, 0xFE, 0x83, 0x1, 0x7D, 0xFD, 0xE5, 0x1, 0x4B, 0xFE, 0xB5, 0x2, 0x1B, 0x7B, 0x62, 0x61, 0x62, 0x7B, 0x0, 0x1, 0x0, 0x25, 0x0, 0x0, 0x4, 0x47, 0x5, 0xB0, 0x0, 0x9, 0x0, 0x0, 0x21, 0x23, 0x11, 0x1, 0x1, 0x37, 0x1, 0x17, 0x11, 0x33, 0x4, 0x47, 0xF3, 0xFE, 0x6C, 0xFE, 0x65, 0xA8, 0x1, 0x99, 0xEE, 0xF3, 0x1, 0x1F, 0x1, 0x74, 0x2, 0xB7, 0x66, 0xFD, 0x4E, 0xDC, 0x3, 0x8E, 0x0, 0x1, 0x0, 0x3C, 0x0, 0x0, 0x2, 0xB2, 0x3, 0x20, 0x0, 0x15, 0x0, 0x0, 0x25, 0x15, 0x21, 0x35, 0x1, 0x36, 0x35, 0x34, 0x23, 0x22, 0x6, 0x15, 0x23, 0x34, 0x36, 0x20, 0x16, 0x15, 0x14, 0x6, 0x7, 0x7, 0x2, 0xB2, 0xFD, 0x9C, 0x1, 0x2C, 0x63, 0x6A, 0x40, 0x3C, 0xBB, 0xA2, 0x1, 0x1C, 0x9E, 0x67, 0x61, 0x91, 0x95, 0x95, 0x7E, 0x1, 0x13, 0x5C, 0x3F, 0x5F, 0x45, 0x32, 0x6E, 0x9E, 0x81, 0x72, 0x52, 0x80, 0x51, 0x75, 0x0, 0x1, 0x0, 0x81, 0x0, 0x0, 0x2, 0x3, 0x3, 0x14, 0x0, 0x6, 0x0, 0x0, 0x1, 0x11, 0x23, 0x11, 0x7, 0x35, 0x25, 0x2, 0x3, 0xBA, 0xC8, 0x1, 0x6F, 0x3, 0x14, 0xFC, 0xEC, 0x2, 0x3B, 0x31, 0x93, 0x77, 0x0, 0x2, 0x0, 0x4C, 0xFF, 0xF5, 0x2, 0xAA, 0x3, 0x20, 0x0, 0xD, 0x0, 0x17, 0x0, 0x0, 0x1, 0x14, 0x6, 0x23, 0x22, 0x26, 0x35, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x27, 0x34, 0x23, 0x22, 0x7, 0x15, 0x14, 0x33, 0x32, 0x37, 0x2, 0xAA, 0xA8, 0x86, 0x87, 0xA9, 0xA8, 0x86, 0x87, 0xA9, 0xBA, 0x76, 0x72, 0x2, 0x76, 0x70, 0x4, 0x1, 0x3E, 0xA9, 0xA0, 0xA0, 0xA9, 0x98, 0xA8, 0xA2, 0xA2, 0xA8, 0xB, 0xA9, 0xA3, 0xB4, 0xA9, 0x9B, 0x0, 0x2, 0x0, 0x50, 0xFF, 0xF5, 0x3, 0xB7, 0x4, 0x9D, 0x0, 0x13, 0x0, 0x20, 0x0, 0x0, 0x5, 0x35, 0x32, 0x36, 0x37, 0x6, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x15, 0x10, 0x0, 0x21, 0x13, 0x32, 0x36, 0x37, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x14, 0x16, 0x1, 0x18, 0xDB, 0xC0, 0xF, 0x63, 0x92, 0xBC, 0xC1, 0xE7, 0xCA, 0xD0, 0xE6, 0xFE, 0xCA, 0xFE, 0xAA, 0xD9, 0x44, 0x65, 0x18, 0x72, 0x52, 0x5B, 0x65, 0x61, 0xB, 0xC3, 0x8E, 0x90, 0x5C, 0xDA, 0xAC, 0xAA, 0xF3, 0xFF, 0xDD, 0x47, 0xFE, 0xD0, 0xFE, 0xAB, 0x2, 0x3D, 0x3C, 0x29, 0x58, 0x77, 0x74, 0x81, 0x59, 0x56, 0x78, 0x0, 0x3, 0x0, 0x59, 0xFF, 0xF0, 0x3, 0xC4, 0x4, 0x9D, 0x0, 0x14, 0x0, 0x1F, 0x0, 0x2A, 0x0, 0x0, 0x4, 0x26, 0x35, 0x34, 0x36, 0x37, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x7, 0x16, 0x16, 0x15, 0x14, 0x6, 0x3, 0x34, 0x26, 0x23, 0x22, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x13, 0x34, 0x26, 0x22, 0x6, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x1, 0x55, 0xFC, 0x6C, 0x5C, 0xAC, 0xE6, 0xB2, 0xB3, 0xE7, 0xAC, 0x5C, 0x6D, 0xFB, 0x15, 0x5A, 0x4D, 0xA4, 0x58, 0x4E, 0x4D, 0x58, 0x1D, 0x6C, 0xB0, 0x69, 0x69, 0x5A, 0x58, 0x6A, 0x10, 0xAA, 0xA6, 0x61, 0x90, 0x28, 0x54, 0xAA, 0x9E, 0xA8, 0xA8, 0x9E, 0xAA, 0x55, 0x27, 0x90, 0x61, 0xA6, 0xAA, 0x3, 0x5A, 0x41, 0x4F, 0x90, 0x43, 0x51, 0x51, 0xFE, 0x4C, 0x4A, 0x56, 0x56, 0x4A, 0x4B, 0x55, 0x55, 0x0, 0x1, 0x0, 0x3A, 0x0, 0x0, 0x3, 0xD0, 0x4, 0x8D, 0x0, 0x6, 0x0, 0x0, 0x1, 0x15, 0x1, 0x21, 0x1, 0x21, 0x35, 0x3, 0xD0, 0xFD, 0xFF, 0xFF, 0x0, 0x2, 0x2, 0xFD, 0x69, 0x4, 0x8D, 0x87, 0xFB, 0xFA, 0x3, 0xC9, 0xC4, 0x0, 0x2, 0x0, 0x61, 0xFF, 0xF0, 0x3, 0xD7, 0x4, 0x9A, 0x0, 0x13, 0x0, 0x1F, 0x0, 0x0, 0x5, 0x22, 0x26, 0x35, 0x35, 0x10, 0x0, 0x21, 0x33, 0x15, 0x7, 0x4, 0x3, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x6, 0x27, 0x32, 0x36, 0x34, 0x26, 0x23, 0x22, 0x6, 0x7, 0x15, 0x14, 0x16, 0x2, 0x25, 0xD3, 0xF1, 0x1, 0x46, 0x1, 0x4D, 0x20, 0x3C, 0xFE, 0x9F, 0x21, 0x6B, 0xA1, 0xBD, 0xB8, 0xE8, 0xCE, 0x5B, 0x6A, 0x65, 0x60, 0x47, 0x6E, 0x19, 0x76, 0x10, 0xFE, 0xD4, 0x4E, 0x1, 0x2C, 0x1, 0x5E, 0xC7, 0x1, 0x11, 0xFE, 0xD8, 0x6D, 0xE4, 0xA2, 0xAA, 0xE6, 0xC3, 0x74, 0xB0, 0x6E, 0x40, 0x2C, 0x2D, 0x7D, 0x7C, 0x0, 0x1, 0x0, 0x67, 0xFF, 0xF0, 0x3, 0xD2, 0x4, 0x8D, 0x0, 0x1C, 0x0, 0x0, 0x1, 0x27, 0x13, 0x21, 0x15, 0x21, 0x7, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x6, 0x23, 0x22, 0x24, 0x27, 0x33, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x1, 0x4A, 0xC2, 0x49, 0x2, 0xC4, 0xFE, 0x5, 0x21, 0x68, 0x62, 0xBC, 0xD3, 0xD5, 0xDF, 0xA8, 0xFE, 0xFB, 0xA, 0xEF, 0xF, 0xB9, 0x66, 0x5B, 0x70, 0x69, 0x4E, 0x4E, 0x2, 0xC, 0x2F, 0x2, 0x52, 0xC7, 0xF3, 0x2B, 0xCC, 0xB5, 0x9E, 0xEF, 0xAF, 0xA1, 0x8D, 0x77, 0x57, 0x59, 0x71, 0x28, 0x0, 0x2, 0x0, 0x31, 0x0, 0x0, 0x3, 0xED, 0x4, 0x8D, 0x0, 0x3, 0x0, 0xE, 0x0, 0x0, 0x1, 0x21, 0x11, 0x7, 0x1, 0x23, 0x15, 0x23, 0x35, 0x21, 0x27, 0x1, 0x33, 0x11, 0x33, 0x1, 0x24, 0x1, 0x3B, 0x14, 0x1, 0xA2, 0x9B, 0xF3, 0xFD, 0xDB, 0x9, 0x2, 0x2A, 0xF7, 0x9B, 0x1, 0xBD, 0x1, 0x9A, 0x21, 0xFD, 0xC3, 0xF9, 0xF9, 0x9A, 0x2, 0xFA, 0xFD, 0x30, 0x0, 0x1, 0x0, 0x3F, 0xFF, 0xF0, 0x3, 0xBD, 0x4, 0x9D, 0x0, 0x26, 0x0, 0x0, 0x5, 0x22, 0x24, 0x35, 0x33, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x27, 0x23, 0x35, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x23, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x6, 0x7, 0x16, 0x15, 0x14, 0x4, 0x1, 0xF6, 0xA8, 0xFE, 0xF1, 0xF3, 0x6E, 0x5E, 0x62, 0x69, 0xDE, 0x83, 0x7F, 0x69, 0x66, 0x5A, 0x61, 0x51, 0x6A, 0xF2, 0xF4, 0xB4, 0xC2, 0xF0, 0x62, 0x5F, 0xD6, 0xFE, 0xFB, 0x10, 0xA5, 0xB3, 0x40, 0x55, 0x57, 0x49, 0xA5, 0x2, 0xAF, 0x58, 0x46, 0x40, 0x53, 0x45, 0x3C, 0x95, 0xAF, 0xA9, 0xA3, 0x4F, 0x86, 0x26, 0x3E, 0xD2, 0xA3, 0xB3, 0x0, 0x1, 0x0, 0x43, 0x0, 0x0, 0x3, 0xD8, 0x4, 0x9D, 0x0, 0x17, 0x0, 0x0, 0x25, 0x15, 0x21, 0x35, 0x1, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x23, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x6, 0x7, 0x5, 0x3, 0xD8, 0xFC, 0x85, 0x1, 0xA9, 0xB1, 0x5C, 0x54, 0x6C, 0x65, 0xF3, 0xEC, 0xD3, 0xC8, 0xE0, 0x97, 0x82, 0xFF, 0x0, 0xC3, 0xC3, 0xA6, 0x1, 0x8E, 0x9E, 0x6C, 0x44, 0x58, 0x6C, 0x53, 0x9F, 0xE3, 0xBD, 0x9F, 0x76, 0xBF, 0x77, 0xD2, 0x0, 0x1, 0x0, 0x96, 0x0, 0x0, 0x2, 0xC4, 0x4, 0x8D, 0x0, 0x6, 0x0, 0x0, 0x1, 0x11, 0x23, 0x11, 0x5, 0x35, 0x25, 0x2, 0xC4, 0xF3, 0xFE, 0xC5, 0x2, 0x12, 0x4, 0x8D, 0xFB, 0x73, 0x3, 0x70, 0x53, 0xC3, 0xAD, 0x0, 0x2, 0x0, 0x59, 0xFF, 0xF0, 0x3, 0xC3, 0x4, 0x9D, 0x0, 0xD, 0x0, 0x17, 0x0, 0x0, 0x1, 0x10, 0x6, 0x23, 0x22, 0x26, 0x27, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x17, 0x27, 0x10, 0x23, 0x22, 0x3, 0x11, 0x10, 0x33, 0x32, 0x13, 0x3, 0xC3, 0xEF, 0xC5, 0xC2, 0xF3, 0x1, 0xF1, 0xC3, 0xC4, 0xF1, 0x1, 0xF3, 0xC3, 0xBC, 0x5, 0xC3, 0xBB, 0x6, 0x1, 0xE2, 0xFF, 0x0, 0xF2, 0xF0, 0xFE, 0xCE, 0xFE, 0xF3, 0xF1, 0xFC, 0x12, 0x1, 0x17, 0xFE, 0xF7, 0xFE, 0xFD, 0xFE, 0xE6, 0x1, 0x6, 0x0, 0x1, 0x0, 0x41, 0x0, 0x0, 0x3, 0xF3, 0x4, 0x8D, 0x0, 0x9, 0x0, 0x0, 0x33, 0x35, 0x1, 0x21, 0x35, 0x21, 0x15, 0x1, 0x21, 0x15, 0x41, 0x2, 0x6D, 0xFD, 0x95, 0x3, 0x9F, 0xFD, 0x97, 0x2, 0x7A, 0x8E, 0x3, 0x3B, 0xC4, 0x89, 0xFC, 0xBF, 0xC3, 0x0, 0x1, 0x0, 0x5, 0x0, 0x0, 0x4, 0x37, 0x4, 0x8D, 0x0, 0x8, 0x0, 0x0, 0x21, 0x23, 0x11, 0x1, 0x21, 0x1, 0x1, 0x21, 0x1, 0x2, 0x94, 0xF3, 0xFE, 0x64, 0x1, 0xB, 0x1, 0xE, 0x1, 0xE, 0x1, 0xB, 0xFE, 0x5D, 0x1, 0xA3, 0x2, 0xEA, 0xFD, 0xEE, 0x2, 0x12, 0xFD, 0x9, 0x0, 0x1, 0x0, 0x16, 0x0, 0x0, 0x4, 0x4A, 0x4, 0x8D, 0x0, 0xB, 0x0, 0x0, 0x1, 0x13, 0x13, 0x21, 0x1, 0x1, 0x21, 0x3, 0x3, 0x21, 0x1, 0x1, 0x1, 0x38, 0xF0, 0xF2, 0x1, 0x1B, 0xFE, 0x89, 0x1, 0x8C, 0xFE, 0xE0, 0xFF, 0xFA, 0xFE, 0xE5, 0x1, 0x81, 0xFE, 0x87, 0x4, 0x8D, 0xFE, 0x6E, 0x1, 0x92, 0xFD, 0xBE, 0xFD, 0xB5, 0x1, 0x99, 0xFE, 0x67, 0x2, 0x4B, 0x2, 0x42, 0x0, 0x1, 0x0, 0x29, 0x0, 0x0, 0x5, 0xE6, 0x4, 0x8D, 0x0, 0xC, 0x0, 0x0, 0x21, 0x1, 0x33, 0x13, 0x13, 0x33, 0x13, 0x13, 0x33, 0x1, 0x23, 0x3, 0x3, 0x1, 0x42, 0xFE, 0xE7, 0xEC, 0xB0, 0xD8, 0xD6, 0xD7, 0xAF, 0xED, 0xFE, 0xE6, 0xEB, 0xD9, 0xDB, 0x4, 0x8D, 0xFC, 0x9D, 0x3, 0x63, 0xFC, 0x9F, 0x3, 0x61, 0xFB, 0x73, 0x3, 0x42, 0xFC, 0xBE, 0x0, 0x1, 0x0, 0x9, 0x0, 0x0, 0x4, 0x72, 0x4, 0x8D, 0x0, 0x8, 0x0, 0x0, 0x21, 0x1, 0x21, 0x1, 0x17, 0x37, 0x1, 0x21, 0x1, 0x1, 0xC2, 0xFE, 0x47, 0x1, 0x2, 0x1, 0x1F, 0x14, 0x12, 0x1, 0x21, 0x1, 0x1, 0xFE, 0x47, 0x4, 0x8D, 0xFC, 0xAC, 0x4F, 0x4C, 0x3, 0x57, 0xFB, 0x73, 0x0, 0x1, 0x0, 0x67, 0xFF, 0xF0, 0x4, 0x1E, 0x4, 0x8D, 0x0, 0x10, 0x0, 0x0, 0x1, 0x33, 0x11, 0x14, 0x4, 0x23, 0x22, 0x24, 0x35, 0x11, 0x33, 0x11, 0x14, 0x16, 0x33, 0x32, 0x37, 0x3, 0x2B, 0xF3, 0xFE, 0xF0, 0xCB, 0xD0, 0xFE, 0xF4, 0xF2, 0x7E, 0x6C, 0xE4, 0x4, 0x4, 0x8D, 0xFD, 0x0, 0xCA, 0xD3, 0xD3, 0xCA, 0x3, 0x0, 0xFD, 0x0, 0x73, 0x67, 0xD2, 0x0, 0x1, 0x0, 0x25, 0x0, 0x0, 0x4, 0x16, 0x4, 0x8D, 0x0, 0x7, 0x0, 0x0, 0x1, 0x21, 0x11, 0x23, 0x11, 0x21, 0x35, 0x21, 0x4, 0x16, 0xFE, 0x7E, 0xF2, 0xFE, 0x83, 0x3, 0xF1, 0x3, 0xC9, 0xFC, 0x37, 0x3, 0xC9, 0xC4, 0x0, 0x1, 0x0, 0x3F, 0xFF, 0xF0, 0x3, 0xEF, 0x4, 0x9D, 0x0, 0x26, 0x0, 0x0, 0x1, 0x34, 0x26, 0x27, 0x26, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x23, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x14, 0x16, 0x17, 0x16, 0x16, 0x15, 0x14, 0x6, 0x23, 0x22, 0x26, 0x26, 0x35, 0x33, 0x14, 0x16, 0x33, 0x32, 0x36, 0x3, 0x2, 0x5F, 0x92, 0xCE, 0xDC, 0xF5, 0xC4, 0xD5, 0xFA, 0xF3, 0x6D, 0x70, 0x6A, 0x63, 0x7B, 0x8A, 0xCB, 0xCD, 0xF6, 0xCD, 0x79, 0xE3, 0x91, 0xF3, 0x8C, 0x75, 0x6D, 0x62, 0x1, 0x32, 0x3F, 0x51, 0x23, 0x32, 0xA2, 0x97, 0x93, 0xBA, 0xCA, 0x9D, 0x49, 0x65, 0x56, 0x38, 0x3C, 0x4C, 0x22, 0x32, 0xAC, 0x97, 0x99, 0xAE, 0x50, 0xA7, 0x82, 0x67, 0x5A, 0x53, 0x0, 0x2, 0x0, 0x76, 0x0, 0x0, 0x4, 0x3A, 0x4, 0x8D, 0x0, 0x8, 0x0, 0x17, 0x0, 0x0, 0x1, 0x11, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x13, 0x3, 0x23, 0x11, 0x23, 0x11, 0x21, 0x32, 0x16, 0x15, 0x14, 0x6, 0x7, 0x1, 0x15, 0x1, 0x69, 0xD6, 0x6B, 0x6C, 0x69, 0x6F, 0xF7, 0xEC, 0xE0, 0xF3, 0x1, 0xC8, 0xD8, 0xF3, 0x78, 0x68, 0x1, 0x11, 0x3, 0xC9, 0xFE, 0xA3, 0x5E, 0x4F, 0x50, 0x60, 0xFC, 0x37, 0x1, 0xA9, 0xFE, 0x57, 0x4, 0x8D, 0xB5, 0xAC, 0x7F, 0x9B, 0x2C, 0xFE, 0x25, 0xB, 0x0, 0x2, 0x0, 0x4D, 0xFF, 0x2F, 0x4, 0x6D, 0x4, 0x9D, 0x0, 0x12, 0x0, 0x20, 0x0, 0x0, 0x5, 0x25, 0x6, 0x23, 0x22, 0x0, 0x11, 0x35, 0x10, 0x0, 0x33, 0x32, 0x0, 0x11, 0x15, 0x14, 0x6, 0x7, 0x17, 0x3, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x3, 0xCE, 0xFE, 0xF7, 0x31, 0x36, 0xE9, 0xFE, 0xD8, 0x1, 0x26, 0xE9, 0xEC, 0x1, 0x25, 0x6F, 0x62, 0xCE, 0xEF, 0x97, 0x88, 0x85, 0x98, 0x9A, 0x85, 0x87, 0x96, 0xD1, 0xC9, 0x8, 0x1, 0x32, 0x1, 0xA, 0x34, 0x1, 0xA, 0x1, 0x33, 0xFE, 0xCD, 0xFE, 0xF6, 0x34, 0xA1, 0xF2, 0x49, 0x99, 0x2, 0xAB, 0xB5, 0xC1, 0xC1, 0xB5, 0x36, 0xB5, 0xC3, 0xC3, 0xB5, 0x0, 0x2, 0x0, 0x76, 0x0, 0x0, 0x4, 0x2C, 0x4, 0x8D, 0x0, 0x8, 0x0, 0x13, 0x0, 0x0, 0x1, 0x11, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x3, 0x11, 0x23, 0x11, 0x21, 0x32, 0x16, 0x15, 0x14, 0x6, 0x23, 0x1, 0x69, 0xF3, 0x74, 0x6A, 0x6A, 0x74, 0xF3, 0xF3, 0x1, 0xE6, 0xDC, 0xF4, 0xF4, 0xDC, 0x3, 0xC9, 0xFE, 0x95, 0x60, 0x4C, 0x4B, 0x74, 0xFD, 0xD1, 0xFE, 0x66, 0x4, 0x8D, 0xDA, 0xA7, 0xA9, 0xC9, 0x0, 0x2, 0x0, 0x50, 0xFF, 0xF0, 0x4, 0x6F, 0x4, 0x9D, 0x0, 0xD, 0x0, 0x1B, 0x0, 0x0, 0x1, 0x10, 0x0, 0x23, 0x22, 0x0, 0x11, 0x35, 0x10, 0x0, 0x33, 0x32, 0x0, 0x11, 0x27, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x4, 0x6F, 0xFE, 0xDE, 0xEC, 0xE9, 0xFE, 0xD8, 0x1, 0x26, 0xE9, 0xEC, 0x1, 0x24, 0xF2, 0x97, 0x87, 0x85, 0x98, 0x9A, 0x85, 0x87, 0x95, 0x2, 0x2C, 0xFE, 0xF6, 0xFE, 0xCE, 0x1, 0x32, 0x1, 0xA, 0x34, 0x1, 0xA, 0x1, 0x33, 0xFE, 0xCD, 0xFE, 0xF6, 0x2, 0xB5, 0xC1, 0xC1, 0xB5, 0x36, 0xB5, 0xC3, 0xC3, 0xB5, 0x0, 0x1, 0x0, 0x76, 0x0, 0x0, 0x4, 0x67, 0x4, 0x8D, 0x0, 0x9, 0x0, 0x0, 0x1, 0x11, 0x23, 0x1, 0x11, 0x23, 0x11, 0x33, 0x1, 0x11, 0x4, 0x67, 0xF2, 0xFD, 0xF4, 0xF3, 0xF3, 0x2, 0xC, 0x4, 0x8D, 0xFB, 0x73, 0x3, 0x1C, 0xFC, 0xE4, 0x4, 0x8D, 0xFC, 0xE4, 0x3, 0x1C, 0x0, 0x1, 0x0, 0x76, 0x0, 0x0, 0x5, 0x90, 0x4, 0x8D, 0x0, 0xE, 0x0, 0x0, 0x1, 0x11, 0x23, 0x11, 0x21, 0x1, 0x1, 0x21, 0x11, 0x23, 0x11, 0x13, 0x1, 0x23, 0x1, 0x1, 0x69, 0xF3, 0x1, 0x3D, 0x1, 0x50, 0x1, 0x4F, 0x1, 0x3E, 0xF3, 0x19, 0xFE, 0xA1, 0xA9, 0xFE, 0xA2, 0x1, 0x3C, 0xFE, 0xC4, 0x4, 0x8D, 0xFC, 0xB6, 0x3, 0x4A, 0xFB, 0x73, 0x1, 0x3C, 0x2, 0x36, 0xFC, 0x8E, 0x3, 0x71, 0x0, 0x1, 0x0, 0x76, 0x0, 0x0, 0x3, 0x94, 0x4, 0x8D, 0x0, 0x5, 0x0, 0x0, 0x33, 0x11, 0x33, 0x11, 0x21, 0x15, 0x76, 0xF3, 0x2, 0x2B, 0x4, 0x8D, 0xFC, 0x36, 0xC3, 0x0, 0x1, 0x0, 0x76, 0x0, 0x0, 0x4, 0x69, 0x4, 0x8D, 0x0, 0xC, 0x0, 0x0, 0x21, 0x1, 0x7, 0x11, 0x23, 0x11, 0x33, 0x11, 0x37, 0x1, 0x21, 0x1, 0x1, 0x3, 0x47, 0xFE, 0xAA, 0x88, 0xF3, 0xF3, 0x6F, 0x1, 0x4E, 0x1, 0x2D, 0xFE, 0x42, 0x1, 0xD4, 0x1, 0xDB, 0x84, 0xFE, 0xA9, 0x4, 0x8D, 0xFD, 0xFD, 0x87, 0x1, 0x7C, 0xFD, 0xF7, 0xFD, 0x7C, 0x0, 0x1, 0x0, 0x25, 0xFF, 0xF0, 0x3, 0x65, 0x4, 0x8D, 0x0, 0xD, 0x0, 0x0, 0x1, 0x33, 0x11, 0x14, 0x6, 0x23, 0x22, 0x26, 0x35, 0x33, 0x14, 0x33, 0x32, 0x37, 0x2, 0x71, 0xF4, 0xEA, 0xAB, 0xBB, 0xF0, 0xF3, 0xB8, 0xA0, 0x1, 0x4, 0x8D, 0xFC, 0xE1, 0xB5, 0xC9, 0xB3, 0xBD, 0xAD, 0xB9, 0x0, 0x1, 0x0, 0x85, 0x0, 0x0, 0x1, 0x78, 0x4, 0x8D, 0x0, 0x3, 0x0, 0x0, 0x1, 0x11, 0x23, 0x11, 0x1, 0x78, 0xF3, 0x4, 0x8D, 0xFB, 0x73, 0x4, 0x8D, 0x0, 0x1, 0x0, 0x76, 0x0, 0x0, 0x4, 0x68, 0x4, 0x8D, 0x0, 0xB, 0x0, 0x0, 0x21, 0x11, 0x21, 0x11, 0x23, 0x11, 0x33, 0x11, 0x21, 0x11, 0x33, 0x11, 0x3, 0x76, 0xFD, 0xF3, 0xF3, 0xF3, 0x2, 0xD, 0xF2, 0x1, 0xDB, 0xFE, 0x25, 0x4, 0x8D, 0xFE, 0x12, 0x1, 0xEE, 0xFB, 0x73, 0x0, 0x1, 0x0, 0x55, 0xFF, 0xF0, 0x4, 0x49, 0x4, 0x9D, 0x0, 0x1E, 0x0, 0x0, 0x1, 0x11, 0x6, 0x6, 0x23, 0x22, 0x0, 0x11, 0x35, 0x10, 0x0, 0x33, 0x32, 0x16, 0x17, 0x23, 0x26, 0x26, 0x23, 0x20, 0x3, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x37, 0x35, 0x23, 0x35, 0x4, 0x49, 0x2B, 0xDD, 0xD0, 0xF0, 0xFE, 0xD4, 0x1, 0x1A, 0xF0, 0xEF, 0xE5, 0x15, 0xEC, 0x10, 0x6F, 0x79, 0xFE, 0xEC, 0x8, 0xA2, 0x92, 0x65, 0x60, 0x15, 0xF8, 0x2, 0x65, 0xFE, 0x2E, 0x31, 0x72, 0x1, 0x26, 0x1, 0xE, 0x45, 0x1, 0xD, 0x1, 0x27, 0xD9, 0xAA, 0x58, 0x68, 0xFE, 0xA5, 0x5B, 0xB5, 0xBC, 0x27, 0x12, 0xC7, 0xB2, 0x0, 0x1, 0x0, 0x76, 0x0, 0x0, 0x3, 0x9E, 0x4, 0x8D, 0x0, 0x9, 0x0, 0x0, 0x1, 0x21, 0x11, 0x23, 0x11, 0x21, 0x15, 0x21, 0x11, 0x21, 0x3, 0x5C, 0xFE, 0xD, 0xF3, 0x3, 0x28, 0xFD, 0xCB, 0x1, 0xF3, 0x1, 0xDB, 0xFE, 0x25, 0x4, 0x8D, 0xC4, 0xFE, 0xD6, 0x0, 0x1, 0x0, 0x3F, 0xFF, 0x13, 0x3, 0xEF, 0x5, 0x73, 0x0, 0x2B, 0x0, 0x0, 0x5, 0x23, 0x35, 0x26, 0x26, 0x35, 0x33, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x27, 0x26, 0x26, 0x35, 0x34, 0x36, 0x37, 0x35, 0x33, 0x15, 0x16, 0x16, 0x15, 0x23, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x14, 0x16, 0x17, 0x16, 0x16, 0x15, 0x14, 0x6, 0x7, 0x2, 0x7F, 0xA0, 0xA2, 0xFE, 0xF3, 0x8C, 0x75, 0x6D, 0x62, 0x5F, 0x92, 0xCE, 0xDC, 0xCF, 0xA9, 0xA0, 0xAB, 0xC5, 0xF3, 0x6D, 0x70, 0x6A, 0x63, 0x7B, 0x8A, 0xCB, 0xCD, 0xC7, 0xA9, 0xED, 0xE1, 0x11, 0xB6, 0xAE, 0x67, 0x5A, 0x53, 0x37, 0x3F, 0x51, 0x23, 0x32, 0xA2, 0x97, 0x86, 0xB4, 0x10, 0xD9, 0xDC, 0x16, 0xC1, 0x8A, 0x49, 0x65, 0x56, 0x38, 0x3C, 0x4C, 0x22, 0x32, 0xAC, 0x97, 0x89, 0xA9, 0x11, 0x0, 0x1, 0x0, 0x39, 0x0, 0x0, 0x4, 0x1A, 0x4, 0x9D, 0x0, 0x1F, 0x0, 0x0, 0x21, 0x21, 0x35, 0x33, 0x36, 0x36, 0x27, 0x35, 0x23, 0x35, 0x33, 0x27, 0x26, 0x36, 0x33, 0x32, 0x16, 0x15, 0x23, 0x34, 0x26, 0x23, 0x22, 0x6, 0x17, 0x17, 0x21, 0x15, 0x21, 0x16, 0x7, 0x21, 0x4, 0x1A, 0xFC, 0x64, 0xA, 0x35, 0x1F, 0x3, 0xA0, 0x9B, 0x3, 0x7, 0xDD, 0xBA, 0xCD, 0xCE, 0xF3, 0x62, 0x45, 0x4C, 0x57, 0x4, 0x4, 0x1, 0x81, 0xFE, 0x85, 0x7, 0x50, 0x2, 0x96, 0xC4, 0xE, 0xBA, 0x53, 0x7, 0x93, 0x69, 0xD2, 0xE9, 0xDD, 0xB3, 0x71, 0x5A, 0x7E, 0x78, 0x69, 0x93, 0xB0, 0x72, 0x0, 0x1, 0x0, 0xA, 0x0, 0x0, 0x3, 0x9A, 0x4, 0x8D, 0x0, 0x18, 0x0, 0x0, 0x25, 0x21, 0x15, 0x23, 0x35, 0x21, 0x35, 0x21, 0x35, 0x27, 0x21, 0x35, 0x33, 0x1, 0x21, 0x13, 0x13, 0x33, 0x1, 0x33, 0x15, 0x21, 0x7, 0x15, 0x21, 0x3, 0x53, 0xFE, 0xF4, 0xF2, 0xFE, 0xF5, 0x1, 0xB, 0x4, 0xFE, 0xF9, 0xC5, 0xFE, 0xFB, 0x1, 0x1, 0xC7, 0xC9, 0xFF, 0xFE, 0xFA, 0xBF, 0xFF, 0x0, 0xC, 0x1, 0xC, 0xD9, 0xD9, 0xD9, 0x92, 0x3D, 0xA, 0x93, 0x2, 0x48, 0xFE, 0x1, 0x1, 0xFF, 0xFD, 0xB8, 0x93, 0x1A, 0x2D, 0x0, 0x1, 0x0, 0x76, 0x0, 0x0, 0x3, 0x97, 0x4, 0x8D, 0x0, 0x5, 0x0, 0x0, 0x1, 0x21, 0x11, 0x23, 0x11, 0x21, 0x3, 0x97, 0xFD, 0xD2, 0xF3, 0x3, 0x21, 0x3, 0xC9, 0xFC, 0x37, 0x4, 0x8D, 0x0, 0x2, 0x0, 0x9, 0x0, 0x0, 0x4, 0x72, 0x4, 0x8D, 0x0, 0x3, 0x0, 0x8, 0x0, 0x0, 0x33, 0x1, 0x33, 0x1, 0x1, 0x3, 0x21, 0x3, 0x27, 0x9, 0x1, 0xB9, 0xF7, 0x1, 0xB9, 0xFD, 0xB8, 0xDD, 0x1, 0xE2, 0xDF, 0x12, 0x4, 0x8D, 0xFB, 0x73, 0x3, 0x54, 0xFD, 0x70, 0x2, 0x93, 0x4C, 0x0, 0x3, 0x0, 0x50, 0xFF, 0xF0, 0x4, 0x6F, 0x4, 0x9D, 0x0, 0xD, 0x0, 0x1B, 0x0, 0x1F, 0x0, 0x0, 0x1, 0x10, 0x0, 0x23, 0x22, 0x0, 0x11, 0x35, 0x10, 0x0, 0x33, 0x32, 0x0, 0x11, 0x27, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x27, 0x15, 0x21, 0x35, 0x4, 0x6F, 0xFE, 0xDE, 0xEC, 0xE9, 0xFE, 0xD8, 0x1, 0x26, 0xE9, 0xEC, 0x1, 0x24, 0xF2, 0x97, 0x87, 0x85, 0x98, 0x9A, 0x85, 0x87, 0x95, 0x45, 0xFE, 0x5A, 0x2, 0x2C, 0xFE, 0xF6, 0xFE, 0xCE, 0x1, 0x32, 0x1, 0xA, 0x34, 0x1, 0xA, 0x1, 0x33, 0xFE, 0xCD, 0xFE, 0xF6, 0x2, 0xB5, 0xC1, 0xC1, 0xB5, 0x36, 0xB5, 0xC3, 0xC3, 0xB5, 0x77, 0xC4, 0xC4, 0x0, 0x1, 0x0, 0x9, 0x0, 0x0, 0x4, 0x72, 0x4, 0x8D, 0x0, 0x8, 0x0, 0x0, 0x21, 0x21, 0x1, 0x33, 0x1, 0x21, 0x1, 0x27, 0x7, 0x1, 0xB, 0xFE, 0xFE, 0x1, 0xB9, 0xF7, 0x1, 0xB9, 0xFE, 0xFF, 0xFE, 0xDF, 0x12, 0x14, 0x4, 0x8D, 0xFB, 0x73, 0x3, 0x57, 0x4C, 0x4F, 0x0, 0x3, 0x0, 0x43, 0x0, 0x0, 0x3, 0x56, 0x4, 0x8D, 0x0, 0x3, 0x0, 0x7, 0x0, 0xB, 0x0, 0x0, 0x1, 0x15, 0x21, 0x35, 0x1, 0x15, 0x21, 0x35, 0x1, 0x15, 0x21, 0x35, 0x3, 0x56, 0xFC, 0xED, 0x2, 0xC9, 0xFD, 0x7E, 0x2, 0xCC, 0xFC, 0xED, 0x4, 0x8D, 0xC4, 0xC4, 0xFE, 0x32, 0xC3, 0xC3, 0xFE, 0x5, 0xC4, 0xC4, 0x0, 0x1, 0x0, 0x76, 0x0, 0x0, 0x4, 0x62, 0x4, 0x8D, 0x0, 0x7, 0x0, 0x0, 0x21, 0x11, 0x21, 0x11, 0x23, 0x11, 0x21, 0x11, 0x3, 0x6E, 0xFD, 0xFB, 0xF3, 0x3, 0xEC, 0x3, 0xC9, 0xFC, 0x37, 0x4, 0x8D, 0xFB, 0x73, 0x0, 0x1, 0x0, 0x45, 0x0, 0x1, 0x3, 0xE7, 0x4, 0x8D, 0x0, 0xC, 0x0, 0x0, 0x37, 0x35, 0x1, 0x1, 0x35, 0x21, 0x15, 0x21, 0x1, 0x15, 0x1, 0x21, 0x15, 0x45, 0x1, 0x3E, 0xFE, 0xC2, 0x3, 0x7B, 0xFD, 0xBB, 0x1, 0x16, 0xFE, 0xE5, 0x2, 0x71, 0x1, 0x98, 0x1, 0xB6, 0x1, 0xA7, 0x97, 0xC4, 0xFE, 0x90, 0x14, 0xFE, 0x7F, 0xC3, 0x0, 0x3, 0x0, 0x51, 0x0, 0x0, 0x5, 0x4D, 0x4, 0x8D, 0x0, 0x11, 0x0, 0x18, 0x0, 0x1F, 0x0, 0x0, 0x21, 0x23, 0x35, 0x26, 0x24, 0x35, 0x34, 0x24, 0x37, 0x35, 0x33, 0x15, 0x16, 0x4, 0x15, 0x14, 0x4, 0x7, 0x1, 0x6, 0x16, 0x17, 0x11, 0x6, 0x6, 0x5, 0x34, 0x26, 0x27, 0x11, 0x36, 0x36, 0x3, 0x49, 0xF2, 0xDF, 0xFE, 0xD9, 0x1, 0x27, 0xDF, 0xF2, 0xDE, 0x1, 0x26, 0xFE, 0xDA, 0xDE, 0xFD, 0xF9, 0x1, 0x93, 0x83, 0x83, 0x91, 0x3, 0x18, 0x90, 0x82, 0x82, 0x90, 0x6D, 0xD, 0xED, 0xDD, 0xDB, 0xEA, 0xD, 0x77, 0x77, 0xE, 0xE8, 0xDA, 0xDD, 0xEE, 0xE, 0x1, 0xD7, 0x8A, 0x84, 0x9, 0x2, 0x29, 0x9, 0x82, 0x85, 0x86, 0x81, 0x9, 0xFD, 0xD7, 0xA, 0x85, 0x0, 0x1, 0x0, 0x51, 0x0, 0x0, 0x5, 0x4, 0x4, 0x8D, 0x0, 0x16, 0x0, 0x0, 0x21, 0x23, 0x11, 0x26, 0x2, 0x11, 0x11, 0x33, 0x11, 0x12, 0x17, 0x11, 0x33, 0x11, 0x36, 0x36, 0x35, 0x11, 0x33, 0x11, 0x6, 0x2, 0x7, 0x3, 0x24, 0xF3, 0xE5, 0xFB, 0xF3, 0x6, 0xE7, 0xF3, 0x80, 0x6D, 0xF3, 0x3, 0xFB, 0xE2, 0x1, 0x18, 0x17, 0x1, 0x2B, 0x1, 0x5, 0x1, 0x2E, 0xFE, 0xC1, 0xFE, 0xBD, 0x2C, 0x2, 0xAE, 0xFD, 0x52, 0x18, 0xC2, 0xA6, 0x1, 0x2E, 0xFE, 0xC6, 0xFB, 0xFE, 0xDB, 0x1A, 0x0, 0x1, 0x0, 0x5F, 0x0, 0x0, 0x4, 0x84, 0x4, 0x9D, 0x0, 0x1F, 0x0, 0x0, 0x21, 0x21, 0x35, 0x33, 0x26, 0x26, 0x35, 0x35, 0x34, 0x0, 0x20, 0x0, 0x15, 0x15, 0x10, 0x7, 0x33, 0x15, 0x21, 0x35, 0x36, 0x13, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x15, 0x10, 0x17, 0x2, 0x3C, 0xFE, 0x30, 0xB1, 0x59, 0x65, 0x1, 0x15, 0x1, 0xFA, 0x1, 0x16, 0xBC, 0xB6, 0xFE, 0x2F, 0xDE, 0x6, 0x88, 0x98, 0x96, 0x89, 0xEA, 0xC4, 0x4A, 0xE0, 0x8C, 0x22, 0xD3, 0x1, 0x2E, 0xFE, 0xD2, 0xD2, 0x23, 0xFE, 0xE7, 0x9D, 0xC4, 0xC8, 0x41, 0x1, 0x4A, 0x3B, 0x92, 0xB8, 0xB8, 0x92, 0x2A, 0xFE, 0xAB, 0x47, 0x0, 0x1, 0x0, 0x25, 0xFF, 0xEC, 0x5, 0x53, 0x4, 0x8D, 0x0, 0x18, 0x0, 0x0, 0x1, 0x14, 0x4, 0x23, 0x35, 0x32, 0x36, 0x35, 0x34, 0x23, 0x22, 0x7, 0x11, 0x23, 0x11, 0x21, 0x35, 0x21, 0x15, 0x21, 0x15, 0x36, 0x33, 0x32, 0x16, 0x5, 0x53, 0xFE, 0xFE, 0xD9, 0x72, 0x76, 0xE9, 0x81, 0x85, 0xF3, 0xFE, 0xA7, 0x3, 0xAC, 0xFE, 0xA0, 0x86, 0x91, 0xCE, 0xFD, 0x1, 0x69, 0xCA, 0xB3, 0xBD, 0x54, 0x69, 0xD9, 0x26, 0xFD, 0xE7, 0x3, 0xC9, 0xC4, 0xC4, 0xEC, 0x26, 0xC9, 0x0, 0x1, 0x0, 0x50, 0xFF, 0xF0, 0x4, 0x44, 0x4, 0x9D, 0x0, 0x1C, 0x0, 0x0, 0x1, 0x6, 0x6, 0x23, 0x22, 0x0, 0x11, 0x35, 0x10, 0x0, 0x33, 0x32, 0x16, 0x17, 0x23, 0x26, 0x26, 0x23, 0x22, 0x3, 0x21, 0x15, 0x21, 0x16, 0x16, 0x33, 0x32, 0x36, 0x37, 0x4, 0x43, 0xF, 0xFD, 0xE7, 0xED, 0xFE, 0xED, 0x1, 0x19, 0xEC, 0xE8, 0xF4, 0x13, 0xF3, 0xA, 0x6F, 0x83, 0xFA, 0x17, 0x1, 0x80, 0xFE, 0x80, 0x9, 0x80, 0x83, 0x80, 0x75, 0xB, 0x1, 0x85, 0xB2, 0xE3, 0x1, 0x2D, 0x1, 0x3, 0x4C, 0x1, 0x3, 0x1, 0x2E, 0xE9, 0xB3, 0x61, 0x78, 0xFE, 0xCF, 0xC3, 0x93, 0xA0, 0x6A, 0x68, 0x0, 0x2, 0x0, 0x25, 0x0, 0x0, 0x7, 0x15, 0x4, 0x8D, 0x0, 0x17, 0x0, 0x20, 0x0, 0x0, 0x33, 0x35, 0x37, 0x36, 0x36, 0x37, 0x13, 0x21, 0x11, 0x33, 0x16, 0x17, 0x16, 0x15, 0x14, 0x6, 0x23, 0x21, 0x11, 0x21, 0x3, 0x2, 0x2, 0x7, 0x25, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x23, 0x25, 0x27, 0x6B, 0x47, 0xA, 0x13, 0x3, 0x3B, 0xF9, 0xD0, 0x78, 0x7E, 0xF6, 0xD8, 0xFE, 0x1C, 0xFE, 0xA4, 0xE, 0xF, 0xA7, 0xDE, 0x3, 0xF1, 0xF1, 0x70, 0x6B, 0x6B, 0x70, 0xF1, 0xCD, 0x3, 0x8, 0xC3, 0xF6, 0x1, 0xFC, 0xFE, 0x6C, 0x2, 0x64, 0x69, 0xAA, 0xA8, 0xD8, 0x3, 0xC9, 0xFE, 0xA0, 0xFE, 0xC4, 0xFE, 0xD7, 0x4, 0xC4, 0x73, 0x4B, 0x49, 0x6A, 0x0, 0x2, 0x0, 0x76, 0x0, 0x0, 0x7, 0x19, 0x4, 0x8D, 0x0, 0x8, 0x0, 0x1C, 0x0, 0x0, 0x25, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x23, 0x3, 0x11, 0x21, 0x11, 0x23, 0x11, 0x33, 0x11, 0x21, 0x11, 0x33, 0x11, 0x33, 0x16, 0x17, 0x16, 0x15, 0x14, 0x6, 0x23, 0x4, 0x5A, 0xF1, 0x70, 0x6B, 0x6B, 0x70, 0xF1, 0xF3, 0xFE, 0x2, 0xF3, 0xF3, 0x1, 0xFE, 0xF3, 0xF9, 0xD0, 0x78, 0x7E, 0xF6, 0xD8, 0xC4, 0x73, 0x4B, 0x49, 0x6A, 0xFD, 0xCB, 0x1, 0xDB, 0xFE, 0x25, 0x4, 0x8D, 0xFE, 0x12, 0x1, 0xEE, 0xFE, 0x6C, 0x2, 0x64, 0x69, 0xAA, 0xA8, 0xD8, 0x0, 0x1, 0x0, 0x25, 0x0, 0x0, 0x5, 0x53, 0x4, 0x8D, 0x0, 0x15, 0x0, 0x0, 0x1, 0x22, 0x7, 0x11, 0x23, 0x11, 0x21, 0x35, 0x21, 0x15, 0x21, 0x15, 0x36, 0x33, 0x32, 0x16, 0x15, 0x11, 0x23, 0x11, 0x34, 0x26, 0x3, 0x77, 0x81, 0x85, 0xF3, 0xFE, 0xA7, 0x3, 0xAC, 0xFE, 0xA0, 0x86, 0x8F, 0xD0, 0xFD, 0xF3, 0x74, 0x2, 0x3F, 0x26, 0xFD, 0xE7, 0x3, 0xC9, 0xC4, 0xC4, 0xEC, 0x26, 0xC6, 0xE2, 0xFE, 0xA5, 0x1, 0x5B, 0x7D, 0x67, 0x0, 0x1, 0x0, 0x76, 0xFE, 0x9F, 0x4, 0x62, 0x4, 0x8D, 0x0, 0xB, 0x0, 0x0, 0x21, 0x21, 0x11, 0x23, 0x11, 0x21, 0x11, 0x33, 0x11, 0x21, 0x11, 0x33, 0x4, 0x62, 0xFE, 0x8A, 0xF3, 0xFE, 0x7D, 0xF3, 0x2, 0x5, 0xF4, 0xFE, 0x9F, 0x1, 0x61, 0x4, 0x8D, 0xFC, 0x37, 0x3, 0xC9, 0x0, 0x2, 0x0, 0x76, 0x0, 0x0, 0x4, 0x29, 0x4, 0x8D, 0x0, 0xB, 0x0, 0x14, 0x0, 0x0, 0x33, 0x11, 0x21, 0x15, 0x21, 0x15, 0x33, 0x16, 0x16, 0x10, 0x6, 0x23, 0x35, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x23, 0x11, 0x76, 0x3, 0x3C, 0xFD, 0xB7, 0xF9, 0xD4, 0xF3, 0xF7, 0xD8, 0x71, 0x6B, 0x6B, 0x71, 0xF1, 0x4, 0x8D, 0xC2, 0xE0, 0x2, 0xC5, 0xFE, 0xAA, 0xCE, 0xC4, 0x69, 0x4E, 0x4A, 0x62, 0xFE, 0x9D, 0x0, 0x2, 0x0, 0x27, 0xFE, 0xAE, 0x5, 0x16, 0x4, 0x8D, 0x0, 0x5, 0x0, 0x14, 0x0, 0x0, 0x25, 0x21, 0x11, 0x21, 0x3, 0x2, 0x3, 0x11, 0x23, 0x13, 0x33, 0x36, 0x36, 0x37, 0x13, 0x21, 0x11, 0x33, 0x11, 0x23, 0x11, 0x1, 0x9D, 0x1, 0xF0, 0xFE, 0xA1, 0x8, 0x11, 0xFA, 0xF4, 0x1, 0x5C, 0x67, 0x47, 0x6, 0xA, 0x3, 0x3E, 0x96, 0xF3, 0xC4, 0x3, 0x5, 0xFE, 0xEC, 0xFE, 0xC3, 0xFE, 0x88, 0xFE, 0xAE, 0x2, 0x16, 0x72, 0xEE, 0xCD, 0x1, 0x9C, 0xFC, 0x37, 0xFD, 0xEA, 0x1, 0x52, 0x0, 0x1, 0x0, 0x1B, 0x0, 0x0, 0x6, 0x20, 0x4, 0x8D, 0x0, 0x15, 0x0, 0x0, 0x21, 0x11, 0x23, 0x3, 0x21, 0x1, 0x1, 0x21, 0x13, 0x33, 0x11, 0x33, 0x11, 0x33, 0x13, 0x21, 0x1, 0x1, 0x21, 0x3, 0x23, 0x11, 0x2, 0xA4, 0x60, 0xFC, 0xFE, 0xD3, 0x1, 0x5C, 0xFE, 0xC3, 0x1, 0x1F, 0xF6, 0x55, 0xF3, 0x54, 0xF6, 0x1, 0x1F, 0xFE, 0xC3, 0x1, 0x5D, 0xFE, 0xD3, 0xFD, 0x5F, 0x1, 0xD6, 0xFE, 0x2A, 0x2, 0x55, 0x2, 0x38, 0xFE, 0x20, 0x1, 0xE0, 0xFE, 0x20, 0x1, 0xE0, 0xFD, 0xD1, 0xFD, 0xA2, 0x1, 0xD6, 0xFE, 0x2A, 0x0, 0x1, 0x0, 0x43, 0xFF, 0xF0, 0x3, 0xE8, 0x4, 0x9D, 0x0, 0x27, 0x0, 0x0, 0x5, 0x22, 0x26, 0x26, 0x35, 0x33, 0x16, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x27, 0x23, 0x35, 0x33, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x23, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x6, 0x7, 0x16, 0x16, 0x15, 0x14, 0x4, 0x2, 0x9, 0x69, 0xD2, 0x8B, 0xF3, 0x5, 0x7A, 0x56, 0x77, 0x73, 0xE0, 0x94, 0x9D, 0xC5, 0x65, 0x76, 0x4F, 0x72, 0xF3, 0xFB, 0xBA, 0xCD, 0xFF, 0x6E, 0x5C, 0x6F, 0x6E, 0xFE, 0xEC, 0x10, 0x40, 0x97, 0x80, 0x50, 0x43, 0x57, 0x47, 0xA7, 0x3, 0xB0, 0x5, 0x93, 0x3E, 0x56, 0x3E, 0x43, 0x9B, 0xAB, 0x9F, 0x9E, 0x59, 0x8C, 0x26, 0x25, 0x90, 0x5C, 0xAA, 0xAA, 0x0, 0x1, 0x0, 0x76, 0x0, 0x0, 0x4, 0x6E, 0x4, 0x8D, 0x0, 0x9, 0x0, 0x0, 0x21, 0x23, 0x11, 0x33, 0x11, 0x1, 0x33, 0x11, 0x23, 0x11, 0x1, 0x69, 0xF3, 0xF3, 0x2, 0x12, 0xF3, 0xF3, 0x4, 0x8D, 0xFC, 0xDF, 0x3, 0x21, 0xFB, 0x73, 0x3, 0x22, 0x0, 0x1, 0x0, 0x76, 0x0, 0x0, 0x4, 0x40, 0x4, 0x8D, 0x0, 0xC, 0x0, 0x0, 0x21, 0x1, 0x23, 0x11, 0x23, 0x11, 0x33, 0x11, 0x33, 0x1, 0x21, 0x1, 0x1, 0x3, 0x12, 0xFE, 0xC1, 0x6A, 0xF3, 0xF3, 0x64, 0x1, 0x38, 0x1, 0x1C, 0xFE, 0x72, 0x1, 0xAD, 0x1, 0xD6, 0xFE, 0x2A, 0x4, 0x8D, 0xFE, 0x20, 0x1, 0xE0, 0xFD, 0xC5, 0xFD, 0xAE, 0x0, 0x1, 0x0, 0x25, 0x0, 0x0, 0x4, 0x56, 0x4, 0x8D, 0x0, 0xF, 0x0, 0x0, 0x33, 0x35, 0x37, 0x36, 0x36, 0x37, 0x13, 0x21, 0x11, 0x23, 0x11, 0x21, 0x3, 0x2, 0x2, 0x7, 0x25, 0x27, 0x6A, 0x47, 0xA, 0x14, 0x3, 0x3B, 0xF3, 0xFE, 0xA3, 0xE, 0x10, 0xA7, 0xDA, 0xCD, 0x4, 0xC, 0xBB, 0xFB, 0x1, 0xFA, 0xFB, 0x73, 0x3, 0xC9, 0xFE, 0xA0, 0xFE, 0xC6, 0xFE, 0xD6, 0x5, 0x0, 0x1, 0x0, 0x20, 0xFF, 0xEC, 0x4, 0x3A, 0x4, 0x8D, 0x0, 0xF, 0x0, 0x0, 0x5, 0x27, 0x37, 0x17, 0x32, 0x36, 0x37, 0x1, 0x21, 0x13, 0x17, 0x13, 0x21, 0x1, 0x6, 0x6, 0x1, 0x40, 0x67, 0x2, 0x57, 0x3B, 0x41, 0x16, 0xFE, 0x5C, 0x1, 0xE, 0xFB, 0x13, 0xF4, 0x1, 0xA, 0xFE, 0x6C, 0x34, 0x8E, 0x14, 0x5, 0xC1, 0x4, 0x38, 0x29, 0x3, 0x7E, 0xFD, 0xBE, 0x37, 0x2, 0x79, 0xFC, 0x76, 0x73, 0xA4, 0x0, 0x1, 0x0, 0x76, 0xFE, 0xAE, 0x5, 0x25, 0x4, 0x8D, 0x0, 0xB, 0x0, 0x0, 0x1, 0x23, 0x11, 0x21, 0x11, 0x33, 0x11, 0x21, 0x11, 0x33, 0x11, 0x33, 0x5, 0x11, 0xDE, 0xFC, 0x43, 0xF3, 0x2, 0x5, 0xF4, 0xC3, 0xFE, 0xAE, 0x1, 0x52, 0x4, 0x8D, 0xFC, 0x37, 0x3, 0xC9, 0xFC, 0x37, 0x0, 0x1, 0x0, 0x41, 0x0, 0x0, 0x4, 0x16, 0x4, 0x8D, 0x0, 0x11, 0x0, 0x0, 0x21, 0x23, 0x11, 0x6, 0x23, 0x22, 0x24, 0x35, 0x11, 0x33, 0x11, 0x14, 0x16, 0x33, 0x32, 0x37, 0x11, 0x33, 0x4, 0x16, 0xF3, 0x84, 0x82, 0xDB, 0xFE, 0xFF, 0xF3, 0x75, 0x74, 0x81, 0x85, 0xF3, 0x1, 0xAB, 0x26, 0xC5, 0xE2, 0x1, 0x61, 0xFE, 0xA0, 0x7C, 0x69, 0x26, 0x2, 0x1F, 0x0, 0x1, 0x0, 0x76, 0x0, 0x0, 0x6, 0xF, 0x4, 0x8D, 0x0, 0xB, 0x0, 0x0, 0x33, 0x11, 0x33, 0x11, 0x21, 0x11, 0x33, 0x11, 0x21, 0x11, 0x33, 0x11, 0x76, 0xF3, 0x1, 0x60, 0xF3, 0x1, 0x60, 0xF3, 0x4, 0x8D, 0xFC, 0x37, 0x3, 0xC9, 0xFC, 0x37, 0x3, 0xC9, 0xFB, 0x73, 0x0, 0x1, 0x0, 0x76, 0xFE, 0xAE, 0x6, 0xD2, 0x4, 0x8D, 0x0, 0xF, 0x0, 0x0, 0x1, 0x23, 0x11, 0x21, 0x11, 0x33, 0x11, 0x21, 0x11, 0x33, 0x11, 0x21, 0x11, 0x33, 0x11, 0x33, 0x6, 0xBE, 0xDE, 0xFA, 0x96, 0xF3, 0x1, 0x60, 0xF3, 0x1, 0x60, 0xF3, 0xC3, 0xFE, 0xAE, 0x1, 0x52, 0x4, 0x8D, 0xFC, 0x37, 0x3, 0xC9, 0xFC, 0x37, 0x3, 0xC9, 0xFC, 0x37, 0x0, 0x2, 0x0, 0xA, 0x0, 0x0, 0x5, 0x1B, 0x4, 0x8D, 0x0, 0xD, 0x0, 0x16, 0x0, 0x0, 0x21, 0x11, 0x21, 0x35, 0x21, 0x11, 0x33, 0x16, 0x17, 0x16, 0x15, 0x14, 0x6, 0x23, 0x35, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x23, 0x11, 0x1, 0x69, 0xFE, 0xA1, 0x2, 0x52, 0xF9, 0xD0, 0x78, 0x7E, 0xF6, 0xD8, 0x71, 0x6B, 0x6B, 0x71, 0xF1, 0x3, 0xC9, 0xC4, 0xFE, 0x6C, 0x2, 0x64, 0x69, 0xAA, 0xA8, 0xD8, 0xC4, 0x73, 0x4B, 0x49, 0x6A, 0xFE, 0x8F, 0xFF, 0xFF, 0x0, 0x76, 0x0, 0x0, 0x5, 0xAA, 0x4, 0x8D, 0x0, 0x26, 0x7, 0x84, 0x0, 0x0, 0x0, 0x7, 0x7, 0x5F, 0x4, 0x32, 0x0, 0x0, 0x0, 0x2, 0x0, 0x76, 0x0, 0x0, 0x4, 0x29, 0x4, 0x8D, 0x0, 0xB, 0x0, 0x14, 0x0, 0x0, 0x33, 0x11, 0x33, 0x11, 0x33, 0x16, 0x16, 0x17, 0x15, 0x14, 0x6, 0x23, 0x35, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x23, 0x11, 0x76, 0xF3, 0xF5, 0xD5, 0xF5, 0x1, 0xF7, 0xD8, 0x71, 0x6B, 0x6B, 0x71, 0xF1, 0x4, 0x8D, 0xFE, 0x6C, 0x1, 0xCF, 0xA7, 0x2, 0xA8, 0xD8, 0xC4, 0x73, 0x4B, 0x49, 0x6A, 0xFE, 0x8F, 0x0, 0x1, 0x0, 0x3D, 0xFF, 0xF0, 0x4, 0x31, 0x4, 0x9D, 0x0, 0x1C, 0x0, 0x0, 0x5, 0x22, 0x26, 0x27, 0x33, 0x16, 0x16, 0x33, 0x32, 0x36, 0x37, 0x21, 0x35, 0x21, 0x2, 0x23, 0x22, 0x6, 0x7, 0x23, 0x36, 0x36, 0x33, 0x32, 0x0, 0x11, 0x15, 0x10, 0x0, 0x2, 0x30, 0xE7, 0xFD, 0xF, 0xF3, 0xC, 0x74, 0x80, 0x83, 0x80, 0x9, 0xFE, 0x80, 0x1, 0x80, 0x17, 0xFA, 0x82, 0x6F, 0xB, 0xF2, 0x12, 0xF4, 0xE8, 0xED, 0x1, 0x19, 0xFE, 0xED, 0x10, 0xE3, 0xB2, 0x68, 0x6A, 0xA0, 0x93, 0xC3, 0x1, 0x31, 0x78, 0x61, 0xB3, 0xE9, 0xFE, 0xD2, 0xFE, 0xFD, 0x4C, 0xFE, 0xFD, 0xFE, 0xD3, 0x0, 0x2, 0x0, 0x76, 0xFF, 0xF0, 0x6, 0x42, 0x4, 0x9D, 0x0, 0x13, 0x0, 0x21, 0x0, 0x0, 0x5, 0x22, 0x0, 0x27, 0x23, 0x11, 0x23, 0x11, 0x33, 0x11, 0x33, 0x36, 0x0, 0x33, 0x32, 0x0, 0x11, 0x15, 0x10, 0x0, 0x13, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x4, 0x33, 0xD9, 0xFE, 0xE1, 0x16, 0xBC, 0xF3, 0xF3, 0xBC, 0x14, 0x1, 0x1F, 0xD9, 0xEC, 0x1, 0x25, 0xFE, 0xDD, 0x30, 0x97, 0x87, 0x85, 0x98, 0x9A, 0x85, 0x87, 0x95, 0x10, 0x1, 0x9, 0xE9, 0xFE, 0x1E, 0x4, 0x8D, 0xFE, 0x19, 0xEB, 0x1, 0xC, 0xFE, 0xCD, 0xFE, 0xF6, 0x34, 0xFE, 0xF6, 0xFE, 0xCE, 0x2, 0x72, 0xB5, 0xC1, 0xC1, 0xB5, 0x36, 0xB5, 0xC3, 0xC3, 0xB5, 0x0, 0x2, 0x0, 0x44, 0x0, 0x0, 0x4, 0x12, 0x4, 0x8D, 0x0, 0x7, 0x0, 0x14, 0x0, 0x0, 0x1, 0x11, 0x23, 0x22, 0x6, 0x14, 0x16, 0x33, 0x13, 0x11, 0x23, 0x3, 0x21, 0x1, 0x26, 0x35, 0x34, 0x36, 0x33, 0x21, 0x11, 0x3, 0x1F, 0xDC, 0x6A, 0x63, 0x63, 0x6A, 0xDC, 0xF1, 0xE6, 0xFE, 0xFC, 0x1, 0x16, 0xD7, 0xEE, 0xD3, 0x1, 0xCE, 0x2, 0x80, 0x1, 0x49, 0x5E, 0x92, 0x59, 0xFD, 0x80, 0x1, 0xBD, 0xFE, 0x43, 0x2, 0xC, 0x55, 0xD0, 0xA3, 0xB9, 0xFB, 0x73, 0x0, 0x1, 0x0, 0xA, 0x0, 0x0, 0x4, 0x0, 0x4, 0x8D, 0x0, 0xD, 0x0, 0x0, 0x1, 0x23, 0x11, 0x23, 0x11, 0x23, 0x35, 0x33, 0x11, 0x21, 0x15, 0x21, 0x11, 0x33, 0x2, 0xA8, 0xD6, 0xF3, 0xD5, 0xD5, 0x3, 0x21, 0xFD, 0xD2, 0xD6, 0x1, 0xE6, 0xFE, 0x1A, 0x1, 0xE6, 0xAB, 0x1, 0xFC, 0xC4, 0xFE, 0xC8, 0x0, 0x1, 0x0, 0x1B, 0xFE, 0xAE, 0x6, 0x6D, 0x4, 0x8D, 0x0, 0x19, 0x0, 0x0, 0x1, 0x23, 0x11, 0x23, 0x3, 0x23, 0x11, 0x23, 0x11, 0x23, 0x3, 0x21, 0x1, 0x1, 0x21, 0x13, 0x33, 0x11, 0x33, 0x11, 0x33, 0x13, 0x21, 0x1, 0x13, 0x33, 0x6, 0x6D, 0xD0, 0xAA, 0xFD, 0x5F, 0xF3, 0x60, 0xFC, 0xFE, 0xD3, 0x1, 0x5C, 0xFE, 0xC3, 0x1, 0x1F, 0xF6, 0x55, 0xF3, 0x54, 0xF6, 0x1, 0x1F, 0xFE, 0xC3, 0xED, 0xBD, 0xFE, 0xAE, 0x1, 0x52, 0x1, 0xD6, 0xFE, 0x2A, 0x1, 0xD6, 0xFE, 0x2A, 0x2, 0x55, 0x2, 0x38, 0xFE, 0x20, 0x1, 0xE0, 0xFE, 0x20, 0x1, 0xE0, 0xFD, 0xD1, 0xFE, 0x64, 0x0, 0x1, 0x0, 0x76, 0xFE, 0xAE, 0x4, 0x7D, 0x4, 0x8D, 0x0, 0x10, 0x0, 0x0, 0x1, 0x23, 0x11, 0x23, 0x1, 0x23, 0x11, 0x23, 0x11, 0x33, 0x11, 0x33, 0x1, 0x21, 0x1, 0x1, 0x33, 0x4, 0x7D, 0xD0, 0x9B, 0xFE, 0xC1, 0x6A, 0xF3, 0xF3, 0x64, 0x1, 0x38, 0x1, 0x1C, 0xFE, 0x72, 0x1, 0x21, 0xC9, 0xFE, 0xAE, 0x1, 0x52, 0x1, 0xD6, 0xFE, 0x2A, 0x4, 0x8D, 0xFE, 0x20, 0x1, 0xE0, 0xFD, 0xC5, 0xFE, 0x70, 0x0, 0x1, 0x0, 0x76, 0x0, 0x0, 0x4, 0xFE, 0x4, 0x8D, 0x0, 0x14, 0x0, 0x0, 0x1, 0x35, 0x23, 0x11, 0x23, 0x11, 0x33, 0x11, 0x33, 0x35, 0x33, 0x15, 0x33, 0x1, 0x21, 0x1, 0x1, 0x21, 0x1, 0x23, 0x15, 0x1, 0xB1, 0x48, 0xF3, 0xF3, 0x48, 0xA2, 0x37, 0x1, 0x38, 0x1, 0x1D, 0xFE, 0x72, 0x1, 0xAD, 0xFE, 0xD1, 0xFE, 0xC2, 0x3E, 0x1, 0xB, 0xCB, 0xFE, 0x2A, 0x4, 0x8D, 0xFE, 0x20, 0xDE, 0xDE, 0x1, 0xE0, 0xFD, 0xC5, 0xFD, 0xAE, 0x1, 0xD6, 0xCB, 0x0, 0x1, 0x0, 0x25, 0x0, 0x0, 0x5, 0x4F, 0x4, 0x8D, 0x0, 0xE, 0x0, 0x0, 0x21, 0x1, 0x23, 0x11, 0x23, 0x11, 0x21, 0x35, 0x21, 0x11, 0x33, 0x1, 0x21, 0x1, 0x1, 0x4, 0x20, 0xFE, 0xC2, 0x6A, 0xF3, 0xFE, 0xA0, 0x2, 0x53, 0x63, 0x1, 0x38, 0x1, 0x1D, 0xFE, 0x72, 0x1, 0xAD, 0x1, 0xD6, 0xFE, 0x2A, 0x3, 0xCA, 0xC3, 0xFE, 0x20, 0x1, 0xE0, 0xFD, 0xC6, 0xFD, 0xAD, 0x0, 0x2, 0x0, 0x50, 0xFF, 0xEB, 0x5, 0x99, 0x4, 0xA5, 0x0, 0xA, 0x0, 0x2D, 0x0, 0x0, 0x1, 0x10, 0x17, 0x36, 0x37, 0x35, 0x34, 0x26, 0x23, 0x22, 0x3, 0x1, 0x22, 0x27, 0x6, 0x23, 0x20, 0x0, 0x11, 0x35, 0x10, 0x0, 0x33, 0x15, 0x22, 0x6, 0x15, 0x15, 0x14, 0x16, 0x33, 0x37, 0x26, 0x3, 0x35, 0x34, 0x12, 0x33, 0x32, 0x12, 0x15, 0x15, 0x14, 0x7, 0x16, 0x33, 0x3, 0x2D, 0xBE, 0xA0, 0x3, 0x56, 0x58, 0xAE, 0x5, 0x2, 0x6C, 0xE3, 0xAF, 0x8F, 0xAB, 0xFE, 0xDC, 0xFE, 0xA7, 0x1, 0xA, 0xD9, 0x70, 0x80, 0xCC, 0xBE, 0x36, 0xC0, 0x2, 0xE0, 0xBC, 0xC2, 0xE2, 0xA3, 0x54, 0x67, 0x2, 0x85, 0xFE, 0xF2, 0x6E, 0x73, 0xF1, 0x3D, 0xA2, 0x8E, 0xFE, 0xE6, 0xFD, 0x2F, 0x3A, 0x3E, 0x1, 0x3E, 0x1, 0x22, 0x2E, 0x1, 0x2, 0x1, 0x2A, 0xCB, 0xB5, 0xB1, 0x26, 0xCA, 0xCE, 0x2, 0xAB, 0x1, 0x1E, 0x2C, 0xED, 0x1, 0xA, 0xFE, 0xFE, 0xF2, 0x44, 0xFF, 0xAF, 0xB, 0xFF, 0xFF, 0x0, 0x5, 0x0, 0x0, 0x4, 0x37, 0x4, 0x8D, 0x0, 0x26, 0x7, 0x4F, 0x0, 0x0, 0x0, 0x7, 0x7, 0xA4, 0x0, 0x3B, 0xFE, 0xD4, 0x0, 0x1, 0x0, 0x16, 0xFE, 0xAE, 0x4, 0x8C, 0x4, 0x8D, 0x0, 0xF, 0x0, 0x0, 0x1, 0x23, 0x11, 0x23, 0x3, 0x3, 0x21, 0x1, 0x1, 0x21, 0x13, 0x13, 0x21, 0x1, 0x1, 0x33, 0x4, 0x8C, 0xD0, 0x92, 0xFF, 0xFA, 0xFE, 0xE5, 0x1, 0x81, 0xFE, 0x87, 0x1, 0x1A, 0xF0, 0xF2, 0x1, 0x1B, 0xFE, 0x89, 0x1, 0x9, 0xC5, 0xFE, 0xAE, 0x1, 0x52, 0x1, 0x99, 0xFE, 0x67, 0x2, 0x4B, 0x2, 0x42, 0xFE, 0x6E, 0x1, 0x92, 0xFD, 0xBE, 0xFE, 0x77, 0x0, 0x1, 0x0, 0x25, 0xFE, 0xAE, 0x6, 0x2E, 0x4, 0x8D, 0x0, 0xF, 0x0, 0x0, 0x25, 0x3, 0x23, 0x11, 0x21, 0x11, 0x21, 0x35, 0x21, 0x15, 0x21, 0x11, 0x21, 0x11, 0x33, 0x11, 0x6, 0x2E, 0x14, 0xDD, 0xFC, 0x43, 0xFE, 0xA5, 0x3, 0xA2, 0xFE, 0xAC, 0x2, 0x5, 0xF3, 0xC4, 0xFD, 0xEA, 0x1, 0x52, 0x3, 0xC9, 0xC4, 0xC4, 0xFC, 0xFB, 0x3, 0xC9, 0xFC, 0x37, 0x0, 0x1, 0x0, 0x41, 0x0, 0x0, 0x4, 0x16, 0x4, 0x8D, 0x0, 0x16, 0x0, 0x0, 0x21, 0x23, 0x11, 0x6, 0x7, 0x15, 0x23, 0x35, 0x26, 0x26, 0x35, 0x11, 0x33, 0x11, 0x14, 0x17, 0x35, 0x33, 0x15, 0x36, 0x37, 0x11, 0x33, 0x4, 0x16, 0xF3, 0x50, 0x52, 0xA3, 0xBF, 0xDE, 0xF3, 0xAA, 0xA3, 0x4F, 0x53, 0xF3, 0x1, 0xAB, 0x17, 0x9, 0xCC, 0xC8, 0xD, 0xC7, 0xD1, 0x1, 0x61, 0xFE, 0xA0, 0xC8, 0x19, 0xF3, 0xF1, 0x8, 0x18, 0x2, 0x1F, 0x0, 0x1, 0x0, 0x76, 0x0, 0x0, 0x4, 0x4B, 0x4, 0x8D, 0x0, 0x11, 0x0, 0x0, 0x1, 0x22, 0x7, 0x11, 0x23, 0x11, 0x33, 0x11, 0x36, 0x33, 0x32, 0x4, 0x15, 0x11, 0x23, 0x11, 0x34, 0x26, 0x2, 0x6F, 0x81, 0x85, 0xF3, 0xF3, 0x84, 0x82, 0xDC, 0x1, 0x0, 0xF3, 0x74, 0x2, 0x46, 0x26, 0xFD, 0xE0, 0x4, 0x8D, 0xFE, 0x57, 0x26, 0xC6, 0xE2, 0xFE, 0x9E, 0x1, 0x62, 0x7D, 0x67, 0x0, 0x2, 0x0, 0xB, 0xFF, 0xF0, 0x5, 0xA8, 0x4, 0xA4, 0x0, 0x7, 0x0, 0x23, 0x0, 0x0, 0x1, 0x22, 0x6, 0x7, 0x21, 0x35, 0x34, 0x26, 0x1, 0x6, 0x6, 0x23, 0x20, 0x0, 0x27, 0x26, 0x26, 0x35, 0x33, 0x14, 0x16, 0x17, 0x36, 0x0, 0x33, 0x32, 0x0, 0x13, 0x15, 0x21, 0x16, 0x16, 0x33, 0x32, 0x36, 0x37, 0x3, 0x92, 0x82, 0x9D, 0x9, 0x2, 0x4B, 0x95, 0x1, 0x13, 0x20, 0xBD, 0x8D, 0xFE, 0xF8, 0xFE, 0xC3, 0xD, 0xB8, 0xB4, 0xC1, 0x54, 0x57, 0xF, 0x1, 0x33, 0xD8, 0xFF, 0x1, 0x16, 0x2, 0xFC, 0xC2, 0x7, 0xA3, 0xB5, 0x6A, 0x91, 0x2E, 0x3, 0xDE, 0xA5, 0x8C, 0x17, 0x85, 0x95, 0xFC, 0x5F, 0x12, 0x3B, 0x1, 0x12, 0xE9, 0xD, 0xE6, 0xB0, 0x5C, 0x76, 0xC, 0xE4, 0x1, 0x10, 0xFE, 0xE8, 0xFE, 0xFF, 0xA1, 0x88, 0xA7, 0x29, 0x13, 0x0, 0x2, 0x0, 0x50, 0xFF, 0xF0, 0x4, 0x82, 0x4, 0xA4, 0x0, 0x15, 0x0, 0x1D, 0x0, 0x0, 0x5, 0x22, 0x0, 0x3, 0x35, 0x21, 0x26, 0x26, 0x23, 0x22, 0x6, 0x7, 0x27, 0x36, 0x36, 0x33, 0x20, 0x0, 0x15, 0x15, 0x14, 0x0, 0x27, 0x32, 0x36, 0x37, 0x21, 0x15, 0x14, 0x16, 0x2, 0x66, 0xFE, 0xFE, 0xEA, 0x2, 0x3, 0x3E, 0x7, 0xA4, 0xB5, 0x69, 0x90, 0x2F, 0x41, 0x22, 0xC1, 0x92, 0x1, 0xD, 0x1, 0x3B, 0xFE, 0xC7, 0xE3, 0x82, 0x9D, 0x9, 0xFD, 0xB4, 0x96, 0x10, 0x1, 0x18, 0x1, 0x1, 0xA1, 0x89, 0xA7, 0x2A, 0x13, 0xBA, 0x12, 0x3B, 0xFE, 0xD9, 0xFB, 0x75, 0xF5, 0xFE, 0xD8, 0xC6, 0xA5, 0x8C, 0x17, 0x85, 0x95, 0x0, 0x1, 0x0, 0x43, 0xFF, 0xEC, 0x3, 0xE9, 0x4, 0x8D, 0x0, 0x19, 0x0, 0x0, 0x5, 0x22, 0x26, 0x26, 0x35, 0x33, 0x16, 0x16, 0x33, 0x32, 0x35, 0x34, 0x27, 0x23, 0x35, 0x1, 0x21, 0x35, 0x21, 0x17, 0x1, 0x16, 0x16, 0x15, 0x14, 0x4, 0x2, 0x9, 0x69, 0xD2, 0x8B, 0xF2, 0x5, 0x7A, 0x5B, 0xE6, 0xDE, 0x8F, 0x1, 0x6, 0xFD, 0xDD, 0x3, 0x53, 0x1, 0xFE, 0xC6, 0xB3, 0xB1, 0xFE, 0xEB, 0x14, 0x42, 0x98, 0x81, 0x50, 0x49, 0xAD, 0xAC, 0x4, 0xBB, 0x1, 0x3, 0xC4, 0x9B, 0xFE, 0xC0, 0x16, 0xCC, 0x7C, 0xB6, 0xB2, 0x0, 0x3, 0x0, 0x50, 0xFF, 0xF0, 0x4, 0x6F, 0x4, 0x9D, 0x0, 0xD, 0x0, 0x12, 0x0, 0x18, 0x0, 0x0, 0x1, 0x10, 0x0, 0x23, 0x22, 0x0, 0x11, 0x35, 0x10, 0x0, 0x33, 0x32, 0x0, 0x11, 0x1, 0x22, 0x3, 0x21, 0x2, 0x3, 0x32, 0x13, 0x21, 0x16, 0x16, 0x4, 0x6F, 0xFE, 0xDE, 0xEC, 0xE9, 0xFE, 0xD8, 0x1, 0x26, 0xE9, 0xEC, 0x1, 0x24, 0xFD, 0xF0, 0xFD, 0x1D, 0x2, 0x35, 0x1D, 0xFC, 0xFA, 0x1F, 0xFD, 0xCC, 0xF, 0x95, 0x2, 0x2C, 0xFE, 0xF6, 0xFE, 0xCE, 0x1, 0x32, 0x1, 0xA, 0x34, 0x1, 0xA, 0x1, 0x33, 0xFE, 0xCD, 0xFE, 0xF6, 0x1, 0x78, 0xFE, 0xCF, 0x1, 0x31, 0xFC, 0xDC, 0x1, 0x2F, 0x92, 0x9D, 0x0, 0x1, 0x0, 0x39, 0x0, 0x0, 0x4, 0x1A, 0x4, 0x9D, 0x0, 0x27, 0x0, 0x0, 0x21, 0x21, 0x35, 0x33, 0x36, 0x37, 0x23, 0x35, 0x33, 0x35, 0x27, 0x23, 0x35, 0x33, 0x27, 0x26, 0x36, 0x33, 0x32, 0x16, 0x15, 0x23, 0x34, 0x26, 0x23, 0x22, 0x6, 0x17, 0x17, 0x21, 0x15, 0x21, 0x17, 0x17, 0x21, 0x15, 0x21, 0x6, 0x7, 0x21, 0x4, 0x1A, 0xFC, 0x64, 0xA, 0x35, 0x12, 0x96, 0xA0, 0x2, 0x9E, 0x99, 0x1, 0x7, 0xDD, 0xBA, 0xCD, 0xCE, 0xF3, 0x62, 0x45, 0x4C, 0x57, 0x4, 0x2, 0x1, 0x83, 0xFE, 0x82, 0x3, 0x1, 0x1, 0x7A, 0xFE, 0x74, 0x13, 0x25, 0x2, 0x96, 0xC4, 0xF, 0x6A, 0x93, 0xF, 0x49, 0x93, 0x27, 0xD2, 0xE9, 0xD7, 0xAE, 0x6B, 0x55, 0x7E, 0x78, 0x27, 0x93, 0x42, 0x16, 0x93, 0x45, 0x34, 0x0, 0x1, 0x0, 0x47, 0xFF, 0xF0, 0x3, 0xB1, 0x4, 0x9E, 0x0, 0x21, 0x0, 0x0, 0x25, 0x6, 0x23, 0x22, 0x24, 0x27, 0x23, 0x35, 0x33, 0x35, 0x23, 0x35, 0x33, 0x36, 0x24, 0x33, 0x32, 0x17, 0x7, 0x26, 0x23, 0x22, 0x7, 0x21, 0x15, 0x21, 0x15, 0x21, 0x15, 0x21, 0x16, 0x33, 0x32, 0x37, 0x3, 0xB0, 0x72, 0x71, 0xD3, 0xFE, 0xFD, 0x19, 0x97, 0x91, 0x91, 0x97, 0x1A, 0x1, 0x1, 0xD2, 0x6C, 0x7A, 0x17, 0x5E, 0x71, 0xD6, 0x23, 0x1, 0x7D, 0xFE, 0x7C, 0x1, 0x84, 0xFE, 0x83, 0x22, 0xD9, 0x55, 0x73, 0xF, 0x1F, 0xD1, 0xC3, 0x93, 0x5B, 0x93, 0xC5, 0xD4, 0x20, 0xBE, 0x1B, 0xD6, 0x93, 0x5B, 0x93, 0xD1, 0x1B, 0x0, 0x4, 0x0, 0x76, 0x0, 0x0, 0x7, 0xC7, 0x4, 0x9E, 0x0, 0xC, 0x0, 0x1A, 0x0, 0x24, 0x0, 0x28, 0x0, 0x0, 0x1, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x15, 0x14, 0x6, 0x20, 0x26, 0x35, 0x33, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x1, 0x11, 0x23, 0x1, 0x11, 0x23, 0x11, 0x33, 0x1, 0x11, 0x1, 0x15, 0x21, 0x35, 0x5, 0x12, 0xBB, 0x9F, 0xA1, 0xBA, 0xB9, 0xFE, 0xC0, 0xBC, 0xAF, 0x55, 0x58, 0x56, 0x54, 0x55, 0x57, 0x56, 0x55, 0xFE, 0xA6, 0xF2, 0xFD, 0xF4, 0xF3, 0xF3, 0x2, 0xC, 0x4, 0x13, 0xFD, 0xC6, 0x3, 0x4F, 0x92, 0xBD, 0xBD, 0x92, 0x4C, 0x92, 0xBC, 0xBC, 0x92, 0x51, 0x6B, 0x6B, 0x51, 0x4C, 0x50, 0x6B, 0x6B, 0x50, 0x1, 0x3E, 0xFB, 0x73, 0x3, 0x1C, 0xFC, 0xE4, 0x4, 0x8D, 0xFC, 0xE4, 0x3, 0x1C, 0xFC, 0xD1, 0x95, 0x95, 0x0, 0x2, 0x0, 0x4D, 0xFF, 0xEE, 0x4, 0x50, 0x4, 0x9D, 0x0, 0x13, 0x0, 0x28, 0x0, 0x0, 0x13, 0x35, 0x21, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x7, 0x23, 0x10, 0x21, 0x32, 0x16, 0x15, 0x14, 0x7, 0x33, 0x15, 0x1, 0x22, 0x26, 0x35, 0x34, 0x37, 0x23, 0x35, 0x21, 0x15, 0x21, 0x6, 0x15, 0x14, 0x33, 0x32, 0x36, 0x37, 0x33, 0x14, 0x6, 0x4E, 0x2, 0x87, 0x2B, 0x4E, 0x57, 0xAB, 0x3, 0xF2, 0x1, 0xA1, 0xD2, 0xC4, 0x2D, 0x8B, 0xFE, 0x13, 0xEB, 0xD6, 0x2E, 0x83, 0x4, 0x2, 0xFD, 0x76, 0x2A, 0xC4, 0x4C, 0x73, 0x2, 0xF2, 0xED, 0x2, 0x72, 0x93, 0x29, 0x41, 0x2D, 0x3F, 0x7A, 0x1, 0x3C, 0xA0, 0x74, 0x45, 0x3F, 0x93, 0xFD, 0x7C, 0xA0, 0x7B, 0x48, 0x3B, 0x93, 0x93, 0x28, 0x48, 0x6B, 0x32, 0x47, 0xA6, 0x96, 0x0, 0x2, 0x0, 0x28, 0x0, 0x0, 0x4, 0xAA, 0x4, 0x8D, 0x0, 0x8, 0x0, 0x1F, 0x0, 0x0, 0x1, 0x11, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x13, 0x21, 0x15, 0x23, 0x35, 0x23, 0x35, 0x33, 0x35, 0x23, 0x35, 0x33, 0x11, 0x21, 0x32, 0x16, 0x15, 0x14, 0x6, 0x23, 0x23, 0x15, 0x21, 0x1, 0xEB, 0xF8, 0x6D, 0x67, 0x67, 0x6D, 0x14, 0xFE, 0xF4, 0xF3, 0xD0, 0xD0, 0xD0, 0xD0, 0x1, 0xEB, 0xD5, 0xF2, 0xF2, 0xD5, 0xF8, 0x1, 0xC, 0x3, 0xCA, 0xFE, 0x89, 0x73, 0x49, 0x4A, 0x71, 0xFC, 0xCF, 0x99, 0x99, 0xB7, 0x4D, 0xB6, 0x2, 0x3A, 0xD4, 0xA5, 0xA6, 0xD1, 0x4D, 0x0, 0x2, 0x0, 0x25, 0x0, 0x0, 0x3, 0xD1, 0x4, 0x8D, 0x0, 0x3, 0x0, 0xB, 0x0, 0x0, 0x1, 0x15, 0x21, 0x35, 0x1, 0x21, 0x11, 0x23, 0x11, 0x21, 0x35, 0x21, 0x3, 0xD1, 0xFC, 0x54, 0x3, 0xAC, 0xFE, 0xA1, 0xF3, 0xFE, 0xA6, 0x3, 0xAC, 0x4, 0x8D, 0xC3, 0xC3, 0xFE, 0x18, 0xFD, 0x5B, 0x2, 0xA5, 0xC3, 0x0, 0x1, 0x0, 0x37, 0xFF, 0xF5, 0x2, 0xA9, 0x3, 0x20, 0x0, 0x24, 0x0, 0x0, 0x5, 0x22, 0x26, 0x35, 0x33, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x27, 0x23, 0x35, 0x33, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x23, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x7, 0x16, 0x15, 0x14, 0x6, 0x1, 0x69, 0x70, 0xC2, 0xBB, 0x45, 0x3B, 0x3F, 0x3E, 0x86, 0x5C, 0x5C, 0x78, 0x36, 0x3E, 0x2F, 0x41, 0xBA, 0xAD, 0x79, 0x89, 0xAA, 0x87, 0x94, 0xB7, 0xB, 0x70, 0x80, 0x25, 0x36, 0x38, 0x2A, 0x64, 0x2, 0x80, 0x2, 0x5F, 0x23, 0x35, 0x27, 0x23, 0x6B, 0x74, 0x73, 0x6E, 0x77, 0x33, 0x29, 0x8F, 0x6F, 0x79, 0x0, 0x2, 0x0, 0x35, 0x0, 0x0, 0x2, 0xBF, 0x3, 0x15, 0x0, 0x3, 0x0, 0xE, 0x0, 0x0, 0x13, 0x33, 0x35, 0x7, 0x1, 0x23, 0x15, 0x23, 0x35, 0x21, 0x27, 0x1, 0x33, 0x11, 0x33, 0xEB, 0xBA, 0xE, 0x1, 0x28, 0x60, 0xBA, 0xFE, 0x9A, 0xA, 0x1, 0x6E, 0xBC, 0x60, 0x1, 0x3B, 0xF3, 0x17, 0xFE, 0x8D, 0xA4, 0xA4, 0x78, 0x1, 0xF9, 0xFE, 0x26, 0x0, 0x1, 0x0, 0x4F, 0xFF, 0xF5, 0x2, 0xAE, 0x3, 0x15, 0x0, 0x1B, 0x0, 0x0, 0x13, 0x27, 0x13, 0x21, 0x15, 0x21, 0x7, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x6, 0x23, 0x22, 0x26, 0x27, 0x33, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x23, 0x22, 0x6, 0xF7, 0x94, 0x34, 0x1, 0xEC, 0xFE, 0xAC, 0x15, 0x44, 0x42, 0x82, 0x8C, 0x93, 0x9B, 0x74, 0xB9, 0x4, 0xB9, 0x7, 0x71, 0x41, 0x33, 0x84, 0x34, 0x34, 0x1, 0x5B, 0x25, 0x1, 0x95, 0x95, 0x95, 0x1C, 0x87, 0x7A, 0x6A, 0xA7, 0x7A, 0x6D, 0x52, 0x4A, 0x33, 0x7C, 0x1B, 0x0, 0x2, 0x0, 0x4E, 0xFF, 0xF5, 0x2, 0xB9, 0x3, 0x22, 0x0, 0x13, 0x0, 0x1E, 0x0, 0x0, 0x5, 0x22, 0x26, 0x35, 0x35, 0x34, 0x36, 0x33, 0x33, 0x15, 0x22, 0x6, 0x7, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x6, 0x27, 0x32, 0x36, 0x35, 0x34, 0x23, 0x22, 0x6, 0x7, 0x15, 0x14, 0x1, 0x8B, 0x8E, 0xAF, 0xFC, 0xCC, 0x1C, 0x84, 0x94, 0xF, 0x46, 0x6C, 0x7D, 0x7F, 0xA5, 0x8E, 0x37, 0x43, 0x7A, 0x2D, 0x43, 0xF, 0xB, 0xA2, 0x9D, 0x34, 0xDF, 0xDB, 0x98, 0x55, 0x6E, 0x46, 0x95, 0x73, 0x74, 0x9C, 0x95, 0x48, 0x34, 0x73, 0x24, 0x18, 0x23, 0x90, 0x0, 0x1, 0x0, 0x37, 0x0, 0x0, 0x2, 0xAE, 0x3, 0x15, 0x0, 0x6, 0x0, 0x0, 0x1, 0x15, 0x1, 0x23, 0x1, 0x21, 0x35, 0x2, 0xAE, 0xFE, 0xAD, 0xC4, 0x1, 0x53, 0xFE, 0x4D, 0x3, 0x15, 0x68, 0xFD, 0x53, 0x2, 0x7F, 0x96, 0x0, 0x3, 0x0, 0x4C, 0xFF, 0xF5, 0x2, 0xAA, 0x3, 0x20, 0x0, 0x13, 0x0, 0x1A, 0x0, 0x23, 0x0, 0x0, 0x5, 0x22, 0x26, 0x35, 0x34, 0x37, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x7, 0x16, 0x15, 0x14, 0x6, 0x3, 0x34, 0x23, 0x22, 0x15, 0x14, 0x32, 0x17, 0x34, 0x26, 0x23, 0x22, 0x15, 0x14, 0x33, 0x32, 0x1, 0x7B, 0x81, 0xAE, 0x85, 0x73, 0xA0, 0x7C, 0x7D, 0xA0, 0x72, 0x85, 0xAC, 0x21, 0x63, 0x61, 0xC4, 0x14, 0x42, 0x35, 0x74, 0x75, 0x76, 0xB, 0x72, 0x73, 0x82, 0x3B, 0x39, 0x72, 0x6D, 0x71, 0x71, 0x6D, 0x73, 0x38, 0x3B, 0x82, 0x73, 0x72, 0x2, 0x41, 0x55, 0x55, 0x58, 0xF4, 0x2E, 0x30, 0x5E, 0x60, 0x0, 0x2, 0x0, 0x47, 0xFF, 0xF7, 0x2, 0xA4, 0x3, 0x20, 0x0, 0x13, 0x0, 0x1D, 0x0, 0x0, 0x17, 0x35, 0x32, 0x36, 0x37, 0x6, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x15, 0x14, 0x6, 0x7, 0x13, 0x32, 0x37, 0x35, 0x34, 0x23, 0x22, 0x6, 0x15, 0x14, 0xD5, 0x85, 0x81, 0xC, 0x43, 0x59, 0x7C, 0x88, 0xA5, 0x88, 0x87, 0xA9, 0xEA, 0xD2, 0x92, 0x4D, 0x23, 0x76, 0x36, 0x3E, 0x9, 0x94, 0x49, 0x62, 0x39, 0x8C, 0x7C, 0x74, 0xA7, 0xA1, 0xA2, 0x34, 0xE4, 0xCD, 0x1, 0x1, 0x92, 0x34, 0x45, 0x88, 0x4F, 0x38, 0x7A, 0x0, 0x1, 0x0, 0x90, 0x2, 0x87, 0x3, 0x2E, 0x3, 0x32, 0x0, 0x3, 0x0, 0x0, 0x1, 0x15, 0x21, 0x35, 0x3, 0x2E, 0xFD, 0x62, 0x3, 0x32, 0xAB, 0xAB, 0x0, 0x3, 0x0, 0x96, 0x4, 0x48, 0x2, 0xA2, 0x6, 0x96, 0x0, 0x3, 0x0, 0xC, 0x0, 0x17, 0x0, 0x0, 0x1, 0x37, 0x33, 0x7, 0x5, 0x34, 0x36, 0x32, 0x16, 0x14, 0x6, 0x22, 0x26, 0x37, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x23, 0x22, 0x6, 0x1, 0x18, 0xA5, 0xE5, 0xF5, 0xFE, 0xE9, 0x6F, 0x9A, 0x6B, 0x6B, 0x9A, 0x6F, 0x64, 0x33, 0x25, 0x24, 0x30, 0x54, 0x25, 0x33, 0x5, 0xD3, 0xC3, 0xC3, 0xDD, 0x4D, 0x64, 0x64, 0x9A, 0x61, 0x62, 0x4C, 0x25, 0x31, 0x31, 0x25, 0x59, 0x32, 0x0, 0x1, 0x0, 0x76, 0x0, 0x0, 0x3, 0xB6, 0x4, 0x8D, 0x0, 0xB, 0x0, 0x0, 0x33, 0x11, 0x21, 0x15, 0x21, 0x11, 0x21, 0x15, 0x21, 0x11, 0x21, 0x15, 0x76, 0x3, 0x3C, 0xFD, 0xB7, 0x1, 0xF6, 0xFE, 0xA, 0x2, 0x4D, 0x4, 0x8D, 0xC4, 0xFE, 0xF3, 0xC3, 0xFE, 0xCA, 0xC3, 0x0, 0x3, 0x0, 0xA, 0xFE, 0x4A, 0x4, 0x1C, 0x4, 0x4E, 0x0, 0xD, 0x0, 0x37, 0x0, 0x44, 0x0, 0x0, 0x1, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x1, 0x14, 0x6, 0x6, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x37, 0x26, 0x35, 0x34, 0x36, 0x37, 0x26, 0x27, 0x35, 0x34, 0x36, 0x33, 0x32, 0x17, 0x21, 0x17, 0x23, 0x16, 0x15, 0x15, 0x14, 0x6, 0x23, 0x22, 0x27, 0x6, 0x15, 0x14, 0x33, 0x33, 0x16, 0x16, 0x1, 0x32, 0x36, 0x35, 0x34, 0x27, 0x25, 0x27, 0x6, 0x6, 0x15, 0x14, 0x16, 0x1, 0x38, 0x71, 0x61, 0x5F, 0x71, 0x73, 0x5F, 0x5E, 0x72, 0x2, 0xDA, 0x81, 0xF4, 0xAF, 0xEB, 0xF9, 0x6D, 0x4A, 0x33, 0x49, 0x2D, 0xBC, 0x2, 0xF8, 0xCA, 0x57, 0x4B, 0x1, 0x70, 0x2, 0x89, 0x39, 0xF7, 0xCB, 0x4F, 0x47, 0x24, 0x7E, 0xB6, 0xBD, 0xD1, 0xFD, 0xDC, 0x99, 0x99, 0x91, 0xFE, 0xEC, 0x31, 0x24, 0x31, 0x7A, 0x2, 0xCD, 0x44, 0x6D, 0x6D, 0x44, 0x16, 0x48, 0x67, 0x67, 0x48, 0xFC, 0xC6, 0x50, 0xA2, 0x6D, 0xA6, 0x6E, 0x5D, 0x7F, 0x23, 0x30, 0x4A, 0x49, 0x60, 0x1F, 0x67, 0xC3, 0x1A, 0xA0, 0xCB, 0x14, 0x9A, 0x53, 0x6A, 0x16, 0x97, 0xD6, 0x12, 0x22, 0x2F, 0x4D, 0x1, 0x95, 0xFE, 0xC7, 0x68, 0x35, 0x6C, 0x9, 0x2, 0x6, 0x12, 0x49, 0x30, 0x3A, 0x55, 0x0, 0x2, 0x0, 0x56, 0xFF, 0xEB, 0x4, 0x5F, 0x4, 0x4E, 0x0, 0xC, 0x0, 0x1D, 0x0, 0x0, 0x1, 0x14, 0x16, 0x33, 0x32, 0x36, 0x37, 0x35, 0x26, 0x26, 0x23, 0x22, 0x6, 0x1, 0x27, 0x6, 0x23, 0x22, 0x2, 0x35, 0x35, 0x34, 0x12, 0x33, 0x32, 0x17, 0x37, 0x33, 0x3, 0x13, 0x1, 0x4A, 0x6D, 0x83, 0x74, 0x6C, 0x12, 0xD, 0x70, 0x73, 0x84, 0x6E, 0x2, 0x38, 0x1F, 0x6F, 0xF1, 0xCE, 0xDF, 0xDF, 0xD0, 0xEC, 0x6E, 0x1C, 0xDD, 0x6C, 0x73, 0x1, 0xFA, 0x8B, 0xC1, 0xCF, 0x82, 0x2E, 0x88, 0xD6, 0xE0, 0xFD, 0x55, 0xC4, 0xD9, 0x1, 0x28, 0xE8, 0x14, 0xFC, 0x1, 0x43, 0xD6, 0xC2, 0xFD, 0xE2, 0xFD, 0xE4, 0x0, 0x2, 0x0, 0x9B, 0x0, 0x0, 0x4, 0xF2, 0x5, 0xB0, 0x0, 0x8, 0x0, 0x1F, 0x0, 0x0, 0x1, 0x11, 0x21, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x1, 0x11, 0x23, 0x11, 0x21, 0x32, 0x4, 0x15, 0x14, 0x7, 0x16, 0x16, 0x15, 0x15, 0x14, 0x17, 0x15, 0x21, 0x26, 0x26, 0x35, 0x34, 0x23, 0x1, 0x97, 0x1, 0x14, 0x90, 0x81, 0x78, 0x89, 0xFE, 0xDC, 0xFC, 0x2, 0x29, 0xF5, 0x1, 0x0, 0xF6, 0x83, 0x66, 0x46, 0xFE, 0xFD, 0x27, 0x18, 0xF1, 0x4, 0xE5, 0xFE, 0x3C, 0x71, 0x6D, 0x67, 0x7F, 0xFD, 0x71, 0xFD, 0xAA, 0x5, 0xB0, 0xDA, 0xCC, 0xE1, 0x66, 0x28, 0xB8, 0x7B, 0x68, 0xA9, 0x3C, 0x1B, 0x21, 0x85, 0xB3, 0xFD, 0x0, 0x1, 0x0, 0x9B, 0x0, 0x0, 0x5, 0x30, 0x5, 0xB0, 0x0, 0xC, 0x0, 0x0, 0x21, 0x1, 0x23, 0x11, 0x23, 0x11, 0x33, 0x11, 0x33, 0x1, 0x21, 0x1, 0x1, 0x4, 0x0, 0xFE, 0x44, 0xAD, 0xFC, 0xFC, 0x8B, 0x1, 0xAD, 0x1, 0x36, 0xFE, 0xC, 0x2, 0x1F, 0x2, 0x70, 0xFD, 0x90, 0x5, 0xB0, 0xFD, 0x9D, 0x2, 0x63, 0xFD, 0x46, 0xFD, 0xA, 0x0, 0x1, 0x0, 0x81, 0x0, 0x0, 0x4, 0x36, 0x6, 0x0, 0x0, 0xC, 0x0, 0x0, 0x21, 0x1, 0x23, 0x11, 0x23, 0x11, 0x33, 0x11, 0x33, 0x1, 0x21, 0x1, 0x1, 0x3, 0x1B, 0xFE, 0xC8, 0x6F, 0xF3, 0xF3, 0x68, 0x1, 0x10, 0x1, 0x1B, 0xFE, 0x9F, 0x1, 0x90, 0x1, 0xDA, 0xFE, 0x26, 0x6, 0x0, 0xFC, 0x9C, 0x1, 0x9E, 0xFE, 0x13, 0xFD, 0xB3, 0x0, 0x1, 0x0, 0x9B, 0x0, 0x0, 0x5, 0x12, 0x5, 0xB0, 0x0, 0xB, 0x0, 0x0, 0x21, 0x1, 0x11, 0x23, 0x11, 0x33, 0x11, 0x33, 0x1, 0x21, 0x1, 0x1, 0x3, 0xDA, 0xFD, 0xBD, 0xFC, 0xFC, 0x6, 0x2, 0x19, 0x1, 0x39, 0xFD, 0xA5, 0x2, 0x7E, 0x2, 0x9D, 0xFD, 0x63, 0x5, 0xB0, 0xFD, 0x7F, 0x2, 0x81, 0xFD, 0x35, 0xFD, 0x1B, 0x0, 0x1, 0x0, 0x81, 0x0, 0x0, 0x4, 0x22, 0x6, 0x18, 0x0, 0xA, 0x0, 0x0, 0x21, 0x1, 0x11, 0x23, 0x11, 0x33, 0x11, 0x1, 0x21, 0x1, 0x1, 0x2, 0xFE, 0xFE, 0x76, 0xF3, 0xF3, 0x1, 0x58, 0x1, 0x2B, 0xFE, 0x4F, 0x1, 0xDC, 0x1, 0xEA, 0xFE, 0x16, 0x6, 0x18, 0xFC, 0x85, 0x1, 0x9D, 0xFE, 0xE, 0xFD, 0xB8, 0x0, 0x2, 0x0, 0x76, 0x0, 0x0, 0x4, 0x2B, 0x4, 0x8D, 0x0, 0x8, 0x0, 0x12, 0x0, 0x0, 0x1, 0x11, 0x33, 0x32, 0x36, 0x35, 0x35, 0x10, 0x25, 0x1, 0x11, 0x21, 0x32, 0x0, 0x15, 0x15, 0x14, 0x0, 0x21, 0x1, 0x69, 0x83, 0xAE, 0x9E, 0xFE, 0xC7, 0xFE, 0x77, 0x1, 0x7B, 0xFD, 0x1, 0x3D, 0xFE, 0xC2, 0xFE, 0xFF, 0x3, 0xC9, 0xFC, 0xFA, 0xBB, 0xAE, 0x36, 0x1, 0x5F, 0x8, 0xFC, 0x37, 0x4, 0x8D, 0xFE, 0xCD, 0xFA, 0x34, 0xFA, 0xFE, 0xCE, 0x0, 0x1, 0x0, 0x50, 0xFF, 0xF0, 0x4, 0x44, 0x4, 0x9D, 0x0, 0x1A, 0x0, 0x0, 0x1, 0x33, 0x6, 0x6, 0x23, 0x22, 0x0, 0x11, 0x35, 0x10, 0x0, 0x33, 0x32, 0x16, 0x17, 0x23, 0x26, 0x26, 0x23, 0x20, 0x3, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x3, 0x50, 0xF3, 0xF, 0xFD, 0xE7, 0xED, 0xFE, 0xED, 0x1, 0x19, 0xEC, 0xE8, 0xF4, 0x13, 0xF3, 0xA, 0x6F, 0x83, 0xFE, 0xF4, 0x7, 0x7F, 0x8F, 0x80, 0x75, 0x1, 0x85, 0xB2, 0xE3, 0x1, 0x2D, 0x1, 0x3, 0x4C, 0x1, 0x3, 0x1, 0x2E, 0xE9, 0xB3, 0x61, 0x78, 0xFE, 0xA5, 0x5F, 0xAE, 0xBF, 0x6A, 0x0, 0x3, 0x0, 0x76, 0x0, 0x0, 0x4, 0xA, 0x4, 0x8D, 0x0, 0x6, 0x0, 0xE, 0x0, 0x1D, 0x0, 0x0, 0x1, 0x11, 0x33, 0x32, 0x35, 0x34, 0x27, 0x3, 0x11, 0x33, 0x32, 0x36, 0x35, 0x34, 0x27, 0x1, 0x11, 0x21, 0x32, 0x16, 0x15, 0x14, 0x6, 0x7, 0x16, 0x16, 0x15, 0x14, 0x6, 0x23, 0x1, 0x69, 0xCC, 0xC6, 0xC3, 0xCF, 0xE5, 0x65, 0x65, 0xB8, 0xFE, 0x16, 0x1, 0xAF, 0xD4, 0xF5, 0x57, 0x5A, 0x6B, 0x62, 0xE9, 0xD3, 0x3, 0xC9, 0xFE, 0xDD, 0x8F, 0x91, 0x3, 0xFE, 0x32, 0xFE, 0xC8, 0x54, 0x42, 0x9E, 0x4, 0xFE, 0x5, 0x4, 0x8D, 0x9D, 0xA3, 0x4E, 0x84, 0x23, 0x1A, 0x9A, 0x55, 0xAA, 0xA5, 0x0, 0x2, 0x0, 0x9, 0x0, 0x0, 0x4, 0x94, 0x4, 0x8D, 0x0, 0x2, 0x0, 0xA, 0x0, 0x0, 0x1, 0x3, 0x3, 0x1, 0x27, 0x21, 0x7, 0x23, 0x1, 0x33, 0x1, 0x2, 0xF8, 0xAA, 0xA9, 0x1, 0xFA, 0x60, 0xFE, 0x20, 0x60, 0xF6, 0x1, 0xD7, 0xDF, 0x1, 0xD5, 0x1, 0xB2, 0x1, 0xBA, 0xFE, 0x46, 0xFE, 0x4E, 0xFA, 0xFA, 0x4, 0x8D, 0xFB, 0x73, 0x0, 0x1, 0x0, 0x94, 0x4, 0x6A, 0x1, 0xA9, 0x6, 0x2B, 0x0, 0x8, 0x0, 0x0, 0x13, 0x35, 0x34, 0x36, 0x37, 0x17, 0x6, 0x7, 0x15, 0x94, 0x5B, 0x38, 0x82, 0x3F, 0x2, 0x4, 0x6A, 0x85, 0x62, 0xB0, 0x2A, 0x53, 0x6D, 0x7C, 0x85, 0x0, 0x2, 0x0, 0x76, 0x4, 0xD5, 0x3, 0x0, 0x6, 0x7F, 0x0, 0x3, 0x0, 0x10, 0x0, 0x0, 0x1, 0x27, 0x33, 0x17, 0x17, 0x33, 0x14, 0x6, 0x20, 0x26, 0x35, 0x33, 0x14, 0x16, 0x33, 0x32, 0x36, 0x1, 0x8C, 0xA9, 0xB6, 0x73, 0x42, 0xB2, 0xAF, 0xFE, 0xD4, 0xAF, 0xB0, 0x43, 0x52, 0x50, 0x43, 0x5, 0xBF, 0xC0, 0xC0, 0xE, 0x61, 0x7B, 0x7B, 0x61, 0x2C, 0x43, 0x43, 0x0, 0x3, 0xFC, 0x5A, 0x4, 0xCB, 0xFF, 0x18, 0x6, 0xA2, 0x0, 0x3, 0x0, 0xD, 0x0, 0x17, 0x0, 0x0, 0x3, 0x15, 0x21, 0x35, 0x3, 0x34, 0x36, 0x32, 0x16, 0x15, 0x14, 0x6, 0x22, 0x26, 0x25, 0x34, 0x36, 0x32, 0x16, 0x15, 0x14, 0x6, 0x22, 0x26, 0xF0, 0xFD, 0x51, 0x7, 0x41, 0x76, 0x42, 0x42, 0x76, 0x41, 0x1, 0xC4, 0x42, 0x76, 0x42, 0x42, 0x76, 0x42, 0x6, 0xA2, 0x9E, 0x9E, 0xFE, 0x9C, 0x2F, 0x43, 0x43, 0x2F, 0x30, 0x41, 0x41, 0x2E, 0x30, 0x42, 0x42, 0x30, 0x2F, 0x42, 0x42, 0x0, 0x3, 0xFC, 0x5A, 0x4, 0xCB, 0xFF, 0x18, 0x6, 0x65, 0x0, 0x3, 0x0, 0xD, 0x0, 0x17, 0x0, 0x0, 0x1, 0x37, 0x33, 0x7, 0x5, 0x34, 0x36, 0x32, 0x16, 0x15, 0x14, 0x6, 0x22, 0x26, 0x25, 0x34, 0x36, 0x32, 0x16, 0x15, 0x14, 0x6, 0x22, 0x26, 0xFD, 0x67, 0x7F, 0xC4, 0xB6, 0xFE, 0x66, 0x41, 0x76, 0x42, 0x42, 0x76, 0x41, 0x1, 0xC4, 0x42, 0x76, 0x42, 0x42, 0x76, 0x42, 0x5, 0x92, 0xD3, 0xD3, 0x54, 0x2F, 0x43, 0x43, 0x2F, 0x30, 0x41, 0x41, 0x2E, 0x30, 0x42, 0x42, 0x30, 0x2F, 0x42, 0x42, 0x0, 0x3, 0xFC, 0x5A, 0x4, 0xCB, 0xFF, 0x18, 0x6, 0xA1, 0x0, 0x8, 0x0, 0x12, 0x0, 0x1C, 0x0, 0x0, 0x1, 0x17, 0x37, 0x33, 0x15, 0x5, 0x23, 0x25, 0x35, 0x3, 0x34, 0x36, 0x32, 0x16, 0x15, 0x14, 0x6, 0x22, 0x26, 0x25, 0x34, 0x36, 0x32, 0x16, 0x15, 0x14, 0x6, 0x22, 0x26, 0xFD, 0x2C, 0x8B, 0x8C, 0xCF, 0xFE, 0xF4, 0x9D, 0xFE, 0xF5, 0x4, 0x41, 0x76, 0x42, 0x42, 0x76, 0x41, 0x1, 0xC4, 0x42, 0x76, 0x42, 0x42, 0x76, 0x42, 0x6, 0xA1, 0x78, 0x78, 0x12, 0xDF, 0xDE, 0x13, 0xFE, 0x9D, 0x2F, 0x43, 0x43, 0x2F, 0x30, 0x41, 0x41, 0x2E, 0x30, 0x42, 0x42, 0x30, 0x2F, 0x42, 0x42, 0x0, 0x3, 0xFC, 0x5A, 0x4, 0xCB, 0xFF, 0x18, 0x6, 0x65, 0x0, 0x3, 0x0, 0xD, 0x0, 0x17, 0x0, 0x0, 0x1, 0x17, 0x23, 0x27, 0x3, 0x34, 0x36, 0x32, 0x16, 0x15, 0x14, 0x6, 0x22, 0x26, 0x25, 0x34, 0x36, 0x32, 0x16, 0x15, 0x14, 0x6, 0x22, 0x26, 0xFD, 0x8B, 0x7F, 0x8D, 0xB5, 0x6E, 0x41, 0x76, 0x42, 0x42, 0x76, 0x41, 0x1, 0xC4, 0x42, 0x76, 0x42, 0x42, 0x76, 0x42, 0x6, 0x65, 0xD3, 0xD3, 0xFE, 0xD9, 0x2F, 0x43, 0x43, 0x2F, 0x30, 0x41, 0x41, 0x2E, 0x30, 0x42, 0x42, 0x30, 0x2F, 0x42, 0x42, 0x0, 0x2, 0xFC, 0x61, 0x4, 0xCB, 0xFF, 0x10, 0x6, 0x9E, 0x0, 0x3, 0x0, 0xD, 0x0, 0x0, 0x3, 0x15, 0x21, 0x35, 0x13, 0x34, 0x36, 0x32, 0x16, 0x15, 0x14, 0x6, 0x22, 0x26, 0xF0, 0xFD, 0x51, 0xDB, 0x41, 0x76, 0x42, 0x42, 0x76, 0x41, 0x6, 0x9E, 0x9E, 0x9E, 0xFE, 0x9E, 0x30, 0x42, 0x42, 0x30, 0x2F, 0x42, 0x42, 0x0, 0x2, 0xFC, 0x9C, 0x4, 0xBD, 0xFE, 0xD6, 0x6, 0x8C, 0x0, 0x3, 0x0, 0x17, 0x0, 0x0, 0x1, 0x37, 0x33, 0x7, 0x17, 0x17, 0x14, 0x6, 0x23, 0x22, 0x26, 0x23, 0x22, 0x6, 0x15, 0x27, 0x34, 0x36, 0x33, 0x32, 0x16, 0x33, 0x32, 0x36, 0xFD, 0x67, 0x7F, 0xC4, 0xB6, 0x7B, 0x67, 0x5D, 0x49, 0x50, 0x52, 0x41, 0x1F, 0x2A, 0x68, 0x5B, 0x4A, 0x42, 0x63, 0x3F, 0x1E, 0x2C, 0x5, 0xB9, 0xD3, 0xD3, 0x18, 0x1E, 0x49, 0x6D, 0x47, 0x32, 0x25, 0x1C, 0x47, 0x71, 0x47, 0x32, 0x0, 0x2, 0xFC, 0x61, 0x4, 0xBF, 0xFF, 0x10, 0x6, 0x5F, 0x0, 0x3, 0x0, 0x7, 0x0, 0x0, 0x1, 0x17, 0x23, 0x27, 0x1, 0x15, 0x21, 0x35, 0xFD, 0x7A, 0x8A, 0x89, 0xCA, 0x2, 0x5F, 0xFD, 0x51, 0x6, 0x5F, 0xC0, 0xC0, 0xFE, 0xFE, 0x9E, 0x9E, 0x0, 0x2, 0xFC, 0x61, 0x4, 0xBF, 0xFF, 0x10, 0x6, 0x5F, 0x0, 0x3, 0x0, 0x7, 0x0, 0x0, 0x1, 0x37, 0x33, 0x7, 0x5, 0x15, 0x21, 0x35, 0xFD, 0x67, 0x7F, 0xC4, 0xB6, 0x1, 0x1C, 0xFD, 0x51, 0x5, 0x9F, 0xC0, 0xC0, 0x42, 0x9E, 0x9E, 0x0, 0x3, 0xFC, 0x5A, 0x4, 0xBF, 0xFF, 0x18, 0x6, 0xA0, 0x0, 0x9, 0x0, 0x13, 0x0, 0x17, 0x0, 0x0, 0x1, 0x34, 0x36, 0x32, 0x16, 0x15, 0x14, 0x6, 0x22, 0x26, 0x25, 0x34, 0x36, 0x32, 0x16, 0x15, 0x14, 0x6, 0x22, 0x26, 0x17, 0x15, 0x21, 0x35, 0xFC, 0x5A, 0x41, 0x76, 0x42, 0x42, 0x76, 0x41, 0x1, 0xC4, 0x42, 0x76, 0x42, 0x42, 0x76, 0x42, 0xF2, 0xFD, 0x51, 0x6, 0x2E, 0x30, 0x42, 0x42, 0x30, 0x2F, 0x42, 0x42, 0x2E, 0x30, 0x42, 0x42, 0x30, 0x2F, 0x42, 0x42, 0xA1, 0x9E, 0x9E, 0x0, 0x2, 0xFC, 0xAA, 0x4, 0xED, 0xFE, 0xEA, 0x6, 0x79, 0x0, 0x9, 0x0, 0xD, 0x0, 0x0, 0x0, 0x36, 0x33, 0x32, 0x16, 0x14, 0x6, 0x23, 0x22, 0x26, 0x17, 0x13, 0x33, 0x3, 0xFC, 0xAA, 0x41, 0x3C, 0x3A, 0x42, 0x42, 0x3A, 0x3C, 0x41, 0xDB, 0x8E, 0xD7, 0xC9, 0x6, 0x37, 0x42, 0x42, 0x60, 0x41, 0x41, 0xEA, 0x1, 0x4, 0xFE, 0xFC, 0x0, 0x2, 0xFC, 0x5E, 0x4, 0xC3, 0xFF, 0x12, 0x6, 0xC1, 0x0, 0x7, 0x0, 0x10, 0x0, 0x0, 0x0, 0x36, 0x32, 0x16, 0x14, 0x6, 0x22, 0x26, 0x7, 0x17, 0x37, 0x33, 0x15, 0x5, 0x23, 0x25, 0x35, 0xFD, 0x3C, 0x41, 0x76, 0x42, 0x42, 0x76, 0x41, 0x10, 0x8B, 0x8C, 0xCF, 0xFE, 0xF4, 0x9D, 0xFE, 0xF5, 0x6, 0x7F, 0x42, 0x42, 0x60, 0x41, 0x41, 0x6C, 0x78, 0x78, 0x11, 0xDF, 0xDE, 0x12, 0x0, 0x2, 0x0, 0x7B, 0x4, 0xE8, 0x4, 0x8C, 0x6, 0x91, 0x0, 0x3, 0x0, 0xA, 0x0, 0x0, 0x1, 0x13, 0x33, 0x3, 0x5, 0x25, 0x33, 0x5, 0x23, 0x27, 0x7, 0x3, 0x16, 0x97, 0xDF, 0xD8, 0xFC, 0xC7, 0x1, 0x22, 0xA2, 0x1, 0x22, 0xD4, 0x9F, 0x9F, 0x5, 0x86, 0x1, 0xB, 0xFE, 0xF5, 0x9E, 0xF9, 0xF9, 0x8E, 0x8E, 0x0, 0x2, 0xFF, 0x4B, 0x4, 0xDB, 0x3, 0x5C, 0x6, 0x84, 0x0, 0x3, 0x0, 0xA, 0x0, 0x0, 0x13, 0x13, 0x23, 0x3, 0x5, 0x5, 0x23, 0x27, 0x7, 0x23, 0x25, 0x2A, 0x97, 0x9E, 0xD8, 0x2, 0xEF, 0x1, 0x22, 0xD4, 0x9F, 0x9F, 0xD4, 0x1, 0x22, 0x6, 0x84, 0xFE, 0xF5, 0x1, 0xB, 0xB0, 0xF9, 0x8E, 0x8E, 0xF9, 0x0, 0x2, 0x0, 0x76, 0x4, 0xE8, 0x4, 0xA, 0x6, 0xCB, 0x0, 0xC, 0x0, 0x13, 0x0, 0x0, 0x1, 0x23, 0x27, 0x36, 0x35, 0x34, 0x23, 0x37, 0x20, 0x15, 0x14, 0x6, 0x7, 0x25, 0x5, 0x23, 0x27, 0x7, 0x23, 0x25, 0x3, 0x89, 0x89, 0x7, 0x77, 0x81, 0x6, 0x1, 0x15, 0x50, 0x31, 0xFE, 0xBE, 0x1, 0x15, 0xC1, 0xB2, 0xB3, 0xC0, 0x1, 0x15, 0x5, 0x6E, 0x7D, 0x7, 0x33, 0x3E, 0x68, 0xA4, 0x3E, 0x3A, 0x7, 0x39, 0xF9, 0xA1, 0xA1, 0xF9, 0x0, 0x2, 0x0, 0x76, 0x4, 0xE8, 0x3, 0x5C, 0x6, 0xD2, 0x0, 0x13, 0x0, 0x1A, 0x0, 0x0, 0x1, 0x17, 0x14, 0x6, 0x23, 0x22, 0x26, 0x23, 0x22, 0x6, 0x15, 0x27, 0x34, 0x36, 0x33, 0x32, 0x16, 0x33, 0x32, 0x36, 0x7, 0x5, 0x23, 0x27, 0x7, 0x23, 0x25, 0x2, 0x92, 0x5B, 0x56, 0x41, 0x46, 0x4F, 0x3A, 0x1B, 0x2A, 0x5A, 0x55, 0x40, 0x3B, 0x5E, 0x37, 0x1B, 0x2A, 0x5F, 0x1, 0x29, 0xC1, 0xB2, 0xB3, 0xC0, 0x1, 0x29, 0x6, 0xD2, 0x1F, 0x3B, 0x62, 0x43, 0x2C, 0x1B, 0x18, 0x3B, 0x64, 0x41, 0x2E, 0xE2, 0xEC, 0x8E, 0x8E, 0xEC, 0x0, 0x2, 0xFC, 0x61, 0x4, 0xBD, 0xFF, 0x10, 0x6, 0xA2, 0x0, 0x3, 0x0, 0x17, 0x0, 0x0, 0x3, 0x15, 0x21, 0x35, 0x1, 0x17, 0x14, 0x6, 0x23, 0x22, 0x26, 0x23, 0x22, 0x6, 0x15, 0x27, 0x34, 0x36, 0x33, 0x32, 0x16, 0x33, 0x32, 0x36, 0xF0, 0xFD, 0x51, 0x2, 0xE, 0x67, 0x5D, 0x49, 0x50, 0x52, 0x41, 0x1F, 0x2A, 0x68, 0x5B, 0x4A, 0x42, 0x63, 0x3F, 0x1E, 0x2C, 0x6, 0xA2, 0x9E, 0x9E, 0xFE, 0xFF, 0x1E, 0x49, 0x6D, 0x47, 0x32, 0x25, 0x1C, 0x47, 0x71, 0x47, 0x32, 0x0, 0x1, 0x0, 0x76, 0x0, 0x0, 0x3, 0x97, 0x5, 0xC4, 0x0, 0x7, 0x0, 0x0, 0x1, 0x21, 0x11, 0x23, 0x11, 0x21, 0x11, 0x33, 0x3, 0x97, 0xFD, 0xD2, 0xF3, 0x2, 0x2E, 0xF3, 0x3, 0xC9, 0xFC, 0x37, 0x4, 0x8D, 0x1, 0x37, 0x0, 0x2, 0x0, 0x76, 0x4, 0xD3, 0x3, 0x0, 0x6, 0x7F, 0x0, 0x3, 0x0, 0x10, 0x0, 0x0, 0x1, 0x37, 0x33, 0x7, 0x17, 0x33, 0x14, 0x6, 0x20, 0x26, 0x35, 0x33, 0x14, 0x16, 0x33, 0x32, 0x36, 0x1, 0x77, 0x72, 0xB7, 0xA9, 0x57, 0xB2, 0xAF, 0xFE, 0xD4, 0xAF, 0xB0, 0x43, 0x52, 0x50, 0x43, 0x5, 0xBF, 0xC0, 0xC0, 0xF, 0x61, 0x7C, 0x7C, 0x61, 0x2C, 0x43, 0x43, 0x0, 0x2, 0x0, 0x76, 0x4, 0xD5, 0x2, 0xF6, 0x7, 0x8, 0x0, 0xC, 0x0, 0x1A, 0x0, 0x0, 0x1, 0x23, 0x27, 0x36, 0x35, 0x34, 0x23, 0x37, 0x20, 0x15, 0x14, 0x6, 0x7, 0x17, 0x33, 0x14, 0x6, 0x23, 0x22, 0x26, 0x35, 0x33, 0x14, 0x16, 0x33, 0x32, 0x36, 0x2, 0x8, 0x9E, 0x8, 0x87, 0x93, 0x7, 0x1, 0x3D, 0x5B, 0x36, 0x3F, 0xAE, 0xAB, 0x95, 0x94, 0xAC, 0xAD, 0x43, 0x50, 0x4F, 0x43, 0x5, 0xC9, 0x76, 0x6, 0x2D, 0x37, 0x5F, 0x93, 0x37, 0x34, 0x6, 0x54, 0x61, 0x7A, 0x7A, 0x61, 0x2B, 0x42, 0x42, 0x0, 0x3, 0xFC, 0x5A, 0x4, 0xBD, 0xFF, 0x18, 0x6, 0xC1, 0x0, 0x7, 0x0, 0x11, 0x0, 0x25, 0x0, 0x0, 0x0, 0x36, 0x32, 0x16, 0x14, 0x6, 0x22, 0x26, 0x25, 0x34, 0x36, 0x32, 0x16, 0x15, 0x14, 0x6, 0x22, 0x26, 0x17, 0x17, 0x14, 0x6, 0x23, 0x22, 0x26, 0x23, 0x22, 0x6, 0x15, 0x27, 0x34, 0x36, 0x33, 0x32, 0x16, 0x33, 0x32, 0x36, 0xFC, 0x5A, 0x41, 0x76, 0x42, 0x42, 0x76, 0x41, 0x1, 0xC4, 0x42, 0x76, 0x42, 0x42, 0x76, 0x42, 0x51, 0x67, 0x5D, 0x49, 0x50, 0x52, 0x41, 0x1F, 0x2A, 0x68, 0x5B, 0x4A, 0x42, 0x63, 0x3F, 0x1E, 0x2C, 0x6, 0x7F, 0x42, 0x42, 0x60, 0x41, 0x41, 0x2E, 0x30, 0x43, 0x43, 0x30, 0x2F, 0x41, 0x41, 0x7D, 0x1E, 0x49, 0x6D, 0x47, 0x32, 0x25, 0x1C, 0x47, 0x71, 0x47, 0x32, 0xFF, 0xFF, 0x0, 0x4C, 0x2, 0x8D, 0x2, 0xAA, 0x5, 0xB8, 0x0, 0x7, 0x7, 0x43, 0x0, 0x0, 0x2, 0x98, 0xFF, 0xFF, 0x0, 0x35, 0x2, 0x98, 0x2, 0xBF, 0x5, 0xAD, 0x0, 0x7, 0x7, 0x9E, 0x0, 0x0, 0x2, 0x98, 0xFF, 0xFF, 0x0, 0x4F, 0x2, 0x8D, 0x2, 0xAE, 0x5, 0xAD, 0x0, 0x7, 0x7, 0x9F, 0x0, 0x0, 0x2, 0x98, 0xFF, 0xFF, 0x0, 0x4E, 0x2, 0x8D, 0x2, 0xB9, 0x5, 0xBA, 0x0, 0x7, 0x7, 0xA0, 0x0, 0x0, 0x2, 0x98, 0xFF, 0xFF, 0x0, 0x37, 0x2, 0x98, 0x2, 0xAE, 0x5, 0xAD, 0x0, 0x7, 0x7, 0xA1, 0x0, 0x0, 0x2, 0x98, 0xFF, 0xFF, 0x0, 0x4C, 0x2, 0x8D, 0x2, 0xAA, 0x5, 0xB8, 0x0, 0x7, 0x7, 0xA2, 0x0, 0x0, 0x2, 0x98, 0xFF, 0xFF, 0x0, 0x47, 0x2, 0x8F, 0x2, 0xA4, 0x5, 0xB8, 0x0, 0x7, 0x7, 0xA3, 0x0, 0x0, 0x2, 0x98, 0x0, 0x1, 0x0, 0x6C, 0xFF, 0xEB, 0x5, 0x26, 0x5, 0xC5, 0x0, 0x1B, 0x0, 0x0, 0x1, 0x33, 0x6, 0x0, 0x21, 0x20, 0x0, 0x11, 0x35, 0x10, 0x0, 0x21, 0x20, 0x0, 0x17, 0x23, 0x26, 0x26, 0x23, 0x22, 0x2, 0x15, 0x15, 0x14, 0x12, 0x33, 0x32, 0x36, 0x4, 0x29, 0xFC, 0x16, 0xFE, 0xDE, 0xFE, 0xF9, 0xFE, 0xEE, 0xFE, 0x98, 0x1, 0x62, 0x1, 0x12, 0x1, 0x6, 0x1, 0x2A, 0x16, 0xFD, 0x13, 0x99, 0x9D, 0xAC, 0xCC, 0xD2, 0xAC, 0x9D, 0x92, 0x1, 0xDA, 0xDD, 0xFE, 0xEE, 0x1, 0x87, 0x1, 0x4A, 0x37, 0x1, 0x4A, 0x1, 0x88, 0xFE, 0xEA, 0xE0, 0x8C, 0x9F, 0xFE, 0xE7, 0xEC, 0x39, 0xEC, 0xFE, 0xE5, 0x9D, 0x0, 0x1, 0x0, 0x6C, 0xFF, 0xEB, 0x5, 0x26, 0x5, 0xC5, 0x0, 0x20, 0x0, 0x0, 0x1, 0x11, 0x6, 0x4, 0x23, 0x22, 0x24, 0x2, 0x35, 0x35, 0x10, 0x0, 0x21, 0x20, 0x0, 0x17, 0x23, 0x26, 0x26, 0x23, 0x22, 0x2, 0x15, 0x15, 0x14, 0x12, 0x33, 0x32, 0x36, 0x37, 0x11, 0x21, 0x35, 0x5, 0x26, 0x2C, 0xFE, 0xFB, 0xE8, 0xBF, 0xFE, 0xCF, 0xB1, 0x1, 0x66, 0x1, 0x13, 0x1, 0x11, 0x1, 0x14, 0x1C, 0xF9, 0x13, 0x95, 0x9D, 0xA9, 0xD7, 0xED, 0xB8, 0x7A, 0x8A, 0x19, 0xFE, 0xDD, 0x2, 0xE4, 0xFD, 0xD9, 0x3D, 0x95, 0xB1, 0x1, 0x47, 0xE0, 0x25, 0x1, 0x54, 0x1, 0x89, 0xFE, 0xF9, 0xCB, 0x71, 0x96, 0xFE, 0xE2, 0xF2, 0x27, 0xF3, 0xFE, 0xE5, 0x39, 0x1C, 0x1, 0x1B, 0xBF, 0x0, 0x2, 0x0, 0x9B, 0x0, 0x0, 0x5, 0x18, 0x5, 0xB0, 0x0, 0x9, 0x0, 0x13, 0x0, 0x0, 0x1, 0x11, 0x33, 0x32, 0x12, 0x35, 0x35, 0x34, 0x2, 0x23, 0x1, 0x11, 0x21, 0x20, 0x0, 0x13, 0x15, 0x10, 0x0, 0x21, 0x1, 0x97, 0xAE, 0xE9, 0xEC, 0xEC, 0xDD, 0xFE, 0x4A, 0x1, 0xBE, 0x1, 0x35, 0x1, 0x89, 0x1, 0xFE, 0x73, 0xFE, 0xC2, 0x4, 0xE5, 0xFB, 0xE5, 0x1, 0x1C, 0xDD, 0x2B, 0xE6, 0x1, 0x11, 0xFB, 0x1B, 0x5, 0xB0, 0xFE, 0x77, 0xFE, 0xC6, 0x2A, 0xFE, 0xC4, 0xFE, 0x79, 0x0, 0x2, 0x0, 0x6C, 0xFF, 0xEB, 0x5, 0x72, 0x5, 0xC5, 0x0, 0x10, 0x0, 0x1E, 0x0, 0x0, 0x1, 0x14, 0x2, 0x4, 0x23, 0x22, 0x24, 0x2, 0x35, 0x35, 0x34, 0x12, 0x24, 0x33, 0x20, 0x0, 0x13, 0x7, 0x34, 0x2, 0x23, 0x22, 0x2, 0x15, 0x15, 0x14, 0x12, 0x33, 0x32, 0x12, 0x35, 0x5, 0x72, 0xA6, 0xFE, 0xDF, 0xBB, 0xB6, 0xFE, 0xDC, 0xAA, 0xA9, 0x1, 0x23, 0xB6, 0x1, 0x15, 0x1, 0x6B, 0x4, 0xFA, 0xDA, 0xB0, 0xA9, 0xDE, 0xE0, 0xA9, 0xB1, 0xD7, 0x2, 0xC3, 0xD2, 0xFE, 0xB7, 0xBD, 0xBD, 0x1, 0x49, 0xD2, 0x2A, 0xD2, 0x1, 0x49, 0xBD, 0xFE, 0x69, 0xFE, 0xCB, 0xA, 0xE2, 0x1, 0x24, 0xFE, 0xDC, 0xE2, 0x2C, 0xE4, 0xFE, 0xDB, 0x1, 0x25, 0xE4, 0x0, 0x2, 0x0, 0x6C, 0xFF, 0x3, 0x5, 0x72, 0x5, 0xC5, 0x0, 0x14, 0x0, 0x22, 0x0, 0x0, 0x5, 0x25, 0x6, 0x23, 0x22, 0x24, 0x2, 0x35, 0x35, 0x34, 0x12, 0x24, 0x33, 0x20, 0x0, 0x13, 0x15, 0x14, 0x2, 0x7, 0x17, 0x3, 0x34, 0x2, 0x23, 0x22, 0x2, 0x15, 0x15, 0x14, 0x12, 0x33, 0x32, 0x12, 0x35, 0x4, 0x9C, 0xFE, 0xD6, 0x3F, 0x43, 0xB6, 0xFE, 0xDC, 0xAA, 0xA9, 0x1, 0x23, 0xB6, 0x1, 0x17, 0x1, 0x6A, 0x3, 0x9A, 0x85, 0xEE, 0xC9, 0xDA, 0xB0, 0xA9, 0xDE, 0xE0, 0xA9, 0xB1, 0xD7, 0xFD, 0xF5, 0xD, 0xBA, 0x1, 0x4B, 0xD7, 0x21, 0xD8, 0x1, 0x4A, 0xBB, 0xFE, 0x69, 0xFE, 0xC3, 0x2A, 0xCF, 0xFE, 0xBD, 0x5D, 0xC1, 0x3, 0x53, 0xEB, 0x1, 0x20, 0xFE, 0xE0, 0xEB, 0x23, 0xEB, 0xFE, 0xDE, 0x1, 0x22, 0xEB, 0x0, 0x1, 0x0, 0x98, 0x0, 0x0, 0x2, 0xEF, 0x4, 0x8D, 0x0, 0x6, 0x0, 0x0, 0x1, 0x11, 0x23, 0x11, 0x5, 0x35, 0x25, 0x2, 0xEF, 0xF2, 0xFE, 0x9B, 0x2, 0x38, 0x4, 0x8D, 0xFB, 0x73, 0x3, 0x69, 0x7A, 0xCD, 0xD1, 0x0, 0x1, 0x0, 0x6F, 0x0, 0x0, 0x4, 0x2D, 0x4, 0x9F, 0x0, 0x18, 0x0, 0x0, 0x25, 0x15, 0x21, 0x35, 0x1, 0x36, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x23, 0x34, 0x24, 0x33, 0x32, 0x16, 0x15, 0x14, 0x6, 0x7, 0x1, 0x4, 0x2D, 0xFC, 0x5F, 0x1, 0xF3, 0x53, 0x35, 0x5B, 0x69, 0x64, 0x7D, 0xF3, 0x1, 0x5, 0xCF, 0xD6, 0xDF, 0x7B, 0x7A, 0xFE, 0xE1, 0xC2, 0xC2, 0xA0, 0x1, 0xB2, 0x49, 0x68, 0x39, 0x3B, 0x66, 0x74, 0x64, 0xAD, 0xED, 0xBF, 0x94, 0x6E, 0xB2, 0x6A, 0xFF, 0x0, 0x0, 0x1, 0x0, 0xF, 0xFE, 0xA3, 0x3, 0xF3, 0x4, 0x8D, 0x0, 0x17, 0x0, 0x0, 0x1, 0x1, 0x21, 0x35, 0x21, 0x15, 0x1, 0x16, 0x16, 0x15, 0x10, 0x0, 0x21, 0x22, 0x27, 0x37, 0x16, 0x33, 0x32, 0x36, 0x35, 0x10, 0x25, 0x23, 0x1, 0x51, 0x1, 0x4D, 0xFD, 0xBA, 0x3, 0x77, 0xFE, 0x9D, 0x9E, 0xE9, 0xFE, 0xB2, 0xFE, 0xFF, 0xC6, 0xCF, 0x39, 0x9F, 0xAB, 0xA8, 0xC0, 0xFE, 0xAF, 0x58, 0x2, 0x55, 0x1, 0x74, 0xC4, 0x8F, 0xFE, 0x80, 0x19, 0xEA, 0xBE, 0xFE, 0xFD, 0xFE, 0xE9, 0x67, 0xB6, 0x58, 0xBB, 0x90, 0x1, 0x20, 0x7, 0x0, 0x2, 0x0, 0x36, 0xFE, 0xC3, 0x4, 0x8B, 0x4, 0x8D, 0x0, 0x3, 0x0, 0xE, 0x0, 0x0, 0x25, 0x21, 0x11, 0x7, 0x1, 0x23, 0x11, 0x23, 0x11, 0x21, 0x27, 0x1, 0x33, 0x11, 0x33, 0x1, 0x3A, 0x1, 0xA9, 0x17, 0x1, 0xBF, 0xB5, 0xF3, 0xFD, 0x59, 0x6, 0x2, 0xA5, 0xFB, 0xB5, 0xC3, 0x2, 0x7F, 0x2A, 0xFC, 0xE7, 0xFE, 0xC4, 0x1, 0x3C, 0x94, 0x3, 0xFA, 0xFC, 0x36, 0x0, 0x1, 0x0, 0x67, 0xFE, 0xA0, 0x4, 0x1E, 0x4, 0x8C, 0x0, 0x1B, 0x0, 0x0, 0x1, 0x27, 0x13, 0x21, 0x15, 0x21, 0x3, 0x36, 0x37, 0x36, 0x12, 0x15, 0x14, 0x0, 0x21, 0x22, 0x27, 0x37, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x1, 0x52, 0xCA, 0x5A, 0x3, 0x29, 0xFD, 0x9A, 0x2D, 0x60, 0x8B, 0xD1, 0xEA, 0xFE, 0xF2, 0xFE, 0xF0, 0xE6, 0xB3, 0x4A, 0x82, 0xBF, 0x9B, 0x9F, 0x87, 0x80, 0x5E, 0x5D, 0x1, 0x64, 0x11, 0x3, 0x17, 0xD1, 0xFE, 0xA9, 0x32, 0x2, 0x2, 0xFE, 0xF7, 0xE3, 0xD6, 0xFE, 0xC8, 0x75, 0xB1, 0x63, 0xC1, 0x88, 0x7F, 0xA9, 0x3C, 0x0, 0x1, 0x0, 0x43, 0xFE, 0xC3, 0x4, 0x11, 0x4, 0x8D, 0x0, 0x6, 0x0, 0x0, 0x1, 0x15, 0x1, 0x23, 0x1, 0x21, 0x35, 0x4, 0x11, 0xFD, 0xB5, 0xF3, 0x2, 0x3E, 0xFD, 0x32, 0x4, 0x8D, 0x87, 0xFA, 0xBD, 0x5, 0x7, 0xC3, 0x0, 0x2, 0x0, 0x76, 0x4, 0xD0, 0x2, 0xF8, 0x6, 0xDD, 0x0, 0x13, 0x0, 0x21, 0x0, 0x0, 0x1, 0x17, 0x14, 0x6, 0x23, 0x22, 0x26, 0x23, 0x22, 0x6, 0x15, 0x27, 0x34, 0x36, 0x33, 0x32, 0x16, 0x33, 0x32, 0x36, 0x3, 0x33, 0x14, 0x6, 0x23, 0x22, 0x26, 0x35, 0x33, 0x14, 0x16, 0x33, 0x32, 0x36, 0x2, 0x72, 0x67, 0x5D, 0x49, 0x50, 0x53, 0x41, 0x1E, 0x2B, 0x67, 0x5C, 0x49, 0x42, 0x63, 0x3F, 0x1E, 0x2C, 0x29, 0xAF, 0xAC, 0x95, 0x94, 0xAD, 0xAE, 0x42, 0x51, 0x50, 0x42, 0x6, 0xDD, 0x1E, 0x49, 0x6D, 0x47, 0x32, 0x25, 0x1C, 0x48, 0x70, 0x46, 0x31, 0xFE, 0xF8, 0x63, 0x7D, 0x7D, 0x63, 0x2C, 0x43, 0x43, 0x0, 0x1, 0x0, 0x5D, 0xFE, 0x99, 0x1, 0x50, 0x0, 0xB5, 0x0, 0x3, 0x0, 0x0, 0x25, 0x11, 0x23, 0x11, 0x1, 0x50, 0xF3, 0xB5, 0xFD, 0xE4, 0x2, 0x1C, 0x0, 0x2, 0x0, 0x50, 0xFF, 0xF0, 0x6, 0x6D, 0x4, 0x9D, 0x0, 0x9, 0x0, 0x21, 0x0, 0x0, 0x25, 0x37, 0x11, 0x27, 0x22, 0x6, 0x15, 0x15, 0x14, 0x16, 0x17, 0x22, 0x0, 0x11, 0x35, 0x10, 0x0, 0x33, 0x32, 0x16, 0x33, 0x21, 0x15, 0x21, 0x11, 0x21, 0x15, 0x21, 0x11, 0x21, 0x15, 0x21, 0x22, 0x6, 0x2, 0x61, 0xCD, 0xCF, 0x85, 0x98, 0x9A, 0x85, 0xE9, 0xFE, 0xD8, 0x1, 0x26, 0xE9, 0x40, 0xD9, 0x74, 0x2, 0x7E, 0xFD, 0xB7, 0x1, 0xF6, 0xFE, 0xA, 0x2, 0x4C, 0xFD, 0x81, 0x77, 0xD5, 0xB4, 0x8, 0x3, 0x13, 0x9, 0xC1, 0xB5, 0x36, 0xB5, 0xC3, 0xC4, 0x1, 0x32, 0x1, 0xA, 0x34, 0x1, 0xA, 0x1, 0x33, 0x10, 0xC4, 0xFE, 0xF3, 0xC3, 0xFE, 0xCA, 0xC3, 0x10, 0x0, 0x2, 0x0, 0x74, 0xFE, 0xB3, 0x4, 0x54, 0x4, 0xA1, 0x0, 0xC, 0x0, 0x23, 0x0, 0x0, 0x1, 0x32, 0x36, 0x37, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x14, 0x16, 0x13, 0x22, 0x27, 0x37, 0x16, 0x33, 0x32, 0x36, 0x37, 0x6, 0x23, 0x22, 0x2, 0x35, 0x34, 0x0, 0x33, 0x32, 0x0, 0x13, 0x15, 0x10, 0x0, 0x2, 0x5F, 0x61, 0x80, 0x21, 0x8D, 0x7A, 0x6A, 0x89, 0x82, 0x1B, 0x9B, 0x87, 0x2F, 0x7D, 0x5B, 0x93, 0xC1, 0x1B, 0x74, 0xA9, 0xD4, 0xF3, 0x1, 0x11, 0xCA, 0xE0, 0x1, 0x22, 0x3, 0xFE, 0xAC, 0x1, 0x61, 0x46, 0x31, 0xAD, 0xAD, 0xAC, 0xAB, 0x98, 0x81, 0xB9, 0xFD, 0x52, 0x3D, 0xB5, 0x2F, 0xC0, 0xC8, 0x5A, 0x1, 0x15, 0xE2, 0xEF, 0x1, 0x17, 0xFE, 0xE8, 0xFE, 0xEB, 0xDA, 0xFE, 0x8E, 0xFE, 0x8B, 0x0, 0x1, 0x0, 0x95, 0x0, 0x0, 0x5, 0x19, 0x5, 0xC4, 0x0, 0x13, 0x0, 0x0, 0x1, 0x22, 0x6, 0x7, 0x11, 0x23, 0x11, 0x33, 0x17, 0x36, 0x36, 0x33, 0x32, 0x16, 0x13, 0x11, 0x23, 0x11, 0x34, 0x26, 0x2, 0xFE, 0x81, 0xC4, 0x28, 0xFC, 0xEE, 0xB, 0x4D, 0xE6, 0x8C, 0xD3, 0xF8, 0x1, 0xFD, 0x94, 0x4, 0xF1, 0x97, 0x77, 0xFC, 0x1D, 0x5, 0xB0, 0xB6, 0x5C, 0x6E, 0xE8, 0xFE, 0xED, 0xFC, 0x37, 0x3, 0xB5, 0xAC, 0x90, 0x0, 0x1, 0x0, 0x95, 0xFF, 0xEC, 0x5, 0x19, 0x5, 0xB0, 0x0, 0x13, 0x0, 0x0, 0x21, 0x27, 0x6, 0x6, 0x23, 0x22, 0x26, 0x3, 0x11, 0x33, 0x11, 0x14, 0x16, 0x33, 0x32, 0x36, 0x37, 0x11, 0x33, 0x11, 0x4, 0x2A, 0xA, 0x4E, 0xE5, 0x87, 0xD3, 0xFD, 0x1, 0xFC, 0x9C, 0x85, 0x73, 0xCD, 0x2A, 0xFD, 0xA1, 0x55, 0x60, 0xEC, 0x1, 0x17, 0x3, 0xC1, 0xFC, 0x52, 0xAF, 0x91, 0x87, 0x6D, 0x3, 0xFA, 0xFA, 0x50, 0x0, 0x2, 0x0, 0x66, 0xFF, 0xEC, 0x5, 0xD, 0x5, 0xC4, 0x0, 0xA, 0x0, 0x29, 0x0, 0x0, 0x25, 0x32, 0x36, 0x37, 0x11, 0x23, 0x6, 0x6, 0x15, 0x14, 0x16, 0x5, 0x26, 0x27, 0x6, 0x6, 0x23, 0x22, 0x24, 0x35, 0x34, 0x24, 0x25, 0x21, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x23, 0x34, 0x24, 0x21, 0x32, 0x4, 0x15, 0x11, 0x14, 0x17, 0x15, 0x2, 0x70, 0x8A, 0xCC, 0x23, 0xF6, 0xD4, 0xBE, 0x8C, 0x2, 0x20, 0x14, 0xA, 0x41, 0xD5, 0x95, 0xD0, 0xFE, 0xF2, 0x1, 0x3D, 0x1, 0x3F, 0x1, 0x7, 0x96, 0x9E, 0x91, 0xA5, 0xF9, 0x1, 0x2D, 0x1, 0xE, 0xEF, 0x1, 0x34, 0x29, 0xBC, 0x6D, 0x3C, 0x1, 0x27, 0x2, 0x6E, 0x78, 0x68, 0x80, 0xBC, 0x2E, 0x52, 0x3B, 0x59, 0xEA, 0xC4, 0xDA, 0xDD, 0x2, 0x7E, 0x85, 0x9F, 0x78, 0x80, 0xC8, 0xFF, 0xFA, 0xFB, 0xFD, 0x3D, 0x9E, 0x5D, 0x11, 0x0, 0x2, 0x0, 0x65, 0xFF, 0xEA, 0x5, 0x30, 0x5, 0xC4, 0x0, 0x7, 0x0, 0x1E, 0x0, 0x0, 0x1, 0x22, 0x6, 0x7, 0x21, 0x35, 0x34, 0x26, 0x1, 0x6, 0x6, 0x23, 0x20, 0x0, 0x11, 0x35, 0x34, 0x12, 0x24, 0x17, 0x4, 0x0, 0x13, 0x15, 0x21, 0x16, 0x12, 0x33, 0x32, 0x36, 0x37, 0x2, 0xD3, 0xA9, 0xB9, 0xE, 0x2, 0xD1, 0xA0, 0x1, 0x5F, 0x6D, 0xEE, 0xA9, 0xFE, 0xC4, 0xFE, 0xB2, 0xA4, 0x1, 0x1A, 0xB0, 0x1, 0x29, 0x1, 0x31, 0x3, 0xFC, 0x31, 0x5, 0xC2, 0xCF, 0x80, 0xB5, 0x3C, 0x4, 0xEB, 0xEC, 0xAF, 0x26, 0x9E, 0xD7, 0xFB, 0xD4, 0x61, 0x74, 0x1, 0x85, 0x1, 0x30, 0x74, 0xCB, 0x1, 0x37, 0xAF, 0x1, 0x1, 0xFE, 0xA3, 0xFE, 0xC6, 0xA2, 0xBE, 0xFE, 0xF7, 0x62, 0x35, 0x0, 0x1, 0x0, 0x95, 0x0, 0x0, 0x8, 0x15, 0x5, 0xC4, 0x0, 0x21, 0x0, 0x0, 0x1, 0x22, 0x6, 0x7, 0x11, 0x23, 0x11, 0x33, 0x17, 0x36, 0x36, 0x33, 0x20, 0x17, 0x36, 0x36, 0x33, 0x32, 0x16, 0x13, 0x11, 0x23, 0x11, 0x34, 0x26, 0x23, 0x22, 0x6, 0x7, 0x13, 0x23, 0x11, 0x34, 0x26, 0x2, 0xD9, 0x73, 0xB0, 0x25, 0xFC, 0xEE, 0xA, 0x49, 0xD2, 0x80, 0x1, 0x16, 0x63, 0x4C, 0xEB, 0x8F, 0xC6, 0xE7, 0x1, 0xFC, 0x84, 0x7A, 0x73, 0xB1, 0x25, 0x1, 0xFC, 0x84, 0x4, 0xF1, 0x8B, 0x6F, 0xFC, 0x9, 0x5, 0xB0, 0xA7, 0x56, 0x65, 0xDB, 0x63, 0x78, 0xE2, 0xFE, 0xF4, 0xFC, 0x2A, 0x3, 0xC2, 0xA5, 0x8A, 0x8C, 0x70, 0xFC, 0xB, 0x3, 0xC2, 0xA5, 0x8A, 0x0, 0x1, 0xFF, 0xAF, 0xFE, 0x4B, 0x1, 0x8E, 0x0, 0xCD, 0x0, 0xC, 0x0, 0x0, 0x37, 0x33, 0x11, 0x14, 0x6, 0x23, 0x22, 0x27, 0x37, 0x16, 0x33, 0x32, 0x37, 0x9B, 0xF3, 0xBB, 0xA5, 0x45, 0x3A, 0xE, 0x26, 0x3D, 0x78, 0x3, 0xCD, 0xFE, 0xF4, 0xB6, 0xC0, 0x11, 0xC5, 0xC, 0xA4, 0xFF, 0xFF, 0x0, 0x39, 0xFE, 0xA3, 0x4, 0x1D, 0x4, 0x8D, 0x0, 0x6, 0x7, 0xD6, 0x2A, 0x0, 0xFF, 0xFF, 0x0, 0x6B, 0xFE, 0xA0, 0x4, 0x22, 0x4, 0x8C, 0x0, 0x6, 0x7, 0xD8, 0x4, 0x0, 0xFF, 0xFF, 0x0, 0x2C, 0xFE, 0xC3, 0x4, 0x81, 0x4, 0x8D, 0x0, 0x6, 0x7, 0xD7, 0xF6, 0x0, 0xFF, 0xFF, 0x0, 0x66, 0x0, 0x0, 0x4, 0x24, 0x4, 0x9F, 0x0, 0x6, 0x7, 0xD5, 0xF7, 0x0, 0xFF, 0xFF, 0x0, 0x63, 0xFE, 0xC3, 0x4, 0x31, 0x4, 0x8D, 0x0, 0x6, 0x7, 0xD9, 0x20, 0x0, 0xFF, 0xFF, 0x0, 0x35, 0xFF, 0xEB, 0x4, 0x58, 0x4, 0xA0, 0x0, 0x6, 0x8, 0x99, 0xD2, 0x0, 0xFF, 0xFF, 0x0, 0x6F, 0xFF, 0xEC, 0x4, 0x30, 0x5, 0xB7, 0x0, 0x6, 0x0, 0x1B, 0xF9, 0x0, 0xFF, 0xFF, 0x0, 0x59, 0xFE, 0xB3, 0x4, 0x39, 0x4, 0xA1, 0x0, 0x6, 0x7, 0xDD, 0xE5, 0x0, 0xFF, 0xFF, 0x0, 0x69, 0xFF, 0xEC, 0x4, 0x23, 0x5, 0xC4, 0x0, 0x6, 0x0, 0x1D, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0xE4, 0x0, 0x0, 0x3, 0x3B, 0x4, 0x8D, 0x0, 0x6, 0x7, 0xD4, 0x4C, 0x0, 0xFF, 0xFF, 0xFF, 0xB5, 0xFE, 0x4B, 0x1, 0x94, 0x4, 0x3A, 0x0, 0x6, 0x0, 0xEC, 0x0, 0x0, 0x0, 0x1, 0x0, 0x90, 0xFE, 0x52, 0x2, 0x91, 0x4, 0x3A, 0x0, 0x10, 0x0, 0x0, 0x1, 0x20, 0x3, 0x35, 0x23, 0x11, 0x33, 0x11, 0x33, 0x11, 0x14, 0x16, 0x33, 0x32, 0x37, 0x15, 0x6, 0x2, 0x17, 0xFE, 0xD9, 0x8, 0x58, 0xF3, 0x35, 0x55, 0x3E, 0x26, 0x20, 0x39, 0xFE, 0x52, 0x1, 0x4E, 0x60, 0x4, 0x3A, 0xFC, 0x84, 0xFE, 0xF4, 0x5F, 0x46, 0x7, 0xB1, 0x11, 0xFF, 0xFF, 0x0, 0x1E, 0xFE, 0x4B, 0x2, 0xCE, 0x4, 0x3A, 0x0, 0x26, 0x0, 0xEC, 0x69, 0x0, 0x0, 0x6, 0x7, 0xA4, 0xA0, 0x89, 0xFF, 0xFF, 0x0, 0x1A, 0x0, 0x0, 0x2, 0xB8, 0x4, 0x3A, 0x0, 0x26, 0x0, 0x8E, 0x64, 0x0, 0x0, 0x6, 0x7, 0xA4, 0x8A, 0x89, 0xFF, 0xFF, 0xFF, 0xB5, 0xFE, 0x4B, 0x1, 0x94, 0x4, 0x3A, 0x0, 0x6, 0x0, 0xEC, 0x0, 0x0, 0x0, 0x2, 0x0, 0x1E, 0xFE, 0x4B, 0x3, 0x99, 0x4, 0x3A, 0x0, 0x10, 0x0, 0x19, 0x0, 0x0, 0x1, 0x22, 0x26, 0x35, 0x34, 0x36, 0x33, 0x33, 0x11, 0x33, 0x11, 0x33, 0x15, 0x23, 0x15, 0x14, 0x6, 0x27, 0x32, 0x35, 0x35, 0x23, 0x22, 0x15, 0x14, 0x16, 0x1, 0x65, 0x9A, 0xAD, 0xA9, 0x8A, 0x7D, 0xF3, 0xD8, 0xD8, 0x96, 0xC9, 0x6C, 0x62, 0x6B, 0x38, 0xFE, 0x4B, 0x99, 0x78, 0x80, 0x8E, 0x3, 0xD0, 0xFC, 0x30, 0xB4, 0x13, 0x87, 0xD1, 0xAF, 0x77, 0x45, 0x5E, 0x2C, 0x32, 0x0, 0x1, 0x0, 0x8D, 0x2, 0x30, 0x1, 0x52, 0x5, 0x54, 0x0, 0x3, 0x0, 0x0, 0x1, 0x11, 0x23, 0x11, 0x1, 0x52, 0xC5, 0x5, 0x54, 0xFC, 0xDC, 0x3, 0x24, 0xFF, 0xFF, 0x0, 0x90, 0x0, 0x0, 0x1, 0x83, 0x4, 0x3A, 0x0, 0x6, 0x0, 0x8E, 0x0, 0x0, 0x0, 0x1, 0x0, 0x28, 0x2, 0x8C, 0x2, 0x42, 0x5, 0xAD, 0x0, 0xB, 0x0, 0x0, 0x1, 0x23, 0x11, 0x23, 0x11, 0x23, 0x35, 0x33, 0x11, 0x33, 0x11, 0x33, 0x2, 0x42, 0xAC, 0xC5, 0xA9, 0xA9, 0xC5, 0xAC, 0x4, 0xB, 0xFE, 0x81, 0x1, 0x7F, 0xA0, 0x1, 0x2, 0xFE, 0xFE, 0xFF, 0xFF, 0xFF, 0xFA, 0xFE, 0x5C, 0x1, 0x83, 0x4, 0x3A, 0x0, 0x26, 0x0, 0x8E, 0x0, 0x0, 0x0, 0x6, 0x1, 0x8C, 0xD1, 0xA, 0xFF, 0xFF, 0x0, 0x90, 0x0, 0x0, 0x1, 0x83, 0x4, 0x3A, 0x0, 0x6, 0x0, 0x8E, 0x0, 0x0, 0x0, 0x1, 0x0, 0x88, 0xFF, 0x38, 0x1, 0x4D, 0x2, 0x59, 0x0, 0x3, 0x0, 0x0, 0x1, 0x11, 0x23, 0x11, 0x1, 0x4D, 0xC5, 0x2, 0x59, 0xFC, 0xDF, 0x3, 0x21, 0xFF, 0xFF, 0xFF, 0xB5, 0xFE, 0x4B, 0x1, 0x94, 0x4, 0x3A, 0x0, 0x6, 0x0, 0xEC, 0x0, 0x0, 0x0, 0x2, 0x0, 0x0, 0x1, 0x3D, 0x2, 0x7D, 0x5, 0xAD, 0x0, 0xF, 0x0, 0x18, 0x0, 0x0, 0x13, 0x22, 0x26, 0x35, 0x34, 0x36, 0x33, 0x33, 0x11, 0x33, 0x11, 0x33, 0x15, 0x23, 0x14, 0x6, 0x27, 0x32, 0x36, 0x35, 0x35, 0x23, 0x22, 0x15, 0x14, 0xFB, 0x67, 0x94, 0x9D, 0x6A, 0x27, 0xC5, 0x8A, 0x8A, 0x70, 0x90, 0x24, 0x17, 0x21, 0x50, 0x1, 0x3D, 0x6A, 0x67, 0x77, 0x7C, 0x2, 0xAC, 0xFD, 0x54, 0xA7, 0x83, 0x9A, 0xA3, 0x2C, 0x22, 0x2C, 0x40, 0x3A, 0x0, 0x1, 0x0, 0x22, 0x1, 0x4C, 0x1, 0x7E, 0x5, 0xB0, 0x0, 0xC, 0x0, 0x0, 0x13, 0x33, 0x11, 0x14, 0x6, 0x23, 0x22, 0x27, 0x35, 0x16, 0x33, 0x32, 0x35, 0xB9, 0xC5, 0x79, 0x83, 0x31, 0x2F, 0x16, 0x21, 0x60, 0x5, 0xB0, 0xFC, 0xC9, 0x86, 0xA7, 0xD, 0xA6, 0x6, 0x80, 0x0, 0x1, 0x0, 0x22, 0xFD, 0xF5, 0x1, 0x7E, 0x2, 0x59, 0x0, 0xC, 0x0, 0x0, 0x13, 0x33, 0x11, 0x14, 0x6, 0x23, 0x22, 0x27, 0x35, 0x16, 0x33, 0x32, 0x35, 0xB9, 0xC5, 0x79, 0x83, 0x36, 0x2A, 0x1B, 0x1C, 0x60, 0x2, 0x59, 0xFC, 0xC9, 0x86, 0xA7, 0xD, 0xA5, 0x6, 0x81, 0x0, 0x1, 0x0, 0x76, 0xFF, 0xEB, 0x4, 0x16, 0x4, 0x9D, 0x0, 0x22, 0x0, 0x0, 0x5, 0x22, 0x27, 0x37, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x23, 0x35, 0x13, 0x26, 0x23, 0x22, 0x15, 0x11, 0x23, 0x11, 0x31, 0x36, 0x36, 0x33, 0x32, 0x16, 0x17, 0x3, 0x16, 0x16, 0x15, 0x14, 0x6, 0x2, 0x8E, 0x7B, 0x6C, 0x45, 0x4B, 0x48, 0x50, 0x58, 0x7C, 0x74, 0x54, 0xCA, 0x43, 0x54, 0xB1, 0xEF, 0x1, 0xD1, 0xD0, 0x89, 0xCE, 0x55, 0xF8, 0x9A, 0xB0, 0xE1, 0x15, 0x36, 0xBB, 0x31, 0x66, 0x51, 0x57, 0x48, 0xA2, 0x1, 0x1, 0x39, 0xFC, 0xFD, 0x1F, 0x2, 0xED, 0xD8, 0xD8, 0x74, 0x5D, 0xFE, 0xD5, 0x15, 0xA1, 0x87, 0xB7, 0xC2, 0x0, 0x1, 0x0, 0x25, 0x0, 0x0, 0x4, 0x47, 0x5, 0xB0, 0x0, 0x9, 0x0, 0x0, 0x1, 0x11, 0x23, 0x11, 0x7, 0x1, 0x27, 0x1, 0x1, 0x11, 0x4, 0x47, 0xF3, 0xEE, 0xFE, 0x67, 0xA8, 0x1, 0x9B, 0x1, 0x94, 0x5, 0xB0, 0xFA, 0x50, 0x3, 0x8F, 0xDD, 0xFD, 0x4E, 0x66, 0x2, 0xB7, 0x1, 0x74, 0x1, 0x1F, 0x0, 0x1, 0x0, 0x2D, 0x0, 0x0, 0x4, 0x47, 0x5, 0xB0, 0x0, 0x6, 0x0, 0x0, 0x21, 0x23, 0x1, 0x37, 0x1, 0x11, 0x33, 0x4, 0x47, 0xF3, 0xFC, 0xD9, 0xA8, 0x2, 0x7F, 0xF3, 0x5, 0x4A, 0x66, 0xFB, 0xD0, 0x4, 0x30, 0x0, 0x1, 0x0, 0xA, 0x0, 0x0, 0x4, 0x47, 0x5, 0xB0, 0x0, 0x7, 0x0, 0x0, 0x1, 0x21, 0x1, 0x27, 0x1, 0x21, 0x11, 0x23, 0x3, 0x54, 0xFE, 0xFA, 0xFE, 0x76, 0xBA, 0x1, 0xB7, 0x2, 0x86, 0xF3, 0x4, 0xE9, 0xFB, 0x17, 0x3A, 0x5, 0x76, 0xFA, 0x50, 0x0, 0x1, 0x0, 0x8D, 0x0, 0x0, 0x4, 0x47, 0x5, 0xB0, 0x0, 0x9, 0x0, 0x0, 0x21, 0x23, 0x11, 0x1, 0x1, 0x37, 0x1, 0x37, 0x11, 0x33, 0x4, 0x47, 0xF3, 0xFE, 0xEA, 0xFE, 0x4F, 0xA8, 0x1, 0x35, 0xEA, 0xF3, 0x3, 0x76, 0xFE, 0xFE, 0x2, 0xD6, 0x66, 0xFD, 0xEB, 0xDA, 0x1, 0x3B, 0x0, 0x1, 0x0, 0x18, 0x0, 0x0, 0x4, 0x47, 0x5, 0xB0, 0x0, 0x9, 0x0, 0x0, 0x1, 0x11, 0x33, 0x11, 0x23, 0x11, 0x21, 0x1, 0x37, 0x1, 0x3, 0x54, 0xF3, 0xF3, 0xFE, 0x74, 0xFE, 0x50, 0xA8, 0x1, 0x78, 0x3, 0x3B, 0x2, 0x75, 0xFA, 0x50, 0x2, 0x75, 0x2, 0xD5, 0x66, 0xFD, 0x8B, 0x0, 0x1, 0x0, 0x9D, 0x0, 0x0, 0x4, 0x47, 0x5, 0xB0, 0x0, 0x8, 0x0, 0x0, 0x21, 0x23, 0x11, 0x1, 0x1, 0x37, 0x1, 0x1, 0x33, 0x4, 0x47, 0xF3, 0xFE, 0xF6, 0xFE, 0x53, 0xA8, 0x1, 0x5, 0x1, 0x9, 0xF4, 0x4, 0x37, 0xFE, 0x41, 0x2, 0xD2, 0x66, 0xFE, 0x3C, 0x1, 0xC4, 0x0, 0x1, 0x0, 0x87, 0x0, 0x0, 0x4, 0x47, 0x5, 0xB0, 0x0, 0x9, 0x0, 0x0, 0x21, 0x1, 0x37, 0x1, 0x37, 0x11, 0x33, 0x11, 0x23, 0x11, 0x2, 0x3E, 0xFE, 0x49, 0xB9, 0x1, 0x5D, 0xB7, 0xF3, 0xF3, 0x5, 0x76, 0x3A, 0xFB, 0xA5, 0xAC, 0x3, 0xAF, 0xFA, 0x50, 0x1, 0x1, 0x0, 0x1, 0x0, 0x2D, 0x0, 0x0, 0x4, 0x47, 0x5, 0xB0, 0x0, 0x6, 0x0, 0x0, 0x1, 0x11, 0x23, 0x11, 0x1, 0x27, 0x1, 0x4, 0x47, 0xF3, 0xFD, 0x81, 0xA8, 0x3, 0x27, 0x5, 0xB0, 0xFA, 0x50, 0x4, 0x30, 0xFB, 0xD0, 0x66, 0x5, 0x4A, 0x0, 0x1, 0x0, 0xA7, 0x0, 0x0, 0x4, 0x47, 0x5, 0xB0, 0x0, 0x9, 0x0, 0x0, 0x21, 0x23, 0x11, 0x1, 0x1, 0x37, 0x1, 0x13, 0x11, 0x33, 0x4, 0x47, 0xF3, 0xFE, 0xF8, 0xFE, 0x5B, 0xB7, 0x1, 0x11, 0xE5, 0xF3, 0x1, 0xC3, 0xFE, 0x3D, 0x4, 0x2A, 0x4B, 0xFD, 0x3F, 0x1, 0x87, 0x2, 0x75, 0x0, 0x1, 0x0, 0x98, 0x0, 0x0, 0x4, 0x47, 0x5, 0xB0, 0x0, 0x9, 0x0, 0x0, 0x21, 0x23, 0x11, 0x1, 0x1, 0x37, 0x13, 0x1, 0x11, 0x33, 0x4, 0x47, 0xF3, 0xFE, 0xE9, 0xFE, 0x5B, 0xB7, 0xFC, 0x1, 0x9, 0xF3, 0x2, 0xAC, 0xFD, 0x54, 0x4, 0x2A, 0x4B, 0xFD, 0x75, 0x2, 0x8B, 0x1, 0x3B, 0x0, 0x1, 0x0, 0x90, 0x0, 0x0, 0x4, 0x47, 0x5, 0xB0, 0x0, 0x8, 0x0, 0x0, 0x21, 0x23, 0x11, 0x1, 0x1, 0x37, 0x13, 0x1, 0x33, 0x4, 0x47, 0xF3, 0xFE, 0xDC, 0xFE, 0x60, 0xB7, 0xE3, 0x1, 0x2A, 0xF3, 0x3, 0x66, 0xFC, 0x9A, 0x4, 0x2A, 0x4B, 0xFD, 0xB2, 0x3, 0x89, 0x0, 0x1, 0x0, 0x24, 0x0, 0x0, 0x4, 0x47, 0x5, 0xB0, 0x0, 0x7, 0x0, 0x0, 0x25, 0x11, 0x33, 0x11, 0x21, 0x1, 0x37, 0x1, 0x3, 0x54, 0xF3, 0xFD, 0x81, 0xFE, 0x5C, 0xB6, 0x1, 0x7A, 0xC7, 0x4, 0xE9, 0xFA, 0x50, 0x4, 0x2A, 0x4B, 0xFC, 0x52, 0x0, 0x1, 0x0, 0x99, 0x0, 0x0, 0x4, 0x47, 0x5, 0xB0, 0x0, 0x9, 0x0, 0x0, 0x21, 0x11, 0x1, 0x1, 0x37, 0x1, 0x37, 0x11, 0x33, 0x11, 0x3, 0x54, 0xFE, 0xEA, 0xFE, 0x5B, 0xB7, 0x1, 0x3B, 0xC9, 0xF3, 0x1, 0x1, 0xFE, 0xFF, 0x4, 0x2A, 0x4B, 0xFC, 0xD1, 0xBB, 0x3, 0xAF, 0xFA, 0x50, 0x0, 0x1, 0x0, 0x8E, 0x0, 0x0, 0x4, 0x47, 0x5, 0xB0, 0x0, 0x9, 0x0, 0x0, 0x21, 0x23, 0x11, 0x27, 0x1, 0x27, 0x1, 0x1, 0x11, 0x33, 0x4, 0x47, 0xF3, 0xE7, 0xFE, 0xC9, 0xA8, 0x1, 0xAF, 0x1, 0x17, 0xF3, 0x3, 0xAF, 0xD6, 0xFD, 0xF0, 0x65, 0x2, 0xD6, 0xFE, 0xFF, 0x1, 0x1, 0x0, 0x1, 0x0, 0x7A, 0x0, 0x0, 0x4, 0x47, 0x5, 0xB0, 0x0, 0x9, 0x0, 0x0, 0x21, 0x23, 0x11, 0x1, 0x1, 0x27, 0x1, 0x1, 0x11, 0x33, 0x4, 0x47, 0xF3, 0xFE, 0xDB, 0xFE, 0xF3, 0xA8, 0x1, 0xAE, 0x1, 0x2C, 0xF3, 0x2, 0x73, 0x1, 0xD5, 0xFE, 0x2D, 0x65, 0x2, 0xD6, 0xFE, 0x1B, 0x1, 0xE5, 0x0, 0x1, 0x0, 0x18, 0x0, 0x0, 0x4, 0x47, 0x5, 0xB0, 0x0, 0x7, 0x0, 0x0, 0x1, 0x11, 0x23, 0x11, 0x21, 0x1, 0x27, 0x1, 0x4, 0x47, 0xF3, 0xFE, 0xE4, 0xFE, 0x88, 0xA8, 0x1, 0xB0, 0x5, 0xB0, 0xFA, 0x50, 0x4, 0xE9, 0xFD, 0x8C, 0x65, 0x2, 0xD6, 0x0, 0x1, 0x0, 0x8D, 0x0, 0x0, 0x4, 0x47, 0x5, 0xB0, 0x0, 0x9, 0x0, 0x0, 0x21, 0x23, 0x11, 0x1, 0x3, 0x27, 0x1, 0x1, 0x11, 0x33, 0x4, 0x47, 0xF3, 0xFE, 0xD2, 0xF1, 0xA8, 0x1, 0xA9, 0x1, 0x1E, 0xF3, 0x1, 0x3B, 0x2, 0xDB, 0xFE, 0x5F, 0x65, 0x2, 0xD6, 0xFD, 0x56, 0x2, 0xAA, 0x0, 0x1, 0x0, 0x84, 0x0, 0x0, 0x4, 0x47, 0x5, 0xB0, 0x0, 0x8, 0x0, 0x0, 0x21, 0x23, 0x1, 0x3, 0x27, 0x1, 0x1, 0x11, 0x33, 0x4, 0x47, 0xF3, 0xFE, 0xB6, 0xDE, 0xA8, 0x1, 0xAC, 0x1, 0x24, 0xF3, 0x3, 0xEF, 0xFE, 0x86, 0x65, 0x2, 0xD6, 0xFC, 0x8E, 0x3, 0x72, 0x0, 0x1, 0x0, 0x86, 0x0, 0x0, 0x4, 0x47, 0x5, 0xB0, 0x0, 0x9, 0x0, 0x0, 0x21, 0x23, 0x11, 0x1, 0x1, 0x37, 0x1, 0x13, 0x11, 0x33, 0x4, 0x47, 0xF3, 0xFE, 0xEA, 0xFE, 0x48, 0xB9, 0x1, 0x1F, 0xF6, 0xF3, 0x2, 0xAC, 0xFD, 0x54, 0x5, 0x76, 0x3A, 0xFC, 0x6A, 0x2, 0x5B, 0x1, 0x3B, 0x0, 0x1, 0x0, 0x96, 0x0, 0x0, 0x4, 0x47, 0x5, 0xB0, 0x0, 0x9, 0x0, 0x0, 0x21, 0x23, 0x11, 0x1, 0x1, 0x37, 0x1, 0x13, 0x11, 0x33, 0x4, 0x47, 0xF3, 0xFE, 0xFA, 0xFE, 0x48, 0xB9, 0x1, 0x34, 0xD1, 0xF3, 0x1, 0xC3, 0xFE, 0x3E, 0x5, 0x75, 0x3A, 0xFC, 0x24, 0x1, 0x67, 0x2, 0x75, 0x0, 0x1, 0x0, 0x8D, 0x0, 0x0, 0x4, 0x47, 0x5, 0xB0, 0x0, 0x9, 0x0, 0x0, 0x1, 0x11, 0x23, 0x11, 0x27, 0x1, 0x27, 0x1, 0x1, 0x11, 0x4, 0x47, 0xF3, 0xEA, 0xFE, 0xCB, 0xA8, 0x1, 0xB1, 0x1, 0x16, 0x5, 0xB0, 0xFA, 0x50, 0x1, 0x3B, 0xDA, 0xFD, 0xEB, 0x66, 0x2, 0xD6, 0xFE, 0xFF, 0x3, 0x75, 0x0, 0x1, 0x0, 0x9D, 0x0, 0x0, 0x4, 0x47, 0x5, 0xB0, 0x0, 0x8, 0x0, 0x0, 0x1, 0x11, 0x23, 0x1, 0x1, 0x27, 0x1, 0x1, 0x11, 0x4, 0x47, 0xF4, 0xFE, 0xF7, 0xFE, 0xFB, 0xA8, 0x1, 0xAD, 0x1, 0xA, 0x5, 0xB0, 0xFA, 0x50, 0x1, 0xC4, 0xFE, 0x3C, 0x66, 0x2, 0xD2, 0xFE, 0x41, 0x4, 0x37, 0x0, 0x1, 0x0, 0x31, 0x0, 0x0, 0x4, 0x47, 0x5, 0xB0, 0x0, 0x8, 0x0, 0x0, 0x1, 0x11, 0x23, 0x11, 0x7, 0x1, 0x27, 0x1, 0x1, 0x4, 0x47, 0xF3, 0xDF, 0xFE, 0x73, 0xB7, 0x1, 0x8E, 0x1, 0x95, 0x5, 0xB0, 0xFA, 0x50, 0x4, 0xAE, 0xCD, 0xFC, 0x1F, 0x4B, 0x3, 0xF1, 0x1, 0x74, 0x0, 0x1, 0x0, 0x7E, 0x0, 0x0, 0x4, 0x47, 0x5, 0xB0, 0x0, 0x8, 0x0, 0x0, 0x21, 0x23, 0x11, 0x1, 0x1, 0x37, 0x1, 0x1, 0x33, 0x4, 0x47, 0xF3, 0xFE, 0xE1, 0xFE, 0x49, 0xB9, 0x1, 0x8, 0x1, 0x15, 0xF3, 0x3, 0x66, 0xFC, 0x9A, 0x5, 0x76, 0x3A, 0xFC, 0xB5, 0x3, 0x4B, 0x0, 0x1, 0x0, 0x9E, 0x0, 0x0, 0x4, 0x47, 0x5, 0xB0, 0x0, 0x8, 0x0, 0x0, 0x21, 0x23, 0x1, 0x7, 0x27, 0x1, 0x1, 0x11, 0x33, 0x4, 0x47, 0xF3, 0xFE, 0x8E, 0xC5, 0x7F, 0x1, 0x96, 0x1, 0x20, 0xF3, 0x4, 0x66, 0xB7, 0x8D, 0x1, 0x74, 0xFC, 0x8E, 0x3, 0x72, 0x0, 0x1, 0x0, 0xA7, 0x0, 0x0, 0x4, 0x47, 0x5, 0xB0, 0x0, 0x9, 0x0, 0x0, 0x21, 0x23, 0x11, 0x1, 0x7, 0x27, 0x1, 0x1, 0x11, 0x33, 0x4, 0x47, 0xF3, 0xFE, 0xAD, 0xDC, 0x7E, 0x1, 0x95, 0x1, 0x18, 0xF3, 0x1, 0x3B, 0x3, 0x3E, 0xCA, 0x8D, 0x1, 0x74, 0xFD, 0x56, 0x2, 0xAA, 0x0, 0x1, 0x0, 0xB7, 0x0, 0x0, 0x4, 0x47, 0x5, 0xB0, 0x0, 0x8, 0x0, 0x0, 0x21, 0x23, 0x11, 0x1, 0x1, 0x37, 0x17, 0x1, 0x33, 0x4, 0x47, 0xF3, 0xFE, 0xF8, 0xFE, 0x6B, 0x7E, 0xE8, 0x1, 0x36, 0xF4, 0x4, 0x37, 0xFE, 0x3E, 0x1, 0x74, 0x8D, 0xD6, 0x2, 0x10, 0x0, 0x1, 0x0, 0x8E, 0x0, 0x0, 0x4, 0x47, 0x5, 0xB0, 0x0, 0x9, 0x0, 0x0, 0x1, 0x11, 0x23, 0x11, 0x1, 0x1, 0x37, 0x1, 0x37, 0x11, 0x4, 0x47, 0xF3, 0xFE, 0xE9, 0xFE, 0x51, 0xA8, 0x1, 0x37, 0xE7, 0x5, 0xB0, 0xFA, 0x50, 0x1, 0x1, 0xFE, 0xFF, 0x2, 0xD6, 0x65, 0xFD, 0xF0, 0xD7, 0x3, 0xAE, 0x0, 0x1, 0x0, 0x33, 0x0, 0x0, 0x4, 0x47, 0x5, 0xB0, 0x0, 0x9, 0x0, 0x0, 0x1, 0x11, 0x33, 0x11, 0x23, 0x11, 0x21, 0x1, 0x37, 0x1, 0x3, 0x54, 0xF3, 0xF3, 0xFE, 0x74, 0xFE, 0x6B, 0x7F, 0x1, 0x58, 0x3, 0x3B, 0x2, 0x75, 0xFA, 0x50, 0x2, 0x75, 0x1, 0x74, 0x8D, 0xFE, 0xC5, 0x0, 0x1, 0x0, 0xA8, 0x0, 0x0, 0x4, 0x47, 0x5, 0xB0, 0x0, 0x9, 0x0, 0x0, 0x21, 0x23, 0x11, 0x1, 0x1, 0x37, 0x1, 0x1, 0x11, 0x33, 0x4, 0x47, 0xF3, 0xFE, 0xEA, 0xFE, 0x6A, 0x7F, 0x1, 0x17, 0x1, 0x16, 0xF3, 0x3, 0x76, 0xFE, 0xFE, 0x1, 0x74, 0x8D, 0xFE, 0xFF, 0x1, 0x1, 0x1, 0x3B, 0x0, 0x1, 0x0, 0x38, 0x0, 0x0, 0x4, 0x47, 0x5, 0xB0, 0x0, 0x8, 0x0, 0x0, 0x21, 0x23, 0x1, 0x1, 0x37, 0x1, 0x1, 0x11, 0x33, 0x4, 0x47, 0xF3, 0xFE, 0x55, 0xFE, 0x8F, 0x7F, 0x1, 0x96, 0x1, 0x7, 0xF3, 0x2, 0xCE, 0x1, 0x53, 0x8D, 0xFE, 0x8D, 0xFE, 0x45, 0x4, 0x30, 0x0, 0x1, 0x0, 0x39, 0x0, 0x0, 0x4, 0x47, 0x5, 0xB0, 0x0, 0x7, 0x0, 0x0, 0x1, 0x1, 0x37, 0x1, 0x11, 0x33, 0x11, 0x23, 0x3, 0x54, 0xFC, 0xE5, 0x7E, 0x2, 0x9D, 0xF3, 0xF3, 0x1, 0x1F, 0x2, 0xDC, 0x8D, 0xFD, 0x9A, 0x3, 0x8E, 0xFA, 0x50, 0x0, 0x1, 0x0, 0x94, 0x0, 0x0, 0x4, 0x47, 0x5, 0xB0, 0x0, 0x9, 0x0, 0x0, 0x21, 0x23, 0x11, 0x1, 0x7, 0x27, 0x1, 0x1, 0x11, 0x33, 0x4, 0x47, 0xF3, 0xFE, 0xB3, 0xF4, 0x7F, 0x1, 0x95, 0x1, 0x2B, 0xF3, 0x2, 0x75, 0x2, 0x1C, 0xE2, 0x8D, 0x1, 0x74, 0xFE, 0x1B, 0x1, 0xE5, 0x0, 0x1, 0x0, 0xA8, 0x0, 0x0, 0x4, 0x47, 0x5, 0xB0, 0x0, 0x9, 0x0, 0x0, 0x21, 0x23, 0x11, 0x1, 0x1, 0x27, 0x1, 0x5, 0x35, 0x33, 0x4, 0x47, 0xF3, 0xFE, 0xEB, 0xFE, 0xE8, 0x7F, 0x1, 0x95, 0x1, 0x17, 0xF3, 0x3, 0xAF, 0x1, 0x0, 0xFF, 0x0, 0x8D, 0x1, 0x74, 0xFF, 0xFF, 0x0, 0x1, 0x0, 0x37, 0x0, 0x0, 0x4, 0x47, 0x5, 0xB0, 0x0, 0x7, 0x0, 0x0, 0x1, 0x11, 0x23, 0x11, 0x21, 0x1, 0x27, 0x1, 0x4, 0x47, 0xF3, 0xFE, 0xBA, 0xFE, 0xA7, 0x7E, 0x1, 0x95, 0x5, 0xB0, 0xFA, 0x50, 0x4, 0xE9, 0xFE, 0xC6, 0x8D, 0x1, 0x74, 0x0, 0x1, 0x0, 0x78, 0x0, 0x0, 0x3, 0x1B, 0x5, 0xB0, 0x0, 0x7, 0x0, 0x0, 0x21, 0x23, 0x11, 0x1, 0x37, 0x1, 0x11, 0x33, 0x3, 0x1B, 0xF3, 0xFE, 0x50, 0xA8, 0x1, 0x8, 0xF3, 0x2, 0x75, 0x2, 0xD5, 0x66, 0xFE, 0x44, 0x1, 0xBC, 0x0, 0x1, 0x0, 0x93, 0x0, 0x0, 0x3, 0x1B, 0x5, 0xB0, 0x0, 0x7, 0x0, 0x0, 0x21, 0x23, 0x11, 0x1, 0x37, 0x5, 0x35, 0x33, 0x3, 0x1B, 0xF3, 0xFE, 0x6B, 0x7F, 0x1, 0x16, 0xF3, 0x3, 0xAF, 0x1, 0x74, 0x8D, 0xFF, 0xFF, 0x0, 0x1, 0x0, 0xBA, 0x0, 0x0, 0x4, 0x47, 0x5, 0xB0, 0x0, 0x8, 0x0, 0x0, 0x1, 0x11, 0x23, 0x1, 0x21, 0x35, 0x21, 0x1, 0x11, 0x4, 0x47, 0xF3, 0xFE, 0x8B, 0xFE, 0xDB, 0x1, 0x93, 0x1, 0x7, 0x5, 0xB0, 0xFA, 0x50, 0x2, 0x75, 0xC6, 0xFE, 0x45, 0x4, 0x30, 0x0, 0x1, 0x0, 0x71, 0x0, 0x0, 0x3, 0x1B, 0x5, 0xB0, 0x0, 0x6, 0x0, 0x0, 0x21, 0x23, 0x1, 0x37, 0x13, 0x11, 0x33, 0x3, 0x1B, 0xF3, 0xFE, 0x49, 0xBA, 0xFD, 0xF3, 0x5, 0x76, 0x3A, 0xFC, 0xD8, 0x3, 0x28, 0x0, 0x1, 0x0, 0x84, 0x0, 0x0, 0x3, 0x1B, 0x5, 0xB0, 0x0, 0x7, 0x0, 0x0, 0x21, 0x23, 0x11, 0x1, 0x37, 0x13, 0x11, 0x33, 0x3, 0x1B, 0xF3, 0xFE, 0x5C, 0xB6, 0xEE, 0xF3, 0x1, 0x3B, 0x4, 0x2A, 0x4B, 0xFD, 0xAB, 0x2, 0x55, 0x0, 0x1, 0x0, 0x33, 0x0, 0x0, 0x4, 0x47, 0x5, 0xB0, 0x0, 0x9, 0x0, 0x0, 0x1, 0x21, 0x1, 0x27, 0x1, 0x21, 0x11, 0x33, 0x11, 0x23, 0x3, 0x54, 0xFE, 0xB6, 0xFE, 0xA8, 0x7F, 0x1, 0x95, 0x1, 0x8C, 0xF3, 0xF3, 0x2, 0x75, 0xFE, 0xC5, 0x8D, 0x1, 0x74, 0x2, 0x75, 0xFA, 0x50, 0x0, 0x1, 0x0, 0x39, 0x0, 0x0, 0x4, 0x47, 0x5, 0xB0, 0x0, 0x7, 0x0, 0x0, 0x1, 0x11, 0x33, 0x11, 0x23, 0x11, 0x1, 0x27, 0x3, 0x54, 0xF3, 0xF3, 0xFD, 0x63, 0x7E, 0x4, 0x91, 0x1, 0x1F, 0xFA, 0x50, 0x3, 0x8F, 0xFD, 0x99, 0x8D, 0x0, 0x1, 0x0, 0x38, 0x0, 0x0, 0x4, 0x47, 0x5, 0xB0, 0x0, 0x8, 0x0, 0x0, 0x1, 0x11, 0x23, 0x11, 0x1, 0x1, 0x27, 0x1, 0x1, 0x4, 0x47, 0xF3, 0xFE, 0xF9, 0xFE, 0x6A, 0x7F, 0x1, 0x71, 0x1, 0xAB, 0x5, 0xB0, 0xFA, 0x50, 0x4, 0x30, 0xFE, 0x45, 0xFE, 0x8D, 0x8D, 0x1, 0x53, 0x2, 0xCE, 0x0, 0x1, 0x0, 0x90, 0x0, 0x0, 0x4, 0x47, 0x5, 0xB0, 0x0, 0x8, 0x0, 0x0, 0x1, 0x11, 0x23, 0x1, 0x3, 0x27, 0x1, 0x1, 0x11, 0x4, 0x47, 0xF3, 0xFE, 0xD6, 0xE3, 0xB7, 0x1, 0xA0, 0x1, 0x24, 0x5, 0xB0, 0xFA, 0x50, 0x3, 0x89, 0xFD, 0xB2, 0x4B, 0x4, 0x2A, 0xFC, 0x9A, 0x3, 0x66, 0x0, 0x1, 0x0, 0xAB, 0x0, 0x0, 0x4, 0x47, 0x5, 0xB0, 0x0, 0x8, 0x0, 0x0, 0x21, 0x23, 0x11, 0x5, 0x21, 0x35, 0x21, 0x1, 0x33, 0x4, 0x47, 0xF3, 0xFE, 0xEA, 0xFE, 0x6D, 0x1, 0x54, 0x1, 0x55, 0xF3, 0x4, 0xAE, 0xFF, 0xC6, 0x1, 0x3B, 0x0, 0x1, 0x0, 0xAB, 0x0, 0x0, 0x4, 0x47, 0x5, 0xB0, 0x0, 0x9, 0x0, 0x0, 0x21, 0x23, 0x11, 0x1, 0x21, 0x35, 0x21, 0x5, 0x11, 0x33, 0x4, 0x47, 0xF3, 0xFE, 0xAB, 0xFE, 0xAC, 0x1, 0x93, 0x1, 0x16, 0xF3, 0x2, 0x75, 0x1, 0x3A, 0xC7, 0xFF, 0x2, 0x39, 0x0, 0x1, 0x0, 0xB2, 0x0, 0x0, 0x4, 0x47, 0x5, 0xB0, 0x0, 0x9, 0x0, 0x0, 0x21, 0x23, 0x11, 0x1, 0x21, 0x35, 0x21, 0x1, 0x11, 0x33, 0x4, 0x47, 0xF3, 0xFE, 0x8B, 0xFE, 0xD3, 0x1, 0x9B, 0x1, 0x7, 0xF3, 0x1, 0x3B, 0x2, 0x74, 0xC7, 0xFE, 0x44, 0x2, 0xF6, 0x0, 0x1, 0x0, 0xBC, 0x0, 0x0, 0x4, 0x47, 0x5, 0xB0, 0x0, 0x8, 0x0, 0x0, 0x21, 0x23, 0x1, 0x21, 0x35, 0x21, 0x13, 0x11, 0x33, 0x4, 0x47, 0xF3, 0xFE, 0x8D, 0xFE, 0xDB, 0x1, 0xAA, 0xEE, 0xF3, 0x3, 0xAF, 0xC6, 0xFD, 0xAB, 0x3, 0x90, 0x0, 0x1, 0x0, 0xA7, 0x0, 0x0, 0x4, 0x47, 0x5, 0xB0, 0x0, 0x9, 0x0, 0x0, 0x1, 0x11, 0x23, 0x11, 0x3, 0x1, 0x27, 0x1, 0x1, 0x11, 0x4, 0x47, 0xF3, 0xE5, 0xFE, 0xEF, 0xB7, 0x1, 0xA5, 0x1, 0x8, 0x5, 0xB0, 0xFA, 0x50, 0x2, 0x75, 0x1, 0x87, 0xFD, 0x3F, 0x4B, 0x4, 0x2A, 0xFE, 0x3E, 0x1, 0xC2, 0x0, 0x1, 0x0, 0x99, 0x0, 0x0, 0x4, 0x47, 0x5, 0xB0, 0x0, 0x9, 0x0, 0x0, 0x1, 0x33, 0x11, 0x23, 0x11, 0x27, 0x1, 0x27, 0x1, 0x1, 0x3, 0x54, 0xF3, 0xF3, 0xC9, 0xFE, 0xC5, 0xB7, 0x1, 0xA5, 0x1, 0x16, 0x5, 0xB0, 0xFA, 0x50, 0x3, 0xAF, 0xBB, 0xFC, 0xD1, 0x4B, 0x4, 0x2A, 0xFE, 0xFF, 0x0, 0x1, 0x0, 0xB7, 0x0, 0x0, 0x4, 0x47, 0x5, 0xB0, 0x0, 0x8, 0x0, 0x0, 0x1, 0x11, 0x23, 0x1, 0x7, 0x27, 0x1, 0x1, 0x11, 0x4, 0x47, 0xF4, 0xFE, 0xCA, 0xE8, 0x7E, 0x1, 0x95, 0x1, 0x8, 0x5, 0xB0, 0xFA, 0x50, 0x2, 0x10, 0xD6, 0x8D, 0x1, 0x74, 0xFE, 0x3E, 0x4, 0x37, 0x0, 0x1, 0x0, 0xA, 0x0, 0x0, 0x4, 0x47, 0x5, 0xB0, 0x0, 0x7, 0x0, 0x0, 0x25, 0x11, 0x33, 0x11, 0x21, 0x1, 0x37, 0x1, 0x3, 0x54, 0xF3, 0xFD, 0x7A, 0xFE, 0x49, 0xBA, 0x1, 0x8A, 0xC7, 0x4, 0xE9, 0xFA, 0x50, 0x5, 0x76, 0x3A, 0xFB, 0x17, 0x0, 0x1, 0x0, 0xBC, 0x0, 0x0, 0x4, 0x47, 0x5, 0xB0, 0x0, 0x9, 0x0, 0x0, 0x21, 0x23, 0x11, 0x1, 0x21, 0x35, 0x21, 0x13, 0x11, 0x33, 0x4, 0x47, 0xF3, 0xFE, 0x8D, 0xFE, 0xDB, 0x1, 0xAA, 0xEE, 0xF3, 0x1, 0x3B, 0x3, 0xAE, 0xC7, 0xFD, 0xAB, 0x2, 0x55, 0x0, 0x1, 0x0, 0xAB, 0x0, 0x0, 0x4, 0x47, 0x5, 0xB0, 0x0, 0x8, 0x0, 0x0, 0x21, 0x23, 0x1, 0x21, 0x35, 0x21, 0x13, 0x11, 0x33, 0x4, 0x47, 0xF3, 0xFE, 0x76, 0xFE, 0xE1, 0x1, 0xAC, 0xFD, 0xF3, 0x4, 0xE9, 0xC7, 0xFC, 0xD8, 0x3, 0x28, 0x0, 0x1, 0x0, 0xAB, 0x0, 0x0, 0x4, 0x47, 0x5, 0xB0, 0x0, 0x9, 0x0, 0x0, 0x21, 0x23, 0x11, 0x1, 0x21, 0x35, 0x21, 0x5, 0x35, 0x33, 0x4, 0x47, 0xF3, 0xFE, 0xAB, 0xFE, 0xAC, 0x1, 0x93, 0x1, 0x16, 0xF3, 0x3, 0xAF, 0x1, 0x3A, 0xC7, 0xFF, 0xFF, 0x0, 0x1, 0x0, 0xB2, 0x0, 0x0, 0x4, 0x47, 0x5, 0xB0, 0x0, 0x9, 0x0, 0x0, 0x21, 0x23, 0x11, 0x1, 0x21, 0x35, 0x21, 0x1, 0x11, 0x33, 0x4, 0x47, 0xF3, 0xFE, 0x8B, 0xFE, 0xD3, 0x1, 0x9B, 0x1, 0x7, 0xF3, 0x2, 0x75, 0x2, 0x74, 0xC7, 0xFE, 0x44, 0x1, 0xBC, 0x0, 0x1, 0x0, 0x47, 0x0, 0x0, 0x4, 0x47, 0x5, 0xB0, 0x0, 0x7, 0x0, 0x0, 0x21, 0x23, 0x11, 0x1, 0x37, 0x1, 0x11, 0x33, 0x4, 0x47, 0xF3, 0xFC, 0xF3, 0x7F, 0x2, 0x8E, 0xF3, 0x2, 0x59, 0x2, 0xCA, 0x8D, 0xFD, 0xAB, 0x2, 0x55, 0x0, 0x1, 0x0, 0x37, 0x0, 0x0, 0x4, 0x47, 0x5, 0xB0, 0x0, 0x9, 0x0, 0x0, 0x1, 0x11, 0x33, 0x11, 0x23, 0x11, 0x21, 0x1, 0x37, 0x1, 0x3, 0x54, 0xF3, 0xF3, 0xFE, 0x78, 0xFE, 0x6B, 0x7E, 0x1, 0x59, 0x4, 0x75, 0x1, 0x3B, 0xFA, 0x50, 0x3, 0xAF, 0x1, 0x74, 0x8D, 0xFE, 0xC5, 0x0, 0x1, 0x0, 0xA8, 0x0, 0x0, 0x4, 0x47, 0x5, 0xB0, 0x0, 0x8, 0x0, 0x0, 0x21, 0x23, 0x11, 0x1, 0x1, 0x37, 0x1, 0x1, 0x33, 0x4, 0x47, 0xF3, 0xFE, 0xEA, 0xFE, 0x6A, 0x7F, 0x1, 0x17, 0x1, 0x16, 0xF3, 0x4, 0xB0, 0xFE, 0xFF, 0x1, 0x74, 0x8D, 0xFE, 0xFE, 0x1, 0x2, 0x0, 0x1, 0x0, 0xA7, 0x0, 0x0, 0x4, 0x47, 0x5, 0xB0, 0x0, 0x9, 0x0, 0x0, 0x1, 0x11, 0x23, 0x11, 0x3, 0x1, 0x27, 0x1, 0x1, 0x11, 0x4, 0x47, 0xF3, 0xE5, 0xFE, 0xEF, 0xB7, 0x1, 0xA5, 0x1, 0x8, 0x5, 0xB0, 0xFA, 0x50, 0x1, 0x3B, 0x1, 0x86, 0xFD, 0x3F, 0x4B, 0x4, 0x2B, 0xFE, 0x3E, 0x2, 0xFC, 0x0, 0x1, 0x0, 0x99, 0x0, 0x0, 0x4, 0x47, 0x5, 0xB0, 0x0, 0x9, 0x0, 0x0, 0x1, 0x11, 0x23, 0x11, 0x27, 0x1, 0x27, 0x1, 0x1, 0x11, 0x4, 0x47, 0xF3, 0xC9, 0xFE, 0xC5, 0xB7, 0x1, 0xA5, 0x1, 0x16, 0x5, 0xB0, 0xFA, 0x50, 0x2, 0x75, 0xBB, 0xFC, 0xD0, 0x4B, 0x4, 0x2A, 0xFE, 0xFF, 0x2, 0x3C, 0x0, 0x1, 0x0, 0x1D, 0x0, 0x0, 0x4, 0x47, 0x5, 0xB0, 0x0, 0x9, 0x0, 0x0, 0x1, 0x21, 0x1, 0x27, 0x1, 0x21, 0x11, 0x33, 0x11, 0x23, 0x3, 0x54, 0xFE, 0xF9, 0xFE, 0x86, 0xB6, 0x1, 0xA4, 0x1, 0x93, 0xF3, 0xF3, 0x3, 0xAF, 0xFC, 0x51, 0x4B, 0x4, 0x2B, 0x1, 0x3A, 0xFA, 0x50, 0x0, 0x1, 0x0, 0x67, 0x0, 0x0, 0x4, 0x47, 0x5, 0xB0, 0x0, 0x8, 0x0, 0x0, 0x21, 0x23, 0x1, 0x1, 0x37, 0x1, 0x13, 0x11, 0x33, 0x4, 0x47, 0xF3, 0xFE, 0x7B, 0xFE, 0x98, 0x7F, 0x1, 0x96, 0xD8, 0xF3, 0x3, 0xD8, 0x1, 0x4B, 0x8D, 0xFE, 0x8E, 0xFD, 0xE2, 0x3, 0x90, 0x0, 0x1, 0x0, 0x49, 0x0, 0x0, 0x4, 0x47, 0x5, 0xB0, 0x0, 0x9, 0x0, 0x0, 0x21, 0x23, 0x11, 0x1, 0x1, 0x37, 0x1, 0x13, 0x11, 0x33, 0x4, 0x47, 0xF3, 0xFE, 0x64, 0xFE, 0x91, 0x7D, 0x1, 0x95, 0xF9, 0xF3, 0x1, 0x1F, 0x2, 0xB2, 0x1, 0x52, 0x8D, 0xFE, 0x8E, 0xFE, 0x61, 0x3, 0x11, 0x0, 0x1, 0x0, 0x78, 0x0, 0x0, 0x3, 0x1B, 0x5, 0xB0, 0x0, 0x7, 0x0, 0x0, 0x1, 0x11, 0x23, 0x11, 0x1, 0x27, 0x1, 0x11, 0x3, 0x1B, 0xF3, 0xFE, 0xF8, 0xA8, 0x1, 0xB0, 0x5, 0xB0, 0xFA, 0x50, 0x2, 0xF6, 0xFE, 0x44, 0x66, 0x2, 0xD5, 0x1, 0x3B, 0x0, 0x1, 0x0, 0x93, 0x0, 0x0, 0x3, 0x1B, 0x5, 0xB0, 0x0, 0x7, 0x0, 0x0, 0x1, 0x11, 0x23, 0x11, 0x5, 0x27, 0x1, 0x11, 0x3, 0x1B, 0xF3, 0xFE, 0xEA, 0x7F, 0x1, 0x95, 0x5, 0xB0, 0xFA, 0x50, 0x2, 0x39, 0xFF, 0x8D, 0x1, 0x74, 0x2, 0x75, 0x0, 0x1, 0x0, 0x84, 0x0, 0x0, 0x3, 0x1B, 0x5, 0xB0, 0x0, 0x6, 0x0, 0x0, 0x1, 0x11, 0x23, 0x11, 0x3, 0x27, 0x1, 0x3, 0x1B, 0xF3, 0xEE, 0xB6, 0x1, 0xA4, 0x5, 0xB0, 0xFA, 0x50, 0x3, 0x90, 0xFD, 0xAB, 0x4B, 0x4, 0x2A, 0x0, 0x1, 0x0, 0x93, 0x0, 0x0, 0x3, 0x1B, 0x5, 0xB0, 0x0, 0x6, 0x0, 0x0, 0x1, 0x11, 0x23, 0x1, 0x37, 0x1, 0x11, 0x3, 0x1B, 0xF3, 0xFE, 0x6B, 0x7F, 0x1, 0x16, 0x5, 0xB0, 0xFA, 0x50, 0x1, 0x74, 0x8E, 0xFF, 0x0, 0x4, 0xAE, 0x0, 0x1, 0x0, 0xBC, 0x0, 0x0, 0x4, 0x47, 0x5, 0xB0, 0x0, 0x8, 0x0, 0x0, 0x1, 0x11, 0x23, 0x11, 0x3, 0x21, 0x35, 0x21, 0x1, 0x4, 0x47, 0xF3, 0xEE, 0xFE, 0x56, 0x1, 0x25, 0x1, 0x73, 0x5, 0xB0, 0xFA, 0x50, 0x3, 0x90, 0xFD, 0xAB, 0xC7, 0x3, 0xAE, 0x0, 0x1, 0x0, 0x9D, 0x0, 0x0, 0x4, 0x47, 0x5, 0xB0, 0x0, 0x9, 0x0, 0x0, 0x1, 0x11, 0x23, 0x11, 0x1, 0x1, 0x27, 0x1, 0x1, 0x11, 0x4, 0x47, 0xF3, 0xFE, 0xF6, 0xFE, 0xFB, 0xA8, 0x1, 0xAE, 0x1, 0x9, 0x5, 0xB0, 0xFA, 0x50, 0x1, 0x3B, 0x1, 0xC4, 0xFE, 0x3C, 0x65, 0x2, 0xD2, 0xFE, 0x42, 0x2, 0xFC, 0x0, 0x1, 0x0, 0x8D, 0x0, 0x0, 0x4, 0x47, 0x5, 0xB0, 0x0, 0x8, 0x0, 0x0, 0x1, 0x11, 0x23, 0x1, 0x3, 0x27, 0x1, 0x1, 0x11, 0x4, 0x47, 0xF3, 0xFE, 0xD4, 0xF3, 0xA8, 0x1, 0xAC, 0x1, 0x1B, 0x5, 0xB0, 0xFA, 0x50, 0x2, 0xDE, 0xFE, 0x5C, 0x66, 0x2, 0xD5, 0xFD, 0x55, 0x3, 0xE6, 0x0, 0x1, 0x0, 0x18, 0x0, 0x0, 0x4, 0x47, 0x5, 0xB0, 0x0, 0x9, 0x0, 0x0, 0x1, 0x21, 0x1, 0x27, 0x1, 0x21, 0x11, 0x33, 0x11, 0x23, 0x3, 0x54, 0xFE, 0xE4, 0xFE, 0x88, 0xA8, 0x1, 0xB0, 0x1, 0x8C, 0xF3, 0xF3, 0x3, 0xAF, 0xFD, 0x8B, 0x66, 0x2, 0xD6, 0x1, 0x3A, 0xFA, 0x50, 0x0, 0x1, 0x0, 0x8E, 0x0, 0x0, 0x4, 0x47, 0x5, 0xB0, 0x0, 0x9, 0x0, 0x0, 0x1, 0x11, 0x23, 0x11, 0x27, 0x1, 0x27, 0x1, 0x1, 0x11, 0x4, 0x47, 0xF3, 0xEA, 0xFE, 0xCC, 0xA8, 0x1, 0xB0, 0x1, 0x16, 0x5, 0xB0, 0xFA, 0x50, 0x2, 0x75, 0xDA, 0xFD, 0xEC, 0x65, 0x2, 0xD6, 0xFE, 0xFE, 0x2, 0x3C, 0x0, 0x1, 0x0, 0x23, 0x0, 0x0, 0x4, 0x47, 0x5, 0xB0, 0x0, 0x8, 0x0, 0x0, 0x1, 0x11, 0x23, 0x11, 0x7, 0x1, 0x27, 0x1, 0x1, 0x4, 0x47, 0xF3, 0xEE, 0xFE, 0x65, 0xA8, 0x1, 0x9D, 0x1, 0x94, 0x5, 0xB0, 0xFA, 0x50, 0x4, 0xAE, 0xDC, 0xFD, 0x4F, 0x66, 0x2, 0xB5, 0x1, 0x74, 0x0, 0x1, 0x0, 0xA8, 0x0, 0x0, 0x4, 0x47, 0x5, 0xB0, 0x0, 0x9, 0x0, 0x0, 0x1, 0x11, 0x23, 0x11, 0x5, 0x1, 0x37, 0x1, 0x1, 0x11, 0x4, 0x47, 0xF3, 0xFE, 0xE9, 0xFE, 0x6B, 0x7F, 0x1, 0x18, 0x1, 0x15, 0x5, 0xB0, 0xFA, 0x50, 0x2, 0x39, 0xFF, 0x1, 0x74, 0x8D, 0xFF, 0x0, 0x1, 0x0, 0x2, 0x75, 0x0, 0x1, 0x0, 0x18, 0x0, 0x0, 0x4, 0x47, 0x5, 0xB0, 0x0, 0x9, 0x0, 0x0, 0x1, 0x21, 0x1, 0x27, 0x1, 0x21, 0x11, 0x33, 0x11, 0x23, 0x3, 0x54, 0xFE, 0xE4, 0xFE, 0x88, 0xA8, 0x1, 0xB0, 0x1, 0x8C, 0xF3, 0xF3, 0x2, 0x75, 0xFD, 0x8B, 0x66, 0x2, 0xD5, 0x2, 0x75, 0xFA, 0x50, 0x0, 0x1, 0x0, 0xA7, 0x0, 0x0, 0x4, 0x47, 0x5, 0xB0, 0x0, 0x8, 0x0, 0x0, 0x1, 0x11, 0x23, 0x11, 0x1, 0x1, 0x37, 0x17, 0x1, 0x4, 0x47, 0xF3, 0xFE, 0xE8, 0xFE, 0x6B, 0x7E, 0xDC, 0x1, 0x53, 0x5, 0xB0, 0xFA, 0x50, 0x3, 0xE5, 0xFD, 0x56, 0x1, 0x74, 0x8D, 0xCA, 0x3, 0x3E, 0x0, 0x1, 0x0, 0x96, 0x0, 0x0, 0x4, 0x47, 0x5, 0xB0, 0x0, 0x9, 0x0, 0x0, 0x1, 0x11, 0x23, 0x11, 0x3, 0x1, 0x27, 0x1, 0x1, 0x11, 0x4, 0x47, 0xF3, 0xD1, 0xFE, 0xCC, 0xB9, 0x1, 0xB8, 0x1, 0x6, 0x5, 0xB0, 0xFA, 0x50, 0x2, 0x75, 0x1, 0x67, 0xFC, 0x24, 0x3A, 0x5, 0x75, 0xFE, 0x3F, 0x1, 0xC2, 0x0, 0x1, 0x0, 0x86, 0x0, 0x0, 0x4, 0x47, 0x5, 0xB0, 0x0, 0x9, 0x0, 0x0, 0x1, 0x11, 0x23, 0x11, 0x3, 0x1, 0x27, 0x1, 0x1, 0x11, 0x4, 0x47, 0xF3, 0xF6, 0xFE, 0xE1, 0xB9, 0x1, 0xB8, 0x1, 0x16, 0x5, 0xB0, 0xFA, 0x50, 0x1, 0x3B, 0x2, 0x5C, 0xFC, 0x69, 0x3A, 0x5, 0x76, 0xFD, 0x54, 0x2, 0xAC, 0x0, 0x1, 0x0, 0x7E, 0x0, 0x0, 0x4, 0x47, 0x5, 0xB0, 0x0, 0x8, 0x0, 0x0, 0x1, 0x11, 0x23, 0x1, 0x1, 0x27, 0x1, 0x1, 0x11, 0x4, 0x47, 0xF3, 0xFE, 0xEB, 0xFE, 0xF8, 0xB9, 0x1, 0xB7, 0x1, 0x1F, 0x5, 0xB0, 0xFA, 0x50, 0x3, 0x4B, 0xFC, 0xB5, 0x3A, 0x5, 0x76, 0xFC, 0x9A, 0x3, 0x66, 0x0, 0x1, 0x0, 0x3C, 0x0, 0x0, 0x4, 0x47, 0x5, 0xB0, 0x0, 0x6, 0x0, 0x0, 0x1, 0x11, 0x33, 0x11, 0x23, 0x1, 0x37, 0x3, 0x54, 0xF3, 0xF3, 0xFC, 0xE8, 0x7F, 0x1, 0x2, 0x4, 0xAE, 0xFA, 0x50, 0x2, 0xD9, 0x8D, 0x0, 0x1, 0x0, 0x2C, 0x0, 0x0, 0x4, 0x47, 0x5, 0xB0, 0x0, 0x9, 0x0, 0x0, 0x1, 0x21, 0x1, 0x37, 0x1, 0x21, 0x11, 0x33, 0x11, 0x23, 0x3, 0x54, 0xFE, 0x6D, 0xFE, 0x6B, 0x7F, 0x1, 0x58, 0x1, 0x51, 0xF3, 0xF3, 0x1, 0x3B, 0x1, 0x74, 0x8D, 0xFE, 0xC6, 0x3, 0xAE, 0xFA, 0x50, 0x0, 0x1, 0x0, 0x98, 0x0, 0x0, 0x4, 0x47, 0x5, 0xB0, 0x0, 0x9, 0x0, 0x0, 0x1, 0x11, 0x23, 0x11, 0x1, 0x3, 0x27, 0x1, 0x1, 0x11, 0x4, 0x47, 0xF3, 0xFE, 0xF7, 0xFC, 0xB7, 0x1, 0xA5, 0x1, 0x17, 0x5, 0xB0, 0xFA, 0x50, 0x1, 0x3B, 0x2, 0x8B, 0xFD, 0x75, 0x4B, 0x4, 0x2A, 0xFD, 0x54, 0x2, 0xAC, 0x0, 0x1, 0x0, 0x24, 0x0, 0x0, 0x4, 0x47, 0x5, 0xB0, 0x0, 0x7, 0x0, 0x0, 0x1, 0x21, 0x1, 0x27, 0x1, 0x21, 0x11, 0x23, 0x3, 0x54, 0xFF, 0x0, 0xFE, 0x86, 0xB6, 0x1, 0xA4, 0x2, 0x7F, 0xF3, 0x4, 0xE9, 0xFC, 0x52, 0x4B, 0x4, 0x2A, 0xFA, 0x50, 0x0, 0x1, 0x0, 0x78, 0x0, 0x0, 0x3, 0x1B, 0x5, 0xB0, 0x0, 0x6, 0x0, 0x0, 0x1, 0x11, 0x23, 0x1, 0x37, 0x1, 0x11, 0x3, 0x1B, 0xF3, 0xFE, 0x50, 0xA8, 0x1, 0x8, 0x5, 0xB0, 0xFA, 0x50, 0x2, 0xD6, 0x65, 0xFE, 0x45, 0x4, 0x30, 0x0, 0x1, 0x0, 0x93, 0x0, 0x0, 0x3, 0x1B, 0x5, 0xB0, 0x0, 0x7, 0x0, 0x0, 0x1, 0x11, 0x23, 0x11, 0x1, 0x37, 0x5, 0x11, 0x3, 0x1B, 0xF3, 0xFE, 0x6B, 0x7F, 0x1, 0x16, 0x5, 0xB0, 0xFA, 0x50, 0x1, 0x3B, 0x1, 0x74, 0x8D, 0xFF, 0x3, 0x73, 0x0, 0x1, 0x0, 0x94, 0x0, 0x0, 0x4, 0x47, 0x5, 0xB0, 0x0, 0x9, 0x0, 0x0, 0x1, 0x11, 0x23, 0x11, 0x1, 0x1, 0x37, 0x17, 0x1, 0x11, 0x4, 0x47, 0xF3, 0xFE, 0xD5, 0xFE, 0x6B, 0x7F, 0xF4, 0x1, 0x4D, 0x5, 0xB0, 0xFA, 0x50, 0x1, 0xE5, 0xFE, 0x1B, 0x1, 0x74, 0x8E, 0xE3, 0x2, 0x1C, 0x2, 0x75, 0x0, 0x1, 0x0, 0xA7, 0x0, 0x0, 0x4, 0x47, 0x5, 0xB0, 0x0, 0x9, 0x0, 0x0, 0x1, 0x11, 0x23, 0x11, 0x1, 0x1, 0x37, 0x17, 0x1, 0x11, 0x4, 0x47, 0xF3, 0xFE, 0xE8, 0xFE, 0x6B, 0x7E, 0xDC, 0x1, 0x53, 0x5, 0xB0, 0xFA, 0x50, 0x2, 0xAA, 0xFD, 0x56, 0x1, 0x74, 0x8E, 0xCB, 0x3, 0x3E, 0x1, 0x3B, 0x0, 0x1, 0x0, 0x78, 0x0, 0x0, 0x3, 0x1B, 0x5, 0xB0, 0x0, 0x6, 0x0, 0x0, 0x21, 0x23, 0x11, 0x1, 0x27, 0x1, 0x33, 0x3, 0x1B, 0xF3, 0xFE, 0xF8, 0xA8, 0x1, 0xB0, 0xF3, 0x4, 0x30, 0xFE, 0x45, 0x65, 0x2, 0xD6, 0x0, 0x1, 0x0, 0xA8, 0x0, 0x0, 0x4, 0x47, 0x5, 0xB0, 0x0, 0x9, 0x0, 0x0, 0x1, 0x11, 0x23, 0x35, 0x5, 0x1, 0x37, 0x1, 0x1, 0x11, 0x4, 0x47, 0xF3, 0xFE, 0xE9, 0xFE, 0x6B, 0x7F, 0x1, 0x18, 0x1, 0x15, 0x5, 0xB0, 0xFA, 0x50, 0xFF, 0xFF, 0x1, 0x74, 0x8E, 0xFE, 0xFF, 0x1, 0x1, 0x3, 0xAE, 0x0, 0x1, 0x0, 0x87, 0x0, 0x0, 0x4, 0x47, 0x5, 0xB0, 0x0, 0x9, 0x0, 0x0, 0x1, 0x1, 0x11, 0x33, 0x11, 0x23, 0x11, 0x27, 0x1, 0x27, 0x2, 0x3E, 0x1, 0x16, 0xF3, 0xF3, 0xB7, 0xFE, 0xA3, 0xB9, 0x5, 0xB0, 0xFE, 0xFF, 0x1, 0x1, 0xFA, 0x50, 0x3, 0xAF, 0xAC, 0xFB, 0xA5, 0x3A, 0x0, 0x1, 0x0, 0x93, 0x0, 0x0, 0x3, 0x1B, 0x5, 0xB0, 0x0, 0x7, 0x0, 0x0, 0x21, 0x23, 0x11, 0x5, 0x27, 0x1, 0x11, 0x33, 0x3, 0x1B, 0xF3, 0xFE, 0xEA, 0x7F, 0x1, 0x95, 0xF3, 0x3, 0x73, 0xFF, 0x8D, 0x1, 0x74, 0x1, 0x3B, 0x0, 0x1, 0x0, 0xAB, 0x0, 0x0, 0x4, 0x47, 0x5, 0xB0, 0x0, 0x9, 0x0, 0x0, 0x1, 0x11, 0x23, 0x11, 0x5, 0x21, 0x35, 0x21, 0x1, 0x11, 0x4, 0x47, 0xF3, 0xFE, 0xEA, 0xFE, 0x6D, 0x1, 0x54, 0x1, 0x55, 0x5, 0xB0, 0xFA, 0x50, 0x2, 0x39, 0xFF, 0xC7, 0x1, 0x3A, 0x2, 0x75, 0x0, 0x1, 0x0, 0xA8, 0x0, 0x0, 0x4, 0x47, 0x5, 0xB0, 0x0, 0x9, 0x0, 0x0, 0x1, 0x11, 0x23, 0x11, 0x1, 0x1, 0x27, 0x1, 0x1, 0x11, 0x4, 0x47, 0xF3, 0xFE, 0xEA, 0xFE, 0xE9, 0x7F, 0x1, 0x96, 0x1, 0x16, 0x5, 0xB0, 0xFA, 0x50, 0x1, 0x3B, 0x1, 0x2, 0xFE, 0xFE, 0x8D, 0x1, 0x74, 0xFE, 0xFF, 0x3, 0x75, 0x0, 0x1, 0x0, 0xAB, 0x0, 0x0, 0x4, 0x47, 0x5, 0xB0, 0x0, 0x9, 0x0, 0x0, 0x1, 0x11, 0x23, 0x11, 0x1, 0x21, 0x35, 0x21, 0x5, 0x11, 0x4, 0x47, 0xF3, 0xFE, 0xAB, 0xFE, 0xAC, 0x1, 0x93, 0x1, 0x16, 0x5, 0xB0, 0xFA, 0x50, 0x1, 0x3B, 0x1, 0x3A, 0xC7, 0xFF, 0x3, 0x73, 0x0, 0x1, 0x0, 0xBA, 0x0, 0x0, 0x4, 0x47, 0x5, 0xB0, 0x0, 0x8, 0x0, 0x0, 0x21, 0x23, 0x11, 0x1, 0x21, 0x35, 0x21, 0x1, 0x33, 0x4, 0x47, 0xF3, 0xFE, 0xF9, 0xFE, 0x6D, 0x1, 0x25, 0x1, 0x75, 0xF3, 0x4, 0x30, 0xFE, 0x45, 0xC6, 0x2, 0x75, 0x0, 0x1, 0x0, 0xAB, 0x0, 0x0, 0x4, 0x47, 0x5, 0xB0, 0x0, 0x9, 0x0, 0x0, 0x21, 0x23, 0x11, 0x5, 0x21, 0x35, 0x21, 0x1, 0x11, 0x33, 0x4, 0x47, 0xF3, 0xFE, 0xEA, 0xFE, 0x6D, 0x1, 0x54, 0x1, 0x55, 0xF3, 0x3, 0x73, 0xFF, 0xC7, 0x1, 0x3A, 0x1, 0x3B, 0x0, 0x1, 0x0, 0x18, 0x0, 0x0, 0x4, 0x47, 0x5, 0xB0, 0x0, 0x7, 0x0, 0x0, 0x21, 0x21, 0x1, 0x37, 0x1, 0x21, 0x11, 0x33, 0x4, 0x47, 0xFD, 0x81, 0xFE, 0x50, 0xA8, 0x1, 0x78, 0x1, 0x1C, 0xF3, 0x2, 0xD6, 0x65, 0xFD, 0x8C, 0x4, 0xE9, 0x0, 0x1, 0x0, 0x8D, 0x0, 0x0, 0x4, 0x47, 0x5, 0xB0, 0x0, 0x9, 0x0, 0x0, 0x1, 0x11, 0x23, 0x11, 0x1, 0x1, 0x37, 0x13, 0x1, 0x11, 0x4, 0x47, 0xF3, 0xFE, 0xE2, 0xFE, 0x57, 0xA8, 0xF1, 0x1, 0x2E, 0x5, 0xB0, 0xFA, 0x50, 0x2, 0xAA, 0xFD, 0x56, 0x2, 0xD6, 0x65, 0xFE, 0x5F, 0x2, 0xDB, 0x1, 0x3B, 0x0, 0x1, 0x0, 0x7A, 0x0, 0x0, 0x4, 0x47, 0x5, 0xB0, 0x0, 0x9, 0x0, 0x0, 0x1, 0x11, 0x23, 0x11, 0x1, 0x1, 0x37, 0x1, 0x1, 0x11, 0x4, 0x47, 0xF3, 0xFE, 0xD4, 0xFE, 0x52, 0xA8, 0x1, 0xD, 0x1, 0x25, 0x5, 0xB0, 0xFA, 0x50, 0x1, 0xE5, 0xFE, 0x1B, 0x2, 0xD6, 0x65, 0xFE, 0x2D, 0x1, 0xD5, 0x2, 0x73, 0x0, 0x1, 0x0, 0x84, 0x0, 0x0, 0x4, 0x47, 0x5, 0xB0, 0x0, 0x8, 0x0, 0x0, 0x1, 0x11, 0x23, 0x11, 0x1, 0x1, 0x37, 0x13, 0x1, 0x4, 0x47, 0xF3, 0xFE, 0xDC, 0xFE, 0x54, 0xA8, 0xDE, 0x1, 0x4A, 0x5, 0xB0, 0xFA, 0x50, 0x3, 0x72, 0xFC, 0x8E, 0x2, 0xD6, 0x65, 0xFE, 0x86, 0x3, 0xEF, 0x0, 0x1, 0x0, 0x94, 0x0, 0x0, 0x4, 0x47, 0x5, 0xB0, 0x0, 0x9, 0x0, 0x0, 0x1, 0x11, 0x23, 0x11, 0x1, 0x1, 0x37, 0x17, 0x1, 0x11, 0x4, 0x47, 0xF3, 0xFE, 0xD5, 0xFE, 0x6B, 0x7F, 0xF4, 0x1, 0x4D, 0x5, 0xB0, 0xFA, 0x50, 0x3, 0x1F, 0xFE, 0x1B, 0x1, 0x74, 0x8D, 0xE2, 0x2, 0x1C, 0x1, 0x3B, 0x0, 0x1, 0x0, 0xAB, 0x0, 0x0, 0x4, 0x47, 0x5, 0xB0, 0x0, 0x8, 0x0, 0x0, 0x1, 0x11, 0x23, 0x1, 0x21, 0x35, 0x21, 0x1, 0x11, 0x4, 0x47, 0xF3, 0xFE, 0xAB, 0xFE, 0xAC, 0x1, 0x93, 0x1, 0x16, 0x5, 0xB0, 0xFA, 0x50, 0x1, 0x3B, 0xC7, 0xFF, 0x0, 0x4, 0xAE, 0x0, 0x1, 0x0, 0x98, 0x0, 0x0, 0x4, 0x47, 0x5, 0xB0, 0x0, 0x8, 0x0, 0x0, 0x21, 0x23, 0x11, 0x1, 0x1, 0x37, 0x13, 0x1, 0x33, 0x4, 0x47, 0xF3, 0xFE, 0xE9, 0xFE, 0x5B, 0xB7, 0xFC, 0x1, 0x9, 0xF3, 0x3, 0xE6, 0xFD, 0x55, 0x4, 0x2A, 0x4B, 0xFD, 0x75, 0x2, 0x8B, 0x0, 0x1, 0x0, 0x99, 0x0, 0x0, 0x4, 0x47, 0x5, 0xB0, 0x0, 0x9, 0x0, 0x0, 0x21, 0x23, 0x11, 0x1, 0x1, 0x37, 0x1, 0x37, 0x11, 0x33, 0x4, 0x47, 0xF3, 0xFE, 0xEA, 0xFE, 0x5B, 0xB7, 0x1, 0x3B, 0xC9, 0xF3, 0x2, 0x3C, 0xFE, 0xFF, 0x4, 0x2A, 0x4B, 0xFC, 0xD0, 0xBB, 0x2, 0x75, 0x0, 0x1, 0x0, 0xA7, 0x0, 0x0, 0x4, 0x47, 0x5, 0xB0, 0x0, 0x9, 0x0, 0x0, 0x21, 0x23, 0x11, 0x1, 0x1, 0x37, 0x1, 0x13, 0x11, 0x33, 0x4, 0x47, 0xF3, 0xFE, 0xF8, 0xFE, 0x5B, 0xB7, 0x1, 0x11, 0xE5, 0xF3, 0x2, 0xFC, 0xFE, 0x3E, 0x4, 0x2B, 0x4B, 0xFD, 0x3F, 0x1, 0x86, 0x1, 0x3B, 0x0, 0x1, 0x0, 0x18, 0x0, 0x0, 0x4, 0x47, 0x5, 0xB0, 0x0, 0x9, 0x0, 0x0, 0x1, 0x11, 0x33, 0x11, 0x23, 0x11, 0x21, 0x1, 0x37, 0x1, 0x3, 0x54, 0xF3, 0xF3, 0xFE, 0x74, 0xFE, 0x50, 0xA8, 0x1, 0x78, 0x2, 0x1, 0x3, 0xAF, 0xFA, 0x50, 0x1, 0x3A, 0x2, 0xD6, 0x66, 0xFD, 0x8B, 0x0, 0x1, 0x0, 0x23, 0x0, 0x0, 0x4, 0x47, 0x5, 0xB0, 0x0, 0x8, 0x0, 0x0, 0x21, 0x23, 0x1, 0x1, 0x37, 0x1, 0x17, 0x11, 0x33, 0x4, 0x47, 0xF3, 0xFE, 0x6C, 0xFE, 0x63, 0xA8, 0x1, 0x9B, 0xEE, 0xF3, 0x1, 0x74, 0x2, 0xB5, 0x66, 0xFD, 0x4F, 0xDC, 0x4, 0xAE, 0x0, 0x1, 0x0, 0x9D, 0x0, 0x0, 0x4, 0x47, 0x5, 0xB0, 0x0, 0x9, 0x0, 0x0, 0x21, 0x23, 0x11, 0x1, 0x1, 0x37, 0x1, 0x1, 0x11, 0x33, 0x4, 0x47, 0xF3, 0xFE, 0xF7, 0xFE, 0x52, 0xA8, 0x1, 0x5, 0x1, 0xA, 0xF3, 0x2, 0xFC, 0xFE, 0x42, 0x2, 0xD2, 0x65, 0xFE, 0x3C, 0x1, 0xC4, 0x1, 0x3B, 0x0, 0x1, 0x0, 0x8E, 0x0, 0x0, 0x4, 0x47, 0x5, 0xB0, 0x0, 0x9, 0x0, 0x0, 0x21, 0x23, 0x11, 0x1, 0x1, 0x37, 0x1, 0x37, 0x11, 0x33, 0x4, 0x47, 0xF3, 0xFE, 0xEA, 0xFE, 0x50, 0xA8, 0x1, 0x34, 0xEA, 0xF3, 0x2, 0x3C, 0xFE, 0xFE, 0x2, 0xD6, 0x65, 0xFD, 0xEC, 0xDA, 0x2, 0x75, 0x0, 0x1, 0x0, 0x8D, 0x0, 0x0, 0x4, 0x47, 0x5, 0xB0, 0x0, 0x8, 0x0, 0x0, 0x21, 0x23, 0x11, 0x1, 0x1, 0x37, 0x13, 0x1, 0x33, 0x4, 0x47, 0xF3, 0xFE, 0xE5, 0xFE, 0x54, 0xA8, 0xF3, 0x1, 0x2C, 0xF3, 0x3, 0xE6, 0xFD, 0x55, 0x2, 0xD5, 0x66, 0xFE, 0x5C, 0x2, 0xDE, 0x0, 0x1, 0x0, 0x31, 0x0, 0x0, 0x4, 0x47, 0x5, 0xB0, 0x0, 0x8, 0x0, 0x0, 0x21, 0x23, 0x1, 0x1, 0x37, 0x1, 0x17, 0x11, 0x33, 0x4, 0x47, 0xF3, 0xFE, 0x6B, 0xFE, 0x72, 0xB7, 0x1, 0x8D, 0xDF, 0xF3, 0x1, 0x74, 0x3, 0xF1, 0x4B, 0xFC, 0x1F, 0xCD, 0x4, 0xAE, 0x0, 0x1, 0x0, 0x1D, 0x0, 0x0, 0x4, 0x47, 0x5, 0xB0, 0x0, 0x9, 0x0, 0x0, 0x1, 0x11, 0x33, 0x11, 0x23, 0x11, 0x21, 0x1, 0x37, 0x1, 0x3, 0x54, 0xF3, 0xF3, 0xFE, 0x6D, 0xFE, 0x5C, 0xB6, 0x1, 0x7A, 0x2, 0x1, 0x3, 0xAF, 0xFA, 0x50, 0x1, 0x3A, 0x4, 0x2B, 0x4B, 0xFC, 0x51, 0x0, 0x1, 0x0, 0x93, 0x0, 0x0, 0x3, 0x1B, 0x5, 0xB0, 0x0, 0x7, 0x0, 0x0, 0x1, 0x11, 0x23, 0x35, 0x5, 0x27, 0x1, 0x11, 0x3, 0x1B, 0xF3, 0xFE, 0xEA, 0x7F, 0x1, 0x95, 0x5, 0xB0, 0xFA, 0x50, 0xFF, 0xFF, 0x8D, 0x1, 0x75, 0x3, 0xAE, 0x0, 0x1, 0x0, 0x9E, 0x0, 0x0, 0x4, 0x47, 0x5, 0xB0, 0x0, 0x8, 0x0, 0x0, 0x1, 0x11, 0x23, 0x11, 0x1, 0x1, 0x37, 0x17, 0x1, 0x4, 0x47, 0xF3, 0xFE, 0xE0, 0xFE, 0x6A, 0x7F, 0xC5, 0x1, 0x72, 0x5, 0xB0, 0xFA, 0x50, 0x3, 0x72, 0xFC, 0x8E, 0x1, 0x74, 0x8E, 0xB8, 0x4, 0x66, 0x0, 0x1, 0x0, 0x78, 0x0, 0x0, 0x3, 0x1B, 0x5, 0xB0, 0x0, 0x7, 0x0, 0x0, 0x1, 0x11, 0x23, 0x11, 0x1, 0x27, 0x1, 0x11, 0x3, 0x1B, 0xF3, 0xFE, 0xF8, 0xA8, 0x1, 0xB0, 0x5, 0xB0, 0xFA, 0x50, 0x1, 0xBC, 0xFE, 0x44, 0x66, 0x2, 0xD5, 0x2, 0x75, 0x0, 0x1, 0x0, 0x84, 0x0, 0x0, 0x3, 0x1B, 0x5, 0xB0, 0x0, 0x7, 0x0, 0x0, 0x1, 0x11, 0x23, 0x11, 0x3, 0x27, 0x1, 0x11, 0x3, 0x1B, 0xF3, 0xEE, 0xB6, 0x1, 0xA4, 0x5, 0xB0, 0xFA, 0x50, 0x2, 0x55, 0xFD, 0xAB, 0x4B, 0x4, 0x2A, 0x1, 0x3B, 0x0, 0x1, 0x0, 0x71, 0x0, 0x0, 0x3, 0x1B, 0x5, 0xB0, 0x0, 0x6, 0x0, 0x0, 0x1, 0x11, 0x23, 0x11, 0x3, 0x27, 0x1, 0x3, 0x1B, 0xF3, 0xFD, 0xBA, 0x1, 0xB7, 0x5, 0xB0, 0xFA, 0x50, 0x3, 0x28, 0xFC, 0xD8, 0x3A, 0x5, 0x76, 0x0, 0x1, 0x0, 0xA8, 0x0, 0x0, 0x4, 0x47, 0x5, 0xB0, 0x0, 0x8, 0x0, 0x0, 0x1, 0x11, 0x23, 0x1, 0x1, 0x27, 0x1, 0x1, 0x11, 0x4, 0x47, 0xF3, 0xFE, 0xEA, 0xFE, 0xE9, 0x7F, 0x1, 0x96, 0x1, 0x16, 0x5, 0xB0, 0xFA, 0x50, 0x1, 0x2, 0xFE, 0xFE, 0x8D, 0x1, 0x75, 0xFE, 0xFE, 0x4, 0xB0, 0x0, 0x1, 0x0, 0x37, 0x0, 0x0, 0x4, 0x47, 0x5, 0xB0, 0x0, 0x9, 0x0, 0x0, 0x1, 0x21, 0x1, 0x27, 0x1, 0x21, 0x11, 0x33, 0x11, 0x23, 0x3, 0x54, 0xFE, 0xBA, 0xFE, 0xA7, 0x7E, 0x1, 0x95, 0x1, 0x88, 0xF3, 0xF3, 0x1, 0x3B, 0xFE, 0xC5, 0x8D, 0x1, 0x75, 0x3, 0xAE, 0xFA, 0x50, 0x0, 0x1, 0x0, 0x67, 0x0, 0x0, 0x4, 0x47, 0x5, 0xB0, 0x0, 0x8, 0x0, 0x0, 0x1, 0x11, 0x23, 0x11, 0x3, 0x1, 0x27, 0x1, 0x1, 0x4, 0x47, 0xF3, 0xD8, 0xFE, 0x6A, 0x7F, 0x1, 0x68, 0x1, 0x85, 0x5, 0xB0, 0xFA, 0x50, 0x3, 0x90, 0xFD, 0xE2, 0xFE, 0x8E, 0x8D, 0x1, 0x4B, 0x3, 0xD8, 0x0, 0x1, 0x0, 0x47, 0x0, 0x0, 0x4, 0x47, 0x5, 0xB0, 0x0, 0x7, 0x0, 0x0, 0x1, 0x11, 0x23, 0x11, 0x1, 0x27, 0x1, 0x11, 0x4, 0x47, 0xF3, 0xFD, 0x72, 0x7F, 0x3, 0xD, 0x5, 0xB0, 0xFA, 0x50, 0x2, 0x55, 0xFD, 0xAB, 0x8D, 0x2, 0xCA, 0x2, 0x59, 0x0, 0x1, 0x0, 0x49, 0x0, 0x0, 0x4, 0x47, 0x5, 0xB0, 0x0, 0x9, 0x0, 0x0, 0x1, 0x11, 0x23, 0x11, 0x3, 0x1, 0x27, 0x1, 0x1, 0x11, 0x4, 0x47, 0xF3, 0xF9, 0xFE, 0x6B, 0x7D, 0x1, 0x6F, 0x1, 0x9C, 0x5, 0xB0, 0xFA, 0x50, 0x3, 0x11, 0xFE, 0x61, 0xFE, 0x8E, 0x8D, 0x1, 0x52, 0x2, 0xB2, 0x1, 0x1F, 0x0, 0x1, 0x0, 0x37, 0x0, 0x0, 0x4, 0x47, 0x5, 0xB0, 0x0, 0x7, 0x0, 0x0, 0x21, 0x21, 0x1, 0x37, 0x1, 0x21, 0x11, 0x33, 0x4, 0x47, 0xFD, 0x85, 0xFE, 0x6B, 0x7E, 0x1, 0x59, 0x1, 0x46, 0xF3, 0x1, 0x74, 0x8E, 0xFE, 0xC5, 0x4, 0xE9, 0x0, 0x1, 0x0, 0x98, 0x0, 0x0, 0x4, 0x47, 0x5, 0xB0, 0x0, 0x8, 0x0, 0x0, 0x1, 0x11, 0x23, 0x1, 0x3, 0x27, 0x1, 0x1, 0x11, 0x4, 0x47, 0xF3, 0xFE, 0xF7, 0xFC, 0xB7, 0x1, 0xA5, 0x1, 0x17, 0x5, 0xB0, 0xFA, 0x50, 0x2, 0x8B, 0xFD, 0x75, 0x4B, 0x4, 0x2A, 0xFD, 0x55, 0x3, 0xE6, 0x0, 0x1, 0x0, 0xAB, 0x0, 0x0, 0x4, 0x47, 0x5, 0xB0, 0x0, 0x9, 0x0, 0x0, 0x1, 0x11, 0x23, 0x35, 0x5, 0x21, 0x35, 0x21, 0x1, 0x11, 0x4, 0x47, 0xF3, 0xFE, 0xEA, 0xFE, 0x6D, 0x1, 0x54, 0x1, 0x55, 0x5, 0xB0, 0xFA, 0x50, 0xFF, 0xFF, 0xC7, 0x1, 0x3B, 0x3, 0xAE, 0x0, 0x1, 0x0, 0x3C, 0x0, 0x0, 0x4, 0x47, 0x5, 0xB0, 0x0, 0x6, 0x0, 0x0, 0x1, 0x1, 0x27, 0x1, 0x33, 0x11, 0x23, 0x3, 0x54, 0xFD, 0x67, 0x7F, 0x3, 0x18, 0xF3, 0xF3, 0x4, 0xAE, 0xFD, 0x9C, 0x8D, 0x2, 0xD9, 0xFA, 0x50, 0x0, 0x1, 0x0, 0xA8, 0x0, 0x0, 0x4, 0x47, 0x5, 0xB0, 0x0, 0x9, 0x0, 0x0, 0x21, 0x23, 0x11, 0x1, 0x1, 0x27, 0x1, 0x5, 0x11, 0x33, 0x4, 0x47, 0xF3, 0xFE, 0xEB, 0xFE, 0xE8, 0x7F, 0x1, 0x95, 0x1, 0x17, 0xF3, 0x2, 0x75, 0x1, 0x0, 0xFF, 0x0, 0x8D, 0x1, 0x74, 0xFF, 0x2, 0x39, 0x0, 0x1, 0x0, 0x2C, 0x0, 0x0, 0x4, 0x47, 0x5, 0xB0, 0x0, 0x9, 0x0, 0x0, 0x1, 0x11, 0x33, 0x11, 0x23, 0x11, 0x21, 0x1, 0x27, 0x1, 0x3, 0x54, 0xF3, 0xF3, 0xFE, 0xAF, 0xFE, 0xA8, 0x7F, 0x1, 0x95, 0x4, 0x75, 0x1, 0x3B, 0xFA, 0x50, 0x3, 0xAF, 0xFE, 0xC5, 0x8D, 0x1, 0x74, 0x0, 0x1, 0x0, 0xA7, 0x0, 0x0, 0x4, 0x47, 0x5, 0xB0, 0x0, 0x8, 0x0, 0x0, 0x21, 0x23, 0x1, 0x7, 0x27, 0x1, 0x1, 0x11, 0x33, 0x4, 0x47, 0xF3, 0xFE, 0xAD, 0xDC, 0x7E, 0x1, 0x95, 0x1, 0x18, 0xF3, 0x3, 0x3F, 0xCB, 0x8D, 0x1, 0x74, 0xFD, 0x56, 0x3, 0xE5, 0x0, 0x1, 0x0, 0x94, 0x0, 0x0, 0x4, 0x47, 0x5, 0xB0, 0x0, 0x9, 0x0, 0x0, 0x21, 0x23, 0x11, 0x1, 0x7, 0x27, 0x1, 0x1, 0x11, 0x33, 0x4, 0x47, 0xF3, 0xFE, 0xB3, 0xF4, 0x7F, 0x1, 0x95, 0x1, 0x2B, 0xF3, 0x1, 0x3B, 0x2, 0x1C, 0xE2, 0x8D, 0x1, 0x74, 0xFE, 0x1C, 0x3, 0x1E, 0x0, 0x1, 0x0, 0xAB, 0x0, 0x0, 0x4, 0x47, 0x5, 0xB0, 0x0, 0x8, 0x0, 0x0, 0x1, 0x11, 0x23, 0x11, 0x3, 0x21, 0x35, 0x21, 0x1, 0x4, 0x47, 0xF3, 0xFD, 0xFE, 0x54, 0x1, 0x1F, 0x1, 0x8A, 0x5, 0xB0, 0xFA, 0x50, 0x3, 0x28, 0xFC, 0xD8, 0xC7, 0x4, 0xE9, 0x0, 0x1, 0x0, 0xBC, 0x0, 0x0, 0x4, 0x47, 0x5, 0xB0, 0x0, 0x9, 0x0, 0x0, 0x1, 0x11, 0x23, 0x11, 0x3, 0x21, 0x35, 0x21, 0x1, 0x11, 0x4, 0x47, 0xF3, 0xEE, 0xFE, 0x56, 0x1, 0x25, 0x1, 0x73, 0x5, 0xB0, 0xFA, 0x50, 0x2, 0x55, 0xFD, 0xAB, 0xC7, 0x3, 0xAE, 0x1, 0x3B, 0x0, 0x1, 0x0, 0xB2, 0x0, 0x0, 0x4, 0x47, 0x5, 0xB0, 0x0, 0x9, 0x0, 0x0, 0x1, 0x11, 0x23, 0x11, 0x1, 0x21, 0x35, 0x21, 0x1, 0x11, 0x4, 0x47, 0xF3, 0xFE, 0xF9, 0xFE, 0x65, 0x1, 0x2D, 0x1, 0x75, 0x5, 0xB0, 0xFA, 0x50, 0x1, 0xBC, 0xFE, 0x44, 0xC7, 0x2, 0x74, 0x2, 0x75, 0x0, 0x1, 0x0, 0x78, 0x0, 0x0, 0x3, 0x1B, 0x5, 0xB0, 0x0, 0x7, 0x0, 0x0, 0x21, 0x23, 0x11, 0x1, 0x37, 0x1, 0x11, 0x33, 0x3, 0x1B, 0xF3, 0xFE, 0x50, 0xA8, 0x1, 0x8, 0xF3, 0x1, 0x3B, 0x2, 0xD5, 0x66, 0xFE, 0x44, 0x2, 0xF6, 0x0, 0x1, 0x0, 0x84, 0x0, 0x0, 0x3, 0x1B, 0x5, 0xB0, 0x0, 0x6, 0x0, 0x0, 0x21, 0x23, 0x1, 0x37, 0x13, 0x11, 0x33, 0x3, 0x1B, 0xF3, 0xFE, 0x5C, 0xB6, 0xEE, 0xF3, 0x4, 0x2A, 0x4B, 0xFD, 0xAB, 0x3, 0x90, 0x0, 0x1, 0x0, 0xB2, 0x0, 0x0, 0x4, 0x47, 0x5, 0xB0, 0x0, 0x9, 0x0, 0x0, 0x1, 0x11, 0x23, 0x11, 0x1, 0x21, 0x35, 0x21, 0x1, 0x11, 0x4, 0x47, 0xF3, 0xFE, 0xF9, 0xFE, 0x65, 0x1, 0x2D, 0x1, 0x75, 0x5, 0xB0, 0xFA, 0x50, 0x2, 0xF6, 0xFE, 0x44, 0xC7, 0x2, 0x74, 0x1, 0x3B, 0x0, 0x1, 0x0, 0x93, 0x0, 0x0, 0x3, 0x1B, 0x5, 0xB0, 0x0, 0x6, 0x0, 0x0, 0x21, 0x23, 0x11, 0x5, 0x27, 0x1, 0x33, 0x3, 0x1B, 0xF3, 0xFE, 0xEA, 0x7F, 0x1, 0x95, 0xF3, 0x4, 0xAE, 0xFF, 0x8D, 0x1, 0x74, 0x0, 0x1, 0x0, 0x93, 0x0, 0x0, 0x3, 0x1B, 0x5, 0xB0, 0x0, 0x7, 0x0, 0x0, 0x21, 0x23, 0x11, 0x1, 0x37, 0x5, 0x11, 0x33, 0x3, 0x1B, 0xF3, 0xFE, 0x6B, 0x7F, 0x1, 0x16, 0xF3, 0x2, 0x75, 0x1, 0x74, 0x8D, 0xFF, 0x2, 0x39, 0x0, 0x3, 0xFB, 0x8F, 0x4, 0x94, 0x0, 0x31, 0x6, 0x41, 0x0, 0xD, 0x0, 0x1B, 0x0, 0x30, 0x0, 0x0, 0x3, 0x27, 0x36, 0x36, 0x35, 0x34, 0x26, 0x27, 0x37, 0x16, 0x16, 0x15, 0x14, 0x6, 0x5, 0x26, 0x26, 0x35, 0x34, 0x36, 0x37, 0x17, 0x6, 0x6, 0x15, 0x14, 0x16, 0x17, 0x1, 0x17, 0x14, 0x6, 0x23, 0x22, 0x26, 0x26, 0x23, 0x22, 0x6, 0x15, 0x27, 0x34, 0x36, 0x33, 0x32, 0x16, 0x33, 0x32, 0x36, 0x8A, 0xE, 0x22, 0x40, 0x3F, 0x23, 0xE, 0x3A, 0x81, 0x81, 0xFC, 0x9A, 0x3A, 0x81, 0x81, 0x3A, 0xE, 0x23, 0x3F, 0x3F, 0x23, 0x2, 0x63, 0x95, 0x81, 0x5F, 0x40, 0x50, 0x48, 0x36, 0x26, 0x34, 0x95, 0x7F, 0x5F, 0x52, 0x6F, 0x4D, 0x26, 0x36, 0x4, 0x94, 0x4A, 0x11, 0x3E, 0x3F, 0x3C, 0x3E, 0x10, 0x4B, 0xF, 0x6B, 0x5B, 0x5C, 0x6C, 0x10, 0x10, 0x6C, 0x5C, 0x5A, 0x6C, 0xF, 0x4B, 0x10, 0x40, 0x3A, 0x3E, 0x3F, 0x11, 0x1, 0x17, 0xC, 0x6F, 0x91, 0x2C, 0x2D, 0x39, 0x2E, 0x8, 0x6E, 0x96, 0x59, 0x39, 0x0, 0x5, 0xFA, 0xC2, 0x4, 0x94, 0x0, 0xFE, 0x6, 0x41, 0x0, 0xD, 0x0, 0x1B, 0x0, 0x29, 0x0, 0x37, 0x0, 0x4C, 0x0, 0x0, 0x13, 0x27, 0x36, 0x36, 0x35, 0x34, 0x26, 0x27, 0x37, 0x16, 0x16, 0x15, 0x14, 0x6, 0x5, 0x27, 0x36, 0x36, 0x35, 0x34, 0x26, 0x27, 0x37, 0x16, 0x16, 0x15, 0x14, 0x6, 0x5, 0x26, 0x26, 0x35, 0x34, 0x36, 0x37, 0x17, 0x6, 0x6, 0x15, 0x14, 0x16, 0x17, 0x7, 0x26, 0x26, 0x35, 0x34, 0x36, 0x37, 0x17, 0x6, 0x6, 0x15, 0x14, 0x16, 0x17, 0x1, 0x17, 0x14, 0x6, 0x23, 0x22, 0x26, 0x26, 0x23, 0x22, 0x6, 0x15, 0x27, 0x34, 0x36, 0x33, 0x32, 0x16, 0x33, 0x32, 0x36, 0x44, 0xE, 0x22, 0x3F, 0x3E, 0x23, 0xE, 0x39, 0x81, 0x81, 0xFE, 0xFF, 0xE, 0x22, 0x3F, 0x3E, 0x23, 0xE, 0x39, 0x81, 0x81, 0xFC, 0x8F, 0x39, 0x81, 0x81, 0x39, 0xE, 0x23, 0x3E, 0x3F, 0x22, 0xD6, 0x39, 0x81, 0x81, 0x39, 0xE, 0x23, 0x3E, 0x3F, 0x22, 0x3, 0x31, 0x95, 0x81, 0x5F, 0x40, 0x50, 0x48, 0x36, 0x26, 0x34, 0x95, 0x7F, 0x5F, 0x52, 0x6F, 0x4D, 0x26, 0x36, 0x4, 0x94, 0x4A, 0x11, 0x3E, 0x3F, 0x3C, 0x3E, 0x10, 0x4B, 0xF, 0x6B, 0x5B, 0x5C, 0x6C, 0x10, 0x4A, 0x11, 0x3E, 0x3F, 0x3C, 0x3E, 0x10, 0x4B, 0xF, 0x6B, 0x5B, 0x5C, 0x6C, 0x10, 0x10, 0x6C, 0x5C, 0x5A, 0x6C, 0xF, 0x4B, 0x10, 0x40, 0x3A, 0x3E, 0x3F, 0x11, 0x4A, 0x10, 0x6C, 0x5C, 0x5A, 0x6C, 0xF, 0x4B, 0x10, 0x40, 0x3A, 0x3E, 0x3F, 0x11, 0x1, 0x17, 0xC, 0x6F, 0x91, 0x2C, 0x2D, 0x39, 0x2E, 0x8, 0x6E, 0x96, 0x59, 0x39, 0x0, 0x3, 0xFB, 0x5E, 0x4, 0x94, 0x0, 0xC, 0x6, 0x41, 0x0, 0xD, 0x0, 0x1B, 0x0, 0x1F, 0x0, 0x0, 0x3, 0x27, 0x36, 0x36, 0x35, 0x34, 0x26, 0x27, 0x37, 0x16, 0x16, 0x15, 0x14, 0x6, 0x5, 0x26, 0x26, 0x35, 0x34, 0x36, 0x37, 0x17, 0x6, 0x6, 0x15, 0x14, 0x16, 0x17, 0x25, 0x15, 0x21, 0x35, 0xAF, 0xE, 0x22, 0x40, 0x3F, 0x23, 0xE, 0x3A, 0x81, 0x81, 0xFC, 0x8E, 0x3A, 0x81, 0x81, 0x3A, 0xE, 0x23, 0x3F, 0x3F, 0x23, 0x2, 0xE8, 0xFD, 0x51, 0x4, 0x94, 0x4A, 0x11, 0x3E, 0x3F, 0x3C, 0x3E, 0x10, 0x4B, 0xF, 0x6B, 0x5B, 0x5C, 0x6C, 0x10, 0x10, 0x6C, 0x5C, 0x5A, 0x6C, 0xF, 0x4B, 0x10, 0x40, 0x3A, 0x3E, 0x3F, 0x11, 0xD3, 0x9E, 0x9E, 0x0, 0x4, 0xFB, 0x1B, 0x4, 0x94, 0xFF, 0xB4, 0x6, 0x41, 0x0, 0xD, 0x0, 0x1B, 0x0, 0x27, 0x0, 0x33, 0x0, 0x0, 0x1, 0x27, 0x36, 0x36, 0x35, 0x34, 0x26, 0x27, 0x37, 0x16, 0x16, 0x15, 0x14, 0x6, 0x5, 0x26, 0x26, 0x35, 0x34, 0x36, 0x37, 0x17, 0x6, 0x6, 0x15, 0x14, 0x16, 0x17, 0x37, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x6, 0x23, 0x22, 0x26, 0x25, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x6, 0x23, 0x22, 0x26, 0xFE, 0xF9, 0xE, 0x22, 0x40, 0x3F, 0x23, 0xE, 0x3A, 0x81, 0x81, 0xFC, 0xA3, 0x3A, 0x81, 0x81, 0x3A, 0xE, 0x23, 0x3F, 0x3F, 0x23, 0x20, 0x43, 0x3B, 0x3A, 0x45, 0x45, 0x3A, 0x3B, 0x43, 0x1, 0xC9, 0x43, 0x3B, 0x3A, 0x45, 0x45, 0x3A, 0x3B, 0x43, 0x4, 0x94, 0x4A, 0x11, 0x3E, 0x3F, 0x3C, 0x3E, 0x10, 0x4B, 0xF, 0x6B, 0x5B, 0x5C, 0x6C, 0x10, 0x10, 0x6C, 0x5C, 0x5A, 0x6C, 0xF, 0x4B, 0x10, 0x40, 0x3A, 0x3E, 0x3F, 0x11, 0x78, 0x32, 0x45, 0x45, 0x32, 0x31, 0x44, 0x44, 0x30, 0x32, 0x45, 0x45, 0x32, 0x31, 0x44, 0x44, 0x0, 0x3, 0xFB, 0x6A, 0x4, 0x94, 0x0, 0xD, 0x6, 0x41, 0x0, 0xD, 0x0, 0x1B, 0x0, 0x24, 0x0, 0x0, 0x3, 0x27, 0x36, 0x36, 0x35, 0x34, 0x26, 0x27, 0x37, 0x16, 0x16, 0x15, 0x14, 0x6, 0x5, 0x26, 0x26, 0x35, 0x34, 0x36, 0x37, 0x17, 0x6, 0x6, 0x15, 0x14, 0x16, 0x17, 0x13, 0x17, 0x37, 0x33, 0x15, 0x5, 0x23, 0x25, 0x35, 0xAE, 0xE, 0x22, 0x40, 0x3F, 0x23, 0xE, 0x3A, 0x81, 0x81, 0xFC, 0x98, 0x39, 0x81, 0x81, 0x39, 0xE, 0x23, 0x3E, 0x3F, 0x22, 0xFB, 0x8C, 0x8B, 0xD0, 0xFE, 0xF3, 0x9D, 0xFE, 0xF6, 0x4, 0x94, 0x4A, 0x11, 0x3E, 0x3F, 0x3C, 0x3E, 0x10, 0x4B, 0xF, 0x6B, 0x5B, 0x5C, 0x6C, 0x10, 0x10, 0x6C, 0x5C, 0x5A, 0x6C, 0xF, 0x4B, 0x10, 0x40, 0x3A, 0x3E, 0x3F, 0x11, 0x1, 0x14, 0x8F, 0x8F, 0x12, 0xFC, 0xFB, 0x13, 0x0, 0x3, 0xFB, 0xD6, 0xFD, 0xF2, 0xFF, 0xD5, 0xFF, 0xBA, 0x0, 0xB, 0x0, 0x19, 0x0, 0x27, 0x0, 0x0, 0x5, 0x33, 0x11, 0x14, 0x33, 0x37, 0x15, 0x6, 0x23, 0x22, 0x26, 0x35, 0x5, 0x27, 0x36, 0x36, 0x35, 0x34, 0x26, 0x27, 0x37, 0x16, 0x16, 0x15, 0x14, 0x6, 0x5, 0x26, 0x26, 0x35, 0x34, 0x36, 0x37, 0x17, 0x6, 0x6, 0x15, 0x14, 0x16, 0x17, 0xFD, 0x60, 0xA4, 0x33, 0x2B, 0x22, 0x30, 0x4D, 0x63, 0x1, 0xBA, 0xE, 0x22, 0x40, 0x3F, 0x23, 0xE, 0x3A, 0x81, 0x81, 0xFD, 0x3D, 0x3A, 0x81, 0x81, 0x3A, 0xE, 0x23, 0x3F, 0x3F, 0x23, 0x46, 0xFE, 0xF6, 0x48, 0x4, 0x6E, 0xC, 0x57, 0x63, 0xB5, 0x49, 0x11, 0x3F, 0x3F, 0x3B, 0x3D, 0x11, 0x4C, 0xF, 0x6B, 0x5B, 0x5C, 0x6D, 0xF, 0xF, 0x6D, 0x5C, 0x59, 0x6D, 0xF, 0x4C, 0x11, 0x3F, 0x39, 0x3F, 0x3F, 0x11, 0x0, 0x4, 0xFB, 0xE, 0xFE, 0x30, 0xFF, 0xC3, 0xFF, 0xDD, 0x0, 0xD, 0x0, 0x1B, 0x0, 0x23, 0x0, 0x2B, 0x0, 0x0, 0x3, 0x27, 0x36, 0x36, 0x35, 0x34, 0x26, 0x27, 0x37, 0x16, 0x16, 0x15, 0x14, 0x6, 0x5, 0x26, 0x26, 0x35, 0x34, 0x36, 0x37, 0x17, 0x6, 0x6, 0x15, 0x14, 0x16, 0x17, 0x36, 0x36, 0x32, 0x16, 0x14, 0x6, 0x22, 0x26, 0x24, 0x36, 0x32, 0x16, 0x14, 0x6, 0x22, 0x26, 0xF8, 0xE, 0x22, 0x40, 0x3F, 0x23, 0xE, 0x3A, 0x81, 0x81, 0xFC, 0x87, 0x3A, 0x81, 0x81, 0x3A, 0xE, 0x23, 0x3F, 0x3F, 0x23, 0x2C, 0x43, 0x76, 0x44, 0x44, 0x76, 0x43, 0x1, 0xC9, 0x43, 0x76, 0x44, 0x44, 0x76, 0x43, 0xFE, 0x30, 0x49, 0x11, 0x3F, 0x3F, 0x3B, 0x3D, 0x11, 0x4C, 0xF, 0x6B, 0x5B, 0x5C, 0x6D, 0xF, 0xF, 0x6D, 0x5C, 0x59, 0x6D, 0xF, 0x4C, 0x11, 0x3F, 0x39, 0x3F, 0x3F, 0x11, 0xC7, 0x45, 0x45, 0x64, 0x43, 0x43, 0x63, 0x45, 0x45, 0x64, 0x43, 0x43, 0x0, 0x3, 0xFB, 0x9A, 0xFE, 0x29, 0xFF, 0xC9, 0xFF, 0xD6, 0x0, 0xD, 0x0, 0x1B, 0x0, 0x23, 0x0, 0x0, 0x3, 0x27, 0x36, 0x36, 0x35, 0x34, 0x26, 0x27, 0x37, 0x16, 0x16, 0x15, 0x14, 0x6, 0x5, 0x26, 0x26, 0x35, 0x34, 0x36, 0x37, 0x17, 0x6, 0x6, 0x15, 0x14, 0x16, 0x17, 0x36, 0x36, 0x32, 0x16, 0x14, 0x6, 0x22, 0x26, 0xF2, 0xE, 0x22, 0x40, 0x3F, 0x23, 0xE, 0x3A, 0x81, 0x81, 0xFD, 0xC, 0x39, 0x81, 0x81, 0x39, 0xE, 0x23, 0x3E, 0x3F, 0x22, 0xB9, 0x49, 0x82, 0x49, 0x49, 0x82, 0x49, 0xFE, 0x29, 0x49, 0x11, 0x3F, 0x3F, 0x3B, 0x3D, 0x11, 0x4C, 0xF, 0x6B, 0x5B, 0x5C, 0x6D, 0xF, 0xF, 0x6D, 0x5C, 0x59, 0x6D, 0xF, 0x4C, 0x11, 0x3F, 0x39, 0x3F, 0x3F, 0x11, 0xD0, 0x49, 0x49, 0x68, 0x47, 0x47, 0x0, 0x4, 0xFB, 0xA0, 0xFE, 0x22, 0xFF, 0xD3, 0xFF, 0xCF, 0x0, 0xD, 0x0, 0x1B, 0x0, 0x25, 0x0, 0x2F, 0x0, 0x0, 0x3, 0x27, 0x36, 0x36, 0x35, 0x34, 0x26, 0x27, 0x37, 0x16, 0x16, 0x15, 0x14, 0x6, 0x5, 0x26, 0x26, 0x35, 0x34, 0x36, 0x37, 0x17, 0x6, 0x6, 0x15, 0x14, 0x16, 0x17, 0x36, 0x36, 0x33, 0x32, 0x16, 0x14, 0x6, 0x23, 0x22, 0x26, 0x37, 0x14, 0x16, 0x32, 0x36, 0x35, 0x34, 0x26, 0x22, 0x6, 0xE8, 0xE, 0x22, 0x40, 0x3F, 0x23, 0xE, 0x3A, 0x81, 0x81, 0xFD, 0x9, 0x3A, 0x81, 0x81, 0x3A, 0xE, 0x23, 0x3F, 0x3F, 0x23, 0x74, 0x7E, 0x5F, 0x5E, 0x80, 0x80, 0x5E, 0x5F, 0x7E, 0x6D, 0x3E, 0x64, 0x3E, 0x3E, 0x64, 0x3E, 0xFE, 0x22, 0x49, 0x11, 0x3F, 0x3F, 0x3B, 0x3D, 0x11, 0x4C, 0xF, 0x6B, 0x5B, 0x5C, 0x6D, 0xF, 0xF, 0x6D, 0x5C, 0x59, 0x6D, 0xF, 0x4C, 0x11, 0x3F, 0x39, 0x3F, 0x3F, 0x11, 0xDD, 0x7A, 0x7A, 0xAC, 0x76, 0x76, 0x56, 0x2C, 0x43, 0x43, 0x2C, 0x2E, 0x44, 0x44, 0x0, 0x3, 0xFB, 0xA6, 0xFE, 0xE, 0xFF, 0xD9, 0xFF, 0xC2, 0x0, 0xD, 0x0, 0x1B, 0x0, 0x1F, 0x0, 0x0, 0x3, 0x27, 0x36, 0x36, 0x35, 0x34, 0x26, 0x27, 0x37, 0x16, 0x16, 0x15, 0x14, 0x6, 0x5, 0x26, 0x26, 0x35, 0x34, 0x36, 0x37, 0x17, 0x6, 0x6, 0x15, 0x14, 0x16, 0x17, 0x1, 0x11, 0x23, 0x11, 0xE1, 0xE, 0x22, 0x3F, 0x3E, 0x23, 0xE, 0x39, 0x81, 0x81, 0xFD, 0x9, 0x3A, 0x81, 0x81, 0x3A, 0xE, 0x23, 0x3F, 0x40, 0x22, 0x1, 0x9C, 0xA7, 0xFE, 0x15, 0x49, 0x11, 0x3F, 0x3F, 0x3B, 0x3D, 0x11, 0x4C, 0xF, 0x6B, 0x5B, 0x5C, 0x6D, 0xF, 0xF, 0x6D, 0x5C, 0x59, 0x6D, 0xF, 0x4C, 0x11, 0x3F, 0x39, 0x3F, 0x3F, 0x11, 0x1, 0x55, 0xFE, 0x5B, 0x1, 0xA5, 0x0, 0x3, 0xFB, 0x78, 0xFE, 0x1B, 0x0, 0x0, 0xFF, 0xC8, 0x0, 0xD, 0x0, 0x1B, 0x0, 0x28, 0x0, 0x0, 0x3, 0x27, 0x36, 0x36, 0x35, 0x34, 0x26, 0x27, 0x37, 0x16, 0x16, 0x15, 0x14, 0x6, 0x5, 0x26, 0x26, 0x35, 0x34, 0x36, 0x37, 0x17, 0x6, 0x6, 0x15, 0x14, 0x16, 0x17, 0x25, 0x23, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x23, 0x34, 0x36, 0x20, 0x16, 0xBB, 0xE, 0x22, 0x40, 0x3F, 0x23, 0xE, 0x3A, 0x81, 0x81, 0xFC, 0xB3, 0x39, 0x81, 0x81, 0x39, 0xE, 0x23, 0x3E, 0x3F, 0x22, 0x2, 0xBB, 0xB7, 0x40, 0x4C, 0x4D, 0x40, 0xB6, 0xAE, 0x1, 0x2A, 0xAE, 0xFE, 0x1B, 0x4A, 0x11, 0x3E, 0x3F, 0x3C, 0x3D, 0x11, 0x4B, 0xF, 0x6B, 0x5B, 0x5C, 0x6D, 0xF, 0xF, 0x6D, 0x5C, 0x5A, 0x6C, 0xF, 0x4B, 0x11, 0x3F, 0x3A, 0x3E, 0x3F, 0x11, 0x1E, 0x37, 0x53, 0x53, 0x37, 0x7C, 0x9E, 0x9E, 0x0, 0x3, 0xFB, 0x50, 0xFE, 0x15, 0x0, 0x20, 0xFF, 0xC2, 0x0, 0xD, 0x0, 0x1B, 0x0, 0x30, 0x0, 0x0, 0x3, 0x27, 0x36, 0x36, 0x35, 0x34, 0x26, 0x27, 0x37, 0x16, 0x16, 0x15, 0x14, 0x6, 0x5, 0x26, 0x26, 0x35, 0x34, 0x36, 0x37, 0x17, 0x6, 0x6, 0x15, 0x14, 0x16, 0x17, 0x1, 0x17, 0x14, 0x6, 0x23, 0x22, 0x26, 0x26, 0x23, 0x22, 0x6, 0x15, 0x27, 0x34, 0x36, 0x33, 0x32, 0x16, 0x33, 0x32, 0x36, 0x9A, 0xE, 0x22, 0x3F, 0x3E, 0x23, 0xE, 0x39, 0x81, 0x81, 0xFC, 0x6C, 0x3A, 0x81, 0x81, 0x3A, 0xE, 0x23, 0x3F, 0x40, 0x22, 0x2, 0x73, 0x94, 0x80, 0x5F, 0x41, 0x50, 0x47, 0x36, 0x26, 0x35, 0x95, 0x7F, 0x60, 0x52, 0x6F, 0x4D, 0x26, 0x36, 0xFE, 0x15, 0x49, 0x11, 0x3F, 0x3F, 0x3B, 0x3D, 0x11, 0x4C, 0xF, 0x6B, 0x5B, 0x5C, 0x6D, 0xF, 0xF, 0x6D, 0x5C, 0x59, 0x6D, 0xF, 0x4C, 0x11, 0x3F, 0x39, 0x3F, 0x3F, 0x11, 0x1, 0x35, 0xC, 0x6F, 0x91, 0x2C, 0x2D, 0x39, 0x2E, 0x8, 0x6E, 0x96, 0x59, 0x39, 0x0, 0x3, 0xFC, 0x2C, 0xFE, 0x18, 0x0, 0x4D, 0x0, 0x96, 0x0, 0x3, 0x0, 0x11, 0x0, 0x1F, 0x0, 0x0, 0x27, 0x1, 0x27, 0x1, 0x13, 0x27, 0x36, 0x36, 0x35, 0x34, 0x26, 0x27, 0x37, 0x16, 0x16, 0x15, 0x14, 0x6, 0x5, 0x26, 0x26, 0x35, 0x34, 0x36, 0x37, 0x17, 0x6, 0x6, 0x15, 0x14, 0x16, 0x17, 0xC8, 0xFE, 0xA1, 0x7E, 0x1, 0x64, 0xD3, 0xD, 0x22, 0x3F, 0x3F, 0x22, 0xD, 0x3A, 0x81, 0x81, 0xFD, 0x1B, 0x3A, 0x81, 0x81, 0x3A, 0xD, 0x23, 0x3E, 0x3F, 0x22, 0x4B, 0xFD, 0xCD, 0x49, 0x2, 0x35, 0xFD, 0x9D, 0x4A, 0x11, 0x3E, 0x3F, 0x3C, 0x3D, 0x11, 0x4B, 0xF, 0x6B, 0x5B, 0x5C, 0x6D, 0xF, 0xF, 0x6D, 0x5C, 0x5A, 0x6C, 0xF, 0x4B, 0x11, 0x3F, 0x3A, 0x3E, 0x3F, 0x11, 0x0, 0x3, 0xFC, 0x19, 0xFE, 0x10, 0x0, 0x3E, 0x0, 0x96, 0x0, 0xD, 0x0, 0x1B, 0x0, 0x29, 0x0, 0x0, 0x1, 0x22, 0x26, 0x35, 0x34, 0x36, 0x37, 0x13, 0x17, 0x3, 0x16, 0x15, 0x14, 0x6, 0x25, 0x27, 0x36, 0x36, 0x35, 0x34, 0x26, 0x27, 0x37, 0x16, 0x16, 0x15, 0x14, 0x6, 0x5, 0x26, 0x26, 0x35, 0x34, 0x36, 0x37, 0x17, 0x6, 0x6, 0x15, 0x14, 0x16, 0x17, 0xFD, 0xD2, 0x33, 0x48, 0x43, 0x31, 0xFC, 0x78, 0xFA, 0x9, 0x48, 0x1, 0x7D, 0xE, 0x22, 0x40, 0x3F, 0x23, 0xE, 0x3A, 0x81, 0x81, 0xFD, 0x16, 0x39, 0x81, 0x81, 0x39, 0xE, 0x23, 0x3E, 0x3F, 0x22, 0xFE, 0x10, 0x48, 0x33, 0x32, 0x47, 0x3, 0x1, 0x8F, 0x4B, 0xFE, 0x70, 0x17, 0x19, 0x33, 0x48, 0x2C, 0x4A, 0x11, 0x3E, 0x3F, 0x3C, 0x3D, 0x11, 0x4B, 0xF, 0x6B, 0x5B, 0x5C, 0x6D, 0xF, 0xF, 0x6D, 0x5C, 0x5A, 0x6C, 0xF, 0x4B, 0x11, 0x3F, 0x3A, 0x3E, 0x3F, 0x11, 0x0, 0x4, 0xFB, 0x6D, 0xFD, 0xF2, 0xFF, 0xF0, 0xFF, 0xBA, 0x0, 0xB, 0x0, 0x17, 0x0, 0x25, 0x0, 0x33, 0x0, 0x0, 0x5, 0x33, 0x11, 0x14, 0x33, 0x37, 0x15, 0x6, 0x23, 0x22, 0x26, 0x35, 0x1, 0x33, 0x11, 0x14, 0x33, 0x37, 0x15, 0x6, 0x23, 0x22, 0x26, 0x35, 0x5, 0x27, 0x36, 0x36, 0x35, 0x34, 0x26, 0x27, 0x37, 0x16, 0x16, 0x15, 0x14, 0x6, 0x5, 0x26, 0x26, 0x35, 0x34, 0x36, 0x37, 0x17, 0x6, 0x6, 0x15, 0x14, 0x16, 0x17, 0xFD, 0xDD, 0xA4, 0x33, 0x2B, 0x22, 0x30, 0x4D, 0x63, 0xFE, 0xAC, 0xA3, 0x34, 0x2B, 0x24, 0x2E, 0x4D, 0x63, 0x2, 0xAC, 0xE, 0x22, 0x40, 0x3F, 0x23, 0xE, 0x3A, 0x81, 0x81, 0xFC, 0xB8, 0x39, 0x81, 0x81, 0x39, 0xE, 0x23, 0x3E, 0x3F, 0x22, 0x46, 0xFE, 0xF6, 0x48, 0x4, 0x6E, 0xC, 0x57, 0x63, 0x1, 0xE, 0xFE, 0xF6, 0x48, 0x4, 0x6E, 0xC, 0x57, 0x63, 0xB4, 0x49, 0x11, 0x3F, 0x3F, 0x3B, 0x3D, 0x11, 0x4C, 0xF, 0x6B, 0x5B, 0x5C, 0x6D, 0xF, 0xF, 0x6D, 0x5C, 0x59, 0x6D, 0xF, 0x4C, 0x11, 0x3E, 0x3A, 0x3F, 0x3F, 0x11, 0x0, 0x2, 0x0, 0x63, 0xFF, 0xEB, 0x4, 0x86, 0x4, 0xA0, 0x0, 0xD, 0x0, 0x1B, 0x0, 0x0, 0x1, 0x10, 0x0, 0x23, 0x22, 0x0, 0x3, 0x35, 0x10, 0x0, 0x33, 0x32, 0x0, 0x13, 0x27, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x4, 0x86, 0xFE, 0xD3, 0xE3, 0xE1, 0xFE, 0xD0, 0x2, 0x1, 0x2F, 0xE2, 0xE1, 0x1, 0x2E, 0x3, 0xF3, 0xA2, 0x7D, 0x7C, 0xA3, 0xA5, 0x7C, 0x7D, 0xA0, 0x2, 0x3E, 0xFE, 0xD8, 0xFE, 0xD5, 0x1, 0x28, 0x1, 0x23, 0x17, 0x1, 0x29, 0x1, 0x2A, 0xFE, 0xDB, 0xFE, 0xDE, 0x5, 0xC4, 0xBB, 0xBB, 0xC4, 0x2F, 0xC4, 0xBD, 0xBD, 0xC4, 0x0, 0x2, 0xFC, 0x11, 0x0, 0x0, 0x0, 0x0, 0x1, 0xAD, 0x0, 0xD, 0x0, 0x1B, 0x0, 0x0, 0x23, 0x27, 0x36, 0x36, 0x35, 0x34, 0x26, 0x27, 0x37, 0x16, 0x16, 0x15, 0x14, 0x6, 0x5, 0x26, 0x26, 0x35, 0x34, 0x36, 0x37, 0x17, 0x6, 0x6, 0x15, 0x14, 0x16, 0x17, 0xBB, 0xE, 0x22, 0x40, 0x3F, 0x23, 0xE, 0x3A, 0x81, 0x81, 0xFD, 0x4D, 0x39, 0x82, 0x82, 0x39, 0xE, 0x23, 0x3E, 0x3F, 0x22, 0x4A, 0x11, 0x3E, 0x3F, 0x3C, 0x3E, 0x10, 0x4B, 0xF, 0x6B, 0x5B, 0x5C, 0x6D, 0xF, 0xF, 0x6D, 0x5C, 0x5A, 0x6C, 0xF, 0x4B, 0x10, 0x40, 0x3A, 0x3E, 0x3F, 0x11, 0x0, 0x2, 0xFB, 0x5E, 0x0, 0x0, 0x0, 0x0, 0x1, 0xAD, 0x0, 0xD, 0x0, 0x1B, 0x0, 0x0, 0x23, 0x27, 0x36, 0x36, 0x35, 0x34, 0x26, 0x27, 0x37, 0x16, 0x16, 0x15, 0x14, 0x6, 0x5, 0x26, 0x26, 0x35, 0x34, 0x36, 0x37, 0x17, 0x6, 0x6, 0x15, 0x14, 0x16, 0x17, 0xBB, 0xE, 0x22, 0x40, 0x3F, 0x23, 0xE, 0x3A, 0x81, 0x81, 0xFC, 0x9A, 0x39, 0x82, 0x82, 0x39, 0xE, 0x23, 0x3E, 0x3F, 0x22, 0x4A, 0x11, 0x3E, 0x3F, 0x3C, 0x3E, 0x10, 0x4B, 0xF, 0x6B, 0x5B, 0x5C, 0x6D, 0xF, 0xF, 0x6D, 0x5C, 0x5A, 0x6C, 0xF, 0x4B, 0x10, 0x40, 0x3A, 0x3E, 0x3F, 0x11, 0x0, 0x2, 0xFA, 0x4E, 0x0, 0x0, 0x0, 0x0, 0x1, 0xAD, 0x0, 0xD, 0x0, 0x1B, 0x0, 0x0, 0x23, 0x27, 0x36, 0x36, 0x35, 0x34, 0x26, 0x27, 0x37, 0x16, 0x16, 0x15, 0x14, 0x6, 0x5, 0x26, 0x26, 0x35, 0x34, 0x36, 0x37, 0x17, 0x6, 0x6, 0x15, 0x14, 0x16, 0x17, 0xBB, 0xE, 0x22, 0x40, 0x3F, 0x23, 0xE, 0x3A, 0x81, 0x81, 0xFB, 0x8A, 0x39, 0x82, 0x82, 0x39, 0xE, 0x23, 0x3E, 0x3F, 0x22, 0x4A, 0x11, 0x3E, 0x3F, 0x3C, 0x3E, 0x10, 0x4B, 0xF, 0x6B, 0x5B, 0x5C, 0x6D, 0xF, 0xF, 0x6D, 0x5C, 0x5A, 0x6C, 0xF, 0x4B, 0x10, 0x40, 0x3A, 0x3E, 0x3F, 0x11, 0x0, 0x4, 0xFA, 0x81, 0x0, 0x0, 0x0, 0x0, 0x1, 0xAD, 0x0, 0xD, 0x0, 0x1B, 0x0, 0x29, 0x0, 0x37, 0x0, 0x0, 0x23, 0x27, 0x36, 0x36, 0x35, 0x34, 0x26, 0x27, 0x37, 0x16, 0x16, 0x15, 0x14, 0x6, 0x5, 0x26, 0x26, 0x35, 0x34, 0x36, 0x37, 0x17, 0x6, 0x6, 0x15, 0x14, 0x16, 0x17, 0x5, 0x27, 0x36, 0x36, 0x35, 0x34, 0x26, 0x27, 0x37, 0x16, 0x16, 0x15, 0x14, 0x6, 0x5, 0x26, 0x26, 0x35, 0x34, 0x36, 0x37, 0x17, 0x6, 0x6, 0x15, 0x14, 0x16, 0x17, 0xBB, 0xE, 0x22, 0x40, 0x3F, 0x23, 0xE, 0x3A, 0x81, 0x81, 0xFB, 0xBD, 0x39, 0x82, 0x82, 0x39, 0xE, 0x23, 0x3E, 0x3F, 0x22, 0x3, 0x33, 0xE, 0x22, 0x40, 0x3F, 0x23, 0xE, 0x3A, 0x81, 0x81, 0xFD, 0x4D, 0x39, 0x82, 0x82, 0x39, 0xE, 0x23, 0x3E, 0x3F, 0x22, 0x4A, 0x11, 0x3E, 0x3F, 0x3C, 0x3E, 0x10, 0x4B, 0xF, 0x6B, 0x5B, 0x5C, 0x6D, 0xF, 0xF, 0x6D, 0x5C, 0x5A, 0x6C, 0xF, 0x4B, 0x10, 0x40, 0x3A, 0x3E, 0x3F, 0x11, 0x4A, 0x4A, 0x11, 0x3E, 0x3F, 0x3C, 0x3E, 0x10, 0x4B, 0xF, 0x6B, 0x5B, 0x5C, 0x6D, 0xF, 0xF, 0x6D, 0x5C, 0x5A, 0x6C, 0xF, 0x4B, 0x10, 0x40, 0x3A, 0x3E, 0x3F, 0x11, 0x0, 0x4, 0xF9, 0xCE, 0x0, 0x0, 0x0, 0x0, 0x1, 0xAD, 0x0, 0xD, 0x0, 0x1B, 0x0, 0x29, 0x0, 0x37, 0x0, 0x0, 0x23, 0x27, 0x36, 0x36, 0x35, 0x34, 0x26, 0x27, 0x37, 0x16, 0x16, 0x15, 0x14, 0x6, 0x5, 0x26, 0x26, 0x35, 0x34, 0x36, 0x37, 0x17, 0x6, 0x6, 0x15, 0x14, 0x16, 0x17, 0x5, 0x27, 0x36, 0x36, 0x35, 0x34, 0x26, 0x27, 0x37, 0x16, 0x16, 0x15, 0x14, 0x6, 0x5, 0x26, 0x26, 0x35, 0x34, 0x36, 0x37, 0x17, 0x6, 0x6, 0x15, 0x14, 0x16, 0x17, 0xBB, 0xE, 0x22, 0x40, 0x3F, 0x23, 0xE, 0x3A, 0x81, 0x81, 0xFB, 0xA, 0x39, 0x82, 0x82, 0x39, 0xE, 0x23, 0x3E, 0x3F, 0x22, 0x3, 0xE6, 0xE, 0x22, 0x40, 0x3F, 0x23, 0xE, 0x3A, 0x81, 0x81, 0xFC, 0x9A, 0x39, 0x82, 0x82, 0x39, 0xE, 0x23, 0x3E, 0x3F, 0x22, 0x4A, 0x11, 0x3E, 0x3F, 0x3C, 0x3E, 0x10, 0x4B, 0xF, 0x6B, 0x5B, 0x5C, 0x6D, 0xF, 0xF, 0x6D, 0x5C, 0x5A, 0x6C, 0xF, 0x4B, 0x10, 0x40, 0x3A, 0x3E, 0x3F, 0x11, 0x4A, 0x4A, 0x11, 0x3E, 0x3F, 0x3C, 0x3E, 0x10, 0x4B, 0xF, 0x6B, 0x5B, 0x5C, 0x6D, 0xF, 0xF, 0x6D, 0x5C, 0x5A, 0x6C, 0xF, 0x4B, 0x10, 0x40, 0x3A, 0x3E, 0x3F, 0x11, 0x0, 0x4, 0xF8, 0xBE, 0x0, 0x0, 0x0, 0x0, 0x1, 0xAD, 0x0, 0xD, 0x0, 0x1B, 0x0, 0x29, 0x0, 0x37, 0x0, 0x0, 0x23, 0x27, 0x36, 0x36, 0x35, 0x34, 0x26, 0x27, 0x37, 0x16, 0x16, 0x15, 0x14, 0x6, 0x5, 0x26, 0x26, 0x35, 0x34, 0x36, 0x37, 0x17, 0x6, 0x6, 0x15, 0x14, 0x16, 0x17, 0x5, 0x27, 0x36, 0x36, 0x35, 0x34, 0x26, 0x27, 0x37, 0x16, 0x16, 0x15, 0x14, 0x6, 0x5, 0x26, 0x26, 0x35, 0x34, 0x36, 0x37, 0x17, 0x6, 0x6, 0x15, 0x14, 0x16, 0x17, 0xBB, 0xE, 0x22, 0x40, 0x3F, 0x23, 0xE, 0x3A, 0x81, 0x81, 0xF9, 0xFA, 0x39, 0x82, 0x82, 0x39, 0xE, 0x23, 0x3E, 0x3F, 0x22, 0x4, 0xF6, 0xE, 0x22, 0x40, 0x3F, 0x23, 0xE, 0x3A, 0x81, 0x81, 0xFB, 0x8A, 0x39, 0x82, 0x82, 0x39, 0xE, 0x23, 0x3E, 0x3F, 0x22, 0x4A, 0x11, 0x3E, 0x3F, 0x3C, 0x3E, 0x10, 0x4B, 0xF, 0x6B, 0x5B, 0x5C, 0x6D, 0xF, 0xF, 0x6D, 0x5C, 0x5A, 0x6C, 0xF, 0x4B, 0x10, 0x40, 0x3A, 0x3E, 0x3F, 0x11, 0x4A, 0x4A, 0x11, 0x3E, 0x3F, 0x3C, 0x3E, 0x10, 0x4B, 0xF, 0x6B, 0x5B, 0x5C, 0x6D, 0xF, 0xF, 0x6D, 0x5C, 0x5A, 0x6C, 0xF, 0x4B, 0x10, 0x40, 0x3A, 0x3E, 0x3F, 0x11, 0x0, 0x1, 0x0, 0x3A, 0x0, 0x0, 0x3, 0xEB, 0x5, 0xB0, 0x0, 0x6, 0x0, 0x0, 0x1, 0x15, 0x1, 0x23, 0x1, 0x21, 0x35, 0x3, 0xEB, 0xFD, 0xD3, 0xF3, 0x2, 0x2C, 0xFD, 0x43, 0x5, 0xB0, 0x86, 0xFA, 0xD6, 0x4, 0xED, 0xC3, 0x0, 0x2, 0x0, 0x7D, 0xFF, 0xEC, 0x4, 0x46, 0x6, 0x0, 0x0, 0xF, 0x0, 0x1B, 0x0, 0x0, 0x5, 0x22, 0x27, 0x7, 0x23, 0x11, 0x33, 0x11, 0x36, 0x33, 0x32, 0x12, 0x17, 0x15, 0x14, 0x2, 0x25, 0x32, 0x36, 0x35, 0x35, 0x34, 0x26, 0x23, 0x22, 0x7, 0x11, 0x16, 0x2, 0x8D, 0xC0, 0x6D, 0x11, 0xD2, 0xF2, 0x6A, 0xB2, 0xCF, 0xEA, 0x2, 0xEB, 0xFE, 0xF4, 0x87, 0x7E, 0x7F, 0x88, 0x9A, 0x44, 0x47, 0x14, 0x8F, 0x7B, 0x6, 0x0, 0xFD, 0xD2, 0x7C, 0xFE, 0xD5, 0xF4, 0x1D, 0xEC, 0xFE, 0xC6, 0xC7, 0xCE, 0x91, 0x15, 0x96, 0xCB, 0x87, 0xFE, 0x3B, 0x89, 0x0, 0x1, 0x0, 0x51, 0xFF, 0xEC, 0x4, 0x1, 0x4, 0x4E, 0x0, 0x1B, 0x0, 0x0, 0x25, 0x32, 0x36, 0x37, 0x33, 0x6, 0x4, 0x23, 0x22, 0x2, 0x35, 0x35, 0x34, 0x12, 0x33, 0x32, 0x16, 0x17, 0x23, 0x26, 0x26, 0x23, 0x22, 0x6, 0x15, 0x15, 0x14, 0x16, 0x2, 0x42, 0x59, 0x7C, 0x5, 0xE5, 0x7, 0xFE, 0xFF, 0xB5, 0xFA, 0xF9, 0xFA, 0xF9, 0xC5, 0xF1, 0x7, 0xE5, 0x5, 0x73, 0x63, 0x94, 0x69, 0x68, 0xAF, 0x68, 0x4F, 0x9D, 0xDD, 0x1, 0x40, 0xDF, 0x24, 0xDE, 0x1, 0x41, 0xE4, 0xB3, 0x57, 0x7D, 0xDB, 0x81, 0x24, 0x83, 0xD9, 0x0, 0x2, 0x0, 0x50, 0xFF, 0xEC, 0x4, 0x17, 0x6, 0x0, 0x0, 0xB, 0x0, 0x1B, 0x0, 0x0, 0x25, 0x32, 0x37, 0x11, 0x26, 0x23, 0x22, 0x6, 0x15, 0x15, 0x14, 0x16, 0x5, 0x27, 0x6, 0x23, 0x22, 0x2, 0x35, 0x35, 0x34, 0x12, 0x33, 0x32, 0x17, 0x11, 0x33, 0x11, 0x2, 0x4B, 0x92, 0x47, 0x46, 0x91, 0x84, 0x87, 0x86, 0x1, 0x7D, 0x11, 0x6E, 0xB9, 0xC4, 0xF9, 0xF9, 0xC6, 0xAB, 0x6A, 0xF3, 0xB3, 0x80, 0x1, 0xD9, 0x7C, 0xCC, 0x96, 0x15, 0x90, 0xCE, 0xB3, 0x75, 0x89, 0x1, 0x39, 0xEC, 0x15, 0xF7, 0x1, 0x31, 0x76, 0x2, 0x28, 0xFA, 0x0, 0x0, 0x2, 0x0, 0x50, 0xFE, 0x56, 0x4, 0x17, 0x4, 0x4E, 0x0, 0xB, 0x0, 0x26, 0x0, 0x0, 0x25, 0x32, 0x37, 0x11, 0x26, 0x23, 0x22, 0x6, 0x15, 0x15, 0x14, 0x16, 0x13, 0x22, 0x26, 0x27, 0x37, 0x16, 0x33, 0x20, 0x13, 0x35, 0x6, 0x23, 0x22, 0x2, 0x35, 0x35, 0x34, 0x12, 0x33, 0x32, 0x17, 0x37, 0x33, 0x11, 0x6, 0x0, 0x7, 0x2, 0x4A, 0x95, 0x45, 0x44, 0x94, 0x84, 0x86, 0x85, 0x5D, 0x4C, 0xBE, 0x4D, 0x35, 0x80, 0x92, 0x1, 0xA, 0x6, 0x6A, 0xAE, 0xC6, 0xF6, 0xF6, 0xC8, 0xBF, 0x6A, 0x10, 0xD0, 0x1, 0xFE, 0xFE, 0xE9, 0xB3, 0x7F, 0x1, 0xDB, 0x7B, 0xCB, 0x96, 0x15, 0x91, 0xCE, 0xFD, 0xA3, 0x2B, 0x31, 0xAF, 0x4C, 0x1, 0x2C, 0x21, 0x76, 0x1, 0x3A, 0xEC, 0x15, 0xF7, 0x1, 0x30, 0x86, 0x72, 0xFC, 0x15, 0xF1, 0xFE, 0xFA, 0x2, 0x0, 0x2, 0x0, 0x4C, 0xFF, 0xEC, 0x4, 0x55, 0x4, 0x4E, 0x0, 0xC, 0x0, 0x1A, 0x0, 0x0, 0x13, 0x34, 0x0, 0x33, 0x32, 0x0, 0x17, 0x15, 0x14, 0x0, 0x20, 0x0, 0x35, 0x17, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x4C, 0x1, 0x18, 0xEB, 0xEE, 0x1, 0x17, 0x1, 0xFE, 0xE9, 0xFE, 0x26, 0xFE, 0xE8, 0xF3, 0x8A, 0x88, 0x87, 0x8A, 0x8A, 0x89, 0x87, 0x89, 0x2, 0x27, 0xEC, 0x1, 0x3B, 0xFE, 0xC7, 0xEB, 0x18, 0xEB, 0xFE, 0xC5, 0x1, 0x3B, 0xEC, 0x1, 0x91, 0xD2, 0xD2, 0x91, 0x15, 0x8F, 0xD5, 0xD5, 0x8F, 0x0, 0x2, 0x0, 0x7D, 0xFE, 0x60, 0x4, 0x45, 0x4, 0x4E, 0x0, 0xB, 0x0, 0x1B, 0x0, 0x0, 0x25, 0x32, 0x36, 0x35, 0x35, 0x34, 0x26, 0x23, 0x22, 0x7, 0x11, 0x16, 0x17, 0x22, 0x27, 0x11, 0x23, 0x11, 0x33, 0x17, 0x36, 0x33, 0x32, 0x12, 0x15, 0x15, 0x14, 0x2, 0x2, 0x48, 0x83, 0x87, 0x89, 0x83, 0x94, 0x43, 0x45, 0xD8, 0xB1, 0x6C, 0xF2, 0xD9, 0xD, 0x6E, 0xB9, 0xCE, 0xED, 0xEE, 0xAF, 0xD2, 0x91, 0x15, 0x96, 0xCB, 0x79, 0xFE, 0x1A, 0x7A, 0xC3, 0x75, 0xFD, 0xFF, 0x5, 0xDA, 0x70, 0x84, 0xFE, 0xD0, 0xF8, 0x14, 0xEC, 0xFE, 0xC6, 0x0, 0x2, 0x0, 0x50, 0xFE, 0x60, 0x4, 0x17, 0x4, 0x4E, 0x0, 0xF, 0x0, 0x1B, 0x0, 0x0, 0x1, 0x23, 0x11, 0x6, 0x23, 0x22, 0x2, 0x35, 0x35, 0x34, 0x12, 0x33, 0x32, 0x17, 0x37, 0x33, 0x1, 0x32, 0x37, 0x11, 0x26, 0x23, 0x22, 0x6, 0x15, 0x15, 0x14, 0x16, 0x4, 0x17, 0xF3, 0x6A, 0xAB, 0xCA, 0xF5, 0xF4, 0xCD, 0xB7, 0x6C, 0x10, 0xD3, 0xFE, 0x36, 0x90, 0x47, 0x48, 0x8D, 0x83, 0x8A, 0x88, 0xFE, 0x60, 0x1, 0xFD, 0x71, 0x1, 0x39, 0xED, 0x14, 0xF7, 0x1, 0x31, 0x82, 0x6E, 0xFC, 0x75, 0x77, 0x1, 0xF3, 0x72, 0xCF, 0x96, 0x15, 0x90, 0xD2, 0x0, 0x2, 0x0, 0x54, 0xFF, 0xEC, 0x4, 0xC, 0x4, 0x4E, 0x0, 0x7, 0x0, 0x1D, 0x0, 0x0, 0x1, 0x22, 0x6, 0x7, 0x21, 0x35, 0x34, 0x26, 0x1, 0x6, 0x6, 0x23, 0x22, 0x0, 0x35, 0x35, 0x34, 0x0, 0x33, 0x32, 0x12, 0x15, 0x15, 0x21, 0x16, 0x16, 0x33, 0x32, 0x36, 0x37, 0x2, 0x3D, 0x65, 0x7C, 0x10, 0x1, 0xCF, 0x64, 0x1, 0x2A, 0x31, 0xB4, 0x85, 0xFC, 0xFE, 0xD9, 0x1, 0x1B, 0xCE, 0xEC, 0xE3, 0xFD, 0x3E, 0xD, 0xA3, 0x95, 0x54, 0x93, 0x31, 0x3, 0x8B, 0x8C, 0x7C, 0x19, 0x60, 0x8F, 0xFC, 0xCD, 0x25, 0x47, 0x1, 0x31, 0xE7, 0x29, 0xFA, 0x1, 0x27, 0xFE, 0xE4, 0xE0, 0x81, 0x7E, 0xA4, 0x30, 0x1F, 0x0, 0x2, 0x0, 0x51, 0xFE, 0x56, 0x4, 0x5, 0x4, 0x4E, 0x0, 0xB, 0x0, 0x25, 0x0, 0x0, 0x25, 0x32, 0x37, 0x11, 0x26, 0x23, 0x22, 0x6, 0x15, 0x15, 0x14, 0x16, 0x13, 0x22, 0x26, 0x27, 0x37, 0x16, 0x33, 0x20, 0x13, 0x35, 0x6, 0x23, 0x22, 0x2, 0x35, 0x35, 0x34, 0x12, 0x33, 0x32, 0x17, 0x37, 0x33, 0x11, 0x14, 0x0, 0x2, 0x37, 0x98, 0x43, 0x42, 0x97, 0x83, 0x72, 0x70, 0x5E, 0x46, 0xB1, 0x47, 0x35, 0x77, 0x82, 0x1, 0xA, 0x6, 0x6A, 0xAE, 0xC7, 0xE2, 0xE2, 0xC9, 0xBF, 0x69, 0x10, 0xD1, 0xFE, 0xFA, 0xB3, 0x85, 0x1, 0xD0, 0x80, 0xCB, 0x96, 0x15, 0x91, 0xCE, 0xFD, 0xA3, 0x25, 0x2A, 0xAF, 0x3F, 0x1, 0x1F, 0x2F, 0x77, 0x1, 0x3A, 0xEC, 0x15, 0xF7, 0x1, 0x30, 0x85, 0x71, 0xFC, 0xC, 0xEF, 0xFE, 0xFF, 0x0, 0x1, 0x0, 0x3E, 0xFE, 0x4A, 0x4, 0x66, 0x4, 0x4A, 0x0, 0x1E, 0x0, 0x0, 0x1, 0x6, 0x27, 0x26, 0x26, 0x27, 0x27, 0x3, 0x23, 0x1, 0x3, 0x26, 0x26, 0x23, 0x7, 0x27, 0x36, 0x33, 0x32, 0x16, 0x16, 0x17, 0x17, 0x13, 0x33, 0x1, 0x13, 0x16, 0x17, 0x16, 0x37, 0x4, 0x3E, 0x2B, 0x36, 0x7B, 0x7C, 0x32, 0x64, 0xF9, 0xF7, 0x1, 0x7C, 0xA8, 0x19, 0x59, 0x3E, 0x43, 0x3, 0x48, 0x3C, 0x6A, 0x77, 0x44, 0x15, 0x5D, 0xE0, 0xF5, 0xFE, 0x9F, 0xC6, 0x34, 0x4E, 0x2B, 0x26, 0xFE, 0x59, 0xF, 0x3, 0x6, 0xB5, 0x73, 0xE6, 0xFD, 0xFF, 0x3, 0xC, 0x1, 0x81, 0x3F, 0x56, 0x5, 0xBB, 0x12, 0x5B, 0x7F, 0x30, 0xD3, 0x1, 0xCD, 0xFD, 0x2A, 0xFE, 0x3F, 0x7F, 0x7, 0x4, 0x5, 0xFF, 0xFF, 0x0, 0x5A, 0x0, 0x0, 0x2, 0xB2, 0x5, 0xB5, 0x0, 0x6, 0x0, 0x16, 0xB2, 0x0, 0x0, 0x3, 0x0, 0x5, 0x0, 0x0, 0x4, 0xC1, 0x6, 0x0, 0x0, 0xD, 0x0, 0x1B, 0x0, 0x32, 0x0, 0x0, 0x1, 0x27, 0x36, 0x36, 0x35, 0x34, 0x26, 0x27, 0x37, 0x16, 0x16, 0x15, 0x14, 0x6, 0x5, 0x26, 0x26, 0x35, 0x34, 0x36, 0x37, 0x17, 0x6, 0x6, 0x15, 0x14, 0x16, 0x17, 0x25, 0x27, 0x11, 0x23, 0x11, 0x22, 0x6, 0x15, 0x27, 0x34, 0x36, 0x33, 0x17, 0x11, 0x33, 0x11, 0x33, 0x32, 0x36, 0x35, 0x17, 0x14, 0x6, 0x4, 0x6, 0xE, 0x23, 0x3F, 0x3F, 0x23, 0xE, 0x3A, 0x81, 0x81, 0xFC, 0x80, 0x3A, 0x81, 0x81, 0x3A, 0xE, 0x23, 0x3F, 0x40, 0x22, 0x2, 0x20, 0x1A, 0xF3, 0x27, 0x34, 0x95, 0x7F, 0x5F, 0x12, 0xF3, 0x9, 0x26, 0x36, 0x95, 0x80, 0x2, 0x42, 0x4A, 0x11, 0x3E, 0x3F, 0x3C, 0x3E, 0x10, 0x4B, 0xF, 0x6B, 0x5B, 0x5C, 0x6D, 0xF, 0xF, 0x6D, 0x5C, 0x5A, 0x6C, 0xF, 0x4B, 0x10, 0x40, 0x3A, 0x3E, 0x3F, 0x11, 0x17, 0x1, 0xFD, 0x5C, 0x2, 0xFC, 0x39, 0x2E, 0x8, 0x6E, 0x96, 0x1, 0x2, 0x60, 0xFD, 0x47, 0x3A, 0x2E, 0xC, 0x70, 0x90, 0x0, 0x4, 0x0, 0x50, 0xFF, 0xEC, 0x5, 0x8B, 0x6, 0x0, 0x0, 0xC, 0x0, 0x19, 0x0, 0x25, 0x0, 0x3D, 0x0, 0x0, 0x1, 0x36, 0x36, 0x35, 0x34, 0x27, 0x37, 0x16, 0x16, 0x15, 0x14, 0x6, 0x7, 0x21, 0x26, 0x26, 0x35, 0x34, 0x36, 0x37, 0x17, 0x6, 0x15, 0x14, 0x16, 0x17, 0x13, 0x32, 0x37, 0x11, 0x26, 0x23, 0x22, 0x6, 0x15, 0x15, 0x14, 0x16, 0x5, 0x27, 0x6, 0x23, 0x22, 0x2, 0x35, 0x35, 0x34, 0x12, 0x33, 0x32, 0x17, 0x35, 0x23, 0x35, 0x33, 0x35, 0x33, 0x15, 0x33, 0x15, 0x23, 0x11, 0x4, 0xD7, 0x1B, 0x32, 0x4D, 0xD, 0x34, 0x73, 0x73, 0x34, 0xFC, 0xF7, 0x34, 0x73, 0x73, 0x34, 0xE, 0x4E, 0x33, 0x1B, 0x4E, 0x95, 0x45, 0x44, 0x94, 0x84, 0x73, 0x72, 0x1, 0x73, 0xB, 0x6C, 0xB7, 0xC3, 0xE6, 0xE5, 0xC6, 0xAC, 0x6A, 0xFC, 0xFC, 0xF3, 0xAF, 0xAF, 0x4, 0xA8, 0xE, 0x33, 0x33, 0x50, 0x26, 0x4B, 0xD, 0x62, 0x52, 0x51, 0x5F, 0xE, 0xE, 0x5F, 0x51, 0x52, 0x62, 0xD, 0x4B, 0x27, 0x4F, 0x33, 0x33, 0xE, 0xFC, 0xB, 0x86, 0x1, 0xCD, 0x82, 0xD0, 0x92, 0x15, 0x91, 0xCD, 0xB3, 0x70, 0x84, 0x1, 0x39, 0xEC, 0x15, 0xF7, 0x1, 0x31, 0x77, 0xF1, 0xAB, 0x8D, 0x8D, 0xAB, 0xFB, 0x38, 0x0, 0x3, 0x0, 0x7A, 0xFD, 0xF6, 0x5, 0x5, 0x4, 0x4E, 0x0, 0xD, 0x0, 0x1B, 0x0, 0x36, 0x0, 0x0, 0x1, 0x27, 0x36, 0x36, 0x35, 0x34, 0x26, 0x27, 0x37, 0x16, 0x16, 0x15, 0x14, 0x6, 0x5, 0x26, 0x26, 0x35, 0x34, 0x36, 0x37, 0x17, 0x6, 0x6, 0x15, 0x14, 0x16, 0x17, 0x37, 0x22, 0x27, 0x37, 0x16, 0x33, 0x32, 0x37, 0x11, 0x34, 0x26, 0x23, 0x22, 0x7, 0x11, 0x23, 0x11, 0x33, 0x17, 0x36, 0x33, 0x32, 0x16, 0x17, 0x11, 0x14, 0x6, 0x4, 0x4A, 0xE, 0x23, 0x3F, 0x3F, 0x23, 0xE, 0x3A, 0x81, 0x81, 0xFD, 0x54, 0x39, 0x81, 0x81, 0x39, 0xE, 0x23, 0x3E, 0x3F, 0x22, 0xBB, 0x44, 0x3B, 0xE, 0x26, 0x3D, 0x7B, 0x1, 0x66, 0x60, 0x91, 0x4B, 0xF3, 0xDE, 0xE, 0x71, 0xC5, 0xA1, 0xC4, 0x1, 0xBC, 0xFD, 0xF6, 0x4A, 0x11, 0x3E, 0x3F, 0x3B, 0x3E, 0x11, 0x4B, 0xF, 0x6B, 0x5B, 0x5C, 0x6D, 0xF, 0xF, 0x6D, 0x5C, 0x5A, 0x6C, 0xF, 0x4B, 0x11, 0x3F, 0x3A, 0x3E, 0x3F, 0x11, 0xB, 0x11, 0xC5, 0xC, 0xA9, 0x2, 0xE2, 0x83, 0x65, 0x67, 0xFC, 0xDF, 0x4, 0x3A, 0x95, 0xA9, 0xC4, 0xE3, 0xFD, 0x1A, 0xB6, 0xC0, 0xFF, 0xFF, 0x0, 0x5, 0xFD, 0xFF, 0x5, 0xB6, 0x4, 0x4E, 0x0, 0x27, 0x0, 0xDC, 0x0, 0x91, 0x0, 0x0, 0x0, 0x7, 0x3, 0x2E, 0x5, 0x16, 0xFD, 0x3A, 0x0, 0x4, 0x0, 0x5, 0xFF, 0xEC, 0x5, 0x4E, 0x6, 0x0, 0x0, 0xC, 0x0, 0x19, 0x0, 0x31, 0x0, 0x3C, 0x0, 0x0, 0x1, 0x36, 0x36, 0x35, 0x34, 0x27, 0x37, 0x16, 0x16, 0x15, 0x14, 0x6, 0x7, 0x21, 0x26, 0x26, 0x35, 0x34, 0x36, 0x37, 0x17, 0x6, 0x15, 0x14, 0x16, 0x17, 0x1, 0x14, 0x2, 0x23, 0x22, 0x27, 0x7, 0x23, 0x11, 0x23, 0x35, 0x33, 0x35, 0x33, 0x15, 0x33, 0x15, 0x23, 0x15, 0x36, 0x33, 0x32, 0x12, 0x17, 0x1, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x7, 0x11, 0x16, 0x3, 0xA7, 0x1C, 0x32, 0x4E, 0xE, 0x34, 0x73, 0x73, 0x34, 0xFC, 0xF7, 0x34, 0x73, 0x73, 0x34, 0xE, 0x4E, 0x33, 0x1B, 0x4, 0x94, 0xD8, 0xCE, 0xBC, 0x6C, 0xC, 0xDC, 0xBB, 0xBB, 0xF3, 0xF0, 0xF0, 0x6A, 0xB1, 0xD0, 0xD7, 0x1, 0xFE, 0x1D, 0x87, 0x69, 0x66, 0x8C, 0x9C, 0x42, 0x43, 0x4, 0xA8, 0xE, 0x33, 0x33, 0x50, 0x26, 0x4B, 0xD, 0x62, 0x52, 0x51, 0x5F, 0xE, 0xE, 0x5F, 0x51, 0x52, 0x62, 0xD, 0x4B, 0x27, 0x4F, 0x33, 0x33, 0xE, 0xFD, 0x6A, 0xEF, 0xFE, 0xC9, 0x89, 0x75, 0x4, 0xC0, 0xAB, 0x95, 0x95, 0xAB, 0xED, 0x7B, 0xFE, 0xD0, 0xF3, 0xFE, 0x88, 0xCA, 0xAA, 0x8F, 0xD2, 0x8B, 0xFE, 0x43, 0x8D, 0x0, 0x3, 0x0, 0x5, 0xFD, 0xF6, 0x3, 0xF4, 0x4, 0x4E, 0x0, 0x17, 0x0, 0x25, 0x0, 0x33, 0x0, 0x0, 0x1, 0x6, 0x23, 0x22, 0x26, 0x35, 0x11, 0x33, 0x17, 0x36, 0x33, 0x32, 0x17, 0x7, 0x26, 0x23, 0x22, 0x7, 0x11, 0x14, 0x16, 0x33, 0x32, 0x37, 0x13, 0x27, 0x36, 0x36, 0x35, 0x34, 0x26, 0x27, 0x37, 0x16, 0x16, 0x15, 0x14, 0x6, 0x5, 0x26, 0x26, 0x35, 0x34, 0x36, 0x37, 0x17, 0x6, 0x6, 0x15, 0x14, 0x16, 0x17, 0x2, 0xDF, 0x36, 0x46, 0x7D, 0xD6, 0xE8, 0x7, 0x57, 0x9C, 0x31, 0x25, 0x2, 0x32, 0x30, 0xA7, 0x3A, 0x5C, 0x41, 0x23, 0x1C, 0x5A, 0xE, 0x22, 0x3F, 0x3E, 0x23, 0xE, 0x39, 0x82, 0x82, 0xFD, 0x4E, 0x3A, 0x81, 0x81, 0x3A, 0xE, 0x23, 0x3F, 0x40, 0x22, 0xFE, 0x58, 0xD, 0x8D, 0xB3, 0x4, 0xAF, 0x79, 0x8D, 0xD, 0xE5, 0x8, 0x7E, 0xFC, 0xA5, 0x56, 0x40, 0x6, 0xFE, 0xFB, 0x4A, 0x11, 0x3E, 0x3F, 0x3B, 0x3E, 0x11, 0x4B, 0xF, 0x6B, 0x5B, 0x5C, 0x6D, 0xF, 0xF, 0x6D, 0x5C, 0x5A, 0x6C, 0xF, 0x4B, 0x11, 0x3F, 0x3A, 0x3E, 0x3F, 0x11, 0x0, 0x3, 0x0, 0x5D, 0xFF, 0xEE, 0x4, 0xB7, 0x4, 0x9D, 0x0, 0xA, 0x0, 0x12, 0x0, 0x30, 0x0, 0x0, 0x1, 0x14, 0x16, 0x17, 0x37, 0x36, 0x35, 0x34, 0x26, 0x22, 0x6, 0x13, 0x32, 0x37, 0x3, 0x7, 0x6, 0x15, 0x14, 0x5, 0x27, 0x6, 0x23, 0x22, 0x26, 0x35, 0x34, 0x36, 0x37, 0x37, 0x26, 0x26, 0x35, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x7, 0x7, 0x17, 0x36, 0x35, 0x33, 0x14, 0x7, 0x17, 0x1, 0x94, 0x39, 0x2A, 0x41, 0x48, 0x40, 0x72, 0x3A, 0x74, 0x74, 0x57, 0xFC, 0x48, 0x40, 0x2, 0x5C, 0x4A, 0x9A, 0xCC, 0xBF, 0xDF, 0x67, 0x5A, 0x36, 0x45, 0x58, 0xB6, 0x9D, 0x9B, 0xB9, 0xA4, 0x40, 0xE7, 0x39, 0xD5, 0x80, 0xC8, 0x3, 0x75, 0x29, 0x49, 0x2A, 0x2C, 0x34, 0x40, 0x2A, 0x3C, 0x42, 0xFD, 0x15, 0x2D, 0x1, 0x4, 0x31, 0x31, 0x45, 0x8A, 0xB2, 0x4C, 0x5E, 0xAF, 0x82, 0x64, 0x84, 0x3E, 0x25, 0x48, 0x7F, 0x5A, 0x73, 0x9F, 0xA2, 0x78, 0x93, 0x71, 0x2C, 0xF0, 0x62, 0x86, 0xDD, 0x9E, 0xD0, 0x0, 0x1, 0x0, 0x4, 0x0, 0x0, 0x3, 0x9F, 0x4, 0x8D, 0x0, 0xD, 0x0, 0x0, 0x33, 0x11, 0x7, 0x35, 0x37, 0x11, 0x33, 0x11, 0x37, 0x15, 0x7, 0x11, 0x21, 0x15, 0x81, 0x7D, 0x7D, 0xF3, 0xF9, 0xF9, 0x2, 0x2B, 0x2, 0x9, 0x26, 0x93, 0x26, 0x1, 0xF1, 0xFE, 0x59, 0x4B, 0x93, 0x4B, 0xFE, 0x70, 0xC3, 0x0, 0x2, 0xFF, 0xF0, 0x0, 0x0, 0x6, 0x4, 0x4, 0x8D, 0x0, 0x2, 0x0, 0x12, 0x0, 0x0, 0x1, 0x3, 0x1, 0x1, 0x3, 0x21, 0x3, 0x21, 0x1, 0x21, 0x15, 0x21, 0x13, 0x21, 0x15, 0x21, 0x13, 0x21, 0x15, 0x2, 0xEE, 0x13, 0xFE, 0xFE, 0x1, 0x27, 0xA, 0xFE, 0x83, 0x84, 0xFE, 0xFB, 0x2, 0x6F, 0x3, 0x77, 0xFD, 0xF6, 0xA, 0x1, 0xC3, 0xFE, 0x45, 0xC, 0x2, 0x1A, 0x1, 0xC8, 0x2, 0x2, 0xFD, 0xFE, 0xFE, 0x38, 0x1, 0x7, 0xFE, 0xF9, 0x4, 0x8D, 0xC1, 0xFE, 0xF4, 0xC1, 0xFE, 0xC2, 0xC1, 0x0, 0x2, 0x0, 0x76, 0x0, 0x0, 0x3, 0xD3, 0x4, 0x8D, 0x0, 0x8, 0x0, 0x15, 0x0, 0x0, 0x1, 0x11, 0x33, 0x32, 0x36, 0x35, 0x34, 0x26, 0x23, 0x3, 0x15, 0x23, 0x11, 0x33, 0x15, 0x33, 0x16, 0x16, 0x15, 0x14, 0x6, 0x23, 0x1, 0x69, 0x99, 0x74, 0x6B, 0x6B, 0x74, 0x99, 0xF3, 0xF3, 0x9D, 0xDB, 0xF2, 0xF4, 0xDD, 0x3, 0x13, 0xFE, 0x94, 0x65, 0x4E, 0x49, 0x70, 0xFD, 0xD0, 0xE3, 0x4, 0x8D, 0xB6, 0x1, 0xD7, 0xA3, 0xAC, 0xCD, 0x0, 0x3, 0x0, 0x50, 0xFF, 0xC8, 0x4, 0x6F, 0x4, 0xBB, 0x0, 0x8, 0x0, 0x11, 0x0, 0x27, 0x0, 0x0, 0x1, 0x14, 0x17, 0x1, 0x26, 0x23, 0x22, 0x6, 0x15, 0x1, 0x32, 0x36, 0x35, 0x35, 0x34, 0x27, 0x1, 0x16, 0x17, 0x22, 0x27, 0x7, 0x23, 0x37, 0x26, 0x27, 0x35, 0x10, 0x0, 0x33, 0x32, 0x17, 0x37, 0x33, 0x7, 0x16, 0x17, 0x15, 0x10, 0x0, 0x1, 0x42, 0x28, 0x1, 0x9B, 0x43, 0x63, 0x85, 0x98, 0x1, 0x1F, 0x87, 0x95, 0x23, 0xFE, 0x68, 0x42, 0x5D, 0x9D, 0x79, 0x4D, 0xA5, 0x88, 0x8F, 0x2, 0x1, 0x26, 0xE9, 0xA3, 0x7B, 0x49, 0xA4, 0x85, 0x89, 0x1, 0xFE, 0xDE, 0x2, 0x2C, 0x80, 0x59, 0x2, 0x51, 0x34, 0xC1, 0xB5, 0xFE, 0x52, 0xC3, 0xB5, 0x36, 0x7A, 0x55, 0xFD, 0xB3, 0x30, 0xC4, 0x47, 0x6F, 0xC4, 0x9A, 0xFF, 0x3B, 0x1, 0xA, 0x1, 0x33, 0x4B, 0x69, 0xC0, 0x9A, 0xFD, 0x38, 0xFE, 0xF6, 0xFE, 0xCE, 0x0, 0x2, 0x0, 0x32, 0x0, 0x0, 0x4, 0xD8, 0x4, 0x8D, 0x0, 0x3, 0x0, 0x17, 0x0, 0x0, 0x1, 0x35, 0x21, 0x15, 0x1, 0x11, 0x21, 0x11, 0x23, 0x11, 0x23, 0x35, 0x33, 0x35, 0x33, 0x15, 0x21, 0x35, 0x33, 0x15, 0x33, 0x15, 0x23, 0x11, 0x3, 0x8B, 0xFD, 0xF4, 0x2, 0xC, 0xFD, 0xF4, 0xF3, 0x5A, 0x5A, 0xF3, 0x2, 0xC, 0xF3, 0x5A, 0x5A, 0x2, 0x9F, 0xB0, 0xB0, 0xFD, 0x61, 0x1, 0xDB, 0xFE, 0x25, 0x3, 0x4F, 0xAB, 0x93, 0x93, 0x93, 0x93, 0xAB, 0xFC, 0xB1, 0x0, 0x1, 0x0, 0x76, 0xFE, 0x4B, 0x4, 0x67, 0x4, 0x8D, 0x0, 0x13, 0x0, 0x0, 0x1, 0x22, 0x27, 0x37, 0x16, 0x33, 0x32, 0x37, 0x35, 0x1, 0x11, 0x23, 0x11, 0x33, 0x1, 0x11, 0x33, 0x11, 0x14, 0x6, 0x3, 0x7, 0x45, 0x3A, 0xE, 0x26, 0x3D, 0x78, 0x3, 0xFD, 0xF5, 0xF3, 0xF3, 0x2, 0xC, 0xF2, 0xBB, 0xFE, 0x4B, 0x11, 0xC5, 0xC, 0xA4, 0x49, 0x3, 0x1A, 0xFC, 0xE4, 0x4, 0x8D, 0xFC, 0xE4, 0x3, 0x1C, 0xFB, 0x34, 0xB6, 0xC0, 0x0, 0x2, 0xFD, 0x40, 0x4, 0xD2, 0xFF, 0x20, 0x7, 0x4C, 0x0, 0x9, 0x0, 0xD, 0x0, 0x0, 0x1, 0x34, 0x36, 0x32, 0x16, 0x15, 0x14, 0x6, 0x22, 0x26, 0x13, 0x13, 0x21, 0x1, 0xFD, 0x40, 0x45, 0x7C, 0x45, 0x45, 0x7C, 0x45, 0x8, 0xC3, 0x1, 0x15, 0xFE, 0xEB, 0x6, 0xD1, 0x35, 0x46, 0x46, 0x35, 0x34, 0x46, 0x46, 0xFE, 0x35, 0x1, 0x2E, 0xFE, 0xD2, 0x0, 0x3, 0xFC, 0x4A, 0x4, 0xDB, 0xFF, 0x27, 0x7, 0x22, 0x0, 0xB, 0x0, 0x17, 0x0, 0x2C, 0x0, 0x0, 0x1, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x6, 0x23, 0x22, 0x26, 0x25, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x6, 0x23, 0x22, 0x26, 0x17, 0x17, 0x14, 0x6, 0x23, 0x22, 0x26, 0x26, 0x23, 0x22, 0x6, 0x15, 0x27, 0x34, 0x36, 0x33, 0x32, 0x16, 0x33, 0x32, 0x36, 0xFC, 0x57, 0x43, 0x3B, 0x3A, 0x45, 0x45, 0x3A, 0x3B, 0x43, 0x1, 0xC9, 0x43, 0x3B, 0x3A, 0x45, 0x45, 0x3A, 0x3B, 0x43, 0x72, 0x95, 0x80, 0x60, 0x41, 0x50, 0x47, 0x35, 0x27, 0x34, 0x95, 0x7F, 0x5F, 0x52, 0x6F, 0x4D, 0x26, 0x36, 0x6, 0xAB, 0x32, 0x45, 0x45, 0x32, 0x31, 0x45, 0x45, 0x30, 0x32, 0x44, 0x44, 0x32, 0x31, 0x45, 0x45, 0x84, 0xC, 0x6F, 0x91, 0x2D, 0x2C, 0x39, 0x2E, 0x8, 0x6E, 0x96, 0x59, 0x39, 0x0, 0x3, 0xFC, 0x57, 0x4, 0xE0, 0xFF, 0x1D, 0x7, 0x2D, 0x0, 0x3, 0x0, 0xF, 0x0, 0x1B, 0x0, 0x0, 0x1, 0x13, 0x21, 0x1, 0x5, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x6, 0x23, 0x22, 0x26, 0x25, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x6, 0x23, 0x22, 0x26, 0xFD, 0x3D, 0xC3, 0x1, 0x15, 0xFE, 0xEB, 0xFE, 0x57, 0x43, 0x3B, 0x3A, 0x45, 0x45, 0x3A, 0x3B, 0x43, 0x1, 0xC9, 0x43, 0x3B, 0x3A, 0x45, 0x45, 0x3A, 0x3B, 0x43, 0x5, 0xFE, 0x1, 0x2F, 0xFE, 0xD1, 0xA8, 0x32, 0x45, 0x45, 0x32, 0x31, 0x44, 0x44, 0x30, 0x32, 0x45, 0x45, 0x32, 0x31, 0x44, 0x44, 0x0, 0x2, 0xFC, 0x57, 0x4, 0xE1, 0xFF, 0x1A, 0x7, 0x3B, 0x0, 0x9, 0x0, 0x12, 0x0, 0x0, 0x1, 0x34, 0x36, 0x32, 0x16, 0x15, 0x14, 0x6, 0x22, 0x26, 0x7, 0x17, 0x37, 0x33, 0x15, 0x1, 0x23, 0x1, 0x35, 0xFD, 0x35, 0x45, 0x7C, 0x45, 0x45, 0x7C, 0x45, 0x10, 0x93, 0x92, 0xD0, 0xFE, 0xE9, 0x97, 0xFE, 0xEB, 0x6, 0xC0, 0x35, 0x46, 0x46, 0x35, 0x34, 0x46, 0x46, 0x8A, 0x9B, 0x9B, 0xB, 0xFE, 0xEA, 0x1, 0x17, 0xA, 0x0, 0x2, 0xFC, 0x65, 0x4, 0xE0, 0xFF, 0x13, 0x6, 0xE4, 0x0, 0x3, 0x0, 0xD, 0x0, 0x0, 0x3, 0x15, 0x21, 0x35, 0x13, 0x34, 0x36, 0x32, 0x16, 0x15, 0x14, 0x6, 0x22, 0x26, 0xED, 0xFD, 0x52, 0xD0, 0x45, 0x7C, 0x45, 0x45, 0x7C, 0x45, 0x6, 0xE4, 0x9E, 0x9E, 0xFE, 0x76, 0x35, 0x46, 0x46, 0x35, 0x34, 0x46, 0x46, 0x0, 0x2, 0xFC, 0x5F, 0x5, 0xC, 0xFF, 0x13, 0x7, 0x2D, 0x0, 0x3, 0x0, 0x7, 0x0, 0x0, 0x1, 0x13, 0x23, 0x1, 0x1, 0x15, 0x21, 0x35, 0xFD, 0x73, 0xC4, 0xCA, 0xFE, 0xF2, 0x2, 0xB4, 0xFD, 0x52, 0x7, 0x2D, 0xFE, 0xD1, 0x1, 0x2F, 0xFE, 0x7D, 0x9E, 0x9E, 0x0, 0x3, 0xFC, 0x57, 0x4, 0xE0, 0xFF, 0x1D, 0x6, 0xDA, 0x0, 0x3, 0x0, 0xF, 0x0, 0x1B, 0x0, 0x0, 0x3, 0x15, 0x21, 0x35, 0x3, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x6, 0x23, 0x22, 0x26, 0x25, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x6, 0x23, 0x22, 0x26, 0xED, 0xFD, 0x52, 0xE, 0x43, 0x3B, 0x3A, 0x45, 0x45, 0x3A, 0x3B, 0x43, 0x1, 0xC9, 0x43, 0x3B, 0x3A, 0x45, 0x45, 0x3A, 0x3B, 0x43, 0x6, 0xDA, 0x9E, 0x9E, 0xFE, 0x7C, 0x32, 0x45, 0x45, 0x32, 0x31, 0x44, 0x44, 0x30, 0x32, 0x45, 0x45, 0x32, 0x31, 0x44, 0x44, 0x0, 0x3, 0xFC, 0x57, 0x4, 0xE0, 0xFF, 0x1D, 0x7, 0x2D, 0x0, 0x3, 0x0, 0xF, 0x0, 0x1B, 0x0, 0x0, 0x1, 0x13, 0x23, 0x1, 0x3, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x6, 0x23, 0x22, 0x26, 0x25, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x6, 0x23, 0x22, 0x26, 0xFD, 0x73, 0xC4, 0xCA, 0xFE, 0xF2, 0x8, 0x43, 0x3B, 0x3A, 0x45, 0x45, 0x3A, 0x3B, 0x43, 0x1, 0xC9, 0x43, 0x3B, 0x3A, 0x45, 0x45, 0x3A, 0x3B, 0x43, 0x7, 0x2D, 0xFE, 0xD1, 0x1, 0x2F, 0xFE, 0x29, 0x32, 0x45, 0x45, 0x32, 0x31, 0x44, 0x44, 0x30, 0x32, 0x45, 0x45, 0x32, 0x31, 0x44, 0x44, 0x0, 0x2, 0xFC, 0x65, 0x5, 0xC, 0xFF, 0x15, 0x7, 0x2D, 0x0, 0x3, 0x0, 0x7, 0x0, 0x0, 0x1, 0x13, 0x21, 0x1, 0x5, 0x15, 0x21, 0x35, 0xFD, 0x3D, 0xC3, 0x1, 0x15, 0xFE, 0xEB, 0x1, 0x13, 0xFD, 0x52, 0x5, 0xFE, 0x1, 0x2F, 0xFE, 0xD1, 0x54, 0x9E, 0x9E, 0x0, 0x2, 0xFC, 0x4A, 0x4, 0xDB, 0xFF, 0x27, 0x7, 0x2, 0x0, 0x3, 0x0, 0x18, 0x0, 0x0, 0x3, 0x15, 0x21, 0x35, 0x1, 0x17, 0x14, 0x6, 0x23, 0x22, 0x26, 0x26, 0x23, 0x22, 0x6, 0x15, 0x27, 0x34, 0x36, 0x33, 0x32, 0x16, 0x33, 0x32, 0x36, 0xED, 0xFD, 0x52, 0x2, 0x2D, 0x95, 0x80, 0x60, 0x41, 0x50, 0x47, 0x35, 0x27, 0x34, 0x95, 0x7F, 0x5F, 0x52, 0x6F, 0x4D, 0x26, 0x36, 0x7, 0x2, 0x9E, 0x9E, 0xFE, 0xF3, 0xC, 0x6F, 0x91, 0x2D, 0x2C, 0x39, 0x2E, 0x8, 0x6E, 0x96, 0x59, 0x39, 0x0, 0x3, 0xFC, 0x57, 0x5, 0xC, 0xFF, 0x1D, 0x6, 0xFA, 0x0, 0xB, 0x0, 0x17, 0x0, 0x1B, 0x0, 0x0, 0x1, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x6, 0x23, 0x22, 0x26, 0x25, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x6, 0x23, 0x22, 0x26, 0x17, 0x15, 0x21, 0x35, 0xFC, 0x57, 0x43, 0x3B, 0x3A, 0x45, 0x45, 0x3A, 0x3B, 0x43, 0x1, 0xC9, 0x43, 0x3B, 0x3A, 0x45, 0x45, 0x3A, 0x3B, 0x43, 0xF3, 0xFD, 0x52, 0x6, 0x83, 0x32, 0x45, 0x45, 0x32, 0x31, 0x45, 0x45, 0x30, 0x32, 0x44, 0x44, 0x32, 0x31, 0x45, 0x45, 0xA7, 0x9E, 0x9E, 0x0, 0x2, 0xFC, 0x50, 0x4, 0xDB, 0xFF, 0x2D, 0x7, 0x55, 0x0, 0x3, 0x0, 0x18, 0x0, 0x0, 0x1, 0x13, 0x21, 0x1, 0x17, 0x17, 0x14, 0x6, 0x23, 0x22, 0x26, 0x26, 0x23, 0x22, 0x6, 0x15, 0x27, 0x34, 0x36, 0x33, 0x32, 0x16, 0x33, 0x32, 0x36, 0xFD, 0x43, 0xC4, 0x1, 0x14, 0xFE, 0xEC, 0x91, 0x95, 0x80, 0x5F, 0x41, 0x50, 0x48, 0x35, 0x26, 0x35, 0x95, 0x7F, 0x60, 0x51, 0x6F, 0x4D, 0x27, 0x35, 0x6, 0x26, 0x1, 0x2F, 0xFE, 0xD1, 0x31, 0xC, 0x6F, 0x91, 0x2D, 0x2C, 0x39, 0x2E, 0x8, 0x6E, 0x96, 0x59, 0x39, 0x0, 0x3, 0xFC, 0x57, 0x4, 0xE0, 0xFF, 0x1D, 0x7, 0x2E, 0x0, 0x8, 0x0, 0x14, 0x0, 0x20, 0x0, 0x0, 0x1, 0x17, 0x37, 0x33, 0x15, 0x1, 0x23, 0x1, 0x35, 0x11, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x6, 0x23, 0x22, 0x26, 0x25, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x6, 0x23, 0x22, 0x26, 0xFD, 0x25, 0x93, 0x92, 0xD0, 0xFE, 0xE9, 0x97, 0xFE, 0xEB, 0x43, 0x3B, 0x3A, 0x45, 0x45, 0x3A, 0x3B, 0x43, 0x1, 0xC9, 0x43, 0x3B, 0x3A, 0x45, 0x45, 0x3A, 0x3B, 0x43, 0x7, 0x2E, 0x9B, 0x9B, 0xA, 0xFE, 0xE9, 0x1, 0x18, 0x9, 0xFE, 0x28, 0x32, 0x45, 0x45, 0x32, 0x31, 0x44, 0x44, 0x30, 0x32, 0x45, 0x45, 0x32, 0x31, 0x44, 0x44, 0xFF, 0xFF, 0x0, 0x47, 0x2, 0xA, 0x2, 0x54, 0x2, 0xCD, 0x0, 0x6, 0x0, 0x12, 0x0, 0x0, 0x0, 0x2, 0x0, 0x15, 0x0, 0x0, 0x4, 0xF0, 0x5, 0xB0, 0x0, 0xD, 0x0, 0x1B, 0x0, 0x0, 0x1, 0x21, 0x11, 0x33, 0x32, 0x12, 0x37, 0x35, 0x34, 0x26, 0x23, 0x23, 0x11, 0x21, 0x1, 0x11, 0x23, 0x35, 0x33, 0x11, 0x21, 0x20, 0x0, 0x11, 0x15, 0x10, 0x0, 0x21, 0x2, 0xB3, 0xFE, 0xFC, 0xA6, 0xCC, 0xD0, 0x2, 0xCF, 0xC4, 0xB1, 0x1, 0x4, 0xFE, 0x0, 0x9E, 0x9E, 0x1, 0xAD, 0x1, 0x25, 0x1, 0x6B, 0xFE, 0x93, 0xFE, 0xD2, 0x2, 0x8C, 0xFE, 0x3E, 0x1, 0x0, 0xE1, 0x53, 0xEC, 0xFB, 0xFE, 0x52, 0xFC, 0xC9, 0x2, 0x8C, 0xAB, 0x2, 0x79, 0xFE, 0x87, 0xFE, 0xC5, 0x49, 0xFE, 0xC5, 0xFE, 0x88, 0x0, 0x2, 0x0, 0x15, 0x0, 0x0, 0x4, 0xF0, 0x5, 0xB0, 0x0, 0xD, 0x0, 0x1B, 0x0, 0x0, 0x1, 0x21, 0x11, 0x33, 0x32, 0x12, 0x37, 0x35, 0x34, 0x26, 0x23, 0x23, 0x11, 0x21, 0x1, 0x11, 0x23, 0x35, 0x33, 0x11, 0x21, 0x20, 0x0, 0x11, 0x15, 0x10, 0x0, 0x21, 0x2, 0xB3, 0xFE, 0xFC, 0xA6, 0xCC, 0xD0, 0x2, 0xCF, 0xC4, 0xB1, 0x1, 0x4, 0xFE, 0x0, 0x9E, 0x9E, 0x1, 0xAD, 0x1, 0x25, 0x1, 0x6B, 0xFE, 0x93, 0xFE, 0xD2, 0x2, 0x8C, 0xFE, 0x3E, 0x1, 0x0, 0xE1, 0x53, 0xEC, 0xFB, 0xFE, 0x52, 0xFC, 0xC9, 0x2, 0x8C, 0xAB, 0x2, 0x79, 0xFE, 0x87, 0xFE, 0xC5, 0x49, 0xFE, 0xC5, 0xFE, 0x88, 0x0, 0x1, 0xFF, 0xF2, 0x0, 0x0, 0x4, 0x17, 0x6, 0x0, 0x0, 0x19, 0x0, 0x0, 0x1, 0x22, 0x7, 0x11, 0x23, 0x11, 0x23, 0x35, 0x33, 0x35, 0x33, 0x15, 0x21, 0x15, 0x21, 0x11, 0x36, 0x33, 0x32, 0x16, 0x17, 0x11, 0x23, 0x11, 0x34, 0x26, 0x2, 0x65, 0x93, 0x48, 0xF2, 0xA6, 0xA6, 0xF2, 0x1, 0x6, 0xFE, 0xFA, 0x76, 0xB7, 0x9F, 0xC0, 0x1, 0xF3, 0x62, 0x3, 0x88, 0x83, 0xFC, 0xFB, 0x4, 0xC7, 0xAB, 0x8E, 0x8E, 0xAB, 0xFE, 0xFC, 0x8B, 0xB6, 0xDA, 0xFD, 0x42, 0x2, 0xBB, 0x71, 0x5C, 0x0, 0x1, 0x0, 0x2D, 0x0, 0x0, 0x4, 0xB0, 0x5, 0xB0, 0x0, 0xF, 0x0, 0x0, 0x1, 0x23, 0x11, 0x23, 0x11, 0x23, 0x35, 0x33, 0x11, 0x21, 0x35, 0x21, 0x15, 0x21, 0x11, 0x33, 0x3, 0xBA, 0xCF, 0xFC, 0xD3, 0xD3, 0xFE, 0x3E, 0x4, 0x83, 0xFE, 0x3B, 0xCF, 0x3, 0x12, 0xFC, 0xEE, 0x3, 0x12, 0xAB, 0x1, 0x28, 0xCB, 0xCB, 0xFE, 0xD8, 0x0, 0x1, 0xFF, 0xE8, 0xFF, 0xEC, 0x2, 0x86, 0x5, 0x41, 0x0, 0x1D, 0x0, 0x0, 0x25, 0x6, 0x23, 0x22, 0x26, 0x35, 0x11, 0x23, 0x35, 0x33, 0x35, 0x23, 0x35, 0x33, 0x11, 0x33, 0x11, 0x33, 0x15, 0x23, 0x15, 0x33, 0x15, 0x23, 0x11, 0x14, 0x16, 0x33, 0x32, 0x37, 0x2, 0x73, 0x46, 0x5A, 0x79, 0x9F, 0xD3, 0xD3, 0xB3, 0xB3, 0xF2, 0xBF, 0xBF, 0xD9, 0xD9, 0x40, 0x31, 0x2A, 0x2B, 0x4, 0x18, 0x89, 0xA7, 0x1, 0x1B, 0xAB, 0xA5, 0xB3, 0x1, 0x7, 0xFE, 0xF9, 0xB3, 0xA5, 0xAB, 0xFE, 0xF3, 0x49, 0x2B, 0xA, 0xFF, 0xFF, 0x0, 0x12, 0x0, 0x0, 0x5, 0x43, 0x7, 0x36, 0x0, 0x26, 0x0, 0x26, 0x0, 0x0, 0x0, 0x7, 0x0, 0x45, 0x1, 0x22, 0x1, 0x36, 0xFF, 0xFF, 0x0, 0x12, 0x0, 0x0, 0x5, 0x43, 0x7, 0x36, 0x0, 0x26, 0x0, 0x26, 0x0, 0x0, 0x0, 0x7, 0x0, 0x76, 0x1, 0xC1, 0x1, 0x36, 0xFF, 0xFF, 0x0, 0x12, 0x0, 0x0, 0x5, 0x43, 0x7, 0x37, 0x0, 0x26, 0x0, 0x26, 0x0, 0x0, 0x0, 0x7, 0x1, 0x77, 0x0, 0xC2, 0x1, 0x36, 0xFF, 0xFF, 0x0, 0x12, 0x0, 0x0, 0x5, 0x43, 0x7, 0x2B, 0x0, 0x26, 0x0, 0x26, 0x0, 0x0, 0x0, 0x7, 0x1, 0x8D, 0x0, 0xC4, 0x1, 0x36, 0xFF, 0xFF, 0x0, 0x12, 0x0, 0x0, 0x5, 0x43, 0x7, 0x3, 0x0, 0x26, 0x0, 0x26, 0x0, 0x0, 0x0, 0x7, 0x0, 0x6B, 0x0, 0xEE, 0x1, 0x36, 0xFF, 0xFF, 0x0, 0x12, 0x0, 0x0, 0x5, 0x43, 0x7, 0x94, 0x0, 0x26, 0x0, 0x26, 0x0, 0x0, 0x0, 0x7, 0x1, 0x8B, 0x1, 0x57, 0x1, 0x6A, 0xFF, 0xFF, 0x0, 0x12, 0x0, 0x0, 0x5, 0x43, 0x7, 0xB1, 0x0, 0x26, 0x0, 0x26, 0x0, 0x0, 0x0, 0x7, 0x7, 0xA5, 0x1, 0x5D, 0x1, 0x1B, 0xFF, 0xFF, 0x0, 0x66, 0xFE, 0x39, 0x4, 0xEC, 0x5, 0xC4, 0x0, 0x26, 0x0, 0x28, 0x0, 0x0, 0x0, 0x7, 0x0, 0x7A, 0x1, 0xC9, 0xFF, 0xF9, 0xFF, 0xFF, 0x0, 0x95, 0x0, 0x0, 0x4, 0x4D, 0x7, 0x3E, 0x0, 0x26, 0x0, 0x2A, 0x0, 0x0, 0x0, 0x7, 0x0, 0x45, 0x0, 0xE8, 0x1, 0x3E, 0xFF, 0xFF, 0x0, 0x95, 0x0, 0x0, 0x4, 0x4D, 0x7, 0x3E, 0x0, 0x26, 0x0, 0x2A, 0x0, 0x0, 0x0, 0x7, 0x0, 0x76, 0x1, 0x87, 0x1, 0x3E, 0xFF, 0xFF, 0x0, 0x95, 0x0, 0x0, 0x4, 0x4D, 0x7, 0x3F, 0x0, 0x26, 0x0, 0x2A, 0x0, 0x0, 0x0, 0x7, 0x1, 0x77, 0x0, 0x88, 0x1, 0x3E, 0xFF, 0xFF, 0x0, 0x95, 0x0, 0x0, 0x4, 0x4D, 0x7, 0xB, 0x0, 0x26, 0x0, 0x2A, 0x0, 0x0, 0x0, 0x7, 0x0, 0x6B, 0x0, 0xB4, 0x1, 0x3E, 0xFF, 0xFF, 0xFF, 0xC7, 0x0, 0x0, 0x1, 0xA0, 0x7, 0x3E, 0x0, 0x26, 0x0, 0x2E, 0x0, 0x0, 0x0, 0x7, 0x0, 0x45, 0xFF, 0x96, 0x1, 0x3E, 0xFF, 0xFF, 0x0, 0xA4, 0x0, 0x0, 0x2, 0x7E, 0x7, 0x3E, 0x0, 0x26, 0x0, 0x2E, 0x0, 0x0, 0x0, 0x7, 0x0, 0x76, 0x0, 0x35, 0x1, 0x3E, 0xFF, 0xFF, 0xFF, 0xCB, 0x0, 0x0, 0x2, 0x7A, 0x7, 0x3F, 0x0, 0x26, 0x0, 0x2E, 0x0, 0x0, 0x0, 0x7, 0x1, 0x77, 0xFF, 0x36, 0x1, 0x3E, 0xFF, 0xFF, 0xFF, 0xC0, 0x0, 0x0, 0x2, 0x86, 0x7, 0xB, 0x0, 0x26, 0x0, 0x2E, 0x0, 0x0, 0x0, 0x7, 0x0, 0x6B, 0xFF, 0x62, 0x1, 0x3E, 0xFF, 0xFF, 0x0, 0x95, 0x0, 0x0, 0x5, 0x18, 0x7, 0x2B, 0x0, 0x26, 0x0, 0x33, 0x0, 0x0, 0x0, 0x7, 0x1, 0x8D, 0x0, 0xED, 0x1, 0x36, 0xFF, 0xFF, 0x0, 0x66, 0xFF, 0xEC, 0x5, 0x1F, 0x7, 0x36, 0x0, 0x26, 0x0, 0x34, 0x0, 0x0, 0x0, 0x7, 0x0, 0x45, 0x1, 0x39, 0x1, 0x36, 0xFF, 0xFF, 0x0, 0x66, 0xFF, 0xEC, 0x5, 0x1F, 0x7, 0x36, 0x0, 0x26, 0x0, 0x34, 0x0, 0x0, 0x0, 0x7, 0x0, 0x76, 0x1, 0xD8, 0x1, 0x36, 0xFF, 0xFF, 0x0, 0x66, 0xFF, 0xEC, 0x5, 0x1F, 0x7, 0x37, 0x0, 0x26, 0x0, 0x34, 0x0, 0x0, 0x0, 0x7, 0x1, 0x77, 0x0, 0xD9, 0x1, 0x36, 0xFF, 0xFF, 0x0, 0x66, 0xFF, 0xEC, 0x5, 0x1F, 0x7, 0x2B, 0x0, 0x26, 0x0, 0x34, 0x0, 0x0, 0x0, 0x7, 0x1, 0x8D, 0x0, 0xDB, 0x1, 0x36, 0xFF, 0xFF, 0x0, 0x66, 0xFF, 0xEC, 0x5, 0x1F, 0x7, 0x3, 0x0, 0x26, 0x0, 0x34, 0x0, 0x0, 0x0, 0x7, 0x0, 0x6B, 0x1, 0x5, 0x1, 0x36, 0xFF, 0xFF, 0x0, 0x7E, 0xFF, 0xEC, 0x4, 0xBE, 0x7, 0x36, 0x0, 0x26, 0x0, 0x3A, 0x0, 0x0, 0x0, 0x7, 0x0, 0x45, 0x1, 0x10, 0x1, 0x36, 0xFF, 0xFF, 0x0, 0x7E, 0xFF, 0xEC, 0x4, 0xBE, 0x7, 0x36, 0x0, 0x26, 0x0, 0x3A, 0x0, 0x0, 0x0, 0x7, 0x0, 0x76, 0x1, 0xAF, 0x1, 0x36, 0xFF, 0xFF, 0x0, 0x7E, 0xFF, 0xEC, 0x4, 0xBE, 0x7, 0x37, 0x0, 0x26, 0x0, 0x3A, 0x0, 0x0, 0x0, 0x7, 0x1, 0x77, 0x0, 0xB0, 0x1, 0x36, 0xFF, 0xFF, 0x0, 0x7E, 0xFF, 0xEC, 0x4, 0xBE, 0x7, 0x3, 0x0, 0x26, 0x0, 0x3A, 0x0, 0x0, 0x0, 0x7, 0x0, 0x6B, 0x0, 0xDC, 0x1, 0x36, 0xFF, 0xFF, 0x0, 0x8, 0x0, 0x0, 0x4, 0xD6, 0x7, 0x36, 0x0, 0x26, 0x0, 0x3E, 0x0, 0x0, 0x0, 0x7, 0x0, 0x76, 0x1, 0x87, 0x1, 0x36, 0xFF, 0xFF, 0x0, 0x5B, 0xFF, 0xEC, 0x3, 0xFC, 0x6, 0x0, 0x0, 0x26, 0x0, 0x46, 0x0, 0x0, 0x0, 0x7, 0x0, 0x45, 0x0, 0xAC, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x5B, 0xFF, 0xEC, 0x3, 0xFC, 0x6, 0x0, 0x0, 0x26, 0x0, 0x46, 0x0, 0x0, 0x0, 0x7, 0x0, 0x76, 0x1, 0x4B, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x5B, 0xFF, 0xEC, 0x3, 0xFC, 0x6, 0x1, 0x0, 0x26, 0x0, 0x46, 0x0, 0x0, 0x0, 0x6, 0x1, 0x77, 0x4C, 0x0, 0xFF, 0xFF, 0x0, 0x5B, 0xFF, 0xEC, 0x3, 0xFC, 0x5, 0xF5, 0x0, 0x26, 0x0, 0x46, 0x0, 0x0, 0x0, 0x6, 0x1, 0x8D, 0x4E, 0x0, 0xFF, 0xFF, 0x0, 0x5B, 0xFF, 0xEC, 0x3, 0xFC, 0x5, 0xCD, 0x0, 0x26, 0x0, 0x46, 0x0, 0x0, 0x0, 0x6, 0x0, 0x6B, 0x78, 0x0, 0xFF, 0xFF, 0x0, 0x5B, 0xFF, 0xEC, 0x3, 0xFC, 0x6, 0x5E, 0x0, 0x26, 0x0, 0x46, 0x0, 0x0, 0x0, 0x7, 0x1, 0x8B, 0x0, 0xE1, 0x0, 0x34, 0xFF, 0xFF, 0x0, 0x5B, 0xFF, 0xEC, 0x3, 0xFC, 0x6, 0x7B, 0x0, 0x26, 0x0, 0x46, 0x0, 0x0, 0x0, 0x7, 0x7, 0xA5, 0x0, 0xE7, 0xFF, 0xE5, 0xFF, 0xFF, 0x0, 0x50, 0xFE, 0x39, 0x3, 0xF5, 0x4, 0x4E, 0x0, 0x26, 0x0, 0x48, 0x0, 0x0, 0x0, 0x7, 0x0, 0x7A, 0x1, 0x3D, 0xFF, 0xF9, 0xFF, 0xFF, 0x0, 0x54, 0xFF, 0xEC, 0x4, 0xC, 0x6, 0x0, 0x0, 0x26, 0x0, 0x4A, 0x0, 0x0, 0x0, 0x7, 0x0, 0x45, 0x0, 0xA0, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x54, 0xFF, 0xEC, 0x4, 0xC, 0x6, 0x0, 0x0, 0x26, 0x0, 0x4A, 0x0, 0x0, 0x0, 0x7, 0x0, 0x76, 0x1, 0x3F, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x54, 0xFF, 0xEC, 0x4, 0xC, 0x6, 0x1, 0x0, 0x26, 0x0, 0x4A, 0x0, 0x0, 0x0, 0x6, 0x1, 0x77, 0x40, 0x0, 0xFF, 0xFF, 0x0, 0x54, 0xFF, 0xEC, 0x4, 0xC, 0x5, 0xCD, 0x0, 0x26, 0x0, 0x4A, 0x0, 0x0, 0x0, 0x6, 0x0, 0x6B, 0x6C, 0x0, 0xFF, 0xFF, 0xFF, 0xB2, 0x0, 0x0, 0x1, 0x8B, 0x5, 0xF9, 0x0, 0x26, 0x0, 0x8E, 0x0, 0x0, 0x0, 0x6, 0x0, 0x45, 0x81, 0xF9, 0xFF, 0xFF, 0x0, 0x90, 0x0, 0x0, 0x2, 0x69, 0x5, 0xF9, 0x0, 0x26, 0x0, 0x8E, 0x0, 0x0, 0x0, 0x6, 0x0, 0x76, 0x20, 0xF9, 0xFF, 0xFF, 0xFF, 0xB6, 0x0, 0x0, 0x2, 0x65, 0x5, 0xFA, 0x0, 0x26, 0x0, 0x8E, 0x0, 0x0, 0x0, 0x7, 0x1, 0x77, 0xFF, 0x21, 0xFF, 0xF9, 0xFF, 0xFF, 0xFF, 0xAB, 0x0, 0x0, 0x2, 0x71, 0x5, 0xC6, 0x0, 0x26, 0x0, 0x8E, 0x0, 0x0, 0x0, 0x7, 0x0, 0x6B, 0xFF, 0x4D, 0xFF, 0xF9, 0xFF, 0xFF, 0x0, 0x7A, 0x0, 0x0, 0x3, 0xF9, 0x5, 0xF5, 0x0, 0x26, 0x0, 0x53, 0x0, 0x0, 0x0, 0x6, 0x1, 0x8D, 0x55, 0x0, 0xFF, 0xFF, 0x0, 0x50, 0xFF, 0xEC, 0x4, 0x3E, 0x6, 0x0, 0x0, 0x26, 0x0, 0x54, 0x0, 0x0, 0x0, 0x7, 0x0, 0x45, 0x0, 0xB5, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x50, 0xFF, 0xEC, 0x4, 0x3E, 0x6, 0x0, 0x0, 0x26, 0x0, 0x54, 0x0, 0x0, 0x0, 0x7, 0x0, 0x76, 0x1, 0x54, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x50, 0xFF, 0xEC, 0x4, 0x3E, 0x6, 0x1, 0x0, 0x26, 0x0, 0x54, 0x0, 0x0, 0x0, 0x6, 0x1, 0x77, 0x55, 0x0, 0xFF, 0xFF, 0x0, 0x50, 0xFF, 0xEC, 0x4, 0x3E, 0x5, 0xF5, 0x0, 0x26, 0x0, 0x54, 0x0, 0x0, 0x0, 0x6, 0x1, 0x8D, 0x57, 0x0, 0xFF, 0xFF, 0x0, 0x50, 0xFF, 0xEC, 0x4, 0x3E, 0x5, 0xCD, 0x0, 0x26, 0x0, 0x54, 0x0, 0x0, 0x0, 0x7, 0x0, 0x6B, 0x0, 0x81, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x77, 0xFF, 0xEC, 0x3, 0xF7, 0x6, 0x0, 0x0, 0x26, 0x0, 0x5A, 0x0, 0x0, 0x0, 0x7, 0x0, 0x45, 0x0, 0xAE, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x77, 0xFF, 0xEC, 0x3, 0xF7, 0x6, 0x0, 0x0, 0x26, 0x0, 0x5A, 0x0, 0x0, 0x0, 0x7, 0x0, 0x76, 0x1, 0x4D, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x77, 0xFF, 0xEC, 0x3, 0xF7, 0x6, 0x1, 0x0, 0x26, 0x0, 0x5A, 0x0, 0x0, 0x0, 0x6, 0x1, 0x77, 0x4E, 0x0, 0xFF, 0xFF, 0x0, 0x77, 0xFF, 0xEC, 0x3, 0xF7, 0x5, 0xCD, 0x0, 0x26, 0x0, 0x5A, 0x0, 0x0, 0x0, 0x6, 0x0, 0x6B, 0x7A, 0x0, 0xFF, 0xFF, 0x0, 0xC, 0xFE, 0x4B, 0x3, 0xD7, 0x6, 0x0, 0x0, 0x26, 0x0, 0x5E, 0x0, 0x0, 0x0, 0x7, 0x0, 0x76, 0x1, 0x16, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0xC, 0xFE, 0x4B, 0x3, 0xD7, 0x5, 0xCD, 0x0, 0x26, 0x0, 0x5E, 0x0, 0x0, 0x0, 0x6, 0x0, 0x6B, 0x43, 0x0, 0xFF, 0xFF, 0x0, 0x12, 0x0, 0x0, 0x5, 0x43, 0x6, 0xE3, 0x0, 0x26, 0x0, 0x26, 0x0, 0x0, 0x0, 0x7, 0x0, 0x71, 0x0, 0xBE, 0x1, 0x39, 0xFF, 0xFF, 0x0, 0x5B, 0xFF, 0xEC, 0x3, 0xFC, 0x5, 0xAD, 0x0, 0x26, 0x0, 0x46, 0x0, 0x0, 0x0, 0x6, 0x0, 0x71, 0x48, 0x3, 0xFF, 0xFF, 0x0, 0x12, 0x0, 0x0, 0x5, 0x43, 0x7, 0x1D, 0x0, 0x26, 0x0, 0x26, 0x0, 0x0, 0x0, 0x7, 0x1, 0x89, 0x0, 0xF5, 0x1, 0x36, 0xFF, 0xFF, 0x0, 0x5B, 0xFF, 0xEC, 0x3, 0xFC, 0x5, 0xE7, 0x0, 0x26, 0x0, 0x46, 0x0, 0x0, 0x0, 0x6, 0x1, 0x89, 0x7F, 0x0, 0x0, 0x2, 0x0, 0x12, 0xFE, 0x52, 0x5, 0x43, 0x5, 0xB0, 0x0, 0x2, 0x0, 0x19, 0x0, 0x0, 0x1, 0x3, 0x3, 0x1, 0x6, 0x23, 0x22, 0x26, 0x35, 0x34, 0x37, 0x3, 0x21, 0x3, 0x21, 0x1, 0x33, 0x1, 0x23, 0x6, 0x6, 0x15, 0x14, 0x33, 0x32, 0x37, 0x3, 0x7E, 0xD4, 0xD3, 0x3, 0x42, 0x49, 0x5C, 0x58, 0x7B, 0x97, 0x74, 0xFD, 0xCC, 0x76, 0xFE, 0xF8, 0x2, 0x26, 0xE3, 0x2, 0x28, 0x3E, 0x45, 0x5D, 0x47, 0x2C, 0x2E, 0x2, 0x1F, 0x2, 0x5E, 0xFD, 0xA2, 0xFC, 0x5F, 0x2C, 0x66, 0x63, 0x8D, 0x62, 0x1, 0x4A, 0xFE, 0xAC, 0x5, 0xB0, 0xFA, 0x50, 0x2D, 0x5F, 0x3B, 0x44, 0x17, 0x0, 0x2, 0x0, 0x5B, 0xFE, 0x52, 0x3, 0xFC, 0x4, 0x4E, 0x0, 0x8, 0x0, 0x35, 0x0, 0x0, 0x24, 0x36, 0x37, 0x35, 0x23, 0x6, 0x15, 0x14, 0x16, 0x1, 0x6, 0x23, 0x22, 0x26, 0x35, 0x34, 0x37, 0x26, 0x27, 0x6, 0x23, 0x22, 0x26, 0x35, 0x34, 0x24, 0x33, 0x33, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x23, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x11, 0x14, 0x17, 0x15, 0x23, 0x6, 0x6, 0x15, 0x14, 0x33, 0x32, 0x37, 0x2, 0x4D, 0x7A, 0x19, 0x94, 0xFF, 0x58, 0x2, 0x41, 0x49, 0x5C, 0x58, 0x7B, 0x93, 0x10, 0x9, 0x73, 0xAA, 0xA2, 0xCE, 0x1, 0x2, 0xEA, 0x99, 0x5F, 0x5F, 0x57, 0x67, 0xF2, 0xF1, 0xCD, 0xB6, 0xED, 0x29, 0x2A, 0x45, 0x5D, 0x47, 0x2C, 0x2E, 0xAF, 0x51, 0x31, 0xCC, 0x6, 0xAF, 0x41, 0x58, 0xFD, 0xCF, 0x2C, 0x66, 0x63, 0x8C, 0x60, 0x25, 0x3A, 0x7A, 0xBA, 0x8A, 0xAD, 0xB8, 0x47, 0x55, 0x65, 0x56, 0x3E, 0x80, 0xCC, 0xBA, 0xBA, 0xFE, 0x20, 0x92, 0x57, 0x11, 0x2D, 0x5F, 0x3B, 0x44, 0x17, 0xFF, 0xFF, 0x0, 0x66, 0xFF, 0xEC, 0x4, 0xEC, 0x7, 0x4B, 0x0, 0x26, 0x0, 0x28, 0x0, 0x0, 0x0, 0x7, 0x0, 0x76, 0x1, 0xC0, 0x1, 0x4B, 0xFF, 0xFF, 0x0, 0x50, 0xFF, 0xEC, 0x3, 0xF5, 0x6, 0x0, 0x0, 0x26, 0x0, 0x48, 0x0, 0x0, 0x0, 0x7, 0x0, 0x76, 0x1, 0x29, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x66, 0xFF, 0xEC, 0x4, 0xEC, 0x7, 0x4C, 0x0, 0x26, 0x0, 0x28, 0x0, 0x0, 0x0, 0x7, 0x1, 0x77, 0x0, 0xC1, 0x1, 0x4B, 0xFF, 0xFF, 0x0, 0x50, 0xFF, 0xEC, 0x3, 0xF5, 0x6, 0x1, 0x0, 0x26, 0x0, 0x48, 0x0, 0x0, 0x0, 0x6, 0x1, 0x77, 0x2A, 0x0, 0xFF, 0xFF, 0x0, 0x66, 0xFF, 0xEC, 0x4, 0xEC, 0x7, 0x28, 0x0, 0x26, 0x0, 0x28, 0x0, 0x0, 0x0, 0x7, 0x1, 0x8A, 0x1, 0xA7, 0x1, 0x53, 0xFF, 0xFF, 0x0, 0x50, 0xFF, 0xEC, 0x3, 0xF5, 0x5, 0xDD, 0x0, 0x26, 0x0, 0x48, 0x0, 0x0, 0x0, 0x7, 0x1, 0x8A, 0x1, 0x10, 0x0, 0x8, 0xFF, 0xFF, 0x0, 0x66, 0xFF, 0xEC, 0x4, 0xEC, 0x7, 0x4D, 0x0, 0x26, 0x0, 0x28, 0x0, 0x0, 0x0, 0x7, 0x1, 0x78, 0x0, 0xD9, 0x1, 0x4B, 0xFF, 0xFF, 0x0, 0x50, 0xFF, 0xEC, 0x3, 0xF5, 0x6, 0x2, 0x0, 0x26, 0x0, 0x48, 0x0, 0x0, 0x0, 0x6, 0x1, 0x78, 0x42, 0x0, 0xFF, 0xFF, 0x0, 0x95, 0x0, 0x0, 0x4, 0xD2, 0x7, 0x40, 0x0, 0x26, 0x0, 0x29, 0x0, 0x0, 0x0, 0x7, 0x1, 0x78, 0x0, 0x68, 0x1, 0x3E, 0xFF, 0xFF, 0x0, 0x50, 0xFF, 0xEC, 0x5, 0x5B, 0x6, 0x1, 0x0, 0x26, 0x0, 0x49, 0x0, 0x0, 0x0, 0x7, 0x7, 0x25, 0x4, 0x1, 0x4, 0xFB, 0xFF, 0xFF, 0x0, 0x95, 0x0, 0x0, 0x4, 0x4D, 0x6, 0xEB, 0x0, 0x26, 0x0, 0x2A, 0x0, 0x0, 0x0, 0x7, 0x0, 0x71, 0x0, 0x84, 0x1, 0x41, 0xFF, 0xFF, 0x0, 0x54, 0xFF, 0xEC, 0x4, 0xC, 0x5, 0xAD, 0x0, 0x26, 0x0, 0x4A, 0x0, 0x0, 0x0, 0x6, 0x0, 0x71, 0x3C, 0x3, 0xFF, 0xFF, 0x0, 0x95, 0x0, 0x0, 0x4, 0x4D, 0x7, 0x25, 0x0, 0x26, 0x0, 0x2A, 0x0, 0x0, 0x0, 0x7, 0x1, 0x89, 0x0, 0xBB, 0x1, 0x3E, 0xFF, 0xFF, 0x0, 0x54, 0xFF, 0xEC, 0x4, 0xC, 0x5, 0xE7, 0x0, 0x26, 0x0, 0x4A, 0x0, 0x0, 0x0, 0x6, 0x1, 0x89, 0x73, 0x0, 0xFF, 0xFF, 0x0, 0x95, 0x0, 0x0, 0x4, 0x4D, 0x7, 0x1B, 0x0, 0x26, 0x0, 0x2A, 0x0, 0x0, 0x0, 0x7, 0x1, 0x8A, 0x1, 0x6E, 0x1, 0x46, 0xFF, 0xFF, 0x0, 0x54, 0xFF, 0xEC, 0x4, 0xC, 0x5, 0xDD, 0x0, 0x26, 0x0, 0x4A, 0x0, 0x0, 0x0, 0x7, 0x1, 0x8A, 0x1, 0x26, 0x0, 0x8, 0x0, 0x1, 0x0, 0x95, 0xFE, 0x52, 0x4, 0x4D, 0x5, 0xB0, 0x0, 0x1B, 0x0, 0x0, 0x1, 0x6, 0x23, 0x22, 0x26, 0x35, 0x34, 0x37, 0x21, 0x11, 0x21, 0x15, 0x21, 0x11, 0x21, 0x15, 0x21, 0x11, 0x21, 0x15, 0x23, 0x6, 0x6, 0x15, 0x14, 0x33, 0x32, 0x37, 0x3, 0xF1, 0x49, 0x5C, 0x58, 0x7B, 0x88, 0xFD, 0x94, 0x3, 0xB1, 0xFD, 0x4B, 0x2, 0x56, 0xFD, 0xAA, 0x2, 0xBC, 0x70, 0x45, 0x5D, 0x47, 0x2C, 0x2E, 0xFE, 0x7E, 0x2C, 0x66, 0x63, 0x85, 0x60, 0x5, 0xB0, 0xCB, 0xFE, 0x6D, 0xC7, 0xFE, 0x3F, 0xCA, 0x2D, 0x5F, 0x3B, 0x44, 0x17, 0x0, 0x2, 0x0, 0x54, 0xFE, 0x6D, 0x4, 0xC, 0x4, 0x4E, 0x0, 0x7, 0x0, 0x2B, 0x0, 0x0, 0x1, 0x22, 0x6, 0x7, 0x21, 0x35, 0x26, 0x26, 0x13, 0x6, 0x23, 0x22, 0x26, 0x35, 0x34, 0x37, 0x26, 0x2, 0x35, 0x35, 0x10, 0x0, 0x33, 0x32, 0x12, 0x15, 0x15, 0x21, 0x16, 0x16, 0x33, 0x32, 0x37, 0x17, 0x6, 0x7, 0x31, 0x6, 0x6, 0x15, 0x14, 0x33, 0x32, 0x37, 0x2, 0x3D, 0x64, 0x7A, 0x12, 0x1, 0xCE, 0x4, 0x61, 0x9E, 0x49, 0x5C, 0x58, 0x7B, 0x51, 0xDD, 0xFC, 0x1, 0x1B, 0xCE, 0xEC, 0xE3, 0xFD, 0x3D, 0xA, 0x95, 0x80, 0xA7, 0x68, 0x83, 0x46, 0x74, 0x45, 0x5D, 0x47, 0x2C, 0x2E, 0x3, 0x8B, 0x8C, 0x7C, 0x12, 0x5F, 0x97, 0xFB, 0xE, 0x2C, 0x66, 0x63, 0x67, 0x50, 0xF, 0x1, 0x27, 0xD4, 0x29, 0x1, 0x1, 0x1, 0x2D, 0xFE, 0xD4, 0xEA, 0x67, 0x7D, 0xA5, 0x86, 0x7D, 0x67, 0x36, 0x2D, 0x5F, 0x3B, 0x44, 0x17, 0xFF, 0xFF, 0x0, 0x95, 0x0, 0x0, 0x4, 0x4D, 0x7, 0x40, 0x0, 0x26, 0x0, 0x2A, 0x0, 0x0, 0x0, 0x7, 0x1, 0x78, 0x0, 0xA0, 0x1, 0x3E, 0xFF, 0xFF, 0x0, 0x54, 0xFF, 0xEC, 0x4, 0xC, 0x6, 0x2, 0x0, 0x26, 0x0, 0x4A, 0x0, 0x0, 0x0, 0x6, 0x1, 0x78, 0x58, 0x0, 0xFF, 0xFF, 0x0, 0x6A, 0xFF, 0xEC, 0x4, 0xF0, 0x7, 0x4C, 0x0, 0x26, 0x0, 0x2C, 0x0, 0x0, 0x0, 0x7, 0x1, 0x77, 0x0, 0xBE, 0x1, 0x4B, 0xFF, 0xFF, 0x0, 0x52, 0xFE, 0x56, 0x4, 0xD, 0x6, 0x1, 0x0, 0x26, 0x0, 0x4C, 0x0, 0x0, 0x0, 0x6, 0x1, 0x77, 0x40, 0x0, 0xFF, 0xFF, 0x0, 0x6A, 0xFF, 0xEC, 0x4, 0xF0, 0x7, 0x32, 0x0, 0x26, 0x0, 0x2C, 0x0, 0x0, 0x0, 0x7, 0x1, 0x89, 0x0, 0xF1, 0x1, 0x4B, 0xFF, 0xFF, 0x0, 0x52, 0xFE, 0x56, 0x4, 0xD, 0x5, 0xE7, 0x0, 0x26, 0x0, 0x4C, 0x0, 0x0, 0x0, 0x6, 0x1, 0x89, 0x73, 0x0, 0xFF, 0xFF, 0x0, 0x6A, 0xFF, 0xEC, 0x4, 0xF0, 0x7, 0x28, 0x0, 0x26, 0x0, 0x2C, 0x0, 0x0, 0x0, 0x7, 0x1, 0x8A, 0x1, 0xA4, 0x1, 0x53, 0xFF, 0xFF, 0x0, 0x52, 0xFE, 0x56, 0x4, 0xD, 0x5, 0xDD, 0x0, 0x26, 0x0, 0x4C, 0x0, 0x0, 0x0, 0x7, 0x1, 0x8A, 0x1, 0x26, 0x0, 0x8, 0xFF, 0xFF, 0x0, 0x6A, 0xFD, 0xF0, 0x4, 0xF0, 0x5, 0xC4, 0x0, 0x26, 0x0, 0x2C, 0x0, 0x0, 0x0, 0x7, 0x7, 0x25, 0x1, 0xE4, 0xFE, 0x8A, 0xFF, 0xFF, 0x0, 0x52, 0xFE, 0x56, 0x4, 0xD, 0x6, 0xA8, 0x0, 0x26, 0x0, 0x4C, 0x0, 0x0, 0x0, 0x7, 0x7, 0xB2, 0x1, 0x28, 0x0, 0x7D, 0xFF, 0xFF, 0x0, 0x95, 0x0, 0x0, 0x5, 0x19, 0x7, 0x3F, 0x0, 0x26, 0x0, 0x2D, 0x0, 0x0, 0x0, 0x7, 0x1, 0x77, 0x0, 0xE2, 0x1, 0x3E, 0xFF, 0xFF, 0x0, 0x7A, 0x0, 0x0, 0x3, 0xF9, 0x7, 0x5F, 0x0, 0x26, 0x0, 0x4D, 0x0, 0x0, 0x0, 0x7, 0x1, 0x77, 0x0, 0x17, 0x1, 0x5E, 0xFF, 0xFF, 0xFF, 0xB2, 0x0, 0x0, 0x2, 0x90, 0x7, 0x33, 0x0, 0x26, 0x0, 0x2E, 0x0, 0x0, 0x0, 0x7, 0x1, 0x8D, 0xFF, 0x38, 0x1, 0x3E, 0xFF, 0xFF, 0xFF, 0x9D, 0x0, 0x0, 0x2, 0x7B, 0x5, 0xEE, 0x0, 0x26, 0x0, 0x8E, 0x0, 0x0, 0x0, 0x7, 0x1, 0x8D, 0xFF, 0x23, 0xFF, 0xF9, 0xFF, 0xFF, 0xFF, 0xCE, 0x0, 0x0, 0x2, 0x7C, 0x6, 0xEB, 0x0, 0x26, 0x0, 0x2E, 0x0, 0x0, 0x0, 0x7, 0x0, 0x71, 0xFF, 0x32, 0x1, 0x41, 0xFF, 0xFF, 0xFF, 0xB9, 0x0, 0x0, 0x2, 0x67, 0x5, 0xA6, 0x0, 0x26, 0x0, 0x8E, 0x0, 0x0, 0x0, 0x7, 0x0, 0x71, 0xFF, 0x1D, 0xFF, 0xFC, 0xFF, 0xFF, 0xFF, 0xDF, 0x0, 0x0, 0x2, 0x64, 0x7, 0x25, 0x0, 0x26, 0x0, 0x2E, 0x0, 0x0, 0x0, 0x7, 0x1, 0x89, 0xFF, 0x69, 0x1, 0x3E, 0xFF, 0xFF, 0xFF, 0xCA, 0x0, 0x0, 0x2, 0x4F, 0x5, 0xE0, 0x0, 0x26, 0x0, 0x8E, 0x0, 0x0, 0x0, 0x7, 0x1, 0x89, 0xFF, 0x54, 0xFF, 0xF9, 0xFF, 0xFF, 0x0, 0x15, 0xFE, 0x59, 0x1, 0xA0, 0x5, 0xB0, 0x0, 0x26, 0x0, 0x2E, 0x0, 0x0, 0x0, 0x6, 0x1, 0x8C, 0xEC, 0x7, 0xFF, 0xFF, 0xFF, 0xFE, 0xFE, 0x52, 0x1, 0x91, 0x5, 0xD5, 0x0, 0x26, 0x0, 0x4E, 0x0, 0x0, 0x0, 0x6, 0x1, 0x8C, 0xD5, 0x0, 0xFF, 0xFF, 0x0, 0x9E, 0x0, 0x0, 0x1, 0xA4, 0x7, 0x1B, 0x0, 0x26, 0x0, 0x2E, 0x0, 0x0, 0x0, 0x7, 0x1, 0x8A, 0x0, 0x1C, 0x1, 0x46, 0xFF, 0xFF, 0x0, 0xA4, 0xFF, 0xEC, 0x6, 0x27, 0x5, 0xB0, 0x0, 0x26, 0x0, 0x2E, 0x0, 0x0, 0x0, 0x7, 0x0, 0x2F, 0x2, 0x42, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x7D, 0xFE, 0x4B, 0x3, 0x92, 0x5, 0xD5, 0x0, 0x26, 0x0, 0x4E, 0x0, 0x0, 0x0, 0x7, 0x0, 0x4F, 0x2, 0xC, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x2D, 0xFF, 0xEC, 0x4, 0xAB, 0x7, 0x38, 0x0, 0x26, 0x0, 0x2F, 0x0, 0x0, 0x0, 0x7, 0x1, 0x77, 0x1, 0x67, 0x1, 0x37, 0xFF, 0xFF, 0xFF, 0xB5, 0xFE, 0x4B, 0x2, 0x6A, 0x5, 0xDF, 0x0, 0x26, 0x0, 0xEC, 0x0, 0x0, 0x0, 0x7, 0x1, 0x77, 0xFF, 0x26, 0xFF, 0xDE, 0xFF, 0xFF, 0x0, 0x95, 0xFE, 0x43, 0x5, 0x18, 0x5, 0xB0, 0x0, 0x26, 0x0, 0x30, 0x0, 0x0, 0x0, 0x7, 0x7, 0x25, 0x1, 0x9D, 0xFE, 0xDD, 0xFF, 0xFF, 0x0, 0x7D, 0xFE, 0x2D, 0x4, 0x37, 0x6, 0x0, 0x0, 0x26, 0x0, 0x50, 0x0, 0x0, 0x0, 0x7, 0x7, 0x25, 0x1, 0x2D, 0xFE, 0xC7, 0xFF, 0xFF, 0x0, 0x95, 0x0, 0x0, 0x4, 0x27, 0x7, 0x36, 0x0, 0x26, 0x0, 0x31, 0x0, 0x0, 0x0, 0x7, 0x0, 0x76, 0x0, 0x28, 0x1, 0x36, 0xFF, 0xFF, 0x0, 0x8B, 0x0, 0x0, 0x2, 0x63, 0x7, 0x91, 0x0, 0x26, 0x0, 0x51, 0x0, 0x0, 0x0, 0x7, 0x0, 0x76, 0x0, 0x1A, 0x1, 0x91, 0xFF, 0xFF, 0x0, 0x95, 0xFE, 0x1, 0x4, 0x27, 0x5, 0xB0, 0x0, 0x26, 0x0, 0x31, 0x0, 0x0, 0x0, 0x7, 0x7, 0x25, 0x1, 0x6E, 0xFE, 0x9B, 0xFF, 0xFF, 0x0, 0x57, 0xFE, 0x1, 0x1, 0x7F, 0x6, 0x0, 0x0, 0x26, 0x0, 0x51, 0x0, 0x0, 0x0, 0x7, 0x7, 0x25, 0x0, 0x11, 0xFE, 0x9B, 0xFF, 0xFF, 0x0, 0x95, 0x0, 0x0, 0x4, 0x27, 0x5, 0xB0, 0x0, 0x26, 0x0, 0x31, 0x0, 0x0, 0x0, 0x7, 0x7, 0x25, 0x2, 0x9, 0x4, 0xAA, 0xFF, 0xFF, 0x0, 0x8C, 0x0, 0x0, 0x2, 0xE6, 0x6, 0x1, 0x0, 0x26, 0x0, 0x51, 0x0, 0x0, 0x0, 0x7, 0x7, 0x25, 0x1, 0x8C, 0x4, 0xFB, 0xFF, 0xFF, 0x0, 0x95, 0x0, 0x0, 0x4, 0x27, 0x5, 0xB0, 0x0, 0x26, 0x0, 0x31, 0x0, 0x0, 0x0, 0x7, 0x1, 0x8A, 0x1, 0xCA, 0xFD, 0xD4, 0xFF, 0xFF, 0x0, 0x8C, 0x0, 0x0, 0x2, 0xEC, 0x6, 0x0, 0x0, 0x26, 0x0, 0x51, 0x0, 0x0, 0x0, 0x7, 0x1, 0x8A, 0x1, 0x64, 0xFD, 0xAF, 0xFF, 0xFF, 0x0, 0x95, 0x0, 0x0, 0x5, 0x18, 0x7, 0x36, 0x0, 0x26, 0x0, 0x33, 0x0, 0x0, 0x0, 0x7, 0x0, 0x76, 0x1, 0xEA, 0x1, 0x36, 0xFF, 0xFF, 0x0, 0x7A, 0x0, 0x0, 0x3, 0xF9, 0x6, 0x0, 0x0, 0x26, 0x0, 0x53, 0x0, 0x0, 0x0, 0x7, 0x0, 0x76, 0x1, 0x52, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x95, 0xFD, 0xFE, 0x5, 0x18, 0x5, 0xB0, 0x0, 0x26, 0x0, 0x33, 0x0, 0x0, 0x0, 0x7, 0x7, 0x25, 0x1, 0xDC, 0xFE, 0x98, 0xFF, 0xFF, 0x0, 0x7A, 0xFE, 0x1, 0x3, 0xF9, 0x4, 0x4E, 0x0, 0x26, 0x0, 0x53, 0x0, 0x0, 0x0, 0x7, 0x7, 0x25, 0x1, 0x42, 0xFE, 0x9B, 0xFF, 0xFF, 0x0, 0x95, 0x0, 0x0, 0x5, 0x18, 0x7, 0x38, 0x0, 0x26, 0x0, 0x33, 0x0, 0x0, 0x0, 0x7, 0x1, 0x78, 0x1, 0x3, 0x1, 0x36, 0xFF, 0xFF, 0x0, 0x7A, 0x0, 0x0, 0x3, 0xF9, 0x6, 0x2, 0x0, 0x26, 0x0, 0x53, 0x0, 0x0, 0x0, 0x6, 0x1, 0x78, 0x6B, 0x0, 0xFF, 0xFF, 0xFF, 0xA4, 0x0, 0x0, 0x3, 0xF9, 0x6, 0x2, 0x0, 0x26, 0x0, 0x53, 0x0, 0x0, 0x0, 0x7, 0x7, 0x25, 0xFF, 0x5E, 0x4, 0xFC, 0xFF, 0xFF, 0x0, 0x66, 0xFF, 0xEC, 0x5, 0x1F, 0x6, 0xE3, 0x0, 0x26, 0x0, 0x34, 0x0, 0x0, 0x0, 0x7, 0x0, 0x71, 0x0, 0xD5, 0x1, 0x39, 0xFF, 0xFF, 0x0, 0x50, 0xFF, 0xEC, 0x4, 0x3E, 0x5, 0xAD, 0x0, 0x26, 0x0, 0x54, 0x0, 0x0, 0x0, 0x6, 0x0, 0x71, 0x51, 0x3, 0xFF, 0xFF, 0x0, 0x66, 0xFF, 0xEC, 0x5, 0x1F, 0x7, 0x1D, 0x0, 0x26, 0x0, 0x34, 0x0, 0x0, 0x0, 0x7, 0x1, 0x89, 0x1, 0xC, 0x1, 0x36, 0xFF, 0xFF, 0x0, 0x50, 0xFF, 0xEC, 0x4, 0x3E, 0x5, 0xE7, 0x0, 0x26, 0x0, 0x54, 0x0, 0x0, 0x0, 0x7, 0x1, 0x89, 0x0, 0x88, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x66, 0xFF, 0xEC, 0x5, 0x1F, 0x7, 0x35, 0x0, 0x26, 0x0, 0x34, 0x0, 0x0, 0x0, 0x7, 0x1, 0x8E, 0x1, 0x63, 0x1, 0x36, 0xFF, 0xFF, 0x0, 0x50, 0xFF, 0xEC, 0x4, 0x3E, 0x5, 0xFF, 0x0, 0x26, 0x0, 0x54, 0x0, 0x0, 0x0, 0x7, 0x1, 0x8E, 0x0, 0xDF, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x95, 0x0, 0x0, 0x4, 0xDE, 0x7, 0x36, 0x0, 0x26, 0x0, 0x37, 0x0, 0x0, 0x0, 0x7, 0x0, 0x76, 0x1, 0x70, 0x1, 0x36, 0xFF, 0xFF, 0x0, 0x7D, 0x0, 0x0, 0x2, 0xF6, 0x6, 0x0, 0x0, 0x26, 0x0, 0x57, 0x0, 0x0, 0x0, 0x7, 0x0, 0x76, 0x0, 0xAD, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x95, 0xFE, 0x1, 0x4, 0xDE, 0x5, 0xB0, 0x0, 0x26, 0x0, 0x37, 0x0, 0x0, 0x0, 0x7, 0x7, 0x25, 0x1, 0x6F, 0xFE, 0x9B, 0xFF, 0xFF, 0x0, 0x51, 0xFE, 0x1, 0x2, 0xB5, 0x4, 0x4E, 0x0, 0x26, 0x0, 0x57, 0x0, 0x0, 0x0, 0x7, 0x7, 0x25, 0x0, 0xB, 0xFE, 0x9B, 0xFF, 0xFF, 0x0, 0x95, 0x0, 0x0, 0x4, 0xDE, 0x7, 0x38, 0x0, 0x26, 0x0, 0x37, 0x0, 0x0, 0x0, 0x7, 0x1, 0x78, 0x0, 0x89, 0x1, 0x36, 0xFF, 0xFF, 0x0, 0x38, 0x0, 0x0, 0x2, 0xFB, 0x6, 0x2, 0x0, 0x26, 0x0, 0x57, 0x0, 0x0, 0x0, 0x6, 0x1, 0x78, 0xC6, 0x0, 0xFF, 0xFF, 0x0, 0x4A, 0xFF, 0xEC, 0x4, 0x8A, 0x7, 0x36, 0x0, 0x26, 0x0, 0x38, 0x0, 0x0, 0x0, 0x7, 0x0, 0x76, 0x1, 0x8E, 0x1, 0x36, 0xFF, 0xFF, 0x0, 0x4C, 0xFF, 0xEC, 0x3, 0xCA, 0x6, 0x0, 0x0, 0x26, 0x0, 0x58, 0x0, 0x0, 0x0, 0x7, 0x0, 0x76, 0x1, 0x39, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x4A, 0xFF, 0xEC, 0x4, 0x8A, 0x7, 0x37, 0x0, 0x26, 0x0, 0x38, 0x0, 0x0, 0x0, 0x7, 0x1, 0x77, 0x0, 0x8F, 0x1, 0x36, 0xFF, 0xFF, 0x0, 0x4C, 0xFF, 0xEC, 0x3, 0xCA, 0x6, 0x1, 0x0, 0x26, 0x0, 0x58, 0x0, 0x0, 0x0, 0x6, 0x1, 0x77, 0x3A, 0x0, 0xFF, 0xFF, 0x0, 0x4A, 0xFE, 0x40, 0x4, 0x8A, 0x5, 0xC4, 0x0, 0x26, 0x0, 0x38, 0x0, 0x0, 0x0, 0x7, 0x0, 0x7A, 0x1, 0x9E, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x4C, 0xFE, 0x36, 0x3, 0xCA, 0x4, 0x4E, 0x0, 0x26, 0x0, 0x58, 0x0, 0x0, 0x0, 0x7, 0x0, 0x7A, 0x1, 0x44, 0xFF, 0xF6, 0xFF, 0xFF, 0x0, 0x4A, 0xFD, 0xF7, 0x4, 0x8A, 0x5, 0xC4, 0x0, 0x26, 0x0, 0x38, 0x0, 0x0, 0x0, 0x7, 0x7, 0x25, 0x1, 0x8A, 0xFE, 0x91, 0xFF, 0xFF, 0x0, 0x4C, 0xFD, 0xED, 0x3, 0xCA, 0x4, 0x4E, 0x0, 0x26, 0x0, 0x58, 0x0, 0x0, 0x0, 0x7, 0x7, 0x25, 0x1, 0x30, 0xFE, 0x87, 0xFF, 0xFF, 0x0, 0x4A, 0xFF, 0xEC, 0x4, 0x8A, 0x7, 0x38, 0x0, 0x26, 0x0, 0x38, 0x0, 0x0, 0x0, 0x7, 0x1, 0x78, 0x0, 0xA7, 0x1, 0x36, 0xFF, 0xFF, 0x0, 0x4C, 0xFF, 0xEC, 0x3, 0xCA, 0x6, 0x2, 0x0, 0x26, 0x0, 0x58, 0x0, 0x0, 0x0, 0x6, 0x1, 0x78, 0x52, 0x0, 0xFF, 0xFF, 0x0, 0x2D, 0xFD, 0xFB, 0x4, 0xB0, 0x5, 0xB0, 0x0, 0x26, 0x0, 0x39, 0x0, 0x0, 0x0, 0x7, 0x7, 0x25, 0x1, 0x78, 0xFE, 0x95, 0xFF, 0xFF, 0x0, 0x8, 0xFD, 0xF7, 0x2, 0x73, 0x5, 0x41, 0x0, 0x26, 0x0, 0x59, 0x0, 0x0, 0x0, 0x7, 0x7, 0x25, 0x0, 0xC9, 0xFE, 0x91, 0xFF, 0xFF, 0x0, 0x2D, 0xFE, 0x44, 0x4, 0xB0, 0x5, 0xB0, 0x0, 0x26, 0x0, 0x39, 0x0, 0x0, 0x0, 0x7, 0x0, 0x7A, 0x1, 0x8C, 0x0, 0x4, 0xFF, 0xFF, 0x0, 0x8, 0xFE, 0x40, 0x2, 0xA6, 0x5, 0x41, 0x0, 0x26, 0x0, 0x59, 0x0, 0x0, 0x0, 0x7, 0x0, 0x7A, 0x0, 0xDD, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x2D, 0x0, 0x0, 0x4, 0xB0, 0x7, 0x38, 0x0, 0x26, 0x0, 0x39, 0x0, 0x0, 0x0, 0x7, 0x1, 0x78, 0x0, 0x99, 0x1, 0x36, 0xFF, 0xFF, 0x0, 0x8, 0xFF, 0xEC, 0x3, 0x27, 0x6, 0x82, 0x0, 0x26, 0x0, 0x59, 0x0, 0x0, 0x0, 0x7, 0x7, 0x25, 0x1, 0xCD, 0x5, 0x7C, 0xFF, 0xFF, 0x0, 0x7E, 0xFF, 0xEC, 0x4, 0xBE, 0x7, 0x2B, 0x0, 0x26, 0x0, 0x3A, 0x0, 0x0, 0x0, 0x7, 0x1, 0x8D, 0x0, 0xB2, 0x1, 0x36, 0xFF, 0xFF, 0x0, 0x77, 0xFF, 0xEC, 0x3, 0xF7, 0x5, 0xF5, 0x0, 0x26, 0x0, 0x5A, 0x0, 0x0, 0x0, 0x6, 0x1, 0x8D, 0x50, 0x0, 0xFF, 0xFF, 0x0, 0x7E, 0xFF, 0xEC, 0x4, 0xBE, 0x6, 0xE3, 0x0, 0x26, 0x0, 0x3A, 0x0, 0x0, 0x0, 0x7, 0x0, 0x71, 0x0, 0xAC, 0x1, 0x39, 0xFF, 0xFF, 0x0, 0x77, 0xFF, 0xEC, 0x3, 0xF7, 0x5, 0xAD, 0x0, 0x26, 0x0, 0x5A, 0x0, 0x0, 0x0, 0x6, 0x0, 0x71, 0x4A, 0x3, 0xFF, 0xFF, 0x0, 0x7E, 0xFF, 0xEC, 0x4, 0xBE, 0x7, 0x1D, 0x0, 0x26, 0x0, 0x3A, 0x0, 0x0, 0x0, 0x7, 0x1, 0x89, 0x0, 0xE3, 0x1, 0x36, 0xFF, 0xFF, 0x0, 0x77, 0xFF, 0xEC, 0x3, 0xF7, 0x5, 0xE7, 0x0, 0x26, 0x0, 0x5A, 0x0, 0x0, 0x0, 0x7, 0x1, 0x89, 0x0, 0x81, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x7E, 0xFF, 0xEC, 0x4, 0xBE, 0x7, 0x94, 0x0, 0x26, 0x0, 0x3A, 0x0, 0x0, 0x0, 0x7, 0x1, 0x8B, 0x1, 0x45, 0x1, 0x6A, 0xFF, 0xFF, 0x0, 0x77, 0xFF, 0xEC, 0x3, 0xF7, 0x6, 0x5E, 0x0, 0x26, 0x0, 0x5A, 0x0, 0x0, 0x0, 0x7, 0x1, 0x8B, 0x0, 0xE3, 0x0, 0x34, 0xFF, 0xFF, 0x0, 0x7E, 0xFF, 0xEC, 0x4, 0xBE, 0x7, 0x35, 0x0, 0x26, 0x0, 0x3A, 0x0, 0x0, 0x0, 0x7, 0x1, 0x8E, 0x1, 0x3A, 0x1, 0x36, 0xFF, 0xFF, 0x0, 0x77, 0xFF, 0xEC, 0x4, 0x2F, 0x5, 0xFF, 0x0, 0x26, 0x0, 0x5A, 0x0, 0x0, 0x0, 0x7, 0x1, 0x8E, 0x0, 0xD8, 0x0, 0x0, 0x0, 0x1, 0x0, 0x7E, 0xFE, 0x8A, 0x4, 0xBE, 0x5, 0xB0, 0x0, 0x20, 0x0, 0x0, 0x1, 0x22, 0x26, 0x35, 0x34, 0x37, 0x22, 0x24, 0x27, 0x11, 0x33, 0x11, 0x14, 0x16, 0x33, 0x32, 0x36, 0x35, 0x11, 0x33, 0x11, 0x14, 0x6, 0x7, 0x6, 0x6, 0x15, 0x14, 0x33, 0x32, 0x37, 0x17, 0x6, 0x3, 0x3E, 0x58, 0x7B, 0x36, 0xED, 0xFE, 0xCB, 0x1, 0xFB, 0x9F, 0x85, 0x87, 0x9D, 0xFD, 0x92, 0x77, 0x3B, 0x4D, 0x47, 0x2C, 0x2E, 0x15, 0x49, 0xFE, 0x8A, 0x66, 0x63, 0x54, 0x45, 0xFC, 0xF8, 0x3, 0xD0, 0xFC, 0x33, 0x9C, 0x91, 0x91, 0x9C, 0x3, 0xCD, 0xFC, 0x33, 0xA5, 0xDF, 0x39, 0x28, 0x58, 0x35, 0x44, 0x17, 0x8E, 0x2C, 0x0, 0x1, 0x0, 0x77, 0xFE, 0x52, 0x3, 0xF7, 0x4, 0x3A, 0x0, 0x20, 0x0, 0x0, 0x1, 0x6, 0x23, 0x22, 0x26, 0x35, 0x34, 0x37, 0x27, 0x6, 0x23, 0x22, 0x26, 0x27, 0x11, 0x33, 0x11, 0x14, 0x16, 0x33, 0x32, 0x37, 0x11, 0x33, 0x11, 0x23, 0x6, 0x6, 0x15, 0x14, 0x33, 0x32, 0x37, 0x3, 0xF7, 0x49, 0x5C, 0x58, 0x7B, 0x93, 0x6, 0x6A, 0xC6, 0x9E, 0xC6, 0x1, 0xF3, 0x67, 0x45, 0xAE, 0x40, 0xF3, 0x14, 0x45, 0x5D, 0x47, 0x2C, 0x2E, 0xFE, 0x7E, 0x2C, 0x66, 0x63, 0x8C, 0x60, 0x63, 0x7E, 0xBA, 0xD5, 0x2, 0xBF, 0xFD, 0x43, 0x75, 0x55, 0x7D, 0x3, 0xA, 0xFB, 0xC6, 0x2D, 0x5F, 0x3B, 0x44, 0x17, 0xFF, 0xFF, 0x0, 0x31, 0x0, 0x0, 0x6, 0xE5, 0x7, 0x37, 0x0, 0x26, 0x0, 0x3C, 0x0, 0x0, 0x0, 0x7, 0x1, 0x77, 0x1, 0xA7, 0x1, 0x36, 0xFF, 0xFF, 0x0, 0x22, 0x0, 0x0, 0x5, 0xCD, 0x6, 0x1, 0x0, 0x26, 0x0, 0x5C, 0x0, 0x0, 0x0, 0x7, 0x1, 0x77, 0x1, 0xA, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x8, 0x0, 0x0, 0x4, 0xD6, 0x7, 0x37, 0x0, 0x26, 0x0, 0x3E, 0x0, 0x0, 0x0, 0x7, 0x1, 0x77, 0x0, 0x88, 0x1, 0x36, 0xFF, 0xFF, 0x0, 0xC, 0xFE, 0x4B, 0x3, 0xD7, 0x6, 0x1, 0x0, 0x26, 0x0, 0x5E, 0x0, 0x0, 0x0, 0x6, 0x1, 0x77, 0x17, 0x0, 0xFF, 0xFF, 0x0, 0x8, 0x0, 0x0, 0x4, 0xD6, 0x7, 0x3, 0x0, 0x26, 0x0, 0x3E, 0x0, 0x0, 0x0, 0x7, 0x0, 0x6B, 0x0, 0xB4, 0x1, 0x36, 0xFF, 0xFF, 0x0, 0x50, 0x0, 0x0, 0x4, 0x8C, 0x7, 0x36, 0x0, 0x26, 0x0, 0x3F, 0x0, 0x0, 0x0, 0x7, 0x0, 0x76, 0x1, 0x83, 0x1, 0x36, 0xFF, 0xFF, 0x0, 0x52, 0x0, 0x0, 0x3, 0xC0, 0x6, 0x0, 0x0, 0x26, 0x0, 0x5F, 0x0, 0x0, 0x0, 0x7, 0x0, 0x76, 0x1, 0x1B, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x50, 0x0, 0x0, 0x4, 0x8C, 0x7, 0x13, 0x0, 0x26, 0x0, 0x3F, 0x0, 0x0, 0x0, 0x7, 0x1, 0x8A, 0x1, 0x6A, 0x1, 0x3E, 0xFF, 0xFF, 0x0, 0x52, 0x0, 0x0, 0x3, 0xC0, 0x5, 0xDD, 0x0, 0x26, 0x0, 0x5F, 0x0, 0x0, 0x0, 0x7, 0x1, 0x8A, 0x1, 0x2, 0x0, 0x8, 0xFF, 0xFF, 0x0, 0x50, 0x0, 0x0, 0x4, 0x8C, 0x7, 0x38, 0x0, 0x26, 0x0, 0x3F, 0x0, 0x0, 0x0, 0x7, 0x1, 0x78, 0x0, 0x9C, 0x1, 0x36, 0xFF, 0xFF, 0x0, 0x52, 0x0, 0x0, 0x3, 0xC0, 0x6, 0x2, 0x0, 0x26, 0x0, 0x5F, 0x0, 0x0, 0x0, 0x6, 0x1, 0x78, 0x34, 0x0, 0xFF, 0xFF, 0xFF, 0xF6, 0x0, 0x0, 0x7, 0x57, 0x7, 0x42, 0x0, 0x26, 0x0, 0x82, 0x0, 0x0, 0x0, 0x7, 0x0, 0x76, 0x2, 0xBB, 0x1, 0x42, 0xFF, 0xFF, 0x0, 0x48, 0xFF, 0xEB, 0x6, 0x85, 0x6, 0x1, 0x0, 0x26, 0x0, 0x87, 0x0, 0x0, 0x0, 0x7, 0x0, 0x76, 0x2, 0x70, 0x0, 0x1, 0xFF, 0xFF, 0x0, 0x6A, 0xFF, 0xA1, 0x5, 0x22, 0x7, 0x80, 0x0, 0x26, 0x0, 0x84, 0x0, 0x0, 0x0, 0x7, 0x0, 0x76, 0x1, 0xDF, 0x1, 0x80, 0xFF, 0xFF, 0x0, 0x50, 0xFF, 0x76, 0x4, 0x3E, 0x5, 0xFD, 0x0, 0x26, 0x0, 0x8A, 0x0, 0x0, 0x0, 0x7, 0x0, 0x76, 0x1, 0x30, 0xFF, 0xFD, 0xFF, 0xFF, 0xFF, 0xA6, 0x0, 0x0, 0x4, 0x2B, 0x4, 0x8D, 0x0, 0x26, 0x7, 0xAE, 0x0, 0x0, 0x0, 0x7, 0x7, 0xA4, 0xFF, 0x16, 0xFF, 0x6D, 0xFF, 0xFF, 0xFF, 0xA6, 0x0, 0x0, 0x4, 0x2B, 0x4, 0x8D, 0x0, 0x26, 0x7, 0xAE, 0x0, 0x0, 0x0, 0x7, 0x7, 0xA4, 0xFF, 0x16, 0xFF, 0x6D, 0xFF, 0xFF, 0x0, 0x25, 0x0, 0x0, 0x4, 0x16, 0x4, 0x8D, 0x0, 0x26, 0x7, 0x54, 0x0, 0x0, 0x0, 0x6, 0x7, 0xA4, 0x32, 0xBC, 0xFF, 0xFF, 0x0, 0x9, 0x0, 0x0, 0x4, 0x94, 0x6, 0x1E, 0x0, 0x26, 0x7, 0xB1, 0x0, 0x0, 0x0, 0x7, 0x0, 0x45, 0x0, 0xC6, 0x0, 0x1E, 0xFF, 0xFF, 0x0, 0x9, 0x0, 0x0, 0x4, 0x94, 0x6, 0x1E, 0x0, 0x26, 0x7, 0xB1, 0x0, 0x0, 0x0, 0x7, 0x0, 0x76, 0x1, 0x65, 0x0, 0x1E, 0xFF, 0xFF, 0x0, 0x9, 0x0, 0x0, 0x4, 0x94, 0x6, 0x1F, 0x0, 0x26, 0x7, 0xB1, 0x0, 0x0, 0x0, 0x6, 0x1, 0x77, 0x66, 0x1E, 0xFF, 0xFF, 0x0, 0x9, 0x0, 0x0, 0x4, 0x94, 0x6, 0x13, 0x0, 0x26, 0x7, 0xB1, 0x0, 0x0, 0x0, 0x6, 0x1, 0x8D, 0x68, 0x1E, 0xFF, 0xFF, 0x0, 0x9, 0x0, 0x0, 0x4, 0x94, 0x5, 0xEB, 0x0, 0x26, 0x7, 0xB1, 0x0, 0x0, 0x0, 0x7, 0x0, 0x6B, 0x0, 0x92, 0x0, 0x1E, 0xFF, 0xFF, 0x0, 0x9, 0x0, 0x0, 0x4, 0x94, 0x6, 0x7C, 0x0, 0x26, 0x7, 0xB1, 0x0, 0x0, 0x0, 0x7, 0x1, 0x8B, 0x0, 0xFB, 0x0, 0x52, 0xFF, 0xFF, 0x0, 0x9, 0x0, 0x0, 0x4, 0x94, 0x6, 0x99, 0x0, 0x26, 0x7, 0xB1, 0x0, 0x0, 0x0, 0x7, 0x7, 0xA5, 0x1, 0x1, 0x0, 0x3, 0xFF, 0xFF, 0x0, 0x50, 0xFE, 0x3F, 0x4, 0x44, 0x4, 0x9D, 0x0, 0x26, 0x7, 0xAF, 0x0, 0x0, 0x0, 0x7, 0x0, 0x7A, 0x1, 0x6B, 0xFF, 0xFF, 0xFF, 0xFF, 0x0, 0x76, 0x0, 0x0, 0x3, 0xB6, 0x6, 0x1E, 0x0, 0x26, 0x7, 0xA6, 0x0, 0x0, 0x0, 0x7, 0x0, 0x45, 0x0, 0x96, 0x0, 0x1E, 0xFF, 0xFF, 0x0, 0x76, 0x0, 0x0, 0x3, 0xB6, 0x6, 0x1E, 0x0, 0x26, 0x7, 0xA6, 0x0, 0x0, 0x0, 0x7, 0x0, 0x76, 0x1, 0x35, 0x0, 0x1E, 0xFF, 0xFF, 0x0, 0x76, 0x0, 0x0, 0x3, 0xB6, 0x6, 0x1F, 0x0, 0x26, 0x7, 0xA6, 0x0, 0x0, 0x0, 0x6, 0x1, 0x77, 0x36, 0x1E, 0xFF, 0xFF, 0x0, 0x76, 0x0, 0x0, 0x3, 0xB6, 0x5, 0xEB, 0x0, 0x26, 0x7, 0xA6, 0x0, 0x0, 0x0, 0x6, 0x0, 0x6B, 0x62, 0x1E, 0xFF, 0xFF, 0xFF, 0xA5, 0x0, 0x0, 0x1, 0x7E, 0x6, 0x1E, 0x0, 0x26, 0x7, 0x5F, 0x0, 0x0, 0x0, 0x7, 0x0, 0x45, 0xFF, 0x74, 0x0, 0x1E, 0xFF, 0xFF, 0x0, 0x84, 0x0, 0x0, 0x2, 0x5C, 0x6, 0x1E, 0x0, 0x26, 0x7, 0x5F, 0x0, 0x0, 0x0, 0x6, 0x0, 0x76, 0x13, 0x1E, 0xFF, 0xFF, 0xFF, 0xA9, 0x0, 0x0, 0x2, 0x58, 0x6, 0x1F, 0x0, 0x26, 0x7, 0x5F, 0x0, 0x0, 0x0, 0x7, 0x1, 0x77, 0xFF, 0x14, 0x0, 0x1E, 0xFF, 0xFF, 0xFF, 0x9E, 0x0, 0x0, 0x2, 0x64, 0x5, 0xEB, 0x0, 0x26, 0x7, 0x5F, 0x0, 0x0, 0x0, 0x7, 0x0, 0x6B, 0xFF, 0x40, 0x0, 0x1E, 0xFF, 0xFF, 0x0, 0x76, 0x0, 0x0, 0x4, 0x67, 0x6, 0x13, 0x0, 0x26, 0x7, 0x5A, 0x0, 0x0, 0x0, 0x7, 0x1, 0x8D, 0x0, 0x87, 0x0, 0x1E, 0xFF, 0xFF, 0x0, 0x50, 0xFF, 0xF0, 0x4, 0x6F, 0x6, 0x1E, 0x0, 0x26, 0x7, 0x59, 0x0, 0x0, 0x0, 0x7, 0x0, 0x45, 0x0, 0xD4, 0x0, 0x1E, 0xFF, 0xFF, 0x0, 0x50, 0xFF, 0xF0, 0x4, 0x6F, 0x6, 0x1E, 0x0, 0x26, 0x7, 0x59, 0x0, 0x0, 0x0, 0x7, 0x0, 0x76, 0x1, 0x73, 0x0, 0x1E, 0xFF, 0xFF, 0x0, 0x50, 0xFF, 0xF0, 0x4, 0x6F, 0x6, 0x1F, 0x0, 0x26, 0x7, 0x59, 0x0, 0x0, 0x0, 0x6, 0x1, 0x77, 0x74, 0x1E, 0xFF, 0xFF, 0x0, 0x50, 0xFF, 0xF0, 0x4, 0x6F, 0x6, 0x13, 0x0, 0x26, 0x7, 0x59, 0x0, 0x0, 0x0, 0x6, 0x1, 0x8D, 0x76, 0x1E, 0xFF, 0xFF, 0x0, 0x50, 0xFF, 0xF0, 0x4, 0x6F, 0x5, 0xEB, 0x0, 0x26, 0x7, 0x59, 0x0, 0x0, 0x0, 0x7, 0x0, 0x6B, 0x0, 0xA0, 0x0, 0x1E, 0xFF, 0xFF, 0x0, 0x67, 0xFF, 0xF0, 0x4, 0x1E, 0x6, 0x1E, 0x0, 0x26, 0x7, 0x53, 0x0, 0x0, 0x0, 0x7, 0x0, 0x45, 0x0, 0xB5, 0x0, 0x1E, 0xFF, 0xFF, 0x0, 0x67, 0xFF, 0xF0, 0x4, 0x1E, 0x6, 0x1E, 0x0, 0x26, 0x7, 0x53, 0x0, 0x0, 0x0, 0x7, 0x0, 0x76, 0x1, 0x54, 0x0, 0x1E, 0xFF, 0xFF, 0x0, 0x67, 0xFF, 0xF0, 0x4, 0x1E, 0x6, 0x1F, 0x0, 0x26, 0x7, 0x53, 0x0, 0x0, 0x0, 0x6, 0x1, 0x77, 0x55, 0x1E, 0xFF, 0xFF, 0x0, 0x67, 0xFF, 0xF0, 0x4, 0x1E, 0x5, 0xEB, 0x0, 0x26, 0x7, 0x53, 0x0, 0x0, 0x0, 0x7, 0x0, 0x6B, 0x0, 0x81, 0x0, 0x1E, 0xFF, 0xFF, 0x0, 0x5, 0x0, 0x0, 0x4, 0x37, 0x6, 0x1E, 0x0, 0x26, 0x7, 0x4F, 0x0, 0x0, 0x0, 0x7, 0x0, 0x76, 0x1, 0x2D, 0x0, 0x1E, 0xFF, 0xFF, 0x0, 0x9, 0x0, 0x0, 0x4, 0x94, 0x5, 0xCB, 0x0, 0x26, 0x7, 0xB1, 0x0, 0x0, 0x0, 0x6, 0x0, 0x71, 0x62, 0x21, 0xFF, 0xFF, 0x0, 0x9, 0x0, 0x0, 0x4, 0x94, 0x6, 0x5, 0x0, 0x26, 0x7, 0xB1, 0x0, 0x0, 0x0, 0x7, 0x1, 0x89, 0x0, 0x99, 0x0, 0x1E, 0x0, 0x2, 0x0, 0x9, 0xFE, 0x52, 0x4, 0x94, 0x4, 0x8D, 0x0, 0x2, 0x0, 0x19, 0x0, 0x0, 0x1, 0x3, 0x3, 0x1, 0x6, 0x23, 0x22, 0x26, 0x35, 0x34, 0x37, 0x27, 0x21, 0x7, 0x23, 0x1, 0x33, 0x1, 0x23, 0x6, 0x6, 0x15, 0x14, 0x33, 0x32, 0x37, 0x2, 0xF8, 0xAA, 0xA9, 0x2, 0xCE, 0x49, 0x5C, 0x58, 0x7B, 0x9E, 0x5A, 0xFE, 0x20, 0x60, 0xF6, 0x1, 0xD7, 0xDF, 0x1, 0xD5, 0x35, 0x45, 0x5D, 0x47, 0x2C, 0x2E, 0x1, 0xB2, 0x1, 0xBA, 0xFE, 0x46, 0xFC, 0xCC, 0x2C, 0x66, 0x63, 0x8F, 0x65, 0xEB, 0xFA, 0x4, 0x8D, 0xFB, 0x73, 0x2D, 0x5F, 0x3B, 0x44, 0x17, 0xFF, 0xFF, 0x0, 0x50, 0xFF, 0xF0, 0x4, 0x44, 0x6, 0x1E, 0x0, 0x26, 0x7, 0xAF, 0x0, 0x0, 0x0, 0x7, 0x0, 0x76, 0x1, 0x63, 0x0, 0x1E, 0xFF, 0xFF, 0x0, 0x50, 0xFF, 0xF0, 0x4, 0x44, 0x6, 0x1F, 0x0, 0x26, 0x7, 0xAF, 0x0, 0x0, 0x0, 0x6, 0x1, 0x77, 0x64, 0x1E, 0xFF, 0xFF, 0x0, 0x50, 0xFF, 0xF0, 0x4, 0x44, 0x5, 0xFB, 0x0, 0x26, 0x7, 0xAF, 0x0, 0x0, 0x0, 0x7, 0x1, 0x8A, 0x1, 0x4A, 0x0, 0x26, 0xFF, 0xFF, 0x0, 0x50, 0xFF, 0xF0, 0x4, 0x44, 0x6, 0x20, 0x0, 0x26, 0x7, 0xAF, 0x0, 0x0, 0x0, 0x6, 0x1, 0x78, 0x7C, 0x1E, 0xFF, 0xFF, 0x0, 0x6A, 0x0, 0x0, 0x4, 0x2B, 0x6, 0x20, 0x0, 0x26, 0x7, 0xAE, 0x0, 0x0, 0x0, 0x6, 0x1, 0x78, 0xF8, 0x1E, 0xFF, 0xFF, 0x0, 0x76, 0x0, 0x0, 0x3, 0xB6, 0x5, 0xCB, 0x0, 0x26, 0x7, 0xA6, 0x0, 0x0, 0x0, 0x6, 0x0, 0x71, 0x32, 0x21, 0xFF, 0xFF, 0x0, 0x76, 0x0, 0x0, 0x3, 0xB6, 0x6, 0x5, 0x0, 0x26, 0x7, 0xA6, 0x0, 0x0, 0x0, 0x6, 0x1, 0x89, 0x69, 0x1E, 0xFF, 0xFF, 0x0, 0x76, 0x0, 0x0, 0x3, 0xB6, 0x5, 0xFB, 0x0, 0x26, 0x7, 0xA6, 0x0, 0x0, 0x0, 0x7, 0x1, 0x8A, 0x1, 0x1C, 0x0, 0x26, 0x0, 0x1, 0x0, 0x76, 0xFE, 0x52, 0x3, 0xB6, 0x4, 0x8D, 0x0, 0x1B, 0x0, 0x0, 0x1, 0x6, 0x23, 0x22, 0x26, 0x35, 0x34, 0x37, 0x21, 0x11, 0x21, 0x15, 0x21, 0x11, 0x21, 0x15, 0x21, 0x11, 0x21, 0x15, 0x23, 0x6, 0x6, 0x15, 0x14, 0x33, 0x32, 0x37, 0x3, 0x6B, 0x49, 0x5C, 0x58, 0x7B, 0x88, 0xFD, 0xFB, 0x3, 0x3C, 0xFD, 0xB7, 0x1, 0xF6, 0xFE, 0xA, 0x2, 0x4D, 0x5F, 0x45, 0x5D, 0x47, 0x2C, 0x2E, 0xFE, 0x7E, 0x2C, 0x66, 0x63, 0x85, 0x60, 0x4, 0x8D, 0xC4, 0xFE, 0xF3, 0xC3, 0xFE, 0xCA, 0xC3, 0x2D, 0x5F, 0x3B, 0x44, 0x17, 0xFF, 0xFF, 0x0, 0x76, 0x0, 0x0, 0x3, 0xB6, 0x6, 0x20, 0x0, 0x26, 0x7, 0xA6, 0x0, 0x0, 0x0, 0x6, 0x1, 0x78, 0x4E, 0x1E, 0xFF, 0xFF, 0x0, 0x55, 0xFF, 0xF0, 0x4, 0x49, 0x6, 0x1F, 0x0, 0x26, 0x7, 0x61, 0x0, 0x0, 0x0, 0x6, 0x1, 0x77, 0x68, 0x1E, 0xFF, 0xFF, 0x0, 0x55, 0xFF, 0xF0, 0x4, 0x49, 0x6, 0x5, 0x0, 0x26, 0x7, 0x61, 0x0, 0x0, 0x0, 0x7, 0x1, 0x89, 0x0, 0x9B, 0x0, 0x1E, 0xFF, 0xFF, 0x0, 0x55, 0xFF, 0xF0, 0x4, 0x49, 0x5, 0xFB, 0x0, 0x26, 0x7, 0x61, 0x0, 0x0, 0x0, 0x7, 0x1, 0x8A, 0x1, 0x4E, 0x0, 0x26, 0xFF, 0xFF, 0x0, 0x55, 0xFD, 0xF6, 0x4, 0x49, 0x4, 0x9D, 0x0, 0x26, 0x7, 0x61, 0x0, 0x0, 0x0, 0x7, 0x7, 0x25, 0x1, 0x6A, 0xFE, 0x90, 0xFF, 0xFF, 0x0, 0x76, 0x0, 0x0, 0x4, 0x68, 0x6, 0x1F, 0x0, 0x26, 0x7, 0x60, 0x0, 0x0, 0x0, 0x6, 0x1, 0x77, 0x7A, 0x1E, 0xFF, 0xFF, 0xFF, 0x90, 0x0, 0x0, 0x2, 0x6E, 0x6, 0x13, 0x0, 0x26, 0x7, 0x5F, 0x0, 0x0, 0x0, 0x7, 0x1, 0x8D, 0xFF, 0x16, 0x0, 0x1E, 0xFF, 0xFF, 0xFF, 0xAC, 0x0, 0x0, 0x2, 0x5A, 0x5, 0xCB, 0x0, 0x26, 0x7, 0x5F, 0x0, 0x0, 0x0, 0x7, 0x0, 0x71, 0xFF, 0x10, 0x0, 0x21, 0xFF, 0xFF, 0xFF, 0xBD, 0x0, 0x0, 0x2, 0x42, 0x6, 0x5, 0x0, 0x26, 0x7, 0x5F, 0x0, 0x0, 0x0, 0x7, 0x1, 0x89, 0xFF, 0x47, 0x0, 0x1E, 0xFF, 0xFF, 0x0, 0x14, 0xFE, 0x52, 0x1, 0x8C, 0x4, 0x8D, 0x0, 0x26, 0x7, 0x5F, 0x0, 0x0, 0x0, 0x6, 0x1, 0x8C, 0xEB, 0x0, 0xFF, 0xFF, 0x0, 0x7C, 0x0, 0x0, 0x1, 0x82, 0x5, 0xFB, 0x0, 0x26, 0x7, 0x5F, 0x0, 0x0, 0x0, 0x6, 0x1, 0x8A, 0xFA, 0x26, 0xFF, 0xFF, 0x0, 0x25, 0xFF, 0xF0, 0x4, 0x37, 0x6, 0x1F, 0x0, 0x26, 0x7, 0x5E, 0x0, 0x0, 0x0, 0x7, 0x1, 0x77, 0x0, 0xF3, 0x0, 0x1E, 0xFF, 0xFF, 0x0, 0x76, 0xFD, 0xFE, 0x4, 0x69, 0x4, 0x8D, 0x0, 0x26, 0x7, 0x5D, 0x0, 0x0, 0x0, 0x7, 0x7, 0x25, 0x1, 0x13, 0xFE, 0x98, 0xFF, 0xFF, 0x0, 0x76, 0x0, 0x0, 0x3, 0x94, 0x6, 0x1E, 0x0, 0x26, 0x7, 0x5C, 0x0, 0x0, 0x0, 0x6, 0x0, 0x76, 0x9, 0x1E, 0xFF, 0xFF, 0x0, 0x76, 0xFD, 0xFF, 0x3, 0x94, 0x4, 0x8D, 0x0, 0x26, 0x7, 0x5C, 0x0, 0x0, 0x0, 0x7, 0x7, 0x25, 0x1, 0x11, 0xFE, 0x99, 0xFF, 0xFF, 0x0, 0x76, 0x0, 0x0, 0x3, 0x94, 0x4, 0x8F, 0x0, 0x26, 0x7, 0x5C, 0x0, 0x0, 0x0, 0x7, 0x7, 0x25, 0x1, 0x94, 0x3, 0x89, 0xFF, 0xFF, 0x0, 0x76, 0x0, 0x0, 0x3, 0x94, 0x4, 0x8D, 0x0, 0x26, 0x7, 0x5C, 0x0, 0x0, 0x0, 0x7, 0x1, 0x8A, 0x1, 0x72, 0xFD, 0x46, 0xFF, 0xFF, 0x0, 0x76, 0x0, 0x0, 0x4, 0x67, 0x6, 0x1E, 0x0, 0x26, 0x7, 0x5A, 0x0, 0x0, 0x0, 0x7, 0x0, 0x76, 0x1, 0x84, 0x0, 0x1E, 0xFF, 0xFF, 0x0, 0x76, 0xFD, 0xF8, 0x4, 0x67, 0x4, 0x8D, 0x0, 0x26, 0x7, 0x5A, 0x0, 0x0, 0x0, 0x7, 0x7, 0x25, 0x1, 0x79, 0xFE, 0x92, 0xFF, 0xFF, 0x0, 0x76, 0x0, 0x0, 0x4, 0x67, 0x6, 0x20, 0x0, 0x26, 0x7, 0x5A, 0x0, 0x0, 0x0, 0x7, 0x1, 0x78, 0x0, 0x9D, 0x0, 0x1E, 0xFF, 0xFF, 0x0, 0x50, 0xFF, 0xF0, 0x4, 0x6F, 0x5, 0xCB, 0x0, 0x26, 0x7, 0x59, 0x0, 0x0, 0x0, 0x6, 0x0, 0x71, 0x70, 0x21, 0xFF, 0xFF, 0x0, 0x50, 0xFF, 0xF0, 0x4, 0x6F, 0x6, 0x5, 0x0, 0x26, 0x7, 0x59, 0x0, 0x0, 0x0, 0x7, 0x1, 0x89, 0x0, 0xA7, 0x0, 0x1E, 0xFF, 0xFF, 0x0, 0x50, 0xFF, 0xF0, 0x4, 0x6F, 0x6, 0x1D, 0x0, 0x26, 0x7, 0x59, 0x0, 0x0, 0x0, 0x7, 0x1, 0x8E, 0x0, 0xFE, 0x0, 0x1E, 0xFF, 0xFF, 0x0, 0x50, 0xFE, 0x52, 0x4, 0x6F, 0x4, 0x9D, 0x0, 0x26, 0x7, 0x59, 0x0, 0x0, 0x0, 0x7, 0x1, 0x8C, 0x1, 0x39, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x76, 0x0, 0x0, 0x4, 0x3A, 0x6, 0x1E, 0x0, 0x26, 0x7, 0x56, 0x0, 0x0, 0x0, 0x7, 0x0, 0x76, 0x1, 0x17, 0x0, 0x1E, 0xFF, 0xFF, 0x0, 0x76, 0xFD, 0xFF, 0x4, 0x3A, 0x4, 0x8D, 0x0, 0x26, 0x7, 0x56, 0x0, 0x0, 0x0, 0x7, 0x7, 0x25, 0x1, 0x19, 0xFE, 0x99, 0xFF, 0xFF, 0x0, 0x76, 0x0, 0x0, 0x4, 0x3A, 0x6, 0x20, 0x0, 0x26, 0x7, 0x56, 0x0, 0x0, 0x0, 0x6, 0x1, 0x78, 0x30, 0x1E, 0xFF, 0xFF, 0x0, 0x3F, 0xFF, 0xF0, 0x3, 0xEF, 0x6, 0x1E, 0x0, 0x26, 0x7, 0x55, 0x0, 0x0, 0x0, 0x7, 0x0, 0x76, 0x1, 0x40, 0x0, 0x1E, 0xFF, 0xFF, 0x0, 0x3F, 0xFF, 0xF0, 0x3, 0xEF, 0x6, 0x1F, 0x0, 0x26, 0x7, 0x55, 0x0, 0x0, 0x0, 0x6, 0x1, 0x77, 0x41, 0x1E, 0xFF, 0xFF, 0x0, 0x3F, 0xFE, 0x40, 0x3, 0xEF, 0x4, 0x9D, 0x0, 0x26, 0x7, 0x55, 0x0, 0x0, 0x0, 0x7, 0x0, 0x7A, 0x1, 0x50, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x3F, 0xFF, 0xF0, 0x3, 0xEF, 0x6, 0x20, 0x0, 0x26, 0x7, 0x55, 0x0, 0x0, 0x0, 0x6, 0x1, 0x78, 0x59, 0x1E, 0xFF, 0xFF, 0x0, 0x25, 0xFD, 0xFE, 0x4, 0x16, 0x4, 0x8D, 0x0, 0x26, 0x7, 0x54, 0x0, 0x0, 0x0, 0x7, 0x7, 0x25, 0x1, 0x26, 0xFE, 0x98, 0xFF, 0xFF, 0x0, 0x25, 0x0, 0x0, 0x4, 0x16, 0x6, 0x20, 0x0, 0x26, 0x7, 0x54, 0x0, 0x0, 0x0, 0x6, 0x1, 0x78, 0x48, 0x1E, 0xFF, 0xFF, 0x0, 0x25, 0xFE, 0x47, 0x4, 0x16, 0x4, 0x8D, 0x0, 0x26, 0x7, 0x54, 0x0, 0x0, 0x0, 0x7, 0x0, 0x7A, 0x1, 0x3A, 0x0, 0x7, 0xFF, 0xFF, 0x0, 0x67, 0xFF, 0xF0, 0x4, 0x1E, 0x6, 0x13, 0x0, 0x26, 0x7, 0x53, 0x0, 0x0, 0x0, 0x6, 0x1, 0x8D, 0x57, 0x1E, 0xFF, 0xFF, 0x0, 0x67, 0xFF, 0xF0, 0x4, 0x1E, 0x5, 0xCB, 0x0, 0x26, 0x7, 0x53, 0x0, 0x0, 0x0, 0x6, 0x0, 0x71, 0x51, 0x21, 0xFF, 0xFF, 0x0, 0x67, 0xFF, 0xF0, 0x4, 0x1E, 0x6, 0x5, 0x0, 0x26, 0x7, 0x53, 0x0, 0x0, 0x0, 0x7, 0x1, 0x89, 0x0, 0x88, 0x0, 0x1E, 0xFF, 0xFF, 0x0, 0x67, 0xFF, 0xF0, 0x4, 0x1E, 0x6, 0x7C, 0x0, 0x26, 0x7, 0x53, 0x0, 0x0, 0x0, 0x7, 0x1, 0x8B, 0x0, 0xEA, 0x0, 0x52, 0xFF, 0xFF, 0x0, 0x67, 0xFF, 0xF0, 0x4, 0x36, 0x6, 0x1D, 0x0, 0x26, 0x7, 0x53, 0x0, 0x0, 0x0, 0x7, 0x1, 0x8E, 0x0, 0xDF, 0x0, 0x1E, 0x0, 0x1, 0x0, 0x67, 0xFE, 0x83, 0x4, 0x1E, 0x4, 0x8D, 0x0, 0x1F, 0x0, 0x0, 0x1, 0x22, 0x26, 0x35, 0x34, 0x37, 0x26, 0x26, 0x35, 0x11, 0x33, 0x11, 0x14, 0x16, 0x33, 0x32, 0x37, 0x11, 0x33, 0x11, 0x14, 0x6, 0x7, 0x6, 0x6, 0x15, 0x14, 0x33, 0x32, 0x37, 0x17, 0x6, 0x2, 0xBA, 0x58, 0x7B, 0x3F, 0xC4, 0xFB, 0xF2, 0x7E, 0x6C, 0xE4, 0x4, 0xF3, 0x87, 0x70, 0x37, 0x47, 0x47, 0x2C, 0x2E, 0x15, 0x49, 0xFE, 0x83, 0x66, 0x63, 0x5B, 0x4A, 0x7, 0xD2, 0xC3, 0x3, 0x0, 0xFD, 0x0, 0x73, 0x67, 0xD2, 0x3, 0x8, 0xFD, 0x0, 0x8C, 0xBC, 0x2D, 0x27, 0x54, 0x33, 0x44, 0x17, 0x8E, 0x2C, 0xFF, 0xFF, 0x0, 0x29, 0x0, 0x0, 0x5, 0xE6, 0x6, 0x1F, 0x0, 0x26, 0x7, 0x51, 0x0, 0x0, 0x0, 0x7, 0x1, 0x77, 0x1, 0x18, 0x0, 0x1E, 0xFF, 0xFF, 0x0, 0x5, 0x0, 0x0, 0x4, 0x37, 0x6, 0x1F, 0x0, 0x26, 0x7, 0x4F, 0x0, 0x0, 0x0, 0x6, 0x1, 0x77, 0x2E, 0x1E, 0xFF, 0xFF, 0x0, 0x5, 0x0, 0x0, 0x4, 0x37, 0x5, 0xEB, 0x0, 0x26, 0x7, 0x4F, 0x0, 0x0, 0x0, 0x6, 0x0, 0x6B, 0x5A, 0x1E, 0xFF, 0xFF, 0x0, 0x41, 0x0, 0x0, 0x3, 0xF3, 0x6, 0x1E, 0x0, 0x26, 0x7, 0x4E, 0x0, 0x0, 0x0, 0x7, 0x0, 0x76, 0x1, 0x30, 0x0, 0x1E, 0xFF, 0xFF, 0x0, 0x41, 0x0, 0x0, 0x3, 0xF3, 0x5, 0xFB, 0x0, 0x26, 0x7, 0x4E, 0x0, 0x0, 0x0, 0x7, 0x1, 0x8A, 0x1, 0x17, 0x0, 0x26, 0xFF, 0xFF, 0x0, 0x41, 0x0, 0x0, 0x3, 0xF3, 0x6, 0x20, 0x0, 0x26, 0x7, 0x4E, 0x0, 0x0, 0x0, 0x6, 0x1, 0x78, 0x49, 0x1E, 0xFF, 0xFF, 0x0, 0x12, 0x0, 0x0, 0x5, 0x43, 0x6, 0x40, 0x0, 0x26, 0x0, 0x26, 0x0, 0x0, 0x0, 0x6, 0x2, 0x2D, 0xBE, 0xFF, 0xFF, 0xFF, 0xFE, 0xE7, 0x0, 0x0, 0x4, 0x4D, 0x6, 0x42, 0x0, 0x26, 0x0, 0x2A, 0x0, 0x0, 0x0, 0x7, 0x2, 0x2D, 0xFE, 0x20, 0x0, 0x1, 0xFF, 0xFF, 0xFE, 0xF0, 0x0, 0x0, 0x5, 0x19, 0x6, 0x41, 0x0, 0x26, 0x0, 0x2D, 0x0, 0x0, 0x0, 0x7, 0x2, 0x2D, 0xFE, 0x29, 0x0, 0x0, 0xFF, 0xFF, 0xFE, 0xF2, 0x0, 0x0, 0x1, 0xA0, 0x6, 0x43, 0x0, 0x26, 0x0, 0x2E, 0x0, 0x0, 0x0, 0x7, 0x2, 0x2D, 0xFE, 0x2B, 0x0, 0x2, 0xFF, 0xFF, 0xFF, 0xBC, 0xFF, 0xEC, 0x5, 0x33, 0x6, 0x40, 0x0, 0x26, 0x0, 0x34, 0x14, 0x0, 0x0, 0x7, 0x2, 0x2D, 0xFE, 0xF5, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x45, 0x0, 0x0, 0x5, 0x3A, 0x6, 0x40, 0x0, 0x26, 0x0, 0x3E, 0x64, 0x0, 0x0, 0x7, 0x2, 0x2D, 0xFE, 0x7E, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC6, 0x0, 0x0, 0x4, 0xF1, 0x6, 0x40, 0x0, 0x26, 0x2, 0x39, 0x14, 0x0, 0x0, 0x7, 0x2, 0x2D, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x87, 0xFF, 0xF4, 0x2, 0xDA, 0x6, 0x9A, 0x0, 0x26, 0x2, 0x42, 0x0, 0x0, 0x0, 0x7, 0x2, 0x2E, 0xFF, 0x1F, 0xFF, 0xEB, 0xFF, 0xFF, 0x0, 0x12, 0x0, 0x0, 0x5, 0x43, 0x5, 0xB0, 0x0, 0x6, 0x0, 0x26, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x95, 0x0, 0x0, 0x4, 0xA3, 0x5, 0xB0, 0x0, 0x6, 0x0, 0x27, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x95, 0x0, 0x0, 0x4, 0x4D, 0x5, 0xB0, 0x0, 0x6, 0x0, 0x2A, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x50, 0x0, 0x0, 0x4, 0x8C, 0x5, 0xB0, 0x0, 0x6, 0x0, 0x3F, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x95, 0x0, 0x0, 0x5, 0x19, 0x5, 0xB0, 0x0, 0x6, 0x0, 0x2D, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0xA4, 0x0, 0x0, 0x1, 0xA0, 0x5, 0xB0, 0x0, 0x6, 0x0, 0x2E, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x95, 0x0, 0x0, 0x5, 0x18, 0x5, 0xB0, 0x0, 0x6, 0x0, 0x30, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x95, 0x0, 0x0, 0x6, 0x6B, 0x5, 0xB0, 0x0, 0x6, 0x0, 0x32, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x95, 0x0, 0x0, 0x5, 0x18, 0x5, 0xB0, 0x0, 0x6, 0x0, 0x33, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x66, 0xFF, 0xEC, 0x5, 0x1F, 0x5, 0xC4, 0x0, 0x6, 0x0, 0x34, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x95, 0x0, 0x0, 0x4, 0xD4, 0x5, 0xB0, 0x0, 0x6, 0x0, 0x35, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x2D, 0x0, 0x0, 0x4, 0xB0, 0x5, 0xB0, 0x0, 0x6, 0x0, 0x39, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x8, 0x0, 0x0, 0x4, 0xD6, 0x5, 0xB0, 0x0, 0x6, 0x0, 0x3E, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x29, 0x0, 0x0, 0x4, 0xEA, 0x5, 0xB0, 0x0, 0x6, 0x0, 0x3D, 0x0, 0x0, 0xFF, 0xFF, 0xFF, 0xC0, 0x0, 0x0, 0x2, 0x86, 0x7, 0xB, 0x0, 0x26, 0x0, 0x2E, 0x0, 0x0, 0x0, 0x7, 0x0, 0x6B, 0xFF, 0x62, 0x1, 0x3E, 0xFF, 0xFF, 0x0, 0x8, 0x0, 0x0, 0x4, 0xD6, 0x7, 0x3, 0x0, 0x26, 0x0, 0x3E, 0x0, 0x0, 0x0, 0x7, 0x0, 0x6B, 0x0, 0xB4, 0x1, 0x36, 0xFF, 0xFF, 0x0, 0x56, 0xFF, 0xEB, 0x4, 0x7A, 0x6, 0x41, 0x0, 0x26, 0x2, 0x3A, 0x0, 0x0, 0x0, 0x7, 0x2, 0x2D, 0x1, 0x50, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x61, 0xFF, 0xEC, 0x4, 0xD, 0x6, 0x40, 0x0, 0x26, 0x2, 0x3E, 0x0, 0x0, 0x0, 0x7, 0x2, 0x2D, 0x1, 0x18, 0xFF, 0xFF, 0xFF, 0xFF, 0x0, 0x7F, 0xFE, 0x61, 0x4, 0x6, 0x6, 0x41, 0x0, 0x26, 0x2, 0x40, 0x0, 0x0, 0x0, 0x7, 0x2, 0x2D, 0x1, 0x23, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0xAA, 0xFF, 0xF4, 0x2, 0x62, 0x6, 0x2C, 0x0, 0x26, 0x2, 0x42, 0x0, 0x0, 0x0, 0x6, 0x2, 0x2D, 0xF, 0xEB, 0xFF, 0xFF, 0x0, 0x80, 0xFF, 0xEB, 0x4, 0x8, 0x6, 0xA1, 0x0, 0x26, 0x2, 0x4A, 0x0, 0x0, 0x0, 0x6, 0x2, 0x2E, 0x1C, 0xF2, 0xFF, 0xFF, 0x0, 0x8E, 0x0, 0x0, 0x4, 0x6B, 0x4, 0x3A, 0x0, 0x6, 0x0, 0x8F, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x50, 0xFF, 0xEC, 0x4, 0x3E, 0x4, 0x4E, 0x0, 0x6, 0x0, 0x54, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x93, 0xFE, 0x60, 0x4, 0x1F, 0x4, 0x3A, 0x0, 0x6, 0x0, 0x77, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x17, 0x0, 0x0, 0x3, 0xDB, 0x4, 0x3A, 0x0, 0x6, 0x0, 0x5B, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x3E, 0xFE, 0x4A, 0x4, 0x66, 0x4, 0x4A, 0x0, 0x6, 0x8, 0xAA, 0x0, 0x0, 0xFF, 0xFF, 0xFF, 0xCD, 0xFF, 0xF4, 0x2, 0x93, 0x5, 0xB8, 0x0, 0x26, 0x2, 0x42, 0x0, 0x0, 0x0, 0x7, 0x0, 0x6B, 0xFF, 0x6F, 0xFF, 0xEB, 0xFF, 0xFF, 0x0, 0x80, 0xFF, 0xEB, 0x4, 0x8, 0x5, 0xBF, 0x0, 0x26, 0x2, 0x4A, 0x0, 0x0, 0x0, 0x6, 0x0, 0x6B, 0x6C, 0xF2, 0xFF, 0xFF, 0x0, 0x50, 0xFF, 0xEC, 0x4, 0x3E, 0x6, 0x41, 0x0, 0x26, 0x0, 0x54, 0x0, 0x0, 0x0, 0x7, 0x2, 0x2D, 0x1, 0x21, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x80, 0xFF, 0xEB, 0x4, 0x8, 0x6, 0x33, 0x0, 0x26, 0x2, 0x4A, 0x0, 0x0, 0x0, 0x7, 0x2, 0x2D, 0x1, 0xC, 0xFF, 0xF2, 0xFF, 0xFF, 0x0, 0x66, 0xFF, 0xEB, 0x6, 0x2E, 0x6, 0x31, 0x0, 0x26, 0x2, 0x4D, 0x0, 0x0, 0x0, 0x7, 0x2, 0x2D, 0x2, 0x2B, 0xFF, 0xF0, 0xFF, 0xFF, 0x0, 0x95, 0x0, 0x0, 0x4, 0x4D, 0x7, 0xB, 0x0, 0x26, 0x0, 0x2A, 0x0, 0x0, 0x0, 0x7, 0x0, 0x6B, 0x0, 0xB4, 0x1, 0x3E, 0xFF, 0xFF, 0x0, 0x9B, 0x0, 0x0, 0x4, 0x38, 0x7, 0x3E, 0x0, 0x26, 0x2, 0x30, 0x0, 0x0, 0x0, 0x7, 0x0, 0x76, 0x1, 0x82, 0x1, 0x3E, 0x0, 0x1, 0x0, 0x4A, 0xFF, 0xEC, 0x4, 0x8A, 0x5, 0xC4, 0x0, 0x25, 0x0, 0x0, 0x1, 0x34, 0x26, 0x24, 0x24, 0x35, 0x34, 0x24, 0x33, 0x32, 0x0, 0x15, 0x23, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x14, 0x16, 0x17, 0x16, 0x16, 0x15, 0x14, 0x4, 0x23, 0x22, 0x24, 0x26, 0x35, 0x33, 0x14, 0x16, 0x33, 0x32, 0x36, 0x3, 0x8D, 0x72, 0xFE, 0x60, 0xFE, 0xFD, 0x1, 0x1D, 0xE7, 0xF7, 0x1, 0x16, 0xFC, 0x86, 0x8E, 0x85, 0x7F, 0x98, 0x99, 0xF7, 0xED, 0xFE, 0xE7, 0xED, 0x8B, 0xFE, 0xFA, 0xA9, 0xFD, 0xB8, 0x85, 0x84, 0x85, 0x1, 0x78, 0x57, 0x69, 0x81, 0xCA, 0xAE, 0xB0, 0xE3, 0xFE, 0xF9, 0xB6, 0x6B, 0x89, 0x73, 0x56, 0x52, 0x6B, 0x2D, 0x48, 0xD8, 0xAE, 0xB8, 0xD6, 0x66, 0xCD, 0x99, 0x8A, 0x7A, 0x6C, 0xFF, 0xFF, 0x0, 0xA4, 0x0, 0x0, 0x1, 0xA0, 0x5, 0xB0, 0x0, 0x6, 0x0, 0x2E, 0x0, 0x0, 0xFF, 0xFF, 0xFF, 0xC0, 0x0, 0x0, 0x2, 0x86, 0x7, 0xB, 0x0, 0x26, 0x0, 0x2E, 0x0, 0x0, 0x0, 0x7, 0x0, 0x6B, 0xFF, 0x62, 0x1, 0x3E, 0xFF, 0xFF, 0x0, 0x2D, 0xFF, 0xEC, 0x3, 0xE5, 0x5, 0xB0, 0x0, 0x6, 0x0, 0x2F, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x9B, 0x0, 0x0, 0x5, 0x30, 0x5, 0xB0, 0x0, 0x6, 0x7, 0xAA, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x95, 0x0, 0x0, 0x5, 0x18, 0x7, 0x37, 0x0, 0x26, 0x0, 0x30, 0x0, 0x0, 0x0, 0x7, 0x0, 0x76, 0x1, 0x6D, 0x1, 0x37, 0xFF, 0xFF, 0x0, 0x3A, 0xFF, 0xEB, 0x4, 0xDE, 0x7, 0x25, 0x0, 0x26, 0x2, 0x74, 0x0, 0x0, 0x0, 0x7, 0x1, 0x89, 0x0, 0xD9, 0x1, 0x3E, 0xFF, 0xFF, 0x0, 0x12, 0x0, 0x0, 0x5, 0x43, 0x5, 0xB0, 0x0, 0x6, 0x0, 0x26, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x95, 0x0, 0x0, 0x4, 0xA3, 0x5, 0xB0, 0x0, 0x6, 0x0, 0x27, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x9B, 0x0, 0x0, 0x4, 0x38, 0x5, 0xB0, 0x0, 0x6, 0x2, 0x30, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x95, 0x0, 0x0, 0x4, 0x4D, 0x5, 0xB0, 0x0, 0x6, 0x0, 0x2A, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x95, 0x0, 0x0, 0x5, 0xD, 0x7, 0x25, 0x0, 0x26, 0x2, 0x72, 0x0, 0x0, 0x0, 0x7, 0x1, 0x89, 0x1, 0x1C, 0x1, 0x3E, 0xFF, 0xFF, 0x0, 0x95, 0x0, 0x0, 0x6, 0x6B, 0x5, 0xB0, 0x0, 0x6, 0x0, 0x32, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x95, 0x0, 0x0, 0x5, 0x19, 0x5, 0xB0, 0x0, 0x6, 0x0, 0x2D, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x66, 0xFF, 0xEC, 0x5, 0x1F, 0x5, 0xC4, 0x0, 0x6, 0x0, 0x34, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x9B, 0x0, 0x0, 0x5, 0x15, 0x5, 0xB0, 0x0, 0x6, 0x2, 0x35, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x95, 0x0, 0x0, 0x4, 0xD4, 0x5, 0xB0, 0x0, 0x6, 0x0, 0x35, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x66, 0xFF, 0xEC, 0x4, 0xEC, 0x5, 0xC4, 0x0, 0x6, 0x0, 0x28, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x2D, 0x0, 0x0, 0x4, 0xB0, 0x5, 0xB0, 0x0, 0x6, 0x0, 0x39, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x29, 0x0, 0x0, 0x4, 0xEA, 0x5, 0xB0, 0x0, 0x6, 0x0, 0x3D, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x5B, 0xFF, 0xEC, 0x3, 0xFC, 0x4, 0x4E, 0x0, 0x6, 0x0, 0x46, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x54, 0xFF, 0xEC, 0x4, 0xC, 0x4, 0x4E, 0x0, 0x6, 0x0, 0x4A, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x86, 0x0, 0x0, 0x4, 0x13, 0x5, 0xD9, 0x0, 0x26, 0x2, 0x86, 0x0, 0x0, 0x0, 0x7, 0x1, 0x89, 0x0, 0x97, 0xFF, 0xF2, 0xFF, 0xFF, 0x0, 0x50, 0xFF, 0xEC, 0x4, 0x3E, 0x4, 0x4E, 0x0, 0x6, 0x0, 0x54, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x7D, 0xFE, 0x60, 0x4, 0x31, 0x4, 0x4E, 0x0, 0x6, 0x0, 0x55, 0x0, 0x0, 0x0, 0x1, 0x0, 0x50, 0xFF, 0xEC, 0x3, 0xF5, 0x4, 0x4E, 0x0, 0x1B, 0x0, 0x0, 0x25, 0x32, 0x36, 0x37, 0x33, 0x6, 0x4, 0x23, 0x22, 0x2, 0x35, 0x35, 0x34, 0x12, 0x33, 0x32, 0x16, 0x17, 0x23, 0x26, 0x26, 0x23, 0x22, 0x6, 0x15, 0x15, 0x14, 0x16, 0x2, 0x3A, 0x58, 0x7A, 0x5, 0xE4, 0x4, 0xFF, 0x0, 0xB5, 0xFA, 0xF2, 0xF3, 0xF9, 0xC5, 0xF0, 0x4, 0xE4, 0x5, 0x70, 0x63, 0x94, 0x63, 0x62, 0xAF, 0x68, 0x4F, 0x9D, 0xDD, 0x1, 0x40, 0xDF, 0x24, 0xDE, 0x1, 0x41, 0xE4, 0xB3, 0x57, 0x7D, 0xDB, 0x81, 0x24, 0x83, 0xD9, 0xFF, 0xFF, 0x0, 0xC, 0xFE, 0x4B, 0x3, 0xD7, 0x4, 0x3A, 0x0, 0x6, 0x0, 0x5E, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x1F, 0x0, 0x0, 0x3, 0xE9, 0x4, 0x3A, 0x0, 0x6, 0x0, 0x5D, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x54, 0xFF, 0xEC, 0x4, 0xC, 0x5, 0xCD, 0x0, 0x26, 0x0, 0x4A, 0x0, 0x0, 0x0, 0x6, 0x0, 0x6B, 0x6C, 0x0, 0xFF, 0xFF, 0x0, 0x85, 0x0, 0x0, 0x3, 0x4D, 0x5, 0xF2, 0x0, 0x26, 0x2, 0x82, 0x0, 0x0, 0x0, 0x7, 0x0, 0x76, 0x0, 0xC1, 0xFF, 0xF2, 0xFF, 0xFF, 0x0, 0x4C, 0xFF, 0xEC, 0x3, 0xCA, 0x4, 0x4E, 0x0, 0x6, 0x0, 0x58, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x7D, 0x0, 0x0, 0x1, 0x91, 0x5, 0xD5, 0x0, 0x6, 0x0, 0x4E, 0x0, 0x0, 0xFF, 0xFF, 0xFF, 0xAB, 0x0, 0x0, 0x2, 0x71, 0x5, 0xC6, 0x0, 0x26, 0x0, 0x8E, 0x0, 0x0, 0x0, 0x7, 0x0, 0x6B, 0xFF, 0x4D, 0xFF, 0xF9, 0xFF, 0xFF, 0xFF, 0xB4, 0xFE, 0x4B, 0x1, 0x86, 0x5, 0xD5, 0x0, 0x6, 0x0, 0x4F, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x8F, 0x0, 0x0, 0x4, 0x65, 0x5, 0xF2, 0x0, 0x26, 0x2, 0x87, 0x0, 0x0, 0x0, 0x7, 0x0, 0x76, 0x1, 0x44, 0xFF, 0xF2, 0xFF, 0xFF, 0x0, 0xC, 0xFE, 0x4B, 0x3, 0xD7, 0x5, 0xE7, 0x0, 0x26, 0x0, 0x5E, 0x0, 0x0, 0x0, 0x6, 0x1, 0x89, 0x4A, 0x0, 0xFF, 0xFF, 0x0, 0x31, 0x0, 0x0, 0x6, 0xE5, 0x7, 0x36, 0x0, 0x26, 0x0, 0x3C, 0x0, 0x0, 0x0, 0x7, 0x0, 0x45, 0x2, 0x7, 0x1, 0x36, 0xFF, 0xFF, 0x0, 0x22, 0x0, 0x0, 0x5, 0xCD, 0x6, 0x0, 0x0, 0x26, 0x0, 0x5C, 0x0, 0x0, 0x0, 0x7, 0x0, 0x45, 0x1, 0x6A, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x31, 0x0, 0x0, 0x6, 0xE5, 0x7, 0x36, 0x0, 0x26, 0x0, 0x3C, 0x0, 0x0, 0x0, 0x7, 0x0, 0x76, 0x2, 0xA6, 0x1, 0x36, 0xFF, 0xFF, 0x0, 0x22, 0x0, 0x0, 0x5, 0xCD, 0x6, 0x0, 0x0, 0x26, 0x0, 0x5C, 0x0, 0x0, 0x0, 0x7, 0x0, 0x76, 0x2, 0x9, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x31, 0x0, 0x0, 0x6, 0xE5, 0x7, 0x3, 0x0, 0x26, 0x0, 0x3C, 0x0, 0x0, 0x0, 0x7, 0x0, 0x6B, 0x1, 0xD3, 0x1, 0x36, 0xFF, 0xFF, 0x0, 0x22, 0x0, 0x0, 0x5, 0xCD, 0x5, 0xCD, 0x0, 0x26, 0x0, 0x5C, 0x0, 0x0, 0x0, 0x7, 0x0, 0x6B, 0x1, 0x36, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x8, 0x0, 0x0, 0x4, 0xD6, 0x7, 0x36, 0x0, 0x26, 0x0, 0x3E, 0x0, 0x0, 0x0, 0x7, 0x0, 0x45, 0x0, 0xE8, 0x1, 0x36, 0xFF, 0xFF, 0x0, 0xC, 0xFE, 0x4B, 0x3, 0xD7, 0x6, 0x0, 0x0, 0x26, 0x0, 0x5E, 0x0, 0x0, 0x0, 0x6, 0x0, 0x45, 0x77, 0x0, 0xFF, 0xFF, 0x0, 0x53, 0x3, 0xFC, 0x1, 0xB, 0x6, 0x0, 0x0, 0x6, 0x0, 0xC, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x65, 0x3, 0xF5, 0x2, 0x41, 0x6, 0x0, 0x0, 0x6, 0x0, 0x7, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x90, 0xFF, 0xF2, 0x3, 0xC8, 0x5, 0xB0, 0x0, 0x26, 0x0, 0x6, 0x0, 0x0, 0x0, 0x7, 0x0, 0x6, 0x2, 0x25, 0x0, 0x0, 0xFF, 0xFF, 0xFF, 0xB0, 0xFE, 0x4B, 0x2, 0x73, 0x5, 0xE0, 0x0, 0x26, 0x0, 0xEC, 0x0, 0x0, 0x0, 0x7, 0x1, 0x78, 0xFF, 0x3E, 0xFF, 0xDE, 0xFF, 0xFF, 0x0, 0x34, 0x4, 0x0, 0x1, 0x66, 0x6, 0x0, 0x0, 0x6, 0x4, 0x63, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x95, 0x0, 0x0, 0x6, 0x6B, 0x7, 0x36, 0x0, 0x26, 0x0, 0x32, 0x0, 0x0, 0x0, 0x7, 0x0, 0x76, 0x2, 0x8F, 0x1, 0x36, 0xFF, 0xFF, 0x0, 0x7D, 0x0, 0x0, 0x6, 0x7A, 0x6, 0x0, 0x0, 0x26, 0x0, 0x52, 0x0, 0x0, 0x0, 0x7, 0x0, 0x76, 0x2, 0xA0, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x12, 0xFE, 0x6D, 0x5, 0x43, 0x5, 0xB0, 0x0, 0x26, 0x0, 0x26, 0x0, 0x0, 0x0, 0x7, 0x1, 0xA4, 0x1, 0x7B, 0x0, 0x3, 0xFF, 0xFF, 0x0, 0x5B, 0xFE, 0x72, 0x3, 0xFC, 0x4, 0x4E, 0x0, 0x26, 0x0, 0x46, 0x0, 0x0, 0x0, 0x7, 0x1, 0xA4, 0x0, 0xAD, 0x0, 0x8, 0xFF, 0xFF, 0x0, 0x95, 0x0, 0x0, 0x4, 0x4D, 0x7, 0x3E, 0x0, 0x26, 0x0, 0x2A, 0x0, 0x0, 0x0, 0x7, 0x0, 0x45, 0x0, 0xE8, 0x1, 0x3E, 0xFF, 0xFF, 0x0, 0x95, 0x0, 0x0, 0x5, 0xD, 0x7, 0x3E, 0x0, 0x26, 0x2, 0x72, 0x0, 0x0, 0x0, 0x7, 0x0, 0x45, 0x1, 0x49, 0x1, 0x3E, 0xFF, 0xFF, 0x0, 0x54, 0xFF, 0xEC, 0x4, 0xC, 0x6, 0x0, 0x0, 0x26, 0x0, 0x4A, 0x0, 0x0, 0x0, 0x7, 0x0, 0x45, 0x0, 0xA0, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x86, 0x0, 0x0, 0x4, 0x13, 0x5, 0xF2, 0x0, 0x26, 0x2, 0x86, 0x0, 0x0, 0x0, 0x7, 0x0, 0x45, 0x0, 0xC4, 0xFF, 0xF2, 0xFF, 0xFF, 0x0, 0x44, 0x0, 0x0, 0x5, 0x5D, 0x5, 0xB0, 0x0, 0x6, 0x2, 0x38, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x50, 0xFE, 0x22, 0x5, 0x7F, 0x4, 0x3A, 0x0, 0x6, 0x2, 0x4C, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x10, 0x0, 0x0, 0x4, 0xF4, 0x6, 0xFD, 0x0, 0x26, 0x2, 0xAF, 0x0, 0x0, 0x0, 0x7, 0x1, 0xC0, 0x4, 0x4B, 0x1, 0xF, 0xFF, 0xFF, 0xFF, 0xF2, 0x0, 0x0, 0x4, 0x19, 0x5, 0xD0, 0x0, 0x26, 0x2, 0xB0, 0x0, 0x0, 0x0, 0x7, 0x1, 0xC0, 0x3, 0xE7, 0xFF, 0xE2, 0xFF, 0xFF, 0x0, 0x50, 0xFE, 0x4B, 0x8, 0x65, 0x4, 0x4E, 0x0, 0x26, 0x0, 0x54, 0x0, 0x0, 0x0, 0x7, 0x0, 0x5E, 0x4, 0x8E, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x66, 0xFE, 0x4B, 0x9, 0x5D, 0x5, 0xC4, 0x0, 0x26, 0x0, 0x34, 0x0, 0x0, 0x0, 0x7, 0x0, 0x5E, 0x5, 0x86, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x49, 0xFE, 0x37, 0x4, 0x7F, 0x5, 0xC4, 0x0, 0x26, 0x2, 0x71, 0x0, 0x0, 0x0, 0x7, 0x7, 0xDB, 0x1, 0x92, 0xFF, 0x9E, 0xFF, 0xFF, 0x0, 0x4E, 0xFE, 0x38, 0x3, 0xC4, 0x4, 0x4D, 0x0, 0x26, 0x2, 0x85, 0x0, 0x0, 0x0, 0x7, 0x7, 0xDB, 0x1, 0x39, 0xFF, 0x9F, 0xFF, 0xFF, 0x0, 0x66, 0xFE, 0x3A, 0x4, 0xEC, 0x5, 0xC4, 0x0, 0x26, 0x0, 0x28, 0x0, 0x0, 0x0, 0x7, 0x7, 0xDB, 0x1, 0xD5, 0xFF, 0xA1, 0xFF, 0xFF, 0x0, 0x50, 0xFE, 0x3A, 0x3, 0xF5, 0x4, 0x4E, 0x0, 0x26, 0x0, 0x48, 0x0, 0x0, 0x0, 0x7, 0x7, 0xDB, 0x1, 0x49, 0xFF, 0xA1, 0xFF, 0xFF, 0x0, 0x8, 0x0, 0x0, 0x4, 0xD6, 0x5, 0xB0, 0x0, 0x6, 0x0, 0x3E, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x21, 0xFE, 0x5F, 0x3, 0xF5, 0x4, 0x3A, 0x0, 0x6, 0x2, 0x3C, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0xA4, 0x0, 0x0, 0x1, 0xA0, 0x5, 0xB0, 0x0, 0x6, 0x0, 0x2E, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x17, 0x0, 0x0, 0x7, 0x9C, 0x7, 0x25, 0x0, 0x26, 0x2, 0x70, 0x0, 0x0, 0x0, 0x7, 0x1, 0x89, 0x2, 0x1D, 0x1, 0x3E, 0xFF, 0xFF, 0x0, 0x1E, 0x0, 0x0, 0x6, 0x5C, 0x5, 0xD9, 0x0, 0x26, 0x2, 0x84, 0x0, 0x0, 0x0, 0x7, 0x1, 0x89, 0x1, 0x86, 0xFF, 0xF2, 0xFF, 0xFF, 0x0, 0xA4, 0x0, 0x0, 0x1, 0xA0, 0x5, 0xB0, 0x0, 0x6, 0x0, 0x2E, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x12, 0x0, 0x0, 0x5, 0x43, 0x7, 0x1D, 0x0, 0x26, 0x0, 0x26, 0x0, 0x0, 0x0, 0x7, 0x1, 0x89, 0x0, 0xF5, 0x1, 0x36, 0xFF, 0xFF, 0x0, 0x5B, 0xFF, 0xEC, 0x3, 0xFC, 0x5, 0xE7, 0x0, 0x26, 0x0, 0x46, 0x0, 0x0, 0x0, 0x6, 0x1, 0x89, 0x7F, 0x0, 0xFF, 0xFF, 0x0, 0x12, 0x0, 0x0, 0x5, 0x43, 0x7, 0x3, 0x0, 0x26, 0x0, 0x26, 0x0, 0x0, 0x0, 0x7, 0x0, 0x6B, 0x0, 0xEE, 0x1, 0x36, 0xFF, 0xFF, 0x0, 0x5B, 0xFF, 0xEC, 0x3, 0xFC, 0x5, 0xCD, 0x0, 0x26, 0x0, 0x46, 0x0, 0x0, 0x0, 0x6, 0x0, 0x6B, 0x78, 0x0, 0xFF, 0xFF, 0xFF, 0xF6, 0x0, 0x0, 0x7, 0x57, 0x5, 0xB0, 0x0, 0x6, 0x0, 0x82, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x48, 0xFF, 0xEB, 0x6, 0x85, 0x4, 0x4F, 0x0, 0x6, 0x0, 0x87, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x95, 0x0, 0x0, 0x4, 0x4D, 0x7, 0x25, 0x0, 0x26, 0x0, 0x2A, 0x0, 0x0, 0x0, 0x7, 0x1, 0x89, 0x0, 0xBB, 0x1, 0x3E, 0xFF, 0xFF, 0x0, 0x54, 0xFF, 0xEC, 0x4, 0xC, 0x5, 0xE7, 0x0, 0x26, 0x0, 0x4A, 0x0, 0x0, 0x0, 0x6, 0x1, 0x89, 0x73, 0x0, 0xFF, 0xFF, 0x0, 0x51, 0xFF, 0xEB, 0x5, 0x1E, 0x6, 0xDC, 0x0, 0x26, 0x2, 0xEF, 0x0, 0x0, 0x0, 0x7, 0x0, 0x6B, 0x0, 0xC2, 0x1, 0xF, 0xFF, 0xFF, 0x0, 0x5A, 0xFF, 0xEB, 0x3, 0xF8, 0x4, 0x50, 0x0, 0x6, 0x1, 0xE, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x5A, 0xFF, 0xEB, 0x3, 0xF8, 0x5, 0xCE, 0x0, 0x26, 0x1, 0xE, 0x0, 0x0, 0x0, 0x6, 0x0, 0x6B, 0x69, 0x1, 0xFF, 0xFF, 0x0, 0x17, 0x0, 0x0, 0x7, 0x9C, 0x7, 0xB, 0x0, 0x26, 0x2, 0x70, 0x0, 0x0, 0x0, 0x7, 0x0, 0x6B, 0x2, 0x16, 0x1, 0x3E, 0xFF, 0xFF, 0x0, 0x1E, 0x0, 0x0, 0x6, 0x5C, 0x5, 0xBF, 0x0, 0x26, 0x2, 0x84, 0x0, 0x0, 0x0, 0x7, 0x0, 0x6B, 0x1, 0x7F, 0xFF, 0xF2, 0xFF, 0xFF, 0x0, 0x49, 0xFF, 0xEC, 0x4, 0x7F, 0x7, 0x18, 0x0, 0x26, 0x2, 0x71, 0x0, 0x0, 0x0, 0x7, 0x0, 0x6B, 0x0, 0xA4, 0x1, 0x4B, 0xFF, 0xFF, 0x0, 0x4E, 0xFF, 0xEC, 0x3, 0xC4, 0x5, 0xCC, 0x0, 0x26, 0x2, 0x85, 0x0, 0x0, 0x0, 0x6, 0x0, 0x6B, 0x4F, 0xFF, 0xFF, 0xFF, 0x0, 0x95, 0x0, 0x0, 0x5, 0xD, 0x6, 0xEB, 0x0, 0x26, 0x2, 0x72, 0x0, 0x0, 0x0, 0x7, 0x0, 0x71, 0x0, 0xE5, 0x1, 0x41, 0xFF, 0xFF, 0x0, 0x86, 0x0, 0x0, 0x4, 0x13, 0x5, 0x9F, 0x0, 0x26, 0x2, 0x86, 0x0, 0x0, 0x0, 0x6, 0x0, 0x71, 0x60, 0xF5, 0xFF, 0xFF, 0x0, 0x95, 0x0, 0x0, 0x5, 0xD, 0x7, 0xB, 0x0, 0x26, 0x2, 0x72, 0x0, 0x0, 0x0, 0x7, 0x0, 0x6B, 0x1, 0x15, 0x1, 0x3E, 0xFF, 0xFF, 0x0, 0x86, 0x0, 0x0, 0x4, 0x13, 0x5, 0xBF, 0x0, 0x26, 0x2, 0x86, 0x0, 0x0, 0x0, 0x7, 0x0, 0x6B, 0x0, 0x90, 0xFF, 0xF2, 0xFF, 0xFF, 0x0, 0x66, 0xFF, 0xEC, 0x5, 0x1F, 0x7, 0x3, 0x0, 0x26, 0x0, 0x34, 0x0, 0x0, 0x0, 0x7, 0x0, 0x6B, 0x1, 0x5, 0x1, 0x36, 0xFF, 0xFF, 0x0, 0x50, 0xFF, 0xEC, 0x4, 0x3E, 0x5, 0xCD, 0x0, 0x26, 0x0, 0x54, 0x0, 0x0, 0x0, 0x7, 0x0, 0x6B, 0x0, 0x81, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x5F, 0xFF, 0xEC, 0x5, 0x18, 0x5, 0xC4, 0x0, 0x6, 0x2, 0xAD, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x4F, 0xFF, 0xEC, 0x4, 0x3D, 0x4, 0x4E, 0x0, 0x6, 0x2, 0xAE, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x5F, 0xFF, 0xEC, 0x5, 0x18, 0x5, 0xC4, 0x0, 0x6, 0x2, 0xAD, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x5F, 0xFF, 0xEC, 0x5, 0x18, 0x7, 0x8, 0x0, 0x26, 0x2, 0xAD, 0x0, 0x0, 0x0, 0x7, 0x0, 0x6B, 0x1, 0x13, 0x1, 0x3B, 0xFF, 0xFF, 0x0, 0x4F, 0xFF, 0xEC, 0x4, 0x3D, 0x5, 0xCD, 0x0, 0x26, 0x2, 0xAE, 0x0, 0x0, 0x0, 0x6, 0x0, 0x6B, 0x74, 0x0, 0xFF, 0xFF, 0x0, 0x6B, 0xFF, 0xEC, 0x4, 0xF1, 0x7, 0x19, 0x0, 0x26, 0x2, 0x7D, 0x0, 0x0, 0x0, 0x7, 0x0, 0x6B, 0x0, 0xE4, 0x1, 0x4C, 0xFF, 0xFF, 0x0, 0x52, 0xFF, 0xEB, 0x3, 0xE9, 0x5, 0xCD, 0x0, 0x26, 0x2, 0x95, 0x0, 0x0, 0x0, 0x6, 0x0, 0x6B, 0x59, 0x0, 0xFF, 0xFF, 0x0, 0x3A, 0xFF, 0xEB, 0x4, 0xDE, 0x6, 0xEB, 0x0, 0x26, 0x2, 0x74, 0x0, 0x0, 0x0, 0x7, 0x0, 0x71, 0x0, 0xA2, 0x1, 0x41, 0xFF, 0xFF, 0x0, 0xC, 0xFE, 0x4B, 0x3, 0xD7, 0x5, 0xAD, 0x0, 0x26, 0x0, 0x5E, 0x0, 0x0, 0x0, 0x6, 0x0, 0x71, 0x13, 0x3, 0xFF, 0xFF, 0x0, 0x3A, 0xFF, 0xEB, 0x4, 0xDE, 0x7, 0xB, 0x0, 0x26, 0x2, 0x74, 0x0, 0x0, 0x0, 0x7, 0x0, 0x6B, 0x0, 0xD2, 0x1, 0x3E, 0xFF, 0xFF, 0x0, 0xC, 0xFE, 0x4B, 0x3, 0xD7, 0x5, 0xCD, 0x0, 0x26, 0x0, 0x5E, 0x0, 0x0, 0x0, 0x6, 0x0, 0x6B, 0x43, 0x0, 0xFF, 0xFF, 0x0, 0x3A, 0xFF, 0xEB, 0x4, 0xDE, 0x7, 0x3D, 0x0, 0x26, 0x2, 0x74, 0x0, 0x0, 0x0, 0x7, 0x1, 0x8E, 0x1, 0x30, 0x1, 0x3E, 0xFF, 0xFF, 0x0, 0xC, 0xFE, 0x4B, 0x3, 0xF8, 0x5, 0xFF, 0x0, 0x26, 0x0, 0x5E, 0x0, 0x0, 0x0, 0x7, 0x1, 0x8E, 0x0, 0xA1, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x8E, 0x0, 0x0, 0x4, 0xEF, 0x7, 0xB, 0x0, 0x26, 0x2, 0x77, 0x0, 0x0, 0x0, 0x7, 0x0, 0x6B, 0x1, 0x10, 0x1, 0x3E, 0xFF, 0xFF, 0x0, 0x5F, 0x0, 0x0, 0x3, 0xE1, 0x5, 0xBF, 0x0, 0x26, 0x2, 0x8F, 0x0, 0x0, 0x0, 0x6, 0x0, 0x6B, 0x67, 0xF2, 0xFF, 0xFF, 0x0, 0x9C, 0x0, 0x0, 0x6, 0x59, 0x7, 0xB, 0x0, 0x26, 0x2, 0x7B, 0x0, 0x0, 0x0, 0x7, 0x0, 0x6B, 0x1, 0xC2, 0x1, 0x3E, 0xFF, 0xFF, 0x0, 0x8F, 0x0, 0x0, 0x5, 0xCA, 0x5, 0xBF, 0x0, 0x26, 0x2, 0x93, 0x0, 0x0, 0x0, 0x7, 0x0, 0x6B, 0x1, 0x74, 0xFF, 0xF2, 0xFF, 0xFF, 0x0, 0x50, 0xFF, 0xEC, 0x4, 0x4, 0x6, 0x0, 0x0, 0x6, 0x0, 0x49, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x12, 0xFE, 0x96, 0x5, 0x43, 0x5, 0xB0, 0x0, 0x26, 0x0, 0x26, 0x0, 0x0, 0x0, 0x7, 0x1, 0xD4, 0x5, 0xF, 0x0, 0x3, 0xFF, 0xFF, 0x0, 0x5B, 0xFE, 0x9B, 0x3, 0xFC, 0x4, 0x4E, 0x0, 0x26, 0x0, 0x46, 0x0, 0x0, 0x0, 0x7, 0x1, 0xD4, 0x4, 0x41, 0x0, 0x8, 0xFF, 0xFF, 0x0, 0x12, 0x0, 0x0, 0x5, 0x43, 0x7, 0xBC, 0x0, 0x26, 0x0, 0x26, 0x0, 0x0, 0x0, 0x7, 0x1, 0xBA, 0x5, 0x5, 0x1, 0x3C, 0xFF, 0xFF, 0x0, 0x5B, 0xFF, 0xEC, 0x3, 0xFC, 0x6, 0x86, 0x0, 0x26, 0x0, 0x46, 0x0, 0x0, 0x0, 0x7, 0x1, 0xBA, 0x4, 0x8F, 0x0, 0x6, 0xFF, 0xFF, 0x0, 0x12, 0x0, 0x0, 0x5, 0x4A, 0x7, 0xB1, 0x0, 0x26, 0x0, 0x26, 0x0, 0x0, 0x0, 0x7, 0x7, 0xBF, 0x0, 0xBE, 0x1, 0x20, 0xFF, 0xFF, 0x0, 0x5B, 0xFF, 0xEC, 0x4, 0xD4, 0x6, 0x7B, 0x0, 0x26, 0x0, 0x46, 0x0, 0x0, 0x0, 0x6, 0x7, 0xBF, 0x48, 0xEA, 0xFF, 0xFF, 0x0, 0xE, 0x0, 0x0, 0x5, 0x43, 0x7, 0xAF, 0x0, 0x26, 0x0, 0x26, 0x0, 0x0, 0x0, 0x7, 0x7, 0xC0, 0x0, 0xC3, 0x1, 0x2B, 0xFF, 0xFF, 0xFF, 0x98, 0xFF, 0xEC, 0x3, 0xFC, 0x6, 0x79, 0x0, 0x26, 0x0, 0x46, 0x0, 0x0, 0x0, 0x6, 0x7, 0xC0, 0x4D, 0xF5, 0xFF, 0xFF, 0x0, 0x12, 0x0, 0x0, 0x5, 0x43, 0x7, 0xDD, 0x0, 0x26, 0x0, 0x26, 0x0, 0x0, 0x0, 0x7, 0x7, 0xC1, 0x0, 0xC2, 0x1, 0x12, 0xFF, 0xFF, 0x0, 0x5B, 0xFF, 0xEC, 0x4, 0x56, 0x6, 0xA7, 0x0, 0x26, 0x0, 0x46, 0x0, 0x0, 0x0, 0x6, 0x7, 0xC1, 0x4C, 0xDC, 0xFF, 0xFF, 0x0, 0x12, 0x0, 0x0, 0x5, 0x43, 0x7, 0xD6, 0x0, 0x26, 0x0, 0x26, 0x0, 0x0, 0x0, 0x7, 0x7, 0xC2, 0x0, 0xC3, 0x1, 0x4, 0xFF, 0xFF, 0x0, 0x5B, 0xFF, 0xEC, 0x3, 0xFC, 0x6, 0xA0, 0x0, 0x26, 0x0, 0x46, 0x0, 0x0, 0x0, 0x6, 0x7, 0xC2, 0x4D, 0xCE, 0xFF, 0xFF, 0x0, 0x12, 0xFE, 0x96, 0x5, 0x43, 0x7, 0x37, 0x0, 0x26, 0x0, 0x26, 0x0, 0x0, 0x0, 0x27, 0x1, 0x77, 0x0, 0xC2, 0x1, 0x36, 0x0, 0x7, 0x1, 0xD4, 0x5, 0xF, 0x0, 0x3, 0xFF, 0xFF, 0x0, 0x5B, 0xFE, 0x9B, 0x3, 0xFC, 0x6, 0x1, 0x0, 0x26, 0x0, 0x46, 0x0, 0x0, 0x0, 0x26, 0x1, 0x77, 0x4C, 0x0, 0x0, 0x7, 0x1, 0xD4, 0x4, 0x41, 0x0, 0x8, 0xFF, 0xFF, 0x0, 0x12, 0x0, 0x0, 0x5, 0x43, 0x7, 0xAF, 0x0, 0x26, 0x0, 0x26, 0x0, 0x0, 0x0, 0x7, 0x7, 0xC5, 0x0, 0xEF, 0x1, 0x30, 0xFF, 0xFF, 0x0, 0x5B, 0xFF, 0xEC, 0x3, 0xFC, 0x6, 0x79, 0x0, 0x26, 0x0, 0x46, 0x0, 0x0, 0x0, 0x6, 0x7, 0xC5, 0x79, 0xFA, 0xFF, 0xFF, 0x0, 0x12, 0x0, 0x0, 0x5, 0x43, 0x7, 0xAF, 0x0, 0x26, 0x0, 0x26, 0x0, 0x0, 0x0, 0x7, 0x7, 0xB3, 0x0, 0xEF, 0x1, 0x30, 0xFF, 0xFF, 0x0, 0x5B, 0xFF, 0xEC, 0x3, 0xFC, 0x6, 0x79, 0x0, 0x26, 0x0, 0x46, 0x0, 0x0, 0x0, 0x6, 0x7, 0xB3, 0x79, 0xFA, 0xFF, 0xFF, 0x0, 0x12, 0x0, 0x0, 0x5, 0x43, 0x8, 0x3E, 0x0, 0x26, 0x0, 0x26, 0x0, 0x0, 0x0, 0x7, 0x7, 0xC6, 0x0, 0xEE, 0x1, 0x36, 0xFF, 0xFF, 0x0, 0x5B, 0xFF, 0xEC, 0x3, 0xFC, 0x7, 0x8, 0x0, 0x26, 0x0, 0x46, 0x0, 0x0, 0x0, 0x6, 0x7, 0xC6, 0x78, 0x0, 0xFF, 0xFF, 0x0, 0x12, 0x0, 0x0, 0x5, 0x43, 0x8, 0x19, 0x0, 0x26, 0x0, 0x26, 0x0, 0x0, 0x0, 0x7, 0x7, 0xDA, 0x0, 0xF0, 0x1, 0x3C, 0xFF, 0xFF, 0x0, 0x5B, 0xFF, 0xEC, 0x3, 0xFC, 0x6, 0xE3, 0x0, 0x26, 0x0, 0x46, 0x0, 0x0, 0x0, 0x6, 0x7, 0xDA, 0x7A, 0x6, 0xFF, 0xFF, 0x0, 0x12, 0xFE, 0x96, 0x5, 0x43, 0x7, 0x1D, 0x0, 0x26, 0x0, 0x26, 0x0, 0x0, 0x0, 0x27, 0x1, 0x89, 0x0, 0xF5, 0x1, 0x36, 0x0, 0x7, 0x1, 0xD4, 0x5, 0xF, 0x0, 0x3, 0xFF, 0xFF, 0x0, 0x5B, 0xFE, 0x9B, 0x3, 0xFC, 0x5, 0xE7, 0x0, 0x26, 0x0, 0x46, 0x0, 0x0, 0x0, 0x26, 0x1, 0x89, 0x7F, 0x0, 0x0, 0x7, 0x1, 0xD4, 0x4, 0x41, 0x0, 0x8, 0xFF, 0xFF, 0x0, 0x95, 0xFE, 0x9D, 0x4, 0x4D, 0x5, 0xB0, 0x0, 0x26, 0x0, 0x2A, 0x0, 0x0, 0x0, 0x7, 0x1, 0xD4, 0x4, 0xCC, 0x0, 0xA, 0xFF, 0xFF, 0x0, 0x54, 0xFE, 0x93, 0x4, 0xC, 0x4, 0x4E, 0x0, 0x26, 0x0, 0x4A, 0x0, 0x0, 0x0, 0x7, 0x1, 0xD4, 0x4, 0x91, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x95, 0x0, 0x0, 0x4, 0x4D, 0x7, 0xC4, 0x0, 0x26, 0x0, 0x2A, 0x0, 0x0, 0x0, 0x7, 0x1, 0xBA, 0x4, 0xCB, 0x1, 0x44, 0xFF, 0xFF, 0x0, 0x54, 0xFF, 0xEC, 0x4, 0xC, 0x6, 0x86, 0x0, 0x26, 0x0, 0x4A, 0x0, 0x0, 0x0, 0x7, 0x1, 0xBA, 0x4, 0x83, 0x0, 0x6, 0xFF, 0xFF, 0x0, 0x95, 0x0, 0x0, 0x4, 0x4D, 0x7, 0x33, 0x0, 0x26, 0x0, 0x2A, 0x0, 0x0, 0x0, 0x7, 0x1, 0x8D, 0x0, 0x8A, 0x1, 0x3E, 0xFF, 0xFF, 0x0, 0x54, 0xFF, 0xEC, 0x4, 0xC, 0x5, 0xF5, 0x0, 0x26, 0x0, 0x4A, 0x0, 0x0, 0x0, 0x6, 0x1, 0x8D, 0x42, 0x0, 0xFF, 0xFF, 0x0, 0x95, 0x0, 0x0, 0x5, 0x10, 0x7, 0xB9, 0x0, 0x26, 0x0, 0x2A, 0x0, 0x0, 0x0, 0x7, 0x7, 0xBF, 0x0, 0x84, 0x1, 0x28, 0xFF, 0xFF, 0x0, 0x54, 0xFF, 0xEC, 0x4, 0xC8, 0x6, 0x7B, 0x0, 0x26, 0x0, 0x4A, 0x0, 0x0, 0x0, 0x6, 0x7, 0xBF, 0x3C, 0xEA, 0xFF, 0xFF, 0xFF, 0xD4, 0x0, 0x0, 0x4, 0x4D, 0x7, 0xB7, 0x0, 0x26, 0x0, 0x2A, 0x0, 0x0, 0x0, 0x7, 0x7, 0xC0, 0x0, 0x89, 0x1, 0x33, 0xFF, 0xFF, 0xFF, 0x8C, 0xFF, 0xEC, 0x4, 0xC, 0x6, 0x79, 0x0, 0x26, 0x0, 0x4A, 0x0, 0x0, 0x0, 0x6, 0x7, 0xC0, 0x41, 0xF5, 0xFF, 0xFF, 0x0, 0x95, 0x0, 0x0, 0x4, 0x92, 0x7, 0xE5, 0x0, 0x26, 0x0, 0x2A, 0x0, 0x0, 0x0, 0x7, 0x7, 0xC1, 0x0, 0x88, 0x1, 0x1A, 0xFF, 0xFF, 0x0, 0x54, 0xFF, 0xEC, 0x4, 0x4A, 0x6, 0xA7, 0x0, 0x26, 0x0, 0x4A, 0x0, 0x0, 0x0, 0x6, 0x7, 0xC1, 0x40, 0xDC, 0xFF, 0xFF, 0x0, 0x95, 0x0, 0x0, 0x4, 0x4D, 0x7, 0xDE, 0x0, 0x26, 0x0, 0x2A, 0x0, 0x0, 0x0, 0x7, 0x7, 0xC2, 0x0, 0x89, 0x1, 0xC, 0xFF, 0xFF, 0x0, 0x54, 0xFF, 0xEC, 0x4, 0xC, 0x6, 0xA0, 0x0, 0x26, 0x0, 0x4A, 0x0, 0x0, 0x0, 0x6, 0x7, 0xC2, 0x41, 0xCE, 0xFF, 0xFF, 0x0, 0x95, 0xFE, 0x9D, 0x4, 0x4D, 0x7, 0x3F, 0x0, 0x26, 0x0, 0x2A, 0x0, 0x0, 0x0, 0x27, 0x1, 0x77, 0x0, 0x88, 0x1, 0x3E, 0x0, 0x7, 0x1, 0xD4, 0x4, 0xCC, 0x0, 0xA, 0xFF, 0xFF, 0x0, 0x54, 0xFE, 0x93, 0x4, 0xC, 0x6, 0x1, 0x0, 0x26, 0x0, 0x4A, 0x0, 0x0, 0x0, 0x26, 0x1, 0x77, 0x40, 0x0, 0x0, 0x7, 0x1, 0xD4, 0x4, 0x91, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0xA4, 0x0, 0x0, 0x2, 0x12, 0x7, 0xC4, 0x0, 0x26, 0x0, 0x2E, 0x0, 0x0, 0x0, 0x7, 0x1, 0xBA, 0x3, 0x79, 0x1, 0x44, 0xFF, 0xFF, 0x0, 0x90, 0x0, 0x0, 0x1, 0xFD, 0x6, 0x7F, 0x0, 0x26, 0x0, 0x8E, 0x0, 0x0, 0x0, 0x7, 0x1, 0xBA, 0x3, 0x64, 0xFF, 0xFF, 0xFF, 0xFF, 0x0, 0x94, 0xFE, 0x9A, 0x1, 0xA8, 0x5, 0xB0, 0x0, 0x26, 0x0, 0x2E, 0x0, 0x0, 0x0, 0x7, 0x1, 0xD4, 0x3, 0x79, 0x0, 0x7, 0xFF, 0xFF, 0x0, 0x79, 0xFE, 0x9D, 0x1, 0x91, 0x5, 0xD5, 0x0, 0x26, 0x0, 0x4E, 0x0, 0x0, 0x0, 0x7, 0x1, 0xD4, 0x3, 0x5E, 0x0, 0xA, 0xFF, 0xFF, 0x0, 0x66, 0xFE, 0x93, 0x5, 0x1F, 0x5, 0xC4, 0x0, 0x26, 0x0, 0x34, 0x0, 0x0, 0x0, 0x7, 0x1, 0xD4, 0x5, 0x1F, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x50, 0xFE, 0x8F, 0x4, 0x3E, 0x4, 0x4E, 0x0, 0x26, 0x0, 0x54, 0x0, 0x0, 0x0, 0x7, 0x1, 0xD4, 0x4, 0x9F, 0xFF, 0xFC, 0xFF, 0xFF, 0x0, 0x66, 0xFF, 0xEC, 0x5, 0x1F, 0x7, 0xBC, 0x0, 0x26, 0x0, 0x34, 0x0, 0x0, 0x0, 0x7, 0x1, 0xBA, 0x5, 0x1C, 0x1, 0x3C, 0xFF, 0xFF, 0x0, 0x50, 0xFF, 0xEC, 0x4, 0x3E, 0x6, 0x86, 0x0, 0x26, 0x0, 0x54, 0x0, 0x0, 0x0, 0x7, 0x1, 0xBA, 0x4, 0x98, 0x0, 0x6, 0xFF, 0xFF, 0x0, 0x66, 0xFF, 0xEC, 0x5, 0x61, 0x7, 0xB1, 0x0, 0x26, 0x0, 0x34, 0x0, 0x0, 0x0, 0x7, 0x7, 0xBF, 0x0, 0xD5, 0x1, 0x20, 0xFF, 0xFF, 0x0, 0x50, 0xFF, 0xEC, 0x4, 0xDD, 0x6, 0x7B, 0x0, 0x26, 0x0, 0x54, 0x0, 0x0, 0x0, 0x6, 0x7, 0xBF, 0x51, 0xEA, 0xFF, 0xFF, 0x0, 0x25, 0xFF, 0xEC, 0x5, 0x1F, 0x7, 0xAF, 0x0, 0x26, 0x0, 0x34, 0x0, 0x0, 0x0, 0x7, 0x7, 0xC0, 0x0, 0xDA, 0x1, 0x2B, 0xFF, 0xFF, 0xFF, 0xA1, 0xFF, 0xEC, 0x4, 0x3E, 0x6, 0x79, 0x0, 0x26, 0x0, 0x54, 0x0, 0x0, 0x0, 0x6, 0x7, 0xC0, 0x56, 0xF5, 0xFF, 0xFF, 0x0, 0x66, 0xFF, 0xEC, 0x5, 0x1F, 0x7, 0xDD, 0x0, 0x26, 0x0, 0x34, 0x0, 0x0, 0x0, 0x7, 0x7, 0xC1, 0x0, 0xD9, 0x1, 0x12, 0xFF, 0xFF, 0x0, 0x50, 0xFF, 0xEC, 0x4, 0x5F, 0x6, 0xA7, 0x0, 0x26, 0x0, 0x54, 0x0, 0x0, 0x0, 0x6, 0x7, 0xC1, 0x55, 0xDC, 0xFF, 0xFF, 0x0, 0x66, 0xFF, 0xEC, 0x5, 0x1F, 0x7, 0xD6, 0x0, 0x26, 0x0, 0x34, 0x0, 0x0, 0x0, 0x7, 0x7, 0xC2, 0x0, 0xDA, 0x1, 0x4, 0xFF, 0xFF, 0x0, 0x50, 0xFF, 0xEC, 0x4, 0x3E, 0x6, 0xA0, 0x0, 0x26, 0x0, 0x54, 0x0, 0x0, 0x0, 0x6, 0x7, 0xC2, 0x56, 0xCE, 0xFF, 0xFF, 0x0, 0x66, 0xFE, 0x93, 0x5, 0x1F, 0x7, 0x37, 0x0, 0x26, 0x0, 0x34, 0x0, 0x0, 0x0, 0x27, 0x1, 0x77, 0x0, 0xD9, 0x1, 0x36, 0x0, 0x7, 0x1, 0xD4, 0x5, 0x1F, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x50, 0xFE, 0x8F, 0x4, 0x3E, 0x6, 0x1, 0x0, 0x26, 0x0, 0x54, 0x0, 0x0, 0x0, 0x26, 0x1, 0x77, 0x55, 0x0, 0x0, 0x7, 0x1, 0xD4, 0x4, 0x9F, 0xFF, 0xFC, 0xFF, 0xFF, 0x0, 0x58, 0xFF, 0xEC, 0x5, 0xAA, 0x7, 0x34, 0x0, 0x26, 0x0, 0xB4, 0x0, 0x0, 0x0, 0x7, 0x0, 0x76, 0x1, 0xD3, 0x1, 0x34, 0xFF, 0xFF, 0x0, 0x4F, 0xFF, 0xEC, 0x4, 0xBC, 0x6, 0x0, 0x0, 0x26, 0x0, 0xB5, 0x0, 0x0, 0x0, 0x7, 0x0, 0x76, 0x1, 0x58, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x58, 0xFF, 0xEC, 0x5, 0xAA, 0x7, 0x34, 0x0, 0x26, 0x0, 0xB4, 0x0, 0x0, 0x0, 0x7, 0x0, 0x45, 0x1, 0x34, 0x1, 0x34, 0xFF, 0xFF, 0x0, 0x4F, 0xFF, 0xEC, 0x4, 0xBC, 0x6, 0x0, 0x0, 0x26, 0x0, 0xB5, 0x0, 0x0, 0x0, 0x7, 0x0, 0x45, 0x0, 0xB9, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x58, 0xFF, 0xEC, 0x5, 0xAA, 0x7, 0xBA, 0x0, 0x26, 0x0, 0xB4, 0x0, 0x0, 0x0, 0x7, 0x1, 0xBA, 0x5, 0x17, 0x1, 0x3A, 0xFF, 0xFF, 0x0, 0x4F, 0xFF, 0xEC, 0x4, 0xBC, 0x6, 0x86, 0x0, 0x26, 0x0, 0xB5, 0x0, 0x0, 0x0, 0x7, 0x1, 0xBA, 0x4, 0x9C, 0x0, 0x6, 0xFF, 0xFF, 0x0, 0x58, 0xFF, 0xEC, 0x5, 0xAA, 0x7, 0x29, 0x0, 0x26, 0x0, 0xB4, 0x0, 0x0, 0x0, 0x7, 0x1, 0x8D, 0x0, 0xD6, 0x1, 0x34, 0xFF, 0xFF, 0x0, 0x4F, 0xFF, 0xEC, 0x4, 0xBC, 0x5, 0xF5, 0x0, 0x26, 0x0, 0xB5, 0x0, 0x0, 0x0, 0x6, 0x1, 0x8D, 0x5B, 0x0, 0xFF, 0xFF, 0x0, 0x58, 0xFE, 0x93, 0x5, 0xAA, 0x6, 0x2E, 0x0, 0x26, 0x0, 0xB4, 0x0, 0x0, 0x0, 0x7, 0x1, 0xD4, 0x5, 0x8, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x4F, 0xFE, 0x89, 0x4, 0xBC, 0x4, 0xA9, 0x0, 0x26, 0x0, 0xB5, 0x0, 0x0, 0x0, 0x7, 0x1, 0xD4, 0x4, 0x9C, 0xFF, 0xF6, 0xFF, 0xFF, 0x0, 0x7E, 0xFE, 0x93, 0x4, 0xBE, 0x5, 0xB0, 0x0, 0x26, 0x0, 0x3A, 0x0, 0x0, 0x0, 0x7, 0x1, 0xD4, 0x4, 0xF3, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x77, 0xFE, 0x93, 0x3, 0xF7, 0x4, 0x3A, 0x0, 0x26, 0x0, 0x5A, 0x0, 0x0, 0x0, 0x7, 0x1, 0xD4, 0x4, 0x43, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x7E, 0xFF, 0xEC, 0x4, 0xBE, 0x7, 0xBC, 0x0, 0x26, 0x0, 0x3A, 0x0, 0x0, 0x0, 0x7, 0x1, 0xBA, 0x4, 0xF3, 0x1, 0x3C, 0xFF, 0xFF, 0x0, 0x77, 0xFF, 0xEC, 0x3, 0xF7, 0x6, 0x86, 0x0, 0x26, 0x0, 0x5A, 0x0, 0x0, 0x0, 0x7, 0x1, 0xBA, 0x4, 0x91, 0x0, 0x6, 0xFF, 0xFF, 0x0, 0x7E, 0xFF, 0xEC, 0x6, 0x3D, 0x7, 0x42, 0x0, 0x26, 0x0, 0xC3, 0x0, 0x0, 0x0, 0x7, 0x0, 0x76, 0x1, 0xD6, 0x1, 0x42, 0xFF, 0xFF, 0x0, 0x77, 0xFF, 0xEC, 0x5, 0x29, 0x5, 0xEB, 0x0, 0x26, 0x0, 0xC4, 0x0, 0x0, 0x0, 0x7, 0x0, 0x76, 0x1, 0x56, 0xFF, 0xEB, 0xFF, 0xFF, 0x0, 0x7E, 0xFF, 0xEC, 0x6, 0x3D, 0x7, 0x42, 0x0, 0x26, 0x0, 0xC3, 0x0, 0x0, 0x0, 0x7, 0x0, 0x45, 0x1, 0x37, 0x1, 0x42, 0xFF, 0xFF, 0x0, 0x77, 0xFF, 0xEC, 0x5, 0x29, 0x5, 0xEB, 0x0, 0x26, 0x0, 0xC4, 0x0, 0x0, 0x0, 0x7, 0x0, 0x45, 0x0, 0xB7, 0xFF, 0xEB, 0xFF, 0xFF, 0x0, 0x7E, 0xFF, 0xEC, 0x6, 0x3D, 0x7, 0xC8, 0x0, 0x26, 0x0, 0xC3, 0x0, 0x0, 0x0, 0x7, 0x1, 0xBA, 0x5, 0x1A, 0x1, 0x48, 0xFF, 0xFF, 0x0, 0x77, 0xFF, 0xEC, 0x5, 0x29, 0x6, 0x71, 0x0, 0x26, 0x0, 0xC4, 0x0, 0x0, 0x0, 0x7, 0x1, 0xBA, 0x4, 0x9A, 0xFF, 0xF1, 0xFF, 0xFF, 0x0, 0x7E, 0xFF, 0xEC, 0x6, 0x3D, 0x7, 0x37, 0x0, 0x26, 0x0, 0xC3, 0x0, 0x0, 0x0, 0x7, 0x1, 0x8D, 0x0, 0xD9, 0x1, 0x42, 0xFF, 0xFF, 0x0, 0x77, 0xFF, 0xEC, 0x5, 0x29, 0x5, 0xE0, 0x0, 0x26, 0x0, 0xC4, 0x0, 0x0, 0x0, 0x6, 0x1, 0x8D, 0x59, 0xEB, 0xFF, 0xFF, 0x0, 0x7E, 0xFE, 0x89, 0x6, 0x3D, 0x6, 0x1, 0x0, 0x26, 0x0, 0xC3, 0x0, 0x0, 0x0, 0x7, 0x1, 0xD4, 0x5, 0x1A, 0xFF, 0xF6, 0xFF, 0xFF, 0x0, 0x77, 0xFE, 0x93, 0x5, 0x29, 0x4, 0x94, 0x0, 0x26, 0x0, 0xC4, 0x0, 0x0, 0x0, 0x7, 0x1, 0xD4, 0x4, 0x8F, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x8, 0xFE, 0xA3, 0x4, 0xD6, 0x5, 0xB0, 0x0, 0x26, 0x0, 0x3E, 0x0, 0x0, 0x0, 0x7, 0x1, 0xD4, 0x4, 0xC7, 0x0, 0x10, 0xFF, 0xFF, 0x0, 0xC, 0xFE, 0xC, 0x3, 0xD7, 0x4, 0x3A, 0x0, 0x26, 0x0, 0x5E, 0x0, 0x0, 0x0, 0x7, 0x1, 0xD4, 0x5, 0x48, 0xFF, 0x79, 0xFF, 0xFF, 0x0, 0x8, 0x0, 0x0, 0x4, 0xD6, 0x7, 0xBC, 0x0, 0x26, 0x0, 0x3E, 0x0, 0x0, 0x0, 0x7, 0x1, 0xBA, 0x4, 0xCB, 0x1, 0x3C, 0xFF, 0xFF, 0x0, 0xC, 0xFE, 0x4B, 0x3, 0xD7, 0x6, 0x86, 0x0, 0x26, 0x0, 0x5E, 0x0, 0x0, 0x0, 0x7, 0x1, 0xBA, 0x4, 0x5A, 0x0, 0x6, 0xFF, 0xFF, 0x0, 0x8, 0x0, 0x0, 0x4, 0xD6, 0x7, 0x2B, 0x0, 0x26, 0x0, 0x3E, 0x0, 0x0, 0x0, 0x7, 0x1, 0x8D, 0x0, 0x8A, 0x1, 0x36, 0xFF, 0xFF, 0x0, 0xC, 0xFE, 0x4B, 0x3, 0xD7, 0x5, 0xF5, 0x0, 0x26, 0x0, 0x5E, 0x0, 0x0, 0x0, 0x6, 0x1, 0x8D, 0x19, 0x0, 0xFF, 0xFF, 0x0, 0x50, 0xFE, 0xAC, 0x4, 0xB3, 0x6, 0x0, 0x0, 0x26, 0x0, 0x49, 0x0, 0x0, 0x0, 0x27, 0x7, 0xA4, 0x1, 0x85, 0x2, 0x41, 0x0, 0x7, 0x0, 0x44, 0x0, 0x98, 0xFF, 0x6C, 0xFF, 0xFF, 0x0, 0x2D, 0xFE, 0x99, 0x4, 0xB0, 0x5, 0xB0, 0x0, 0x26, 0x0, 0x39, 0x0, 0x0, 0x0, 0x7, 0x7, 0xDB, 0x2, 0x4E, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x24, 0xFE, 0x99, 0x3, 0xD1, 0x4, 0x3A, 0x0, 0x26, 0x2, 0x8C, 0x0, 0x0, 0x0, 0x7, 0x7, 0xDB, 0x1, 0xE6, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x8E, 0xFE, 0x99, 0x4, 0xEF, 0x5, 0xB0, 0x0, 0x26, 0x2, 0x77, 0x0, 0x0, 0x0, 0x7, 0x7, 0xDB, 0x2, 0xD0, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x5F, 0xFE, 0x99, 0x3, 0xE1, 0x4, 0x3B, 0x0, 0x26, 0x2, 0x8F, 0x0, 0x0, 0x0, 0x7, 0x7, 0xDB, 0x1, 0xC6, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x9B, 0xFE, 0x99, 0x4, 0x38, 0x5, 0xB0, 0x0, 0x26, 0x2, 0x30, 0x0, 0x0, 0x0, 0x7, 0x7, 0xDB, 0x1, 0x8, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x85, 0xFE, 0x99, 0x3, 0x4D, 0x4, 0x3A, 0x0, 0x26, 0x2, 0x82, 0x0, 0x0, 0x0, 0x7, 0x7, 0xDB, 0x0, 0xED, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x17, 0xFE, 0x3F, 0x5, 0xBD, 0x5, 0xC4, 0x0, 0x26, 0x2, 0xE3, 0x0, 0x0, 0x0, 0x7, 0x7, 0xDB, 0x2, 0xEC, 0xFF, 0xA6, 0xFF, 0xFF, 0xFF, 0xCA, 0xFE, 0x44, 0x4, 0x8B, 0x4, 0x4E, 0x0, 0x26, 0x2, 0xE4, 0x0, 0x0, 0x0, 0x7, 0x7, 0xDB, 0x1, 0xF4, 0xFF, 0xAB, 0xFF, 0xFF, 0x0, 0x7A, 0x0, 0x0, 0x3, 0xF9, 0x6, 0x0, 0x0, 0x6, 0x0, 0x4D, 0x0, 0x0, 0x0, 0x2, 0xFF, 0xD0, 0x0, 0x0, 0x4, 0xC2, 0x5, 0xB0, 0x0, 0x12, 0x0, 0x1A, 0x0, 0x0, 0x1, 0x14, 0x4, 0x23, 0x21, 0x11, 0x23, 0x35, 0x33, 0x35, 0x33, 0x15, 0x33, 0x15, 0x23, 0x15, 0x21, 0x16, 0x4, 0x1, 0x21, 0x32, 0x36, 0x34, 0x26, 0x23, 0x21, 0x4, 0xC2, 0xFE, 0xEC, 0xF8, 0xFD, 0xDB, 0xC1, 0xC1, 0xFD, 0xE0, 0xE0, 0x1, 0x2C, 0xF6, 0x1, 0x12, 0xFC, 0xCC, 0x1, 0x28, 0x8D, 0x82, 0x82, 0x8D, 0xFE, 0xD8, 0x1, 0xC6, 0xC8, 0xFE, 0x4, 0x46, 0xAB, 0xBF, 0xBF, 0xAB, 0xC3, 0x1, 0xF3, 0xFE, 0x3B, 0x99, 0xCA, 0x8B, 0x0, 0x2, 0xFF, 0xD0, 0x0, 0x0, 0x4, 0xC2, 0x5, 0xB0, 0x0, 0x12, 0x0, 0x1A, 0x0, 0x0, 0x1, 0x14, 0x4, 0x23, 0x21, 0x11, 0x23, 0x35, 0x33, 0x35, 0x33, 0x15, 0x33, 0x15, 0x23, 0x15, 0x21, 0x16, 0x4, 0x1, 0x21, 0x32, 0x36, 0x34, 0x26, 0x23, 0x21, 0x4, 0xC2, 0xFE, 0xEC, 0xF8, 0xFD, 0xDB, 0xC1, 0xC1, 0xFD, 0xE0, 0xE0, 0x1, 0x2C, 0xF6, 0x1, 0x12, 0xFC, 0xCC, 0x1, 0x28, 0x8D, 0x82, 0x82, 0x8D, 0xFE, 0xD8, 0x1, 0xC6, 0xC8, 0xFE, 0x4, 0x46, 0xAB, 0xBF, 0xBF, 0xAB, 0xC3, 0x1, 0xF3, 0xFE, 0x3B, 0x99, 0xCA, 0x8B, 0x0, 0x1, 0xFF, 0xF0, 0x0, 0x0, 0x4, 0x38, 0x5, 0xB0, 0x0, 0xD, 0x0, 0x0, 0x1, 0x23, 0x11, 0x23, 0x11, 0x23, 0x35, 0x33, 0x11, 0x21, 0x15, 0x21, 0x11, 0x33, 0x2, 0x8E, 0xF7, 0xFC, 0xAB, 0xAB, 0x3, 0x9D, 0xFD, 0x5F, 0xF7, 0x2, 0x9F, 0xFD, 0x61, 0x2, 0x9F, 0xAB, 0x2, 0x66, 0xCB, 0xFE, 0x65, 0x0, 0x1, 0xFF, 0xE2, 0x0, 0x0, 0x3, 0x4D, 0x4, 0x3A, 0x0, 0xD, 0x0, 0x0, 0x1, 0x21, 0x11, 0x23, 0x11, 0x23, 0x35, 0x33, 0x11, 0x21, 0x15, 0x21, 0x15, 0x21, 0x2, 0x80, 0xFE, 0xF8, 0xF3, 0xA3, 0xA3, 0x2, 0xC8, 0xFE, 0x2B, 0x1, 0x8, 0x1, 0xD0, 0xFE, 0x30, 0x1, 0xD0, 0xAB, 0x1, 0xBF, 0xC4, 0xFB, 0x0, 0x1, 0xFF, 0xF7, 0x0, 0x0, 0x5, 0x44, 0x5, 0xB0, 0x0, 0x14, 0x0, 0x0, 0x21, 0x1, 0x23, 0x11, 0x23, 0x11, 0x23, 0x35, 0x33, 0x35, 0x33, 0x15, 0x33, 0x15, 0x23, 0x15, 0x33, 0x1, 0x21, 0x1, 0x1, 0x4, 0x14, 0xFE, 0x44, 0xAD, 0xFC, 0xB8, 0xB8, 0xFC, 0xEA, 0xEA, 0x8B, 0x1, 0xAD, 0x1, 0x36, 0xFE, 0xC, 0x2, 0x1F, 0x2, 0x70, 0xFD, 0x90, 0x4, 0x3E, 0xAB, 0xC7, 0xC7, 0xAB, 0xF1, 0x2, 0x63, 0xFD, 0x46, 0xFD, 0xA, 0x0, 0x1, 0xFF, 0xC2, 0x0, 0x0, 0x4, 0x4A, 0x6, 0x0, 0x0, 0x14, 0x0, 0x0, 0x21, 0x1, 0x23, 0x11, 0x23, 0x11, 0x23, 0x35, 0x33, 0x35, 0x33, 0x15, 0x33, 0x15, 0x23, 0x11, 0x33, 0x1, 0x21, 0x1, 0x1, 0x3, 0x2F, 0xFE, 0xC8, 0x6F, 0xF3, 0xD3, 0xD3, 0xF3, 0xD8, 0xD8, 0x68, 0x1, 0x10, 0x1, 0x1B, 0xFE, 0x9F, 0x1, 0x90, 0x1, 0xDA, 0xFE, 0x26, 0x4, 0xBA, 0xAB, 0x9B, 0x9B, 0xAB, 0xFD, 0xE2, 0x1, 0x9E, 0xFE, 0x13, 0xFD, 0xB3, 0x0, 0x1, 0x0, 0x8, 0x0, 0x0, 0x4, 0xD6, 0x5, 0xB0, 0x0, 0xE, 0x0, 0x0, 0x1, 0x23, 0x11, 0x23, 0x11, 0x23, 0x35, 0x33, 0x1, 0x21, 0x1, 0x1, 0x21, 0x1, 0x33, 0x3, 0xC5, 0xD7, 0xFE, 0xC9, 0x79, 0xFE, 0x68, 0x1, 0x19, 0x1, 0x4E, 0x1, 0x4F, 0x1, 0x18, 0xFE, 0x68, 0x87, 0x2, 0x4, 0xFD, 0xFC, 0x2, 0x4, 0xAB, 0x3, 0x1, 0xFD, 0x4F, 0x2, 0xB1, 0xFC, 0xFF, 0x0, 0x1, 0x0, 0x21, 0xFE, 0x5F, 0x3, 0xF5, 0x4, 0x3A, 0x0, 0xE, 0x0, 0x0, 0x5, 0x23, 0x11, 0x23, 0x11, 0x23, 0x35, 0x33, 0x1, 0x33, 0x13, 0x13, 0x33, 0x1, 0x33, 0x3, 0x61, 0xDD, 0xF2, 0xCF, 0xA4, 0xFE, 0xBA, 0xFB, 0xF3, 0xEC, 0xFA, 0xFE, 0xBD, 0xAF, 0x2, 0xFE, 0x61, 0x1, 0x9F, 0xAB, 0x3, 0x91, 0xFD, 0x4, 0x2, 0xFC, 0xFC, 0x6F, 0x0, 0x1, 0x0, 0x29, 0x0, 0x0, 0x4, 0xEA, 0x5, 0xB0, 0x0, 0x11, 0x0, 0x0, 0x1, 0x1, 0x21, 0x1, 0x23, 0x35, 0x33, 0x1, 0x21, 0x1, 0x1, 0x21, 0x1, 0x33, 0x15, 0x23, 0x1, 0x21, 0x2, 0x8A, 0xFE, 0xC6, 0xFE, 0xD9, 0x1, 0x96, 0x81, 0x73, 0xFE, 0x83, 0x1, 0x24, 0x1, 0x32, 0x1, 0x31, 0x1, 0x24, 0xFE, 0x83, 0x7A, 0x88, 0x1, 0x96, 0xFE, 0xD9, 0x2, 0x17, 0xFD, 0xE9, 0x2, 0x94, 0xAB, 0x2, 0x71, 0xFD, 0xF2, 0x2, 0xE, 0xFD, 0x8F, 0xAB, 0xFD, 0x6C, 0x0, 0x1, 0x0, 0x1F, 0x0, 0x0, 0x3, 0xE9, 0x4, 0x3A, 0x0, 0x11, 0x0, 0x0, 0x1, 0x3, 0x21, 0x1, 0x23, 0x35, 0x33, 0x1, 0x21, 0x13, 0x13, 0x21, 0x1, 0x33, 0x15, 0x23, 0x1, 0x21, 0x2, 0x4, 0xD7, 0xFE, 0xF2, 0x1, 0x24, 0x89, 0x83, 0xFE, 0xEE, 0x1, 0xD, 0xCA, 0xCE, 0x1, 0xD, 0xFE, 0xEE, 0x8D, 0x93, 0x1, 0x24, 0xFE, 0xF3, 0x1, 0x72, 0xFE, 0x8E, 0x1, 0xD6, 0xAB, 0x1, 0xB9, 0xFE, 0x9C, 0x1, 0x64, 0xFE, 0x47, 0xAB, 0xFE, 0x2A, 0xFF, 0xFF, 0x0, 0x61, 0xFF, 0xEC, 0x4, 0xD, 0x4, 0x4D, 0x0, 0x6, 0x2, 0x3E, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x2, 0x0, 0x0, 0x4, 0x31, 0x5, 0xB0, 0x0, 0x26, 0x0, 0x2B, 0x0, 0x0, 0x0, 0x7, 0x7, 0xA4, 0xFF, 0x72, 0xFE, 0x68, 0xFF, 0xFF, 0x0, 0x82, 0x2, 0x6E, 0x5, 0xCF, 0x3, 0x32, 0x0, 0x6, 0x4, 0x5F, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x51, 0x0, 0x0, 0x4, 0x41, 0x5, 0xC4, 0x0, 0x6, 0x0, 0x17, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x50, 0xFF, 0xEC, 0x4, 0x16, 0x5, 0xC4, 0x0, 0x6, 0x0, 0x18, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x35, 0x0, 0x0, 0x4, 0x59, 0x5, 0xB0, 0x0, 0x6, 0x0, 0x19, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x81, 0xFF, 0xEC, 0x4, 0x3A, 0x5, 0xB0, 0x0, 0x6, 0x0, 0x1A, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x8A, 0xFF, 0xEC, 0x4, 0x4B, 0x5, 0xB7, 0x0, 0x6, 0x0, 0x1B, 0x14, 0x0, 0xFF, 0xFF, 0x0, 0x7D, 0xFF, 0xEC, 0x4, 0x37, 0x5, 0xC4, 0x0, 0x6, 0x0, 0x1D, 0x14, 0x0, 0xFF, 0xFF, 0x0, 0x5E, 0xFF, 0xF9, 0x4, 0x13, 0x5, 0xC4, 0x0, 0x6, 0x0, 0x1E, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x7D, 0xFF, 0xEC, 0x4, 0x36, 0x5, 0xC4, 0x0, 0x6, 0x0, 0x15, 0x14, 0x0, 0xFF, 0xFF, 0x0, 0x73, 0xFD, 0xF2, 0x1, 0x75, 0xFF, 0x9C, 0x0, 0x6, 0x4, 0x3B, 0x0, 0x0, 0x0, 0x1, 0x0, 0x90, 0xFF, 0xEC, 0x2, 0x9B, 0x6, 0x0, 0x0, 0xC, 0x0, 0x0, 0x1, 0x11, 0x16, 0x33, 0x32, 0x37, 0x17, 0x6, 0x23, 0x22, 0x26, 0x35, 0x11, 0x1, 0x83, 0x1, 0xA2, 0x28, 0x34, 0x19, 0x5B, 0x3D, 0xAD, 0xC6, 0x6, 0x0, 0xFB, 0x5E, 0xAF, 0xB, 0xB9, 0x15, 0xBF, 0xB5, 0x4, 0xA0, 0xFF, 0xFF, 0x0, 0x7F, 0xFE, 0x61, 0x4, 0x6, 0x4, 0x4E, 0x0, 0x6, 0x2, 0x40, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x95, 0xFF, 0xEC, 0x8, 0x3A, 0x5, 0xB0, 0x0, 0x26, 0x0, 0x31, 0x0, 0x0, 0x0, 0x7, 0x0, 0x2F, 0x4, 0x55, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x95, 0xFE, 0x4B, 0x5, 0xDB, 0x5, 0xD5, 0x0, 0x26, 0x0, 0x31, 0x0, 0x0, 0x0, 0x7, 0x0, 0x4F, 0x4, 0x55, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x8C, 0xFE, 0x4B, 0x3, 0x92, 0x6, 0x0, 0x0, 0x26, 0x0, 0x51, 0x0, 0x0, 0x0, 0x7, 0x0, 0x4F, 0x2, 0xC, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x95, 0xFF, 0xEC, 0x9, 0x94, 0x5, 0xB0, 0x0, 0x26, 0x0, 0x33, 0x0, 0x0, 0x0, 0x7, 0x0, 0x2F, 0x5, 0xAF, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x95, 0xFE, 0x4B, 0x7, 0x35, 0x5, 0xD5, 0x0, 0x26, 0x0, 0x33, 0x0, 0x0, 0x0, 0x7, 0x0, 0x4F, 0x5, 0xAF, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x7A, 0xFE, 0x4B, 0x5, 0xF9, 0x5, 0xD5, 0x0, 0x26, 0x0, 0x53, 0x0, 0x0, 0x0, 0x7, 0x0, 0x4F, 0x4, 0x73, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x12, 0x0, 0x0, 0x5, 0x43, 0x7, 0x38, 0x0, 0x26, 0x0, 0x26, 0x0, 0x0, 0x0, 0x7, 0x1, 0x78, 0x0, 0xDA, 0x1, 0x36, 0xFF, 0xFF, 0x0, 0x5B, 0xFF, 0xEC, 0x3, 0xFC, 0x6, 0x2, 0x0, 0x26, 0x0, 0x46, 0x0, 0x0, 0x0, 0x6, 0x1, 0x78, 0x64, 0x0, 0xFF, 0xFF, 0xFF, 0xC0, 0x0, 0x0, 0x2, 0x83, 0x7, 0x40, 0x0, 0x26, 0x0, 0x2E, 0x0, 0x0, 0x0, 0x7, 0x1, 0x78, 0xFF, 0x4E, 0x1, 0x3E, 0xFF, 0xFF, 0xFF, 0xAB, 0x0, 0x0, 0x2, 0x6E, 0x5, 0xFB, 0x0, 0x26, 0x0, 0x8E, 0x0, 0x0, 0x0, 0x7, 0x1, 0x78, 0xFF, 0x39, 0xFF, 0xF9, 0xFF, 0xFF, 0x0, 0x66, 0xFF, 0xEC, 0x5, 0x1F, 0x7, 0x38, 0x0, 0x26, 0x0, 0x34, 0x0, 0x0, 0x0, 0x7, 0x1, 0x78, 0x0, 0xF1, 0x1, 0x36, 0xFF, 0xFF, 0x0, 0x50, 0xFF, 0xEC, 0x4, 0x3E, 0x6, 0x2, 0x0, 0x26, 0x0, 0x54, 0x0, 0x0, 0x0, 0x6, 0x1, 0x78, 0x6D, 0x0, 0xFF, 0xFF, 0x0, 0x7E, 0xFF, 0xEC, 0x4, 0xBE, 0x7, 0x38, 0x0, 0x26, 0x0, 0x3A, 0x0, 0x0, 0x0, 0x7, 0x1, 0x78, 0x0, 0xC8, 0x1, 0x36, 0xFF, 0xFF, 0x0, 0x77, 0xFF, 0xEC, 0x3, 0xF7, 0x6, 0x2, 0x0, 0x26, 0x0, 0x5A, 0x0, 0x0, 0x0, 0x6, 0x1, 0x78, 0x66, 0x0, 0xFF, 0xFF, 0x0, 0x7E, 0xFF, 0xEC, 0x4, 0xBE, 0x7, 0xF3, 0x0, 0x26, 0x0, 0x3A, 0x0, 0x0, 0x0, 0x7, 0x7, 0xB4, 0x4, 0xE3, 0x1, 0x51, 0xFF, 0xFF, 0x0, 0x77, 0xFF, 0xEC, 0x3, 0xF7, 0x6, 0xDA, 0x0, 0x26, 0x0, 0x5A, 0x0, 0x0, 0x0, 0x7, 0x8, 0xBF, 0x4, 0x81, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x7E, 0xFF, 0xEC, 0x4, 0xBE, 0x7, 0xB6, 0x0, 0x26, 0x0, 0x3A, 0x0, 0x0, 0x0, 0x7, 0x7, 0xB5, 0x4, 0xE3, 0x1, 0x51, 0xFF, 0xFF, 0x0, 0x77, 0xFF, 0xEC, 0x3, 0xF7, 0x7, 0x2D, 0x0, 0x26, 0x0, 0x5A, 0x0, 0x0, 0x0, 0x7, 0x8, 0xBB, 0x4, 0x81, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x7E, 0xFF, 0xEC, 0x4, 0xBE, 0x7, 0xF2, 0x0, 0x26, 0x0, 0x3A, 0x0, 0x0, 0x0, 0x7, 0x7, 0xB6, 0x4, 0xE3, 0x1, 0x51, 0xFF, 0xFF, 0x0, 0x77, 0xFF, 0xEC, 0x3, 0xF7, 0x7, 0x2E, 0x0, 0x26, 0x0, 0x5A, 0x0, 0x0, 0x0, 0x7, 0x8, 0xC5, 0x4, 0x81, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x7E, 0xFF, 0xEC, 0x4, 0xBE, 0x7, 0xB6, 0x0, 0x26, 0x0, 0x3A, 0x0, 0x0, 0x0, 0x7, 0x7, 0xB7, 0x4, 0xE3, 0x1, 0x51, 0xFF, 0xFF, 0x0, 0x77, 0xFF, 0xEC, 0x3, 0xF7, 0x7, 0x2D, 0x0, 0x26, 0x0, 0x5A, 0x0, 0x0, 0x0, 0x7, 0x8, 0xC0, 0x4, 0x81, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x5A, 0xFF, 0xEB, 0x3, 0xF8, 0x4, 0x50, 0x0, 0x6, 0x1, 0xE, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x12, 0x0, 0x0, 0x5, 0x43, 0x7, 0xF3, 0x0, 0x26, 0x0, 0x26, 0x0, 0x0, 0x0, 0x7, 0x7, 0xB4, 0x4, 0xF5, 0x1, 0x51, 0xFF, 0xFF, 0x0, 0x5B, 0xFF, 0xEC, 0x3, 0xFC, 0x6, 0xDA, 0x0, 0x26, 0x0, 0x46, 0x0, 0x0, 0x0, 0x7, 0x8, 0xBF, 0x4, 0x7F, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x12, 0x0, 0x0, 0x5, 0x43, 0x7, 0xF2, 0x0, 0x26, 0x0, 0x26, 0x0, 0x0, 0x0, 0x7, 0x7, 0xB8, 0x4, 0xF5, 0x1, 0x54, 0xFF, 0xFF, 0x0, 0x5B, 0xFF, 0xEC, 0x3, 0xFC, 0x6, 0xEC, 0x0, 0x26, 0x0, 0x46, 0x0, 0x0, 0x0, 0x7, 0x8, 0xBD, 0x4, 0x7F, 0x0, 0x8, 0xFF, 0xFF, 0xFF, 0xF6, 0x0, 0x0, 0x7, 0x57, 0x6, 0xEF, 0x0, 0x26, 0x0, 0x82, 0x0, 0x0, 0x0, 0x7, 0x0, 0x71, 0x1, 0xB8, 0x1, 0x45, 0xFF, 0xFF, 0x0, 0x48, 0xFF, 0xEB, 0x6, 0x85, 0x5, 0xAE, 0x0, 0x26, 0x0, 0x87, 0x0, 0x0, 0x0, 0x7, 0x0, 0x71, 0x1, 0x6D, 0x0, 0x4, 0xFF, 0xFF, 0x0, 0x6A, 0xFF, 0xEC, 0x4, 0xF0, 0x7, 0x4D, 0x0, 0x26, 0x0, 0x2C, 0x0, 0x0, 0x0, 0x7, 0x1, 0x78, 0x0, 0xD6, 0x1, 0x4B, 0xFF, 0xFF, 0x0, 0x52, 0xFE, 0x56, 0x4, 0xD, 0x6, 0x2, 0x0, 0x26, 0x0, 0x4C, 0x0, 0x0, 0x0, 0x6, 0x1, 0x78, 0x58, 0x0, 0xFF, 0xFF, 0x0, 0x95, 0x0, 0x0, 0x5, 0x18, 0x7, 0x39, 0x0, 0x26, 0x0, 0x30, 0x0, 0x0, 0x0, 0x7, 0x1, 0x78, 0x0, 0x86, 0x1, 0x37, 0xFF, 0xFF, 0x0, 0x7D, 0x0, 0x0, 0x4, 0x37, 0x7, 0x3F, 0x0, 0x26, 0x0, 0x50, 0x0, 0x0, 0x0, 0x7, 0x1, 0x78, 0x0, 0x84, 0x1, 0x3D, 0xFF, 0xFF, 0x0, 0x66, 0xFE, 0x52, 0x5, 0x1F, 0x5, 0xC4, 0x0, 0x26, 0x0, 0x34, 0x0, 0x0, 0x0, 0x7, 0x1, 0x8C, 0x1, 0x92, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x50, 0xFE, 0x4E, 0x4, 0x3E, 0x4, 0x4E, 0x0, 0x26, 0x0, 0x54, 0x0, 0x0, 0x0, 0x7, 0x1, 0x8C, 0x1, 0x12, 0xFF, 0xFC, 0xFF, 0xFF, 0x0, 0x66, 0xFE, 0x52, 0x5, 0x1F, 0x6, 0xE3, 0x0, 0x26, 0x0, 0x34, 0x0, 0x0, 0x0, 0x27, 0x1, 0x8C, 0x1, 0x92, 0x0, 0x0, 0x0, 0x7, 0x0, 0x71, 0x0, 0xD5, 0x1, 0x39, 0xFF, 0xFF, 0x0, 0x50, 0xFE, 0x4E, 0x4, 0x3E, 0x5, 0xAD, 0x0, 0x26, 0x0, 0x54, 0x0, 0x0, 0x0, 0x27, 0x1, 0x8C, 0x1, 0x12, 0xFF, 0xFC, 0x0, 0x6, 0x0, 0x71, 0x51, 0x3, 0xFF, 0xFF, 0x0, 0x95, 0x0, 0x0, 0x9, 0xC6, 0x5, 0xB0, 0x0, 0x26, 0x0, 0x29, 0x0, 0x0, 0x0, 0x7, 0x0, 0x3F, 0x5, 0x3A, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x95, 0x0, 0x0, 0x8, 0xFA, 0x5, 0xB0, 0x0, 0x26, 0x0, 0x29, 0x0, 0x0, 0x0, 0x7, 0x0, 0x5F, 0x5, 0x3A, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x50, 0xFF, 0xEC, 0x8, 0x45, 0x6, 0x0, 0x0, 0x26, 0x0, 0x49, 0x0, 0x0, 0x0, 0x7, 0x0, 0x5F, 0x4, 0x85, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x6A, 0xFF, 0xEC, 0x4, 0xF0, 0x7, 0x4B, 0x0, 0x26, 0x0, 0x2C, 0x0, 0x0, 0x0, 0x7, 0x0, 0x76, 0x1, 0xBD, 0x1, 0x4B, 0xFF, 0xFF, 0x0, 0x52, 0xFE, 0x56, 0x4, 0xD, 0x6, 0x0, 0x0, 0x26, 0x0, 0x4C, 0x0, 0x0, 0x0, 0x7, 0x0, 0x76, 0x1, 0x3F, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x95, 0x0, 0x0, 0x5, 0x18, 0x7, 0x36, 0x0, 0x26, 0x0, 0x33, 0x0, 0x0, 0x0, 0x7, 0x0, 0x45, 0x1, 0x4B, 0x1, 0x36, 0xFF, 0xFF, 0x0, 0x7A, 0x0, 0x0, 0x3, 0xF9, 0x6, 0x0, 0x0, 0x26, 0x0, 0x53, 0x0, 0x0, 0x0, 0x7, 0x0, 0x45, 0x0, 0xB3, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x12, 0x0, 0x0, 0x5, 0x43, 0x7, 0x21, 0x0, 0x26, 0x0, 0x26, 0x0, 0x0, 0x0, 0x7, 0x1, 0xC0, 0x4, 0x78, 0x1, 0x33, 0xFF, 0xFF, 0x0, 0xD, 0xFF, 0xEC, 0x3, 0xFC, 0x5, 0xEB, 0x0, 0x26, 0x0, 0x46, 0x0, 0x0, 0x0, 0x7, 0x1, 0xC0, 0x4, 0x2, 0xFF, 0xFD, 0xFF, 0xFF, 0x0, 0x12, 0x0, 0x0, 0x5, 0x43, 0x7, 0x50, 0x0, 0x26, 0x0, 0x26, 0x0, 0x0, 0x0, 0x7, 0x1, 0xC2, 0x4, 0xF5, 0x1, 0xA0, 0xFF, 0xFF, 0x0, 0x5B, 0xFF, 0xEC, 0x3, 0xFC, 0x6, 0x1A, 0x0, 0x26, 0x0, 0x46, 0x0, 0x0, 0x0, 0x7, 0x1, 0xC2, 0x4, 0x7F, 0x0, 0x6A, 0xFF, 0xFF, 0x0, 0x49, 0x0, 0x0, 0x4, 0x4D, 0x7, 0x29, 0x0, 0x26, 0x0, 0x2A, 0x0, 0x0, 0x0, 0x7, 0x1, 0xC0, 0x4, 0x3E, 0x1, 0x3B, 0xFF, 0xFF, 0x0, 0x1, 0xFF, 0xEC, 0x4, 0xC, 0x5, 0xEB, 0x0, 0x26, 0x0, 0x4A, 0x0, 0x0, 0x0, 0x7, 0x1, 0xC0, 0x3, 0xF6, 0xFF, 0xFD, 0xFF, 0xFF, 0x0, 0x95, 0x0, 0x0, 0x4, 0x4D, 0x7, 0x58, 0x0, 0x26, 0x0, 0x2A, 0x0, 0x0, 0x0, 0x7, 0x1, 0xC2, 0x4, 0xBB, 0x1, 0xA8, 0xFF, 0xFF, 0x0, 0x54, 0xFF, 0xEC, 0x4, 0xC, 0x6, 0x1A, 0x0, 0x26, 0x0, 0x4A, 0x0, 0x0, 0x0, 0x7, 0x1, 0xC2, 0x4, 0x73, 0x0, 0x6A, 0xFF, 0xFF, 0xFE, 0xF7, 0x0, 0x0, 0x2, 0x1F, 0x7, 0x29, 0x0, 0x26, 0x0, 0x2E, 0x0, 0x0, 0x0, 0x7, 0x1, 0xC0, 0x2, 0xEC, 0x1, 0x3B, 0xFF, 0xFF, 0xFE, 0xE2, 0x0, 0x0, 0x2, 0xA, 0x5, 0xE4, 0x0, 0x26, 0x0, 0x8E, 0x0, 0x0, 0x0, 0x7, 0x1, 0xC0, 0x2, 0xD7, 0xFF, 0xF6, 0xFF, 0xFF, 0xFF, 0xDE, 0x0, 0x0, 0x2, 0x64, 0x7, 0x58, 0x0, 0x26, 0x0, 0x2E, 0x0, 0x0, 0x0, 0x7, 0x1, 0xC2, 0x3, 0x69, 0x1, 0xA8, 0xFF, 0xFF, 0xFF, 0xC9, 0x0, 0x0, 0x2, 0x4F, 0x6, 0x13, 0x0, 0x26, 0x0, 0x8E, 0x0, 0x0, 0x0, 0x7, 0x1, 0xC2, 0x3, 0x54, 0x0, 0x63, 0xFF, 0xFF, 0x0, 0x66, 0xFF, 0xEC, 0x5, 0x1F, 0x7, 0x21, 0x0, 0x26, 0x0, 0x34, 0x0, 0x0, 0x0, 0x7, 0x1, 0xC0, 0x4, 0x8F, 0x1, 0x33, 0xFF, 0xFF, 0x0, 0x16, 0xFF, 0xEC, 0x4, 0x3E, 0x5, 0xEB, 0x0, 0x26, 0x0, 0x54, 0x0, 0x0, 0x0, 0x7, 0x1, 0xC0, 0x4, 0xB, 0xFF, 0xFD, 0xFF, 0xFF, 0x0, 0x66, 0xFF, 0xEC, 0x5, 0x1F, 0x7, 0x50, 0x0, 0x26, 0x0, 0x34, 0x0, 0x0, 0x0, 0x7, 0x1, 0xC2, 0x5, 0xC, 0x1, 0xA0, 0xFF, 0xFF, 0x0, 0x50, 0xFF, 0xEC, 0x4, 0x3E, 0x6, 0x1A, 0x0, 0x26, 0x0, 0x54, 0x0, 0x0, 0x0, 0x7, 0x1, 0xC2, 0x4, 0x88, 0x0, 0x6A, 0xFF, 0xFF, 0x0, 0x32, 0x0, 0x0, 0x4, 0xDE, 0x7, 0x21, 0x0, 0x26, 0x0, 0x37, 0x0, 0x0, 0x0, 0x7, 0x1, 0xC0, 0x4, 0x27, 0x1, 0x33, 0xFF, 0xFF, 0xFF, 0x6F, 0x0, 0x0, 0x2, 0xB5, 0x5, 0xEB, 0x0, 0x26, 0x0, 0x57, 0x0, 0x0, 0x0, 0x7, 0x1, 0xC0, 0x3, 0x64, 0xFF, 0xFD, 0xFF, 0xFF, 0x0, 0x95, 0x0, 0x0, 0x4, 0xDE, 0x7, 0x50, 0x0, 0x26, 0x0, 0x37, 0x0, 0x0, 0x0, 0x7, 0x1, 0xC2, 0x4, 0xA4, 0x1, 0xA0, 0xFF, 0xFF, 0x0, 0x56, 0x0, 0x0, 0x2, 0xDC, 0x6, 0x1A, 0x0, 0x26, 0x0, 0x57, 0x0, 0x0, 0x0, 0x7, 0x1, 0xC2, 0x3, 0xE1, 0x0, 0x6A, 0xFF, 0xFF, 0x0, 0x71, 0xFF, 0xEC, 0x4, 0xBE, 0x7, 0x21, 0x0, 0x26, 0x0, 0x3A, 0x0, 0x0, 0x0, 0x7, 0x1, 0xC0, 0x4, 0x66, 0x1, 0x33, 0xFF, 0xFF, 0x0, 0xF, 0xFF, 0xEC, 0x3, 0xF7, 0x5, 0xEB, 0x0, 0x26, 0x0, 0x5A, 0x0, 0x0, 0x0, 0x7, 0x1, 0xC0, 0x4, 0x4, 0xFF, 0xFD, 0xFF, 0xFF, 0x0, 0x7E, 0xFF, 0xEC, 0x4, 0xBE, 0x7, 0x50, 0x0, 0x26, 0x0, 0x3A, 0x0, 0x0, 0x0, 0x7, 0x1, 0xC2, 0x4, 0xE3, 0x1, 0xA0, 0xFF, 0xFF, 0x0, 0x77, 0xFF, 0xEC, 0x3, 0xF7, 0x6, 0x1A, 0x0, 0x26, 0x0, 0x5A, 0x0, 0x0, 0x0, 0x7, 0x1, 0xC2, 0x4, 0x81, 0x0, 0x6A, 0xFF, 0xFF, 0x0, 0x95, 0x0, 0x0, 0x5, 0x19, 0x7, 0x40, 0x0, 0x26, 0x0, 0x2D, 0x0, 0x0, 0x0, 0x7, 0x1, 0x78, 0x0, 0xFA, 0x1, 0x3E, 0xFF, 0xFF, 0x0, 0x7A, 0x0, 0x0, 0x3, 0xF9, 0x7, 0x60, 0x0, 0x26, 0x0, 0x4D, 0x0, 0x0, 0x0, 0x7, 0x1, 0x78, 0x0, 0x2F, 0x1, 0x5E, 0xFF, 0xFF, 0x0, 0x12, 0x0, 0x0, 0x5, 0x43, 0x7, 0x13, 0x0, 0x26, 0x0, 0x26, 0x0, 0x0, 0x0, 0x7, 0x1, 0x8A, 0x1, 0xA8, 0x1, 0x3E, 0xFF, 0xFF, 0x0, 0x5B, 0xFF, 0xEC, 0x3, 0xFC, 0x5, 0xDD, 0x0, 0x26, 0x0, 0x46, 0x0, 0x0, 0x0, 0x7, 0x1, 0x8A, 0x1, 0x32, 0x0, 0x8, 0xFF, 0xFF, 0x0, 0x95, 0xFE, 0x4A, 0x4, 0x4D, 0x5, 0xB0, 0x0, 0x26, 0x0, 0x2A, 0x0, 0x0, 0x0, 0x7, 0x0, 0x7A, 0x1, 0x93, 0x0, 0xA, 0xFF, 0xFF, 0x0, 0x54, 0xFE, 0x40, 0x4, 0xC, 0x4, 0x4E, 0x0, 0x26, 0x0, 0x4A, 0x0, 0x0, 0x0, 0x7, 0x0, 0x7A, 0x1, 0x58, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x66, 0xFF, 0xEC, 0x5, 0x1F, 0x7, 0xF3, 0x0, 0x26, 0x0, 0x34, 0x0, 0x0, 0x0, 0x7, 0x7, 0xB4, 0x5, 0xC, 0x1, 0x51, 0xFF, 0xFF, 0x0, 0x50, 0xFF, 0xEC, 0x4, 0x3E, 0x6, 0xDA, 0x0, 0x26, 0x0, 0x54, 0x0, 0x0, 0x0, 0x7, 0x8, 0xBF, 0x4, 0x88, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x66, 0xFF, 0xEC, 0x5, 0x1F, 0x7, 0xF6, 0x0, 0x26, 0x0, 0x34, 0x0, 0x0, 0x0, 0x7, 0x7, 0xC3, 0x5, 0xC, 0x1, 0x54, 0xFF, 0xFF, 0x0, 0x50, 0xFF, 0xEC, 0x4, 0x3E, 0x7, 0x2, 0x0, 0x26, 0x0, 0x54, 0x0, 0x0, 0x0, 0x7, 0x8, 0xC2, 0x4, 0x88, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x66, 0xFF, 0xEC, 0x5, 0x1F, 0x7, 0x13, 0x0, 0x26, 0x0, 0x34, 0x0, 0x0, 0x0, 0x7, 0x1, 0x8A, 0x1, 0xBF, 0x1, 0x3E, 0xFF, 0xFF, 0x0, 0x50, 0xFF, 0xEC, 0x4, 0x3E, 0x5, 0xDD, 0x0, 0x26, 0x0, 0x54, 0x0, 0x0, 0x0, 0x7, 0x1, 0x8A, 0x1, 0x3B, 0x0, 0x8, 0xFF, 0xFF, 0x0, 0x66, 0xFF, 0xEC, 0x5, 0x1F, 0x7, 0xF2, 0x0, 0x26, 0x0, 0x34, 0x0, 0x0, 0x0, 0x7, 0x7, 0xB8, 0x5, 0xC, 0x1, 0x54, 0xFF, 0xFF, 0x0, 0x50, 0xFF, 0xEC, 0x4, 0x3E, 0x6, 0xEC, 0x0, 0x26, 0x0, 0x54, 0x0, 0x0, 0x0, 0x7, 0x8, 0xBD, 0x4, 0x88, 0x0, 0x8, 0xFF, 0xFF, 0x0, 0x8, 0x0, 0x0, 0x4, 0xD6, 0x6, 0xE3, 0x0, 0x26, 0x0, 0x3E, 0x0, 0x0, 0x0, 0x7, 0x0, 0x71, 0x0, 0x84, 0x1, 0x39, 0xFF, 0xFF, 0x0, 0xC, 0xFE, 0x4B, 0x3, 0xD7, 0x5, 0xAD, 0x0, 0x26, 0x0, 0x5E, 0x0, 0x0, 0x0, 0x6, 0x0, 0x71, 0x13, 0x3, 0xFF, 0xFF, 0x0, 0x4F, 0xFF, 0xEC, 0x4, 0x3D, 0x4, 0x4E, 0x0, 0x6, 0x2, 0xAE, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x8F, 0x0, 0x0, 0x4, 0x3B, 0x4, 0x3A, 0x0, 0x6, 0x2, 0x81, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x86, 0x0, 0x0, 0x4, 0x11, 0x4, 0x3A, 0x0, 0x6, 0x2, 0x8A, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x2D, 0xFF, 0xEC, 0x3, 0xE5, 0x5, 0xB0, 0x0, 0x6, 0x0, 0x2F, 0x0, 0x0, 0xFF, 0xFF, 0xFF, 0xF, 0x0, 0x0, 0x5, 0x2, 0x6, 0x40, 0x0, 0x26, 0x2, 0x51, 0x64, 0x0, 0x0, 0x7, 0x2, 0x2D, 0xFE, 0x48, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE1, 0x0, 0x0, 0x4, 0x9E, 0x7, 0xF, 0x0, 0x26, 0x2, 0x51, 0x0, 0x0, 0x0, 0x7, 0x0, 0x6B, 0x0, 0x78, 0x1, 0x42, 0xFF, 0xFF, 0x0, 0x50, 0xFF, 0xEC, 0x3, 0xF5, 0x4, 0x4E, 0x0, 0x6, 0x0, 0x48, 0x0, 0x0, 0xFF, 0xFF, 0xFF, 0xB4, 0xFE, 0x4B, 0x1, 0x86, 0x5, 0xD5, 0x0, 0x6, 0x0, 0x4F, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x5F, 0xFF, 0xEC, 0x5, 0x18, 0x5, 0xC4, 0x0, 0x6, 0x2, 0xAD, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x95, 0x0, 0x0, 0x4, 0x7F, 0x5, 0xB0, 0x0, 0x6, 0x0, 0x85, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x83, 0xFE, 0x60, 0x4, 0x37, 0x6, 0x0, 0x0, 0x6, 0x0, 0x8B, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x66, 0xFF, 0xEC, 0x4, 0xEC, 0x5, 0xC4, 0x0, 0x6, 0x0, 0x28, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x95, 0x0, 0x0, 0x6, 0x6B, 0x5, 0xB0, 0x0, 0x6, 0x0, 0x32, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x60, 0xFF, 0x4, 0x5, 0x1B, 0x5, 0xC4, 0x0, 0x6, 0x0, 0x36, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x50, 0xFE, 0x60, 0x4, 0x3, 0x4, 0x4E, 0x0, 0x6, 0x0, 0x56, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x31, 0x0, 0x0, 0x6, 0xE5, 0x5, 0xB0, 0x0, 0x6, 0x0, 0x3C, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x22, 0x0, 0x0, 0x5, 0xCD, 0x4, 0x3A, 0x0, 0x6, 0x0, 0x5C, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x95, 0x0, 0x0, 0x4, 0xA3, 0x7, 0x1F, 0x0, 0x26, 0x0, 0x27, 0x0, 0x0, 0x0, 0x7, 0x1, 0x8A, 0x1, 0x59, 0x1, 0x4A, 0xFF, 0xFF, 0x0, 0x7D, 0xFF, 0xEC, 0x4, 0x32, 0x7, 0x1A, 0x0, 0x26, 0x0, 0x47, 0x0, 0x0, 0x0, 0x7, 0x1, 0x8A, 0x1, 0x88, 0x1, 0x45, 0xFF, 0xFF, 0x0, 0x95, 0xFE, 0x9D, 0x4, 0xA3, 0x5, 0xB0, 0x0, 0x26, 0x0, 0x27, 0x0, 0x0, 0x0, 0x7, 0x1, 0xD4, 0x4, 0xBB, 0x0, 0xA, 0xFF, 0xFF, 0x0, 0x7D, 0xFE, 0x89, 0x4, 0x32, 0x6, 0x0, 0x0, 0x26, 0x0, 0x47, 0x0, 0x0, 0x0, 0x7, 0x1, 0xD4, 0x4, 0xCC, 0xFF, 0xF6, 0xFF, 0xFF, 0x0, 0x95, 0xFE, 0xCB, 0x4, 0xA3, 0x5, 0xB0, 0x0, 0x26, 0x0, 0x27, 0x0, 0x0, 0x0, 0x7, 0x1, 0xE2, 0x4, 0xAB, 0x0, 0xA, 0xFF, 0xFF, 0x0, 0x7D, 0xFE, 0xB7, 0x4, 0x32, 0x6, 0x0, 0x0, 0x26, 0x0, 0x47, 0x0, 0x0, 0x0, 0x7, 0x1, 0xE2, 0x4, 0xBC, 0xFF, 0xF6, 0xFF, 0xFF, 0x0, 0x66, 0xFE, 0x39, 0x4, 0xEC, 0x7, 0x4B, 0x0, 0x26, 0x0, 0x28, 0x0, 0x0, 0x0, 0x27, 0x0, 0x7A, 0x1, 0xC9, 0xFF, 0xF9, 0x0, 0x7, 0x0, 0x76, 0x1, 0xC0, 0x1, 0x4B, 0xFF, 0xFF, 0x0, 0x50, 0xFE, 0x39, 0x3, 0xF5, 0x6, 0x0, 0x0, 0x26, 0x0, 0x48, 0x0, 0x0, 0x0, 0x27, 0x0, 0x7A, 0x1, 0x3D, 0xFF, 0xF9, 0x0, 0x7, 0x0, 0x76, 0x1, 0x29, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x95, 0x0, 0x0, 0x4, 0xD2, 0x7, 0x1B, 0x0, 0x26, 0x0, 0x29, 0x0, 0x0, 0x0, 0x7, 0x1, 0x8A, 0x1, 0x36, 0x1, 0x46, 0xFF, 0xFF, 0x0, 0x50, 0xFF, 0xEC, 0x4, 0x4, 0x7, 0x1A, 0x0, 0x26, 0x0, 0x49, 0x0, 0x0, 0x0, 0x7, 0x1, 0x8A, 0x1, 0x8, 0x1, 0x45, 0xFF, 0xFF, 0x0, 0x95, 0xFE, 0x9D, 0x4, 0xD2, 0x5, 0xB0, 0x0, 0x26, 0x0, 0x29, 0x0, 0x0, 0x0, 0x7, 0x1, 0xD4, 0x4, 0x95, 0x0, 0xA, 0xFF, 0xFF, 0x0, 0x50, 0xFE, 0x93, 0x4, 0x4, 0x6, 0x0, 0x0, 0x26, 0x0, 0x49, 0x0, 0x0, 0x0, 0x7, 0x1, 0xD4, 0x4, 0xB5, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x95, 0xFE, 0xCB, 0x4, 0xD2, 0x5, 0xB0, 0x0, 0x26, 0x0, 0x29, 0x0, 0x0, 0x0, 0x7, 0x1, 0xE2, 0x4, 0x85, 0x0, 0xA, 0xFF, 0xFF, 0x0, 0x50, 0xFE, 0xC1, 0x4, 0x4, 0x6, 0x0, 0x0, 0x26, 0x0, 0x49, 0x0, 0x0, 0x0, 0x7, 0x1, 0xE2, 0x4, 0xA5, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x95, 0xFE, 0x1, 0x4, 0xD2, 0x5, 0xB0, 0x0, 0x26, 0x0, 0x29, 0x0, 0x0, 0x0, 0x7, 0x7, 0x25, 0x1, 0x48, 0xFE, 0x9B, 0xFF, 0xFF, 0x0, 0x50, 0xFD, 0xF7, 0x4, 0x4, 0x6, 0x0, 0x0, 0x26, 0x0, 0x49, 0x0, 0x0, 0x0, 0x7, 0x7, 0x25, 0x1, 0x68, 0xFE, 0x91, 0xFF, 0xFF, 0x0, 0x95, 0xFE, 0x80, 0x4, 0xD2, 0x5, 0xB0, 0x0, 0x26, 0x0, 0x29, 0x0, 0x0, 0x0, 0x7, 0x1, 0xDE, 0x4, 0x85, 0x0, 0xA, 0xFF, 0xFF, 0x0, 0x50, 0xFE, 0x76, 0x4, 0x4, 0x6, 0x0, 0x0, 0x26, 0x0, 0x49, 0x0, 0x0, 0x0, 0x7, 0x1, 0xDE, 0x4, 0xA5, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x95, 0x0, 0x0, 0x4, 0x4D, 0x7, 0xBE, 0x0, 0x26, 0x0, 0x2A, 0x0, 0x0, 0x0, 0x7, 0x7, 0xBA, 0x4, 0xBB, 0x1, 0x5F, 0xFF, 0xFF, 0x0, 0x54, 0xFF, 0xEC, 0x4, 0xC, 0x7, 0x30, 0x0, 0x26, 0x0, 0x4A, 0x0, 0x0, 0x0, 0x7, 0x8, 0xBE, 0x4, 0x73, 0x0, 0x3, 0xFF, 0xFF, 0x0, 0x95, 0x0, 0x0, 0x4, 0x4D, 0x7, 0xBE, 0x0, 0x26, 0x0, 0x2A, 0x0, 0x0, 0x0, 0x7, 0x7, 0xBB, 0x4, 0xBB, 0x1, 0x5F, 0xFF, 0xFF, 0x0, 0x54, 0xFF, 0xEC, 0x4, 0xC, 0x7, 0x30, 0x0, 0x26, 0x0, 0x4A, 0x0, 0x0, 0x0, 0x7, 0x8, 0xC1, 0x4, 0x73, 0x0, 0x3, 0xFF, 0xFF, 0x0, 0x95, 0xFE, 0x80, 0x4, 0x4D, 0x5, 0xB0, 0x0, 0x26, 0x0, 0x2A, 0x0, 0x0, 0x0, 0x7, 0x1, 0xDE, 0x4, 0xBC, 0x0, 0xA, 0xFF, 0xFF, 0x0, 0x54, 0xFE, 0x76, 0x4, 0xC, 0x4, 0x4E, 0x0, 0x26, 0x0, 0x4A, 0x0, 0x0, 0x0, 0x7, 0x1, 0xDE, 0x4, 0x81, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x95, 0xFE, 0x83, 0x4, 0x4D, 0x5, 0xB0, 0x0, 0x26, 0x0, 0x2A, 0x0, 0x0, 0x0, 0x7, 0x1, 0xE1, 0x4, 0xBC, 0x0, 0xA, 0xFF, 0xFF, 0x0, 0x54, 0xFE, 0x79, 0x4, 0xC, 0x4, 0x4E, 0x0, 0x26, 0x0, 0x4A, 0x0, 0x0, 0x0, 0x7, 0x1, 0xE1, 0x4, 0x81, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x95, 0xFE, 0x4A, 0x4, 0x4D, 0x7, 0x25, 0x0, 0x26, 0x0, 0x2A, 0x0, 0x0, 0x0, 0x27, 0x0, 0x7A, 0x1, 0x93, 0x0, 0xA, 0x0, 0x7, 0x1, 0x89, 0x0, 0xBB, 0x1, 0x3E, 0xFF, 0xFF, 0x0, 0x54, 0xFE, 0x40, 0x4, 0xC, 0x5, 0xE7, 0x0, 0x26, 0x0, 0x4A, 0x0, 0x0, 0x0, 0x27, 0x0, 0x7A, 0x1, 0x58, 0x0, 0x0, 0x0, 0x6, 0x1, 0x89, 0x73, 0x0, 0xFF, 0xFF, 0x0, 0x95, 0x0, 0x0, 0x4, 0x31, 0x7, 0x1F, 0x0, 0x26, 0x0, 0x2B, 0x0, 0x0, 0x0, 0x7, 0x1, 0x8A, 0x1, 0x6E, 0x1, 0x4A, 0xFF, 0xFF, 0x0, 0x2D, 0x0, 0x0, 0x2, 0xD7, 0x7, 0x91, 0x0, 0x26, 0x0, 0x4B, 0x0, 0x0, 0x0, 0x7, 0x1, 0x8A, 0x0, 0xDB, 0x1, 0xBC, 0xFF, 0xFF, 0x0, 0x6A, 0xFF, 0xEC, 0x4, 0xF0, 0x6, 0xF8, 0x0, 0x26, 0x0, 0x2C, 0x0, 0x0, 0x0, 0x7, 0x0, 0x71, 0x0, 0xBA, 0x1, 0x4E, 0xFF, 0xFF, 0x0, 0x52, 0xFE, 0x56, 0x4, 0xD, 0x5, 0xAD, 0x0, 0x26, 0x0, 0x4C, 0x0, 0x0, 0x0, 0x6, 0x0, 0x71, 0x3C, 0x3, 0xFF, 0xFF, 0x0, 0x95, 0x0, 0x0, 0x5, 0x19, 0x7, 0x1B, 0x0, 0x26, 0x0, 0x2D, 0x0, 0x0, 0x0, 0x7, 0x1, 0x8A, 0x1, 0xC8, 0x1, 0x46, 0xFF, 0xFF, 0x0, 0x7A, 0x0, 0x0, 0x3, 0xF9, 0x7, 0x3B, 0x0, 0x26, 0x0, 0x4D, 0x0, 0x0, 0x0, 0x7, 0x1, 0x8A, 0x0, 0xFD, 0x1, 0x66, 0xFF, 0xFF, 0x0, 0x95, 0xFE, 0x9D, 0x5, 0x19, 0x5, 0xB0, 0x0, 0x26, 0x0, 0x2D, 0x0, 0x0, 0x0, 0x7, 0x1, 0xD4, 0x5, 0x27, 0x0, 0xA, 0xFF, 0xFF, 0x0, 0x7A, 0xFE, 0x9D, 0x3, 0xF9, 0x6, 0x0, 0x0, 0x26, 0x0, 0x4D, 0x0, 0x0, 0x0, 0x7, 0x1, 0xD4, 0x4, 0xA3, 0x0, 0xA, 0xFF, 0xFF, 0x0, 0x95, 0x0, 0x0, 0x5, 0x19, 0x7, 0xB, 0x0, 0x26, 0x0, 0x2D, 0x0, 0x0, 0x0, 0x7, 0x0, 0x6B, 0x1, 0xE, 0x1, 0x3E, 0xFF, 0xFF, 0x0, 0x7A, 0x0, 0x0, 0x3, 0xF9, 0x7, 0x2B, 0x0, 0x26, 0x0, 0x4D, 0x0, 0x0, 0x0, 0x7, 0x0, 0x6B, 0x0, 0x43, 0x1, 0x5E, 0xFF, 0xFF, 0x0, 0x95, 0xFE, 0x95, 0x5, 0x19, 0x5, 0xB0, 0x0, 0x26, 0x0, 0x2D, 0x0, 0x0, 0x0, 0x7, 0x1, 0xDF, 0x5, 0x17, 0x0, 0xA, 0xFF, 0xFF, 0x0, 0x7A, 0xFE, 0x95, 0x3, 0xF9, 0x6, 0x0, 0x0, 0x26, 0x0, 0x4D, 0x0, 0x0, 0x0, 0x7, 0x1, 0xDF, 0x4, 0x93, 0x0, 0xA, 0xFF, 0xFF, 0x0, 0x95, 0x0, 0x0, 0x5, 0x18, 0x7, 0x37, 0x0, 0x26, 0x0, 0x30, 0x0, 0x0, 0x0, 0x7, 0x0, 0x76, 0x1, 0x6D, 0x1, 0x37, 0xFF, 0xFF, 0x0, 0x7D, 0x0, 0x0, 0x4, 0x37, 0x7, 0x3D, 0x0, 0x26, 0x0, 0x50, 0x0, 0x0, 0x0, 0x7, 0x0, 0x76, 0x1, 0x6B, 0x1, 0x3D, 0xFF, 0xFF, 0x0, 0x95, 0xFE, 0xDF, 0x5, 0x18, 0x5, 0xB0, 0x0, 0x26, 0x0, 0x30, 0x0, 0x0, 0x0, 0x7, 0x1, 0xD4, 0x4, 0xEA, 0x0, 0x4C, 0xFF, 0xFF, 0x0, 0x7D, 0xFE, 0xC9, 0x4, 0x37, 0x6, 0x0, 0x0, 0x26, 0x0, 0x50, 0x0, 0x0, 0x0, 0x7, 0x1, 0xD4, 0x4, 0x7A, 0x0, 0x36, 0xFF, 0xFF, 0x0, 0x95, 0xFF, 0xD, 0x5, 0x18, 0x5, 0xB0, 0x0, 0x26, 0x0, 0x30, 0x0, 0x0, 0x0, 0x7, 0x1, 0xE2, 0x4, 0xDA, 0x0, 0x4C, 0xFF, 0xFF, 0x0, 0x7D, 0xFE, 0xF7, 0x4, 0x37, 0x6, 0x0, 0x0, 0x26, 0x0, 0x50, 0x0, 0x0, 0x0, 0x7, 0x1, 0xE2, 0x4, 0x6A, 0x0, 0x36, 0xFF, 0xFF, 0x0, 0x95, 0xFE, 0x9D, 0x4, 0x27, 0x5, 0xB0, 0x0, 0x26, 0x0, 0x31, 0x0, 0x0, 0x0, 0x7, 0x1, 0xD4, 0x4, 0xBB, 0x0, 0xA, 0xFF, 0xFF, 0x0, 0x79, 0xFE, 0x9D, 0x1, 0x8D, 0x6, 0x0, 0x0, 0x26, 0x0, 0x51, 0x0, 0x0, 0x0, 0x7, 0x1, 0xD4, 0x3, 0x5E, 0x0, 0xA, 0xFF, 0xFF, 0xFF, 0xC1, 0xFE, 0x9D, 0x4, 0x27, 0x6, 0xE3, 0x0, 0x26, 0x0, 0x31, 0x0, 0x0, 0x0, 0x27, 0x1, 0xD4, 0x4, 0xBB, 0x0, 0xA, 0x0, 0x7, 0x0, 0x71, 0xFF, 0x25, 0x1, 0x39, 0xFF, 0xFF, 0xFF, 0xB3, 0xFE, 0x9D, 0x2, 0x61, 0x7, 0x3E, 0x0, 0x26, 0x0, 0x51, 0x0, 0x0, 0x0, 0x27, 0x1, 0xD4, 0x3, 0x5E, 0x0, 0xA, 0x0, 0x7, 0x0, 0x71, 0xFF, 0x17, 0x1, 0x94, 0xFF, 0xFF, 0x0, 0x95, 0xFE, 0xCB, 0x4, 0x27, 0x5, 0xB0, 0x0, 0x26, 0x0, 0x31, 0x0, 0x0, 0x0, 0x7, 0x1, 0xE2, 0x4, 0xAB, 0x0, 0xA, 0xFF, 0xFF, 0xFF, 0xB0, 0xFE, 0xCB, 0x2, 0x5E, 0x6, 0x0, 0x0, 0x26, 0x0, 0x51, 0x0, 0x0, 0x0, 0x7, 0x1, 0xE2, 0x3, 0x4E, 0x0, 0xA, 0xFF, 0xFF, 0x0, 0x95, 0xFE, 0x80, 0x4, 0x27, 0x5, 0xB0, 0x0, 0x26, 0x0, 0x31, 0x0, 0x0, 0x0, 0x7, 0x1, 0xDE, 0x4, 0xAB, 0x0, 0xA, 0xFF, 0xFF, 0xFF, 0xAF, 0xFE, 0x80, 0x2, 0x5E, 0x6, 0x0, 0x0, 0x26, 0x0, 0x51, 0x0, 0x0, 0x0, 0x7, 0x1, 0xDE, 0x3, 0x4E, 0x0, 0xA, 0xFF, 0xFF, 0x0, 0x95, 0x0, 0x0, 0x6, 0x6B, 0x7, 0x13, 0x0, 0x26, 0x0, 0x32, 0x0, 0x0, 0x0, 0x7, 0x1, 0x8A, 0x2, 0x76, 0x1, 0x3E, 0xFF, 0xFF, 0x0, 0x7D, 0x0, 0x0, 0x6, 0x7A, 0x5, 0xDD, 0x0, 0x26, 0x0, 0x52, 0x0, 0x0, 0x0, 0x7, 0x1, 0x8A, 0x2, 0x87, 0x0, 0x8, 0xFF, 0xFF, 0x0, 0x95, 0xFE, 0x9D, 0x6, 0x6B, 0x5, 0xB0, 0x0, 0x26, 0x0, 0x32, 0x0, 0x0, 0x0, 0x7, 0x1, 0xD4, 0x5, 0xD7, 0x0, 0xA, 0xFF, 0xFF, 0x0, 0x7D, 0xFE, 0x9D, 0x6, 0x7A, 0x4, 0x4E, 0x0, 0x26, 0x0, 0x52, 0x0, 0x0, 0x0, 0x7, 0x1, 0xD4, 0x5, 0xDB, 0x0, 0xA, 0xFF, 0xFF, 0x0, 0x95, 0x0, 0x0, 0x5, 0x18, 0x7, 0x13, 0x0, 0x26, 0x0, 0x33, 0x0, 0x0, 0x0, 0x7, 0x1, 0x8A, 0x1, 0xD1, 0x1, 0x3E, 0xFF, 0xFF, 0x0, 0x7A, 0x0, 0x0, 0x3, 0xF9, 0x5, 0xDD, 0x0, 0x26, 0x0, 0x53, 0x0, 0x0, 0x0, 0x7, 0x1, 0x8A, 0x1, 0x39, 0x0, 0x8, 0xFF, 0xFF, 0x0, 0x95, 0xFE, 0x9A, 0x5, 0x18, 0x5, 0xB0, 0x0, 0x26, 0x0, 0x33, 0x0, 0x0, 0x0, 0x7, 0x1, 0xD4, 0x5, 0x29, 0x0, 0x7, 0xFF, 0xFF, 0x0, 0x7A, 0xFE, 0x9D, 0x3, 0xF9, 0x4, 0x4E, 0x0, 0x26, 0x0, 0x53, 0x0, 0x0, 0x0, 0x7, 0x1, 0xD4, 0x4, 0x8F, 0x0, 0xA, 0xFF, 0xFF, 0x0, 0x95, 0xFE, 0xC8, 0x5, 0x18, 0x5, 0xB0, 0x0, 0x26, 0x0, 0x33, 0x0, 0x0, 0x0, 0x7, 0x1, 0xE2, 0x5, 0x19, 0x0, 0x7, 0xFF, 0xFF, 0x0, 0x7A, 0xFE, 0xCB, 0x3, 0xF9, 0x4, 0x4E, 0x0, 0x26, 0x0, 0x53, 0x0, 0x0, 0x0, 0x7, 0x1, 0xE2, 0x4, 0x7F, 0x0, 0xA, 0xFF, 0xFF, 0x0, 0x95, 0xFE, 0x7D, 0x5, 0x18, 0x5, 0xB0, 0x0, 0x26, 0x0, 0x33, 0x0, 0x0, 0x0, 0x7, 0x1, 0xDE, 0x5, 0x19, 0x0, 0x7, 0xFF, 0xFF, 0x0, 0x7A, 0xFE, 0x80, 0x3, 0xF9, 0x4, 0x4E, 0x0, 0x26, 0x0, 0x53, 0x0, 0x0, 0x0, 0x7, 0x1, 0xDE, 0x4, 0x7F, 0x0, 0xA, 0xFF, 0xFF, 0x0, 0x66, 0xFF, 0xEC, 0x5, 0x1F, 0x7, 0xDF, 0x0, 0x26, 0x0, 0x34, 0x0, 0x0, 0x0, 0x7, 0x7, 0xB9, 0x5, 0x6, 0x1, 0x53, 0xFF, 0xFF, 0x0, 0x50, 0xFF, 0xEC, 0x4, 0x3E, 0x7, 0x55, 0x0, 0x26, 0x0, 0x54, 0x0, 0x0, 0x0, 0x7, 0x8, 0xC4, 0x4, 0x82, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x66, 0xFF, 0xEC, 0x5, 0x1F, 0x8, 0xE, 0x0, 0x26, 0x0, 0x34, 0x0, 0x0, 0x0, 0x7, 0x7, 0xC7, 0x5, 0xC, 0x1, 0x4D, 0xFF, 0xFF, 0x0, 0x50, 0xFF, 0xEC, 0x4, 0x3E, 0x7, 0x22, 0x0, 0x26, 0x0, 0x54, 0x0, 0x0, 0x0, 0x7, 0x8, 0xBA, 0x4, 0x88, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x66, 0xFF, 0xEC, 0x5, 0x1F, 0x7, 0xB6, 0x0, 0x26, 0x0, 0x34, 0x0, 0x0, 0x0, 0x7, 0x7, 0xBA, 0x5, 0xC, 0x1, 0x57, 0xFF, 0xFF, 0x0, 0x50, 0xFF, 0xEC, 0x4, 0x3E, 0x7, 0x30, 0x0, 0x26, 0x0, 0x54, 0x0, 0x0, 0x0, 0x7, 0x8, 0xBE, 0x4, 0x88, 0x0, 0x3, 0xFF, 0xFF, 0x0, 0x66, 0xFF, 0xEC, 0x5, 0x1F, 0x7, 0xB6, 0x0, 0x26, 0x0, 0x34, 0x0, 0x0, 0x0, 0x7, 0x7, 0xBB, 0x5, 0xC, 0x1, 0x57, 0xFF, 0xFF, 0x0, 0x50, 0xFF, 0xEC, 0x4, 0x3E, 0x7, 0x30, 0x0, 0x26, 0x0, 0x54, 0x0, 0x0, 0x0, 0x7, 0x8, 0xC1, 0x4, 0x88, 0x0, 0x3, 0xFF, 0xFF, 0x0, 0x95, 0x0, 0x0, 0x4, 0xD4, 0x7, 0x42, 0x0, 0x26, 0x0, 0x35, 0x0, 0x0, 0x0, 0x7, 0x0, 0x76, 0x1, 0x72, 0x1, 0x42, 0xFF, 0xFF, 0x0, 0x7D, 0xFE, 0x60, 0x4, 0x31, 0x5, 0xF6, 0x0, 0x26, 0x0, 0x55, 0x0, 0x0, 0x0, 0x7, 0x0, 0x76, 0x1, 0x9C, 0xFF, 0xF6, 0xFF, 0xFF, 0x0, 0x95, 0x0, 0x0, 0x4, 0xD4, 0x7, 0x1F, 0x0, 0x26, 0x0, 0x35, 0x0, 0x0, 0x0, 0x7, 0x1, 0x8A, 0x1, 0x59, 0x1, 0x4A, 0xFF, 0xFF, 0x0, 0x7D, 0xFE, 0x60, 0x4, 0x31, 0x5, 0xD3, 0x0, 0x26, 0x0, 0x55, 0x0, 0x0, 0x0, 0x7, 0x1, 0x8A, 0x1, 0x83, 0xFF, 0xFE, 0xFF, 0xFF, 0x0, 0x95, 0x0, 0x0, 0x4, 0xDE, 0x7, 0x13, 0x0, 0x26, 0x0, 0x37, 0x0, 0x0, 0x0, 0x7, 0x1, 0x8A, 0x1, 0x57, 0x1, 0x3E, 0xFF, 0xFF, 0x0, 0x7D, 0x0, 0x0, 0x2, 0xB5, 0x5, 0xDD, 0x0, 0x26, 0x0, 0x57, 0x0, 0x0, 0x0, 0x7, 0x1, 0x8A, 0x0, 0x94, 0x0, 0x8, 0xFF, 0xFF, 0x0, 0x95, 0xFE, 0x9D, 0x4, 0xDE, 0x5, 0xB0, 0x0, 0x26, 0x0, 0x37, 0x0, 0x0, 0x0, 0x7, 0x1, 0xD4, 0x4, 0xBC, 0x0, 0xA, 0xFF, 0xFF, 0x0, 0x73, 0xFE, 0x9D, 0x2, 0xB5, 0x4, 0x4E, 0x0, 0x26, 0x0, 0x57, 0x0, 0x0, 0x0, 0x7, 0x1, 0xD4, 0x3, 0x58, 0x0, 0xA, 0xFF, 0xFF, 0x0, 0x95, 0xFE, 0x9D, 0x4, 0xDE, 0x6, 0xE3, 0x0, 0x26, 0x0, 0x37, 0x0, 0x0, 0x0, 0x27, 0x1, 0xD4, 0x4, 0xBC, 0x0, 0xA, 0x0, 0x7, 0x0, 0x71, 0x0, 0x6D, 0x1, 0x39, 0xFF, 0xFF, 0x0, 0x46, 0xFE, 0x9D, 0x2, 0xF4, 0x5, 0xAD, 0x0, 0x26, 0x0, 0x57, 0x0, 0x0, 0x0, 0x27, 0x1, 0xD4, 0x3, 0x58, 0x0, 0xA, 0x0, 0x6, 0x0, 0x71, 0xAA, 0x3, 0xFF, 0xFF, 0x0, 0x95, 0xFE, 0xCB, 0x4, 0xDE, 0x5, 0xB0, 0x0, 0x26, 0x0, 0x37, 0x0, 0x0, 0x0, 0x7, 0x1, 0xE2, 0x4, 0xAC, 0x0, 0xA, 0xFF, 0xFF, 0xFF, 0xAA, 0xFE, 0xCB, 0x2, 0xB5, 0x4, 0x4E, 0x0, 0x26, 0x0, 0x57, 0x0, 0x0, 0x0, 0x7, 0x1, 0xE2, 0x3, 0x48, 0x0, 0xA, 0xFF, 0xFF, 0x0, 0x4A, 0xFF, 0xEC, 0x4, 0x8A, 0x7, 0x13, 0x0, 0x26, 0x0, 0x38, 0x0, 0x0, 0x0, 0x7, 0x1, 0x8A, 0x1, 0x75, 0x1, 0x3E, 0xFF, 0xFF, 0x0, 0x4C, 0xFF, 0xEC, 0x3, 0xCA, 0x5, 0xDD, 0x0, 0x26, 0x0, 0x58, 0x0, 0x0, 0x0, 0x7, 0x1, 0x8A, 0x1, 0x20, 0x0, 0x8, 0xFF, 0xFF, 0x0, 0x4A, 0xFE, 0x93, 0x4, 0x8A, 0x5, 0xC4, 0x0, 0x26, 0x0, 0x38, 0x0, 0x0, 0x0, 0x7, 0x1, 0xD4, 0x4, 0xD7, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x4C, 0xFE, 0x89, 0x3, 0xCA, 0x4, 0x4E, 0x0, 0x26, 0x0, 0x58, 0x0, 0x0, 0x0, 0x7, 0x1, 0xD4, 0x4, 0x7D, 0xFF, 0xF6, 0xFF, 0xFF, 0x0, 0x4A, 0xFF, 0xEC, 0x4, 0x8A, 0x7, 0xAE, 0x0, 0x26, 0x0, 0x38, 0x0, 0x0, 0x0, 0x7, 0x7, 0xBD, 0x4, 0xB7, 0x1, 0x35, 0xFF, 0xFF, 0x0, 0x4C, 0xFF, 0xEC, 0x3, 0xCA, 0x7, 0x4C, 0x0, 0x26, 0x0, 0x58, 0x0, 0x0, 0x0, 0x7, 0x8, 0xB9, 0x4, 0x62, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x4A, 0xFF, 0xEC, 0x4, 0x8A, 0x8, 0x20, 0x0, 0x26, 0x0, 0x38, 0x0, 0x0, 0x0, 0x7, 0x7, 0xBE, 0x4, 0xC2, 0x1, 0x5F, 0xFF, 0xFF, 0x0, 0x4C, 0xFF, 0xEC, 0x3, 0xCA, 0x7, 0x3B, 0x0, 0x26, 0x0, 0x58, 0x0, 0x0, 0x0, 0x7, 0x8, 0xBC, 0x4, 0x6D, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x4A, 0xFE, 0x93, 0x4, 0x8A, 0x7, 0x13, 0x0, 0x26, 0x0, 0x38, 0x0, 0x0, 0x0, 0x27, 0x1, 0xD4, 0x4, 0xD7, 0x0, 0x0, 0x0, 0x7, 0x1, 0x8A, 0x1, 0x75, 0x1, 0x3E, 0xFF, 0xFF, 0x0, 0x4C, 0xFE, 0x89, 0x3, 0xCA, 0x5, 0xDD, 0x0, 0x26, 0x0, 0x58, 0x0, 0x0, 0x0, 0x27, 0x1, 0xD4, 0x4, 0x7D, 0xFF, 0xF6, 0x0, 0x7, 0x1, 0x8A, 0x1, 0x20, 0x0, 0x8, 0xFF, 0xFF, 0x0, 0x2D, 0x0, 0x0, 0x4, 0xB0, 0x7, 0x13, 0x0, 0x26, 0x0, 0x39, 0x0, 0x0, 0x0, 0x7, 0x1, 0x8A, 0x1, 0x67, 0x1, 0x3E, 0xFF, 0xFF, 0x0, 0x8, 0xFF, 0xEC, 0x2, 0x73, 0x6, 0x97, 0x0, 0x26, 0x0, 0x59, 0x0, 0x0, 0x0, 0x7, 0x1, 0x8A, 0x0, 0x41, 0x0, 0xC2, 0xFF, 0xFF, 0x0, 0x2D, 0xFE, 0x97, 0x4, 0xB0, 0x5, 0xB0, 0x0, 0x26, 0x0, 0x39, 0x0, 0x0, 0x0, 0x7, 0x1, 0xD4, 0x4, 0xC5, 0x0, 0x4, 0xFF, 0xFF, 0x0, 0x8, 0xFE, 0x93, 0x2, 0x73, 0x5, 0x41, 0x0, 0x26, 0x0, 0x59, 0x0, 0x0, 0x0, 0x7, 0x1, 0xD4, 0x4, 0x16, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x2D, 0xFE, 0xC5, 0x4, 0xB0, 0x5, 0xB0, 0x0, 0x26, 0x0, 0x39, 0x0, 0x0, 0x0, 0x7, 0x1, 0xE2, 0x4, 0xB5, 0x0, 0x4, 0xFF, 0xFF, 0x0, 0x8, 0xFE, 0xC1, 0x3, 0x16, 0x5, 0x41, 0x0, 0x26, 0x0, 0x59, 0x0, 0x0, 0x0, 0x7, 0x1, 0xE2, 0x4, 0x6, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x2D, 0xFE, 0x7A, 0x4, 0xB0, 0x5, 0xB0, 0x0, 0x26, 0x0, 0x39, 0x0, 0x0, 0x0, 0x7, 0x1, 0xDE, 0x4, 0xB5, 0x0, 0x4, 0xFF, 0xFF, 0x0, 0x8, 0xFE, 0x76, 0x3, 0x16, 0x5, 0x41, 0x0, 0x26, 0x0, 0x59, 0x0, 0x0, 0x0, 0x7, 0x1, 0xDE, 0x4, 0x6, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x7E, 0xFE, 0x98, 0x4, 0xBE, 0x5, 0xB0, 0x0, 0x26, 0x0, 0x3A, 0x0, 0x0, 0x0, 0x7, 0x1, 0xD5, 0x5, 0x33, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x77, 0xFE, 0x98, 0x3, 0xF7, 0x4, 0x3A, 0x0, 0x26, 0x0, 0x5A, 0x0, 0x0, 0x0, 0x7, 0x1, 0xD5, 0x4, 0xCF, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x7E, 0xFE, 0x79, 0x4, 0xBE, 0x5, 0xB0, 0x0, 0x26, 0x0, 0x3A, 0x0, 0x0, 0x0, 0x7, 0x1, 0xE1, 0x4, 0xE3, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x77, 0xFE, 0x79, 0x3, 0xF7, 0x4, 0x3A, 0x0, 0x26, 0x0, 0x5A, 0x0, 0x0, 0x0, 0x7, 0x1, 0xE1, 0x4, 0x7F, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x7E, 0xFE, 0x76, 0x4, 0xBE, 0x5, 0xB0, 0x0, 0x26, 0x0, 0x3A, 0x0, 0x0, 0x0, 0x7, 0x1, 0xDE, 0x4, 0xE3, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x77, 0xFE, 0x76, 0x3, 0xF7, 0x4, 0x3A, 0x0, 0x26, 0x0, 0x5A, 0x0, 0x0, 0x0, 0x7, 0x1, 0xDE, 0x4, 0x33, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x7E, 0xFF, 0xEC, 0x4, 0xBE, 0x7, 0xDF, 0x0, 0x26, 0x0, 0x3A, 0x0, 0x0, 0x0, 0x7, 0x7, 0xB9, 0x4, 0xDD, 0x1, 0x53, 0xFF, 0xFF, 0x0, 0x77, 0xFF, 0xEC, 0x3, 0xF7, 0x7, 0x55, 0x0, 0x26, 0x0, 0x5A, 0x0, 0x0, 0x0, 0x7, 0x8, 0xC4, 0x4, 0x7B, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x7E, 0xFF, 0xEC, 0x4, 0xBE, 0x8, 0xE, 0x0, 0x26, 0x0, 0x3A, 0x0, 0x0, 0x0, 0x7, 0x7, 0xBC, 0x4, 0xE3, 0x1, 0x6E, 0xFF, 0xFF, 0x0, 0x77, 0xFF, 0xEC, 0x3, 0xF7, 0x6, 0xFD, 0x0, 0x26, 0x0, 0x5A, 0x0, 0x0, 0x0, 0x7, 0x8, 0xC3, 0x4, 0x81, 0x0, 0x3, 0xFF, 0xFF, 0x0, 0x12, 0x0, 0x0, 0x5, 0x1D, 0x7, 0x37, 0x0, 0x26, 0x0, 0x3B, 0x0, 0x0, 0x0, 0x7, 0x1, 0x8D, 0x0, 0xB0, 0x1, 0x42, 0xFF, 0xFF, 0x0, 0x17, 0x0, 0x0, 0x3, 0xDB, 0x5, 0xEB, 0x0, 0x26, 0x0, 0x5B, 0x0, 0x0, 0x0, 0x6, 0x1, 0x8D, 0x18, 0xF6, 0xFF, 0xFF, 0x0, 0x12, 0xFE, 0x9D, 0x5, 0x1D, 0x5, 0xB0, 0x0, 0x26, 0x0, 0x3B, 0x0, 0x0, 0x0, 0x7, 0x1, 0xD4, 0x4, 0xF1, 0x0, 0xA, 0xFF, 0xFF, 0x0, 0x17, 0xFE, 0x9D, 0x3, 0xDB, 0x4, 0x3A, 0x0, 0x26, 0x0, 0x5B, 0x0, 0x0, 0x0, 0x7, 0x1, 0xD4, 0x4, 0x59, 0x0, 0xA, 0xFF, 0xFF, 0x0, 0x31, 0x0, 0x0, 0x6, 0xE5, 0x7, 0x13, 0x0, 0x26, 0x0, 0x3C, 0x0, 0x0, 0x0, 0x7, 0x1, 0x8A, 0x2, 0x8D, 0x1, 0x3E, 0xFF, 0xFF, 0x0, 0x22, 0x0, 0x0, 0x5, 0xCD, 0x5, 0xDD, 0x0, 0x26, 0x0, 0x5C, 0x0, 0x0, 0x0, 0x7, 0x1, 0x8A, 0x1, 0xF0, 0x0, 0x8, 0xFF, 0xFF, 0x0, 0x31, 0xFE, 0x9D, 0x6, 0xE5, 0x5, 0xB0, 0x0, 0x26, 0x0, 0x3C, 0x0, 0x0, 0x0, 0x7, 0x1, 0xD4, 0x5, 0xE7, 0x0, 0xA, 0xFF, 0xFF, 0x0, 0x22, 0xFE, 0x9D, 0x5, 0xCD, 0x4, 0x3A, 0x0, 0x26, 0x0, 0x5C, 0x0, 0x0, 0x0, 0x7, 0x1, 0xD4, 0x5, 0x50, 0x0, 0xA, 0xFF, 0xFF, 0x0, 0x29, 0x0, 0x0, 0x4, 0xEA, 0x7, 0x1F, 0x0, 0x26, 0x0, 0x3D, 0x0, 0x0, 0x0, 0x7, 0x1, 0x8A, 0x1, 0x82, 0x1, 0x4A, 0xFF, 0xFF, 0x0, 0x1F, 0x0, 0x0, 0x3, 0xE9, 0x5, 0xD3, 0x0, 0x26, 0x0, 0x5D, 0x0, 0x0, 0x0, 0x7, 0x1, 0x8A, 0x0, 0xFF, 0xFF, 0xFE, 0xFF, 0xFF, 0x0, 0x29, 0x0, 0x0, 0x4, 0xEA, 0x7, 0xF, 0x0, 0x26, 0x0, 0x3D, 0x0, 0x0, 0x0, 0x7, 0x0, 0x6B, 0x0, 0xC8, 0x1, 0x42, 0xFF, 0xFF, 0x0, 0x1F, 0x0, 0x0, 0x3, 0xE9, 0x5, 0xC3, 0x0, 0x26, 0x0, 0x5D, 0x0, 0x0, 0x0, 0x6, 0x0, 0x6B, 0x45, 0xF6, 0xFF, 0xFF, 0x0, 0x8, 0x0, 0x0, 0x4, 0xD6, 0x7, 0x13, 0x0, 0x26, 0x0, 0x3E, 0x0, 0x0, 0x0, 0x7, 0x1, 0x8A, 0x1, 0x6E, 0x1, 0x3E, 0xFF, 0xFF, 0x0, 0xC, 0xFE, 0x4B, 0x3, 0xD7, 0x5, 0xDD, 0x0, 0x26, 0x0, 0x5E, 0x0, 0x0, 0x0, 0x7, 0x1, 0x8A, 0x0, 0xFD, 0x0, 0x8, 0xFF, 0xFF, 0x0, 0x50, 0x0, 0x0, 0x4, 0x8C, 0x7, 0x37, 0x0, 0x26, 0x0, 0x3F, 0x0, 0x0, 0x0, 0x7, 0x1, 0x77, 0x0, 0x84, 0x1, 0x36, 0xFF, 0xFF, 0x0, 0x52, 0x0, 0x0, 0x3, 0xC0, 0x6, 0x1, 0x0, 0x26, 0x0, 0x5F, 0x0, 0x0, 0x0, 0x6, 0x1, 0x77, 0x1C, 0x0, 0xFF, 0xFF, 0x0, 0x50, 0xFE, 0x9D, 0x4, 0x8C, 0x5, 0xB0, 0x0, 0x26, 0x0, 0x3F, 0x0, 0x0, 0x0, 0x7, 0x1, 0xD4, 0x4, 0xC2, 0x0, 0xA, 0xFF, 0xFF, 0x0, 0x52, 0xFE, 0x9D, 0x3, 0xC0, 0x4, 0x3A, 0x0, 0x26, 0x0, 0x5F, 0x0, 0x0, 0x0, 0x7, 0x1, 0xD4, 0x4, 0x65, 0x0, 0xA, 0xFF, 0xFF, 0x0, 0x50, 0xFE, 0xCB, 0x4, 0x8C, 0x5, 0xB0, 0x0, 0x26, 0x0, 0x3F, 0x0, 0x0, 0x0, 0x7, 0x1, 0xE2, 0x4, 0xB2, 0x0, 0xA, 0xFF, 0xFF, 0x0, 0x52, 0xFE, 0xCB, 0x3, 0xC0, 0x4, 0x3A, 0x0, 0x26, 0x0, 0x5F, 0x0, 0x0, 0x0, 0x7, 0x1, 0xE2, 0x4, 0x55, 0x0, 0xA, 0xFF, 0xFF, 0x0, 0x7A, 0xFE, 0xCB, 0x3, 0xF9, 0x6, 0x0, 0x0, 0x26, 0x0, 0x4D, 0x0, 0x0, 0x0, 0x7, 0x1, 0xE2, 0x4, 0x93, 0x0, 0xA, 0xFF, 0xFF, 0xFF, 0xE5, 0xFF, 0xEC, 0x2, 0xAB, 0x6, 0x87, 0x0, 0x26, 0x0, 0x59, 0x0, 0x0, 0x0, 0x7, 0x0, 0x6B, 0xFF, 0x87, 0x0, 0xBA, 0xFF, 0xFF, 0x0, 0x22, 0x0, 0x0, 0x5, 0xCD, 0x6, 0x5E, 0x0, 0x26, 0x0, 0x5C, 0x0, 0x0, 0x0, 0x7, 0x1, 0x8B, 0x1, 0x9F, 0x0, 0x34, 0xFF, 0xFF, 0x0, 0xC, 0xFE, 0x4B, 0x3, 0xD7, 0x6, 0x5E, 0x0, 0x26, 0x0, 0x5E, 0x0, 0x0, 0x0, 0x7, 0x1, 0x8B, 0x0, 0xAC, 0x0, 0x34, 0xFF, 0xFF, 0x0, 0x5B, 0xFF, 0xEC, 0x4, 0x11, 0x6, 0x6B, 0x0, 0x26, 0x0, 0x46, 0x0, 0x0, 0x0, 0x7, 0x1, 0x6F, 0x3, 0xB, 0x0, 0x80, 0xFF, 0xFF, 0x0, 0x56, 0xFF, 0xEB, 0x4, 0x7A, 0x6, 0x44, 0x0, 0x26, 0x2, 0x3A, 0x0, 0x0, 0x0, 0x7, 0x4, 0x3A, 0x1, 0xB4, 0x0, 0x6C, 0xFF, 0xFF, 0x0, 0x56, 0xFF, 0xEB, 0x4, 0x7A, 0x6, 0x44, 0x0, 0x26, 0x2, 0x3A, 0x0, 0x0, 0x0, 0x7, 0x4, 0x49, 0x1, 0x7A, 0x0, 0x6C, 0xFF, 0xFF, 0x0, 0x56, 0xFF, 0xEB, 0x4, 0x7A, 0x6, 0x44, 0x0, 0x26, 0x2, 0x3A, 0x0, 0x0, 0x0, 0x7, 0x4, 0x3F, 0x0, 0xDB, 0x0, 0x6C, 0xFF, 0xFF, 0x0, 0x56, 0xFF, 0xEB, 0x4, 0x7A, 0x6, 0x44, 0x0, 0x26, 0x2, 0x3A, 0x0, 0x0, 0x0, 0x7, 0x4, 0x42, 0x0, 0xC2, 0x0, 0x6C, 0xFF, 0xFF, 0x0, 0x56, 0xFF, 0xEB, 0x4, 0x7A, 0x6, 0x44, 0x0, 0x26, 0x2, 0x3A, 0x0, 0x0, 0x0, 0x7, 0x4, 0x40, 0x1, 0x2F, 0x0, 0x6C, 0xFF, 0xFF, 0x0, 0x56, 0xFF, 0xEB, 0x4, 0x7A, 0x6, 0x44, 0x0, 0x26, 0x2, 0x3A, 0x0, 0x0, 0x0, 0x7, 0x4, 0x43, 0x0, 0xF9, 0x0, 0x6C, 0xFF, 0xFF, 0x0, 0x56, 0xFF, 0xEB, 0x4, 0x7A, 0x7, 0xB, 0x0, 0x26, 0x2, 0x3A, 0x0, 0x0, 0x0, 0x7, 0x4, 0x41, 0x0, 0xFF, 0x0, 0x6C, 0xFF, 0xFF, 0x0, 0x56, 0xFF, 0xEB, 0x4, 0x7A, 0x7, 0xB, 0x0, 0x26, 0x2, 0x3A, 0x0, 0x0, 0x0, 0x7, 0x4, 0x44, 0x0, 0xD8, 0x0, 0x6C, 0xFF, 0xFF, 0x0, 0x12, 0x0, 0x0, 0x5, 0x43, 0x5, 0xD7, 0x0, 0x26, 0x0, 0x26, 0x0, 0x0, 0x0, 0x6, 0x4, 0x3A, 0xD9, 0xFF, 0xFF, 0xFF, 0x0, 0x12, 0x0, 0x0, 0x5, 0x43, 0x5, 0xD7, 0x0, 0x26, 0x0, 0x26, 0x0, 0x0, 0x0, 0x6, 0x4, 0x49, 0xD2, 0xFF, 0xFF, 0xFF, 0xFE, 0xAF, 0x0, 0x0, 0x5, 0x43, 0x5, 0xD7, 0x0, 0x26, 0x0, 0x26, 0x0, 0x0, 0x0, 0x7, 0x4, 0x3F, 0xFE, 0x54, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xE5, 0x0, 0x0, 0x5, 0x43, 0x5, 0xD7, 0x0, 0x26, 0x0, 0x26, 0x0, 0x0, 0x0, 0x7, 0x4, 0x42, 0xFE, 0x7D, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xA, 0x0, 0x0, 0x5, 0x43, 0x5, 0xD7, 0x0, 0x26, 0x0, 0x26, 0x0, 0x0, 0x0, 0x7, 0x4, 0x40, 0xFE, 0xAF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xF9, 0x0, 0x0, 0x5, 0x43, 0x5, 0xD7, 0x0, 0x26, 0x0, 0x26, 0x0, 0x0, 0x0, 0x7, 0x4, 0x43, 0xFE, 0x91, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x67, 0x0, 0x0, 0x5, 0x43, 0x6, 0x9E, 0x0, 0x26, 0x0, 0x26, 0x0, 0x0, 0x0, 0x7, 0x4, 0x41, 0xFE, 0xF8, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x54, 0x0, 0x0, 0x5, 0x43, 0x6, 0x9E, 0x0, 0x26, 0x0, 0x26, 0x0, 0x0, 0x0, 0x7, 0x4, 0x44, 0xFE, 0xE5, 0xFF, 0xFF, 0xFF, 0xFF, 0x0, 0x61, 0xFF, 0xEC, 0x4, 0xD, 0x6, 0x43, 0x0, 0x26, 0x2, 0x3E, 0x0, 0x0, 0x0, 0x7, 0x4, 0x3A, 0x1, 0x7C, 0x0, 0x6B, 0xFF, 0xFF, 0x0, 0x61, 0xFF, 0xEC, 0x4, 0xD, 0x6, 0x43, 0x0, 0x26, 0x2, 0x3E, 0x0, 0x0, 0x0, 0x7, 0x4, 0x49, 0x1, 0x42, 0x0, 0x6B, 0xFF, 0xFF, 0x0, 0x61, 0xFF, 0xEC, 0x4, 0xD, 0x6, 0x43, 0x0, 0x26, 0x2, 0x3E, 0x0, 0x0, 0x0, 0x7, 0x4, 0x3F, 0x0, 0xA3, 0x0, 0x6B, 0xFF, 0xFF, 0x0, 0x61, 0xFF, 0xEC, 0x4, 0xD, 0x6, 0x43, 0x0, 0x26, 0x2, 0x3E, 0x0, 0x0, 0x0, 0x7, 0x4, 0x42, 0x0, 0x8A, 0x0, 0x6B, 0xFF, 0xFF, 0x0, 0x61, 0xFF, 0xEC, 0x4, 0xD, 0x6, 0x43, 0x0, 0x26, 0x2, 0x3E, 0x0, 0x0, 0x0, 0x7, 0x4, 0x40, 0x0, 0xF7, 0x0, 0x6B, 0xFF, 0xFF, 0x0, 0x61, 0xFF, 0xEC, 0x4, 0xD, 0x6, 0x43, 0x0, 0x26, 0x2, 0x3E, 0x0, 0x0, 0x0, 0x7, 0x4, 0x43, 0x0, 0xC1, 0x0, 0x6B, 0xFF, 0xFF, 0xFE, 0x96, 0x0, 0x0, 0x4, 0x4D, 0x5, 0xD9, 0x0, 0x26, 0x0, 0x2A, 0x0, 0x0, 0x0, 0x7, 0x4, 0x3A, 0xFE, 0x3B, 0x0, 0x1, 0xFF, 0xFF, 0xFE, 0x9D, 0x0, 0x0, 0x4, 0x4D, 0x5, 0xD9, 0x0, 0x26, 0x0, 0x2A, 0x0, 0x0, 0x0, 0x7, 0x4, 0x49, 0xFE, 0x34, 0x0, 0x1, 0xFF, 0xFF, 0xFD, 0x11, 0x0, 0x0, 0x4, 0x4D, 0x5, 0xD9, 0x0, 0x26, 0x0, 0x2A, 0x0, 0x0, 0x0, 0x7, 0x4, 0x3F, 0xFC, 0xB6, 0x0, 0x1, 0xFF, 0xFF, 0xFD, 0x47, 0x0, 0x0, 0x4, 0x4D, 0x5, 0xD9, 0x0, 0x26, 0x0, 0x2A, 0x0, 0x0, 0x0, 0x7, 0x4, 0x42, 0xFC, 0xDF, 0x0, 0x1, 0xFF, 0xFF, 0xFD, 0x6C, 0x0, 0x0, 0x4, 0x4D, 0x5, 0xD9, 0x0, 0x26, 0x0, 0x2A, 0x0, 0x0, 0x0, 0x7, 0x4, 0x40, 0xFD, 0x11, 0x0, 0x1, 0xFF, 0xFF, 0xFD, 0x5B, 0x0, 0x0, 0x4, 0x4D, 0x5, 0xD9, 0x0, 0x26, 0x0, 0x2A, 0x0, 0x0, 0x0, 0x7, 0x4, 0x43, 0xFC, 0xF3, 0x0, 0x1, 0xFF, 0xFF, 0x0, 0x7F, 0xFE, 0x61, 0x4, 0x6, 0x6, 0x44, 0x0, 0x26, 0x2, 0x40, 0x0, 0x0, 0x0, 0x7, 0x4, 0x3A, 0x1, 0x87, 0x0, 0x6C, 0xFF, 0xFF, 0x0, 0x7F, 0xFE, 0x61, 0x4, 0x6, 0x6, 0x44, 0x0, 0x26, 0x2, 0x40, 0x0, 0x0, 0x0, 0x7, 0x4, 0x49, 0x1, 0x4D, 0x0, 0x6C, 0xFF, 0xFF, 0x0, 0x7F, 0xFE, 0x61, 0x4, 0x6, 0x6, 0x44, 0x0, 0x26, 0x2, 0x40, 0x0, 0x0, 0x0, 0x7, 0x4, 0x3F, 0x0, 0xAE, 0x0, 0x6C, 0xFF, 0xFF, 0x0, 0x7F, 0xFE, 0x61, 0x4, 0x6, 0x6, 0x44, 0x0, 0x26, 0x2, 0x40, 0x0, 0x0, 0x0, 0x7, 0x4, 0x42, 0x0, 0x95, 0x0, 0x6C, 0xFF, 0xFF, 0x0, 0x7F, 0xFE, 0x61, 0x4, 0x6, 0x6, 0x44, 0x0, 0x26, 0x2, 0x40, 0x0, 0x0, 0x0, 0x7, 0x4, 0x40, 0x1, 0x2, 0x0, 0x6C, 0xFF, 0xFF, 0x0, 0x7F, 0xFE, 0x61, 0x4, 0x6, 0x6, 0x44, 0x0, 0x26, 0x2, 0x40, 0x0, 0x0, 0x0, 0x7, 0x4, 0x43, 0x0, 0xCC, 0x0, 0x6C, 0xFF, 0xFF, 0x0, 0x7F, 0xFE, 0x61, 0x4, 0x6, 0x7, 0xB, 0x0, 0x26, 0x2, 0x40, 0x0, 0x0, 0x0, 0x7, 0x4, 0x41, 0x0, 0xD2, 0x0, 0x6C, 0xFF, 0xFF, 0x0, 0x7F, 0xFE, 0x61, 0x4, 0x6, 0x7, 0xB, 0x0, 0x26, 0x2, 0x40, 0x0, 0x0, 0x0, 0x7, 0x4, 0x44, 0x0, 0xAB, 0x0, 0x6C, 0xFF, 0xFF, 0xFE, 0x9F, 0x0, 0x0, 0x5, 0x19, 0x5, 0xD8, 0x0, 0x26, 0x0, 0x2D, 0x0, 0x0, 0x0, 0x7, 0x4, 0x3A, 0xFE, 0x44, 0x0, 0x0, 0xFF, 0xFF, 0xFE, 0xA6, 0x0, 0x0, 0x5, 0x19, 0x5, 0xD8, 0x0, 0x26, 0x0, 0x2D, 0x0, 0x0, 0x0, 0x7, 0x4, 0x49, 0xFE, 0x3D, 0x0, 0x0, 0xFF, 0xFF, 0xFD, 0x1A, 0x0, 0x0, 0x5, 0x19, 0x5, 0xD8, 0x0, 0x26, 0x0, 0x2D, 0x0, 0x0, 0x0, 0x7, 0x4, 0x3F, 0xFC, 0xBF, 0x0, 0x0, 0xFF, 0xFF, 0xFD, 0x50, 0x0, 0x0, 0x5, 0x19, 0x5, 0xD8, 0x0, 0x26, 0x0, 0x2D, 0x0, 0x0, 0x0, 0x7, 0x4, 0x42, 0xFC, 0xE8, 0x0, 0x0, 0xFF, 0xFF, 0xFD, 0x75, 0x0, 0x0, 0x5, 0x19, 0x5, 0xD8, 0x0, 0x26, 0x0, 0x2D, 0x0, 0x0, 0x0, 0x7, 0x4, 0x40, 0xFD, 0x1A, 0x0, 0x0, 0xFF, 0xFF, 0xFD, 0x64, 0x0, 0x0, 0x5, 0x19, 0x5, 0xD8, 0x0, 0x26, 0x0, 0x2D, 0x0, 0x0, 0x0, 0x7, 0x4, 0x43, 0xFC, 0xFC, 0x0, 0x0, 0xFF, 0xFF, 0xFD, 0xD2, 0x0, 0x0, 0x5, 0x19, 0x6, 0x9F, 0x0, 0x26, 0x0, 0x2D, 0x0, 0x0, 0x0, 0x7, 0x4, 0x41, 0xFD, 0x63, 0x0, 0x0, 0xFF, 0xFF, 0xFD, 0xBF, 0x0, 0x0, 0x5, 0x19, 0x6, 0x9F, 0x0, 0x26, 0x0, 0x2D, 0x0, 0x0, 0x0, 0x7, 0x4, 0x44, 0xFD, 0x50, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0xAA, 0xFF, 0xF4, 0x2, 0x62, 0x6, 0x2F, 0x0, 0x26, 0x2, 0x42, 0x0, 0x0, 0x0, 0x6, 0x4, 0x3A, 0x73, 0x57, 0xFF, 0xFF, 0x0, 0xA2, 0xFF, 0xF4, 0x2, 0x62, 0x6, 0x2F, 0x0, 0x26, 0x2, 0x42, 0x0, 0x0, 0x0, 0x6, 0x4, 0x49, 0x39, 0x57, 0xFF, 0xFF, 0xFF, 0xF5, 0xFF, 0xF4, 0x2, 0x63, 0x6, 0x2F, 0x0, 0x26, 0x2, 0x42, 0x0, 0x0, 0x0, 0x6, 0x4, 0x3F, 0x9A, 0x57, 0xFF, 0xFF, 0xFF, 0xE9, 0xFF, 0xF4, 0x2, 0x62, 0x6, 0x2F, 0x0, 0x26, 0x2, 0x42, 0x0, 0x0, 0x0, 0x6, 0x4, 0x42, 0x81, 0x57, 0xFF, 0xFF, 0x0, 0x49, 0xFF, 0xF4, 0x2, 0xA3, 0x6, 0x2F, 0x0, 0x26, 0x2, 0x42, 0x0, 0x0, 0x0, 0x6, 0x4, 0x40, 0xEE, 0x57, 0xFF, 0xFF, 0x0, 0x20, 0xFF, 0xF4, 0x2, 0x8E, 0x6, 0x2F, 0x0, 0x26, 0x2, 0x42, 0x0, 0x0, 0x0, 0x6, 0x4, 0x43, 0xB8, 0x57, 0xFF, 0xFF, 0x0, 0x2D, 0xFF, 0xF4, 0x2, 0x66, 0x6, 0xF6, 0x0, 0x26, 0x2, 0x42, 0x0, 0x0, 0x0, 0x6, 0x4, 0x41, 0xBE, 0x57, 0xFF, 0xFF, 0x0, 0x6, 0xFF, 0xF4, 0x2, 0x62, 0x6, 0xF6, 0x0, 0x26, 0x2, 0x42, 0x0, 0x0, 0x0, 0x6, 0x4, 0x44, 0x97, 0x57, 0xFF, 0xFF, 0xFE, 0xA1, 0x0, 0x0, 0x1, 0xA0, 0x5, 0xDA, 0x0, 0x26, 0x0, 0x2E, 0x0, 0x0, 0x0, 0x7, 0x4, 0x3A, 0xFE, 0x46, 0x0, 0x2, 0xFF, 0xFF, 0xFE, 0xA8, 0x0, 0x0, 0x1, 0xA0, 0x5, 0xDA, 0x0, 0x26, 0x0, 0x2E, 0x0, 0x0, 0x0, 0x7, 0x4, 0x49, 0xFE, 0x3F, 0x0, 0x2, 0xFF, 0xFF, 0xFD, 0x1C, 0x0, 0x0, 0x1, 0xA0, 0x5, 0xDA, 0x0, 0x26, 0x0, 0x2E, 0x0, 0x0, 0x0, 0x7, 0x4, 0x3F, 0xFC, 0xC1, 0x0, 0x2, 0xFF, 0xFF, 0xFD, 0x52, 0x0, 0x0, 0x1, 0xA0, 0x5, 0xDA, 0x0, 0x26, 0x0, 0x2E, 0x0, 0x0, 0x0, 0x7, 0x4, 0x42, 0xFC, 0xEA, 0x0, 0x2, 0xFF, 0xFF, 0xFD, 0x77, 0x0, 0x0, 0x1, 0xA0, 0x5, 0xDA, 0x0, 0x26, 0x0, 0x2E, 0x0, 0x0, 0x0, 0x7, 0x4, 0x40, 0xFD, 0x1C, 0x0, 0x2, 0xFF, 0xFF, 0xFD, 0x66, 0x0, 0x0, 0x1, 0xA0, 0x5, 0xDA, 0x0, 0x26, 0x0, 0x2E, 0x0, 0x0, 0x0, 0x7, 0x4, 0x43, 0xFC, 0xFE, 0x0, 0x2, 0xFF, 0xFF, 0xFD, 0xD4, 0x0, 0x0, 0x1, 0xA0, 0x6, 0xA1, 0x0, 0x26, 0x0, 0x2E, 0x0, 0x0, 0x0, 0x7, 0x4, 0x41, 0xFD, 0x65, 0x0, 0x2, 0xFF, 0xFF, 0xFD, 0xC1, 0x0, 0x0, 0x1, 0xA0, 0x6, 0xA1, 0x0, 0x26, 0x0, 0x2E, 0x0, 0x0, 0x0, 0x7, 0x4, 0x44, 0xFD, 0x52, 0x0, 0x2, 0xFF, 0xFF, 0x0, 0x50, 0xFF, 0xEC, 0x4, 0x3E, 0x6, 0x44, 0x0, 0x26, 0x0, 0x54, 0x0, 0x0, 0x0, 0x7, 0x4, 0x3A, 0x1, 0x85, 0x0, 0x6C, 0xFF, 0xFF, 0x0, 0x50, 0xFF, 0xEC, 0x4, 0x3E, 0x6, 0x44, 0x0, 0x26, 0x0, 0x54, 0x0, 0x0, 0x0, 0x7, 0x4, 0x49, 0x1, 0x4B, 0x0, 0x6C, 0xFF, 0xFF, 0x0, 0x50, 0xFF, 0xEC, 0x4, 0x3E, 0x6, 0x44, 0x0, 0x26, 0x0, 0x54, 0x0, 0x0, 0x0, 0x7, 0x4, 0x3F, 0x0, 0xAC, 0x0, 0x6C, 0xFF, 0xFF, 0x0, 0x50, 0xFF, 0xEC, 0x4, 0x3E, 0x6, 0x44, 0x0, 0x26, 0x0, 0x54, 0x0, 0x0, 0x0, 0x7, 0x4, 0x42, 0x0, 0x93, 0x0, 0x6C, 0xFF, 0xFF, 0x0, 0x50, 0xFF, 0xEC, 0x4, 0x3E, 0x6, 0x44, 0x0, 0x26, 0x0, 0x54, 0x0, 0x0, 0x0, 0x7, 0x4, 0x40, 0x1, 0x0, 0x0, 0x6C, 0xFF, 0xFF, 0x0, 0x50, 0xFF, 0xEC, 0x4, 0x3E, 0x6, 0x44, 0x0, 0x26, 0x0, 0x54, 0x0, 0x0, 0x0, 0x7, 0x4, 0x43, 0x0, 0xCA, 0x0, 0x6C, 0xFF, 0xFF, 0xFF, 0x6B, 0xFF, 0xEC, 0x5, 0x33, 0x5, 0xD7, 0x0, 0x26, 0x0, 0x34, 0x14, 0x0, 0x0, 0x7, 0x4, 0x3A, 0xFF, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x72, 0xFF, 0xEC, 0x5, 0x33, 0x5, 0xD7, 0x0, 0x26, 0x0, 0x34, 0x14, 0x0, 0x0, 0x7, 0x4, 0x49, 0xFF, 0x9, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x18, 0xFF, 0xEC, 0x5, 0x65, 0x5, 0xD7, 0x0, 0x26, 0x0, 0x34, 0x46, 0x0, 0x0, 0x7, 0x4, 0x3F, 0xFD, 0xBD, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x4E, 0xFF, 0xEC, 0x5, 0x65, 0x5, 0xD7, 0x0, 0x26, 0x0, 0x34, 0x46, 0x0, 0x0, 0x7, 0x4, 0x42, 0xFD, 0xE6, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x73, 0xFF, 0xEC, 0x5, 0x65, 0x5, 0xD7, 0x0, 0x26, 0x0, 0x34, 0x46, 0x0, 0x0, 0x7, 0x4, 0x40, 0xFE, 0x18, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x62, 0xFF, 0xEC, 0x5, 0x65, 0x5, 0xD7, 0x0, 0x26, 0x0, 0x34, 0x46, 0x0, 0x0, 0x7, 0x4, 0x43, 0xFD, 0xFA, 0xFF, 0xFF, 0xFF, 0xFF, 0x0, 0x80, 0xFF, 0xEB, 0x4, 0x8, 0x6, 0x36, 0x0, 0x26, 0x2, 0x4A, 0x0, 0x0, 0x0, 0x7, 0x4, 0x3A, 0x1, 0x70, 0x0, 0x5E, 0xFF, 0xFF, 0x0, 0x80, 0xFF, 0xEB, 0x4, 0x8, 0x6, 0x36, 0x0, 0x26, 0x2, 0x4A, 0x0, 0x0, 0x0, 0x7, 0x4, 0x49, 0x1, 0x36, 0x0, 0x5E, 0xFF, 0xFF, 0x0, 0x80, 0xFF, 0xEB, 0x4, 0x8, 0x6, 0x36, 0x0, 0x26, 0x2, 0x4A, 0x0, 0x0, 0x0, 0x7, 0x4, 0x3F, 0x0, 0x97, 0x0, 0x5E, 0xFF, 0xFF, 0x0, 0x80, 0xFF, 0xEB, 0x4, 0x8, 0x6, 0x36, 0x0, 0x26, 0x2, 0x4A, 0x0, 0x0, 0x0, 0x6, 0x4, 0x42, 0x7E, 0x5E, 0xFF, 0xFF, 0x0, 0x80, 0xFF, 0xEB, 0x4, 0x8, 0x6, 0x36, 0x0, 0x26, 0x2, 0x4A, 0x0, 0x0, 0x0, 0x7, 0x4, 0x40, 0x0, 0xEB, 0x0, 0x5E, 0xFF, 0xFF, 0x0, 0x80, 0xFF, 0xEB, 0x4, 0x8, 0x6, 0x36, 0x0, 0x26, 0x2, 0x4A, 0x0, 0x0, 0x0, 0x7, 0x4, 0x43, 0x0, 0xB5, 0x0, 0x5E, 0xFF, 0xFF, 0x0, 0x80, 0xFF, 0xEB, 0x4, 0x8, 0x6, 0xFD, 0x0, 0x26, 0x2, 0x4A, 0x0, 0x0, 0x0, 0x7, 0x4, 0x41, 0x0, 0xBB, 0x0, 0x5E, 0xFF, 0xFF, 0x0, 0x80, 0xFF, 0xEB, 0x4, 0x8, 0x6, 0xFD, 0x0, 0x26, 0x2, 0x4A, 0x0, 0x0, 0x0, 0x7, 0x4, 0x44, 0x0, 0x94, 0x0, 0x5E, 0xFF, 0xFF, 0xFE, 0x97, 0x0, 0x0, 0x4, 0xD6, 0x5, 0xD7, 0x0, 0x26, 0x0, 0x3E, 0x0, 0x0, 0x0, 0x7, 0x4, 0x49, 0xFE, 0x2E, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, 0x41, 0x0, 0x0, 0x4, 0xD6, 0x5, 0xD7, 0x0, 0x26, 0x0, 0x3E, 0x0, 0x0, 0x0, 0x7, 0x4, 0x42, 0xFC, 0xD9, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, 0x55, 0x0, 0x0, 0x4, 0xD6, 0x5, 0xD7, 0x0, 0x26, 0x0, 0x3E, 0x0, 0x0, 0x0, 0x7, 0x4, 0x43, 0xFC, 0xED, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, 0xB0, 0x0, 0x0, 0x4, 0xD6, 0x6, 0x9E, 0x0, 0x26, 0x0, 0x3E, 0x0, 0x0, 0x0, 0x7, 0x4, 0x44, 0xFD, 0x41, 0xFF, 0xFF, 0xFF, 0xFF, 0x0, 0x66, 0xFF, 0xEB, 0x6, 0x2E, 0x6, 0x34, 0x0, 0x26, 0x2, 0x4D, 0x0, 0x0, 0x0, 0x7, 0x4, 0x3A, 0x2, 0x8F, 0x0, 0x5C, 0xFF, 0xFF, 0x0, 0x66, 0xFF, 0xEB, 0x6, 0x2E, 0x6, 0x34, 0x0, 0x26, 0x2, 0x4D, 0x0, 0x0, 0x0, 0x7, 0x4, 0x49, 0x2, 0x55, 0x0, 0x5C, 0xFF, 0xFF, 0x0, 0x66, 0xFF, 0xEB, 0x6, 0x2E, 0x6, 0x34, 0x0, 0x26, 0x2, 0x4D, 0x0, 0x0, 0x0, 0x7, 0x4, 0x3F, 0x1, 0xB6, 0x0, 0x5C, 0xFF, 0xFF, 0x0, 0x66, 0xFF, 0xEB, 0x6, 0x2E, 0x6, 0x34, 0x0, 0x26, 0x2, 0x4D, 0x0, 0x0, 0x0, 0x7, 0x4, 0x42, 0x1, 0x9D, 0x0, 0x5C, 0xFF, 0xFF, 0x0, 0x66, 0xFF, 0xEB, 0x6, 0x2E, 0x6, 0x34, 0x0, 0x26, 0x2, 0x4D, 0x0, 0x0, 0x0, 0x7, 0x4, 0x40, 0x2, 0xA, 0x0, 0x5C, 0xFF, 0xFF, 0x0, 0x66, 0xFF, 0xEB, 0x6, 0x2E, 0x6, 0x34, 0x0, 0x26, 0x2, 0x4D, 0x0, 0x0, 0x0, 0x7, 0x4, 0x43, 0x1, 0xD4, 0x0, 0x5C, 0xFF, 0xFF, 0x0, 0x66, 0xFF, 0xEB, 0x6, 0x2E, 0x6, 0xFB, 0x0, 0x26, 0x2, 0x4D, 0x0, 0x0, 0x0, 0x7, 0x4, 0x41, 0x1, 0xDA, 0x0, 0x5C, 0xFF, 0xFF, 0x0, 0x66, 0xFF, 0xEB, 0x6, 0x2E, 0x6, 0xFB, 0x0, 0x26, 0x2, 0x4D, 0x0, 0x0, 0x0, 0x7, 0x4, 0x44, 0x1, 0xB3, 0x0, 0x5C, 0xFF, 0xFF, 0xFF, 0x75, 0x0, 0x0, 0x4, 0xF1, 0x5, 0xD7, 0x0, 0x26, 0x2, 0x39, 0x14, 0x0, 0x0, 0x7, 0x4, 0x3A, 0xFF, 0x1A, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x7C, 0x0, 0x0, 0x4, 0xF1, 0x5, 0xD7, 0x0, 0x26, 0x2, 0x39, 0x14, 0x0, 0x0, 0x7, 0x4, 0x49, 0xFF, 0x13, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x22, 0x0, 0x0, 0x5, 0x23, 0x5, 0xD7, 0x0, 0x26, 0x2, 0x39, 0x46, 0x0, 0x0, 0x7, 0x4, 0x3F, 0xFD, 0xC7, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x58, 0x0, 0x0, 0x5, 0x23, 0x5, 0xD7, 0x0, 0x26, 0x2, 0x39, 0x46, 0x0, 0x0, 0x7, 0x4, 0x42, 0xFD, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x7D, 0x0, 0x0, 0x5, 0x23, 0x5, 0xD7, 0x0, 0x26, 0x2, 0x39, 0x46, 0x0, 0x0, 0x7, 0x4, 0x40, 0xFE, 0x22, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x6C, 0x0, 0x0, 0x5, 0x23, 0x5, 0xD7, 0x0, 0x26, 0x2, 0x39, 0x46, 0x0, 0x0, 0x7, 0x4, 0x43, 0xFE, 0x4, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xDA, 0x0, 0x0, 0x5, 0x23, 0x6, 0x9E, 0x0, 0x26, 0x2, 0x39, 0x46, 0x0, 0x0, 0x7, 0x4, 0x41, 0xFE, 0x6B, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xC7, 0x0, 0x0, 0x5, 0x23, 0x6, 0x9E, 0x0, 0x26, 0x2, 0x39, 0x46, 0x0, 0x0, 0x7, 0x4, 0x44, 0xFE, 0x58, 0xFF, 0xFF, 0xFF, 0xFF, 0x0, 0x56, 0xFF, 0xEB, 0x4, 0x7A, 0x6, 0x2F, 0x0, 0x26, 0x2, 0x3A, 0x0, 0x0, 0x0, 0x7, 0x4, 0x47, 0x1, 0x15, 0x0, 0x6C, 0xFF, 0xFF, 0x0, 0x56, 0xFF, 0xEB, 0x4, 0x7A, 0x6, 0x2F, 0x0, 0x26, 0x2, 0x3A, 0x0, 0x0, 0x0, 0x7, 0x4, 0x48, 0x1, 0xD7, 0x0, 0x6C, 0xFF, 0xFF, 0x0, 0x61, 0xFF, 0xEC, 0x4, 0xD, 0x6, 0x2E, 0x0, 0x26, 0x2, 0x3E, 0x0, 0x0, 0x0, 0x7, 0x4, 0x47, 0x0, 0xDD, 0x0, 0x6B, 0xFF, 0xFF, 0x0, 0x61, 0xFF, 0xEC, 0x4, 0xD, 0x6, 0x2E, 0x0, 0x26, 0x2, 0x3E, 0x0, 0x0, 0x0, 0x7, 0x4, 0x48, 0x1, 0x9F, 0x0, 0x6B, 0xFF, 0xFF, 0x0, 0x7F, 0xFE, 0x61, 0x4, 0x6, 0x6, 0x2F, 0x0, 0x26, 0x2, 0x40, 0x0, 0x0, 0x0, 0x7, 0x4, 0x47, 0x0, 0xE8, 0x0, 0x6C, 0xFF, 0xFF, 0x0, 0x7F, 0xFE, 0x61, 0x4, 0x6, 0x6, 0x2F, 0x0, 0x26, 0x2, 0x40, 0x0, 0x0, 0x0, 0x7, 0x4, 0x48, 0x1, 0xAA, 0x0, 0x6C, 0xFF, 0xFF, 0x0, 0x3A, 0xFF, 0xF4, 0x2, 0x62, 0x6, 0x1A, 0x0, 0x26, 0x2, 0x42, 0x0, 0x0, 0x0, 0x6, 0x4, 0x47, 0xD4, 0x57, 0xFF, 0xFF, 0x0, 0xAA, 0xFF, 0xF4, 0x2, 0x62, 0x6, 0x1A, 0x0, 0x26, 0x2, 0x42, 0x0, 0x0, 0x0, 0x7, 0x4, 0x48, 0x0, 0x96, 0x0, 0x57, 0xFF, 0xFF, 0x0, 0x50, 0xFF, 0xEC, 0x4, 0x3E, 0x6, 0x2F, 0x0, 0x26, 0x0, 0x54, 0x0, 0x0, 0x0, 0x7, 0x4, 0x47, 0x0, 0xE6, 0x0, 0x6C, 0xFF, 0xFF, 0x0, 0x50, 0xFF, 0xEC, 0x4, 0x3E, 0x6, 0x2F, 0x0, 0x26, 0x0, 0x54, 0x0, 0x0, 0x0, 0x7, 0x4, 0x48, 0x1, 0xA8, 0x0, 0x6C, 0xFF, 0xFF, 0x0, 0x80, 0xFF, 0xEB, 0x4, 0x8, 0x6, 0x21, 0x0, 0x26, 0x2, 0x4A, 0x0, 0x0, 0x0, 0x7, 0x4, 0x47, 0x0, 0xD1, 0x0, 0x5E, 0xFF, 0xFF, 0x0, 0x80, 0xFF, 0xEB, 0x4, 0x8, 0x6, 0x21, 0x0, 0x26, 0x2, 0x4A, 0x0, 0x0, 0x0, 0x7, 0x4, 0x48, 0x1, 0x93, 0x0, 0x5E, 0xFF, 0xFF, 0x0, 0x66, 0xFF, 0xEB, 0x6, 0x2E, 0x6, 0x1F, 0x0, 0x26, 0x2, 0x4D, 0x0, 0x0, 0x0, 0x7, 0x4, 0x47, 0x1, 0xF0, 0x0, 0x5C, 0xFF, 0xFF, 0x0, 0x66, 0xFF, 0xEB, 0x6, 0x2E, 0x6, 0x1F, 0x0, 0x26, 0x2, 0x4D, 0x0, 0x0, 0x0, 0x7, 0x4, 0x48, 0x2, 0xB2, 0x0, 0x5C, 0xFF, 0xFF, 0x0, 0x56, 0xFD, 0xE8, 0x4, 0x7A, 0x6, 0x44, 0x0, 0x26, 0x2, 0x3A, 0x0, 0x0, 0x0, 0x27, 0x4, 0x3B, 0x1, 0x4E, 0xFF, 0xF6, 0x0, 0x7, 0x4, 0x3A, 0x1, 0xB4, 0x0, 0x6C, 0xFF, 0xFF, 0x0, 0x56, 0xFD, 0xE8, 0x4, 0x7A, 0x6, 0x44, 0x0, 0x26, 0x2, 0x3A, 0x0, 0x0, 0x0, 0x27, 0x4, 0x3B, 0x1, 0x4E, 0xFF, 0xF6, 0x0, 0x7, 0x4, 0x49, 0x1, 0x7A, 0x0, 0x6C, 0xFF, 0xFF, 0x0, 0x56, 0xFD, 0xE8, 0x4, 0x7A, 0x6, 0x44, 0x0, 0x26, 0x2, 0x3A, 0x0, 0x0, 0x0, 0x27, 0x4, 0x3B, 0x1, 0x4E, 0xFF, 0xF6, 0x0, 0x7, 0x4, 0x3F, 0x0, 0xDB, 0x0, 0x6C, 0xFF, 0xFF, 0x0, 0x56, 0xFD, 0xE8, 0x4, 0x7A, 0x6, 0x44, 0x0, 0x26, 0x2, 0x3A, 0x0, 0x0, 0x0, 0x27, 0x4, 0x3B, 0x1, 0x4E, 0xFF, 0xF6, 0x0, 0x7, 0x4, 0x42, 0x0, 0xC2, 0x0, 0x6C, 0xFF, 0xFF, 0x0, 0x56, 0xFD, 0xE8, 0x4, 0x7A, 0x6, 0x44, 0x0, 0x26, 0x2, 0x3A, 0x0, 0x0, 0x0, 0x27, 0x4, 0x3B, 0x1, 0x4E, 0xFF, 0xF6, 0x0, 0x7, 0x4, 0x40, 0x1, 0x2F, 0x0, 0x6C, 0xFF, 0xFF, 0x0, 0x56, 0xFD, 0xE8, 0x4, 0x7A, 0x6, 0x44, 0x0, 0x26, 0x2, 0x3A, 0x0, 0x0, 0x0, 0x27, 0x4, 0x3B, 0x1, 0x4E, 0xFF, 0xF6, 0x0, 0x7, 0x4, 0x43, 0x0, 0xF9, 0x0, 0x6C, 0xFF, 0xFF, 0x0, 0x56, 0xFD, 0xE8, 0x4, 0x7A, 0x7, 0xB, 0x0, 0x26, 0x2, 0x3A, 0x0, 0x0, 0x0, 0x27, 0x4, 0x3B, 0x1, 0x4E, 0xFF, 0xF6, 0x0, 0x7, 0x4, 0x41, 0x0, 0xFF, 0x0, 0x6C, 0xFF, 0xFF, 0x0, 0x56, 0xFD, 0xE8, 0x4, 0x7A, 0x7, 0xB, 0x0, 0x26, 0x2, 0x3A, 0x0, 0x0, 0x0, 0x27, 0x4, 0x3B, 0x1, 0x4E, 0xFF, 0xF6, 0x0, 0x7, 0x4, 0x44, 0x0, 0xD8, 0x0, 0x6C, 0xFF, 0xFF, 0x0, 0x12, 0xFD, 0xF5, 0x5, 0x43, 0x5, 0xD7, 0x0, 0x26, 0x0, 0x26, 0x0, 0x0, 0x0, 0x27, 0x4, 0x3B, 0x1, 0xF3, 0x0, 0x3, 0x0, 0x6, 0x4, 0x3A, 0xD9, 0xFF, 0xFF, 0xFF, 0x0, 0x12, 0xFD, 0xF5, 0x5, 0x43, 0x5, 0xD7, 0x0, 0x26, 0x0, 0x26, 0x0, 0x0, 0x0, 0x27, 0x4, 0x3B, 0x1, 0xF3, 0x0, 0x3, 0x0, 0x6, 0x4, 0x49, 0xD2, 0xFF, 0xFF, 0xFF, 0xFE, 0xAF, 0xFD, 0xF5, 0x5, 0x43, 0x5, 0xD7, 0x0, 0x26, 0x0, 0x26, 0x0, 0x0, 0x0, 0x27, 0x4, 0x3B, 0x1, 0xF3, 0x0, 0x3, 0x0, 0x7, 0x4, 0x3F, 0xFE, 0x54, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xE5, 0xFD, 0xF5, 0x5, 0x43, 0x5, 0xD7, 0x0, 0x26, 0x0, 0x26, 0x0, 0x0, 0x0, 0x27, 0x4, 0x3B, 0x1, 0xF3, 0x0, 0x3, 0x0, 0x7, 0x4, 0x42, 0xFE, 0x7D, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xA, 0xFD, 0xF5, 0x5, 0x43, 0x5, 0xD7, 0x0, 0x26, 0x0, 0x26, 0x0, 0x0, 0x0, 0x27, 0x4, 0x3B, 0x1, 0xF3, 0x0, 0x3, 0x0, 0x7, 0x4, 0x40, 0xFE, 0xAF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xF9, 0xFD, 0xF5, 0x5, 0x43, 0x5, 0xD7, 0x0, 0x26, 0x0, 0x26, 0x0, 0x0, 0x0, 0x27, 0x4, 0x3B, 0x1, 0xF3, 0x0, 0x3, 0x0, 0x7, 0x4, 0x43, 0xFE, 0x91, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x67, 0xFD, 0xF5, 0x5, 0x43, 0x6, 0x9E, 0x0, 0x26, 0x0, 0x26, 0x0, 0x0, 0x0, 0x27, 0x4, 0x3B, 0x1, 0xF3, 0x0, 0x3, 0x0, 0x7, 0x4, 0x41, 0xFE, 0xF8, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x54, 0xFD, 0xF5, 0x5, 0x43, 0x6, 0x9E, 0x0, 0x26, 0x0, 0x26, 0x0, 0x0, 0x0, 0x27, 0x4, 0x3B, 0x1, 0xF3, 0x0, 0x3, 0x0, 0x7, 0x4, 0x44, 0xFE, 0xE5, 0xFF, 0xFF, 0xFF, 0xFF, 0x0, 0x7F, 0xFD, 0xFC, 0x4, 0x6, 0x6, 0x44, 0x0, 0x26, 0x2, 0x40, 0x0, 0x0, 0x0, 0x26, 0x4, 0x3B, 0x34, 0xA, 0x0, 0x7, 0x4, 0x3A, 0x1, 0x87, 0x0, 0x6C, 0xFF, 0xFF, 0x0, 0x7F, 0xFD, 0xFC, 0x4, 0x6, 0x6, 0x44, 0x0, 0x26, 0x2, 0x40, 0x0, 0x0, 0x0, 0x26, 0x4, 0x3B, 0x34, 0xA, 0x0, 0x7, 0x4, 0x49, 0x1, 0x4D, 0x0, 0x6C, 0xFF, 0xFF, 0x0, 0x7F, 0xFD, 0xFC, 0x4, 0x6, 0x6, 0x44, 0x0, 0x26, 0x2, 0x40, 0x0, 0x0, 0x0, 0x26, 0x4, 0x3B, 0x34, 0xA, 0x0, 0x7, 0x4, 0x3F, 0x0, 0xAE, 0x0, 0x6C, 0xFF, 0xFF, 0x0, 0x7F, 0xFD, 0xFC, 0x4, 0x6, 0x6, 0x44, 0x0, 0x26, 0x2, 0x40, 0x0, 0x0, 0x0, 0x26, 0x4, 0x3B, 0x34, 0xA, 0x0, 0x7, 0x4, 0x42, 0x0, 0x95, 0x0, 0x6C, 0xFF, 0xFF, 0x0, 0x7F, 0xFD, 0xFC, 0x4, 0x6, 0x6, 0x44, 0x0, 0x26, 0x2, 0x40, 0x0, 0x0, 0x0, 0x26, 0x4, 0x3B, 0x34, 0xA, 0x0, 0x7, 0x4, 0x40, 0x1, 0x2, 0x0, 0x6C, 0xFF, 0xFF, 0x0, 0x7F, 0xFD, 0xFC, 0x4, 0x6, 0x6, 0x44, 0x0, 0x26, 0x2, 0x40, 0x0, 0x0, 0x0, 0x26, 0x4, 0x3B, 0x34, 0xA, 0x0, 0x7, 0x4, 0x43, 0x0, 0xCC, 0x0, 0x6C, 0xFF, 0xFF, 0x0, 0x7F, 0xFD, 0xFC, 0x4, 0x6, 0x7, 0xB, 0x0, 0x26, 0x2, 0x40, 0x0, 0x0, 0x0, 0x26, 0x4, 0x3B, 0x34, 0xA, 0x0, 0x7, 0x4, 0x41, 0x0, 0xD2, 0x0, 0x6C, 0xFF, 0xFF, 0x0, 0x7F, 0xFD, 0xFC, 0x4, 0x6, 0x7, 0xB, 0x0, 0x26, 0x2, 0x40, 0x0, 0x0, 0x0, 0x26, 0x4, 0x3B, 0x34, 0xA, 0x0, 0x7, 0x4, 0x44, 0x0, 0xAB, 0x0, 0x6C, 0xFF, 0xFF, 0xFE, 0x9F, 0xFD, 0xFC, 0x5, 0x19, 0x5, 0xD8, 0x0, 0x26, 0x0, 0x2D, 0x0, 0x0, 0x0, 0x27, 0x4, 0x3B, 0x2, 0xB, 0x0, 0xA, 0x0, 0x7, 0x4, 0x3A, 0xFE, 0x44, 0x0, 0x0, 0xFF, 0xFF, 0xFE, 0xA6, 0xFD, 0xFC, 0x5, 0x19, 0x5, 0xD8, 0x0, 0x26, 0x0, 0x2D, 0x0, 0x0, 0x0, 0x27, 0x4, 0x3B, 0x2, 0xB, 0x0, 0xA, 0x0, 0x7, 0x4, 0x49, 0xFE, 0x3D, 0x0, 0x0, 0xFF, 0xFF, 0xFD, 0x1A, 0xFD, 0xFC, 0x5, 0x19, 0x5, 0xD8, 0x0, 0x26, 0x0, 0x2D, 0x0, 0x0, 0x0, 0x27, 0x4, 0x3B, 0x2, 0xB, 0x0, 0xA, 0x0, 0x7, 0x4, 0x3F, 0xFC, 0xBF, 0x0, 0x0, 0xFF, 0xFF, 0xFD, 0x50, 0xFD, 0xFC, 0x5, 0x19, 0x5, 0xD8, 0x0, 0x26, 0x0, 0x2D, 0x0, 0x0, 0x0, 0x27, 0x4, 0x3B, 0x2, 0xB, 0x0, 0xA, 0x0, 0x7, 0x4, 0x42, 0xFC, 0xE8, 0x0, 0x0, 0xFF, 0xFF, 0xFD, 0x75, 0xFD, 0xFC, 0x5, 0x19, 0x5, 0xD8, 0x0, 0x26, 0x0, 0x2D, 0x0, 0x0, 0x0, 0x27, 0x4, 0x3B, 0x2, 0xB, 0x0, 0xA, 0x0, 0x7, 0x4, 0x40, 0xFD, 0x1A, 0x0, 0x0, 0xFF, 0xFF, 0xFD, 0x64, 0xFD, 0xFC, 0x5, 0x19, 0x5, 0xD8, 0x0, 0x26, 0x0, 0x2D, 0x0, 0x0, 0x0, 0x27, 0x4, 0x3B, 0x2, 0xB, 0x0, 0xA, 0x0, 0x7, 0x4, 0x43, 0xFC, 0xFC, 0x0, 0x0, 0xFF, 0xFF, 0xFD, 0xD2, 0xFD, 0xFC, 0x5, 0x19, 0x6, 0x9F, 0x0, 0x26, 0x0, 0x2D, 0x0, 0x0, 0x0, 0x27, 0x4, 0x3B, 0x2, 0xB, 0x0, 0xA, 0x0, 0x7, 0x4, 0x41, 0xFD, 0x63, 0x0, 0x0, 0xFF, 0xFF, 0xFD, 0xBF, 0xFD, 0xFC, 0x5, 0x19, 0x6, 0x9F, 0x0, 0x26, 0x0, 0x2D, 0x0, 0x0, 0x0, 0x27, 0x4, 0x3B, 0x2, 0xB, 0x0, 0xA, 0x0, 0x7, 0x4, 0x44, 0xFD, 0x50, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x66, 0xFD, 0xE8, 0x6, 0x2E, 0x6, 0x34, 0x0, 0x26, 0x2, 0x4D, 0x0, 0x0, 0x0, 0x27, 0x4, 0x3B, 0x2, 0x86, 0xFF, 0xF6, 0x0, 0x7, 0x4, 0x3A, 0x2, 0x8F, 0x0, 0x5C, 0xFF, 0xFF, 0x0, 0x66, 0xFD, 0xE8, 0x6, 0x2E, 0x6, 0x34, 0x0, 0x26, 0x2, 0x4D, 0x0, 0x0, 0x0, 0x27, 0x4, 0x3B, 0x2, 0x86, 0xFF, 0xF6, 0x0, 0x7, 0x4, 0x49, 0x2, 0x55, 0x0, 0x5C, 0xFF, 0xFF, 0x0, 0x66, 0xFD, 0xE8, 0x6, 0x2E, 0x6, 0x34, 0x0, 0x26, 0x2, 0x4D, 0x0, 0x0, 0x0, 0x27, 0x4, 0x3B, 0x2, 0x86, 0xFF, 0xF6, 0x0, 0x7, 0x4, 0x3F, 0x1, 0xB6, 0x0, 0x5C, 0xFF, 0xFF, 0x0, 0x66, 0xFD, 0xE8, 0x6, 0x2E, 0x6, 0x34, 0x0, 0x26, 0x2, 0x4D, 0x0, 0x0, 0x0, 0x27, 0x4, 0x3B, 0x2, 0x86, 0xFF, 0xF6, 0x0, 0x7, 0x4, 0x42, 0x1, 0x9D, 0x0, 0x5C, 0xFF, 0xFF, 0x0, 0x66, 0xFD, 0xE8, 0x6, 0x2E, 0x6, 0x34, 0x0, 0x26, 0x2, 0x4D, 0x0, 0x0, 0x0, 0x27, 0x4, 0x3B, 0x2, 0x86, 0xFF, 0xF6, 0x0, 0x7, 0x4, 0x40, 0x2, 0xA, 0x0, 0x5C, 0xFF, 0xFF, 0x0, 0x66, 0xFD, 0xE8, 0x6, 0x2E, 0x6, 0x34, 0x0, 0x26, 0x2, 0x4D, 0x0, 0x0, 0x0, 0x27, 0x4, 0x3B, 0x2, 0x86, 0xFF, 0xF6, 0x0, 0x7, 0x4, 0x43, 0x1, 0xD4, 0x0, 0x5C, 0xFF, 0xFF, 0x0, 0x66, 0xFD, 0xE8, 0x6, 0x2E, 0x6, 0xFB, 0x0, 0x26, 0x2, 0x4D, 0x0, 0x0, 0x0, 0x27, 0x4, 0x3B, 0x2, 0x86, 0xFF, 0xF6, 0x0, 0x7, 0x4, 0x41, 0x1, 0xDA, 0x0, 0x5C, 0xFF, 0xFF, 0x0, 0x66, 0xFD, 0xE8, 0x6, 0x2E, 0x6, 0xFB, 0x0, 0x26, 0x2, 0x4D, 0x0, 0x0, 0x0, 0x27, 0x4, 0x3B, 0x2, 0x86, 0xFF, 0xF6, 0x0, 0x7, 0x4, 0x44, 0x1, 0xB3, 0x0, 0x5C, 0xFF, 0xFF, 0xFF, 0x75, 0xFD, 0xFC, 0x4, 0xF1, 0x5, 0xD7, 0x0, 0x26, 0x2, 0x39, 0x14, 0x0, 0x0, 0x27, 0x4, 0x3B, 0x1, 0xF9, 0x0, 0xA, 0x0, 0x7, 0x4, 0x3A, 0xFF, 0x1A, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x7C, 0xFD, 0xFC, 0x4, 0xF1, 0x5, 0xD7, 0x0, 0x26, 0x2, 0x39, 0x14, 0x0, 0x0, 0x27, 0x4, 0x3B, 0x1, 0xF9, 0x0, 0xA, 0x0, 0x7, 0x4, 0x49, 0xFF, 0x13, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x22, 0xFD, 0xFC, 0x5, 0x23, 0x5, 0xD7, 0x0, 0x26, 0x2, 0x39, 0x46, 0x0, 0x0, 0x27, 0x4, 0x3B, 0x2, 0x2B, 0x0, 0xA, 0x0, 0x7, 0x4, 0x3F, 0xFD, 0xC7, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x58, 0xFD, 0xFC, 0x5, 0x23, 0x5, 0xD7, 0x0, 0x26, 0x2, 0x39, 0x46, 0x0, 0x0, 0x27, 0x4, 0x3B, 0x2, 0x2B, 0x0, 0xA, 0x0, 0x7, 0x4, 0x42, 0xFD, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x7D, 0xFD, 0xFC, 0x5, 0x23, 0x5, 0xD7, 0x0, 0x26, 0x2, 0x39, 0x46, 0x0, 0x0, 0x27, 0x4, 0x3B, 0x2, 0x2B, 0x0, 0xA, 0x0, 0x7, 0x4, 0x40, 0xFE, 0x22, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x6C, 0xFD, 0xFC, 0x5, 0x23, 0x5, 0xD7, 0x0, 0x26, 0x2, 0x39, 0x46, 0x0, 0x0, 0x27, 0x4, 0x3B, 0x2, 0x2B, 0x0, 0xA, 0x0, 0x7, 0x4, 0x43, 0xFE, 0x4, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xDA, 0xFD, 0xFC, 0x5, 0x23, 0x6, 0x9E, 0x0, 0x26, 0x2, 0x39, 0x46, 0x0, 0x0, 0x27, 0x4, 0x3B, 0x2, 0x2B, 0x0, 0xA, 0x0, 0x7, 0x4, 0x41, 0xFE, 0x6B, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xC7, 0xFD, 0xFC, 0x5, 0x23, 0x6, 0x9E, 0x0, 0x26, 0x2, 0x39, 0x46, 0x0, 0x0, 0x27, 0x4, 0x3B, 0x2, 0x2B, 0x0, 0xA, 0x0, 0x7, 0x4, 0x44, 0xFE, 0x58, 0xFF, 0xFF, 0xFF, 0xFF, 0x0, 0x56, 0xFF, 0xEB, 0x4, 0x7A, 0x5, 0xE7, 0x0, 0x26, 0x2, 0x3A, 0x0, 0x0, 0x0, 0x7, 0x1, 0x89, 0x0, 0xB7, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x56, 0xFF, 0xEB, 0x4, 0x7A, 0x5, 0xAD, 0x0, 0x26, 0x2, 0x3A, 0x0, 0x0, 0x0, 0x7, 0x0, 0x71, 0x0, 0x80, 0x0, 0x3, 0xFF, 0xFF, 0x0, 0x56, 0xFD, 0xE8, 0x4, 0x7A, 0x6, 0x2F, 0x0, 0x26, 0x2, 0x3A, 0x0, 0x0, 0x0, 0x27, 0x4, 0x3B, 0x1, 0x4E, 0xFF, 0xF6, 0x0, 0x7, 0x4, 0x47, 0x1, 0x15, 0x0, 0x6C, 0xFF, 0xFF, 0x0, 0x56, 0xFD, 0xE8, 0x4, 0x7A, 0x4, 0x4E, 0x0, 0x26, 0x2, 0x3A, 0x0, 0x0, 0x0, 0x7, 0x4, 0x3B, 0x1, 0x4E, 0xFF, 0xF6, 0xFF, 0xFF, 0x0, 0x56, 0xFD, 0xE8, 0x4, 0x7A, 0x6, 0x2F, 0x0, 0x26, 0x2, 0x3A, 0x0, 0x0, 0x0, 0x27, 0x4, 0x3B, 0x1, 0x4E, 0xFF, 0xF6, 0x0, 0x7, 0x4, 0x48, 0x1, 0xD7, 0x0, 0x6C, 0xFF, 0xFF, 0x0, 0x56, 0xFF, 0xEB, 0x4, 0x7A, 0x6, 0x61, 0x0, 0x26, 0x2, 0x3A, 0x0, 0x0, 0x0, 0x7, 0x4, 0x3D, 0x0, 0xE3, 0x0, 0x6C, 0xFF, 0xFF, 0x0, 0x56, 0xFD, 0xE8, 0x4, 0x7A, 0x6, 0x61, 0x0, 0x26, 0x2, 0x3A, 0x0, 0x0, 0x0, 0x27, 0x4, 0x3B, 0x1, 0x4E, 0xFF, 0xF6, 0x0, 0x7, 0x4, 0x3D, 0x0, 0xE3, 0x0, 0x6C, 0xFF, 0xFF, 0x0, 0x12, 0x0, 0x0, 0x5, 0x43, 0x7, 0x1D, 0x0, 0x26, 0x0, 0x26, 0x0, 0x0, 0x0, 0x7, 0x1, 0x89, 0x0, 0xF5, 0x1, 0x36, 0xFF, 0xFF, 0x0, 0x12, 0x0, 0x0, 0x5, 0x43, 0x6, 0xE3, 0x0, 0x26, 0x0, 0x26, 0x0, 0x0, 0x0, 0x7, 0x0, 0x71, 0x0, 0xBE, 0x1, 0x39, 0xFF, 0xFF, 0xFF, 0xD7, 0x0, 0x0, 0x5, 0x43, 0x5, 0xC2, 0x0, 0x26, 0x0, 0x26, 0x0, 0x0, 0x0, 0x7, 0x4, 0x47, 0xFF, 0x71, 0xFF, 0xFF, 0xFF, 0xFF, 0x0, 0x12, 0x0, 0x0, 0x5, 0x43, 0x5, 0xC2, 0x0, 0x26, 0x0, 0x26, 0x0, 0x0, 0x0, 0x6, 0x4, 0x48, 0xBC, 0xFF, 0xFF, 0xFF, 0x0, 0x12, 0xFD, 0xF5, 0x5, 0x43, 0x5, 0xB0, 0x0, 0x26, 0x0, 0x26, 0x0, 0x0, 0x0, 0x7, 0x4, 0x3B, 0x1, 0xF3, 0x0, 0x3, 0xFF, 0xFF, 0x0, 0x7F, 0xFD, 0xFC, 0x4, 0x6, 0x6, 0x2F, 0x0, 0x26, 0x2, 0x40, 0x0, 0x0, 0x0, 0x26, 0x4, 0x3B, 0x34, 0xA, 0x0, 0x7, 0x4, 0x47, 0x0, 0xE8, 0x0, 0x6C, 0xFF, 0xFF, 0x0, 0x7F, 0xFD, 0xFC, 0x4, 0x6, 0x4, 0x4E, 0x0, 0x26, 0x2, 0x40, 0x0, 0x0, 0x0, 0x6, 0x4, 0x3B, 0x34, 0xA, 0xFF, 0xFF, 0x0, 0x7F, 0xFD, 0xFC, 0x4, 0x6, 0x6, 0x2F, 0x0, 0x26, 0x2, 0x40, 0x0, 0x0, 0x0, 0x26, 0x4, 0x3B, 0x34, 0xA, 0x0, 0x7, 0x4, 0x48, 0x1, 0xAA, 0x0, 0x6C, 0xFF, 0xFF, 0x0, 0x7F, 0xFE, 0x61, 0x4, 0x6, 0x6, 0x61, 0x0, 0x26, 0x2, 0x40, 0x0, 0x0, 0x0, 0x7, 0x4, 0x3D, 0x0, 0xB6, 0x0, 0x6C, 0xFF, 0xFF, 0x0, 0x7F, 0xFD, 0xFC, 0x4, 0x6, 0x6, 0x61, 0x0, 0x26, 0x2, 0x40, 0x0, 0x0, 0x0, 0x26, 0x4, 0x3B, 0x34, 0xA, 0x0, 0x7, 0x4, 0x3D, 0x0, 0xB6, 0x0, 0x6C, 0xFF, 0xFF, 0xFE, 0x39, 0x0, 0x0, 0x4, 0x4D, 0x5, 0xC4, 0x0, 0x26, 0x0, 0x2A, 0x0, 0x0, 0x0, 0x7, 0x4, 0x47, 0xFD, 0xD3, 0x0, 0x1, 0xFF, 0xFF, 0xFE, 0x82, 0x0, 0x0, 0x4, 0x4D, 0x5, 0xC4, 0x0, 0x26, 0x0, 0x2A, 0x0, 0x0, 0x0, 0x7, 0x4, 0x48, 0xFE, 0x1E, 0x0, 0x1, 0xFF, 0xFF, 0xFE, 0x42, 0x0, 0x0, 0x5, 0x19, 0x5, 0xC3, 0x0, 0x26, 0x0, 0x2D, 0x0, 0x0, 0x0, 0x7, 0x4, 0x47, 0xFD, 0xDC, 0x0, 0x0, 0xFF, 0xFF, 0xFE, 0x8B, 0x0, 0x0, 0x5, 0x19, 0x5, 0xC3, 0x0, 0x26, 0x0, 0x2D, 0x0, 0x0, 0x0, 0x7, 0x4, 0x48, 0xFE, 0x27, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x95, 0xFD, 0xFC, 0x5, 0x19, 0x5, 0xB0, 0x0, 0x26, 0x0, 0x2D, 0x0, 0x0, 0x0, 0x7, 0x4, 0x3B, 0x2, 0xB, 0x0, 0xA, 0xFF, 0xFF, 0xFF, 0xEC, 0xFF, 0xF4, 0x2, 0x71, 0x5, 0xD2, 0x0, 0x26, 0x2, 0x42, 0x0, 0x0, 0x0, 0x7, 0x1, 0x89, 0xFF, 0x76, 0xFF, 0xEB, 0xFF, 0xFF, 0xFF, 0xDB, 0xFF, 0xF4, 0x2, 0x89, 0x5, 0x98, 0x0, 0x26, 0x2, 0x42, 0x0, 0x0, 0x0, 0x7, 0x0, 0x71, 0xFF, 0x3F, 0xFF, 0xEE, 0xFF, 0xFF, 0xFF, 0xC2, 0xFF, 0xF4, 0x2, 0x9B, 0x6, 0xBC, 0x0, 0x26, 0x2, 0x42, 0x0, 0x0, 0x0, 0x7, 0x4, 0x45, 0xFF, 0x53, 0x0, 0x57, 0xFF, 0xFF, 0xFF, 0xD0, 0xFF, 0xF4, 0x2, 0xA9, 0x6, 0xBC, 0x0, 0x26, 0x2, 0x42, 0x0, 0x0, 0x0, 0x7, 0x4, 0x46, 0xFF, 0x61, 0x0, 0x57, 0xFF, 0xFF, 0xFF, 0xED, 0xFF, 0xF4, 0x2, 0xCB, 0x6, 0x4C, 0x0, 0x26, 0x2, 0x42, 0x0, 0x0, 0x0, 0x6, 0x4, 0x3D, 0xA2, 0x57, 0xFF, 0xFF, 0xFF, 0xC6, 0xFF, 0xF4, 0x2, 0x9F, 0x7, 0x1E, 0x0, 0x26, 0x2, 0x42, 0x0, 0x0, 0x0, 0x7, 0x4, 0x3E, 0xFF, 0x57, 0x0, 0x57, 0xFF, 0xFF, 0xFF, 0xDF, 0x0, 0x0, 0x2, 0x64, 0x7, 0x25, 0x0, 0x26, 0x0, 0x2E, 0x0, 0x0, 0x0, 0x7, 0x1, 0x89, 0xFF, 0x69, 0x1, 0x3E, 0xFF, 0xFF, 0xFF, 0xCE, 0x0, 0x0, 0x2, 0x7C, 0x6, 0xEB, 0x0, 0x26, 0x0, 0x2E, 0x0, 0x0, 0x0, 0x7, 0x0, 0x71, 0xFF, 0x32, 0x1, 0x41, 0xFF, 0xFF, 0x0, 0x2D, 0x0, 0x0, 0x1, 0xA0, 0x7, 0x6D, 0x0, 0x26, 0x0, 0x2E, 0x0, 0x0, 0x0, 0x7, 0x4, 0x47, 0xFF, 0xC7, 0x1, 0xAA, 0xFF, 0xFF, 0x0, 0xA4, 0x0, 0x0, 0x2, 0x30, 0x7, 0x6D, 0x0, 0x26, 0x0, 0x2E, 0x0, 0x0, 0x0, 0x7, 0x4, 0x48, 0x0, 0x89, 0x1, 0xAA, 0xFF, 0xFF, 0x0, 0x80, 0xFF, 0xEB, 0x4, 0x8, 0x5, 0xD9, 0x0, 0x26, 0x2, 0x4A, 0x0, 0x0, 0x0, 0x6, 0x1, 0x89, 0x73, 0xF2, 0xFF, 0xFF, 0x0, 0x80, 0xFF, 0xEB, 0x4, 0x8, 0x5, 0x9F, 0x0, 0x26, 0x2, 0x4A, 0x0, 0x0, 0x0, 0x6, 0x0, 0x71, 0x3C, 0xF5, 0xFF, 0xFF, 0x0, 0x80, 0xFF, 0xEB, 0x4, 0x8, 0x6, 0xC3, 0x0, 0x26, 0x2, 0x4A, 0x0, 0x0, 0x0, 0x6, 0x4, 0x45, 0x50, 0x5E, 0xFF, 0xFF, 0x0, 0x80, 0xFF, 0xEB, 0x4, 0x8, 0x6, 0xC3, 0x0, 0x26, 0x2, 0x4A, 0x0, 0x0, 0x0, 0x6, 0x4, 0x46, 0x5E, 0x5E, 0xFF, 0xFF, 0x0, 0x81, 0xFE, 0x60, 0x4, 0x32, 0x6, 0x3A, 0x0, 0x26, 0x2, 0x46, 0x0, 0x0, 0x0, 0x7, 0x4, 0x3A, 0x1, 0x9C, 0x0, 0x62, 0xFF, 0xFF, 0x0, 0x81, 0xFE, 0x60, 0x4, 0x32, 0x6, 0x3A, 0x0, 0x26, 0x2, 0x46, 0x0, 0x0, 0x0, 0x7, 0x4, 0x49, 0x1, 0x62, 0x0, 0x62, 0xFF, 0xFF, 0x0, 0x80, 0xFF, 0xEB, 0x4, 0x8, 0x6, 0x53, 0x0, 0x26, 0x2, 0x4A, 0x0, 0x0, 0x0, 0x7, 0x4, 0x3D, 0x0, 0x9F, 0x0, 0x5E, 0xFF, 0xFF, 0x0, 0x80, 0xFF, 0xEB, 0x4, 0x8, 0x7, 0x25, 0x0, 0x26, 0x2, 0x4A, 0x0, 0x0, 0x0, 0x6, 0x4, 0x3E, 0x54, 0x5E, 0xFF, 0xFF, 0x0, 0x8, 0x0, 0x0, 0x4, 0xD6, 0x7, 0x1D, 0x0, 0x26, 0x0, 0x3E, 0x0, 0x0, 0x0, 0x7, 0x1, 0x89, 0x0, 0xBB, 0x1, 0x36, 0xFF, 0xFF, 0x0, 0x8, 0x0, 0x0, 0x4, 0xD6, 0x6, 0xE3, 0x0, 0x26, 0x0, 0x3E, 0x0, 0x0, 0x0, 0x7, 0x0, 0x71, 0x0, 0x84, 0x1, 0x39, 0xFF, 0xFF, 0xFE, 0x33, 0x0, 0x0, 0x4, 0xD6, 0x5, 0xC2, 0x0, 0x26, 0x0, 0x3E, 0x0, 0x0, 0x0, 0x7, 0x4, 0x47, 0xFD, 0xCD, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x7C, 0x0, 0x0, 0x4, 0xD6, 0x5, 0xC2, 0x0, 0x26, 0x0, 0x3E, 0x0, 0x0, 0x0, 0x7, 0x4, 0x48, 0xFE, 0x18, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xD8, 0x0, 0x0, 0x4, 0xD4, 0x5, 0xD7, 0x0, 0x26, 0x0, 0x35, 0x0, 0x0, 0x0, 0x7, 0x4, 0x49, 0xFE, 0x6F, 0xFF, 0xFF, 0xFF, 0xFF, 0x0, 0x66, 0xFD, 0xE8, 0x6, 0x2E, 0x6, 0x1F, 0x0, 0x26, 0x2, 0x4D, 0x0, 0x0, 0x0, 0x27, 0x4, 0x3B, 0x2, 0x86, 0xFF, 0xF6, 0x0, 0x7, 0x4, 0x47, 0x1, 0xF0, 0x0, 0x5C, 0xFF, 0xFF, 0x0, 0x66, 0xFD, 0xE8, 0x6, 0x2E, 0x4, 0x3A, 0x0, 0x26, 0x2, 0x4D, 0x0, 0x0, 0x0, 0x7, 0x4, 0x3B, 0x2, 0x86, 0xFF, 0xF6, 0xFF, 0xFF, 0x0, 0x66, 0xFD, 0xE8, 0x6, 0x2E, 0x6, 0x1F, 0x0, 0x26, 0x2, 0x4D, 0x0, 0x0, 0x0, 0x27, 0x4, 0x3B, 0x2, 0x86, 0xFF, 0xF6, 0x0, 0x7, 0x4, 0x48, 0x2, 0xB2, 0x0, 0x5C, 0xFF, 0xFF, 0x0, 0x66, 0xFF, 0xEB, 0x6, 0x2E, 0x6, 0x51, 0x0, 0x26, 0x2, 0x4D, 0x0, 0x0, 0x0, 0x7, 0x4, 0x3D, 0x1, 0xBE, 0x0, 0x5C, 0xFF, 0xFF, 0x0, 0x66, 0xFD, 0xE8, 0x6, 0x2E, 0x6, 0x51, 0x0, 0x26, 0x2, 0x4D, 0x0, 0x0, 0x0, 0x27, 0x4, 0x3B, 0x2, 0x86, 0xFF, 0xF6, 0x0, 0x7, 0x4, 0x3D, 0x1, 0xBE, 0x0, 0x5C, 0xFF, 0xFF, 0xFF, 0xE, 0xFF, 0xEC, 0x5, 0x33, 0x5, 0xC4, 0x0, 0x26, 0x0, 0x34, 0x14, 0x0, 0x0, 0x7, 0x4, 0x47, 0xFE, 0xA8, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x57, 0xFF, 0xEC, 0x5, 0x33, 0x5, 0xC4, 0x0, 0x26, 0x0, 0x34, 0x14, 0x0, 0x0, 0x7, 0x4, 0x48, 0xFE, 0xF3, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x18, 0x0, 0x0, 0x4, 0xF1, 0x5, 0xC4, 0x0, 0x26, 0x2, 0x39, 0x14, 0x0, 0x0, 0x7, 0x4, 0x47, 0xFE, 0xB2, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x61, 0x0, 0x0, 0x4, 0xF1, 0x5, 0xC4, 0x0, 0x26, 0x2, 0x39, 0x14, 0x0, 0x0, 0x7, 0x4, 0x48, 0xFE, 0xFD, 0xFF, 0xFF, 0xFF, 0xFF, 0x0, 0x6B, 0xFD, 0xFC, 0x4, 0xDD, 0x5, 0xC4, 0x0, 0x26, 0x2, 0x39, 0x0, 0x0, 0x0, 0x7, 0x4, 0x3B, 0x1, 0xE5, 0x0, 0xA, 0xFF, 0xFF, 0x0, 0x3C, 0xFF, 0xF4, 0x7, 0x7D, 0x5, 0xC4, 0x0, 0x26, 0x0, 0x24, 0x0, 0x0, 0x0, 0x7, 0x0, 0x24, 0x3, 0xE5, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x3C, 0xFF, 0xF2, 0x5, 0x88, 0x5, 0xC4, 0x0, 0x26, 0x0, 0x24, 0x0, 0x0, 0x0, 0x7, 0x0, 0x6, 0x3, 0xE5, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x90, 0xFF, 0xF2, 0x5, 0xBD, 0x5, 0xC4, 0x0, 0x26, 0x0, 0x6, 0x0, 0x0, 0x0, 0x7, 0x0, 0x24, 0x2, 0x25, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x88, 0x2, 0x7, 0x2, 0x45, 0x3, 0xDB, 0x0, 0x6, 0x4, 0x6C, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x9, 0x0, 0x0, 0x4, 0x94, 0x5, 0x1D, 0x0, 0x26, 0x7, 0xB1, 0x0, 0x0, 0x0, 0x7, 0x2, 0x2D, 0xFF, 0x75, 0xFE, 0xDC, 0xFF, 0xFF, 0xFF, 0x66, 0x0, 0x0, 0x3, 0xF2, 0x5, 0x20, 0x0, 0x26, 0x7, 0xA6, 0x3C, 0x0, 0x0, 0x7, 0x2, 0x2D, 0xFE, 0x9F, 0xFE, 0xDF, 0xFF, 0xFF, 0xFF, 0x73, 0x0, 0x0, 0x4, 0xA4, 0x5, 0x1B, 0x0, 0x26, 0x7, 0x60, 0x3C, 0x0, 0x0, 0x7, 0x2, 0x2D, 0xFE, 0xAC, 0xFE, 0xDA, 0xFF, 0xFF, 0xFF, 0x75, 0x0, 0x0, 0x1, 0xB4, 0x5, 0x20, 0x0, 0x26, 0x7, 0x5F, 0x3C, 0x0, 0x0, 0x7, 0x2, 0x2D, 0xFE, 0xAE, 0xFE, 0xDF, 0xFF, 0xFF, 0xFF, 0x9E, 0xFF, 0xF0, 0x4, 0x79, 0x5, 0x1D, 0x0, 0x26, 0x7, 0x59, 0xA, 0x0, 0x0, 0x7, 0x2, 0x2D, 0xFE, 0xD7, 0xFE, 0xDC, 0xFF, 0xFF, 0xFF, 0x24, 0x0, 0x0, 0x4, 0x73, 0x5, 0x1D, 0x0, 0x26, 0x7, 0x4F, 0x3C, 0x0, 0x0, 0x7, 0x2, 0x2D, 0xFE, 0x5D, 0xFE, 0xDC, 0xFF, 0xFF, 0xFF, 0xAE, 0x0, 0x0, 0x4, 0x8E, 0x5, 0x1D, 0x0, 0x26, 0x7, 0x6F, 0xA, 0x0, 0x0, 0x7, 0x2, 0x2D, 0xFE, 0xE7, 0xFE, 0xDC, 0xFF, 0xFF, 0x0, 0x9, 0x0, 0x0, 0x4, 0x94, 0x4, 0x8D, 0x0, 0x6, 0x7, 0xB1, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x76, 0x0, 0x0, 0x4, 0xA, 0x4, 0x8D, 0x0, 0x6, 0x7, 0xB0, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x76, 0x0, 0x0, 0x3, 0xB6, 0x4, 0x8D, 0x0, 0x6, 0x7, 0xA6, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x41, 0x0, 0x0, 0x3, 0xF3, 0x4, 0x8D, 0x0, 0x6, 0x7, 0x4E, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x76, 0x0, 0x0, 0x4, 0x68, 0x4, 0x8D, 0x0, 0x6, 0x7, 0x60, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x85, 0x0, 0x0, 0x1, 0x78, 0x4, 0x8D, 0x0, 0x6, 0x7, 0x5F, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x76, 0x0, 0x0, 0x4, 0x69, 0x4, 0x8D, 0x0, 0x6, 0x7, 0x5D, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x76, 0x0, 0x0, 0x5, 0x90, 0x4, 0x8D, 0x0, 0x6, 0x7, 0x5B, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x76, 0x0, 0x0, 0x4, 0x67, 0x4, 0x8D, 0x0, 0x6, 0x7, 0x5A, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x50, 0xFF, 0xF0, 0x4, 0x6F, 0x4, 0x9D, 0x0, 0x6, 0x7, 0x59, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x76, 0x0, 0x0, 0x4, 0x2C, 0x4, 0x8D, 0x0, 0x6, 0x7, 0x58, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x25, 0x0, 0x0, 0x4, 0x16, 0x4, 0x8D, 0x0, 0x6, 0x7, 0x54, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x5, 0x0, 0x0, 0x4, 0x37, 0x4, 0x8D, 0x0, 0x6, 0x7, 0x4F, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x16, 0x0, 0x0, 0x4, 0x4A, 0x4, 0x8D, 0x0, 0x6, 0x7, 0x50, 0x0, 0x0, 0xFF, 0xFF, 0xFF, 0x9E, 0x0, 0x0, 0x2, 0x64, 0x5, 0xEB, 0x0, 0x26, 0x7, 0x5F, 0x0, 0x0, 0x0, 0x7, 0x0, 0x6B, 0xFF, 0x40, 0x0, 0x1E, 0xFF, 0xFF, 0x0, 0x5, 0x0, 0x0, 0x4, 0x37, 0x5, 0xEB, 0x0, 0x26, 0x7, 0x4F, 0x0, 0x0, 0x0, 0x6, 0x0, 0x6B, 0x5A, 0x1E, 0xFF, 0xFF, 0x0, 0x76, 0x0, 0x0, 0x3, 0xB6, 0x5, 0xEB, 0x0, 0x26, 0x7, 0xA6, 0x0, 0x0, 0x0, 0x6, 0x0, 0x6B, 0x62, 0x1E, 0xFF, 0xFF, 0x0, 0x76, 0x0, 0x0, 0x3, 0x97, 0x6, 0x1E, 0x0, 0x26, 0x7, 0x66, 0x0, 0x0, 0x0, 0x7, 0x0, 0x76, 0x1, 0x23, 0x0, 0x1E, 0xFF, 0xFF, 0x0, 0x3F, 0xFF, 0xF0, 0x3, 0xEF, 0x4, 0x9D, 0x0, 0x6, 0x7, 0x55, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x85, 0x0, 0x0, 0x1, 0x78, 0x4, 0x8D, 0x0, 0x6, 0x7, 0x5F, 0x0, 0x0, 0xFF, 0xFF, 0xFF, 0x9E, 0x0, 0x0, 0x2, 0x64, 0x5, 0xEB, 0x0, 0x26, 0x7, 0x5F, 0x0, 0x0, 0x0, 0x7, 0x0, 0x6B, 0xFF, 0x40, 0x0, 0x1E, 0xFF, 0xFF, 0x0, 0x25, 0xFF, 0xF0, 0x3, 0x65, 0x4, 0x8D, 0x0, 0x6, 0x7, 0x5E, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x76, 0x0, 0x0, 0x4, 0x69, 0x6, 0x1E, 0x0, 0x26, 0x7, 0x5D, 0x0, 0x0, 0x0, 0x7, 0x0, 0x76, 0x1, 0x16, 0x0, 0x1E, 0xFF, 0xFF, 0x0, 0x20, 0xFF, 0xEC, 0x4, 0x3A, 0x6, 0x5, 0x0, 0x26, 0x7, 0x7D, 0x0, 0x0, 0x0, 0x6, 0x1, 0x89, 0x79, 0x1E, 0xFF, 0xFF, 0x0, 0x9, 0x0, 0x0, 0x4, 0x94, 0x4, 0x8D, 0x0, 0x6, 0x7, 0xB1, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x76, 0x0, 0x0, 0x4, 0xA, 0x4, 0x8D, 0x0, 0x6, 0x7, 0xB0, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x76, 0x0, 0x0, 0x3, 0x97, 0x4, 0x8D, 0x0, 0x6, 0x7, 0x66, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x76, 0x0, 0x0, 0x3, 0xB6, 0x4, 0x8D, 0x0, 0x6, 0x7, 0xA6, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x76, 0x0, 0x0, 0x4, 0x6E, 0x6, 0x5, 0x0, 0x26, 0x7, 0x7A, 0x0, 0x0, 0x0, 0x7, 0x1, 0x89, 0x0, 0xB9, 0x0, 0x1E, 0xFF, 0xFF, 0x0, 0x76, 0x0, 0x0, 0x5, 0x90, 0x4, 0x8D, 0x0, 0x6, 0x7, 0x5B, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x76, 0x0, 0x0, 0x4, 0x68, 0x4, 0x8D, 0x0, 0x6, 0x7, 0x60, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x50, 0xFF, 0xF0, 0x4, 0x6F, 0x4, 0x9D, 0x0, 0x6, 0x7, 0x59, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x76, 0x0, 0x0, 0x4, 0x62, 0x4, 0x8D, 0x0, 0x6, 0x7, 0x6B, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x76, 0x0, 0x0, 0x4, 0x2C, 0x4, 0x8D, 0x0, 0x6, 0x7, 0x58, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x50, 0xFF, 0xF0, 0x4, 0x44, 0x4, 0x9D, 0x0, 0x6, 0x7, 0xAF, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x25, 0x0, 0x0, 0x4, 0x16, 0x4, 0x8D, 0x0, 0x6, 0x7, 0x54, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x16, 0x0, 0x0, 0x4, 0x4A, 0x4, 0x8D, 0x0, 0x6, 0x7, 0x50, 0x0, 0x0, 0x0, 0x1, 0x0, 0x43, 0xFE, 0x37, 0x3, 0xE8, 0x4, 0x9D, 0x0, 0x29, 0x0, 0x0, 0x1, 0x23, 0x11, 0x26, 0x26, 0x35, 0x33, 0x16, 0x16, 0x33, 0x32, 0x36, 0x35, 0x34, 0x27, 0x23, 0x35, 0x33, 0x36, 0x35, 0x34, 0x26, 0x23, 0x22, 0x6, 0x15, 0x23, 0x34, 0x36, 0x33, 0x32, 0x16, 0x15, 0x14, 0x6, 0x7, 0x16, 0x16, 0x15, 0x14, 0x6, 0x7, 0x2, 0x81, 0xF3, 0x81, 0xCA, 0xF3, 0x5, 0x7A, 0x56, 0x77, 0x73, 0xE0, 0x94, 0x9D, 0xC5, 0x65, 0x76, 0x4F, 0x72, 0xF3, 0xFB, 0xBA, 0xCD, 0xFF, 0x6E, 0x5C, 0x6F, 0x6E, 0xC9, 0x9E, 0xFE, 0x37, 0x1, 0xC3, 0x16, 0x9B, 0x9C, 0x50, 0x43, 0x57, 0x47, 0xA7, 0x3, 0xB0, 0x5, 0x93, 0x3E, 0x56, 0x3E, 0x43, 0x9B, 0xAB, 0x9F, 0x9E, 0x59, 0x8C, 0x26, 0x25, 0x90, 0x5C, 0x90, 0xA6, 0x16, 0x0, 0x1, 0x0, 0x76, 0xFE, 0x99, 0x5, 0x2D, 0x4, 0x8D, 0x0, 0xF, 0x0, 0x0, 0x1, 0x23, 0x11, 0x23, 0x11, 0x21, 0x11, 0x23, 0x11, 0x33, 0x11, 0x21, 0x11, 0x33, 0x11, 0x33, 0x5, 0x2D, 0xF3, 0xC4, 0xFD, 0xF3, 0xF3, 0xF3, 0x2, 0xD, 0xF2, 0xC5, 0xFE, 0x99, 0x1, 0x67, 0x1, 0xDB, 0xFE, 0x25, 0x4, 0x8D, 0xFE, 0x12, 0x1, 0xEE, 0xFC, 0x28, 0x0, 0x1, 0x0, 0x50, 0xFE, 0x40, 0x4, 0x44, 0x4, 0x9D, 0x0, 0x1D, 0x0, 0x0, 0x1, 0x6, 0x6, 0x7, 0x11, 0x23, 0x11, 0x26, 0x2, 0x35, 0x35, 0x10, 0x0, 0x33, 0x32, 0x16, 0x17, 0x23, 0x26, 0x26, 0x23, 0x20, 0x3, 0x15, 0x14, 0x16, 0x33, 0x32, 0x36, 0x37, 0x4, 0x43, 0xD, 0xC0, 0xAF, 0xF3, 0xB6, 0xCE, 0x1, 0x19, 0xEC, 0xE8, 0xF4, 0x13, 0xF3, 0xA, 0x6F, 0x83, 0xFE, 0xF4, 0x7, 0x7F, 0x8F, 0x80, 0x75, 0xB, 0x1, 0x85, 0x99, 0xD6, 0x1D, 0xFE, 0x47, 0x1, 0xBC, 0x25, 0x1, 0x20, 0xDF, 0x4C, 0x1, 0x3, 0x1, 0x2E, 0xE9, 0xB3, 0x61, 0x78, 0xFE, 0xA5, 0x5F, 0xAE, 0xBF, 0x6A, 0x68, 0xFF, 0xFF, 0x0, 0x5, 0x0, 0x0, 0x4, 0x37, 0x4, 0x8D, 0x0, 0x6, 0x7, 0x4F, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0xB, 0xFE, 0x37, 0x5, 0xA8, 0x4, 0xA4, 0x0, 0x26, 0x7, 0x93, 0x0, 0x0, 0x0, 0x7, 0x7, 0xDB, 0x2, 0xE5, 0xFF, 0x9E, 0xFF, 0xFF, 0x0, 0x76, 0x0, 0x0, 0x4, 0x6E, 0x5, 0xCB, 0x0, 0x26, 0x7, 0x7A, 0x0, 0x0, 0x0, 0x7, 0x0, 0x71, 0x0, 0x82, 0x0, 0x21, 0xFF, 0xFF, 0x0, 0x20, 0xFF, 0xEC, 0x4, 0x3A, 0x5, 0xCB, 0x0, 0x26, 0x7, 0x7D, 0x0, 0x0, 0x0, 0x6, 0x0, 0x71, 0x42, 0x21, 0xFF, 0xFF, 0x0, 0x51, 0x0, 0x0, 0x5, 0x4D, 0x4, 0x8D, 0x0, 0x6, 0x7, 0x6D, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x25, 0xFF, 0xF0, 0x3, 0x65, 0x4, 0x8D, 0x0, 0x6, 0x7, 0x5E, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x85, 0xFF, 0xF0, 0x5, 0x62, 0x4, 0x8D, 0x0, 0x26, 0x7, 0x5F, 0x0, 0x0, 0x0, 0x7, 0x7, 0x5E, 0x1, 0xFD, 0x0, 0x0, 0xFF, 0xFF, 0xFF, 0xF0, 0x0, 0x0, 0x6, 0x4, 0x6, 0x0, 0x0, 0x26, 0x8, 0xB4, 0x0, 0x0, 0x0, 0x7, 0x0, 0x76, 0x2, 0x82, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x50, 0xFF, 0xC8, 0x4, 0x6F, 0x6, 0x1E, 0x0, 0x26, 0x8, 0xB6, 0x0, 0x0, 0x0, 0x7, 0x0, 0x76, 0x1, 0x73, 0x0, 0x1E, 0xFF, 0xFF, 0x0, 0x3F, 0xFD, 0xF7, 0x3, 0xEF, 0x4, 0x9D, 0x0, 0x26, 0x7, 0x55, 0x0, 0x0, 0x0, 0x7, 0x7, 0x25, 0x1, 0x3C, 0xFE, 0x91, 0xFF, 0xFF, 0x0, 0x29, 0x0, 0x0, 0x5, 0xE6, 0x6, 0x1E, 0x0, 0x26, 0x7, 0x51, 0x0, 0x0, 0x0, 0x7, 0x0, 0x45, 0x1, 0x78, 0x0, 0x1E, 0xFF, 0xFF, 0x0, 0x29, 0x0, 0x0, 0x5, 0xE6, 0x6, 0x1E, 0x0, 0x26, 0x7, 0x51, 0x0, 0x0, 0x0, 0x7, 0x0, 0x76, 0x2, 0x17, 0x0, 0x1E, 0xFF, 0xFF, 0x0, 0x29, 0x0, 0x0, 0x5, 0xE6, 0x5, 0xEB, 0x0, 0x26, 0x7, 0x51, 0x0, 0x0, 0x0, 0x7, 0x0, 0x6B, 0x1, 0x44, 0x0, 0x1E, 0xFF, 0xFF, 0x0, 0x5, 0x0, 0x0, 0x4, 0x37, 0x6, 0x1E, 0x0, 0x26, 0x7, 0x4F, 0x0, 0x0, 0x0, 0x7, 0x0, 0x45, 0x0, 0x8E, 0x0, 0x1E, 0xFF, 0xFF, 0x0, 0x12, 0xFE, 0x55, 0x5, 0x43, 0x5, 0xB0, 0x0, 0x26, 0x0, 0x26, 0x0, 0x0, 0x0, 0x7, 0x1, 0x8C, 0x1, 0x82, 0x0, 0x3, 0xFF, 0xFF, 0x0, 0x5B, 0xFE, 0x5A, 0x3, 0xFC, 0x4, 0x4E, 0x0, 0x26, 0x0, 0x46, 0x0, 0x0, 0x0, 0x7, 0x1, 0x8C, 0x0, 0xB4, 0x0, 0x8, 0xFF, 0xFF, 0x0, 0x95, 0xFE, 0x5C, 0x4, 0x4D, 0x5, 0xB0, 0x0, 0x26, 0x0, 0x2A, 0x0, 0x0, 0x0, 0x7, 0x1, 0x8C, 0x1, 0x3F, 0x0, 0xA, 0xFF, 0xFF, 0x0, 0x54, 0xFE, 0x52, 0x4, 0xC, 0x4, 0x4E, 0x0, 0x26, 0x0, 0x4A, 0x0, 0x0, 0x0, 0x7, 0x1, 0x8C, 0x1, 0x4, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x66, 0xFE, 0x52, 0x5, 0x1F, 0x5, 0xC4, 0x0, 0x26, 0x0, 0x34, 0x0, 0x0, 0x0, 0x7, 0x1, 0x8C, 0x1, 0x92, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x50, 0xFE, 0x4E, 0x4, 0x3E, 0x4, 0x4E, 0x0, 0x26, 0x0, 0x54, 0x0, 0x0, 0x0, 0x7, 0x1, 0x8C, 0x1, 0x12, 0xFF, 0xFC, 0xFF, 0xFF, 0x0, 0x9, 0xFE, 0x52, 0x4, 0x94, 0x4, 0x8D, 0x0, 0x26, 0x7, 0xB1, 0x0, 0x0, 0x0, 0x7, 0x1, 0x8C, 0x1, 0x23, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x76, 0xFE, 0x5A, 0x3, 0xB6, 0x4, 0x8D, 0x0, 0x26, 0x7, 0xA6, 0x0, 0x0, 0x0, 0x7, 0x1, 0x8C, 0x0, 0xED, 0x0, 0x8, 0xFF, 0xFF, 0x0, 0x50, 0xFE, 0x52, 0x4, 0x6F, 0x4, 0x9D, 0x0, 0x26, 0x7, 0x59, 0x0, 0x0, 0x0, 0x7, 0x1, 0x8C, 0x1, 0x39, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x66, 0xFF, 0xEC, 0x5, 0xD, 0x7, 0x54, 0x0, 0x26, 0x7, 0xE0, 0x0, 0x0, 0x0, 0x7, 0x0, 0x45, 0x1, 0x35, 0x1, 0x54, 0xFF, 0xFF, 0x0, 0x66, 0xFF, 0xEC, 0x5, 0xD, 0x7, 0x54, 0x0, 0x26, 0x7, 0xE0, 0x0, 0x0, 0x0, 0x7, 0x0, 0x76, 0x1, 0xD4, 0x1, 0x54, 0xFF, 0xFF, 0x0, 0x66, 0xFF, 0xEC, 0x5, 0xD, 0x7, 0x55, 0x0, 0x26, 0x7, 0xE0, 0x0, 0x0, 0x0, 0x7, 0x1, 0x77, 0x0, 0xD5, 0x1, 0x54, 0xFF, 0xFF, 0x0, 0x66, 0xFF, 0xEC, 0x5, 0xD, 0x7, 0x49, 0x0, 0x26, 0x7, 0xE0, 0x0, 0x0, 0x0, 0x7, 0x1, 0x8D, 0x0, 0xD7, 0x1, 0x54, 0xFF, 0xFF, 0x0, 0x66, 0xFF, 0xEC, 0x5, 0xD, 0x7, 0x21, 0x0, 0x26, 0x7, 0xE0, 0x0, 0x0, 0x0, 0x7, 0x0, 0x6B, 0x1, 0x1, 0x1, 0x54, 0xFF, 0xFF, 0x0, 0x66, 0xFF, 0xEC, 0x5, 0xD, 0x7, 0xB2, 0x0, 0x26, 0x7, 0xE0, 0x0, 0x0, 0x0, 0x7, 0x1, 0x8B, 0x1, 0x6A, 0x1, 0x88, 0xFF, 0xFF, 0x0, 0x66, 0xFF, 0xEC, 0x5, 0xD, 0x7, 0x1, 0x0, 0x26, 0x7, 0xE0, 0x0, 0x0, 0x0, 0x7, 0x0, 0x71, 0x0, 0xD1, 0x1, 0x57, 0xFF, 0xFF, 0x0, 0x66, 0xFF, 0xEC, 0x5, 0xD, 0x7, 0x3B, 0x0, 0x26, 0x7, 0xE0, 0x0, 0x0, 0x0, 0x7, 0x1, 0x89, 0x1, 0x8, 0x1, 0x54, 0xFF, 0xFF, 0x0, 0x66, 0xFE, 0x52, 0x5, 0xD, 0x5, 0xC4, 0x0, 0x26, 0x7, 0xE0, 0x0, 0x0, 0x0, 0x7, 0x1, 0x8C, 0x3, 0x17, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x66, 0xFF, 0xEC, 0x5, 0xD, 0x7, 0xCF, 0x0, 0x26, 0x7, 0xE0, 0x0, 0x0, 0x0, 0x7, 0x7, 0xA5, 0x1, 0x70, 0x1, 0x39, 0xFF, 0xFF, 0x0, 0x65, 0xFF, 0xEA, 0x5, 0x30, 0x7, 0x5C, 0x0, 0x26, 0x7, 0xE1, 0x0, 0x0, 0x0, 0x7, 0x0, 0x45, 0x1, 0x4E, 0x1, 0x5C, 0xFF, 0xFF, 0x0, 0x65, 0xFF, 0xEA, 0x5, 0x30, 0x7, 0x5C, 0x0, 0x26, 0x7, 0xE1, 0x0, 0x0, 0x0, 0x7, 0x0, 0x76, 0x1, 0xED, 0x1, 0x5C, 0xFF, 0xFF, 0x0, 0x65, 0xFF, 0xEA, 0x5, 0x30, 0x7, 0x5D, 0x0, 0x26, 0x7, 0xE1, 0x0, 0x0, 0x0, 0x7, 0x1, 0x77, 0x0, 0xEE, 0x1, 0x5C, 0xFF, 0xFF, 0x0, 0x65, 0xFF, 0xEA, 0x5, 0x30, 0x7, 0x29, 0x0, 0x26, 0x7, 0xE1, 0x0, 0x0, 0x0, 0x7, 0x0, 0x6B, 0x1, 0x1A, 0x1, 0x5C, 0xFF, 0xFF, 0x0, 0x65, 0xFF, 0xEA, 0x5, 0x30, 0x7, 0x9, 0x0, 0x26, 0x7, 0xE1, 0x0, 0x0, 0x0, 0x7, 0x0, 0x71, 0x0, 0xEA, 0x1, 0x5F, 0xFF, 0xFF, 0x0, 0x65, 0xFF, 0xEA, 0x5, 0x30, 0x7, 0x43, 0x0, 0x26, 0x7, 0xE1, 0x0, 0x0, 0x0, 0x7, 0x1, 0x89, 0x1, 0x21, 0x1, 0x5C, 0xFF, 0xFF, 0x0, 0x65, 0xFF, 0xEA, 0x5, 0x30, 0x7, 0x39, 0x0, 0x26, 0x7, 0xE1, 0x0, 0x0, 0x0, 0x7, 0x1, 0x8A, 0x1, 0xD4, 0x1, 0x64, 0xFF, 0xFF, 0x0, 0x65, 0xFE, 0x52, 0x5, 0x30, 0x5, 0xC4, 0x0, 0x26, 0x7, 0xE1, 0x0, 0x0, 0x0, 0x7, 0x1, 0x8C, 0x2, 0x6, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x65, 0xFF, 0xEA, 0x5, 0x30, 0x7, 0x5E, 0x0, 0x26, 0x7, 0xE1, 0x0, 0x0, 0x0, 0x7, 0x1, 0x78, 0x1, 0x6, 0x1, 0x5C, 0xFF, 0xFF, 0x0, 0x95, 0x0, 0x0, 0x5, 0x19, 0x7, 0x49, 0x0, 0x26, 0x7, 0xDE, 0x0, 0x0, 0x0, 0x7, 0x1, 0x8D, 0x0, 0xF5, 0x1, 0x54, 0xFF, 0xFF, 0x0, 0x95, 0x0, 0x0, 0x5, 0x19, 0x7, 0x54, 0x0, 0x26, 0x7, 0xDE, 0x0, 0x0, 0x0, 0x7, 0x0, 0x76, 0x1, 0xF2, 0x1, 0x54, 0xFF, 0xFF, 0x0, 0x95, 0xFD, 0xFE, 0x5, 0x19, 0x5, 0xC4, 0x0, 0x26, 0x7, 0xDE, 0x0, 0x0, 0x0, 0x7, 0x7, 0x25, 0x1, 0xE5, 0xFE, 0x98, 0xFF, 0xFF, 0x0, 0x95, 0x0, 0x0, 0x5, 0x19, 0x7, 0x56, 0x0, 0x26, 0x7, 0xDE, 0x0, 0x0, 0x0, 0x7, 0x1, 0x78, 0x1, 0xB, 0x1, 0x54, 0xFF, 0xFF, 0x0, 0x95, 0xFF, 0xEC, 0x5, 0x19, 0x7, 0x54, 0x0, 0x26, 0x7, 0xDF, 0x0, 0x0, 0x0, 0x7, 0x0, 0x45, 0x1, 0x4A, 0x1, 0x54, 0xFF, 0xFF, 0x0, 0x95, 0xFF, 0xEC, 0x5, 0x19, 0x7, 0x54, 0x0, 0x26, 0x7, 0xDF, 0x0, 0x0, 0x0, 0x7, 0x0, 0x76, 0x1, 0xE9, 0x1, 0x54, 0xFF, 0xFF, 0x0, 0x95, 0xFF, 0xEC, 0x5, 0x19, 0x7, 0x21, 0x0, 0x26, 0x7, 0xDF, 0x0, 0x0, 0x0, 0x7, 0x0, 0x6B, 0x1, 0x16, 0x1, 0x54, 0xFF, 0xFF, 0x0, 0x95, 0xFF, 0xEC, 0x5, 0x19, 0x7, 0x49, 0x0, 0x26, 0x7, 0xDF, 0x0, 0x0, 0x0, 0x7, 0x1, 0x8D, 0x0, 0xEC, 0x1, 0x54, 0xFF, 0xFF, 0x0, 0x95, 0xFF, 0xEC, 0x5, 0x19, 0x7, 0x1, 0x0, 0x26, 0x7, 0xDF, 0x0, 0x0, 0x0, 0x7, 0x0, 0x71, 0x0, 0xE6, 0x1, 0x57, 0xFF, 0xFF, 0x0, 0x95, 0xFF, 0xEC, 0x5, 0x19, 0x7, 0x3B, 0x0, 0x26, 0x7, 0xDF, 0x0, 0x0, 0x0, 0x7, 0x1, 0x89, 0x1, 0x1D, 0x1, 0x54, 0xFF, 0xFF, 0x0, 0x95, 0xFF, 0xEC, 0x5, 0x19, 0x7, 0xB2, 0x0, 0x26, 0x7, 0xDF, 0x0, 0x0, 0x0, 0x7, 0x1, 0x8B, 0x1, 0x7F, 0x1, 0x88, 0xFF, 0xFF, 0x0, 0x95, 0xFF, 0xEC, 0x5, 0x19, 0x7, 0x53, 0x0, 0x26, 0x7, 0xDF, 0x0, 0x0, 0x0, 0x7, 0x1, 0x8E, 0x1, 0x74, 0x1, 0x54, 0xFF, 0xFF, 0x0, 0x95, 0xFE, 0x52, 0x5, 0x19, 0x5, 0xB0, 0x0, 0x26, 0x7, 0xDF, 0x0, 0x0, 0x0, 0x7, 0x1, 0x8C, 0x3, 0x35, 0x0, 0x0, 0xFF, 0xFF, 0xFF, 0x91, 0xFE, 0x83, 0x2, 0x6F, 0x4, 0x3A, 0x0, 0x26, 0x0, 0x8E, 0x0, 0x0, 0x0, 0x7, 0x1, 0xE1, 0x3, 0x4E, 0x0, 0xA, 0xFF, 0xFF, 0x0, 0x79, 0xFE, 0x9D, 0x1, 0x8D, 0x4, 0x3A, 0x0, 0x26, 0x0, 0x8E, 0x0, 0x0, 0x0, 0x7, 0x1, 0xD4, 0x3, 0x5E, 0x0, 0xA, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x10, 0x0, 0xC6, 0x0, 0x3, 0x0, 0x1, 0x4, 0x9, 0x0, 0x0, 0x0, 0x5E, 0x0, 0x0, 0x0, 0x3, 0x0, 0x1, 0x4, 0x9, 0x0, 0x1, 0x0, 0x1A, 0x0, 0x5E, 0x0, 0x3, 0x0, 0x1, 0x4, 0x9, 0x0, 0x2, 0x0, 0xE, 0x0, 0x78, 0x0, 0x3, 0x0, 0x1, 0x4, 0x9, 0x0, 0x3, 0x0, 0x32, 0x0, 0x86, 0x0, 0x3, 0x0, 0x1, 0x4, 0x9, 0x0, 0x4, 0x0, 0x1A, 0x0, 0x5E, 0x0, 0x3, 0x0, 0x1, 0x4, 0x9, 0x0, 0x5, 0x0, 0x26, 0x0, 0xB8, 0x0, 0x3, 0x0, 0x1, 0x4, 0x9, 0x0, 0x6, 0x0, 0x1A, 0x0, 0xDE, 0x0, 0x3, 0x0, 0x1, 0x4, 0x9, 0x0, 0x7, 0x0, 0x40, 0x0, 0xF8, 0x0, 0x3, 0x0, 0x1, 0x4, 0x9, 0x0, 0x8, 0x0, 0xC, 0x1, 0x38, 0x0, 0x3, 0x0, 0x1, 0x4, 0x9, 0x0, 0x9, 0x0, 0x26, 0x1, 0x44, 0x0, 0x3, 0x0, 0x1, 0x4, 0x9, 0x0, 0xB, 0x0, 0x14, 0x1, 0x6A, 0x0, 0x3, 0x0, 0x1, 0x4, 0x9, 0x0, 0xC, 0x0, 0x14, 0x1, 0x6A, 0x0, 0x3, 0x0, 0x1, 0x4, 0x9, 0x0, 0xD, 0x0, 0x5C, 0x1, 0x7E, 0x0, 0x3, 0x0, 0x1, 0x4, 0x9, 0x0, 0xE, 0x0, 0x54, 0x1, 0xDA, 0x0, 0x3, 0x0, 0x1, 0x4, 0x9, 0x0, 0x10, 0x0, 0xC, 0x2, 0x2E, 0x0, 0x3, 0x0, 0x1, 0x4, 0x9, 0x0, 0x11, 0x0, 0xC, 0x2, 0x3A, 0x0, 0x43, 0x0, 0x6F, 0x0, 0x70, 0x0, 0x79, 0x0, 0x72, 0x0, 0x69, 0x0, 0x67, 0x0, 0x68, 0x0, 0x74, 0x0, 0x20, 0x0, 0x32, 0x0, 0x30, 0x0, 0x31, 0x0, 0x31, 0x0, 0x20, 0x0, 0x47, 0x0, 0x6F, 0x0, 0x6F, 0x0, 0x67, 0x0, 0x6C, 0x0, 0x65, 0x0, 0x20, 0x0, 0x49, 0x0, 0x6E, 0x0, 0x63, 0x0, 0x2E, 0x0, 0x20, 0x0, 0x41, 0x0, 0x6C, 0x0, 0x6C, 0x0, 0x20, 0x0, 0x52, 0x0, 0x69, 0x0, 0x67, 0x0, 0x68, 0x0, 0x74, 0x0, 0x73, 0x0, 0x20, 0x0, 0x52, 0x0, 0x65, 0x0, 0x73, 0x0, 0x65, 0x0, 0x72, 0x0, 0x76, 0x0, 0x65, 0x0, 0x64, 0x0, 0x2E, 0x0, 0x52, 0x0, 0x6F, 0x0, 0x62, 0x0, 0x6F, 0x0, 0x74, 0x0, 0x6F, 0x0, 0x20, 0x0, 0x4D, 0x0, 0x65, 0x0, 0x64, 0x0, 0x69, 0x0, 0x75, 0x0, 0x6D, 0x0, 0x52, 0x0, 0x65, 0x0, 0x67, 0x0, 0x75, 0x0, 0x6C, 0x0, 0x61, 0x0, 0x72, 0x0, 0x47, 0x0, 0x6F, 0x0, 0x6F, 0x0, 0x67, 0x0, 0x6C, 0x0, 0x65, 0x0, 0x3A, 0x0, 0x52, 0x0, 0x6F, 0x0, 0x62, 0x0, 0x6F, 0x0, 0x74, 0x0, 0x6F, 0x0, 0x20, 0x0, 0x4D, 0x0, 0x65, 0x0, 0x64, 0x0, 0x69, 0x0, 0x75, 0x0, 0x6D, 0x0, 0x3A, 0x0, 0x32, 0x0, 0x30, 0x0, 0x31, 0x0, 0x36, 0x0, 0x56, 0x0, 0x65, 0x0, 0x72, 0x0, 0x73, 0x0, 0x69, 0x0, 0x6F, 0x0, 0x6E, 0x0, 0x20, 0x0, 0x32, 0x0, 0x2E, 0x0, 0x31, 0x0, 0x33, 0x0, 0x34, 0x0, 0x3B, 0x0, 0x20, 0x0, 0x32, 0x0, 0x30, 0x0, 0x31, 0x0, 0x36, 0x0, 0x52, 0x0, 0x6F, 0x0, 0x62, 0x0, 0x6F, 0x0, 0x74, 0x0, 0x6F, 0x0, 0x2D, 0x0, 0x4D, 0x0, 0x65, 0x0, 0x64, 0x0, 0x69, 0x0, 0x75, 0x0, 0x6D, 0x0, 0x52, 0x0, 0x6F, 0x0, 0x62, 0x0, 0x6F, 0x0, 0x74, 0x0, 0x6F, 0x0, 0x20, 0x0, 0x69, 0x0, 0x73, 0x0, 0x20, 0x0, 0x61, 0x0, 0x20, 0x0, 0x74, 0x0, 0x72, 0x0, 0x61, 0x0, 0x64, 0x0, 0x65, 0x0, 0x6D, 0x0, 0x61, 0x0, 0x72, 0x0, 0x6B, 0x0, 0x20, 0x0, 0x6F, 0x0, 0x66, 0x0, 0x20, 0x0, 0x47, 0x0, 0x6F, 0x0, 0x6F, 0x0, 0x67, 0x0, 0x6C, 0x0, 0x65, 0x0, 0x2E, 0x0, 0x47, 0x0, 0x6F, 0x0, 0x6F, 0x0, 0x67, 0x0, 0x6C, 0x0, 0x65, 0x0, 0x43, 0x0, 0x68, 0x0, 0x72, 0x0, 0x69, 0x0, 0x73, 0x0, 0x74, 0x0, 0x69, 0x0, 0x61, 0x0, 0x6E, 0x0, 0x20, 0x0, 0x52, 0x0, 0x6F, 0x0, 0x62, 0x0, 0x65, 0x0, 0x72, 0x0, 0x74, 0x0, 0x73, 0x0, 0x6F, 0x0, 0x6E, 0x0, 0x47, 0x0, 0x6F, 0x0, 0x6F, 0x0, 0x67, 0x0, 0x6C, 0x0, 0x65, 0x0, 0x2E, 0x0, 0x63, 0x0, 0x6F, 0x0, 0x6D, 0x0, 0x4C, 0x0, 0x69, 0x0, 0x63, 0x0, 0x65, 0x0, 0x6E, 0x0, 0x73, 0x0, 0x65, 0x0, 0x64, 0x0, 0x20, 0x0, 0x75, 0x0, 0x6E, 0x0, 0x64, 0x0, 0x65, 0x0, 0x72, 0x0, 0x20, 0x0, 0x74, 0x0, 0x68, 0x0, 0x65, 0x0, 0x20, 0x0, 0x41, 0x0, 0x70, 0x0, 0x61, 0x0, 0x63, 0x0, 0x68, 0x0, 0x65, 0x0, 0x20, 0x0, 0x4C, 0x0, 0x69, 0x0, 0x63, 0x0, 0x65, 0x0, 0x6E, 0x0, 0x73, 0x0, 0x65, 0x0, 0x2C, 0x0, 0x20, 0x0, 0x56, 0x0, 0x65, 0x0, 0x72, 0x0, 0x73, 0x0, 0x69, 0x0, 0x6F, 0x0, 0x6E, 0x0, 0x20, 0x0, 0x32, 0x0, 0x2E, 0x0, 0x30, 0x0, 0x68, 0x0, 0x74, 0x0, 0x74, 0x0, 0x70, 0x0, 0x3A, 0x0, 0x2F, 0x0, 0x2F, 0x0, 0x77, 0x0, 0x77, 0x0, 0x77, 0x0, 0x2E, 0x0, 0x61, 0x0, 0x70, 0x0, 0x61, 0x0, 0x63, 0x0, 0x68, 0x0, 0x65, 0x0, 0x2E, 0x0, 0x6F, 0x0, 0x72, 0x0, 0x67, 0x0, 0x2F, 0x0, 0x6C, 0x0, 0x69, 0x0, 0x63, 0x0, 0x65, 0x0, 0x6E, 0x0, 0x73, 0x0, 0x65, 0x0, 0x73, 0x0, 0x2F, 0x0, 0x4C, 0x0, 0x49, 0x0, 0x43, 0x0, 0x45, 0x0, 0x4E, 0x0, 0x53, 0x0, 0x45, 0x0, 0x2D, 0x0, 0x32, 0x0, 0x2E, 0x0, 0x30, 0x0, 0x52, 0x0, 0x6F, 0x0, 0x62, 0x0, 0x6F, 0x0, 0x74, 0x0, 0x6F, 0x0, 0x4D, 0x0, 0x65, 0x0, 0x64, 0x0, 0x69, 0x0, 0x75, 0x0, 0x6D, 0x0, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xFF, 0x6A, 0x0, 0x64, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0xC, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x91, 0x0, 0x26, 0x0, 0x3F, 0x0, 0x1, 0x0, 0x46, 0x0, 0x5F, 0x0, 0x1, 0x0, 0x7A, 0x0, 0x7A, 0x0, 0x1, 0x0, 0x82, 0x0, 0x82, 0x0, 0x1, 0x0, 0x84, 0x0, 0x84, 0x0, 0x1, 0x0, 0x87, 0x0, 0x87, 0x0, 0x1, 0x0, 0x8A, 0x0, 0x8A, 0x0, 0x1, 0x0, 0x8C, 0x0, 0x97, 0x0, 0x1, 0x0, 0xA6, 0x0, 0xA7, 0x0, 0x1, 0x0, 0xAD, 0x0, 0xAD, 0x0, 0x1, 0x0, 0xB0, 0x0, 0xB0, 0x0, 0x1, 0x0, 0xB4, 0x0, 0xB5, 0x0, 0x1, 0x0, 0xBD, 0x0, 0xBD, 0x0, 0x1, 0x0, 0xC3, 0x0, 0xC4, 0x0, 0x1, 0x0, 0xC9, 0x0, 0xCA, 0x0, 0x1, 0x0, 0xDB, 0x0, 0xDC, 0x0, 0x1, 0x0, 0xEC, 0x0, 0xEC, 0x0, 0x1, 0x0, 0xF2, 0x0, 0xF2, 0x0, 0x1, 0x0, 0xF8, 0x0, 0xF9, 0x0, 0x1, 0x0, 0xFD, 0x0, 0xFE, 0x0, 0x1, 0x1, 0x1, 0x1, 0x61, 0x0, 0x1, 0x1, 0x8C, 0x1, 0x8C, 0x0, 0x1, 0x1, 0x8F, 0x1, 0x8F, 0x0, 0x1, 0x1, 0x96, 0x1, 0x9A, 0x0, 0x4, 0x1, 0xB1, 0x1, 0xCB, 0x0, 0x3, 0x1, 0xCD, 0x1, 0xD1, 0x0, 0x3, 0x1, 0xD4, 0x1, 0xE4, 0x0, 0x3, 0x1, 0xEA, 0x1, 0xFF, 0x0, 0x3, 0x2, 0x1, 0x2, 0x8, 0x0, 0x3, 0x2, 0xA, 0x2, 0x20, 0x0, 0x3, 0x2, 0x30, 0x2, 0x30, 0x0, 0x1, 0x2, 0x39, 0x2, 0x3A, 0x0, 0x1, 0x2, 0x3E, 0x2, 0x3E, 0x0, 0x1, 0x2, 0x40, 0x2, 0x40, 0x0, 0x1, 0x2, 0x42, 0x2, 0x42, 0x0, 0x1, 0x2, 0x46, 0x2, 0x46, 0x0, 0x1, 0x2, 0x4A, 0x2, 0x4A, 0x0, 0x1, 0x2, 0x4C, 0x2, 0x4D, 0x0, 0x1, 0x2, 0x51, 0x2, 0x51, 0x0, 0x1, 0x2, 0x53, 0x2, 0x53, 0x0, 0x1, 0x2, 0x69, 0x2, 0x69, 0x0, 0x1, 0x2, 0x70, 0x2, 0x74, 0x0, 0x1, 0x2, 0x77, 0x2, 0x77, 0x0, 0x1, 0x2, 0x7B, 0x2, 0x7B, 0x0, 0x1, 0x2, 0x7D, 0x2, 0x7F, 0x0, 0x1, 0x2, 0x81, 0x2, 0x91, 0x0, 0x1, 0x2, 0x93, 0x2, 0x93, 0x0, 0x1, 0x2, 0x95, 0x2, 0x97, 0x0, 0x1, 0x2, 0x99, 0x2, 0x99, 0x0, 0x1, 0x2, 0x9E, 0x2, 0x9F, 0x0, 0x1, 0x2, 0xAC, 0x2, 0xB0, 0x0, 0x1, 0x2, 0xB2, 0x2, 0xB2, 0x0, 0x1, 0x2, 0xB6, 0x2, 0xB8, 0x0, 0x1, 0x2, 0xBA, 0x2, 0xBB, 0x0, 0x3, 0x2, 0xC1, 0x2, 0xC2, 0x0, 0x1, 0x2, 0xCA, 0x2, 0xCB, 0x0, 0x1, 0x2, 0xCD, 0x2, 0xCD, 0x0, 0x1, 0x2, 0xD2, 0x2, 0xD3, 0x0, 0x1, 0x2, 0xD8, 0x2, 0xDB, 0x0, 0x1, 0x2, 0xDE, 0x2, 0xDF, 0x0, 0x1, 0x2, 0xE2, 0x2, 0xE4, 0x0, 0x1, 0x2, 0xE8, 0x2, 0xE8, 0x0, 0x1, 0x2, 0xEB, 0x2, 0xEF, 0x0, 0x1, 0x2, 0xF4, 0x2, 0xF5, 0x0, 0x1, 0x2, 0xF9, 0x2, 0xF9, 0x0, 0x1, 0x2, 0xFB, 0x2, 0xFB, 0x0, 0x1, 0x2, 0xFF, 0x2, 0xFF, 0x0, 0x1, 0x3, 0x1, 0x3, 0x3, 0x0, 0x1, 0x3, 0x5, 0x3, 0x5, 0x0, 0x1, 0x3, 0x7, 0x3, 0x7, 0x0, 0x1, 0x3, 0x15, 0x3, 0x17, 0x0, 0x1, 0x3, 0x1F, 0x3, 0x1F, 0x0, 0x1, 0x3, 0x20, 0x3, 0x28, 0x0, 0x3, 0x3, 0x29, 0x3, 0x2A, 0x0, 0x4, 0x3, 0x2B, 0x3, 0x2C, 0x0, 0x3, 0x3, 0x2D, 0x3, 0x2D, 0x0, 0x4, 0x3, 0x2F, 0x3, 0x3F, 0x0, 0x1, 0x3, 0x43, 0x3, 0x44, 0x0, 0x1, 0x3, 0x47, 0x3, 0x4B, 0x0, 0x1, 0x3, 0x4F, 0x3, 0x5A, 0x0, 0x1, 0x3, 0x9A, 0x3, 0xA6, 0x0, 0x1, 0x3, 0xA8, 0x3, 0xC9, 0x0, 0x1, 0x3, 0xEF, 0x4, 0x24, 0x0, 0x3, 0x4, 0x26, 0x4, 0x28, 0x0, 0x3, 0x4, 0x2B, 0x4, 0x2E, 0x0, 0x1, 0x4, 0x2F, 0x4, 0x2F, 0x0, 0x2, 0x5, 0x5D, 0x5, 0x5E, 0x0, 0x1, 0x6, 0xC7, 0x6, 0xC8, 0x0, 0x1, 0x7, 0x25, 0x7, 0x25, 0x0, 0x3, 0x7, 0x26, 0x7, 0x2C, 0x0, 0x2, 0x7, 0x40, 0x7, 0x40, 0x0, 0x2, 0x7, 0x4E, 0x7, 0x62, 0x0, 0x1, 0x7, 0x66, 0x7, 0x66, 0x0, 0x1, 0x7, 0x6F, 0x7, 0x6F, 0x0, 0x1, 0x7, 0x71, 0x7, 0x71, 0x0, 0x1, 0x7, 0x78, 0x7, 0x7A, 0x0, 0x1, 0x7, 0x7C, 0x7, 0x7D, 0x0, 0x1, 0x7, 0x7F, 0x7, 0x7F, 0x0, 0x1, 0x7, 0x83, 0x7, 0x83, 0x0, 0x1, 0x7, 0x85, 0x7, 0x87, 0x0, 0x1, 0x7, 0x8D, 0x7, 0x8D, 0x0, 0x1, 0x7, 0x92, 0x7, 0x94, 0x0, 0x1, 0x7, 0x96, 0x7, 0x96, 0x0, 0x1, 0x7, 0xA6, 0x7, 0xA6, 0x0, 0x1, 0x7, 0xA9, 0x7, 0xA9, 0x0, 0x1, 0x7, 0xAB, 0x7, 0xAB, 0x0, 0x1, 0x7, 0xAE, 0x7, 0xB1, 0x0, 0x1, 0x7, 0xDE, 0x7, 0xE2, 0x0, 0x1, 0x7, 0xEE, 0x7, 0xF3, 0x0, 0x1, 0x7, 0xF5, 0x7, 0xF5, 0x0, 0x1, 0x7, 0xF7, 0x7, 0xF8, 0x0, 0x1, 0x7, 0xFA, 0x7, 0xFA, 0x0, 0x1, 0x7, 0xFF, 0x8, 0x89, 0x0, 0x2, 0x8, 0x8A, 0x8, 0x95, 0x0, 0x3, 0x8, 0x96, 0x8, 0x97, 0x0, 0x2, 0x8, 0x98, 0x8, 0x98, 0x0, 0x3, 0x8, 0x9A, 0x8, 0x9F, 0x0, 0x3, 0x8, 0xC8, 0x9, 0x30, 0x0, 0x1, 0x9, 0x33, 0x9, 0xBD, 0x0, 0x1, 0x9, 0xBF, 0x9, 0xDA, 0x0, 0x1, 0x9, 0xDC, 0x9, 0xF3, 0x0, 0x1, 0x9, 0xF5, 0xA, 0x1, 0x0, 0x1, 0xA, 0x3, 0xA, 0xC, 0x0, 0x1, 0xA, 0xE, 0xA, 0x29, 0x0, 0x1, 0xA, 0x2D, 0xA, 0x2D, 0x0, 0x1, 0xA, 0x2F, 0xA, 0x36, 0x0, 0x1, 0xA, 0x38, 0xA, 0x3A, 0x0, 0x1, 0xA, 0x3D, 0xA, 0x41, 0x0, 0x1, 0xA, 0x43, 0xA, 0xCC, 0x0, 0x1, 0xA, 0xCF, 0xA, 0xCF, 0x0, 0x1, 0xA, 0xD2, 0xA, 0xD3, 0x0, 0x1, 0xA, 0xD5, 0xA, 0xD6, 0x0, 0x1, 0xA, 0xD8, 0xA, 0xDB, 0x0, 0x1, 0xA, 0xE6, 0xA, 0xE7, 0x0, 0x1, 0xA, 0xEE, 0xB, 0xC, 0x0, 0x1, 0xB, 0x10, 0xB, 0x44, 0x0, 0x1, 0xB, 0x47, 0xC, 0x33, 0x0, 0x1, 0xC, 0x3C, 0xC, 0x71, 0x0, 0x1, 0xC, 0x7A, 0xC, 0xAD, 0x0, 0x1, 0xC, 0xB7, 0xC, 0xBC, 0x0, 0x1, 0xC, 0xBE, 0xC, 0xDD, 0x0, 0x1, 0xC, 0xDF, 0xC, 0xE6, 0x0, 0x1, 0xC, 0xE8, 0xC, 0xE9, 0x0, 0x1, 0xC, 0xEB, 0xC, 0xEB, 0x0, 0x1, 0xC, 0xF4, 0xD, 0x1E, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0xA, 0x0, 0x36, 0x0, 0x7C, 0x0, 0x4, 0x44, 0x46, 0x4C, 0x54, 0x0, 0x1A, 0x63, 0x79, 0x72, 0x6C, 0x0, 0x1A, 0x67, 0x72, 0x65, 0x6B, 0x0, 0x1A, 0x6C, 0x61, 0x74, 0x6E, 0x0, 0x1A, 0x0, 0x4, 0x0, 0x0, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x4, 0x0, 0x0, 0x0, 0x1, 0x0, 0x2, 0x0, 0x3, 0x0, 0x4, 0x63, 0x70, 0x73, 0x70, 0x0, 0x1A, 0x6B, 0x65, 0x72, 0x6E, 0x0, 0x20, 0x6D, 0x61, 0x72, 0x6B, 0x0, 0x26, 0x6D, 0x6B, 0x6D, 0x6B, 0x0, 0x3E, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x1, 0x0, 0x0, 0x0, 0xA, 0x0, 0x2, 0x0, 0x3, 0x0, 0x4, 0x0, 0x5, 0x0, 0x6, 0x0, 0x7, 0x0, 0x8, 0x0, 0x9, 0x0, 0xA, 0x0, 0xB, 0x0, 0x0, 0x0, 0x2, 0x0, 0xC, 0x0, 0xD, 0x0, 0xE, 0x0, 0x1E, 0x2, 0x34, 0x96, 0x86, 0xB9, 0x78, 0xCC, 0xB6, 0xD8, 0x44, 0xE4, 0x20, 0xE4, 0xFA, 0xFB, 0xA6, 0xFB, 0xB6, 0xFC, 0x2, 0xFC, 0x12, 0xFC, 0x22, 0xFC, 0x32, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x8, 0x0, 0x1, 0x0, 0xA, 0x0, 0x5, 0x0, 0x24, 0x0, 0x48, 0x0, 0x1, 0x1, 0x0, 0x0, 0x9, 0x0, 0xB, 0x0, 0x15, 0x0, 0x16, 0x0, 0x17, 0x0, 0x18, 0x0, 0x19, 0x0, 0x1A, 0x0, 0x1B, 0x0, 0x1C, 0x0, 0x1D, 0x0, 0x1E, 0x0, 0x26, 0x0, 0x27, 0x0, 0x28, 0x0, 0x29, 0x0, 0x2A, 0x0, 0x2B, 0x0, 0x2C, 0x0, 0x2D, 0x0, 0x2E, 0x0, 0x2F, 0x0, 0x30, 0x0, 0x31, 0x0, 0x32, 0x0, 0x33, 0x0, 0x34, 0x0, 0x35, 0x0, 0x36, 0x0, 0x37, 0x0, 0x38, 0x0, 0x39, 0x0, 0x3A, 0x0, 0x3B, 0x0, 0x3C, 0x0, 0x3D, 0x0, 0x3E, 0x0, 0x3F, 0x0, 0x66, 0x0, 0x68, 0x0, 0x82, 0x0, 0x84, 0x0, 0x85, 0x0, 0x8D, 0x0, 0x90, 0x0, 0x92, 0x0, 0x94, 0x2, 0x30, 0x2, 0x31, 0x2, 0x32, 0x2, 0x33, 0x2, 0x34, 0x2, 0x35, 0x2, 0x36, 0x2, 0x37, 0x2, 0x38, 0x2, 0x39, 0x2, 0x68, 0x2, 0x69, 0x2, 0x6A, 0x2, 0x6B, 0x2, 0x6C, 0x2, 0x6D, 0x2, 0x6E, 0x2, 0x6F, 0x2, 0x70, 0x2, 0x71, 0x2, 0x72, 0x2, 0x73, 0x2, 0x74, 0x2, 0x75, 0x2, 0x76, 0x2, 0x77, 0x2, 0x78, 0x2, 0x79, 0x2, 0x7A, 0x2, 0x7B, 0x2, 0x7C, 0x2, 0x7D, 0x2, 0x7E, 0x2, 0x7F, 0x2, 0xC6, 0x2, 0xCA, 0x2, 0xCC, 0x2, 0xCE, 0x2, 0xD0, 0x2, 0xD2, 0x2, 0xD8, 0x2, 0xDA, 0x2, 0xDC, 0x2, 0xE0, 0x2, 0xE2, 0x2, 0xE3, 0x2, 0xEF, 0x2, 0xF0, 0x4, 0x32, 0x4, 0xC8, 0x4, 0xCF, 0x4, 0xD7, 0x4, 0xDB, 0x4, 0xE0, 0x4, 0xED, 0x8, 0xC8, 0x8, 0xC9, 0x8, 0xCB, 0x8, 0xCD, 0x8, 0xCE, 0x8, 0xCF, 0x8, 0xD0, 0x8, 0xD1, 0x8, 0xD2, 0x8, 0xD3, 0x8, 0xD4, 0x8, 0xD5, 0x8, 0xD6, 0x8, 0xD7, 0x8, 0xD8, 0x8, 0xD9, 0x8, 0xDA, 0x8, 0xDB, 0x8, 0xDC, 0x8, 0xDD, 0x8, 0xDE, 0x8, 0xDF, 0x8, 0xE0, 0x8, 0xE1, 0x8, 0xE2, 0x8, 0xE3, 0x8, 0xE4, 0x8, 0xE5, 0x8, 0xE6, 0x8, 0xE7, 0x9, 0x4, 0x9, 0x6, 0x9, 0x8, 0x9, 0xA, 0x9, 0xC, 0x9, 0xE, 0x9, 0x10, 0x9, 0x12, 0x9, 0x14, 0x9, 0x16, 0x9, 0x18, 0x9, 0x1A, 0x9, 0x1C, 0x9, 0x1E, 0x9, 0x20, 0x9, 0x22, 0x9, 0x24, 0x9, 0x26, 0x9, 0x28, 0x9, 0x2A, 0x9, 0x2C, 0x9, 0x2E, 0x9, 0x30, 0x9, 0x31, 0x9, 0x33, 0x9, 0x35, 0x9, 0x37, 0x9, 0x39, 0x9, 0x3B, 0x9, 0x3D, 0x9, 0x3F, 0x9, 0x41, 0x9, 0x43, 0x9, 0x46, 0x9, 0x48, 0x9, 0x4A, 0x9, 0x4C, 0x9, 0x4E, 0x9, 0x50, 0x9, 0x52, 0x9, 0x54, 0x9, 0x56, 0x9, 0x58, 0x9, 0x5A, 0x9, 0x5C, 0x9, 0x5E, 0x9, 0x60, 0x9, 0x62, 0x9, 0x64, 0x9, 0x66, 0x9, 0x68, 0x9, 0x6A, 0x9, 0x6C, 0x9, 0x6E, 0x9, 0x70, 0x9, 0x72, 0x9, 0x73, 0x9, 0x75, 0x9, 0x77, 0x9, 0x79, 0x9, 0x7B, 0x9, 0xD5, 0x9, 0xD6, 0x9, 0xD7, 0x9, 0xD8, 0x9, 0xD9, 0x9, 0xDA, 0x9, 0xDB, 0x9, 0xDD, 0x9, 0xDE, 0x9, 0xDF, 0x9, 0xE0, 0x9, 0xE1, 0x9, 0xE2, 0x9, 0xE3, 0x9, 0xE4, 0x9, 0xE5, 0x9, 0xE6, 0x9, 0xE7, 0x9, 0xE8, 0x9, 0xE9, 0x9, 0xEA, 0x9, 0xEB, 0x9, 0xEC, 0x9, 0xFC, 0x9, 0xFD, 0x9, 0xFE, 0x9, 0xFF, 0xA, 0x0, 0xA, 0x1, 0xA, 0x2, 0xA, 0x3, 0xA, 0x4, 0xA, 0x5, 0xA, 0x6, 0xA, 0x7, 0xA, 0x8, 0xA, 0x9, 0xA, 0xA, 0xA, 0xB, 0xA, 0xC, 0xA, 0xD, 0xA, 0xE, 0xA, 0xF, 0xA, 0x10, 0xA, 0x11, 0xA, 0x22, 0xA, 0x24, 0xA, 0x26, 0xA, 0x28, 0xA, 0x3D, 0xA, 0x3F, 0xA, 0x41, 0xA, 0x56, 0xA, 0x5C, 0xA, 0x63, 0xA, 0xCD, 0xA, 0xD2, 0xA, 0xD6, 0xB, 0x9, 0xB, 0x3F, 0xC, 0xF4, 0xC, 0xF6, 0xC, 0xF8, 0x0, 0x2, 0x0, 0x0, 0x0, 0x2, 0x0, 0xA, 0x65, 0x34, 0x0, 0x1, 0x6, 0x54, 0x0, 0x4, 0x0, 0x0, 0x3, 0x25, 0xC, 0xA2, 0x5F, 0xAE, 0x5F, 0xAE, 0xC, 0xEC, 0xD, 0x6E, 0x63, 0x96, 0x61, 0x1E, 0x61, 0x28, 0x64, 0xE8, 0x64, 0x2, 0xD, 0x74, 0x64, 0x10, 0x64, 0x10, 0x61, 0x44, 0x61, 0x92, 0x64, 0x10, 0x64, 0x10, 0x64, 0xE8, 0x64, 0xC6, 0x13, 0x7E, 0x14, 0x88, 0x61, 0xBE, 0x62, 0x94, 0x62, 0xB2, 0x62, 0xD0, 0x64, 0x4C, 0x63, 0x34, 0x15, 0xEE, 0x60, 0xFC, 0x64, 0x32, 0x61, 0x3A, 0x16, 0x5C, 0x18, 0x66, 0x18, 0x70, 0x63, 0xF8, 0x63, 0xF8, 0x63, 0x6C, 0x64, 0x32, 0x61, 0xAC, 0x1B, 0x1E, 0x63, 0x4E, 0x1C, 0x0, 0x63, 0x2E, 0x63, 0x4E, 0x1C, 0x1A, 0x64, 0x32, 0x64, 0x32, 0x64, 0x32, 0x64, 0x32, 0x64, 0xE8, 0x64, 0xE8, 0x64, 0xE8, 0x64, 0x10, 0x64, 0x10, 0x64, 0xE8, 0x61, 0x44, 0x64, 0x10, 0x64, 0x10, 0x64, 0x10, 0x64, 0xC6, 0x61, 0xBE, 0x63, 0x34, 0x64, 0x32, 0x64, 0x32, 0x61, 0x92, 0x61, 0x1E, 0x63, 0x96, 0x61, 0xAC, 0x64, 0x4C, 0x1C, 0x88, 0x64, 0x10, 0x64, 0x32, 0x64, 0x32, 0x60, 0x36, 0x63, 0x96, 0x64, 0xE8, 0x63, 0x96, 0x1D, 0x1A, 0x1E, 0xA4, 0x20, 0x32, 0x21, 0x68, 0x22, 0x46, 0x63, 0x4E, 0x22, 0x4C, 0x22, 0x56, 0x63, 0xF8, 0x27, 0x50, 0x2A, 0x8A, 0x2B, 0xF0, 0x2D, 0xE2, 0x2D, 0xFC, 0x2E, 0x2, 0x2E, 0x8, 0x32, 0x66, 0x32, 0x6C, 0x32, 0xCA, 0x33, 0x24, 0x61, 0x44, 0x64, 0xE8, 0x63, 0x6C, 0x64, 0x32, 0x64, 0x32, 0x64, 0x32, 0x64, 0xE8, 0x61, 0x28, 0x64, 0xE8, 0x33, 0xE2, 0x35, 0xC0, 0x38, 0x1E, 0x3A, 0x88, 0x64, 0x10, 0x3C, 0x52, 0x3E, 0x90, 0x62, 0xD0, 0x42, 0x2, 0x64, 0x10, 0x64, 0x10, 0x5F, 0xB8, 0x64, 0x10, 0x64, 0x10, 0x64, 0x10, 0x43, 0x18, 0x46, 0x4A, 0x64, 0x10, 0x60, 0xC, 0x47, 0x68, 0x48, 0x72, 0x49, 0x38, 0x49, 0xC6, 0x4B, 0x4, 0x60, 0x2, 0x4C, 0x9E, 0x63, 0x2E, 0x4D, 0xC8, 0x4D, 0xF2, 0x51, 0x1C, 0x64, 0x32, 0x56, 0x4A, 0x56, 0x94, 0x58, 0xB2, 0x5E, 0xD4, 0x64, 0x32, 0x59, 0x50, 0x5A, 0xF6, 0x5B, 0x20, 0x5B, 0x82, 0x5E, 0xD4, 0x63, 0x96, 0x63, 0x6C, 0x62, 0x94, 0x63, 0x4E, 0x5B, 0xBC, 0x64, 0x32, 0x60, 0x36, 0x60, 0x2, 0x62, 0xD0, 0x63, 0x2E, 0x61, 0x44, 0x61, 0x44, 0x61, 0x44, 0x64, 0x10, 0x62, 0xD0, 0x63, 0x2E, 0x64, 0x10, 0x64, 0x10, 0x64, 0xE8, 0x60, 0x2, 0x62, 0xD0, 0x63, 0x2E, 0x62, 0xD0, 0x63, 0x2E, 0x62, 0xD0, 0x63, 0x2E, 0x64, 0x2, 0x61, 0x3A, 0x61, 0x44, 0x64, 0x10, 0x64, 0x10, 0x61, 0x44, 0x64, 0x10, 0x64, 0x10, 0x61, 0x92, 0x5F, 0xAE, 0x5B, 0xE6, 0x5F, 0xAE, 0x5F, 0xAE, 0x5F, 0xAE, 0x64, 0xC6, 0x60, 0xFC, 0x64, 0x10, 0x63, 0xF8, 0x61, 0x44, 0x63, 0x34, 0x64, 0x10, 0x64, 0xE8, 0x63, 0x4E, 0x63, 0x6C, 0x63, 0x34, 0x63, 0x34, 0x64, 0xE8, 0x60, 0xC, 0x5E, 0xD4, 0x60, 0xC, 0x5E, 0xD4, 0x63, 0x96, 0x60, 0xFC, 0x63, 0x96, 0x64, 0x10, 0x61, 0xBE, 0x60, 0x2, 0x61, 0xBE, 0x60, 0x2, 0x64, 0xE8, 0x63, 0x6C, 0x64, 0xE8, 0x63, 0x6C, 0x64, 0xE8, 0x63, 0x6C, 0x61, 0xBE, 0x60, 0x2, 0x61, 0xBE, 0x60, 0x2, 0x63, 0xF8, 0x64, 0xE8, 0x63, 0x6C, 0x64, 0xE8, 0x63, 0xF8, 0x63, 0x96, 0x64, 0xE8, 0x62, 0x94, 0x63, 0x4E, 0x62, 0x94, 0x63, 0x4E, 0x63, 0x4E, 0x64, 0xE8, 0x61, 0x44, 0x61, 0x44, 0x61, 0x44, 0x64, 0xE8, 0x63, 0x6C, 0x64, 0xC6, 0x64, 0x32, 0x64, 0xC6, 0x64, 0x32, 0x64, 0xC6, 0x64, 0x32, 0x62, 0x94, 0x63, 0x4E, 0x64, 0x32, 0x64, 0x32, 0x63, 0xF8, 0x64, 0x10, 0x61, 0x28, 0x61, 0x1E, 0x64, 0x32, 0x64, 0x10, 0x65, 0x24, 0x5E, 0xFA, 0x5F, 0x48, 0x65, 0x1E, 0x5F, 0xA4, 0x65, 0x6, 0x65, 0xC, 0x65, 0x1E, 0x65, 0xC, 0x65, 0x6, 0x65, 0x6, 0x65, 0x6, 0x65, 0x6, 0x5F, 0x96, 0x65, 0xC, 0x61, 0x28, 0x64, 0xE8, 0x64, 0xE8, 0x64, 0xE8, 0x64, 0xE8, 0x61, 0xBE, 0x63, 0x96, 0x63, 0x96, 0x63, 0x96, 0x63, 0x96, 0x63, 0x96, 0x63, 0x96, 0x63, 0x96, 0x61, 0x28, 0x64, 0x2, 0x64, 0x2, 0x64, 0x2, 0x64, 0x2, 0x64, 0x10, 0x64, 0x10, 0x64, 0x10, 0x64, 0x10, 0x64, 0x10, 0x64, 0xE8, 0x64, 0xE8, 0x64, 0xE8, 0x64, 0xE8, 0x64, 0xE8, 0x64, 0x4C, 0x60, 0xFC, 0x60, 0xFC, 0x60, 0xFC, 0x60, 0xFC, 0x60, 0xFC, 0x60, 0xFC, 0x60, 0xFC, 0x61, 0x3A, 0x61, 0x3A, 0x61, 0x3A, 0x61, 0x3A, 0x63, 0xF8, 0x63, 0x6C, 0x63, 0x6C, 0x63, 0x6C, 0x63, 0x6C, 0x63, 0x6C, 0x63, 0x4E, 0x63, 0x4E, 0x63, 0x96, 0x60, 0xFC, 0x63, 0x96, 0x60, 0xFC, 0x63, 0x96, 0x60, 0xFC, 0x61, 0x28, 0x61, 0x28, 0x61, 0x28, 0x61, 0x28, 0x64, 0xE8, 0x64, 0x2, 0x61, 0x3A, 0x64, 0x2, 0x61, 0x3A, 0x64, 0x2, 0x61, 0x3A, 0x64, 0x2, 0x61, 0x3A, 0x64, 0x2, 0x61, 0x3A, 0x64, 0x10, 0x63, 0xF8, 0x64, 0x10, 0x64, 0x10, 0x64, 0x10, 0x64, 0x10, 0x64, 0x10, 0x61, 0x44, 0x61, 0x92, 0x61, 0x92, 0x61, 0x92, 0x61, 0x92, 0x64, 0x10, 0x63, 0xF8, 0x64, 0x10, 0x63, 0xF8, 0x64, 0x10, 0x63, 0xF8, 0x63, 0xF8, 0x64, 0xE8, 0x63, 0x6C, 0x64, 0xE8, 0x63, 0x6C, 0x64, 0xE8, 0x63, 0x6C, 0x61, 0xAC, 0x61, 0xAC, 0x61, 0xAC, 0x61, 0xBE, 0x61, 0xBE, 0x61, 0xBE, 0x62, 0xB2, 0x64, 0x4C, 0x63, 0x4E, 0x64, 0x4C, 0x63, 0x34, 0x63, 0x34, 0x63, 0x34, 0x65, 0x1E, 0x65, 0x1E, 0x65, 0x24, 0x65, 0xC, 0x65, 0xC, 0x65, 0xC, 0x65, 0xC, 0x65, 0xC, 0x65, 0xC, 0x65, 0xC, 0x65, 0x1E, 0x65, 0x1E, 0x65, 0x1E, 0x65, 0x1E, 0x65, 0x1E, 0x65, 0xC, 0x65, 0xC, 0x65, 0xC, 0x65, 0x1E, 0x65, 0x6, 0x5F, 0xA4, 0x5F, 0xA4, 0x5F, 0xA4, 0x5F, 0xA4, 0x65, 0x1E, 0x65, 0x1E, 0x65, 0x1E, 0x65, 0x1E, 0x65, 0x24, 0x63, 0x96, 0x64, 0x2, 0x64, 0x10, 0x64, 0x10, 0x64, 0xE8, 0x64, 0x4C, 0x63, 0x96, 0x61, 0x1E, 0x64, 0x2, 0x63, 0x34, 0x64, 0x10, 0x64, 0x10, 0x61, 0x44, 0x64, 0x10, 0x64, 0x10, 0x64, 0xE8, 0x64, 0xC6, 0x61, 0xBE, 0x64, 0x4C, 0x62, 0xD0, 0x64, 0x10, 0x64, 0x4C, 0x63, 0xF8, 0x63, 0x6C, 0x63, 0x4E, 0x63, 0x6C, 0x64, 0x2, 0x60, 0x36, 0x64, 0x10, 0x64, 0x10, 0x61, 0x44, 0x61, 0x44, 0x5F, 0xB8, 0x63, 0x96, 0x61, 0x1E, 0x60, 0x36, 0x64, 0x2, 0x64, 0x10, 0x64, 0x10, 0x64, 0xE8, 0x64, 0xC6, 0x61, 0x28, 0x61, 0xBE, 0x62, 0xD0, 0x60, 0xFC, 0x61, 0x3A, 0x63, 0x6C, 0x64, 0x32, 0x63, 0x4E, 0x63, 0x2E, 0x61, 0x3A, 0x60, 0x2, 0x63, 0x4E, 0x62, 0xB2, 0x62, 0xB2, 0x62, 0xB2, 0x64, 0x4C, 0x63, 0x4E, 0x5F, 0xAE, 0x5F, 0xAE, 0x5F, 0xAE, 0x64, 0x10, 0x63, 0xF8, 0x63, 0x96, 0x60, 0xFC, 0x64, 0x2, 0x61, 0x3A, 0x62, 0x94, 0x63, 0x4E, 0x61, 0x28, 0x64, 0x4C, 0x63, 0x4E, 0x64, 0x10, 0x62, 0xD0, 0x63, 0x2E, 0x64, 0x10, 0x63, 0x96, 0x60, 0xFC, 0x63, 0x96, 0x60, 0xFC, 0x64, 0x2, 0x61, 0x3A, 0x61, 0x3A, 0x61, 0x3A, 0x62, 0xD0, 0x63, 0x2E, 0x64, 0xE8, 0x63, 0x6C, 0x64, 0xE8, 0x63, 0x6C, 0x64, 0x32, 0x5F, 0xB8, 0x63, 0x4E, 0x5F, 0xB8, 0x63, 0x4E, 0x5F, 0xB8, 0x63, 0x4E, 0x63, 0x96, 0x60, 0xFC, 0x63, 0x96, 0x60, 0xFC, 0x63, 0x96, 0x60, 0xFC, 0x63, 0x96, 0x60, 0xFC, 0x63, 0x96, 0x60, 0xFC, 0x63, 0x96, 0x60, 0xFC, 0x63, 0x96, 0x60, 0xFC, 0x63, 0x96, 0x60, 0xFC, 0x63, 0x96, 0x60, 0xFC, 0x63, 0x96, 0x60, 0xFC, 0x63, 0x96, 0x60, 0xFC, 0x63, 0x96, 0x60, 0xFC, 0x64, 0x2, 0x61, 0x3A, 0x64, 0x2, 0x61, 0x3A, 0x64, 0x2, 0x61, 0x3A, 0x64, 0x2, 0x61, 0x3A, 0x64, 0x2, 0x61, 0x3A, 0x64, 0x2, 0x61, 0x3A, 0x64, 0x2, 0x61, 0x3A, 0x64, 0x2, 0x61, 0x3A, 0x64, 0x10, 0x64, 0x10, 0x64, 0xE8, 0x63, 0x6C, 0x64, 0xE8, 0x63, 0x6C, 0x64, 0xE8, 0x63, 0x6C, 0x64, 0xE8, 0x63, 0x6C, 0x64, 0xE8, 0x63, 0x6C, 0x64, 0xE8, 0x63, 0x6C, 0x64, 0xE8, 0x63, 0x6C, 0x63, 0x6C, 0x64, 0x4C, 0x63, 0x4E, 0x64, 0x4C, 0x63, 0x4E, 0x64, 0x4C, 0x63, 0x4E, 0x61, 0xBE, 0x60, 0x36, 0x60, 0x2, 0x63, 0xF8, 0x60, 0xC, 0x60, 0x36, 0x61, 0x44, 0x64, 0x4C, 0x64, 0x10, 0x63, 0x96, 0x60, 0xFC, 0x64, 0x10, 0x64, 0xE8, 0x63, 0x6C, 0x63, 0x96, 0x60, 0xFC, 0x63, 0x96, 0x60, 0xFC, 0x61, 0x3A, 0x64, 0xE8, 0x63, 0x6C, 0x64, 0xE8, 0x63, 0x6C, 0x63, 0x34, 0x64, 0x10, 0x63, 0xF8, 0x63, 0x96, 0x60, 0xFC, 0x63, 0x96, 0x60, 0xFC, 0x64, 0x2, 0x64, 0x2, 0x64, 0x10, 0x64, 0x10, 0x64, 0xE8, 0x63, 0x6C, 0x64, 0xE8, 0x63, 0x6C, 0x61, 0xAC, 0x61, 0xAC, 0x64, 0x10, 0x63, 0x96, 0x60, 0xFC, 0x64, 0x2, 0x64, 0xE8, 0x63, 0x6C, 0x64, 0xE8, 0x63, 0x6C, 0x64, 0xE8, 0x63, 0x6C, 0x64, 0xE8, 0x63, 0x6C, 0x63, 0x4E, 0x63, 0x6C, 0x64, 0x32, 0x61, 0x28, 0x64, 0x10, 0x62, 0xB2, 0x61, 0x1E, 0x64, 0x32, 0x61, 0x1E, 0x64, 0x32, 0x61, 0x1E, 0x64, 0x32, 0x61, 0x28, 0x64, 0xE8, 0x64, 0xE8, 0x64, 0xE8, 0x64, 0xE8, 0x64, 0xE8, 0x64, 0x2, 0x61, 0x3A, 0x64, 0x2, 0x61, 0x3A, 0x64, 0x2, 0x61, 0x3A, 0x64, 0x2, 0x61, 0x3A, 0x64, 0x2, 0x61, 0x3A, 0x64, 0x10, 0x63, 0xF8, 0x64, 0x10, 0x63, 0xF8, 0x64, 0x10, 0x63, 0xF8, 0x64, 0x10, 0x63, 0xF8, 0x61, 0x44, 0x61, 0x44, 0x61, 0x44, 0x61, 0x92, 0x61, 0x92, 0x61, 0x92, 0x61, 0x92, 0x64, 0x10, 0x63, 0xF8, 0x64, 0x10, 0x63, 0xF8, 0x64, 0x10, 0x63, 0xF8, 0x64, 0x10, 0x63, 0xF8, 0x64, 0x10, 0x63, 0xF8, 0x64, 0x10, 0x63, 0xF8, 0x64, 0xE8, 0x63, 0x6C, 0x64, 0xE8, 0x63, 0x6C, 0x64, 0xE8, 0x63, 0x6C, 0x64, 0xE8, 0x63, 0x6C, 0x64, 0xC6, 0x64, 0x32, 0x64, 0xC6, 0x64, 0x32, 0x61, 0xAC, 0x61, 0xAC, 0x61, 0xAC, 0x61, 0xAC, 0x61, 0xBE, 0x61, 0xBE, 0x61, 0xBE, 0x61, 0xBE, 0x62, 0x94, 0x63, 0x4E, 0x62, 0x94, 0x63, 0x4E, 0x62, 0xB2, 0x62, 0xB2, 0x62, 0xD0, 0x63, 0x2E, 0x62, 0xD0, 0x63, 0x2E, 0x64, 0x4C, 0x63, 0x4E, 0x63, 0x34, 0x63, 0x34, 0x63, 0x34, 0x63, 0x4E, 0x63, 0x96, 0x63, 0x96, 0x63, 0x96, 0x63, 0x96, 0x63, 0x96, 0x63, 0x96, 0x63, 0x96, 0x63, 0x96, 0x64, 0x2, 0x64, 0x2, 0x64, 0x2, 0x64, 0x2, 0x64, 0x2, 0x64, 0x2, 0x63, 0xF8, 0x63, 0xF8, 0x63, 0xF8, 0x63, 0xF8, 0x63, 0xF8, 0x63, 0xF8, 0x63, 0xF8, 0x63, 0xF8, 0x64, 0x10, 0x64, 0x10, 0x64, 0x10, 0x64, 0x10, 0x64, 0x10, 0x64, 0x10, 0x64, 0x10, 0x64, 0x10, 0x63, 0x6C, 0x63, 0x6C, 0x63, 0x6C, 0x63, 0x6C, 0x63, 0x6C, 0x63, 0x6C, 0x64, 0xE8, 0x64, 0xE8, 0x64, 0xE8, 0x64, 0xE8, 0x64, 0xE8, 0x64, 0xE8, 0x63, 0xF8, 0x63, 0xF8, 0x63, 0x6C, 0x63, 0x6C, 0x63, 0x96, 0x63, 0x96, 0x63, 0x96, 0x63, 0x96, 0x63, 0x96, 0x63, 0x96, 0x63, 0x96, 0x63, 0x96, 0x64, 0x10, 0x64, 0x10, 0x64, 0x10, 0x64, 0x10, 0x64, 0x10, 0x64, 0x10, 0x64, 0x10, 0x64, 0x10, 0x63, 0x96, 0x63, 0x96, 0x63, 0x96, 0x63, 0x96, 0x63, 0x96, 0x63, 0xF8, 0x63, 0xF8, 0x63, 0xF8, 0x63, 0xF8, 0x63, 0xF8, 0x64, 0x2, 0x64, 0x2, 0x64, 0x10, 0x64, 0x10, 0x64, 0x10, 0x64, 0x32, 0x64, 0x32, 0x64, 0x4C, 0x64, 0x4C, 0x64, 0x4C, 0x64, 0x4C, 0x64, 0xC6, 0x64, 0xE8, 0x64, 0xE8, 0x65, 0xC, 0x65, 0x1E, 0x65, 0xC, 0x65, 0x6, 0x65, 0x24, 0x65, 0x6, 0x65, 0xC, 0x65, 0x1E, 0x65, 0x24, 0x0, 0x1, 0x3, 0x25, 0x0, 0x5, 0x0, 0x7, 0x0, 0xC, 0x0, 0xD, 0x0, 0x14, 0x0, 0x26, 0x0, 0x27, 0x0, 0x28, 0x0, 0x29, 0x0, 0x2A, 0x0, 0x2B, 0x0, 0x2D, 0x0, 0x2E, 0x0, 0x30, 0x0, 0x31, 0x0, 0x32, 0x0, 0x33, 0x0, 0x34, 0x0, 0x35, 0x0, 0x36, 0x0, 0x37, 0x0, 0x39, 0x0, 0x3B, 0x0, 0x3C, 0x0, 0x3D, 0x0, 0x3E, 0x0, 0x3F, 0x0, 0x40, 0x0, 0x46, 0x0, 0x47, 0x0, 0x4A, 0x0, 0x4B, 0x0, 0x4D, 0x0, 0x50, 0x0, 0x52, 0x0, 0x53, 0x0, 0x54, 0x0, 0x55, 0x0, 0x57, 0x0, 0x59, 0x0, 0x5B, 0x0, 0x5C, 0x0, 0x5D, 0x0, 0x5E, 0x0, 0x60, 0x0, 0x8B, 0x0, 0x97, 0x0, 0x9A, 0x0, 0x9C, 0x0, 0x9D, 0x0, 0xA0, 0x0, 0xA1, 0x0, 0xA2, 0x0, 0xA5, 0x0, 0xA6, 0x0, 0xAE, 0x0, 0xB2, 0x0, 0xB3, 0x0, 0xB6, 0x0, 0xB8, 0x0, 0xC2, 0x0, 0xD8, 0x0, 0xED, 0x0, 0xEE, 0x0, 0xF2, 0x0, 0xF8, 0x0, 0xFA, 0x1, 0x2, 0x1, 0x3, 0x1, 0xE, 0x2, 0x27, 0x2, 0x29, 0x2, 0x2B, 0x2, 0x30, 0x2, 0x31, 0x2, 0x32, 0x2, 0x33, 0x2, 0x34, 0x2, 0x36, 0x2, 0x37, 0x2, 0x38, 0x2, 0x3A, 0x2, 0x3C, 0x2, 0x3D, 0x2, 0x3F, 0x2, 0x40, 0x2, 0x42, 0x2, 0x43, 0x2, 0x44, 0x2, 0x46, 0x2, 0x47, 0x2, 0x48, 0x2, 0x49, 0x2, 0x4A, 0x2, 0x4B, 0x2, 0x4C, 0x2, 0x4D, 0x2, 0x4E, 0x2, 0x55, 0x2, 0x56, 0x2, 0x60, 0x2, 0x62, 0x2, 0x64, 0x2, 0x65, 0x2, 0x66, 0x2, 0x67, 0x2, 0x68, 0x2, 0x6A, 0x2, 0x6B, 0x2, 0x6C, 0x2, 0x6D, 0x2, 0x6E, 0x2, 0x6F, 0x2, 0x70, 0x2, 0x71, 0x2, 0x72, 0x2, 0x73, 0x2, 0x74, 0x2, 0x76, 0x2, 0x77, 0x2, 0x78, 0x2, 0x79, 0x2, 0x7A, 0x2, 0x7B, 0x2, 0x7C, 0x2, 0x7D, 0x2, 0x7E, 0x2, 0x7F, 0x2, 0x80, 0x2, 0x81, 0x2, 0x82, 0x2, 0x83, 0x2, 0x84, 0x2, 0x85, 0x2, 0x87, 0x2, 0x8C, 0x2, 0x8D, 0x2, 0x8E, 0x2, 0x91, 0x2, 0x92, 0x2, 0x94, 0x2, 0x95, 0x2, 0x96, 0x2, 0x99, 0x2, 0x9A, 0x2, 0x9B, 0x2, 0xA0, 0x2, 0xA3, 0x2, 0xAE, 0x2, 0xAF, 0x2, 0xB0, 0x2, 0xB8, 0x2, 0xC5, 0x2, 0xC6, 0x2, 0xC7, 0x2, 0xCA, 0x2, 0xCB, 0x2, 0xCC, 0x2, 0xCE, 0x2, 0xD0, 0x2, 0xD2, 0x2, 0xDA, 0x2, 0xDB, 0x2, 0xEB, 0x2, 0xED, 0x2, 0xEF, 0x2, 0xF3, 0x2, 0xF4, 0x2, 0xF5, 0x3, 0x8, 0x3, 0x9, 0x3, 0xA, 0x3, 0xB, 0x3, 0xC, 0x3, 0xD, 0x3, 0xE, 0x3, 0x14, 0x3, 0x18, 0x3, 0x1A, 0x4, 0x2B, 0x4, 0x2D, 0x4, 0x34, 0x4, 0x62, 0x4, 0x63, 0x4, 0x65, 0x4, 0x66, 0x4, 0x67, 0x5, 0x59, 0x5, 0x5B, 0x5, 0x5D, 0x5, 0x5E, 0x5, 0x5F, 0x5, 0x61, 0x5, 0x64, 0x5, 0x66, 0x5, 0x6A, 0x5, 0x70, 0x5, 0xD9, 0x5, 0xDB, 0x5, 0xE5, 0x5, 0xE7, 0x5, 0xE8, 0x5, 0xEB, 0x5, 0xEC, 0x5, 0xEF, 0x5, 0xF0, 0x5, 0xF1, 0x5, 0xF9, 0x5, 0xFD, 0x5, 0xFE, 0x5, 0xFF, 0x6, 0x0, 0x6, 0x1, 0x6, 0x2, 0x6, 0x3, 0x6, 0x4, 0x6, 0x5, 0x6, 0x6, 0x6, 0x25, 0x6, 0x26, 0x6, 0x29, 0x6, 0x2A, 0x6, 0x2E, 0x6, 0x31, 0x6, 0x32, 0x6, 0x33, 0x6, 0x5F, 0x6, 0x6A, 0x6, 0x6C, 0x6, 0x70, 0x6, 0x71, 0x6, 0x72, 0x6, 0x73, 0x6, 0x75, 0x6, 0x76, 0x6, 0x78, 0x6, 0x7A, 0x6, 0x7C, 0x6, 0x86, 0x6, 0x87, 0x6, 0x88, 0x6, 0x89, 0x6, 0x8A, 0x6, 0x8B, 0x6, 0x8C, 0x6, 0x8D, 0x6, 0x96, 0x6, 0x97, 0x6, 0x9D, 0x6, 0x9F, 0x6, 0xBB, 0x6, 0xC7, 0x6, 0xC9, 0x6, 0xCD, 0x6, 0xCE, 0x6, 0xE1, 0x7, 0x54, 0x7, 0x56, 0x7, 0x57, 0x7, 0x59, 0x7, 0x5C, 0x7, 0x5D, 0x7, 0x67, 0x7, 0x68, 0x7, 0x69, 0x7, 0x7B, 0x7, 0x8A, 0x7, 0x8B, 0x7, 0x8C, 0x7, 0xAE, 0x7, 0xB1, 0x7, 0xCF, 0x7, 0xD1, 0x7, 0xD2, 0x8, 0xC8, 0x8, 0xC9, 0x8, 0xCB, 0x8, 0xCD, 0x8, 0xCE, 0x8, 0xCF, 0x8, 0xD0, 0x8, 0xD1, 0x8, 0xD2, 0x8, 0xD3, 0x8, 0xD4, 0x8, 0xD5, 0x8, 0xD6, 0x8, 0xD7, 0x8, 0xD8, 0x8, 0xD9, 0x8, 0xDA, 0x8, 0xDB, 0x8, 0xDC, 0x8, 0xDD, 0x8, 0xDE, 0x8, 0xDF, 0x8, 0xE0, 0x8, 0xE1, 0x8, 0xE2, 0x8, 0xE7, 0x8, 0xE8, 0x8, 0xE9, 0x8, 0xEA, 0x8, 0xEB, 0x8, 0xEC, 0x8, 0xED, 0x8, 0xEE, 0x8, 0xF0, 0x8, 0xF1, 0x8, 0xF2, 0x8, 0xF3, 0x8, 0xF8, 0x8, 0xF9, 0x8, 0xFA, 0x8, 0xFB, 0x8, 0xFC, 0x8, 0xFD, 0x9, 0x2, 0x9, 0x3, 0x9, 0x4, 0x9, 0x5, 0x9, 0x6, 0x9, 0x7, 0x9, 0x8, 0x9, 0x9, 0x9, 0xA, 0x9, 0xC, 0x9, 0xE, 0x9, 0x10, 0x9, 0x12, 0x9, 0x14, 0x9, 0x15, 0x9, 0x16, 0x9, 0x17, 0x9, 0x18, 0x9, 0x19, 0x9, 0x1A, 0x9, 0x1B, 0x9, 0x1C, 0x9, 0x1D, 0x9, 0x26, 0x9, 0x27, 0x9, 0x28, 0x9, 0x2A, 0x9, 0x2C, 0x9, 0x2E, 0x9, 0x30, 0x9, 0x35, 0x9, 0x37, 0x9, 0x39, 0x9, 0x3B, 0x9, 0x3D, 0x9, 0x3F, 0x9, 0x40, 0x9, 0x41, 0x9, 0x42, 0x9, 0x43, 0x9, 0x44, 0x9, 0x45, 0x9, 0x46, 0x9, 0x47, 0x9, 0x48, 0x9, 0x49, 0x9, 0x4A, 0x9, 0x4B, 0x9, 0x4D, 0x9, 0x4F, 0x9, 0x51, 0x9, 0x5C, 0x9, 0x5E, 0x9, 0x60, 0x9, 0x6E, 0x9, 0x70, 0x9, 0x71, 0x9, 0x72, 0x9, 0x73, 0x9, 0x75, 0x9, 0x77, 0x9, 0x7D, 0x9, 0x7E, 0x9, 0x7F, 0x9, 0x80, 0x9, 0x81, 0x9, 0x82, 0x9, 0x83, 0x9, 0x84, 0x9, 0x85, 0x9, 0x86, 0x9, 0x91, 0x9, 0x92, 0x9, 0x93, 0x9, 0x94, 0x9, 0x95, 0x9, 0x9B, 0x9, 0x9C, 0x9, 0x9D, 0x9, 0xA2, 0x9, 0xB3, 0x9, 0xB4, 0x9, 0xB5, 0x9, 0xB6, 0x9, 0xB7, 0x9, 0xBB, 0x9, 0xBC, 0x9, 0xBD, 0x9, 0xBE, 0x9, 0xC7, 0x9, 0xD5, 0x9, 0xD6, 0x9, 0xD7, 0x9, 0xD8, 0x9, 0xD9, 0x9, 0xDA, 0x9, 0xDD, 0x9, 0xDE, 0x9, 0xDF, 0x9, 0xE0, 0x9, 0xE1, 0x9, 0xE2, 0x9, 0xE3, 0x9, 0xE4, 0x9, 0xE5, 0x9, 0xE6, 0x9, 0xE7, 0x9, 0xE8, 0x9, 0xE9, 0x9, 0xEA, 0x9, 0xEB, 0x9, 0xEC, 0x9, 0xEF, 0x9, 0xF3, 0x9, 0xF5, 0x9, 0xF9, 0x9, 0xFC, 0x9, 0xFD, 0x9, 0xFF, 0xA, 0x0, 0xA, 0x2, 0xA, 0x3, 0xA, 0x4, 0xA, 0x5, 0xA, 0x6, 0xA, 0x7, 0xA, 0x8, 0xA, 0xA, 0xA, 0xB, 0xA, 0xC, 0xA, 0xE, 0xA, 0xF, 0xA, 0x10, 0xA, 0x11, 0xA, 0x12, 0xA, 0x13, 0xA, 0x15, 0xA, 0x16, 0xA, 0x18, 0xA, 0x19, 0xA, 0x1A, 0xA, 0x1B, 0xA, 0x21, 0xA, 0x22, 0xA, 0x24, 0xA, 0x26, 0xA, 0x28, 0xA, 0x29, 0xA, 0x2A, 0xA, 0x2B, 0xA, 0x2E, 0xA, 0x2F, 0xA, 0x30, 0xA, 0x31, 0xA, 0x32, 0xA, 0x33, 0xA, 0x35, 0xA, 0x39, 0xA, 0x3A, 0xA, 0x3F, 0xA, 0x41, 0xA, 0x42, 0xA, 0x43, 0xA, 0x44, 0xA, 0x45, 0xA, 0x46, 0xA, 0x47, 0xA, 0x48, 0xA, 0x49, 0xA, 0x4A, 0xA, 0x4D, 0xA, 0x4E, 0xA, 0x50, 0xA, 0x51, 0xA, 0x52, 0xA, 0x53, 0xA, 0x5A, 0xA, 0x5B, 0xA, 0x5E, 0xA, 0x60, 0xA, 0x62, 0xA, 0x63, 0xA, 0x64, 0xA, 0x65, 0xA, 0x66, 0xA, 0x67, 0xA, 0x68, 0xA, 0x6E, 0xA, 0x6F, 0xA, 0x70, 0xA, 0x71, 0xA, 0x72, 0xA, 0x73, 0xA, 0x74, 0xA, 0x75, 0xA, 0x76, 0xA, 0x77, 0xA, 0x78, 0xA, 0x79, 0xA, 0x7A, 0xA, 0x7B, 0xA, 0x7C, 0xA, 0x7D, 0xA, 0x7E, 0xA, 0x7F, 0xA, 0x80, 0xA, 0x81, 0xA, 0x82, 0xA, 0x83, 0xA, 0x84, 0xA, 0x85, 0xA, 0x86, 0xA, 0x87, 0xA, 0x88, 0xA, 0x89, 0xA, 0x8A, 0xA, 0x8B, 0xA, 0x8C, 0xA, 0x8D, 0xA, 0x8E, 0xA, 0x8F, 0xA, 0x90, 0xA, 0x91, 0xA, 0x92, 0xA, 0x93, 0xA, 0x94, 0xA, 0x95, 0xA, 0x96, 0xA, 0x98, 0xA, 0x9A, 0xA, 0x9B, 0xA, 0x9C, 0xA, 0x9D, 0xA, 0x9E, 0xA, 0x9F, 0xA, 0xA0, 0xA, 0xA1, 0xA, 0xA2, 0xA, 0xA3, 0xA, 0xA4, 0xA, 0xA5, 0xA, 0xA6, 0xA, 0xA7, 0xA, 0xAF, 0xA, 0xC0, 0xA, 0xC1, 0xA, 0xC2, 0xA, 0xC3, 0xA, 0xC4, 0xA, 0xC5, 0xA, 0xC7, 0xA, 0xCB, 0xA, 0xCC, 0xA, 0xCF, 0xA, 0xD1, 0xA, 0xD2, 0xA, 0xD4, 0xA, 0xD6, 0xA, 0xE6, 0xA, 0xEE, 0xA, 0xEF, 0xA, 0xF0, 0xA, 0xF2, 0xA, 0xF3, 0xA, 0xFF, 0xB, 0x0, 0xB, 0x1, 0xB, 0x2, 0xB, 0x4, 0xB, 0x9, 0xB, 0xA, 0xB, 0xB, 0xB, 0xC, 0xB, 0xD, 0xB, 0x12, 0xB, 0x13, 0xB, 0x14, 0xB, 0x15, 0xB, 0x16, 0xB, 0x17, 0xB, 0x18, 0xB, 0x1A, 0xB, 0x1C, 0xB, 0x1E, 0xB, 0x20, 0xB, 0x21, 0xB, 0x22, 0xB, 0x23, 0xB, 0x25, 0xB, 0x27, 0xB, 0x2C, 0xB, 0x2E, 0xB, 0x2F, 0xB, 0x30, 0xB, 0x32, 0xB, 0x33, 0xB, 0x34, 0xB, 0x35, 0xB, 0x36, 0xB, 0x37, 0xB, 0x38, 0xB, 0x39, 0xB, 0x3B, 0xB, 0x3C, 0xB, 0x46, 0xB, 0x47, 0xB, 0x48, 0xB, 0x4B, 0xB, 0x4D, 0xB, 0x4E, 0xB, 0x4F, 0xB, 0x50, 0xB, 0x51, 0xB, 0x52, 0xB, 0x53, 0xB, 0x55, 0xB, 0x57, 0xB, 0x59, 0xB, 0x5B, 0xB, 0x5D, 0xB, 0x5F, 0xB, 0x60, 0xB, 0x61, 0xB, 0x62, 0xB, 0x63, 0xB, 0x64, 0xB, 0x65, 0xB, 0x66, 0xB, 0x67, 0xB, 0x68, 0xB, 0x6D, 0xB, 0x6E, 0xB, 0x6F, 0xB, 0x70, 0xB, 0x71, 0xB, 0x72, 0xB, 0x73, 0xB, 0x74, 0xB, 0x75, 0xB, 0x77, 0xB, 0x79, 0xB, 0x7B, 0xB, 0x7D, 0xB, 0x7F, 0xB, 0x81, 0xB, 0x83, 0xB, 0x84, 0xB, 0x85, 0xB, 0x86, 0xB, 0x87, 0xB, 0x88, 0xB, 0x89, 0xB, 0x8A, 0xB, 0x8B, 0xB, 0x8C, 0xB, 0x8D, 0xB, 0x8E, 0xB, 0x8F, 0xB, 0x90, 0xB, 0x91, 0xB, 0x92, 0xB, 0x93, 0xB, 0x94, 0xB, 0x95, 0xB, 0x96, 0xB, 0x97, 0xB, 0x98, 0xB, 0x99, 0xB, 0x9A, 0xB, 0x9C, 0xB, 0x9E, 0xB, 0xA0, 0xB, 0xA2, 0xB, 0xAD, 0xB, 0xAF, 0xB, 0xB1, 0xB, 0xB3, 0xB, 0xBF, 0xB, 0xC0, 0xB, 0xC1, 0xB, 0xC2, 0xB, 0xC3, 0xB, 0xC5, 0xB, 0xC7, 0xB, 0xC8, 0xB, 0xC9, 0xB, 0xCA, 0xB, 0xCB, 0xB, 0xCC, 0xB, 0xCD, 0xB, 0xCF, 0xB, 0xD1, 0xB, 0xD6, 0xB, 0xE0, 0xB, 0xE1, 0xB, 0xE2, 0xB, 0xE3, 0xB, 0xE4, 0xB, 0xE5, 0xB, 0xE6, 0xB, 0xE7, 0xB, 0xEE, 0xB, 0xEF, 0xB, 0xF0, 0xB, 0xF1, 0xB, 0xF2, 0xB, 0xF3, 0xB, 0xF4, 0xB, 0xF5, 0xB, 0xF6, 0xB, 0xF7, 0xB, 0xF8, 0xB, 0xF9, 0xB, 0xFA, 0xB, 0xFB, 0xB, 0xFC, 0xB, 0xFD, 0xB, 0xFE, 0xB, 0xFF, 0xC, 0x0, 0xC, 0x1, 0xC, 0x2, 0xC, 0x3, 0xC, 0x14, 0xC, 0x15, 0xC, 0x16, 0xC, 0x17, 0xC, 0x18, 0xC, 0x19, 0xC, 0x1A, 0xC, 0x1B, 0xC, 0x1C, 0xC, 0x1D, 0xC, 0x1E, 0xC, 0x1F, 0xC, 0x40, 0xC, 0x41, 0xC, 0x44, 0xC, 0x45, 0xC, 0x52, 0xC, 0x53, 0xC, 0x54, 0xC, 0x55, 0xC, 0x56, 0xC, 0x57, 0xC, 0x58, 0xC, 0x59, 0xC, 0x62, 0xC, 0x63, 0xC, 0x64, 0xC, 0x65, 0xC, 0x66, 0xC, 0x67, 0xC, 0x68, 0xC, 0x69, 0xC, 0x81, 0xC, 0x82, 0xC, 0x83, 0xC, 0x84, 0xC, 0x85, 0xC, 0x86, 0xC, 0x87, 0xC, 0x88, 0xC, 0x89, 0xC, 0x8A, 0xC, 0x8B, 0xC, 0x8C, 0xC, 0x8D, 0xC, 0x8E, 0xC, 0x8F, 0xC, 0x9E, 0xC, 0x9F, 0xC, 0xA2, 0xC, 0xA3, 0xC, 0xA4, 0xC, 0xA5, 0xC, 0xA6, 0xC, 0xAC, 0xC, 0xAD, 0xC, 0xB7, 0xC, 0xBB, 0xC, 0xBE, 0xC, 0xC4, 0xC, 0xC9, 0xC, 0xD4, 0xC, 0xD6, 0xC, 0xDD, 0xC, 0xE1, 0x0, 0x12, 0x0, 0x39, 0xFF, 0xCE, 0x0, 0xC2, 0xFF, 0xCE, 0x2, 0x68, 0xFF, 0xCE, 0x2, 0x6C, 0xFF, 0xCE, 0x2, 0xD0, 0xFF, 0xCE, 0x2, 0xDC, 0xFF, 0xCE, 0x6, 0x23, 0xFF, 0xCE, 0x6, 0x25, 0xFF, 0xCE, 0x6, 0x29, 0xFF, 0xCE, 0x9, 0x5C, 0xFF, 0xCE, 0x9, 0x5E, 0xFF, 0xCE, 0x9, 0x60, 0xFF, 0xCE, 0xA, 0x10, 0xFF, 0xCE, 0xA, 0xC7, 0xFF, 0xCE, 0xB, 0xAD, 0xFF, 0xCE, 0xB, 0xAF, 0xFF, 0xCE, 0xB, 0xB1, 0xFF, 0xCE, 0xB, 0xB3, 0xFF, 0xCE, 0x0, 0x20, 0x0, 0x3B, 0x0, 0x16, 0x0, 0x3C, 0x0, 0x20, 0x0, 0x3E, 0x0, 0x18, 0x1, 0x3, 0x0, 0x18, 0x2, 0xAF, 0x0, 0x16, 0x5, 0x68, 0x0, 0x20, 0x6, 0x96, 0x0, 0x16, 0x8, 0xE7, 0x0, 0x18, 0x9, 0x6E, 0x0, 0x20, 0x9, 0x70, 0x0, 0x18, 0x9, 0x72, 0x0, 0x18, 0x9, 0xDA, 0x0, 0x18, 0x9, 0xE9, 0x0, 0x18, 0x9, 0xEC, 0x0, 0x18, 0xA, 0x22, 0x0, 0x20, 0xA, 0x24, 0x0, 0x20, 0xA, 0x26, 0x0, 0x20, 0xA, 0x28, 0x0, 0x18, 0xA, 0x39, 0x0, 0x16, 0xA, 0x41, 0x0, 0x18, 0xA, 0xC0, 0x0, 0x18, 0xA, 0xC2, 0x0, 0x18, 0xA, 0xC4, 0x0, 0x18, 0xA, 0xD6, 0x0, 0x18, 0xB, 0x4B, 0x0, 0x20, 0xB, 0xBF, 0x0, 0x16, 0xB, 0xC1, 0x0, 0x16, 0xB, 0xC3, 0x0, 0x20, 0xB, 0xC5, 0x0, 0x20, 0xB, 0xCB, 0x0, 0x18, 0xC, 0xA2, 0x0, 0x18, 0xC, 0xA3, 0x0, 0x18, 0x0, 0x1, 0x0, 0x14, 0xFF, 0x10, 0x1, 0x82, 0x0, 0x11, 0xFE, 0xD6, 0x0, 0x13, 0xFE, 0xD6, 0x0, 0x26, 0xFF, 0x3E, 0x0, 0x2F, 0xFF, 0x17, 0x0, 0x39, 0x0, 0x14, 0x0, 0x3B, 0x0, 0x4, 0x0, 0x46, 0xFF, 0xCE, 0x0, 0x48, 0xFF, 0xDC, 0x0, 0x49, 0xFF, 0xDC, 0x0, 0x4A, 0xFF, 0xDC, 0x0, 0x4C, 0xFF, 0xDC, 0x0, 0x54, 0xFF, 0xDB, 0x0, 0x56, 0xFF, 0xDC, 0x0, 0x57, 0xFF, 0xE4, 0x0, 0x5A, 0xFF, 0xE8, 0x0, 0x5B, 0xFF, 0xE6, 0x0, 0x5E, 0xFF, 0xE6, 0x0, 0x95, 0xFF, 0xDC, 0x0, 0x9F, 0xFF, 0xDC, 0x0, 0xB5, 0xFF, 0xDC, 0x0, 0xC2, 0x0, 0x14, 0x0, 0xC4, 0xFF, 0xE8, 0x0, 0xDA, 0xFF, 0xDC, 0x0, 0xDC, 0xFF, 0xDC, 0x0, 0xE4, 0xFF, 0xDC, 0x0, 0xFA, 0xFF, 0x3E, 0x1, 0x0, 0xFF, 0xDC, 0x2, 0x2A, 0xFF, 0xDC, 0x2, 0x31, 0xFF, 0x3E, 0x2, 0x33, 0xFF, 0x3E, 0x2, 0x3A, 0xFF, 0xDC, 0x2, 0x3C, 0xFF, 0xE6, 0x2, 0x47, 0xFF, 0xDC, 0x2, 0x48, 0xFF, 0xDC, 0x2, 0x4A, 0xFF, 0xE8, 0x2, 0x56, 0xFF, 0xDB, 0x2, 0x58, 0xFF, 0xDC, 0x2, 0x61, 0xFF, 0xDC, 0x2, 0x68, 0x0, 0x14, 0x2, 0x6C, 0x0, 0x14, 0x2, 0x8D, 0xFF, 0xDC, 0x2, 0x99, 0xFF, 0xDC, 0x2, 0xA3, 0xFF, 0x3E, 0x2, 0xAE, 0xFF, 0xDB, 0x2, 0xAF, 0x0, 0x4, 0x2, 0xB0, 0xFF, 0xE6, 0x2, 0xB4, 0xFF, 0xDC, 0x2, 0xB8, 0xFF, 0xDC, 0x2, 0xD0, 0x0, 0x14, 0x2, 0xD9, 0xFF, 0xDC, 0x2, 0xDC, 0x0, 0x14, 0x2, 0xF7, 0xFF, 0xDC, 0x2, 0xF8, 0xFF, 0xDC, 0x3, 0x2, 0xFF, 0xDC, 0x4, 0x64, 0xFE, 0xD6, 0x4, 0x68, 0xFE, 0xD6, 0x4, 0x6F, 0xFE, 0xD6, 0x4, 0x70, 0xFE, 0xD6, 0x5, 0x5B, 0xFF, 0xCE, 0x5, 0x67, 0xFF, 0xE6, 0x5, 0x6E, 0xFF, 0xDC, 0x5, 0x70, 0xFF, 0xDB, 0x5, 0xEE, 0xFF, 0xDB, 0x5, 0xF1, 0xFF, 0x3E, 0x6, 0x2, 0xFF, 0xDB, 0x6, 0x4, 0xFF, 0xDB, 0x6, 0x6, 0xFF, 0xDB, 0x6, 0x23, 0x0, 0x14, 0x6, 0x25, 0x0, 0x14, 0x6, 0x29, 0x0, 0x14, 0x6, 0x32, 0xFF, 0xDB, 0x6, 0x6A, 0xFF, 0x3E, 0x6, 0x6B, 0xFF, 0xCE, 0x6, 0x6C, 0xFF, 0x3E, 0x6, 0x6D, 0xFF, 0xCE, 0x6, 0x6F, 0xFF, 0xCE, 0x6, 0x70, 0xFF, 0x3E, 0x6, 0x71, 0xFF, 0xCE, 0x6, 0x72, 0xFF, 0x3E, 0x6, 0x73, 0xFF, 0xCE, 0x6, 0x74, 0xFF, 0x3E, 0x6, 0x75, 0xFF, 0xCE, 0x6, 0x85, 0xFF, 0xDB, 0x6, 0x87, 0xFF, 0xDB, 0x6, 0x8F, 0xFF, 0xDC, 0x6, 0x91, 0xFF, 0xDC, 0x6, 0x96, 0x0, 0x4, 0x6, 0xA9, 0xFF, 0xDC, 0x6, 0xCB, 0xFF, 0xDC, 0x6, 0xF7, 0xFF, 0xDC, 0x7, 0x67, 0xFF, 0xA5, 0x7, 0x69, 0xFF, 0xA5, 0x7, 0xB1, 0xFF, 0xA5, 0x8, 0xCD, 0xFF, 0x3E, 0x8, 0xCE, 0xFF, 0x3E, 0x8, 0xCF, 0xFF, 0x3E, 0x8, 0xD0, 0xFF, 0x3E, 0x8, 0xD1, 0xFF, 0x3E, 0x8, 0xD2, 0xFF, 0x3E, 0x8, 0xD3, 0xFF, 0x3E, 0x8, 0xE8, 0xFF, 0xCE, 0x8, 0xE9, 0xFF, 0xCE, 0x8, 0xEA, 0xFF, 0xCE, 0x8, 0xEB, 0xFF, 0xCE, 0x8, 0xEC, 0xFF, 0xCE, 0x8, 0xED, 0xFF, 0xCE, 0x8, 0xEE, 0xFF, 0xCE, 0x8, 0xEF, 0xFF, 0xDC, 0x8, 0xF0, 0xFF, 0xDC, 0x8, 0xF1, 0xFF, 0xDC, 0x8, 0xF2, 0xFF, 0xDC, 0x8, 0xF3, 0xFF, 0xDC, 0x8, 0xF9, 0xFF, 0xDB, 0x8, 0xFA, 0xFF, 0xDB, 0x8, 0xFB, 0xFF, 0xDB, 0x8, 0xFC, 0xFF, 0xDB, 0x8, 0xFD, 0xFF, 0xDB, 0x8, 0xFE, 0xFF, 0xE8, 0x8, 0xFF, 0xFF, 0xE8, 0x9, 0x0, 0xFF, 0xE8, 0x9, 0x1, 0xFF, 0xE8, 0x9, 0x2, 0xFF, 0xE6, 0x9, 0x3, 0xFF, 0xE6, 0x9, 0x4, 0xFF, 0x3E, 0x9, 0x5, 0xFF, 0xCE, 0x9, 0x6, 0xFF, 0x3E, 0x9, 0x7, 0xFF, 0xCE, 0x9, 0x8, 0xFF, 0x3E, 0x9, 0x9, 0xFF, 0xCE, 0x9, 0xB, 0xFF, 0xDC, 0x9, 0xD, 0xFF, 0xDC, 0x9, 0xF, 0xFF, 0xDC, 0x9, 0x11, 0xFF, 0xDC, 0x9, 0x13, 0xFF, 0xDC, 0x9, 0x15, 0xFF, 0xDC, 0x9, 0x17, 0xFF, 0xDC, 0x9, 0x19, 0xFF, 0xDC, 0x9, 0x1B, 0xFF, 0xDC, 0x9, 0x1D, 0xFF, 0xDC, 0x9, 0x1F, 0xFF, 0xDC, 0x9, 0x21, 0xFF, 0xDC, 0x9, 0x23, 0xFF, 0xDC, 0x9, 0x25, 0xFF, 0xDC, 0x9, 0x33, 0xFF, 0x17, 0x9, 0x47, 0xFF, 0xDB, 0x9, 0x49, 0xFF, 0xDB, 0x9, 0x4B, 0xFF, 0xDB, 0x9, 0x5C, 0x0, 0x14, 0x9, 0x5E, 0x0, 0x14, 0x9, 0x60, 0x0, 0x14, 0x9, 0x63, 0xFF, 0xE8, 0x9, 0x65, 0xFF, 0xE8, 0x9, 0x67, 0xFF, 0xE8, 0x9, 0x69, 0xFF, 0xE8, 0x9, 0x6B, 0xFF, 0xE8, 0x9, 0x6D, 0xFF, 0xE8, 0x9, 0x71, 0xFF, 0xE6, 0x9, 0x80, 0xFF, 0xA5, 0x9, 0x81, 0xFF, 0xA5, 0x9, 0x82, 0xFF, 0xA5, 0x9, 0x83, 0xFF, 0xA5, 0x9, 0x84, 0xFF, 0xA5, 0x9, 0x85, 0xFF, 0xA5, 0x9, 0x86, 0xFF, 0xA5, 0x9, 0x9B, 0xFF, 0xA5, 0x9, 0x9C, 0xFF, 0xA5, 0x9, 0x9D, 0xFF, 0xA5, 0x9, 0xD5, 0xFF, 0x3E, 0x9, 0xDD, 0xFF, 0x3E, 0x9, 0xED, 0xFF, 0xDC, 0x9, 0xF1, 0xFF, 0xE8, 0x9, 0xF3, 0xFF, 0xDB, 0x9, 0xF5, 0xFF, 0xE6, 0x9, 0xF8, 0xFF, 0xE8, 0x9, 0xF9, 0xFF, 0xDB, 0x9, 0xFA, 0xFF, 0xE8, 0xA, 0x1, 0xFF, 0x17, 0xA, 0x5, 0xFF, 0x3E, 0xA, 0x10, 0x0, 0x14, 0xA, 0x12, 0xFF, 0xCE, 0xA, 0x13, 0xFF, 0xDC, 0xA, 0x15, 0xFF, 0xDB, 0xA, 0x17, 0xFF, 0xDC, 0xA, 0x18, 0xFF, 0xE6, 0xA, 0x1A, 0xFF, 0xDC, 0xA, 0x21, 0xFF, 0xE6, 0xA, 0x29, 0xFF, 0xE6, 0xA, 0x31, 0xFF, 0x3E, 0xA, 0x32, 0xFF, 0xCE, 0xA, 0x35, 0xFF, 0xDC, 0xA, 0x39, 0x0, 0x4, 0xA, 0x3A, 0xFF, 0xE6, 0xA, 0x3B, 0xFF, 0xDC, 0xA, 0x40, 0xFF, 0xDC, 0xA, 0x42, 0xFF, 0xE6, 0xA, 0x47, 0xFF, 0x3E, 0xA, 0x48, 0xFF, 0xCE, 0xA, 0x49, 0xFF, 0x3E, 0xA, 0x4A, 0xFF, 0xCE, 0xA, 0x4E, 0xFF, 0xDC, 0xA, 0x50, 0xFF, 0xDC, 0xA, 0x51, 0xFF, 0xDC, 0xA, 0x5B, 0xFF, 0xDB, 0xA, 0x5D, 0xFF, 0xDC, 0xA, 0x60, 0xFF, 0xDB, 0xA, 0x64, 0xFF, 0xE6, 0xA, 0x66, 0xFF, 0xE6, 0xA, 0x68, 0xFF, 0xE6, 0xA, 0x6D, 0xFF, 0xDC, 0xA, 0x6E, 0xFF, 0x3E, 0xA, 0x6F, 0xFF, 0xCE, 0xA, 0x70, 0xFF, 0x3E, 0xA, 0x71, 0xFF, 0xCE, 0xA, 0x72, 0xFF, 0x3E, 0xA, 0x73, 0xFF, 0xCE, 0xA, 0x74, 0xFF, 0x3E, 0xA, 0x75, 0xFF, 0xCE, 0xA, 0x76, 0xFF, 0x3E, 0xA, 0x77, 0xFF, 0xCE, 0xA, 0x78, 0xFF, 0x3E, 0xA, 0x79, 0xFF, 0xCE, 0xA, 0x7A, 0xFF, 0x3E, 0xA, 0x7B, 0xFF, 0xCE, 0xA, 0x7C, 0xFF, 0x3E, 0xA, 0x7D, 0xFF, 0xCE, 0xA, 0x7E, 0xFF, 0x3E, 0xA, 0x7F, 0xFF, 0xCE, 0xA, 0x80, 0xFF, 0x3E, 0xA, 0x81, 0xFF, 0xCE, 0xA, 0x82, 0xFF, 0x3E, 0xA, 0x83, 0xFF, 0xCE, 0xA, 0x84, 0xFF, 0x3E, 0xA, 0x85, 0xFF, 0xCE, 0xA, 0x87, 0xFF, 0xDC, 0xA, 0x89, 0xFF, 0xDC, 0xA, 0x8B, 0xFF, 0xDC, 0xA, 0x8D, 0xFF, 0xDC, 0xA, 0x8F, 0xFF, 0xDC, 0xA, 0x91, 0xFF, 0xDC, 0xA, 0x93, 0xFF, 0xDC, 0xA, 0x95, 0xFF, 0xDC, 0xA, 0x9B, 0xFF, 0xDB, 0xA, 0x9D, 0xFF, 0xDB, 0xA, 0x9F, 0xFF, 0xDB, 0xA, 0xA1, 0xFF, 0xDB, 0xA, 0xA3, 0xFF, 0xDB, 0xA, 0xA5, 0xFF, 0xDB, 0xA, 0xA7, 0xFF, 0xDB, 0xA, 0xA9, 0xFF, 0xDC, 0xA, 0xAB, 0xFF, 0xDC, 0xA, 0xAD, 0xFF, 0xDC, 0xA, 0xAF, 0xFF, 0xDB, 0xA, 0xB1, 0xFF, 0xDC, 0xA, 0xB3, 0xFF, 0xE8, 0xA, 0xB5, 0xFF, 0xE8, 0xA, 0xB7, 0xFF, 0xE8, 0xA, 0xB9, 0xFF, 0xE8, 0xA, 0xBB, 0xFF, 0xE8, 0xA, 0xBD, 0xFF, 0xE8, 0xA, 0xBF, 0xFF, 0xE8, 0xA, 0xC1, 0xFF, 0xE6, 0xA, 0xC3, 0xFF, 0xE6, 0xA, 0xC5, 0xFF, 0xE6, 0xA, 0xC7, 0x0, 0x14, 0xA, 0xEE, 0xFF, 0x3E, 0xA, 0xEF, 0xFF, 0xCE, 0xA, 0xF3, 0xFF, 0xDB, 0xA, 0xF5, 0xFF, 0xE8, 0xA, 0xF7, 0xFF, 0xE8, 0xA, 0xF9, 0xFF, 0xE8, 0xA, 0xFB, 0xFF, 0xE8, 0xA, 0xFD, 0xFF, 0xE8, 0xA, 0xFE, 0xFF, 0xDC, 0xA, 0xFF, 0xFF, 0x3E, 0xB, 0x0, 0xFF, 0xCE, 0xB, 0x1, 0xFF, 0x3E, 0xB, 0x2, 0xFF, 0xCE, 0xB, 0x4, 0xFF, 0xCE, 0xB, 0x6, 0xFF, 0xDC, 0xB, 0xA, 0xFF, 0xDB, 0xB, 0xC, 0xFF, 0xDB, 0xB, 0xF, 0xFF, 0xDC, 0xB, 0x14, 0xFF, 0x3E, 0xB, 0x15, 0xFF, 0xCE, 0xB, 0x16, 0xFF, 0x3E, 0xB, 0x17, 0xFF, 0xCE, 0xB, 0x19, 0xFF, 0xDC, 0xB, 0x1B, 0xFF, 0xDC, 0xB, 0x21, 0xFF, 0xDB, 0xB, 0x23, 0xFF, 0xDB, 0xB, 0x29, 0xFF, 0xE8, 0xB, 0x2B, 0xFF, 0xE8, 0xB, 0x2E, 0xFF, 0x3E, 0xB, 0x2F, 0xFF, 0xCE, 0xB, 0x33, 0xFF, 0xDB, 0xB, 0x35, 0xFF, 0xDB, 0xB, 0x37, 0xFF, 0xDB, 0xB, 0x39, 0xFF, 0xDB, 0xB, 0x3B, 0xFF, 0xE6, 0xB, 0x3C, 0xFF, 0xDB, 0xB, 0x3F, 0xFF, 0x17, 0xB, 0x42, 0xFF, 0xDC, 0xB, 0x4A, 0xFF, 0xDC, 0xB, 0x54, 0xFF, 0xDC, 0xB, 0x56, 0xFF, 0xDC, 0xB, 0x58, 0xFF, 0xDC, 0xB, 0x5A, 0xFF, 0xDC, 0xB, 0x5C, 0xFF, 0xDC, 0xB, 0x5E, 0xFF, 0xDC, 0xB, 0x60, 0xFF, 0xDC, 0xB, 0x62, 0xFF, 0xDC, 0xB, 0x64, 0xFF, 0xDC, 0xB, 0x66, 0xFF, 0xDC, 0xB, 0x68, 0xFF, 0xDC, 0xB, 0x6C, 0xFF, 0xDC, 0xB, 0x90, 0xFF, 0xDB, 0xB, 0x92, 0xFF, 0xDB, 0xB, 0x94, 0xFF, 0xDB, 0xB, 0x96, 0xFF, 0xDB, 0xB, 0xAD, 0x0, 0x14, 0xB, 0xAF, 0x0, 0x14, 0xB, 0xB1, 0x0, 0x14, 0xB, 0xB3, 0x0, 0x14, 0xB, 0xB6, 0xFF, 0xE8, 0xB, 0xB8, 0xFF, 0xE8, 0xB, 0xBA, 0xFF, 0xE8, 0xB, 0xBC, 0xFF, 0xE8, 0xB, 0xBE, 0xFF, 0xE8, 0xB, 0xBF, 0x0, 0x4, 0xB, 0xC0, 0xFF, 0xE6, 0xB, 0xC1, 0x0, 0x4, 0xB, 0xC2, 0xFF, 0xE6, 0xB, 0xCC, 0xFF, 0xE6, 0xB, 0xD6, 0xFF, 0xE6, 0xB, 0xD7, 0xFF, 0xCE, 0xB, 0xD8, 0xFF, 0xDC, 0xB, 0xD9, 0xFF, 0xDC, 0xB, 0xDA, 0xFF, 0xDC, 0xB, 0xDB, 0xFF, 0xDC, 0xB, 0xDC, 0xFF, 0xDC, 0xB, 0xDD, 0xFF, 0xDC, 0xB, 0xDE, 0xFF, 0xDC, 0xB, 0xDF, 0xFF, 0xDC, 0xC, 0x14, 0xFF, 0xDB, 0xC, 0x15, 0xFF, 0xDB, 0xC, 0x16, 0xFF, 0xDB, 0xC, 0x17, 0xFF, 0xDB, 0xC, 0x18, 0xFF, 0xDB, 0xC, 0x19, 0xFF, 0xDB, 0xC, 0x20, 0xFF, 0xE8, 0xC, 0x21, 0xFF, 0xE8, 0xC, 0x22, 0xFF, 0xE8, 0xC, 0x23, 0xFF, 0xE8, 0xC, 0x24, 0xFF, 0xE8, 0xC, 0x25, 0xFF, 0xE8, 0xC, 0x26, 0xFF, 0xE8, 0xC, 0x27, 0xFF, 0xE8, 0xC, 0x44, 0xFF, 0xDB, 0xC, 0x45, 0xFF, 0xDB, 0xC, 0x46, 0xFF, 0xE8, 0xC, 0x47, 0xFF, 0xE8, 0xC, 0x4A, 0xFF, 0xDC, 0xC, 0x4B, 0xFF, 0xDC, 0xC, 0x4C, 0xFF, 0xDC, 0xC, 0x4D, 0xFF, 0xDC, 0xC, 0x4E, 0xFF, 0xDC, 0xC, 0x4F, 0xFF, 0xDC, 0xC, 0x50, 0xFF, 0xDC, 0xC, 0x51, 0xFF, 0xDC, 0xC, 0x7A, 0xFF, 0xDC, 0xC, 0x7B, 0xFF, 0xDC, 0xC, 0x7C, 0xFF, 0xDC, 0xC, 0x7D, 0xFF, 0xDC, 0xC, 0x7E, 0xFF, 0xDC, 0xC, 0x7F, 0xFF, 0xDC, 0xC, 0x80, 0xFF, 0xDC, 0xC, 0x81, 0xFF, 0x3E, 0xC, 0x82, 0xFF, 0x3E, 0xC, 0x85, 0xFF, 0x3E, 0xC, 0x9A, 0xFF, 0xE8, 0xC, 0x9B, 0xFF, 0xE8, 0xC, 0x9C, 0xFF, 0xE8, 0xC, 0x9D, 0xFF, 0xE8, 0xC, 0xB7, 0xFF, 0xA5, 0xC, 0xBE, 0xFF, 0xA5, 0xC, 0xD6, 0xFF, 0xA5, 0x0, 0x42, 0x0, 0x39, 0xFF, 0xDC, 0x0, 0x3B, 0xFF, 0xE2, 0x0, 0x3C, 0xFF, 0xEA, 0x0, 0x3E, 0xFF, 0xCC, 0x0, 0xC2, 0xFF, 0xDC, 0x1, 0x3, 0xFF, 0xCC, 0x2, 0x68, 0xFF, 0xDC, 0x2, 0x6C, 0xFF, 0xDC, 0x2, 0xAF, 0xFF, 0xE2, 0x2, 0xD0, 0xFF, 0xDC, 0x2, 0xDC, 0xFF, 0xDC, 0x5, 0x68, 0xFF, 0xEA, 0x6, 0x23, 0xFF, 0xDC, 0x6, 0x25, 0xFF, 0xDC, 0x6, 0x29, 0xFF, 0xDC, 0x6, 0x96, 0xFF, 0xE2, 0x7, 0x67, 0x0, 0xF, 0x7, 0x69, 0x0, 0xF, 0x7, 0xB1, 0x0, 0xF, 0x8, 0xE7, 0xFF, 0xCC, 0x9, 0x5C, 0xFF, 0xDC, 0x9, 0x5E, 0xFF, 0xDC, 0x9, 0x60, 0xFF, 0xDC, 0x9, 0x6E, 0xFF, 0xEA, 0x9, 0x70, 0xFF, 0xCC, 0x9, 0x72, 0xFF, 0xCC, 0x9, 0x80, 0x0, 0xF, 0x9, 0x81, 0x0, 0xF, 0x9, 0x82, 0x0, 0xF, 0x9, 0x83, 0x0, 0xF, 0x9, 0x84, 0x0, 0xF, 0x9, 0x85, 0x0, 0xF, 0x9, 0x86, 0x0, 0xF, 0x9, 0x9B, 0x0, 0xF, 0x9, 0x9C, 0x0, 0xF, 0x9, 0x9D, 0x0, 0xF, 0x9, 0xDA, 0xFF, 0xCC, 0x9, 0xE9, 0xFF, 0xCC, 0x9, 0xEC, 0xFF, 0xCC, 0xA, 0x10, 0xFF, 0xDC, 0xA, 0x22, 0xFF, 0xEA, 0xA, 0x24, 0xFF, 0xEA, 0xA, 0x26, 0xFF, 0xEA, 0xA, 0x28, 0xFF, 0xCC, 0xA, 0x39, 0xFF, 0xE2, 0xA, 0x41, 0xFF, 0xCC, 0xA, 0xC0, 0xFF, 0xCC, 0xA, 0xC2, 0xFF, 0xCC, 0xA, 0xC4, 0xFF, 0xCC, 0xA, 0xC7, 0xFF, 0xDC, 0xA, 0xD6, 0xFF, 0xCC, 0xB, 0x4B, 0xFF, 0xEA, 0xB, 0xAD, 0xFF, 0xDC, 0xB, 0xAF, 0xFF, 0xDC, 0xB, 0xB1, 0xFF, 0xDC, 0xB, 0xB3, 0xFF, 0xDC, 0xB, 0xBF, 0xFF, 0xE2, 0xB, 0xC1, 0xFF, 0xE2, 0xB, 0xC3, 0xFF, 0xEA, 0xB, 0xC5, 0xFF, 0xEA, 0xB, 0xCB, 0xFF, 0xCC, 0xC, 0xA2, 0xFF, 0xCC, 0xC, 0xA3, 0xFF, 0xCC, 0xC, 0xB7, 0x0, 0xF, 0xC, 0xBE, 0x0, 0xF, 0xC, 0xD6, 0x0, 0xF, 0x0, 0x59, 0x0, 0x26, 0x0, 0x4, 0x0, 0x39, 0xFF, 0xD7, 0x0, 0x3B, 0xFF, 0xEC, 0x0, 0x3E, 0xFF, 0xC2, 0x0, 0xC2, 0xFF, 0xD7, 0x0, 0xFA, 0x0, 0x4, 0x1, 0x3, 0xFF, 0xC2, 0x2, 0x31, 0x0, 0x4, 0x2, 0x33, 0x0, 0x4, 0x2, 0x68, 0xFF, 0xD7, 0x2, 0x6C, 0xFF, 0xD7, 0x2, 0xA3, 0x0, 0x4, 0x2, 0xAF, 0xFF, 0xEC, 0x2, 0xD0, 0xFF, 0xD7, 0x2, 0xDC, 0xFF, 0xD7, 0x5, 0xF1, 0x0, 0x4, 0x6, 0x23, 0xFF, 0xD7, 0x6, 0x25, 0xFF, 0xD7, 0x6, 0x29, 0xFF, 0xD7, 0x6, 0x6A, 0x0, 0x4, 0x6, 0x6C, 0x0, 0x4, 0x6, 0x70, 0x0, 0x4, 0x6, 0x72, 0x0, 0x4, 0x6, 0x74, 0x0, 0x4, 0x6, 0x96, 0xFF, 0xEC, 0x8, 0xCD, 0x0, 0x4, 0x8, 0xCE, 0x0, 0x4, 0x8, 0xCF, 0x0, 0x4, 0x8, 0xD0, 0x0, 0x4, 0x8, 0xD1, 0x0, 0x4, 0x8, 0xD2, 0x0, 0x4, 0x8, 0xD3, 0x0, 0x4, 0x8, 0xE7, 0xFF, 0xC2, 0x9, 0x4, 0x0, 0x4, 0x9, 0x6, 0x0, 0x4, 0x9, 0x8, 0x0, 0x4, 0x9, 0x5C, 0xFF, 0xD7, 0x9, 0x5E, 0xFF, 0xD7, 0x9, 0x60, 0xFF, 0xD7, 0x9, 0x70, 0xFF, 0xC2, 0x9, 0x72, 0xFF, 0xC2, 0x9, 0xD5, 0x0, 0x4, 0x9, 0xDA, 0xFF, 0xC2, 0x9, 0xDD, 0x0, 0x4, 0x9, 0xE9, 0xFF, 0xC2, 0x9, 0xEC, 0xFF, 0xC2, 0xA, 0x5, 0x0, 0x4, 0xA, 0x10, 0xFF, 0xD7, 0xA, 0x28, 0xFF, 0xC2, 0xA, 0x31, 0x0, 0x4, 0xA, 0x39, 0xFF, 0xEC, 0xA, 0x41, 0xFF, 0xC2, 0xA, 0x47, 0x0, 0x4, 0xA, 0x49, 0x0, 0x4, 0xA, 0x6E, 0x0, 0x4, 0xA, 0x70, 0x0, 0x4, 0xA, 0x72, 0x0, 0x4, 0xA, 0x74, 0x0, 0x4, 0xA, 0x76, 0x0, 0x4, 0xA, 0x78, 0x0, 0x4, 0xA, 0x7A, 0x0, 0x4, 0xA, 0x7C, 0x0, 0x4, 0xA, 0x7E, 0x0, 0x4, 0xA, 0x80, 0x0, 0x4, 0xA, 0x82, 0x0, 0x4, 0xA, 0x84, 0x0, 0x4, 0xA, 0xC0, 0xFF, 0xC2, 0xA, 0xC2, 0xFF, 0xC2, 0xA, 0xC4, 0xFF, 0xC2, 0xA, 0xC7, 0xFF, 0xD7, 0xA, 0xD6, 0xFF, 0xC2, 0xA, 0xEE, 0x0, 0x4, 0xA, 0xFF, 0x0, 0x4, 0xB, 0x1, 0x0, 0x4, 0xB, 0x14, 0x0, 0x4, 0xB, 0x16, 0x0, 0x4, 0xB, 0x2E, 0x0, 0x4, 0xB, 0xAD, 0xFF, 0xD7, 0xB, 0xAF, 0xFF, 0xD7, 0xB, 0xB1, 0xFF, 0xD7, 0xB, 0xB3, 0xFF, 0xD7, 0xB, 0xBF, 0xFF, 0xEC, 0xB, 0xC1, 0xFF, 0xEC, 0xB, 0xCB, 0xFF, 0xC2, 0xC, 0x81, 0x0, 0x4, 0xC, 0x82, 0x0, 0x4, 0xC, 0x85, 0x0, 0x4, 0xC, 0xA2, 0xFF, 0xC2, 0xC, 0xA3, 0xFF, 0xC2, 0x0, 0x1B, 0x0, 0x2F, 0xFF, 0xED, 0x0, 0x3A, 0xFF, 0xED, 0x8, 0xE3, 0xFF, 0xED, 0x8, 0xE4, 0xFF, 0xED, 0x8, 0xE5, 0xFF, 0xED, 0x8, 0xE6, 0xFF, 0xED, 0x9, 0x33, 0xFF, 0xED, 0x9, 0x62, 0xFF, 0xED, 0x9, 0x64, 0xFF, 0xED, 0x9, 0x66, 0xFF, 0xED, 0x9, 0x68, 0xFF, 0xED, 0x9, 0x6A, 0xFF, 0xED, 0x9, 0x6C, 0xFF, 0xED, 0xA, 0x1, 0xFF, 0xED, 0xA, 0xB2, 0xFF, 0xED, 0xA, 0xB4, 0xFF, 0xED, 0xA, 0xF4, 0xFF, 0xED, 0xA, 0xF6, 0xFF, 0xED, 0xA, 0xF8, 0xFF, 0xED, 0xA, 0xFA, 0xFF, 0xED, 0xA, 0xFC, 0xFF, 0xED, 0xB, 0x3F, 0xFF, 0xED, 0xB, 0xB5, 0xFF, 0xED, 0xB, 0xB7, 0xFF, 0xED, 0xB, 0xB9, 0xFF, 0xED, 0xB, 0xBB, 0xFF, 0xED, 0xB, 0xBD, 0xFF, 0xED, 0x0, 0x82, 0x0, 0x7, 0x0, 0x18, 0x0, 0xC, 0x0, 0x18, 0x0, 0xE, 0x0, 0x24, 0x0, 0x42, 0x0, 0x28, 0x0, 0x48, 0xFF, 0xF0, 0x0, 0x49, 0xFF, 0xF0, 0x0, 0x4A, 0xFF, 0xF0, 0x0, 0x4C, 0xFF, 0xF0, 0x0, 0x56, 0xFF, 0xF0, 0x0, 0x62, 0x0, 0x1B, 0x0, 0x95, 0xFF, 0xF0, 0x0, 0x9F, 0xFF, 0xF0, 0x0, 0xB5, 0xFF, 0xF0, 0x0, 0xDA, 0xFF, 0xF0, 0x0, 0xDC, 0xFF, 0xF0, 0x0, 0xE4, 0xFF, 0xF0, 0x1, 0x0, 0xFF, 0xF0, 0x2, 0x2A, 0xFF, 0xF0, 0x2, 0x3A, 0xFF, 0xF0, 0x2, 0x47, 0xFF, 0xF0, 0x2, 0x48, 0xFF, 0xF0, 0x2, 0x58, 0xFF, 0xF0, 0x2, 0x61, 0xFF, 0xF0, 0x2, 0x8D, 0xFF, 0xF0, 0x2, 0x99, 0xFF, 0xF0, 0x2, 0xB4, 0xFF, 0xF0, 0x2, 0xB8, 0xFF, 0xF0, 0x2, 0xD9, 0xFF, 0xF0, 0x2, 0xF7, 0xFF, 0xF0, 0x2, 0xF8, 0xFF, 0xF0, 0x3, 0x2, 0xFF, 0xF0, 0x4, 0x62, 0x0, 0x18, 0x4, 0x63, 0x0, 0x18, 0x4, 0x65, 0x0, 0x18, 0x4, 0x66, 0x0, 0x18, 0x4, 0x67, 0x0, 0x18, 0x5, 0x6E, 0xFF, 0xF0, 0x6, 0x8F, 0xFF, 0xF0, 0x6, 0x91, 0xFF, 0xF0, 0x6, 0xA9, 0xFF, 0xF0, 0x6, 0xCB, 0xFF, 0xF0, 0x6, 0xF7, 0xFF, 0xF0, 0x8, 0xEF, 0xFF, 0xF0, 0x8, 0xF0, 0xFF, 0xF0, 0x8, 0xF1, 0xFF, 0xF0, 0x8, 0xF2, 0xFF, 0xF0, 0x8, 0xF3, 0xFF, 0xF0, 0x9, 0xB, 0xFF, 0xF0, 0x9, 0xD, 0xFF, 0xF0, 0x9, 0xF, 0xFF, 0xF0, 0x9, 0x11, 0xFF, 0xF0, 0x9, 0x13, 0xFF, 0xF0, 0x9, 0x15, 0xFF, 0xF0, 0x9, 0x17, 0xFF, 0xF0, 0x9, 0x19, 0xFF, 0xF0, 0x9, 0x1B, 0xFF, 0xF0, 0x9, 0x1D, 0xFF, 0xF0, 0x9, 0x1F, 0xFF, 0xF0, 0x9, 0x21, 0xFF, 0xF0, 0x9, 0x23, 0xFF, 0xF0, 0x9, 0x25, 0xFF, 0xF0, 0x9, 0xED, 0xFF, 0xF0, 0xA, 0x13, 0xFF, 0xF0, 0xA, 0x17, 0xFF, 0xF0, 0xA, 0x1A, 0xFF, 0xF0, 0xA, 0x2A, 0x0, 0x18, 0xA, 0x2B, 0x0, 0x18, 0xA, 0x2E, 0x0, 0x18, 0xA, 0x35, 0xFF, 0xF0, 0xA, 0x3B, 0xFF, 0xF0, 0xA, 0x40, 0xFF, 0xF0, 0xA, 0x4E, 0xFF, 0xF0, 0xA, 0x50, 0xFF, 0xF0, 0xA, 0x51, 0xFF, 0xF0, 0xA, 0x5D, 0xFF, 0xF0, 0xA, 0x6D, 0xFF, 0xF0, 0xA, 0x87, 0xFF, 0xF0, 0xA, 0x89, 0xFF, 0xF0, 0xA, 0x8B, 0xFF, 0xF0, 0xA, 0x8D, 0xFF, 0xF0, 0xA, 0x8F, 0xFF, 0xF0, 0xA, 0x91, 0xFF, 0xF0, 0xA, 0x93, 0xFF, 0xF0, 0xA, 0x95, 0xFF, 0xF0, 0xA, 0xA9, 0xFF, 0xF0, 0xA, 0xAB, 0xFF, 0xF0, 0xA, 0xAD, 0xFF, 0xF0, 0xA, 0xB1, 0xFF, 0xF0, 0xA, 0xFE, 0xFF, 0xF0, 0xB, 0x6, 0xFF, 0xF0, 0xB, 0xF, 0xFF, 0xF0, 0xB, 0x19, 0xFF, 0xF0, 0xB, 0x1B, 0xFF, 0xF0, 0xB, 0x42, 0xFF, 0xF0, 0xB, 0x4A, 0xFF, 0xF0, 0xB, 0x54, 0xFF, 0xF0, 0xB, 0x56, 0xFF, 0xF0, 0xB, 0x58, 0xFF, 0xF0, 0xB, 0x5A, 0xFF, 0xF0, 0xB, 0x5C, 0xFF, 0xF0, 0xB, 0x5E, 0xFF, 0xF0, 0xB, 0x60, 0xFF, 0xF0, 0xB, 0x62, 0xFF, 0xF0, 0xB, 0x64, 0xFF, 0xF0, 0xB, 0x66, 0xFF, 0xF0, 0xB, 0x68, 0xFF, 0xF0, 0xB, 0x6C, 0xFF, 0xF0, 0xB, 0xD8, 0xFF, 0xF0, 0xB, 0xD9, 0xFF, 0xF0, 0xB, 0xDA, 0xFF, 0xF0, 0xB, 0xDB, 0xFF, 0xF0, 0xB, 0xDC, 0xFF, 0xF0, 0xB, 0xDD, 0xFF, 0xF0, 0xB, 0xDE, 0xFF, 0xF0, 0xB, 0xDF, 0xFF, 0xF0, 0xC, 0x4A, 0xFF, 0xF0, 0xC, 0x4B, 0xFF, 0xF0, 0xC, 0x4C, 0xFF, 0xF0, 0xC, 0x4D, 0xFF, 0xF0, 0xC, 0x4E, 0xFF, 0xF0, 0xC, 0x4F, 0xFF, 0xF0, 0xC, 0x50, 0xFF, 0xF0, 0xC, 0x51, 0xFF, 0xF0, 0xC, 0x7A, 0xFF, 0xF0, 0xC, 0x7B, 0xFF, 0xF0, 0xC, 0x7C, 0xFF, 0xF0, 0xC, 0x7D, 0xFF, 0xF0, 0xC, 0x7E, 0xFF, 0xF0, 0xC, 0x7F, 0xFF, 0xF0, 0xC, 0x80, 0xFF, 0xF0, 0x0, 0x2, 0x2, 0x8C, 0xFF, 0xDF, 0x4, 0x63, 0xFF, 0xBC, 0x0, 0xAB, 0x0, 0x48, 0xFF, 0xEA, 0x0, 0x49, 0xFF, 0xEA, 0x0, 0x4A, 0xFF, 0xEA, 0x0, 0x4C, 0xFF, 0xEA, 0x0, 0x54, 0xFF, 0xF5, 0x0, 0x56, 0xFF, 0xEA, 0x0, 0x95, 0xFF, 0xEA, 0x0, 0x9F, 0xFF, 0xEA, 0x0, 0xB5, 0xFF, 0xEA, 0x0, 0xDA, 0xFF, 0xEA, 0x0, 0xDC, 0xFF, 0xEA, 0x0, 0xE4, 0xFF, 0xEA, 0x1, 0x0, 0xFF, 0xEA, 0x2, 0x2A, 0xFF, 0xEA, 0x2, 0x3A, 0xFF, 0xEA, 0x2, 0x47, 0xFF, 0xEA, 0x2, 0x48, 0xFF, 0xEA, 0x2, 0x56, 0xFF, 0xF5, 0x2, 0x58, 0xFF, 0xEA, 0x2, 0x61, 0xFF, 0xEA, 0x2, 0x8D, 0xFF, 0xEA, 0x2, 0x99, 0xFF, 0xEA, 0x2, 0xAE, 0xFF, 0xF5, 0x2, 0xB4, 0xFF, 0xEA, 0x2, 0xB8, 0xFF, 0xEA, 0x2, 0xD9, 0xFF, 0xEA, 0x2, 0xF7, 0xFF, 0xEA, 0x2, 0xF8, 0xFF, 0xEA, 0x3, 0x2, 0xFF, 0xEA, 0x5, 0x6E, 0xFF, 0xEA, 0x5, 0x70, 0xFF, 0xF5, 0x5, 0xEE, 0xFF, 0xF5, 0x6, 0x2, 0xFF, 0xF5, 0x6, 0x4, 0xFF, 0xF5, 0x6, 0x6, 0xFF, 0xF5, 0x6, 0x32, 0xFF, 0xF5, 0x6, 0x85, 0xFF, 0xF5, 0x6, 0x87, 0xFF, 0xF5, 0x6, 0x8F, 0xFF, 0xEA, 0x6, 0x91, 0xFF, 0xEA, 0x6, 0xA9, 0xFF, 0xEA, 0x6, 0xCB, 0xFF, 0xEA, 0x6, 0xF7, 0xFF, 0xEA, 0x8, 0xEF, 0xFF, 0xEA, 0x8, 0xF0, 0xFF, 0xEA, 0x8, 0xF1, 0xFF, 0xEA, 0x8, 0xF2, 0xFF, 0xEA, 0x8, 0xF3, 0xFF, 0xEA, 0x8, 0xF9, 0xFF, 0xF5, 0x8, 0xFA, 0xFF, 0xF5, 0x8, 0xFB, 0xFF, 0xF5, 0x8, 0xFC, 0xFF, 0xF5, 0x8, 0xFD, 0xFF, 0xF5, 0x9, 0xB, 0xFF, 0xEA, 0x9, 0xD, 0xFF, 0xEA, 0x9, 0xF, 0xFF, 0xEA, 0x9, 0x11, 0xFF, 0xEA, 0x9, 0x13, 0xFF, 0xEA, 0x9, 0x15, 0xFF, 0xEA, 0x9, 0x17, 0xFF, 0xEA, 0x9, 0x19, 0xFF, 0xEA, 0x9, 0x1B, 0xFF, 0xEA, 0x9, 0x1D, 0xFF, 0xEA, 0x9, 0x1F, 0xFF, 0xEA, 0x9, 0x21, 0xFF, 0xEA, 0x9, 0x23, 0xFF, 0xEA, 0x9, 0x25, 0xFF, 0xEA, 0x9, 0x47, 0xFF, 0xF5, 0x9, 0x49, 0xFF, 0xF5, 0x9, 0x4B, 0xFF, 0xF5, 0x9, 0xED, 0xFF, 0xEA, 0x9, 0xF3, 0xFF, 0xF5, 0x9, 0xF9, 0xFF, 0xF5, 0xA, 0x13, 0xFF, 0xEA, 0xA, 0x15, 0xFF, 0xF5, 0xA, 0x17, 0xFF, 0xEA, 0xA, 0x1A, 0xFF, 0xEA, 0xA, 0x35, 0xFF, 0xEA, 0xA, 0x3B, 0xFF, 0xEA, 0xA, 0x40, 0xFF, 0xEA, 0xA, 0x4E, 0xFF, 0xEA, 0xA, 0x50, 0xFF, 0xEA, 0xA, 0x51, 0xFF, 0xEA, 0xA, 0x5B, 0xFF, 0xF5, 0xA, 0x5D, 0xFF, 0xEA, 0xA, 0x60, 0xFF, 0xF5, 0xA, 0x6D, 0xFF, 0xEA, 0xA, 0x87, 0xFF, 0xEA, 0xA, 0x89, 0xFF, 0xEA, 0xA, 0x8B, 0xFF, 0xEA, 0xA, 0x8D, 0xFF, 0xEA, 0xA, 0x8F, 0xFF, 0xEA, 0xA, 0x91, 0xFF, 0xEA, 0xA, 0x93, 0xFF, 0xEA, 0xA, 0x95, 0xFF, 0xEA, 0xA, 0x9B, 0xFF, 0xF5, 0xA, 0x9D, 0xFF, 0xF5, 0xA, 0x9F, 0xFF, 0xF5, 0xA, 0xA1, 0xFF, 0xF5, 0xA, 0xA3, 0xFF, 0xF5, 0xA, 0xA5, 0xFF, 0xF5, 0xA, 0xA7, 0xFF, 0xF5, 0xA, 0xA9, 0xFF, 0xEA, 0xA, 0xAB, 0xFF, 0xEA, 0xA, 0xAD, 0xFF, 0xEA, 0xA, 0xAF, 0xFF, 0xF5, 0xA, 0xB1, 0xFF, 0xEA, 0xA, 0xF3, 0xFF, 0xF5, 0xA, 0xFE, 0xFF, 0xEA, 0xB, 0x6, 0xFF, 0xEA, 0xB, 0xA, 0xFF, 0xF5, 0xB, 0xC, 0xFF, 0xF5, 0xB, 0xF, 0xFF, 0xEA, 0xB, 0x19, 0xFF, 0xEA, 0xB, 0x1B, 0xFF, 0xEA, 0xB, 0x21, 0xFF, 0xF5, 0xB, 0x23, 0xFF, 0xF5, 0xB, 0x33, 0xFF, 0xF5, 0xB, 0x35, 0xFF, 0xF5, 0xB, 0x37, 0xFF, 0xF5, 0xB, 0x39, 0xFF, 0xF5, 0xB, 0x3C, 0xFF, 0xF5, 0xB, 0x42, 0xFF, 0xEA, 0xB, 0x4A, 0xFF, 0xEA, 0xB, 0x54, 0xFF, 0xEA, 0xB, 0x56, 0xFF, 0xEA, 0xB, 0x58, 0xFF, 0xEA, 0xB, 0x5A, 0xFF, 0xEA, 0xB, 0x5C, 0xFF, 0xEA, 0xB, 0x5E, 0xFF, 0xEA, 0xB, 0x60, 0xFF, 0xEA, 0xB, 0x62, 0xFF, 0xEA, 0xB, 0x64, 0xFF, 0xEA, 0xB, 0x66, 0xFF, 0xEA, 0xB, 0x68, 0xFF, 0xEA, 0xB, 0x6C, 0xFF, 0xEA, 0xB, 0x90, 0xFF, 0xF5, 0xB, 0x92, 0xFF, 0xF5, 0xB, 0x94, 0xFF, 0xF5, 0xB, 0x96, 0xFF, 0xF5, 0xB, 0xD8, 0xFF, 0xEA, 0xB, 0xD9, 0xFF, 0xEA, 0xB, 0xDA, 0xFF, 0xEA, 0xB, 0xDB, 0xFF, 0xEA, 0xB, 0xDC, 0xFF, 0xEA, 0xB, 0xDD, 0xFF, 0xEA, 0xB, 0xDE, 0xFF, 0xEA, 0xB, 0xDF, 0xFF, 0xEA, 0xC, 0x14, 0xFF, 0xF5, 0xC, 0x15, 0xFF, 0xF5, 0xC, 0x16, 0xFF, 0xF5, 0xC, 0x17, 0xFF, 0xF5, 0xC, 0x18, 0xFF, 0xF5, 0xC, 0x19, 0xFF, 0xF5, 0xC, 0x44, 0xFF, 0xF5, 0xC, 0x45, 0xFF, 0xF5, 0xC, 0x4A, 0xFF, 0xEA, 0xC, 0x4B, 0xFF, 0xEA, 0xC, 0x4C, 0xFF, 0xEA, 0xC, 0x4D, 0xFF, 0xEA, 0xC, 0x4E, 0xFF, 0xEA, 0xC, 0x4F, 0xFF, 0xEA, 0xC, 0x50, 0xFF, 0xEA, 0xC, 0x51, 0xFF, 0xEA, 0xC, 0x7A, 0xFF, 0xEA, 0xC, 0x7B, 0xFF, 0xEA, 0xC, 0x7C, 0xFF, 0xEA, 0xC, 0x7D, 0xFF, 0xEA, 0xC, 0x7E, 0xFF, 0xEA, 0xC, 0x7F, 0xFF, 0xEA, 0xC, 0x80, 0xFF, 0xEA, 0x0, 0x38, 0x0, 0x54, 0xFF, 0xE5, 0x0, 0x59, 0x0, 0xF, 0x2, 0x56, 0xFF, 0xE5, 0x2, 0xAE, 0xFF, 0xE5, 0x4, 0x63, 0x0, 0x1E, 0x5, 0x70, 0xFF, 0xE5, 0x5, 0xEE, 0xFF, 0xE5, 0x6, 0x2, 0xFF, 0xE5, 0x6, 0x4, 0xFF, 0xE5, 0x6, 0x6, 0xFF, 0xE5, 0x6, 0x32, 0xFF, 0xE5, 0x6, 0x85, 0xFF, 0xE5, 0x6, 0x87, 0xFF, 0xE5, 0x8, 0xF9, 0xFF, 0xE5, 0x8, 0xFA, 0xFF, 0xE5, 0x8, 0xFB, 0xFF, 0xE5, 0x8, 0xFC, 0xFF, 0xE5, 0x8, 0xFD, 0xFF, 0xE5, 0x9, 0x47, 0xFF, 0xE5, 0x9, 0x49, 0xFF, 0xE5, 0x9, 0x4B, 0xFF, 0xE5, 0x9, 0xF3, 0xFF, 0xE5, 0x9, 0xF9, 0xFF, 0xE5, 0xA, 0x15, 0xFF, 0xE5, 0xA, 0x5B, 0xFF, 0xE5, 0xA, 0x60, 0xFF, 0xE5, 0xA, 0x9B, 0xFF, 0xE5, 0xA, 0x9D, 0xFF, 0xE5, 0xA, 0x9F, 0xFF, 0xE5, 0xA, 0xA1, 0xFF, 0xE5, 0xA, 0xA3, 0xFF, 0xE5, 0xA, 0xA5, 0xFF, 0xE5, 0xA, 0xA7, 0xFF, 0xE5, 0xA, 0xAF, 0xFF, 0xE5, 0xA, 0xF3, 0xFF, 0xE5, 0xB, 0xA, 0xFF, 0xE5, 0xB, 0xC, 0xFF, 0xE5, 0xB, 0x21, 0xFF, 0xE5, 0xB, 0x23, 0xFF, 0xE5, 0xB, 0x33, 0xFF, 0xE5, 0xB, 0x35, 0xFF, 0xE5, 0xB, 0x37, 0xFF, 0xE5, 0xB, 0x39, 0xFF, 0xE5, 0xB, 0x3C, 0xFF, 0xE5, 0xB, 0x90, 0xFF, 0xE5, 0xB, 0x92, 0xFF, 0xE5, 0xB, 0x94, 0xFF, 0xE5, 0xB, 0x96, 0xFF, 0xE5, 0xC, 0x14, 0xFF, 0xE5, 0xC, 0x15, 0xFF, 0xE5, 0xC, 0x16, 0xFF, 0xE5, 0xC, 0x17, 0xFF, 0xE5, 0xC, 0x18, 0xFF, 0xE5, 0xC, 0x19, 0xFF, 0xE5, 0xC, 0x44, 0xFF, 0xE5, 0xC, 0x45, 0xFF, 0xE5, 0x0, 0x6, 0x0, 0x11, 0xFF, 0x9C, 0x0, 0x13, 0xFF, 0x9C, 0x4, 0x64, 0xFF, 0x9C, 0x4, 0x68, 0xFF, 0x9C, 0x4, 0x6F, 0xFF, 0x9C, 0x4, 0x70, 0xFF, 0x9C, 0x0, 0x1B, 0x0, 0x2F, 0xFF, 0xEA, 0x0, 0x3A, 0xFF, 0xEA, 0x8, 0xE3, 0xFF, 0xEA, 0x8, 0xE4, 0xFF, 0xEA, 0x8, 0xE5, 0xFF, 0xEA, 0x8, 0xE6, 0xFF, 0xEA, 0x9, 0x33, 0xFF, 0xEA, 0x9, 0x62, 0xFF, 0xEA, 0x9, 0x64, 0xFF, 0xEA, 0x9, 0x66, 0xFF, 0xEA, 0x9, 0x68, 0xFF, 0xEA, 0x9, 0x6A, 0xFF, 0xEA, 0x9, 0x6C, 0xFF, 0xEA, 0xA, 0x1, 0xFF, 0xEA, 0xA, 0xB2, 0xFF, 0xEA, 0xA, 0xB4, 0xFF, 0xEA, 0xA, 0xF4, 0xFF, 0xEA, 0xA, 0xF6, 0xFF, 0xEA, 0xA, 0xF8, 0xFF, 0xEA, 0xA, 0xFA, 0xFF, 0xEA, 0xA, 0xFC, 0xFF, 0xEA, 0xB, 0x3F, 0xFF, 0xEA, 0xB, 0xB5, 0xFF, 0xEA, 0xB, 0xB7, 0xFF, 0xEA, 0xB, 0xB9, 0xFF, 0xEA, 0xB, 0xBB, 0xFF, 0xEA, 0xB, 0xBD, 0xFF, 0xEA, 0x0, 0x24, 0x0, 0x7, 0xFF, 0xE6, 0x0, 0xC, 0xFF, 0xE6, 0x0, 0x5B, 0xFF, 0xF2, 0x0, 0x5E, 0xFF, 0xF2, 0x2, 0x3C, 0xFF, 0xF2, 0x2, 0x8C, 0xFF, 0xF4, 0x2, 0xB0, 0xFF, 0xF2, 0x4, 0x62, 0xFF, 0xE6, 0x4, 0x63, 0xFF, 0xE6, 0x4, 0x65, 0xFF, 0xE6, 0x4, 0x66, 0xFF, 0xE6, 0x4, 0x67, 0xFF, 0xE6, 0x5, 0x67, 0xFF, 0xF2, 0x9, 0x2, 0xFF, 0xF2, 0x9, 0x3, 0xFF, 0xF2, 0x9, 0x71, 0xFF, 0xF2, 0x9, 0xF5, 0xFF, 0xF2, 0xA, 0x18, 0xFF, 0xF2, 0xA, 0x21, 0xFF, 0xF2, 0xA, 0x29, 0xFF, 0xF2, 0xA, 0x2A, 0xFF, 0xE6, 0xA, 0x2B, 0xFF, 0xE6, 0xA, 0x2E, 0xFF, 0xE6, 0xA, 0x3A, 0xFF, 0xF2, 0xA, 0x42, 0xFF, 0xF2, 0xA, 0x64, 0xFF, 0xF2, 0xA, 0x66, 0xFF, 0xF2, 0xA, 0x68, 0xFF, 0xF2, 0xA, 0xC1, 0xFF, 0xF2, 0xA, 0xC3, 0xFF, 0xF2, 0xA, 0xC5, 0xFF, 0xF2, 0xB, 0x3B, 0xFF, 0xF2, 0xB, 0xC0, 0xFF, 0xF2, 0xB, 0xC2, 0xFF, 0xF2, 0xB, 0xCC, 0xFF, 0xF2, 0xB, 0xD6, 0xFF, 0xF2, 0x0, 0x62, 0x0, 0x28, 0xFF, 0xF2, 0x0, 0x2C, 0xFF, 0xF2, 0x0, 0x34, 0xFF, 0xF2, 0x0, 0x36, 0xFF, 0xF2, 0x0, 0x84, 0xFF, 0xF2, 0x0, 0x94, 0xFF, 0xF2, 0x0, 0x9E, 0xFF, 0xF2, 0x0, 0xAA, 0xFF, 0xF2, 0x0, 0xB4, 0xFF, 0xF2, 0x0, 0xB6, 0xFF, 0xF2, 0x0, 0xFF, 0xFF, 0xF2, 0x2, 0x32, 0xFF, 0xF2, 0x2, 0x43, 0x0, 0xE, 0x2, 0x55, 0xFF, 0xF2, 0x2, 0x57, 0xFF, 0xF2, 0x2, 0x66, 0xFF, 0xF2, 0x2, 0x69, 0xFF, 0xF2, 0x2, 0x9E, 0xFF, 0xF2, 0x2, 0xAD, 0xFF, 0xF2, 0x2, 0xB1, 0xFF, 0xF2, 0x2, 0xB3, 0xFF, 0xF2, 0x2, 0xB5, 0xFF, 0xF2, 0x2, 0xB7, 0xFF, 0xF2, 0x2, 0xD8, 0xFF, 0xF2, 0x3, 0x1, 0xFF, 0xF2, 0x5, 0x63, 0xFF, 0xF2, 0x5, 0xE5, 0xFF, 0xF2, 0x5, 0xED, 0xFF, 0xF2, 0x6, 0x1, 0xFF, 0xF2, 0x6, 0x3, 0xFF, 0xF2, 0x6, 0x5, 0xFF, 0xF2, 0x6, 0x31, 0xFF, 0xF2, 0x6, 0x33, 0xFF, 0xF2, 0x6, 0x84, 0xFF, 0xF2, 0x6, 0x86, 0xFF, 0xF2, 0x6, 0x8E, 0xFF, 0xF2, 0x6, 0x90, 0xFF, 0xF2, 0x6, 0xE3, 0xFF, 0xF2, 0x7, 0xCF, 0xFF, 0xF2, 0x7, 0xD0, 0xFF, 0xF2, 0x7, 0xD2, 0xFF, 0xF2, 0x7, 0xD3, 0xFF, 0xF2, 0x8, 0xD4, 0xFF, 0xF2, 0x8, 0xDE, 0xFF, 0xF2, 0x8, 0xDF, 0xFF, 0xF2, 0x8, 0xE0, 0xFF, 0xF2, 0x8, 0xE1, 0xFF, 0xF2, 0x8, 0xE2, 0xFF, 0xF2, 0x9, 0xA, 0xFF, 0xF2, 0x9, 0xC, 0xFF, 0xF2, 0x9, 0xE, 0xFF, 0xF2, 0x9, 0x10, 0xFF, 0xF2, 0x9, 0x1E, 0xFF, 0xF2, 0x9, 0x20, 0xFF, 0xF2, 0x9, 0x22, 0xFF, 0xF2, 0x9, 0x24, 0xFF, 0xF2, 0x9, 0x46, 0xFF, 0xF2, 0x9, 0x48, 0xFF, 0xF2, 0x9, 0x4A, 0xFF, 0xF2, 0x9, 0x7B, 0xFF, 0xF2, 0x9, 0xD9, 0xFF, 0xF2, 0x9, 0xE6, 0xFF, 0xF2, 0xA, 0xC, 0xFF, 0xF2, 0xA, 0xF, 0xFF, 0xF2, 0xA, 0x3C, 0xFF, 0xF2, 0xA, 0x3F, 0xFF, 0xF2, 0xA, 0x5A, 0xFF, 0xF2, 0xA, 0x5C, 0xFF, 0xF2, 0xA, 0x5E, 0xFF, 0xF2, 0xA, 0x5F, 0xFF, 0xF2, 0xA, 0x9A, 0xFF, 0xF2, 0xA, 0x9C, 0xFF, 0xF2, 0xA, 0x9E, 0xFF, 0xF2, 0xA, 0xA0, 0xFF, 0xF2, 0xA, 0xA2, 0xFF, 0xF2, 0xA, 0xA4, 0xFF, 0xF2, 0xA, 0xA6, 0xFF, 0xF2, 0xA, 0xA8, 0xFF, 0xF2, 0xA, 0xAA, 0xFF, 0xF2, 0xA, 0xAC, 0xFF, 0xF2, 0xA, 0xAE, 0xFF, 0xF2, 0xA, 0xB0, 0xFF, 0xF2, 0xA, 0xF2, 0xFF, 0xF2, 0xB, 0x9, 0xFF, 0xF2, 0xB, 0xB, 0xFF, 0xF2, 0xB, 0x20, 0xFF, 0xF2, 0xB, 0x22, 0xFF, 0xF2, 0xB, 0x32, 0xFF, 0xF2, 0xB, 0x34, 0xFF, 0xF2, 0xB, 0x36, 0xFF, 0xF2, 0xB, 0x38, 0xFF, 0xF2, 0xB, 0x49, 0xFF, 0xF2, 0xB, 0x53, 0xFF, 0xF2, 0xB, 0x6B, 0xFF, 0xF2, 0xB, 0x8F, 0xFF, 0xF2, 0xB, 0x91, 0xFF, 0xF2, 0xB, 0x93, 0xFF, 0xF2, 0xB, 0x95, 0xFF, 0xF2, 0x0, 0x63, 0x0, 0x28, 0xFF, 0xE4, 0x0, 0x2C, 0xFF, 0xE4, 0x0, 0x34, 0xFF, 0xE4, 0x0, 0x36, 0xFF, 0xE4, 0x0, 0x84, 0xFF, 0xE4, 0x0, 0x94, 0xFF, 0xE4, 0x0, 0x9E, 0xFF, 0xE4, 0x0, 0xAA, 0xFF, 0xE4, 0x0, 0xB4, 0xFF, 0xE4, 0x0, 0xB6, 0xFF, 0xE4, 0x0, 0xFF, 0xFF, 0xE4, 0x2, 0x32, 0xFF, 0xE4, 0x2, 0x37, 0xFF, 0xBD, 0x2, 0x43, 0x0, 0x11, 0x2, 0x55, 0xFF, 0xE4, 0x2, 0x57, 0xFF, 0xE4, 0x2, 0x66, 0xFF, 0xE4, 0x2, 0x69, 0xFF, 0xE4, 0x2, 0x9E, 0xFF, 0xE4, 0x2, 0xAD, 0xFF, 0xE4, 0x2, 0xB1, 0xFF, 0xE4, 0x2, 0xB3, 0xFF, 0xE4, 0x2, 0xB5, 0xFF, 0xE4, 0x2, 0xB7, 0xFF, 0xE4, 0x2, 0xD8, 0xFF, 0xE4, 0x3, 0x1, 0xFF, 0xE4, 0x5, 0x63, 0xFF, 0xE4, 0x5, 0xE5, 0xFF, 0xE4, 0x5, 0xED, 0xFF, 0xE4, 0x6, 0x1, 0xFF, 0xE4, 0x6, 0x3, 0xFF, 0xE4, 0x6, 0x5, 0xFF, 0xE4, 0x6, 0x31, 0xFF, 0xE4, 0x6, 0x33, 0xFF, 0xE4, 0x6, 0x84, 0xFF, 0xE4, 0x6, 0x86, 0xFF, 0xE4, 0x6, 0x8E, 0xFF, 0xE4, 0x6, 0x90, 0xFF, 0xE4, 0x6, 0xE3, 0xFF, 0xE4, 0x7, 0xCF, 0xFF, 0xE4, 0x7, 0xD0, 0xFF, 0xE4, 0x7, 0xD2, 0xFF, 0xE4, 0x7, 0xD3, 0xFF, 0xE4, 0x8, 0xD4, 0xFF, 0xE4, 0x8, 0xDE, 0xFF, 0xE4, 0x8, 0xDF, 0xFF, 0xE4, 0x8, 0xE0, 0xFF, 0xE4, 0x8, 0xE1, 0xFF, 0xE4, 0x8, 0xE2, 0xFF, 0xE4, 0x9, 0xA, 0xFF, 0xE4, 0x9, 0xC, 0xFF, 0xE4, 0x9, 0xE, 0xFF, 0xE4, 0x9, 0x10, 0xFF, 0xE4, 0x9, 0x1E, 0xFF, 0xE4, 0x9, 0x20, 0xFF, 0xE4, 0x9, 0x22, 0xFF, 0xE4, 0x9, 0x24, 0xFF, 0xE4, 0x9, 0x46, 0xFF, 0xE4, 0x9, 0x48, 0xFF, 0xE4, 0x9, 0x4A, 0xFF, 0xE4, 0x9, 0x7B, 0xFF, 0xE4, 0x9, 0xD9, 0xFF, 0xE4, 0x9, 0xE6, 0xFF, 0xE4, 0xA, 0xC, 0xFF, 0xE4, 0xA, 0xF, 0xFF, 0xE4, 0xA, 0x3C, 0xFF, 0xE4, 0xA, 0x3F, 0xFF, 0xE4, 0xA, 0x5A, 0xFF, 0xE4, 0xA, 0x5C, 0xFF, 0xE4, 0xA, 0x5E, 0xFF, 0xE4, 0xA, 0x5F, 0xFF, 0xE4, 0xA, 0x9A, 0xFF, 0xE4, 0xA, 0x9C, 0xFF, 0xE4, 0xA, 0x9E, 0xFF, 0xE4, 0xA, 0xA0, 0xFF, 0xE4, 0xA, 0xA2, 0xFF, 0xE4, 0xA, 0xA4, 0xFF, 0xE4, 0xA, 0xA6, 0xFF, 0xE4, 0xA, 0xA8, 0xFF, 0xE4, 0xA, 0xAA, 0xFF, 0xE4, 0xA, 0xAC, 0xFF, 0xE4, 0xA, 0xAE, 0xFF, 0xE4, 0xA, 0xB0, 0xFF, 0xE4, 0xA, 0xF2, 0xFF, 0xE4, 0xB, 0x9, 0xFF, 0xE4, 0xB, 0xB, 0xFF, 0xE4, 0xB, 0x20, 0xFF, 0xE4, 0xB, 0x22, 0xFF, 0xE4, 0xB, 0x32, 0xFF, 0xE4, 0xB, 0x34, 0xFF, 0xE4, 0xB, 0x36, 0xFF, 0xE4, 0xB, 0x38, 0xFF, 0xE4, 0xB, 0x49, 0xFF, 0xE4, 0xB, 0x53, 0xFF, 0xE4, 0xB, 0x6B, 0xFF, 0xE4, 0xB, 0x8F, 0xFF, 0xE4, 0xB, 0x91, 0xFF, 0xE4, 0xB, 0x93, 0xFF, 0xE4, 0xB, 0x95, 0xFF, 0xE4, 0x0, 0x4D, 0x0, 0x26, 0xFF, 0xE2, 0x0, 0x3D, 0xFF, 0xCE, 0x0, 0x3E, 0xFF, 0xCF, 0x0, 0xFA, 0xFF, 0xE2, 0x1, 0x3, 0xFF, 0xCF, 0x2, 0x31, 0xFF, 0xE2, 0x2, 0x33, 0xFF, 0xE2, 0x2, 0x43, 0xFF, 0xE0, 0x2, 0x70, 0xFF, 0xCE, 0x2, 0xA3, 0xFF, 0xE2, 0x2, 0xCA, 0xFF, 0xCE, 0x2, 0xDA, 0xFF, 0xCE, 0x2, 0xF4, 0xFF, 0xCE, 0x5, 0xF1, 0xFF, 0xE2, 0x6, 0x6A, 0xFF, 0xE2, 0x6, 0x6C, 0xFF, 0xE2, 0x6, 0x70, 0xFF, 0xE2, 0x6, 0x72, 0xFF, 0xE2, 0x6, 0x74, 0xFF, 0xE2, 0x8, 0xCD, 0xFF, 0xE2, 0x8, 0xCE, 0xFF, 0xE2, 0x8, 0xCF, 0xFF, 0xE2, 0x8, 0xD0, 0xFF, 0xE2, 0x8, 0xD1, 0xFF, 0xE2, 0x8, 0xD2, 0xFF, 0xE2, 0x8, 0xD3, 0xFF, 0xE2, 0x8, 0xE7, 0xFF, 0xCF, 0x9, 0x4, 0xFF, 0xE2, 0x9, 0x6, 0xFF, 0xE2, 0x9, 0x8, 0xFF, 0xE2, 0x9, 0x70, 0xFF, 0xCF, 0x9, 0x72, 0xFF, 0xCF, 0x9, 0xD5, 0xFF, 0xE2, 0x9, 0xDA, 0xFF, 0xCF, 0x9, 0xDD, 0xFF, 0xE2, 0x9, 0xE9, 0xFF, 0xCF, 0x9, 0xEA, 0xFF, 0xCE, 0x9, 0xEC, 0xFF, 0xCF, 0xA, 0x5, 0xFF, 0xE2, 0xA, 0x11, 0xFF, 0xCE, 0xA, 0x28, 0xFF, 0xCF, 0xA, 0x31, 0xFF, 0xE2, 0xA, 0x41, 0xFF, 0xCF, 0xA, 0x44, 0xFF, 0xCE, 0xA, 0x47, 0xFF, 0xE2, 0xA, 0x49, 0xFF, 0xE2, 0xA, 0x52, 0xFF, 0xCE, 0xA, 0x6E, 0xFF, 0xE2, 0xA, 0x70, 0xFF, 0xE2, 0xA, 0x72, 0xFF, 0xE2, 0xA, 0x74, 0xFF, 0xE2, 0xA, 0x76, 0xFF, 0xE2, 0xA, 0x78, 0xFF, 0xE2, 0xA, 0x7A, 0xFF, 0xE2, 0xA, 0x7C, 0xFF, 0xE2, 0xA, 0x7E, 0xFF, 0xE2, 0xA, 0x80, 0xFF, 0xE2, 0xA, 0x82, 0xFF, 0xE2, 0xA, 0x84, 0xFF, 0xE2, 0xA, 0xC0, 0xFF, 0xCF, 0xA, 0xC2, 0xFF, 0xCF, 0xA, 0xC4, 0xFF, 0xCF, 0xA, 0xD6, 0xFF, 0xCF, 0xA, 0xEE, 0xFF, 0xE2, 0xA, 0xFF, 0xFF, 0xE2, 0xB, 0x1, 0xFF, 0xE2, 0xB, 0x14, 0xFF, 0xE2, 0xB, 0x16, 0xFF, 0xE2, 0xB, 0x2E, 0xFF, 0xE2, 0xB, 0xC7, 0xFF, 0xCE, 0xB, 0xC9, 0xFF, 0xCE, 0xB, 0xCB, 0xFF, 0xCF, 0xC, 0x81, 0xFF, 0xE2, 0xC, 0x82, 0xFF, 0xE2, 0xC, 0x85, 0xFF, 0xE2, 0xC, 0xA2, 0xFF, 0xCF, 0xC, 0xA3, 0xFF, 0xCF, 0x0, 0x37, 0x0, 0x11, 0xFF, 0x62, 0x0, 0x13, 0xFF, 0x62, 0x0, 0x26, 0xFF, 0xC9, 0x0, 0xFA, 0xFF, 0xC9, 0x2, 0x31, 0xFF, 0xC9, 0x2, 0x33, 0xFF, 0xC9, 0x2, 0x46, 0xFF, 0xF1, 0x2, 0xA3, 0xFF, 0xC9, 0x4, 0x64, 0xFF, 0x62, 0x4, 0x68, 0xFF, 0x62, 0x4, 0x6F, 0xFF, 0x62, 0x4, 0x70, 0xFF, 0x62, 0x5, 0xF1, 0xFF, 0xC9, 0x6, 0x6A, 0xFF, 0xC9, 0x6, 0x6C, 0xFF, 0xC9, 0x6, 0x70, 0xFF, 0xC9, 0x6, 0x72, 0xFF, 0xC9, 0x6, 0x74, 0xFF, 0xC9, 0x8, 0xCD, 0xFF, 0xC9, 0x8, 0xCE, 0xFF, 0xC9, 0x8, 0xCF, 0xFF, 0xC9, 0x8, 0xD0, 0xFF, 0xC9, 0x8, 0xD1, 0xFF, 0xC9, 0x8, 0xD2, 0xFF, 0xC9, 0x8, 0xD3, 0xFF, 0xC9, 0x9, 0x4, 0xFF, 0xC9, 0x9, 0x6, 0xFF, 0xC9, 0x9, 0x8, 0xFF, 0xC9, 0x9, 0xD5, 0xFF, 0xC9, 0x9, 0xDD, 0xFF, 0xC9, 0xA, 0x5, 0xFF, 0xC9, 0xA, 0x31, 0xFF, 0xC9, 0xA, 0x47, 0xFF, 0xC9, 0xA, 0x49, 0xFF, 0xC9, 0xA, 0x6E, 0xFF, 0xC9, 0xA, 0x70, 0xFF, 0xC9, 0xA, 0x72, 0xFF, 0xC9, 0xA, 0x74, 0xFF, 0xC9, 0xA, 0x76, 0xFF, 0xC9, 0xA, 0x78, 0xFF, 0xC9, 0xA, 0x7A, 0xFF, 0xC9, 0xA, 0x7C, 0xFF, 0xC9, 0xA, 0x7E, 0xFF, 0xC9, 0xA, 0x80, 0xFF, 0xC9, 0xA, 0x82, 0xFF, 0xC9, 0xA, 0x84, 0xFF, 0xC9, 0xA, 0xEE, 0xFF, 0xC9, 0xA, 0xFF, 0xFF, 0xC9, 0xB, 0x1, 0xFF, 0xC9, 0xB, 0x14, 0xFF, 0xC9, 0xB, 0x16, 0xFF, 0xC9, 0xB, 0x2E, 0xFF, 0xC9, 0xC, 0x81, 0xFF, 0xC9, 0xC, 0x82, 0xFF, 0xC9, 0xC, 0x85, 0xFF, 0xC9, 0x0, 0x1, 0x2, 0x43, 0x0, 0x1A, 0x0, 0x2, 0x2, 0x49, 0xFF, 0xF8, 0x2, 0x8C, 0xFF, 0xF5, 0x1, 0x3E, 0x0, 0x48, 0xFF, 0xD9, 0x0, 0x49, 0xFF, 0xD9, 0x0, 0x4A, 0xFF, 0xD9, 0x0, 0x4C, 0xFF, 0xD9, 0x0, 0x52, 0xFF, 0xD1, 0x0, 0x53, 0xFF, 0xD1, 0x0, 0x54, 0xFF, 0xD2, 0x0, 0x55, 0xFF, 0xD1, 0x0, 0x56, 0xFF, 0xD9, 0x0, 0x5A, 0xFF, 0xDA, 0x0, 0x5B, 0xFF, 0xDF, 0x0, 0x5E, 0xFF, 0xDF, 0x0, 0x95, 0xFF, 0xD9, 0x0, 0x9F, 0xFF, 0xD9, 0x0, 0xB5, 0xFF, 0xD9, 0x0, 0xC4, 0xFF, 0xDA, 0x0, 0xDA, 0xFF, 0xD9, 0x0, 0xDC, 0xFF, 0xD9, 0x0, 0xE4, 0xFF, 0xD9, 0x0, 0xEA, 0xFF, 0xD1, 0x1, 0x0, 0xFF, 0xD9, 0x2, 0x28, 0xFF, 0xD1, 0x2, 0x2A, 0xFF, 0xD9, 0x2, 0x3A, 0xFF, 0xD9, 0x2, 0x3C, 0xFF, 0xDF, 0x2, 0x3D, 0xFF, 0xF8, 0x2, 0x3E, 0xFF, 0xE4, 0x2, 0x40, 0xFF, 0xD1, 0x2, 0x41, 0xFF, 0xE9, 0x2, 0x42, 0xFF, 0xE7, 0x2, 0x44, 0xFF, 0xEF, 0x2, 0x45, 0xFF, 0xE5, 0x2, 0x47, 0xFF, 0xD9, 0x2, 0x48, 0xFF, 0xD9, 0x2, 0x49, 0xFF, 0xE1, 0x2, 0x4A, 0xFF, 0xDA, 0x2, 0x4B, 0xFF, 0xCA, 0x2, 0x4C, 0xFF, 0xD0, 0x2, 0x4D, 0xFF, 0xD8, 0x2, 0x56, 0xFF, 0xD2, 0x2, 0x58, 0xFF, 0xD9, 0x2, 0x61, 0xFF, 0xD9, 0x2, 0x82, 0xFF, 0xD1, 0x2, 0x86, 0xFF, 0xD1, 0x2, 0x87, 0xFF, 0xD1, 0x2, 0x89, 0xFF, 0xD1, 0x2, 0x8A, 0xFF, 0xD1, 0x2, 0x8B, 0xFF, 0xD1, 0x2, 0x8D, 0xFF, 0xD9, 0x2, 0x8E, 0xFF, 0xD1, 0x2, 0x90, 0xFF, 0xD1, 0x2, 0x91, 0xFF, 0xD1, 0x2, 0x94, 0xFF, 0xD1, 0x2, 0x96, 0xFF, 0xD1, 0x2, 0x99, 0xFF, 0xD9, 0x2, 0x9B, 0xFF, 0xD1, 0x2, 0xAE, 0xFF, 0xD2, 0x2, 0xB0, 0xFF, 0xDF, 0x2, 0xB4, 0xFF, 0xD9, 0x2, 0xB8, 0xFF, 0xD9, 0x2, 0xC2, 0xFF, 0xD1, 0x2, 0xCD, 0xFF, 0xD1, 0x2, 0xD3, 0xFF, 0xD1, 0x2, 0xD5, 0xFF, 0xD1, 0x2, 0xD9, 0xFF, 0xD9, 0x2, 0xEA, 0xFF, 0xD1, 0x2, 0xEC, 0xFF, 0xD1, 0x2, 0xEE, 0xFF, 0xD1, 0x2, 0xF3, 0xFF, 0xD1, 0x2, 0xF7, 0xFF, 0xD9, 0x2, 0xF8, 0xFF, 0xD9, 0x3, 0x2, 0xFF, 0xD9, 0x3, 0xF, 0xFF, 0xD1, 0x3, 0x13, 0xFF, 0xD1, 0x5, 0x67, 0xFF, 0xDF, 0x5, 0x6E, 0xFF, 0xD9, 0x5, 0x70, 0xFF, 0xD2, 0x5, 0xEE, 0xFF, 0xD2, 0x5, 0xF0, 0xFF, 0xD1, 0x6, 0x0, 0xFF, 0xD1, 0x6, 0x2, 0xFF, 0xD2, 0x6, 0x4, 0xFF, 0xD2, 0x6, 0x6, 0xFF, 0xD2, 0x6, 0x28, 0xFF, 0xD1, 0x6, 0x30, 0xFF, 0xD1, 0x6, 0x32, 0xFF, 0xD2, 0x6, 0x85, 0xFF, 0xD2, 0x6, 0x87, 0xFF, 0xD2, 0x6, 0x8F, 0xFF, 0xD9, 0x6, 0x91, 0xFF, 0xD9, 0x6, 0xA9, 0xFF, 0xD9, 0x6, 0xAB, 0xFF, 0xD1, 0x6, 0xAC, 0xFF, 0xD1, 0x6, 0xCB, 0xFF, 0xD9, 0x6, 0xF7, 0xFF, 0xD9, 0x6, 0xFB, 0xFF, 0xD1, 0x6, 0xFC, 0xFF, 0xD1, 0x6, 0xFD, 0xFF, 0xD1, 0x7, 0x12, 0xFF, 0xD1, 0x8, 0xEF, 0xFF, 0xD9, 0x8, 0xF0, 0xFF, 0xD9, 0x8, 0xF1, 0xFF, 0xD9, 0x8, 0xF2, 0xFF, 0xD9, 0x8, 0xF3, 0xFF, 0xD9, 0x8, 0xF8, 0xFF, 0xD1, 0x8, 0xF9, 0xFF, 0xD2, 0x8, 0xFA, 0xFF, 0xD2, 0x8, 0xFB, 0xFF, 0xD2, 0x8, 0xFC, 0xFF, 0xD2, 0x8, 0xFD, 0xFF, 0xD2, 0x8, 0xFE, 0xFF, 0xDA, 0x8, 0xFF, 0xFF, 0xDA, 0x9, 0x0, 0xFF, 0xDA, 0x9, 0x1, 0xFF, 0xDA, 0x9, 0x2, 0xFF, 0xDF, 0x9, 0x3, 0xFF, 0xDF, 0x9, 0xB, 0xFF, 0xD9, 0x9, 0xD, 0xFF, 0xD9, 0x9, 0xF, 0xFF, 0xD9, 0x9, 0x11, 0xFF, 0xD9, 0x9, 0x13, 0xFF, 0xD9, 0x9, 0x15, 0xFF, 0xD9, 0x9, 0x17, 0xFF, 0xD9, 0x9, 0x19, 0xFF, 0xD9, 0x9, 0x1B, 0xFF, 0xD9, 0x9, 0x1D, 0xFF, 0xD9, 0x9, 0x1F, 0xFF, 0xD9, 0x9, 0x21, 0xFF, 0xD9, 0x9, 0x23, 0xFF, 0xD9, 0x9, 0x25, 0xFF, 0xD9, 0x9, 0x40, 0xFF, 0xD1, 0x9, 0x42, 0xFF, 0xD1, 0x9, 0x44, 0xFF, 0xD1, 0x9, 0x45, 0xFF, 0xD1, 0x9, 0x47, 0xFF, 0xD2, 0x9, 0x49, 0xFF, 0xD2, 0x9, 0x4B, 0xFF, 0xD2, 0x9, 0x63, 0xFF, 0xDA, 0x9, 0x65, 0xFF, 0xDA, 0x9, 0x67, 0xFF, 0xDA, 0x9, 0x69, 0xFF, 0xDA, 0x9, 0x6B, 0xFF, 0xDA, 0x9, 0x6D, 0xFF, 0xDA, 0x9, 0x71, 0xFF, 0xDF, 0x9, 0xED, 0xFF, 0xD9, 0x9, 0xEF, 0xFF, 0xD1, 0x9, 0xF1, 0xFF, 0xDA, 0x9, 0xF3, 0xFF, 0xD2, 0x9, 0xF5, 0xFF, 0xDF, 0x9, 0xF8, 0xFF, 0xDA, 0x9, 0xF9, 0xFF, 0xD2, 0x9, 0xFA, 0xFF, 0xDA, 0xA, 0x13, 0xFF, 0xD9, 0xA, 0x14, 0xFF, 0xD1, 0xA, 0x15, 0xFF, 0xD2, 0xA, 0x16, 0xFF, 0xD1, 0xA, 0x17, 0xFF, 0xD9, 0xA, 0x18, 0xFF, 0xDF, 0xA, 0x1A, 0xFF, 0xD9, 0xA, 0x1B, 0xFF, 0xD1, 0xA, 0x20, 0xFF, 0xD1, 0xA, 0x21, 0xFF, 0xDF, 0xA, 0x29, 0xFF, 0xDF, 0xA, 0x30, 0xFF, 0xD1, 0xA, 0x35, 0xFF, 0xD9, 0xA, 0x36, 0xFF, 0xD1, 0xA, 0x3A, 0xFF, 0xDF, 0xA, 0x3B, 0xFF, 0xD9, 0xA, 0x40, 0xFF, 0xD9, 0xA, 0x42, 0xFF, 0xDF, 0xA, 0x4E, 0xFF, 0xD9, 0xA, 0x50, 0xFF, 0xD9, 0xA, 0x51, 0xFF, 0xD9, 0xA, 0x57, 0xFF, 0xD1, 0xA, 0x59, 0xFF, 0xD1, 0xA, 0x5B, 0xFF, 0xD2, 0xA, 0x5D, 0xFF, 0xD9, 0xA, 0x60, 0xFF, 0xD2, 0xA, 0x64, 0xFF, 0xDF, 0xA, 0x66, 0xFF, 0xDF, 0xA, 0x68, 0xFF, 0xDF, 0xA, 0x6C, 0xFF, 0xD1, 0xA, 0x6D, 0xFF, 0xD9, 0xA, 0x87, 0xFF, 0xD9, 0xA, 0x89, 0xFF, 0xD9, 0xA, 0x8B, 0xFF, 0xD9, 0xA, 0x8D, 0xFF, 0xD9, 0xA, 0x8F, 0xFF, 0xD9, 0xA, 0x91, 0xFF, 0xD9, 0xA, 0x93, 0xFF, 0xD9, 0xA, 0x95, 0xFF, 0xD9, 0xA, 0x9B, 0xFF, 0xD2, 0xA, 0x9D, 0xFF, 0xD2, 0xA, 0x9F, 0xFF, 0xD2, 0xA, 0xA1, 0xFF, 0xD2, 0xA, 0xA3, 0xFF, 0xD2, 0xA, 0xA5, 0xFF, 0xD2, 0xA, 0xA7, 0xFF, 0xD2, 0xA, 0xA9, 0xFF, 0xD9, 0xA, 0xAB, 0xFF, 0xD9, 0xA, 0xAD, 0xFF, 0xD9, 0xA, 0xAF, 0xFF, 0xD2, 0xA, 0xB1, 0xFF, 0xD9, 0xA, 0xB3, 0xFF, 0xDA, 0xA, 0xB5, 0xFF, 0xDA, 0xA, 0xB7, 0xFF, 0xDA, 0xA, 0xB9, 0xFF, 0xDA, 0xA, 0xBB, 0xFF, 0xDA, 0xA, 0xBD, 0xFF, 0xDA, 0xA, 0xBF, 0xFF, 0xDA, 0xA, 0xC1, 0xFF, 0xDF, 0xA, 0xC3, 0xFF, 0xDF, 0xA, 0xC5, 0xFF, 0xDF, 0xA, 0xCC, 0xFF, 0xD1, 0xA, 0xE7, 0xFF, 0xD1, 0xA, 0xED, 0xFF, 0xD1, 0xA, 0xF3, 0xFF, 0xD2, 0xA, 0xF5, 0xFF, 0xDA, 0xA, 0xF7, 0xFF, 0xDA, 0xA, 0xF9, 0xFF, 0xDA, 0xA, 0xFB, 0xFF, 0xDA, 0xA, 0xFD, 0xFF, 0xDA, 0xA, 0xFE, 0xFF, 0xD9, 0xB, 0x6, 0xFF, 0xD9, 0xB, 0xA, 0xFF, 0xD2, 0xB, 0xC, 0xFF, 0xD2, 0xB, 0xF, 0xFF, 0xD9, 0xB, 0x13, 0xFF, 0xD1, 0xB, 0x19, 0xFF, 0xD9, 0xB, 0x1B, 0xFF, 0xD9, 0xB, 0x21, 0xFF, 0xD2, 0xB, 0x23, 0xFF, 0xD2, 0xB, 0x29, 0xFF, 0xDA, 0xB, 0x2B, 0xFF, 0xDA, 0xB, 0x33, 0xFF, 0xD2, 0xB, 0x35, 0xFF, 0xD2, 0xB, 0x37, 0xFF, 0xD2, 0xB, 0x39, 0xFF, 0xD2, 0xB, 0x3B, 0xFF, 0xDF, 0xB, 0x3C, 0xFF, 0xD2, 0xB, 0x42, 0xFF, 0xD9, 0xB, 0x4A, 0xFF, 0xD9, 0xB, 0x54, 0xFF, 0xD9, 0xB, 0x56, 0xFF, 0xD9, 0xB, 0x58, 0xFF, 0xD9, 0xB, 0x5A, 0xFF, 0xD9, 0xB, 0x5C, 0xFF, 0xD9, 0xB, 0x5E, 0xFF, 0xD9, 0xB, 0x60, 0xFF, 0xD9, 0xB, 0x62, 0xFF, 0xD9, 0xB, 0x64, 0xFF, 0xD9, 0xB, 0x66, 0xFF, 0xD9, 0xB, 0x68, 0xFF, 0xD9, 0xB, 0x6C, 0xFF, 0xD9, 0xB, 0x84, 0xFF, 0xD1, 0xB, 0x86, 0xFF, 0xD1, 0xB, 0x88, 0xFF, 0xD1, 0xB, 0x8A, 0xFF, 0xD1, 0xB, 0x8C, 0xFF, 0xD1, 0xB, 0x8E, 0xFF, 0xD1, 0xB, 0x90, 0xFF, 0xD2, 0xB, 0x92, 0xFF, 0xD2, 0xB, 0x94, 0xFF, 0xD2, 0xB, 0x96, 0xFF, 0xD2, 0xB, 0xB6, 0xFF, 0xDA, 0xB, 0xB8, 0xFF, 0xDA, 0xB, 0xBA, 0xFF, 0xDA, 0xB, 0xBC, 0xFF, 0xDA, 0xB, 0xBE, 0xFF, 0xDA, 0xB, 0xC0, 0xFF, 0xDF, 0xB, 0xC2, 0xFF, 0xDF, 0xB, 0xCC, 0xFF, 0xDF, 0xB, 0xD6, 0xFF, 0xDF, 0xB, 0xD8, 0xFF, 0xD9, 0xB, 0xD9, 0xFF, 0xD9, 0xB, 0xDA, 0xFF, 0xD9, 0xB, 0xDB, 0xFF, 0xD9, 0xB, 0xDC, 0xFF, 0xD9, 0xB, 0xDD, 0xFF, 0xD9, 0xB, 0xDE, 0xFF, 0xD9, 0xB, 0xDF, 0xFF, 0xD9, 0xC, 0x14, 0xFF, 0xD2, 0xC, 0x15, 0xFF, 0xD2, 0xC, 0x16, 0xFF, 0xD2, 0xC, 0x17, 0xFF, 0xD2, 0xC, 0x18, 0xFF, 0xD2, 0xC, 0x19, 0xFF, 0xD2, 0xC, 0x20, 0xFF, 0xDA, 0xC, 0x21, 0xFF, 0xDA, 0xC, 0x22, 0xFF, 0xDA, 0xC, 0x23, 0xFF, 0xDA, 0xC, 0x24, 0xFF, 0xDA, 0xC, 0x25, 0xFF, 0xDA, 0xC, 0x26, 0xFF, 0xDA, 0xC, 0x27, 0xFF, 0xDA, 0xC, 0x44, 0xFF, 0xD2, 0xC, 0x45, 0xFF, 0xD2, 0xC, 0x46, 0xFF, 0xDA, 0xC, 0x47, 0xFF, 0xDA, 0xC, 0x4A, 0xFF, 0xD9, 0xC, 0x4B, 0xFF, 0xD9, 0xC, 0x4C, 0xFF, 0xD9, 0xC, 0x4D, 0xFF, 0xD9, 0xC, 0x4E, 0xFF, 0xD9, 0xC, 0x4F, 0xFF, 0xD9, 0xC, 0x50, 0xFF, 0xD9, 0xC, 0x51, 0xFF, 0xD9, 0xC, 0x7A, 0xFF, 0xD9, 0xC, 0x7B, 0xFF, 0xD9, 0xC, 0x7C, 0xFF, 0xD9, 0xC, 0x7D, 0xFF, 0xD9, 0xC, 0x7E, 0xFF, 0xD9, 0xC, 0x7F, 0xFF, 0xD9, 0xC, 0x80, 0xFF, 0xD9, 0xC, 0x9A, 0xFF, 0xDA, 0xC, 0x9B, 0xFF, 0xDA, 0xC, 0x9C, 0xFF, 0xDA, 0xC, 0x9D, 0xFF, 0xDA, 0x0, 0xCE, 0x0, 0x7, 0xFF, 0xD7, 0x0, 0xC, 0xFF, 0xD7, 0x0, 0x48, 0xFF, 0xEF, 0x0, 0x49, 0xFF, 0xEF, 0x0, 0x4A, 0xFF, 0xEF, 0x0, 0x4C, 0xFF, 0xEF, 0x0, 0x56, 0xFF, 0xEF, 0x0, 0x5A, 0xFF, 0xEE, 0x0, 0x5B, 0xFF, 0xD9, 0x0, 0x5E, 0xFF, 0xD9, 0x0, 0x95, 0xFF, 0xEF, 0x0, 0x9F, 0xFF, 0xEF, 0x0, 0xB5, 0xFF, 0xEF, 0x0, 0xC4, 0xFF, 0xEE, 0x0, 0xDA, 0xFF, 0xEF, 0x0, 0xDC, 0xFF, 0xEF, 0x0, 0xE4, 0xFF, 0xEF, 0x1, 0x0, 0xFF, 0xEF, 0x2, 0x2A, 0xFF, 0xEF, 0x2, 0x3A, 0xFF, 0xEF, 0x2, 0x3C, 0xFF, 0xD9, 0x2, 0x41, 0xFF, 0xEA, 0x2, 0x43, 0x0, 0x10, 0x2, 0x45, 0xFF, 0xE8, 0x2, 0x47, 0xFF, 0xEF, 0x2, 0x48, 0xFF, 0xEF, 0x2, 0x49, 0xFF, 0xD0, 0x2, 0x4A, 0xFF, 0xEE, 0x2, 0x4B, 0xFF, 0xE5, 0x2, 0x58, 0xFF, 0xEF, 0x2, 0x61, 0xFF, 0xEF, 0x2, 0x8D, 0xFF, 0xEF, 0x2, 0x99, 0xFF, 0xEF, 0x2, 0xB0, 0xFF, 0xD9, 0x2, 0xB4, 0xFF, 0xEF, 0x2, 0xB8, 0xFF, 0xEF, 0x2, 0xD9, 0xFF, 0xEF, 0x2, 0xF7, 0xFF, 0xEF, 0x2, 0xF8, 0xFF, 0xEF, 0x3, 0x2, 0xFF, 0xEF, 0x4, 0x62, 0xFF, 0xD7, 0x4, 0x63, 0xFF, 0xD7, 0x4, 0x65, 0xFF, 0xD7, 0x4, 0x66, 0xFF, 0xD7, 0x4, 0x67, 0xFF, 0xD7, 0x5, 0x67, 0xFF, 0xD9, 0x5, 0x6E, 0xFF, 0xEF, 0x6, 0x8F, 0xFF, 0xEF, 0x6, 0x91, 0xFF, 0xEF, 0x6, 0xA9, 0xFF, 0xEF, 0x6, 0xCB, 0xFF, 0xEF, 0x6, 0xF7, 0xFF, 0xEF, 0x8, 0xEF, 0xFF, 0xEF, 0x8, 0xF0, 0xFF, 0xEF, 0x8, 0xF1, 0xFF, 0xEF, 0x8, 0xF2, 0xFF, 0xEF, 0x8, 0xF3, 0xFF, 0xEF, 0x8, 0xFE, 0xFF, 0xEE, 0x8, 0xFF, 0xFF, 0xEE, 0x9, 0x0, 0xFF, 0xEE, 0x9, 0x1, 0xFF, 0xEE, 0x9, 0x2, 0xFF, 0xD9, 0x9, 0x3, 0xFF, 0xD9, 0x9, 0xB, 0xFF, 0xEF, 0x9, 0xD, 0xFF, 0xEF, 0x9, 0xF, 0xFF, 0xEF, 0x9, 0x11, 0xFF, 0xEF, 0x9, 0x13, 0xFF, 0xEF, 0x9, 0x15, 0xFF, 0xEF, 0x9, 0x17, 0xFF, 0xEF, 0x9, 0x19, 0xFF, 0xEF, 0x9, 0x1B, 0xFF, 0xEF, 0x9, 0x1D, 0xFF, 0xEF, 0x9, 0x1F, 0xFF, 0xEF, 0x9, 0x21, 0xFF, 0xEF, 0x9, 0x23, 0xFF, 0xEF, 0x9, 0x25, 0xFF, 0xEF, 0x9, 0x63, 0xFF, 0xEE, 0x9, 0x65, 0xFF, 0xEE, 0x9, 0x67, 0xFF, 0xEE, 0x9, 0x69, 0xFF, 0xEE, 0x9, 0x6B, 0xFF, 0xEE, 0x9, 0x6D, 0xFF, 0xEE, 0x9, 0x71, 0xFF, 0xD9, 0x9, 0xED, 0xFF, 0xEF, 0x9, 0xF1, 0xFF, 0xEE, 0x9, 0xF5, 0xFF, 0xD9, 0x9, 0xF8, 0xFF, 0xEE, 0x9, 0xFA, 0xFF, 0xEE, 0xA, 0x13, 0xFF, 0xEF, 0xA, 0x17, 0xFF, 0xEF, 0xA, 0x18, 0xFF, 0xD9, 0xA, 0x1A, 0xFF, 0xEF, 0xA, 0x21, 0xFF, 0xD9, 0xA, 0x29, 0xFF, 0xD9, 0xA, 0x2A, 0xFF, 0xD7, 0xA, 0x2B, 0xFF, 0xD7, 0xA, 0x2E, 0xFF, 0xD7, 0xA, 0x35, 0xFF, 0xEF, 0xA, 0x3A, 0xFF, 0xD9, 0xA, 0x3B, 0xFF, 0xEF, 0xA, 0x40, 0xFF, 0xEF, 0xA, 0x42, 0xFF, 0xD9, 0xA, 0x4E, 0xFF, 0xEF, 0xA, 0x50, 0xFF, 0xEF, 0xA, 0x51, 0xFF, 0xEF, 0xA, 0x5D, 0xFF, 0xEF, 0xA, 0x64, 0xFF, 0xD9, 0xA, 0x66, 0xFF, 0xD9, 0xA, 0x68, 0xFF, 0xD9, 0xA, 0x6D, 0xFF, 0xEF, 0xA, 0x87, 0xFF, 0xEF, 0xA, 0x89, 0xFF, 0xEF, 0xA, 0x8B, 0xFF, 0xEF, 0xA, 0x8D, 0xFF, 0xEF, 0xA, 0x8F, 0xFF, 0xEF, 0xA, 0x91, 0xFF, 0xEF, 0xA, 0x93, 0xFF, 0xEF, 0xA, 0x95, 0xFF, 0xEF, 0xA, 0xA9, 0xFF, 0xEF, 0xA, 0xAB, 0xFF, 0xEF, 0xA, 0xAD, 0xFF, 0xEF, 0xA, 0xB1, 0xFF, 0xEF, 0xA, 0xB3, 0xFF, 0xEE, 0xA, 0xB5, 0xFF, 0xEE, 0xA, 0xB7, 0xFF, 0xEE, 0xA, 0xB9, 0xFF, 0xEE, 0xA, 0xBB, 0xFF, 0xEE, 0xA, 0xBD, 0xFF, 0xEE, 0xA, 0xBF, 0xFF, 0xEE, 0xA, 0xC1, 0xFF, 0xD9, 0xA, 0xC3, 0xFF, 0xD9, 0xA, 0xC5, 0xFF, 0xD9, 0xA, 0xF5, 0xFF, 0xEE, 0xA, 0xF7, 0xFF, 0xEE, 0xA, 0xF9, 0xFF, 0xEE, 0xA, 0xFB, 0xFF, 0xEE, 0xA, 0xFD, 0xFF, 0xEE, 0xA, 0xFE, 0xFF, 0xEF, 0xB, 0x6, 0xFF, 0xEF, 0xB, 0xF, 0xFF, 0xEF, 0xB, 0x19, 0xFF, 0xEF, 0xB, 0x1B, 0xFF, 0xEF, 0xB, 0x29, 0xFF, 0xEE, 0xB, 0x2B, 0xFF, 0xEE, 0xB, 0x3B, 0xFF, 0xD9, 0xB, 0x42, 0xFF, 0xEF, 0xB, 0x4A, 0xFF, 0xEF, 0xB, 0x54, 0xFF, 0xEF, 0xB, 0x56, 0xFF, 0xEF, 0xB, 0x58, 0xFF, 0xEF, 0xB, 0x5A, 0xFF, 0xEF, 0xB, 0x5C, 0xFF, 0xEF, 0xB, 0x5E, 0xFF, 0xEF, 0xB, 0x60, 0xFF, 0xEF, 0xB, 0x62, 0xFF, 0xEF, 0xB, 0x64, 0xFF, 0xEF, 0xB, 0x66, 0xFF, 0xEF, 0xB, 0x68, 0xFF, 0xEF, 0xB, 0x6C, 0xFF, 0xEF, 0xB, 0xB6, 0xFF, 0xEE, 0xB, 0xB8, 0xFF, 0xEE, 0xB, 0xBA, 0xFF, 0xEE, 0xB, 0xBC, 0xFF, 0xEE, 0xB, 0xBE, 0xFF, 0xEE, 0xB, 0xC0, 0xFF, 0xD9, 0xB, 0xC2, 0xFF, 0xD9, 0xB, 0xCC, 0xFF, 0xD9, 0xB, 0xD6, 0xFF, 0xD9, 0xB, 0xD8, 0xFF, 0xEF, 0xB, 0xD9, 0xFF, 0xEF, 0xB, 0xDA, 0xFF, 0xEF, 0xB, 0xDB, 0xFF, 0xEF, 0xB, 0xDC, 0xFF, 0xEF, 0xB, 0xDD, 0xFF, 0xEF, 0xB, 0xDE, 0xFF, 0xEF, 0xB, 0xDF, 0xFF, 0xEF, 0xC, 0x20, 0xFF, 0xEE, 0xC, 0x21, 0xFF, 0xEE, 0xC, 0x22, 0xFF, 0xEE, 0xC, 0x23, 0xFF, 0xEE, 0xC, 0x24, 0xFF, 0xEE, 0xC, 0x25, 0xFF, 0xEE, 0xC, 0x26, 0xFF, 0xEE, 0xC, 0x27, 0xFF, 0xEE, 0xC, 0x46, 0xFF, 0xEE, 0xC, 0x47, 0xFF, 0xEE, 0xC, 0x4A, 0xFF, 0xEF, 0xC, 0x4B, 0xFF, 0xEF, 0xC, 0x4C, 0xFF, 0xEF, 0xC, 0x4D, 0xFF, 0xEF, 0xC, 0x4E, 0xFF, 0xEF, 0xC, 0x4F, 0xFF, 0xEF, 0xC, 0x50, 0xFF, 0xEF, 0xC, 0x51, 0xFF, 0xEF, 0xC, 0x7A, 0xFF, 0xEF, 0xC, 0x7B, 0xFF, 0xEF, 0xC, 0x7C, 0xFF, 0xEF, 0xC, 0x7D, 0xFF, 0xEF, 0xC, 0x7E, 0xFF, 0xEF, 0xC, 0x7F, 0xFF, 0xEF, 0xC, 0x80, 0xFF, 0xEF, 0xC, 0x9A, 0xFF, 0xEE, 0xC, 0x9B, 0xFF, 0xEE, 0xC, 0x9C, 0xFF, 0xEE, 0xC, 0x9D, 0xFF, 0xEE, 0x0, 0x59, 0x0, 0x7, 0xFF, 0xD6, 0x0, 0xC, 0xFF, 0xD6, 0x0, 0x4B, 0xFF, 0xF6, 0x0, 0x5A, 0xFF, 0xFA, 0x0, 0x5B, 0xFF, 0xE6, 0x0, 0x5E, 0xFF, 0xE6, 0x0, 0xC4, 0xFF, 0xFA, 0x2, 0x3C, 0xFF, 0xE6, 0x2, 0x41, 0xFF, 0xF8, 0x2, 0x43, 0x0, 0x7, 0x2, 0x45, 0xFF, 0xF7, 0x2, 0x49, 0xFF, 0xCE, 0x2, 0x4A, 0xFF, 0xFA, 0x2, 0xB0, 0xFF, 0xE6, 0x4, 0x62, 0xFF, 0xD6, 0x4, 0x63, 0xFF, 0xD6, 0x4, 0x65, 0xFF, 0xD6, 0x4, 0x66, 0xFF, 0xD6, 0x4, 0x67, 0xFF, 0xD6, 0x5, 0x67, 0xFF, 0xE6, 0x8, 0xFE, 0xFF, 0xFA, 0x8, 0xFF, 0xFF, 0xFA, 0x9, 0x0, 0xFF, 0xFA, 0x9, 0x1, 0xFF, 0xFA, 0x9, 0x2, 0xFF, 0xE6, 0x9, 0x3, 0xFF, 0xE6, 0x9, 0x63, 0xFF, 0xFA, 0x9, 0x65, 0xFF, 0xFA, 0x9, 0x67, 0xFF, 0xFA, 0x9, 0x69, 0xFF, 0xFA, 0x9, 0x6B, 0xFF, 0xFA, 0x9, 0x6D, 0xFF, 0xFA, 0x9, 0x71, 0xFF, 0xE6, 0x9, 0xF1, 0xFF, 0xFA, 0x9, 0xF5, 0xFF, 0xE6, 0x9, 0xF8, 0xFF, 0xFA, 0x9, 0xFA, 0xFF, 0xFA, 0xA, 0x18, 0xFF, 0xE6, 0xA, 0x21, 0xFF, 0xE6, 0xA, 0x29, 0xFF, 0xE6, 0xA, 0x2A, 0xFF, 0xD6, 0xA, 0x2B, 0xFF, 0xD6, 0xA, 0x2E, 0xFF, 0xD6, 0xA, 0x3A, 0xFF, 0xE6, 0xA, 0x42, 0xFF, 0xE6, 0xA, 0x64, 0xFF, 0xE6, 0xA, 0x66, 0xFF, 0xE6, 0xA, 0x68, 0xFF, 0xE6, 0xA, 0xB3, 0xFF, 0xFA, 0xA, 0xB5, 0xFF, 0xFA, 0xA, 0xB7, 0xFF, 0xFA, 0xA, 0xB9, 0xFF, 0xFA, 0xA, 0xBB, 0xFF, 0xFA, 0xA, 0xBD, 0xFF, 0xFA, 0xA, 0xBF, 0xFF, 0xFA, 0xA, 0xC1, 0xFF, 0xE6, 0xA, 0xC3, 0xFF, 0xE6, 0xA, 0xC5, 0xFF, 0xE6, 0xA, 0xF5, 0xFF, 0xFA, 0xA, 0xF7, 0xFF, 0xFA, 0xA, 0xF9, 0xFF, 0xFA, 0xA, 0xFB, 0xFF, 0xFA, 0xA, 0xFD, 0xFF, 0xFA, 0xB, 0x29, 0xFF, 0xFA, 0xB, 0x2B, 0xFF, 0xFA, 0xB, 0x3B, 0xFF, 0xE6, 0xB, 0xB6, 0xFF, 0xFA, 0xB, 0xB8, 0xFF, 0xFA, 0xB, 0xBA, 0xFF, 0xFA, 0xB, 0xBC, 0xFF, 0xFA, 0xB, 0xBE, 0xFF, 0xFA, 0xB, 0xC0, 0xFF, 0xE6, 0xB, 0xC2, 0xFF, 0xE6, 0xB, 0xCC, 0xFF, 0xE6, 0xB, 0xD6, 0xFF, 0xE6, 0xC, 0x20, 0xFF, 0xFA, 0xC, 0x21, 0xFF, 0xFA, 0xC, 0x22, 0xFF, 0xFA, 0xC, 0x23, 0xFF, 0xFA, 0xC, 0x24, 0xFF, 0xFA, 0xC, 0x25, 0xFF, 0xFA, 0xC, 0x26, 0xFF, 0xFA, 0xC, 0x27, 0xFF, 0xFA, 0xC, 0x46, 0xFF, 0xFA, 0xC, 0x47, 0xFF, 0xFA, 0xC, 0x9A, 0xFF, 0xFA, 0xC, 0x9B, 0xFF, 0xFA, 0xC, 0x9C, 0xFF, 0xFA, 0xC, 0x9D, 0xFF, 0xFA, 0x0, 0x7C, 0x0, 0x11, 0x0, 0x11, 0x0, 0x13, 0x0, 0x11, 0x0, 0x48, 0xFF, 0xE5, 0x0, 0x49, 0xFF, 0xE5, 0x0, 0x4A, 0xFF, 0xE5, 0x0, 0x4C, 0xFF, 0xE5, 0x0, 0x56, 0xFF, 0xE5, 0x0, 0x95, 0xFF, 0xE5, 0x0, 0x9F, 0xFF, 0xE5, 0x0, 0xB5, 0xFF, 0xE5, 0x0, 0xDA, 0xFF, 0xE5, 0x0, 0xDC, 0xFF, 0xE5, 0x0, 0xE4, 0xFF, 0xE5, 0x1, 0x0, 0xFF, 0xE5, 0x2, 0x2A, 0xFF, 0xE5, 0x2, 0x3A, 0xFF, 0xE5, 0x2, 0x43, 0x0, 0x10, 0x2, 0x47, 0xFF, 0xE5, 0x2, 0x48, 0xFF, 0xE5, 0x2, 0x58, 0xFF, 0xE5, 0x2, 0x61, 0xFF, 0xE5, 0x2, 0x8D, 0xFF, 0xE5, 0x2, 0x99, 0xFF, 0xE5, 0x2, 0xB4, 0xFF, 0xE5, 0x2, 0xB8, 0xFF, 0xE5, 0x2, 0xD9, 0xFF, 0xE5, 0x2, 0xF7, 0xFF, 0xE5, 0x2, 0xF8, 0xFF, 0xE5, 0x3, 0x2, 0xFF, 0xE5, 0x4, 0x64, 0x0, 0x11, 0x4, 0x68, 0x0, 0x11, 0x4, 0x6F, 0x0, 0x11, 0x4, 0x70, 0x0, 0x11, 0x5, 0x6E, 0xFF, 0xE5, 0x6, 0x8F, 0xFF, 0xE5, 0x6, 0x91, 0xFF, 0xE5, 0x6, 0xA9, 0xFF, 0xE5, 0x6, 0xCB, 0xFF, 0xE5, 0x6, 0xF7, 0xFF, 0xE5, 0x8, 0xEF, 0xFF, 0xE5, 0x8, 0xF0, 0xFF, 0xE5, 0x8, 0xF1, 0xFF, 0xE5, 0x8, 0xF2, 0xFF, 0xE5, 0x8, 0xF3, 0xFF, 0xE5, 0x9, 0xB, 0xFF, 0xE5, 0x9, 0xD, 0xFF, 0xE5, 0x9, 0xF, 0xFF, 0xE5, 0x9, 0x11, 0xFF, 0xE5, 0x9, 0x13, 0xFF, 0xE5, 0x9, 0x15, 0xFF, 0xE5, 0x9, 0x17, 0xFF, 0xE5, 0x9, 0x19, 0xFF, 0xE5, 0x9, 0x1B, 0xFF, 0xE5, 0x9, 0x1D, 0xFF, 0xE5, 0x9, 0x1F, 0xFF, 0xE5, 0x9, 0x21, 0xFF, 0xE5, 0x9, 0x23, 0xFF, 0xE5, 0x9, 0x25, 0xFF, 0xE5, 0x9, 0xED, 0xFF, 0xE5, 0xA, 0x13, 0xFF, 0xE5, 0xA, 0x17, 0xFF, 0xE5, 0xA, 0x1A, 0xFF, 0xE5, 0xA, 0x35, 0xFF, 0xE5, 0xA, 0x3B, 0xFF, 0xE5, 0xA, 0x40, 0xFF, 0xE5, 0xA, 0x4E, 0xFF, 0xE5, 0xA, 0x50, 0xFF, 0xE5, 0xA, 0x51, 0xFF, 0xE5, 0xA, 0x5D, 0xFF, 0xE5, 0xA, 0x6D, 0xFF, 0xE5, 0xA, 0x87, 0xFF, 0xE5, 0xA, 0x89, 0xFF, 0xE5, 0xA, 0x8B, 0xFF, 0xE5, 0xA, 0x8D, 0xFF, 0xE5, 0xA, 0x8F, 0xFF, 0xE5, 0xA, 0x91, 0xFF, 0xE5, 0xA, 0x93, 0xFF, 0xE5, 0xA, 0x95, 0xFF, 0xE5, 0xA, 0xA9, 0xFF, 0xE5, 0xA, 0xAB, 0xFF, 0xE5, 0xA, 0xAD, 0xFF, 0xE5, 0xA, 0xB1, 0xFF, 0xE5, 0xA, 0xFE, 0xFF, 0xE5, 0xB, 0x6, 0xFF, 0xE5, 0xB, 0xF, 0xFF, 0xE5, 0xB, 0x19, 0xFF, 0xE5, 0xB, 0x1B, 0xFF, 0xE5, 0xB, 0x42, 0xFF, 0xE5, 0xB, 0x4A, 0xFF, 0xE5, 0xB, 0x54, 0xFF, 0xE5, 0xB, 0x56, 0xFF, 0xE5, 0xB, 0x58, 0xFF, 0xE5, 0xB, 0x5A, 0xFF, 0xE5, 0xB, 0x5C, 0xFF, 0xE5, 0xB, 0x5E, 0xFF, 0xE5, 0xB, 0x60, 0xFF, 0xE5, 0xB, 0x62, 0xFF, 0xE5, 0xB, 0x64, 0xFF, 0xE5, 0xB, 0x66, 0xFF, 0xE5, 0xB, 0x68, 0xFF, 0xE5, 0xB, 0x6C, 0xFF, 0xE5, 0xB, 0xD8, 0xFF, 0xE5, 0xB, 0xD9, 0xFF, 0xE5, 0xB, 0xDA, 0xFF, 0xE5, 0xB, 0xDB, 0xFF, 0xE5, 0xB, 0xDC, 0xFF, 0xE5, 0xB, 0xDD, 0xFF, 0xE5, 0xB, 0xDE, 0xFF, 0xE5, 0xB, 0xDF, 0xFF, 0xE5, 0xC, 0x4A, 0xFF, 0xE5, 0xC, 0x4B, 0xFF, 0xE5, 0xC, 0x4C, 0xFF, 0xE5, 0xC, 0x4D, 0xFF, 0xE5, 0xC, 0x4E, 0xFF, 0xE5, 0xC, 0x4F, 0xFF, 0xE5, 0xC, 0x50, 0xFF, 0xE5, 0xC, 0x51, 0xFF, 0xE5, 0xC, 0x7A, 0xFF, 0xE5, 0xC, 0x7B, 0xFF, 0xE5, 0xC, 0x7C, 0xFF, 0xE5, 0xC, 0x7D, 0xFF, 0xE5, 0xC, 0x7E, 0xFF, 0xE5, 0xC, 0x7F, 0xFF, 0xE5, 0xC, 0x80, 0xFF, 0xE5, 0x0, 0x6, 0x2, 0x49, 0xFF, 0xE8, 0x2, 0x83, 0xFF, 0xDB, 0x2, 0x8C, 0xFF, 0xDD, 0x2, 0x94, 0xFF, 0xF4, 0x2, 0xD1, 0xFF, 0xEA, 0x3, 0x4, 0xFF, 0xEA, 0x0, 0x1, 0x2, 0x8C, 0xFF, 0xD6, 0x0, 0x1, 0x2, 0x49, 0x0, 0x19, 0x1, 0x17, 0x0, 0x7, 0x0, 0xD, 0x0, 0xC, 0x0, 0xD, 0x0, 0x48, 0xFF, 0xE6, 0x0, 0x49, 0xFF, 0xE6, 0x0, 0x4A, 0xFF, 0xE6, 0x0, 0x4B, 0x0, 0xD, 0x0, 0x4C, 0xFF, 0xE6, 0x0, 0x54, 0xFF, 0xE8, 0x0, 0x56, 0xFF, 0xE6, 0x0, 0x5B, 0x0, 0xC, 0x0, 0x5E, 0x0, 0xC, 0x0, 0x95, 0xFF, 0xE6, 0x0, 0x9F, 0xFF, 0xE6, 0x0, 0xB5, 0xFF, 0xE6, 0x0, 0xDA, 0xFF, 0xE6, 0x0, 0xDC, 0xFF, 0xE6, 0x0, 0xE4, 0xFF, 0xE6, 0x1, 0x0, 0xFF, 0xE6, 0x2, 0x2A, 0xFF, 0xE6, 0x2, 0x3A, 0xFF, 0xE6, 0x2, 0x3C, 0x0, 0xC, 0x2, 0x3D, 0xFF, 0xF8, 0x2, 0x43, 0xFF, 0xB7, 0x2, 0x45, 0x0, 0xC, 0x2, 0x47, 0xFF, 0xE6, 0x2, 0x48, 0xFF, 0xE6, 0x2, 0x49, 0x0, 0xD, 0x2, 0x56, 0xFF, 0xE8, 0x2, 0x58, 0xFF, 0xE6, 0x2, 0x61, 0xFF, 0xE6, 0x2, 0x8D, 0xFF, 0xE6, 0x2, 0x99, 0xFF, 0xE6, 0x2, 0xAE, 0xFF, 0xE8, 0x2, 0xB0, 0x0, 0xC, 0x2, 0xB4, 0xFF, 0xE6, 0x2, 0xB8, 0xFF, 0xE6, 0x2, 0xD9, 0xFF, 0xE6, 0x2, 0xF7, 0xFF, 0xE6, 0x2, 0xF8, 0xFF, 0xE6, 0x3, 0x2, 0xFF, 0xE6, 0x4, 0x62, 0x0, 0xD, 0x4, 0x63, 0x0, 0xD, 0x4, 0x65, 0x0, 0xD, 0x4, 0x66, 0x0, 0xD, 0x4, 0x67, 0x0, 0xD, 0x5, 0x67, 0x0, 0xC, 0x5, 0x6E, 0xFF, 0xE6, 0x5, 0x70, 0xFF, 0xE8, 0x5, 0xEE, 0xFF, 0xE8, 0x6, 0x2, 0xFF, 0xE8, 0x6, 0x4, 0xFF, 0xE8, 0x6, 0x6, 0xFF, 0xE8, 0x6, 0x32, 0xFF, 0xE8, 0x6, 0x85, 0xFF, 0xE8, 0x6, 0x87, 0xFF, 0xE8, 0x6, 0x8F, 0xFF, 0xE6, 0x6, 0x91, 0xFF, 0xE6, 0x6, 0xA9, 0xFF, 0xE6, 0x6, 0xCB, 0xFF, 0xE6, 0x6, 0xF7, 0xFF, 0xE6, 0x7, 0x4F, 0x0, 0xE, 0x7, 0x52, 0x0, 0xE, 0x7, 0x54, 0x0, 0xF, 0x7, 0x55, 0xFF, 0xF4, 0x7, 0x57, 0xFF, 0xEA, 0x7, 0x59, 0xFF, 0xEC, 0x7, 0x61, 0xFF, 0xEA, 0x7, 0x67, 0xFF, 0xB9, 0x7, 0x68, 0xFF, 0xEC, 0x7, 0x69, 0xFF, 0xB9, 0x7, 0x70, 0x0, 0xF, 0x7, 0x71, 0xFF, 0xEC, 0x7, 0x74, 0x0, 0xF, 0x7, 0x8C, 0x0, 0xF, 0x7, 0x8D, 0xFF, 0xEC, 0x7, 0x8E, 0x0, 0xE, 0x7, 0x90, 0x0, 0xF, 0x7, 0x96, 0xFF, 0xEC, 0x7, 0xAF, 0xFF, 0xED, 0x7, 0xB1, 0xFF, 0xB9, 0x8, 0xEF, 0xFF, 0xE6, 0x8, 0xF0, 0xFF, 0xE6, 0x8, 0xF1, 0xFF, 0xE6, 0x8, 0xF2, 0xFF, 0xE6, 0x8, 0xF3, 0xFF, 0xE6, 0x8, 0xF9, 0xFF, 0xE8, 0x8, 0xFA, 0xFF, 0xE8, 0x8, 0xFB, 0xFF, 0xE8, 0x8, 0xFC, 0xFF, 0xE8, 0x8, 0xFD, 0xFF, 0xE8, 0x9, 0x2, 0x0, 0xC, 0x9, 0x3, 0x0, 0xC, 0x9, 0xB, 0xFF, 0xE6, 0x9, 0xD, 0xFF, 0xE6, 0x9, 0xF, 0xFF, 0xE6, 0x9, 0x11, 0xFF, 0xE6, 0x9, 0x13, 0xFF, 0xE6, 0x9, 0x15, 0xFF, 0xE6, 0x9, 0x17, 0xFF, 0xE6, 0x9, 0x19, 0xFF, 0xE6, 0x9, 0x1B, 0xFF, 0xE6, 0x9, 0x1D, 0xFF, 0xE6, 0x9, 0x1F, 0xFF, 0xE6, 0x9, 0x21, 0xFF, 0xE6, 0x9, 0x23, 0xFF, 0xE6, 0x9, 0x25, 0xFF, 0xE6, 0x9, 0x47, 0xFF, 0xE8, 0x9, 0x49, 0xFF, 0xE8, 0x9, 0x4B, 0xFF, 0xE8, 0x9, 0x71, 0x0, 0xC, 0x9, 0x80, 0xFF, 0xB9, 0x9, 0x81, 0xFF, 0xB9, 0x9, 0x82, 0xFF, 0xB9, 0x9, 0x83, 0xFF, 0xB9, 0x9, 0x84, 0xFF, 0xB9, 0x9, 0x85, 0xFF, 0xB9, 0x9, 0x86, 0xFF, 0xB9, 0x9, 0x87, 0xFF, 0xEC, 0x9, 0x91, 0xFF, 0xEC, 0x9, 0x92, 0xFF, 0xEC, 0x9, 0x93, 0xFF, 0xEC, 0x9, 0x94, 0xFF, 0xEC, 0x9, 0x95, 0xFF, 0xEC, 0x9, 0x9A, 0x0, 0xE, 0x9, 0x9B, 0xFF, 0xB9, 0x9, 0x9C, 0xFF, 0xB9, 0x9, 0x9D, 0xFF, 0xB9, 0x9, 0x9E, 0xFF, 0xEC, 0x9, 0x9F, 0xFF, 0xEC, 0x9, 0xA0, 0xFF, 0xEC, 0x9, 0xA1, 0xFF, 0xEC, 0x9, 0xA8, 0xFF, 0xEC, 0x9, 0xA9, 0xFF, 0xEC, 0x9, 0xAA, 0xFF, 0xEC, 0x9, 0xAB, 0xFF, 0xEC, 0x9, 0xBB, 0xFF, 0xEC, 0x9, 0xBC, 0xFF, 0xEC, 0x9, 0xBD, 0xFF, 0xEC, 0x9, 0xBE, 0xFF, 0xEC, 0x9, 0xC2, 0xFF, 0xF4, 0x9, 0xC3, 0xFF, 0xF4, 0x9, 0xC4, 0xFF, 0xF4, 0x9, 0xC5, 0xFF, 0xF4, 0x9, 0xC7, 0x0, 0xF, 0x9, 0xD0, 0x0, 0xE, 0x9, 0xD1, 0x0, 0xE, 0x9, 0xED, 0xFF, 0xE6, 0x9, 0xF3, 0xFF, 0xE8, 0x9, 0xF5, 0x0, 0xC, 0x9, 0xF9, 0xFF, 0xE8, 0xA, 0x13, 0xFF, 0xE6, 0xA, 0x15, 0xFF, 0xE8, 0xA, 0x17, 0xFF, 0xE6, 0xA, 0x18, 0x0, 0xC, 0xA, 0x1A, 0xFF, 0xE6, 0xA, 0x21, 0x0, 0xC, 0xA, 0x29, 0x0, 0xC, 0xA, 0x2A, 0x0, 0xD, 0xA, 0x2B, 0x0, 0xD, 0xA, 0x2E, 0x0, 0xD, 0xA, 0x35, 0xFF, 0xE6, 0xA, 0x3A, 0x0, 0xC, 0xA, 0x3B, 0xFF, 0xE6, 0xA, 0x40, 0xFF, 0xE6, 0xA, 0x42, 0x0, 0xC, 0xA, 0x4E, 0xFF, 0xE6, 0xA, 0x50, 0xFF, 0xE6, 0xA, 0x51, 0xFF, 0xE6, 0xA, 0x5B, 0xFF, 0xE8, 0xA, 0x5D, 0xFF, 0xE6, 0xA, 0x60, 0xFF, 0xE8, 0xA, 0x64, 0x0, 0xC, 0xA, 0x66, 0x0, 0xC, 0xA, 0x68, 0x0, 0xC, 0xA, 0x6D, 0xFF, 0xE6, 0xA, 0x87, 0xFF, 0xE6, 0xA, 0x89, 0xFF, 0xE6, 0xA, 0x8B, 0xFF, 0xE6, 0xA, 0x8D, 0xFF, 0xE6, 0xA, 0x8F, 0xFF, 0xE6, 0xA, 0x91, 0xFF, 0xE6, 0xA, 0x93, 0xFF, 0xE6, 0xA, 0x95, 0xFF, 0xE6, 0xA, 0x9B, 0xFF, 0xE8, 0xA, 0x9D, 0xFF, 0xE8, 0xA, 0x9F, 0xFF, 0xE8, 0xA, 0xA1, 0xFF, 0xE8, 0xA, 0xA3, 0xFF, 0xE8, 0xA, 0xA5, 0xFF, 0xE8, 0xA, 0xA7, 0xFF, 0xE8, 0xA, 0xA9, 0xFF, 0xE6, 0xA, 0xAB, 0xFF, 0xE6, 0xA, 0xAD, 0xFF, 0xE6, 0xA, 0xAF, 0xFF, 0xE8, 0xA, 0xB1, 0xFF, 0xE6, 0xA, 0xC1, 0x0, 0xC, 0xA, 0xC3, 0x0, 0xC, 0xA, 0xC5, 0x0, 0xC, 0xA, 0xF3, 0xFF, 0xE8, 0xA, 0xFE, 0xFF, 0xE6, 0xB, 0x6, 0xFF, 0xE6, 0xB, 0xA, 0xFF, 0xE8, 0xB, 0xC, 0xFF, 0xE8, 0xB, 0xF, 0xFF, 0xE6, 0xB, 0x19, 0xFF, 0xE6, 0xB, 0x1B, 0xFF, 0xE6, 0xB, 0x21, 0xFF, 0xE8, 0xB, 0x23, 0xFF, 0xE8, 0xB, 0x33, 0xFF, 0xE8, 0xB, 0x35, 0xFF, 0xE8, 0xB, 0x37, 0xFF, 0xE8, 0xB, 0x39, 0xFF, 0xE8, 0xB, 0x3B, 0x0, 0xC, 0xB, 0x3C, 0xFF, 0xE8, 0xB, 0x42, 0xFF, 0xE6, 0xB, 0x4A, 0xFF, 0xE6, 0xB, 0x54, 0xFF, 0xE6, 0xB, 0x56, 0xFF, 0xE6, 0xB, 0x58, 0xFF, 0xE6, 0xB, 0x5A, 0xFF, 0xE6, 0xB, 0x5C, 0xFF, 0xE6, 0xB, 0x5E, 0xFF, 0xE6, 0xB, 0x60, 0xFF, 0xE6, 0xB, 0x62, 0xFF, 0xE6, 0xB, 0x64, 0xFF, 0xE6, 0xB, 0x66, 0xFF, 0xE6, 0xB, 0x68, 0xFF, 0xE6, 0xB, 0x6C, 0xFF, 0xE6, 0xB, 0x90, 0xFF, 0xE8, 0xB, 0x92, 0xFF, 0xE8, 0xB, 0x94, 0xFF, 0xE8, 0xB, 0x96, 0xFF, 0xE8, 0xB, 0xC0, 0x0, 0xC, 0xB, 0xC2, 0x0, 0xC, 0xB, 0xCC, 0x0, 0xC, 0xB, 0xD6, 0x0, 0xC, 0xB, 0xD8, 0xFF, 0xE6, 0xB, 0xD9, 0xFF, 0xE6, 0xB, 0xDA, 0xFF, 0xE6, 0xB, 0xDB, 0xFF, 0xE6, 0xB, 0xDC, 0xFF, 0xE6, 0xB, 0xDD, 0xFF, 0xE6, 0xB, 0xDE, 0xFF, 0xE6, 0xB, 0xDF, 0xFF, 0xE6, 0xC, 0x14, 0xFF, 0xE8, 0xC, 0x15, 0xFF, 0xE8, 0xC, 0x16, 0xFF, 0xE8, 0xC, 0x17, 0xFF, 0xE8, 0xC, 0x18, 0xFF, 0xE8, 0xC, 0x19, 0xFF, 0xE8, 0xC, 0x44, 0xFF, 0xE8, 0xC, 0x45, 0xFF, 0xE8, 0xC, 0x4A, 0xFF, 0xE6, 0xC, 0x4B, 0xFF, 0xE6, 0xC, 0x4C, 0xFF, 0xE6, 0xC, 0x4D, 0xFF, 0xE6, 0xC, 0x4E, 0xFF, 0xE6, 0xC, 0x4F, 0xFF, 0xE6, 0xC, 0x50, 0xFF, 0xE6, 0xC, 0x51, 0xFF, 0xE6, 0xC, 0x7A, 0xFF, 0xE6, 0xC, 0x7B, 0xFF, 0xE6, 0xC, 0x7C, 0xFF, 0xE6, 0xC, 0x7D, 0xFF, 0xE6, 0xC, 0x7E, 0xFF, 0xE6, 0xC, 0x7F, 0xFF, 0xE6, 0xC, 0x80, 0xFF, 0xE6, 0xC, 0xB7, 0xFF, 0xB9, 0xC, 0xBB, 0xFF, 0xEC, 0xC, 0xBC, 0x0, 0xE, 0xC, 0xBE, 0xFF, 0xB9, 0xC, 0xCA, 0x0, 0xE, 0xC, 0xCD, 0x0, 0xE, 0xC, 0xD6, 0xFF, 0xB9, 0xC, 0xDD, 0xFF, 0xEC, 0xC, 0xE0, 0xFF, 0xEC, 0xC, 0xE1, 0x0, 0xF, 0xC, 0xE5, 0xFF, 0xEC, 0xC, 0xE6, 0x0, 0xE, 0x0, 0x1, 0x2, 0x8C, 0xFF, 0xE5, 0x0, 0x17, 0x0, 0x5D, 0xFF, 0xEC, 0x0, 0x5F, 0xFF, 0xEC, 0x0, 0xCA, 0xFF, 0xEC, 0x0, 0xF5, 0xFF, 0xEC, 0x2, 0x84, 0xFF, 0xEC, 0x2, 0x8C, 0xFF, 0xC1, 0x2, 0xCB, 0xFF, 0xEC, 0x2, 0xDB, 0xFF, 0xEC, 0x2, 0xF5, 0xFF, 0xEC, 0x5, 0x62, 0xFF, 0xEC, 0x5, 0xDA, 0xFF, 0xEC, 0x5, 0xDC, 0xFF, 0xEC, 0x9, 0x74, 0xFF, 0xEC, 0x9, 0x76, 0xFF, 0xEC, 0x9, 0x78, 0xFF, 0xEC, 0xA, 0x19, 0xFF, 0xEC, 0xA, 0x45, 0xFF, 0xEC, 0xA, 0x53, 0xFF, 0xEC, 0xB, 0xC8, 0xFF, 0xEC, 0xB, 0xCA, 0xFF, 0xEC, 0xB, 0xCE, 0xFF, 0xEC, 0xB, 0xD0, 0xFF, 0xEC, 0xB, 0xD2, 0xFF, 0xEC, 0x0, 0x16, 0x0, 0x5D, 0xFF, 0xF1, 0x0, 0x5F, 0xFF, 0xF1, 0x0, 0xCA, 0xFF, 0xF1, 0x0, 0xF5, 0xFF, 0xF1, 0x2, 0x84, 0xFF, 0xF1, 0x2, 0xCB, 0xFF, 0xF1, 0x2, 0xDB, 0xFF, 0xF1, 0x2, 0xF5, 0xFF, 0xF1, 0x5, 0x62, 0xFF, 0xF1, 0x5, 0xDA, 0xFF, 0xF1, 0x5, 0xDC, 0xFF, 0xF1, 0x9, 0x74, 0xFF, 0xF1, 0x9, 0x76, 0xFF, 0xF1, 0x9, 0x78, 0xFF, 0xF1, 0xA, 0x19, 0xFF, 0xF1, 0xA, 0x45, 0xFF, 0xF1, 0xA, 0x53, 0xFF, 0xF1, 0xB, 0xC8, 0xFF, 0xF1, 0xB, 0xCA, 0xFF, 0xF1, 0xB, 0xCE, 0xFF, 0xF1, 0xB, 0xD0, 0xFF, 0xF1, 0xB, 0xD2, 0xFF, 0xF1, 0x0, 0x2F, 0x0, 0x5B, 0xFF, 0xF3, 0x0, 0x5D, 0xFF, 0xF1, 0x0, 0x5E, 0xFF, 0xF3, 0x0, 0x5F, 0xFF, 0xF2, 0x0, 0xCA, 0xFF, 0xF2, 0x0, 0xF5, 0xFF, 0xF2, 0x2, 0x3C, 0xFF, 0xF3, 0x2, 0x84, 0xFF, 0xF1, 0x2, 0xB0, 0xFF, 0xF3, 0x2, 0xCB, 0xFF, 0xF1, 0x2, 0xDB, 0xFF, 0xF1, 0x2, 0xF5, 0xFF, 0xF1, 0x5, 0x62, 0xFF, 0xF2, 0x5, 0x67, 0xFF, 0xF3, 0x5, 0xDA, 0xFF, 0xF2, 0x5, 0xDC, 0xFF, 0xF2, 0x9, 0x2, 0xFF, 0xF3, 0x9, 0x3, 0xFF, 0xF3, 0x9, 0x71, 0xFF, 0xF3, 0x9, 0x74, 0xFF, 0xF2, 0x9, 0x76, 0xFF, 0xF2, 0x9, 0x78, 0xFF, 0xF2, 0x9, 0xF5, 0xFF, 0xF3, 0xA, 0x18, 0xFF, 0xF3, 0xA, 0x19, 0xFF, 0xF1, 0xA, 0x21, 0xFF, 0xF3, 0xA, 0x29, 0xFF, 0xF3, 0xA, 0x3A, 0xFF, 0xF3, 0xA, 0x42, 0xFF, 0xF3, 0xA, 0x45, 0xFF, 0xF1, 0xA, 0x53, 0xFF, 0xF1, 0xA, 0x64, 0xFF, 0xF3, 0xA, 0x66, 0xFF, 0xF3, 0xA, 0x68, 0xFF, 0xF3, 0xA, 0xC1, 0xFF, 0xF3, 0xA, 0xC3, 0xFF, 0xF3, 0xA, 0xC5, 0xFF, 0xF3, 0xB, 0x3B, 0xFF, 0xF3, 0xB, 0xC0, 0xFF, 0xF3, 0xB, 0xC2, 0xFF, 0xF3, 0xB, 0xC8, 0xFF, 0xF1, 0xB, 0xCA, 0xFF, 0xF1, 0xB, 0xCC, 0xFF, 0xF3, 0xB, 0xCE, 0xFF, 0xF2, 0xB, 0xD0, 0xFF, 0xF2, 0xB, 0xD2, 0xFF, 0xF2, 0xB, 0xD6, 0xFF, 0xF3, 0x0, 0x77, 0x0, 0x7, 0xFF, 0xBE, 0x0, 0xC, 0xFF, 0xBE, 0x0, 0x39, 0xFF, 0xAF, 0x0, 0x3B, 0xFF, 0xBB, 0x0, 0x3D, 0xFF, 0xEF, 0x0, 0x3E, 0xFF, 0xB3, 0x0, 0x5B, 0xFF, 0xE4, 0x0, 0x5D, 0xFF, 0xEE, 0x0, 0x5E, 0xFF, 0xE4, 0x0, 0xC2, 0xFF, 0xAF, 0x1, 0x3, 0xFF, 0xB3, 0x2, 0x3C, 0xFF, 0xE4, 0x2, 0x68, 0xFF, 0xAF, 0x2, 0x6C, 0xFF, 0xAF, 0x2, 0x70, 0xFF, 0xEF, 0x2, 0x74, 0xFF, 0xD3, 0x2, 0x77, 0xFF, 0xCD, 0x2, 0x7C, 0xFF, 0xE5, 0x2, 0x84, 0xFF, 0xEE, 0x2, 0x8C, 0xFF, 0xC4, 0x2, 0x94, 0xFF, 0xE1, 0x2, 0x9F, 0xFF, 0xE3, 0x2, 0xAF, 0xFF, 0xBB, 0x2, 0xB0, 0xFF, 0xE4, 0x2, 0xB6, 0xFF, 0xE1, 0x2, 0xCA, 0xFF, 0xEF, 0x2, 0xCB, 0xFF, 0xEE, 0x2, 0xD0, 0xFF, 0xAF, 0x2, 0xD1, 0xFF, 0xBF, 0x2, 0xDA, 0xFF, 0xEF, 0x2, 0xDB, 0xFF, 0xEE, 0x2, 0xDC, 0xFF, 0xAF, 0x2, 0xDE, 0xFF, 0xCD, 0x2, 0xE0, 0xFF, 0xD8, 0x2, 0xF4, 0xFF, 0xEF, 0x2, 0xF5, 0xFF, 0xEE, 0x2, 0xF9, 0xFF, 0xD0, 0x2, 0xFA, 0xFF, 0xF4, 0x2, 0xFB, 0xFF, 0xE1, 0x3, 0x3, 0xFF, 0x60, 0x3, 0x4, 0xFF, 0xBD, 0x4, 0x62, 0xFF, 0xBE, 0x4, 0x63, 0xFF, 0xBE, 0x4, 0x65, 0xFF, 0xBE, 0x4, 0x66, 0xFF, 0xBE, 0x4, 0x67, 0xFF, 0xBE, 0x5, 0x67, 0xFF, 0xE4, 0x6, 0x1F, 0xFF, 0xCD, 0x6, 0x23, 0xFF, 0xAF, 0x6, 0x25, 0xFF, 0xAF, 0x6, 0x29, 0xFF, 0xAF, 0x6, 0x96, 0xFF, 0xBB, 0x8, 0xE7, 0xFF, 0xB3, 0x9, 0x2, 0xFF, 0xE4, 0x9, 0x3, 0xFF, 0xE4, 0x9, 0x5C, 0xFF, 0xAF, 0x9, 0x5E, 0xFF, 0xAF, 0x9, 0x60, 0xFF, 0xAF, 0x9, 0x70, 0xFF, 0xB3, 0x9, 0x71, 0xFF, 0xE4, 0x9, 0x72, 0xFF, 0xB3, 0x9, 0xDA, 0xFF, 0xB3, 0x9, 0xE9, 0xFF, 0xB3, 0x9, 0xEA, 0xFF, 0xEF, 0x9, 0xEC, 0xFF, 0xB3, 0x9, 0xF5, 0xFF, 0xE4, 0xA, 0x4, 0xFF, 0xD3, 0xA, 0x10, 0xFF, 0xAF, 0xA, 0x11, 0xFF, 0xEF, 0xA, 0x18, 0xFF, 0xE4, 0xA, 0x19, 0xFF, 0xEE, 0xA, 0x21, 0xFF, 0xE4, 0xA, 0x28, 0xFF, 0xB3, 0xA, 0x29, 0xFF, 0xE4, 0xA, 0x2A, 0xFF, 0xBE, 0xA, 0x2B, 0xFF, 0xBE, 0xA, 0x2E, 0xFF, 0xBE, 0xA, 0x39, 0xFF, 0xBB, 0xA, 0x3A, 0xFF, 0xE4, 0xA, 0x41, 0xFF, 0xB3, 0xA, 0x42, 0xFF, 0xE4, 0xA, 0x44, 0xFF, 0xEF, 0xA, 0x45, 0xFF, 0xEE, 0xA, 0x52, 0xFF, 0xEF, 0xA, 0x53, 0xFF, 0xEE, 0xA, 0x63, 0xFF, 0xD3, 0xA, 0x64, 0xFF, 0xE4, 0xA, 0x65, 0xFF, 0xD3, 0xA, 0x66, 0xFF, 0xE4, 0xA, 0x67, 0xFF, 0xD3, 0xA, 0x68, 0xFF, 0xE4, 0xA, 0x69, 0xFF, 0xCD, 0xA, 0xC0, 0xFF, 0xB3, 0xA, 0xC1, 0xFF, 0xE4, 0xA, 0xC2, 0xFF, 0xB3, 0xA, 0xC3, 0xFF, 0xE4, 0xA, 0xC4, 0xFF, 0xB3, 0xA, 0xC5, 0xFF, 0xE4, 0xA, 0xC7, 0xFF, 0xAF, 0xA, 0xC9, 0xFF, 0xCD, 0xA, 0xD6, 0xFF, 0xB3, 0xB, 0x3B, 0xFF, 0xE4, 0xB, 0xAD, 0xFF, 0xAF, 0xB, 0xAF, 0xFF, 0xAF, 0xB, 0xB1, 0xFF, 0xAF, 0xB, 0xB3, 0xFF, 0xAF, 0xB, 0xBF, 0xFF, 0xBB, 0xB, 0xC0, 0xFF, 0xE4, 0xB, 0xC1, 0xFF, 0xBB, 0xB, 0xC2, 0xFF, 0xE4, 0xB, 0xC7, 0xFF, 0xEF, 0xB, 0xC8, 0xFF, 0xEE, 0xB, 0xC9, 0xFF, 0xEF, 0xB, 0xCA, 0xFF, 0xEE, 0xB, 0xCB, 0xFF, 0xB3, 0xB, 0xCC, 0xFF, 0xE4, 0xB, 0xD6, 0xFF, 0xE4, 0xC, 0xA2, 0xFF, 0xB3, 0xC, 0xA3, 0xFF, 0xB3, 0x0, 0x97, 0x0, 0x7, 0xFF, 0xD6, 0x0, 0xC, 0xFF, 0xD6, 0x0, 0x39, 0xFF, 0xC0, 0x0, 0x3B, 0xFF, 0xDB, 0x0, 0x3D, 0xFF, 0xF6, 0x0, 0x3E, 0xFF, 0xC9, 0x0, 0x52, 0xFF, 0xE2, 0x0, 0x53, 0xFF, 0xE2, 0x0, 0x55, 0xFF, 0xE2, 0x0, 0xC2, 0xFF, 0xC0, 0x0, 0xEA, 0xFF, 0xE2, 0x1, 0x3, 0xFF, 0xC9, 0x2, 0x28, 0xFF, 0xE2, 0x2, 0x40, 0xFF, 0xE2, 0x2, 0x68, 0xFF, 0xC0, 0x2, 0x6A, 0xFF, 0xF9, 0x2, 0x6C, 0xFF, 0xC0, 0x2, 0x70, 0xFF, 0xF6, 0x2, 0x73, 0xFF, 0xF9, 0x2, 0x74, 0xFF, 0xF2, 0x2, 0x77, 0xFF, 0xEE, 0x2, 0x7C, 0xFF, 0xD7, 0x2, 0x82, 0xFF, 0xE2, 0x2, 0x86, 0xFF, 0xE2, 0x2, 0x87, 0xFF, 0xE2, 0x2, 0x89, 0xFF, 0xE2, 0x2, 0x8A, 0xFF, 0xE2, 0x2, 0x8B, 0xFF, 0xE2, 0x2, 0x8C, 0xFF, 0xDF, 0x2, 0x8E, 0xFF, 0xE2, 0x2, 0x90, 0xFF, 0xE2, 0x2, 0x91, 0xFF, 0xE2, 0x2, 0x94, 0xFF, 0xE2, 0x2, 0x96, 0xFF, 0xE2, 0x2, 0x9B, 0xFF, 0xE2, 0x2, 0xAF, 0xFF, 0xDB, 0x2, 0xC2, 0xFF, 0xE2, 0x2, 0xCA, 0xFF, 0xF6, 0x2, 0xCD, 0xFF, 0xE2, 0x2, 0xD0, 0xFF, 0xC0, 0x2, 0xD1, 0xFF, 0xDE, 0x2, 0xD3, 0xFF, 0xE2, 0x2, 0xD5, 0xFF, 0xE2, 0x2, 0xDA, 0xFF, 0xF6, 0x2, 0xDC, 0xFF, 0xC0, 0x2, 0xDE, 0xFF, 0xEE, 0x2, 0xE0, 0xFF, 0xEE, 0x2, 0xE3, 0xFF, 0xDC, 0x2, 0xE7, 0xFF, 0xF9, 0x2, 0xEA, 0xFF, 0xE2, 0x2, 0xEC, 0xFF, 0xE2, 0x2, 0xEE, 0xFF, 0xE2, 0x2, 0xF3, 0xFF, 0xE2, 0x2, 0xF4, 0xFF, 0xF6, 0x2, 0xF9, 0xFF, 0xDF, 0x2, 0xFB, 0xFF, 0xF2, 0x2, 0xFD, 0xFF, 0xF9, 0x3, 0x3, 0xFF, 0xC0, 0x3, 0x4, 0xFF, 0xDF, 0x3, 0x6, 0xFF, 0xF9, 0x3, 0x8, 0xFF, 0xF9, 0x3, 0xF, 0xFF, 0xE2, 0x3, 0x10, 0xFF, 0xF9, 0x3, 0x13, 0xFF, 0xE2, 0x4, 0x62, 0xFF, 0xD6, 0x4, 0x63, 0xFF, 0xD6, 0x4, 0x65, 0xFF, 0xD6, 0x4, 0x66, 0xFF, 0xD6, 0x4, 0x67, 0xFF, 0xD6, 0x5, 0xF0, 0xFF, 0xE2, 0x6, 0x0, 0xFF, 0xE2, 0x6, 0x1F, 0xFF, 0xEE, 0x6, 0x23, 0xFF, 0xC0, 0x6, 0x25, 0xFF, 0xC0, 0x6, 0x28, 0xFF, 0xE2, 0x6, 0x29, 0xFF, 0xC0, 0x6, 0x30, 0xFF, 0xE2, 0x6, 0x96, 0xFF, 0xDB, 0x6, 0xAB, 0xFF, 0xE2, 0x6, 0xAC, 0xFF, 0xE2, 0x6, 0xFB, 0xFF, 0xE2, 0x6, 0xFC, 0xFF, 0xE2, 0x6, 0xFD, 0xFF, 0xE2, 0x7, 0x12, 0xFF, 0xE2, 0x8, 0xE7, 0xFF, 0xC9, 0x8, 0xF8, 0xFF, 0xE2, 0x9, 0x40, 0xFF, 0xE2, 0x9, 0x42, 0xFF, 0xE2, 0x9, 0x44, 0xFF, 0xE2, 0x9, 0x45, 0xFF, 0xE2, 0x9, 0x5C, 0xFF, 0xC0, 0x9, 0x5E, 0xFF, 0xC0, 0x9, 0x60, 0xFF, 0xC0, 0x9, 0x70, 0xFF, 0xC9, 0x9, 0x72, 0xFF, 0xC9, 0x9, 0xDA, 0xFF, 0xC9, 0x9, 0xE9, 0xFF, 0xC9, 0x9, 0xEA, 0xFF, 0xF6, 0x9, 0xEC, 0xFF, 0xC9, 0x9, 0xEF, 0xFF, 0xE2, 0xA, 0x4, 0xFF, 0xF2, 0xA, 0x10, 0xFF, 0xC0, 0xA, 0x11, 0xFF, 0xF6, 0xA, 0x14, 0xFF, 0xE2, 0xA, 0x16, 0xFF, 0xE2, 0xA, 0x1B, 0xFF, 0xE2, 0xA, 0x20, 0xFF, 0xE2, 0xA, 0x28, 0xFF, 0xC9, 0xA, 0x2A, 0xFF, 0xD6, 0xA, 0x2B, 0xFF, 0xD6, 0xA, 0x2E, 0xFF, 0xD6, 0xA, 0x30, 0xFF, 0xE2, 0xA, 0x36, 0xFF, 0xE2, 0xA, 0x39, 0xFF, 0xDB, 0xA, 0x41, 0xFF, 0xC9, 0xA, 0x44, 0xFF, 0xF6, 0xA, 0x52, 0xFF, 0xF6, 0xA, 0x57, 0xFF, 0xE2, 0xA, 0x59, 0xFF, 0xE2, 0xA, 0x63, 0xFF, 0xF2, 0xA, 0x65, 0xFF, 0xF2, 0xA, 0x67, 0xFF, 0xF2, 0xA, 0x69, 0xFF, 0xEE, 0xA, 0x6C, 0xFF, 0xE2, 0xA, 0xC0, 0xFF, 0xC9, 0xA, 0xC2, 0xFF, 0xC9, 0xA, 0xC4, 0xFF, 0xC9, 0xA, 0xC7, 0xFF, 0xC0, 0xA, 0xC9, 0xFF, 0xEE, 0xA, 0xCC, 0xFF, 0xE2, 0xA, 0xD6, 0xFF, 0xC9, 0xA, 0xE7, 0xFF, 0xE2, 0xA, 0xED, 0xFF, 0xE2, 0xB, 0x13, 0xFF, 0xE2, 0xB, 0x84, 0xFF, 0xE2, 0xB, 0x86, 0xFF, 0xE2, 0xB, 0x88, 0xFF, 0xE2, 0xB, 0x8A, 0xFF, 0xE2, 0xB, 0x8C, 0xFF, 0xE2, 0xB, 0x8E, 0xFF, 0xE2, 0xB, 0xAD, 0xFF, 0xC0, 0xB, 0xAF, 0xFF, 0xC0, 0xB, 0xB1, 0xFF, 0xC0, 0xB, 0xB3, 0xFF, 0xC0, 0xB, 0xBF, 0xFF, 0xDB, 0xB, 0xC1, 0xFF, 0xDB, 0xB, 0xC7, 0xFF, 0xF6, 0xB, 0xC9, 0xFF, 0xF6, 0xB, 0xCB, 0xFF, 0xC9, 0xC, 0xA2, 0xFF, 0xC9, 0xC, 0xA3, 0xFF, 0xC9, 0x0, 0x9A, 0x0, 0x7, 0xFF, 0xCD, 0x0, 0xC, 0xFF, 0xCD, 0x0, 0x39, 0xFF, 0xC0, 0x0, 0x3B, 0xFF, 0xDA, 0x0, 0x3D, 0xFF, 0xF7, 0x0, 0x3E, 0xFF, 0xC7, 0x0, 0x52, 0xFF, 0xE0, 0x0, 0x53, 0xFF, 0xE0, 0x0, 0x55, 0xFF, 0xE0, 0x0, 0x5D, 0xFF, 0xF5, 0x0, 0xC2, 0xFF, 0xC0, 0x0, 0xEA, 0xFF, 0xE0, 0x1, 0x3, 0xFF, 0xC7, 0x2, 0x28, 0xFF, 0xE0, 0x2, 0x40, 0xFF, 0xE0, 0x2, 0x68, 0xFF, 0xC0, 0x2, 0x6C, 0xFF, 0xC0, 0x2, 0x70, 0xFF, 0xF7, 0x2, 0x74, 0xFF, 0xF3, 0x2, 0x77, 0xFF, 0xEC, 0x2, 0x7C, 0xFF, 0xD8, 0x2, 0x82, 0xFF, 0xE0, 0x2, 0x84, 0xFF, 0xF5, 0x2, 0x86, 0xFF, 0xE0, 0x2, 0x87, 0xFF, 0xE0, 0x2, 0x89, 0xFF, 0xE0, 0x2, 0x8A, 0xFF, 0xE0, 0x2, 0x8B, 0xFF, 0xE0, 0x2, 0x8C, 0xFF, 0xDA, 0x2, 0x8E, 0xFF, 0xE0, 0x2, 0x90, 0xFF, 0xE0, 0x2, 0x91, 0xFF, 0xE0, 0x2, 0x94, 0xFF, 0xE0, 0x2, 0x96, 0xFF, 0xE0, 0x2, 0x9B, 0xFF, 0xE0, 0x2, 0xAF, 0xFF, 0xDA, 0x2, 0xC2, 0xFF, 0xE0, 0x2, 0xCA, 0xFF, 0xF7, 0x2, 0xCB, 0xFF, 0xF5, 0x2, 0xCD, 0xFF, 0xE0, 0x2, 0xD0, 0xFF, 0xC0, 0x2, 0xD1, 0xFF, 0xD6, 0x2, 0xD3, 0xFF, 0xE0, 0x2, 0xD5, 0xFF, 0xE0, 0x2, 0xDA, 0xFF, 0xF7, 0x2, 0xDB, 0xFF, 0xF5, 0x2, 0xDC, 0xFF, 0xC0, 0x2, 0xDE, 0xFF, 0xEC, 0x2, 0xE0, 0xFF, 0xEC, 0x2, 0xE3, 0xFF, 0xDC, 0x2, 0xEA, 0xFF, 0xE0, 0x2, 0xEC, 0xFF, 0xE0, 0x2, 0xEE, 0xFF, 0xE0, 0x2, 0xF3, 0xFF, 0xE0, 0x2, 0xF4, 0xFF, 0xF7, 0x2, 0xF5, 0xFF, 0xF5, 0x2, 0xF9, 0xFF, 0xDF, 0x2, 0xFB, 0xFF, 0xF0, 0x3, 0x3, 0xFF, 0xC1, 0x3, 0x4, 0xFF, 0xDA, 0x3, 0xF, 0xFF, 0xE0, 0x3, 0x13, 0xFF, 0xE0, 0x4, 0x62, 0xFF, 0xCD, 0x4, 0x63, 0xFF, 0xCD, 0x4, 0x65, 0xFF, 0xCD, 0x4, 0x66, 0xFF, 0xCD, 0x4, 0x67, 0xFF, 0xCD, 0x5, 0xF0, 0xFF, 0xE0, 0x6, 0x0, 0xFF, 0xE0, 0x6, 0x1F, 0xFF, 0xEC, 0x6, 0x23, 0xFF, 0xC0, 0x6, 0x25, 0xFF, 0xC0, 0x6, 0x28, 0xFF, 0xE0, 0x6, 0x29, 0xFF, 0xC0, 0x6, 0x30, 0xFF, 0xE0, 0x6, 0x96, 0xFF, 0xDA, 0x6, 0xAB, 0xFF, 0xE0, 0x6, 0xAC, 0xFF, 0xE0, 0x6, 0xFB, 0xFF, 0xE0, 0x6, 0xFC, 0xFF, 0xE0, 0x6, 0xFD, 0xFF, 0xE0, 0x7, 0x12, 0xFF, 0xE0, 0x8, 0xE7, 0xFF, 0xC7, 0x8, 0xF8, 0xFF, 0xE0, 0x9, 0x40, 0xFF, 0xE0, 0x9, 0x42, 0xFF, 0xE0, 0x9, 0x44, 0xFF, 0xE0, 0x9, 0x45, 0xFF, 0xE0, 0x9, 0x5C, 0xFF, 0xC0, 0x9, 0x5E, 0xFF, 0xC0, 0x9, 0x60, 0xFF, 0xC0, 0x9, 0x70, 0xFF, 0xC7, 0x9, 0x72, 0xFF, 0xC7, 0x9, 0xDA, 0xFF, 0xC7, 0x9, 0xE9, 0xFF, 0xC7, 0x9, 0xEA, 0xFF, 0xF7, 0x9, 0xEC, 0xFF, 0xC7, 0x9, 0xEF, 0xFF, 0xE0, 0xA, 0x4, 0xFF, 0xF3, 0xA, 0x10, 0xFF, 0xC0, 0xA, 0x11, 0xFF, 0xF7, 0xA, 0x14, 0xFF, 0xE0, 0xA, 0x16, 0xFF, 0xE0, 0xA, 0x19, 0xFF, 0xF5, 0xA, 0x1B, 0xFF, 0xE0, 0xA, 0x20, 0xFF, 0xE0, 0xA, 0x28, 0xFF, 0xC7, 0xA, 0x2A, 0xFF, 0xCD, 0xA, 0x2B, 0xFF, 0xCD, 0xA, 0x2E, 0xFF, 0xCD, 0xA, 0x30, 0xFF, 0xE0, 0xA, 0x36, 0xFF, 0xE0, 0xA, 0x39, 0xFF, 0xDA, 0xA, 0x41, 0xFF, 0xC7, 0xA, 0x44, 0xFF, 0xF7, 0xA, 0x45, 0xFF, 0xF5, 0xA, 0x52, 0xFF, 0xF7, 0xA, 0x53, 0xFF, 0xF5, 0xA, 0x57, 0xFF, 0xE0, 0xA, 0x59, 0xFF, 0xE0, 0xA, 0x63, 0xFF, 0xF3, 0xA, 0x65, 0xFF, 0xF3, 0xA, 0x67, 0xFF, 0xF3, 0xA, 0x69, 0xFF, 0xEC, 0xA, 0x6C, 0xFF, 0xE0, 0xA, 0xC0, 0xFF, 0xC7, 0xA, 0xC2, 0xFF, 0xC7, 0xA, 0xC4, 0xFF, 0xC7, 0xA, 0xC7, 0xFF, 0xC0, 0xA, 0xC9, 0xFF, 0xEC, 0xA, 0xCC, 0xFF, 0xE0, 0xA, 0xD6, 0xFF, 0xC7, 0xA, 0xE7, 0xFF, 0xE0, 0xA, 0xED, 0xFF, 0xE0, 0xB, 0x13, 0xFF, 0xE0, 0xB, 0x84, 0xFF, 0xE0, 0xB, 0x86, 0xFF, 0xE0, 0xB, 0x88, 0xFF, 0xE0, 0xB, 0x8A, 0xFF, 0xE0, 0xB, 0x8C, 0xFF, 0xE0, 0xB, 0x8E, 0xFF, 0xE0, 0xB, 0xAD, 0xFF, 0xC0, 0xB, 0xAF, 0xFF, 0xC0, 0xB, 0xB1, 0xFF, 0xC0, 0xB, 0xB3, 0xFF, 0xC0, 0xB, 0xBF, 0xFF, 0xDA, 0xB, 0xC1, 0xFF, 0xDA, 0xB, 0xC7, 0xFF, 0xF7, 0xB, 0xC8, 0xFF, 0xF5, 0xB, 0xC9, 0xFF, 0xF7, 0xB, 0xCA, 0xFF, 0xF5, 0xB, 0xCB, 0xFF, 0xC7, 0xC, 0xA2, 0xFF, 0xC7, 0xC, 0xA3, 0xFF, 0xC7, 0x0, 0x72, 0x0, 0x39, 0xFF, 0x95, 0x0, 0x52, 0xFF, 0xDF, 0x0, 0x53, 0xFF, 0xDF, 0x0, 0x55, 0xFF, 0xDF, 0x0, 0x5B, 0xFF, 0xEA, 0x0, 0x5E, 0xFF, 0xEA, 0x0, 0xC2, 0xFF, 0x95, 0x0, 0xEA, 0xFF, 0xDF, 0x2, 0x28, 0xFF, 0xDF, 0x2, 0x3C, 0xFF, 0xEA, 0x2, 0x40, 0xFF, 0xDF, 0x2, 0x68, 0xFF, 0x95, 0x2, 0x6C, 0xFF, 0x95, 0x2, 0x7C, 0xFF, 0xD6, 0x2, 0x82, 0xFF, 0xDF, 0x2, 0x86, 0xFF, 0xDF, 0x2, 0x87, 0xFF, 0xDF, 0x2, 0x89, 0xFF, 0xDF, 0x2, 0x8A, 0xFF, 0xDF, 0x2, 0x8B, 0xFF, 0xDF, 0x2, 0x8C, 0xFF, 0xD5, 0x2, 0x8E, 0xFF, 0xDF, 0x2, 0x90, 0xFF, 0xDF, 0x2, 0x91, 0xFF, 0xDF, 0x2, 0x94, 0xFF, 0xEC, 0x2, 0x96, 0xFF, 0xDF, 0x2, 0x9B, 0xFF, 0xDF, 0x2, 0x9F, 0xFF, 0xEC, 0x2, 0xB0, 0xFF, 0xEA, 0x2, 0xB6, 0xFF, 0xE9, 0x2, 0xC2, 0xFF, 0xDF, 0x2, 0xCD, 0xFF, 0xDF, 0x2, 0xD0, 0xFF, 0x95, 0x2, 0xD1, 0xFF, 0xCB, 0x2, 0xD3, 0xFF, 0xDF, 0x2, 0xD5, 0xFF, 0xDF, 0x2, 0xDC, 0xFF, 0x95, 0x2, 0xE3, 0xFF, 0xE4, 0x2, 0xEA, 0xFF, 0xDF, 0x2, 0xEC, 0xFF, 0xDF, 0x2, 0xEE, 0xFF, 0xDF, 0x2, 0xF3, 0xFF, 0xDF, 0x2, 0xFA, 0xFF, 0xF1, 0x3, 0x4, 0xFF, 0xCF, 0x3, 0xF, 0xFF, 0xDF, 0x3, 0x13, 0xFF, 0xDF, 0x5, 0x67, 0xFF, 0xEA, 0x5, 0xF0, 0xFF, 0xDF, 0x6, 0x0, 0xFF, 0xDF, 0x6, 0x23, 0xFF, 0x95, 0x6, 0x25, 0xFF, 0x95, 0x6, 0x28, 0xFF, 0xDF, 0x6, 0x29, 0xFF, 0x95, 0x6, 0x30, 0xFF, 0xDF, 0x6, 0xAB, 0xFF, 0xDF, 0x6, 0xAC, 0xFF, 0xDF, 0x6, 0xFB, 0xFF, 0xDF, 0x6, 0xFC, 0xFF, 0xDF, 0x6, 0xFD, 0xFF, 0xDF, 0x7, 0x12, 0xFF, 0xDF, 0x8, 0xF8, 0xFF, 0xDF, 0x9, 0x2, 0xFF, 0xEA, 0x9, 0x3, 0xFF, 0xEA, 0x9, 0x40, 0xFF, 0xDF, 0x9, 0x42, 0xFF, 0xDF, 0x9, 0x44, 0xFF, 0xDF, 0x9, 0x45, 0xFF, 0xDF, 0x9, 0x5C, 0xFF, 0x95, 0x9, 0x5E, 0xFF, 0x95, 0x9, 0x60, 0xFF, 0x95, 0x9, 0x71, 0xFF, 0xEA, 0x9, 0xEF, 0xFF, 0xDF, 0x9, 0xF5, 0xFF, 0xEA, 0xA, 0x10, 0xFF, 0x95, 0xA, 0x14, 0xFF, 0xDF, 0xA, 0x16, 0xFF, 0xDF, 0xA, 0x18, 0xFF, 0xEA, 0xA, 0x1B, 0xFF, 0xDF, 0xA, 0x20, 0xFF, 0xDF, 0xA, 0x21, 0xFF, 0xEA, 0xA, 0x29, 0xFF, 0xEA, 0xA, 0x30, 0xFF, 0xDF, 0xA, 0x36, 0xFF, 0xDF, 0xA, 0x3A, 0xFF, 0xEA, 0xA, 0x42, 0xFF, 0xEA, 0xA, 0x57, 0xFF, 0xDF, 0xA, 0x59, 0xFF, 0xDF, 0xA, 0x64, 0xFF, 0xEA, 0xA, 0x66, 0xFF, 0xEA, 0xA, 0x68, 0xFF, 0xEA, 0xA, 0x6C, 0xFF, 0xDF, 0xA, 0xC1, 0xFF, 0xEA, 0xA, 0xC3, 0xFF, 0xEA, 0xA, 0xC5, 0xFF, 0xEA, 0xA, 0xC7, 0xFF, 0x95, 0xA, 0xCC, 0xFF, 0xDF, 0xA, 0xE7, 0xFF, 0xDF, 0xA, 0xED, 0xFF, 0xDF, 0xB, 0x13, 0xFF, 0xDF, 0xB, 0x3B, 0xFF, 0xEA, 0xB, 0x84, 0xFF, 0xDF, 0xB, 0x86, 0xFF, 0xDF, 0xB, 0x88, 0xFF, 0xDF, 0xB, 0x8A, 0xFF, 0xDF, 0xB, 0x8C, 0xFF, 0xDF, 0xB, 0x8E, 0xFF, 0xDF, 0xB, 0xAD, 0xFF, 0x95, 0xB, 0xAF, 0xFF, 0x95, 0xB, 0xB1, 0xFF, 0x95, 0xB, 0xB3, 0xFF, 0x95, 0xB, 0xC0, 0xFF, 0xEA, 0xB, 0xC2, 0xFF, 0xEA, 0xB, 0xCC, 0xFF, 0xEA, 0xB, 0xD6, 0xFF, 0xEA, 0x0, 0x8F, 0x0, 0x39, 0xFF, 0xE4, 0x0, 0x3B, 0xFF, 0xE1, 0x0, 0x3D, 0xFF, 0xEA, 0x0, 0x3E, 0xFF, 0xE1, 0x0, 0x52, 0xFF, 0xE5, 0x0, 0x53, 0xFF, 0xE5, 0x0, 0x55, 0xFF, 0xE5, 0x0, 0x5D, 0xFF, 0xF0, 0x0, 0xC2, 0xFF, 0xE4, 0x0, 0xEA, 0xFF, 0xE5, 0x1, 0x3, 0xFF, 0xE1, 0x2, 0x28, 0xFF, 0xE5, 0x2, 0x40, 0xFF, 0xE5, 0x2, 0x68, 0xFF, 0xE4, 0x2, 0x6C, 0xFF, 0xE4, 0x2, 0x70, 0xFF, 0xEA, 0x2, 0x74, 0xFF, 0xE6, 0x2, 0x77, 0xFF, 0xE6, 0x2, 0x7C, 0xFF, 0xE4, 0x2, 0x82, 0xFF, 0xE5, 0x2, 0x84, 0xFF, 0xF0, 0x2, 0x86, 0xFF, 0xE5, 0x2, 0x87, 0xFF, 0xE5, 0x2, 0x89, 0xFF, 0xE5, 0x2, 0x8A, 0xFF, 0xE5, 0x2, 0x8B, 0xFF, 0xE5, 0x2, 0x8C, 0xFF, 0xC8, 0x2, 0x8E, 0xFF, 0xE5, 0x2, 0x90, 0xFF, 0xE5, 0x2, 0x91, 0xFF, 0xE5, 0x2, 0x94, 0xFF, 0xE5, 0x2, 0x96, 0xFF, 0xE5, 0x2, 0x9B, 0xFF, 0xE5, 0x2, 0xAF, 0xFF, 0xE1, 0x2, 0xC2, 0xFF, 0xE5, 0x2, 0xCA, 0xFF, 0xEA, 0x2, 0xCB, 0xFF, 0xF0, 0x2, 0xCD, 0xFF, 0xE5, 0x2, 0xD0, 0xFF, 0xE4, 0x2, 0xD1, 0xFF, 0xB8, 0x2, 0xD3, 0xFF, 0xE5, 0x2, 0xD5, 0xFF, 0xE5, 0x2, 0xDA, 0xFF, 0xEA, 0x2, 0xDB, 0xFF, 0xF0, 0x2, 0xDC, 0xFF, 0xE4, 0x2, 0xDE, 0xFF, 0xE6, 0x2, 0xE0, 0xFF, 0xE6, 0x2, 0xEA, 0xFF, 0xE5, 0x2, 0xEC, 0xFF, 0xE5, 0x2, 0xEE, 0xFF, 0xE5, 0x2, 0xF3, 0xFF, 0xE5, 0x2, 0xF4, 0xFF, 0xEA, 0x2, 0xF5, 0xFF, 0xF0, 0x2, 0xF9, 0xFF, 0xE5, 0x2, 0xFB, 0xFF, 0xEC, 0x3, 0x3, 0xFF, 0xE0, 0x3, 0x4, 0xFF, 0xCC, 0x3, 0xF, 0xFF, 0xE5, 0x3, 0x13, 0xFF, 0xE5, 0x5, 0xF0, 0xFF, 0xE5, 0x6, 0x0, 0xFF, 0xE5, 0x6, 0x1F, 0xFF, 0xE6, 0x6, 0x23, 0xFF, 0xE4, 0x6, 0x25, 0xFF, 0xE4, 0x6, 0x28, 0xFF, 0xE5, 0x6, 0x29, 0xFF, 0xE4, 0x6, 0x30, 0xFF, 0xE5, 0x6, 0x96, 0xFF, 0xE1, 0x6, 0xAB, 0xFF, 0xE5, 0x6, 0xAC, 0xFF, 0xE5, 0x6, 0xFB, 0xFF, 0xE5, 0x6, 0xFC, 0xFF, 0xE5, 0x6, 0xFD, 0xFF, 0xE5, 0x7, 0x12, 0xFF, 0xE5, 0x8, 0xE7, 0xFF, 0xE1, 0x8, 0xF8, 0xFF, 0xE5, 0x9, 0x40, 0xFF, 0xE5, 0x9, 0x42, 0xFF, 0xE5, 0x9, 0x44, 0xFF, 0xE5, 0x9, 0x45, 0xFF, 0xE5, 0x9, 0x5C, 0xFF, 0xE4, 0x9, 0x5E, 0xFF, 0xE4, 0x9, 0x60, 0xFF, 0xE4, 0x9, 0x70, 0xFF, 0xE1, 0x9, 0x72, 0xFF, 0xE1, 0x9, 0xDA, 0xFF, 0xE1, 0x9, 0xE9, 0xFF, 0xE1, 0x9, 0xEA, 0xFF, 0xEA, 0x9, 0xEC, 0xFF, 0xE1, 0x9, 0xEF, 0xFF, 0xE5, 0xA, 0x4, 0xFF, 0xE6, 0xA, 0x10, 0xFF, 0xE4, 0xA, 0x11, 0xFF, 0xEA, 0xA, 0x14, 0xFF, 0xE5, 0xA, 0x16, 0xFF, 0xE5, 0xA, 0x19, 0xFF, 0xF0, 0xA, 0x1B, 0xFF, 0xE5, 0xA, 0x20, 0xFF, 0xE5, 0xA, 0x28, 0xFF, 0xE1, 0xA, 0x30, 0xFF, 0xE5, 0xA, 0x36, 0xFF, 0xE5, 0xA, 0x39, 0xFF, 0xE1, 0xA, 0x41, 0xFF, 0xE1, 0xA, 0x44, 0xFF, 0xEA, 0xA, 0x45, 0xFF, 0xF0, 0xA, 0x52, 0xFF, 0xEA, 0xA, 0x53, 0xFF, 0xF0, 0xA, 0x57, 0xFF, 0xE5, 0xA, 0x59, 0xFF, 0xE5, 0xA, 0x63, 0xFF, 0xE6, 0xA, 0x65, 0xFF, 0xE6, 0xA, 0x67, 0xFF, 0xE6, 0xA, 0x69, 0xFF, 0xE6, 0xA, 0x6C, 0xFF, 0xE5, 0xA, 0xC0, 0xFF, 0xE1, 0xA, 0xC2, 0xFF, 0xE1, 0xA, 0xC4, 0xFF, 0xE1, 0xA, 0xC7, 0xFF, 0xE4, 0xA, 0xC9, 0xFF, 0xE6, 0xA, 0xCC, 0xFF, 0xE5, 0xA, 0xD6, 0xFF, 0xE1, 0xA, 0xE7, 0xFF, 0xE5, 0xA, 0xED, 0xFF, 0xE5, 0xB, 0x13, 0xFF, 0xE5, 0xB, 0x84, 0xFF, 0xE5, 0xB, 0x86, 0xFF, 0xE5, 0xB, 0x88, 0xFF, 0xE5, 0xB, 0x8A, 0xFF, 0xE5, 0xB, 0x8C, 0xFF, 0xE5, 0xB, 0x8E, 0xFF, 0xE5, 0xB, 0xAD, 0xFF, 0xE4, 0xB, 0xAF, 0xFF, 0xE4, 0xB, 0xB1, 0xFF, 0xE4, 0xB, 0xB3, 0xFF, 0xE4, 0xB, 0xBF, 0xFF, 0xE1, 0xB, 0xC1, 0xFF, 0xE1, 0xB, 0xC7, 0xFF, 0xEA, 0xB, 0xC8, 0xFF, 0xF0, 0xB, 0xC9, 0xFF, 0xEA, 0xB, 0xCA, 0xFF, 0xF0, 0xB, 0xCB, 0xFF, 0xE1, 0xC, 0xA2, 0xFF, 0xE1, 0xC, 0xA3, 0xFF, 0xE1, 0x0, 0xDC, 0x0, 0x26, 0x0, 0x18, 0x0, 0x28, 0xFF, 0xE6, 0x0, 0x2C, 0xFF, 0xE6, 0x0, 0x34, 0xFF, 0xE6, 0x0, 0x36, 0xFF, 0xE6, 0x0, 0x39, 0xFF, 0xDD, 0x0, 0x3B, 0xFF, 0xDD, 0x0, 0x3E, 0xFF, 0xDC, 0x0, 0x84, 0xFF, 0xE6, 0x0, 0x94, 0xFF, 0xE6, 0x0, 0x9E, 0xFF, 0xE6, 0x0, 0xAA, 0xFF, 0xE6, 0x0, 0xB4, 0xFF, 0xE6, 0x0, 0xB6, 0xFF, 0xE6, 0x0, 0xC2, 0xFF, 0xDD, 0x0, 0xFA, 0x0, 0x18, 0x0, 0xFF, 0xFF, 0xE6, 0x1, 0x3, 0xFF, 0xDC, 0x2, 0x31, 0x0, 0x18, 0x2, 0x32, 0xFF, 0xE6, 0x2, 0x33, 0x0, 0x18, 0x2, 0x55, 0xFF, 0xE6, 0x2, 0x57, 0xFF, 0xE6, 0x2, 0x66, 0xFF, 0xE6, 0x2, 0x68, 0xFF, 0xDD, 0x2, 0x69, 0xFF, 0xE6, 0x2, 0x6A, 0x0, 0x11, 0x2, 0x6C, 0xFF, 0xDD, 0x2, 0x6F, 0x0, 0x20, 0x2, 0x73, 0x0, 0x11, 0x2, 0x77, 0xFF, 0xD8, 0x2, 0x7C, 0xFF, 0xE8, 0x2, 0x83, 0x0, 0x1F, 0x2, 0x88, 0x0, 0x23, 0x2, 0x8F, 0xFF, 0xDD, 0x2, 0x9A, 0x0, 0x23, 0x2, 0x9E, 0xFF, 0xE6, 0x2, 0xA3, 0x0, 0x18, 0x2, 0xAD, 0xFF, 0xE6, 0x2, 0xAF, 0xFF, 0xDD, 0x2, 0xB1, 0xFF, 0xE6, 0x2, 0xB3, 0xFF, 0xE6, 0x2, 0xB5, 0xFF, 0xE6, 0x2, 0xB7, 0xFF, 0xE6, 0x2, 0xD0, 0xFF, 0xDD, 0x2, 0xD8, 0xFF, 0xE6, 0x2, 0xDC, 0xFF, 0xDD, 0x2, 0xDE, 0xFF, 0xD8, 0x2, 0xDF, 0xFF, 0xDD, 0x2, 0xE0, 0xFF, 0xDB, 0x2, 0xE1, 0xFF, 0xD6, 0x2, 0xE4, 0xFF, 0xED, 0x2, 0xE7, 0x0, 0x11, 0x2, 0xE8, 0x0, 0x23, 0x2, 0xEF, 0xFF, 0xEE, 0x2, 0xF9, 0xFF, 0xDC, 0x2, 0xFB, 0xFF, 0xDB, 0x2, 0xFD, 0x0, 0x11, 0x3, 0x1, 0xFF, 0xE6, 0x3, 0x3, 0xFF, 0xDC, 0x3, 0x5, 0xFF, 0xFB, 0x3, 0x6, 0x0, 0x11, 0x3, 0x7, 0x0, 0x23, 0x3, 0x8, 0x0, 0x11, 0x3, 0x9, 0x0, 0x23, 0x3, 0x10, 0x0, 0x11, 0x3, 0x11, 0x0, 0x23, 0x5, 0x63, 0xFF, 0xE6, 0x5, 0xE5, 0xFF, 0xE6, 0x5, 0xED, 0xFF, 0xE6, 0x5, 0xF1, 0x0, 0x18, 0x6, 0x1, 0xFF, 0xE6, 0x6, 0x3, 0xFF, 0xE6, 0x6, 0x5, 0xFF, 0xE6, 0x6, 0x1F, 0xFF, 0xD8, 0x6, 0x20, 0xFF, 0xDD, 0x6, 0x23, 0xFF, 0xDD, 0x6, 0x25, 0xFF, 0xDD, 0x6, 0x29, 0xFF, 0xDD, 0x6, 0x31, 0xFF, 0xE6, 0x6, 0x33, 0xFF, 0xE6, 0x6, 0x6A, 0x0, 0x18, 0x6, 0x6C, 0x0, 0x18, 0x6, 0x70, 0x0, 0x18, 0x6, 0x72, 0x0, 0x18, 0x6, 0x74, 0x0, 0x18, 0x6, 0x84, 0xFF, 0xE6, 0x6, 0x86, 0xFF, 0xE6, 0x6, 0x8E, 0xFF, 0xE6, 0x6, 0x90, 0xFF, 0xE6, 0x6, 0x96, 0xFF, 0xDD, 0x6, 0xE3, 0xFF, 0xE6, 0x7, 0xCF, 0xFF, 0xE6, 0x7, 0xD0, 0xFF, 0xE6, 0x7, 0xD2, 0xFF, 0xE6, 0x7, 0xD3, 0xFF, 0xE6, 0x8, 0xCD, 0x0, 0x18, 0x8, 0xCE, 0x0, 0x18, 0x8, 0xCF, 0x0, 0x18, 0x8, 0xD0, 0x0, 0x18, 0x8, 0xD1, 0x0, 0x18, 0x8, 0xD2, 0x0, 0x18, 0x8, 0xD3, 0x0, 0x18, 0x8, 0xD4, 0xFF, 0xE6, 0x8, 0xDE, 0xFF, 0xE6, 0x8, 0xDF, 0xFF, 0xE6, 0x8, 0xE0, 0xFF, 0xE6, 0x8, 0xE1, 0xFF, 0xE6, 0x8, 0xE2, 0xFF, 0xE6, 0x8, 0xE7, 0xFF, 0xDC, 0x9, 0x4, 0x0, 0x18, 0x9, 0x6, 0x0, 0x18, 0x9, 0x8, 0x0, 0x18, 0x9, 0xA, 0xFF, 0xE6, 0x9, 0xC, 0xFF, 0xE6, 0x9, 0xE, 0xFF, 0xE6, 0x9, 0x10, 0xFF, 0xE6, 0x9, 0x1E, 0xFF, 0xE6, 0x9, 0x20, 0xFF, 0xE6, 0x9, 0x22, 0xFF, 0xE6, 0x9, 0x24, 0xFF, 0xE6, 0x9, 0x46, 0xFF, 0xE6, 0x9, 0x48, 0xFF, 0xE6, 0x9, 0x4A, 0xFF, 0xE6, 0x9, 0x5C, 0xFF, 0xDD, 0x9, 0x5E, 0xFF, 0xDD, 0x9, 0x60, 0xFF, 0xDD, 0x9, 0x70, 0xFF, 0xDC, 0x9, 0x72, 0xFF, 0xDC, 0x9, 0x7B, 0xFF, 0xE6, 0x9, 0xD5, 0x0, 0x18, 0x9, 0xD9, 0xFF, 0xE6, 0x9, 0xDA, 0xFF, 0xDC, 0x9, 0xDD, 0x0, 0x18, 0x9, 0xE6, 0xFF, 0xE6, 0x9, 0xE9, 0xFF, 0xDC, 0x9, 0xEC, 0xFF, 0xDC, 0xA, 0x5, 0x0, 0x18, 0xA, 0xC, 0xFF, 0xE6, 0xA, 0xF, 0xFF, 0xE6, 0xA, 0x10, 0xFF, 0xDD, 0xA, 0x28, 0xFF, 0xDC, 0xA, 0x31, 0x0, 0x18, 0xA, 0x39, 0xFF, 0xDD, 0xA, 0x3C, 0xFF, 0xE6, 0xA, 0x3F, 0xFF, 0xE6, 0xA, 0x41, 0xFF, 0xDC, 0xA, 0x47, 0x0, 0x18, 0xA, 0x49, 0x0, 0x18, 0xA, 0x5A, 0xFF, 0xE6, 0xA, 0x5C, 0xFF, 0xE6, 0xA, 0x5E, 0xFF, 0xE6, 0xA, 0x5F, 0xFF, 0xE6, 0xA, 0x69, 0xFF, 0xD8, 0xA, 0x6A, 0xFF, 0xDD, 0xA, 0x6E, 0x0, 0x18, 0xA, 0x70, 0x0, 0x18, 0xA, 0x72, 0x0, 0x18, 0xA, 0x74, 0x0, 0x18, 0xA, 0x76, 0x0, 0x18, 0xA, 0x78, 0x0, 0x18, 0xA, 0x7A, 0x0, 0x18, 0xA, 0x7C, 0x0, 0x18, 0xA, 0x7E, 0x0, 0x18, 0xA, 0x80, 0x0, 0x18, 0xA, 0x82, 0x0, 0x18, 0xA, 0x84, 0x0, 0x18, 0xA, 0x9A, 0xFF, 0xE6, 0xA, 0x9C, 0xFF, 0xE6, 0xA, 0x9E, 0xFF, 0xE6, 0xA, 0xA0, 0xFF, 0xE6, 0xA, 0xA2, 0xFF, 0xE6, 0xA, 0xA4, 0xFF, 0xE6, 0xA, 0xA6, 0xFF, 0xE6, 0xA, 0xA8, 0xFF, 0xE6, 0xA, 0xAA, 0xFF, 0xE6, 0xA, 0xAC, 0xFF, 0xE6, 0xA, 0xAE, 0xFF, 0xE6, 0xA, 0xB0, 0xFF, 0xE6, 0xA, 0xC0, 0xFF, 0xDC, 0xA, 0xC2, 0xFF, 0xDC, 0xA, 0xC4, 0xFF, 0xDC, 0xA, 0xC7, 0xFF, 0xDD, 0xA, 0xC9, 0xFF, 0xD8, 0xA, 0xCA, 0xFF, 0xDD, 0xA, 0xD6, 0xFF, 0xDC, 0xA, 0xEE, 0x0, 0x18, 0xA, 0xF2, 0xFF, 0xE6, 0xA, 0xFF, 0x0, 0x18, 0xB, 0x1, 0x0, 0x18, 0xB, 0x9, 0xFF, 0xE6, 0xB, 0xB, 0xFF, 0xE6, 0xB, 0x14, 0x0, 0x18, 0xB, 0x16, 0x0, 0x18, 0xB, 0x20, 0xFF, 0xE6, 0xB, 0x22, 0xFF, 0xE6, 0xB, 0x2E, 0x0, 0x18, 0xB, 0x32, 0xFF, 0xE6, 0xB, 0x34, 0xFF, 0xE6, 0xB, 0x36, 0xFF, 0xE6, 0xB, 0x38, 0xFF, 0xE6, 0xB, 0x49, 0xFF, 0xE6, 0xB, 0x53, 0xFF, 0xE6, 0xB, 0x6B, 0xFF, 0xE6, 0xB, 0x8F, 0xFF, 0xE6, 0xB, 0x91, 0xFF, 0xE6, 0xB, 0x93, 0xFF, 0xE6, 0xB, 0x95, 0xFF, 0xE6, 0xB, 0xAD, 0xFF, 0xDD, 0xB, 0xAF, 0xFF, 0xDD, 0xB, 0xB1, 0xFF, 0xDD, 0xB, 0xB3, 0xFF, 0xDD, 0xB, 0xBF, 0xFF, 0xDD, 0xB, 0xC1, 0xFF, 0xDD, 0xB, 0xCB, 0xFF, 0xDC, 0xC, 0x81, 0x0, 0x18, 0xC, 0x82, 0x0, 0x18, 0xC, 0x85, 0x0, 0x18, 0xC, 0xA2, 0xFF, 0xDC, 0xC, 0xA3, 0xFF, 0xDC, 0x0, 0x45, 0x0, 0x1C, 0xFF, 0xF1, 0x0, 0x39, 0xFF, 0xF0, 0x0, 0x3B, 0xFF, 0xF3, 0x0, 0x3D, 0xFF, 0xF3, 0x0, 0x3E, 0xFF, 0xE8, 0x0, 0xC2, 0xFF, 0xF0, 0x1, 0x3, 0xFF, 0xE8, 0x2, 0x68, 0xFF, 0xF0, 0x2, 0x6A, 0xFF, 0xF4, 0x2, 0x6C, 0xFF, 0xF0, 0x2, 0x70, 0xFF, 0xF3, 0x2, 0x73, 0xFF, 0xF4, 0x2, 0x74, 0xFF, 0xF2, 0x2, 0x7C, 0xFF, 0xF0, 0x2, 0xAF, 0xFF, 0xF3, 0x2, 0xCA, 0xFF, 0xF3, 0x2, 0xD0, 0xFF, 0xF0, 0x2, 0xDA, 0xFF, 0xF3, 0x2, 0xDC, 0xFF, 0xF0, 0x2, 0xE7, 0xFF, 0xF4, 0x2, 0xF4, 0xFF, 0xF3, 0x2, 0xF9, 0xFF, 0xF1, 0x2, 0xFB, 0xFF, 0xF1, 0x2, 0xFD, 0xFF, 0xF4, 0x3, 0x3, 0xFF, 0xF4, 0x3, 0x6, 0xFF, 0xF4, 0x3, 0x8, 0xFF, 0xF4, 0x3, 0x10, 0xFF, 0xF4, 0x6, 0x23, 0xFF, 0xF0, 0x6, 0x25, 0xFF, 0xF0, 0x6, 0x29, 0xFF, 0xF0, 0x6, 0x96, 0xFF, 0xF3, 0x8, 0xE7, 0xFF, 0xE8, 0x9, 0x5C, 0xFF, 0xF0, 0x9, 0x5E, 0xFF, 0xF0, 0x9, 0x60, 0xFF, 0xF0, 0x9, 0x70, 0xFF, 0xE8, 0x9, 0x72, 0xFF, 0xE8, 0x9, 0xDA, 0xFF, 0xE8, 0x9, 0xE9, 0xFF, 0xE8, 0x9, 0xEA, 0xFF, 0xF3, 0x9, 0xEC, 0xFF, 0xE8, 0xA, 0x4, 0xFF, 0xF2, 0xA, 0x10, 0xFF, 0xF0, 0xA, 0x11, 0xFF, 0xF3, 0xA, 0x28, 0xFF, 0xE8, 0xA, 0x39, 0xFF, 0xF3, 0xA, 0x41, 0xFF, 0xE8, 0xA, 0x44, 0xFF, 0xF3, 0xA, 0x52, 0xFF, 0xF3, 0xA, 0x63, 0xFF, 0xF2, 0xA, 0x65, 0xFF, 0xF2, 0xA, 0x67, 0xFF, 0xF2, 0xA, 0xC0, 0xFF, 0xE8, 0xA, 0xC2, 0xFF, 0xE8, 0xA, 0xC4, 0xFF, 0xE8, 0xA, 0xC7, 0xFF, 0xF0, 0xA, 0xD6, 0xFF, 0xE8, 0xB, 0xAD, 0xFF, 0xF0, 0xB, 0xAF, 0xFF, 0xF0, 0xB, 0xB1, 0xFF, 0xF0, 0xB, 0xB3, 0xFF, 0xF0, 0xB, 0xBF, 0xFF, 0xF3, 0xB, 0xC1, 0xFF, 0xF3, 0xB, 0xC7, 0xFF, 0xF3, 0xB, 0xC9, 0xFF, 0xF3, 0xB, 0xCB, 0xFF, 0xE8, 0xC, 0xA2, 0xFF, 0xE8, 0xC, 0xA3, 0xFF, 0xE8, 0x0, 0xCC, 0x0, 0x26, 0x0, 0xD, 0x0, 0x39, 0xFF, 0xBD, 0x0, 0x3B, 0xFF, 0xD2, 0x0, 0x3D, 0x0, 0xF, 0x0, 0x3E, 0xFF, 0xDD, 0x0, 0x52, 0xFF, 0xF5, 0x0, 0x53, 0xFF, 0xF5, 0x0, 0x55, 0xFF, 0xF5, 0x0, 0xC2, 0xFF, 0xBD, 0x0, 0xEA, 0xFF, 0xF5, 0x0, 0xFA, 0x0, 0xD, 0x1, 0x3, 0xFF, 0xDD, 0x2, 0x28, 0xFF, 0xF5, 0x2, 0x31, 0x0, 0xD, 0x2, 0x33, 0x0, 0xD, 0x2, 0x40, 0xFF, 0xF5, 0x2, 0x68, 0xFF, 0xBD, 0x2, 0x6A, 0x0, 0xF, 0x2, 0x6C, 0xFF, 0xBD, 0x2, 0x6F, 0x0, 0x14, 0x2, 0x70, 0x0, 0xF, 0x2, 0x73, 0x0, 0xF, 0x2, 0x74, 0xFF, 0xF0, 0x2, 0x77, 0xFF, 0xC7, 0x2, 0x7C, 0xFF, 0xE4, 0x2, 0x7D, 0xFF, 0xF3, 0x2, 0x82, 0xFF, 0xF5, 0x2, 0x83, 0x0, 0x13, 0x2, 0x86, 0xFF, 0xF5, 0x2, 0x87, 0xFF, 0xF5, 0x2, 0x88, 0x0, 0x14, 0x2, 0x89, 0xFF, 0xF5, 0x2, 0x8A, 0xFF, 0xF5, 0x2, 0x8B, 0xFF, 0xF5, 0x2, 0x8C, 0xFF, 0xDE, 0x2, 0x8E, 0xFF, 0xF5, 0x2, 0x8F, 0xFF, 0xDB, 0x2, 0x90, 0xFF, 0xF5, 0x2, 0x91, 0xFF, 0xF5, 0x2, 0x94, 0xFF, 0xF0, 0x2, 0x96, 0xFF, 0xF5, 0x2, 0x9A, 0x0, 0x14, 0x2, 0x9B, 0xFF, 0xF5, 0x2, 0xA3, 0x0, 0xD, 0x2, 0xAF, 0xFF, 0xD2, 0x2, 0xC2, 0xFF, 0xF5, 0x2, 0xCA, 0x0, 0xF, 0x2, 0xCD, 0xFF, 0xF5, 0x2, 0xD0, 0xFF, 0xBD, 0x2, 0xD1, 0xFF, 0xD0, 0x2, 0xD3, 0xFF, 0xF5, 0x2, 0xD5, 0xFF, 0xF5, 0x2, 0xDA, 0x0, 0xF, 0x2, 0xDC, 0xFF, 0xBD, 0x2, 0xDE, 0xFF, 0xC7, 0x2, 0xDF, 0xFF, 0xDB, 0x2, 0xE0, 0xFF, 0xCE, 0x2, 0xE1, 0xFF, 0xDF, 0x2, 0xE3, 0xFF, 0xEE, 0x2, 0xE7, 0x0, 0xF, 0x2, 0xE8, 0x0, 0x14, 0x2, 0xEA, 0xFF, 0xF5, 0x2, 0xEC, 0xFF, 0xF5, 0x2, 0xEE, 0xFF, 0xF5, 0x2, 0xF3, 0xFF, 0xF5, 0x2, 0xF4, 0x0, 0xF, 0x2, 0xF9, 0xFF, 0xCB, 0x2, 0xFB, 0xFF, 0xCB, 0x2, 0xFD, 0x0, 0xF, 0x3, 0x3, 0xFF, 0xD6, 0x3, 0x4, 0xFF, 0xD7, 0x3, 0x6, 0x0, 0xF, 0x3, 0x7, 0x0, 0x14, 0x3, 0x8, 0x0, 0xF, 0x3, 0x9, 0x0, 0x14, 0x3, 0xF, 0xFF, 0xF5, 0x3, 0x10, 0x0, 0xF, 0x3, 0x11, 0x0, 0x14, 0x3, 0x13, 0xFF, 0xF5, 0x5, 0xF0, 0xFF, 0xF5, 0x5, 0xF1, 0x0, 0xD, 0x6, 0x0, 0xFF, 0xF5, 0x6, 0x1F, 0xFF, 0xC7, 0x6, 0x20, 0xFF, 0xDB, 0x6, 0x23, 0xFF, 0xBD, 0x6, 0x25, 0xFF, 0xBD, 0x6, 0x28, 0xFF, 0xF5, 0x6, 0x29, 0xFF, 0xBD, 0x6, 0x30, 0xFF, 0xF5, 0x6, 0x6A, 0x0, 0xD, 0x6, 0x6C, 0x0, 0xD, 0x6, 0x70, 0x0, 0xD, 0x6, 0x72, 0x0, 0xD, 0x6, 0x74, 0x0, 0xD, 0x6, 0x96, 0xFF, 0xD2, 0x6, 0xAB, 0xFF, 0xF5, 0x6, 0xAC, 0xFF, 0xF5, 0x6, 0xFB, 0xFF, 0xF5, 0x6, 0xFC, 0xFF, 0xF5, 0x6, 0xFD, 0xFF, 0xF5, 0x7, 0x12, 0xFF, 0xF5, 0x8, 0xCD, 0x0, 0xD, 0x8, 0xCE, 0x0, 0xD, 0x8, 0xCF, 0x0, 0xD, 0x8, 0xD0, 0x0, 0xD, 0x8, 0xD1, 0x0, 0xD, 0x8, 0xD2, 0x0, 0xD, 0x8, 0xD3, 0x0, 0xD, 0x8, 0xE7, 0xFF, 0xDD, 0x8, 0xF8, 0xFF, 0xF5, 0x9, 0x4, 0x0, 0xD, 0x9, 0x6, 0x0, 0xD, 0x9, 0x8, 0x0, 0xD, 0x9, 0x40, 0xFF, 0xF5, 0x9, 0x42, 0xFF, 0xF5, 0x9, 0x44, 0xFF, 0xF5, 0x9, 0x45, 0xFF, 0xF5, 0x9, 0x5C, 0xFF, 0xBD, 0x9, 0x5E, 0xFF, 0xBD, 0x9, 0x60, 0xFF, 0xBD, 0x9, 0x70, 0xFF, 0xDD, 0x9, 0x72, 0xFF, 0xDD, 0x9, 0xD5, 0x0, 0xD, 0x9, 0xDA, 0xFF, 0xDD, 0x9, 0xDD, 0x0, 0xD, 0x9, 0xE9, 0xFF, 0xDD, 0x9, 0xEA, 0x0, 0xF, 0x9, 0xEC, 0xFF, 0xDD, 0x9, 0xEF, 0xFF, 0xF5, 0xA, 0x4, 0xFF, 0xF0, 0xA, 0x5, 0x0, 0xD, 0xA, 0x10, 0xFF, 0xBD, 0xA, 0x11, 0x0, 0xF, 0xA, 0x14, 0xFF, 0xF5, 0xA, 0x16, 0xFF, 0xF5, 0xA, 0x1B, 0xFF, 0xF5, 0xA, 0x20, 0xFF, 0xF5, 0xA, 0x28, 0xFF, 0xDD, 0xA, 0x30, 0xFF, 0xF5, 0xA, 0x31, 0x0, 0xD, 0xA, 0x36, 0xFF, 0xF5, 0xA, 0x39, 0xFF, 0xD2, 0xA, 0x41, 0xFF, 0xDD, 0xA, 0x44, 0x0, 0xF, 0xA, 0x47, 0x0, 0xD, 0xA, 0x49, 0x0, 0xD, 0xA, 0x52, 0x0, 0xF, 0xA, 0x57, 0xFF, 0xF5, 0xA, 0x59, 0xFF, 0xF5, 0xA, 0x63, 0xFF, 0xF0, 0xA, 0x65, 0xFF, 0xF0, 0xA, 0x67, 0xFF, 0xF0, 0xA, 0x69, 0xFF, 0xC7, 0xA, 0x6A, 0xFF, 0xDB, 0xA, 0x6C, 0xFF, 0xF5, 0xA, 0x6E, 0x0, 0xD, 0xA, 0x70, 0x0, 0xD, 0xA, 0x72, 0x0, 0xD, 0xA, 0x74, 0x0, 0xD, 0xA, 0x76, 0x0, 0xD, 0xA, 0x78, 0x0, 0xD, 0xA, 0x7A, 0x0, 0xD, 0xA, 0x7C, 0x0, 0xD, 0xA, 0x7E, 0x0, 0xD, 0xA, 0x80, 0x0, 0xD, 0xA, 0x82, 0x0, 0xD, 0xA, 0x84, 0x0, 0xD, 0xA, 0xC0, 0xFF, 0xDD, 0xA, 0xC2, 0xFF, 0xDD, 0xA, 0xC4, 0xFF, 0xDD, 0xA, 0xC7, 0xFF, 0xBD, 0xA, 0xC9, 0xFF, 0xC7, 0xA, 0xCA, 0xFF, 0xDB, 0xA, 0xCC, 0xFF, 0xF5, 0xA, 0xD6, 0xFF, 0xDD, 0xA, 0xE7, 0xFF, 0xF5, 0xA, 0xED, 0xFF, 0xF5, 0xA, 0xEE, 0x0, 0xD, 0xA, 0xFF, 0x0, 0xD, 0xB, 0x1, 0x0, 0xD, 0xB, 0x13, 0xFF, 0xF5, 0xB, 0x14, 0x0, 0xD, 0xB, 0x16, 0x0, 0xD, 0xB, 0x2E, 0x0, 0xD, 0xB, 0x84, 0xFF, 0xF5, 0xB, 0x86, 0xFF, 0xF5, 0xB, 0x88, 0xFF, 0xF5, 0xB, 0x8A, 0xFF, 0xF5, 0xB, 0x8C, 0xFF, 0xF5, 0xB, 0x8E, 0xFF, 0xF5, 0xB, 0xAD, 0xFF, 0xBD, 0xB, 0xAF, 0xFF, 0xBD, 0xB, 0xB1, 0xFF, 0xBD, 0xB, 0xB3, 0xFF, 0xBD, 0xB, 0xBF, 0xFF, 0xD2, 0xB, 0xC1, 0xFF, 0xD2, 0xB, 0xC7, 0x0, 0xF, 0xB, 0xC9, 0x0, 0xF, 0xB, 0xCB, 0xFF, 0xDD, 0xC, 0x81, 0x0, 0xD, 0xC, 0x82, 0x0, 0xD, 0xC, 0x85, 0x0, 0xD, 0xC, 0xA2, 0xFF, 0xDD, 0xC, 0xA3, 0xFF, 0xDD, 0x0, 0x47, 0x0, 0x7, 0xFF, 0xD6, 0x0, 0xC, 0xFF, 0xD6, 0x0, 0x39, 0xFF, 0xC1, 0x0, 0x3B, 0xFF, 0xDC, 0x0, 0x3E, 0xFF, 0xCA, 0x0, 0xC2, 0xFF, 0xC1, 0x1, 0x3, 0xFF, 0xCA, 0x2, 0x68, 0xFF, 0xC1, 0x2, 0x6C, 0xFF, 0xC1, 0x2, 0x74, 0xFF, 0xF3, 0x2, 0x77, 0xFF, 0xEF, 0x2, 0x7C, 0xFF, 0xD9, 0x2, 0x8C, 0xFF, 0xDF, 0x2, 0x94, 0xFF, 0xE4, 0x2, 0xAF, 0xFF, 0xDC, 0x2, 0xD0, 0xFF, 0xC1, 0x2, 0xD1, 0xFF, 0xDE, 0x2, 0xDC, 0xFF, 0xC1, 0x2, 0xDE, 0xFF, 0xEF, 0x2, 0xE0, 0xFF, 0xEF, 0x2, 0xE3, 0xFF, 0xDC, 0x2, 0xF9, 0xFF, 0xE1, 0x2, 0xFB, 0xFF, 0xF3, 0x3, 0x3, 0xFF, 0xC2, 0x3, 0x4, 0xFF, 0xE0, 0x4, 0x62, 0xFF, 0xD6, 0x4, 0x63, 0xFF, 0xD6, 0x4, 0x65, 0xFF, 0xD6, 0x4, 0x66, 0xFF, 0xD6, 0x4, 0x67, 0xFF, 0xD6, 0x6, 0x1F, 0xFF, 0xEF, 0x6, 0x23, 0xFF, 0xC1, 0x6, 0x25, 0xFF, 0xC1, 0x6, 0x29, 0xFF, 0xC1, 0x6, 0x96, 0xFF, 0xDC, 0x8, 0xE7, 0xFF, 0xCA, 0x9, 0x5C, 0xFF, 0xC1, 0x9, 0x5E, 0xFF, 0xC1, 0x9, 0x60, 0xFF, 0xC1, 0x9, 0x70, 0xFF, 0xCA, 0x9, 0x72, 0xFF, 0xCA, 0x9, 0xDA, 0xFF, 0xCA, 0x9, 0xE9, 0xFF, 0xCA, 0x9, 0xEC, 0xFF, 0xCA, 0xA, 0x4, 0xFF, 0xF3, 0xA, 0x10, 0xFF, 0xC1, 0xA, 0x28, 0xFF, 0xCA, 0xA, 0x2A, 0xFF, 0xD6, 0xA, 0x2B, 0xFF, 0xD6, 0xA, 0x2E, 0xFF, 0xD6, 0xA, 0x39, 0xFF, 0xDC, 0xA, 0x41, 0xFF, 0xCA, 0xA, 0x63, 0xFF, 0xF3, 0xA, 0x65, 0xFF, 0xF3, 0xA, 0x67, 0xFF, 0xF3, 0xA, 0x69, 0xFF, 0xEF, 0xA, 0xC0, 0xFF, 0xCA, 0xA, 0xC2, 0xFF, 0xCA, 0xA, 0xC4, 0xFF, 0xCA, 0xA, 0xC7, 0xFF, 0xC1, 0xA, 0xC9, 0xFF, 0xEF, 0xA, 0xD6, 0xFF, 0xCA, 0xB, 0xAD, 0xFF, 0xC1, 0xB, 0xAF, 0xFF, 0xC1, 0xB, 0xB1, 0xFF, 0xC1, 0xB, 0xB3, 0xFF, 0xC1, 0xB, 0xBF, 0xFF, 0xDC, 0xB, 0xC1, 0xFF, 0xDC, 0xB, 0xCB, 0xFF, 0xCA, 0xC, 0xA2, 0xFF, 0xCA, 0xC, 0xA3, 0xFF, 0xCA, 0x0, 0x42, 0x0, 0x39, 0xFF, 0xE1, 0x0, 0x3D, 0xFF, 0xD8, 0x0, 0x3E, 0xFF, 0xD7, 0x0, 0xC2, 0xFF, 0xE1, 0x1, 0x3, 0xFF, 0xD7, 0x2, 0x68, 0xFF, 0xE1, 0x2, 0x6A, 0xFF, 0xE3, 0x2, 0x6C, 0xFF, 0xE1, 0x2, 0x6F, 0xFF, 0xE0, 0x2, 0x70, 0xFF, 0xD8, 0x2, 0x73, 0xFF, 0xE3, 0x2, 0x74, 0xFF, 0xDD, 0x2, 0x88, 0xFF, 0xEC, 0x2, 0x9A, 0xFF, 0xEC, 0x2, 0xCA, 0xFF, 0xD8, 0x2, 0xD0, 0xFF, 0xE1, 0x2, 0xDA, 0xFF, 0xD8, 0x2, 0xDC, 0xFF, 0xE1, 0x2, 0xE7, 0xFF, 0xE3, 0x2, 0xE8, 0xFF, 0xEC, 0x2, 0xF4, 0xFF, 0xD8, 0x2, 0xFD, 0xFF, 0xE3, 0x3, 0x3, 0xFF, 0xDE, 0x3, 0x6, 0xFF, 0xE3, 0x3, 0x7, 0xFF, 0xEC, 0x3, 0x8, 0xFF, 0xE3, 0x3, 0x9, 0xFF, 0xEC, 0x3, 0x10, 0xFF, 0xE3, 0x3, 0x11, 0xFF, 0xEC, 0x6, 0x23, 0xFF, 0xE1, 0x6, 0x25, 0xFF, 0xE1, 0x6, 0x29, 0xFF, 0xE1, 0x8, 0xE7, 0xFF, 0xD7, 0x9, 0x5C, 0xFF, 0xE1, 0x9, 0x5E, 0xFF, 0xE1, 0x9, 0x60, 0xFF, 0xE1, 0x9, 0x70, 0xFF, 0xD7, 0x9, 0x72, 0xFF, 0xD7, 0x9, 0xDA, 0xFF, 0xD7, 0x9, 0xE9, 0xFF, 0xD7, 0x9, 0xEA, 0xFF, 0xD8, 0x9, 0xEC, 0xFF, 0xD7, 0xA, 0x4, 0xFF, 0xDD, 0xA, 0x10, 0xFF, 0xE1, 0xA, 0x11, 0xFF, 0xD8, 0xA, 0x28, 0xFF, 0xD7, 0xA, 0x41, 0xFF, 0xD7, 0xA, 0x44, 0xFF, 0xD8, 0xA, 0x52, 0xFF, 0xD8, 0xA, 0x63, 0xFF, 0xDD, 0xA, 0x65, 0xFF, 0xDD, 0xA, 0x67, 0xFF, 0xDD, 0xA, 0xC0, 0xFF, 0xD7, 0xA, 0xC2, 0xFF, 0xD7, 0xA, 0xC4, 0xFF, 0xD7, 0xA, 0xC7, 0xFF, 0xE1, 0xA, 0xD6, 0xFF, 0xD7, 0xB, 0xAD, 0xFF, 0xE1, 0xB, 0xAF, 0xFF, 0xE1, 0xB, 0xB1, 0xFF, 0xE1, 0xB, 0xB3, 0xFF, 0xE1, 0xB, 0xC7, 0xFF, 0xD8, 0xB, 0xC9, 0xFF, 0xD8, 0xB, 0xCB, 0xFF, 0xD7, 0xC, 0xA2, 0xFF, 0xD7, 0xC, 0xA3, 0xFF, 0xD7, 0x0, 0x31, 0x0, 0x39, 0xFF, 0xE0, 0x0, 0x3D, 0xFF, 0xE2, 0x0, 0xC2, 0xFF, 0xE0, 0x2, 0x68, 0xFF, 0xE0, 0x2, 0x6A, 0xFF, 0xD7, 0x2, 0x6C, 0xFF, 0xE0, 0x2, 0x6F, 0xFF, 0xD8, 0x2, 0x70, 0xFF, 0xE2, 0x2, 0x73, 0xFF, 0xD7, 0x2, 0x74, 0xFF, 0xD2, 0x2, 0x83, 0xFF, 0xDB, 0x2, 0x88, 0xFF, 0xE9, 0x2, 0x9A, 0xFF, 0xE9, 0x2, 0xCA, 0xFF, 0xE2, 0x2, 0xD0, 0xFF, 0xE0, 0x2, 0xDA, 0xFF, 0xE2, 0x2, 0xDC, 0xFF, 0xE0, 0x2, 0xE7, 0xFF, 0xD7, 0x2, 0xE8, 0xFF, 0xE9, 0x2, 0xF4, 0xFF, 0xE2, 0x2, 0xFD, 0xFF, 0xD7, 0x3, 0x6, 0xFF, 0xD7, 0x3, 0x7, 0xFF, 0xE9, 0x3, 0x8, 0xFF, 0xD7, 0x3, 0x9, 0xFF, 0xE9, 0x3, 0x10, 0xFF, 0xD7, 0x3, 0x11, 0xFF, 0xE9, 0x6, 0x23, 0xFF, 0xE0, 0x6, 0x25, 0xFF, 0xE0, 0x6, 0x29, 0xFF, 0xE0, 0x9, 0x5C, 0xFF, 0xE0, 0x9, 0x5E, 0xFF, 0xE0, 0x9, 0x60, 0xFF, 0xE0, 0x9, 0xEA, 0xFF, 0xE2, 0xA, 0x4, 0xFF, 0xD2, 0xA, 0x10, 0xFF, 0xE0, 0xA, 0x11, 0xFF, 0xE2, 0xA, 0x44, 0xFF, 0xE2, 0xA, 0x52, 0xFF, 0xE2, 0xA, 0x63, 0xFF, 0xD2, 0xA, 0x65, 0xFF, 0xD2, 0xA, 0x67, 0xFF, 0xD2, 0xA, 0xC7, 0xFF, 0xE0, 0xB, 0xAD, 0xFF, 0xE0, 0xB, 0xAF, 0xFF, 0xE0, 0xB, 0xB1, 0xFF, 0xE0, 0xB, 0xB3, 0xFF, 0xE0, 0xB, 0xC7, 0xFF, 0xE2, 0xB, 0xC9, 0xFF, 0xE2, 0x0, 0x23, 0x0, 0x39, 0xFF, 0xE9, 0x0, 0x3E, 0xFF, 0xF2, 0x0, 0xC2, 0xFF, 0xE9, 0x1, 0x3, 0xFF, 0xF2, 0x2, 0x68, 0xFF, 0xE9, 0x2, 0x6C, 0xFF, 0xE9, 0x2, 0xD0, 0xFF, 0xE9, 0x2, 0xDC, 0xFF, 0xE9, 0x6, 0x23, 0xFF, 0xE9, 0x6, 0x25, 0xFF, 0xE9, 0x6, 0x29, 0xFF, 0xE9, 0x8, 0xE7, 0xFF, 0xF2, 0x9, 0x5C, 0xFF, 0xE9, 0x9, 0x5E, 0xFF, 0xE9, 0x9, 0x60, 0xFF, 0xE9, 0x9, 0x70, 0xFF, 0xF2, 0x9, 0x72, 0xFF, 0xF2, 0x9, 0xDA, 0xFF, 0xF2, 0x9, 0xE9, 0xFF, 0xF2, 0x9, 0xEC, 0xFF, 0xF2, 0xA, 0x10, 0xFF, 0xE9, 0xA, 0x28, 0xFF, 0xF2, 0xA, 0x41, 0xFF, 0xF2, 0xA, 0xC0, 0xFF, 0xF2, 0xA, 0xC2, 0xFF, 0xF2, 0xA, 0xC4, 0xFF, 0xF2, 0xA, 0xC7, 0xFF, 0xE9, 0xA, 0xD6, 0xFF, 0xF2, 0xB, 0xAD, 0xFF, 0xE9, 0xB, 0xAF, 0xFF, 0xE9, 0xB, 0xB1, 0xFF, 0xE9, 0xB, 0xB3, 0xFF, 0xE9, 0xB, 0xCB, 0xFF, 0xF2, 0xC, 0xA2, 0xFF, 0xF2, 0xC, 0xA3, 0xFF, 0xF2, 0x0, 0x4F, 0x0, 0x52, 0xFF, 0xEE, 0x0, 0x53, 0xFF, 0xEE, 0x0, 0x55, 0xFF, 0xEE, 0x0, 0x5D, 0xFF, 0xE4, 0x0, 0xEA, 0xFF, 0xEE, 0x2, 0x28, 0xFF, 0xEE, 0x2, 0x40, 0xFF, 0xEE, 0x2, 0x82, 0xFF, 0xEE, 0x2, 0x83, 0xFF, 0xED, 0x2, 0x84, 0xFF, 0xE4, 0x2, 0x86, 0xFF, 0xEE, 0x2, 0x87, 0xFF, 0xEE, 0x2, 0x89, 0xFF, 0xEE, 0x2, 0x8A, 0xFF, 0xEE, 0x2, 0x8B, 0xFF, 0xEE, 0x2, 0x8C, 0xFF, 0xE9, 0x2, 0x8E, 0xFF, 0xEE, 0x2, 0x90, 0xFF, 0xEE, 0x2, 0x91, 0xFF, 0xEE, 0x2, 0x94, 0xFF, 0xF5, 0x2, 0x96, 0xFF, 0xEE, 0x2, 0x9B, 0xFF, 0xEE, 0x2, 0x9F, 0xFF, 0xF3, 0x2, 0xB6, 0xFF, 0xF0, 0x2, 0xC2, 0xFF, 0xEE, 0x2, 0xCB, 0xFF, 0xE4, 0x2, 0xCD, 0xFF, 0xEE, 0x2, 0xD1, 0xFF, 0xDC, 0x2, 0xD3, 0xFF, 0xEE, 0x2, 0xD5, 0xFF, 0xEE, 0x2, 0xDB, 0xFF, 0xE4, 0x2, 0xEA, 0xFF, 0xEE, 0x2, 0xEC, 0xFF, 0xEE, 0x2, 0xEE, 0xFF, 0xEE, 0x2, 0xF3, 0xFF, 0xEE, 0x2, 0xF5, 0xFF, 0xE4, 0x3, 0x4, 0xFF, 0xE7, 0x3, 0xF, 0xFF, 0xEE, 0x3, 0x13, 0xFF, 0xEE, 0x5, 0xF0, 0xFF, 0xEE, 0x6, 0x0, 0xFF, 0xEE, 0x6, 0x28, 0xFF, 0xEE, 0x6, 0x30, 0xFF, 0xEE, 0x6, 0xAB, 0xFF, 0xEE, 0x6, 0xAC, 0xFF, 0xEE, 0x6, 0xFB, 0xFF, 0xEE, 0x6, 0xFC, 0xFF, 0xEE, 0x6, 0xFD, 0xFF, 0xEE, 0x7, 0x12, 0xFF, 0xEE, 0x8, 0xF8, 0xFF, 0xEE, 0x9, 0x40, 0xFF, 0xEE, 0x9, 0x42, 0xFF, 0xEE, 0x9, 0x44, 0xFF, 0xEE, 0x9, 0x45, 0xFF, 0xEE, 0x9, 0xEF, 0xFF, 0xEE, 0xA, 0x14, 0xFF, 0xEE, 0xA, 0x16, 0xFF, 0xEE, 0xA, 0x19, 0xFF, 0xE4, 0xA, 0x1B, 0xFF, 0xEE, 0xA, 0x20, 0xFF, 0xEE, 0xA, 0x30, 0xFF, 0xEE, 0xA, 0x36, 0xFF, 0xEE, 0xA, 0x45, 0xFF, 0xE4, 0xA, 0x53, 0xFF, 0xE4, 0xA, 0x57, 0xFF, 0xEE, 0xA, 0x59, 0xFF, 0xEE, 0xA, 0x6C, 0xFF, 0xEE, 0xA, 0xCC, 0xFF, 0xEE, 0xA, 0xE7, 0xFF, 0xEE, 0xA, 0xED, 0xFF, 0xEE, 0xB, 0x13, 0xFF, 0xEE, 0xB, 0x84, 0xFF, 0xEE, 0xB, 0x86, 0xFF, 0xEE, 0xB, 0x88, 0xFF, 0xEE, 0xB, 0x8A, 0xFF, 0xEE, 0xB, 0x8C, 0xFF, 0xEE, 0xB, 0x8E, 0xFF, 0xEE, 0xB, 0xC8, 0xFF, 0xE4, 0xB, 0xCA, 0xFF, 0xE4, 0x0, 0x66, 0x0, 0x7, 0xFF, 0xF1, 0x0, 0xC, 0xFF, 0xF1, 0x0, 0x52, 0xFF, 0xFB, 0x0, 0x53, 0xFF, 0xFB, 0x0, 0x55, 0xFF, 0xFB, 0x0, 0x5B, 0xFF, 0xED, 0x0, 0x5E, 0xFF, 0xED, 0x0, 0xEA, 0xFF, 0xFB, 0x2, 0x28, 0xFF, 0xFB, 0x2, 0x3C, 0xFF, 0xED, 0x2, 0x40, 0xFF, 0xFB, 0x2, 0x82, 0xFF, 0xFB, 0x2, 0x86, 0xFF, 0xFB, 0x2, 0x87, 0xFF, 0xFB, 0x2, 0x89, 0xFF, 0xFB, 0x2, 0x8A, 0xFF, 0xFB, 0x2, 0x8B, 0xFF, 0xFB, 0x2, 0x8C, 0xFF, 0xEC, 0x2, 0x8E, 0xFF, 0xFB, 0x2, 0x90, 0xFF, 0xFB, 0x2, 0x91, 0xFF, 0xFB, 0x2, 0x94, 0xFF, 0xF8, 0x2, 0x96, 0xFF, 0xFB, 0x2, 0x9B, 0xFF, 0xFB, 0x2, 0x9F, 0xFF, 0xF4, 0x2, 0xB0, 0xFF, 0xED, 0x2, 0xC2, 0xFF, 0xFB, 0x2, 0xCD, 0xFF, 0xFB, 0x2, 0xD1, 0xFF, 0xE3, 0x2, 0xD3, 0xFF, 0xFB, 0x2, 0xD5, 0xFF, 0xFB, 0x2, 0xEA, 0xFF, 0xFB, 0x2, 0xEC, 0xFF, 0xFB, 0x2, 0xEE, 0xFF, 0xFB, 0x2, 0xF3, 0xFF, 0xFB, 0x3, 0x4, 0xFF, 0xEA, 0x3, 0xF, 0xFF, 0xFB, 0x3, 0x13, 0xFF, 0xFB, 0x4, 0x62, 0xFF, 0xF1, 0x4, 0x63, 0xFF, 0xF1, 0x4, 0x65, 0xFF, 0xF1, 0x4, 0x66, 0xFF, 0xF1, 0x4, 0x67, 0xFF, 0xF1, 0x5, 0x67, 0xFF, 0xED, 0x5, 0xF0, 0xFF, 0xFB, 0x6, 0x0, 0xFF, 0xFB, 0x6, 0x28, 0xFF, 0xFB, 0x6, 0x30, 0xFF, 0xFB, 0x6, 0xAB, 0xFF, 0xFB, 0x6, 0xAC, 0xFF, 0xFB, 0x6, 0xFB, 0xFF, 0xFB, 0x6, 0xFC, 0xFF, 0xFB, 0x6, 0xFD, 0xFF, 0xFB, 0x7, 0x12, 0xFF, 0xFB, 0x8, 0xF8, 0xFF, 0xFB, 0x9, 0x2, 0xFF, 0xED, 0x9, 0x3, 0xFF, 0xED, 0x9, 0x40, 0xFF, 0xFB, 0x9, 0x42, 0xFF, 0xFB, 0x9, 0x44, 0xFF, 0xFB, 0x9, 0x45, 0xFF, 0xFB, 0x9, 0x71, 0xFF, 0xED, 0x9, 0xEF, 0xFF, 0xFB, 0x9, 0xF5, 0xFF, 0xED, 0xA, 0x14, 0xFF, 0xFB, 0xA, 0x16, 0xFF, 0xFB, 0xA, 0x18, 0xFF, 0xED, 0xA, 0x1B, 0xFF, 0xFB, 0xA, 0x20, 0xFF, 0xFB, 0xA, 0x21, 0xFF, 0xED, 0xA, 0x29, 0xFF, 0xED, 0xA, 0x2A, 0xFF, 0xF1, 0xA, 0x2B, 0xFF, 0xF1, 0xA, 0x2E, 0xFF, 0xF1, 0xA, 0x30, 0xFF, 0xFB, 0xA, 0x36, 0xFF, 0xFB, 0xA, 0x3A, 0xFF, 0xED, 0xA, 0x42, 0xFF, 0xED, 0xA, 0x57, 0xFF, 0xFB, 0xA, 0x59, 0xFF, 0xFB, 0xA, 0x64, 0xFF, 0xED, 0xA, 0x66, 0xFF, 0xED, 0xA, 0x68, 0xFF, 0xED, 0xA, 0x6C, 0xFF, 0xFB, 0xA, 0xC1, 0xFF, 0xED, 0xA, 0xC3, 0xFF, 0xED, 0xA, 0xC5, 0xFF, 0xED, 0xA, 0xCC, 0xFF, 0xFB, 0xA, 0xE7, 0xFF, 0xFB, 0xA, 0xED, 0xFF, 0xFB, 0xB, 0x13, 0xFF, 0xFB, 0xB, 0x3B, 0xFF, 0xED, 0xB, 0x84, 0xFF, 0xFB, 0xB, 0x86, 0xFF, 0xFB, 0xB, 0x88, 0xFF, 0xFB, 0xB, 0x8A, 0xFF, 0xFB, 0xB, 0x8C, 0xFF, 0xFB, 0xB, 0x8E, 0xFF, 0xFB, 0xB, 0xC0, 0xFF, 0xED, 0xB, 0xC2, 0xFF, 0xED, 0xB, 0xCC, 0xFF, 0xED, 0xB, 0xD6, 0xFF, 0xED, 0x0, 0x4A, 0x0, 0x52, 0xFF, 0xF4, 0x0, 0x53, 0xFF, 0xF4, 0x0, 0x55, 0xFF, 0xF4, 0x0, 0xEA, 0xFF, 0xF4, 0x2, 0x28, 0xFF, 0xF4, 0x2, 0x40, 0xFF, 0xF4, 0x2, 0x82, 0xFF, 0xF4, 0x2, 0x83, 0x0, 0x1D, 0x2, 0x86, 0xFF, 0xF4, 0x2, 0x87, 0xFF, 0xF4, 0x2, 0x89, 0xFF, 0xF4, 0x2, 0x8A, 0xFF, 0xF4, 0x2, 0x8B, 0xFF, 0xF4, 0x2, 0x8C, 0xFF, 0xE8, 0x2, 0x8E, 0xFF, 0xF4, 0x2, 0x8F, 0xFF, 0xE8, 0x2, 0x90, 0xFF, 0xF4, 0x2, 0x91, 0xFF, 0xF4, 0x2, 0x92, 0xFF, 0xD0, 0x2, 0x94, 0xFF, 0xF4, 0x2, 0x96, 0xFF, 0xF4, 0x2, 0x9B, 0xFF, 0xF4, 0x2, 0xC2, 0xFF, 0xF4, 0x2, 0xCD, 0xFF, 0xF4, 0x2, 0xD1, 0xFF, 0xEC, 0x2, 0xD3, 0xFF, 0xF4, 0x2, 0xD5, 0xFF, 0xF4, 0x2, 0xDF, 0xFF, 0xE8, 0x2, 0xE1, 0xFF, 0xEC, 0x2, 0xEA, 0xFF, 0xF4, 0x2, 0xEC, 0xFF, 0xF4, 0x2, 0xEE, 0xFF, 0xF4, 0x2, 0xF3, 0xFF, 0xF4, 0x3, 0x4, 0xFF, 0xEC, 0x3, 0xF, 0xFF, 0xF4, 0x3, 0x13, 0xFF, 0xF4, 0x5, 0xF0, 0xFF, 0xF4, 0x6, 0x0, 0xFF, 0xF4, 0x6, 0x20, 0xFF, 0xE8, 0x6, 0x28, 0xFF, 0xF4, 0x6, 0x30, 0xFF, 0xF4, 0x6, 0xAB, 0xFF, 0xF4, 0x6, 0xAC, 0xFF, 0xF4, 0x6, 0xFB, 0xFF, 0xF4, 0x6, 0xFC, 0xFF, 0xF4, 0x6, 0xFD, 0xFF, 0xF4, 0x7, 0x12, 0xFF, 0xF4, 0x8, 0xF8, 0xFF, 0xF4, 0x9, 0x40, 0xFF, 0xF4, 0x9, 0x42, 0xFF, 0xF4, 0x9, 0x44, 0xFF, 0xF4, 0x9, 0x45, 0xFF, 0xF4, 0x9, 0xEF, 0xFF, 0xF4, 0xA, 0x14, 0xFF, 0xF4, 0xA, 0x16, 0xFF, 0xF4, 0xA, 0x1B, 0xFF, 0xF4, 0xA, 0x20, 0xFF, 0xF4, 0xA, 0x30, 0xFF, 0xF4, 0xA, 0x36, 0xFF, 0xF4, 0xA, 0x57, 0xFF, 0xF4, 0xA, 0x59, 0xFF, 0xF4, 0xA, 0x6A, 0xFF, 0xE8, 0xA, 0x6C, 0xFF, 0xF4, 0xA, 0xCA, 0xFF, 0xE8, 0xA, 0xCC, 0xFF, 0xF4, 0xA, 0xE7, 0xFF, 0xF4, 0xA, 0xED, 0xFF, 0xF4, 0xB, 0x13, 0xFF, 0xF4, 0xB, 0x84, 0xFF, 0xF4, 0xB, 0x86, 0xFF, 0xF4, 0xB, 0x88, 0xFF, 0xF4, 0xB, 0x8A, 0xFF, 0xF4, 0xB, 0x8C, 0xFF, 0xF4, 0xB, 0x8E, 0xFF, 0xF4, 0x0, 0xA, 0x0, 0x7, 0xFF, 0xF1, 0x0, 0xC, 0xFF, 0xF1, 0x4, 0x62, 0xFF, 0xF1, 0x4, 0x63, 0xFF, 0xF1, 0x4, 0x65, 0xFF, 0xF1, 0x4, 0x66, 0xFF, 0xF1, 0x4, 0x67, 0xFF, 0xF1, 0xA, 0x2A, 0xFF, 0xF1, 0xA, 0x2B, 0xFF, 0xF1, 0xA, 0x2E, 0xFF, 0xF1, 0x0, 0xCA, 0x0, 0x48, 0xFF, 0xEF, 0x0, 0x49, 0xFF, 0xEF, 0x0, 0x4A, 0xFF, 0xEF, 0x0, 0x4C, 0xFF, 0xEF, 0x0, 0x54, 0xFF, 0xD2, 0x0, 0x56, 0xFF, 0xEF, 0x0, 0x95, 0xFF, 0xEF, 0x0, 0x9F, 0xFF, 0xEF, 0x0, 0xB5, 0xFF, 0xEF, 0x0, 0xDA, 0xFF, 0xEF, 0x0, 0xDC, 0xFF, 0xEF, 0x0, 0xE4, 0xFF, 0xEF, 0x1, 0x0, 0xFF, 0xEF, 0x2, 0x2A, 0xFF, 0xEF, 0x2, 0x3A, 0xFF, 0xEF, 0x2, 0x47, 0xFF, 0xEF, 0x2, 0x48, 0xFF, 0xEF, 0x2, 0x56, 0xFF, 0xD2, 0x2, 0x58, 0xFF, 0xEF, 0x2, 0x61, 0xFF, 0xEF, 0x2, 0x8D, 0xFF, 0xEF, 0x2, 0x99, 0xFF, 0xEF, 0x2, 0xAE, 0xFF, 0xD2, 0x2, 0xB2, 0xFF, 0xE9, 0x2, 0xB4, 0xFF, 0xEF, 0x2, 0xB8, 0xFF, 0xEF, 0x2, 0xD9, 0xFF, 0xEF, 0x2, 0xF7, 0xFF, 0xEF, 0x2, 0xF8, 0xFF, 0xEF, 0x3, 0x2, 0xFF, 0xEF, 0x5, 0x6E, 0xFF, 0xEF, 0x5, 0x70, 0xFF, 0xD2, 0x5, 0xEE, 0xFF, 0xD2, 0x6, 0x2, 0xFF, 0xD2, 0x6, 0x4, 0xFF, 0xD2, 0x6, 0x6, 0xFF, 0xD2, 0x6, 0x32, 0xFF, 0xD2, 0x6, 0x85, 0xFF, 0xD2, 0x6, 0x87, 0xFF, 0xD2, 0x6, 0x8F, 0xFF, 0xEF, 0x6, 0x91, 0xFF, 0xEF, 0x6, 0xA9, 0xFF, 0xEF, 0x6, 0xCB, 0xFF, 0xEF, 0x6, 0xF7, 0xFF, 0xEF, 0x7, 0x57, 0xFF, 0xE9, 0x7, 0x59, 0xFF, 0xE9, 0x7, 0x61, 0xFF, 0xE7, 0x7, 0x68, 0xFF, 0xE9, 0x7, 0x71, 0xFF, 0xE9, 0x7, 0x8D, 0xFF, 0xE9, 0x7, 0x96, 0xFF, 0xE9, 0x7, 0xAF, 0xFF, 0xE9, 0x8, 0xEF, 0xFF, 0xEF, 0x8, 0xF0, 0xFF, 0xEF, 0x8, 0xF1, 0xFF, 0xEF, 0x8, 0xF2, 0xFF, 0xEF, 0x8, 0xF3, 0xFF, 0xEF, 0x8, 0xF9, 0xFF, 0xD2, 0x8, 0xFA, 0xFF, 0xD2, 0x8, 0xFB, 0xFF, 0xD2, 0x8, 0xFC, 0xFF, 0xD2, 0x8, 0xFD, 0xFF, 0xD2, 0x9, 0xB, 0xFF, 0xEF, 0x9, 0xD, 0xFF, 0xEF, 0x9, 0xF, 0xFF, 0xEF, 0x9, 0x11, 0xFF, 0xEF, 0x9, 0x13, 0xFF, 0xEF, 0x9, 0x15, 0xFF, 0xEF, 0x9, 0x17, 0xFF, 0xEF, 0x9, 0x19, 0xFF, 0xEF, 0x9, 0x1B, 0xFF, 0xEF, 0x9, 0x1D, 0xFF, 0xEF, 0x9, 0x1F, 0xFF, 0xEF, 0x9, 0x21, 0xFF, 0xEF, 0x9, 0x23, 0xFF, 0xEF, 0x9, 0x25, 0xFF, 0xEF, 0x9, 0x47, 0xFF, 0xD2, 0x9, 0x49, 0xFF, 0xD2, 0x9, 0x4B, 0xFF, 0xD2, 0x9, 0x87, 0xFF, 0xE9, 0x9, 0x91, 0xFF, 0xE9, 0x9, 0x92, 0xFF, 0xE9, 0x9, 0x93, 0xFF, 0xE9, 0x9, 0x94, 0xFF, 0xE9, 0x9, 0x95, 0xFF, 0xE9, 0x9, 0x9E, 0xFF, 0xE9, 0x9, 0x9F, 0xFF, 0xE9, 0x9, 0xA0, 0xFF, 0xE9, 0x9, 0xA1, 0xFF, 0xE9, 0x9, 0xA8, 0xFF, 0xE9, 0x9, 0xA9, 0xFF, 0xE9, 0x9, 0xAA, 0xFF, 0xE9, 0x9, 0xAB, 0xFF, 0xE9, 0x9, 0xBB, 0xFF, 0xE9, 0x9, 0xBC, 0xFF, 0xE9, 0x9, 0xBD, 0xFF, 0xE9, 0x9, 0xBE, 0xFF, 0xE9, 0x9, 0xED, 0xFF, 0xEF, 0x9, 0xF3, 0xFF, 0xD2, 0x9, 0xF9, 0xFF, 0xD2, 0xA, 0x13, 0xFF, 0xEF, 0xA, 0x15, 0xFF, 0xD2, 0xA, 0x17, 0xFF, 0xEF, 0xA, 0x1A, 0xFF, 0xEF, 0xA, 0x35, 0xFF, 0xEF, 0xA, 0x3B, 0xFF, 0xEF, 0xA, 0x40, 0xFF, 0xEF, 0xA, 0x4E, 0xFF, 0xEF, 0xA, 0x50, 0xFF, 0xEF, 0xA, 0x51, 0xFF, 0xEF, 0xA, 0x5B, 0xFF, 0xD2, 0xA, 0x5D, 0xFF, 0xEF, 0xA, 0x60, 0xFF, 0xD2, 0xA, 0x6D, 0xFF, 0xEF, 0xA, 0x87, 0xFF, 0xEF, 0xA, 0x89, 0xFF, 0xEF, 0xA, 0x8B, 0xFF, 0xEF, 0xA, 0x8D, 0xFF, 0xEF, 0xA, 0x8F, 0xFF, 0xEF, 0xA, 0x91, 0xFF, 0xEF, 0xA, 0x93, 0xFF, 0xEF, 0xA, 0x95, 0xFF, 0xEF, 0xA, 0x9B, 0xFF, 0xD2, 0xA, 0x9D, 0xFF, 0xD2, 0xA, 0x9F, 0xFF, 0xD2, 0xA, 0xA1, 0xFF, 0xD2, 0xA, 0xA3, 0xFF, 0xD2, 0xA, 0xA5, 0xFF, 0xD2, 0xA, 0xA7, 0xFF, 0xD2, 0xA, 0xA9, 0xFF, 0xEF, 0xA, 0xAB, 0xFF, 0xEF, 0xA, 0xAD, 0xFF, 0xEF, 0xA, 0xAF, 0xFF, 0xD2, 0xA, 0xB1, 0xFF, 0xEF, 0xA, 0xF3, 0xFF, 0xD2, 0xA, 0xFE, 0xFF, 0xEF, 0xB, 0x6, 0xFF, 0xEF, 0xB, 0xA, 0xFF, 0xD2, 0xB, 0xC, 0xFF, 0xD2, 0xB, 0xF, 0xFF, 0xEF, 0xB, 0x19, 0xFF, 0xEF, 0xB, 0x1B, 0xFF, 0xEF, 0xB, 0x21, 0xFF, 0xD2, 0xB, 0x23, 0xFF, 0xD2, 0xB, 0x33, 0xFF, 0xD2, 0xB, 0x35, 0xFF, 0xD2, 0xB, 0x37, 0xFF, 0xD2, 0xB, 0x39, 0xFF, 0xD2, 0xB, 0x3C, 0xFF, 0xD2, 0xB, 0x42, 0xFF, 0xEF, 0xB, 0x4A, 0xFF, 0xEF, 0xB, 0x54, 0xFF, 0xEF, 0xB, 0x56, 0xFF, 0xEF, 0xB, 0x58, 0xFF, 0xEF, 0xB, 0x5A, 0xFF, 0xEF, 0xB, 0x5C, 0xFF, 0xEF, 0xB, 0x5E, 0xFF, 0xEF, 0xB, 0x60, 0xFF, 0xEF, 0xB, 0x62, 0xFF, 0xEF, 0xB, 0x64, 0xFF, 0xEF, 0xB, 0x66, 0xFF, 0xEF, 0xB, 0x68, 0xFF, 0xEF, 0xB, 0x6C, 0xFF, 0xEF, 0xB, 0x90, 0xFF, 0xD2, 0xB, 0x92, 0xFF, 0xD2, 0xB, 0x94, 0xFF, 0xD2, 0xB, 0x96, 0xFF, 0xD2, 0xB, 0xD8, 0xFF, 0xEF, 0xB, 0xD9, 0xFF, 0xEF, 0xB, 0xDA, 0xFF, 0xEF, 0xB, 0xDB, 0xFF, 0xEF, 0xB, 0xDC, 0xFF, 0xEF, 0xB, 0xDD, 0xFF, 0xEF, 0xB, 0xDE, 0xFF, 0xEF, 0xB, 0xDF, 0xFF, 0xEF, 0xC, 0x14, 0xFF, 0xD2, 0xC, 0x15, 0xFF, 0xD2, 0xC, 0x16, 0xFF, 0xD2, 0xC, 0x17, 0xFF, 0xD2, 0xC, 0x18, 0xFF, 0xD2, 0xC, 0x19, 0xFF, 0xD2, 0xC, 0x44, 0xFF, 0xD2, 0xC, 0x45, 0xFF, 0xD2, 0xC, 0x4A, 0xFF, 0xEF, 0xC, 0x4B, 0xFF, 0xEF, 0xC, 0x4C, 0xFF, 0xEF, 0xC, 0x4D, 0xFF, 0xEF, 0xC, 0x4E, 0xFF, 0xEF, 0xC, 0x4F, 0xFF, 0xEF, 0xC, 0x50, 0xFF, 0xEF, 0xC, 0x51, 0xFF, 0xEF, 0xC, 0x7A, 0xFF, 0xEF, 0xC, 0x7B, 0xFF, 0xEF, 0xC, 0x7C, 0xFF, 0xEF, 0xC, 0x7D, 0xFF, 0xEF, 0xC, 0x7E, 0xFF, 0xEF, 0xC, 0x7F, 0xFF, 0xEF, 0xC, 0x80, 0xFF, 0xEF, 0xC, 0xBB, 0xFF, 0xE9, 0xC, 0xDD, 0xFF, 0xE9, 0xC, 0xE0, 0xFF, 0xE9, 0xC, 0xE5, 0xFF, 0xE9, 0x1, 0x4B, 0x0, 0x7, 0x0, 0xE, 0x0, 0xC, 0x0, 0xE, 0x0, 0x46, 0xFF, 0xEF, 0x0, 0x48, 0xFF, 0xC8, 0x0, 0x49, 0xFF, 0xC8, 0x0, 0x4A, 0xFF, 0xC8, 0x0, 0x4B, 0x0, 0xE, 0x0, 0x4C, 0xFF, 0xC8, 0x0, 0x54, 0xFF, 0xE3, 0x0, 0x56, 0xFF, 0xC8, 0x0, 0x5B, 0x0, 0xC, 0x0, 0x5E, 0x0, 0xC, 0x0, 0x95, 0xFF, 0xC8, 0x0, 0x9F, 0xFF, 0xC8, 0x0, 0xB5, 0xFF, 0xC8, 0x0, 0xDA, 0xFF, 0xC8, 0x0, 0xDC, 0xFF, 0xC8, 0x0, 0xE4, 0xFF, 0xC8, 0x1, 0x0, 0xFF, 0xC8, 0x2, 0x2A, 0xFF, 0xC8, 0x2, 0x3A, 0xFF, 0xC8, 0x2, 0x3C, 0x0, 0xC, 0x2, 0x3D, 0xFF, 0xEA, 0x2, 0x46, 0xFF, 0xDA, 0x2, 0x47, 0xFF, 0xCB, 0x2, 0x48, 0xFF, 0xC8, 0x2, 0x4B, 0xFF, 0xE1, 0x2, 0x56, 0xFF, 0xE3, 0x2, 0x58, 0xFF, 0xC8, 0x2, 0x61, 0xFF, 0xC8, 0x2, 0x83, 0xFF, 0xC3, 0x2, 0x88, 0xFF, 0xD3, 0x2, 0x8D, 0xFF, 0xC8, 0x2, 0x99, 0xFF, 0xC8, 0x2, 0x9A, 0xFF, 0xD3, 0x2, 0xAE, 0xFF, 0xE3, 0x2, 0xB0, 0x0, 0xC, 0x2, 0xB2, 0xFF, 0xEA, 0x2, 0xB4, 0xFF, 0xC8, 0x2, 0xB6, 0x0, 0xD, 0x2, 0xB8, 0xFF, 0xC8, 0x2, 0xD9, 0xFF, 0xC8, 0x2, 0xE8, 0xFF, 0xD3, 0x2, 0xF7, 0xFF, 0xC8, 0x2, 0xF8, 0xFF, 0xC8, 0x2, 0xFA, 0x0, 0xC, 0x2, 0xFC, 0x0, 0xC, 0x3, 0x2, 0xFF, 0xC8, 0x3, 0x7, 0xFF, 0xD3, 0x3, 0x9, 0xFF, 0xD3, 0x3, 0x11, 0xFF, 0xD3, 0x4, 0x62, 0x0, 0xE, 0x4, 0x63, 0x0, 0xE, 0x4, 0x65, 0x0, 0xE, 0x4, 0x66, 0x0, 0xE, 0x4, 0x67, 0x0, 0xE, 0x5, 0x5B, 0xFF, 0xEF, 0x5, 0x67, 0x0, 0xC, 0x5, 0x6E, 0xFF, 0xC8, 0x5, 0x70, 0xFF, 0xE3, 0x5, 0xEE, 0xFF, 0xE3, 0x6, 0x2, 0xFF, 0xE3, 0x6, 0x4, 0xFF, 0xE3, 0x6, 0x6, 0xFF, 0xE3, 0x6, 0x32, 0xFF, 0xE3, 0x6, 0x6B, 0xFF, 0xEF, 0x6, 0x6D, 0xFF, 0xEF, 0x6, 0x6F, 0xFF, 0xEF, 0x6, 0x71, 0xFF, 0xEF, 0x6, 0x73, 0xFF, 0xEF, 0x6, 0x75, 0xFF, 0xEF, 0x6, 0x85, 0xFF, 0xE3, 0x6, 0x87, 0xFF, 0xE3, 0x6, 0x8F, 0xFF, 0xC8, 0x6, 0x91, 0xFF, 0xC8, 0x6, 0xA9, 0xFF, 0xC8, 0x6, 0xCB, 0xFF, 0xC8, 0x6, 0xF7, 0xFF, 0xC8, 0x7, 0x4F, 0x0, 0x8, 0x7, 0x52, 0x0, 0x8, 0x7, 0x54, 0x0, 0x9, 0x7, 0x55, 0xFF, 0xF9, 0x7, 0x57, 0xFF, 0xF3, 0x7, 0x59, 0xFF, 0xF4, 0x7, 0x61, 0xFF, 0xF3, 0x7, 0x67, 0xFF, 0xD6, 0x7, 0x68, 0xFF, 0xF4, 0x7, 0x69, 0xFF, 0xD6, 0x7, 0x70, 0x0, 0x9, 0x7, 0x71, 0xFF, 0xF4, 0x7, 0x74, 0x0, 0x9, 0x7, 0x8C, 0x0, 0x9, 0x7, 0x8D, 0xFF, 0xF4, 0x7, 0x8E, 0x0, 0x8, 0x7, 0x90, 0x0, 0x9, 0x7, 0x96, 0xFF, 0xF4, 0x7, 0xAF, 0xFF, 0xF4, 0x7, 0xB1, 0xFF, 0xD6, 0x8, 0xE8, 0xFF, 0xEF, 0x8, 0xE9, 0xFF, 0xEF, 0x8, 0xEA, 0xFF, 0xEF, 0x8, 0xEB, 0xFF, 0xEF, 0x8, 0xEC, 0xFF, 0xEF, 0x8, 0xED, 0xFF, 0xEF, 0x8, 0xEE, 0xFF, 0xEF, 0x8, 0xEF, 0xFF, 0xC8, 0x8, 0xF0, 0xFF, 0xC8, 0x8, 0xF1, 0xFF, 0xC8, 0x8, 0xF2, 0xFF, 0xC8, 0x8, 0xF3, 0xFF, 0xC8, 0x8, 0xF9, 0xFF, 0xE3, 0x8, 0xFA, 0xFF, 0xE3, 0x8, 0xFB, 0xFF, 0xE3, 0x8, 0xFC, 0xFF, 0xE3, 0x8, 0xFD, 0xFF, 0xE3, 0x9, 0x2, 0x0, 0xC, 0x9, 0x3, 0x0, 0xC, 0x9, 0x5, 0xFF, 0xEF, 0x9, 0x7, 0xFF, 0xEF, 0x9, 0x9, 0xFF, 0xEF, 0x9, 0xB, 0xFF, 0xC8, 0x9, 0xD, 0xFF, 0xC8, 0x9, 0xF, 0xFF, 0xC8, 0x9, 0x11, 0xFF, 0xC8, 0x9, 0x13, 0xFF, 0xC8, 0x9, 0x15, 0xFF, 0xC8, 0x9, 0x17, 0xFF, 0xC8, 0x9, 0x19, 0xFF, 0xC8, 0x9, 0x1B, 0xFF, 0xC8, 0x9, 0x1D, 0xFF, 0xC8, 0x9, 0x1F, 0xFF, 0xC8, 0x9, 0x21, 0xFF, 0xC8, 0x9, 0x23, 0xFF, 0xC8, 0x9, 0x25, 0xFF, 0xC8, 0x9, 0x47, 0xFF, 0xE3, 0x9, 0x49, 0xFF, 0xE3, 0x9, 0x4B, 0xFF, 0xE3, 0x9, 0x71, 0x0, 0xC, 0x9, 0x80, 0xFF, 0xD6, 0x9, 0x81, 0xFF, 0xD6, 0x9, 0x82, 0xFF, 0xD6, 0x9, 0x83, 0xFF, 0xD6, 0x9, 0x84, 0xFF, 0xD6, 0x9, 0x85, 0xFF, 0xD6, 0x9, 0x86, 0xFF, 0xD6, 0x9, 0x87, 0xFF, 0xF4, 0x9, 0x91, 0xFF, 0xF4, 0x9, 0x92, 0xFF, 0xF4, 0x9, 0x93, 0xFF, 0xF4, 0x9, 0x94, 0xFF, 0xF4, 0x9, 0x95, 0xFF, 0xF4, 0x9, 0x9A, 0x0, 0x8, 0x9, 0x9B, 0xFF, 0xD6, 0x9, 0x9C, 0xFF, 0xD6, 0x9, 0x9D, 0xFF, 0xD6, 0x9, 0x9E, 0xFF, 0xF4, 0x9, 0x9F, 0xFF, 0xF4, 0x9, 0xA0, 0xFF, 0xF4, 0x9, 0xA1, 0xFF, 0xF4, 0x9, 0xA8, 0xFF, 0xF4, 0x9, 0xA9, 0xFF, 0xF4, 0x9, 0xAA, 0xFF, 0xF4, 0x9, 0xAB, 0xFF, 0xF4, 0x9, 0xBB, 0xFF, 0xF4, 0x9, 0xBC, 0xFF, 0xF4, 0x9, 0xBD, 0xFF, 0xF4, 0x9, 0xBE, 0xFF, 0xF4, 0x9, 0xC2, 0xFF, 0xF9, 0x9, 0xC3, 0xFF, 0xF9, 0x9, 0xC4, 0xFF, 0xF9, 0x9, 0xC5, 0xFF, 0xF9, 0x9, 0xC7, 0x0, 0x9, 0x9, 0xD0, 0x0, 0x8, 0x9, 0xD1, 0x0, 0x8, 0x9, 0xED, 0xFF, 0xC8, 0x9, 0xF3, 0xFF, 0xE3, 0x9, 0xF5, 0x0, 0xC, 0x9, 0xF9, 0xFF, 0xE3, 0xA, 0x12, 0xFF, 0xEF, 0xA, 0x13, 0xFF, 0xC8, 0xA, 0x15, 0xFF, 0xE3, 0xA, 0x17, 0xFF, 0xC8, 0xA, 0x18, 0x0, 0xC, 0xA, 0x1A, 0xFF, 0xC8, 0xA, 0x21, 0x0, 0xC, 0xA, 0x29, 0x0, 0xC, 0xA, 0x2A, 0x0, 0xE, 0xA, 0x2B, 0x0, 0xE, 0xA, 0x2E, 0x0, 0xE, 0xA, 0x32, 0xFF, 0xEF, 0xA, 0x35, 0xFF, 0xC8, 0xA, 0x3A, 0x0, 0xC, 0xA, 0x3B, 0xFF, 0xC8, 0xA, 0x40, 0xFF, 0xC8, 0xA, 0x42, 0x0, 0xC, 0xA, 0x48, 0xFF, 0xEF, 0xA, 0x4A, 0xFF, 0xEF, 0xA, 0x4E, 0xFF, 0xC8, 0xA, 0x50, 0xFF, 0xC8, 0xA, 0x51, 0xFF, 0xC8, 0xA, 0x5B, 0xFF, 0xE3, 0xA, 0x5D, 0xFF, 0xC8, 0xA, 0x60, 0xFF, 0xE3, 0xA, 0x64, 0x0, 0xC, 0xA, 0x66, 0x0, 0xC, 0xA, 0x68, 0x0, 0xC, 0xA, 0x6D, 0xFF, 0xC8, 0xA, 0x6F, 0xFF, 0xEF, 0xA, 0x71, 0xFF, 0xEF, 0xA, 0x73, 0xFF, 0xEF, 0xA, 0x75, 0xFF, 0xEF, 0xA, 0x77, 0xFF, 0xEF, 0xA, 0x79, 0xFF, 0xEF, 0xA, 0x7B, 0xFF, 0xEF, 0xA, 0x7D, 0xFF, 0xEF, 0xA, 0x7F, 0xFF, 0xEF, 0xA, 0x81, 0xFF, 0xEF, 0xA, 0x83, 0xFF, 0xEF, 0xA, 0x85, 0xFF, 0xEF, 0xA, 0x87, 0xFF, 0xC8, 0xA, 0x89, 0xFF, 0xC8, 0xA, 0x8B, 0xFF, 0xC8, 0xA, 0x8D, 0xFF, 0xC8, 0xA, 0x8F, 0xFF, 0xC8, 0xA, 0x91, 0xFF, 0xC8, 0xA, 0x93, 0xFF, 0xC8, 0xA, 0x95, 0xFF, 0xC8, 0xA, 0x9B, 0xFF, 0xE3, 0xA, 0x9D, 0xFF, 0xE3, 0xA, 0x9F, 0xFF, 0xE3, 0xA, 0xA1, 0xFF, 0xE3, 0xA, 0xA3, 0xFF, 0xE3, 0xA, 0xA5, 0xFF, 0xE3, 0xA, 0xA7, 0xFF, 0xE3, 0xA, 0xA9, 0xFF, 0xC8, 0xA, 0xAB, 0xFF, 0xC8, 0xA, 0xAD, 0xFF, 0xC8, 0xA, 0xAF, 0xFF, 0xE3, 0xA, 0xB1, 0xFF, 0xC8, 0xA, 0xC1, 0x0, 0xC, 0xA, 0xC3, 0x0, 0xC, 0xA, 0xC5, 0x0, 0xC, 0xA, 0xEF, 0xFF, 0xEF, 0xA, 0xF3, 0xFF, 0xE3, 0xA, 0xFE, 0xFF, 0xC8, 0xB, 0x0, 0xFF, 0xEF, 0xB, 0x2, 0xFF, 0xEF, 0xB, 0x4, 0xFF, 0xEF, 0xB, 0x6, 0xFF, 0xC8, 0xB, 0xA, 0xFF, 0xE3, 0xB, 0xC, 0xFF, 0xE3, 0xB, 0xF, 0xFF, 0xC8, 0xB, 0x15, 0xFF, 0xEF, 0xB, 0x17, 0xFF, 0xEF, 0xB, 0x19, 0xFF, 0xC8, 0xB, 0x1B, 0xFF, 0xC8, 0xB, 0x21, 0xFF, 0xE3, 0xB, 0x23, 0xFF, 0xE3, 0xB, 0x2F, 0xFF, 0xEF, 0xB, 0x33, 0xFF, 0xE3, 0xB, 0x35, 0xFF, 0xE3, 0xB, 0x37, 0xFF, 0xE3, 0xB, 0x39, 0xFF, 0xE3, 0xB, 0x3B, 0x0, 0xC, 0xB, 0x3C, 0xFF, 0xE3, 0xB, 0x42, 0xFF, 0xC8, 0xB, 0x4A, 0xFF, 0xC8, 0xB, 0x54, 0xFF, 0xC8, 0xB, 0x56, 0xFF, 0xC8, 0xB, 0x58, 0xFF, 0xC8, 0xB, 0x5A, 0xFF, 0xC8, 0xB, 0x5C, 0xFF, 0xC8, 0xB, 0x5E, 0xFF, 0xC8, 0xB, 0x60, 0xFF, 0xC8, 0xB, 0x62, 0xFF, 0xC8, 0xB, 0x64, 0xFF, 0xC8, 0xB, 0x66, 0xFF, 0xC8, 0xB, 0x68, 0xFF, 0xC8, 0xB, 0x6C, 0xFF, 0xC8, 0xB, 0x90, 0xFF, 0xE3, 0xB, 0x92, 0xFF, 0xE3, 0xB, 0x94, 0xFF, 0xE3, 0xB, 0x96, 0xFF, 0xE3, 0xB, 0xC0, 0x0, 0xC, 0xB, 0xC2, 0x0, 0xC, 0xB, 0xCC, 0x0, 0xC, 0xB, 0xD6, 0x0, 0xC, 0xB, 0xD7, 0xFF, 0xEF, 0xB, 0xD8, 0xFF, 0xC8, 0xB, 0xD9, 0xFF, 0xC8, 0xB, 0xDA, 0xFF, 0xC8, 0xB, 0xDB, 0xFF, 0xC8, 0xB, 0xDC, 0xFF, 0xC8, 0xB, 0xDD, 0xFF, 0xC8, 0xB, 0xDE, 0xFF, 0xC8, 0xB, 0xDF, 0xFF, 0xC8, 0xC, 0x14, 0xFF, 0xE3, 0xC, 0x15, 0xFF, 0xE3, 0xC, 0x16, 0xFF, 0xE3, 0xC, 0x17, 0xFF, 0xE3, 0xC, 0x18, 0xFF, 0xE3, 0xC, 0x19, 0xFF, 0xE3, 0xC, 0x44, 0xFF, 0xE3, 0xC, 0x45, 0xFF, 0xE3, 0xC, 0x4A, 0xFF, 0xC8, 0xC, 0x4B, 0xFF, 0xC8, 0xC, 0x4C, 0xFF, 0xC8, 0xC, 0x4D, 0xFF, 0xC8, 0xC, 0x4E, 0xFF, 0xC8, 0xC, 0x4F, 0xFF, 0xC8, 0xC, 0x50, 0xFF, 0xC8, 0xC, 0x51, 0xFF, 0xC8, 0xC, 0x7A, 0xFF, 0xC8, 0xC, 0x7B, 0xFF, 0xC8, 0xC, 0x7C, 0xFF, 0xC8, 0xC, 0x7D, 0xFF, 0xC8, 0xC, 0x7E, 0xFF, 0xC8, 0xC, 0x7F, 0xFF, 0xC8, 0xC, 0x80, 0xFF, 0xC8, 0xC, 0xB7, 0xFF, 0xD6, 0xC, 0xBB, 0xFF, 0xF4, 0xC, 0xBC, 0x0, 0x8, 0xC, 0xBE, 0xFF, 0xD6, 0xC, 0xCA, 0x0, 0x8, 0xC, 0xCD, 0x0, 0x8, 0xC, 0xD6, 0xFF, 0xD6, 0xC, 0xDD, 0xFF, 0xF4, 0xC, 0xE0, 0xFF, 0xF4, 0xC, 0xE1, 0x0, 0x9, 0xC, 0xE5, 0xFF, 0xF4, 0xC, 0xE6, 0x0, 0x8, 0x0, 0x12, 0x2, 0x83, 0x0, 0x16, 0x2, 0x88, 0x0, 0x11, 0x2, 0x8C, 0xFF, 0xEF, 0x2, 0x8F, 0xFF, 0xEF, 0x2, 0x94, 0xFF, 0xF6, 0x2, 0x97, 0x0, 0x14, 0x2, 0x9A, 0x0, 0x11, 0x2, 0xD1, 0xFF, 0xE8, 0x2, 0xDF, 0xFF, 0xEF, 0x2, 0xE1, 0xFF, 0xE2, 0x2, 0xE8, 0x0, 0x11, 0x3, 0x4, 0xFF, 0xEF, 0x3, 0x7, 0x0, 0x11, 0x3, 0x9, 0x0, 0x11, 0x3, 0x11, 0x0, 0x11, 0x6, 0x20, 0xFF, 0xEF, 0xA, 0x6A, 0xFF, 0xEF, 0xA, 0xCA, 0xFF, 0xEF, 0x0, 0x87, 0x0, 0x48, 0xFF, 0xED, 0x0, 0x49, 0xFF, 0xED, 0x0, 0x4A, 0xFF, 0xED, 0x0, 0x4C, 0xFF, 0xED, 0x0, 0x56, 0xFF, 0xED, 0x0, 0x95, 0xFF, 0xED, 0x0, 0x9F, 0xFF, 0xED, 0x0, 0xB5, 0xFF, 0xED, 0x0, 0xDA, 0xFF, 0xED, 0x0, 0xDC, 0xFF, 0xED, 0x0, 0xE4, 0xFF, 0xED, 0x1, 0x0, 0xFF, 0xED, 0x2, 0x2A, 0xFF, 0xED, 0x2, 0x3A, 0xFF, 0xED, 0x2, 0x47, 0xFF, 0xED, 0x2, 0x48, 0xFF, 0xED, 0x2, 0x58, 0xFF, 0xED, 0x2, 0x61, 0xFF, 0xED, 0x2, 0x83, 0x0, 0x13, 0x2, 0x88, 0x0, 0xF, 0x2, 0x8C, 0xFF, 0xE1, 0x2, 0x8D, 0xFF, 0xED, 0x2, 0x8F, 0xFF, 0xE1, 0x2, 0x92, 0xFF, 0xD1, 0x2, 0x94, 0xFF, 0xED, 0x2, 0x99, 0xFF, 0xED, 0x2, 0x9A, 0x0, 0xF, 0x2, 0xB4, 0xFF, 0xED, 0x2, 0xB8, 0xFF, 0xED, 0x2, 0xD1, 0xFF, 0x9F, 0x2, 0xD9, 0xFF, 0xED, 0x2, 0xDF, 0xFF, 0xE1, 0x2, 0xE1, 0xFF, 0xDA, 0x2, 0xE8, 0x0, 0xF, 0x2, 0xF7, 0xFF, 0xED, 0x2, 0xF8, 0xFF, 0xED, 0x3, 0x2, 0xFF, 0xED, 0x3, 0x4, 0xFF, 0xE1, 0x3, 0x7, 0x0, 0xF, 0x3, 0x9, 0x0, 0xF, 0x3, 0x11, 0x0, 0xF, 0x5, 0x6E, 0xFF, 0xED, 0x6, 0x20, 0xFF, 0xE1, 0x6, 0x8F, 0xFF, 0xED, 0x6, 0x91, 0xFF, 0xED, 0x6, 0xA9, 0xFF, 0xED, 0x6, 0xCB, 0xFF, 0xED, 0x6, 0xF7, 0xFF, 0xED, 0x8, 0xEF, 0xFF, 0xED, 0x8, 0xF0, 0xFF, 0xED, 0x8, 0xF1, 0xFF, 0xED, 0x8, 0xF2, 0xFF, 0xED, 0x8, 0xF3, 0xFF, 0xED, 0x9, 0xB, 0xFF, 0xED, 0x9, 0xD, 0xFF, 0xED, 0x9, 0xF, 0xFF, 0xED, 0x9, 0x11, 0xFF, 0xED, 0x9, 0x13, 0xFF, 0xED, 0x9, 0x15, 0xFF, 0xED, 0x9, 0x17, 0xFF, 0xED, 0x9, 0x19, 0xFF, 0xED, 0x9, 0x1B, 0xFF, 0xED, 0x9, 0x1D, 0xFF, 0xED, 0x9, 0x1F, 0xFF, 0xED, 0x9, 0x21, 0xFF, 0xED, 0x9, 0x23, 0xFF, 0xED, 0x9, 0x25, 0xFF, 0xED, 0x9, 0xED, 0xFF, 0xED, 0xA, 0x13, 0xFF, 0xED, 0xA, 0x17, 0xFF, 0xED, 0xA, 0x1A, 0xFF, 0xED, 0xA, 0x35, 0xFF, 0xED, 0xA, 0x3B, 0xFF, 0xED, 0xA, 0x40, 0xFF, 0xED, 0xA, 0x4E, 0xFF, 0xED, 0xA, 0x50, 0xFF, 0xED, 0xA, 0x51, 0xFF, 0xED, 0xA, 0x5D, 0xFF, 0xED, 0xA, 0x6A, 0xFF, 0xE1, 0xA, 0x6D, 0xFF, 0xED, 0xA, 0x87, 0xFF, 0xED, 0xA, 0x89, 0xFF, 0xED, 0xA, 0x8B, 0xFF, 0xED, 0xA, 0x8D, 0xFF, 0xED, 0xA, 0x8F, 0xFF, 0xED, 0xA, 0x91, 0xFF, 0xED, 0xA, 0x93, 0xFF, 0xED, 0xA, 0x95, 0xFF, 0xED, 0xA, 0xA9, 0xFF, 0xED, 0xA, 0xAB, 0xFF, 0xED, 0xA, 0xAD, 0xFF, 0xED, 0xA, 0xB1, 0xFF, 0xED, 0xA, 0xCA, 0xFF, 0xE1, 0xA, 0xFE, 0xFF, 0xED, 0xB, 0x6, 0xFF, 0xED, 0xB, 0xF, 0xFF, 0xED, 0xB, 0x19, 0xFF, 0xED, 0xB, 0x1B, 0xFF, 0xED, 0xB, 0x42, 0xFF, 0xED, 0xB, 0x4A, 0xFF, 0xED, 0xB, 0x54, 0xFF, 0xED, 0xB, 0x56, 0xFF, 0xED, 0xB, 0x58, 0xFF, 0xED, 0xB, 0x5A, 0xFF, 0xED, 0xB, 0x5C, 0xFF, 0xED, 0xB, 0x5E, 0xFF, 0xED, 0xB, 0x60, 0xFF, 0xED, 0xB, 0x62, 0xFF, 0xED, 0xB, 0x64, 0xFF, 0xED, 0xB, 0x66, 0xFF, 0xED, 0xB, 0x68, 0xFF, 0xED, 0xB, 0x6C, 0xFF, 0xED, 0xB, 0xD8, 0xFF, 0xED, 0xB, 0xD9, 0xFF, 0xED, 0xB, 0xDA, 0xFF, 0xED, 0xB, 0xDB, 0xFF, 0xED, 0xB, 0xDC, 0xFF, 0xED, 0xB, 0xDD, 0xFF, 0xED, 0xB, 0xDE, 0xFF, 0xED, 0xB, 0xDF, 0xFF, 0xED, 0xC, 0x4A, 0xFF, 0xED, 0xC, 0x4B, 0xFF, 0xED, 0xC, 0x4C, 0xFF, 0xED, 0xC, 0x4D, 0xFF, 0xED, 0xC, 0x4E, 0xFF, 0xED, 0xC, 0x4F, 0xFF, 0xED, 0xC, 0x50, 0xFF, 0xED, 0xC, 0x51, 0xFF, 0xED, 0xC, 0x7A, 0xFF, 0xED, 0xC, 0x7B, 0xFF, 0xED, 0xC, 0x7C, 0xFF, 0xED, 0xC, 0x7D, 0xFF, 0xED, 0xC, 0x7E, 0xFF, 0xED, 0xC, 0x7F, 0xFF, 0xED, 0xC, 0x80, 0xFF, 0xED, 0x0, 0x27, 0x0, 0x5B, 0xFF, 0xD6, 0x0, 0x5E, 0xFF, 0xD6, 0x2, 0x3C, 0xFF, 0xD6, 0x2, 0x8C, 0xFF, 0xAD, 0x2, 0x8F, 0xFF, 0xF4, 0x2, 0x94, 0xFF, 0xF6, 0x2, 0x9F, 0xFF, 0xE8, 0x2, 0xB0, 0xFF, 0xD6, 0x2, 0xB6, 0xFF, 0xE9, 0x2, 0xD1, 0xFF, 0x88, 0x2, 0xDF, 0xFF, 0xF4, 0x2, 0xE1, 0xFF, 0xF4, 0x2, 0xFA, 0x0, 0x5, 0x2, 0xFC, 0xFF, 0xF8, 0x3, 0x4, 0xFF, 0xAC, 0x5, 0x67, 0xFF, 0xD6, 0x6, 0x20, 0xFF, 0xF4, 0x9, 0x2, 0xFF, 0xD6, 0x9, 0x3, 0xFF, 0xD6, 0x9, 0x71, 0xFF, 0xD6, 0x9, 0xF5, 0xFF, 0xD6, 0xA, 0x18, 0xFF, 0xD6, 0xA, 0x21, 0xFF, 0xD6, 0xA, 0x29, 0xFF, 0xD6, 0xA, 0x3A, 0xFF, 0xD6, 0xA, 0x42, 0xFF, 0xD6, 0xA, 0x64, 0xFF, 0xD6, 0xA, 0x66, 0xFF, 0xD6, 0xA, 0x68, 0xFF, 0xD6, 0xA, 0x6A, 0xFF, 0xF4, 0xA, 0xC1, 0xFF, 0xD6, 0xA, 0xC3, 0xFF, 0xD6, 0xA, 0xC5, 0xFF, 0xD6, 0xA, 0xCA, 0xFF, 0xF4, 0xB, 0x3B, 0xFF, 0xD6, 0xB, 0xC0, 0xFF, 0xD6, 0xB, 0xC2, 0xFF, 0xD6, 0xB, 0xCC, 0xFF, 0xD6, 0xB, 0xD6, 0xFF, 0xD6, 0x0, 0x69, 0x0, 0x52, 0xFF, 0xF8, 0x0, 0x53, 0xFF, 0xF8, 0x0, 0x55, 0xFF, 0xF8, 0x0, 0x5B, 0xFF, 0xF3, 0x0, 0x5D, 0xFF, 0xEF, 0x0, 0x5E, 0xFF, 0xF3, 0x0, 0xEA, 0xFF, 0xF8, 0x2, 0x28, 0xFF, 0xF8, 0x2, 0x3C, 0xFF, 0xF3, 0x2, 0x40, 0xFF, 0xF8, 0x2, 0x82, 0xFF, 0xF8, 0x2, 0x83, 0xFF, 0xEE, 0x2, 0x84, 0xFF, 0xEF, 0x2, 0x86, 0xFF, 0xF8, 0x2, 0x87, 0xFF, 0xF8, 0x2, 0x88, 0xFF, 0xF2, 0x2, 0x89, 0xFF, 0xF8, 0x2, 0x8A, 0xFF, 0xF8, 0x2, 0x8B, 0xFF, 0xF8, 0x2, 0x8E, 0xFF, 0xF8, 0x2, 0x90, 0xFF, 0xF8, 0x2, 0x91, 0xFF, 0xF8, 0x2, 0x94, 0xFF, 0xF4, 0x2, 0x96, 0xFF, 0xF8, 0x2, 0x9A, 0xFF, 0xF2, 0x2, 0x9B, 0xFF, 0xF8, 0x2, 0xB0, 0xFF, 0xF3, 0x2, 0xC2, 0xFF, 0xF8, 0x2, 0xCB, 0xFF, 0xEF, 0x2, 0xCD, 0xFF, 0xF8, 0x2, 0xD3, 0xFF, 0xF8, 0x2, 0xD5, 0xFF, 0xF8, 0x2, 0xDB, 0xFF, 0xEF, 0x2, 0xE8, 0xFF, 0xF2, 0x2, 0xEA, 0xFF, 0xF8, 0x2, 0xEC, 0xFF, 0xF8, 0x2, 0xEE, 0xFF, 0xF8, 0x2, 0xF3, 0xFF, 0xF8, 0x2, 0xF5, 0xFF, 0xEF, 0x3, 0x7, 0xFF, 0xF2, 0x3, 0x9, 0xFF, 0xF2, 0x3, 0xF, 0xFF, 0xF8, 0x3, 0x11, 0xFF, 0xF2, 0x3, 0x13, 0xFF, 0xF8, 0x5, 0x67, 0xFF, 0xF3, 0x5, 0xF0, 0xFF, 0xF8, 0x6, 0x0, 0xFF, 0xF8, 0x6, 0x28, 0xFF, 0xF8, 0x6, 0x30, 0xFF, 0xF8, 0x6, 0xAB, 0xFF, 0xF8, 0x6, 0xAC, 0xFF, 0xF8, 0x6, 0xFB, 0xFF, 0xF8, 0x6, 0xFC, 0xFF, 0xF8, 0x6, 0xFD, 0xFF, 0xF8, 0x7, 0x12, 0xFF, 0xF8, 0x8, 0xF8, 0xFF, 0xF8, 0x9, 0x2, 0xFF, 0xF3, 0x9, 0x3, 0xFF, 0xF3, 0x9, 0x40, 0xFF, 0xF8, 0x9, 0x42, 0xFF, 0xF8, 0x9, 0x44, 0xFF, 0xF8, 0x9, 0x45, 0xFF, 0xF8, 0x9, 0x71, 0xFF, 0xF3, 0x9, 0xEF, 0xFF, 0xF8, 0x9, 0xF5, 0xFF, 0xF3, 0xA, 0x14, 0xFF, 0xF8, 0xA, 0x16, 0xFF, 0xF8, 0xA, 0x18, 0xFF, 0xF3, 0xA, 0x19, 0xFF, 0xEF, 0xA, 0x1B, 0xFF, 0xF8, 0xA, 0x20, 0xFF, 0xF8, 0xA, 0x21, 0xFF, 0xF3, 0xA, 0x29, 0xFF, 0xF3, 0xA, 0x30, 0xFF, 0xF8, 0xA, 0x36, 0xFF, 0xF8, 0xA, 0x3A, 0xFF, 0xF3, 0xA, 0x42, 0xFF, 0xF3, 0xA, 0x45, 0xFF, 0xEF, 0xA, 0x53, 0xFF, 0xEF, 0xA, 0x57, 0xFF, 0xF8, 0xA, 0x59, 0xFF, 0xF8, 0xA, 0x64, 0xFF, 0xF3, 0xA, 0x66, 0xFF, 0xF3, 0xA, 0x68, 0xFF, 0xF3, 0xA, 0x6C, 0xFF, 0xF8, 0xA, 0xC1, 0xFF, 0xF3, 0xA, 0xC3, 0xFF, 0xF3, 0xA, 0xC5, 0xFF, 0xF3, 0xA, 0xCC, 0xFF, 0xF8, 0xA, 0xE7, 0xFF, 0xF8, 0xA, 0xED, 0xFF, 0xF8, 0xB, 0x13, 0xFF, 0xF8, 0xB, 0x3B, 0xFF, 0xF3, 0xB, 0x84, 0xFF, 0xF8, 0xB, 0x86, 0xFF, 0xF8, 0xB, 0x88, 0xFF, 0xF8, 0xB, 0x8A, 0xFF, 0xF8, 0xB, 0x8C, 0xFF, 0xF8, 0xB, 0x8E, 0xFF, 0xF8, 0xB, 0xC0, 0xFF, 0xF3, 0xB, 0xC2, 0xFF, 0xF3, 0xB, 0xC8, 0xFF, 0xEF, 0xB, 0xCA, 0xFF, 0xEF, 0xB, 0xCC, 0xFF, 0xF3, 0xB, 0xD6, 0xFF, 0xF3, 0x0, 0xA, 0x0, 0x7, 0xFF, 0xD6, 0x0, 0xC, 0xFF, 0xD6, 0x4, 0x62, 0xFF, 0xD6, 0x4, 0x63, 0xFF, 0xD6, 0x4, 0x65, 0xFF, 0xD6, 0x4, 0x66, 0xFF, 0xD6, 0x4, 0x67, 0xFF, 0xD6, 0xA, 0x2A, 0xFF, 0xD6, 0xA, 0x2B, 0xFF, 0xD6, 0xA, 0x2E, 0xFF, 0xD6, 0x0, 0x18, 0x0, 0x5D, 0xFF, 0xEB, 0x2, 0x84, 0xFF, 0xEB, 0x2, 0x8C, 0xFF, 0xA6, 0x2, 0x8F, 0xFF, 0xD8, 0x2, 0x94, 0xFF, 0xE3, 0x2, 0x9F, 0xFF, 0xD9, 0x2, 0xB6, 0xFF, 0xDB, 0x2, 0xCB, 0xFF, 0xEB, 0x2, 0xD1, 0xFF, 0x1D, 0x2, 0xDB, 0xFF, 0xEB, 0x2, 0xDF, 0xFF, 0xD8, 0x2, 0xE1, 0xFF, 0xDE, 0x2, 0xF5, 0xFF, 0xEB, 0x2, 0xFA, 0xFF, 0xEF, 0x2, 0xFC, 0xFF, 0xF1, 0x3, 0x4, 0xFF, 0x5E, 0x6, 0x20, 0xFF, 0xD8, 0xA, 0x19, 0xFF, 0xEB, 0xA, 0x45, 0xFF, 0xEB, 0xA, 0x53, 0xFF, 0xEB, 0xA, 0x6A, 0xFF, 0xD8, 0xA, 0xCA, 0xFF, 0xD8, 0xB, 0xC8, 0xFF, 0xEB, 0xB, 0xCA, 0xFF, 0xEB, 0x0, 0xE, 0x2, 0x8C, 0xFF, 0x9B, 0x2, 0x8F, 0xFF, 0xE2, 0x2, 0x94, 0xFF, 0xE7, 0x2, 0x9F, 0xFF, 0xD9, 0x2, 0xB6, 0xFF, 0xDB, 0x2, 0xD1, 0xFF, 0x1D, 0x2, 0xDF, 0xFF, 0xE2, 0x2, 0xE1, 0xFF, 0xDE, 0x2, 0xFA, 0xFF, 0xEF, 0x2, 0xFC, 0xFF, 0xF1, 0x3, 0x4, 0xFF, 0x5E, 0x6, 0x20, 0xFF, 0xE2, 0xA, 0x6A, 0xFF, 0xE2, 0xA, 0xCA, 0xFF, 0xE2, 0x0, 0xA, 0x0, 0x7, 0xFF, 0xDD, 0x0, 0xC, 0xFF, 0xDD, 0x4, 0x62, 0xFF, 0xDD, 0x4, 0x63, 0xFF, 0xDD, 0x4, 0x65, 0xFF, 0xDD, 0x4, 0x66, 0xFF, 0xDD, 0x4, 0x67, 0xFF, 0xDD, 0xA, 0x2A, 0xFF, 0xDD, 0xA, 0x2B, 0xFF, 0xDD, 0xA, 0x2E, 0xFF, 0xDD, 0x0, 0xBB, 0x0, 0x48, 0xFF, 0x79, 0x0, 0x49, 0xFF, 0x79, 0x0, 0x4A, 0xFF, 0x79, 0x0, 0x4C, 0xFF, 0x79, 0x0, 0x54, 0xFF, 0x6D, 0x0, 0x56, 0xFF, 0x79, 0x0, 0x58, 0xFF, 0x26, 0x0, 0x59, 0x0, 0x14, 0x0, 0x5C, 0x0, 0xC, 0x0, 0x95, 0xFF, 0x79, 0x0, 0x9F, 0xFF, 0x79, 0x0, 0xB5, 0xFF, 0x79, 0x0, 0xDA, 0xFF, 0x79, 0x0, 0xDC, 0xFF, 0x79, 0x0, 0xE4, 0xFF, 0x79, 0x0, 0xF4, 0xFF, 0x26, 0x1, 0x0, 0xFF, 0x79, 0x2, 0x2A, 0xFF, 0x79, 0x2, 0x3A, 0xFF, 0x79, 0x2, 0x47, 0xFF, 0x79, 0x2, 0x48, 0xFF, 0x79, 0x2, 0x56, 0xFF, 0x6D, 0x2, 0x58, 0xFF, 0x79, 0x2, 0x61, 0xFF, 0x79, 0x2, 0x8D, 0xFF, 0x79, 0x2, 0x99, 0xFF, 0x79, 0x2, 0xAE, 0xFF, 0x6D, 0x2, 0xB4, 0xFF, 0x79, 0x2, 0xB8, 0xFF, 0x79, 0x2, 0xD9, 0xFF, 0x79, 0x2, 0xF7, 0xFF, 0x79, 0x2, 0xF8, 0xFF, 0x79, 0x3, 0x2, 0xFF, 0x79, 0x5, 0x6E, 0xFF, 0x79, 0x5, 0x70, 0xFF, 0x6D, 0x5, 0xEE, 0xFF, 0x6D, 0x6, 0x2, 0xFF, 0x6D, 0x6, 0x4, 0xFF, 0x6D, 0x6, 0x6, 0xFF, 0x6D, 0x6, 0x32, 0xFF, 0x6D, 0x6, 0x85, 0xFF, 0x6D, 0x6, 0x87, 0xFF, 0x6D, 0x6, 0x8F, 0xFF, 0x79, 0x6, 0x91, 0xFF, 0x79, 0x6, 0xA9, 0xFF, 0x79, 0x6, 0xCB, 0xFF, 0x79, 0x6, 0xF7, 0xFF, 0x79, 0x7, 0x2C, 0xFF, 0x26, 0x8, 0xEF, 0xFF, 0x79, 0x8, 0xF0, 0xFF, 0x79, 0x8, 0xF1, 0xFF, 0x79, 0x8, 0xF2, 0xFF, 0x79, 0x8, 0xF3, 0xFF, 0x79, 0x8, 0xF9, 0xFF, 0x6D, 0x8, 0xFA, 0xFF, 0x6D, 0x8, 0xFB, 0xFF, 0x6D, 0x8, 0xFC, 0xFF, 0x6D, 0x8, 0xFD, 0xFF, 0x6D, 0x9, 0xB, 0xFF, 0x79, 0x9, 0xD, 0xFF, 0x79, 0x9, 0xF, 0xFF, 0x79, 0x9, 0x11, 0xFF, 0x79, 0x9, 0x13, 0xFF, 0x79, 0x9, 0x15, 0xFF, 0x79, 0x9, 0x17, 0xFF, 0x79, 0x9, 0x19, 0xFF, 0x79, 0x9, 0x1B, 0xFF, 0x79, 0x9, 0x1D, 0xFF, 0x79, 0x9, 0x1F, 0xFF, 0x79, 0x9, 0x21, 0xFF, 0x79, 0x9, 0x23, 0xFF, 0x79, 0x9, 0x25, 0xFF, 0x79, 0x9, 0x47, 0xFF, 0x6D, 0x9, 0x49, 0xFF, 0x6D, 0x9, 0x4B, 0xFF, 0x6D, 0x9, 0x53, 0xFF, 0x26, 0x9, 0x55, 0xFF, 0x26, 0x9, 0x57, 0xFF, 0x26, 0x9, 0x59, 0xFF, 0x26, 0x9, 0x5B, 0xFF, 0x26, 0x9, 0xED, 0xFF, 0x79, 0x9, 0xF3, 0xFF, 0x6D, 0x9, 0xF9, 0xFF, 0x6D, 0xA, 0x13, 0xFF, 0x79, 0xA, 0x15, 0xFF, 0x6D, 0xA, 0x17, 0xFF, 0x79, 0xA, 0x1A, 0xFF, 0x79, 0xA, 0x1C, 0xFF, 0x26, 0xA, 0x35, 0xFF, 0x79, 0xA, 0x3B, 0xFF, 0x79, 0xA, 0x40, 0xFF, 0x79, 0xA, 0x4E, 0xFF, 0x79, 0xA, 0x50, 0xFF, 0x79, 0xA, 0x51, 0xFF, 0x79, 0xA, 0x5B, 0xFF, 0x6D, 0xA, 0x5D, 0xFF, 0x79, 0xA, 0x60, 0xFF, 0x6D, 0xA, 0x6D, 0xFF, 0x79, 0xA, 0x87, 0xFF, 0x79, 0xA, 0x89, 0xFF, 0x79, 0xA, 0x8B, 0xFF, 0x79, 0xA, 0x8D, 0xFF, 0x79, 0xA, 0x8F, 0xFF, 0x79, 0xA, 0x91, 0xFF, 0x79, 0xA, 0x93, 0xFF, 0x79, 0xA, 0x95, 0xFF, 0x79, 0xA, 0x9B, 0xFF, 0x6D, 0xA, 0x9D, 0xFF, 0x6D, 0xA, 0x9F, 0xFF, 0x6D, 0xA, 0xA1, 0xFF, 0x6D, 0xA, 0xA3, 0xFF, 0x6D, 0xA, 0xA5, 0xFF, 0x6D, 0xA, 0xA7, 0xFF, 0x6D, 0xA, 0xA9, 0xFF, 0x79, 0xA, 0xAB, 0xFF, 0x79, 0xA, 0xAD, 0xFF, 0x79, 0xA, 0xAF, 0xFF, 0x6D, 0xA, 0xB1, 0xFF, 0x79, 0xA, 0xF3, 0xFF, 0x6D, 0xA, 0xFE, 0xFF, 0x79, 0xB, 0x6, 0xFF, 0x79, 0xB, 0xA, 0xFF, 0x6D, 0xB, 0xC, 0xFF, 0x6D, 0xB, 0xF, 0xFF, 0x79, 0xB, 0x19, 0xFF, 0x79, 0xB, 0x1B, 0xFF, 0x79, 0xB, 0x21, 0xFF, 0x6D, 0xB, 0x23, 0xFF, 0x6D, 0xB, 0x33, 0xFF, 0x6D, 0xB, 0x35, 0xFF, 0x6D, 0xB, 0x37, 0xFF, 0x6D, 0xB, 0x39, 0xFF, 0x6D, 0xB, 0x3C, 0xFF, 0x6D, 0xB, 0x42, 0xFF, 0x79, 0xB, 0x4A, 0xFF, 0x79, 0xB, 0x54, 0xFF, 0x79, 0xB, 0x56, 0xFF, 0x79, 0xB, 0x58, 0xFF, 0x79, 0xB, 0x5A, 0xFF, 0x79, 0xB, 0x5C, 0xFF, 0x79, 0xB, 0x5E, 0xFF, 0x79, 0xB, 0x60, 0xFF, 0x79, 0xB, 0x62, 0xFF, 0x79, 0xB, 0x64, 0xFF, 0x79, 0xB, 0x66, 0xFF, 0x79, 0xB, 0x68, 0xFF, 0x79, 0xB, 0x6C, 0xFF, 0x79, 0xB, 0x90, 0xFF, 0x6D, 0xB, 0x92, 0xFF, 0x6D, 0xB, 0x94, 0xFF, 0x6D, 0xB, 0x96, 0xFF, 0x6D, 0xB, 0xA4, 0xFF, 0x26, 0xB, 0xA6, 0xFF, 0x26, 0xB, 0xA8, 0xFF, 0x26, 0xB, 0xAA, 0xFF, 0x26, 0xB, 0xAC, 0xFF, 0x26, 0xB, 0xD8, 0xFF, 0x79, 0xB, 0xD9, 0xFF, 0x79, 0xB, 0xDA, 0xFF, 0x79, 0xB, 0xDB, 0xFF, 0x79, 0xB, 0xDC, 0xFF, 0x79, 0xB, 0xDD, 0xFF, 0x79, 0xB, 0xDE, 0xFF, 0x79, 0xB, 0xDF, 0xFF, 0x79, 0xC, 0x14, 0xFF, 0x6D, 0xC, 0x15, 0xFF, 0x6D, 0xC, 0x16, 0xFF, 0x6D, 0xC, 0x17, 0xFF, 0x6D, 0xC, 0x18, 0xFF, 0x6D, 0xC, 0x19, 0xFF, 0x6D, 0xC, 0x44, 0xFF, 0x6D, 0xC, 0x45, 0xFF, 0x6D, 0xC, 0x4A, 0xFF, 0x79, 0xC, 0x4B, 0xFF, 0x79, 0xC, 0x4C, 0xFF, 0x79, 0xC, 0x4D, 0xFF, 0x79, 0xC, 0x4E, 0xFF, 0x79, 0xC, 0x4F, 0xFF, 0x79, 0xC, 0x50, 0xFF, 0x79, 0xC, 0x51, 0xFF, 0x79, 0xC, 0x7A, 0xFF, 0x79, 0xC, 0x7B, 0xFF, 0x79, 0xC, 0x7C, 0xFF, 0x79, 0xC, 0x7D, 0xFF, 0x79, 0xC, 0x7E, 0xFF, 0x79, 0xC, 0x7F, 0xFF, 0x79, 0xC, 0x80, 0xFF, 0x79, 0x0, 0x9, 0x2, 0x8C, 0xFF, 0x6F, 0x2, 0x94, 0xFF, 0xDA, 0x2, 0x9F, 0xFF, 0xD9, 0x2, 0xB6, 0xFF, 0xDB, 0x2, 0xD1, 0xFF, 0x1D, 0x2, 0xE1, 0xFF, 0xDE, 0x2, 0xFA, 0xFF, 0xEF, 0x2, 0xFC, 0xFF, 0xF1, 0x3, 0x4, 0xFF, 0x5E, 0x0, 0x13, 0x7, 0x4F, 0xFF, 0xED, 0x7, 0x51, 0xFF, 0xF4, 0x7, 0x52, 0xFF, 0xF0, 0x7, 0x54, 0xFF, 0xF1, 0x7, 0x70, 0xFF, 0xF1, 0x7, 0x74, 0xFF, 0xF1, 0x7, 0x8C, 0xFF, 0xF1, 0x7, 0x8E, 0xFF, 0xED, 0x7, 0x90, 0xFF, 0xF1, 0x9, 0x9A, 0xFF, 0xED, 0x9, 0xC7, 0xFF, 0xF1, 0x9, 0xCF, 0xFF, 0xF4, 0x9, 0xD0, 0xFF, 0xED, 0x9, 0xD1, 0xFF, 0xED, 0xC, 0xBC, 0xFF, 0xED, 0xC, 0xCA, 0xFF, 0xED, 0xC, 0xCD, 0xFF, 0xED, 0xC, 0xE1, 0xFF, 0xF1, 0xC, 0xE6, 0xFF, 0xED, 0x0, 0x13, 0x7, 0x4F, 0xFF, 0xE3, 0x7, 0x51, 0xFF, 0xF0, 0x7, 0x52, 0xFF, 0xE9, 0x7, 0x54, 0xFF, 0xE7, 0x7, 0x70, 0xFF, 0xE7, 0x7, 0x74, 0xFF, 0xE7, 0x7, 0x8C, 0xFF, 0xE7, 0x7, 0x8E, 0xFF, 0xE3, 0x7, 0x90, 0xFF, 0xE7, 0x9, 0x9A, 0xFF, 0xE3, 0x9, 0xC7, 0xFF, 0xE7, 0x9, 0xCF, 0xFF, 0xF0, 0x9, 0xD0, 0xFF, 0xE3, 0x9, 0xD1, 0xFF, 0xE3, 0xC, 0xBC, 0xFF, 0xE3, 0xC, 0xCA, 0xFF, 0xE3, 0xC, 0xCD, 0xFF, 0xE3, 0xC, 0xE1, 0xFF, 0xE7, 0xC, 0xE6, 0xFF, 0xE3, 0x0, 0x3, 0x7, 0x51, 0xFF, 0xF4, 0x7, 0x52, 0xFF, 0xED, 0x9, 0xCF, 0xFF, 0xF4, 0x0, 0x2, 0x7, 0x52, 0xFF, 0xB1, 0x7, 0x57, 0xFF, 0xEF, 0x0, 0x2, 0x0, 0x59, 0x0, 0x14, 0x0, 0x5C, 0x0, 0xC, 0x0, 0x12, 0x2, 0x6F, 0xFF, 0xA7, 0x2, 0x7C, 0x0, 0x10, 0x2, 0x81, 0xFF, 0xD6, 0x2, 0x83, 0xFF, 0x83, 0x2, 0x85, 0xFF, 0xB6, 0x2, 0x93, 0xFF, 0xD9, 0x2, 0x97, 0xFF, 0xBD, 0x2, 0x9D, 0xFF, 0xCC, 0x2, 0xB2, 0xFF, 0xBC, 0x2, 0xC5, 0xFF, 0xCC, 0x2, 0xC7, 0xFF, 0xD5, 0x2, 0xCF, 0xFF, 0xD6, 0x2, 0xD7, 0xFF, 0xD6, 0x2, 0xE1, 0xFF, 0xDD, 0x2, 0xE4, 0xFF, 0xD7, 0x2, 0xF6, 0xFF, 0x91, 0x3, 0x0, 0xFF, 0xDC, 0x3, 0x3, 0x0, 0x16, 0x0, 0x2, 0x2, 0x83, 0xFF, 0x77, 0x2, 0xB2, 0xFF, 0xFB, 0x0, 0xA, 0x2, 0x7C, 0xFF, 0xCC, 0x2, 0x8C, 0xFF, 0xC7, 0x2, 0x94, 0xFF, 0xE3, 0x2, 0xD1, 0xFF, 0xBF, 0x2, 0xE0, 0xFF, 0xD7, 0x2, 0xE3, 0xFF, 0xDC, 0x2, 0xF9, 0xFF, 0xCA, 0x2, 0xFB, 0xFF, 0xEA, 0x3, 0x3, 0xFF, 0x75, 0x3, 0x4, 0xFF, 0xCA, 0x0, 0x31, 0x0, 0x57, 0xFF, 0x75, 0x0, 0x5C, 0xFF, 0x96, 0x0, 0x6E, 0xFE, 0xDB, 0x0, 0x7D, 0xFE, 0xDF, 0x0, 0x82, 0xFE, 0xA6, 0x0, 0x87, 0xFF, 0x51, 0x0, 0x8A, 0xFF, 0x3D, 0x2, 0x37, 0xFF, 0x67, 0x2, 0x3D, 0xFF, 0xEE, 0x2, 0x3E, 0xFE, 0xFC, 0x2, 0x42, 0xFF, 0x2E, 0x2, 0x45, 0xFF, 0x3C, 0x2, 0x46, 0xFE, 0xF3, 0x2, 0x49, 0xFF, 0x6B, 0x2, 0x4B, 0xFE, 0xFC, 0x2, 0x4C, 0xFE, 0xFB, 0x2, 0x4D, 0xFE, 0xF8, 0x2, 0x6F, 0xFF, 0x57, 0x2, 0x7C, 0x0, 0x7, 0x2, 0x80, 0xFF, 0xB9, 0x2, 0x81, 0xFF, 0x3B, 0x2, 0x83, 0xFE, 0xE9, 0x2, 0x85, 0xFF, 0x0, 0x2, 0x8C, 0xFF, 0x5D, 0x2, 0x93, 0xFE, 0xFB, 0x2, 0x94, 0xFF, 0x9D, 0x2, 0x95, 0xFF, 0x0, 0x2, 0x97, 0xFE, 0xF3, 0x2, 0x98, 0x0, 0x1F, 0x2, 0x9D, 0xFE, 0xFB, 0x2, 0x9F, 0xFE, 0xFE, 0x2, 0xB2, 0xFE, 0xF1, 0x2, 0xB6, 0xFF, 0xA7, 0x2, 0xC5, 0xFF, 0x2, 0x2, 0xC7, 0xFF, 0x2C, 0x2, 0xCF, 0xFE, 0xFB, 0x2, 0xD1, 0xFF, 0x5E, 0x2, 0xD7, 0xFF, 0x3B, 0x2, 0xE1, 0xFE, 0xF8, 0x2, 0xE3, 0xFF, 0x30, 0x2, 0xE4, 0xFE, 0xDB, 0x2, 0xEF, 0xFF, 0xBC, 0x2, 0xF6, 0xFE, 0xD9, 0x2, 0xFA, 0xFF, 0x21, 0x2, 0xFC, 0xFF, 0x53, 0x3, 0x0, 0xFE, 0xF6, 0x3, 0x3, 0x0, 0x7, 0x3, 0x4, 0xFF, 0x20, 0x3, 0x5, 0xFF, 0xD3, 0x0, 0x8, 0x2, 0x8C, 0xFF, 0xEF, 0x2, 0x94, 0xFF, 0xF6, 0x2, 0x9F, 0xFF, 0xF0, 0x2, 0xB6, 0xFF, 0xF2, 0x2, 0xD1, 0xFF, 0xE2, 0x2, 0xFA, 0xFF, 0xF2, 0x2, 0xFC, 0xFF, 0xF2, 0x3, 0x4, 0xFF, 0xF0, 0x0, 0x2, 0x2, 0xA7, 0x0, 0x7, 0x3, 0x3, 0xFF, 0xE4, 0x0, 0x4, 0x0, 0xE, 0xFF, 0xE4, 0x0, 0x42, 0xFF, 0xF8, 0x0, 0x62, 0xFF, 0xF5, 0x2, 0xE4, 0xFF, 0xEC, 0x0, 0x2, 0x2, 0x8C, 0xFF, 0xF4, 0x4, 0x63, 0xFF, 0xB5, 0x0, 0x13, 0x0, 0x5C, 0xFF, 0xBC, 0x2, 0x37, 0xFF, 0xC0, 0x2, 0x49, 0xFF, 0xAD, 0x2, 0x80, 0xFF, 0xD3, 0x2, 0x8C, 0xFF, 0xB3, 0x2, 0x94, 0xFF, 0xF1, 0x2, 0x9F, 0xFF, 0xAB, 0x2, 0xB2, 0xFF, 0xCE, 0x2, 0xB6, 0xFF, 0xC3, 0x2, 0xD1, 0xFF, 0x83, 0x2, 0xE1, 0xFF, 0xA8, 0x2, 0xEF, 0xFF, 0xDB, 0x2, 0xFA, 0xFF, 0xAB, 0x2, 0xFC, 0xFF, 0xA8, 0x3, 0x4, 0xFF, 0xAE, 0x3, 0x5, 0xFF, 0xEE, 0x7, 0x57, 0xFF, 0xE5, 0x7, 0x61, 0xFF, 0xE4, 0x7, 0xAF, 0xFF, 0xE6, 0x0, 0x6, 0x0, 0x5, 0xFF, 0xF5, 0x0, 0x5C, 0xFF, 0xB3, 0x7, 0x52, 0xFF, 0xB2, 0x7, 0x57, 0xFF, 0xF1, 0x7, 0x61, 0xFF, 0xF0, 0x7, 0xAF, 0xFF, 0xF2, 0x0, 0x4, 0x0, 0x4B, 0x0, 0x17, 0x0, 0x59, 0x0, 0x32, 0x0, 0x5C, 0x0, 0x16, 0x4, 0x63, 0x0, 0xA, 0x0, 0x35, 0x0, 0x5, 0xFF, 0xCE, 0x0, 0x57, 0xFF, 0xB9, 0x0, 0x5C, 0xFF, 0xCD, 0x0, 0x6E, 0xFF, 0x5F, 0x0, 0x7D, 0xFF, 0x61, 0x0, 0x82, 0xFF, 0x40, 0x0, 0x87, 0xFF, 0xA5, 0x0, 0x8A, 0xFF, 0x99, 0x2, 0x37, 0xFF, 0xB2, 0x2, 0x3D, 0xFF, 0xFA, 0x2, 0x3E, 0xFF, 0x73, 0x2, 0x42, 0xFF, 0x6F, 0x2, 0x45, 0xFF, 0x92, 0x2, 0x46, 0xFF, 0x6D, 0x2, 0x49, 0xFF, 0xAB, 0x2, 0x4B, 0xFF, 0x73, 0x2, 0x4C, 0xFF, 0x72, 0x2, 0x4D, 0xFF, 0x70, 0x2, 0x6F, 0xFF, 0xA8, 0x2, 0x7C, 0x0, 0x10, 0x2, 0x80, 0xFF, 0xE2, 0x2, 0x81, 0xFF, 0x98, 0x2, 0x83, 0xFF, 0x68, 0x2, 0x85, 0xFF, 0x75, 0x2, 0x8C, 0xFF, 0xAB, 0x2, 0x93, 0xFF, 0x72, 0x2, 0x94, 0xFF, 0xCD, 0x2, 0x95, 0xFF, 0x75, 0x2, 0x97, 0xFF, 0x6D, 0x2, 0x98, 0x0, 0x1A, 0x2, 0x9D, 0xFF, 0x72, 0x2, 0x9F, 0xFF, 0x74, 0x2, 0xB2, 0xFF, 0x6E, 0x2, 0xB6, 0xFF, 0xD7, 0x2, 0xC5, 0xFF, 0x76, 0x2, 0xC7, 0xFF, 0x8F, 0x2, 0xCF, 0xFF, 0x72, 0x2, 0xD1, 0xFF, 0xAC, 0x2, 0xD7, 0xFF, 0x98, 0x2, 0xE1, 0xFF, 0x70, 0x2, 0xE3, 0xFF, 0x91, 0x2, 0xE4, 0xFF, 0x5F, 0x2, 0xEF, 0xFF, 0xE4, 0x2, 0xF6, 0xFF, 0x5E, 0x2, 0xFA, 0xFF, 0x89, 0x2, 0xFC, 0xFF, 0xA6, 0x3, 0x0, 0xFF, 0x6F, 0x3, 0x3, 0x0, 0x10, 0x3, 0x4, 0xFF, 0x88, 0x3, 0x5, 0xFF, 0xF1, 0x7, 0x57, 0xFF, 0xB3, 0x7, 0x61, 0xFF, 0xB3, 0x7, 0xAF, 0xFF, 0xB3, 0x0, 0x7, 0x0, 0xE, 0x0, 0x16, 0x0, 0x42, 0x0, 0x12, 0x0, 0x57, 0xFF, 0xE0, 0x0, 0x62, 0x0, 0x14, 0x7, 0x57, 0xFF, 0xD6, 0x7, 0x61, 0xFF, 0xD6, 0x7, 0xAF, 0xFF, 0xD6, 0x0, 0x7, 0x0, 0xE, 0x0, 0x10, 0x0, 0x42, 0x0, 0xD, 0x0, 0x57, 0xFF, 0xE9, 0x0, 0x62, 0x0, 0xF, 0x7, 0x57, 0xFF, 0xE5, 0x7, 0x61, 0xFF, 0xE5, 0x7, 0xAF, 0xFF, 0xE7, 0x0, 0x17, 0x2, 0x37, 0xFF, 0xD0, 0x2, 0x3D, 0xFF, 0xF9, 0x2, 0x41, 0xFF, 0xEC, 0x2, 0x43, 0x0, 0x12, 0x2, 0x49, 0xFF, 0xBE, 0x2, 0x4B, 0xFF, 0xDA, 0x2, 0x4C, 0xFF, 0xDC, 0x2, 0x4D, 0xFF, 0xE2, 0x2, 0x6F, 0x0, 0x17, 0x2, 0x80, 0xFF, 0xE7, 0x2, 0x8C, 0xFF, 0xCC, 0x2, 0xD1, 0xFF, 0xB7, 0x2, 0xE1, 0xFF, 0xC1, 0x2, 0xE3, 0xFF, 0xD2, 0x2, 0xE4, 0xFF, 0xC0, 0x2, 0xEF, 0xFF, 0xE5, 0x2, 0xF9, 0x0, 0xE, 0x2, 0xFB, 0x0, 0xD, 0x3, 0x4, 0xFF, 0xBD, 0x3, 0x5, 0xFF, 0xF1, 0x7, 0x57, 0xFF, 0xE7, 0x7, 0x61, 0xFF, 0xE5, 0x7, 0xAF, 0xFF, 0xE7, 0x0, 0x1, 0x2, 0xB2, 0xFF, 0xF0, 0x0, 0x6, 0x0, 0x5C, 0xFF, 0xE3, 0x2, 0x37, 0xFF, 0xC6, 0x2, 0x4C, 0xFF, 0xE2, 0x7, 0x57, 0xFF, 0xEA, 0x7, 0x61, 0xFF, 0xE9, 0x7, 0xAF, 0xFF, 0xEC, 0x0, 0x7, 0x0, 0x4B, 0x0, 0xE, 0x2, 0x3D, 0xFF, 0xF8, 0x2, 0x45, 0x0, 0xC, 0x2, 0x46, 0xFF, 0xE8, 0x2, 0x49, 0x0, 0xD, 0x2, 0x83, 0xFF, 0xBC, 0x2, 0xB2, 0xFF, 0xF0, 0x0, 0xA, 0x0, 0x59, 0xFF, 0xFC, 0x2, 0x49, 0xFF, 0xE8, 0x2, 0x83, 0xFF, 0xC0, 0x2, 0x8C, 0xFF, 0xE3, 0x2, 0x9F, 0xFF, 0xEF, 0x2, 0xB6, 0xFF, 0xF0, 0x2, 0xD1, 0xFF, 0xE2, 0x2, 0xFA, 0xFF, 0xF4, 0x3, 0x4, 0xFF, 0xEA, 0x4, 0x63, 0xFF, 0x98, 0x0, 0x18, 0x0, 0x24, 0xFF, 0xB1, 0x0, 0x59, 0xFF, 0xEE, 0x0, 0x5C, 0xFF, 0xDC, 0x0, 0xC3, 0xFF, 0xED, 0x2, 0x37, 0xFF, 0xE3, 0x2, 0x38, 0xFF, 0xCD, 0x2, 0x43, 0x0, 0x1F, 0x2, 0x49, 0xFF, 0xC3, 0x2, 0x6F, 0x0, 0x14, 0x2, 0x7C, 0xFF, 0xDA, 0x2, 0x8C, 0xFF, 0xB8, 0x2, 0x94, 0xFF, 0xE1, 0x2, 0xD1, 0xFF, 0x87, 0x2, 0xE0, 0xFF, 0x5D, 0x2, 0xE1, 0xFF, 0x83, 0x2, 0xE3, 0xFF, 0x84, 0x2, 0xE4, 0xFF, 0xDA, 0x2, 0xEF, 0xFF, 0xF1, 0x2, 0xF9, 0xFF, 0xAA, 0x2, 0xFB, 0xFF, 0xC5, 0x3, 0x3, 0xFF, 0x81, 0x3, 0x4, 0xFF, 0xA6, 0x7, 0x52, 0xFF, 0xC9, 0x7, 0x61, 0xFF, 0xF4, 0x0, 0x2, 0x2, 0x8C, 0xFF, 0xDF, 0x4, 0x63, 0xFF, 0x90, 0x0, 0x3, 0x0, 0x4B, 0xFF, 0xF4, 0x0, 0x5C, 0xFF, 0xE8, 0x7, 0x52, 0xFF, 0xEF, 0x0, 0x8, 0x2, 0x6F, 0x0, 0xE, 0x2, 0x83, 0x0, 0xE, 0x2, 0xE0, 0xFF, 0xEE, 0x2, 0xE1, 0xFF, 0xEE, 0x2, 0xE3, 0xFF, 0xEE, 0x2, 0xF9, 0xFF, 0xED, 0x2, 0xFB, 0xFF, 0xEC, 0x3, 0x3, 0xFF, 0xEE, 0x0, 0x6, 0x2, 0x49, 0xFF, 0xE8, 0x2, 0x83, 0xFF, 0xDB, 0x2, 0x8C, 0xFF, 0xD7, 0x2, 0x94, 0xFF, 0xF4, 0x2, 0xD1, 0xFF, 0xEA, 0x3, 0x4, 0xFF, 0xEA, 0x0, 0x1E, 0x0, 0xB, 0xFF, 0xD5, 0x0, 0xE, 0x0, 0x16, 0x0, 0xF, 0xFF, 0xBD, 0x0, 0x42, 0x0, 0x13, 0x0, 0x4B, 0xFF, 0xE1, 0x0, 0x57, 0xFF, 0xCD, 0x0, 0x59, 0xFF, 0xE5, 0x0, 0x62, 0x0, 0x14, 0x0, 0x6E, 0xFF, 0x9C, 0x0, 0x7D, 0xFF, 0xC9, 0x0, 0x82, 0xFF, 0x8D, 0x0, 0x87, 0xFF, 0xB5, 0x0, 0x8A, 0xFF, 0xB3, 0x2, 0x37, 0xFF, 0xC8, 0x2, 0x3B, 0xFF, 0xE5, 0x2, 0x3D, 0xFF, 0xF8, 0x2, 0x3E, 0xFF, 0xB0, 0x2, 0x3F, 0x0, 0xE, 0x2, 0x41, 0xFF, 0xE7, 0x2, 0x42, 0xFF, 0xC8, 0x2, 0x45, 0xFF, 0xD4, 0x2, 0x46, 0xFF, 0x9F, 0x2, 0x49, 0xFF, 0xE0, 0x2, 0x4B, 0xFF, 0xC3, 0x2, 0x4C, 0xFF, 0xD3, 0x2, 0x4D, 0xFF, 0xB8, 0x4, 0x6C, 0xFF, 0xB7, 0x7, 0x57, 0xFF, 0xBC, 0x7, 0x61, 0xFF, 0xBC, 0x7, 0xAF, 0xFF, 0xBE, 0x0, 0x8, 0x0, 0x59, 0x0, 0xF, 0x0, 0x82, 0xFF, 0x15, 0x2, 0x3D, 0xFF, 0xFB, 0x2, 0x43, 0xFF, 0xAE, 0x2, 0x46, 0xFF, 0xBA, 0x2, 0x6F, 0xFF, 0x2A, 0x2, 0x83, 0xFF, 0x4D, 0x2, 0xF6, 0xFF, 0xD4, 0x0, 0x7, 0x0, 0x82, 0xFF, 0xD2, 0x2, 0x34, 0xFF, 0xF2, 0x2, 0x36, 0xFF, 0xEF, 0x2, 0x43, 0xFF, 0xE8, 0x2, 0x6F, 0xFF, 0xD2, 0x2, 0x7C, 0xFF, 0xEB, 0x3, 0x3, 0xFF, 0xDD, 0x0, 0x1, 0x7, 0x57, 0xFF, 0xE9, 0x0, 0x4, 0x7, 0x52, 0xFF, 0xBB, 0x7, 0x57, 0xFF, 0xF1, 0x7, 0x61, 0xFF, 0xF1, 0x7, 0xAF, 0xFF, 0xF1, 0x0, 0x1, 0x7, 0x52, 0xFF, 0xF0, 0x0, 0x1, 0x7, 0x52, 0x0, 0xE, 0x0, 0x2, 0xB, 0x56, 0x0, 0x4, 0x0, 0x0, 0x11, 0xBE, 0x1F, 0xD8, 0x0, 0x27, 0x0, 0x25, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xC, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xFF, 0xED, 0xFF, 0xEE, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xB, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xB, 0x0, 0x0, 0x0, 0xB, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xFF, 0xEE, 0xFF, 0xEE, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xFF, 0xE8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xFF, 0xB7, 0xFF, 0xD6, 0xFF, 0xEC, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xFF, 0xE0, 0x0, 0x0, 0xFF, 0xE7, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xFF, 0xD8, 0xFF, 0x96, 0x0, 0x0, 0xFF, 0xF4, 0xFF, 0xE7, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xFF, 0xE8, 0xFF, 0xE1, 0xFF, 0xF8, 0xFF, 0xF4, 0x0, 0x0, 0x0, 0x0, 0xFF, 0xF4, 0xFF, 0xCA, 0xFF, 0xEE, 0xFF, 0x84, 0xFF, 0x53, 0x0, 0x0, 0x0, 0x0, 0x0, 0xD, 0x0, 0x0, 0x0, 0x0, 0xFF, 0xF0, 0x0, 0x0, 0xFF, 0x6F, 0x0, 0x0, 0xFF, 0xD6, 0xFF, 0xA0, 0xFF, 0xC2, 0x0, 0x12, 0x0, 0x0, 0x0, 0x13, 0x0, 0x0, 0xFF, 0x9C, 0x0, 0x0, 0x0, 0x0, 0xFF, 0x7A, 0xFF, 0xC6, 0x0, 0x0, 0x0, 0x0, 0xFF, 0xDA, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xFF, 0xF0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xFF, 0xEF, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xFF, 0xA8, 0xFF, 0xE6, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xFF, 0xEF, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xFF, 0xB3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xFF, 0xF0, 0x0, 0x0, 0x0, 0x0, 0xFF, 0xEC, 0xFF, 0xEE, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xFF, 0xE4, 0x0, 0x0, 0x0, 0x14, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xFF, 0xEF, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xE, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xFF, 0xEC, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xFF, 0xF0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xFF, 0xE0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xFF, 0xF4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xFF, 0xF0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xFF, 0xDA, 0xFF, 0xF0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xFF, 0xF1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xFF, 0xF2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xFF, 0xE6, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xFF, 0xF2, 0x0, 0x0, 0x0, 0x0, 0xFF, 0xF0, 0x0, 0x0, 0x0, 0x0, 0xFF, 0xF0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xA, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xFF, 0x66, 0xFF, 0xD0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xFF, 0xE8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xFF, 0xE9, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xFF, 0xE4, 0xFF, 0xD4, 0xFF, 0xF6, 0xFF, 0xE3, 0xFF, 0xE7, 0x0, 0x0, 0x0, 0x0, 0xFF, 0xE5, 0xFF, 0xD4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xFF, 0x5A, 0x0, 0x0, 0xFF, 0x9B, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xFF, 0xA1, 0xFF, 0xDF, 0xFF, 0xC6, 0xFF, 0x9A, 0xFF, 0xC8, 0xFF, 0x66, 0xFF, 0xB1, 0xFF, 0xBC, 0xFF, 0xEA, 0xFF, 0xB0, 0x0, 0x12, 0x0, 0x13, 0xFF, 0x8F, 0xFF, 0xA9, 0xFF, 0xDC, 0xFF, 0xEF, 0x0, 0x8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xFF, 0xE4, 0x0, 0x12, 0x0, 0x0, 0xFF, 0xF2, 0x0, 0x0, 0xFF, 0x11, 0x0, 0x0, 0xFF, 0xEE, 0x0, 0x13, 0x0, 0x0, 0xFF, 0x71, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xFF, 0x83, 0xFF, 0xF2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xFF, 0xE8, 0xFF, 0xED, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xFF, 0xEA, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xFF, 0x9F, 0xFF, 0xDC, 0xFF, 0xAA, 0xFF, 0x56, 0xFF, 0xB9, 0xFF, 0x84, 0xFF, 0x6F, 0xFF, 0xB3, 0xFF, 0xA7, 0x0, 0x0, 0x0, 0x11, 0x0, 0x11, 0xFF, 0x8C, 0xFF, 0xAD, 0xFF, 0xBF, 0xFF, 0xEF, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xFF, 0xAC, 0x0, 0x10, 0x0, 0x0, 0xFF, 0xF0, 0xFF, 0xC6, 0xFE, 0xFC, 0xFF, 0x73, 0xFF, 0xEC, 0x0, 0x11, 0xFF, 0xB6, 0xFF, 0x11, 0x0, 0x0, 0xFF, 0x70, 0x0, 0x0, 0xFF, 0x28, 0xFF, 0xF0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xFF, 0xF1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xFF, 0xEA, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xFF, 0xB2, 0xFF, 0xB3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xFF, 0xD4, 0x0, 0x0, 0xFF, 0xEF, 0x0, 0x0, 0x0, 0x0, 0xFF, 0xEF, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xFF, 0xE9, 0xFF, 0xE4, 0x0, 0x0, 0xFF, 0xE9, 0xFF, 0xEC, 0x0, 0xE, 0x0, 0x0, 0xFF, 0xEA, 0xFF, 0xE3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xE, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xFF, 0xE4, 0xFF, 0xDE, 0x0, 0x0, 0xFF, 0xE6, 0xFF, 0xE9, 0x0, 0x0, 0x0, 0x0, 0xFF, 0xE5, 0xFF, 0xD8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x12, 0x0, 0x0, 0x0, 0x12, 0x0, 0x0, 0x0, 0xF, 0x0, 0x0, 0xFF, 0x56, 0x0, 0x0, 0xFF, 0xC3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xFF, 0xE1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xFF, 0xEA, 0x0, 0x0, 0x0, 0x0, 0xFF, 0xD9, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xFF, 0xF4, 0x0, 0x0, 0x0, 0x0, 0xFF, 0xE9, 0x0, 0x0, 0x0, 0x0, 0xFF, 0xEC, 0x0, 0x0, 0x0, 0x17, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x11, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xFF, 0x5F, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xFF, 0xF2, 0x0, 0x0, 0x0, 0x0, 0xFF, 0xF2, 0x0, 0x0, 0xFF, 0x53, 0xFF, 0xF4, 0x0, 0x0, 0x0, 0x10, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xFF, 0x71, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xFF, 0xC1, 0x0, 0x0, 0xFF, 0xDB, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xFF, 0x6A, 0xFE, 0x76, 0xFF, 0xA4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xFF, 0x2F, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xFF, 0xE6, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xFF, 0xBE, 0x0, 0x0, 0x0, 0x0, 0xFF, 0xF1, 0x0, 0x14, 0x0, 0x0, 0xFF, 0xF1, 0xFF, 0x7D, 0xFF, 0xE6, 0xFF, 0x2F, 0xFE, 0xEF, 0x0, 0x14, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xFF, 0xED, 0x0, 0x0, 0xFE, 0xE8, 0x0, 0x0, 0xFF, 0x97, 0xFF, 0xB1, 0xFF, 0xB7, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xFF, 0x2E, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xFF, 0xD3, 0x0, 0x0, 0xFF, 0xB6, 0x0, 0x0, 0xFF, 0xEA, 0xFF, 0xA7, 0x0, 0x0, 0xFF, 0x6F, 0xFF, 0xBF, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xFF, 0xA6, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xFF, 0xD8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xFF, 0xF1, 0x0, 0x0, 0x0, 0x0, 0xFF, 0xF1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xFF, 0xD4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xFF, 0xDF, 0x0, 0x0, 0x0, 0x0, 0xFF, 0xDF, 0xFF, 0xEC, 0xFF, 0xC7, 0xFF, 0xDC, 0xFF, 0xE5, 0x0, 0x0, 0x0, 0x0, 0x0, 0xF, 0x0, 0x0, 0xFF, 0xB5, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xFF, 0x65, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xFF, 0xB1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xFF, 0xF2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xFF, 0xE3, 0xFF, 0xA6, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xFF, 0xE6, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xFF, 0xDC, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xFF, 0xD0, 0xFF, 0xED, 0x0, 0x0, 0xFF, 0xCE, 0xFF, 0xE2, 0xFF, 0x9D, 0xFF, 0xCE, 0xFF, 0xD6, 0xFF, 0xF4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xFF, 0x91, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xFF, 0x29, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xFF, 0x7E, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xFF, 0xE9, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xFF, 0xB2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xFF, 0x66, 0xFF, 0xEE, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xFF, 0xE5, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xFF, 0x70, 0xFF, 0x78, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xFF, 0xE4, 0x0, 0x0, 0x0, 0x0, 0xFF, 0xB3, 0xFF, 0xC4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xFF, 0xFB, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xFF, 0xA7, 0x0, 0x0, 0x0, 0x0, 0xFF, 0xC9, 0x0, 0x0, 0xFF, 0xBC, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xFE, 0xE3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xFF, 0x48, 0xFF, 0xB9, 0xFF, 0x5A, 0xFF, 0x5B, 0xFF, 0x75, 0xFF, 0x3A, 0xFF, 0x53, 0x0, 0x0, 0xFF, 0x55, 0x0, 0x0, 0x0, 0x9, 0x0, 0x9, 0x0, 0x0, 0xFF, 0x60, 0xFF, 0x7D, 0xFF, 0xCF, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xFF, 0x5E, 0x0, 0x7, 0x0, 0x0, 0x0, 0x0, 0xFF, 0x8A, 0xFE, 0x61, 0xFE, 0xFC, 0x0, 0x0, 0x0, 0x9, 0x0, 0x0, 0xFE, 0x57, 0x0, 0x0, 0xFE, 0xF8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xE, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xFF, 0xEE, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xFF, 0xEA, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xFF, 0xAD, 0xFF, 0xB5, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xFF, 0xD1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xFF, 0xC2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xFF, 0xE4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xFF, 0xB4, 0xFF, 0xE0, 0xFF, 0xB8, 0xFF, 0xAD, 0x0, 0x0, 0xFF, 0x85, 0xFF, 0xA4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x13, 0x0, 0x1E, 0x0, 0x0, 0xFF, 0xC4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xFF, 0xBB, 0xFE, 0xAB, 0xFF, 0xAE, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xFF, 0x44, 0x0, 0x0, 0xFF, 0xE0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x3, 0x32, 0x0, 0x7, 0x0, 0xC, 0x0, 0x11, 0x0, 0x12, 0x0, 0x13, 0x0, 0x26, 0x0, 0x27, 0x0, 0x28, 0x0, 0x29, 0x0, 0x2A, 0x0, 0x2D, 0x0, 0x2E, 0x0, 0x2F, 0x0, 0x30, 0x0, 0x31, 0x0, 0x32, 0x0, 0x33, 0x0, 0x34, 0x0, 0x35, 0x0, 0x39, 0x0, 0x3A, 0x0, 0x3B, 0x0, 0x3C, 0x0, 0x3D, 0x0, 0x3E, 0x0, 0x3F, 0x0, 0x46, 0x0, 0x47, 0x0, 0x48, 0x0, 0x4A, 0x0, 0x4D, 0x0, 0x52, 0x0, 0x53, 0x0, 0x54, 0x0, 0x55, 0x0, 0x57, 0x0, 0x5B, 0x0, 0x5D, 0x0, 0x5E, 0x0, 0x5F, 0x0, 0x8B, 0x0, 0x97, 0x0, 0x9A, 0x0, 0x9C, 0x0, 0x9D, 0x0, 0xA0, 0x0, 0xA1, 0x0, 0xA2, 0x0, 0xA5, 0x0, 0xA6, 0x0, 0xAE, 0x0, 0xB2, 0x0, 0xB3, 0x0, 0xB6, 0x0, 0xB8, 0x0, 0xC2, 0x0, 0xCA, 0x0, 0xD8, 0x0, 0xD9, 0x0, 0xDA, 0x0, 0xED, 0x0, 0xEE, 0x0, 0xF2, 0x0, 0xF8, 0x0, 0xFA, 0x1, 0x2, 0x1, 0x3, 0x2, 0x27, 0x2, 0x29, 0x2, 0x2A, 0x2, 0x2B, 0x2, 0x30, 0x2, 0x31, 0x2, 0x32, 0x2, 0x33, 0x2, 0x3C, 0x2, 0x40, 0x2, 0x46, 0x2, 0x4E, 0x2, 0x55, 0x2, 0x56, 0x2, 0x60, 0x2, 0x62, 0x2, 0x64, 0x2, 0x65, 0x2, 0x66, 0x2, 0x67, 0x2, 0x6A, 0x2, 0x6B, 0x2, 0x6D, 0x2, 0x70, 0x2, 0x72, 0x2, 0x73, 0x2, 0x74, 0x2, 0x76, 0x2, 0x77, 0x2, 0x78, 0x2, 0x79, 0x2, 0x7A, 0x2, 0x7B, 0x2, 0x7C, 0x2, 0x82, 0x2, 0x84, 0x2, 0x8D, 0x2, 0x92, 0x2, 0x94, 0x2, 0x95, 0x2, 0x9A, 0x2, 0x9B, 0x2, 0xA0, 0x2, 0xA3, 0x2, 0xAE, 0x2, 0xAF, 0x2, 0xB0, 0x2, 0xC5, 0x2, 0xC6, 0x2, 0xC7, 0x2, 0xCA, 0x2, 0xCB, 0x2, 0xCC, 0x2, 0xCE, 0x2, 0xD0, 0x2, 0xD2, 0x2, 0xDA, 0x2, 0xDB, 0x2, 0xEB, 0x2, 0xED, 0x2, 0xEF, 0x2, 0xF3, 0x2, 0xF4, 0x2, 0xF5, 0x3, 0x8, 0x3, 0x9, 0x3, 0xA, 0x3, 0xB, 0x3, 0xC, 0x3, 0xD, 0x3, 0xE, 0x3, 0x14, 0x3, 0x18, 0x3, 0x1A, 0x4, 0x2B, 0x4, 0x2D, 0x4, 0x34, 0x4, 0x5E, 0x4, 0x5F, 0x4, 0x62, 0x4, 0x63, 0x4, 0x64, 0x4, 0x65, 0x4, 0x66, 0x4, 0x67, 0x4, 0x68, 0x4, 0x6F, 0x4, 0x70, 0x5, 0x59, 0x5, 0x5B, 0x5, 0x5D, 0x5, 0x5E, 0x5, 0x5F, 0x5, 0x61, 0x5, 0x62, 0x5, 0x64, 0x5, 0x66, 0x5, 0x6A, 0x5, 0x70, 0x5, 0xD9, 0x5, 0xDA, 0x5, 0xDB, 0x5, 0xDC, 0x5, 0xE5, 0x5, 0xE7, 0x5, 0xE8, 0x5, 0xEB, 0x5, 0xEC, 0x5, 0xEF, 0x5, 0xF0, 0x5, 0xF1, 0x5, 0xF9, 0x5, 0xFD, 0x5, 0xFE, 0x5, 0xFF, 0x6, 0x0, 0x6, 0x1, 0x6, 0x2, 0x6, 0x3, 0x6, 0x4, 0x6, 0x5, 0x6, 0x6, 0x6, 0x25, 0x6, 0x26, 0x6, 0x29, 0x6, 0x2A, 0x6, 0x2E, 0x6, 0x31, 0x6, 0x32, 0x6, 0x33, 0x6, 0x5F, 0x6, 0x6A, 0x6, 0x6C, 0x6, 0x6E, 0x6, 0x70, 0x6, 0x71, 0x6, 0x72, 0x6, 0x73, 0x6, 0x75, 0x6, 0x76, 0x6, 0x78, 0x6, 0x7A, 0x6, 0x7C, 0x6, 0x86, 0x6, 0x87, 0x6, 0x88, 0x6, 0x89, 0x6, 0x8A, 0x6, 0x8B, 0x6, 0x8C, 0x6, 0x8D, 0x6, 0x96, 0x6, 0x97, 0x6, 0x9D, 0x6, 0x9F, 0x6, 0xBB, 0x6, 0xC7, 0x6, 0xC9, 0x6, 0xCD, 0x6, 0xCE, 0x6, 0xE1, 0x7, 0x54, 0x7, 0x59, 0x7, 0x5C, 0x7, 0x5D, 0x7, 0x67, 0x7, 0x68, 0x7, 0x69, 0x7, 0x7B, 0x7, 0x8A, 0x7, 0x8B, 0x7, 0x8C, 0x7, 0xAE, 0x7, 0xB1, 0x7, 0xCF, 0x7, 0xD1, 0x7, 0xD2, 0x8, 0xC7, 0x8, 0xC8, 0x8, 0xC9, 0x8, 0xCB, 0x8, 0xCD, 0x8, 0xCE, 0x8, 0xCF, 0x8, 0xD0, 0x8, 0xD1, 0x8, 0xD2, 0x8, 0xD3, 0x8, 0xD4, 0x8, 0xD5, 0x8, 0xD6, 0x8, 0xD7, 0x8, 0xD8, 0x8, 0xD9, 0x8, 0xDA, 0x8, 0xDB, 0x8, 0xDC, 0x8, 0xDD, 0x8, 0xDE, 0x8, 0xDF, 0x8, 0xE0, 0x8, 0xE1, 0x8, 0xE2, 0x8, 0xE3, 0x8, 0xE4, 0x8, 0xE5, 0x8, 0xE6, 0x8, 0xE7, 0x8, 0xE8, 0x8, 0xE9, 0x8, 0xEA, 0x8, 0xEB, 0x8, 0xEC, 0x8, 0xED, 0x8, 0xEE, 0x8, 0xEF, 0x8, 0xF0, 0x8, 0xF1, 0x8, 0xF2, 0x8, 0xF3, 0x8, 0xF8, 0x8, 0xF9, 0x8, 0xFA, 0x8, 0xFB, 0x8, 0xFC, 0x8, 0xFD, 0x9, 0x2, 0x9, 0x3, 0x9, 0x4, 0x9, 0x5, 0x9, 0x6, 0x9, 0x7, 0x9, 0x8, 0x9, 0x9, 0x9, 0xA, 0x9, 0xB, 0x9, 0xC, 0x9, 0xD, 0x9, 0xE, 0x9, 0xF, 0x9, 0x10, 0x9, 0x11, 0x9, 0x12, 0x9, 0x14, 0x9, 0x15, 0x9, 0x16, 0x9, 0x17, 0x9, 0x18, 0x9, 0x19, 0x9, 0x1A, 0x9, 0x1B, 0x9, 0x1C, 0x9, 0x1D, 0x9, 0x26, 0x9, 0x27, 0x9, 0x28, 0x9, 0x2A, 0x9, 0x2C, 0x9, 0x2E, 0x9, 0x30, 0x9, 0x33, 0x9, 0x35, 0x9, 0x37, 0x9, 0x39, 0x9, 0x3B, 0x9, 0x3D, 0x9, 0x3F, 0x9, 0x40, 0x9, 0x41, 0x9, 0x42, 0x9, 0x43, 0x9, 0x44, 0x9, 0x45, 0x9, 0x46, 0x9, 0x47, 0x9, 0x48, 0x9, 0x49, 0x9, 0x4A, 0x9, 0x4B, 0x9, 0x4D, 0x9, 0x4F, 0x9, 0x51, 0x9, 0x5C, 0x9, 0x5E, 0x9, 0x60, 0x9, 0x62, 0x9, 0x64, 0x9, 0x66, 0x9, 0x68, 0x9, 0x6A, 0x9, 0x6C, 0x9, 0x6E, 0x9, 0x70, 0x9, 0x71, 0x9, 0x72, 0x9, 0x73, 0x9, 0x74, 0x9, 0x75, 0x9, 0x76, 0x9, 0x77, 0x9, 0x78, 0x9, 0x7D, 0x9, 0x7E, 0x9, 0x7F, 0x9, 0x80, 0x9, 0x81, 0x9, 0x82, 0x9, 0x83, 0x9, 0x84, 0x9, 0x85, 0x9, 0x86, 0x9, 0x91, 0x9, 0x92, 0x9, 0x93, 0x9, 0x94, 0x9, 0x95, 0x9, 0x9B, 0x9, 0x9C, 0x9, 0x9D, 0x9, 0xA2, 0x9, 0xB3, 0x9, 0xB4, 0x9, 0xB5, 0x9, 0xB6, 0x9, 0xB7, 0x9, 0xBB, 0x9, 0xBC, 0x9, 0xBD, 0x9, 0xBE, 0x9, 0xC7, 0x9, 0xD5, 0x9, 0xD6, 0x9, 0xD7, 0x9, 0xD8, 0x9, 0xD9, 0x9, 0xDA, 0x9, 0xDD, 0x9, 0xDE, 0x9, 0xDF, 0x9, 0xE0, 0x9, 0xE1, 0x9, 0xE2, 0x9, 0xE3, 0x9, 0xE4, 0x9, 0xE5, 0x9, 0xE6, 0x9, 0xE7, 0x9, 0xE8, 0x9, 0xE9, 0x9, 0xEA, 0x9, 0xEB, 0x9, 0xEC, 0x9, 0xEF, 0x9, 0xF3, 0x9, 0xF5, 0x9, 0xF9, 0x9, 0xFC, 0x9, 0xFD, 0x9, 0xFF, 0xA, 0x0, 0xA, 0x1, 0xA, 0x2, 0xA, 0x3, 0xA, 0x4, 0xA, 0x5, 0xA, 0x6, 0xA, 0x7, 0xA, 0x8, 0xA, 0xA, 0xA, 0xB, 0xA, 0xC, 0xA, 0xE, 0xA, 0xF, 0xA, 0x10, 0xA, 0x11, 0xA, 0x12, 0xA, 0x13, 0xA, 0x15, 0xA, 0x16, 0xA, 0x17, 0xA, 0x18, 0xA, 0x19, 0xA, 0x1A, 0xA, 0x1B, 0xA, 0x21, 0xA, 0x22, 0xA, 0x24, 0xA, 0x26, 0xA, 0x28, 0xA, 0x29, 0xA, 0x2A, 0xA, 0x2B, 0xA, 0x2E, 0xA, 0x2F, 0xA, 0x30, 0xA, 0x31, 0xA, 0x32, 0xA, 0x33, 0xA, 0x35, 0xA, 0x39, 0xA, 0x3A, 0xA, 0x3F, 0xA, 0x40, 0xA, 0x41, 0xA, 0x42, 0xA, 0x43, 0xA, 0x44, 0xA, 0x45, 0xA, 0x46, 0xA, 0x47, 0xA, 0x48, 0xA, 0x49, 0xA, 0x4A, 0xA, 0x4D, 0xA, 0x4E, 0xA, 0x50, 0xA, 0x51, 0xA, 0x52, 0xA, 0x53, 0xA, 0x5A, 0xA, 0x5B, 0xA, 0x5E, 0xA, 0x60, 0xA, 0x62, 0xA, 0x63, 0xA, 0x64, 0xA, 0x65, 0xA, 0x66, 0xA, 0x67, 0xA, 0x68, 0xA, 0x6E, 0xA, 0x6F, 0xA, 0x70, 0xA, 0x71, 0xA, 0x72, 0xA, 0x73, 0xA, 0x74, 0xA, 0x75, 0xA, 0x76, 0xA, 0x77, 0xA, 0x78, 0xA, 0x79, 0xA, 0x7A, 0xA, 0x7B, 0xA, 0x7C, 0xA, 0x7D, 0xA, 0x7E, 0xA, 0x7F, 0xA, 0x80, 0xA, 0x81, 0xA, 0x82, 0xA, 0x83, 0xA, 0x84, 0xA, 0x85, 0xA, 0x86, 0xA, 0x87, 0xA, 0x88, 0xA, 0x89, 0xA, 0x8A, 0xA, 0x8B, 0xA, 0x8C, 0xA, 0x8D, 0xA, 0x8E, 0xA, 0x8F, 0xA, 0x90, 0xA, 0x91, 0xA, 0x92, 0xA, 0x93, 0xA, 0x94, 0xA, 0x95, 0xA, 0x96, 0xA, 0x98, 0xA, 0x9A, 0xA, 0x9B, 0xA, 0x9C, 0xA, 0x9D, 0xA, 0x9E, 0xA, 0x9F, 0xA, 0xA0, 0xA, 0xA1, 0xA, 0xA2, 0xA, 0xA3, 0xA, 0xA4, 0xA, 0xA5, 0xA, 0xA6, 0xA, 0xA7, 0xA, 0xAF, 0xA, 0xB2, 0xA, 0xB4, 0xA, 0xC0, 0xA, 0xC1, 0xA, 0xC2, 0xA, 0xC3, 0xA, 0xC4, 0xA, 0xC5, 0xA, 0xC7, 0xA, 0xCB, 0xA, 0xCC, 0xA, 0xCF, 0xA, 0xD1, 0xA, 0xD2, 0xA, 0xD4, 0xA, 0xD6, 0xA, 0xDC, 0xA, 0xE6, 0xA, 0xEE, 0xA, 0xEF, 0xA, 0xF0, 0xA, 0xF2, 0xA, 0xF3, 0xA, 0xF4, 0xA, 0xF6, 0xA, 0xF8, 0xA, 0xFA, 0xA, 0xFC, 0xA, 0xFF, 0xB, 0x0, 0xB, 0x1, 0xB, 0x2, 0xB, 0x4, 0xB, 0x9, 0xB, 0xA, 0xB, 0xB, 0xB, 0xC, 0xB, 0xD, 0xB, 0xE, 0xB, 0xF, 0xB, 0x12, 0xB, 0x13, 0xB, 0x14, 0xB, 0x15, 0xB, 0x16, 0xB, 0x17, 0xB, 0x18, 0xB, 0x1A, 0xB, 0x1C, 0xB, 0x1E, 0xB, 0x20, 0xB, 0x21, 0xB, 0x22, 0xB, 0x23, 0xB, 0x25, 0xB, 0x27, 0xB, 0x2C, 0xB, 0x2E, 0xB, 0x2F, 0xB, 0x30, 0xB, 0x32, 0xB, 0x33, 0xB, 0x34, 0xB, 0x35, 0xB, 0x36, 0xB, 0x37, 0xB, 0x38, 0xB, 0x39, 0xB, 0x3B, 0xB, 0x3C, 0xB, 0x42, 0xB, 0x46, 0xB, 0x47, 0xB, 0x48, 0xB, 0x4B, 0xB, 0x4D, 0xB, 0x4E, 0xB, 0x4F, 0xB, 0x50, 0xB, 0x51, 0xB, 0x52, 0xB, 0x53, 0xB, 0x54, 0xB, 0x55, 0xB, 0x57, 0xB, 0x59, 0xB, 0x5B, 0xB, 0x5D, 0xB, 0x5F, 0xB, 0x60, 0xB, 0x61, 0xB, 0x62, 0xB, 0x63, 0xB, 0x64, 0xB, 0x65, 0xB, 0x66, 0xB, 0x67, 0xB, 0x68, 0xB, 0x6D, 0xB, 0x6E, 0xB, 0x6F, 0xB, 0x70, 0xB, 0x71, 0xB, 0x72, 0xB, 0x73, 0xB, 0x74, 0xB, 0x75, 0xB, 0x77, 0xB, 0x79, 0xB, 0x7B, 0xB, 0x7D, 0xB, 0x7F, 0xB, 0x81, 0xB, 0x83, 0xB, 0x84, 0xB, 0x85, 0xB, 0x86, 0xB, 0x87, 0xB, 0x88, 0xB, 0x89, 0xB, 0x8A, 0xB, 0x8B, 0xB, 0x8C, 0xB, 0x8D, 0xB, 0x8E, 0xB, 0x8F, 0xB, 0x90, 0xB, 0x91, 0xB, 0x92, 0xB, 0x93, 0xB, 0x94, 0xB, 0x95, 0xB, 0x96, 0xB, 0x97, 0xB, 0x98, 0xB, 0x99, 0xB, 0x9A, 0xB, 0x9C, 0xB, 0x9E, 0xB, 0xA0, 0xB, 0xA2, 0xB, 0xAD, 0xB, 0xAF, 0xB, 0xB1, 0xB, 0xB3, 0xB, 0xB5, 0xB, 0xB7, 0xB, 0xB9, 0xB, 0xBB, 0xB, 0xBD, 0xB, 0xBF, 0xB, 0xC0, 0xB, 0xC1, 0xB, 0xC2, 0xB, 0xC3, 0xB, 0xC5, 0xB, 0xC7, 0xB, 0xC8, 0xB, 0xC9, 0xB, 0xCA, 0xB, 0xCB, 0xB, 0xCC, 0xB, 0xCD, 0xB, 0xCE, 0xB, 0xCF, 0xB, 0xD0, 0xB, 0xD1, 0xB, 0xD2, 0xB, 0xD6, 0xB, 0xE0, 0xB, 0xE1, 0xB, 0xE2, 0xB, 0xE3, 0xB, 0xE4, 0xB, 0xE5, 0xB, 0xE6, 0xB, 0xE7, 0xB, 0xEE, 0xB, 0xEF, 0xB, 0xF0, 0xB, 0xF1, 0xB, 0xF2, 0xB, 0xF3, 0xB, 0xF4, 0xB, 0xF5, 0xB, 0xF6, 0xB, 0xF7, 0xB, 0xF8, 0xB, 0xF9, 0xB, 0xFA, 0xB, 0xFB, 0xB, 0xFC, 0xB, 0xFD, 0xB, 0xFE, 0xB, 0xFF, 0xC, 0x0, 0xC, 0x1, 0xC, 0x2, 0xC, 0x3, 0xC, 0x14, 0xC, 0x15, 0xC, 0x16, 0xC, 0x17, 0xC, 0x18, 0xC, 0x19, 0xC, 0x1A, 0xC, 0x1B, 0xC, 0x1C, 0xC, 0x1D, 0xC, 0x1E, 0xC, 0x1F, 0xC, 0x40, 0xC, 0x41, 0xC, 0x44, 0xC, 0x45, 0xC, 0x52, 0xC, 0x53, 0xC, 0x54, 0xC, 0x55, 0xC, 0x56, 0xC, 0x57, 0xC, 0x58, 0xC, 0x59, 0xC, 0x62, 0xC, 0x63, 0xC, 0x64, 0xC, 0x65, 0xC, 0x66, 0xC, 0x67, 0xC, 0x68, 0xC, 0x69, 0xC, 0x81, 0xC, 0x82, 0xC, 0x83, 0xC, 0x84, 0xC, 0x85, 0xC, 0x86, 0xC, 0x87, 0xC, 0x88, 0xC, 0x89, 0xC, 0x8A, 0xC, 0x8B, 0xC, 0x8C, 0xC, 0x8D, 0xC, 0x8E, 0xC, 0x8F, 0xC, 0x9E, 0xC, 0x9F, 0xC, 0xA2, 0xC, 0xA3, 0xC, 0xA4, 0xC, 0xA5, 0xC, 0xA6, 0xC, 0xAC, 0xC, 0xAD, 0xC, 0xB7, 0xC, 0xBB, 0xC, 0xBE, 0xC, 0xC4, 0xC, 0xC9, 0xC, 0xD4, 0xC, 0xD6, 0xC, 0xDD, 0xC, 0xE1, 0x0, 0x2, 0x2, 0x59, 0x0, 0x7, 0x0, 0x7, 0x0, 0x19, 0x0, 0xC, 0x0, 0xC, 0x0, 0x19, 0x0, 0x11, 0x0, 0x11, 0x0, 0x21, 0x0, 0x12, 0x0, 0x12, 0x0, 0x25, 0x0, 0x13, 0x0, 0x13, 0x0, 0x21, 0x0, 0x26, 0x0, 0x26, 0x0, 0x2, 0x0, 0x27, 0x0, 0x27, 0x0, 0x1C, 0x0, 0x28, 0x0, 0x28, 0x0, 0x13, 0x0, 0x29, 0x0, 0x29, 0x0, 0x1, 0x0, 0x2A, 0x0, 0x2A, 0x0, 0x5, 0x0, 0x2F, 0x0, 0x2F, 0x0, 0xA, 0x0, 0x30, 0x0, 0x30, 0x0, 0xB, 0x0, 0x31, 0x0, 0x31, 0x0, 0x18, 0x0, 0x34, 0x0, 0x34, 0x0, 0x1, 0x0, 0x35, 0x0, 0x35, 0x0, 0x16, 0x0, 0x39, 0x0, 0x39, 0x0, 0xE, 0x0, 0x3A, 0x0, 0x3A, 0x0, 0xA, 0x0, 0x3B, 0x0, 0x3B, 0x0, 0x1D, 0x0, 0x3C, 0x0, 0x3C, 0x0, 0x1B, 0x0, 0x3D, 0x0, 0x3D, 0x0, 0x12, 0x0, 0x3E, 0x0, 0x3E, 0x0, 0xC, 0x0, 0x3F, 0x0, 0x3F, 0x0, 0x11, 0x0, 0x46, 0x0, 0x46, 0x0, 0x6, 0x0, 0x47, 0x0, 0x47, 0x0, 0x7, 0x0, 0x48, 0x0, 0x48, 0x0, 0x17, 0x0, 0x4A, 0x0, 0x4A, 0x0, 0x8, 0x0, 0x4D, 0x0, 0x4D, 0x0, 0x4, 0x0, 0x52, 0x0, 0x53, 0x0, 0x4, 0x0, 0x54, 0x0, 0x54, 0x0, 0x3, 0x0, 0x55, 0x0, 0x55, 0x0, 0x7, 0x0, 0x57, 0x0, 0x57, 0x0, 0x15, 0x0, 0x5B, 0x0, 0x5B, 0x0, 0x9, 0x0, 0x5D, 0x0, 0x5D, 0x0, 0x14, 0x0, 0x5E, 0x0, 0x5E, 0x0, 0x9, 0x0, 0x5F, 0x0, 0x5F, 0x0, 0x10, 0x0, 0x8B, 0x0, 0x8B, 0x0, 0x7, 0x0, 0x97, 0x0, 0x97, 0x0, 0x7, 0x0, 0x9A, 0x0, 0x9A, 0x0, 0x7, 0x0, 0x9C, 0x0, 0x9C, 0x0, 0x7, 0x0, 0x9D, 0x0, 0x9D, 0x0, 0x1, 0x0, 0xA0, 0x0, 0xA1, 0x0, 0x1, 0x0, 0xA6, 0x0, 0xA6, 0x0, 0x1, 0x0, 0xAE, 0x0, 0xAE, 0x0, 0xB, 0x0, 0xB8, 0x0, 0xB8, 0x0, 0x16, 0x0, 0xC2, 0x0, 0xC2, 0x0, 0xE, 0x0, 0xCA, 0x0, 0xCA, 0x0, 0x10, 0x0, 0xD8, 0x0, 0xD8, 0x0, 0x11, 0x0, 0xD9, 0x0, 0xDA, 0x0, 0x10, 0x0, 0xED, 0x0, 0xEE, 0x0, 0x7, 0x0, 0xF2, 0x0, 0xF2, 0x0, 0x18, 0x0, 0xF8, 0x0, 0xF8, 0x0, 0x1C, 0x0, 0xFA, 0x0, 0xFA, 0x0, 0x2, 0x1, 0x2, 0x1, 0x2, 0x0, 0x15, 0x1, 0x3, 0x1, 0x3, 0x0, 0xC, 0x2, 0x29, 0x2, 0x29, 0x0, 0x7, 0x2, 0x2A, 0x2, 0x2A, 0x0, 0x17, 0x2, 0x2B, 0x2, 0x2B, 0x0, 0x7, 0x2, 0x30, 0x2, 0x30, 0x0, 0x22, 0x2, 0x31, 0x2, 0x31, 0x0, 0x2, 0x2, 0x32, 0x2, 0x32, 0x0, 0x1, 0x2, 0x33, 0x2, 0x33, 0x0, 0x2, 0x2, 0x3C, 0x2, 0x3C, 0x0, 0x9, 0x2, 0x40, 0x2, 0x40, 0x0, 0x4, 0x2, 0x46, 0x2, 0x46, 0x0, 0x7, 0x2, 0x4E, 0x2, 0x4E, 0x0, 0xB, 0x2, 0x55, 0x2, 0x55, 0x0, 0x1, 0x2, 0x56, 0x2, 0x56, 0x0, 0x3, 0x2, 0x60, 0x2, 0x60, 0x0, 0x7, 0x2, 0x62, 0x2, 0x62, 0x0, 0x7, 0x2, 0x64, 0x2, 0x64, 0x0, 0x7, 0x2, 0x65, 0x2, 0x65, 0x0, 0x1, 0x2, 0x66, 0x2, 0x66, 0x0, 0x13, 0x2, 0x67, 0x2, 0x67, 0x0, 0x1, 0x2, 0x6A, 0x2, 0x6B, 0x0, 0x20, 0x2, 0x70, 0x2, 0x70, 0x0, 0x12, 0x2, 0x74, 0x2, 0x74, 0x0, 0x26, 0x2, 0x7A, 0x2, 0x7A, 0x0, 0x20, 0x2, 0x7C, 0x2, 0x7C, 0x0, 0x20, 0x2, 0x82, 0x2, 0x82, 0x0, 0x1A, 0x2, 0x84, 0x2, 0x84, 0x0, 0x14, 0x2, 0x8D, 0x2, 0x8D, 0x0, 0x7, 0x2, 0x92, 0x2, 0x92, 0x0, 0x1F, 0x2, 0x94, 0x2, 0x94, 0x0, 0x1F, 0x2, 0x95, 0x2, 0x95, 0x0, 0x7, 0x2, 0x9A, 0x2, 0x9B, 0x0, 0x1F, 0x2, 0xA0, 0x2, 0xA0, 0x0, 0x1F, 0x2, 0xA3, 0x2, 0xA3, 0x0, 0x2, 0x2, 0xAE, 0x2, 0xAE, 0x0, 0x3, 0x2, 0xAF, 0x2, 0xAF, 0x0, 0x1D, 0x2, 0xB0, 0x2, 0xB0, 0x0, 0x9, 0x2, 0xC5, 0x2, 0xC5, 0x0, 0x7, 0x2, 0xC6, 0x2, 0xC6, 0x0, 0x22, 0x2, 0xC7, 0x2, 0xC7, 0x0, 0x1A, 0x2, 0xCA, 0x2, 0xCA, 0x0, 0x12, 0x2, 0xCB, 0x2, 0xCB, 0x0, 0x14, 0x2, 0xCC, 0x2, 0xCC, 0x0, 0xB, 0x2, 0xCE, 0x2, 0xCE, 0x0, 0xB, 0x2, 0xD0, 0x2, 0xD0, 0x0, 0xB, 0x2, 0xDA, 0x2, 0xDA, 0x0, 0x12, 0x2, 0xDB, 0x2, 0xDB, 0x0, 0x14, 0x2, 0xEF, 0x2, 0xEF, 0x0, 0x1, 0x2, 0xF3, 0x2, 0xF3, 0x0, 0x1A, 0x2, 0xF4, 0x2, 0xF4, 0x0, 0x12, 0x2, 0xF5, 0x2, 0xF5, 0x0, 0x14, 0x3, 0x8, 0x3, 0x8, 0x0, 0x12, 0x3, 0x9, 0x3, 0x9, 0x0, 0x14, 0x3, 0xA, 0x3, 0xA, 0x0, 0x12, 0x3, 0xB, 0x3, 0xB, 0x0, 0x14, 0x3, 0xC, 0x3, 0xC, 0x0, 0x5, 0x3, 0xD, 0x3, 0xD, 0x0, 0x8, 0x3, 0xE, 0x3, 0xE, 0x0, 0xB, 0x3, 0x1A, 0x3, 0x1A, 0x0, 0xB, 0x4, 0x34, 0x4, 0x34, 0x0, 0x18, 0x4, 0x5E, 0x4, 0x5F, 0x0, 0x25, 0x4, 0x62, 0x4, 0x63, 0x0, 0x19, 0x4, 0x64, 0x4, 0x64, 0x0, 0x21, 0x4, 0x65, 0x4, 0x67, 0x0, 0x19, 0x4, 0x68, 0x4, 0x68, 0x0, 0x21, 0x4, 0x6F, 0x4, 0x70, 0x0, 0x21, 0x5, 0x59, 0x5, 0x59, 0x0, 0x16, 0x5, 0x5B, 0x5, 0x5B, 0x0, 0x6, 0x5, 0x5E, 0x5, 0x5E, 0x0, 0x4, 0x5, 0x5F, 0x5, 0x5F, 0x0, 0xB, 0x5, 0x61, 0x5, 0x61, 0x0, 0x11, 0x5, 0x62, 0x5, 0x62, 0x0, 0x10, 0x5, 0x66, 0x5, 0x66, 0x0, 0x1, 0x5, 0x6A, 0x5, 0x6A, 0x0, 0x9, 0x5, 0x70, 0x5, 0x70, 0x0, 0x3, 0x5, 0xD9, 0x5, 0xD9, 0x0, 0x11, 0x5, 0xDA, 0x5, 0xDA, 0x0, 0x10, 0x5, 0xDB, 0x5, 0xDB, 0x0, 0x11, 0x5, 0xDC, 0x5, 0xDC, 0x0, 0x10, 0x5, 0xE5, 0x5, 0xE5, 0x0, 0x1, 0x5, 0xE7, 0x5, 0xE7, 0x0, 0x20, 0x5, 0xE8, 0x5, 0xE8, 0x0, 0x1F, 0x5, 0xEB, 0x5, 0xEB, 0x0, 0x20, 0x5, 0xEC, 0x5, 0xEC, 0x0, 0x1F, 0x5, 0xEF, 0x5, 0xEF, 0x0, 0x2, 0x5, 0xF0, 0x5, 0xF0, 0x0, 0x6, 0x5, 0xF1, 0x5, 0xF1, 0x0, 0x2, 0x5, 0xFD, 0x5, 0xFD, 0x0, 0xE, 0x5, 0xFE, 0x5, 0xFE, 0x0, 0x1A, 0x5, 0xFF, 0x5, 0xFF, 0x0, 0xE, 0x6, 0x0, 0x6, 0x0, 0x0, 0x1A, 0x6, 0x1, 0x6, 0x1, 0x0, 0x1, 0x6, 0x2, 0x6, 0x2, 0x0, 0x3, 0x6, 0x3, 0x6, 0x3, 0x0, 0x1, 0x6, 0x4, 0x6, 0x4, 0x0, 0x3, 0x6, 0x5, 0x6, 0x5, 0x0, 0x1, 0x6, 0x6, 0x6, 0x6, 0x0, 0x3, 0x6, 0x25, 0x6, 0x25, 0x0, 0xE, 0x6, 0x26, 0x6, 0x26, 0x0, 0x1A, 0x6, 0x29, 0x6, 0x29, 0x0, 0xE, 0x6, 0x2A, 0x6, 0x2A, 0x0, 0x1A, 0x6, 0x2E, 0x6, 0x2E, 0x0, 0x4, 0x6, 0x31, 0x6, 0x31, 0x0, 0x1, 0x6, 0x32, 0x6, 0x32, 0x0, 0x3, 0x6, 0x33, 0x6, 0x33, 0x0, 0x1, 0x6, 0x5F, 0x6, 0x5F, 0x0, 0x4, 0x6, 0x6A, 0x6, 0x6A, 0x0, 0x2, 0x6, 0x6C, 0x6, 0x6C, 0x0, 0x1, 0x6, 0x6E, 0x6, 0x6E, 0x0, 0xA, 0x6, 0x70, 0x6, 0x70, 0x0, 0x1D, 0x6, 0x71, 0x6, 0x71, 0x0, 0x9, 0x6, 0x72, 0x6, 0x72, 0x0, 0x1D, 0x6, 0x73, 0x6, 0x73, 0x0, 0x9, 0x6, 0x75, 0x6, 0x75, 0x0, 0x9, 0x6, 0x76, 0x6, 0x76, 0x0, 0x1, 0x6, 0x78, 0x6, 0x78, 0x0, 0xB, 0x6, 0x7A, 0x6, 0x7A, 0x0, 0xB, 0x6, 0x7C, 0x6, 0x7C, 0x0, 0xB, 0x6, 0x86, 0x6, 0x86, 0x0, 0x1, 0x6, 0x87, 0x6, 0x87, 0x0, 0x3, 0x6, 0x88, 0x6, 0x88, 0x0, 0x16, 0x6, 0x89, 0x6, 0x89, 0x0, 0x7, 0x6, 0x8A, 0x6, 0x8A, 0x0, 0x16, 0x6, 0x8B, 0x6, 0x8B, 0x0, 0x7, 0x6, 0x8C, 0x6, 0x8C, 0x0, 0x16, 0x6, 0x8D, 0x6, 0x8D, 0x0, 0x7, 0x6, 0x96, 0x6, 0x96, 0x0, 0x1D, 0x6, 0x97, 0x6, 0x97, 0x0, 0x9, 0x6, 0x9D, 0x6, 0x9D, 0x0, 0x7, 0x6, 0x9F, 0x6, 0x9F, 0x0, 0x7, 0x6, 0xBB, 0x6, 0xBB, 0x0, 0x4, 0x6, 0xC9, 0x6, 0xC9, 0x0, 0x13, 0x6, 0xCD, 0x6, 0xCD, 0x0, 0x1C, 0x6, 0xCE, 0x6, 0xCE, 0x0, 0x7, 0x7, 0x54, 0x7, 0x54, 0x0, 0x23, 0x7, 0x59, 0x7, 0x59, 0x0, 0xD, 0x7, 0x5C, 0x7, 0x5C, 0x0, 0x24, 0x7, 0x5D, 0x7, 0x5D, 0x0, 0x1E, 0x7, 0x67, 0x7, 0x67, 0x0, 0xF, 0x7, 0x68, 0x7, 0x68, 0x0, 0xD, 0x7, 0x69, 0x7, 0x69, 0x0, 0xF, 0x7, 0x7B, 0x7, 0x7B, 0x0, 0x1E, 0x7, 0x8A, 0x7, 0x8C, 0x0, 0x1E, 0x7, 0xAE, 0x7, 0xAE, 0x0, 0xD, 0x7, 0xB1, 0x7, 0xB1, 0x0, 0xF, 0x7, 0xCF, 0x7, 0xCF, 0x0, 0x13, 0x7, 0xD1, 0x7, 0xD2, 0x0, 0x1, 0x8, 0xC7, 0x8, 0xC7, 0x0, 0x25, 0x8, 0xC8, 0x8, 0xC9, 0x0, 0x1, 0x8, 0xCB, 0x8, 0xCB, 0x0, 0xE, 0x8, 0xCD, 0x8, 0xD3, 0x0, 0x2, 0x8, 0xD4, 0x8, 0xD4, 0x0, 0x13, 0x8, 0xD5, 0x8, 0xD8, 0x0, 0x5, 0x8, 0xDE, 0x8, 0xE2, 0x0, 0x1, 0x8, 0xE3, 0x8, 0xE6, 0x0, 0xA, 0x8, 0xE7, 0x8, 0xE7, 0x0, 0xC, 0x8, 0xE8, 0x8, 0xEE, 0x0, 0x6, 0x8, 0xEF, 0x8, 0xEF, 0x0, 0x17, 0x8, 0xF0, 0x8, 0xF3, 0x0, 0x8, 0x8, 0xF8, 0x8, 0xF8, 0x0, 0x4, 0x8, 0xF9, 0x8, 0xFD, 0x0, 0x3, 0x9, 0x2, 0x9, 0x3, 0x0, 0x9, 0x9, 0x4, 0x9, 0x4, 0x0, 0x2, 0x9, 0x5, 0x9, 0x5, 0x0, 0x6, 0x9, 0x6, 0x9, 0x6, 0x0, 0x2, 0x9, 0x7, 0x9, 0x7, 0x0, 0x6, 0x9, 0x8, 0x9, 0x8, 0x0, 0x2, 0x9, 0x9, 0x9, 0x9, 0x0, 0x6, 0x9, 0xA, 0x9, 0xA, 0x0, 0x13, 0x9, 0xB, 0x9, 0xB, 0x0, 0x17, 0x9, 0xC, 0x9, 0xC, 0x0, 0x13, 0x9, 0xD, 0x9, 0xD, 0x0, 0x17, 0x9, 0xE, 0x9, 0xE, 0x0, 0x13, 0x9, 0xF, 0x9, 0xF, 0x0, 0x17, 0x9, 0x10, 0x9, 0x10, 0x0, 0x13, 0x9, 0x11, 0x9, 0x11, 0x0, 0x17, 0x9, 0x12, 0x9, 0x12, 0x0, 0x1, 0x9, 0x14, 0x9, 0x14, 0x0, 0x5, 0x9, 0x15, 0x9, 0x15, 0x0, 0x8, 0x9, 0x16, 0x9, 0x16, 0x0, 0x5, 0x9, 0x17, 0x9, 0x17, 0x0, 0x8, 0x9, 0x18, 0x9, 0x18, 0x0, 0x5, 0x9, 0x19, 0x9, 0x19, 0x0, 0x8, 0x9, 0x1A, 0x9, 0x1A, 0x0, 0x5, 0x9, 0x1B, 0x9, 0x1B, 0x0, 0x8, 0x9, 0x1C, 0x9, 0x1C, 0x0, 0x5, 0x9, 0x1D, 0x9, 0x1D, 0x0, 0x8, 0x9, 0x27, 0x9, 0x27, 0x0, 0x4, 0x9, 0x33, 0x9, 0x33, 0x0, 0xA, 0x9, 0x35, 0x9, 0x35, 0x0, 0xB, 0x9, 0x37, 0x9, 0x37, 0x0, 0x18, 0x9, 0x39, 0x9, 0x39, 0x0, 0x18, 0x9, 0x3B, 0x9, 0x3B, 0x0, 0x18, 0x9, 0x3D, 0x9, 0x3D, 0x0, 0x18, 0x9, 0x40, 0x9, 0x40, 0x0, 0x4, 0x9, 0x42, 0x9, 0x42, 0x0, 0x4, 0x9, 0x44, 0x9, 0x45, 0x0, 0x4, 0x9, 0x46, 0x9, 0x46, 0x0, 0x1, 0x9, 0x47, 0x9, 0x47, 0x0, 0x3, 0x9, 0x48, 0x9, 0x48, 0x0, 0x1, 0x9, 0x49, 0x9, 0x49, 0x0, 0x3, 0x9, 0x4A, 0x9, 0x4A, 0x0, 0x1, 0x9, 0x4B, 0x9, 0x4B, 0x0, 0x3, 0x9, 0x4D, 0x9, 0x4D, 0x0, 0x15, 0x9, 0x4F, 0x9, 0x4F, 0x0, 0x15, 0x9, 0x51, 0x9, 0x51, 0x0, 0x15, 0x9, 0x5C, 0x9, 0x5C, 0x0, 0xE, 0x9, 0x5E, 0x9, 0x5E, 0x0, 0xE, 0x9, 0x60, 0x9, 0x60, 0x0, 0xE, 0x9, 0x62, 0x9, 0x62, 0x0, 0xA, 0x9, 0x64, 0x9, 0x64, 0x0, 0xA, 0x9, 0x66, 0x9, 0x66, 0x0, 0xA, 0x9, 0x68, 0x9, 0x68, 0x0, 0xA, 0x9, 0x6A, 0x9, 0x6A, 0x0, 0xA, 0x9, 0x6C, 0x9, 0x6C, 0x0, 0xA, 0x9, 0x6E, 0x9, 0x6E, 0x0, 0x1B, 0x9, 0x70, 0x9, 0x70, 0x0, 0xC, 0x9, 0x71, 0x9, 0x71, 0x0, 0x9, 0x9, 0x72, 0x9, 0x72, 0x0, 0xC, 0x9, 0x73, 0x9, 0x73, 0x0, 0x11, 0x9, 0x74, 0x9, 0x74, 0x0, 0x10, 0x9, 0x75, 0x9, 0x75, 0x0, 0x11, 0x9, 0x76, 0x9, 0x76, 0x0, 0x10, 0x9, 0x77, 0x9, 0x77, 0x0, 0x11, 0x9, 0x78, 0x9, 0x78, 0x0, 0x10, 0x9, 0x7D, 0x9, 0x7E, 0x0, 0xD, 0x9, 0x7F, 0x9, 0x7F, 0x0, 0x23, 0x9, 0x80, 0x9, 0x86, 0x0, 0xF, 0x9, 0x91, 0x9, 0x95, 0x0, 0xD, 0x9, 0x9B, 0x9, 0x9D, 0x0, 0xF, 0x9, 0xA2, 0x9, 0xA2, 0x0, 0xD, 0x9, 0xB3, 0x9, 0xB3, 0x0, 0x1E, 0x9, 0xB4, 0x9, 0xB7, 0x0, 0x24, 0x9, 0xBB, 0x9, 0xBE, 0x0, 0xD, 0x9, 0xC7, 0x9, 0xC7, 0x0, 0x23, 0x9, 0xD5, 0x9, 0xD5, 0x0, 0x2, 0x9, 0xD6, 0x9, 0xD6, 0x0, 0x5, 0x9, 0xD9, 0x9, 0xD9, 0x0, 0x1, 0x9, 0xDA, 0x9, 0xDA, 0x0, 0xC, 0x9, 0xDD, 0x9, 0xDD, 0x0, 0x2, 0x9, 0xDE, 0x9, 0xDE, 0x0, 0x1C, 0x9, 0xDF, 0x9, 0xDF, 0x0, 0x5, 0x9, 0xE0, 0x9, 0xE0, 0x0, 0x11, 0x9, 0xE3, 0x9, 0xE3, 0x0, 0xB, 0x9, 0xE6, 0x9, 0xE6, 0x0, 0x1, 0x9, 0xE7, 0x9, 0xE7, 0x0, 0x16, 0x9, 0xE8, 0x9, 0xE8, 0x0, 0xE, 0x9, 0xE9, 0x9, 0xE9, 0x0, 0xC, 0x9, 0xEA, 0x9, 0xEA, 0x0, 0x12, 0x9, 0xEC, 0x9, 0xEC, 0x0, 0xC, 0x9, 0xEF, 0x9, 0xEF, 0x0, 0x4, 0x9, 0xF3, 0x9, 0xF3, 0x0, 0x3, 0x9, 0xF5, 0x9, 0xF5, 0x0, 0x9, 0x9, 0xF9, 0x9, 0xF9, 0x0, 0x3, 0x9, 0xFC, 0x9, 0xFC, 0x0, 0x5, 0x9, 0xFD, 0x9, 0xFD, 0x0, 0x22, 0xA, 0x1, 0xA, 0x1, 0x0, 0xA, 0xA, 0x2, 0xA, 0x3, 0x0, 0xB, 0xA, 0x4, 0xA, 0x4, 0x0, 0x26, 0xA, 0x5, 0xA, 0x5, 0x0, 0x2, 0xA, 0x6, 0xA, 0x6, 0x0, 0x1C, 0xA, 0x7, 0xA, 0x7, 0x0, 0x22, 0xA, 0x8, 0xA, 0x8, 0x0, 0x5, 0xA, 0xC, 0xA, 0xC, 0x0, 0x1, 0xA, 0xE, 0xA, 0xE, 0x0, 0x16, 0xA, 0xF, 0xA, 0xF, 0x0, 0x13, 0xA, 0x10, 0xA, 0x10, 0x0, 0xE, 0xA, 0x11, 0xA, 0x11, 0x0, 0x12, 0xA, 0x12, 0xA, 0x12, 0x0, 0x6, 0xA, 0x13, 0xA, 0x13, 0x0, 0x8, 0xA, 0x15, 0xA, 0x15, 0x0, 0x3, 0xA, 0x16, 0xA, 0x16, 0x0, 0x7, 0xA, 0x17, 0xA, 0x17, 0x0, 0x17, 0xA, 0x18, 0xA, 0x18, 0x0, 0x9, 0xA, 0x19, 0xA, 0x19, 0x0, 0x14, 0xA, 0x1A, 0xA, 0x1A, 0x0, 0x8, 0xA, 0x1B, 0xA, 0x1B, 0x0, 0x1A, 0xA, 0x21, 0xA, 0x21, 0x0, 0x9, 0xA, 0x22, 0xA, 0x22, 0x0, 0x1B, 0xA, 0x24, 0xA, 0x24, 0x0, 0x1B, 0xA, 0x26, 0xA, 0x26, 0x0, 0x1B, 0xA, 0x28, 0xA, 0x28, 0x0, 0xC, 0xA, 0x29, 0xA, 0x29, 0x0, 0x9, 0xA, 0x2A, 0xA, 0x2B, 0x0, 0x19, 0xA, 0x2E, 0xA, 0x2E, 0x0, 0x19, 0xA, 0x30, 0xA, 0x30, 0x0, 0x4, 0xA, 0x31, 0xA, 0x31, 0x0, 0x2, 0xA, 0x32, 0xA, 0x32, 0x0, 0x6, 0xA, 0x33, 0xA, 0x33, 0x0, 0x5, 0xA, 0x35, 0xA, 0x35, 0x0, 0x8, 0xA, 0x39, 0xA, 0x39, 0x0, 0x1D, 0xA, 0x3A, 0xA, 0x3A, 0x0, 0x9, 0xA, 0x3F, 0xA, 0x3F, 0x0, 0x13, 0xA, 0x40, 0xA, 0x40, 0x0, 0x17, 0xA, 0x41, 0xA, 0x41, 0x0, 0xC, 0xA, 0x42, 0xA, 0x42, 0x0, 0x9, 0xA, 0x44, 0xA, 0x44, 0x0, 0x12, 0xA, 0x45, 0xA, 0x45, 0x0, 0x14, 0xA, 0x47, 0xA, 0x47, 0x0, 0x2, 0xA, 0x48, 0xA, 0x48, 0x0, 0x6, 0xA, 0x49, 0xA, 0x49, 0x0, 0x2, 0xA, 0x4A, 0xA, 0x4A, 0x0, 0x6, 0xA, 0x4D, 0xA, 0x4D, 0x0, 0x5, 0xA, 0x4E, 0xA, 0x4E, 0x0, 0x8, 0xA, 0x50, 0xA, 0x51, 0x0, 0x8, 0xA, 0x52, 0xA, 0x52, 0x0, 0x12, 0xA, 0x53, 0xA, 0x53, 0x0, 0x14, 0xA, 0x5A, 0xA, 0x5A, 0x0, 0x1, 0xA, 0x5B, 0xA, 0x5B, 0x0, 0x3, 0xA, 0x5E, 0xA, 0x5E, 0x0, 0x1, 0xA, 0x60, 0xA, 0x60, 0x0, 0x3, 0xA, 0x62, 0xA, 0x62, 0x0, 0x7, 0xA, 0x63, 0xA, 0x63, 0x0, 0x26, 0xA, 0x64, 0xA, 0x64, 0x0, 0x9, 0xA, 0x65, 0xA, 0x65, 0x0, 0x26, 0xA, 0x66, 0xA, 0x66, 0x0, 0x9, 0xA, 0x67, 0xA, 0x67, 0x0, 0x26, 0xA, 0x68, 0xA, 0x68, 0x0, 0x9, 0xA, 0x6E, 0xA, 0x6E, 0x0, 0x2, 0xA, 0x6F, 0xA, 0x6F, 0x0, 0x6, 0xA, 0x70, 0xA, 0x70, 0x0, 0x2, 0xA, 0x71, 0xA, 0x71, 0x0, 0x6, 0xA, 0x72, 0xA, 0x72, 0x0, 0x2, 0xA, 0x73, 0xA, 0x73, 0x0, 0x6, 0xA, 0x74, 0xA, 0x74, 0x0, 0x2, 0xA, 0x75, 0xA, 0x75, 0x0, 0x6, 0xA, 0x76, 0xA, 0x76, 0x0, 0x2, 0xA, 0x77, 0xA, 0x77, 0x0, 0x6, 0xA, 0x78, 0xA, 0x78, 0x0, 0x2, 0xA, 0x79, 0xA, 0x79, 0x0, 0x6, 0xA, 0x7A, 0xA, 0x7A, 0x0, 0x2, 0xA, 0x7B, 0xA, 0x7B, 0x0, 0x6, 0xA, 0x7C, 0xA, 0x7C, 0x0, 0x2, 0xA, 0x7D, 0xA, 0x7D, 0x0, 0x6, 0xA, 0x7E, 0xA, 0x7E, 0x0, 0x2, 0xA, 0x7F, 0xA, 0x7F, 0x0, 0x6, 0xA, 0x80, 0xA, 0x80, 0x0, 0x2, 0xA, 0x81, 0xA, 0x81, 0x0, 0x6, 0xA, 0x82, 0xA, 0x82, 0x0, 0x2, 0xA, 0x83, 0xA, 0x83, 0x0, 0x6, 0xA, 0x84, 0xA, 0x84, 0x0, 0x2, 0xA, 0x85, 0xA, 0x85, 0x0, 0x6, 0xA, 0x86, 0xA, 0x86, 0x0, 0x5, 0xA, 0x87, 0xA, 0x87, 0x0, 0x8, 0xA, 0x88, 0xA, 0x88, 0x0, 0x5, 0xA, 0x89, 0xA, 0x89, 0x0, 0x8, 0xA, 0x8A, 0xA, 0x8A, 0x0, 0x5, 0xA, 0x8B, 0xA, 0x8B, 0x0, 0x8, 0xA, 0x8C, 0xA, 0x8C, 0x0, 0x5, 0xA, 0x8D, 0xA, 0x8D, 0x0, 0x8, 0xA, 0x8E, 0xA, 0x8E, 0x0, 0x5, 0xA, 0x8F, 0xA, 0x8F, 0x0, 0x8, 0xA, 0x90, 0xA, 0x90, 0x0, 0x5, 0xA, 0x91, 0xA, 0x91, 0x0, 0x8, 0xA, 0x92, 0xA, 0x92, 0x0, 0x5, 0xA, 0x93, 0xA, 0x93, 0x0, 0x8, 0xA, 0x94, 0xA, 0x94, 0x0, 0x5, 0xA, 0x95, 0xA, 0x95, 0x0, 0x8, 0xA, 0x9A, 0xA, 0x9A, 0x0, 0x1, 0xA, 0x9B, 0xA, 0x9B, 0x0, 0x3, 0xA, 0x9C, 0xA, 0x9C, 0x0, 0x1, 0xA, 0x9D, 0xA, 0x9D, 0x0, 0x3, 0xA, 0x9E, 0xA, 0x9E, 0x0, 0x1, 0xA, 0x9F, 0xA, 0x9F, 0x0, 0x3, 0xA, 0xA0, 0xA, 0xA0, 0x0, 0x1, 0xA, 0xA1, 0xA, 0xA1, 0x0, 0x3, 0xA, 0xA2, 0xA, 0xA2, 0x0, 0x1, 0xA, 0xA3, 0xA, 0xA3, 0x0, 0x3, 0xA, 0xA4, 0xA, 0xA4, 0x0, 0x1, 0xA, 0xA5, 0xA, 0xA5, 0x0, 0x3, 0xA, 0xA6, 0xA, 0xA6, 0x0, 0x1, 0xA, 0xA7, 0xA, 0xA7, 0x0, 0x3, 0xA, 0xAF, 0xA, 0xAF, 0x0, 0x3, 0xA, 0xB2, 0xA, 0xB2, 0x0, 0xA, 0xA, 0xB4, 0xA, 0xB4, 0x0, 0xA, 0xA, 0xC0, 0xA, 0xC0, 0x0, 0xC, 0xA, 0xC1, 0xA, 0xC1, 0x0, 0x9, 0xA, 0xC2, 0xA, 0xC2, 0x0, 0xC, 0xA, 0xC3, 0xA, 0xC3, 0x0, 0x9, 0xA, 0xC4, 0xA, 0xC4, 0x0, 0xC, 0xA, 0xC5, 0xA, 0xC5, 0x0, 0x9, 0xA, 0xC7, 0xA, 0xC7, 0x0, 0xE, 0xA, 0xCB, 0xA, 0xCB, 0x0, 0x22, 0xA, 0xCC, 0xA, 0xCC, 0x0, 0x1A, 0xA, 0xCF, 0xA, 0xCF, 0x0, 0x4, 0xA, 0xD1, 0xA, 0xD1, 0x0, 0x20, 0xA, 0xD2, 0xA, 0xD2, 0x0, 0x22, 0xA, 0xD4, 0xA, 0xD4, 0x0, 0xB, 0xA, 0xD6, 0xA, 0xD6, 0x0, 0xC, 0xA, 0xDC, 0xA, 0xDC, 0x0, 0x25, 0xA, 0xEE, 0xA, 0xEE, 0x0, 0x2, 0xA, 0xEF, 0xA, 0xEF, 0x0, 0x6, 0xA, 0xF2, 0xA, 0xF2, 0x0, 0x1, 0xA, 0xF3, 0xA, 0xF3, 0x0, 0x3, 0xA, 0xF4, 0xA, 0xF4, 0x0, 0xA, 0xA, 0xF6, 0xA, 0xF6, 0x0, 0xA, 0xA, 0xF8, 0xA, 0xF8, 0x0, 0xA, 0xA, 0xFA, 0xA, 0xFA, 0x0, 0xA, 0xA, 0xFC, 0xA, 0xFC, 0x0, 0xA, 0xA, 0xFF, 0xA, 0xFF, 0x0, 0x2, 0xB, 0x0, 0xB, 0x0, 0x0, 0x6, 0xB, 0x1, 0xB, 0x1, 0x0, 0x2, 0xB, 0x2, 0xB, 0x2, 0x0, 0x6, 0xB, 0x4, 0xB, 0x4, 0x0, 0x8, 0xB, 0x9, 0xB, 0x9, 0x0, 0x1, 0xB, 0xA, 0xB, 0xA, 0x0, 0x3, 0xB, 0xB, 0xB, 0xB, 0x0, 0x1, 0xB, 0xC, 0xB, 0xC, 0x0, 0x3, 0xB, 0xD, 0xB, 0xD, 0x0, 0x11, 0xB, 0xE, 0xB, 0xF, 0x0, 0x10, 0xB, 0x13, 0xB, 0x13, 0x0, 0x4, 0xB, 0x14, 0xB, 0x14, 0x0, 0x2, 0xB, 0x15, 0xB, 0x15, 0x0, 0x6, 0xB, 0x16, 0xB, 0x16, 0x0, 0x2, 0xB, 0x17, 0xB, 0x17, 0x0, 0x6, 0xB, 0x18, 0xB, 0x18, 0x0, 0x5, 0xB, 0x1A, 0xB, 0x1A, 0x0, 0x5, 0xB, 0x20, 0xB, 0x20, 0x0, 0x1, 0xB, 0x21, 0xB, 0x21, 0x0, 0x3, 0xB, 0x22, 0xB, 0x22, 0x0, 0x1, 0xB, 0x23, 0xB, 0x23, 0x0, 0x3, 0xB, 0x25, 0xB, 0x25, 0x0, 0x15, 0xB, 0x27, 0xB, 0x27, 0x0, 0x15, 0xB, 0x2E, 0xB, 0x2E, 0x0, 0x2, 0xB, 0x2F, 0xB, 0x2F, 0x0, 0x6, 0xB, 0x30, 0xB, 0x30, 0x0, 0x5, 0xB, 0x32, 0xB, 0x32, 0x0, 0x1, 0xB, 0x33, 0xB, 0x33, 0x0, 0x3, 0xB, 0x34, 0xB, 0x34, 0x0, 0x1, 0xB, 0x35, 0xB, 0x35, 0x0, 0x3, 0xB, 0x36, 0xB, 0x36, 0x0, 0x1, 0xB, 0x37, 0xB, 0x37, 0x0, 0x3, 0xB, 0x38, 0xB, 0x38, 0x0, 0x1, 0xB, 0x39, 0xB, 0x39, 0x0, 0x3, 0xB, 0x3B, 0xB, 0x3B, 0x0, 0x9, 0xB, 0x3C, 0xB, 0x3C, 0x0, 0x3, 0xB, 0x42, 0xB, 0x42, 0x0, 0x17, 0xB, 0x46, 0xB, 0x46, 0x0, 0x7, 0xB, 0x47, 0xB, 0x47, 0x0, 0x13, 0xB, 0x4B, 0xB, 0x4B, 0x0, 0x1B, 0xB, 0x4D, 0xB, 0x4D, 0x0, 0x1C, 0xB, 0x4E, 0xB, 0x4E, 0x0, 0x7, 0xB, 0x4F, 0xB, 0x4F, 0x0, 0x1C, 0xB, 0x50, 0xB, 0x50, 0x0, 0x7, 0xB, 0x51, 0xB, 0x51, 0x0, 0x1C, 0xB, 0x52, 0xB, 0x52, 0x0, 0x7, 0xB, 0x53, 0xB, 0x53, 0x0, 0x13, 0xB, 0x54, 0xB, 0x54, 0x0, 0x17, 0xB, 0x55, 0xB, 0x55, 0x0, 0x1, 0xB, 0x57, 0xB, 0x57, 0x0, 0x1, 0xB, 0x59, 0xB, 0x59, 0x0, 0x1, 0xB, 0x5B, 0xB, 0x5B, 0x0, 0x1, 0xB, 0x5D, 0xB, 0x5D, 0x0, 0x1, 0xB, 0x5F, 0xB, 0x5F, 0x0, 0x5, 0xB, 0x60, 0xB, 0x60, 0x0, 0x8, 0xB, 0x61, 0xB, 0x61, 0x0, 0x5, 0xB, 0x62, 0xB, 0x62, 0x0, 0x8, 0xB, 0x63, 0xB, 0x63, 0x0, 0x5, 0xB, 0x64, 0xB, 0x64, 0x0, 0x8, 0xB, 0x65, 0xB, 0x65, 0x0, 0x5, 0xB, 0x66, 0xB, 0x66, 0x0, 0x8, 0xB, 0x67, 0xB, 0x67, 0x0, 0x5, 0xB, 0x68, 0xB, 0x68, 0x0, 0x8, 0xB, 0x6E, 0xB, 0x6E, 0x0, 0x4, 0xB, 0x70, 0xB, 0x70, 0x0, 0x4, 0xB, 0x72, 0xB, 0x72, 0x0, 0x4, 0xB, 0x74, 0xB, 0x74, 0x0, 0x4, 0xB, 0x75, 0xB, 0x75, 0x0, 0xB, 0xB, 0x77, 0xB, 0x77, 0x0, 0xB, 0xB, 0x79, 0xB, 0x79, 0x0, 0xB, 0xB, 0x7B, 0xB, 0x7B, 0x0, 0x18, 0xB, 0x7D, 0xB, 0x7D, 0x0, 0x18, 0xB, 0x7F, 0xB, 0x7F, 0x0, 0x18, 0xB, 0x81, 0xB, 0x81, 0x0, 0x18, 0xB, 0x84, 0xB, 0x84, 0x0, 0x4, 0xB, 0x86, 0xB, 0x86, 0x0, 0x4, 0xB, 0x88, 0xB, 0x88, 0x0, 0x4, 0xB, 0x8A, 0xB, 0x8A, 0x0, 0x4, 0xB, 0x8C, 0xB, 0x8C, 0x0, 0x4, 0xB, 0x8E, 0xB, 0x8E, 0x0, 0x4, 0xB, 0x8F, 0xB, 0x8F, 0x0, 0x1, 0xB, 0x90, 0xB, 0x90, 0x0, 0x3, 0xB, 0x91, 0xB, 0x91, 0x0, 0x1, 0xB, 0x92, 0xB, 0x92, 0x0, 0x3, 0xB, 0x93, 0xB, 0x93, 0x0, 0x1, 0xB, 0x94, 0xB, 0x94, 0x0, 0x3, 0xB, 0x95, 0xB, 0x95, 0x0, 0x1, 0xB, 0x96, 0xB, 0x96, 0x0, 0x3, 0xB, 0x97, 0xB, 0x97, 0x0, 0x16, 0xB, 0x98, 0xB, 0x98, 0x0, 0x7, 0xB, 0x99, 0xB, 0x99, 0x0, 0x16, 0xB, 0x9A, 0xB, 0x9A, 0x0, 0x7, 0xB, 0x9C, 0xB, 0x9C, 0x0, 0x15, 0xB, 0x9E, 0xB, 0x9E, 0x0, 0x15, 0xB, 0xA0, 0xB, 0xA0, 0x0, 0x15, 0xB, 0xA2, 0xB, 0xA2, 0x0, 0x15, 0xB, 0xAD, 0xB, 0xAD, 0x0, 0xE, 0xB, 0xAF, 0xB, 0xAF, 0x0, 0xE, 0xB, 0xB1, 0xB, 0xB1, 0x0, 0xE, 0xB, 0xB3, 0xB, 0xB3, 0x0, 0xE, 0xB, 0xB5, 0xB, 0xB5, 0x0, 0xA, 0xB, 0xB7, 0xB, 0xB7, 0x0, 0xA, 0xB, 0xB9, 0xB, 0xB9, 0x0, 0xA, 0xB, 0xBB, 0xB, 0xBB, 0x0, 0xA, 0xB, 0xBD, 0xB, 0xBD, 0x0, 0xA, 0xB, 0xBF, 0xB, 0xBF, 0x0, 0x1D, 0xB, 0xC0, 0xB, 0xC0, 0x0, 0x9, 0xB, 0xC1, 0xB, 0xC1, 0x0, 0x1D, 0xB, 0xC2, 0xB, 0xC2, 0x0, 0x9, 0xB, 0xC3, 0xB, 0xC3, 0x0, 0x1B, 0xB, 0xC5, 0xB, 0xC5, 0x0, 0x1B, 0xB, 0xC7, 0xB, 0xC7, 0x0, 0x12, 0xB, 0xC8, 0xB, 0xC8, 0x0, 0x14, 0xB, 0xC9, 0xB, 0xC9, 0x0, 0x12, 0xB, 0xCA, 0xB, 0xCA, 0x0, 0x14, 0xB, 0xCB, 0xB, 0xCB, 0x0, 0xC, 0xB, 0xCC, 0xB, 0xCC, 0x0, 0x9, 0xB, 0xCD, 0xB, 0xCD, 0x0, 0x11, 0xB, 0xCE, 0xB, 0xCE, 0x0, 0x10, 0xB, 0xCF, 0xB, 0xCF, 0x0, 0x11, 0xB, 0xD0, 0xB, 0xD0, 0x0, 0x10, 0xB, 0xD1, 0xB, 0xD1, 0x0, 0x11, 0xB, 0xD2, 0xB, 0xD2, 0x0, 0x10, 0xB, 0xD6, 0xB, 0xD6, 0x0, 0x9, 0xB, 0xE0, 0xB, 0xE7, 0x0, 0x2, 0xB, 0xEE, 0xB, 0xF3, 0x0, 0x5, 0xB, 0xF4, 0xB, 0xFB, 0x0, 0x4, 0xC, 0x14, 0xC, 0x19, 0x0, 0x3, 0xC, 0x1A, 0xC, 0x1F, 0x0, 0x1, 0xC, 0x40, 0xC, 0x41, 0x0, 0x4, 0xC, 0x44, 0xC, 0x45, 0x0, 0x3, 0xC, 0x52, 0xC, 0x59, 0x0, 0x2, 0xC, 0x81, 0xC, 0x85, 0x0, 0x2, 0xC, 0x86, 0xC, 0x8A, 0x0, 0x4, 0xC, 0x8B, 0xC, 0x8C, 0x0, 0x5, 0xC, 0x9E, 0xC, 0x9F, 0x0, 0x7, 0xC, 0xA2, 0xC, 0xA5, 0x0, 0xC, 0xC, 0xA6, 0xC, 0xA6, 0x0, 0x16, 0xC, 0xAC, 0xC, 0xAD, 0x0, 0x1, 0xC, 0xB7, 0xC, 0xB7, 0x0, 0xF, 0xC, 0xBB, 0xC, 0xBB, 0x0, 0xD, 0xC, 0xBE, 0xC, 0xBE, 0x0, 0xF, 0xC, 0xC4, 0xC, 0xC4, 0x0, 0x1E, 0xC, 0xC9, 0xC, 0xC9, 0x0, 0x23, 0xC, 0xD4, 0xC, 0xD4, 0x0, 0x1E, 0xC, 0xD6, 0xC, 0xD6, 0x0, 0xF, 0xC, 0xDD, 0xC, 0xDD, 0x0, 0xD, 0xC, 0xE1, 0xC, 0xE1, 0x0, 0x23, 0x0, 0x2, 0x2, 0x8B, 0x0, 0x7, 0x0, 0x7, 0x0, 0x14, 0x0, 0xC, 0x0, 0xC, 0x0, 0x14, 0x0, 0x11, 0x0, 0x11, 0x0, 0x1A, 0x0, 0x12, 0x0, 0x12, 0x0, 0x1F, 0x0, 0x13, 0x0, 0x13, 0x0, 0x1A, 0x0, 0x26, 0x0, 0x26, 0x0, 0x6, 0x0, 0x28, 0x0, 0x28, 0x0, 0x2, 0x0, 0x2C, 0x0, 0x2C, 0x0, 0x2, 0x0, 0x2F, 0x0, 0x2F, 0x0, 0x23, 0x0, 0x34, 0x0, 0x34, 0x0, 0x2, 0x0, 0x36, 0x0, 0x36, 0x0, 0x2, 0x0, 0x38, 0x0, 0x38, 0x0, 0x10, 0x0, 0x39, 0x0, 0x39, 0x0, 0xB, 0x0, 0x3A, 0x0, 0x3A, 0x0, 0xA, 0x0, 0x3B, 0x0, 0x3B, 0x0, 0x1D, 0x0, 0x3C, 0x0, 0x3C, 0x0, 0x16, 0x0, 0x3D, 0x0, 0x3D, 0x0, 0x11, 0x0, 0x3E, 0x0, 0x3E, 0x0, 0xC, 0x0, 0x3F, 0x0, 0x3F, 0x0, 0x13, 0x0, 0x46, 0x0, 0x46, 0x0, 0x7, 0x0, 0x48, 0x0, 0x4A, 0x0, 0x1, 0x0, 0x4C, 0x0, 0x4C, 0x0, 0x1, 0x0, 0x52, 0x0, 0x53, 0x0, 0x3, 0x0, 0x54, 0x0, 0x54, 0x0, 0x4, 0x0, 0x55, 0x0, 0x55, 0x0, 0x3, 0x0, 0x56, 0x0, 0x56, 0x0, 0x1, 0x0, 0x58, 0x0, 0x58, 0x0, 0xE, 0x0, 0x5A, 0x0, 0x5A, 0x0, 0x5, 0x0, 0x5B, 0x0, 0x5B, 0x0, 0x9, 0x0, 0x5D, 0x0, 0x5D, 0x0, 0x15, 0x0, 0x5E, 0x0, 0x5E, 0x0, 0x9, 0x0, 0x5F, 0x0, 0x5F, 0x0, 0xF, 0x0, 0x84, 0x0, 0x84, 0x0, 0x2, 0x0, 0x94, 0x0, 0x94, 0x0, 0x2, 0x0, 0x95, 0x0, 0x95, 0x0, 0x1, 0x0, 0x9E, 0x0, 0x9E, 0x0, 0x2, 0x0, 0x9F, 0x0, 0x9F, 0x0, 0x1, 0x0, 0xAA, 0x0, 0xAA, 0x0, 0x2, 0x0, 0xB4, 0x0, 0xB4, 0x0, 0x2, 0x0, 0xB5, 0x0, 0xB5, 0x0, 0x1, 0x0, 0xB6, 0x0, 0xB6, 0x0, 0x2, 0x0, 0xC2, 0x0, 0xC2, 0x0, 0xB, 0x0, 0xC4, 0x0, 0xC4, 0x0, 0x5, 0x0, 0xCA, 0x0, 0xCA, 0x0, 0xF, 0x0, 0xDA, 0x0, 0xDA, 0x0, 0x1, 0x0, 0xDC, 0x0, 0xDC, 0x0, 0x1, 0x0, 0xE4, 0x0, 0xE4, 0x0, 0x1, 0x0, 0xEA, 0x0, 0xEA, 0x0, 0x3, 0x0, 0xF4, 0x0, 0xF4, 0x0, 0xE, 0x0, 0xF5, 0x0, 0xF5, 0x0, 0xF, 0x0, 0xFA, 0x0, 0xFA, 0x0, 0x6, 0x0, 0xFF, 0x0, 0xFF, 0x0, 0x2, 0x1, 0x0, 0x1, 0x0, 0x0, 0x1, 0x1, 0x3, 0x1, 0x3, 0x0, 0xC, 0x2, 0x28, 0x2, 0x28, 0x0, 0x3, 0x2, 0x2A, 0x2, 0x2A, 0x0, 0x1, 0x2, 0x31, 0x2, 0x31, 0x0, 0x6, 0x2, 0x32, 0x2, 0x32, 0x0, 0x2, 0x2, 0x33, 0x2, 0x33, 0x0, 0x6, 0x2, 0x3A, 0x2, 0x3A, 0x0, 0x1, 0x2, 0x3C, 0x2, 0x3C, 0x0, 0x9, 0x2, 0x40, 0x2, 0x40, 0x0, 0x3, 0x2, 0x47, 0x2, 0x48, 0x0, 0x1, 0x2, 0x4A, 0x2, 0x4A, 0x0, 0x5, 0x2, 0x55, 0x2, 0x55, 0x0, 0x2, 0x2, 0x56, 0x2, 0x56, 0x0, 0x4, 0x2, 0x57, 0x2, 0x57, 0x0, 0x2, 0x2, 0x58, 0x2, 0x58, 0x0, 0x1, 0x2, 0x61, 0x2, 0x61, 0x0, 0x1, 0x2, 0x66, 0x2, 0x66, 0x0, 0x2, 0x2, 0x68, 0x2, 0x68, 0x0, 0xB, 0x2, 0x69, 0x2, 0x69, 0x0, 0x2, 0x2, 0x6A, 0x2, 0x6A, 0x0, 0x19, 0x2, 0x6C, 0x2, 0x6C, 0x0, 0xB, 0x2, 0x70, 0x2, 0x70, 0x0, 0x11, 0x2, 0x73, 0x2, 0x73, 0x0, 0x19, 0x2, 0x74, 0x2, 0x74, 0x0, 0x22, 0x2, 0x77, 0x2, 0x77, 0x0, 0x20, 0x2, 0x82, 0x2, 0x82, 0x0, 0x3, 0x2, 0x84, 0x2, 0x84, 0x0, 0x15, 0x2, 0x86, 0x2, 0x87, 0x0, 0x3, 0x2, 0x88, 0x2, 0x88, 0x0, 0x1B, 0x2, 0x89, 0x2, 0x8B, 0x0, 0x3, 0x2, 0x8D, 0x2, 0x8D, 0x0, 0x1, 0x2, 0x8E, 0x2, 0x8E, 0x0, 0x3, 0x2, 0x8F, 0x2, 0x8F, 0x0, 0x21, 0x2, 0x90, 0x2, 0x91, 0x0, 0x3, 0x2, 0x94, 0x2, 0x94, 0x0, 0x3, 0x2, 0x96, 0x2, 0x96, 0x0, 0x3, 0x2, 0x99, 0x2, 0x99, 0x0, 0x1, 0x2, 0x9A, 0x2, 0x9A, 0x0, 0x1B, 0x2, 0x9B, 0x2, 0x9B, 0x0, 0x3, 0x2, 0x9E, 0x2, 0x9E, 0x0, 0x2, 0x2, 0xA3, 0x2, 0xA3, 0x0, 0x6, 0x2, 0xAD, 0x2, 0xAD, 0x0, 0x2, 0x2, 0xAE, 0x2, 0xAE, 0x0, 0x4, 0x2, 0xAF, 0x2, 0xAF, 0x0, 0x1D, 0x2, 0xB0, 0x2, 0xB0, 0x0, 0x9, 0x2, 0xB1, 0x2, 0xB1, 0x0, 0x2, 0x2, 0xB3, 0x2, 0xB3, 0x0, 0x2, 0x2, 0xB4, 0x2, 0xB4, 0x0, 0x1, 0x2, 0xB5, 0x2, 0xB5, 0x0, 0x2, 0x2, 0xB7, 0x2, 0xB7, 0x0, 0x2, 0x2, 0xB8, 0x2, 0xB8, 0x0, 0x1, 0x2, 0xC2, 0x2, 0xC2, 0x0, 0x3, 0x2, 0xCA, 0x2, 0xCA, 0x0, 0x11, 0x2, 0xCB, 0x2, 0xCB, 0x0, 0x15, 0x2, 0xCD, 0x2, 0xCD, 0x0, 0x3, 0x2, 0xD0, 0x2, 0xD0, 0x0, 0xB, 0x2, 0xD3, 0x2, 0xD3, 0x0, 0x3, 0x2, 0xD5, 0x2, 0xD5, 0x0, 0x3, 0x2, 0xD8, 0x2, 0xD8, 0x0, 0x2, 0x2, 0xD9, 0x2, 0xD9, 0x0, 0x1, 0x2, 0xDA, 0x2, 0xDA, 0x0, 0x11, 0x2, 0xDB, 0x2, 0xDB, 0x0, 0x15, 0x2, 0xDC, 0x2, 0xDC, 0x0, 0xB, 0x2, 0xDE, 0x2, 0xDE, 0x0, 0x20, 0x2, 0xDF, 0x2, 0xDF, 0x0, 0x21, 0x2, 0xE7, 0x2, 0xE7, 0x0, 0x19, 0x2, 0xE8, 0x2, 0xE8, 0x0, 0x1B, 0x2, 0xEA, 0x2, 0xEA, 0x0, 0x3, 0x2, 0xEC, 0x2, 0xEC, 0x0, 0x3, 0x2, 0xEE, 0x2, 0xEE, 0x0, 0x3, 0x2, 0xF3, 0x2, 0xF3, 0x0, 0x3, 0x2, 0xF4, 0x2, 0xF4, 0x0, 0x11, 0x2, 0xF5, 0x2, 0xF5, 0x0, 0x15, 0x2, 0xF7, 0x2, 0xF8, 0x0, 0x1, 0x2, 0xFD, 0x2, 0xFD, 0x0, 0x19, 0x3, 0x1, 0x3, 0x1, 0x0, 0x2, 0x3, 0x2, 0x3, 0x2, 0x0, 0x1, 0x3, 0x6, 0x3, 0x6, 0x0, 0x19, 0x3, 0x7, 0x3, 0x7, 0x0, 0x1B, 0x3, 0x8, 0x3, 0x8, 0x0, 0x19, 0x3, 0x9, 0x3, 0x9, 0x0, 0x1B, 0x3, 0xF, 0x3, 0xF, 0x0, 0x3, 0x3, 0x10, 0x3, 0x10, 0x0, 0x19, 0x3, 0x11, 0x3, 0x11, 0x0, 0x1B, 0x3, 0x13, 0x3, 0x13, 0x0, 0x3, 0x4, 0x5E, 0x4, 0x5F, 0x0, 0x1F, 0x4, 0x62, 0x4, 0x63, 0x0, 0x14, 0x4, 0x64, 0x4, 0x64, 0x0, 0x1A, 0x4, 0x65, 0x4, 0x67, 0x0, 0x14, 0x4, 0x68, 0x4, 0x68, 0x0, 0x1A, 0x4, 0x6F, 0x4, 0x70, 0x0, 0x1A, 0x5, 0x5B, 0x5, 0x5B, 0x0, 0x7, 0x5, 0x61, 0x5, 0x61, 0x0, 0x13, 0x5, 0x62, 0x5, 0x62, 0x0, 0xF, 0x5, 0x63, 0x5, 0x63, 0x0, 0x2, 0x5, 0x67, 0x5, 0x67, 0x0, 0x9, 0x5, 0x68, 0x5, 0x68, 0x0, 0x16, 0x5, 0x6E, 0x5, 0x6E, 0x0, 0x1, 0x5, 0x70, 0x5, 0x70, 0x0, 0x4, 0x5, 0x74, 0x5, 0x74, 0x0, 0x10, 0x5, 0xD9, 0x5, 0xD9, 0x0, 0x13, 0x5, 0xDA, 0x5, 0xDA, 0x0, 0xF, 0x5, 0xDB, 0x5, 0xDB, 0x0, 0x13, 0x5, 0xDC, 0x5, 0xDC, 0x0, 0xF, 0x5, 0xE5, 0x5, 0xE5, 0x0, 0x2, 0x5, 0xED, 0x5, 0xED, 0x0, 0x2, 0x5, 0xEE, 0x5, 0xEE, 0x0, 0x4, 0x5, 0xF0, 0x5, 0xF0, 0x0, 0x3, 0x5, 0xF1, 0x5, 0xF1, 0x0, 0x6, 0x6, 0x0, 0x6, 0x0, 0x0, 0x3, 0x6, 0x1, 0x6, 0x1, 0x0, 0x2, 0x6, 0x2, 0x6, 0x2, 0x0, 0x4, 0x6, 0x3, 0x6, 0x3, 0x0, 0x2, 0x6, 0x4, 0x6, 0x4, 0x0, 0x4, 0x6, 0x5, 0x6, 0x5, 0x0, 0x2, 0x6, 0x6, 0x6, 0x6, 0x0, 0x4, 0x6, 0x1F, 0x6, 0x1F, 0x0, 0x20, 0x6, 0x20, 0x6, 0x20, 0x0, 0x21, 0x6, 0x23, 0x6, 0x23, 0x0, 0xB, 0x6, 0x25, 0x6, 0x25, 0x0, 0xB, 0x6, 0x28, 0x6, 0x28, 0x0, 0x3, 0x6, 0x29, 0x6, 0x29, 0x0, 0xB, 0x6, 0x30, 0x6, 0x30, 0x0, 0x3, 0x6, 0x31, 0x6, 0x31, 0x0, 0x2, 0x6, 0x32, 0x6, 0x32, 0x0, 0x4, 0x6, 0x33, 0x6, 0x33, 0x0, 0x2, 0x6, 0x6A, 0x6, 0x6A, 0x0, 0x6, 0x6, 0x6B, 0x6, 0x6B, 0x0, 0x7, 0x6, 0x6C, 0x6, 0x6C, 0x0, 0x6, 0x6, 0x6D, 0x6, 0x6D, 0x0, 0x7, 0x6, 0x6F, 0x6, 0x6F, 0x0, 0x7, 0x6, 0x70, 0x6, 0x70, 0x0, 0x6, 0x6, 0x71, 0x6, 0x71, 0x0, 0x7, 0x6, 0x72, 0x6, 0x72, 0x0, 0x6, 0x6, 0x73, 0x6, 0x73, 0x0, 0x7, 0x6, 0x74, 0x6, 0x74, 0x0, 0x6, 0x6, 0x75, 0x6, 0x75, 0x0, 0x7, 0x6, 0x84, 0x6, 0x84, 0x0, 0x2, 0x6, 0x85, 0x6, 0x85, 0x0, 0x4, 0x6, 0x86, 0x6, 0x86, 0x0, 0x2, 0x6, 0x87, 0x6, 0x87, 0x0, 0x4, 0x6, 0x8E, 0x6, 0x8E, 0x0, 0x2, 0x6, 0x8F, 0x6, 0x8F, 0x0, 0x1, 0x6, 0x90, 0x6, 0x90, 0x0, 0x2, 0x6, 0x91, 0x6, 0x91, 0x0, 0x1, 0x6, 0x96, 0x6, 0x96, 0x0, 0x1D, 0x6, 0xA9, 0x6, 0xA9, 0x0, 0x1, 0x6, 0xAB, 0x6, 0xAC, 0x0, 0x3, 0x6, 0xCB, 0x6, 0xCB, 0x0, 0x1, 0x6, 0xE3, 0x6, 0xE3, 0x0, 0x2, 0x6, 0xF7, 0x6, 0xF7, 0x0, 0x1, 0x6, 0xFB, 0x6, 0xFD, 0x0, 0x3, 0x7, 0x12, 0x7, 0x12, 0x0, 0x3, 0x7, 0x2C, 0x7, 0x2C, 0x0, 0xE, 0x7, 0x4F, 0x7, 0x4F, 0x0, 0x17, 0x7, 0x50, 0x7, 0x50, 0x0, 0x1C, 0x7, 0x51, 0x7, 0x51, 0x0, 0x24, 0x7, 0x53, 0x7, 0x53, 0x0, 0x12, 0x7, 0x54, 0x7, 0x54, 0x0, 0x18, 0x7, 0x55, 0x7, 0x55, 0x0, 0x1E, 0x7, 0x57, 0x7, 0x57, 0x0, 0x8, 0x7, 0x59, 0x7, 0x59, 0x0, 0x8, 0x7, 0x61, 0x7, 0x61, 0x0, 0x8, 0x7, 0x67, 0x7, 0x67, 0x0, 0xD, 0x7, 0x68, 0x7, 0x68, 0x0, 0x8, 0x7, 0x69, 0x7, 0x69, 0x0, 0xD, 0x7, 0x70, 0x7, 0x70, 0x0, 0x18, 0x7, 0x71, 0x7, 0x71, 0x0, 0x8, 0x7, 0x74, 0x7, 0x74, 0x0, 0x18, 0x7, 0x78, 0x7, 0x78, 0x0, 0x1C, 0x7, 0x89, 0x7, 0x89, 0x0, 0x1C, 0x7, 0x8C, 0x7, 0x8C, 0x0, 0x18, 0x7, 0x8D, 0x7, 0x8D, 0x0, 0x8, 0x7, 0x8E, 0x7, 0x8E, 0x0, 0x17, 0x7, 0x8F, 0x7, 0x8F, 0x0, 0x1C, 0x7, 0x90, 0x7, 0x90, 0x0, 0x18, 0x7, 0x96, 0x7, 0x96, 0x0, 0x8, 0x7, 0xAF, 0x7, 0xAF, 0x0, 0x8, 0x7, 0xB1, 0x7, 0xB1, 0x0, 0xD, 0x7, 0xCF, 0x7, 0xD0, 0x0, 0x2, 0x7, 0xD2, 0x7, 0xD3, 0x0, 0x2, 0x8, 0xC7, 0x8, 0xC7, 0x0, 0x1F, 0x8, 0xCD, 0x8, 0xD3, 0x0, 0x6, 0x8, 0xD4, 0x8, 0xD4, 0x0, 0x2, 0x8, 0xDE, 0x8, 0xE2, 0x0, 0x2, 0x8, 0xE3, 0x8, 0xE6, 0x0, 0xA, 0x8, 0xE7, 0x8, 0xE7, 0x0, 0xC, 0x8, 0xE8, 0x8, 0xEE, 0x0, 0x7, 0x8, 0xEF, 0x8, 0xF3, 0x0, 0x1, 0x8, 0xF8, 0x8, 0xF8, 0x0, 0x3, 0x8, 0xF9, 0x8, 0xFD, 0x0, 0x4, 0x8, 0xFE, 0x9, 0x1, 0x0, 0x5, 0x9, 0x2, 0x9, 0x3, 0x0, 0x9, 0x9, 0x4, 0x9, 0x4, 0x0, 0x6, 0x9, 0x5, 0x9, 0x5, 0x0, 0x7, 0x9, 0x6, 0x9, 0x6, 0x0, 0x6, 0x9, 0x7, 0x9, 0x7, 0x0, 0x7, 0x9, 0x8, 0x9, 0x8, 0x0, 0x6, 0x9, 0x9, 0x9, 0x9, 0x0, 0x7, 0x9, 0xA, 0x9, 0xA, 0x0, 0x2, 0x9, 0xB, 0x9, 0xB, 0x0, 0x1, 0x9, 0xC, 0x9, 0xC, 0x0, 0x2, 0x9, 0xD, 0x9, 0xD, 0x0, 0x1, 0x9, 0xE, 0x9, 0xE, 0x0, 0x2, 0x9, 0xF, 0x9, 0xF, 0x0, 0x1, 0x9, 0x10, 0x9, 0x10, 0x0, 0x2, 0x9, 0x11, 0x9, 0x11, 0x0, 0x1, 0x9, 0x13, 0x9, 0x13, 0x0, 0x1, 0x9, 0x15, 0x9, 0x15, 0x0, 0x1, 0x9, 0x17, 0x9, 0x17, 0x0, 0x1, 0x9, 0x19, 0x9, 0x19, 0x0, 0x1, 0x9, 0x1B, 0x9, 0x1B, 0x0, 0x1, 0x9, 0x1D, 0x9, 0x1D, 0x0, 0x1, 0x9, 0x1E, 0x9, 0x1E, 0x0, 0x2, 0x9, 0x1F, 0x9, 0x1F, 0x0, 0x1, 0x9, 0x20, 0x9, 0x20, 0x0, 0x2, 0x9, 0x21, 0x9, 0x21, 0x0, 0x1, 0x9, 0x22, 0x9, 0x22, 0x0, 0x2, 0x9, 0x23, 0x9, 0x23, 0x0, 0x1, 0x9, 0x24, 0x9, 0x24, 0x0, 0x2, 0x9, 0x25, 0x9, 0x25, 0x0, 0x1, 0x9, 0x33, 0x9, 0x33, 0x0, 0x23, 0x9, 0x40, 0x9, 0x40, 0x0, 0x3, 0x9, 0x42, 0x9, 0x42, 0x0, 0x3, 0x9, 0x44, 0x9, 0x45, 0x0, 0x3, 0x9, 0x46, 0x9, 0x46, 0x0, 0x2, 0x9, 0x47, 0x9, 0x47, 0x0, 0x4, 0x9, 0x48, 0x9, 0x48, 0x0, 0x2, 0x9, 0x49, 0x9, 0x49, 0x0, 0x4, 0x9, 0x4A, 0x9, 0x4A, 0x0, 0x2, 0x9, 0x4B, 0x9, 0x4B, 0x0, 0x4, 0x9, 0x52, 0x9, 0x52, 0x0, 0x10, 0x9, 0x53, 0x9, 0x53, 0x0, 0xE, 0x9, 0x54, 0x9, 0x54, 0x0, 0x10, 0x9, 0x55, 0x9, 0x55, 0x0, 0xE, 0x9, 0x56, 0x9, 0x56, 0x0, 0x10, 0x9, 0x57, 0x9, 0x57, 0x0, 0xE, 0x9, 0x58, 0x9, 0x58, 0x0, 0x10, 0x9, 0x59, 0x9, 0x59, 0x0, 0xE, 0x9, 0x5A, 0x9, 0x5A, 0x0, 0x10, 0x9, 0x5B, 0x9, 0x5B, 0x0, 0xE, 0x9, 0x5C, 0x9, 0x5C, 0x0, 0xB, 0x9, 0x5E, 0x9, 0x5E, 0x0, 0xB, 0x9, 0x60, 0x9, 0x60, 0x0, 0xB, 0x9, 0x62, 0x9, 0x62, 0x0, 0xA, 0x9, 0x63, 0x9, 0x63, 0x0, 0x5, 0x9, 0x64, 0x9, 0x64, 0x0, 0xA, 0x9, 0x65, 0x9, 0x65, 0x0, 0x5, 0x9, 0x66, 0x9, 0x66, 0x0, 0xA, 0x9, 0x67, 0x9, 0x67, 0x0, 0x5, 0x9, 0x68, 0x9, 0x68, 0x0, 0xA, 0x9, 0x69, 0x9, 0x69, 0x0, 0x5, 0x9, 0x6A, 0x9, 0x6A, 0x0, 0xA, 0x9, 0x6B, 0x9, 0x6B, 0x0, 0x5, 0x9, 0x6C, 0x9, 0x6C, 0x0, 0xA, 0x9, 0x6D, 0x9, 0x6D, 0x0, 0x5, 0x9, 0x6E, 0x9, 0x6E, 0x0, 0x16, 0x9, 0x70, 0x9, 0x70, 0x0, 0xC, 0x9, 0x71, 0x9, 0x71, 0x0, 0x9, 0x9, 0x72, 0x9, 0x72, 0x0, 0xC, 0x9, 0x73, 0x9, 0x73, 0x0, 0x13, 0x9, 0x74, 0x9, 0x74, 0x0, 0xF, 0x9, 0x75, 0x9, 0x75, 0x0, 0x13, 0x9, 0x76, 0x9, 0x76, 0x0, 0xF, 0x9, 0x77, 0x9, 0x77, 0x0, 0x13, 0x9, 0x78, 0x9, 0x78, 0x0, 0xF, 0x9, 0x7B, 0x9, 0x7B, 0x0, 0x2, 0x9, 0x80, 0x9, 0x86, 0x0, 0xD, 0x9, 0x87, 0x9, 0x87, 0x0, 0x8, 0x9, 0x91, 0x9, 0x95, 0x0, 0x8, 0x9, 0x96, 0x9, 0x99, 0x0, 0x12, 0x9, 0x9A, 0x9, 0x9A, 0x0, 0x17, 0x9, 0x9B, 0x9, 0x9D, 0x0, 0xD, 0x9, 0x9E, 0x9, 0xA1, 0x0, 0x8, 0x9, 0xA8, 0x9, 0xAB, 0x0, 0x8, 0x9, 0xBB, 0x9, 0xBE, 0x0, 0x8, 0x9, 0xC2, 0x9, 0xC5, 0x0, 0x1E, 0x9, 0xC7, 0x9, 0xC7, 0x0, 0x18, 0x9, 0xC9, 0x9, 0xCE, 0x0, 0x12, 0x9, 0xCF, 0x9, 0xCF, 0x0, 0x24, 0x9, 0xD0, 0x9, 0xD1, 0x0, 0x17, 0x9, 0xD5, 0x9, 0xD5, 0x0, 0x6, 0x9, 0xD9, 0x9, 0xD9, 0x0, 0x2, 0x9, 0xDA, 0x9, 0xDA, 0x0, 0xC, 0x9, 0xDD, 0x9, 0xDD, 0x0, 0x6, 0x9, 0xE0, 0x9, 0xE0, 0x0, 0x13, 0x9, 0xE6, 0x9, 0xE6, 0x0, 0x2, 0x9, 0xE9, 0x9, 0xE9, 0x0, 0xC, 0x9, 0xEA, 0x9, 0xEA, 0x0, 0x11, 0x9, 0xEC, 0x9, 0xEC, 0x0, 0xC, 0x9, 0xED, 0x9, 0xED, 0x0, 0x1, 0x9, 0xEF, 0x9, 0xEF, 0x0, 0x3, 0x9, 0xF1, 0x9, 0xF1, 0x0, 0x5, 0x9, 0xF3, 0x9, 0xF3, 0x0, 0x4, 0x9, 0xF5, 0x9, 0xF5, 0x0, 0x9, 0x9, 0xF8, 0x9, 0xF8, 0x0, 0x5, 0x9, 0xF9, 0x9, 0xF9, 0x0, 0x4, 0x9, 0xFA, 0x9, 0xFA, 0x0, 0x5, 0xA, 0x1, 0xA, 0x1, 0x0, 0x23, 0xA, 0x4, 0xA, 0x4, 0x0, 0x22, 0xA, 0x5, 0xA, 0x5, 0x0, 0x6, 0xA, 0xC, 0xA, 0xC, 0x0, 0x2, 0xA, 0xF, 0xA, 0xF, 0x0, 0x2, 0xA, 0x10, 0xA, 0x10, 0x0, 0xB, 0xA, 0x11, 0xA, 0x11, 0x0, 0x11, 0xA, 0x12, 0xA, 0x12, 0x0, 0x7, 0xA, 0x13, 0xA, 0x13, 0x0, 0x1, 0xA, 0x14, 0xA, 0x14, 0x0, 0x3, 0xA, 0x15, 0xA, 0x15, 0x0, 0x4, 0xA, 0x16, 0xA, 0x16, 0x0, 0x3, 0xA, 0x17, 0xA, 0x17, 0x0, 0x1, 0xA, 0x18, 0xA, 0x18, 0x0, 0x9, 0xA, 0x19, 0xA, 0x19, 0x0, 0x15, 0xA, 0x1A, 0xA, 0x1A, 0x0, 0x1, 0xA, 0x1B, 0xA, 0x1B, 0x0, 0x3, 0xA, 0x1C, 0xA, 0x1C, 0x0, 0xE, 0xA, 0x20, 0xA, 0x20, 0x0, 0x3, 0xA, 0x21, 0xA, 0x21, 0x0, 0x9, 0xA, 0x22, 0xA, 0x22, 0x0, 0x16, 0xA, 0x24, 0xA, 0x24, 0x0, 0x16, 0xA, 0x26, 0xA, 0x26, 0x0, 0x16, 0xA, 0x28, 0xA, 0x28, 0x0, 0xC, 0xA, 0x29, 0xA, 0x29, 0x0, 0x9, 0xA, 0x2A, 0xA, 0x2B, 0x0, 0x14, 0xA, 0x2E, 0xA, 0x2E, 0x0, 0x14, 0xA, 0x30, 0xA, 0x30, 0x0, 0x3, 0xA, 0x31, 0xA, 0x31, 0x0, 0x6, 0xA, 0x32, 0xA, 0x32, 0x0, 0x7, 0xA, 0x35, 0xA, 0x35, 0x0, 0x1, 0xA, 0x36, 0xA, 0x36, 0x0, 0x3, 0xA, 0x39, 0xA, 0x39, 0x0, 0x1D, 0xA, 0x3A, 0xA, 0x3A, 0x0, 0x9, 0xA, 0x3B, 0xA, 0x3B, 0x0, 0x1, 0xA, 0x3C, 0xA, 0x3C, 0x0, 0x2, 0xA, 0x3F, 0xA, 0x3F, 0x0, 0x2, 0xA, 0x40, 0xA, 0x40, 0x0, 0x1, 0xA, 0x41, 0xA, 0x41, 0x0, 0xC, 0xA, 0x42, 0xA, 0x42, 0x0, 0x9, 0xA, 0x44, 0xA, 0x44, 0x0, 0x11, 0xA, 0x45, 0xA, 0x45, 0x0, 0x15, 0xA, 0x47, 0xA, 0x47, 0x0, 0x6, 0xA, 0x48, 0xA, 0x48, 0x0, 0x7, 0xA, 0x49, 0xA, 0x49, 0x0, 0x6, 0xA, 0x4A, 0xA, 0x4A, 0x0, 0x7, 0xA, 0x4E, 0xA, 0x4E, 0x0, 0x1, 0xA, 0x50, 0xA, 0x51, 0x0, 0x1, 0xA, 0x52, 0xA, 0x52, 0x0, 0x11, 0xA, 0x53, 0xA, 0x53, 0x0, 0x15, 0xA, 0x57, 0xA, 0x57, 0x0, 0x3, 0xA, 0x59, 0xA, 0x59, 0x0, 0x3, 0xA, 0x5A, 0xA, 0x5A, 0x0, 0x2, 0xA, 0x5B, 0xA, 0x5B, 0x0, 0x4, 0xA, 0x5C, 0xA, 0x5C, 0x0, 0x2, 0xA, 0x5D, 0xA, 0x5D, 0x0, 0x1, 0xA, 0x5E, 0xA, 0x5F, 0x0, 0x2, 0xA, 0x60, 0xA, 0x60, 0x0, 0x4, 0xA, 0x63, 0xA, 0x63, 0x0, 0x22, 0xA, 0x64, 0xA, 0x64, 0x0, 0x9, 0xA, 0x65, 0xA, 0x65, 0x0, 0x22, 0xA, 0x66, 0xA, 0x66, 0x0, 0x9, 0xA, 0x67, 0xA, 0x67, 0x0, 0x22, 0xA, 0x68, 0xA, 0x68, 0x0, 0x9, 0xA, 0x69, 0xA, 0x69, 0x0, 0x20, 0xA, 0x6A, 0xA, 0x6A, 0x0, 0x21, 0xA, 0x6C, 0xA, 0x6C, 0x0, 0x3, 0xA, 0x6D, 0xA, 0x6D, 0x0, 0x1, 0xA, 0x6E, 0xA, 0x6E, 0x0, 0x6, 0xA, 0x6F, 0xA, 0x6F, 0x0, 0x7, 0xA, 0x70, 0xA, 0x70, 0x0, 0x6, 0xA, 0x71, 0xA, 0x71, 0x0, 0x7, 0xA, 0x72, 0xA, 0x72, 0x0, 0x6, 0xA, 0x73, 0xA, 0x73, 0x0, 0x7, 0xA, 0x74, 0xA, 0x74, 0x0, 0x6, 0xA, 0x75, 0xA, 0x75, 0x0, 0x7, 0xA, 0x76, 0xA, 0x76, 0x0, 0x6, 0xA, 0x77, 0xA, 0x77, 0x0, 0x7, 0xA, 0x78, 0xA, 0x78, 0x0, 0x6, 0xA, 0x79, 0xA, 0x79, 0x0, 0x7, 0xA, 0x7A, 0xA, 0x7A, 0x0, 0x6, 0xA, 0x7B, 0xA, 0x7B, 0x0, 0x7, 0xA, 0x7C, 0xA, 0x7C, 0x0, 0x6, 0xA, 0x7D, 0xA, 0x7D, 0x0, 0x7, 0xA, 0x7E, 0xA, 0x7E, 0x0, 0x6, 0xA, 0x7F, 0xA, 0x7F, 0x0, 0x7, 0xA, 0x80, 0xA, 0x80, 0x0, 0x6, 0xA, 0x81, 0xA, 0x81, 0x0, 0x7, 0xA, 0x82, 0xA, 0x82, 0x0, 0x6, 0xA, 0x83, 0xA, 0x83, 0x0, 0x7, 0xA, 0x84, 0xA, 0x84, 0x0, 0x6, 0xA, 0x85, 0xA, 0x85, 0x0, 0x7, 0xA, 0x87, 0xA, 0x87, 0x0, 0x1, 0xA, 0x89, 0xA, 0x89, 0x0, 0x1, 0xA, 0x8B, 0xA, 0x8B, 0x0, 0x1, 0xA, 0x8D, 0xA, 0x8D, 0x0, 0x1, 0xA, 0x8F, 0xA, 0x8F, 0x0, 0x1, 0xA, 0x91, 0xA, 0x91, 0x0, 0x1, 0xA, 0x93, 0xA, 0x93, 0x0, 0x1, 0xA, 0x95, 0xA, 0x95, 0x0, 0x1, 0xA, 0x9A, 0xA, 0x9A, 0x0, 0x2, 0xA, 0x9B, 0xA, 0x9B, 0x0, 0x4, 0xA, 0x9C, 0xA, 0x9C, 0x0, 0x2, 0xA, 0x9D, 0xA, 0x9D, 0x0, 0x4, 0xA, 0x9E, 0xA, 0x9E, 0x0, 0x2, 0xA, 0x9F, 0xA, 0x9F, 0x0, 0x4, 0xA, 0xA0, 0xA, 0xA0, 0x0, 0x2, 0xA, 0xA1, 0xA, 0xA1, 0x0, 0x4, 0xA, 0xA2, 0xA, 0xA2, 0x0, 0x2, 0xA, 0xA3, 0xA, 0xA3, 0x0, 0x4, 0xA, 0xA4, 0xA, 0xA4, 0x0, 0x2, 0xA, 0xA5, 0xA, 0xA5, 0x0, 0x4, 0xA, 0xA6, 0xA, 0xA6, 0x0, 0x2, 0xA, 0xA7, 0xA, 0xA7, 0x0, 0x4, 0xA, 0xA8, 0xA, 0xA8, 0x0, 0x2, 0xA, 0xA9, 0xA, 0xA9, 0x0, 0x1, 0xA, 0xAA, 0xA, 0xAA, 0x0, 0x2, 0xA, 0xAB, 0xA, 0xAB, 0x0, 0x1, 0xA, 0xAC, 0xA, 0xAC, 0x0, 0x2, 0xA, 0xAD, 0xA, 0xAD, 0x0, 0x1, 0xA, 0xAE, 0xA, 0xAE, 0x0, 0x2, 0xA, 0xAF, 0xA, 0xAF, 0x0, 0x4, 0xA, 0xB0, 0xA, 0xB0, 0x0, 0x2, 0xA, 0xB1, 0xA, 0xB1, 0x0, 0x1, 0xA, 0xB2, 0xA, 0xB2, 0x0, 0xA, 0xA, 0xB3, 0xA, 0xB3, 0x0, 0x5, 0xA, 0xB4, 0xA, 0xB4, 0x0, 0xA, 0xA, 0xB5, 0xA, 0xB5, 0x0, 0x5, 0xA, 0xB7, 0xA, 0xB7, 0x0, 0x5, 0xA, 0xB9, 0xA, 0xB9, 0x0, 0x5, 0xA, 0xBB, 0xA, 0xBB, 0x0, 0x5, 0xA, 0xBD, 0xA, 0xBD, 0x0, 0x5, 0xA, 0xBF, 0xA, 0xBF, 0x0, 0x5, 0xA, 0xC0, 0xA, 0xC0, 0x0, 0xC, 0xA, 0xC1, 0xA, 0xC1, 0x0, 0x9, 0xA, 0xC2, 0xA, 0xC2, 0x0, 0xC, 0xA, 0xC3, 0xA, 0xC3, 0x0, 0x9, 0xA, 0xC4, 0xA, 0xC4, 0x0, 0xC, 0xA, 0xC5, 0xA, 0xC5, 0x0, 0x9, 0xA, 0xC7, 0xA, 0xC7, 0x0, 0xB, 0xA, 0xC9, 0xA, 0xC9, 0x0, 0x20, 0xA, 0xCA, 0xA, 0xCA, 0x0, 0x21, 0xA, 0xCC, 0xA, 0xCC, 0x0, 0x3, 0xA, 0xD6, 0xA, 0xD6, 0x0, 0xC, 0xA, 0xDC, 0xA, 0xDC, 0x0, 0x1F, 0xA, 0xE7, 0xA, 0xE7, 0x0, 0x3, 0xA, 0xED, 0xA, 0xED, 0x0, 0x3, 0xA, 0xEE, 0xA, 0xEE, 0x0, 0x6, 0xA, 0xEF, 0xA, 0xEF, 0x0, 0x7, 0xA, 0xF2, 0xA, 0xF2, 0x0, 0x2, 0xA, 0xF3, 0xA, 0xF3, 0x0, 0x4, 0xA, 0xF4, 0xA, 0xF4, 0x0, 0xA, 0xA, 0xF5, 0xA, 0xF5, 0x0, 0x5, 0xA, 0xF6, 0xA, 0xF6, 0x0, 0xA, 0xA, 0xF7, 0xA, 0xF7, 0x0, 0x5, 0xA, 0xF8, 0xA, 0xF8, 0x0, 0xA, 0xA, 0xF9, 0xA, 0xF9, 0x0, 0x5, 0xA, 0xFA, 0xA, 0xFA, 0x0, 0xA, 0xA, 0xFB, 0xA, 0xFB, 0x0, 0x5, 0xA, 0xFC, 0xA, 0xFC, 0x0, 0xA, 0xA, 0xFD, 0xA, 0xFD, 0x0, 0x5, 0xA, 0xFE, 0xA, 0xFE, 0x0, 0x1, 0xA, 0xFF, 0xA, 0xFF, 0x0, 0x6, 0xB, 0x0, 0xB, 0x0, 0x0, 0x7, 0xB, 0x1, 0xB, 0x1, 0x0, 0x6, 0xB, 0x2, 0xB, 0x2, 0x0, 0x7, 0xB, 0x4, 0xB, 0x4, 0x0, 0x7, 0xB, 0x6, 0xB, 0x6, 0x0, 0x1, 0xB, 0x9, 0xB, 0x9, 0x0, 0x2, 0xB, 0xA, 0xB, 0xA, 0x0, 0x4, 0xB, 0xB, 0xB, 0xB, 0x0, 0x2, 0xB, 0xC, 0xB, 0xC, 0x0, 0x4, 0xB, 0xF, 0xB, 0xF, 0x0, 0x1, 0xB, 0x13, 0xB, 0x13, 0x0, 0x3, 0xB, 0x14, 0xB, 0x14, 0x0, 0x6, 0xB, 0x15, 0xB, 0x15, 0x0, 0x7, 0xB, 0x16, 0xB, 0x16, 0x0, 0x6, 0xB, 0x17, 0xB, 0x17, 0x0, 0x7, 0xB, 0x19, 0xB, 0x19, 0x0, 0x1, 0xB, 0x1B, 0xB, 0x1B, 0x0, 0x1, 0xB, 0x20, 0xB, 0x20, 0x0, 0x2, 0xB, 0x21, 0xB, 0x21, 0x0, 0x4, 0xB, 0x22, 0xB, 0x22, 0x0, 0x2, 0xB, 0x23, 0xB, 0x23, 0x0, 0x4, 0xB, 0x29, 0xB, 0x29, 0x0, 0x5, 0xB, 0x2B, 0xB, 0x2B, 0x0, 0x5, 0xB, 0x2E, 0xB, 0x2E, 0x0, 0x6, 0xB, 0x2F, 0xB, 0x2F, 0x0, 0x7, 0xB, 0x32, 0xB, 0x32, 0x0, 0x2, 0xB, 0x33, 0xB, 0x33, 0x0, 0x4, 0xB, 0x34, 0xB, 0x34, 0x0, 0x2, 0xB, 0x35, 0xB, 0x35, 0x0, 0x4, 0xB, 0x36, 0xB, 0x36, 0x0, 0x2, 0xB, 0x37, 0xB, 0x37, 0x0, 0x4, 0xB, 0x38, 0xB, 0x38, 0x0, 0x2, 0xB, 0x39, 0xB, 0x39, 0x0, 0x4, 0xB, 0x3B, 0xB, 0x3B, 0x0, 0x9, 0xB, 0x3C, 0xB, 0x3C, 0x0, 0x4, 0xB, 0x3F, 0xB, 0x3F, 0x0, 0x23, 0xB, 0x42, 0xB, 0x42, 0x0, 0x1, 0xB, 0x49, 0xB, 0x49, 0x0, 0x2, 0xB, 0x4A, 0xB, 0x4A, 0x0, 0x1, 0xB, 0x4B, 0xB, 0x4B, 0x0, 0x16, 0xB, 0x53, 0xB, 0x53, 0x0, 0x2, 0xB, 0x54, 0xB, 0x54, 0x0, 0x1, 0xB, 0x56, 0xB, 0x56, 0x0, 0x1, 0xB, 0x58, 0xB, 0x58, 0x0, 0x1, 0xB, 0x5A, 0xB, 0x5A, 0x0, 0x1, 0xB, 0x5C, 0xB, 0x5C, 0x0, 0x1, 0xB, 0x5E, 0xB, 0x5E, 0x0, 0x1, 0xB, 0x60, 0xB, 0x60, 0x0, 0x1, 0xB, 0x62, 0xB, 0x62, 0x0, 0x1, 0xB, 0x64, 0xB, 0x64, 0x0, 0x1, 0xB, 0x66, 0xB, 0x66, 0x0, 0x1, 0xB, 0x68, 0xB, 0x68, 0x0, 0x1, 0xB, 0x6B, 0xB, 0x6B, 0x0, 0x2, 0xB, 0x6C, 0xB, 0x6C, 0x0, 0x1, 0xB, 0x84, 0xB, 0x84, 0x0, 0x3, 0xB, 0x86, 0xB, 0x86, 0x0, 0x3, 0xB, 0x88, 0xB, 0x88, 0x0, 0x3, 0xB, 0x8A, 0xB, 0x8A, 0x0, 0x3, 0xB, 0x8C, 0xB, 0x8C, 0x0, 0x3, 0xB, 0x8E, 0xB, 0x8E, 0x0, 0x3, 0xB, 0x8F, 0xB, 0x8F, 0x0, 0x2, 0xB, 0x90, 0xB, 0x90, 0x0, 0x4, 0xB, 0x91, 0xB, 0x91, 0x0, 0x2, 0xB, 0x92, 0xB, 0x92, 0x0, 0x4, 0xB, 0x93, 0xB, 0x93, 0x0, 0x2, 0xB, 0x94, 0xB, 0x94, 0x0, 0x4, 0xB, 0x95, 0xB, 0x95, 0x0, 0x2, 0xB, 0x96, 0xB, 0x96, 0x0, 0x4, 0xB, 0xA3, 0xB, 0xA3, 0x0, 0x10, 0xB, 0xA4, 0xB, 0xA4, 0x0, 0xE, 0xB, 0xA5, 0xB, 0xA5, 0x0, 0x10, 0xB, 0xA6, 0xB, 0xA6, 0x0, 0xE, 0xB, 0xA7, 0xB, 0xA7, 0x0, 0x10, 0xB, 0xA8, 0xB, 0xA8, 0x0, 0xE, 0xB, 0xA9, 0xB, 0xA9, 0x0, 0x10, 0xB, 0xAA, 0xB, 0xAA, 0x0, 0xE, 0xB, 0xAB, 0xB, 0xAB, 0x0, 0x10, 0xB, 0xAC, 0xB, 0xAC, 0x0, 0xE, 0xB, 0xAD, 0xB, 0xAD, 0x0, 0xB, 0xB, 0xAF, 0xB, 0xAF, 0x0, 0xB, 0xB, 0xB1, 0xB, 0xB1, 0x0, 0xB, 0xB, 0xB3, 0xB, 0xB3, 0x0, 0xB, 0xB, 0xB5, 0xB, 0xB5, 0x0, 0xA, 0xB, 0xB6, 0xB, 0xB6, 0x0, 0x5, 0xB, 0xB7, 0xB, 0xB7, 0x0, 0xA, 0xB, 0xB8, 0xB, 0xB8, 0x0, 0x5, 0xB, 0xB9, 0xB, 0xB9, 0x0, 0xA, 0xB, 0xBA, 0xB, 0xBA, 0x0, 0x5, 0xB, 0xBB, 0xB, 0xBB, 0x0, 0xA, 0xB, 0xBC, 0xB, 0xBC, 0x0, 0x5, 0xB, 0xBD, 0xB, 0xBD, 0x0, 0xA, 0xB, 0xBE, 0xB, 0xBE, 0x0, 0x5, 0xB, 0xBF, 0xB, 0xBF, 0x0, 0x1D, 0xB, 0xC0, 0xB, 0xC0, 0x0, 0x9, 0xB, 0xC1, 0xB, 0xC1, 0x0, 0x1D, 0xB, 0xC2, 0xB, 0xC2, 0x0, 0x9, 0xB, 0xC3, 0xB, 0xC3, 0x0, 0x16, 0xB, 0xC5, 0xB, 0xC5, 0x0, 0x16, 0xB, 0xC7, 0xB, 0xC7, 0x0, 0x11, 0xB, 0xC8, 0xB, 0xC8, 0x0, 0x15, 0xB, 0xC9, 0xB, 0xC9, 0x0, 0x11, 0xB, 0xCA, 0xB, 0xCA, 0x0, 0x15, 0xB, 0xCB, 0xB, 0xCB, 0x0, 0xC, 0xB, 0xCC, 0xB, 0xCC, 0x0, 0x9, 0xB, 0xCD, 0xB, 0xCD, 0x0, 0x13, 0xB, 0xCE, 0xB, 0xCE, 0x0, 0xF, 0xB, 0xCF, 0xB, 0xCF, 0x0, 0x13, 0xB, 0xD0, 0xB, 0xD0, 0x0, 0xF, 0xB, 0xD1, 0xB, 0xD1, 0x0, 0x13, 0xB, 0xD2, 0xB, 0xD2, 0x0, 0xF, 0xB, 0xD6, 0xB, 0xD6, 0x0, 0x9, 0xB, 0xD7, 0xB, 0xD7, 0x0, 0x7, 0xB, 0xD8, 0xB, 0xDF, 0x0, 0x1, 0xC, 0x14, 0xC, 0x19, 0x0, 0x4, 0xC, 0x20, 0xC, 0x27, 0x0, 0x5, 0xC, 0x44, 0xC, 0x45, 0x0, 0x4, 0xC, 0x46, 0xC, 0x47, 0x0, 0x5, 0xC, 0x4A, 0xC, 0x51, 0x0, 0x1, 0xC, 0x7A, 0xC, 0x80, 0x0, 0x1, 0xC, 0x81, 0xC, 0x82, 0x0, 0x6, 0xC, 0x85, 0xC, 0x85, 0x0, 0x6, 0xC, 0x9A, 0xC, 0x9D, 0x0, 0x5, 0xC, 0xA2, 0xC, 0xA3, 0x0, 0xC, 0xC, 0xB7, 0xC, 0xB7, 0x0, 0xD, 0xC, 0xBB, 0xC, 0xBB, 0x0, 0x8, 0xC, 0xBC, 0xC, 0xBC, 0x0, 0x17, 0xC, 0xBE, 0xC, 0xBE, 0x0, 0xD, 0xC, 0xCA, 0xC, 0xCA, 0x0, 0x17, 0xC, 0xCB, 0xC, 0xCB, 0x0, 0x1C, 0xC, 0xCD, 0xC, 0xCD, 0x0, 0x17, 0xC, 0xD6, 0xC, 0xD6, 0x0, 0xD, 0xC, 0xDD, 0xC, 0xDD, 0x0, 0x8, 0xC, 0xE0, 0xC, 0xE0, 0x0, 0x8, 0xC, 0xE1, 0xC, 0xE1, 0x0, 0x18, 0xC, 0xE2, 0xC, 0xE2, 0x0, 0x1C, 0xC, 0xE5, 0xC, 0xE5, 0x0, 0x8, 0xC, 0xE6, 0xC, 0xE6, 0x0, 0x17, 0x0, 0x4, 0x0, 0x0, 0x0, 0x1, 0x0, 0x8, 0x0, 0x1, 0x0, 0xC, 0x0, 0xA6, 0x0, 0x1, 0x3, 0x8C, 0x9, 0xA, 0x0, 0x2, 0x0, 0x19, 0x1, 0xB1, 0x1, 0xC5, 0x0, 0x0, 0x1, 0xCB, 0x1, 0xCB, 0x0, 0x15, 0x1, 0xEE, 0x1, 0xF5, 0x0, 0x16, 0x1, 0xF7, 0x1, 0xF7, 0x0, 0x1E, 0x1, 0xFB, 0x1, 0xFD, 0x0, 0x1F, 0x2, 0x1, 0x2, 0x3, 0x0, 0x22, 0x2, 0x8, 0x2, 0x8, 0x0, 0x25, 0x2, 0xC, 0x2, 0xC, 0x0, 0x26, 0x2, 0x14, 0x2, 0x20, 0x0, 0x27, 0x2, 0xBA, 0x2, 0xBE, 0x0, 0x34, 0x3, 0x20, 0x3, 0x24, 0x0, 0x39, 0x3, 0x2B, 0x3, 0x2C, 0x0, 0x3E, 0x3, 0xEF, 0x3, 0xF0, 0x0, 0x40, 0x3, 0xF2, 0x3, 0xF8, 0x0, 0x42, 0x3, 0xFA, 0x3, 0xFD, 0x0, 0x49, 0x4, 0x0, 0x4, 0x24, 0x0, 0x4D, 0x4, 0x27, 0x4, 0x27, 0x0, 0x72, 0x4, 0xE2, 0x4, 0xE3, 0x0, 0x73, 0x4, 0xE5, 0x4, 0xE5, 0x0, 0x75, 0x5, 0x76, 0x5, 0x95, 0x0, 0x76, 0x6, 0x8, 0x6, 0x8, 0x0, 0x96, 0x6, 0xD, 0x6, 0x16, 0x0, 0x97, 0x6, 0x37, 0x6, 0x37, 0x0, 0xA1, 0x7, 0x2D, 0x7, 0x33, 0x0, 0xA2, 0x8, 0x8A, 0x8, 0x8E, 0x0, 0xA9, 0x0, 0x2, 0x0, 0x7B, 0x0, 0x26, 0x0, 0x3F, 0x0, 0x0, 0x0, 0x46, 0x0, 0x5F, 0x0, 0x1A, 0x0, 0x82, 0x0, 0x82, 0x0, 0x34, 0x0, 0x84, 0x0, 0x84, 0x0, 0x35, 0x0, 0x87, 0x0, 0x87, 0x0, 0x36, 0x0, 0x8A, 0x0, 0x8A, 0x0, 0x37, 0x0, 0x8C, 0x0, 0x97, 0x0, 0x38, 0x0, 0xA6, 0x0, 0xA7, 0x0, 0x44, 0x0, 0xAD, 0x0, 0xAD, 0x0, 0x46, 0x0, 0xB0, 0x0, 0xB0, 0x0, 0x47, 0x0, 0xB4, 0x0, 0xB5, 0x0, 0x48, 0x0, 0xBD, 0x0, 0xBD, 0x0, 0x4A, 0x0, 0xC3, 0x0, 0xC4, 0x0, 0x4B, 0x0, 0xC9, 0x0, 0xCA, 0x0, 0x4D, 0x0, 0xDB, 0x0, 0xDC, 0x0, 0x4F, 0x0, 0xEC, 0x0, 0xEC, 0x0, 0x51, 0x0, 0xF2, 0x0, 0xF2, 0x0, 0x52, 0x0, 0xF8, 0x0, 0xF9, 0x0, 0x53, 0x0, 0xFD, 0x0, 0xFE, 0x0, 0x55, 0x1, 0x1, 0x1, 0x61, 0x0, 0x57, 0x2, 0x30, 0x2, 0x30, 0x0, 0xB8, 0x2, 0x3A, 0x2, 0x3A, 0x0, 0xB9, 0x2, 0x3E, 0x2, 0x3E, 0x0, 0xBA, 0x2, 0x40, 0x2, 0x40, 0x0, 0xBB, 0x2, 0x42, 0x2, 0x42, 0x0, 0xBC, 0x2, 0x46, 0x2, 0x46, 0x0, 0xBD, 0x2, 0x4A, 0x2, 0x4A, 0x0, 0xBE, 0x2, 0x4C, 0x2, 0x4D, 0x0, 0xBF, 0x2, 0x51, 0x2, 0x51, 0x0, 0xC1, 0x2, 0x53, 0x2, 0x53, 0x0, 0xC2, 0x2, 0x69, 0x2, 0x69, 0x0, 0xC3, 0x2, 0x70, 0x2, 0x72, 0x0, 0xC4, 0x2, 0x74, 0x2, 0x74, 0x0, 0xC7, 0x2, 0x77, 0x2, 0x77, 0x0, 0xC8, 0x2, 0x7B, 0x2, 0x7B, 0x0, 0xC9, 0x2, 0x7D, 0x2, 0x7F, 0x0, 0xCA, 0x2, 0x81, 0x2, 0x91, 0x0, 0xCD, 0x2, 0x93, 0x2, 0x93, 0x0, 0xDE, 0x2, 0x95, 0x2, 0x97, 0x0, 0xDF, 0x2, 0x99, 0x2, 0x99, 0x0, 0xE2, 0x2, 0x9E, 0x2, 0x9F, 0x0, 0xE3, 0x2, 0xAC, 0x2, 0xB0, 0x0, 0xE5, 0x2, 0xB2, 0x2, 0xB2, 0x0, 0xEA, 0x2, 0xB6, 0x2, 0xB8, 0x0, 0xEB, 0x2, 0xC1, 0x2, 0xC2, 0x0, 0xEE, 0x2, 0xD8, 0x2, 0xD9, 0x0, 0xF0, 0x2, 0xE2, 0x2, 0xE2, 0x0, 0xF2, 0x2, 0xEF, 0x2, 0xEF, 0x0, 0xF3, 0x2, 0xF9, 0x2, 0xF9, 0x0, 0xF4, 0x2, 0xFB, 0x2, 0xFB, 0x0, 0xF5, 0x2, 0xFF, 0x2, 0xFF, 0x0, 0xF6, 0x3, 0x1, 0x3, 0x3, 0x0, 0xF7, 0x3, 0x5, 0x3, 0x5, 0x0, 0xFA, 0x3, 0x2F, 0x3, 0x3F, 0x0, 0xFB, 0x3, 0x43, 0x3, 0x44, 0x1, 0xC, 0x3, 0x47, 0x3, 0x4B, 0x1, 0xE, 0x3, 0x4F, 0x3, 0x5A, 0x1, 0x13, 0x3, 0x9A, 0x3, 0xA6, 0x1, 0x1F, 0x3, 0xA8, 0x3, 0xA9, 0x1, 0x2C, 0x3, 0xAB, 0x3, 0xC9, 0x1, 0x2E, 0x4, 0x2B, 0x4, 0x2E, 0x1, 0x4D, 0x7, 0x4E, 0x7, 0x62, 0x1, 0x51, 0x7, 0x66, 0x7, 0x66, 0x1, 0x66, 0x7, 0x71, 0x7, 0x71, 0x1, 0x67, 0x7, 0x78, 0x7, 0x7A, 0x1, 0x68, 0x7, 0x7D, 0x7, 0x7D, 0x1, 0x6B, 0x7, 0x7F, 0x7, 0x7F, 0x1, 0x6C, 0x7, 0x83, 0x7, 0x83, 0x1, 0x6D, 0x7, 0x85, 0x7, 0x87, 0x1, 0x6E, 0x7, 0x8D, 0x7, 0x8D, 0x1, 0x71, 0x7, 0x92, 0x7, 0x92, 0x1, 0x72, 0x7, 0x94, 0x7, 0x94, 0x1, 0x73, 0x7, 0x96, 0x7, 0x96, 0x1, 0x74, 0x7, 0xA6, 0x7, 0xA6, 0x1, 0x75, 0x7, 0xA9, 0x7, 0xA9, 0x1, 0x76, 0x7, 0xAB, 0x7, 0xAB, 0x1, 0x77, 0x7, 0xAE, 0x7, 0xB1, 0x1, 0x78, 0x7, 0xDE, 0x7, 0xE2, 0x1, 0x7C, 0x7, 0xEE, 0x7, 0xFD, 0x1, 0x81, 0x8, 0xAD, 0x8, 0xB0, 0x1, 0x91, 0x8, 0xB3, 0x8, 0xB8, 0x1, 0x95, 0x8, 0xC8, 0x9, 0x30, 0x1, 0x9B, 0x9, 0x33, 0x9, 0xD4, 0x2, 0x4, 0x9, 0xEB, 0x9, 0xEC, 0x2, 0xA6, 0x9, 0xF7, 0x9, 0xF8, 0x2, 0xA8, 0x9, 0xFC, 0x9, 0xFD, 0x2, 0xAA, 0xA, 0x0, 0xA, 0x0, 0x2, 0xAC, 0xA, 0x3, 0xA, 0x4, 0x2, 0xAD, 0xA, 0x9, 0xA, 0x9, 0x2, 0xAF, 0xA, 0x12, 0xA, 0x14, 0x2, 0xB0, 0xA, 0x16, 0xA, 0x17, 0x2, 0xB3, 0xA, 0x19, 0xA, 0x1E, 0x2, 0xB5, 0xA, 0x20, 0xA, 0x29, 0x2, 0xBB, 0xA, 0x2D, 0xA, 0x2D, 0x2, 0xC5, 0xA, 0x2F, 0xA, 0x36, 0x2, 0xC6, 0xA, 0x38, 0xA, 0x3A, 0x2, 0xCE, 0xA, 0x44, 0xA, 0x45, 0x2, 0xD1, 0xA, 0x47, 0xA, 0x4A, 0x2, 0xD3, 0xA, 0x4D, 0xA, 0x4F, 0x2, 0xD7, 0xA, 0x51, 0xA, 0x5B, 0x2, 0xDA, 0xA, 0x5E, 0xA, 0x6C, 0x2, 0xE5, 0xA, 0x6E, 0xA, 0xC5, 0x2, 0xF4, 0xA, 0xE7, 0xA, 0xE7, 0x3, 0x4C, 0xA, 0xEE, 0xB, 0xC, 0x3, 0x4D, 0xB, 0x10, 0xB, 0x3E, 0x3, 0x6C, 0xB, 0x41, 0xB, 0x41, 0x3, 0x9B, 0xB, 0x4D, 0xB, 0xD7, 0x3, 0x9C, 0xC, 0x7A, 0xC, 0x7B, 0x4, 0x27, 0xC, 0x81, 0xC, 0x82, 0x4, 0x29, 0xC, 0x90, 0xC, 0x91, 0x4, 0x2B, 0xC, 0x96, 0xC, 0x97, 0x4, 0x2D, 0xC, 0x9A, 0xC, 0x9B, 0x4, 0x2F, 0xC, 0xA2, 0xC, 0xA3, 0x4, 0x31, 0xC, 0xB7, 0xC, 0xBC, 0x4, 0x33, 0xC, 0xBE, 0xC, 0xDD, 0x4, 0x39, 0xC, 0xDF, 0xC, 0xE6, 0x4, 0x59, 0xC, 0xE8, 0xC, 0xE9, 0x4, 0x61, 0xC, 0xEB, 0xC, 0xEB, 0x4, 0x63, 0xC, 0xED, 0xD, 0x4, 0x4, 0x64, 0xD, 0x7, 0xD, 0xD, 0x4, 0x7C, 0xD, 0xF, 0xD, 0x11, 0x4, 0x83, 0xD, 0x13, 0xD, 0x1B, 0x4, 0x86, 0xD, 0x1D, 0xD, 0x1E, 0x4, 0x8F, 0x0, 0xAE, 0x0, 0x0, 0x2, 0xBA, 0x0, 0x0, 0x2, 0xC0, 0x0, 0x0, 0x2, 0xC6, 0x0, 0x0, 0x5, 0x66, 0x0, 0x0, 0x2, 0xCC, 0x0, 0x0, 0x2, 0xD2, 0x0, 0x0, 0x2, 0xD8, 0x0, 0x0, 0x5, 0x78, 0x0, 0x0, 0x5, 0x72, 0x0, 0x0, 0x2, 0xDE, 0x0, 0x0, 0x2, 0xE4, 0x0, 0x0, 0x2, 0xEA, 0x0, 0x0, 0x5, 0x78, 0x0, 0x0, 0x2, 0xF0, 0x0, 0x0, 0x2, 0xF6, 0x0, 0x0, 0x2, 0xFC, 0x0, 0x0, 0x3, 0x2, 0x0, 0x0, 0x3, 0x2, 0x0, 0x0, 0x3, 0x8, 0x0, 0x0, 0x3, 0xE, 0x0, 0x0, 0x3, 0x14, 0x0, 0x0, 0x3, 0x1A, 0x0, 0x0, 0x3, 0x20, 0x0, 0x0, 0x3, 0x26, 0x0, 0x0, 0x3, 0x2C, 0x0, 0x0, 0x3, 0x32, 0x0, 0x0, 0x3, 0x38, 0x0, 0x0, 0x3, 0x3E, 0x0, 0x0, 0x3, 0x44, 0x0, 0x0, 0x3, 0x4A, 0x0, 0x0, 0x3, 0x50, 0x0, 0x0, 0x3, 0x56, 0x0, 0x0, 0x3, 0x5C, 0x0, 0x0, 0x3, 0x62, 0x0, 0x0, 0x3, 0x68, 0x0, 0x0, 0x3, 0x6E, 0x0, 0x0, 0x3, 0x74, 0x0, 0x0, 0x3, 0x7A, 0x0, 0x0, 0x3, 0x80, 0x0, 0x0, 0x4, 0xCA, 0x0, 0x0, 0x4, 0x7C, 0x0, 0x0, 0x3, 0x86, 0x0, 0x0, 0x4, 0xCA, 0x0, 0x0, 0x3, 0xC2, 0x0, 0x0, 0x3, 0x8C, 0x0, 0x0, 0x4, 0xA6, 0x0, 0x0, 0x3, 0xC2, 0x0, 0x0, 0x4, 0x3A, 0x0, 0x0, 0x3, 0x92, 0x0, 0x0, 0x3, 0x98, 0x0, 0x0, 0x4, 0x3A, 0x0, 0x0, 0x3, 0x9E, 0x0, 0x0, 0x3, 0xA4, 0x0, 0x0, 0x3, 0xAA, 0x0, 0x0, 0x3, 0xB0, 0x0, 0x0, 0x3, 0xB6, 0x0, 0x0, 0x3, 0xBC, 0x0, 0x0, 0x3, 0xC2, 0x0, 0x0, 0x5, 0x0, 0x0, 0x0, 0x3, 0xC8, 0x0, 0x0, 0x5, 0x0, 0x0, 0x0, 0x3, 0xCE, 0x0, 0x0, 0x3, 0xD4, 0x0, 0x0, 0x3, 0xDA, 0x0, 0x0, 0x3, 0xE0, 0x0, 0x0, 0x3, 0xE6, 0x0, 0x0, 0x3, 0xEC, 0x0, 0x0, 0x3, 0xF2, 0x0, 0x0, 0x3, 0xF8, 0x0, 0x0, 0x3, 0xFE, 0x0, 0x0, 0x4, 0x4, 0x0, 0x0, 0x4, 0xA, 0x0, 0x0, 0x4, 0x10, 0x0, 0x0, 0x5, 0x1E, 0x0, 0x0, 0x4, 0x16, 0x0, 0x0, 0x4, 0x1C, 0x0, 0x0, 0x4, 0x22, 0x0, 0x0, 0x4, 0x28, 0x0, 0x0, 0x4, 0x2E, 0x0, 0x0, 0x5, 0x0, 0x0, 0x0, 0x4, 0x34, 0x0, 0x0, 0x4, 0x3A, 0x0, 0x0, 0x4, 0x40, 0x0, 0x0, 0x4, 0x46, 0x0, 0x0, 0x4, 0x4C, 0x0, 0x0, 0x4, 0x4C, 0x0, 0x0, 0x4, 0x52, 0x0, 0x0, 0x5, 0x0, 0x0, 0x0, 0x4, 0x58, 0x0, 0x0, 0x5, 0x0, 0x0, 0x0, 0x4, 0x5E, 0x0, 0x0, 0x5, 0x60, 0x0, 0x0, 0x5, 0x0, 0x0, 0x0, 0x4, 0x64, 0x0, 0x0, 0x5, 0x0, 0x0, 0x0, 0x4, 0xCA, 0x0, 0x0, 0x4, 0x6A, 0x0, 0x0, 0x4, 0x70, 0x0, 0x0, 0x5, 0x0, 0x0, 0x0, 0x4, 0xF4, 0x0, 0x0, 0x4, 0xF4, 0x0, 0x0, 0x4, 0x76, 0x0, 0x0, 0x4, 0xF4, 0x0, 0x0, 0x4, 0x7C, 0x0, 0x0, 0x5, 0x60, 0x0, 0x0, 0x4, 0x82, 0x0, 0x0, 0x4, 0x88, 0x0, 0x0, 0x4, 0x8E, 0x0, 0x0, 0x4, 0x94, 0x0, 0x0, 0x4, 0xF4, 0x0, 0x0, 0x4, 0xCA, 0x0, 0x0, 0x4, 0xF4, 0x0, 0x0, 0x5, 0x0, 0x0, 0x0, 0x5, 0x60, 0x0, 0x0, 0x4, 0xF4, 0x0, 0x0, 0x4, 0x9A, 0x0, 0x0, 0x4, 0xA0, 0x0, 0x0, 0x4, 0xDC, 0x0, 0x0, 0x5, 0x0, 0x0, 0x0, 0x4, 0xCA, 0x0, 0x0, 0x4, 0xA6, 0x0, 0x0, 0x5, 0x0, 0x0, 0x0, 0x4, 0xAC, 0x0, 0x0, 0x5, 0x0, 0x0, 0x0, 0x4, 0xB2, 0x0, 0x0, 0x4, 0xB8, 0x0, 0x0, 0x5, 0x0, 0x0, 0x0, 0x5, 0x0, 0x0, 0x0, 0x5, 0x0, 0x0, 0x0, 0x5, 0x0, 0x0, 0x0, 0x4, 0xBE, 0x0, 0x0, 0x5, 0x0, 0x0, 0x0, 0x5, 0x0, 0x0, 0x0, 0x4, 0xC4, 0x0, 0x0, 0x4, 0xCA, 0x0, 0x0, 0x4, 0xD0, 0x0, 0x0, 0x5, 0x0, 0x0, 0x0, 0x4, 0xD6, 0x0, 0x0, 0x5, 0x0, 0x0, 0x0, 0x4, 0xDC, 0x0, 0x0, 0x5, 0x0, 0x0, 0x0, 0x5, 0x0, 0x0, 0x0, 0x5, 0x0, 0x0, 0x0, 0x5, 0x0, 0x0, 0x0, 0x4, 0xE2, 0x0, 0x0, 0x4, 0xE8, 0x0, 0x0, 0x4, 0xEE, 0x0, 0x0, 0x4, 0xF4, 0x0, 0x0, 0x5, 0x0, 0x0, 0x0, 0x4, 0xFA, 0x0, 0x0, 0x5, 0x0, 0x0, 0x0, 0x5, 0x6, 0x0, 0x0, 0x5, 0x60, 0x0, 0x0, 0x5, 0xC, 0x0, 0x0, 0x5, 0x12, 0x0, 0x0, 0x5, 0x18, 0x0, 0x0, 0x5, 0x1E, 0x0, 0x0, 0x5, 0x24, 0x0, 0x0, 0x5, 0x2A, 0x0, 0x0, 0x5, 0x60, 0x0, 0x0, 0x5, 0x30, 0x0, 0x0, 0x5, 0x36, 0x0, 0x0, 0x5, 0x3C, 0x0, 0x0, 0x5, 0x42, 0x0, 0x0, 0x5, 0x48, 0x0, 0x0, 0x5, 0x4E, 0x0, 0x0, 0x5, 0x54, 0x0, 0x0, 0x5, 0x5A, 0x0, 0x0, 0x5, 0x60, 0x0, 0x0, 0x5, 0x66, 0x0, 0x0, 0x5, 0x66, 0x0, 0x0, 0x5, 0x6C, 0x0, 0x0, 0x5, 0x72, 0x0, 0x0, 0x5, 0x78, 0x0, 0x1, 0xFD, 0xEA, 0x5, 0xA, 0x0, 0x1, 0xFD, 0xD5, 0x5, 0xA, 0x0, 0x1, 0xFD, 0xB5, 0x5, 0xA, 0x0, 0x1, 0xFD, 0xBB, 0x5, 0x5, 0x0, 0x1, 0xFD, 0xBA, 0x6, 0x28, 0x0, 0x1, 0xFD, 0xB9, 0x4, 0xAA, 0x0, 0x1, 0xFD, 0xA8, 0x5, 0x4, 0x0, 0x1, 0xFD, 0xBA, 0x4, 0xCF, 0x0, 0x1, 0xFD, 0x6B, 0x5, 0xA, 0x0, 0x1, 0xFD, 0xB9, 0x4, 0x9F, 0x0, 0x1, 0xFD, 0xB5, 0x4, 0x9F, 0x0, 0x1, 0xFE, 0x35, 0x5, 0xD, 0x0, 0x1, 0xFD, 0xB8, 0x4, 0xA0, 0x0, 0x1, 0xFD, 0xB7, 0x4, 0x2A, 0x0, 0x1, 0xFD, 0xA1, 0x4, 0x2A, 0x0, 0x1, 0xFD, 0xD0, 0x4, 0x2A, 0x0, 0x1, 0xFE, 0x48, 0x4, 0xEF, 0x0, 0x1, 0xFD, 0xF3, 0x4, 0x92, 0x0, 0x1, 0xFD, 0xB8, 0x4, 0x48, 0x0, 0x1, 0xFD, 0xB5, 0x5, 0xBE, 0x0, 0x1, 0x0, 0x20, 0x5, 0xA, 0x0, 0x1, 0xFF, 0x97, 0x5, 0xA, 0x0, 0x1, 0xFD, 0xC3, 0x5, 0xA, 0x0, 0x1, 0xFD, 0x9D, 0x5, 0xA, 0x0, 0x1, 0xFD, 0xB1, 0x5, 0xA, 0x0, 0x1, 0xFD, 0xB9, 0x4, 0xAD, 0x0, 0x1, 0xFD, 0xB8, 0x4, 0xE6, 0x0, 0x1, 0xFD, 0x9B, 0x4, 0x6B, 0x0, 0x1, 0xFD, 0xC4, 0x4, 0xDC, 0x0, 0x1, 0xFD, 0xC2, 0x4, 0xA7, 0x0, 0x1, 0xFE, 0x3, 0x4, 0x58, 0x0, 0x1, 0xFD, 0xB8, 0x4, 0xC3, 0x0, 0x1, 0xFD, 0x85, 0x4, 0x5F, 0x0, 0x1, 0xFD, 0xA3, 0x4, 0xC4, 0x0, 0x1, 0xFD, 0xCA, 0x4, 0x92, 0x0, 0x1, 0xFD, 0xC2, 0x4, 0x92, 0x0, 0x1, 0xFD, 0xE0, 0x4, 0x92, 0x0, 0x1, 0xFD, 0xA2, 0x4, 0x92, 0x0, 0x1, 0xFD, 0xEA, 0x4, 0x92, 0x0, 0x1, 0xFD, 0xE0, 0x4, 0xA6, 0x0, 0x1, 0xFE, 0x4D, 0x4, 0xA6, 0x0, 0x1, 0xFD, 0xF5, 0x5, 0x0, 0x0, 0x1, 0xFE, 0x20, 0x5, 0x0, 0x0, 0x1, 0xFD, 0xA7, 0x4, 0xA6, 0x0, 0x1, 0xFD, 0xC5, 0x4, 0x92, 0x0, 0x1, 0xFD, 0xBD, 0x4, 0x59, 0x0, 0x1, 0xFD, 0x9D, 0x4, 0x92, 0x0, 0x1, 0xFD, 0xC3, 0x5, 0x46, 0x0, 0x1, 0xFD, 0xCF, 0x5, 0x46, 0x0, 0x1, 0xFD, 0xAA, 0x5, 0xA, 0x0, 0x1, 0xFD, 0x87, 0x5, 0xA, 0x0, 0x1, 0xFE, 0x1B, 0x4, 0x92, 0x0, 0x1, 0xFE, 0x4D, 0x4, 0x92, 0x0, 0x1, 0xFD, 0xAB, 0x4, 0x92, 0x0, 0x1, 0xFE, 0xB, 0x4, 0x92, 0x0, 0x1, 0xFD, 0xD2, 0x4, 0x92, 0x0, 0x1, 0xFD, 0xD9, 0x4, 0x92, 0x0, 0x1, 0xFE, 0x17, 0x4, 0x92, 0x0, 0x1, 0xFD, 0xA7, 0x4, 0x92, 0x0, 0x1, 0x0, 0x1, 0x4, 0x92, 0x0, 0x1, 0xFD, 0xEB, 0x3, 0xD8, 0x0, 0x1, 0xFD, 0xB8, 0x4, 0x84, 0x0, 0x1, 0xFD, 0xBD, 0x4, 0x92, 0x0, 0x1, 0xFD, 0xC0, 0x4, 0x92, 0x0, 0x1, 0xFD, 0xC8, 0x4, 0x92, 0x0, 0x1, 0xFD, 0x99, 0x4, 0x92, 0x0, 0x1, 0xFD, 0xC2, 0x3, 0xBF, 0x0, 0x1, 0xFD, 0xBB, 0x4, 0x92, 0x0, 0x1, 0xFD, 0xBC, 0x3, 0xCC, 0x0, 0x1, 0xFD, 0xD6, 0x4, 0x92, 0x0, 0x1, 0xFD, 0xD4, 0x4, 0x92, 0x0, 0x1, 0xFD, 0xAE, 0x4, 0x92, 0x0, 0x1, 0xFD, 0xB1, 0x4, 0x92, 0x0, 0x1, 0xFD, 0xF6, 0x4, 0x92, 0x0, 0x1, 0xFD, 0xB9, 0x3, 0xE1, 0x0, 0x1, 0xFD, 0xC7, 0x4, 0x92, 0x0, 0x1, 0xFD, 0x9B, 0x4, 0x92, 0x0, 0x1, 0xFD, 0xB9, 0x3, 0xB3, 0x0, 0x1, 0xFD, 0xB4, 0x3, 0xAE, 0x0, 0x1, 0xFD, 0x8A, 0x4, 0x92, 0x0, 0x1, 0xFD, 0xAA, 0x4, 0x92, 0x0, 0x1, 0xFD, 0xAD, 0x4, 0x92, 0x0, 0x1, 0xFD, 0xBF, 0x4, 0x92, 0x0, 0x1, 0xFD, 0xBA, 0x4, 0x92, 0x0, 0x1, 0xFD, 0xCE, 0x4, 0x92, 0x0, 0x1, 0xFD, 0xB5, 0x4, 0x92, 0x0, 0x1, 0xFD, 0xBE, 0x3, 0xB0, 0x0, 0x1, 0xFD, 0xD8, 0x4, 0x92, 0x0, 0x1, 0xFD, 0xC9, 0x4, 0x92, 0x0, 0x1, 0xFD, 0x93, 0x4, 0x92, 0x0, 0x1, 0xFD, 0xA5, 0x4, 0x92, 0x0, 0x1, 0xFD, 0xC6, 0x4, 0x92, 0x0, 0x1, 0xFD, 0xB3, 0x4, 0x92, 0x0, 0x1, 0xFD, 0xF5, 0x4, 0x92, 0x0, 0x1, 0xFD, 0xF4, 0x4, 0x92, 0x0, 0x1, 0xFD, 0xB9, 0x4, 0x92, 0x0, 0x1, 0xFD, 0x94, 0x4, 0x92, 0x0, 0x1, 0xFD, 0xB8, 0x4, 0x92, 0x0, 0x1, 0xFD, 0xAC, 0x4, 0x92, 0x0, 0x1, 0xFD, 0xBC, 0x4, 0x92, 0x0, 0x1, 0xFD, 0xA6, 0x3, 0xCE, 0x0, 0x1, 0xFD, 0x84, 0x4, 0x92, 0x0, 0x1, 0xFD, 0xCC, 0x4, 0x92, 0x0, 0x1, 0xFD, 0xDC, 0x4, 0x92, 0x0, 0x1, 0xFD, 0xB6, 0x4, 0x92, 0x0, 0x1, 0xFD, 0xBE, 0x4, 0x92, 0x0, 0x1, 0xFD, 0xD7, 0x4, 0x92, 0x0, 0x1, 0xFE, 0x7A, 0x4, 0x92, 0x0, 0x1, 0x1, 0x86, 0x4, 0x92, 0x0, 0x1, 0xFD, 0xE1, 0x4, 0x92, 0x0, 0x1, 0x2, 0x1F, 0x4, 0x92, 0x0, 0x1, 0xFE, 0xC5, 0x4, 0x92, 0x0, 0x1, 0xFC, 0xAA, 0x4, 0x92, 0x0, 0x1, 0xFD, 0xB7, 0x4, 0x92, 0x0, 0x1, 0xFD, 0xD4, 0x4, 0xE8, 0x0, 0x1, 0xFD, 0xBB, 0x5, 0xA, 0x0, 0x1, 0xFD, 0x67, 0x5, 0xA, 0x0, 0x1, 0xFD, 0xB8, 0x5, 0xA, 0x4, 0x91, 0x19, 0x1A, 0x16, 0x2C, 0xF, 0x48, 0x16, 0x50, 0x19, 0x26, 0x9, 0x24, 0xF, 0xE4, 0x16, 0x9E, 0x13, 0xFE, 0x9, 0x2A, 0x16, 0xB0, 0x16, 0xC8, 0x16, 0xE0, 0x37, 0x92, 0x19, 0x32, 0x16, 0x2C, 0xB, 0x9A, 0x17, 0x40, 0x17, 0x58, 0x17, 0x7C, 0x17, 0x94, 0x17, 0xAC, 0x17, 0xC4, 0x9, 0x30, 0x14, 0x82, 0x18, 0x0, 0x19, 0x20, 0x16, 0x32, 0x12, 0x8A, 0x16, 0x56, 0x19, 0x2C, 0x9, 0x36, 0x19, 0x2C, 0x18, 0x6, 0x14, 0x4, 0x9, 0x3C, 0x16, 0xB6, 0x16, 0xCE, 0x16, 0xE6, 0x16, 0xF8, 0x19, 0x38, 0x12, 0x84, 0x9, 0x42, 0x17, 0x46, 0x17, 0x4C, 0x17, 0x82, 0x17, 0x88, 0x17, 0xB2, 0x17, 0xCA, 0x12, 0x90, 0x14, 0x88, 0x56, 0xB0, 0x9, 0x48, 0x9, 0x4E, 0x9, 0x54, 0x9, 0x5A, 0x16, 0x56, 0x9, 0x60, 0x19, 0xDA, 0xC, 0xFC, 0x9, 0x66, 0x9, 0x6C, 0x37, 0x92, 0x16, 0xF8, 0x9, 0x72, 0x9, 0x78, 0x9, 0x7E, 0x16, 0x32, 0x9, 0x84, 0x9, 0x8A, 0x9, 0x90, 0x9, 0x96, 0x14, 0x3A, 0x14, 0x40, 0x9, 0x9C, 0x14, 0x76, 0x14, 0x7C, 0x18, 0x0, 0x56, 0xB0, 0xF, 0xE4, 0xE, 0xA, 0xE, 0xFA, 0x9, 0xA2, 0x9, 0xA8, 0x9, 0xAE, 0x9, 0xB4, 0x9, 0xBA, 0x17, 0x40, 0x9, 0xC0, 0x9, 0xC6, 0xA, 0xC2, 0xD, 0xC2, 0x9, 0xCC, 0x9, 0xD2, 0x9, 0xD8, 0x9, 0xDE, 0x9, 0xE4, 0x9, 0xEA, 0x9, 0xF0, 0x9, 0xF6, 0x14, 0xE8, 0x9, 0xFC, 0x19, 0x20, 0xD, 0x8C, 0xD, 0x8C, 0x17, 0x4C, 0xA, 0x2, 0x19, 0x2C, 0x19, 0x2C, 0xA, 0x8, 0xC, 0xC6, 0xA, 0xE, 0xA, 0x14, 0xA, 0x1A, 0xA, 0x1A, 0xA, 0x20, 0xA, 0x26, 0xA, 0x2C, 0xA, 0x32, 0xA, 0x38, 0xA, 0x3E, 0xA, 0x44, 0xA, 0x4A, 0xA, 0x4A, 0xA, 0x50, 0xA, 0x56, 0x16, 0xF8, 0x14, 0xA6, 0xA, 0x5C, 0xA, 0x62, 0xA, 0x68, 0xA, 0x74, 0xA, 0x6E, 0xA, 0x74, 0xA, 0x7A, 0xA, 0x7A, 0xA, 0x80, 0xA, 0x86, 0xA, 0x8C, 0xA, 0x92, 0xA, 0xF8, 0xA, 0x98, 0xA, 0x98, 0xA, 0x9E, 0xA, 0xA4, 0xA, 0xAA, 0xA, 0xB0, 0xA, 0xB6, 0xD, 0x26, 0xD, 0xF8, 0xA, 0xBC, 0xC, 0xF6, 0xB, 0x58, 0xA, 0xC2, 0xA, 0xC8, 0xA, 0xCE, 0xA, 0xD4, 0xA, 0xD4, 0xA, 0xDA, 0xA, 0xE0, 0xA, 0xE6, 0xA, 0xEC, 0xA, 0xF2, 0xA, 0xF8, 0xA, 0xFE, 0xB, 0x4, 0xD, 0xEC, 0xB, 0xA, 0xB, 0x10, 0xB, 0x16, 0xB, 0x1C, 0xB, 0x22, 0x37, 0xA4, 0xB, 0x28, 0xB, 0x2E, 0xB, 0x34, 0xB, 0x3A, 0xB, 0x40, 0xB, 0x46, 0xB, 0x4C, 0xB, 0x52, 0xB, 0x58, 0xB, 0x5E, 0xB, 0x5E, 0xB, 0x64, 0xB, 0x6A, 0xB, 0x70, 0x14, 0xA6, 0xB, 0x76, 0xB, 0x7C, 0xB, 0x82, 0x12, 0xFC, 0xB, 0x88, 0xB, 0x8E, 0xB, 0x94, 0xB, 0x9A, 0xB, 0xA0, 0xB, 0xA6, 0xB, 0xAC, 0xB, 0xB2, 0xB, 0xB8, 0xB, 0xBE, 0xB, 0xC4, 0xB, 0xCA, 0xC, 0x8A, 0x16, 0x14, 0xB, 0xD0, 0xB, 0xD6, 0xB, 0xDC, 0xB, 0xE2, 0xB, 0xE8, 0xB, 0xEE, 0xB, 0xF4, 0xB, 0xFA, 0x16, 0x1A, 0xC, 0x0, 0xC, 0x6, 0xC, 0xC, 0xC, 0x12, 0xC, 0x18, 0xC, 0x30, 0xC, 0x1E, 0xC, 0x24, 0xC, 0x2A, 0xC, 0x30, 0xC, 0x36, 0xC, 0x3C, 0xC, 0x42, 0xC, 0x48, 0xC, 0x4E, 0x13, 0x6E, 0x16, 0xE, 0xC, 0x54, 0xC, 0x5A, 0xC, 0x60, 0xC, 0x66, 0xC, 0x6C, 0xC, 0x72, 0xC, 0x78, 0xC, 0x7E, 0xC, 0x84, 0xE, 0x4, 0xC, 0x8A, 0xC, 0x90, 0xC, 0x96, 0xC, 0x9C, 0xC, 0xA2, 0xC, 0xB4, 0xC, 0xA8, 0xC, 0xAE, 0xC, 0xB4, 0xD, 0x44, 0xF, 0x24, 0xC, 0xBA, 0xC, 0xC0, 0xC, 0xC6, 0x14, 0x40, 0xC, 0xCC, 0xC, 0xD2, 0xC, 0xD8, 0xC, 0xDE, 0xC, 0xE4, 0xC, 0xEA, 0xC, 0xF0, 0xC, 0xF6, 0xC, 0xFC, 0xE, 0x4, 0xD, 0x2, 0xD, 0x8, 0xD, 0xE, 0xD, 0x14, 0xE, 0xA, 0xD, 0x1A, 0xD, 0x20, 0xD, 0x26, 0xE, 0x22, 0xD, 0x2C, 0xD, 0x32, 0x56, 0xB0, 0xD, 0x38, 0xD, 0x3E, 0x56, 0xB0, 0xD, 0x44, 0xD, 0x4A, 0xD, 0x6E, 0xD, 0x50, 0x54, 0xCA, 0xD, 0x56, 0xD, 0x5C, 0x38, 0x2E, 0xD, 0x62, 0x56, 0xEC, 0xD, 0xA4, 0xD, 0x68, 0xD, 0x6E, 0xE, 0x34, 0xD, 0x74, 0xD, 0x7A, 0xD, 0x80, 0xD, 0x86, 0xD, 0x8C, 0xD, 0x92, 0xD, 0x98, 0xD, 0x9E, 0xD, 0xA4, 0xD, 0xAA, 0xD, 0xB0, 0xD, 0xB6, 0xD, 0xBC, 0xD, 0xC2, 0xD, 0xC8, 0xD, 0xCE, 0xD, 0xD4, 0x16, 0xF8, 0xD, 0xDA, 0x17, 0x46, 0xD, 0xE0, 0xD, 0xE6, 0xD, 0xEC, 0xD, 0xF2, 0x56, 0xB0, 0xD, 0xF8, 0x16, 0xE, 0xD, 0xFE, 0xE, 0x4, 0xE, 0xA, 0xE, 0x10, 0xE, 0x16, 0xE, 0x1C, 0xE, 0x22, 0xE, 0x28, 0xE, 0x2E, 0xE, 0x34, 0xE, 0x3A, 0xE, 0x40, 0xE, 0x46, 0xE, 0x4C, 0x18, 0x66, 0x18, 0xDE, 0x18, 0xC6, 0xE, 0x8E, 0xE, 0x52, 0x12, 0x2A, 0x18, 0xC0, 0x19, 0x2, 0x11, 0xF4, 0xE, 0x58, 0x18, 0xBA, 0x19, 0x4A, 0x18, 0x72, 0x18, 0xB4, 0x11, 0xCA, 0x18, 0x6C, 0x18, 0xF0, 0x18, 0x8A, 0x18, 0xD2, 0x11, 0x9A, 0xE, 0x5E, 0x18, 0xA8, 0xE, 0x64, 0xE, 0x6A, 0x18, 0xCC, 0xE, 0x70, 0xE, 0x76, 0xE, 0x7C, 0xE, 0x82, 0xE, 0x88, 0xE, 0x8E, 0xE, 0x94, 0xE, 0x9A, 0xE, 0xA0, 0xE, 0xA6, 0xE, 0xAC, 0x19, 0x44, 0xE, 0xB2, 0x16, 0xB6, 0x10, 0xEC, 0x18, 0xD8, 0x18, 0xA2, 0x19, 0x3E, 0xE, 0xB8, 0xE, 0xBE, 0xE, 0xC4, 0xE, 0xCA, 0xE, 0xD0, 0xE, 0xFA, 0x19, 0xDA, 0xE, 0xD6, 0xE, 0xDC, 0xE, 0xFA, 0xE, 0xE2, 0xE, 0xE8, 0x19, 0xDA, 0xE, 0xEE, 0x19, 0xDA, 0x19, 0xDA, 0xE, 0xF4, 0xE, 0xFA, 0xF, 0x0, 0xF, 0x6, 0xF, 0xC, 0x16, 0x56, 0x17, 0x88, 0xF, 0x12, 0xF, 0x18, 0xF, 0x1E, 0xF, 0x24, 0xF, 0x2A, 0x19, 0x4A, 0xF, 0x30, 0x18, 0x72, 0x16, 0x50, 0x16, 0x50, 0x18, 0x6, 0x17, 0x7C, 0x17, 0x82, 0xF, 0x36, 0xF, 0x36, 0x14, 0xAC, 0xF, 0x3C, 0x13, 0x1A, 0xF, 0x42, 0x19, 0x1A, 0xF, 0x48, 0x12, 0xEA, 0x12, 0xEA, 0x13, 0xEC, 0x12, 0x60, 0xF, 0x4E, 0xF, 0x4E, 0x14, 0xB8, 0x12, 0x6C, 0xF, 0x54, 0xF, 0x5A, 0xF, 0x5A, 0x14, 0xC4, 0xF, 0x60, 0x13, 0x62, 0xF, 0x66, 0xF, 0x66, 0x14, 0xD0, 0xF, 0x6C, 0x12, 0xCC, 0xF, 0x72, 0xF, 0x72, 0x14, 0xB2, 0xF, 0x78, 0x13, 0x20, 0xF, 0x7E, 0x19, 0x20, 0x12, 0x8A, 0x15, 0x30, 0x15, 0x30, 0x15, 0xC, 0x12, 0x96, 0xF, 0x84, 0xF, 0x84, 0x14, 0xBE, 0x12, 0xA2, 0xF, 0x8A, 0x12, 0x24, 0x12, 0x24, 0x14, 0xCA, 0xF, 0x90, 0x13, 0x68, 0xF, 0x96, 0xF, 0x96, 0x14, 0xD6, 0xF, 0x9C, 0x12, 0xD2, 0x13, 0x98, 0x18, 0x30, 0xF, 0xA2, 0x18, 0x2A, 0x13, 0xCE, 0x19, 0x1A, 0x19, 0x20, 0x16, 0x38, 0x16, 0x3E, 0xF, 0xB4, 0xF, 0xBA, 0xF, 0xA8, 0xF, 0xAE, 0xF, 0xB4, 0xF, 0xBA, 0xF, 0xC0, 0x16, 0x56, 0xF, 0xC6, 0x16, 0x80, 0x16, 0x62, 0x16, 0x68, 0xF, 0xCC, 0xF, 0xDE, 0x19, 0x26, 0x19, 0x2C, 0x13, 0xEC, 0x15, 0xC, 0x15, 0x6, 0x15, 0xC, 0xF, 0xD2, 0x16, 0x68, 0xF, 0xD8, 0xF, 0xDE, 0xF, 0xE4, 0x19, 0x2C, 0x15, 0xD2, 0x15, 0xD8, 0xF, 0xEA, 0xF, 0xF0, 0x18, 0x48, 0xF, 0xF6, 0x18, 0x42, 0xF, 0xFC, 0x13, 0xFE, 0x14, 0x4, 0x10, 0x2, 0x10, 0x8, 0x12, 0xD8, 0x16, 0xB0, 0x16, 0xB6, 0x10, 0xE, 0x10, 0x14, 0x16, 0xC8, 0x16, 0xCE, 0x16, 0xC8, 0x16, 0xCE, 0x16, 0xC8, 0x16, 0xCE, 0x15, 0x36, 0x15, 0x3C, 0x37, 0x92, 0x16, 0xF8, 0x10, 0x1A, 0x10, 0x20, 0x16, 0xF8, 0x15, 0x1E, 0x15, 0x24, 0x10, 0x26, 0x11, 0x46, 0x10, 0x2C, 0x10, 0x32, 0x10, 0x38, 0x10, 0x3E, 0x17, 0x40, 0x17, 0x46, 0x10, 0x44, 0x10, 0x4A, 0x10, 0x50, 0x10, 0x56, 0x10, 0x5C, 0x10, 0x62, 0x17, 0x58, 0x17, 0x4C, 0x17, 0x58, 0x17, 0x4C, 0x10, 0x5C, 0x10, 0x62, 0x17, 0x7C, 0x17, 0x82, 0x17, 0x7C, 0x17, 0x82, 0x10, 0x68, 0x17, 0x82, 0x10, 0x6E, 0x10, 0x74, 0x10, 0x7A, 0x10, 0x80, 0x10, 0x86, 0x10, 0x8C, 0x10, 0x92, 0x10, 0x98, 0x10, 0x9E, 0x10, 0xA4, 0x17, 0x94, 0x17, 0x88, 0x10, 0xAA, 0x10, 0xB0, 0x10, 0xB6, 0x18, 0x6, 0x12, 0x4E, 0x10, 0xBC, 0x10, 0xC2, 0x10, 0xC8, 0x10, 0xCE, 0x17, 0xF4, 0x17, 0xFA, 0x10, 0xD4, 0x10, 0xDA, 0x10, 0xE0, 0x10, 0xE6, 0x10, 0xEC, 0x10, 0xEC, 0x18, 0xC0, 0x10, 0xF2, 0x10, 0xF2, 0x10, 0xF8, 0x10, 0xFE, 0x11, 0x4, 0x11, 0xA, 0x19, 0x3E, 0x18, 0xD8, 0x11, 0x10, 0x11, 0x10, 0x11, 0x82, 0x18, 0x7E, 0x11, 0x16, 0x11, 0x16, 0x11, 0x1C, 0x18, 0x90, 0x11, 0x22, 0x18, 0xFC, 0x18, 0xFC, 0x11, 0x28, 0x11, 0x2E, 0x11, 0x34, 0x11, 0x3A, 0x11, 0x3A, 0x11, 0x40, 0x11, 0x46, 0x19, 0x14, 0x11, 0x4C, 0x11, 0x52, 0x19, 0x3E, 0x11, 0x58, 0x11, 0x64, 0x11, 0x5E, 0x11, 0x64, 0x11, 0x6A, 0x11, 0x70, 0x11, 0x76, 0x11, 0x7C, 0x19, 0x44, 0x11, 0x82, 0x11, 0x88, 0x11, 0x8E, 0x11, 0x94, 0x11, 0x9A, 0x11, 0xA0, 0x11, 0xA6, 0x11, 0xAC, 0x11, 0xB2, 0x18, 0x8A, 0x11, 0xB8, 0x11, 0xBE, 0x18, 0x6C, 0x11, 0xC4, 0x11, 0xCA, 0x11, 0xCA, 0x11, 0xCA, 0x11, 0xD0, 0x18, 0x72, 0x11, 0xD6, 0x11, 0xDC, 0x11, 0xE2, 0x11, 0xE8, 0x19, 0x4A, 0x11, 0xEE, 0x11, 0xF4, 0x11, 0xFA, 0x12, 0x0, 0x12, 0x6, 0x19, 0x2, 0x12, 0x6, 0x18, 0xC0, 0x12, 0xC, 0x18, 0xC0, 0x12, 0x12, 0x12, 0x18, 0x15, 0x9C, 0x12, 0x1E, 0x12, 0x24, 0x12, 0x2A, 0x12, 0x30, 0x12, 0x36, 0x18, 0x78, 0x12, 0x3C, 0x12, 0x42, 0x12, 0x48, 0x12, 0x6C, 0x12, 0x4E, 0x12, 0x54, 0x12, 0x5A, 0x12, 0x60, 0x12, 0x66, 0x12, 0x6C, 0x16, 0xA4, 0x12, 0x72, 0x12, 0x78, 0x19, 0x20, 0x19, 0x2C, 0x12, 0x7E, 0x12, 0x84, 0x12, 0x8A, 0x12, 0x90, 0x12, 0x96, 0x12, 0x9C, 0x17, 0x4C, 0x14, 0x4, 0x12, 0xA2, 0x12, 0xA8, 0x12, 0xAE, 0x12, 0xB4, 0x12, 0xBA, 0x12, 0xB4, 0x12, 0xBA, 0x12, 0xC0, 0x12, 0xC6, 0x12, 0xCC, 0x12, 0xD2, 0x12, 0xD8, 0x12, 0xDE, 0x12, 0xE4, 0x19, 0x1A, 0x19, 0x20, 0x12, 0xEA, 0x12, 0xF0, 0x15, 0x30, 0x12, 0xF6, 0x12, 0xFC, 0x13, 0x2, 0x13, 0x8, 0x13, 0xE, 0x13, 0x14, 0x18, 0x2A, 0x13, 0xCE, 0x13, 0x1A, 0x13, 0x20, 0x16, 0x62, 0x16, 0x68, 0x13, 0x26, 0x13, 0x2C, 0x13, 0x32, 0x13, 0x38, 0x13, 0x3E, 0x13, 0x44, 0x13, 0x4A, 0x13, 0x50, 0x13, 0x56, 0x13, 0x5C, 0x13, 0x62, 0x13, 0x68, 0x13, 0x6E, 0x13, 0x74, 0x13, 0x7A, 0x13, 0x80, 0x13, 0x86, 0x13, 0x8C, 0x16, 0x8, 0x13, 0x92, 0x13, 0x98, 0x13, 0x9E, 0x13, 0xA4, 0x13, 0xAA, 0x13, 0xB0, 0x13, 0xB6, 0x13, 0xBC, 0x19, 0x1A, 0x19, 0x20, 0x13, 0xC2, 0x13, 0xC8, 0x19, 0x1A, 0x19, 0x20, 0x19, 0x1A, 0x19, 0x20, 0x19, 0x1A, 0x19, 0x20, 0x19, 0x1A, 0x19, 0x20, 0x14, 0xAC, 0x14, 0xB2, 0x19, 0x1A, 0x19, 0x20, 0x19, 0x1A, 0x19, 0x20, 0x19, 0x1A, 0x19, 0x20, 0x19, 0x1A, 0x19, 0x20, 0x18, 0x2A, 0x13, 0xCE, 0x19, 0x26, 0x19, 0x2C, 0x13, 0xD4, 0x13, 0xDA, 0x13, 0xE0, 0x13, 0xE6, 0x19, 0x26, 0x19, 0x2C, 0x19, 0x26, 0x19, 0x2C, 0x19, 0x26, 0x19, 0x2C, 0x19, 0x26, 0x19, 0x2C, 0x13, 0xEC, 0x15, 0xC, 0x13, 0xF2, 0x13, 0xF8, 0x13, 0xFE, 0x14, 0x4, 0x19, 0x32, 0x19, 0x38, 0x14, 0xA, 0x14, 0x10, 0x19, 0x32, 0x19, 0x38, 0x19, 0x32, 0x19, 0x38, 0x19, 0x32, 0x19, 0x38, 0x19, 0x32, 0x19, 0x38, 0x14, 0xC4, 0x14, 0xCA, 0x14, 0x16, 0x14, 0x1C, 0x14, 0x16, 0x14, 0x1C, 0x14, 0x22, 0x14, 0x28, 0x14, 0x2E, 0x14, 0x34, 0x14, 0x3A, 0x14, 0x40, 0x17, 0x94, 0x17, 0x88, 0x14, 0x46, 0x14, 0x4C, 0x14, 0x52, 0x14, 0x58, 0x14, 0x52, 0x14, 0x58, 0x14, 0x5E, 0x14, 0x64, 0x14, 0x6A, 0x14, 0x70, 0x14, 0x76, 0x14, 0x7C, 0x14, 0x82, 0x14, 0x88, 0x14, 0x8E, 0x14, 0x94, 0x14, 0x9A, 0x14, 0xA0, 0x14, 0xA6, 0x14, 0xAC, 0x14, 0xB2, 0x14, 0xB8, 0x14, 0xBE, 0x14, 0xC4, 0x14, 0xCA, 0x14, 0xD0, 0x14, 0xD6, 0x17, 0x94, 0x17, 0x9A, 0x17, 0x94, 0x14, 0xE2, 0x17, 0x94, 0x14, 0xDC, 0x17, 0x94, 0x14, 0xE2, 0x14, 0xE8, 0x19, 0x1A, 0x14, 0xEE, 0x19, 0x1A, 0x14, 0xF4, 0x14, 0xFA, 0x15, 0x0, 0x15, 0x6, 0x15, 0xC, 0x15, 0x12, 0x15, 0x18, 0x19, 0x32, 0x19, 0x38, 0x15, 0x1E, 0x15, 0x24, 0x15, 0x2A, 0x15, 0x30, 0x15, 0x36, 0x15, 0x3C, 0x15, 0x42, 0x15, 0x48, 0x15, 0x4E, 0x15, 0x54, 0x15, 0x5A, 0x15, 0x60, 0x15, 0x66, 0x15, 0x6C, 0x15, 0x72, 0x15, 0x78, 0x15, 0x7E, 0x15, 0x84, 0x15, 0x8A, 0x15, 0x90, 0x15, 0x96, 0x15, 0x9C, 0x15, 0xA2, 0x15, 0xA8, 0x15, 0xAE, 0x15, 0xB4, 0x15, 0xBA, 0x15, 0xC0, 0x15, 0xC6, 0x15, 0xCC, 0x15, 0xD2, 0x15, 0xD8, 0x15, 0xDE, 0x15, 0xE4, 0x19, 0x26, 0x19, 0x2C, 0x19, 0x32, 0x15, 0xEA, 0x19, 0x32, 0x15, 0xF0, 0x15, 0xF6, 0x15, 0xFC, 0x19, 0x32, 0x16, 0x2, 0x18, 0x60, 0x16, 0x8, 0x16, 0xE, 0x16, 0x14, 0x16, 0x1A, 0x16, 0x20, 0x17, 0x1C, 0x16, 0x26, 0x16, 0x2C, 0x16, 0x32, 0x16, 0x2C, 0x16, 0x32, 0x16, 0x38, 0x16, 0x3E, 0x16, 0x44, 0x16, 0x4A, 0x16, 0x50, 0x16, 0x56, 0x16, 0x50, 0x16, 0x56, 0x16, 0x50, 0x16, 0x56, 0x16, 0x50, 0x16, 0x56, 0x19, 0x26, 0x16, 0x5C, 0x19, 0x26, 0x16, 0x5C, 0x19, 0x26, 0x19, 0x2C, 0x19, 0x26, 0x19, 0x2C, 0x16, 0x62, 0x16, 0x68, 0x16, 0x6E, 0x16, 0x74, 0x16, 0x7A, 0x16, 0x80, 0x16, 0x86, 0x16, 0x8C, 0x16, 0x9E, 0x18, 0x6, 0x16, 0x92, 0x16, 0x98, 0x16, 0x9E, 0x18, 0x6, 0x16, 0xA4, 0x16, 0xAA, 0x16, 0xB0, 0x16, 0xB6, 0x16, 0xB0, 0x16, 0xB6, 0x16, 0xC8, 0x16, 0xCE, 0x16, 0xBC, 0x16, 0xC2, 0x16, 0xC8, 0x16, 0xCE, 0x16, 0xC8, 0x16, 0xCE, 0x16, 0xD4, 0x16, 0xDA, 0x16, 0xE0, 0x16, 0xE6, 0x16, 0xEC, 0x16, 0xF2, 0x37, 0x92, 0x16, 0xF8, 0x37, 0x92, 0x16, 0xF8, 0x37, 0x92, 0x16, 0xF8, 0x19, 0x32, 0x16, 0xFE, 0x19, 0x32, 0x17, 0x4, 0x19, 0x32, 0x17, 0xA, 0x19, 0x32, 0x17, 0xA, 0x17, 0x10, 0x17, 0x16, 0x17, 0x1C, 0x17, 0x22, 0x17, 0x28, 0x17, 0x2E, 0x17, 0x40, 0x17, 0x46, 0x17, 0x34, 0x17, 0x3A, 0x17, 0x40, 0x17, 0x46, 0x17, 0x64, 0x17, 0x6A, 0x17, 0x58, 0x17, 0x4C, 0x17, 0x58, 0x17, 0x52, 0x17, 0x58, 0x17, 0x5E, 0x17, 0x64, 0x17, 0x6A, 0x17, 0x70, 0x17, 0x76, 0x17, 0x7C, 0x17, 0x82, 0x17, 0x7C, 0x17, 0x82, 0x17, 0x7C, 0x17, 0x82, 0x17, 0x94, 0x17, 0x88, 0x17, 0x94, 0x17, 0x88, 0x17, 0x94, 0x17, 0x88, 0x17, 0x94, 0x17, 0x8E, 0x17, 0x94, 0x17, 0x9A, 0x17, 0xA0, 0x17, 0xA6, 0x17, 0xAC, 0x17, 0xB2, 0x17, 0xB8, 0x17, 0xBE, 0x17, 0xC4, 0x17, 0xCA, 0x17, 0xD0, 0x17, 0xD6, 0x17, 0xDC, 0x17, 0xE2, 0x17, 0xE8, 0x17, 0xEE, 0x17, 0xF4, 0x17, 0xFA, 0x18, 0x0, 0x56, 0xB0, 0x18, 0x0, 0x56, 0xB0, 0x18, 0x6, 0x18, 0xC, 0x18, 0x12, 0x18, 0x18, 0x19, 0x20, 0x18, 0x1E, 0x18, 0x24, 0x18, 0x2A, 0x18, 0x30, 0x18, 0x36, 0x18, 0x3C, 0x18, 0x42, 0x18, 0x48, 0x18, 0x4E, 0x18, 0x54, 0x18, 0x5A, 0x18, 0x60, 0x19, 0x3E, 0x19, 0x44, 0x18, 0xD2, 0x18, 0x8A, 0x19, 0x4A, 0x18, 0xDE, 0x19, 0x3E, 0x18, 0xA2, 0x19, 0x44, 0x18, 0x66, 0x18, 0xD2, 0x18, 0x8A, 0x18, 0x6C, 0x18, 0xB4, 0x18, 0x72, 0x19, 0x4A, 0x18, 0xBA, 0x18, 0xC0, 0x18, 0xDE, 0x18, 0xC6, 0x18, 0x90, 0x18, 0x78, 0x18, 0x7E, 0x18, 0x84, 0x19, 0x2, 0x18, 0x8A, 0x18, 0x90, 0x18, 0xF0, 0x18, 0x96, 0x18, 0x9C, 0x19, 0x3E, 0x18, 0xA2, 0x18, 0xA8, 0x19, 0x44, 0x18, 0xAE, 0x18, 0xB4, 0x18, 0xD2, 0x19, 0x4A, 0x18, 0xBA, 0x18, 0xD8, 0x18, 0xC0, 0x18, 0xC6, 0x18, 0xCC, 0x18, 0xD2, 0x18, 0xD8, 0x18, 0xDE, 0x18, 0xE4, 0x18, 0xEA, 0x18, 0xF0, 0x18, 0xF6, 0x18, 0xFC, 0x19, 0x2, 0x19, 0x8, 0x19, 0x8, 0x19, 0xE, 0x19, 0x14, 0x19, 0x1A, 0x19, 0x20, 0x19, 0x26, 0x19, 0x2C, 0x19, 0x32, 0x19, 0x38, 0x19, 0x3E, 0x19, 0x44, 0x19, 0x4A, 0x19, 0x50, 0x19, 0x50, 0x19, 0x56, 0x19, 0x5C, 0x19, 0x62, 0x19, 0x68, 0x19, 0x6E, 0x19, 0x74, 0x19, 0x7A, 0x19, 0x7A, 0x19, 0x98, 0x19, 0x80, 0x19, 0x86, 0x19, 0x8C, 0x19, 0x92, 0x19, 0x98, 0x19, 0x9E, 0x19, 0xA4, 0x19, 0xAA, 0x19, 0xB0, 0x19, 0xB0, 0x19, 0xB6, 0x19, 0xBC, 0x19, 0xC2, 0x19, 0xC8, 0x19, 0xCE, 0x19, 0xD4, 0x19, 0xDA, 0x19, 0xDA, 0x0, 0x1, 0x2, 0x73, 0x6, 0x4C, 0x0, 0x1, 0x3, 0x52, 0x6, 0x41, 0x0, 0x1, 0x2, 0x87, 0x6, 0x4C, 0x0, 0x1, 0x1, 0xE0, 0x6, 0xBE, 0x0, 0x1, 0x0, 0xDF, 0x6, 0x40, 0x0, 0x1, 0x2, 0x19, 0x5, 0xA, 0x0, 0x1, 0x3, 0xA7, 0x6, 0x4C, 0x0, 0x1, 0x2, 0xCB, 0x6, 0x8A, 0x0, 0x1, 0x3, 0x5C, 0x5, 0xB, 0x0, 0x1, 0x2, 0x1C, 0x5, 0x7, 0x0, 0x1, 0x2, 0xDF, 0x6, 0x48, 0x0, 0x1, 0x1, 0x1F, 0x6, 0x40, 0x0, 0x1, 0x1, 0x28, 0x6, 0x9B, 0x0, 0x1, 0x3, 0xC9, 0x6, 0x40, 0x0, 0x1, 0x3, 0xA7, 0x5, 0xA, 0x0, 0x1, 0x1, 0x9B, 0x6, 0xBE, 0x0, 0x1, 0x2, 0x9F, 0x6, 0x40, 0x0, 0x1, 0x2, 0x72, 0x6, 0x40, 0x0, 0x1, 0x1, 0x63, 0x6, 0x48, 0x0, 0x1, 0x1, 0x63, 0x6, 0x9B, 0x0, 0x1, 0x2, 0x4A, 0x6, 0x48, 0x0, 0x1, 0x1, 0x55, 0x6, 0x40, 0x0, 0x1, 0x2, 0x86, 0x6, 0x4C, 0x0, 0x1, 0x3, 0x22, 0x6, 0x40, 0x0, 0x1, 0x3, 0x5F, 0x6, 0x41, 0x0, 0x1, 0x1, 0x7B, 0x6, 0x40, 0x0, 0x1, 0x1, 0xAA, 0x5, 0xA, 0x0, 0x1, 0x2, 0xCB, 0x6, 0x40, 0x0, 0x1, 0x2, 0x1, 0x5, 0xA, 0x0, 0x1, 0x2, 0x65, 0x5, 0xA, 0x0, 0x1, 0x2, 0x85, 0x6, 0xA4, 0x0, 0x1, 0x1, 0xF5, 0x5, 0xA, 0x0, 0x1, 0x2, 0x4E, 0x5, 0xA, 0x0, 0x1, 0x2, 0x14, 0x6, 0x63, 0x0, 0x1, 0x2, 0x14, 0x6, 0x40, 0x0, 0x1, 0x2, 0xE, 0x5, 0xA, 0x0, 0x1, 0x2, 0x28, 0x5, 0xA, 0x0, 0x1, 0x1, 0x89, 0x5, 0xA, 0x0, 0x1, 0x2, 0x72, 0x5, 0xA, 0x0, 0x1, 0x2, 0x90, 0x5, 0xA, 0x0, 0x1, 0x2, 0x35, 0x5, 0xA, 0x0, 0x1, 0x2, 0x70, 0x6, 0xA4, 0x0, 0x1, 0x1, 0x63, 0x6, 0x40, 0x0, 0x1, 0x0, 0xF1, 0x5, 0xA, 0x0, 0x1, 0x1, 0x6A, 0x5, 0xA, 0x0, 0x1, 0x1, 0x7E, 0x6, 0x40, 0x0, 0x1, 0x2, 0x4F, 0x6, 0x40, 0x0, 0x1, 0x1, 0x31, 0x6, 0x40, 0x0, 0x1, 0x2, 0x75, 0x5, 0xA, 0x0, 0x1, 0x3, 0x80, 0x5, 0xA, 0x0, 0x1, 0x3, 0x85, 0x5, 0xA, 0x0, 0x1, 0x2, 0xA2, 0x5, 0xA, 0x0, 0x1, 0x3, 0x8E, 0x5, 0xA, 0x0, 0x1, 0x3, 0x48, 0x5, 0xA, 0x0, 0x1, 0x2, 0x6A, 0x6, 0x40, 0x0, 0x1, 0x0, 0xE8, 0x6, 0x40, 0x0, 0x1, 0x0, 0xE8, 0x5, 0xA, 0x0, 0x1, 0x1, 0xED, 0x5, 0xA, 0x0, 0x1, 0x0, 0xFA, 0x5, 0xA, 0x0, 0x1, 0x1, 0x75, 0x5, 0xA, 0x0, 0x1, 0x2, 0x1B, 0x5, 0xA, 0x0, 0x1, 0x2, 0x50, 0x5, 0xA, 0x0, 0x1, 0x2, 0x54, 0x6, 0xA4, 0x0, 0x1, 0x0, 0xD8, 0x5, 0xA, 0x0, 0x1, 0x3, 0x13, 0x6, 0xA4, 0x0, 0x1, 0x0, 0xEE, 0x6, 0x40, 0x0, 0x1, 0x1, 0x38, 0x6, 0x40, 0x0, 0x1, 0x2, 0x9C, 0x5, 0xA, 0x0, 0x1, 0x1, 0xFA, 0x5, 0xA, 0x0, 0x1, 0x2, 0x1E, 0x5, 0xA, 0x0, 0x1, 0x1, 0xF4, 0x5, 0xA, 0x0, 0x1, 0x1, 0xEC, 0x5, 0xA, 0x0, 0x1, 0x2, 0x3A, 0x5, 0xA, 0x0, 0x1, 0x1, 0xF4, 0x6, 0x61, 0x0, 0x1, 0x2, 0x3A, 0x6, 0x61, 0x0, 0x1, 0x2, 0x0, 0x6, 0x61, 0x0, 0x1, 0x2, 0x3B, 0x6, 0x61, 0x0, 0x1, 0x2, 0xC2, 0x6, 0x61, 0x0, 0x1, 0x2, 0x17, 0x5, 0xA, 0x0, 0x1, 0x2, 0x5C, 0x5, 0xA, 0x0, 0x1, 0x2, 0x49, 0x6, 0x40, 0x0, 0x1, 0x0, 0xF6, 0x5, 0xA, 0x0, 0x1, 0x2, 0x31, 0x6, 0x40, 0x0, 0x1, 0x1, 0xF0, 0x6, 0x61, 0x0, 0x1, 0x2, 0x37, 0x6, 0x61, 0x0, 0x1, 0x5, 0xA4, 0x6, 0x40, 0x0, 0x1, 0x5, 0x84, 0x6, 0x40, 0x0, 0x1, 0x3, 0xCD, 0x6, 0x40, 0x0, 0x1, 0x2, 0x7, 0x6, 0xA4, 0x0, 0x1, 0x4, 0x47, 0x6, 0x40, 0x0, 0x1, 0x4, 0xA9, 0x6, 0xA4, 0x0, 0x1, 0x3, 0x66, 0x6, 0x40, 0x0, 0x1, 0x3, 0x19, 0x6, 0x40, 0x0, 0x1, 0x1, 0xE3, 0x6, 0x40, 0x0, 0x1, 0x1, 0xEE, 0x6, 0x40, 0x0, 0x1, 0x2, 0xAC, 0x5, 0xA, 0x0, 0x1, 0x2, 0x6E, 0x6, 0x48, 0x0, 0x1, 0x2, 0x6F, 0x5, 0xA, 0x0, 0x1, 0x2, 0x37, 0x5, 0x9, 0x0, 0x1, 0x1, 0x2E, 0x4, 0xF5, 0x0, 0x1, 0x2, 0x57, 0x5, 0x0, 0x0, 0x1, 0x2, 0x2B, 0x4, 0xFC, 0x0, 0x1, 0x3, 0x4A, 0x4, 0xFA, 0x0, 0x1, 0x2, 0x37, 0x6, 0x4C, 0x0, 0x1, 0x3, 0x3C, 0x4, 0xFC, 0x0, 0x1, 0x2, 0xBC, 0x6, 0x40, 0x0, 0x1, 0x3, 0xD5, 0x6, 0x48, 0x0, 0x1, 0x2, 0x63, 0x6, 0x55, 0x0, 0x1, 0x2, 0xD4, 0x6, 0x48, 0x0, 0x1, 0x2, 0x91, 0x6, 0x48, 0x0, 0x1, 0x2, 0xCF, 0x6, 0x48, 0x0, 0x1, 0x3, 0x81, 0x6, 0x48, 0x0, 0x1, 0x2, 0xA3, 0x6, 0x56, 0x0, 0x1, 0x3, 0x94, 0x6, 0x40, 0x0, 0x1, 0x1, 0xAD, 0x4, 0xFC, 0x0, 0x1, 0x2, 0xBF, 0x4, 0xF5, 0x0, 0x1, 0x3, 0x3E, 0x4, 0xFC, 0x0, 0x1, 0x2, 0xE, 0x5, 0x9, 0x0, 0x1, 0x2, 0x4F, 0x4, 0xFC, 0x0, 0x1, 0x2, 0x30, 0x4, 0xFC, 0x0, 0x1, 0x2, 0x82, 0x4, 0xF5, 0x0, 0x1, 0x2, 0xF6, 0x4, 0xF5, 0x0, 0x1, 0x2, 0x53, 0x4, 0xF5, 0x0, 0x1, 0x1, 0xFB, 0x4, 0xF5, 0x0, 0x1, 0x2, 0xE7, 0x6, 0xCC, 0x0, 0x1, 0x2, 0x67, 0x4, 0xF5, 0x0, 0x1, 0x2, 0x26, 0x4, 0xFC, 0x0, 0x1, 0x3, 0x2C, 0x4, 0xF5, 0x0, 0x1, 0x3, 0x33, 0x4, 0xFC, 0x0, 0x1, 0x2, 0x18, 0x5, 0xA, 0x0, 0x1, 0x3, 0x3B, 0x4, 0xF5, 0x0, 0x1, 0x2, 0xD, 0x4, 0xF5, 0x0, 0x1, 0x2, 0x47, 0x5, 0xA, 0x0, 0x1, 0x3, 0x9F, 0x6, 0x41, 0x0, 0x1, 0x3, 0x22, 0x4, 0xFC, 0x0, 0x1, 0x1, 0xD5, 0x6, 0xCC, 0x0, 0x1, 0x2, 0x80, 0x6, 0x1C, 0x0, 0x1, 0x2, 0x1C, 0x4, 0xEF, 0x0, 0x1, 0x2, 0x48, 0x5, 0x50, 0x0, 0x1, 0x3, 0x29, 0x6, 0x40, 0x0, 0x1, 0x2, 0x9A, 0x6, 0x61, 0x0, 0x1, 0x2, 0x47, 0x5, 0xC, 0x0, 0x1, 0x2, 0xD4, 0x7, 0x6E, 0x0, 0x1, 0x2, 0x4F, 0x6, 0x23, 0x0, 0x1, 0x2, 0xD7, 0x6, 0x56, 0x0, 0x1, 0x2, 0x8A, 0x6, 0x4C, 0x0, 0x1, 0x2, 0x81, 0x6, 0x19, 0x0, 0x1, 0x2, 0x5C, 0x6, 0x4C, 0x0, 0x1, 0x1, 0x11, 0x6, 0x4C, 0x0, 0x1, 0x2, 0xC5, 0x6, 0x4C, 0x0, 0x1, 0x2, 0x21, 0x5, 0xA, 0x0, 0x1, 0x2, 0x63, 0x6, 0x4C, 0x0, 0x1, 0x2, 0xA4, 0x6, 0x61, 0x0, 0x1, 0x3, 0x4D, 0x5, 0xA, 0x0, 0x1, 0x2, 0x71, 0x5, 0xA, 0x0, 0x1, 0x2, 0x3D, 0x5, 0xA, 0x0, 0x1, 0x2, 0xA7, 0x5, 0xA, 0x0, 0x1, 0x2, 0x4B, 0x5, 0xA, 0x0, 0x1, 0x2, 0xF, 0x5, 0xA, 0x0, 0x1, 0x1, 0x5, 0x5, 0xA, 0x0, 0x1, 0x3, 0x1, 0x5, 0xA, 0x0, 0x1, 0x2, 0xB, 0x5, 0xA, 0x0, 0x1, 0x1, 0x23, 0x5, 0xA, 0x0, 0x1, 0x2, 0xF6, 0x5, 0xA, 0x0, 0x1, 0x2, 0x54, 0x5, 0xA, 0x0, 0x1, 0x1, 0xF6, 0x5, 0xA, 0x0, 0x1, 0x3, 0x73, 0x5, 0xA, 0x0, 0x1, 0x1, 0xF3, 0x5, 0xA, 0x0, 0x1, 0x2, 0x4A, 0x5, 0xA, 0x0, 0x1, 0x2, 0x3F, 0x5, 0xA, 0x0, 0x1, 0x1, 0xFB, 0x5, 0xA, 0x0, 0x1, 0x2, 0x79, 0x5, 0xA, 0x0, 0x1, 0x2, 0xF8, 0x5, 0xA, 0x0, 0x1, 0x1, 0xEA, 0x5, 0xA, 0x0, 0x1, 0x2, 0xD, 0x5, 0xA, 0x0, 0x1, 0x2, 0x67, 0x5, 0xA, 0x0, 0x1, 0x2, 0x4F, 0x5, 0xA, 0x0, 0x1, 0x2, 0x56, 0x5, 0xA, 0x0, 0x1, 0x2, 0xB1, 0x5, 0xA, 0x0, 0x1, 0x3, 0x4E, 0x5, 0xA, 0x0, 0x1, 0x2, 0xFB, 0x6, 0x40, 0x0, 0x1, 0x2, 0x67, 0x6, 0xA4, 0x0, 0x1, 0x2, 0xEB, 0x5, 0xA, 0x0, 0x1, 0x2, 0x5B, 0x5, 0xA, 0x0, 0x1, 0x2, 0x36, 0x5, 0xA, 0x0, 0x1, 0x1, 0x67, 0x6, 0x40, 0x0, 0x1, 0x2, 0x10, 0x5, 0xA, 0x0, 0x1, 0x2, 0x69, 0x5, 0xA, 0x0, 0x1, 0x2, 0x23, 0x5, 0xA, 0x0, 0x1, 0x4, 0xAB, 0x6, 0x40, 0x0, 0x1, 0x1, 0x63, 0x5, 0xA, 0x0, 0x1, 0x2, 0x97, 0x5, 0xA, 0x0, 0x1, 0x2, 0xB0, 0x5, 0xA, 0x0, 0x1, 0x2, 0x76, 0x5, 0xA, 0x0, 0x1, 0x2, 0x8D, 0x6, 0x40, 0x0, 0x1, 0x2, 0xD, 0x6, 0x40, 0x0, 0x1, 0x1, 0xF3, 0x6, 0xA1, 0x0, 0x1, 0x2, 0x2A, 0x5, 0xA, 0x0, 0x1, 0x2, 0x57, 0x6, 0x40, 0x0, 0x1, 0x1, 0x17, 0x6, 0xA4, 0x0, 0x1, 0x3, 0xCA, 0x5, 0xA, 0x0, 0x1, 0x2, 0x88, 0x5, 0xA, 0x0, 0x1, 0x2, 0x1C, 0x5, 0xA, 0x0, 0x1, 0x2, 0x45, 0x6, 0xA4, 0x0, 0x1, 0x1, 0xFD, 0x5, 0xA, 0x0, 0x1, 0x2, 0x5, 0x5, 0xA, 0x0, 0x1, 0x2, 0x30, 0x5, 0xA, 0x0, 0x1, 0x2, 0x18, 0x6, 0x40, 0x0, 0x1, 0x2, 0x4D, 0x5, 0xA, 0x0, 0x1, 0x2, 0x34, 0x5, 0xA, 0x0, 0x1, 0x2, 0x24, 0x5, 0xA, 0x0, 0x1, 0x2, 0x11, 0x5, 0xA, 0x0, 0x1, 0x1, 0x9, 0x6, 0x40, 0x0, 0x1, 0x1, 0xFE, 0x5, 0xA, 0x0, 0x1, 0x2, 0x77, 0x6, 0xA4, 0x0, 0x1, 0x2, 0x3B, 0x5, 0xA, 0x0, 0x1, 0x2, 0x46, 0x5, 0xA, 0x0, 0x1, 0x1, 0x7F, 0x6, 0x48, 0x0, 0x1, 0x1, 0x7D, 0x6, 0x40, 0x0, 0x1, 0x1, 0x72, 0x6, 0x48, 0x0, 0x1, 0x1, 0x6F, 0x5, 0x3, 0x0, 0x1, 0x2, 0x3B, 0x5, 0x28, 0x0, 0x1, 0x2, 0x5C, 0x5, 0x28, 0x0, 0x1, 0x2, 0x15, 0x5, 0x28, 0x0, 0x1, 0x2, 0x50, 0x5, 0x28, 0x0, 0x1, 0x3, 0x1E, 0x5, 0x28, 0x0, 0x1, 0x2, 0x71, 0x5, 0x28, 0x0, 0x1, 0x2, 0x31, 0x5, 0x28, 0x0, 0x1, 0x2, 0x33, 0x5, 0x28, 0x0, 0x1, 0x3, 0xC, 0x5, 0x28, 0x0, 0x1, 0x2, 0x2B, 0x5, 0x28, 0x0, 0x1, 0x3, 0x3, 0x5, 0x28, 0x0, 0x1, 0x2, 0x8A, 0x5, 0x28, 0x0, 0x1, 0x2, 0xD7, 0x5, 0x28, 0x0, 0x1, 0x2, 0x6F, 0x5, 0x28, 0x0, 0x1, 0x2, 0x45, 0x5, 0x28, 0x0, 0x1, 0x2, 0x61, 0x5, 0x28, 0x0, 0x1, 0x2, 0x72, 0x6, 0x4C, 0x0, 0x1, 0x2, 0xDE, 0x6, 0x5E, 0x0, 0x1, 0x2, 0xD5, 0x6, 0x5E, 0x0, 0x1, 0x2, 0xC0, 0x6, 0x5E, 0x0, 0x1, 0x2, 0xD9, 0x6, 0x66, 0x0, 0x1, 0x4, 0x5E, 0x6, 0x69, 0x0, 0x1, 0x1, 0x7A, 0x4, 0xE8, 0x0, 0x1, 0x1, 0x70, 0x5, 0x3, 0x0, 0x1, 0x2, 0x4A, 0x5, 0x3, 0x0, 0x1, 0x0, 0xF2, 0x6, 0x55, 0x0, 0x1, 0x1, 0x34, 0x6, 0x72, 0x0, 0x1, 0x0, 0xEC, 0x3, 0x20, 0x0, 0x1, 0x1, 0x11, 0x4, 0xE8, 0x0, 0x1, 0x1, 0x95, 0x6, 0x72, 0x0, 0x1, 0x1, 0x1C, 0x6, 0x72, 0x0, 0x1, 0x1, 0x1F, 0x3, 0x20, 0x0, 0x1, 0x2, 0xC5, 0x5, 0xA, 0x0, 0x1, 0x3, 0x50, 0x6, 0x47, 0x0, 0x1, 0x1, 0x0, 0x5, 0x28, 0x0, 0x1, 0x3, 0x6E, 0x5, 0xA, 0x0, 0x1, 0x2, 0x11, 0x5, 0x28, 0x0, 0x1, 0x2, 0x7B, 0x5, 0x28, 0x0, 0x1, 0x2, 0xAD, 0x7, 0xAF, 0x0, 0x1, 0x2, 0xAD, 0x7, 0x95, 0x0, 0x1, 0x2, 0xAD, 0x7, 0xE1, 0x0, 0x1, 0x2, 0xAC, 0x6, 0x55, 0x0, 0x1, 0x1, 0x21, 0x7, 0xB7, 0x0, 0x1, 0x2, 0xD6, 0x7, 0x95, 0x0, 0x1, 0x2, 0xC4, 0x7, 0xAF, 0x0, 0x1, 0x2, 0xC4, 0x7, 0x95, 0x0, 0x1, 0x2, 0x9B, 0x7, 0xAF, 0x0, 0x1, 0x2, 0x9B, 0x7, 0x6D, 0x0, 0x1, 0x2, 0x37, 0x6, 0x79, 0x0, 0x1, 0x2, 0x37, 0x6, 0x5F, 0x0, 0x1, 0x2, 0x37, 0x6, 0xAB, 0x0, 0x1, 0x1, 0xC, 0x6, 0x72, 0x0, 0x1, 0x2, 0x3E, 0x6, 0x5F, 0x0, 0x1, 0x2, 0x40, 0x6, 0x5F, 0x0, 0x1, 0x2, 0x39, 0x6, 0x79, 0x0, 0x1, 0x2, 0x39, 0x6, 0x37, 0x0, 0x1, 0x2, 0x37, 0x6, 0x3A, 0x0, 0x1, 0x2, 0xAB, 0x7, 0x94, 0x0, 0x1, 0x2, 0x14, 0x6, 0x49, 0x0, 0x1, 0x2, 0xAC, 0x7, 0xB3, 0x0, 0x1, 0x2, 0x15, 0x6, 0x68, 0x0, 0x1, 0x2, 0x3B, 0x7, 0xA6, 0x0, 0x1, 0x2, 0x73, 0x7, 0x78, 0x0, 0x1, 0x2, 0x72, 0x7, 0x87, 0x0, 0x1, 0x2, 0xA9, 0x7, 0xA0, 0x0, 0x1, 0x2, 0xA8, 0x7, 0x94, 0x0, 0x1, 0x2, 0x2A, 0x6, 0x49, 0x0, 0x1, 0x2, 0xA9, 0x6, 0x55, 0x0, 0x1, 0x1, 0x21, 0x7, 0x9D, 0x0, 0x1, 0x1, 0xC, 0x6, 0x58, 0x0, 0x1, 0x1, 0xC, 0x6, 0x33, 0x0, 0x1, 0x1, 0xC, 0x6, 0x4E, 0x0, 0x1, 0x1, 0x20, 0x7, 0x87, 0x0, 0x1, 0x3, 0x52, 0x7, 0x9F, 0x0, 0x1, 0x1, 0x14, 0x7, 0xAF, 0x0, 0x1, 0x1, 0x6, 0x8, 0xA, 0x0, 0x1, 0x2, 0xD6, 0x7, 0x9E, 0x0, 0x1, 0x2, 0x3E, 0x6, 0x68, 0x0, 0x1, 0x2, 0xC4, 0x7, 0x8B, 0x0, 0x1, 0x2, 0xC4, 0x7, 0x91, 0x0, 0x1, 0x2, 0x40, 0x6, 0x5B, 0x0, 0x1, 0x2, 0x5C, 0x7, 0xAF, 0x0, 0x1, 0x1, 0x99, 0x6, 0x79, 0x0, 0x1, 0x2, 0x5C, 0x7, 0x9E, 0x0, 0x1, 0x1, 0x99, 0x6, 0x68, 0x0, 0x1, 0x2, 0x7A, 0x7, 0xAF, 0x0, 0x1, 0x2, 0x25, 0x6, 0x79, 0x0, 0x1, 0x2, 0x7A, 0x7, 0x9E, 0x0, 0x1, 0x2, 0x25, 0x6, 0x68, 0x0, 0x1, 0x2, 0x6C, 0x7, 0x9E, 0x0, 0x1, 0x2, 0x9B, 0x7, 0x95, 0x0, 0x1, 0x2, 0x39, 0x6, 0x5F, 0x0, 0x1, 0x2, 0x9B, 0x7, 0x70, 0x0, 0x1, 0x2, 0x39, 0x6, 0x3A, 0x0, 0x1, 0x2, 0x9B, 0x7, 0x8B, 0x0, 0x1, 0x2, 0x39, 0x6, 0x55, 0x0, 0x1, 0x2, 0x9B, 0x7, 0xE1, 0x0, 0x1, 0x2, 0x39, 0x6, 0xAB, 0x0, 0x1, 0x2, 0x9B, 0x7, 0x91, 0x0, 0x1, 0x2, 0x39, 0x6, 0x5B, 0x0, 0x1, 0x3, 0x92, 0x7, 0x9E, 0x0, 0x1, 0x2, 0xF5, 0x6, 0x68, 0x0, 0x1, 0x2, 0x73, 0x7, 0x9E, 0x0, 0x1, 0x2, 0x6F, 0x7, 0xAF, 0x0, 0x1, 0x2, 0x7, 0x6, 0x79, 0x0, 0x1, 0x2, 0x6E, 0x7, 0x7F, 0x0, 0x1, 0x2, 0x6, 0x6, 0x49, 0x0, 0x1, 0x3, 0xA7, 0x7, 0xBB, 0x0, 0x1, 0x3, 0x5C, 0x6, 0x7A, 0x0, 0x1, 0x2, 0xCB, 0x7, 0xF9, 0x0, 0x1, 0x2, 0x1C, 0x6, 0x76, 0x0, 0x1, 0x1, 0xCB, 0x5, 0x28, 0x0, 0x1, 0x2, 0x51, 0x6, 0x97, 0x0, 0x1, 0x2, 0x51, 0x6, 0x86, 0x0, 0x1, 0x2, 0x51, 0x6, 0x7D, 0x0, 0x1, 0x2, 0x51, 0x6, 0x55, 0x0, 0x1, 0x2, 0x51, 0x6, 0xC9, 0x0, 0x1, 0x2, 0x21, 0x6, 0x97, 0x0, 0x1, 0x0, 0xFF, 0x6, 0x97, 0x0, 0x1, 0x0, 0xFF, 0x6, 0x86, 0x0, 0x1, 0x2, 0x70, 0x6, 0x7D, 0x0, 0x1, 0x2, 0x5F, 0x6, 0x86, 0x0, 0x1, 0x2, 0x5F, 0x6, 0x7D, 0x0, 0x1, 0x2, 0x5F, 0x6, 0x55, 0x0, 0x1, 0x2, 0x40, 0x6, 0x97, 0x0, 0x1, 0x2, 0x40, 0x6, 0x86, 0x0, 0x1, 0x2, 0x40, 0x6, 0x55, 0x0, 0x1, 0x2, 0x51, 0x6, 0x58, 0x0, 0x1, 0x2, 0x51, 0x6, 0x73, 0x0, 0x1, 0x2, 0x4F, 0x6, 0x97, 0x0, 0x1, 0x2, 0x4E, 0x6, 0x67, 0x0, 0x1, 0x2, 0x4F, 0x6, 0x86, 0x0, 0x1, 0x1, 0xCB, 0x6, 0x86, 0x0, 0x1, 0x2, 0x21, 0x6, 0x58, 0x0, 0x1, 0x2, 0x21, 0x6, 0x73, 0x0, 0x1, 0x2, 0x20, 0x6, 0x67, 0x0, 0x1, 0x2, 0x21, 0x6, 0x86, 0x0, 0x1, 0x2, 0x53, 0x6, 0x86, 0x0, 0x1, 0x2, 0x53, 0x6, 0x73, 0x0, 0x1, 0x2, 0x52, 0x6, 0x67, 0x0, 0x1, 0x2, 0x53, 0x5, 0x28, 0x0, 0x1, 0x2, 0x65, 0x6, 0x86, 0x0, 0x1, 0x0, 0xFF, 0x6, 0x7D, 0x0, 0x1, 0x0, 0xFF, 0x6, 0x58, 0x0, 0x1, 0x0, 0xFF, 0x6, 0x73, 0x0, 0x1, 0x0, 0xFE, 0x6, 0x67, 0x0, 0x1, 0x2, 0xDE, 0x6, 0x86, 0x0, 0x1, 0x0, 0xF5, 0x6, 0x97, 0x0, 0x1, 0x0, 0xF5, 0x5, 0x28, 0x0, 0x1, 0x2, 0x70, 0x6, 0x97, 0x0, 0x1, 0x2, 0x70, 0x6, 0x86, 0x0, 0x1, 0x2, 0x5F, 0x6, 0x58, 0x0, 0x1, 0x2, 0x5F, 0x6, 0x73, 0x0, 0x1, 0x2, 0x5F, 0x6, 0x79, 0x0, 0x1, 0x2, 0x3, 0x6, 0x97, 0x0, 0x1, 0x2, 0x3, 0x5, 0x28, 0x0, 0x1, 0x2, 0x3, 0x6, 0x86, 0x0, 0x1, 0x2, 0x2C, 0x6, 0x97, 0x0, 0x1, 0x2, 0x2C, 0x6, 0x86, 0x0, 0x1, 0x2, 0x1B, 0x6, 0x86, 0x0, 0x1, 0x2, 0x40, 0x6, 0x7D, 0x0, 0x1, 0x2, 0x40, 0x6, 0x58, 0x0, 0x1, 0x2, 0x40, 0x6, 0xC9, 0x0, 0x1, 0x2, 0x40, 0x6, 0x79, 0x0, 0x1, 0x2, 0x40, 0x5, 0x28, 0x0, 0x1, 0x3, 0x3, 0x6, 0x86, 0x0, 0x1, 0x2, 0x19, 0x6, 0x86, 0x0, 0x1, 0x2, 0x1C, 0x6, 0x97, 0x0, 0x1, 0x2, 0x1B, 0x6, 0x67, 0x0, 0x1, 0x2, 0x1C, 0x6, 0x86, 0x0, 0x1, 0x2, 0x73, 0x7, 0x6D, 0x0, 0x1, 0x1, 0x2E, 0x6, 0x22, 0x0, 0x1, 0x2, 0x2B, 0x6, 0x29, 0x0, 0x1, 0x2, 0x73, 0x7, 0x75, 0x0, 0x1, 0x2, 0x6E, 0x7, 0xB7, 0x0, 0x1, 0x1, 0x21, 0x7, 0x75, 0x0, 0x1, 0x2, 0x91, 0x7, 0x93, 0x0, 0x1, 0x2, 0xD4, 0x7, 0x93, 0x0, 0x1, 0x2, 0x4F, 0x6, 0x47, 0x0, 0x1, 0x2, 0x88, 0x5, 0x0, 0x0, 0x1, 0x2, 0x15, 0x5, 0xA, 0x0, 0x1, 0x2, 0x4, 0x5, 0x0, 0x0, 0x1, 0x2, 0x2B, 0x6, 0x37, 0x0, 0x1, 0x1, 0xAD, 0x6, 0x6B, 0x0, 0x1, 0x1, 0xC, 0x6, 0x30, 0x0, 0x1, 0x2, 0x30, 0x6, 0x6B, 0x0, 0x1, 0x2, 0x2, 0x6, 0x55, 0x0, 0x1, 0x3, 0x92, 0x7, 0xAF, 0x0, 0x1, 0x2, 0xF5, 0x6, 0x79, 0x0, 0x1, 0x3, 0x92, 0x7, 0x6D, 0x0, 0x1, 0x2, 0xF5, 0x6, 0x37, 0x0, 0x1, 0x2, 0x73, 0x7, 0xAF, 0x0, 0x1, 0x2, 0x2, 0x6, 0x79, 0x0, 0x1, 0x1, 0x11, 0x6, 0x46, 0x0, 0x1, 0x3, 0x7B, 0x7, 0xAF, 0x0, 0x1, 0x3, 0x8C, 0x6, 0x79, 0x0, 0x1, 0x2, 0x73, 0x7, 0xB7, 0x0, 0x1, 0x2, 0xD4, 0x7, 0xB7, 0x0, 0x1, 0x2, 0x4F, 0x6, 0x6B, 0x0, 0x1, 0x2, 0xDD, 0x4, 0xF5, 0x0, 0x1, 0x2, 0x80, 0x7, 0x60, 0x0, 0x1, 0x2, 0x1C, 0x6, 0x33, 0x0, 0x1, 0x3, 0xD5, 0x7, 0x93, 0x0, 0x1, 0x3, 0x3E, 0x6, 0x47, 0x0, 0x1, 0x2, 0xAD, 0x7, 0x6D, 0x0, 0x1, 0x2, 0x37, 0x6, 0x37, 0x0, 0x1, 0x2, 0x81, 0x7, 0x46, 0x0, 0x1, 0x2, 0x28, 0x6, 0x38, 0x0, 0x1, 0x3, 0xD5, 0x7, 0x75, 0x0, 0x1, 0x3, 0x3E, 0x6, 0x29, 0x0, 0x1, 0x2, 0x63, 0x7, 0x82, 0x0, 0x1, 0x2, 0xE, 0x6, 0x36, 0x0, 0x1, 0x2, 0xD4, 0x7, 0x78, 0x0, 0x1, 0x2, 0x4F, 0x6, 0x2C, 0x0, 0x1, 0x2, 0xD4, 0x7, 0x75, 0x0, 0x1, 0x2, 0x4F, 0x6, 0x29, 0x0, 0x1, 0x2, 0xC4, 0x7, 0x6D, 0x0, 0x1, 0x2, 0x40, 0x6, 0x37, 0x0, 0x1, 0x2, 0xD2, 0x6, 0x45, 0x0, 0x1, 0x2, 0xD2, 0x7, 0x72, 0x0, 0x1, 0x2, 0x33, 0x6, 0x37, 0x0, 0x1, 0x2, 0xA3, 0x7, 0x83, 0x0, 0x1, 0x2, 0x18, 0x6, 0x37, 0x0, 0x1, 0x2, 0x91, 0x7, 0x78, 0x0, 0x1, 0x2, 0x91, 0x7, 0x75, 0x0, 0x1, 0x2, 0x2, 0x6, 0x37, 0x0, 0x1, 0x2, 0x91, 0x7, 0x99, 0x0, 0x1, 0x2, 0x2, 0x6, 0x5B, 0x0, 0x1, 0x2, 0xCF, 0x7, 0x75, 0x0, 0x1, 0x2, 0x26, 0x6, 0x29, 0x0, 0x1, 0x3, 0x81, 0x7, 0x75, 0x0, 0x1, 0x3, 0x33, 0x6, 0x29, 0x0, 0x1, 0x2, 0xAD, 0x8, 0x2, 0x0, 0x1, 0x2, 0x37, 0x6, 0xCC, 0x0, 0x1, 0x2, 0x37, 0x6, 0x55, 0x0, 0x1, 0x2, 0x73, 0x8, 0xA, 0x0, 0x1, 0x2, 0x2B, 0x6, 0xCC, 0x0, 0x1, 0x2, 0x73, 0x7, 0x9D, 0x0, 0x1, 0x2, 0x2B, 0x6, 0x5F, 0x0, 0x1, 0x2, 0x73, 0x7, 0xA6, 0x0, 0x1, 0x1, 0x21, 0x8, 0xA, 0x0, 0x1, 0x1, 0xC, 0x6, 0xC5, 0x0, 0x1, 0x1, 0x21, 0x6, 0x48, 0x0, 0x1, 0x1, 0x7, 0x6, 0x40, 0x0, 0x1, 0x2, 0xC4, 0x8, 0x2, 0x0, 0x1, 0x2, 0x40, 0x6, 0xCC, 0x0, 0x1, 0x2, 0xBF, 0x7, 0xAD, 0x0, 0x1, 0x2, 0x44, 0x6, 0x79, 0x0, 0x1, 0x2, 0xBF, 0x8, 0x0, 0x0, 0x1, 0x2, 0x44, 0x6, 0xCC, 0x0, 0x1, 0x2, 0xBF, 0x7, 0x93, 0x0, 0x1, 0x2, 0x44, 0x6, 0x5F, 0x0, 0x1, 0x2, 0xBF, 0x6, 0x3E, 0x0, 0x1, 0x2, 0x44, 0x5, 0xA, 0x0, 0x1, 0x2, 0x9B, 0x8, 0x2, 0x0, 0x1, 0x2, 0x39, 0x6, 0xCC, 0x0, 0x1, 0x2, 0xC2, 0x7, 0xBB, 0x0, 0x1, 0x2, 0x42, 0x6, 0x64, 0x0, 0x1, 0x2, 0xC2, 0x8, 0xE, 0x0, 0x1, 0x2, 0x42, 0x6, 0xB7, 0x0, 0x1, 0x2, 0xC2, 0x7, 0xA1, 0x0, 0x1, 0x2, 0x42, 0x6, 0x4A, 0x0, 0x1, 0x2, 0xC2, 0x6, 0x4C, 0x0, 0x1, 0x2, 0x42, 0x4, 0xF5, 0x0, 0x1, 0x2, 0x73, 0x6, 0x40, 0x0, 0x1, 0x2, 0x2, 0x5, 0xA, 0x0, 0x1, 0x2, 0x73, 0x8, 0x2, 0x0, 0x1, 0x2, 0x2, 0x6, 0xCC, 0x0, 0x1, 0x2, 0x73, 0x7, 0x95, 0x0, 0x1, 0x2, 0x2, 0x6, 0x5F, 0x0, 0x1, 0x2, 0x42, 0x5, 0xA, 0x0, 0x1, 0x2, 0xAD, 0x7, 0x9E, 0x0, 0x1, 0x2, 0x37, 0x6, 0x68, 0x0, 0x1, 0x1, 0x21, 0x7, 0xA6, 0x0, 0x1, 0x1, 0xC, 0x6, 0x61, 0x0, 0x1, 0x2, 0xC4, 0x7, 0x9E, 0x0, 0x1, 0x2, 0x40, 0x6, 0x68, 0x0, 0x1, 0x2, 0x9B, 0x7, 0x9E, 0x0, 0x1, 0x2, 0x39, 0x6, 0x68, 0x0, 0x1, 0x2, 0x38, 0x7, 0x95, 0x0, 0x1, 0x2, 0x39, 0x7, 0xA6, 0x0, 0x1, 0x2, 0x28, 0x5, 0xB, 0x0, 0x1, 0x2, 0x37, 0x7, 0x66, 0x0, 0x1, 0x2, 0x37, 0x7, 0x78, 0x0, 0x1, 0x3, 0xA7, 0x7, 0x7C, 0x0, 0x1, 0x3, 0x5C, 0x6, 0x3B, 0x0, 0x1, 0x2, 0xA9, 0x7, 0xB3, 0x0, 0x1, 0x2, 0x2B, 0x6, 0x68, 0x0, 0x1, 0x2, 0x59, 0x7, 0x9F, 0x0, 0x1, 0x2, 0x57, 0x7, 0xA5, 0x0, 0x1, 0x2, 0xC4, 0x7, 0x70, 0x0, 0x1, 0x2, 0x40, 0x6, 0x3A, 0x0, 0x1, 0x2, 0xA9, 0x7, 0xC4, 0x0, 0x1, 0x2, 0x2B, 0x6, 0x79, 0x0, 0x1, 0x2, 0xD6, 0x7, 0xAF, 0x0, 0x1, 0x2, 0x3E, 0x6, 0x79, 0x0, 0x1, 0x2, 0xAD, 0x7, 0x84, 0x0, 0x1, 0x2, 0x37, 0x6, 0x4E, 0x0, 0x1, 0x2, 0xAD, 0x7, 0xA9, 0x0, 0x1, 0x2, 0x37, 0x6, 0x73, 0x0, 0x1, 0x2, 0x73, 0x7, 0x8C, 0x0, 0x1, 0x2, 0x2B, 0x6, 0x4E, 0x0, 0x1, 0x2, 0x73, 0x7, 0xB1, 0x0, 0x1, 0x2, 0x2B, 0x6, 0x73, 0x0, 0x1, 0x1, 0x21, 0x7, 0x8C, 0x0, 0x1, 0x1, 0xC, 0x6, 0x47, 0x0, 0x1, 0x1, 0x21, 0x7, 0xB1, 0x0, 0x1, 0x1, 0xC, 0x6, 0x6C, 0x0, 0x1, 0x2, 0xC4, 0x7, 0x84, 0x0, 0x1, 0x2, 0x40, 0x6, 0x4E, 0x0, 0x1, 0x2, 0xC4, 0x7, 0xA9, 0x0, 0x1, 0x2, 0x40, 0x6, 0x73, 0x0, 0x1, 0x2, 0x5C, 0x7, 0x84, 0x0, 0x1, 0x1, 0x99, 0x6, 0x4E, 0x0, 0x1, 0x2, 0x5C, 0x7, 0xA9, 0x0, 0x1, 0x1, 0x99, 0x6, 0x73, 0x0, 0x1, 0x2, 0x9B, 0x7, 0x84, 0x0, 0x1, 0x2, 0x39, 0x6, 0x4E, 0x0, 0x1, 0x2, 0x9B, 0x7, 0xA9, 0x0, 0x1, 0x2, 0x39, 0x6, 0x73, 0x0, 0x1, 0x2, 0xCD, 0x7, 0xA6, 0x0, 0x1, 0x2, 0x2, 0x7, 0xC6, 0x0, 0x1, 0x2, 0xAC, 0x7, 0x7F, 0x0, 0x1, 0x2, 0x36, 0x6, 0x49, 0x0, 0x1, 0x2, 0x40, 0x7, 0x66, 0x0, 0x1, 0x2, 0x40, 0x7, 0x8E, 0x0, 0x1, 0x2, 0xC3, 0x7, 0x7F, 0x0, 0x1, 0x2, 0x3F, 0x6, 0x49, 0x0, 0x1, 0x2, 0x40, 0x7, 0x78, 0x0, 0x1, 0x2, 0x2, 0x6, 0x3A, 0x0, 0x1, 0x2, 0x33, 0x5, 0xA, 0x0, 0x1, 0x2, 0x23, 0x4, 0xF5, 0x0, 0x1, 0x2, 0x4E, 0x4, 0xF5, 0x0, 0x1, 0x2, 0x37, 0x7, 0x79, 0x0, 0x1, 0x2, 0x8C, 0x7, 0x86, 0x0, 0x1, 0x2, 0x5E, 0x6, 0x4C, 0x0, 0x1, 0x2, 0x8D, 0x6, 0x47, 0x0, 0x1, 0x2, 0xAC, 0x7, 0xC4, 0x0, 0x1, 0x2, 0x15, 0x6, 0x79, 0x0, 0x1, 0x2, 0x3A, 0x7, 0x87, 0x0, 0x1, 0x2, 0xC, 0x7, 0x86, 0x0, 0x1, 0x2, 0x3B, 0x6, 0x48, 0x0, 0x1, 0x2, 0xD, 0x6, 0x47, 0x0, 0x1, 0x2, 0x2B, 0x7, 0xA9, 0x0, 0x1, 0x2, 0x73, 0x7, 0x93, 0x0, 0x1, 0x2, 0x2B, 0x6, 0x55, 0x0, 0x1, 0x2, 0x72, 0x7, 0x8B, 0x0, 0x1, 0x1, 0xDF, 0x7, 0xFD, 0x0, 0x1, 0x2, 0xA9, 0x7, 0x85, 0x0, 0x1, 0x2, 0x2B, 0x6, 0x3A, 0x0, 0x1, 0x2, 0xCC, 0x7, 0x87, 0x0, 0x1, 0x2, 0x1, 0x7, 0xA7, 0x0, 0x1, 0x2, 0xCD, 0x7, 0x75, 0x0, 0x1, 0x2, 0x2, 0x7, 0x95, 0x0, 0x1, 0x2, 0xCD, 0x6, 0x48, 0x0, 0x1, 0x2, 0x59, 0x7, 0xB0, 0x0, 0x1, 0x2, 0x57, 0x7, 0xB6, 0x0, 0x1, 0x2, 0x59, 0x6, 0x41, 0x0, 0x1, 0x2, 0x57, 0x6, 0x47, 0x0, 0x1, 0x1, 0x14, 0x7, 0x70, 0x0, 0x1, 0x1, 0x6, 0x7, 0xCB, 0x0, 0x1, 0x1, 0x14, 0x6, 0x40, 0x0, 0x1, 0x1, 0x6, 0x6, 0x9B, 0x0, 0x1, 0x3, 0x7A, 0x7, 0x7F, 0x0, 0x1, 0x3, 0x8B, 0x6, 0x49, 0x0, 0x1, 0x3, 0x7B, 0x6, 0x40, 0x0, 0x1, 0x3, 0x8C, 0x5, 0xA, 0x0, 0x1, 0x2, 0xD5, 0x7, 0x7F, 0x0, 0x1, 0x2, 0x3D, 0x6, 0x49, 0x0, 0x1, 0x2, 0x3E, 0x5, 0xA, 0x0, 0x1, 0x2, 0x40, 0x7, 0xCE, 0x0, 0x1, 0x2, 0x40, 0x7, 0x8B, 0x0, 0x1, 0x2, 0x40, 0x7, 0xA9, 0x0, 0x1, 0x2, 0x5E, 0x7, 0xBB, 0x0, 0x1, 0x2, 0x88, 0x6, 0x6F, 0x0, 0x1, 0x2, 0x5D, 0x7, 0x8B, 0x0, 0x1, 0x2, 0x87, 0x6, 0x3F, 0x0, 0x1, 0x2, 0x5B, 0x7, 0x7F, 0x0, 0x1, 0x1, 0x98, 0x6, 0x49, 0x0, 0x1, 0x2, 0x5C, 0x7, 0x70, 0x0, 0x1, 0x1, 0x99, 0x6, 0x3A, 0x0, 0x1, 0x2, 0x5C, 0x6, 0x40, 0x0, 0x1, 0x1, 0x99, 0x5, 0xA, 0x0, 0x1, 0x2, 0x25, 0x5, 0xA, 0x0, 0x1, 0x2, 0x24, 0x7, 0xB8, 0x0, 0x1, 0x2, 0x7A, 0x6, 0x40, 0x0, 0x1, 0x2, 0x25, 0x7, 0xA7, 0x0, 0x1, 0x2, 0x79, 0x7, 0x7F, 0x0, 0x1, 0x2, 0x24, 0x6, 0x49, 0x0, 0x1, 0x2, 0x6B, 0x7, 0x7F, 0x0, 0x1, 0x1, 0x45, 0x7, 0x3, 0x0, 0x1, 0x2, 0x6C, 0x6, 0x40, 0x0, 0x1, 0x1, 0x46, 0x5, 0xC4, 0x0, 0x1, 0x2, 0x39, 0x5, 0xA, 0x0, 0x1, 0x2, 0x39, 0x7, 0xCE, 0x0, 0x1, 0x2, 0x9B, 0x6, 0x40, 0x0, 0x1, 0x2, 0x39, 0x7, 0x66, 0x0, 0x1, 0x2, 0x99, 0x7, 0xA1, 0x0, 0x1, 0x2, 0x1, 0x6, 0x55, 0x0, 0x1, 0x2, 0x99, 0x6, 0x4C, 0x0, 0x1, 0x2, 0x1, 0x5, 0x0, 0x0, 0x1, 0x3, 0x91, 0x7, 0x7F, 0x0, 0x1, 0x2, 0xF4, 0x6, 0x49, 0x0, 0x1, 0x3, 0x92, 0x6, 0x40, 0x0, 0x1, 0x2, 0xF5, 0x5, 0xA, 0x0, 0x1, 0x2, 0x86, 0x7, 0x8B, 0x0, 0x1, 0x2, 0x3, 0x6, 0x3F, 0x0, 0x1, 0x2, 0x87, 0x7, 0x79, 0x0, 0x1, 0x2, 0x4, 0x6, 0x2D, 0x0, 0x1, 0x2, 0x72, 0x7, 0x7F, 0x0, 0x1, 0x2, 0x1, 0x6, 0x49, 0x0, 0x1, 0x2, 0x6F, 0x7, 0x9E, 0x0, 0x1, 0x2, 0x7, 0x6, 0x68, 0x0, 0x1, 0x2, 0x6F, 0x6, 0x40, 0x0, 0x1, 0x2, 0x2, 0x6, 0x68, 0x0, 0x1, 0x1, 0x46, 0x6, 0xF1, 0x0, 0x1, 0x2, 0xF5, 0x6, 0xAB, 0x0, 0x1, 0x2, 0x2, 0x6, 0xAB, 0x0, 0x1, 0x2, 0x6F, 0x6, 0x55, 0x0, 0x1, 0x2, 0x6F, 0x6, 0x3A, 0x0, 0x1, 0x2, 0xAD, 0x7, 0x8B, 0x0, 0x1, 0x2, 0xAD, 0x7, 0x70, 0x0, 0x1, 0x1, 0x2E, 0x6, 0x40, 0x0, 0x1, 0x1, 0x2E, 0x6, 0x25, 0x0, 0x1, 0x1, 0x21, 0x7, 0x93, 0x0, 0x1, 0x1, 0x21, 0x7, 0x78, 0x0, 0x1, 0x2, 0x2B, 0x6, 0x47, 0x0, 0x1, 0x2, 0x2B, 0x6, 0x2C, 0x0, 0x1, 0x2, 0x73, 0x7, 0x8B, 0x0, 0x1, 0x2, 0x73, 0x7, 0x70, 0x0, 0x1, 0x2, 0x1C, 0x5, 0x28, 0x0, 0x1, 0x2, 0x2, 0x5, 0x28, 0x0, 0x1, 0x2, 0x70, 0x5, 0x28, 0x0, 0x1, 0x2, 0x19, 0x6, 0x55, 0x0, 0x1, 0x2, 0x21, 0x6, 0x55, 0x0, 0x1, 0x2, 0xF, 0x6, 0x97, 0x0, 0x1, 0x0, 0xFF, 0x5, 0x28, 0x0, 0x1, 0x0, 0xFF, 0x6, 0x55, 0x0, 0x1, 0x2, 0x2, 0x6, 0x97, 0x0, 0x1, 0x2, 0x31, 0x6, 0x73, 0x0, 0x1, 0x2, 0xE, 0x5, 0x28, 0x0, 0x1, 0x2, 0xF, 0x5, 0x28, 0x0, 0x1, 0x2, 0x71, 0x6, 0x73, 0x0, 0x1, 0x2, 0xFE, 0x5, 0x28, 0x0, 0x1, 0x2, 0x32, 0x5, 0x28, 0x0, 0x1, 0x2, 0x1B, 0x5, 0x28, 0x0, 0x1, 0x2, 0x26, 0x5, 0x28, 0x0, 0x1, 0x2, 0xB, 0x5, 0x28, 0x0, 0x1, 0x2, 0x65, 0x5, 0x28, 0x0, 0x1, 0x2, 0x4F, 0x5, 0x28, 0x0, 0x1, 0x2, 0x19, 0x5, 0x28, 0x0, 0x1, 0x2, 0x71, 0x6, 0x58, 0x0, 0x1, 0x2, 0x31, 0x6, 0x58, 0x0, 0x1, 0x2, 0xDE, 0x5, 0x28, 0x0, 0x1, 0x3, 0x6E, 0x6, 0x79, 0x0, 0x1, 0x2, 0x5F, 0x6, 0x97, 0x0, 0x1, 0x2, 0x2C, 0x5, 0x28, 0x0, 0x1, 0x3, 0x3, 0x6, 0x97, 0x0, 0x1, 0x3, 0x3, 0x6, 0x55, 0x0, 0x1, 0x2, 0x19, 0x6, 0x97, 0x0, 0x1, 0x2, 0xAD, 0x6, 0x40, 0x0, 0x1, 0x2, 0x37, 0x5, 0xA, 0x0, 0x1, 0x2, 0x73, 0x6, 0x48, 0x0, 0x1, 0x2, 0x2B, 0x5, 0xA, 0x0, 0x1, 0x2, 0xC4, 0x6, 0x40, 0x0, 0x1, 0x2, 0x40, 0x5, 0xA, 0x0, 0x1, 0x2, 0x51, 0x5, 0x28, 0x0, 0x1, 0x2, 0x21, 0x5, 0x28, 0x0, 0x1, 0x2, 0x5F, 0x5, 0x28, 0x0, 0x1, 0x2, 0xC0, 0x7, 0xCD, 0x0, 0x1, 0x2, 0xC0, 0x7, 0xBC, 0x0, 0x1, 0x2, 0xC0, 0x7, 0xB3, 0x0, 0x1, 0x2, 0xC0, 0x7, 0x8B, 0x0, 0x1, 0x2, 0xC0, 0x7, 0xFF, 0x0, 0x1, 0x2, 0xC0, 0x7, 0x8E, 0x0, 0x1, 0x2, 0xC0, 0x7, 0xA9, 0x0, 0x1, 0x2, 0xD9, 0x7, 0xD5, 0x0, 0x1, 0x2, 0xD9, 0x7, 0x93, 0x0, 0x1, 0x2, 0xD9, 0x7, 0x96, 0x0, 0x1, 0x2, 0xD9, 0x7, 0xB1, 0x0, 0x1, 0x2, 0xD8, 0x7, 0xA5, 0x0, 0x1, 0x2, 0xD9, 0x7, 0xC4, 0x0, 0x1, 0x2, 0xDE, 0x7, 0xB3, 0x0, 0x1, 0x2, 0xDE, 0x7, 0xCD, 0x0, 0x1, 0x2, 0xDE, 0x7, 0xBC, 0x0, 0x1, 0x2, 0xD5, 0x7, 0xCD, 0x0, 0x1, 0x2, 0xD5, 0x7, 0x8B, 0x0, 0x1, 0x2, 0xD5, 0x7, 0xB3, 0x0, 0x1, 0x2, 0xD5, 0x7, 0x8E, 0x0, 0x1, 0x2, 0xD5, 0x7, 0xA9, 0x0, 0x1, 0x2, 0xD5, 0x7, 0xFF, 0x0, 0x1, 0x2, 0xD5, 0x7, 0xAF, 0x0, 0x1, 0x1, 0xC, 0x5, 0x3, 0x0, 0x4, 0x0, 0x0, 0x0, 0x1, 0x0, 0x8, 0x0, 0x1, 0x42, 0xC6, 0x0, 0xC, 0x0, 0x1, 0x43, 0x88, 0x1, 0xFC, 0x0, 0x2, 0x0, 0x52, 0x0, 0x26, 0x0, 0x3F, 0x0, 0x0, 0x0, 0x46, 0x0, 0x5F, 0x0, 0x1A, 0x0, 0x8C, 0x0, 0x97, 0x0, 0x34, 0x0, 0xA6, 0x0, 0xA7, 0x0, 0x40, 0x0, 0xAD, 0x0, 0xAD, 0x0, 0x42, 0x0, 0xB0, 0x0, 0xB0, 0x0, 0x43, 0x0, 0xB4, 0x0, 0xB5, 0x0, 0x44, 0x0, 0xBD, 0x0, 0xBD, 0x0, 0x46, 0x0, 0xC3, 0x0, 0xC4, 0x0, 0x47, 0x0, 0xC9, 0x0, 0xCA, 0x0, 0x49, 0x0, 0xDB, 0x0, 0xDC, 0x0, 0x4B, 0x0, 0xF2, 0x0, 0xF2, 0x0, 0x4D, 0x0, 0xF8, 0x0, 0xF9, 0x0, 0x4E, 0x0, 0xFD, 0x0, 0xFE, 0x0, 0x50, 0x1, 0x1, 0x1, 0x61, 0x0, 0x52, 0x2, 0x39, 0x2, 0x3A, 0x0, 0xB3, 0x2, 0x40, 0x2, 0x40, 0x0, 0xB5, 0x2, 0x4D, 0x2, 0x4D, 0x0, 0xB6, 0x2, 0x71, 0x2, 0x71, 0x0, 0xB7, 0x2, 0x73, 0x2, 0x73, 0x0, 0xB8, 0x2, 0x85, 0x2, 0x85, 0x0, 0xB9, 0x2, 0x88, 0x2, 0x88, 0x0, 0xBA, 0x2, 0xB7, 0x2, 0xB8, 0x0, 0xBB, 0x2, 0xD8, 0x2, 0xD9, 0x0, 0xBD, 0x2, 0xE3, 0x2, 0xE4, 0x0, 0xBF, 0x2, 0xEF, 0x2, 0xEF, 0x0, 0xC1, 0x2, 0xF9, 0x2, 0xF9, 0x0, 0xC2, 0x2, 0xFB, 0x2, 0xFB, 0x0, 0xC3, 0x3, 0x1, 0x3, 0x3, 0x0, 0xC4, 0x3, 0x5, 0x3, 0x5, 0x0, 0xC7, 0x3, 0x2F, 0x3, 0x3F, 0x0, 0xC8, 0x3, 0x43, 0x3, 0x44, 0x0, 0xD9, 0x3, 0x47, 0x3, 0x4B, 0x0, 0xDB, 0x3, 0x4F, 0x3, 0x5A, 0x0, 0xE0, 0x3, 0x9A, 0x3, 0xA6, 0x0, 0xEC, 0x3, 0xA8, 0x3, 0xA9, 0x0, 0xF9, 0x3, 0xAB, 0x3, 0xC9, 0x0, 0xFB, 0x4, 0x2B, 0x4, 0x2E, 0x1, 0x1A, 0x6, 0xEA, 0x6, 0xEA, 0x1, 0x1E, 0x7, 0x4E, 0x7, 0x62, 0x1, 0x1F, 0x7, 0x6F, 0x7, 0x6F, 0x1, 0x34, 0x7, 0x79, 0x7, 0x79, 0x1, 0x35, 0x7, 0x7C, 0x7, 0x7C, 0x1, 0x36, 0x7, 0x8D, 0x7, 0x8D, 0x1, 0x37, 0x7, 0x93, 0x7, 0x94, 0x1, 0x38, 0x7, 0xA6, 0x7, 0xA6, 0x1, 0x3A, 0x7, 0xA9, 0x7, 0xA9, 0x1, 0x3B, 0x7, 0xAB, 0x7, 0xAB, 0x1, 0x3C, 0x7, 0xAE, 0x7, 0xB1, 0x1, 0x3D, 0x7, 0xDE, 0x7, 0xE2, 0x1, 0x41, 0x7, 0xEE, 0x7, 0xF3, 0x1, 0x46, 0x7, 0xF5, 0x7, 0xF5, 0x1, 0x4C, 0x7, 0xF7, 0x7, 0xF8, 0x1, 0x4D, 0x7, 0xFA, 0x7, 0xFA, 0x1, 0x4F, 0x8, 0xAD, 0x8, 0xB0, 0x1, 0x50, 0x8, 0xB3, 0x8, 0xB8, 0x1, 0x54, 0x8, 0xC8, 0x9, 0x30, 0x1, 0x5A, 0x9, 0x33, 0x9, 0x33, 0x1, 0xC3, 0x9, 0x35, 0x9, 0x78, 0x1, 0xC4, 0x9, 0x7D, 0x9, 0xD4, 0x2, 0x8, 0xA, 0x12, 0xA, 0x13, 0x2, 0x60, 0xA, 0x16, 0xA, 0x17, 0x2, 0x62, 0xA, 0x19, 0xA, 0x19, 0x2, 0x64, 0xA, 0x1C, 0xA, 0x1D, 0x2, 0x65, 0xA, 0x22, 0xA, 0x29, 0x2, 0x67, 0xA, 0x2F, 0xA, 0x32, 0x2, 0x6F, 0xA, 0x6E, 0xA, 0xC5, 0x2, 0x73, 0xA, 0xE7, 0xA, 0xE7, 0x2, 0xCB, 0xA, 0xEE, 0xB, 0x2, 0x2, 0xCC, 0xB, 0x5, 0xB, 0xC, 0x2, 0xE1, 0xB, 0x10, 0xB, 0x3B, 0x2, 0xE9, 0xB, 0x4D, 0xB, 0xD7, 0x3, 0x15, 0xC, 0xB7, 0xC, 0xCE, 0x3, 0xA0, 0xC, 0xD0, 0xC, 0xD4, 0x3, 0xB8, 0xC, 0xD6, 0xC, 0xD7, 0x3, 0xBD, 0xC, 0xD9, 0xC, 0xD9, 0x3, 0xBF, 0xC, 0xDB, 0xC, 0xDD, 0x3, 0xC0, 0xC, 0xDF, 0xC, 0xE7, 0x3, 0xC3, 0xC, 0xEB, 0xC, 0xEB, 0x3, 0xCC, 0xC, 0xED, 0xC, 0xFC, 0x3, 0xCD, 0xD, 0x12, 0xD, 0x12, 0x3, 0xDD, 0xD, 0x1D, 0xD, 0x1E, 0x3, 0xDE, 0x3, 0xE0, 0xD, 0xE6, 0xD, 0xEC, 0xC, 0x8A, 0xE, 0x10, 0xE, 0x4C, 0x10, 0x92, 0xE, 0x82, 0xE, 0x9A, 0xD, 0xDA, 0xC, 0x9C, 0xE, 0xB2, 0xD, 0xEC, 0xE, 0xF4, 0xF, 0xC, 0xF, 0x3C, 0xF, 0x48, 0x7, 0xC2, 0xF, 0x54, 0xF, 0x78, 0xF, 0x90, 0xF, 0xDE, 0xF, 0xEA, 0x10, 0x2, 0x10, 0x14, 0x10, 0x20, 0x10, 0x26, 0x10, 0x62, 0xD, 0xF2, 0xD, 0x5C, 0xE, 0x16, 0xE, 0x52, 0xE, 0x7C, 0xE, 0x88, 0xE, 0xA0, 0xD, 0xE0, 0xC, 0x42, 0xE, 0xB8, 0xD, 0xE0, 0xE, 0xFA, 0xF, 0x12, 0xF, 0x42, 0xF, 0x4E, 0x7, 0xC8, 0xF, 0x5A, 0xF, 0x7E, 0x10, 0x50, 0xF, 0xE4, 0xF, 0xF0, 0x10, 0x56, 0x10, 0x1A, 0x10, 0x5C, 0x10, 0x2C, 0xE, 0x16, 0x7, 0xCE, 0xD, 0xE0, 0x7, 0xD4, 0xD, 0xEC, 0x7, 0xDA, 0xF, 0xC, 0xF, 0x12, 0x7, 0xE0, 0x7, 0xE6, 0xD, 0xE0, 0xD, 0xF2, 0x7, 0xEC, 0x8, 0x7C, 0x7, 0xF2, 0x7, 0xF8, 0xD, 0x8C, 0xD, 0x92, 0x7, 0xFE, 0xD, 0xB0, 0xF, 0xE4, 0x10, 0x26, 0x10, 0x2C, 0x8, 0x4, 0x8, 0xA, 0xD, 0xEC, 0x8, 0x10, 0x8, 0x16, 0xC, 0x9C, 0x8, 0x1C, 0xF, 0x54, 0x8, 0x22, 0x8, 0x28, 0x8, 0x2E, 0x8, 0x34, 0x8, 0x3A, 0x8, 0x40, 0x8, 0x46, 0x8, 0x4C, 0x8, 0x52, 0x8, 0x58, 0xE, 0x16, 0x8, 0x5E, 0xD, 0xD4, 0xD, 0xD4, 0xF, 0xE4, 0x8, 0x64, 0x8, 0x64, 0x8, 0x6A, 0x8, 0x70, 0x8, 0x76, 0x8, 0x76, 0x8, 0x7C, 0xB, 0x4C, 0x8, 0x82, 0xB, 0xB2, 0xA, 0x2C, 0xB, 0x4C, 0xB, 0x34, 0x8, 0x88, 0x8, 0x8E, 0x8, 0x94, 0xA, 0xC8, 0x8, 0x9A, 0x8, 0xA0, 0x8, 0xA6, 0x8, 0xAC, 0x8, 0xB2, 0x8, 0xB8, 0x8, 0xBE, 0x8, 0xC4, 0x8, 0xCA, 0x8, 0xD0, 0x8, 0xD6, 0x8, 0xDC, 0x8, 0xDC, 0x8, 0xE2, 0x8, 0xE8, 0x8, 0xE8, 0x8, 0xEE, 0x8, 0xF4, 0x8, 0xFA, 0x9, 0x0, 0x9, 0x6, 0x9, 0xC, 0x9, 0xC, 0x9, 0x12, 0x9, 0x18, 0xB, 0xA, 0x9, 0x1E, 0x9, 0x24, 0xA, 0x9E, 0x9, 0x2A, 0x9, 0x72, 0xA, 0x62, 0x9, 0xAE, 0x9, 0x30, 0x9, 0x36, 0x9, 0x3C, 0x9, 0x42, 0x9, 0x42, 0x9, 0x48, 0xA, 0x8C, 0x9, 0x4E, 0xB, 0xD6, 0x9, 0x54, 0x9, 0x5A, 0x9, 0x60, 0x9, 0x66, 0xB, 0x88, 0x9, 0x6C, 0xB, 0x9A, 0x9, 0x72, 0xF, 0xE4, 0x9, 0x78, 0x9, 0x7E, 0x9, 0x84, 0x9, 0x8A, 0xB, 0x94, 0x9, 0x90, 0x9, 0x96, 0x9, 0x9C, 0x9, 0xA2, 0x9, 0xA8, 0x9, 0xAE, 0x9, 0xB4, 0x9, 0xB4, 0x9, 0xBA, 0x9, 0xC0, 0xD, 0xCE, 0x9, 0xC6, 0x9, 0xCC, 0x9, 0xD2, 0x9, 0xD8, 0x9, 0xDE, 0x9, 0xE4, 0x9, 0xEA, 0xC, 0x18, 0x9, 0xF0, 0x9, 0xF6, 0x9, 0xFC, 0xA, 0x2, 0xA, 0x8, 0xA, 0xE, 0xA, 0x1A, 0xA, 0x14, 0xD, 0xEC, 0xA, 0x1A, 0xA, 0xC8, 0x10, 0xD4, 0xA, 0x20, 0xA, 0x26, 0xA, 0x2C, 0xA, 0x32, 0xA, 0x38, 0xA, 0x3E, 0xA, 0x44, 0xA, 0x4A, 0xA, 0x50, 0xA, 0x56, 0xA, 0x5C, 0xA, 0x62, 0xA, 0x68, 0xA, 0x6E, 0xA, 0x74, 0xA, 0x7A, 0xA, 0x80, 0xA, 0x86, 0xA, 0x8C, 0xA, 0x92, 0xA, 0x98, 0xA, 0x9E, 0xA, 0xA4, 0xA, 0xAA, 0xA, 0xB0, 0xA, 0xC2, 0xA, 0xB6, 0xA, 0xBC, 0xA, 0xC2, 0xA, 0xC8, 0xA, 0xCE, 0xA, 0xD4, 0xA, 0xDA, 0xA, 0xE0, 0xA, 0xE6, 0xA, 0xEC, 0xA, 0xF2, 0xA, 0xF8, 0xA, 0xFE, 0xD, 0x8C, 0xB, 0x4, 0xB, 0xA, 0xB, 0xA, 0xB, 0x10, 0xB, 0x16, 0xB, 0x1C, 0xB, 0x22, 0xB, 0x28, 0xB, 0x2E, 0xB, 0x34, 0xB, 0x3A, 0xD, 0x8C, 0xB, 0x40, 0xB, 0x46, 0xB, 0x4C, 0xB, 0x52, 0xE, 0x88, 0xB, 0x58, 0xB, 0x5E, 0xB, 0x64, 0xB, 0x6A, 0xB, 0x70, 0xB, 0x76, 0xB, 0x7C, 0xB, 0x82, 0xB, 0x88, 0xB, 0x8E, 0xB, 0x94, 0xB, 0x9A, 0xB, 0xA0, 0xB, 0xA6, 0xB, 0xAC, 0xB, 0xB2, 0xB, 0xB8, 0xB, 0xBE, 0xB, 0xC4, 0xB, 0xCA, 0xB, 0xD0, 0xB, 0xD6, 0xB, 0xDC, 0xB, 0xE2, 0xB, 0xE8, 0xB, 0xEE, 0xB, 0xF4, 0xB, 0xFA, 0x10, 0x6E, 0x10, 0xEC, 0x10, 0xB0, 0x10, 0xE6, 0xC, 0x0, 0xD, 0x56, 0x10, 0xAA, 0x10, 0x7A, 0xD, 0x3E, 0xC, 0x6, 0x10, 0xA4, 0x10, 0xDA, 0x10, 0x74, 0x10, 0x9E, 0xD, 0x2C, 0x10, 0x86, 0x10, 0xCE, 0x10, 0x80, 0x10, 0xBC, 0xD, 0xE, 0xC, 0xC, 0x10, 0x68, 0x10, 0xB6, 0xC, 0x12, 0xC, 0x18, 0x10, 0xC8, 0xC, 0x1E, 0x10, 0x98, 0xC, 0x24, 0xE, 0xB8, 0xD, 0x8, 0x10, 0xC2, 0x10, 0x92, 0x10, 0x8C, 0xC, 0x2A, 0xC, 0x30, 0xD, 0xE6, 0xC, 0x36, 0xC, 0x3C, 0xC, 0x42, 0xC, 0x5A, 0xC, 0x48, 0xC, 0x4E, 0xC, 0x60, 0xC, 0x54, 0xD, 0xE0, 0xC, 0x5A, 0xD, 0xE0, 0xC, 0x60, 0xE, 0x16, 0xC, 0x66, 0xC, 0x6C, 0xC, 0x72, 0xC, 0x78, 0x10, 0xD4, 0xC, 0x7E, 0x10, 0xDA, 0xC, 0x84, 0x10, 0x74, 0xE, 0x10, 0xE, 0x10, 0xE, 0xA0, 0xF, 0x90, 0x10, 0x50, 0xD, 0xE6, 0xD, 0xE6, 0xD, 0xE6, 0xD, 0xE6, 0xD, 0xE6, 0xD, 0xE6, 0xD, 0xE6, 0xE, 0x4, 0xE, 0x4C, 0xE, 0x4C, 0xE, 0x4C, 0xE, 0x4C, 0xD, 0xDA, 0xD, 0xDA, 0xD, 0xDA, 0xD, 0xDA, 0xF, 0xC, 0xF, 0x3C, 0xF, 0x3C, 0xF, 0x3C, 0xF, 0x3C, 0xF, 0x3C, 0xF, 0xDE, 0xF, 0xDE, 0xF, 0xDE, 0xF, 0xDE, 0x10, 0x20, 0x10, 0x62, 0x10, 0x62, 0x10, 0x62, 0x10, 0x62, 0x10, 0x62, 0x10, 0x62, 0x10, 0x62, 0xE, 0xA, 0xE, 0x52, 0xE, 0x52, 0xE, 0x52, 0xE, 0x52, 0xD, 0xE0, 0xD, 0xE0, 0xD, 0xE0, 0xD, 0xE0, 0xF, 0x12, 0xF, 0x42, 0xF, 0x42, 0xF, 0x42, 0xF, 0x42, 0xF, 0x42, 0xF, 0xE4, 0xF, 0xE4, 0xF, 0xE4, 0xF, 0xE4, 0x10, 0x5C, 0x10, 0x5C, 0xD, 0xE6, 0x10, 0x62, 0xD, 0xE6, 0x10, 0x62, 0xD, 0xE6, 0x10, 0x62, 0xC, 0x8A, 0xD, 0x5C, 0xC, 0x8A, 0xD, 0x5C, 0xC, 0x8A, 0xD, 0x5C, 0xC, 0x8A, 0xD, 0x5C, 0xE, 0x10, 0xE, 0x16, 0xE, 0x4C, 0xE, 0x52, 0xE, 0x4C, 0xE, 0x52, 0xE, 0x4C, 0xE, 0x52, 0xE, 0x4C, 0xE, 0x52, 0xE, 0x4C, 0xE, 0x52, 0xE, 0x82, 0xE, 0x88, 0xE, 0x82, 0xE, 0x88, 0xE, 0x82, 0xE, 0x88, 0xC, 0x90, 0xE, 0x88, 0xE, 0x9A, 0xE, 0xA0, 0xD, 0xDA, 0xD, 0xE0, 0xD, 0xDA, 0xD, 0xE0, 0xD, 0xDA, 0xD, 0xE0, 0xC, 0x96, 0xD, 0xE0, 0xD, 0xDA, 0xC, 0x9C, 0xC, 0xA2, 0xC, 0xA8, 0xD, 0xEC, 0xD, 0xE0, 0xC, 0xAE, 0xC, 0xB4, 0xD, 0xEC, 0xD, 0xE0, 0xD, 0xEC, 0xD, 0xE0, 0xF, 0xC, 0xF, 0x12, 0xC, 0xBA, 0xC, 0xC0, 0xF, 0xC, 0xF, 0x12, 0xF, 0x12, 0xF, 0x3C, 0xF, 0x42, 0xF, 0x3C, 0xF, 0x42, 0xF, 0x3C, 0xF, 0x42, 0xF, 0x54, 0xF, 0x5A, 0xC, 0xC6, 0xC, 0xCC, 0xF, 0x54, 0xF, 0x5A, 0xF, 0x78, 0xF, 0x7E, 0xF, 0x78, 0xF, 0x7E, 0xC, 0xD2, 0xC, 0xD8, 0xC, 0xDE, 0xC, 0xE4, 0xF, 0x78, 0xF, 0x7E, 0xC, 0xEA, 0xC, 0xF0, 0xC, 0xF6, 0xC, 0xFC, 0xF, 0x90, 0x10, 0x50, 0xF, 0xDE, 0xF, 0xE4, 0xF, 0xDE, 0xF, 0xE4, 0xF, 0xDE, 0xF, 0xE4, 0xF, 0xDE, 0xF, 0xE4, 0xF, 0xDE, 0xF, 0xE4, 0xF, 0xDE, 0xF, 0xE4, 0x10, 0x2, 0x10, 0x56, 0x10, 0x20, 0x10, 0x5C, 0x10, 0x20, 0x10, 0x26, 0x10, 0x2C, 0x10, 0x26, 0x10, 0x2C, 0x10, 0x26, 0x10, 0x2C, 0xD, 0x8, 0xD, 0x8, 0x10, 0xAA, 0x10, 0x8C, 0x10, 0x8C, 0x10, 0x8C, 0x10, 0x8C, 0x10, 0x8C, 0x10, 0x8C, 0x10, 0x8C, 0xD, 0x2, 0x10, 0x98, 0x10, 0x98, 0x10, 0x98, 0x10, 0x98, 0x10, 0x80, 0x10, 0x80, 0x10, 0x80, 0x10, 0x80, 0x10, 0x74, 0x10, 0xDA, 0x10, 0xDA, 0x10, 0xDA, 0x10, 0xDA, 0x10, 0xDA, 0xD, 0x56, 0xD, 0x56, 0xD, 0x56, 0xD, 0x56, 0x10, 0xEC, 0x10, 0x8C, 0x10, 0x8C, 0x10, 0x8C, 0x10, 0xC2, 0x10, 0xC2, 0x10, 0xC2, 0x10, 0xC2, 0xD, 0x8, 0x10, 0x98, 0x10, 0x98, 0x10, 0x98, 0x10, 0x98, 0x10, 0x98, 0xD, 0xE, 0xD, 0xE, 0xD, 0xE, 0xD, 0x14, 0x10, 0xBC, 0x10, 0x80, 0x10, 0x80, 0x10, 0x80, 0xD, 0x1A, 0x10, 0x80, 0x10, 0xCE, 0xD, 0x20, 0xD, 0x2C, 0xD, 0x26, 0xD, 0x2C, 0xD, 0x2C, 0x10, 0x74, 0xD, 0x32, 0x10, 0x74, 0x10, 0xDA, 0x10, 0xDA, 0x10, 0xDA, 0x11, 0x22, 0xD, 0x3E, 0xD, 0x38, 0xD, 0x3E, 0x10, 0x7A, 0x10, 0x7A, 0xD, 0x44, 0x10, 0x7A, 0xD, 0x4A, 0x10, 0xAA, 0xD, 0x50, 0xD, 0x56, 0xD, 0x56, 0xD, 0x56, 0xD, 0x56, 0xD, 0x56, 0xD, 0x56, 0x10, 0xE6, 0x10, 0xEC, 0x10, 0xEC, 0x10, 0x6E, 0x10, 0x6E, 0x10, 0x6E, 0x10, 0x62, 0xE, 0x52, 0xF, 0x4E, 0xD, 0x5C, 0x10, 0x1A, 0xF, 0x7E, 0xD, 0xE0, 0x10, 0x2, 0x10, 0x56, 0x10, 0x2, 0x10, 0x56, 0x10, 0x2, 0x10, 0x56, 0x10, 0x20, 0x10, 0x5C, 0xE, 0xF4, 0xE, 0xFA, 0xD, 0xE6, 0x10, 0x62, 0xD, 0x62, 0xD, 0x68, 0xD, 0xE6, 0x10, 0x62, 0xD, 0xE6, 0x10, 0x62, 0xD, 0xE6, 0x10, 0x62, 0xD, 0xE6, 0x10, 0x62, 0xD, 0xE6, 0x10, 0x62, 0xD, 0x62, 0xD, 0x68, 0xD, 0xE6, 0x10, 0x62, 0xD, 0xE6, 0x10, 0x62, 0xD, 0xE6, 0x10, 0x62, 0xD, 0xE6, 0x10, 0x62, 0xD, 0x62, 0xD, 0x68, 0xD, 0x6E, 0xD, 0x74, 0xE, 0x4C, 0xE, 0x52, 0xE, 0x4C, 0xE, 0x52, 0xE, 0x4C, 0xE, 0x52, 0xE, 0x4C, 0xE, 0x52, 0xE, 0x4C, 0xE, 0x52, 0xE, 0x4C, 0xE, 0x52, 0xD, 0x6E, 0xD, 0x74, 0xD, 0xDA, 0xD, 0xE0, 0xD, 0x7A, 0x11, 0x34, 0xD, 0x80, 0xD, 0x86, 0xF, 0x3C, 0xF, 0x42, 0xF, 0x3C, 0xF, 0x42, 0xF, 0x3C, 0xF, 0x42, 0xF, 0x3C, 0xF, 0x42, 0xF, 0x3C, 0xF, 0x42, 0xD, 0x80, 0xD, 0x86, 0xD, 0x8C, 0xD, 0x92, 0xD, 0x8C, 0xD, 0x92, 0xD, 0x8C, 0xD, 0x92, 0xD, 0x8C, 0xD, 0x92, 0xD, 0x98, 0xD, 0x9E, 0xD, 0xA4, 0xD, 0xAA, 0xF, 0xDE, 0xF, 0xE4, 0xD, 0xB0, 0xF, 0xE4, 0xD, 0xB0, 0xF, 0xE4, 0xD, 0xB0, 0xF, 0xE4, 0xD, 0xB0, 0xF, 0xE4, 0xD, 0xB6, 0xD, 0xBC, 0xD, 0xC2, 0xD, 0xC8, 0x10, 0x20, 0x10, 0x5C, 0x10, 0x20, 0x10, 0x5C, 0xD, 0xCE, 0xD, 0xE6, 0x10, 0x62, 0xD, 0xDA, 0xD, 0xE0, 0xF, 0x3C, 0xF, 0x42, 0xF, 0xDE, 0xF, 0xE4, 0xF, 0xDE, 0xF, 0xE4, 0xF, 0xDE, 0xF, 0xE4, 0xF, 0xDE, 0xF, 0xE4, 0xF, 0xDE, 0xF, 0xE4, 0xD, 0xD4, 0xD, 0xE6, 0x10, 0x62, 0xD, 0xE6, 0x10, 0x62, 0xE, 0x82, 0xE, 0x88, 0xE, 0xB2, 0xE, 0xB8, 0x11, 0xA, 0x11, 0x10, 0x11, 0xA, 0x11, 0x10, 0xE, 0x82, 0xE, 0x88, 0xF, 0xC, 0xF, 0x12, 0xD, 0xE6, 0x10, 0x62, 0xD, 0xE6, 0x10, 0x62, 0xE, 0x4C, 0xE, 0x52, 0xE, 0x4C, 0xE, 0x52, 0xD, 0xDA, 0xD, 0xE0, 0xD, 0xDA, 0xD, 0xE0, 0xF, 0x3C, 0xF, 0x42, 0xF, 0x3C, 0xF, 0x42, 0xF, 0x54, 0xF, 0x5A, 0xF, 0x54, 0xF, 0x5A, 0xF, 0xDE, 0xF, 0xE4, 0xF, 0xDE, 0xF, 0xE4, 0xE, 0x9A, 0xE, 0xA0, 0xD, 0xE6, 0x10, 0x62, 0xE, 0x70, 0xE, 0x76, 0xF, 0x3C, 0xF, 0x42, 0xF, 0x3C, 0xF, 0x42, 0xF, 0x3C, 0xF, 0x42, 0xF, 0x3C, 0xF, 0x42, 0x10, 0x20, 0x10, 0x5C, 0xD, 0xEC, 0xD, 0xF2, 0xE, 0xD6, 0xD, 0xF8, 0xE, 0xDC, 0xD, 0xFE, 0xE, 0x4, 0xE, 0xA, 0xE, 0x10, 0xE, 0x16, 0xE, 0x1C, 0xE, 0x22, 0xE, 0x28, 0xE, 0x2E, 0xE, 0x34, 0xE, 0x3A, 0xE, 0x40, 0xE, 0x46, 0xE, 0x4C, 0xE, 0x52, 0xE, 0x4C, 0xE, 0x52, 0xE, 0x58, 0xE, 0x5E, 0xE, 0x64, 0xE, 0x6A, 0xE, 0x70, 0xE, 0x76, 0x10, 0x92, 0xE, 0x7C, 0xE, 0x82, 0xE, 0x88, 0xE, 0x9A, 0xE, 0xA0, 0xE, 0x8E, 0xE, 0x94, 0xE, 0x9A, 0xE, 0xA0, 0xE, 0xA6, 0xE, 0xAC, 0xE, 0xB2, 0xE, 0xB8, 0xE, 0xBE, 0xE, 0xC4, 0xE, 0xCA, 0xE, 0xD0, 0xE, 0xD6, 0x11, 0x34, 0xE, 0xD6, 0x11, 0x34, 0xE, 0xDC, 0xE, 0xE2, 0xE, 0xE8, 0xE, 0xEE, 0xE, 0xF4, 0xE, 0xFA, 0xF, 0x0, 0xF, 0x6, 0xF, 0xC, 0xF, 0x12, 0xF, 0x18, 0xF, 0x1E, 0xF, 0x24, 0xF, 0x2A, 0xF, 0x30, 0xF, 0x36, 0xF, 0x3C, 0xF, 0x42, 0xF, 0x3C, 0xF, 0x42, 0xF, 0x3C, 0xF, 0x42, 0xF, 0x3C, 0xF, 0x42, 0xF, 0x48, 0xF, 0x4E, 0xF, 0x48, 0xF, 0x4E, 0xF, 0x54, 0xF, 0x5A, 0xF, 0x60, 0xF, 0x66, 0xF, 0x60, 0xF, 0x66, 0xF, 0x6C, 0xF, 0x72, 0xF, 0x78, 0xF, 0x7E, 0xF, 0x84, 0xF, 0x8A, 0xF, 0x78, 0xF, 0x7E, 0xF, 0x78, 0xF, 0x7E, 0xF, 0x84, 0xF, 0x8A, 0xF, 0x90, 0x10, 0x50, 0xF, 0x96, 0xF, 0x9C, 0xF, 0xA2, 0xF, 0xA8, 0xF, 0xAE, 0xF, 0xB4, 0xF, 0xBA, 0xF, 0xC0, 0xF, 0xC6, 0xF, 0xCC, 0xF, 0xD2, 0xF, 0xD8, 0xF, 0xDE, 0xF, 0xE4, 0xF, 0xDE, 0xF, 0xE4, 0xF, 0xEA, 0xF, 0xF0, 0xF, 0xF6, 0xF, 0xFC, 0x10, 0x2, 0x10, 0x56, 0x10, 0x8, 0x10, 0xE, 0x10, 0x14, 0x10, 0x1A, 0x10, 0x14, 0x10, 0x1A, 0x10, 0x20, 0x10, 0x5C, 0x10, 0x26, 0x10, 0x2C, 0x10, 0x32, 0x10, 0x38, 0x10, 0x3E, 0x10, 0x44, 0x10, 0x4A, 0x10, 0x50, 0x10, 0x56, 0x10, 0x5C, 0x10, 0x62, 0x10, 0x8C, 0x10, 0x98, 0x10, 0xBC, 0x10, 0x80, 0x10, 0xDA, 0x10, 0xEC, 0x10, 0x68, 0x10, 0x8C, 0x10, 0x92, 0x10, 0x98, 0x10, 0x6E, 0x10, 0xBC, 0x10, 0x80, 0x10, 0x86, 0x10, 0x9E, 0x10, 0x74, 0x10, 0xDA, 0x10, 0xA4, 0x10, 0xAA, 0x10, 0xEC, 0x10, 0xB0, 0x10, 0x80, 0x10, 0xEC, 0x10, 0x98, 0x10, 0x7A, 0x10, 0x80, 0x10, 0x80, 0x10, 0xCE, 0x10, 0x86, 0x10, 0x8C, 0x10, 0x92, 0x10, 0x98, 0x10, 0x9E, 0x10, 0xBC, 0x10, 0xDA, 0x10, 0xA4, 0x10, 0xC2, 0x10, 0xAA, 0x10, 0xB0, 0x10, 0xB6, 0x10, 0xBC, 0x10, 0xC2, 0x10, 0xEC, 0x10, 0xC8, 0x10, 0xCE, 0x10, 0xD4, 0x10, 0xDA, 0x10, 0xE0, 0x10, 0xE6, 0x10, 0xE6, 0x10, 0xE6, 0x10, 0xEC, 0x10, 0xF2, 0x10, 0xF8, 0x10, 0xFE, 0x11, 0x4, 0x11, 0xA, 0x11, 0x10, 0x11, 0x16, 0x11, 0x1C, 0x11, 0x22, 0x11, 0x28, 0x11, 0x2E, 0x11, 0x34, 0x0, 0x1, 0x2, 0xBA, 0xFF, 0xF6, 0x0, 0x1, 0x3, 0x8C, 0xFE, 0x69, 0x0, 0x1, 0x2, 0xDF, 0x0, 0xA, 0x0, 0x1, 0x2, 0x54, 0x0, 0xA, 0x0, 0x1, 0x1, 0x28, 0x0, 0xA, 0x0, 0x1, 0x3, 0xC9, 0x0, 0x0, 0x0, 0x1, 0x3, 0xA7, 0xFF, 0xFC, 0x0, 0x1, 0x2, 0xB8, 0x0, 0x0, 0x0, 0x1, 0x1, 0x63, 0x0, 0x7, 0x0, 0x1, 0x1, 0x63, 0x0, 0xA, 0x0, 0x1, 0x2, 0x4A, 0x0, 0xA, 0x0, 0x1, 0x2, 0xB0, 0xFF, 0xF9, 0x0, 0x1, 0x2, 0x33, 0xFE, 0x19, 0x0, 0x1, 0x2, 0x86, 0x0, 0xA, 0x0, 0x1, 0x3, 0x22, 0x0, 0x0, 0x0, 0x1, 0x1, 0x5A, 0xFE, 0x35, 0x0, 0x1, 0x1, 0x50, 0x0, 0xA, 0x0, 0x1, 0x2, 0xCB, 0x0, 0x10, 0x0, 0x1, 0x3, 0xC, 0xFF, 0x79, 0x0, 0x1, 0x2, 0x2A, 0x0, 0x0, 0x0, 0x1, 0x2, 0x1, 0x0, 0x0, 0x0, 0x1, 0x2, 0x65, 0x0, 0x0, 0x0, 0x1, 0x2, 0x74, 0xFF, 0xFC, 0x0, 0x1, 0x1, 0xF5, 0x0, 0x0, 0x0, 0x1, 0x2, 0x4E, 0x0, 0x0, 0x0, 0x1, 0x2, 0x5D, 0xFE, 0x41, 0x0, 0x1, 0x1, 0xF2, 0x0, 0x0, 0x0, 0x1, 0x2, 0x23, 0x0, 0x0, 0x0, 0x1, 0x2, 0x25, 0x0, 0x0, 0x0, 0x1, 0x1, 0x89, 0xFE, 0x41, 0x0, 0x1, 0x2, 0x2B, 0xFE, 0x41, 0x0, 0x1, 0x2, 0x72, 0x0, 0x0, 0x0, 0x1, 0x2, 0x90, 0x0, 0x0, 0x0, 0x1, 0x0, 0xF1, 0x0, 0x0, 0x0, 0x1, 0x1, 0x6A, 0x0, 0x0, 0x0, 0x1, 0x1, 0x7E, 0x0, 0x0, 0x0, 0x1, 0x1, 0x31, 0xFE, 0x41, 0x0, 0x1, 0x2, 0x75, 0xFE, 0x41, 0x0, 0x1, 0x3, 0x80, 0x0, 0x0, 0x0, 0x1, 0x3, 0x80, 0xFE, 0x41, 0x0, 0x1, 0x3, 0x85, 0xFE, 0x41, 0x0, 0x1, 0x2, 0xA2, 0xFE, 0x41, 0x0, 0x1, 0x2, 0x3E, 0xFE, 0x41, 0x0, 0x1, 0x2, 0x42, 0x0, 0x0, 0x0, 0x1, 0x3, 0x8E, 0x0, 0x0, 0x0, 0x1, 0x3, 0x48, 0x0, 0x0, 0x0, 0x1, 0x2, 0x6A, 0xFE, 0x41, 0x0, 0x1, 0x0, 0xE8, 0x0, 0x0, 0x0, 0x1, 0x0, 0xE8, 0xFE, 0x41, 0x0, 0x1, 0x1, 0xED, 0xFE, 0x41, 0x0, 0x1, 0x0, 0xFA, 0x0, 0x0, 0x0, 0x1, 0x1, 0x75, 0xFE, 0x41, 0x0, 0x1, 0x2, 0x1B, 0x0, 0x0, 0x0, 0x1, 0x2, 0x50, 0x0, 0x0, 0x0, 0x1, 0x2, 0x17, 0xFE, 0x41, 0x0, 0x1, 0x0, 0xD4, 0xFE, 0x41, 0x0, 0x1, 0x2, 0x64, 0xFE, 0x41, 0x0, 0x1, 0x1, 0x66, 0xFE, 0x41, 0x0, 0x1, 0x1, 0xB6, 0xFE, 0x41, 0x0, 0x1, 0x2, 0x9C, 0x0, 0x0, 0x0, 0x1, 0x2, 0x30, 0x0, 0x0, 0x0, 0x1, 0x2, 0x1E, 0x0, 0x0, 0x0, 0x1, 0x1, 0xF4, 0xFE, 0x41, 0x0, 0x1, 0x1, 0xEC, 0xFE, 0x41, 0x0, 0x1, 0x2, 0x3A, 0xFE, 0x41, 0x0, 0x1, 0x1, 0xF9, 0x0, 0x0, 0x0, 0x1, 0x2, 0x0, 0x0, 0x0, 0x0, 0x1, 0x2, 0xC2, 0x0, 0x0, 0x0, 0x1, 0x2, 0x17, 0x0, 0x0, 0x0, 0x1, 0x2, 0x5C, 0x0, 0x0, 0x0, 0x1, 0x2, 0x49, 0xFE, 0x41, 0x0, 0x1, 0x2, 0x1A, 0x0, 0x0, 0x0, 0x1, 0x1, 0xFA, 0x0, 0x0, 0x0, 0x1, 0x5, 0xA4, 0x0, 0x0, 0x0, 0x1, 0x5, 0xB, 0xFE, 0x41, 0x0, 0x1, 0x5, 0x85, 0xFE, 0x41, 0x0, 0x1, 0x3, 0xCD, 0x0, 0x0, 0x0, 0x1, 0x4, 0x47, 0x0, 0x0, 0x0, 0x1, 0x4, 0xA9, 0xFE, 0x41, 0x0, 0x1, 0x3, 0x66, 0x0, 0x0, 0x0, 0x1, 0x3, 0x19, 0x0, 0x0, 0x0, 0x1, 0x1, 0xE3, 0x0, 0x0, 0x0, 0x1, 0x1, 0xEE, 0x0, 0x0, 0x0, 0x1, 0x2, 0xAC, 0xFE, 0x41, 0x0, 0x1, 0x2, 0xA9, 0x0, 0xA, 0x0, 0x1, 0x2, 0x12, 0xFF, 0xF6, 0x0, 0x1, 0x3, 0x4A, 0xFF, 0xF6, 0x0, 0x1, 0x2, 0x67, 0xFF, 0xF6, 0x0, 0x1, 0x2, 0xCB, 0x0, 0xA, 0x0, 0x1, 0x2, 0xE, 0xFF, 0xF7, 0x0, 0x1, 0x2, 0x29, 0x0, 0xA, 0x0, 0x1, 0x2, 0x9A, 0xFF, 0xF6, 0x0, 0x1, 0x2, 0x47, 0xFF, 0xF6, 0x0, 0x1, 0x2, 0x4D, 0xFF, 0xF6, 0x0, 0x1, 0x3, 0xC1, 0xFF, 0xFE, 0x0, 0x1, 0x2, 0xC9, 0x0, 0x3, 0x0, 0x1, 0x2, 0xA2, 0x0, 0x0, 0x0, 0x1, 0x2, 0x5C, 0x0, 0xA, 0x0, 0x1, 0x1, 0x11, 0x0, 0xA, 0x0, 0x1, 0x2, 0x21, 0xFF, 0xF6, 0x0, 0x1, 0x2, 0xA4, 0xFF, 0xF6, 0x0, 0x1, 0x3, 0x4D, 0x0, 0x0, 0x0, 0x1, 0x2, 0x71, 0x0, 0x0, 0x0, 0x1, 0x2, 0x3D, 0x0, 0x0, 0x0, 0x1, 0x2, 0x44, 0x0, 0x0, 0x0, 0x1, 0x2, 0xA7, 0x0, 0x0, 0x0, 0x1, 0x2, 0x4B, 0x0, 0x0, 0x0, 0x1, 0x2, 0xF, 0x0, 0x0, 0x0, 0x1, 0x1, 0x5, 0xFE, 0x41, 0x0, 0x1, 0x1, 0xD2, 0x0, 0x0, 0x0, 0x1, 0x2, 0xB, 0x0, 0x0, 0x0, 0x1, 0x2, 0x24, 0x0, 0x0, 0x0, 0x1, 0x2, 0xF6, 0x0, 0x0, 0x0, 0x1, 0x2, 0x54, 0x0, 0x0, 0x0, 0x1, 0x2, 0x4D, 0x0, 0x0, 0x0, 0x1, 0x1, 0xF6, 0x0, 0x0, 0x0, 0x1, 0x3, 0x73, 0x0, 0x0, 0x0, 0x1, 0x1, 0xF3, 0x0, 0x0, 0x0, 0x1, 0x2, 0x4A, 0x0, 0x0, 0x0, 0x1, 0x2, 0x34, 0x0, 0x0, 0x0, 0x1, 0x2, 0x3F, 0x0, 0x0, 0x0, 0x1, 0x1, 0xFB, 0x0, 0x0, 0x0, 0x1, 0x2, 0x79, 0x0, 0x0, 0x0, 0x1, 0x1, 0xFE, 0x0, 0x0, 0x0, 0x1, 0x2, 0xF8, 0x0, 0x0, 0x0, 0x1, 0x1, 0xEA, 0x0, 0x0, 0x0, 0x1, 0x2, 0xD, 0x0, 0x0, 0x0, 0x1, 0x2, 0x67, 0x0, 0x0, 0x0, 0x1, 0x2, 0x7, 0x0, 0x0, 0x0, 0x1, 0x2, 0x4F, 0x0, 0x0, 0x0, 0x1, 0x2, 0x56, 0x0, 0x0, 0x0, 0x1, 0x2, 0x5B, 0x0, 0x0, 0x0, 0x1, 0x2, 0xB1, 0x0, 0x0, 0x0, 0x1, 0x2, 0x78, 0x0, 0x0, 0x0, 0x1, 0x3, 0x4E, 0x0, 0x0, 0x0, 0x1, 0x2, 0xFB, 0x0, 0x0, 0x0, 0x1, 0x2, 0x14, 0x0, 0x0, 0x0, 0x1, 0x1, 0xAA, 0x0, 0x0, 0x0, 0x1, 0x3, 0xF7, 0x0, 0x0, 0x0, 0x1, 0x1, 0x69, 0xFE, 0x41, 0x0, 0x1, 0x1, 0x75, 0x0, 0x0, 0x0, 0x1, 0x2, 0x36, 0x0, 0x0, 0x0, 0x1, 0x1, 0xF7, 0x0, 0x0, 0x0, 0x1, 0x2, 0x10, 0x0, 0x0, 0x0, 0x1, 0x2, 0x69, 0xFE, 0x41, 0x0, 0x1, 0x2, 0x23, 0xFE, 0x41, 0x0, 0x1, 0x4, 0xAB, 0x0, 0x0, 0x0, 0x1, 0x1, 0x63, 0x0, 0x0, 0x0, 0x1, 0x1, 0x3A, 0xFE, 0x41, 0x0, 0x1, 0x2, 0x76, 0x0, 0x0, 0x0, 0x1, 0x2, 0x81, 0xFE, 0x41, 0x0, 0x1, 0x2, 0x3D, 0xFE, 0x41, 0x0, 0x1, 0x1, 0x51, 0xFE, 0x41, 0x0, 0x1, 0x2, 0x22, 0xFE, 0x41, 0x0, 0x1, 0x1, 0x17, 0xFE, 0x41, 0x0, 0x1, 0x3, 0x83, 0xFE, 0x41, 0x0, 0x1, 0x2, 0x37, 0xFE, 0x41, 0x0, 0x1, 0x2, 0x88, 0xFE, 0x41, 0x0, 0x1, 0x0, 0xFD, 0xFE, 0x41, 0x0, 0x1, 0x2, 0x1C, 0xFE, 0x41, 0x0, 0x1, 0x1, 0x38, 0xFE, 0x41, 0x0, 0x1, 0x1, 0xFD, 0xFE, 0x41, 0x0, 0x1, 0x2, 0x5, 0xFE, 0x41, 0x0, 0x1, 0x2, 0x7, 0xFE, 0x41, 0x0, 0x1, 0x2, 0x30, 0xFE, 0x41, 0x0, 0x1, 0x2, 0x33, 0xFE, 0x41, 0x0, 0x1, 0x2, 0x18, 0xFE, 0x41, 0x0, 0x1, 0x2, 0x4D, 0xFE, 0x41, 0x0, 0x1, 0x2, 0x34, 0xFE, 0x41, 0x0, 0x1, 0x2, 0x24, 0xFE, 0x41, 0x0, 0x1, 0x2, 0x11, 0xFE, 0x41, 0x0, 0x1, 0x1, 0x9, 0xFE, 0x41, 0x0, 0x1, 0x1, 0xFE, 0xFE, 0x41, 0x0, 0x1, 0x0, 0xEC, 0xFE, 0x41, 0x0, 0x1, 0x2, 0x3B, 0xFE, 0x41, 0x0, 0x1, 0x2, 0x46, 0xFD, 0xDD, 0x0, 0x1, 0x1, 0x7F, 0x0, 0x7, 0x0, 0x1, 0x1, 0x7C, 0x0, 0xA, 0x0, 0x1, 0x1, 0x73, 0x0, 0x7, 0x0, 0x1, 0x1, 0x69, 0x0, 0xA, 0x0, 0x1, 0x3, 0x49, 0x0, 0x0, 0x0, 0x1, 0x2, 0x3B, 0x0, 0xA, 0x0, 0x1, 0x2, 0x5C, 0xFF, 0xF6, 0x0, 0x1, 0x1, 0xCF, 0x0, 0xA, 0x0, 0x1, 0x2, 0x5B, 0x0, 0xA, 0x0, 0x1, 0x2, 0xD7, 0xFF, 0xF6, 0x0, 0x1, 0x2, 0x52, 0x0, 0x0, 0x0, 0x1, 0x2, 0x72, 0x0, 0xA, 0x0, 0x1, 0x2, 0xDA, 0x0, 0x7, 0x0, 0x1, 0x2, 0xCE, 0x0, 0x0, 0x0, 0x1, 0x2, 0xEF, 0x0, 0xA, 0x0, 0x1, 0x4, 0x58, 0x0, 0xA, 0x0, 0x1, 0x0, 0xBE, 0xFE, 0x35, 0x0, 0x1, 0x1, 0x7A, 0xFE, 0x35, 0x0, 0x1, 0x1, 0x6A, 0x0, 0xA, 0x0, 0x1, 0x2, 0x43, 0xFE, 0x35, 0x0, 0x1, 0x1, 0x6, 0xFE, 0x35, 0x0, 0x1, 0x1, 0x11, 0xFE, 0x35, 0x0, 0x1, 0x2, 0x32, 0x0, 0xA, 0x0, 0x1, 0x2, 0xC4, 0xFE, 0x19, 0x0, 0x1, 0x3, 0x37, 0xFF, 0xF6, 0x0, 0x1, 0x2, 0x10, 0x0, 0x8, 0x0, 0x1, 0x1, 0xC6, 0x0, 0xA, 0x0, 0x1, 0x2, 0x7B, 0x0, 0xA, 0x0, 0x1, 0x2, 0xAA, 0xFF, 0xF9, 0x0, 0x1, 0x2, 0xD9, 0xFD, 0xF0, 0x0, 0x1, 0x1, 0x21, 0xFE, 0x59, 0x0, 0x1, 0x2, 0x0, 0xFF, 0xF6, 0x0, 0x1, 0x2, 0x92, 0xFE, 0x43, 0x0, 0x1, 0x2, 0x22, 0xFE, 0x2D, 0x0, 0x1, 0x2, 0x63, 0xFE, 0x1, 0x0, 0x1, 0x1, 0x6, 0xFE, 0x1, 0x0, 0x1, 0x2, 0xD1, 0xFD, 0xFE, 0x0, 0x1, 0x2, 0x37, 0xFE, 0x1, 0x0, 0x1, 0x2, 0x64, 0xFE, 0x1, 0x0, 0x1, 0x1, 0x0, 0xFE, 0x1, 0x0, 0x1, 0x2, 0x7F, 0xFE, 0x3D, 0x0, 0x1, 0x2, 0x25, 0xFE, 0x33, 0x0, 0x1, 0x2, 0x7F, 0xFD, 0xF7, 0x0, 0x1, 0x2, 0x25, 0xFD, 0xED, 0x0, 0x1, 0x2, 0x6D, 0xFD, 0xFB, 0x0, 0x1, 0x1, 0xBE, 0xFD, 0xF7, 0x0, 0x1, 0x2, 0x6D, 0xFE, 0x41, 0x0, 0x1, 0x1, 0xBE, 0xFE, 0x3D, 0x0, 0x1, 0x2, 0x4C, 0xFE, 0x3C, 0x0, 0x1, 0x1, 0xCB, 0x0, 0xA, 0x0, 0x1, 0x2, 0x5F, 0xFF, 0xFF, 0x0, 0x1, 0x2, 0x5F, 0xFD, 0xF6, 0x0, 0x1, 0x0, 0xFF, 0xFE, 0x52, 0x0, 0x1, 0x2, 0x8, 0xFD, 0xFE, 0x0, 0x1, 0x2, 0x6, 0xFD, 0xFF, 0x0, 0x1, 0x2, 0x6, 0x0, 0x8, 0x0, 0x1, 0x2, 0x6E, 0xFD, 0xF8, 0x0, 0x1, 0x2, 0xE, 0xFD, 0xFF, 0x0, 0x1, 0x2, 0xE, 0x0, 0x8, 0x0, 0x1, 0x2, 0x31, 0xFE, 0x3D, 0x0, 0x1, 0x2, 0x1B, 0xFD, 0xFE, 0x0, 0x1, 0x2, 0x1B, 0xFE, 0x44, 0x0, 0x1, 0x2, 0x40, 0x0, 0x0, 0x0, 0x1, 0x2, 0x1E, 0xFF, 0xF9, 0x0, 0x1, 0x2, 0xB7, 0xFE, 0x94, 0x0, 0x1, 0x1, 0xE9, 0xFE, 0x99, 0x0, 0x1, 0x2, 0x74, 0xFE, 0x9B, 0x0, 0x1, 0x2, 0x39, 0xFE, 0x91, 0x0, 0x1, 0x1, 0x21, 0xFE, 0x98, 0x0, 0x1, 0x2, 0xC7, 0xFE, 0x91, 0x0, 0x1, 0x2, 0x47, 0xFE, 0x8D, 0x0, 0x1, 0x2, 0xB0, 0x0, 0x0, 0x0, 0x1, 0x2, 0x44, 0xFF, 0xF6, 0x0, 0x1, 0x2, 0xB0, 0xFE, 0x91, 0x0, 0x1, 0x2, 0x44, 0xFE, 0x87, 0x0, 0x1, 0x2, 0x9B, 0xFE, 0x91, 0x0, 0x1, 0x1, 0xEB, 0xFE, 0x91, 0x0, 0x1, 0x2, 0xC2, 0xFF, 0xF6, 0x0, 0x1, 0x2, 0xC2, 0xFE, 0x87, 0x0, 0x1, 0x2, 0x37, 0xFE, 0x91, 0x0, 0x1, 0x2, 0x6F, 0xFE, 0xA1, 0x0, 0x1, 0x2, 0xF0, 0xFE, 0xA, 0x0, 0x1, 0x0, 0xF8, 0x0, 0xA, 0x0, 0x1, 0x2, 0x3E, 0x0, 0x0, 0x0, 0x1, 0x1, 0x21, 0x0, 0x7, 0x0, 0x1, 0x1, 0x6, 0x0, 0xA, 0x0, 0x1, 0x2, 0xB7, 0x0, 0x3, 0x0, 0x1, 0x2, 0x63, 0x0, 0xA, 0x0, 0x1, 0x2, 0x74, 0xFF, 0xF6, 0x0, 0x1, 0x2, 0x74, 0xFE, 0x87, 0x0, 0x1, 0x2, 0x75, 0xFE, 0xBE, 0x0, 0x1, 0x2, 0xAA, 0xFE, 0x36, 0x0, 0x1, 0x2, 0x1E, 0xFE, 0x36, 0x0, 0x1, 0x2, 0x3D, 0x0, 0xA, 0x0, 0x1, 0x2, 0x5D, 0x0, 0x0, 0x0, 0x1, 0x2, 0x3D, 0xFE, 0x9B, 0x0, 0x1, 0x2, 0x5D, 0xFE, 0x91, 0x0, 0x1, 0x2, 0x3E, 0xFE, 0xD2, 0x0, 0x1, 0x2, 0x5E, 0xFE, 0xC8, 0x0, 0x1, 0x2, 0x3D, 0xFE, 0x1, 0x0, 0x1, 0x2, 0x5D, 0xFD, 0xF7, 0x0, 0x1, 0x2, 0x3D, 0xFE, 0x7E, 0x0, 0x1, 0x2, 0x5D, 0xFE, 0x74, 0x0, 0x1, 0x2, 0x74, 0x0, 0xA, 0x0, 0x1, 0x2, 0x39, 0x0, 0x0, 0x0, 0x1, 0x2, 0x74, 0xFE, 0x7E, 0x0, 0x1, 0x2, 0x39, 0xFE, 0x74, 0x0, 0x1, 0x2, 0x74, 0xFE, 0x63, 0x0, 0x1, 0x2, 0x39, 0xFE, 0x59, 0x0, 0x1, 0x2, 0x74, 0xFE, 0x47, 0x0, 0x1, 0x2, 0x39, 0xFE, 0x3D, 0x0, 0x1, 0x1, 0x4A, 0x0, 0xA, 0x0, 0x1, 0x2, 0xD9, 0xFF, 0xF9, 0x0, 0x1, 0x2, 0x2A, 0xFE, 0x41, 0x0, 0x1, 0x2, 0xCF, 0xFE, 0x9B, 0x0, 0x1, 0x2, 0x4B, 0xFE, 0x9B, 0x0, 0x1, 0x2, 0xCF, 0x0, 0xA, 0x0, 0x1, 0x2, 0x4B, 0x0, 0xA, 0x0, 0x1, 0x2, 0xCF, 0xFE, 0x94, 0x0, 0x1, 0x2, 0x4B, 0xFE, 0x94, 0x0, 0x1, 0x2, 0x92, 0x0, 0x4C, 0x0, 0x1, 0x2, 0x22, 0x0, 0x36, 0x0, 0x1, 0x2, 0x92, 0xFE, 0xDD, 0x0, 0x1, 0x2, 0x22, 0xFE, 0xC7, 0x0, 0x1, 0x2, 0x93, 0xFF, 0x14, 0x0, 0x1, 0x2, 0x23, 0xFE, 0xFE, 0x0, 0x1, 0x2, 0x63, 0xFE, 0x9B, 0x0, 0x1, 0x2, 0x64, 0xFE, 0xD2, 0x0, 0x1, 0x1, 0x7, 0xFE, 0xD2, 0x0, 0x1, 0x2, 0x63, 0xFE, 0x7E, 0x0, 0x1, 0x1, 0x6, 0xFE, 0x7E, 0x0, 0x1, 0x3, 0x7F, 0x0, 0xA, 0x0, 0x1, 0x3, 0x83, 0x0, 0xA, 0x0, 0x1, 0x3, 0x7F, 0xFE, 0x9B, 0x0, 0x1, 0x3, 0x83, 0xFE, 0x9B, 0x0, 0x1, 0x2, 0xD1, 0x0, 0x7, 0x0, 0x1, 0x2, 0x37, 0x0, 0xA, 0x0, 0x1, 0x2, 0xD1, 0xFE, 0x98, 0x0, 0x1, 0x2, 0x37, 0xFE, 0x9B, 0x0, 0x1, 0x2, 0xD2, 0xFE, 0xCF, 0x0, 0x1, 0x2, 0x38, 0xFE, 0xD2, 0x0, 0x1, 0x2, 0xD1, 0xFE, 0x7B, 0x0, 0x1, 0x2, 0x37, 0xFE, 0x7E, 0x0, 0x1, 0x2, 0xC7, 0x0, 0x0, 0x0, 0x1, 0x2, 0x47, 0xFF, 0xFC, 0x0, 0x1, 0x2, 0x12, 0x0, 0xA, 0x0, 0x1, 0x0, 0xF4, 0xFE, 0x69, 0x0, 0x1, 0x2, 0x64, 0x0, 0xA, 0x0, 0x1, 0x1, 0x0, 0x0, 0xA, 0x0, 0x1, 0x2, 0x64, 0xFE, 0x9B, 0x0, 0x1, 0x1, 0x0, 0xFE, 0x9B, 0x0, 0x1, 0x2, 0x65, 0xFE, 0xD2, 0x0, 0x1, 0x1, 0x1, 0xFE, 0xD2, 0x0, 0x1, 0x2, 0x7F, 0x0, 0x0, 0x0, 0x1, 0x2, 0x25, 0xFF, 0xF6, 0x0, 0x1, 0x2, 0x7F, 0xFE, 0x91, 0x0, 0x1, 0x2, 0x25, 0xFE, 0x87, 0x0, 0x1, 0x2, 0x6D, 0x0, 0x4, 0x0, 0x1, 0x2, 0x6D, 0xFE, 0x95, 0x0, 0x1, 0x1, 0xBE, 0xFE, 0x91, 0x0, 0x1, 0x2, 0x6E, 0xFE, 0xCC, 0x0, 0x1, 0x1, 0xBF, 0xFE, 0xC8, 0x0, 0x1, 0x2, 0x6D, 0xFE, 0x78, 0x0, 0x1, 0x1, 0xBE, 0xFE, 0x74, 0x0, 0x1, 0x2, 0x9B, 0xFE, 0x98, 0x0, 0x1, 0x2, 0x37, 0xFE, 0x98, 0x0, 0x1, 0x2, 0x9B, 0xFE, 0x59, 0x0, 0x1, 0x2, 0x37, 0xFE, 0x59, 0x0, 0x1, 0x2, 0x9B, 0xFE, 0x74, 0x0, 0x1, 0x1, 0xEB, 0xFE, 0x74, 0x0, 0x1, 0x2, 0x9B, 0x0, 0x0, 0x0, 0x1, 0x2, 0x37, 0x0, 0x0, 0x0, 0x1, 0x2, 0x99, 0x0, 0xA, 0x0, 0x1, 0x2, 0x1, 0x0, 0xA, 0x0, 0x1, 0x2, 0x99, 0xFE, 0x9B, 0x0, 0x1, 0x2, 0x1, 0xFE, 0x9B, 0x0, 0x1, 0x3, 0x8F, 0x0, 0xA, 0x0, 0x1, 0x3, 0x8F, 0xFE, 0x9B, 0x0, 0x1, 0x2, 0xF8, 0xFE, 0x9B, 0x0, 0x1, 0x2, 0x88, 0x0, 0xD, 0x0, 0x1, 0x2, 0x5, 0x0, 0xA, 0x0, 0x1, 0x2, 0x6F, 0x0, 0x10, 0x0, 0x1, 0x2, 0x6A, 0x0, 0xA, 0x0, 0x1, 0x2, 0xD, 0x0, 0xA, 0x0, 0x1, 0x2, 0x6A, 0xFE, 0x9B, 0x0, 0x1, 0x2, 0xD, 0xFE, 0x9B, 0x0, 0x1, 0x2, 0x6B, 0xFE, 0xD2, 0x0, 0x1, 0x2, 0xE, 0xFE, 0xD2, 0x0, 0x1, 0x2, 0x4C, 0xFE, 0xD2, 0x0, 0x1, 0x1, 0xBE, 0x0, 0x0, 0x0, 0x1, 0x2, 0xF8, 0x0, 0xA, 0x0, 0x1, 0x2, 0xF0, 0xFF, 0x79, 0x0, 0x1, 0x1, 0xE9, 0x0, 0x8, 0x0, 0x1, 0x2, 0x76, 0x0, 0xA, 0x0, 0x1, 0x2, 0x1C, 0x0, 0xA, 0x0, 0x1, 0x2, 0x6E, 0x0, 0x1, 0x0, 0x1, 0x2, 0x31, 0x0, 0x0, 0x0, 0x1, 0x0, 0xFF, 0x0, 0x1, 0x0, 0x1, 0x2, 0x8, 0x0, 0x7, 0x0, 0x1, 0x2, 0x58, 0x0, 0x0, 0x0, 0x1, 0x2, 0x13, 0x0, 0xA, 0x0, 0x1, 0x2, 0x22, 0x0, 0x8, 0x0, 0x1, 0x2, 0xFE, 0x0, 0xA, 0x0, 0x1, 0x1, 0xE6, 0x0, 0xA, 0x0, 0x1, 0x2, 0x1B, 0x0, 0x7, 0x0, 0x1, 0x2, 0x26, 0x0, 0x8, 0x0, 0x1, 0x2, 0x6, 0xFF, 0xF6, 0x0, 0x1, 0x2, 0x65, 0x0, 0xA, 0x0, 0x1, 0x2, 0x4C, 0xFF, 0xFF, 0x0, 0x1, 0x3, 0xBA, 0xFF, 0xF6, 0x0, 0x1, 0x1, 0xD0, 0xFF, 0xF6, 0x0, 0x1, 0x3, 0x6E, 0x0, 0x0, 0x0, 0x1, 0x2, 0x6E, 0x0, 0x0, 0x0, 0x1, 0x2, 0x31, 0xFD, 0xF7, 0x0, 0x1, 0x3, 0x3, 0x0, 0xA, 0x0, 0x1, 0x2, 0x1E, 0x0, 0x15, 0x0, 0x1, 0x2, 0xB7, 0xFE, 0x55, 0x0, 0x1, 0x1, 0xE9, 0xFE, 0x5A, 0x0, 0x1, 0x2, 0x74, 0xFE, 0x5C, 0x0, 0x1, 0x2, 0x39, 0xFE, 0x52, 0x0, 0x1, 0x2, 0xC7, 0xFE, 0x52, 0x0, 0x1, 0x2, 0x47, 0xFE, 0x4E, 0x0, 0x1, 0x2, 0x58, 0xFE, 0x52, 0x0, 0x1, 0x2, 0x22, 0xFE, 0x5A, 0x0, 0x1, 0x2, 0x6E, 0xFE, 0x52, 0x0, 0x1, 0x2, 0xDA, 0xFD, 0xFE, 0x0, 0x1, 0x1, 0x6, 0xFE, 0x63, 0x0, 0x1, 0x1, 0x6, 0xFE, 0x9B, 0x0, 0x4, 0x0, 0x0, 0x0, 0x1, 0x0, 0x8, 0x0, 0x1, 0x0, 0xC, 0x0, 0x18, 0x0, 0x1, 0x2, 0x56, 0x2, 0x80, 0x0, 0x1, 0x0, 0x4, 0x2, 0xE, 0x2, 0xF, 0x2, 0x11, 0x2, 0x12, 0x0, 0x2, 0x0, 0x5F, 0x0, 0x26, 0x0, 0x3F, 0x0, 0x0, 0x0, 0x46, 0x0, 0x5F, 0x0, 0x1A, 0x0, 0x82, 0x0, 0x82, 0x0, 0x34, 0x0, 0x84, 0x0, 0x84, 0x0, 0x35, 0x0, 0x87, 0x0, 0x87, 0x0, 0x36, 0x0, 0x8A, 0x0, 0x8A, 0x0, 0x37, 0x0, 0x8C, 0x0, 0x8C, 0x0, 0x38, 0x0, 0x94, 0x0, 0x95, 0x0, 0x39, 0x2, 0xD2, 0x2, 0xD2, 0x0, 0x3B, 0x2, 0xDA, 0x2, 0xDB, 0x0, 0x3C, 0x2, 0xEB, 0x2, 0xEB, 0x0, 0x3E, 0x2, 0xED, 0x2, 0xED, 0x0, 0x3F, 0x2, 0xF4, 0x2, 0xF5, 0x0, 0x40, 0x3, 0x17, 0x3, 0x17, 0x0, 0x42, 0x4, 0x2B, 0x4, 0x2D, 0x0, 0x43, 0x5, 0x5D, 0x5, 0x5E, 0x0, 0x46, 0x6, 0xC7, 0x6, 0xC8, 0x0, 0x48, 0x7, 0x4E, 0x7, 0x62, 0x0, 0x4A, 0x7, 0xA6, 0x7, 0xA6, 0x0, 0x5F, 0x7, 0xAE, 0x7, 0xB1, 0x0, 0x60, 0x7, 0xDE, 0x7, 0xE2, 0x0, 0x64, 0x8, 0xAD, 0x8, 0xAD, 0x0, 0x69, 0x8, 0xB3, 0x8, 0xB3, 0x0, 0x6A, 0x8, 0xB5, 0x8, 0xB8, 0x0, 0x6B, 0x8, 0xC8, 0x8, 0xF3, 0x0, 0x6F, 0x8, 0xF8, 0x9, 0x28, 0x0, 0x9B, 0x9, 0x2A, 0x9, 0x2A, 0x0, 0xCC, 0x9, 0x2C, 0x9, 0x2C, 0x0, 0xCD, 0x9, 0x2E, 0x9, 0x30, 0x0, 0xCE, 0x9, 0x33, 0x9, 0x33, 0x0, 0xD1, 0x9, 0x35, 0x9, 0xDA, 0x0, 0xD2, 0x9, 0xDD, 0x9, 0xEC, 0x1, 0x78, 0x9, 0xF3, 0x9, 0xF3, 0x1, 0x88, 0x9, 0xF5, 0x9, 0xF5, 0x1, 0x89, 0x9, 0xF9, 0x9, 0xF9, 0x1, 0x8A, 0x9, 0xFC, 0x9, 0xFC, 0x1, 0x8B, 0x9, 0xFE, 0xA, 0x1, 0x1, 0x8C, 0xA, 0x3, 0xA, 0x3, 0x1, 0x90, 0xA, 0x5, 0xA, 0x6, 0x1, 0x91, 0xA, 0x8, 0xA, 0x8, 0x1, 0x93, 0xA, 0xA, 0xA, 0xC, 0x1, 0x94, 0xA, 0xE, 0xA, 0x13, 0x1, 0x97, 0xA, 0x15, 0xA, 0x1A, 0x1, 0x9D, 0xA, 0x1C, 0xA, 0x1D, 0x1, 0xA3, 0xA, 0x1F, 0xA, 0x1F, 0x1, 0xA5, 0xA, 0x21, 0xA, 0x29, 0x1, 0xA6, 0xA, 0x2F, 0xA, 0x33, 0x1, 0xAF, 0xA, 0x35, 0xA, 0x35, 0x1, 0xB4, 0xA, 0x3F, 0xA, 0x41, 0x1, 0xB5, 0xA, 0x43, 0xA, 0x43, 0x1, 0xB8, 0xA, 0x46, 0xA, 0x4E, 0x1, 0xB9, 0xA, 0x5A, 0xA, 0x5B, 0x1, 0xC2, 0xA, 0x64, 0xA, 0x64, 0x1, 0xC4, 0xA, 0x66, 0xA, 0x66, 0x1, 0xC5, 0xA, 0x68, 0xA, 0x68, 0x1, 0xC6, 0xA, 0x6D, 0xA, 0x96, 0x1, 0xC7, 0xA, 0x98, 0xA, 0xA7, 0x1, 0xF1, 0xA, 0xB2, 0xA, 0xB5, 0x2, 0x1, 0xA, 0xC0, 0xA, 0xC7, 0x2, 0x5, 0xA, 0xCF, 0xA, 0xCF, 0x2, 0xD, 0xA, 0xD6, 0xA, 0xD6, 0x2, 0xE, 0xA, 0xD8, 0xA, 0xD9, 0x2, 0xF, 0xA, 0xDB, 0xA, 0xDB, 0x2, 0x11, 0xA, 0xEE, 0xA, 0xF0, 0x2, 0x12, 0xA, 0xF2, 0xA, 0xFD, 0x2, 0x15, 0xA, 0xFF, 0xB, 0xC, 0x2, 0x21, 0xB, 0x10, 0xB, 0x1C, 0x2, 0x2F, 0xB, 0x1E, 0xB, 0x1E, 0x2, 0x3C, 0xB, 0x20, 0xB, 0x3B, 0x2, 0x3D, 0xB, 0x3F, 0xB, 0x3F, 0x2, 0x59, 0xB, 0x42, 0xB, 0x43, 0x2, 0x5A, 0xB, 0x47, 0xB, 0xD7, 0x2, 0x5C, 0xB, 0xE0, 0xB, 0xE7, 0x2, 0xED, 0xB, 0xEE, 0xB, 0xF3, 0x2, 0xF5, 0xB, 0xFC, 0xC, 0x3, 0x2, 0xFB, 0xC, 0xC, 0xC, 0x1F, 0x3, 0x3, 0xC, 0x28, 0xC, 0x2B, 0x3, 0x17, 0xC, 0x44, 0xC, 0x45, 0x3, 0x1B, 0xC, 0x52, 0xC, 0x59, 0x3, 0x1D, 0xC, 0x62, 0xC, 0x69, 0x3, 0x25, 0xC, 0x81, 0xC, 0x85, 0x3, 0x2D, 0xC, 0x8B, 0xC, 0x8F, 0x3, 0x32, 0xC, 0x96, 0xC, 0x99, 0x3, 0x37, 0xC, 0xA2, 0xC, 0xA6, 0x3, 0x3B, 0xC, 0xAC, 0xC, 0xAD, 0x3, 0x40, 0xC, 0xB7, 0xC, 0xBC, 0x3, 0x42, 0xC, 0xBE, 0xC, 0xCE, 0x3, 0x48, 0xC, 0xD0, 0xC, 0xD4, 0x3, 0x59, 0xC, 0xD6, 0xC, 0xD7, 0x3, 0x5E, 0xC, 0xD9, 0xC, 0xD9, 0x3, 0x60, 0xC, 0xDB, 0xC, 0xDD, 0x3, 0x61, 0xC, 0xDF, 0xC, 0xE2, 0x3, 0x64, 0xC, 0xE4, 0xC, 0xE6, 0x3, 0x68, 0xC, 0xEB, 0xC, 0xEB, 0x3, 0x6B, 0xC, 0xEE, 0xD, 0x1C, 0x3, 0x6C, 0x0, 0x4, 0x0, 0x0, 0x0, 0x12, 0x0, 0x0, 0x0, 0x18, 0x0, 0x0, 0x0, 0x1E, 0x0, 0x0, 0x0, 0x24, 0x0, 0x1, 0x0, 0x0, 0x4, 0x7E, 0x0, 0x1, 0x0, 0x0, 0x4, 0xE6, 0x0, 0x1, 0x0, 0x0, 0x4, 0xF6, 0x0, 0x1, 0x0, 0x0, 0x4, 0x9C, 0x3, 0x9B, 0x2C, 0x1A, 0x7, 0xC8, 0x7, 0xCE, 0x7, 0xDA, 0x8, 0xD6, 0x7, 0xE6, 0x7, 0xF2, 0x9, 0x0, 0x8, 0x52, 0x8, 0x40, 0x7, 0xFE, 0x2A, 0xA0, 0x2A, 0xAC, 0x2A, 0xB8, 0x2C, 0x32, 0x8, 0x58, 0x2C, 0x32, 0x2A, 0xCA, 0x2A, 0xD6, 0x2A, 0xE2, 0x2A, 0xE8, 0x8, 0x28, 0x2B, 0x0, 0x8, 0x34, 0x2B, 0x6C, 0x2B, 0x12, 0x2A, 0xA0, 0x8, 0x16, 0x7, 0xD4, 0x7, 0xE0, 0x8, 0xDC, 0x7, 0xEC, 0x7, 0xF8, 0x8, 0x40, 0x29, 0xD4, 0x2A, 0x4C, 0x8, 0x4, 0x29, 0xD4, 0x8, 0xA, 0x8, 0x10, 0x8, 0xE2, 0x8, 0x16, 0x7, 0xC2, 0x25, 0x66, 0x8, 0x1C, 0x25, 0x84, 0x8, 0x22, 0x8, 0x2E, 0x8, 0x46, 0x8, 0x3A, 0x8, 0x4C, 0x8, 0x3A, 0x7, 0xB6, 0x7, 0x8C, 0x7, 0xBC, 0x7, 0xF8, 0x7, 0xE0, 0x24, 0x52, 0x7, 0x38, 0x9, 0x0, 0x8, 0x34, 0x8, 0x3A, 0x9, 0x0, 0x2A, 0xAC, 0x8, 0x34, 0x8, 0x3A, 0x8, 0x40, 0x7, 0x3E, 0x28, 0x7E, 0x7, 0x44, 0x9, 0x0, 0x8, 0x40, 0x2A, 0xB8, 0x8, 0x10, 0x8, 0x7C, 0x8, 0xD0, 0x8, 0xAC, 0x8, 0xCA, 0x7, 0x4A, 0x7, 0xAA, 0x8, 0xA6, 0x8, 0xC4, 0x7, 0xA4, 0x8, 0xF4, 0x8, 0xA0, 0x8, 0xF4, 0x8, 0x82, 0x8, 0x9A, 0x7, 0x9E, 0x8, 0x8E, 0x8, 0xBE, 0x8, 0x88, 0x8, 0xB2, 0x7, 0x98, 0x26, 0x26, 0x8, 0xEE, 0x7, 0x92, 0x8, 0xB8, 0x8, 0x94, 0x8, 0xE8, 0x9, 0x0, 0x9, 0x0, 0x26, 0x1A, 0x8, 0xFA, 0x7, 0x50, 0x7, 0xE0, 0x7, 0x56, 0x7, 0x5C, 0x8, 0xF4, 0x7, 0x62, 0x8, 0x82, 0x7, 0x68, 0x7, 0x68, 0x7, 0x6E, 0x2A, 0xE2, 0x25, 0x84, 0x2C, 0x1A, 0x2C, 0x1A, 0x2C, 0x1A, 0x2C, 0x1A, 0x2C, 0x1A, 0x2C, 0x1A, 0x2C, 0x1A, 0x7, 0xCE, 0x8, 0xD6, 0x8, 0xD6, 0x8, 0xD6, 0x8, 0xD6, 0x8, 0x52, 0x8, 0x52, 0x8, 0x52, 0x8, 0x52, 0x2A, 0xB8, 0x2C, 0x32, 0x2C, 0x32, 0x2C, 0x32, 0x2C, 0x32, 0x2C, 0x32, 0x2A, 0xE8, 0x2A, 0xE8, 0x2A, 0xE8, 0x2A, 0xE8, 0x2B, 0x6C, 0x2A, 0xA0, 0x2A, 0xA0, 0x2A, 0xA0, 0x2A, 0xA0, 0x2A, 0xA0, 0x2A, 0xA0, 0x2A, 0xA0, 0x7, 0xD4, 0x8, 0xDC, 0x8, 0xDC, 0x8, 0xDC, 0x8, 0xDC, 0x8, 0x10, 0x8, 0xE2, 0x8, 0xE2, 0x8, 0xE2, 0x8, 0xE2, 0x8, 0xE2, 0x8, 0x22, 0x8, 0x22, 0x8, 0x22, 0x8, 0x22, 0x8, 0x4C, 0x8, 0x4C, 0x2C, 0x1A, 0x2A, 0xA0, 0x2C, 0x1A, 0x2A, 0xA0, 0x2C, 0x1A, 0x2A, 0xA0, 0x7, 0xCE, 0x7, 0xD4, 0x7, 0xCE, 0x7, 0xD4, 0x7, 0xCE, 0x7, 0xD4, 0x7, 0xCE, 0x7, 0xD4, 0x7, 0xDA, 0x7, 0x74, 0x8, 0xD6, 0x8, 0xDC, 0x8, 0xD6, 0x8, 0xDC, 0x8, 0xD6, 0x8, 0xDC, 0x8, 0xD6, 0x8, 0xDC, 0x8, 0xD6, 0x8, 0xDC, 0x7, 0xF2, 0x7, 0xF8, 0x7, 0xF2, 0x7, 0xF8, 0x7, 0xF2, 0x7, 0xF8, 0x7, 0xF2, 0x7, 0xF8, 0x9, 0x0, 0x8, 0x40, 0x8, 0x52, 0x8, 0x52, 0x8, 0x52, 0x8, 0x52, 0x29, 0xD4, 0x8, 0x52, 0x8, 0x40, 0x7, 0xFE, 0x8, 0x4, 0x2A, 0xA0, 0x29, 0xD4, 0x2A, 0xA0, 0x29, 0xD4, 0x2A, 0xA0, 0x7, 0x7A, 0x2A, 0xA0, 0x7, 0x80, 0x2A, 0xB8, 0x8, 0x10, 0x2A, 0xB8, 0x8, 0x10, 0x2A, 0xB8, 0x8, 0x10, 0x8, 0x10, 0x2C, 0x32, 0x8, 0xE2, 0x2C, 0x32, 0x8, 0xE2, 0x2C, 0x32, 0x8, 0xE2, 0x2A, 0xCA, 0x25, 0x66, 0x2A, 0xCA, 0x25, 0x66, 0x2A, 0xCA, 0x25, 0x66, 0x2A, 0xD6, 0x8, 0x1C, 0x2A, 0xD6, 0x8, 0x1C, 0x2A, 0xD6, 0x8, 0x1C, 0x2A, 0xD6, 0x8, 0x1C, 0x2A, 0xD6, 0x8, 0x1C, 0x2A, 0xE2, 0x25, 0x84, 0x2A, 0xE2, 0x25, 0x84, 0x2A, 0xE2, 0x7, 0x86, 0x2A, 0xE8, 0x8, 0x22, 0x2A, 0xE8, 0x8, 0x22, 0x2A, 0xE8, 0x8, 0x22, 0x2A, 0xE8, 0x8, 0x22, 0x2A, 0xE8, 0x8, 0x22, 0x2A, 0xE8, 0x8, 0x22, 0x2B, 0x0, 0x8, 0x46, 0x2B, 0x6C, 0x8, 0x4C, 0x2B, 0x6C, 0x2B, 0x12, 0x8, 0x3A, 0x2B, 0x12, 0x8, 0x3A, 0x2B, 0x12, 0x8, 0x3A, 0x7, 0xB6, 0x7, 0xBC, 0x7, 0x8C, 0x7, 0xF8, 0x7, 0x92, 0x7, 0x92, 0x8, 0xA6, 0x8, 0xE8, 0x8, 0xE8, 0x8, 0xE8, 0x8, 0xE8, 0x8, 0xE8, 0x8, 0xE8, 0x8, 0xE8, 0x8, 0xB8, 0x8, 0xEE, 0x8, 0xEE, 0x8, 0xEE, 0x8, 0xEE, 0x8, 0x88, 0x8, 0x88, 0x8, 0x88, 0x8, 0x88, 0x8, 0x82, 0x8, 0xF4, 0x8, 0xF4, 0x8, 0xF4, 0x8, 0xF4, 0x8, 0xF4, 0x7, 0xAA, 0x7, 0xAA, 0x7, 0xAA, 0x7, 0xAA, 0x8, 0xD0, 0x8, 0xE8, 0x8, 0xE8, 0x8, 0xE8, 0x8, 0xB8, 0x8, 0xB8, 0x8, 0xB8, 0x8, 0xB8, 0x7, 0x92, 0x8, 0xEE, 0x8, 0xEE, 0x8, 0xEE, 0x8, 0xEE, 0x8, 0xEE, 0x7, 0x98, 0x7, 0x98, 0x7, 0x98, 0x7, 0x98, 0x8, 0xB2, 0x8, 0x88, 0x8, 0x88, 0x8, 0x88, 0x8, 0x88, 0x8, 0x88, 0x8, 0xBE, 0x8, 0x8E, 0x7, 0x9E, 0x7, 0x9E, 0x7, 0x9E, 0x7, 0x9E, 0x8, 0x82, 0x8, 0x82, 0x8, 0x82, 0x8, 0xF4, 0x8, 0xF4, 0x8, 0xF4, 0x8, 0xF4, 0x7, 0xA4, 0x7, 0xA4, 0x7, 0xA4, 0x8, 0xC4, 0x8, 0xC4, 0x8, 0xC4, 0x8, 0xC4, 0x8, 0xA6, 0x8, 0xA6, 0x8, 0xA6, 0x7, 0xAA, 0x7, 0xAA, 0x7, 0xAA, 0x7, 0xAA, 0x7, 0xAA, 0x7, 0xAA, 0x8, 0xCA, 0x8, 0xD0, 0x8, 0xD0, 0x8, 0x7C, 0x8, 0x7C, 0x8, 0x7C, 0x2C, 0x1A, 0x8, 0xD6, 0x9, 0x0, 0x8, 0x52, 0x2B, 0x7E, 0x29, 0x62, 0x2C, 0x1A, 0x7, 0xC8, 0x8, 0xD6, 0x2B, 0x12, 0x9, 0x0, 0x8, 0x52, 0x7, 0xFE, 0x2A, 0xAC, 0x2A, 0xB8, 0x2C, 0x32, 0x8, 0x58, 0x2A, 0xE2, 0x2B, 0x6C, 0x8, 0x34, 0x8, 0x52, 0x2B, 0x6C, 0x8, 0xE2, 0x8, 0x2E, 0x8, 0xE2, 0x8, 0xD6, 0x2A, 0xD6, 0x8, 0x52, 0x8, 0x52, 0x8, 0x40, 0x7, 0xFE, 0x2C, 0x1A, 0x7, 0xC8, 0x8, 0xD6, 0x2A, 0xAC, 0x9, 0x0, 0x2C, 0x32, 0x8, 0x58, 0x7, 0xCE, 0x2A, 0xE2, 0x8, 0x34, 0x2A, 0xA0, 0x8, 0xDC, 0x8, 0xE2, 0x8, 0x16, 0x7, 0xD4, 0x8, 0x4C, 0x8, 0x3A, 0x8, 0xDC, 0x8, 0x1C, 0x29, 0xD4, 0x2A, 0x4C, 0x8, 0x4C, 0x2B, 0x0, 0x8, 0x46, 0x2B, 0x0, 0x8, 0x46, 0x2B, 0x0, 0x8, 0x46, 0x2B, 0x6C, 0x8, 0x4C, 0x2A, 0xAC, 0x8, 0xA, 0x2C, 0x1A, 0x2A, 0xA0, 0x8, 0xD6, 0x8, 0xDC, 0x7, 0xCE, 0x7, 0xD4, 0x2B, 0x6C, 0x8, 0x52, 0x8, 0x52, 0x2C, 0x1A, 0x2A, 0xA0, 0x2C, 0x1A, 0x2A, 0xA0, 0x7, 0xB6, 0x7, 0xBC, 0x8, 0xD6, 0x8, 0xDC, 0x2C, 0x32, 0x8, 0xE2, 0x8, 0x4C, 0x8, 0x4C, 0x8, 0x4C, 0x7, 0xE0, 0x2C, 0x1A, 0x2A, 0xA0, 0x2C, 0x1A, 0x2A, 0xA0, 0x2C, 0x1A, 0x2A, 0xA0, 0x2C, 0x1A, 0x2A, 0xA0, 0x2C, 0x1A, 0x2A, 0xA0, 0x2C, 0x1A, 0x2A, 0xA0, 0x2C, 0x1A, 0x2A, 0xA0, 0x2C, 0x1A, 0x2A, 0xA0, 0x2C, 0x1A, 0x2A, 0xA0, 0x2C, 0x1A, 0x2A, 0xA0, 0x2C, 0x1A, 0x2A, 0xA0, 0x2C, 0x1A, 0x2A, 0xA0, 0x8, 0xD6, 0x8, 0xDC, 0x8, 0xD6, 0x8, 0xDC, 0x8, 0xD6, 0x8, 0xDC, 0x8, 0xD6, 0x8, 0xDC, 0x8, 0xD6, 0x8, 0xDC, 0x8, 0xD6, 0x8, 0xDC, 0x8, 0xD6, 0x8, 0xDC, 0x8, 0xD6, 0x8, 0xDC, 0x8, 0x52, 0x8, 0x52, 0x29, 0xD4, 0x2C, 0x32, 0x8, 0xE2, 0x2C, 0x32, 0x8, 0xE2, 0x2C, 0x32, 0x8, 0xE2, 0x2C, 0x32, 0x8, 0xE2, 0x2C, 0x32, 0x8, 0xE2, 0x2C, 0x32, 0x8, 0xE2, 0x2C, 0x32, 0x8, 0xE2, 0x2A, 0xE8, 0x8, 0x22, 0x2A, 0xE8, 0x8, 0x22, 0x2B, 0x6C, 0x8, 0x4C, 0x2B, 0x6C, 0x8, 0x4C, 0x2B, 0x6C, 0x8, 0x4C, 0x7, 0xB0, 0x2A, 0xE2, 0x8, 0x40, 0x2B, 0x6C, 0x8, 0x34, 0x8, 0x3A, 0x7, 0xE6, 0x2C, 0x1A, 0x2A, 0xA0, 0x8, 0x52, 0x2C, 0x32, 0x8, 0xE2, 0x2A, 0xE8, 0x8, 0x22, 0x2A, 0xE8, 0x8, 0x22, 0x2A, 0xE8, 0x8, 0x22, 0x2A, 0xE8, 0x8, 0x22, 0x2A, 0xE8, 0x8, 0x22, 0x2C, 0x1A, 0x2A, 0xA0, 0x2C, 0x1A, 0x2A, 0xA0, 0x7, 0xB6, 0x7, 0xBC, 0x7, 0xF2, 0x7, 0xF8, 0x7, 0xFE, 0x8, 0x4, 0x2C, 0x32, 0x8, 0xE2, 0x2C, 0x32, 0x8, 0xE2, 0x7, 0xF2, 0x7, 0xF8, 0x2A, 0xB8, 0x8, 0x10, 0x2C, 0x1A, 0x2A, 0xA0, 0x2C, 0x1A, 0x2A, 0xA0, 0x8, 0xD6, 0x8, 0xDC, 0x8, 0xD6, 0x8, 0xDC, 0x8, 0x52, 0x8, 0x52, 0x2C, 0x32, 0x8, 0xE2, 0x2C, 0x32, 0x8, 0xE2, 0x2A, 0xCA, 0x25, 0x66, 0x2A, 0xCA, 0x25, 0x66, 0x2A, 0xE8, 0x8, 0x22, 0x2A, 0xE8, 0x8, 0x22, 0x9, 0x0, 0x8, 0x40, 0x2C, 0x1A, 0x2A, 0xA0, 0x8, 0xD6, 0x8, 0xDC, 0x2C, 0x32, 0x8, 0xE2, 0x2C, 0x32, 0x8, 0xE2, 0x2C, 0x32, 0x8, 0xE2, 0x2C, 0x32, 0x8, 0xE2, 0x2B, 0x6C, 0x8, 0x4C, 0x8, 0x40, 0x7, 0xD4, 0x2A, 0x4C, 0x7, 0xCE, 0x2A, 0xAC, 0x2C, 0x32, 0x7, 0xC2, 0x2B, 0x0, 0x8, 0x46, 0x7, 0xC8, 0x8, 0x16, 0x7, 0xC8, 0x8, 0x16, 0x7, 0xC8, 0x8, 0x16, 0x7, 0xCE, 0x7, 0xD4, 0x7, 0xDA, 0x7, 0xE0, 0x7, 0xDA, 0x7, 0xE0, 0x7, 0xDA, 0x7, 0xE0, 0x7, 0xDA, 0x7, 0xE0, 0x7, 0xDA, 0x7, 0xE0, 0x8, 0xD6, 0x8, 0xDC, 0x8, 0xD6, 0x8, 0xDC, 0x8, 0xD6, 0x8, 0xDC, 0x8, 0xD6, 0x8, 0xDC, 0x8, 0xD6, 0x8, 0xDC, 0x7, 0xE6, 0x7, 0xEC, 0x7, 0xF2, 0x7, 0xF8, 0x9, 0x0, 0x8, 0x40, 0x9, 0x0, 0x8, 0x40, 0x9, 0x0, 0x8, 0x40, 0x9, 0x0, 0x8, 0x40, 0x7, 0xFE, 0x8, 0x4, 0x7, 0xFE, 0x8, 0x4, 0x7, 0xFE, 0x8, 0x4, 0x2A, 0xA0, 0x29, 0xD4, 0x2A, 0xA0, 0x29, 0xD4, 0x2A, 0xA0, 0x29, 0xD4, 0x2A, 0xA0, 0x29, 0xD4, 0x2A, 0xAC, 0x8, 0xA, 0x2A, 0xAC, 0x8, 0xA, 0x2A, 0xB8, 0x8, 0x10, 0x2A, 0xB8, 0x8, 0x10, 0x2A, 0xB8, 0x8, 0x10, 0x2A, 0xB8, 0x8, 0x10, 0x2C, 0x32, 0x8, 0xE2, 0x2C, 0x32, 0x8, 0xE2, 0x2C, 0x32, 0x8, 0xE2, 0x2C, 0x32, 0x8, 0xE2, 0x8, 0x58, 0x8, 0x16, 0x8, 0x58, 0x8, 0x16, 0x2A, 0xCA, 0x25, 0x66, 0x2A, 0xCA, 0x25, 0x66, 0x2A, 0xCA, 0x25, 0x66, 0x2A, 0xCA, 0x25, 0x66, 0x2A, 0xD6, 0x8, 0x1C, 0x2A, 0xD6, 0x8, 0x1C, 0x2A, 0xD6, 0x8, 0x1C, 0x2A, 0xD6, 0x8, 0x1C, 0x2A, 0xD6, 0x8, 0x1C, 0x2A, 0xE2, 0x25, 0x84, 0x2A, 0xE2, 0x25, 0x84, 0x2A, 0xE2, 0x25, 0x84, 0x2A, 0xE2, 0x25, 0x84, 0x2A, 0xE8, 0x8, 0x22, 0x2A, 0xE8, 0x8, 0x22, 0x2A, 0xE8, 0x8, 0x22, 0x2A, 0xE8, 0x8, 0x22, 0x2A, 0xE8, 0x8, 0x22, 0x8, 0x28, 0x8, 0x2E, 0x8, 0x28, 0x8, 0x2E, 0x2B, 0x0, 0x8, 0x46, 0x2B, 0x0, 0x8, 0x46, 0x8, 0x34, 0x8, 0x3A, 0x8, 0x34, 0x8, 0x3A, 0x2B, 0x6C, 0x8, 0x4C, 0x2B, 0x12, 0x8, 0x3A, 0x2B, 0x12, 0x8, 0x3A, 0x2B, 0x12, 0x8, 0x3A, 0x8, 0x40, 0x25, 0x84, 0x8, 0x46, 0x8, 0x4C, 0x2A, 0xA0, 0x2C, 0x1A, 0x2C, 0x1A, 0x2C, 0x1A, 0x2C, 0x1A, 0x2C, 0x1A, 0x2C, 0x1A, 0x2C, 0x1A, 0x2C, 0x1A, 0x8, 0xD6, 0x8, 0xD6, 0x8, 0xD6, 0x8, 0xD6, 0x8, 0xD6, 0x8, 0xD6, 0x9, 0x0, 0x9, 0x0, 0x9, 0x0, 0x9, 0x0, 0x9, 0x0, 0x9, 0x0, 0x9, 0x0, 0x9, 0x0, 0x8, 0x52, 0x8, 0x52, 0x8, 0x52, 0x8, 0x52, 0x8, 0x52, 0x8, 0x52, 0x8, 0x52, 0x8, 0x52, 0x8, 0xE2, 0x8, 0xE2, 0x8, 0xE2, 0x8, 0xE2, 0x8, 0xE2, 0x8, 0xE2, 0x2B, 0x7E, 0x2B, 0x7E, 0x2B, 0x36, 0x2B, 0x36, 0x2B, 0x36, 0x2B, 0x36, 0x2B, 0x6C, 0x2B, 0x6C, 0x2B, 0x6C, 0x2B, 0x6C, 0x8, 0xE2, 0x8, 0xE2, 0x2C, 0x1A, 0x2C, 0x1A, 0x2C, 0x1A, 0x2C, 0x1A, 0x2C, 0x1A, 0x2C, 0x1A, 0x2C, 0x1A, 0x2C, 0x1A, 0x9, 0x0, 0x9, 0x0, 0x9, 0x0, 0x9, 0x0, 0x9, 0x0, 0x9, 0x0, 0x9, 0x0, 0x9, 0x0, 0x2C, 0x1A, 0x2C, 0x1A, 0x2C, 0x1A, 0x2C, 0x1A, 0x2C, 0x1A, 0x8, 0xD6, 0x8, 0xD6, 0x9, 0x0, 0x9, 0x0, 0x9, 0x0, 0x8, 0x52, 0x8, 0x52, 0x8, 0x52, 0x8, 0x52, 0x2B, 0x6C, 0x2B, 0x6C, 0x2B, 0x6C, 0x2B, 0x6C, 0x8, 0x58, 0x2B, 0x7E, 0x2B, 0x7E, 0x8, 0xE8, 0x8, 0x5E, 0x8, 0x64, 0x8, 0x6A, 0x8, 0x70, 0x8, 0x76, 0x8, 0xE8, 0x8, 0x94, 0x8, 0xEE, 0x8, 0x7C, 0x8, 0xB2, 0x8, 0x88, 0x8, 0x8E, 0x8, 0x9A, 0x8, 0x82, 0x8, 0xF4, 0x8, 0xA0, 0x8, 0xA6, 0x8, 0xD0, 0x8, 0xAC, 0x8, 0x88, 0x8, 0xD0, 0x8, 0xEE, 0x8, 0xC4, 0x8, 0x88, 0x8, 0x88, 0x8, 0xBE, 0x8, 0x8E, 0x8, 0xE8, 0x8, 0x94, 0x8, 0xEE, 0x8, 0x9A, 0x8, 0xB2, 0x8, 0xF4, 0x8, 0xA0, 0x8, 0xB8, 0x8, 0xA6, 0x8, 0xAC, 0x8, 0xB2, 0x8, 0xB8, 0x8, 0xD0, 0x8, 0xBE, 0x8, 0xF4, 0x8, 0xC4, 0x8, 0xCA, 0x8, 0xCA, 0x8, 0xCA, 0x8, 0xD0, 0x2C, 0x1A, 0x2A, 0xA0, 0x8, 0xD6, 0x8, 0xDC, 0x2C, 0x32, 0x8, 0xE2, 0x8, 0xE8, 0x8, 0xEE, 0x8, 0xF4, 0x26, 0x1A, 0x26, 0x1A, 0x26, 0x1A, 0x26, 0x1A, 0x26, 0x1A, 0x26, 0x1A, 0x26, 0x1A, 0x26, 0x1A, 0x26, 0x1A, 0x26, 0x1A, 0x8, 0xFA, 0x8, 0xFA, 0x8, 0xFA, 0x8, 0xFA, 0x8, 0xFA, 0x8, 0xFA, 0x8, 0xFA, 0x8, 0xFA, 0x8, 0xFA, 0x9, 0x0, 0x9, 0x0, 0x9, 0x0, 0x9, 0x0, 0x9, 0x0, 0x9, 0x0, 0x9, 0x0, 0x9, 0x0, 0x9, 0x0, 0x9, 0x0, 0x9, 0x0, 0x9, 0x0, 0x9, 0x0, 0x0, 0x1, 0x7, 0x3B, 0x6, 0x40, 0x0, 0x1, 0x2, 0xA0, 0x6, 0x40, 0x0, 0x1, 0x2, 0x94, 0x6, 0x40, 0x0, 0x1, 0x4, 0x7C, 0x6, 0x40, 0x0, 0x1, 0x8, 0xAC, 0x6, 0x40, 0x0, 0x1, 0x3, 0xC4, 0x6, 0x40, 0x0, 0x1, 0x4, 0x9, 0x6, 0x40, 0x0, 0x1, 0x4, 0xF4, 0x6, 0x40, 0x0, 0x1, 0x5, 0x58, 0x6, 0x40, 0x0, 0x1, 0x4, 0x8F, 0x6, 0x40, 0x0, 0x1, 0x5, 0x1B, 0x6, 0x40, 0x0, 0x1, 0x2, 0xA2, 0x6, 0x40, 0x0, 0x1, 0x2, 0xE8, 0x6, 0x40, 0x0, 0x1, 0x2, 0xD2, 0x6, 0x40, 0x0, 0x1, 0x5, 0x85, 0x6, 0x40, 0x0, 0x1, 0x4, 0x7B, 0x6, 0x40, 0x0, 0x1, 0x4, 0xA7, 0x6, 0x40, 0x0, 0x1, 0x3, 0xBA, 0x6, 0x40, 0x0, 0x1, 0x4, 0x5D, 0x6, 0x40, 0x0, 0x1, 0x4, 0x84, 0x6, 0x40, 0x0, 0x1, 0x4, 0xA3, 0x6, 0x40, 0x0, 0x1, 0x7, 0x85, 0x6, 0x40, 0x0, 0x1, 0x6, 0xC1, 0x6, 0x40, 0x0, 0x1, 0x4, 0x8B, 0x6, 0x40, 0x0, 0x1, 0x5, 0xD, 0x6, 0x40, 0x0, 0x1, 0x5, 0x39, 0x6, 0x40, 0x0, 0x1, 0x4, 0x31, 0x6, 0x40, 0x0, 0x1, 0x5, 0x3A, 0x6, 0x40, 0x0, 0x1, 0x4, 0x85, 0x6, 0x40, 0x0, 0x1, 0x4, 0x66, 0x6, 0x40, 0x0, 0x1, 0x2, 0xD6, 0x6, 0x40, 0x0, 0x1, 0x5, 0x73, 0x6, 0x40, 0x0, 0x1, 0x4, 0x89, 0x6, 0x40, 0x0, 0x1, 0x5, 0xB, 0x6, 0x40, 0x0, 0x1, 0x4, 0x2D, 0x6, 0x40, 0x0, 0x1, 0x6, 0xF7, 0x6, 0x40, 0x0, 0x1, 0x4, 0x73, 0x6, 0x40, 0x0, 0x1, 0x4, 0x81, 0x6, 0x40, 0x0, 0x1, 0x4, 0x22, 0x6, 0x40, 0x0, 0x1, 0x4, 0x72, 0x6, 0x40, 0x0, 0x1, 0x5, 0x2E, 0x6, 0x40, 0x0, 0x1, 0x3, 0xF6, 0x6, 0x40, 0x0, 0x1, 0x5, 0x10, 0x6, 0x40, 0x0, 0x1, 0x4, 0x7, 0x6, 0x40, 0x0, 0x1, 0x4, 0x71, 0x6, 0x40, 0x0, 0x1, 0x5, 0xF2, 0x6, 0x40, 0x0, 0x1, 0x3, 0xE5, 0x6, 0x40, 0x0, 0x1, 0x2, 0x42, 0x6, 0x40, 0x0, 0x1, 0x5, 0x1E, 0x6, 0x40, 0x0, 0x1, 0x4, 0x1D, 0x6, 0x40, 0x0, 0x1, 0x5, 0x1A, 0x6, 0x40, 0x0, 0x1, 0x2, 0x39, 0x6, 0x40, 0x0, 0x1, 0x4, 0xCA, 0x6, 0x40, 0x0, 0x1, 0x4, 0x79, 0x6, 0x40, 0x0, 0x1, 0x4, 0x2A, 0x6, 0x40, 0x0, 0x1, 0x4, 0xDD, 0x6, 0x40, 0x0, 0x1, 0x1, 0xFD, 0x6, 0x40, 0x0, 0x1, 0x4, 0x5C, 0x6, 0x40, 0x0, 0x1, 0x4, 0x61, 0x6, 0x40, 0x0, 0x1, 0x6, 0x6, 0x6, 0x40, 0x0, 0x1, 0x4, 0x6D, 0x6, 0x40, 0x0, 0x1, 0x4, 0x3C, 0x6, 0x40, 0x0, 0x1, 0x4, 0x5F, 0x6, 0x40, 0x0, 0x1, 0x4, 0xDE, 0x6, 0x40, 0x0, 0x1, 0x4, 0x80, 0x6, 0x40, 0x0, 0x1, 0x3, 0xD6, 0x6, 0x40, 0x0, 0x1, 0x4, 0x35, 0x6, 0x40, 0x0, 0x1, 0x6, 0x8, 0x6, 0x40, 0x0, 0x1, 0x4, 0x3D, 0x6, 0x40, 0x0, 0x1, 0x4, 0x86, 0x6, 0x40, 0x0, 0x1, 0x4, 0x4B, 0x6, 0x40, 0x0, 0x1, 0x4, 0x8E, 0x6, 0x40, 0x0, 0x1, 0x4, 0x9E, 0x6, 0x40, 0x0, 0x1, 0x3, 0xE1, 0x6, 0x40, 0x0, 0x1, 0x4, 0xC0, 0x6, 0x40, 0x0, 0x1, 0x5, 0x98, 0x6, 0x40, 0x0, 0x1, 0x5, 0xB0, 0x6, 0x40, 0x0, 0x4, 0x0, 0x0, 0x0, 0x1, 0x0, 0x8, 0x0, 0x1, 0x0, 0xC, 0x0, 0x16, 0x0, 0x1, 0x2, 0x4E, 0x2, 0x6E, 0x0, 0x1, 0x0, 0x3, 0x2, 0xD, 0x2, 0x10, 0x2, 0x13, 0x0, 0x2, 0x0, 0x5E, 0x0, 0x26, 0x0, 0x3F, 0x0, 0x0, 0x0, 0x46, 0x0, 0x5F, 0x0, 0x1A, 0x0, 0x8C, 0x0, 0x8C, 0x0, 0x34, 0x0, 0x94, 0x0, 0x95, 0x0, 0x35, 0x2, 0xD2, 0x2, 0xD2, 0x0, 0x37, 0x2, 0xDA, 0x2, 0xDB, 0x0, 0x38, 0x2, 0xEB, 0x2, 0xEB, 0x0, 0x3A, 0x2, 0xED, 0x2, 0xED, 0x0, 0x3B, 0x2, 0xF4, 0x2, 0xF5, 0x0, 0x3C, 0x3, 0x17, 0x3, 0x17, 0x0, 0x3E, 0x4, 0x2B, 0x4, 0x2D, 0x0, 0x3F, 0x5, 0x5D, 0x5, 0x5E, 0x0, 0x42, 0x6, 0xC7, 0x6, 0xC8, 0x0, 0x44, 0x7, 0x4E, 0x7, 0x62, 0x0, 0x46, 0x7, 0xA6, 0x7, 0xA6, 0x0, 0x5B, 0x7, 0xAE, 0x7, 0xB1, 0x0, 0x5C, 0x7, 0xDE, 0x7, 0xE2, 0x0, 0x60, 0x8, 0xAD, 0x8, 0xAD, 0x0, 0x65, 0x8, 0xB3, 0x8, 0xB3, 0x0, 0x66, 0x8, 0xB5, 0x8, 0xB8, 0x0, 0x67, 0x8, 0xC8, 0x8, 0xF3, 0x0, 0x6B, 0x8, 0xF8, 0x9, 0x28, 0x0, 0x97, 0x9, 0x2A, 0x9, 0x2A, 0x0, 0xC8, 0x9, 0x2C, 0x9, 0x2C, 0x0, 0xC9, 0x9, 0x2E, 0x9, 0x30, 0x0, 0xCA, 0x9, 0x33, 0x9, 0x33, 0x0, 0xCD, 0x9, 0x35, 0x9, 0x78, 0x0, 0xCE, 0x9, 0x7D, 0x9, 0xDA, 0x1, 0x12, 0x9, 0xDD, 0x9, 0xEC, 0x1, 0x70, 0x9, 0xF3, 0x9, 0xF3, 0x1, 0x80, 0x9, 0xF5, 0x9, 0xF5, 0x1, 0x81, 0x9, 0xF9, 0x9, 0xF9, 0x1, 0x82, 0x9, 0xFC, 0x9, 0xFC, 0x1, 0x83, 0x9, 0xFE, 0xA, 0x1, 0x1, 0x84, 0xA, 0x3, 0xA, 0x3, 0x1, 0x88, 0xA, 0x5, 0xA, 0x6, 0x1, 0x89, 0xA, 0x8, 0xA, 0x8, 0x1, 0x8B, 0xA, 0xA, 0xA, 0xC, 0x1, 0x8C, 0xA, 0xE, 0xA, 0x13, 0x1, 0x8F, 0xA, 0x15, 0xA, 0x1A, 0x1, 0x95, 0xA, 0x1C, 0xA, 0x1D, 0x1, 0x9B, 0xA, 0x1F, 0xA, 0x1F, 0x1, 0x9D, 0xA, 0x21, 0xA, 0x29, 0x1, 0x9E, 0xA, 0x2F, 0xA, 0x33, 0x1, 0xA7, 0xA, 0x35, 0xA, 0x35, 0x1, 0xAC, 0xA, 0x3F, 0xA, 0x41, 0x1, 0xAD, 0xA, 0x43, 0xA, 0x43, 0x1, 0xB0, 0xA, 0x46, 0xA, 0x4A, 0x1, 0xB1, 0xA, 0x4D, 0xA, 0x4E, 0x1, 0xB6, 0xA, 0x5A, 0xA, 0x5B, 0x1, 0xB8, 0xA, 0x64, 0xA, 0x64, 0x1, 0xBA, 0xA, 0x66, 0xA, 0x66, 0x1, 0xBB, 0xA, 0x68, 0xA, 0x68, 0x1, 0xBC, 0xA, 0x6D, 0xA, 0x96, 0x1, 0xBD, 0xA, 0x98, 0xA, 0xA7, 0x1, 0xE7, 0xA, 0xB2, 0xA, 0xB5, 0x1, 0xF7, 0xA, 0xC0, 0xA, 0xC7, 0x1, 0xFB, 0xA, 0xCF, 0xA, 0xCF, 0x2, 0x3, 0xA, 0xD6, 0xA, 0xD6, 0x2, 0x4, 0xA, 0xD8, 0xA, 0xD9, 0x2, 0x5, 0xA, 0xDB, 0xA, 0xDB, 0x2, 0x7, 0xA, 0xEE, 0xA, 0xF0, 0x2, 0x8, 0xA, 0xF2, 0xA, 0xFD, 0x2, 0xB, 0xA, 0xFF, 0xB, 0x2, 0x2, 0x17, 0xB, 0x5, 0xB, 0xC, 0x2, 0x1B, 0xB, 0x10, 0xB, 0x1C, 0x2, 0x23, 0xB, 0x1E, 0xB, 0x1E, 0x2, 0x30, 0xB, 0x20, 0xB, 0x3B, 0x2, 0x31, 0xB, 0x3F, 0xB, 0x3F, 0x2, 0x4D, 0xB, 0x42, 0xB, 0x43, 0x2, 0x4E, 0xB, 0x47, 0xB, 0xD7, 0x2, 0x50, 0xB, 0xE0, 0xB, 0xE7, 0x2, 0xE1, 0xB, 0xEE, 0xB, 0xF3, 0x2, 0xE9, 0xB, 0xFC, 0xC, 0x3, 0x2, 0xEF, 0xC, 0xC, 0xC, 0x1F, 0x2, 0xF7, 0xC, 0x28, 0xC, 0x2B, 0x3, 0xB, 0xC, 0x44, 0xC, 0x45, 0x3, 0xF, 0xC, 0x52, 0xC, 0x59, 0x3, 0x11, 0xC, 0x62, 0xC, 0x69, 0x3, 0x19, 0xC, 0x81, 0xC, 0x85, 0x3, 0x21, 0xC, 0x8B, 0xC, 0x8F, 0x3, 0x26, 0xC, 0x96, 0xC, 0x99, 0x3, 0x2B, 0xC, 0xA2, 0xC, 0xA6, 0x3, 0x2F, 0xC, 0xAC, 0xC, 0xAD, 0x3, 0x34, 0xC, 0xB7, 0xC, 0xBC, 0x3, 0x36, 0xC, 0xBE, 0xC, 0xCE, 0x3, 0x3C, 0xC, 0xD0, 0xC, 0xD4, 0x3, 0x4D, 0xC, 0xD6, 0xC, 0xD7, 0x3, 0x52, 0xC, 0xD9, 0xC, 0xD9, 0x3, 0x54, 0xC, 0xDB, 0xC, 0xDD, 0x3, 0x55, 0xC, 0xDF, 0xC, 0xE2, 0x3, 0x58, 0xC, 0xE4, 0xC, 0xE6, 0x3, 0x5C, 0xC, 0xEB, 0xC, 0xEB, 0x3, 0x5F, 0xC, 0xEE, 0xD, 0x1C, 0x3, 0x60, 0x0, 0x3, 0x0, 0x0, 0x0, 0xE, 0x0, 0x0, 0x0, 0x14, 0x0, 0x0, 0x0, 0x1A, 0x0, 0x1, 0x0, 0x0, 0xFF, 0xDB, 0x0, 0x1, 0x0, 0x0, 0xFF, 0xDC, 0x0, 0x1, 0x0, 0x0, 0xFF, 0x78, 0x3, 0x8F, 0x9, 0x1E, 0x7, 0xBC, 0x7, 0xC2, 0x7, 0xCE, 0x9, 0x2A, 0x7, 0xDA, 0x7, 0xE6, 0x9, 0x60, 0x8, 0x8E, 0x8, 0x70, 0x7, 0xF2, 0x9, 0x24, 0x8, 0x4, 0x8, 0x10, 0x9, 0x36, 0x8, 0x9A, 0x9, 0x36, 0x8, 0x22, 0x8, 0x2E, 0x8, 0x3A, 0x8, 0x40, 0x8, 0x4C, 0x8, 0x58, 0x8, 0x5E, 0x8, 0x94, 0x8, 0x64, 0x9, 0x24, 0x8, 0x1C, 0x7, 0xC8, 0x7, 0xD4, 0x9, 0x30, 0x7, 0xE0, 0x7, 0xEC, 0x8, 0x70, 0x7, 0xFE, 0x7, 0xB0, 0x7, 0xF8, 0x7, 0xFE, 0x8, 0xA, 0x8, 0x16, 0x9, 0x3C, 0x8, 0x1C, 0x7, 0xB6, 0x8, 0x28, 0x8, 0x34, 0x8, 0x76, 0x8, 0x46, 0x8, 0x52, 0x8, 0x7C, 0x8, 0x6A, 0x8, 0x82, 0x8, 0x6A, 0x7, 0xD4, 0x7, 0x20, 0x7, 0x26, 0x9, 0x60, 0x8, 0x5E, 0x8, 0x6A, 0x9, 0x60, 0x8, 0x4, 0x8, 0x5E, 0x8, 0x6A, 0x8, 0x70, 0x7, 0x2C, 0x7, 0x32, 0x7, 0x38, 0x9, 0x60, 0x8, 0x70, 0x8, 0x10, 0x8, 0x16, 0x8, 0xC4, 0x9, 0x18, 0x8, 0xF4, 0x9, 0x12, 0x7, 0x3E, 0x7, 0x9E, 0x8, 0xEE, 0x9, 0xC, 0x7, 0x98, 0x9, 0x4E, 0x8, 0xE8, 0x9, 0x4E, 0x8, 0xCA, 0x8, 0xE2, 0x7, 0x92, 0x8, 0xD6, 0x9, 0x6, 0x8, 0xD0, 0x8, 0xFA, 0x7, 0x8C, 0x7, 0x44, 0x9, 0x48, 0x7, 0x86, 0x9, 0x0, 0x8, 0xDC, 0x9, 0x42, 0x9, 0x60, 0x9, 0x60, 0x9, 0x54, 0x9, 0x5A, 0x7, 0x4A, 0x7, 0xD4, 0x7, 0x50, 0x7, 0x56, 0x9, 0x4E, 0x7, 0x5C, 0x8, 0xCA, 0x7, 0x62, 0x7, 0x62, 0x7, 0x68, 0x8, 0x3A, 0x8, 0x76, 0x9, 0x1E, 0x9, 0x1E, 0x9, 0x1E, 0x9, 0x1E, 0x9, 0x1E, 0x9, 0x1E, 0x9, 0x1E, 0x7, 0xC2, 0x9, 0x2A, 0x9, 0x2A, 0x9, 0x2A, 0x9, 0x2A, 0x8, 0x8E, 0x8, 0x8E, 0x8, 0x8E, 0x8, 0x8E, 0x8, 0x10, 0x9, 0x36, 0x9, 0x36, 0x9, 0x36, 0x9, 0x36, 0x9, 0x36, 0x8, 0x40, 0x8, 0x40, 0x8, 0x40, 0x8, 0x40, 0x8, 0x94, 0x9, 0x24, 0x9, 0x24, 0x9, 0x24, 0x9, 0x24, 0x9, 0x24, 0x9, 0x24, 0x9, 0x24, 0x7, 0xC8, 0x9, 0x30, 0x9, 0x30, 0x9, 0x30, 0x9, 0x30, 0x8, 0x16, 0x9, 0x3C, 0x9, 0x3C, 0x9, 0x3C, 0x9, 0x3C, 0x9, 0x3C, 0x8, 0x46, 0x8, 0x46, 0x8, 0x46, 0x8, 0x46, 0x8, 0x82, 0x8, 0x82, 0x9, 0x1E, 0x9, 0x24, 0x9, 0x1E, 0x9, 0x24, 0x9, 0x1E, 0x9, 0x24, 0x7, 0xC2, 0x7, 0xC8, 0x7, 0xC2, 0x7, 0xC8, 0x7, 0xC2, 0x7, 0xC8, 0x7, 0xC2, 0x7, 0xC8, 0x7, 0xCE, 0x7, 0x6E, 0x9, 0x2A, 0x9, 0x30, 0x9, 0x2A, 0x9, 0x30, 0x9, 0x2A, 0x9, 0x30, 0x9, 0x2A, 0x9, 0x30, 0x9, 0x2A, 0x9, 0x30, 0x7, 0xE6, 0x7, 0xEC, 0x7, 0xE6, 0x7, 0xEC, 0x7, 0xE6, 0x7, 0xEC, 0x7, 0xE6, 0x7, 0xEC, 0x9, 0x60, 0x8, 0x70, 0x8, 0x8E, 0x8, 0x8E, 0x8, 0x8E, 0x8, 0x8E, 0x7, 0xFE, 0x8, 0x8E, 0x8, 0x70, 0x7, 0xF2, 0x7, 0xF8, 0x9, 0x24, 0x7, 0xFE, 0x9, 0x24, 0x7, 0xFE, 0x9, 0x24, 0x7, 0x74, 0x9, 0x24, 0x7, 0x7A, 0x8, 0x10, 0x8, 0x16, 0x8, 0x10, 0x8, 0x16, 0x8, 0x10, 0x8, 0x16, 0x8, 0x16, 0x9, 0x36, 0x9, 0x3C, 0x9, 0x36, 0x9, 0x3C, 0x9, 0x36, 0x9, 0x3C, 0x8, 0x22, 0x8, 0x28, 0x8, 0x22, 0x8, 0x28, 0x8, 0x22, 0x8, 0x28, 0x8, 0x2E, 0x8, 0x34, 0x8, 0x2E, 0x8, 0x34, 0x8, 0x2E, 0x8, 0x34, 0x8, 0x2E, 0x8, 0x34, 0x8, 0x2E, 0x8, 0x34, 0x8, 0x3A, 0x8, 0x76, 0x8, 0x3A, 0x8, 0x76, 0x8, 0x3A, 0x7, 0x80, 0x8, 0x40, 0x8, 0x46, 0x8, 0x40, 0x8, 0x46, 0x8, 0x40, 0x8, 0x46, 0x8, 0x40, 0x8, 0x46, 0x8, 0x40, 0x8, 0x46, 0x8, 0x40, 0x8, 0x46, 0x8, 0x58, 0x8, 0x7C, 0x8, 0x94, 0x8, 0x82, 0x8, 0x94, 0x8, 0x64, 0x8, 0x6A, 0x8, 0x64, 0x8, 0x6A, 0x8, 0x64, 0x8, 0x6A, 0x7, 0x86, 0x7, 0x86, 0x8, 0xEE, 0x9, 0x42, 0x9, 0x42, 0x9, 0x42, 0x9, 0x42, 0x9, 0x42, 0x9, 0x42, 0x9, 0x42, 0x9, 0x0, 0x9, 0x48, 0x9, 0x48, 0x9, 0x48, 0x9, 0x48, 0x8, 0xD0, 0x8, 0xD0, 0x8, 0xD0, 0x8, 0xD0, 0x8, 0xCA, 0x9, 0x4E, 0x9, 0x4E, 0x9, 0x4E, 0x9, 0x4E, 0x9, 0x4E, 0x7, 0x9E, 0x7, 0x9E, 0x7, 0x9E, 0x7, 0x9E, 0x9, 0x18, 0x9, 0x42, 0x9, 0x42, 0x9, 0x42, 0x9, 0x0, 0x9, 0x0, 0x9, 0x0, 0x9, 0x0, 0x7, 0x86, 0x9, 0x48, 0x9, 0x48, 0x9, 0x48, 0x9, 0x48, 0x9, 0x48, 0x7, 0x8C, 0x7, 0x8C, 0x7, 0x8C, 0x7, 0x8C, 0x8, 0xFA, 0x8, 0xD0, 0x8, 0xD0, 0x8, 0xD0, 0x8, 0xD0, 0x8, 0xD0, 0x9, 0x6, 0x8, 0xD6, 0x7, 0x92, 0x7, 0x92, 0x7, 0x92, 0x7, 0x92, 0x8, 0xCA, 0x8, 0xCA, 0x8, 0xCA, 0x9, 0x4E, 0x9, 0x4E, 0x9, 0x4E, 0x9, 0x4E, 0x7, 0x98, 0x7, 0x98, 0x7, 0x98, 0x9, 0xC, 0x9, 0xC, 0x9, 0xC, 0x9, 0xC, 0x8, 0xEE, 0x8, 0xEE, 0x8, 0xEE, 0x7, 0x9E, 0x7, 0x9E, 0x7, 0x9E, 0x7, 0x9E, 0x7, 0x9E, 0x7, 0x9E, 0x9, 0x12, 0x9, 0x18, 0x9, 0x18, 0x8, 0xC4, 0x8, 0xC4, 0x8, 0xC4, 0x9, 0x1E, 0x9, 0x2A, 0x9, 0x60, 0x8, 0x8E, 0x8, 0xA0, 0x7, 0xA4, 0x9, 0x1E, 0x7, 0xBC, 0x9, 0x2A, 0x8, 0x64, 0x9, 0x60, 0x8, 0x8E, 0x7, 0xF2, 0x8, 0x4, 0x8, 0x10, 0x9, 0x36, 0x8, 0x9A, 0x8, 0x3A, 0x8, 0x94, 0x8, 0x5E, 0x8, 0x8E, 0x8, 0x94, 0x9, 0x3C, 0x8, 0x52, 0x9, 0x3C, 0x9, 0x2A, 0x8, 0x2E, 0x8, 0x8E, 0x8, 0x8E, 0x8, 0x70, 0x7, 0xF2, 0x9, 0x1E, 0x7, 0xBC, 0x9, 0x2A, 0x8, 0x4, 0x9, 0x60, 0x9, 0x36, 0x8, 0x9A, 0x7, 0xC2, 0x8, 0x3A, 0x8, 0x5E, 0x9, 0x24, 0x9, 0x30, 0x9, 0x3C, 0x8, 0x1C, 0x7, 0xC8, 0x8, 0x82, 0x8, 0x6A, 0x9, 0x30, 0x8, 0x34, 0x7, 0xFE, 0x7, 0xB0, 0x8, 0x82, 0x8, 0x58, 0x8, 0x7C, 0x8, 0x58, 0x8, 0x7C, 0x8, 0x58, 0x8, 0x7C, 0x8, 0x94, 0x8, 0x82, 0x8, 0x4, 0x8, 0xA, 0x9, 0x1E, 0x9, 0x24, 0x9, 0x2A, 0x9, 0x30, 0x7, 0xC2, 0x7, 0xC8, 0x8, 0x94, 0x8, 0x8E, 0x8, 0x8E, 0x9, 0x1E, 0x9, 0x24, 0x9, 0x1E, 0x9, 0x24, 0x9, 0x2A, 0x9, 0x30, 0x9, 0x36, 0x9, 0x3C, 0x8, 0x82, 0x8, 0x82, 0x8, 0x82, 0x7, 0xD4, 0x9, 0x1E, 0x9, 0x24, 0x9, 0x1E, 0x9, 0x24, 0x9, 0x1E, 0x9, 0x24, 0x9, 0x1E, 0x9, 0x24, 0x9, 0x1E, 0x9, 0x24, 0x9, 0x1E, 0x9, 0x24, 0x9, 0x1E, 0x9, 0x24, 0x9, 0x1E, 0x9, 0x24, 0x9, 0x1E, 0x9, 0x24, 0x9, 0x1E, 0x9, 0x24, 0x9, 0x1E, 0x9, 0x24, 0x9, 0x1E, 0x9, 0x24, 0x9, 0x2A, 0x9, 0x30, 0x9, 0x2A, 0x9, 0x30, 0x9, 0x2A, 0x9, 0x30, 0x9, 0x2A, 0x9, 0x30, 0x9, 0x2A, 0x9, 0x30, 0x9, 0x2A, 0x9, 0x30, 0x9, 0x2A, 0x9, 0x30, 0x9, 0x2A, 0x9, 0x30, 0x8, 0x8E, 0x8, 0x8E, 0x7, 0xFE, 0x9, 0x36, 0x9, 0x3C, 0x9, 0x36, 0x9, 0x3C, 0x9, 0x36, 0x9, 0x3C, 0x9, 0x36, 0x9, 0x3C, 0x9, 0x36, 0x9, 0x3C, 0x9, 0x36, 0x9, 0x3C, 0x9, 0x36, 0x9, 0x3C, 0x8, 0x40, 0x8, 0x46, 0x8, 0x40, 0x8, 0x46, 0x8, 0x94, 0x8, 0x82, 0x8, 0x94, 0x8, 0x82, 0x8, 0x94, 0x8, 0x82, 0x7, 0xAA, 0x8, 0x3A, 0x8, 0x70, 0x8, 0x94, 0x8, 0x5E, 0x8, 0x6A, 0x7, 0xDA, 0x9, 0x1E, 0x9, 0x24, 0x8, 0x8E, 0x9, 0x36, 0x9, 0x3C, 0x8, 0x40, 0x8, 0x46, 0x8, 0x40, 0x8, 0x46, 0x8, 0x40, 0x8, 0x46, 0x8, 0x40, 0x8, 0x46, 0x8, 0x40, 0x8, 0x46, 0x9, 0x1E, 0x9, 0x24, 0x9, 0x1E, 0x9, 0x24, 0x7, 0xE6, 0x7, 0xEC, 0x7, 0xF2, 0x7, 0xF8, 0x9, 0x36, 0x9, 0x3C, 0x9, 0x36, 0x9, 0x3C, 0x7, 0xE6, 0x7, 0xEC, 0x8, 0x10, 0x8, 0x16, 0x9, 0x1E, 0x9, 0x24, 0x9, 0x1E, 0x9, 0x24, 0x9, 0x2A, 0x9, 0x30, 0x9, 0x2A, 0x9, 0x30, 0x8, 0x8E, 0x8, 0x8E, 0x9, 0x36, 0x9, 0x3C, 0x9, 0x36, 0x9, 0x3C, 0x8, 0x22, 0x8, 0x28, 0x8, 0x22, 0x8, 0x28, 0x8, 0x40, 0x8, 0x46, 0x8, 0x40, 0x8, 0x46, 0x9, 0x60, 0x8, 0x70, 0x9, 0x1E, 0x9, 0x24, 0x9, 0x2A, 0x9, 0x30, 0x9, 0x36, 0x9, 0x3C, 0x9, 0x36, 0x9, 0x3C, 0x9, 0x36, 0x9, 0x3C, 0x9, 0x36, 0x9, 0x3C, 0x8, 0x94, 0x8, 0x82, 0x8, 0x70, 0x7, 0xC8, 0x7, 0xB0, 0x7, 0xC2, 0x8, 0x4, 0x9, 0x36, 0x7, 0xB6, 0x8, 0x58, 0x8, 0x7C, 0x7, 0xBC, 0x8, 0x1C, 0x7, 0xBC, 0x8, 0x1C, 0x7, 0xBC, 0x8, 0x1C, 0x7, 0xC2, 0x7, 0xC8, 0x7, 0xCE, 0x7, 0xD4, 0x7, 0xCE, 0x7, 0xD4, 0x7, 0xCE, 0x7, 0xD4, 0x7, 0xCE, 0x7, 0xD4, 0x7, 0xCE, 0x7, 0xD4, 0x9, 0x2A, 0x9, 0x30, 0x9, 0x2A, 0x9, 0x30, 0x9, 0x2A, 0x9, 0x30, 0x9, 0x2A, 0x9, 0x30, 0x9, 0x2A, 0x9, 0x30, 0x7, 0xDA, 0x7, 0xE0, 0x7, 0xE6, 0x7, 0xEC, 0x9, 0x60, 0x8, 0x70, 0x9, 0x60, 0x8, 0x70, 0x9, 0x60, 0x8, 0x70, 0x9, 0x60, 0x8, 0x70, 0x7, 0xF2, 0x7, 0xF8, 0x7, 0xF2, 0x7, 0xF8, 0x7, 0xF2, 0x7, 0xF8, 0x9, 0x24, 0x7, 0xFE, 0x9, 0x24, 0x7, 0xFE, 0x9, 0x24, 0x7, 0xFE, 0x9, 0x24, 0x7, 0xFE, 0x8, 0x4, 0x8, 0xA, 0x8, 0x4, 0x8, 0xA, 0x8, 0x10, 0x8, 0x16, 0x8, 0x10, 0x8, 0x16, 0x8, 0x10, 0x8, 0x16, 0x8, 0x10, 0x8, 0x16, 0x9, 0x36, 0x9, 0x3C, 0x9, 0x36, 0x9, 0x3C, 0x9, 0x36, 0x9, 0x3C, 0x9, 0x36, 0x9, 0x3C, 0x8, 0x9A, 0x8, 0x1C, 0x8, 0x9A, 0x8, 0x1C, 0x8, 0x22, 0x8, 0x28, 0x8, 0x22, 0x8, 0x28, 0x8, 0x22, 0x8, 0x28, 0x8, 0x22, 0x8, 0x28, 0x8, 0x2E, 0x8, 0x34, 0x8, 0x2E, 0x8, 0x34, 0x8, 0x2E, 0x8, 0x34, 0x8, 0x2E, 0x8, 0x34, 0x8, 0x2E, 0x8, 0x34, 0x8, 0x3A, 0x8, 0x76, 0x8, 0x3A, 0x8, 0x76, 0x8, 0x3A, 0x8, 0x76, 0x8, 0x3A, 0x8, 0x76, 0x8, 0x40, 0x8, 0x46, 0x8, 0x40, 0x8, 0x46, 0x8, 0x40, 0x8, 0x46, 0x8, 0x40, 0x8, 0x46, 0x8, 0x40, 0x8, 0x46, 0x8, 0x4C, 0x8, 0x52, 0x8, 0x4C, 0x8, 0x52, 0x8, 0x58, 0x8, 0x7C, 0x8, 0x58, 0x8, 0x7C, 0x8, 0x5E, 0x8, 0x6A, 0x8, 0x5E, 0x8, 0x6A, 0x8, 0x94, 0x8, 0x82, 0x8, 0x64, 0x8, 0x6A, 0x8, 0x64, 0x8, 0x6A, 0x8, 0x64, 0x8, 0x6A, 0x8, 0x70, 0x8, 0x76, 0x8, 0x7C, 0x8, 0x82, 0x9, 0x24, 0x9, 0x1E, 0x9, 0x1E, 0x9, 0x1E, 0x9, 0x1E, 0x9, 0x1E, 0x9, 0x1E, 0x9, 0x1E, 0x9, 0x1E, 0x9, 0x2A, 0x9, 0x2A, 0x9, 0x2A, 0x9, 0x2A, 0x9, 0x2A, 0x9, 0x2A, 0x9, 0x60, 0x9, 0x60, 0x9, 0x60, 0x9, 0x60, 0x9, 0x60, 0x9, 0x60, 0x9, 0x60, 0x9, 0x60, 0x8, 0x8E, 0x8, 0x8E, 0x8, 0x8E, 0x8, 0x8E, 0x8, 0x8E, 0x8, 0x8E, 0x8, 0x8E, 0x8, 0x8E, 0x9, 0x3C, 0x9, 0x3C, 0x9, 0x3C, 0x9, 0x3C, 0x9, 0x3C, 0x9, 0x3C, 0x8, 0xA0, 0x8, 0xA0, 0x8, 0x88, 0x8, 0x88, 0x8, 0x88, 0x8, 0x88, 0x8, 0x94, 0x8, 0x94, 0x8, 0x94, 0x8, 0x94, 0x9, 0x3C, 0x9, 0x3C, 0x9, 0x1E, 0x9, 0x1E, 0x9, 0x1E, 0x9, 0x1E, 0x9, 0x1E, 0x9, 0x1E, 0x9, 0x1E, 0x9, 0x1E, 0x9, 0x60, 0x9, 0x60, 0x9, 0x60, 0x9, 0x60, 0x9, 0x60, 0x9, 0x60, 0x9, 0x60, 0x9, 0x60, 0x9, 0x1E, 0x9, 0x1E, 0x9, 0x1E, 0x9, 0x1E, 0x9, 0x1E, 0x9, 0x2A, 0x9, 0x2A, 0x9, 0x60, 0x9, 0x60, 0x9, 0x60, 0x8, 0x8E, 0x8, 0x8E, 0x8, 0x8E, 0x8, 0x8E, 0x8, 0x94, 0x8, 0x94, 0x8, 0x94, 0x8, 0x94, 0x8, 0x9A, 0x8, 0xA0, 0x8, 0xA0, 0x9, 0x42, 0x8, 0xA6, 0x8, 0xAC, 0x8, 0xB2, 0x8, 0xB8, 0x8, 0xBE, 0x9, 0x42, 0x8, 0xDC, 0x9, 0x48, 0x8, 0xC4, 0x8, 0xFA, 0x8, 0xD0, 0x8, 0xD6, 0x8, 0xE2, 0x8, 0xCA, 0x9, 0x4E, 0x8, 0xE8, 0x8, 0xEE, 0x9, 0x18, 0x8, 0xF4, 0x8, 0xD0, 0x9, 0x18, 0x9, 0x48, 0x9, 0xC, 0x8, 0xD0, 0x8, 0xD0, 0x9, 0x6, 0x8, 0xD6, 0x9, 0x42, 0x8, 0xDC, 0x9, 0x48, 0x8, 0xE2, 0x8, 0xFA, 0x9, 0x4E, 0x8, 0xE8, 0x9, 0x0, 0x8, 0xEE, 0x8, 0xF4, 0x8, 0xFA, 0x9, 0x0, 0x9, 0x18, 0x9, 0x6, 0x9, 0x4E, 0x9, 0xC, 0x9, 0x12, 0x9, 0x12, 0x9, 0x12, 0x9, 0x18, 0x9, 0x1E, 0x9, 0x24, 0x9, 0x2A, 0x9, 0x30, 0x9, 0x36, 0x9, 0x3C, 0x9, 0x42, 0x9, 0x48, 0x9, 0x4E, 0x9, 0x54, 0x9, 0x54, 0x9, 0x54, 0x9, 0x54, 0x9, 0x54, 0x9, 0x54, 0x9, 0x54, 0x9, 0x54, 0x9, 0x54, 0x9, 0x54, 0x9, 0x5A, 0x9, 0x5A, 0x9, 0x5A, 0x9, 0x5A, 0x9, 0x5A, 0x9, 0x5A, 0x9, 0x5A, 0x9, 0x5A, 0x9, 0x5A, 0x9, 0x60, 0x9, 0x60, 0x9, 0x60, 0x9, 0x60, 0x9, 0x60, 0x9, 0x60, 0x9, 0x60, 0x9, 0x60, 0x9, 0x60, 0x9, 0x60, 0x9, 0x60, 0x9, 0x60, 0x9, 0x60, 0x0, 0x1, 0x7, 0xB4, 0xFE, 0x69, 0x0, 0x1, 0x7, 0x3B, 0xFE, 0x69, 0x0, 0x1, 0x2, 0xA0, 0xFE, 0x69, 0x0, 0x1, 0x2, 0x82, 0xFE, 0x69, 0x0, 0x1, 0x2, 0x94, 0xFE, 0x69, 0x0, 0x1, 0x4, 0x7C, 0xFE, 0x69, 0x0, 0x1, 0x3, 0xC6, 0xFE, 0x69, 0x0, 0x1, 0x8, 0xAC, 0xFE, 0x69, 0x0, 0x1, 0x3, 0xC4, 0xFE, 0x69, 0x0, 0x1, 0x4, 0x9, 0xFE, 0x69, 0x0, 0x1, 0x4, 0xF4, 0xFE, 0x69, 0x0, 0x1, 0x5, 0x58, 0xFE, 0x69, 0x0, 0x1, 0x4, 0x8F, 0xFE, 0x69, 0x0, 0x1, 0x5, 0x1B, 0xFE, 0x69, 0x0, 0x1, 0x2, 0xA2, 0xFE, 0x69, 0x0, 0x1, 0x2, 0xE8, 0xFE, 0x69, 0x0, 0x1, 0x2, 0xD2, 0xFE, 0x69, 0x0, 0x1, 0x4, 0x7B, 0xFE, 0x69, 0x0, 0x1, 0x4, 0xA7, 0xFE, 0x69, 0x0, 0x1, 0x3, 0xBA, 0xFE, 0x69, 0x0, 0x1, 0x4, 0x5D, 0xFE, 0x69, 0x0, 0x1, 0x4, 0x84, 0xFE, 0x69, 0x0, 0x1, 0x5, 0x44, 0xFE, 0x69, 0x0, 0x1, 0x4, 0xA3, 0xFE, 0x69, 0x0, 0x1, 0x2, 0x1, 0xFE, 0x69, 0x0, 0x1, 0x4, 0x8B, 0xFE, 0x69, 0x0, 0x1, 0x5, 0xD, 0xFE, 0x69, 0x0, 0x1, 0x5, 0x39, 0xFE, 0x69, 0x0, 0x1, 0x4, 0x31, 0xFE, 0x69, 0x0, 0x1, 0x5, 0x3A, 0xFE, 0x69, 0x0, 0x1, 0x4, 0x85, 0xFE, 0x69, 0x0, 0x1, 0x4, 0x66, 0xFE, 0x69, 0x0, 0x1, 0x2, 0xD6, 0xFE, 0x69, 0x0, 0x1, 0x5, 0x73, 0xFE, 0x69, 0x0, 0x1, 0x4, 0x89, 0xFE, 0x69, 0x0, 0x1, 0x5, 0xB, 0xFE, 0x69, 0x0, 0x1, 0x4, 0x2D, 0xFE, 0x69, 0x0, 0x1, 0x2, 0xC, 0xFE, 0x69, 0x0, 0x1, 0x7, 0x1, 0xFE, 0x69, 0x0, 0x1, 0x6, 0xF7, 0xFE, 0x69, 0x0, 0x1, 0x5, 0xAF, 0xFE, 0x69, 0x0, 0x1, 0x4, 0x73, 0xFE, 0x69, 0x0, 0x1, 0x4, 0x81, 0xFE, 0x69, 0x0, 0x1, 0x4, 0xFF, 0xFE, 0x69, 0x0, 0x1, 0x2, 0xD0, 0xFE, 0x69, 0x0, 0x1, 0x4, 0xD5, 0xFE, 0x69, 0x0, 0x1, 0x4, 0x22, 0xFE, 0x69, 0x0, 0x1, 0x4, 0xDC, 0xFE, 0x69, 0x0, 0x1, 0x5, 0x38, 0xFE, 0x69, 0x0, 0x1, 0x4, 0x72, 0xFE, 0x69, 0x0, 0x1, 0x5, 0x2E, 0xFE, 0x69, 0x0, 0x1, 0x3, 0xF6, 0xFE, 0x69, 0x0, 0x1, 0x7, 0xB, 0xFE, 0x69, 0x0, 0x1, 0x5, 0x10, 0xFE, 0x69, 0x0, 0x1, 0x4, 0xD2, 0xFE, 0x69, 0x0, 0x1, 0x4, 0x7, 0xFE, 0x69, 0x0, 0x1, 0x4, 0x71, 0xFE, 0x69, 0x0, 0x1, 0x2, 0xAA, 0xFE, 0x69, 0x0, 0x1, 0x5, 0xF2, 0xFE, 0x69, 0x0, 0x1, 0x3, 0xE5, 0xFE, 0x69, 0x0, 0x1, 0x5, 0xCC, 0xFE, 0x69, 0x0, 0x1, 0x2, 0x42, 0xFE, 0x69, 0x0, 0x1, 0x4, 0xE0, 0xFE, 0x69, 0x0, 0x1, 0x5, 0x1E, 0xFE, 0x69, 0x0, 0x1, 0x5, 0x9A, 0xFE, 0x69, 0x0, 0x1, 0x4, 0x1D, 0xFE, 0x69, 0x0, 0x1, 0x5, 0x1A, 0xFE, 0x69, 0x0, 0x1, 0x2, 0x39, 0xFE, 0x69, 0x0, 0x1, 0x4, 0xCA, 0xFE, 0x69, 0x0, 0x1, 0x4, 0x79, 0xFE, 0x69, 0x0, 0x1, 0x4, 0x2A, 0xFE, 0x69, 0x0, 0x1, 0x4, 0xDD, 0xFE, 0x69, 0x0, 0x1, 0x1, 0xFD, 0xFE, 0x69, 0x0, 0x1, 0x4, 0x5C, 0xFE, 0x69, 0x0, 0x1, 0x4, 0x61, 0xFE, 0x69, 0x0, 0x1, 0x6, 0x6, 0xFE, 0x69, 0x0, 0x1, 0x4, 0x6D, 0xFE, 0x69, 0x0, 0x1, 0x4, 0x3C, 0xFE, 0x69, 0x0, 0x1, 0x4, 0x5F, 0xFE, 0x69, 0x0, 0x1, 0x4, 0xDE, 0xFE, 0x69, 0x0, 0x1, 0x4, 0x80, 0xFE, 0x69, 0x0, 0x1, 0x3, 0xD6, 0xFE, 0x69, 0x0, 0x1, 0x4, 0x35, 0xFE, 0x69, 0x0, 0x1, 0x6, 0x8, 0xFE, 0x69, 0x0, 0x1, 0x4, 0x3D, 0xFE, 0x69, 0x0, 0x1, 0x5, 0x53, 0xFE, 0x69, 0x0, 0x1, 0x4, 0x55, 0xFE, 0x69, 0x0, 0x1, 0x4, 0x86, 0xFE, 0x69, 0x0, 0x1, 0x4, 0x4B, 0xFE, 0x69, 0x0, 0x1, 0x5, 0x86, 0xFE, 0x69, 0x0, 0x1, 0x4, 0x8E, 0xFE, 0x69, 0x0, 0x1, 0x4, 0x9E, 0xFE, 0x69, 0x0, 0x1, 0x3, 0xE1, 0xFE, 0x69, 0x0, 0x1, 0x4, 0xC0, 0xFE, 0x69, 0x0, 0x1, 0x5, 0x75, 0xFE, 0x69, 0x0, 0x1, 0x5, 0x98, 0xFE, 0x69, 0x0, 0x1, 0x5, 0xB0, 0xFE, 0x69, 0x0, 0x4, 0x0, 0x0, 0x0, 0x1, 0x0, 0x8, 0x0, 0x1, 0x0, 0xC, 0x0, 0x12, 0x0, 0x1, 0x0, 0x3A, 0x0, 0x46, 0x0, 0x1, 0x0, 0x1, 0x1, 0x8F, 0x0, 0x1, 0x0, 0x12, 0x0, 0x46, 0x0, 0x4A, 0x0, 0x4E, 0x0, 0x54, 0x0, 0x5A, 0x0, 0x5E, 0x0, 0x8E, 0x1, 0x5, 0x1, 0x6, 0x1, 0x7, 0x1, 0x9, 0x1, 0xD, 0x1, 0xE, 0x1, 0x11, 0x1, 0x13, 0x1, 0x1E, 0x4, 0x2C, 0x4, 0x2E, 0x0, 0x1, 0x0, 0x0, 0x0, 0x6, 0x0, 0x1, 0xFF, 0x3E, 0x2, 0x83, 0x0, 0x12, 0x0, 0x26, 0x0, 0x2C, 0x0, 0x44, 0x0, 0x32, 0x0, 0x38, 0x0, 0x3E, 0x0, 0x44, 0x0, 0x4A, 0x0, 0x50, 0x0, 0x56, 0x0, 0x5C, 0x0, 0x62, 0x0, 0x68, 0x0, 0x6E, 0x0, 0x74, 0x0, 0x7A, 0x0, 0x80, 0x0, 0x86, 0x0, 0x1, 0x3, 0x67, 0x2, 0x8E, 0x0, 0x1, 0x3, 0x92, 0x2, 0x8E, 0x0, 0x1, 0x3, 0xD6, 0x2, 0x8E, 0x0, 0x1, 0x3, 0x9C, 0x2, 0x8E, 0x0, 0x1, 0x2, 0xFD, 0x2, 0x8E, 0x0, 0x1, 0x1, 0x34, 0x2, 0x8E, 0x0, 0x1, 0x3, 0x71, 0x2, 0x71, 0x0, 0x1, 0x3, 0x88, 0x2, 0x9C, 0x0, 0x1, 0x3, 0xD2, 0x2, 0x8E, 0x0, 0x1, 0x3, 0x56, 0x2, 0x8E, 0x0, 0x1, 0x3, 0x6B, 0x2, 0x8E, 0x0, 0x1, 0x3, 0x76, 0x2, 0x8E, 0x0, 0x1, 0x3, 0x9B, 0x3, 0xB, 0x0, 0x1, 0x3, 0x13, 0x2, 0x7F, 0x0, 0x1, 0x1, 0x3, 0x2, 0x84, 0x0, 0x1, 0x1, 0xAA, 0x2, 0x8E, 0x0, 0x1, 0x1, 0x97, 0x2, 0x8E, 0x0, 0x4, 0x0, 0x0, 0x0, 0x1, 0x0, 0x8, 0x0, 0x1, 0x0, 0xC, 0x0, 0x12, 0x0, 0x1, 0x2, 0xF8, 0x3, 0x4, 0x0, 0x1, 0x0, 0x1, 0x1, 0xC6, 0x0, 0x2, 0x0, 0x7B, 0x0, 0x26, 0x0, 0x3F, 0x0, 0x0, 0x0, 0x46, 0x0, 0x5F, 0x0, 0x1A, 0x0, 0x82, 0x0, 0x82, 0x0, 0x34, 0x0, 0x84, 0x0, 0x84, 0x0, 0x35, 0x0, 0x87, 0x0, 0x87, 0x0, 0x36, 0x0, 0x8A, 0x0, 0x8A, 0x0, 0x37, 0x0, 0x8C, 0x0, 0x97, 0x0, 0x38, 0x0, 0xA6, 0x0, 0xA7, 0x0, 0x44, 0x0, 0xAD, 0x0, 0xAD, 0x0, 0x46, 0x0, 0xB0, 0x0, 0xB1, 0x0, 0x47, 0x0, 0xB4, 0x0, 0xB5, 0x0, 0x49, 0x0, 0xBD, 0x0, 0xBD, 0x0, 0x4B, 0x0, 0xC3, 0x0, 0xC4, 0x0, 0x4C, 0x0, 0xC9, 0x0, 0xCA, 0x0, 0x4E, 0x0, 0xDB, 0x0, 0xDC, 0x0, 0x50, 0x0, 0xEC, 0x0, 0xEC, 0x0, 0x52, 0x0, 0xF2, 0x0, 0xF2, 0x0, 0x53, 0x0, 0xF8, 0x0, 0xF9, 0x0, 0x54, 0x0, 0xFD, 0x0, 0xFE, 0x0, 0x56, 0x1, 0x1, 0x1, 0x61, 0x0, 0x58, 0x2, 0x30, 0x2, 0x30, 0x0, 0xB9, 0x2, 0x3A, 0x2, 0x3A, 0x0, 0xBA, 0x2, 0x3E, 0x2, 0x3E, 0x0, 0xBB, 0x2, 0x40, 0x2, 0x40, 0x0, 0xBC, 0x2, 0x42, 0x2, 0x43, 0x0, 0xBD, 0x2, 0x46, 0x2, 0x46, 0x0, 0xBF, 0x2, 0x4A, 0x2, 0x4A, 0x0, 0xC0, 0x2, 0x4C, 0x2, 0x4D, 0x0, 0xC1, 0x2, 0x51, 0x2, 0x51, 0x0, 0xC3, 0x2, 0x53, 0x2, 0x53, 0x0, 0xC4, 0x2, 0x69, 0x2, 0x69, 0x0, 0xC5, 0x2, 0x70, 0x2, 0x72, 0x0, 0xC6, 0x2, 0x74, 0x2, 0x74, 0x0, 0xC9, 0x2, 0x77, 0x2, 0x77, 0x0, 0xCA, 0x2, 0x7B, 0x2, 0x7B, 0x0, 0xCB, 0x2, 0x7D, 0x2, 0x7F, 0x0, 0xCC, 0x2, 0x81, 0x2, 0x91, 0x0, 0xCF, 0x2, 0x93, 0x2, 0x93, 0x0, 0xE0, 0x2, 0x95, 0x2, 0x97, 0x0, 0xE1, 0x2, 0x99, 0x2, 0x99, 0x0, 0xE4, 0x2, 0x9E, 0x2, 0x9F, 0x0, 0xE5, 0x2, 0xAC, 0x2, 0xB0, 0x0, 0xE7, 0x2, 0xB2, 0x2, 0xB2, 0x0, 0xEC, 0x2, 0xB6, 0x2, 0xB8, 0x0, 0xED, 0x2, 0xC1, 0x2, 0xC2, 0x0, 0xF0, 0x2, 0xCA, 0x2, 0xCB, 0x0, 0xF2, 0x2, 0xCD, 0x2, 0xCD, 0x0, 0xF4, 0x2, 0xD2, 0x2, 0xD3, 0x0, 0xF5, 0x2, 0xD8, 0x2, 0xDB, 0x0, 0xF7, 0x2, 0xDE, 0x2, 0xDF, 0x0, 0xFB, 0x2, 0xE2, 0x2, 0xE2, 0x0, 0xFD, 0x2, 0xE8, 0x2, 0xE8, 0x0, 0xFE, 0x2, 0xEB, 0x2, 0xEF, 0x0, 0xFF, 0x2, 0xF4, 0x2, 0xF5, 0x1, 0x4, 0x2, 0xF9, 0x2, 0xF9, 0x1, 0x6, 0x2, 0xFB, 0x2, 0xFB, 0x1, 0x7, 0x2, 0xFF, 0x2, 0xFF, 0x1, 0x8, 0x3, 0x1, 0x3, 0x3, 0x1, 0x9, 0x3, 0x5, 0x3, 0x5, 0x1, 0xC, 0x3, 0x7, 0x3, 0x7, 0x1, 0xD, 0x3, 0x15, 0x3, 0x17, 0x1, 0xE, 0x3, 0x1F, 0x3, 0x1F, 0x1, 0x11, 0x3, 0x2F, 0x3, 0x3F, 0x1, 0x12, 0x3, 0x43, 0x3, 0x44, 0x1, 0x23, 0x3, 0x47, 0x3, 0x4B, 0x1, 0x25, 0x3, 0x4F, 0x3, 0x5A, 0x1, 0x2A, 0x3, 0x9A, 0x3, 0xA6, 0x1, 0x36, 0x3, 0xA8, 0x3, 0xA9, 0x1, 0x43, 0x3, 0xAB, 0x3, 0xC9, 0x1, 0x45, 0x4, 0x2B, 0x4, 0x2E, 0x1, 0x64, 0x5, 0x5D, 0x5, 0x5E, 0x1, 0x68, 0x6, 0xC7, 0x6, 0xC8, 0x1, 0x6A, 0x7, 0x4E, 0x7, 0x62, 0x1, 0x6C, 0x7, 0x66, 0x7, 0x66, 0x1, 0x81, 0x7, 0x71, 0x7, 0x71, 0x1, 0x82, 0x7, 0x78, 0x7, 0x7A, 0x1, 0x83, 0x7, 0x7D, 0x7, 0x7D, 0x1, 0x86, 0x7, 0x7F, 0x7, 0x7F, 0x1, 0x87, 0x7, 0x83, 0x7, 0x83, 0x1, 0x88, 0x7, 0x85, 0x7, 0x87, 0x1, 0x89, 0x7, 0x8D, 0x7, 0x8D, 0x1, 0x8C, 0x7, 0x92, 0x7, 0x92, 0x1, 0x8D, 0x7, 0x94, 0x7, 0x94, 0x1, 0x8E, 0x7, 0x96, 0x7, 0x96, 0x1, 0x8F, 0x7, 0xA6, 0x7, 0xA6, 0x1, 0x90, 0x7, 0xA9, 0x7, 0xA9, 0x1, 0x91, 0x7, 0xAB, 0x7, 0xAB, 0x1, 0x92, 0x7, 0xAE, 0x7, 0xB1, 0x1, 0x93, 0x7, 0xDE, 0x7, 0xE2, 0x1, 0x97, 0x7, 0xEE, 0x7, 0xF3, 0x1, 0x9C, 0x7, 0xF5, 0x7, 0xF5, 0x1, 0xA2, 0x7, 0xF7, 0x7, 0xF8, 0x1, 0xA3, 0x7, 0xFA, 0x7, 0xFA, 0x1, 0xA5, 0x8, 0xAD, 0x8, 0xB0, 0x1, 0xA6, 0x8, 0xB3, 0x8, 0xB8, 0x1, 0xAA, 0x8, 0xC8, 0x9, 0x30, 0x1, 0xB0, 0x9, 0x33, 0x9, 0xDA, 0x2, 0x19, 0x9, 0xDC, 0x9, 0xF3, 0x2, 0xC1, 0x9, 0xF5, 0x9, 0xF5, 0x2, 0xD9, 0x9, 0xF7, 0xA, 0x1, 0x2, 0xDA, 0xA, 0x3, 0xA, 0xC, 0x2, 0xE5, 0xA, 0xE, 0xA, 0x29, 0x2, 0xEF, 0xA, 0x2D, 0xA, 0x2D, 0x3, 0xB, 0xA, 0x2F, 0xA, 0x36, 0x3, 0xC, 0xA, 0x38, 0xA, 0x3A, 0x3, 0x14, 0xA, 0x3D, 0xA, 0x41, 0x3, 0x17, 0xA, 0x43, 0xA, 0xCC, 0x3, 0x1C, 0xA, 0xCF, 0xA, 0xCF, 0x3, 0xA6, 0xA, 0xD2, 0xA, 0xD3, 0x3, 0xA7, 0xA, 0xD5, 0xA, 0xD6, 0x3, 0xA9, 0xA, 0xD8, 0xA, 0xDB, 0x3, 0xAB, 0xA, 0xE7, 0xA, 0xE7, 0x3, 0xAF, 0xA, 0xEE, 0xB, 0xC, 0x3, 0xB0, 0xB, 0x10, 0xB, 0x44, 0x3, 0xCF, 0xB, 0x47, 0xC, 0x33, 0x4, 0x4, 0xC, 0x3C, 0xC, 0x71, 0x4, 0xF1, 0xC, 0x7A, 0xC, 0xAD, 0x5, 0x27, 0xC, 0xB7, 0xC, 0xBC, 0x5, 0x5B, 0xC, 0xBE, 0xC, 0xDD, 0x5, 0x61, 0xC, 0xDF, 0xC, 0xE6, 0x5, 0x81, 0xC, 0xE8, 0xC, 0xE9, 0x5, 0x89, 0xC, 0xEB, 0xC, 0xEB, 0x5, 0x8B, 0xC, 0xED, 0xD, 0x1E, 0x5, 0x8C, 0x0, 0x1, 0x0, 0x0, 0x0, 0x6, 0x0, 0x1, 0xFF, 0xB7, 0x4, 0x26, 0x5, 0xBE, 0x13, 0x52, 0x11, 0x96, 0x11, 0xA2, 0x11, 0xAE, 0x13, 0x5E, 0x11, 0xBA, 0x11, 0xC6, 0x12, 0x86, 0x12, 0x92, 0x11, 0x72, 0x11, 0xCC, 0x11, 0xD8, 0x11, 0xE4, 0x11, 0xF0, 0x13, 0x6A, 0x12, 0xAA, 0x13, 0x6A, 0x12, 0x2, 0x12, 0xE, 0x12, 0x1A, 0x12, 0x20, 0x12, 0x2C, 0x12, 0x38, 0x12, 0x3E, 0x12, 0xA4, 0x12, 0x4A, 0x13, 0x58, 0x11, 0x9C, 0x11, 0xA8, 0x11, 0xB4, 0x13, 0x64, 0x11, 0xC0, 0x12, 0x80, 0x12, 0x56, 0x11, 0xC, 0x11, 0x84, 0x11, 0xD2, 0x11, 0xDE, 0x11, 0xEA, 0x11, 0xF6, 0x13, 0x70, 0x11, 0xFC, 0x11, 0x90, 0x12, 0x8, 0x12, 0x14, 0x12, 0x5C, 0x12, 0x26, 0x12, 0x32, 0x12, 0x62, 0x12, 0x44, 0x12, 0x68, 0x12, 0x50, 0x11, 0x5A, 0x10, 0x76, 0x11, 0x60, 0x10, 0x7C, 0x10, 0x28, 0x12, 0x86, 0x13, 0x9A, 0x10, 0xA0, 0xF, 0x38, 0xB, 0x7E, 0xB, 0x84, 0x12, 0x80, 0xB, 0x8A, 0xB, 0x90, 0xB, 0x96, 0xB, 0x9C, 0xB, 0xA2, 0xB, 0xA8, 0xB, 0xAE, 0xB, 0xB4, 0xD, 0x70, 0x11, 0x12, 0x11, 0x18, 0xB, 0xBA, 0x11, 0x1E, 0x11, 0x24, 0x12, 0x4A, 0xB, 0xC0, 0xB, 0xC6, 0x12, 0x80, 0x10, 0xAC, 0xB, 0xCC, 0xB, 0xD2, 0xB, 0xD8, 0xB, 0xDE, 0xB, 0xE4, 0xB, 0xEA, 0xB, 0xF0, 0xB, 0xF6, 0xB, 0xFC, 0x13, 0x58, 0xC, 0x2, 0xC, 0x2, 0xC, 0x8, 0x11, 0xA8, 0xC, 0xE, 0xC, 0x14, 0xD, 0x1C, 0x13, 0x64, 0x11, 0x54, 0xC, 0x1A, 0xC, 0x20, 0xC, 0x20, 0xC, 0x26, 0xD, 0x4, 0xC, 0x2C, 0xC, 0x32, 0x12, 0x80, 0xC, 0x38, 0xC, 0x3E, 0xC, 0x44, 0xC, 0x4A, 0xC, 0x50, 0xC, 0x50, 0xC, 0x56, 0xC, 0x5C, 0xC, 0x62, 0xC, 0x68, 0xC, 0x6E, 0xC, 0x74, 0xF, 0x68, 0x11, 0xEA, 0x11, 0xEA, 0x11, 0xEA, 0xC, 0x7A, 0xC, 0x80, 0xC, 0x86, 0xC, 0x8C, 0xC, 0x92, 0xC, 0x98, 0x12, 0x8, 0xC, 0x9E, 0xC, 0xA4, 0x12, 0x8, 0x12, 0x8, 0xC, 0xAA, 0xC, 0xAA, 0x11, 0xF6, 0x11, 0xF6, 0x12, 0x14, 0xF, 0x9E, 0xF, 0x9E, 0xC, 0xB0, 0xC, 0xB6, 0xC, 0xBC, 0xC, 0xC2, 0xC, 0xC8, 0xF, 0x1A, 0xC, 0xCE, 0xF, 0x5C, 0xC, 0xD4, 0xC, 0xDA, 0xC, 0xE0, 0xC, 0xE6, 0xC, 0xEC, 0xC, 0xF2, 0xC, 0xF8, 0xD, 0x22, 0xD, 0x22, 0xD, 0x22, 0xD, 0x22, 0xC, 0xFE, 0xD, 0x4, 0xD, 0xA, 0xD, 0x10, 0xE, 0x6, 0xD, 0x16, 0xD, 0x1C, 0xD, 0x22, 0xD, 0x22, 0xD, 0x28, 0xD, 0x2E, 0xD, 0x34, 0xD, 0x3A, 0xD, 0x40, 0xD, 0x46, 0xD, 0x4C, 0xD, 0x52, 0xD, 0x58, 0xD, 0x5E, 0xD, 0x64, 0xF, 0xE, 0xD, 0x6A, 0x11, 0x42, 0x12, 0x7A, 0x12, 0x74, 0x12, 0x80, 0x12, 0x8C, 0xD, 0x70, 0x12, 0x98, 0x12, 0x9E, 0x10, 0xB2, 0x12, 0xB0, 0x11, 0x7E, 0xD, 0x76, 0xD, 0x7C, 0x10, 0xCA, 0x10, 0xD6, 0x10, 0xE2, 0x10, 0xFA, 0x11, 0x36, 0x11, 0x0, 0x10, 0xEE, 0xD, 0x82, 0xD, 0x88, 0x11, 0x66, 0x11, 0x48, 0xD, 0x8E, 0x10, 0xD0, 0x10, 0xDC, 0x10, 0xE8, 0x10, 0xA6, 0xE, 0x1E, 0xD, 0xEE, 0x11, 0x6C, 0x11, 0x6C, 0x11, 0x30, 0xD, 0x94, 0xD, 0x9A, 0x11, 0x3C, 0xD, 0xA0, 0xD, 0xA6, 0x11, 0x6, 0x10, 0xF4, 0xD, 0xAC, 0xD, 0xB2, 0x10, 0xF4, 0xD, 0xB8, 0xD, 0xBE, 0xD, 0xC4, 0x11, 0x8A, 0x12, 0x80, 0x10, 0xB8, 0x10, 0xBE, 0xD, 0xCA, 0xD, 0xD0, 0xD, 0xD6, 0xD, 0xDC, 0x10, 0xE2, 0x10, 0xE8, 0x10, 0xCA, 0x10, 0xD0, 0x10, 0xA6, 0x12, 0x86, 0x11, 0x6C, 0xD, 0xE2, 0xD, 0xE8, 0x12, 0x3E, 0x12, 0x44, 0x11, 0x36, 0x11, 0x3C, 0xE, 0x18, 0xE, 0x1E, 0x12, 0x86, 0x11, 0x6C, 0x11, 0xE4, 0xD, 0xEE, 0x10, 0xC4, 0x12, 0x3E, 0x12, 0x44, 0xD, 0xF4, 0x11, 0x7E, 0xD, 0xFA, 0xE, 0x0, 0xE, 0x6, 0xE, 0xC, 0xE, 0x12, 0xE, 0x1E, 0x11, 0x6C, 0xE, 0x18, 0x12, 0x56, 0xE, 0x1E, 0xE, 0x9C, 0x13, 0x3A, 0xE, 0x24, 0xF, 0xE, 0x13, 0x58, 0xE, 0x2A, 0xE, 0x30, 0xE, 0x36, 0xE, 0x3C, 0xE, 0x42, 0xE, 0x48, 0xE, 0x4E, 0xE, 0x54, 0xE, 0x5A, 0x10, 0xA0, 0xE, 0x60, 0x11, 0xA8, 0xE, 0x66, 0xE, 0x6C, 0xE, 0xA8, 0xE, 0x72, 0xE, 0x72, 0xF, 0x5C, 0xE, 0x78, 0xE, 0x7E, 0xE, 0x84, 0x12, 0x50, 0x12, 0x50, 0xE, 0x8A, 0xE, 0x90, 0xE, 0x96, 0xE, 0x9C, 0xE, 0xA2, 0xE, 0xA8, 0xE, 0xAE, 0xE, 0xB4, 0xE, 0xBA, 0xE, 0xC0, 0x12, 0x2, 0xE, 0xC6, 0xE, 0xCC, 0xE, 0xD2, 0xE, 0xD8, 0xE, 0xDE, 0xE, 0xE4, 0xE, 0xEA, 0xE, 0xF0, 0xE, 0xF6, 0x12, 0x80, 0xE, 0xFC, 0xF, 0x2, 0xF, 0x8, 0xF, 0xE, 0xF, 0x14, 0xF, 0x1A, 0xF, 0x20, 0xF, 0x26, 0xF, 0x2C, 0xF, 0x32, 0xF, 0x38, 0xF, 0x3E, 0xF, 0x44, 0xF, 0x4A, 0xF, 0x50, 0x12, 0x8, 0x12, 0x14, 0xF, 0x56, 0xF, 0x5C, 0xF, 0x62, 0x12, 0x50, 0xF, 0x68, 0xF, 0x6E, 0xF, 0x74, 0xF, 0x7A, 0xF, 0x80, 0xF, 0x86, 0xF, 0x8C, 0xF, 0x92, 0xF, 0x98, 0xF, 0x9E, 0xF, 0xA4, 0xF, 0xAA, 0xF, 0xB0, 0xF, 0xB6, 0xF, 0xBC, 0xF, 0xC2, 0x12, 0x86, 0x12, 0x56, 0x11, 0xF0, 0x11, 0xF6, 0x12, 0xDA, 0x13, 0x4C, 0x13, 0x10, 0x13, 0x46, 0xF, 0xC8, 0x10, 0x94, 0x13, 0xA, 0x13, 0x40, 0x10, 0x8E, 0x13, 0x82, 0x13, 0x4, 0x13, 0x82, 0x12, 0xE0, 0x12, 0xFE, 0x12, 0xF8, 0x12, 0xEC, 0x13, 0x34, 0x12, 0xE6, 0x13, 0x1C, 0x10, 0x88, 0xF, 0xCE, 0x12, 0xF8, 0x13, 0x22, 0xF, 0xD4, 0x13, 0x16, 0x13, 0x28, 0x13, 0x2E, 0xF, 0xF2, 0xF, 0xDA, 0x13, 0x22, 0xF, 0xE0, 0xF, 0xE6, 0xF, 0xEC, 0xF, 0xF2, 0xF, 0xF8, 0x13, 0x82, 0x13, 0x7C, 0xF, 0xFE, 0x10, 0x4, 0x10, 0x82, 0x13, 0x22, 0x12, 0xF2, 0x13, 0x76, 0x13, 0x94, 0x13, 0x94, 0x13, 0x88, 0x13, 0x8E, 0x10, 0xA, 0x10, 0xAC, 0x10, 0x10, 0x10, 0x16, 0x10, 0x1C, 0x10, 0xAC, 0x10, 0x22, 0x13, 0x9A, 0x13, 0x9A, 0x13, 0x9A, 0x10, 0xAC, 0x10, 0x28, 0x10, 0x2E, 0x10, 0x34, 0x10, 0x3A, 0x10, 0x40, 0x13, 0x3A, 0x10, 0x46, 0x13, 0x82, 0x10, 0x4C, 0x12, 0xE0, 0x10, 0x52, 0x10, 0x52, 0x10, 0x58, 0x12, 0x1A, 0x12, 0x5C, 0x13, 0x52, 0x13, 0x52, 0x13, 0x52, 0x13, 0x52, 0x13, 0x52, 0x13, 0x52, 0x13, 0x52, 0x11, 0xA2, 0x13, 0x5E, 0x13, 0x5E, 0x13, 0x5E, 0x13, 0x5E, 0x12, 0x92, 0x12, 0x92, 0x12, 0x92, 0x12, 0x92, 0x11, 0xF0, 0x13, 0x6A, 0x13, 0x6A, 0x13, 0x6A, 0x13, 0x6A, 0x13, 0x6A, 0x12, 0x20, 0x12, 0x20, 0x12, 0x20, 0x12, 0x20, 0x12, 0xA4, 0x13, 0x58, 0x13, 0x58, 0x13, 0x58, 0x13, 0x58, 0x13, 0x58, 0x13, 0x58, 0x13, 0x58, 0x11, 0xA8, 0x13, 0x64, 0x13, 0x64, 0x13, 0x64, 0x13, 0x64, 0x13, 0x9A, 0x13, 0x9A, 0x13, 0x9A, 0x13, 0x9A, 0x11, 0xF6, 0x13, 0x70, 0x13, 0x70, 0x13, 0x70, 0x13, 0x70, 0x13, 0x70, 0x12, 0x26, 0x12, 0x26, 0x12, 0x26, 0x12, 0x26, 0x12, 0x68, 0x12, 0x68, 0x13, 0x52, 0x13, 0x58, 0x13, 0x52, 0x13, 0x58, 0x13, 0x52, 0x13, 0x58, 0x11, 0xA2, 0x11, 0xA8, 0x11, 0xA2, 0x11, 0xA8, 0x11, 0xA2, 0x11, 0xA8, 0x11, 0xA2, 0x11, 0xA8, 0x11, 0xAE, 0x10, 0x5E, 0x13, 0x5E, 0x13, 0x64, 0x13, 0x5E, 0x13, 0x64, 0x13, 0x5E, 0x13, 0x64, 0x13, 0x5E, 0x13, 0x64, 0x13, 0x5E, 0x13, 0x64, 0x11, 0xC6, 0x12, 0x80, 0x11, 0xC6, 0x12, 0x80, 0x11, 0xC6, 0x12, 0x80, 0x11, 0xC6, 0x12, 0x80, 0x12, 0x86, 0x12, 0x56, 0x12, 0x92, 0x13, 0x9A, 0x12, 0x92, 0x13, 0x9A, 0x12, 0x92, 0x13, 0x9A, 0x12, 0x92, 0x11, 0xC, 0x12, 0x92, 0x11, 0x72, 0x10, 0xAC, 0x11, 0xCC, 0x11, 0xD2, 0x11, 0xD8, 0x11, 0xDE, 0x11, 0xD8, 0x11, 0xDE, 0x11, 0xD8, 0x10, 0x64, 0x11, 0xD8, 0x10, 0x6A, 0x11, 0xF0, 0x11, 0xF6, 0x11, 0xF0, 0x11, 0xF6, 0x11, 0xF0, 0x11, 0xF6, 0x11, 0xF6, 0x13, 0x6A, 0x13, 0x70, 0x13, 0x6A, 0x13, 0x70, 0x13, 0x6A, 0x13, 0x70, 0x12, 0x2, 0x12, 0x8, 0x12, 0x2, 0x12, 0x8, 0x12, 0x2, 0x12, 0x8, 0x12, 0xE, 0x12, 0x14, 0x12, 0xE, 0x12, 0x14, 0x12, 0xE, 0x12, 0x14, 0x12, 0xE, 0x12, 0x14, 0x12, 0xE, 0x12, 0x14, 0x12, 0x1A, 0x12, 0x5C, 0x12, 0x1A, 0x12, 0x5C, 0x12, 0x1A, 0x10, 0x70, 0x12, 0x20, 0x12, 0x26, 0x12, 0x20, 0x12, 0x26, 0x12, 0x20, 0x12, 0x26, 0x12, 0x20, 0x12, 0x26, 0x12, 0x20, 0x12, 0x26, 0x12, 0x20, 0x12, 0x26, 0x12, 0x38, 0x12, 0x62, 0x12, 0xA4, 0x12, 0x68, 0x12, 0xA4, 0x12, 0x4A, 0x12, 0x50, 0x12, 0x4A, 0x12, 0x50, 0x12, 0x4A, 0x12, 0x50, 0x11, 0x5A, 0x11, 0x60, 0x10, 0x76, 0x10, 0x7C, 0x10, 0x82, 0x10, 0x82, 0x13, 0xA, 0x13, 0x76, 0x13, 0x76, 0x13, 0x76, 0x13, 0x76, 0x13, 0x76, 0x13, 0x76, 0x13, 0x76, 0x13, 0x22, 0x13, 0x7C, 0x13, 0x7C, 0x13, 0x7C, 0x13, 0x7C, 0x12, 0xE6, 0x12, 0xE6, 0x12, 0xE6, 0x12, 0xE6, 0x12, 0xE0, 0x13, 0x82, 0x13, 0x82, 0x13, 0x82, 0x13, 0x82, 0x13, 0x82, 0x10, 0x94, 0x10, 0x94, 0x10, 0x94, 0x10, 0x94, 0x13, 0x4C, 0x13, 0x76, 0x13, 0x76, 0x13, 0x76, 0x13, 0x22, 0x13, 0x22, 0x13, 0x22, 0x13, 0x22, 0x10, 0x82, 0x13, 0x7C, 0x13, 0x7C, 0x13, 0x7C, 0x13, 0x7C, 0x13, 0x7C, 0x10, 0x88, 0x10, 0x88, 0x10, 0x88, 0x10, 0x88, 0x13, 0x1C, 0x12, 0xE6, 0x12, 0xE6, 0x12, 0xE6, 0x12, 0xE6, 0x12, 0xE6, 0x13, 0x34, 0x12, 0xEC, 0x12, 0xF8, 0x12, 0xF8, 0x12, 0xF8, 0x12, 0xF8, 0x12, 0xE0, 0x12, 0xE0, 0x12, 0xE0, 0x13, 0x82, 0x13, 0x82, 0x13, 0x82, 0x13, 0x82, 0x10, 0x8E, 0x10, 0x8E, 0x10, 0x8E, 0x13, 0x40, 0x13, 0x40, 0x13, 0x40, 0x13, 0x40, 0x13, 0xA, 0x13, 0xA, 0x13, 0xA, 0x10, 0x94, 0x10, 0x94, 0x10, 0x94, 0x10, 0x94, 0x10, 0x94, 0x10, 0x94, 0x13, 0x46, 0x13, 0x4C, 0x13, 0x4C, 0x12, 0xDA, 0x12, 0xDA, 0x12, 0xDA, 0x13, 0x52, 0x13, 0x5E, 0x12, 0x86, 0x12, 0x92, 0x12, 0xB6, 0x10, 0x9A, 0x12, 0x8C, 0x13, 0x52, 0x11, 0x96, 0x13, 0x5E, 0x12, 0x4A, 0x12, 0x86, 0x12, 0x92, 0x11, 0xCC, 0x11, 0xE4, 0x11, 0xF0, 0x13, 0x6A, 0x12, 0xAA, 0x12, 0x1A, 0x12, 0xA4, 0x12, 0x3E, 0x12, 0x92, 0x12, 0xA4, 0x12, 0x7A, 0x12, 0x74, 0x12, 0x80, 0x12, 0x8C, 0x12, 0x9E, 0x10, 0xA0, 0x13, 0x70, 0x12, 0x32, 0x12, 0x8C, 0x12, 0x9E, 0x13, 0x70, 0x12, 0x9E, 0x12, 0xB0, 0x13, 0x5E, 0x11, 0x42, 0x12, 0xE, 0x12, 0x92, 0x12, 0x92, 0x11, 0x72, 0x11, 0xCC, 0x10, 0xFA, 0x13, 0x52, 0x11, 0x96, 0x11, 0x42, 0x13, 0x5E, 0x10, 0xE2, 0x11, 0xE4, 0x12, 0x86, 0x13, 0x6A, 0x12, 0xAA, 0x11, 0xA2, 0x12, 0x1A, 0x12, 0x3E, 0x13, 0x58, 0x13, 0x64, 0x10, 0xE8, 0x13, 0x70, 0x11, 0xFC, 0x11, 0xA8, 0x12, 0x68, 0x12, 0x44, 0x13, 0x64, 0x11, 0x48, 0x12, 0x14, 0x11, 0xC, 0x13, 0x9A, 0x11, 0x84, 0x10, 0xA6, 0x12, 0x68, 0x12, 0x38, 0x12, 0x62, 0x12, 0x38, 0x12, 0x62, 0x12, 0x38, 0x12, 0x62, 0x12, 0xA4, 0x12, 0x68, 0x10, 0xAC, 0x11, 0xE4, 0x11, 0xEA, 0x13, 0x52, 0x13, 0x58, 0x13, 0x5E, 0x10, 0xE2, 0x13, 0x64, 0x10, 0xE8, 0x10, 0xB2, 0x10, 0xB8, 0x10, 0xBE, 0x10, 0xD6, 0x10, 0xDC, 0x11, 0xA2, 0x11, 0xA8, 0x12, 0xA4, 0x12, 0x92, 0x10, 0xCA, 0x10, 0xD0, 0x12, 0x92, 0x13, 0x52, 0x13, 0x58, 0x13, 0x52, 0x13, 0x58, 0x11, 0x5A, 0x11, 0x60, 0x13, 0x5E, 0x13, 0x64, 0x10, 0xC4, 0x11, 0x54, 0x11, 0x54, 0x10, 0xCA, 0x10, 0xD0, 0x10, 0xD6, 0x10, 0xDC, 0x10, 0xE2, 0x10, 0xE8, 0x10, 0xE2, 0x10, 0xE8, 0x13, 0x6A, 0x13, 0x70, 0x11, 0x8A, 0x12, 0x80, 0x11, 0x8A, 0x11, 0x8A, 0x12, 0x80, 0x10, 0xEE, 0x10, 0xF4, 0x10, 0xFA, 0x12, 0x68, 0x10, 0xFA, 0x12, 0x68, 0x10, 0xFA, 0x12, 0x68, 0x11, 0x36, 0x11, 0x3C, 0x11, 0x0, 0x11, 0x6, 0x11, 0xB4, 0x13, 0x52, 0x13, 0x58, 0x13, 0x52, 0x13, 0x58, 0x13, 0x52, 0x13, 0x58, 0x13, 0x52, 0x13, 0x58, 0x13, 0x52, 0x13, 0x58, 0x13, 0x52, 0x13, 0x58, 0x13, 0x52, 0x13, 0x58, 0x13, 0x52, 0x13, 0x58, 0x13, 0x52, 0x13, 0x58, 0x13, 0x52, 0x13, 0x58, 0x13, 0x52, 0x13, 0x58, 0x13, 0x52, 0x13, 0x58, 0x13, 0x5E, 0x13, 0x64, 0x13, 0x5E, 0x13, 0x64, 0x13, 0x5E, 0x13, 0x64, 0x13, 0x5E, 0x13, 0x64, 0x13, 0x5E, 0x13, 0x64, 0x13, 0x5E, 0x13, 0x64, 0x13, 0x5E, 0x13, 0x64, 0x13, 0x5E, 0x13, 0x64, 0x12, 0x92, 0x13, 0x9A, 0x12, 0x92, 0x11, 0xC, 0x13, 0x6A, 0x13, 0x70, 0x13, 0x6A, 0x13, 0x70, 0x13, 0x6A, 0x13, 0x70, 0x13, 0x6A, 0x13, 0x70, 0x13, 0x6A, 0x13, 0x70, 0x13, 0x6A, 0x13, 0x70, 0x13, 0x6A, 0x13, 0x70, 0x11, 0x12, 0x11, 0x18, 0x11, 0x12, 0x11, 0x18, 0x11, 0x12, 0x11, 0x18, 0x11, 0x12, 0x11, 0x18, 0x11, 0x12, 0x11, 0x18, 0x12, 0x20, 0x12, 0x26, 0x12, 0x20, 0x12, 0x26, 0x11, 0x1E, 0x11, 0x24, 0x11, 0x1E, 0x11, 0x24, 0x11, 0x1E, 0x11, 0x24, 0x11, 0x1E, 0x11, 0x24, 0x11, 0x1E, 0x11, 0x24, 0x12, 0xA4, 0x12, 0x68, 0x12, 0xA4, 0x12, 0x68, 0x12, 0xA4, 0x12, 0x68, 0x11, 0x2A, 0x12, 0x1A, 0x11, 0x30, 0x11, 0x36, 0x11, 0x3C, 0x11, 0x42, 0x11, 0x48, 0x12, 0x56, 0x11, 0x42, 0x11, 0x48, 0x11, 0x4E, 0x12, 0xA4, 0x12, 0x3E, 0x12, 0x44, 0x12, 0x74, 0x11, 0xBA, 0x12, 0x80, 0x13, 0x52, 0x13, 0x58, 0x12, 0x92, 0x13, 0x9A, 0x13, 0x6A, 0x13, 0x70, 0x12, 0x20, 0x12, 0x26, 0x12, 0x20, 0x12, 0x26, 0x12, 0x20, 0x12, 0x26, 0x12, 0x20, 0x12, 0x26, 0x12, 0x20, 0x12, 0x26, 0x11, 0x54, 0x13, 0x52, 0x13, 0x58, 0x13, 0x52, 0x13, 0x58, 0x11, 0x5A, 0x11, 0x60, 0x11, 0xC6, 0x12, 0x80, 0x11, 0xCC, 0x11, 0xD2, 0x13, 0x6A, 0x13, 0x70, 0x13, 0x6A, 0x13, 0x70, 0x11, 0xC6, 0x12, 0x80, 0x11, 0xF0, 0x11, 0xF6, 0x13, 0x52, 0x13, 0x58, 0x13, 0x52, 0x13, 0x58, 0x13, 0x5E, 0x13, 0x64, 0x13, 0x5E, 0x13, 0x64, 0x12, 0x92, 0x13, 0x9A, 0x12, 0x92, 0x13, 0x9A, 0x13, 0x6A, 0x13, 0x70, 0x13, 0x6A, 0x13, 0x70, 0x12, 0x2, 0x12, 0x8, 0x12, 0x2, 0x12, 0x8, 0x12, 0x20, 0x12, 0x26, 0x12, 0x20, 0x12, 0x26, 0x12, 0x86, 0x12, 0x56, 0x13, 0x52, 0x13, 0x58, 0x13, 0x5E, 0x13, 0x64, 0x13, 0x6A, 0x13, 0x70, 0x13, 0x6A, 0x13, 0x70, 0x13, 0x6A, 0x13, 0x70, 0x13, 0x6A, 0x13, 0x70, 0x12, 0xA4, 0x12, 0x68, 0x12, 0x80, 0x11, 0x66, 0x11, 0x6C, 0x11, 0x72, 0x11, 0x78, 0x11, 0x7E, 0x11, 0xA8, 0x11, 0x84, 0x11, 0x8A, 0x11, 0xA2, 0x11, 0xE4, 0x13, 0x6A, 0x11, 0x90, 0x12, 0x38, 0x12, 0x62, 0x11, 0x96, 0x11, 0x9C, 0x11, 0x96, 0x11, 0x9C, 0x11, 0x96, 0x11, 0x9C, 0x11, 0xA2, 0x11, 0xA8, 0x11, 0xAE, 0x11, 0xB4, 0x11, 0xAE, 0x11, 0xB4, 0x11, 0xAE, 0x11, 0xB4, 0x11, 0xAE, 0x11, 0xB4, 0x11, 0xAE, 0x11, 0xB4, 0x13, 0x5E, 0x13, 0x64, 0x13, 0x5E, 0x13, 0x64, 0x13, 0x5E, 0x13, 0x64, 0x13, 0x5E, 0x13, 0x64, 0x13, 0x5E, 0x13, 0x64, 0x11, 0xBA, 0x11, 0xC0, 0x11, 0xC6, 0x12, 0x80, 0x12, 0x86, 0x12, 0x56, 0x12, 0x86, 0x12, 0x56, 0x12, 0x86, 0x12, 0x56, 0x12, 0x86, 0x12, 0x56, 0x11, 0xCC, 0x11, 0xD2, 0x11, 0xCC, 0x11, 0xD2, 0x11, 0xCC, 0x11, 0xD2, 0x11, 0xD8, 0x11, 0xDE, 0x11, 0xD8, 0x11, 0xDE, 0x11, 0xD8, 0x11, 0xDE, 0x11, 0xD8, 0x11, 0xDE, 0x11, 0xE4, 0x11, 0xEA, 0x11, 0xE4, 0x11, 0xEA, 0x11, 0xF0, 0x11, 0xF6, 0x11, 0xF0, 0x11, 0xF6, 0x11, 0xF0, 0x11, 0xF6, 0x11, 0xF0, 0x11, 0xF6, 0x13, 0x6A, 0x13, 0x70, 0x13, 0x6A, 0x13, 0x70, 0x13, 0x6A, 0x13, 0x70, 0x13, 0x6A, 0x13, 0x70, 0x12, 0xAA, 0x11, 0xFC, 0x12, 0xAA, 0x11, 0xFC, 0x12, 0x2, 0x12, 0x8, 0x12, 0x2, 0x12, 0x8, 0x12, 0x2, 0x12, 0x8, 0x12, 0x2, 0x12, 0x8, 0x12, 0xE, 0x12, 0x14, 0x12, 0xE, 0x12, 0x14, 0x12, 0xE, 0x12, 0x14, 0x12, 0xE, 0x12, 0x14, 0x12, 0xE, 0x12, 0x14, 0x12, 0x1A, 0x12, 0x5C, 0x12, 0x1A, 0x12, 0x5C, 0x12, 0x1A, 0x12, 0x5C, 0x12, 0x1A, 0x12, 0x5C, 0x12, 0x20, 0x12, 0x26, 0x12, 0x20, 0x12, 0x26, 0x12, 0x20, 0x12, 0x26, 0x12, 0x20, 0x12, 0x26, 0x12, 0x20, 0x12, 0x26, 0x12, 0x2C, 0x12, 0x32, 0x12, 0x2C, 0x12, 0x32, 0x12, 0x38, 0x12, 0x62, 0x12, 0x38, 0x12, 0x62, 0x12, 0x3E, 0x12, 0x44, 0x12, 0x3E, 0x12, 0x44, 0x12, 0xA4, 0x12, 0x68, 0x12, 0x4A, 0x12, 0x50, 0x12, 0x4A, 0x12, 0x50, 0x12, 0x4A, 0x12, 0x50, 0x12, 0x56, 0x12, 0x5C, 0x12, 0x62, 0x12, 0x68, 0x13, 0x58, 0x12, 0x7A, 0x12, 0x7A, 0x12, 0x7A, 0x12, 0x7A, 0x12, 0x7A, 0x12, 0x7A, 0x12, 0x7A, 0x12, 0x7A, 0x13, 0x52, 0x13, 0x52, 0x13, 0x52, 0x13, 0x52, 0x13, 0x52, 0x13, 0x52, 0x13, 0x52, 0x13, 0x52, 0x12, 0x74, 0x12, 0x74, 0x12, 0x74, 0x12, 0x74, 0x12, 0x74, 0x12, 0x74, 0x13, 0x5E, 0x13, 0x5E, 0x13, 0x5E, 0x13, 0x5E, 0x13, 0x5E, 0x13, 0x5E, 0x12, 0x80, 0x12, 0x80, 0x12, 0x80, 0x12, 0x80, 0x12, 0x80, 0x12, 0x80, 0x12, 0x80, 0x12, 0x80, 0x12, 0x86, 0x12, 0x86, 0x12, 0x86, 0x12, 0x86, 0x12, 0x86, 0x12, 0x86, 0x12, 0x86, 0x12, 0x86, 0x12, 0x8C, 0x12, 0x8C, 0x12, 0x8C, 0x12, 0x8C, 0x12, 0x8C, 0x12, 0x8C, 0x12, 0x8C, 0x12, 0x8C, 0x12, 0x92, 0x12, 0x92, 0x12, 0x92, 0x12, 0x92, 0x12, 0x92, 0x12, 0x92, 0x12, 0x92, 0x12, 0x92, 0x13, 0x70, 0x13, 0x70, 0x13, 0x70, 0x13, 0x70, 0x13, 0x70, 0x13, 0x70, 0x12, 0xB6, 0x12, 0xB6, 0x12, 0x6E, 0x12, 0x6E, 0x12, 0x6E, 0x12, 0x6E, 0x12, 0x9E, 0x12, 0x9E, 0x12, 0x9E, 0x12, 0x9E, 0x12, 0x9E, 0x12, 0x9E, 0x12, 0x9E, 0x12, 0x9E, 0x12, 0xA4, 0x12, 0xA4, 0x12, 0xA4, 0x12, 0xA4, 0x12, 0xB0, 0x12, 0xB0, 0x12, 0xB0, 0x12, 0xB0, 0x12, 0xB0, 0x12, 0xB0, 0x12, 0xB0, 0x12, 0xB0, 0x12, 0x7A, 0x12, 0x7A, 0x12, 0x74, 0x12, 0x74, 0x12, 0x80, 0x12, 0x80, 0x12, 0x8C, 0x12, 0x8C, 0x13, 0x70, 0x13, 0x70, 0x12, 0x9E, 0x12, 0x9E, 0x12, 0xB0, 0x12, 0xB0, 0x12, 0x7A, 0x12, 0x7A, 0x12, 0x7A, 0x12, 0x7A, 0x12, 0x7A, 0x12, 0x7A, 0x12, 0x7A, 0x12, 0x7A, 0x13, 0x52, 0x13, 0x52, 0x13, 0x52, 0x13, 0x52, 0x13, 0x52, 0x13, 0x52, 0x13, 0x52, 0x13, 0x52, 0x12, 0x80, 0x12, 0x80, 0x12, 0x80, 0x12, 0x80, 0x12, 0x80, 0x12, 0x80, 0x12, 0x80, 0x12, 0x80, 0x12, 0x86, 0x12, 0x86, 0x12, 0x86, 0x12, 0x86, 0x12, 0x86, 0x12, 0x86, 0x12, 0x86, 0x12, 0x86, 0x12, 0xB0, 0x12, 0xB0, 0x12, 0xB0, 0x12, 0xB0, 0x12, 0xB0, 0x12, 0xB0, 0x12, 0xB0, 0x12, 0xB0, 0x12, 0x7A, 0x12, 0x7A, 0x12, 0x7A, 0x12, 0x7A, 0x12, 0x7A, 0x12, 0x7A, 0x12, 0x7A, 0x13, 0x52, 0x13, 0x52, 0x13, 0x52, 0x13, 0x52, 0x13, 0x52, 0x12, 0x80, 0x12, 0x80, 0x12, 0x80, 0x12, 0x80, 0x12, 0x80, 0x13, 0x5E, 0x13, 0x5E, 0x12, 0x86, 0x12, 0x86, 0x12, 0x86, 0x12, 0x8C, 0x12, 0x8C, 0x12, 0x8C, 0x12, 0x8C, 0x12, 0x8C, 0x12, 0x8C, 0x12, 0x92, 0x12, 0x92, 0x12, 0x92, 0x12, 0x92, 0x12, 0x9E, 0x12, 0x9E, 0x12, 0x9E, 0x12, 0x9E, 0x12, 0x98, 0x12, 0x98, 0x12, 0x9E, 0x12, 0x9E, 0x12, 0xA4, 0x12, 0xA4, 0x12, 0xA4, 0x12, 0xA4, 0x12, 0xAA, 0x12, 0xB0, 0x12, 0xB0, 0x12, 0xB0, 0x12, 0xB0, 0x12, 0xB0, 0x12, 0xB6, 0x12, 0xB6, 0x13, 0x76, 0x12, 0xBC, 0x12, 0xC2, 0x12, 0xC8, 0x12, 0xCE, 0x12, 0xD4, 0x13, 0x76, 0x12, 0xF2, 0x13, 0x7C, 0x12, 0xDA, 0x13, 0x1C, 0x12, 0xE6, 0x12, 0xEC, 0x12, 0xFE, 0x12, 0xE0, 0x13, 0x82, 0x13, 0x4, 0x13, 0xA, 0x13, 0x4C, 0x13, 0x10, 0x12, 0xE6, 0x13, 0x4C, 0x13, 0x7C, 0x12, 0xF8, 0x13, 0x40, 0x12, 0xE6, 0x12, 0xE6, 0x13, 0x34, 0x12, 0xEC, 0x13, 0x2E, 0x13, 0x76, 0x12, 0xF2, 0x12, 0xF8, 0x13, 0x7C, 0x13, 0x28, 0x12, 0xFE, 0x13, 0x1C, 0x13, 0x82, 0x13, 0x4, 0x13, 0x22, 0x13, 0xA, 0x13, 0x10, 0x13, 0x16, 0x13, 0x1C, 0x13, 0x22, 0x13, 0x4C, 0x13, 0x28, 0x13, 0x2E, 0x13, 0x34, 0x13, 0x3A, 0x13, 0x82, 0x13, 0x40, 0x13, 0x46, 0x13, 0x46, 0x13, 0x46, 0x13, 0x4C, 0x13, 0x52, 0x13, 0x58, 0x13, 0x5E, 0x13, 0x64, 0x13, 0x6A, 0x13, 0x70, 0x13, 0x76, 0x13, 0x7C, 0x13, 0x82, 0x13, 0x88, 0x13, 0x88, 0x13, 0x88, 0x13, 0x88, 0x13, 0x88, 0x13, 0x88, 0x13, 0x88, 0x13, 0x88, 0x13, 0x88, 0x13, 0x88, 0x13, 0x8E, 0x13, 0x8E, 0x13, 0x8E, 0x13, 0x8E, 0x13, 0x8E, 0x13, 0x8E, 0x13, 0x8E, 0x13, 0x8E, 0x13, 0x8E, 0x13, 0x94, 0x13, 0x94, 0x13, 0x94, 0x13, 0x94, 0x13, 0x94, 0x13, 0x94, 0x13, 0x94, 0x13, 0x94, 0x13, 0x94, 0x13, 0x94, 0x13, 0x94, 0x13, 0x94, 0x13, 0x94, 0x13, 0x9A, 0x13, 0x9A, 0x0, 0x1, 0x2, 0x4F, 0x6, 0x9B, 0x0, 0x1, 0x5, 0x94, 0x6, 0x40, 0x0, 0x1, 0x7, 0xB4, 0x6, 0x40, 0x0, 0x1, 0x7, 0x3B, 0x5, 0xA, 0x0, 0x1, 0x2, 0xD, 0x6, 0xBE, 0x0, 0x1, 0x4, 0xDA, 0x6, 0x47, 0x0, 0x1, 0x5, 0x89, 0x6, 0x40, 0x0, 0x1, 0x4, 0xD6, 0x6, 0x40, 0x0, 0x1, 0x2, 0xC6, 0x6, 0x48, 0x0, 0x1, 0x2, 0xC6, 0x6, 0x9B, 0x0, 0x1, 0x4, 0x91, 0x6, 0x48, 0x0, 0x1, 0x4, 0x14, 0x5, 0xA, 0x0, 0x1, 0x5, 0x8B, 0x6, 0x55, 0x0, 0x1, 0x4, 0xA0, 0x6, 0x40, 0x0, 0x1, 0x5, 0x5B, 0x6, 0x4C, 0x0, 0x1, 0x6, 0x43, 0x6, 0x40, 0x0, 0x1, 0x4, 0xCC, 0x6, 0x41, 0x0, 0x1, 0x2, 0xDF, 0x6, 0x40, 0x0, 0x1, 0x5, 0x43, 0x6, 0x40, 0x0, 0x1, 0x3, 0x2D, 0x5, 0xA, 0x0, 0x1, 0x5, 0x95, 0x6, 0x40, 0x0, 0x1, 0x4, 0x52, 0x5, 0xA, 0x0, 0x1, 0x4, 0xB8, 0x5, 0xA, 0x0, 0x1, 0x4, 0x82, 0x6, 0xA4, 0x0, 0x1, 0x4, 0x47, 0x5, 0xA, 0x0, 0x1, 0x4, 0xDA, 0x6, 0x63, 0x0, 0x1, 0x5, 0xC1, 0x5, 0xA, 0x0, 0x1, 0x4, 0x61, 0x5, 0xA, 0x0, 0x1, 0x5, 0xD6, 0x5, 0xA, 0x0, 0x1, 0x2, 0xBA, 0x5, 0xA, 0x0, 0x1, 0x4, 0xE4, 0x5, 0xA, 0x0, 0x1, 0x4, 0xDB, 0x5, 0xA, 0x0, 0x1, 0x4, 0x76, 0x5, 0xA, 0x0, 0x1, 0x5, 0x1B, 0x5, 0xA, 0x0, 0x1, 0x4, 0x71, 0x5, 0xA, 0x0, 0x1, 0x4, 0x71, 0x6, 0xA4, 0x0, 0x1, 0x2, 0xC6, 0x6, 0x40, 0x0, 0x1, 0x2, 0x78, 0x5, 0xA, 0x0, 0x1, 0x2, 0xD7, 0x5, 0xA, 0x0, 0x1, 0x3, 0x6, 0x6, 0x40, 0x0, 0x1, 0x3, 0xD3, 0x6, 0x40, 0x0, 0x1, 0x2, 0xA6, 0x6, 0x40, 0x0, 0x1, 0x4, 0xD0, 0x5, 0xA, 0x0, 0x1, 0x4, 0xCF, 0x5, 0xA, 0x0, 0x1, 0x4, 0x86, 0x5, 0xA, 0x0, 0x1, 0x6, 0xA8, 0x5, 0xA, 0x0, 0x1, 0x6, 0x93, 0x5, 0xA, 0x0, 0x1, 0x4, 0xD4, 0x6, 0x40, 0x0, 0x1, 0x2, 0xD0, 0x6, 0x40, 0x0, 0x1, 0x3, 0x2A, 0x5, 0xA, 0x0, 0x1, 0x2, 0x68, 0x5, 0xA, 0x0, 0x1, 0x3, 0x4C, 0x5, 0xA, 0x0, 0x1, 0x3, 0xF2, 0x6, 0xA4, 0x0, 0x1, 0x2, 0xAA, 0x6, 0x40, 0x0, 0x1, 0x2, 0xC1, 0x6, 0x40, 0x0, 0x1, 0x5, 0x3E, 0x5, 0xA, 0x0, 0x1, 0x4, 0x60, 0x5, 0xA, 0x0, 0x1, 0x5, 0xF0, 0x5, 0xA, 0x0, 0x1, 0x3, 0xE7, 0x6, 0x40, 0x0, 0x1, 0x4, 0x39, 0x5, 0xA, 0x0, 0x1, 0x4, 0x93, 0x5, 0xA, 0x0, 0x1, 0x5, 0x1, 0x5, 0xA, 0x0, 0x1, 0x4, 0x8D, 0x5, 0xA, 0x0, 0x1, 0x4, 0xA3, 0x5, 0xA, 0x0, 0x1, 0x5, 0x86, 0x6, 0x61, 0x0, 0x1, 0x4, 0x43, 0x5, 0xA, 0x0, 0x1, 0x5, 0x11, 0x5, 0xA, 0x0, 0x1, 0x3, 0xAD, 0x6, 0x40, 0x0, 0x1, 0x3, 0x8B, 0x5, 0xA, 0x0, 0x1, 0x4, 0xDA, 0x6, 0x40, 0x0, 0x1, 0x4, 0x31, 0x6, 0x61, 0x0, 0x1, 0x7, 0xB8, 0x6, 0x40, 0x0, 0x1, 0x7, 0x64, 0x6, 0x40, 0x0, 0x1, 0x8, 0xB2, 0x6, 0x40, 0x0, 0x1, 0x5, 0xDD, 0x6, 0x40, 0x0, 0x1, 0x4, 0x95, 0x6, 0xA4, 0x0, 0x1, 0x6, 0x3D, 0x6, 0x40, 0x0, 0x1, 0x6, 0xD3, 0x6, 0xA4, 0x0, 0x1, 0x5, 0x75, 0x6, 0x40, 0x0, 0x1, 0x5, 0x35, 0x6, 0x40, 0x0, 0x1, 0x3, 0xC6, 0x6, 0x40, 0x0, 0x1, 0x3, 0xDD, 0x6, 0x40, 0x0, 0x1, 0x5, 0x57, 0x5, 0xA, 0x0, 0x1, 0x3, 0xEE, 0x6, 0x47, 0x0, 0x1, 0x6, 0x71, 0x4, 0xFC, 0x0, 0x1, 0x5, 0x5A, 0x6, 0x40, 0x0, 0x1, 0x7, 0x54, 0x6, 0x40, 0x0, 0x1, 0x4, 0xF7, 0x6, 0x4C, 0x0, 0x1, 0x4, 0xF7, 0x4, 0xF5, 0x0, 0x1, 0x5, 0xD3, 0x6, 0xCC, 0x0, 0x1, 0x4, 0xD4, 0x4, 0xF5, 0x0, 0x1, 0x6, 0x8F, 0x4, 0xF5, 0x0, 0x1, 0x6, 0xEC, 0x4, 0xF5, 0x0, 0x1, 0x6, 0x84, 0x4, 0xF5, 0x0, 0x1, 0x4, 0x70, 0x4, 0xF5, 0x0, 0x1, 0x7, 0x49, 0x6, 0x41, 0x0, 0x1, 0x6, 0x50, 0x4, 0xFC, 0x0, 0x1, 0x3, 0xF0, 0x6, 0xCC, 0x0, 0x1, 0x4, 0x89, 0x5, 0x50, 0x0, 0x1, 0x6, 0x50, 0x6, 0x40, 0x0, 0x1, 0x5, 0x1B, 0x6, 0x61, 0x0, 0x1, 0x4, 0x4A, 0x5, 0xC, 0x0, 0x1, 0x6, 0x2B, 0x6, 0x56, 0x0, 0x1, 0x5, 0x0, 0x5, 0xA, 0x0, 0x1, 0x6, 0x3, 0x4, 0xF5, 0x0, 0x1, 0x6, 0x53, 0x6, 0x4C, 0x0, 0x1, 0x7, 0xFE, 0x6, 0x4C, 0x0, 0x1, 0x5, 0x4, 0x6, 0x61, 0x0, 0x1, 0x4, 0x2D, 0x5, 0xA, 0x0, 0x1, 0x5, 0xAA, 0x6, 0x4C, 0x0, 0x1, 0x5, 0x56, 0x6, 0x61, 0x0, 0x1, 0x5, 0x87, 0x6, 0x4C, 0x0, 0x1, 0x4, 0x9A, 0x4, 0xF5, 0x0, 0x1, 0x6, 0xC1, 0x5, 0xA, 0x0, 0x1, 0x4, 0x8A, 0x5, 0xA, 0x0, 0x1, 0x4, 0xEE, 0x5, 0xA, 0x0, 0x1, 0x4, 0xA, 0x5, 0xA, 0x0, 0x1, 0x4, 0x17, 0x5, 0xA, 0x0, 0x1, 0x2, 0x7, 0x5, 0xA, 0x0, 0x1, 0x3, 0xF0, 0x5, 0xA, 0x0, 0x1, 0x4, 0x6D, 0x5, 0xA, 0x0, 0x1, 0x3, 0xB4, 0x5, 0xA, 0x0, 0x1, 0x5, 0xEB, 0x5, 0xA, 0x0, 0x1, 0x4, 0x9E, 0x5, 0xA, 0x0, 0x1, 0x7, 0x3E, 0x5, 0xA, 0x0, 0x1, 0x3, 0xE6, 0x5, 0xA, 0x0, 0x1, 0x4, 0x7A, 0x5, 0xA, 0x0, 0x1, 0x4, 0xF2, 0x5, 0xA, 0x0, 0x1, 0x3, 0xF7, 0x5, 0xA, 0x0, 0x1, 0x5, 0xF4, 0x5, 0xA, 0x0, 0x1, 0x4, 0x25, 0x5, 0xA, 0x0, 0x1, 0x4, 0xCA, 0x5, 0xA, 0x0, 0x1, 0x3, 0x65, 0x5, 0xA, 0x0, 0x1, 0x4, 0xA0, 0x5, 0xA, 0x0, 0x1, 0x4, 0xAB, 0x5, 0xA, 0x0, 0x1, 0x4, 0x6C, 0x5, 0xA, 0x0, 0x1, 0x5, 0x52, 0x5, 0xA, 0x0, 0x1, 0x4, 0xA4, 0x5, 0xA, 0x0, 0x1, 0x6, 0xFC, 0x5, 0xA, 0x0, 0x1, 0x5, 0xF, 0x6, 0x40, 0x0, 0x1, 0x3, 0x56, 0x6, 0xA4, 0x0, 0x1, 0x7, 0xD7, 0x5, 0xA, 0x0, 0x1, 0x5, 0x4D, 0x5, 0xA, 0x0, 0x1, 0x4, 0xF1, 0x5, 0xA, 0x0, 0x1, 0x3, 0x57, 0x5, 0xA, 0x0, 0x1, 0x3, 0x1D, 0x5, 0xA, 0x0, 0x1, 0x4, 0x51, 0x5, 0xA, 0x0, 0x1, 0x3, 0x1D, 0x6, 0x40, 0x0, 0x1, 0x4, 0x28, 0x5, 0xA, 0x0, 0x1, 0x4, 0x63, 0x5, 0xA, 0x0, 0x1, 0x6, 0xE1, 0x6, 0x40, 0x0, 0x1, 0x2, 0xE5, 0x5, 0xA, 0x0, 0x1, 0x5, 0x17, 0x5, 0xA, 0x0, 0x1, 0x5, 0x5F, 0x5, 0xA, 0x0, 0x1, 0x4, 0xF0, 0x5, 0xA, 0x0, 0x1, 0x4, 0x82, 0x6, 0x40, 0x0, 0x1, 0x4, 0xCC, 0x6, 0x40, 0x0, 0x1, 0x2, 0xD6, 0x6, 0xA1, 0x0, 0x1, 0x5, 0xBB, 0x5, 0xA, 0x0, 0x1, 0x4, 0x64, 0x6, 0x40, 0x0, 0x1, 0x2, 0x56, 0x6, 0xA4, 0x0, 0x1, 0x7, 0x43, 0x5, 0xA, 0x0, 0x1, 0x4, 0xC6, 0x5, 0xA, 0x0, 0x1, 0x4, 0x81, 0x5, 0xA, 0x0, 0x1, 0x3, 0xA4, 0x6, 0xA4, 0x0, 0x1, 0x3, 0xF6, 0x5, 0xA, 0x0, 0x1, 0x4, 0x1C, 0x5, 0xA, 0x0, 0x1, 0x4, 0xD5, 0x5, 0xA, 0x0, 0x1, 0x5, 0x2A, 0x5, 0xA, 0x0, 0x1, 0x4, 0xAE, 0x6, 0x40, 0x0, 0x1, 0x4, 0x79, 0x5, 0xA, 0x0, 0x1, 0x4, 0x8C, 0x5, 0xA, 0x0, 0x1, 0x4, 0x5A, 0x5, 0xA, 0x0, 0x1, 0x5, 0x77, 0x5, 0xA, 0x0, 0x1, 0x2, 0x8A, 0x6, 0x40, 0x0, 0x1, 0x4, 0x38, 0x5, 0xA, 0x0, 0x1, 0x3, 0x4C, 0x6, 0xA4, 0x0, 0x1, 0x5, 0xF, 0x5, 0xA, 0x0, 0x1, 0x4, 0xA7, 0x5, 0xA, 0x0, 0x1, 0x2, 0xA0, 0x6, 0x48, 0x0, 0x1, 0x2, 0x82, 0x6, 0x40, 0x0, 0x1, 0x2, 0x94, 0x6, 0x48, 0x0, 0x1, 0x2, 0x7E, 0x5, 0x3, 0x0, 0x1, 0x4, 0x7C, 0x5, 0x28, 0x0, 0x1, 0x3, 0xC6, 0x5, 0x28, 0x0, 0x1, 0x6, 0x3A, 0x5, 0x28, 0x0, 0x1, 0x6, 0x20, 0x5, 0x28, 0x0, 0x1, 0x6, 0x92, 0x5, 0x28, 0x0, 0x1, 0x4, 0x88, 0x5, 0x28, 0x0, 0x1, 0x5, 0xF1, 0x5, 0x28, 0x0, 0x1, 0x4, 0x8C, 0x5, 0x28, 0x0, 0x1, 0x4, 0xD2, 0x5, 0x28, 0x0, 0x1, 0x5, 0x44, 0x6, 0x4C, 0x0, 0x1, 0x4, 0x31, 0x6, 0x47, 0x0, 0x1, 0x8, 0xAC, 0x6, 0x69, 0x0, 0x1, 0x2, 0x42, 0x5, 0x3, 0x0, 0x1, 0x2, 0xE6, 0x4, 0xE8, 0x0, 0x1, 0x2, 0xD3, 0x5, 0x3, 0x0, 0x1, 0x3, 0xAD, 0x5, 0x3, 0x0, 0x1, 0x4, 0xEE, 0x6, 0x47, 0x0, 0x1, 0x4, 0x9D, 0x5, 0xA, 0x0, 0x1, 0x5, 0xA9, 0x5, 0xA, 0x0, 0x1, 0x5, 0x9D, 0x6, 0x47, 0x0, 0x1, 0x3, 0xC4, 0x5, 0x28, 0x0, 0x1, 0x4, 0x9, 0x5, 0x28, 0x0, 0x1, 0x4, 0xF4, 0x5, 0x28, 0x0, 0x1, 0x5, 0x58, 0x6, 0x48, 0x0, 0x1, 0x4, 0x8F, 0x6, 0x68, 0x0, 0x1, 0x5, 0x1B, 0x6, 0x47, 0x0, 0x1, 0x2, 0xA2, 0x6, 0x9B, 0x0, 0x1, 0x2, 0xE8, 0x6, 0x9B, 0x0, 0x1, 0x2, 0xD2, 0x5, 0xC4, 0x0, 0x1, 0x5, 0x85, 0x6, 0x8A, 0x0, 0x1, 0x4, 0x89, 0x5, 0x7, 0x0, 0x1, 0x4, 0x7B, 0x5, 0x28, 0x0, 0x1, 0x4, 0xA7, 0x5, 0x28, 0x0, 0x1, 0x4, 0x5D, 0x5, 0x28, 0x0, 0x1, 0x4, 0x84, 0x5, 0x28, 0x0, 0x1, 0x5, 0x44, 0x6, 0x40, 0x0, 0x1, 0x4, 0x98, 0x5, 0xA, 0x0, 0x1, 0x4, 0x6F, 0x4, 0xFC, 0x0, 0x1, 0x2, 0x27, 0x4, 0xE8, 0x0, 0x1, 0x5, 0xCA, 0x4, 0xF5, 0x0, 0x1, 0x5, 0x1A, 0x6, 0x1C, 0x0, 0x1, 0x4, 0xF, 0x4, 0xEF, 0x0, 0x1, 0x5, 0x89, 0x6, 0x19, 0x0, 0x1, 0x7, 0xA2, 0x6, 0x48, 0x0, 0x1, 0x6, 0x77, 0x4, 0xFC, 0x0, 0x1, 0x4, 0xD6, 0x6, 0x55, 0x0, 0x1, 0x4, 0x17, 0x5, 0x9, 0x0, 0x1, 0x5, 0xA9, 0x6, 0x48, 0x0, 0x1, 0x4, 0x98, 0x4, 0xFC, 0x0, 0x1, 0x5, 0x51, 0x6, 0x56, 0x0, 0x1, 0x4, 0x3D, 0x5, 0xA, 0x0, 0x1, 0x5, 0xA, 0x6, 0x48, 0x0, 0x1, 0x6, 0xF9, 0x6, 0x48, 0x0, 0x1, 0x6, 0x6F, 0x4, 0xFC, 0x0, 0x1, 0x2, 0xC, 0x6, 0x40, 0x0, 0x1, 0x5, 0x8A, 0x6, 0x3E, 0x0, 0x1, 0x4, 0x9F, 0x5, 0xA, 0x0, 0x1, 0x5, 0xA5, 0x6, 0x4C, 0x0, 0x1, 0x4, 0xF2, 0x4, 0xF5, 0x0, 0x1, 0x4, 0xA3, 0x6, 0x47, 0x0, 0x1, 0x3, 0xF6, 0x4, 0xF5, 0x0, 0x1, 0x5, 0x89, 0x6, 0x48, 0x0, 0x1, 0x4, 0x66, 0x4, 0xFC, 0x0, 0x1, 0x4, 0x75, 0x6, 0x48, 0x0, 0x1, 0x3, 0x5B, 0x4, 0xFC, 0x0, 0x1, 0x4, 0x45, 0x6, 0x47, 0x0, 0x1, 0x4, 0x3D, 0x5, 0xB, 0x0, 0x1, 0x7, 0x85, 0x6, 0x4C, 0x0, 0x1, 0x6, 0xC1, 0x5, 0xB, 0x0, 0x1, 0x4, 0x90, 0x4, 0xF5, 0x0, 0x1, 0x4, 0x98, 0x4, 0xF5, 0x0, 0x1, 0x4, 0x71, 0x6, 0x41, 0x0, 0x1, 0x4, 0xDF, 0x6, 0x4C, 0x0, 0x1, 0x4, 0x7B, 0x6, 0x4C, 0x0, 0x1, 0x2, 0x1, 0x6, 0x40, 0x0, 0x1, 0x5, 0x7B, 0x6, 0x45, 0x0, 0x1, 0x4, 0x8B, 0x5, 0xA, 0x0, 0x1, 0x5, 0xD, 0x6, 0x4C, 0x0, 0x1, 0x4, 0x81, 0x6, 0x47, 0x0, 0x1, 0x5, 0x39, 0x6, 0x55, 0x0, 0x1, 0x4, 0x31, 0x5, 0xA, 0x0, 0x1, 0x5, 0x3A, 0x6, 0x48, 0x0, 0x1, 0x4, 0x85, 0x6, 0x47, 0x0, 0x1, 0x4, 0x66, 0x6, 0x4C, 0x0, 0x1, 0x2, 0xD6, 0x6, 0xBE, 0x0, 0x1, 0x5, 0x73, 0x6, 0x55, 0x0, 0x1, 0x5, 0xB, 0x6, 0x41, 0x0, 0x1, 0x3, 0xAB, 0x6, 0x47, 0x0, 0x1, 0x4, 0x55, 0x6, 0x40, 0x0, 0x1, 0x2, 0xC, 0x6, 0x9B, 0x0, 0x1, 0x7, 0x1, 0x6, 0x40, 0x0, 0x1, 0x6, 0xF7, 0x5, 0xA, 0x0, 0x1, 0x5, 0xAF, 0x6, 0x40, 0x0, 0x1, 0x4, 0x73, 0x5, 0xA, 0x0, 0x1, 0x4, 0x81, 0x5, 0x0, 0x0, 0x1, 0x4, 0xFF, 0x6, 0x40, 0x0, 0x1, 0x2, 0xD0, 0x5, 0xA, 0x0, 0x1, 0x4, 0xD5, 0x6, 0x40, 0x0, 0x1, 0x4, 0x22, 0x5, 0xA, 0x0, 0x1, 0x4, 0xDC, 0x6, 0x40, 0x0, 0x1, 0x5, 0x38, 0x6, 0x40, 0x0, 0x1, 0x4, 0x72, 0x5, 0xA, 0x0, 0x1, 0x5, 0x2E, 0x6, 0x4C, 0x0, 0x1, 0x3, 0xF6, 0x5, 0x0, 0x0, 0x1, 0x7, 0xB, 0x6, 0x40, 0x0, 0x1, 0x5, 0x10, 0x6, 0x4C, 0x0, 0x1, 0x4, 0x7, 0x5, 0x0, 0x0, 0x1, 0x4, 0xD2, 0x6, 0x40, 0x0, 0x1, 0x4, 0x7, 0x5, 0xA, 0x0, 0x1, 0x4, 0x71, 0x6, 0x68, 0x0, 0x1, 0x2, 0xAA, 0x5, 0xC4, 0x0, 0x1, 0x5, 0xF2, 0x5, 0xA, 0x0, 0x1, 0x3, 0xE5, 0x5, 0xA, 0x0, 0x1, 0x5, 0xCC, 0x6, 0x40, 0x0, 0x1, 0x4, 0x61, 0x5, 0x9, 0x0, 0x1, 0x4, 0x85, 0x5, 0xA, 0x0, 0x1, 0x4, 0x89, 0x5, 0xA, 0x0, 0x1, 0x5, 0xB0, 0x6, 0x48, 0x0, 0x1, 0x2, 0xAA, 0x4, 0xF5, 0x0, 0x1, 0x2, 0x42, 0x6, 0x48, 0x0, 0x1, 0x4, 0x89, 0x5, 0x0, 0x0, 0x1, 0x4, 0x61, 0x4, 0xFC, 0x0, 0x1, 0x4, 0xE0, 0x6, 0x40, 0x0, 0x1, 0x5, 0x1E, 0x6, 0x4C, 0x0, 0x1, 0x6, 0x95, 0x4, 0xFA, 0x0, 0x1, 0x5, 0x9A, 0x6, 0x40, 0x0, 0x1, 0x4, 0x1D, 0x5, 0x28, 0x0, 0x1, 0x5, 0x1A, 0x5, 0x28, 0x0, 0x1, 0x2, 0x39, 0x5, 0x28, 0x0, 0x1, 0x4, 0xCA, 0x5, 0x28, 0x0, 0x1, 0x4, 0x79, 0x5, 0x28, 0x0, 0x1, 0x4, 0x2A, 0x5, 0x28, 0x0, 0x1, 0x4, 0xDD, 0x5, 0x28, 0x0, 0x1, 0x1, 0xFD, 0x5, 0x28, 0x0, 0x1, 0x4, 0x5C, 0x5, 0x28, 0x0, 0x1, 0x4, 0x61, 0x5, 0x28, 0x0, 0x1, 0x3, 0xBA, 0x5, 0x28, 0x0, 0x1, 0x6, 0x6, 0x5, 0x28, 0x0, 0x1, 0x4, 0x6D, 0x5, 0x28, 0x0, 0x1, 0x4, 0x3C, 0x5, 0x28, 0x0, 0x1, 0x4, 0x5F, 0x5, 0x28, 0x0, 0x1, 0x4, 0x46, 0x5, 0x28, 0x0, 0x1, 0x4, 0xDE, 0x5, 0x28, 0x0, 0x1, 0x4, 0x80, 0x5, 0x28, 0x0, 0x1, 0x4, 0xE4, 0x5, 0x28, 0x0, 0x1, 0x4, 0x47, 0x5, 0x28, 0x0, 0x1, 0x3, 0xD6, 0x5, 0x28, 0x0, 0x1, 0x6, 0x47, 0x5, 0xA, 0x0, 0x1, 0x4, 0x35, 0x5, 0x28, 0x0, 0x1, 0x6, 0x8, 0x5, 0x28, 0x0, 0x1, 0x4, 0x3D, 0x5, 0x28, 0x0, 0x1, 0x5, 0x53, 0x6, 0x40, 0x0, 0x1, 0x4, 0x55, 0x5, 0xA, 0x0, 0x1, 0x4, 0x86, 0x6, 0x48, 0x0, 0x1, 0x4, 0x4B, 0x5, 0xA, 0x0, 0x1, 0x5, 0x86, 0x6, 0x40, 0x0, 0x1, 0x4, 0x8E, 0x5, 0xA, 0x0, 0x1, 0x4, 0x9E, 0x5, 0x28, 0x0, 0x1, 0x3, 0xE1, 0x5, 0x28, 0x0, 0x1, 0x4, 0xC0, 0x5, 0x28, 0x0, 0x1, 0x5, 0x75, 0x6, 0x5E, 0x0, 0x1, 0x5, 0x98, 0x6, 0x66, 0x0, 0x1, 0x5, 0xB0, 0x6, 0x5E, 0x0, 0x1, 0x2, 0x1B, 0x5, 0x3, 0x0, 0x9, 0x0, 0x0, 0x0, 0x1, 0x0, 0x8, 0x0, 0x1, 0x0, 0x4, 0x0, 0x0, 0x4, 0x4A, 0x0, 0x4, 0x0, 0x0, 0x0, 0x1, 0x0, 0x8, 0x0, 0x1, 0x0, 0xC, 0x0, 0x14, 0x0, 0x1, 0x0, 0x1C, 0x0, 0x32, 0x0, 0x1, 0x0, 0x2, 0x8, 0x9A, 0x8, 0x9D, 0x0, 0x1, 0x0, 0x2, 0x0, 0x93, 0x1, 0x31, 0x0, 0x2, 0x0, 0x0, 0x0, 0xA, 0x0, 0x0, 0x0, 0x10, 0x0, 0x1, 0xFE, 0x9, 0x0, 0xD6, 0x0, 0x1, 0xFD, 0x41, 0x0, 0xD6, 0x0, 0x2, 0x0, 0x6, 0x0, 0xC, 0x0, 0x1, 0x3, 0x1B, 0xFE, 0xCE, 0x0, 0x1, 0x1, 0x64, 0xFE, 0xCB, 0x0, 0x9, 0x0, 0x0, 0x0, 0x1, 0x0, 0x8, 0x0, 0x1, 0x0, 0x4, 0x0, 0x0, 0xB, 0xFC, 0x0, 0x9, 0x0, 0x0, 0x0, 0x1, 0x0, 0x8, 0x0, 0x1, 0x0, 0x4, 0x0, 0x0, 0xC, 0x3A, 0x0, 0x9, 0x0, 0x0, 0x0, 0x1, 0x0, 0x8, 0x0, 0x1, 0x0, 0x6, 0x0, 0x0, 0xC, 0x64, 0x0, 0x6, 0x0, 0x0, 0x0, 0x1, 0x0, 0x8, 0x0, 0x1, 0x0, 0xC, 0x0, 0x76, 0x0, 0x1, 0x0, 0xCE, 0x2, 0x62, 0x0, 0x2, 0x0, 0x11, 0x1, 0xC7, 0x1, 0xCA, 0x0, 0x0, 0x1, 0xCD, 0x1, 0xD1, 0x0, 0x4, 0x1, 0xD4, 0x1, 0xE4, 0x0, 0x9, 0x1, 0xEA, 0x1, 0xED, 0x0, 0x1A, 0x1, 0xF6, 0x1, 0xF6, 0x0, 0x1E, 0x1, 0xF8, 0x1, 0xFA, 0x0, 0x1F, 0x1, 0xFE, 0x1, 0xFF, 0x0, 0x22, 0x2, 0x4, 0x2, 0x7, 0x0, 0x24, 0x2, 0xA, 0x2, 0xB, 0x0, 0x28, 0x3, 0x25, 0x3, 0x28, 0x0, 0x2A, 0x3, 0xF1, 0x3, 0xF1, 0x0, 0x2E, 0x3, 0xF9, 0x3, 0xF9, 0x0, 0x2F, 0x3, 0xFE, 0x3, 0xFF, 0x0, 0x30, 0x4, 0x26, 0x4, 0x26, 0x0, 0x32, 0x4, 0x28, 0x4, 0x28, 0x0, 0x33, 0x8, 0x8F, 0x8, 0x95, 0x0, 0x34, 0x8, 0x98, 0x8, 0x98, 0x0, 0x3B, 0x0, 0x2, 0x0, 0xE, 0x0, 0x7A, 0x0, 0x7A, 0x0, 0x0, 0x1, 0x8C, 0x1, 0x8C, 0x0, 0x1, 0x1, 0xC7, 0x1, 0xCA, 0x0, 0x2, 0x1, 0xCD, 0x1, 0xD1, 0x0, 0x6, 0x1, 0xD4, 0x1, 0xD7, 0x0, 0xB, 0x1, 0xDA, 0x1, 0xE4, 0x0, 0xF, 0x1, 0xEA, 0x1, 0xED, 0x0, 0x1A, 0x1, 0xF6, 0x1, 0xF6, 0x0, 0x1E, 0x1, 0xF8, 0x1, 0xFA, 0x0, 0x1F, 0x1, 0xFE, 0x1, 0xFF, 0x0, 0x22, 0x2, 0x4, 0x2, 0x7, 0x0, 0x24, 0x2, 0xA, 0x2, 0xB, 0x0, 0x28, 0x7, 0x25, 0x7, 0x25, 0x0, 0x2A, 0x8, 0x8F, 0x8, 0x95, 0x0, 0x2B, 0x0, 0x3C, 0x0, 0x0, 0x1, 0x52, 0x0, 0x0, 0x0, 0xF2, 0x0, 0x0, 0x0, 0xF8, 0x0, 0x0, 0x0, 0xFE, 0x0, 0x0, 0x1, 0x4, 0x0, 0x0, 0x1, 0x7C, 0x0, 0x0, 0x1, 0x7C, 0x0, 0x0, 0x1, 0x7C, 0x0, 0x0, 0x1, 0x52, 0x0, 0x0, 0x1, 0x76, 0x0, 0x0, 0x1, 0x70, 0x0, 0x0, 0x1, 0x88, 0x0, 0x0, 0x1, 0xA, 0x0, 0x0, 0x1, 0x10, 0x0, 0x0, 0x1, 0x28, 0x0, 0x0, 0x1, 0x7C, 0x0, 0x0, 0x1, 0x88, 0x0, 0x0, 0x1, 0x52, 0x0, 0x0, 0x1, 0x88, 0x0, 0x0, 0x1, 0x88, 0x0, 0x0, 0x1, 0x88, 0x0, 0x0, 0x1, 0x82, 0x0, 0x0, 0x1, 0x88, 0x0, 0x0, 0x1, 0x88, 0x0, 0x0, 0x1, 0x88, 0x0, 0x0, 0x1, 0x88, 0x0, 0x0, 0x1, 0x16, 0x0, 0x0, 0x1, 0x88, 0x0, 0x0, 0x1, 0x52, 0x0, 0x0, 0x1, 0x52, 0x0, 0x0, 0x1, 0x6A, 0x0, 0x0, 0x1, 0x52, 0x0, 0x0, 0x1, 0x82, 0x0, 0x0, 0x1, 0x1C, 0x0, 0x0, 0x1, 0x88, 0x0, 0x0, 0x1, 0x88, 0x0, 0x0, 0x1, 0x22, 0x0, 0x0, 0x1, 0x28, 0x0, 0x0, 0x1, 0x2E, 0x0, 0x0, 0x1, 0x34, 0x0, 0x0, 0x1, 0x3A, 0x0, 0x0, 0x1, 0x40, 0x0, 0x0, 0x1, 0x46, 0x0, 0x0, 0x1, 0x52, 0x0, 0x0, 0x1, 0x88, 0x0, 0x0, 0x1, 0x8E, 0x0, 0x0, 0x1, 0x82, 0x0, 0x0, 0x1, 0x4C, 0x0, 0x0, 0x1, 0x52, 0x0, 0x0, 0x1, 0x58, 0x0, 0x0, 0x1, 0x5E, 0x0, 0x0, 0x1, 0x64, 0x0, 0x0, 0x1, 0x6A, 0x0, 0x0, 0x1, 0x70, 0x0, 0x0, 0x1, 0x76, 0x0, 0x0, 0x1, 0x88, 0x0, 0x0, 0x1, 0x7C, 0x0, 0x0, 0x1, 0x82, 0x0, 0x0, 0x1, 0x88, 0x0, 0x0, 0x1, 0x8E, 0x0, 0x1, 0xFD, 0x9B, 0x0, 0x0, 0x0, 0x1, 0xFD, 0xCF, 0xFF, 0xFC, 0x0, 0x1, 0xFD, 0xB0, 0x0, 0x0, 0x0, 0x1, 0xFD, 0xED, 0xFF, 0xF9, 0x0, 0x1, 0xFD, 0xD0, 0x0, 0x0, 0x0, 0x1, 0xFD, 0x9C, 0x0, 0x3, 0x0, 0x1, 0xFD, 0x98, 0x0, 0x0, 0x0, 0x1, 0xFD, 0xD4, 0x0, 0x0, 0x0, 0x1, 0xFD, 0xEC, 0x0, 0x0, 0x0, 0x1, 0xFD, 0xC8, 0x0, 0x0, 0x0, 0x1, 0xFD, 0xC2, 0x0, 0x0, 0x0, 0x1, 0xFD, 0xEA, 0x0, 0x0, 0x0, 0x1, 0xFD, 0xB3, 0x0, 0x0, 0x0, 0x1, 0xFD, 0xC9, 0x0, 0x17, 0x0, 0x1, 0xFD, 0xD6, 0x0, 0x0, 0x0, 0x1, 0xFD, 0xDE, 0x0, 0x0, 0x0, 0x1, 0xFD, 0xB9, 0x0, 0x0, 0x0, 0x1, 0xFE, 0x3C, 0x0, 0x0, 0x0, 0x1, 0xFD, 0xC4, 0x0, 0x0, 0x0, 0x1, 0xFD, 0xC9, 0x0, 0x0, 0x0, 0x1, 0xFD, 0xB2, 0x0, 0x0, 0x0, 0x1, 0xFD, 0x68, 0x0, 0x0, 0x0, 0x1, 0xFD, 0xA8, 0x0, 0x0, 0x0, 0x1, 0xFD, 0xB6, 0x0, 0x0, 0x0, 0x1, 0xFD, 0xB7, 0x0, 0x0, 0x0, 0x1, 0xFD, 0xB8, 0x0, 0x0, 0x0, 0x1, 0xFD, 0xD9, 0x0, 0x0, 0x0, 0x32, 0x0, 0x66, 0x0, 0x6C, 0x0, 0x72, 0x0, 0x78, 0x0, 0x7E, 0x0, 0x84, 0x0, 0x8A, 0x0, 0x90, 0x0, 0x90, 0x0, 0x96, 0x0, 0x9C, 0x1, 0x3E, 0x1, 0x38, 0x1, 0x44, 0x0, 0xA2, 0x1, 0x4A, 0x0, 0xA8, 0x0, 0xAE, 0x0, 0xB4, 0x0, 0xBA, 0x0, 0xC0, 0x1, 0x50, 0x1, 0x56, 0x0, 0xC6, 0x0, 0xCC, 0x0, 0xD2, 0x0, 0xD8, 0x0, 0xDE, 0x0, 0xEA, 0x0, 0xE4, 0x1, 0x32, 0x0, 0xEA, 0x0, 0xF0, 0x0, 0xF6, 0x0, 0xFC, 0x1, 0x2, 0x1, 0x8, 0x1, 0xE, 0x1, 0x14, 0x1, 0x1A, 0x1, 0x20, 0x1, 0x26, 0x1, 0x2C, 0x1, 0x32, 0x1, 0x38, 0x1, 0x3E, 0x1, 0x44, 0x1, 0x4A, 0x1, 0x50, 0x1, 0x56, 0x0, 0x1, 0x0, 0xE1, 0xFE, 0x3D, 0x0, 0x1, 0x1, 0x35, 0xFE, 0x52, 0x0, 0x1, 0xFD, 0xB9, 0xFE, 0x7A, 0x0, 0x1, 0xFD, 0x9C, 0xFE, 0x7A, 0x0, 0x1, 0xFD, 0xCF, 0xFE, 0x24, 0x0, 0x1, 0xFD, 0xB1, 0xFE, 0x24, 0x0, 0x1, 0xFD, 0xED, 0xFE, 0x25, 0x0, 0x1, 0xFD, 0xB6, 0xFE, 0x3D, 0x0, 0x1, 0xFD, 0xB7, 0xFE, 0x15, 0x0, 0x1, 0xFD, 0xBB, 0xFE, 0xA5, 0x0, 0x1, 0xFD, 0xD0, 0xFD, 0xD7, 0x0, 0x1, 0xFD, 0xB8, 0xFE, 0x24, 0x0, 0x1, 0xFD, 0xB9, 0xFE, 0xAF, 0x0, 0x1, 0xFD, 0xB8, 0xFE, 0x68, 0x0, 0x1, 0xFD, 0xB8, 0xFE, 0x74, 0x0, 0x1, 0xFD, 0xB8, 0xFE, 0x8A, 0x0, 0x1, 0xFD, 0xB9, 0xFE, 0xC8, 0x0, 0x1, 0xFD, 0xB8, 0xFE, 0xAD, 0x0, 0x1, 0xFD, 0xB8, 0xFD, 0xF9, 0x0, 0x1, 0xFD, 0x98, 0xFE, 0x2B, 0x0, 0x1, 0xFD, 0xB8, 0xFE, 0x13, 0x0, 0x1, 0xFD, 0xB9, 0xFE, 0xB0, 0x0, 0x1, 0xFD, 0xB9, 0xFE, 0xE, 0x0, 0x1, 0xFD, 0xB7, 0xFE, 0xE, 0x0, 0x1, 0xFD, 0xD4, 0xFE, 0x6, 0x0, 0x1, 0xFD, 0xB8, 0xFD, 0xD8, 0x0, 0x1, 0xFD, 0xB8, 0xFD, 0xDA, 0x0, 0x1, 0xFD, 0xEC, 0xFD, 0xD7, 0x0, 0x1, 0xFD, 0xC8, 0xFD, 0xD6, 0x0, 0x1, 0xFD, 0xC2, 0xFD, 0xD7, 0x0, 0x1, 0xFD, 0xEA, 0xFD, 0xD7, 0x0, 0x1, 0xFD, 0xB3, 0xFD, 0xED, 0x0, 0x1, 0xFD, 0xC9, 0xFE, 0x1F, 0x0, 0x1, 0x0, 0xF5, 0xFF, 0x66, 0x0, 0x1, 0xFD, 0xB2, 0xFD, 0xF2, 0x0, 0x1, 0xFD, 0x68, 0xFE, 0x98, 0x0, 0x1, 0xFD, 0xA8, 0xFE, 0x91, 0x0, 0x1, 0xFD, 0xB8, 0xFE, 0x29, 0x0, 0x1, 0xFD, 0xBA, 0xFE, 0xE, 0x0, 0x1, 0xFD, 0xB7, 0xFE, 0x83, 0x0, 0x1, 0xFD, 0xB8, 0xFE, 0x59, 0x0, 0x1, 0x0, 0xC, 0x0, 0x14, 0x0, 0x1, 0x0, 0xA2, 0x0, 0xB8, 0x0, 0x1, 0x0, 0x2, 0x3, 0x2B, 0x3, 0x2C, 0x0, 0x2, 0x0, 0x17, 0x8, 0xC8, 0x9, 0x30, 0x0, 0x0, 0x9, 0x33, 0x9, 0xD4, 0x0, 0x69, 0xA, 0x12, 0xA, 0x13, 0x1, 0xB, 0xA, 0x16, 0xA, 0x17, 0x1, 0xD, 0xA, 0x19, 0xA, 0x19, 0x1, 0xF, 0xA, 0x1C, 0xA, 0x1D, 0x1, 0x10, 0xA, 0x22, 0xA, 0x29, 0x1, 0x12, 0xA, 0x2D, 0xA, 0x2D, 0x1, 0x1A, 0xA, 0x2F, 0xA, 0x32, 0x1, 0x1B, 0xA, 0x38, 0xA, 0x38, 0x1, 0x1F, 0xA, 0x5E, 0xA, 0x5E, 0x1, 0x20, 0xA, 0x6E, 0xA, 0xC5, 0x1, 0x21, 0xA, 0xE7, 0xA, 0xE7, 0x1, 0x79, 0xA, 0xEE, 0xB, 0xC, 0x1, 0x7A, 0xB, 0x10, 0xB, 0x3E, 0x1, 0x99, 0xB, 0x4D, 0xB, 0xD7, 0x1, 0xC8, 0xC, 0xB7, 0xC, 0xBC, 0x2, 0x53, 0xC, 0xBE, 0xC, 0xDD, 0x2, 0x59, 0xC, 0xDF, 0xC, 0xE6, 0x2, 0x79, 0xC, 0xE8, 0xC, 0xE9, 0x2, 0x81, 0xC, 0xEB, 0xC, 0xEB, 0x2, 0x83, 0xC, 0xED, 0xC, 0xFC, 0x2, 0x84, 0xD, 0x1D, 0xD, 0x1E, 0x2, 0x94, 0x0, 0x2, 0x0, 0x0, 0x0, 0xA, 0x0, 0x0, 0x0, 0x10, 0x0, 0x1, 0xFD, 0xC3, 0x5, 0x46, 0x0, 0x1, 0xFD, 0xCF, 0x5, 0x46, 0x2, 0x96, 0x5, 0xD0, 0x5, 0xD0, 0x6, 0x8A, 0x6, 0x48, 0x6, 0x90, 0x7, 0x1A, 0x7, 0x1A, 0x7, 0x1A, 0x7, 0x1A, 0x7, 0x1A, 0x7, 0x1A, 0x7, 0x1A, 0x5, 0xC4, 0x7, 0x26, 0x7, 0x26, 0x7, 0x26, 0x7, 0x26, 0x5, 0xA6, 0x5, 0xA6, 0x5, 0xA6, 0x5, 0xA6, 0x6, 0x18, 0x7, 0x32, 0x7, 0x32, 0x7, 0x32, 0x7, 0x32, 0x7, 0x32, 0x6, 0x4E, 0x6, 0x4E, 0x6, 0x4E, 0x6, 0x4E, 0x6, 0x78, 0x7, 0x20, 0x7, 0x20, 0x7, 0x20, 0x7, 0x20, 0x7, 0x20, 0x7, 0x20, 0x7, 0x20, 0x5, 0xCA, 0x7, 0x2C, 0x7, 0x2C, 0x7, 0x2C, 0x7, 0x2C, 0x7, 0x50, 0x7, 0x50, 0x7, 0x50, 0x7, 0x50, 0x6, 0x1E, 0x7, 0x38, 0x7, 0x38, 0x7, 0x38, 0x7, 0x38, 0x7, 0x38, 0x6, 0x54, 0x6, 0x54, 0x6, 0x54, 0x6, 0x54, 0x6, 0x9C, 0x6, 0x9C, 0x7, 0x1A, 0x7, 0x20, 0x7, 0x1A, 0x7, 0x20, 0x7, 0x1A, 0x7, 0x20, 0x5, 0xC4, 0x5, 0xCA, 0x5, 0xC4, 0x5, 0xCA, 0x5, 0xC4, 0x5, 0xCA, 0x5, 0xC4, 0x5, 0xCA, 0x5, 0xD0, 0x5, 0xD6, 0x7, 0x26, 0x7, 0x2C, 0x7, 0x26, 0x7, 0x2C, 0x7, 0x26, 0x7, 0x2C, 0x7, 0x26, 0x7, 0x2C, 0x7, 0x26, 0x7, 0x2C, 0x5, 0xE8, 0x7, 0x2C, 0x5, 0xE8, 0x7, 0x2C, 0x5, 0xE8, 0x7, 0x2C, 0x5, 0xE8, 0x7, 0x2C, 0x5, 0xEE, 0x6, 0x8A, 0x5, 0xA6, 0x7, 0x50, 0x5, 0xA6, 0x7, 0x50, 0x5, 0xA6, 0x7, 0x50, 0x5, 0xA6, 0x5, 0x70, 0x5, 0xA6, 0x5, 0x2E, 0x5, 0x5E, 0x5, 0xF4, 0x5, 0xFA, 0x6, 0x0, 0x6, 0x6, 0x6, 0x0, 0x6, 0x6, 0x6, 0x0, 0x6, 0x6, 0x6, 0x0, 0x6, 0x6, 0x6, 0x18, 0x6, 0x1E, 0x6, 0x18, 0x6, 0x1E, 0x6, 0x18, 0x6, 0x1E, 0x6, 0x1E, 0x7, 0x32, 0x7, 0x38, 0x7, 0x32, 0x7, 0x38, 0x7, 0x32, 0x7, 0x38, 0x6, 0x30, 0x6, 0x36, 0x6, 0x30, 0x6, 0x36, 0x6, 0x30, 0x6, 0x36, 0x6, 0x3C, 0x6, 0x42, 0x6, 0x3C, 0x6, 0x42, 0x6, 0x3C, 0x6, 0x42, 0x6, 0x3C, 0x6, 0x42, 0x6, 0x3C, 0x6, 0x42, 0x6, 0x48, 0x6, 0x90, 0x6, 0x48, 0x6, 0x90, 0x6, 0x48, 0x6, 0x90, 0x6, 0x4E, 0x6, 0x54, 0x6, 0x4E, 0x6, 0x54, 0x6, 0x4E, 0x6, 0x54, 0x6, 0x4E, 0x6, 0x54, 0x6, 0x4E, 0x6, 0x54, 0x6, 0x4E, 0x6, 0x54, 0x6, 0x66, 0x6, 0x96, 0x6, 0x78, 0x6, 0x9C, 0x6, 0x78, 0x6, 0x7E, 0x6, 0x84, 0x6, 0x7E, 0x6, 0x84, 0x6, 0x7E, 0x6, 0x84, 0x5, 0x9A, 0x5, 0xA0, 0x5, 0x34, 0x5, 0x3A, 0x5, 0x40, 0x5, 0x40, 0x6, 0xD2, 0x7, 0x3E, 0x7, 0x3E, 0x7, 0x3E, 0x7, 0x3E, 0x7, 0x3E, 0x7, 0x3E, 0x7, 0x3E, 0x6, 0xEA, 0x7, 0x44, 0x7, 0x44, 0x7, 0x44, 0x7, 0x44, 0x6, 0xAE, 0x6, 0xAE, 0x6, 0xAE, 0x6, 0xAE, 0x6, 0xA8, 0x7, 0x4A, 0x7, 0x4A, 0x7, 0x4A, 0x7, 0x4A, 0x7, 0x4A, 0x5, 0x58, 0x5, 0x58, 0x5, 0x58, 0x5, 0x58, 0x7, 0x14, 0x7, 0x3E, 0x7, 0x3E, 0x7, 0x3E, 0x6, 0xEA, 0x6, 0xEA, 0x6, 0xEA, 0x6, 0xEA, 0x5, 0x40, 0x7, 0x44, 0x7, 0x44, 0x7, 0x44, 0x7, 0x44, 0x7, 0x44, 0x5, 0x46, 0x5, 0x46, 0x5, 0x46, 0x5, 0x46, 0x6, 0xE4, 0x6, 0xAE, 0x6, 0xAE, 0x6, 0xAE, 0x6, 0xAE, 0x6, 0xAE, 0x6, 0xFC, 0x6, 0xB4, 0x5, 0x4C, 0x5, 0x4C, 0x5, 0x4C, 0x5, 0x4C, 0x6, 0xA8, 0x6, 0xA8, 0x6, 0xA8, 0x7, 0x4A, 0x7, 0x4A, 0x7, 0x4A, 0x7, 0x4A, 0x5, 0x52, 0x5, 0x52, 0x5, 0x52, 0x7, 0x8, 0x7, 0x8, 0x7, 0x8, 0x7, 0x8, 0x6, 0xD2, 0x6, 0xD2, 0x6, 0xD2, 0x5, 0x58, 0x5, 0x58, 0x5, 0x58, 0x5, 0x58, 0x5, 0x58, 0x5, 0x58, 0x7, 0xE, 0x7, 0x14, 0x7, 0x14, 0x6, 0xA2, 0x6, 0xA2, 0x6, 0xA2, 0x7, 0x20, 0x7, 0x2C, 0x6, 0x2A, 0x5, 0xCA, 0x6, 0x72, 0x6, 0x42, 0x5, 0x70, 0x6, 0x66, 0x6, 0x96, 0x6, 0x66, 0x6, 0x96, 0x6, 0x66, 0x6, 0x96, 0x6, 0x78, 0x6, 0x9C, 0x5, 0x5E, 0x6, 0xC, 0x6, 0x12, 0x7, 0x1A, 0x7, 0x20, 0x5, 0x64, 0x5, 0x6A, 0x7, 0x1A, 0x7, 0x20, 0x7, 0x1A, 0x7, 0x20, 0x7, 0x1A, 0x7, 0x20, 0x7, 0x1A, 0x7, 0x20, 0x7, 0x1A, 0x7, 0x20, 0x7, 0x1A, 0x7, 0x20, 0x7, 0x1A, 0x7, 0x20, 0x7, 0x1A, 0x7, 0x20, 0x7, 0x1A, 0x7, 0x20, 0x7, 0x1A, 0x7, 0x20, 0x7, 0x1A, 0x7, 0x20, 0x7, 0x1A, 0x7, 0x20, 0x7, 0x26, 0x7, 0x2C, 0x7, 0x26, 0x7, 0x2C, 0x7, 0x26, 0x7, 0x2C, 0x7, 0x26, 0x7, 0x2C, 0x7, 0x26, 0x7, 0x2C, 0x7, 0x26, 0x7, 0x2C, 0x7, 0x26, 0x7, 0x2C, 0x7, 0x26, 0x7, 0x2C, 0x5, 0xA6, 0x7, 0x50, 0x5, 0xA6, 0x5, 0x70, 0x7, 0x32, 0x7, 0x38, 0x7, 0x32, 0x7, 0x38, 0x7, 0x32, 0x7, 0x38, 0x7, 0x32, 0x7, 0x38, 0x7, 0x32, 0x7, 0x38, 0x7, 0x32, 0x7, 0x38, 0x7, 0x32, 0x7, 0x38, 0x5, 0x76, 0x5, 0x7C, 0x5, 0x76, 0x5, 0x7C, 0x5, 0x76, 0x5, 0x7C, 0x5, 0x76, 0x5, 0x7C, 0x5, 0x76, 0x5, 0x7C, 0x6, 0x4E, 0x6, 0x54, 0x6, 0x4E, 0x6, 0x54, 0x5, 0x82, 0x5, 0x88, 0x5, 0x82, 0x5, 0x88, 0x5, 0x82, 0x5, 0x88, 0x5, 0x82, 0x5, 0x88, 0x5, 0x82, 0x5, 0x88, 0x6, 0x78, 0x6, 0x9C, 0x6, 0x78, 0x6, 0x9C, 0x6, 0x78, 0x6, 0x9C, 0x5, 0x8E, 0x7, 0x1A, 0x7, 0x20, 0x5, 0xA6, 0x7, 0x50, 0x7, 0x32, 0x7, 0x38, 0x6, 0x4E, 0x6, 0x54, 0x6, 0x4E, 0x6, 0x54, 0x6, 0x4E, 0x6, 0x54, 0x6, 0x4E, 0x6, 0x54, 0x6, 0x4E, 0x6, 0x54, 0x5, 0x94, 0x7, 0x1A, 0x7, 0x20, 0x7, 0x1A, 0x7, 0x20, 0x5, 0x9A, 0x5, 0xA0, 0x5, 0xE8, 0x7, 0x2C, 0x5, 0xF4, 0x5, 0xFA, 0x7, 0x32, 0x7, 0x38, 0x7, 0x32, 0x7, 0x38, 0x5, 0xE8, 0x7, 0x2C, 0x6, 0x18, 0x6, 0x1E, 0x7, 0x1A, 0x7, 0x20, 0x7, 0x1A, 0x7, 0x20, 0x7, 0x26, 0x7, 0x2C, 0x7, 0x26, 0x7, 0x2C, 0x5, 0xA6, 0x7, 0x50, 0x5, 0xA6, 0x7, 0x50, 0x7, 0x32, 0x7, 0x38, 0x7, 0x32, 0x7, 0x38, 0x6, 0x30, 0x6, 0x36, 0x6, 0x30, 0x6, 0x36, 0x6, 0x4E, 0x6, 0x54, 0x6, 0x4E, 0x6, 0x54, 0x5, 0xEE, 0x6, 0x8A, 0x7, 0x1A, 0x7, 0x20, 0x7, 0x26, 0x7, 0x2C, 0x7, 0x32, 0x7, 0x38, 0x7, 0x32, 0x7, 0x38, 0x7, 0x32, 0x7, 0x38, 0x7, 0x32, 0x7, 0x38, 0x6, 0x78, 0x6, 0x9C, 0x5, 0xAC, 0x5, 0xB2, 0x5, 0xB8, 0x6, 0x24, 0x5, 0xBE, 0x6, 0x24, 0x5, 0xBE, 0x6, 0x24, 0x5, 0xBE, 0x5, 0xC4, 0x5, 0xCA, 0x5, 0xD0, 0x5, 0xD6, 0x5, 0xD0, 0x5, 0xD6, 0x5, 0xD0, 0x5, 0xD6, 0x5, 0xD0, 0x5, 0xD6, 0x5, 0xD0, 0x5, 0xD6, 0x7, 0x26, 0x7, 0x2C, 0x7, 0x26, 0x7, 0x2C, 0x7, 0x26, 0x7, 0x2C, 0x7, 0x26, 0x7, 0x2C, 0x7, 0x26, 0x7, 0x2C, 0x5, 0xDC, 0x5, 0xE2, 0x5, 0xE8, 0x7, 0x2C, 0x5, 0xEE, 0x6, 0x8A, 0x5, 0xEE, 0x6, 0x8A, 0x5, 0xEE, 0x6, 0x8A, 0x5, 0xEE, 0x6, 0x8A, 0x5, 0xF4, 0x5, 0xFA, 0x5, 0xF4, 0x5, 0xFA, 0x5, 0xF4, 0x5, 0xFA, 0x6, 0x0, 0x6, 0x6, 0x6, 0x0, 0x6, 0x6, 0x6, 0x0, 0x6, 0x6, 0x6, 0x0, 0x6, 0x6, 0x6, 0xC, 0x6, 0x12, 0x6, 0xC, 0x6, 0x12, 0x6, 0x18, 0x6, 0x1E, 0x6, 0x18, 0x6, 0x1E, 0x6, 0x18, 0x6, 0x1E, 0x6, 0x18, 0x6, 0x1E, 0x7, 0x32, 0x7, 0x38, 0x7, 0x32, 0x7, 0x38, 0x7, 0x32, 0x7, 0x38, 0x7, 0x32, 0x7, 0x38, 0x6, 0x24, 0x6, 0x2A, 0x6, 0x24, 0x6, 0x2A, 0x6, 0x30, 0x6, 0x36, 0x6, 0x30, 0x6, 0x36, 0x6, 0x30, 0x6, 0x36, 0x6, 0x30, 0x6, 0x36, 0x6, 0x3C, 0x6, 0x42, 0x6, 0x3C, 0x6, 0x42, 0x6, 0x3C, 0x6, 0x42, 0x6, 0x3C, 0x6, 0x42, 0x6, 0x3C, 0x6, 0x42, 0x6, 0x48, 0x6, 0x90, 0x6, 0x48, 0x6, 0x90, 0x6, 0x48, 0x6, 0x90, 0x6, 0x48, 0x6, 0x90, 0x6, 0x4E, 0x6, 0x54, 0x6, 0x4E, 0x6, 0x54, 0x6, 0x4E, 0x6, 0x54, 0x6, 0x4E, 0x6, 0x54, 0x6, 0x4E, 0x6, 0x54, 0x6, 0x5A, 0x6, 0x60, 0x6, 0x5A, 0x6, 0x60, 0x6, 0x66, 0x6, 0x96, 0x6, 0x66, 0x6, 0x96, 0x6, 0x6C, 0x6, 0x72, 0x6, 0x6C, 0x6, 0x72, 0x6, 0x78, 0x6, 0x9C, 0x6, 0x7E, 0x6, 0x84, 0x6, 0x7E, 0x6, 0x84, 0x6, 0x7E, 0x6, 0x84, 0x6, 0x8A, 0x6, 0x90, 0x6, 0x96, 0x6, 0x9C, 0x7, 0x20, 0x7, 0x3E, 0x7, 0x44, 0x6, 0xE4, 0x6, 0xAE, 0x7, 0x4A, 0x7, 0x14, 0x7, 0x3E, 0x6, 0xBA, 0x7, 0x44, 0x6, 0xA2, 0x6, 0xE4, 0x6, 0xAE, 0x6, 0xB4, 0x6, 0xC6, 0x6, 0xA8, 0x7, 0x4A, 0x6, 0xCC, 0x6, 0xD2, 0x7, 0x14, 0x6, 0xD8, 0x6, 0xAE, 0x7, 0x14, 0x7, 0x44, 0x6, 0xC0, 0x7, 0x8, 0x6, 0xAE, 0x6, 0xAE, 0x6, 0xFC, 0x6, 0xB4, 0x6, 0xF6, 0x7, 0x3E, 0x6, 0xBA, 0x6, 0xC0, 0x7, 0x44, 0x6, 0xF0, 0x6, 0xC6, 0x6, 0xE4, 0x7, 0x4A, 0x6, 0xCC, 0x6, 0xEA, 0x6, 0xD2, 0x6, 0xD8, 0x6, 0xDE, 0x6, 0xE4, 0x6, 0xEA, 0x7, 0x14, 0x6, 0xF0, 0x6, 0xF6, 0x6, 0xFC, 0x7, 0x2, 0x7, 0x4A, 0x7, 0x8, 0x7, 0xE, 0x7, 0xE, 0x7, 0xE, 0x7, 0x14, 0x7, 0x1A, 0x7, 0x20, 0x7, 0x26, 0x7, 0x2C, 0x7, 0x32, 0x7, 0x38, 0x7, 0x3E, 0x7, 0x44, 0x7, 0x4A, 0x7, 0x50, 0x7, 0x50, 0x0, 0x1, 0x3, 0x52, 0x6, 0x41, 0x0, 0x1, 0x2, 0xCB, 0x6, 0x8A, 0x0, 0x1, 0x2, 0x1C, 0x5, 0x7, 0x0, 0x1, 0x1, 0xCB, 0x5, 0x28, 0x0, 0x1, 0x2, 0x53, 0x5, 0x28, 0x0, 0x1, 0x0, 0xF5, 0x5, 0x28, 0x0, 0x1, 0x2, 0x3, 0x5, 0x28, 0x0, 0x1, 0x2, 0x40, 0x5, 0x28, 0x0, 0x1, 0x1, 0x11, 0x4, 0xE8, 0x0, 0x1, 0x2, 0xDD, 0x4, 0xF5, 0x0, 0x1, 0x2, 0xD2, 0x6, 0x45, 0x0, 0x1, 0x1, 0x7, 0x6, 0x40, 0x0, 0x1, 0x2, 0xBF, 0x6, 0x3E, 0x0, 0x1, 0x2, 0x44, 0x5, 0xA, 0x0, 0x1, 0x2, 0xC2, 0x6, 0x4C, 0x0, 0x1, 0x2, 0x42, 0x4, 0xF5, 0x0, 0x1, 0x2, 0x42, 0x5, 0xA, 0x0, 0x1, 0x2, 0x28, 0x5, 0xB, 0x0, 0x1, 0x3, 0xA7, 0x6, 0x4C, 0x0, 0x1, 0x3, 0x5C, 0x5, 0xB, 0x0, 0x1, 0x1, 0x21, 0x6, 0x48, 0x0, 0x1, 0x2, 0x33, 0x5, 0xA, 0x0, 0x1, 0x2, 0x23, 0x4, 0xF5, 0x0, 0x1, 0x2, 0x4E, 0x4, 0xF5, 0x0, 0x1, 0x2, 0x8D, 0x6, 0x47, 0x0, 0x1, 0x2, 0xAC, 0x6, 0x55, 0x0, 0x1, 0x2, 0x15, 0x5, 0xA, 0x0, 0x1, 0x2, 0x3B, 0x6, 0x48, 0x0, 0x1, 0x2, 0xD, 0x6, 0x47, 0x0, 0x1, 0x2, 0x73, 0x6, 0x4C, 0x0, 0x1, 0x1, 0xE0, 0x6, 0xBE, 0x0, 0x1, 0x2, 0xA9, 0x6, 0x55, 0x0, 0x1, 0x2, 0xCD, 0x6, 0x48, 0x0, 0x1, 0x2, 0x59, 0x6, 0x41, 0x0, 0x1, 0x2, 0x57, 0x6, 0x47, 0x0, 0x1, 0x1, 0x14, 0x6, 0x40, 0x0, 0x1, 0x1, 0x6, 0x6, 0x9B, 0x0, 0x1, 0x3, 0x7B, 0x6, 0x40, 0x0, 0x1, 0x3, 0x8C, 0x5, 0xA, 0x0, 0x1, 0x2, 0xD6, 0x6, 0x40, 0x0, 0x1, 0x2, 0x3E, 0x5, 0xA, 0x0, 0x1, 0x2, 0x5E, 0x6, 0x4C, 0x0, 0x1, 0x2, 0x88, 0x5, 0x0, 0x0, 0x1, 0x2, 0x5C, 0x6, 0x40, 0x0, 0x1, 0x1, 0x99, 0x5, 0xA, 0x0, 0x1, 0x2, 0x7A, 0x6, 0x40, 0x0, 0x1, 0x2, 0x25, 0x5, 0xA, 0x0, 0x1, 0x2, 0x6C, 0x6, 0x40, 0x0, 0x1, 0x2, 0x9B, 0x6, 0x40, 0x0, 0x1, 0x2, 0x39, 0x5, 0xA, 0x0, 0x1, 0x2, 0x99, 0x6, 0x4C, 0x0, 0x1, 0x2, 0x1, 0x5, 0x0, 0x0, 0x1, 0x3, 0x92, 0x6, 0x40, 0x0, 0x1, 0x2, 0x87, 0x6, 0x4C, 0x0, 0x1, 0x2, 0x4, 0x5, 0x0, 0x0, 0x1, 0x2, 0x73, 0x6, 0x40, 0x0, 0x1, 0x2, 0x6F, 0x6, 0x40, 0x0, 0x1, 0x2, 0x7, 0x5, 0xA, 0x0, 0x1, 0x2, 0x2, 0x6, 0x68, 0x0, 0x1, 0x1, 0x46, 0x5, 0xC4, 0x0, 0x1, 0x2, 0xF5, 0x5, 0xA, 0x0, 0x1, 0x2, 0x2, 0x5, 0xA, 0x0, 0x1, 0x2, 0x1C, 0x5, 0x28, 0x0, 0x1, 0x2, 0x70, 0x5, 0x28, 0x0, 0x1, 0x0, 0xFF, 0x5, 0x28, 0x0, 0x1, 0x2, 0x2, 0x5, 0x28, 0x0, 0x1, 0x2, 0xE, 0x5, 0x28, 0x0, 0x1, 0x2, 0xF, 0x5, 0x28, 0x0, 0x1, 0x2, 0xFE, 0x5, 0x28, 0x0, 0x1, 0x2, 0x32, 0x5, 0x28, 0x0, 0x1, 0x2, 0x1B, 0x5, 0x28, 0x0, 0x1, 0x2, 0x26, 0x5, 0x28, 0x0, 0x1, 0x2, 0xB, 0x5, 0x28, 0x0, 0x1, 0x2, 0x65, 0x5, 0x28, 0x0, 0x1, 0x2, 0x4F, 0x5, 0x28, 0x0, 0x1, 0x2, 0x71, 0x5, 0x28, 0x0, 0x1, 0x2, 0x31, 0x5, 0x28, 0x0, 0x1, 0x2, 0xDE, 0x5, 0x28, 0x0, 0x1, 0x3, 0x6E, 0x5, 0xA, 0x0, 0x1, 0x2, 0x2C, 0x5, 0x28, 0x0, 0x1, 0x3, 0x3, 0x5, 0x28, 0x0, 0x1, 0x2, 0x19, 0x5, 0x28, 0x0, 0x1, 0x2, 0xAD, 0x6, 0x40, 0x0, 0x1, 0x2, 0x37, 0x5, 0xA, 0x0, 0x1, 0x2, 0x73, 0x6, 0x48, 0x0, 0x1, 0x2, 0x2B, 0x5, 0xA, 0x0, 0x1, 0x2, 0xC4, 0x6, 0x40, 0x0, 0x1, 0x2, 0x40, 0x5, 0xA, 0x0, 0x1, 0x2, 0x51, 0x5, 0x28, 0x0, 0x1, 0x2, 0x21, 0x5, 0x28, 0x0, 0x1, 0x2, 0x5F, 0x5, 0x28, 0x0, 0x1, 0x1, 0xC, 0x5, 0x3, 0x0, 0x1, 0x0, 0xC, 0x0, 0x14, 0x0, 0x1, 0x0, 0x1E, 0x0, 0x34, 0x0, 0x1, 0x0, 0x2, 0x8, 0x9B, 0x8, 0x9E, 0x0, 0x1, 0x0, 0x3, 0x0, 0x8C, 0x0, 0x97, 0x1, 0x20, 0x0, 0x2, 0x0, 0x0, 0x0, 0xA, 0x0, 0x0, 0x0, 0x10, 0x0, 0x1, 0xFD, 0xAF, 0x0, 0xD6, 0x0, 0x1, 0xFC, 0xE7, 0x0, 0xD6, 0x0, 0x3, 0x0, 0x8, 0x0, 0xE, 0x0, 0x14, 0x0, 0x1, 0x3, 0x65, 0x5, 0x1F, 0x0, 0x1, 0x1, 0x6B, 0x5, 0x17, 0x0, 0x1, 0x1, 0x80, 0x3, 0x1A, 0x0, 0x1, 0x0, 0xC, 0x0, 0x14, 0x0, 0x1, 0x0, 0x1A, 0x0, 0x30, 0x0, 0x1, 0x0, 0x2, 0x8, 0x9C, 0x8, 0x9F, 0x0, 0x1, 0x0, 0x1, 0x0, 0xDC, 0x0, 0x2, 0x0, 0x0, 0x0, 0xA, 0x0, 0x0, 0x0, 0x10, 0x0, 0x1, 0xFD, 0x48, 0x0, 0xD6, 0x0, 0x1, 0xFC, 0x5F, 0x0, 0xD6, 0x0, 0x1, 0x0, 0x4, 0x0, 0x1, 0x2, 0x43, 0xFF, 0x89, 0x0, 0x1, 0x0, 0xC, 0x0, 0xA6, 0x0, 0x1, 0x0, 0xE0, 0x6, 0x5E, 0x0, 0x2, 0x0, 0x19, 0x1, 0xB1, 0x1, 0xC5, 0x0, 0x0, 0x1, 0xCB, 0x1, 0xCB, 0x0, 0x15, 0x1, 0xEE, 0x1, 0xF5, 0x0, 0x16, 0x1, 0xF7, 0x1, 0xF7, 0x0, 0x1E, 0x1, 0xFB, 0x1, 0xFD, 0x0, 0x1F, 0x2, 0x1, 0x2, 0x3, 0x0, 0x22, 0x2, 0x8, 0x2, 0x8, 0x0, 0x25, 0x2, 0xC, 0x2, 0xC, 0x0, 0x26, 0x2, 0x14, 0x2, 0x20, 0x0, 0x27, 0x2, 0xBA, 0x2, 0xBE, 0x0, 0x34, 0x3, 0x20, 0x3, 0x24, 0x0, 0x39, 0x3, 0x2B, 0x3, 0x2C, 0x0, 0x3E, 0x3, 0xEF, 0x3, 0xF0, 0x0, 0x40, 0x3, 0xF2, 0x3, 0xF8, 0x0, 0x42, 0x3, 0xFA, 0x3, 0xFD, 0x0, 0x49, 0x4, 0x0, 0x4, 0x24, 0x0, 0x4D, 0x4, 0x27, 0x4, 0x27, 0x0, 0x72, 0x4, 0xE2, 0x4, 0xE3, 0x0, 0x73, 0x4, 0xE5, 0x4, 0xE5, 0x0, 0x75, 0x5, 0x76, 0x5, 0x95, 0x0, 0x76, 0x6, 0x8, 0x6, 0x8, 0x0, 0x96, 0x6, 0xD, 0x6, 0x16, 0x0, 0x97, 0x6, 0x37, 0x6, 0x37, 0x0, 0xA1, 0x7, 0x2D, 0x7, 0x33, 0x0, 0xA2, 0x8, 0x8A, 0x8, 0x8E, 0x0, 0xA9, 0x0, 0x2, 0x0, 0x9, 0x1, 0xB1, 0x1, 0xC5, 0x0, 0x0, 0x1, 0xCB, 0x1, 0xCB, 0x0, 0x15, 0x1, 0xEE, 0x1, 0xF5, 0x0, 0x16, 0x1, 0xF7, 0x1, 0xF7, 0x0, 0x1E, 0x1, 0xFB, 0x1, 0xFD, 0x0, 0x1F, 0x2, 0x1, 0x2, 0x3, 0x0, 0x22, 0x2, 0x8, 0x2, 0x8, 0x0, 0x25, 0x2, 0xC, 0x2, 0xC, 0x0, 0x26, 0x8, 0x8A, 0x8, 0x8E, 0x0, 0x27, 0x0, 0xAE, 0x0, 0x0, 0x2, 0xBA, 0x0, 0x0, 0x2, 0xC0, 0x0, 0x0, 0x2, 0xC6, 0x0, 0x0, 0x5, 0x66, 0x0, 0x0, 0x2, 0xCC, 0x0, 0x0, 0x2, 0xD2, 0x0, 0x0, 0x2, 0xD8, 0x0, 0x0, 0x5, 0x78, 0x0, 0x0, 0x5, 0x72, 0x0, 0x0, 0x2, 0xDE, 0x0, 0x0, 0x2, 0xE4, 0x0, 0x0, 0x2, 0xEA, 0x0, 0x0, 0x5, 0x78, 0x0, 0x0, 0x2, 0xF0, 0x0, 0x0, 0x2, 0xF6, 0x0, 0x0, 0x2, 0xFC, 0x0, 0x0, 0x3, 0x2, 0x0, 0x0, 0x3, 0x2, 0x0, 0x0, 0x3, 0x8, 0x0, 0x0, 0x3, 0xE, 0x0, 0x0, 0x3, 0x14, 0x0, 0x0, 0x3, 0x1A, 0x0, 0x0, 0x3, 0x20, 0x0, 0x0, 0x3, 0x26, 0x0, 0x0, 0x3, 0x2C, 0x0, 0x0, 0x3, 0x32, 0x0, 0x0, 0x3, 0x38, 0x0, 0x0, 0x3, 0x3E, 0x0, 0x0, 0x3, 0x44, 0x0, 0x0, 0x3, 0x4A, 0x0, 0x0, 0x3, 0x50, 0x0, 0x0, 0x3, 0x56, 0x0, 0x0, 0x3, 0x5C, 0x0, 0x0, 0x3, 0x62, 0x0, 0x0, 0x3, 0x68, 0x0, 0x0, 0x3, 0x6E, 0x0, 0x0, 0x3, 0x74, 0x0, 0x0, 0x3, 0x7A, 0x0, 0x0, 0x3, 0x80, 0x0, 0x0, 0x4, 0xCA, 0x0, 0x0, 0x4, 0x7C, 0x0, 0x0, 0x3, 0x86, 0x0, 0x0, 0x4, 0xCA, 0x0, 0x0, 0x3, 0xC2, 0x0, 0x0, 0x3, 0x8C, 0x0, 0x0, 0x4, 0xA6, 0x0, 0x0, 0x3, 0xC2, 0x0, 0x0, 0x4, 0x3A, 0x0, 0x0, 0x3, 0x92, 0x0, 0x0, 0x3, 0x98, 0x0, 0x0, 0x4, 0x3A, 0x0, 0x0, 0x3, 0x9E, 0x0, 0x0, 0x3, 0xA4, 0x0, 0x0, 0x3, 0xAA, 0x0, 0x0, 0x3, 0xB0, 0x0, 0x0, 0x3, 0xB6, 0x0, 0x0, 0x3, 0xBC, 0x0, 0x0, 0x3, 0xC2, 0x0, 0x0, 0x5, 0x0, 0x0, 0x0, 0x3, 0xC8, 0x0, 0x0, 0x5, 0x0, 0x0, 0x0, 0x3, 0xCE, 0x0, 0x0, 0x3, 0xD4, 0x0, 0x0, 0x3, 0xDA, 0x0, 0x0, 0x3, 0xE0, 0x0, 0x0, 0x3, 0xE6, 0x0, 0x0, 0x3, 0xEC, 0x0, 0x0, 0x3, 0xF2, 0x0, 0x0, 0x3, 0xF8, 0x0, 0x0, 0x3, 0xFE, 0x0, 0x0, 0x4, 0x4, 0x0, 0x0, 0x4, 0xA, 0x0, 0x0, 0x4, 0x10, 0x0, 0x0, 0x5, 0x1E, 0x0, 0x0, 0x4, 0x16, 0x0, 0x0, 0x4, 0x1C, 0x0, 0x0, 0x4, 0x22, 0x0, 0x0, 0x4, 0x28, 0x0, 0x0, 0x4, 0x2E, 0x0, 0x0, 0x5, 0x0, 0x0, 0x0, 0x4, 0x34, 0x0, 0x0, 0x4, 0x3A, 0x0, 0x0, 0x4, 0x40, 0x0, 0x0, 0x4, 0x46, 0x0, 0x0, 0x4, 0x4C, 0x0, 0x0, 0x4, 0x4C, 0x0, 0x0, 0x4, 0x52, 0x0, 0x0, 0x5, 0x0, 0x0, 0x0, 0x4, 0x58, 0x0, 0x0, 0x5, 0x0, 0x0, 0x0, 0x4, 0x5E, 0x0, 0x0, 0x5, 0x60, 0x0, 0x0, 0x5, 0x0, 0x0, 0x0, 0x4, 0x64, 0x0, 0x0, 0x5, 0x0, 0x0, 0x0, 0x4, 0xCA, 0x0, 0x0, 0x4, 0x6A, 0x0, 0x0, 0x4, 0x70, 0x0, 0x0, 0x5, 0x0, 0x0, 0x0, 0x4, 0xF4, 0x0, 0x0, 0x4, 0xF4, 0x0, 0x0, 0x4, 0x76, 0x0, 0x0, 0x4, 0xF4, 0x0, 0x0, 0x4, 0x7C, 0x0, 0x0, 0x5, 0x60, 0x0, 0x0, 0x4, 0x82, 0x0, 0x0, 0x4, 0x88, 0x0, 0x0, 0x4, 0x8E, 0x0, 0x0, 0x4, 0x94, 0x0, 0x0, 0x4, 0xF4, 0x0, 0x0, 0x4, 0xCA, 0x0, 0x0, 0x4, 0xF4, 0x0, 0x0, 0x5, 0x0, 0x0, 0x0, 0x5, 0x60, 0x0, 0x0, 0x4, 0xF4, 0x0, 0x0, 0x4, 0x9A, 0x0, 0x0, 0x4, 0xA0, 0x0, 0x0, 0x4, 0xDC, 0x0, 0x0, 0x5, 0x0, 0x0, 0x0, 0x4, 0xCA, 0x0, 0x0, 0x4, 0xA6, 0x0, 0x0, 0x5, 0x0, 0x0, 0x0, 0x4, 0xAC, 0x0, 0x0, 0x5, 0x0, 0x0, 0x0, 0x4, 0xB2, 0x0, 0x0, 0x4, 0xB8, 0x0, 0x0, 0x5, 0x0, 0x0, 0x0, 0x5, 0x0, 0x0, 0x0, 0x5, 0x0, 0x0, 0x0, 0x5, 0x0, 0x0, 0x0, 0x4, 0xBE, 0x0, 0x0, 0x5, 0x0, 0x0, 0x0, 0x5, 0x0, 0x0, 0x0, 0x4, 0xC4, 0x0, 0x0, 0x4, 0xCA, 0x0, 0x0, 0x4, 0xD0, 0x0, 0x0, 0x5, 0x0, 0x0, 0x0, 0x4, 0xD6, 0x0, 0x0, 0x5, 0x0, 0x0, 0x0, 0x4, 0xDC, 0x0, 0x0, 0x5, 0x0, 0x0, 0x0, 0x5, 0x0, 0x0, 0x0, 0x5, 0x0, 0x0, 0x0, 0x5, 0x0, 0x0, 0x0, 0x4, 0xE2, 0x0, 0x0, 0x4, 0xE8, 0x0, 0x0, 0x4, 0xEE, 0x0, 0x0, 0x4, 0xF4, 0x0, 0x0, 0x5, 0x0, 0x0, 0x0, 0x4, 0xFA, 0x0, 0x0, 0x5, 0x0, 0x0, 0x0, 0x5, 0x6, 0x0, 0x0, 0x5, 0x60, 0x0, 0x0, 0x5, 0xC, 0x0, 0x0, 0x5, 0x12, 0x0, 0x0, 0x5, 0x18, 0x0, 0x0, 0x5, 0x1E, 0x0, 0x0, 0x5, 0x24, 0x0, 0x0, 0x5, 0x2A, 0x0, 0x0, 0x5, 0x60, 0x0, 0x0, 0x5, 0x30, 0x0, 0x0, 0x5, 0x36, 0x0, 0x0, 0x5, 0x3C, 0x0, 0x0, 0x5, 0x42, 0x0, 0x0, 0x5, 0x48, 0x0, 0x0, 0x5, 0x4E, 0x0, 0x0, 0x5, 0x54, 0x0, 0x0, 0x5, 0x5A, 0x0, 0x0, 0x5, 0x60, 0x0, 0x0, 0x5, 0x66, 0x0, 0x0, 0x5, 0x66, 0x0, 0x0, 0x5, 0x6C, 0x0, 0x0, 0x5, 0x72, 0x0, 0x0, 0x5, 0x78, 0x0, 0x1, 0xFD, 0xEA, 0x5, 0xA, 0x0, 0x1, 0xFD, 0xD5, 0x5, 0xA, 0x0, 0x1, 0xFD, 0xB5, 0x5, 0xA, 0x0, 0x1, 0xFD, 0xBB, 0x5, 0x5, 0x0, 0x1, 0xFD, 0xBA, 0x6, 0x28, 0x0, 0x1, 0xFD, 0xB9, 0x4, 0xAA, 0x0, 0x1, 0xFD, 0xA8, 0x5, 0x4, 0x0, 0x1, 0xFD, 0xBA, 0x4, 0xCF, 0x0, 0x1, 0xFD, 0x6B, 0x5, 0xA, 0x0, 0x1, 0xFD, 0xB9, 0x4, 0x9F, 0x0, 0x1, 0xFD, 0xB5, 0x4, 0x9F, 0x0, 0x1, 0xFE, 0x35, 0x5, 0xD, 0x0, 0x1, 0xFD, 0xB8, 0x4, 0xA0, 0x0, 0x1, 0xFD, 0xB7, 0x4, 0x2A, 0x0, 0x1, 0xFD, 0xA1, 0x4, 0x2A, 0x0, 0x1, 0xFD, 0xD0, 0x4, 0x2A, 0x0, 0x1, 0xFE, 0x48, 0x4, 0xEF, 0x0, 0x1, 0xFD, 0xF3, 0x4, 0x92, 0x0, 0x1, 0xFD, 0xB8, 0x4, 0x48, 0x0, 0x1, 0xFD, 0xB5, 0x5, 0xBE, 0x0, 0x1, 0x0, 0x20, 0x5, 0xA, 0x0, 0x1, 0xFF, 0x97, 0x5, 0xA, 0x0, 0x1, 0xFD, 0xC3, 0x5, 0xA, 0x0, 0x1, 0xFD, 0x9D, 0x5, 0xA, 0x0, 0x1, 0xFD, 0xB1, 0x5, 0xA, 0x0, 0x1, 0xFD, 0xB9, 0x4, 0xAD, 0x0, 0x1, 0xFD, 0xB8, 0x4, 0xE6, 0x0, 0x1, 0xFD, 0x9B, 0x4, 0x6B, 0x0, 0x1, 0xFD, 0xC4, 0x4, 0xDC, 0x0, 0x1, 0xFD, 0xC2, 0x4, 0xA7, 0x0, 0x1, 0xFE, 0x3, 0x4, 0x58, 0x0, 0x1, 0xFD, 0xB8, 0x4, 0xC3, 0x0, 0x1, 0xFD, 0x85, 0x4, 0x5F, 0x0, 0x1, 0xFD, 0xA3, 0x4, 0xC4, 0x0, 0x1, 0xFD, 0xCA, 0x4, 0x92, 0x0, 0x1, 0xFD, 0xC2, 0x4, 0x92, 0x0, 0x1, 0xFD, 0xE0, 0x4, 0x92, 0x0, 0x1, 0xFD, 0xA2, 0x4, 0x92, 0x0, 0x1, 0xFD, 0xEA, 0x4, 0x92, 0x0, 0x1, 0xFD, 0xE0, 0x4, 0xA6, 0x0, 0x1, 0xFE, 0x4D, 0x4, 0xA6, 0x0, 0x1, 0xFD, 0xF5, 0x5, 0x0, 0x0, 0x1, 0xFE, 0x20, 0x5, 0x0, 0x0, 0x1, 0xFD, 0xA7, 0x4, 0xA6, 0x0, 0x1, 0xFD, 0xC5, 0x4, 0x92, 0x0, 0x1, 0xFD, 0xBD, 0x4, 0x59, 0x0, 0x1, 0xFD, 0x9D, 0x4, 0x92, 0x0, 0x1, 0xFD, 0xC3, 0x5, 0x46, 0x0, 0x1, 0xFD, 0xCF, 0x5, 0x46, 0x0, 0x1, 0xFD, 0xAA, 0x5, 0xA, 0x0, 0x1, 0xFD, 0x87, 0x5, 0xA, 0x0, 0x1, 0xFE, 0x1B, 0x4, 0x92, 0x0, 0x1, 0xFE, 0x4D, 0x4, 0x92, 0x0, 0x1, 0xFD, 0xAB, 0x4, 0x92, 0x0, 0x1, 0xFE, 0xB, 0x4, 0x92, 0x0, 0x1, 0xFD, 0xD2, 0x4, 0x92, 0x0, 0x1, 0xFD, 0xD9, 0x4, 0x92, 0x0, 0x1, 0xFE, 0x17, 0x4, 0x92, 0x0, 0x1, 0xFD, 0xA7, 0x4, 0x92, 0x0, 0x1, 0x0, 0x1, 0x4, 0x92, 0x0, 0x1, 0xFD, 0xEB, 0x3, 0xD8, 0x0, 0x1, 0xFD, 0xB8, 0x4, 0x84, 0x0, 0x1, 0xFD, 0xBD, 0x4, 0x92, 0x0, 0x1, 0xFD, 0xC0, 0x4, 0x92, 0x0, 0x1, 0xFD, 0xC8, 0x4, 0x92, 0x0, 0x1, 0xFD, 0x99, 0x4, 0x92, 0x0, 0x1, 0xFD, 0xC2, 0x3, 0xBF, 0x0, 0x1, 0xFD, 0xBB, 0x4, 0x92, 0x0, 0x1, 0xFD, 0xBC, 0x3, 0xCC, 0x0, 0x1, 0xFD, 0xD6, 0x4, 0x92, 0x0, 0x1, 0xFD, 0xD4, 0x4, 0x92, 0x0, 0x1, 0xFD, 0xAE, 0x4, 0x92, 0x0, 0x1, 0xFD, 0xB1, 0x4, 0x92, 0x0, 0x1, 0xFD, 0xF6, 0x4, 0x92, 0x0, 0x1, 0xFD, 0xB9, 0x3, 0xE1, 0x0, 0x1, 0xFD, 0xC7, 0x4, 0x92, 0x0, 0x1, 0xFD, 0x9B, 0x4, 0x92, 0x0, 0x1, 0xFD, 0xB9, 0x3, 0xB3, 0x0, 0x1, 0xFD, 0xB4, 0x3, 0xAE, 0x0, 0x1, 0xFD, 0x8A, 0x4, 0x92, 0x0, 0x1, 0xFD, 0xAA, 0x4, 0x92, 0x0, 0x1, 0xFD, 0xAD, 0x4, 0x92, 0x0, 0x1, 0xFD, 0xBF, 0x4, 0x92, 0x0, 0x1, 0xFD, 0xBA, 0x4, 0x92, 0x0, 0x1, 0xFD, 0xCE, 0x4, 0x92, 0x0, 0x1, 0xFD, 0xB5, 0x4, 0x92, 0x0, 0x1, 0xFD, 0xBE, 0x3, 0xB0, 0x0, 0x1, 0xFD, 0xD8, 0x4, 0x92, 0x0, 0x1, 0xFD, 0xC9, 0x4, 0x92, 0x0, 0x1, 0xFD, 0x93, 0x4, 0x92, 0x0, 0x1, 0xFD, 0xA5, 0x4, 0x92, 0x0, 0x1, 0xFD, 0xC6, 0x4, 0x92, 0x0, 0x1, 0xFD, 0xB3, 0x4, 0x92, 0x0, 0x1, 0xFD, 0xF5, 0x4, 0x92, 0x0, 0x1, 0xFD, 0xF4, 0x4, 0x92, 0x0, 0x1, 0xFD, 0xB9, 0x4, 0x92, 0x0, 0x1, 0xFD, 0x94, 0x4, 0x92, 0x0, 0x1, 0xFD, 0xB8, 0x4, 0x92, 0x0, 0x1, 0xFD, 0xAC, 0x4, 0x92, 0x0, 0x1, 0xFD, 0xBC, 0x4, 0x92, 0x0, 0x1, 0xFD, 0xA6, 0x3, 0xCE, 0x0, 0x1, 0xFD, 0x84, 0x4, 0x92, 0x0, 0x1, 0xFD, 0xCC, 0x4, 0x92, 0x0, 0x1, 0xFD, 0xDC, 0x4, 0x92, 0x0, 0x1, 0xFD, 0xB6, 0x4, 0x92, 0x0, 0x1, 0xFD, 0xBE, 0x4, 0x92, 0x0, 0x1, 0xFD, 0xD7, 0x4, 0x92, 0x0, 0x1, 0xFE, 0x7A, 0x4, 0x92, 0x0, 0x1, 0x1, 0x86, 0x4, 0x92, 0x0, 0x1, 0xFD, 0xE1, 0x4, 0x92, 0x0, 0x1, 0x2, 0x1F, 0x4, 0x92, 0x0, 0x1, 0xFE, 0xC5, 0x4, 0x92, 0x0, 0x1, 0xFC, 0xAA, 0x4, 0x92, 0x0, 0x1, 0xFD, 0xB7, 0x4, 0x92, 0x0, 0x1, 0xFD, 0xD4, 0x4, 0xE8, 0x0, 0x1, 0xFD, 0xBB, 0x5, 0xA, 0x0, 0x1, 0xFD, 0x67, 0x5, 0xA, 0x0, 0x1, 0xFD, 0xB8, 0x5, 0xA, 0x0, 0x2C, 0x0, 0x5A, 0x0, 0x60, 0x0, 0x66, 0x0, 0x6C, 0x0, 0x72, 0x0, 0x78, 0x0, 0x7E, 0x0, 0x84, 0x0, 0x8A, 0x0, 0x90, 0x0, 0x96, 0x0, 0x9C, 0x0, 0xA2, 0x0, 0xA8, 0x0, 0xAE, 0x0, 0xB4, 0x0, 0xBA, 0x0, 0xC0, 0x0, 0xC6, 0x0, 0xCC, 0x0, 0xD2, 0x0, 0xD8, 0x0, 0xDE, 0x0, 0xE4, 0x0, 0xEA, 0x0, 0xF0, 0x0, 0xF6, 0x0, 0xFC, 0x1, 0x2, 0x1, 0x8, 0x1, 0xE, 0x1, 0x14, 0x1, 0x1A, 0x1, 0x20, 0x1, 0x26, 0x1, 0x2C, 0x1, 0x32, 0x1, 0x38, 0x1, 0x3E, 0x1, 0x44, 0x1, 0x44, 0x1, 0x4A, 0x1, 0x50, 0x1, 0x56, 0x0, 0x1, 0xFD, 0xEA, 0x6, 0x79, 0x0, 0x1, 0xFD, 0xD5, 0x6, 0x79, 0x0, 0x1, 0xFD, 0xB5, 0x6, 0x68, 0x0, 0x1, 0xFD, 0xD4, 0x6, 0x5F, 0x0, 0x1, 0xFD, 0xBB, 0x6, 0x37, 0x0, 0x1, 0xFD, 0xBA, 0x7, 0x44, 0x0, 0x1, 0xFD, 0xB9, 0x6, 0x4F, 0x0, 0x1, 0xFD, 0xB8, 0x6, 0x27, 0x0, 0x1, 0xFD, 0x67, 0x6, 0x37, 0x0, 0x1, 0xFD, 0xA8, 0x6, 0xC6, 0x0, 0x1, 0xFD, 0xBA, 0x6, 0x77, 0x0, 0x1, 0xFD, 0x6B, 0x6, 0x5B, 0x0, 0x1, 0xFD, 0xB8, 0x6, 0x68, 0x0, 0x1, 0xFD, 0xB8, 0x6, 0x70, 0x0, 0x1, 0xFD, 0xB5, 0x6, 0x70, 0x0, 0x1, 0xFE, 0x35, 0x6, 0x51, 0x0, 0x1, 0xFD, 0xB8, 0x7, 0xC, 0x0, 0x1, 0xFD, 0xB8, 0x6, 0x9, 0x0, 0x1, 0xFD, 0xB7, 0x6, 0x94, 0x0, 0x1, 0xFD, 0xA1, 0x6, 0x94, 0x0, 0x1, 0xFD, 0xD1, 0x6, 0x94, 0x0, 0x1, 0xFE, 0x48, 0x6, 0xA4, 0x0, 0x1, 0xFD, 0xF3, 0x7, 0x1A, 0x0, 0x1, 0xFD, 0xB8, 0x6, 0xD0, 0x0, 0x1, 0xFD, 0xB5, 0x8, 0x1, 0x0, 0x1, 0x0, 0x20, 0x6, 0x66, 0x0, 0x1, 0xFF, 0x97, 0x6, 0x66, 0x0, 0x1, 0xFD, 0xC3, 0x6, 0x41, 0x0, 0x1, 0xFD, 0x9D, 0x6, 0xBC, 0x0, 0x1, 0xFD, 0xB1, 0x6, 0xFE, 0x0, 0x1, 0xFD, 0xB9, 0x6, 0xA3, 0x0, 0x1, 0xFD, 0xB8, 0x6, 0x7B, 0x0, 0x1, 0xFD, 0x9C, 0x7, 0xBF, 0x0, 0x1, 0xFD, 0xC4, 0x6, 0x9E, 0x0, 0x1, 0xFD, 0xC3, 0x7, 0x5D, 0x0, 0x1, 0xFE, 0x3, 0x6, 0x13, 0x0, 0x1, 0xFD, 0xB8, 0x7, 0x15, 0x0, 0x1, 0xFD, 0x85, 0x6, 0x13, 0x0, 0x1, 0xFD, 0xA3, 0x6, 0xCD, 0x0, 0x1, 0xFD, 0xD4, 0x6, 0x2C, 0x0, 0x1, 0xFD, 0xBB, 0x6, 0x4, 0x0, 0x1, 0xFD, 0x67, 0x6, 0x4, 0x0, 0x1, 0xFD, 0xB8, 0x6, 0x30, 0x0, 0x1, 0x0, 0x0, 0x0, 0xA, 0x1, 0x7A, 0x2, 0xCA, 0x0, 0x4, 0x44, 0x46, 0x4C, 0x54, 0x0, 0x1A, 0x63, 0x79, 0x72, 0x6C, 0x0, 0x1A, 0x67, 0x72, 0x65, 0x6B, 0x0, 0x1A, 0x6C, 0x61, 0x74, 0x6E, 0x0, 0x4C, 0x0, 0x4, 0x0, 0x0, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x14, 0x0, 0x0, 0x0, 0x1, 0x0, 0x2, 0x0, 0x3, 0x0, 0x4, 0x0, 0x8, 0x0, 0xC, 0x0, 0xD, 0x0, 0xE, 0x0, 0xF, 0x0, 0x10, 0x0, 0x11, 0x0, 0x12, 0x0, 0x13, 0x0, 0x14, 0x0, 0x15, 0x0, 0x16, 0x0, 0x17, 0x0, 0x18, 0x0, 0x19, 0x0, 0x2E, 0x0, 0x7, 0x41, 0x5A, 0x45, 0x20, 0x0, 0xF4, 0x43, 0x52, 0x54, 0x20, 0x0, 0xF4, 0x46, 0x52, 0x41, 0x20, 0x0, 0x5E, 0x4D, 0x4F, 0x4C, 0x20, 0x0, 0xC2, 0x4E, 0x41, 0x56, 0x20, 0x0, 0x90, 0x52, 0x4F, 0x4D, 0x20, 0x0, 0xC2, 0x54, 0x52, 0x4B, 0x20, 0x0, 0xF4, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x15, 0x0, 0x0, 0x0, 0x1, 0x0, 0x2, 0x0, 0x3, 0x0, 0x4, 0x0, 0x7, 0x0, 0x8, 0x0, 0xC, 0x0, 0xD, 0x0, 0xE, 0x0, 0xF, 0x0, 0x10, 0x0, 0x11, 0x0, 0x12, 0x0, 0x13, 0x0, 0x14, 0x0, 0x15, 0x0, 0x16, 0x0, 0x17, 0x0, 0x18, 0x0, 0x19, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x16, 0x0, 0x0, 0x0, 0x1, 0x0, 0x2, 0x0, 0x3, 0x0, 0x4, 0x0, 0x6, 0x0, 0x8, 0x0, 0x9, 0x0, 0xC, 0x0, 0xD, 0x0, 0xE, 0x0, 0xF, 0x0, 0x10, 0x0, 0x11, 0x0, 0x12, 0x0, 0x13, 0x0, 0x14, 0x0, 0x15, 0x0, 0x16, 0x0, 0x17, 0x0, 0x18, 0x0, 0x19, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x16, 0x0, 0x0, 0x0, 0x1, 0x0, 0x2, 0x0, 0x3, 0x0, 0x4, 0x0, 0x6, 0x0, 0x8, 0x0, 0xB, 0x0, 0xC, 0x0, 0xD, 0x0, 0xE, 0x0, 0xF, 0x0, 0x10, 0x0, 0x11, 0x0, 0x12, 0x0, 0x13, 0x0, 0x14, 0x0, 0x15, 0x0, 0x16, 0x0, 0x17, 0x0, 0x18, 0x0, 0x19, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x16, 0x0, 0x0, 0x0, 0x1, 0x0, 0x2, 0x0, 0x3, 0x0, 0x4, 0x0, 0x6, 0x0, 0x8, 0x0, 0xA, 0x0, 0xC, 0x0, 0xD, 0x0, 0xE, 0x0, 0xF, 0x0, 0x10, 0x0, 0x11, 0x0, 0x12, 0x0, 0x13, 0x0, 0x14, 0x0, 0x15, 0x0, 0x16, 0x0, 0x17, 0x0, 0x18, 0x0, 0x19, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x15, 0x0, 0x0, 0x0, 0x1, 0x0, 0x2, 0x0, 0x3, 0x0, 0x4, 0x0, 0x5, 0x0, 0x8, 0x0, 0xC, 0x0, 0xD, 0x0, 0xE, 0x0, 0xF, 0x0, 0x10, 0x0, 0x11, 0x0, 0x12, 0x0, 0x13, 0x0, 0x14, 0x0, 0x15, 0x0, 0x16, 0x0, 0x17, 0x0, 0x18, 0x0, 0x19, 0x0, 0x1A, 0x63, 0x32, 0x73, 0x63, 0x0, 0x9E, 0x63, 0x63, 0x6D, 0x70, 0x0, 0xA4, 0x64, 0x6C, 0x69, 0x67, 0x0, 0xB4, 0x64, 0x6E, 0x6F, 0x6D, 0x0, 0xBA, 0x66, 0x72, 0x61, 0x63, 0x0, 0xC0, 0x6C, 0x69, 0x67, 0x61, 0x0, 0xCA, 0x6C, 0x69, 0x67, 0x61, 0x0, 0xD0, 0x6C, 0x69, 0x67, 0x61, 0x0, 0xDC, 0x6C, 0x6E, 0x75, 0x6D, 0x0, 0xE4, 0x6C, 0x6F, 0x63, 0x6C, 0x0, 0xEA, 0x6C, 0x6F, 0x63, 0x6C, 0x0, 0xF0, 0x6C, 0x6F, 0x63, 0x6C, 0x0, 0xF6, 0x6E, 0x75, 0x6D, 0x72, 0x0, 0xFC, 0x6F, 0x6E, 0x75, 0x6D, 0x1, 0x2, 0x70, 0x6E, 0x75, 0x6D, 0x1, 0x8, 0x73, 0x61, 0x6C, 0x74, 0x1, 0xE, 0x73, 0x6D, 0x63, 0x70, 0x1, 0x14, 0x73, 0x73, 0x30, 0x31, 0x1, 0x1A, 0x73, 0x73, 0x30, 0x32, 0x1, 0x20, 0x73, 0x73, 0x30, 0x33, 0x1, 0x26, 0x73, 0x73, 0x30, 0x34, 0x1, 0x2C, 0x73, 0x73, 0x30, 0x35, 0x1, 0x32, 0x73, 0x73, 0x30, 0x36, 0x1, 0x38, 0x73, 0x73, 0x30, 0x37, 0x1, 0x3E, 0x74, 0x6E, 0x75, 0x6D, 0x1, 0x44, 0x75, 0x6E, 0x69, 0x63, 0x1, 0x4A, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6, 0x0, 0x3, 0x0, 0x4, 0x0, 0x6, 0x0, 0x7, 0x0, 0x8, 0x0, 0xC, 0x0, 0x0, 0x0, 0x1, 0x0, 0x12, 0x0, 0x0, 0x0, 0x1, 0x0, 0x21, 0x0, 0x0, 0x0, 0x3, 0x0, 0x1F, 0x0, 0x20, 0x0, 0x22, 0x0, 0x0, 0x0, 0x1, 0x0, 0x11, 0x0, 0x0, 0x0, 0x4, 0x0, 0x10, 0x0, 0x11, 0x0, 0x10, 0x0, 0x11, 0x0, 0x0, 0x0, 0x2, 0x0, 0x10, 0x0, 0x11, 0x0, 0x0, 0x0, 0x1, 0x0, 0x1E, 0x0, 0x0, 0x0, 0x1, 0x0, 0xF, 0x0, 0x0, 0x0, 0x1, 0x0, 0xD, 0x0, 0x0, 0x0, 0x1, 0x0, 0xE, 0x0, 0x0, 0x0, 0x1, 0x0, 0x22, 0x0, 0x0, 0x0, 0x1, 0x0, 0x1B, 0x0, 0x0, 0x0, 0x1, 0x0, 0x1C, 0x0, 0x0, 0x0, 0x1, 0x0, 0x13, 0x0, 0x0, 0x0, 0x1, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x14, 0x0, 0x0, 0x0, 0x1, 0x0, 0x15, 0x0, 0x0, 0x0, 0x1, 0x0, 0x16, 0x0, 0x0, 0x0, 0x1, 0x0, 0x17, 0x0, 0x0, 0x0, 0x1, 0x0, 0x18, 0x0, 0x0, 0x0, 0x1, 0x0, 0x19, 0x0, 0x0, 0x0, 0x1, 0x0, 0x1A, 0x0, 0x0, 0x0, 0x1, 0x0, 0x1D, 0x0, 0x0, 0x0, 0x1, 0x0, 0x2, 0x0, 0x23, 0x0, 0x48, 0x4, 0x5A, 0x8, 0x24, 0xA, 0xBE, 0xB, 0x9C, 0xE, 0x10, 0xE, 0x6A, 0x1D, 0x90, 0x23, 0xC, 0x24, 0x36, 0x24, 0x4C, 0x24, 0x62, 0x24, 0x82, 0x24, 0xE8, 0x24, 0xFE, 0x25, 0x34, 0x25, 0x48, 0x25, 0x6C, 0x25, 0x96, 0x25, 0xD2, 0x25, 0xEC, 0x26, 0x0, 0x26, 0x14, 0x26, 0x28, 0x26, 0x3A, 0x26, 0x54, 0x26, 0x96, 0x26, 0xB4, 0x27, 0x6, 0x27, 0x4C, 0x27, 0xAE, 0x28, 0xC, 0x28, 0x20, 0x28, 0x50, 0x28, 0x72, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x8, 0x0, 0x2, 0x2, 0x6, 0x1, 0x0, 0x7, 0x63, 0x8, 0xB2, 0x7, 0x4D, 0x7, 0x4C, 0x7, 0x4B, 0x7, 0x4A, 0x7, 0x49, 0x7, 0x48, 0x7, 0x47, 0x7, 0x46, 0x7, 0x45, 0x7, 0x44, 0x7, 0xB1, 0x7, 0xB0, 0x7, 0xAF, 0x7, 0xAE, 0x7, 0xA6, 0x7, 0x62, 0x7, 0x61, 0x7, 0x60, 0x7, 0x5F, 0x7, 0x5E, 0x7, 0x5D, 0x7, 0x5C, 0x7, 0x5B, 0x7, 0x5A, 0x7, 0x59, 0x7, 0x58, 0x7, 0x57, 0x7, 0x56, 0x7, 0x55, 0x7, 0x54, 0x7, 0x53, 0x7, 0x52, 0x7, 0x51, 0x7, 0x50, 0x7, 0x4F, 0x7, 0x4E, 0x7, 0x64, 0x7, 0x65, 0x8, 0xB4, 0x8, 0xB6, 0x8, 0xB5, 0x8, 0xB7, 0x8, 0xB3, 0x8, 0xB8, 0x7, 0xDC, 0x7, 0x66, 0x7, 0x67, 0x7, 0x68, 0x7, 0x69, 0x7, 0x6A, 0x7, 0x6B, 0x7, 0x6C, 0x7, 0x6D, 0x7, 0x6E, 0x7, 0x6F, 0x7, 0x70, 0x7, 0x71, 0x7, 0x72, 0x7, 0x73, 0x7, 0x74, 0x7, 0x75, 0x7, 0x76, 0x7, 0x77, 0x7, 0x78, 0x7, 0x79, 0x7, 0x7A, 0x7, 0x7C, 0x7, 0x7D, 0xC, 0xEA, 0x7, 0x7E, 0x7, 0x7F, 0x7, 0x80, 0x7, 0x81, 0x7, 0x82, 0x7, 0x83, 0x7, 0x84, 0x7, 0x85, 0x7, 0x86, 0x7, 0x87, 0x7, 0xC4, 0x7, 0x89, 0x7, 0x8A, 0x7, 0x8B, 0x7, 0x8C, 0xC, 0xE4, 0x7, 0x8D, 0x7, 0x8F, 0x7, 0x90, 0x7, 0x91, 0x7, 0x92, 0x7, 0x93, 0x7, 0x94, 0x7, 0x95, 0x7, 0xFE, 0x7, 0x97, 0x7, 0x98, 0x7, 0x9A, 0x7, 0x9C, 0x7, 0x9B, 0x7, 0x99, 0x9, 0x7D, 0x9, 0x7E, 0x9, 0x7F, 0x9, 0x80, 0x9, 0x81, 0x9, 0x82, 0x9, 0x83, 0x9, 0x84, 0x9, 0x85, 0x9, 0x86, 0x9, 0x87, 0x9, 0x88, 0x9, 0x89, 0x9, 0x8A, 0x9, 0x8B, 0x9, 0x8C, 0x9, 0x8D, 0x9, 0x8E, 0x9, 0x8F, 0x9, 0x90, 0x9, 0x91, 0x9, 0x92, 0x9, 0x93, 0x9, 0x94, 0x9, 0x95, 0x9, 0x96, 0x9, 0x97, 0x9, 0x98, 0x9, 0x99, 0x9, 0x9A, 0x9, 0x9B, 0x9, 0x9C, 0x9, 0x9D, 0x9, 0x9E, 0x9, 0x9F, 0x9, 0xA0, 0x9, 0xA1, 0x9, 0xA2, 0x9, 0xA3, 0x9, 0xA4, 0x9, 0xA5, 0x9, 0xA6, 0x9, 0xA7, 0x9, 0xA8, 0x9, 0xA9, 0x9, 0xAA, 0x9, 0xAB, 0x9, 0xAC, 0x9, 0xAD, 0x9, 0xAE, 0x9, 0xAF, 0x9, 0xB0, 0x9, 0xB1, 0xC, 0xEC, 0x9, 0xB2, 0x9, 0xB3, 0x9, 0xB4, 0x9, 0xB5, 0x9, 0xB6, 0x9, 0xB7, 0x9, 0xB8, 0x9, 0xB9, 0x9, 0xBA, 0x9, 0xBB, 0x9, 0xBC, 0x9, 0xBD, 0x9, 0xBF, 0x9, 0xC0, 0x9, 0xC1, 0x9, 0xC2, 0x9, 0xC3, 0x9, 0xC4, 0xC, 0xEF, 0x9, 0xC5, 0x9, 0xC6, 0x9, 0xC8, 0x9, 0xC7, 0x9, 0xC9, 0x9, 0xCA, 0x9, 0xCB, 0x9, 0xCC, 0x9, 0xCD, 0x9, 0xCE, 0x9, 0xCF, 0x9, 0xD0, 0x9, 0xD1, 0x9, 0xD2, 0x9, 0xD3, 0x9, 0xD4, 0xC, 0xED, 0xC, 0xEE, 0xC, 0xB7, 0xC, 0xB8, 0xC, 0xB9, 0xC, 0xBA, 0xC, 0xBB, 0xC, 0xBC, 0xC, 0xBD, 0xC, 0xBE, 0xC, 0xBF, 0xC, 0xC0, 0xC, 0xC1, 0xC, 0xC2, 0xC, 0xC3, 0xC, 0xC4, 0xC, 0xC5, 0xC, 0xC6, 0xC, 0xC7, 0xC, 0xC8, 0xC, 0xC9, 0xC, 0xCA, 0xC, 0xCB, 0xC, 0xCC, 0xC, 0xCD, 0xC, 0xCE, 0xC, 0xCF, 0xC, 0xD0, 0xC, 0xD1, 0xC, 0xD2, 0xC, 0xD3, 0x7, 0x7B, 0xC, 0xD4, 0xC, 0xD5, 0xC, 0xD6, 0xC, 0xD7, 0xC, 0xD8, 0xC, 0xD9, 0xC, 0xDA, 0xC, 0xDB, 0xC, 0xDC, 0xC, 0xDD, 0xC, 0xDE, 0xC, 0xDF, 0xC, 0xE0, 0xC, 0xE1, 0xC, 0xE2, 0xC, 0xF0, 0xC, 0xF1, 0xC, 0xF2, 0xC, 0xF3, 0xC, 0xE3, 0xC, 0xE5, 0xC, 0xE6, 0xC, 0xE8, 0x7, 0x96, 0xC, 0xE9, 0xC, 0xE7, 0x7, 0x88, 0x7, 0x8E, 0x9, 0xBE, 0xC, 0xEB, 0xC, 0xFA, 0xC, 0xFB, 0xC, 0xFC, 0x0, 0x1, 0x1, 0x0, 0x0, 0x9, 0x0, 0xB, 0x0, 0x15, 0x0, 0x16, 0x0, 0x17, 0x0, 0x18, 0x0, 0x19, 0x0, 0x1A, 0x0, 0x1B, 0x0, 0x1C, 0x0, 0x1D, 0x0, 0x1E, 0x0, 0x26, 0x0, 0x27, 0x0, 0x28, 0x0, 0x29, 0x0, 0x2A, 0x0, 0x2B, 0x0, 0x2C, 0x0, 0x2D, 0x0, 0x2E, 0x0, 0x2F, 0x0, 0x30, 0x0, 0x31, 0x0, 0x32, 0x0, 0x33, 0x0, 0x34, 0x0, 0x35, 0x0, 0x36, 0x0, 0x37, 0x0, 0x38, 0x0, 0x39, 0x0, 0x3A, 0x0, 0x3B, 0x0, 0x3C, 0x0, 0x3D, 0x0, 0x3E, 0x0, 0x3F, 0x0, 0x66, 0x0, 0x68, 0x0, 0x82, 0x0, 0x84, 0x0, 0x85, 0x0, 0x8D, 0x0, 0x90, 0x0, 0x92, 0x0, 0x94, 0x2, 0x30, 0x2, 0x31, 0x2, 0x32, 0x2, 0x33, 0x2, 0x34, 0x2, 0x35, 0x2, 0x36, 0x2, 0x37, 0x2, 0x38, 0x2, 0x39, 0x2, 0x68, 0x2, 0x69, 0x2, 0x6A, 0x2, 0x6B, 0x2, 0x6C, 0x2, 0x6D, 0x2, 0x6E, 0x2, 0x6F, 0x2, 0x70, 0x2, 0x71, 0x2, 0x72, 0x2, 0x73, 0x2, 0x74, 0x2, 0x75, 0x2, 0x76, 0x2, 0x77, 0x2, 0x78, 0x2, 0x79, 0x2, 0x7A, 0x2, 0x7B, 0x2, 0x7C, 0x2, 0x7D, 0x2, 0x7E, 0x2, 0x7F, 0x2, 0xC6, 0x2, 0xCA, 0x2, 0xCC, 0x2, 0xCE, 0x2, 0xD0, 0x2, 0xD2, 0x2, 0xD8, 0x2, 0xDA, 0x2, 0xDC, 0x2, 0xE0, 0x2, 0xE2, 0x2, 0xE3, 0x2, 0xEF, 0x2, 0xF0, 0x4, 0x32, 0x4, 0xC8, 0x4, 0xCF, 0x4, 0xD7, 0x4, 0xDB, 0x4, 0xE0, 0x4, 0xED, 0x8, 0xC8, 0x8, 0xC9, 0x8, 0xCB, 0x8, 0xCD, 0x8, 0xCE, 0x8, 0xCF, 0x8, 0xD0, 0x8, 0xD1, 0x8, 0xD2, 0x8, 0xD3, 0x8, 0xD4, 0x8, 0xD5, 0x8, 0xD6, 0x8, 0xD7, 0x8, 0xD8, 0x8, 0xD9, 0x8, 0xDA, 0x8, 0xDB, 0x8, 0xDC, 0x8, 0xDD, 0x8, 0xDE, 0x8, 0xDF, 0x8, 0xE0, 0x8, 0xE1, 0x8, 0xE2, 0x8, 0xE3, 0x8, 0xE4, 0x8, 0xE5, 0x8, 0xE6, 0x8, 0xE7, 0x9, 0x4, 0x9, 0x6, 0x9, 0x8, 0x9, 0xA, 0x9, 0xC, 0x9, 0xE, 0x9, 0x10, 0x9, 0x12, 0x9, 0x14, 0x9, 0x16, 0x9, 0x18, 0x9, 0x1A, 0x9, 0x1C, 0x9, 0x1E, 0x9, 0x20, 0x9, 0x22, 0x9, 0x24, 0x9, 0x26, 0x9, 0x28, 0x9, 0x2A, 0x9, 0x2C, 0x9, 0x2E, 0x9, 0x30, 0x9, 0x31, 0x9, 0x33, 0x9, 0x35, 0x9, 0x37, 0x9, 0x39, 0x9, 0x3B, 0x9, 0x3D, 0x9, 0x3F, 0x9, 0x41, 0x9, 0x43, 0x9, 0x46, 0x9, 0x48, 0x9, 0x4A, 0x9, 0x4C, 0x9, 0x4E, 0x9, 0x50, 0x9, 0x52, 0x9, 0x54, 0x9, 0x56, 0x9, 0x58, 0x9, 0x5A, 0x9, 0x5C, 0x9, 0x5E, 0x9, 0x60, 0x9, 0x62, 0x9, 0x64, 0x9, 0x66, 0x9, 0x68, 0x9, 0x6A, 0x9, 0x6C, 0x9, 0x6E, 0x9, 0x70, 0x9, 0x72, 0x9, 0x73, 0x9, 0x75, 0x9, 0x77, 0x9, 0x79, 0x9, 0x7B, 0x9, 0xD5, 0x9, 0xD6, 0x9, 0xD7, 0x9, 0xD8, 0x9, 0xD9, 0x9, 0xDA, 0x9, 0xDB, 0x9, 0xDD, 0x9, 0xDE, 0x9, 0xDF, 0x9, 0xE0, 0x9, 0xE1, 0x9, 0xE2, 0x9, 0xE3, 0x9, 0xE4, 0x9, 0xE5, 0x9, 0xE6, 0x9, 0xE7, 0x9, 0xE8, 0x9, 0xE9, 0x9, 0xEA, 0x9, 0xEB, 0x9, 0xEC, 0x9, 0xFC, 0x9, 0xFD, 0x9, 0xFE, 0x9, 0xFF, 0xA, 0x0, 0xA, 0x1, 0xA, 0x2, 0xA, 0x3, 0xA, 0x4, 0xA, 0x5, 0xA, 0x6, 0xA, 0x7, 0xA, 0x8, 0xA, 0x9, 0xA, 0xA, 0xA, 0xB, 0xA, 0xC, 0xA, 0xD, 0xA, 0xE, 0xA, 0xF, 0xA, 0x10, 0xA, 0x11, 0xA, 0x22, 0xA, 0x24, 0xA, 0x26, 0xA, 0x28, 0xA, 0x3D, 0xA, 0x3F, 0xA, 0x41, 0xA, 0x56, 0xA, 0x5C, 0xA, 0x63, 0xA, 0xCD, 0xA, 0xD2, 0xA, 0xD6, 0xB, 0x9, 0xB, 0x3F, 0xC, 0xF4, 0xC, 0xF6, 0xC, 0xF8, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x8, 0x0, 0x2, 0x1, 0xE2, 0x0, 0xEE, 0x8, 0xB2, 0x7, 0xB1, 0x7, 0xB0, 0x7, 0xAF, 0x7, 0xAE, 0x7, 0xA6, 0x7, 0x62, 0x7, 0x61, 0x7, 0x60, 0x7, 0x5F, 0x7, 0x5E, 0x7, 0x5D, 0x7, 0x5C, 0x7, 0x5B, 0x7, 0x5A, 0x7, 0x59, 0x7, 0x58, 0x7, 0x57, 0x7, 0x56, 0x7, 0x55, 0x7, 0x54, 0x7, 0x53, 0x7, 0x52, 0x7, 0x51, 0x7, 0x50, 0x7, 0x4F, 0x7, 0x4E, 0x7, 0xFE, 0x8, 0xB4, 0x9, 0x7E, 0x8, 0xB6, 0x8, 0xB5, 0x9, 0x7D, 0x7, 0x5F, 0x8, 0xB3, 0x8, 0xB8, 0x7, 0xDC, 0xC, 0xBE, 0xC, 0xBF, 0x7, 0x66, 0x7, 0x67, 0xC, 0xC0, 0xC, 0xC1, 0xC, 0xC2, 0x7, 0x68, 0xC, 0xC3, 0x7, 0x69, 0x7, 0x6A, 0x7, 0x6B, 0xC, 0xC8, 0x7, 0x6C, 0x7, 0x6C, 0xC, 0xC9, 0xC, 0xCA, 0x7, 0x6D, 0x7, 0x6E, 0x7, 0x6F, 0x7, 0x76, 0xC, 0xD7, 0xC, 0xD8, 0x7, 0x77, 0x7, 0x78, 0x7, 0x79, 0x7, 0x7A, 0x7, 0x7B, 0x7, 0x7C, 0xC, 0xDB, 0xC, 0xDC, 0xC, 0xDE, 0xC, 0xE1, 0xC, 0xEA, 0x7, 0x7E, 0x7, 0x7F, 0x7, 0x80, 0x7, 0x81, 0x7, 0x82, 0x7, 0x83, 0x7, 0x84, 0x7, 0x85, 0x7, 0x86, 0x7, 0x87, 0x7, 0x70, 0x7, 0x71, 0x7, 0x72, 0x7, 0x73, 0x7, 0x74, 0x7, 0x75, 0x7, 0xC4, 0x7, 0x89, 0x7, 0x8A, 0x7, 0x8B, 0x7, 0x8C, 0xC, 0xE4, 0x7, 0x8D, 0x7, 0x8F, 0x7, 0x90, 0x7, 0x91, 0x7, 0x93, 0x7, 0x95, 0x8, 0xB7, 0x9, 0x7F, 0x9, 0x80, 0x9, 0x81, 0x9, 0x82, 0x9, 0x83, 0x9, 0x84, 0x9, 0x85, 0x9, 0x86, 0x9, 0x87, 0x9, 0x88, 0x9, 0x89, 0x9, 0x8A, 0x9, 0x8B, 0x9, 0x8C, 0x9, 0x8D, 0x9, 0x8E, 0x9, 0x8F, 0x9, 0x90, 0x9, 0x91, 0x9, 0x92, 0x9, 0x93, 0x9, 0x94, 0x9, 0x95, 0x9, 0x96, 0x9, 0x97, 0x9, 0x98, 0x9, 0x99, 0x9, 0x9A, 0x9, 0xD1, 0x9, 0x9B, 0x9, 0x9C, 0x9, 0x9D, 0x9, 0x9E, 0x9, 0x9F, 0x9, 0xA0, 0x9, 0xA1, 0x9, 0xA2, 0x9, 0xA3, 0x9, 0xA4, 0x9, 0xA5, 0x9, 0xA6, 0x9, 0xA7, 0x9, 0xA8, 0x9, 0xA9, 0x9, 0xAA, 0x9, 0xAB, 0x9, 0xAC, 0x9, 0xAD, 0x9, 0xAE, 0x9, 0xAF, 0x9, 0xB0, 0xC, 0xEC, 0x9, 0xB2, 0x9, 0xB3, 0x9, 0xB4, 0x9, 0xB5, 0x9, 0xB6, 0x9, 0xB7, 0x9, 0xB8, 0x9, 0xB9, 0x9, 0xBA, 0x9, 0xBB, 0x9, 0xBC, 0x9, 0xBD, 0x9, 0xBF, 0x9, 0xC0, 0x9, 0xC1, 0x9, 0xC2, 0x9, 0xC3, 0x9, 0xC4, 0xC, 0xEF, 0x9, 0xC5, 0x9, 0xC6, 0x9, 0xC8, 0x9, 0xC7, 0x9, 0xC9, 0x9, 0xCA, 0x9, 0xCB, 0x9, 0xCC, 0x9, 0xCD, 0x9, 0xCE, 0x9, 0xCF, 0x9, 0xD0, 0x9, 0xD2, 0x9, 0xD3, 0x9, 0xD4, 0xC, 0xED, 0xC, 0xEE, 0xC, 0xB7, 0xC, 0xB8, 0xC, 0xB9, 0xC, 0xBA, 0xC, 0xC4, 0xC, 0xC7, 0xC, 0xC5, 0xC, 0xC6, 0xC, 0xCB, 0xC, 0xCC, 0xC, 0xCD, 0xC, 0xBB, 0xC, 0xBC, 0xC, 0xBD, 0xC, 0xD6, 0xC, 0xD9, 0xC, 0xDA, 0xC, 0xDD, 0xC, 0xDF, 0xC, 0xE0, 0x7, 0x7D, 0xC, 0xE2, 0xC, 0xCE, 0xC, 0xCF, 0xC, 0xD0, 0xC, 0xD1, 0xC, 0xD2, 0xC, 0xD3, 0xC, 0xD4, 0xC, 0xD5, 0xC, 0xF0, 0xC, 0xF1, 0xC, 0xF2, 0xC, 0xF3, 0xC, 0xE3, 0xC, 0xE5, 0xC, 0xE6, 0x7, 0x94, 0xC, 0xE8, 0x7, 0x96, 0xC, 0xE9, 0xC, 0xE7, 0x7, 0x92, 0x7, 0x88, 0x7, 0x8E, 0x9, 0xBE, 0xC, 0xEB, 0xC, 0xFA, 0xC, 0xFB, 0xC, 0xFC, 0x0, 0x1, 0x0, 0xEE, 0x0, 0xB, 0x0, 0x46, 0x0, 0x47, 0x0, 0x48, 0x0, 0x49, 0x0, 0x4A, 0x0, 0x4B, 0x0, 0x4C, 0x0, 0x4D, 0x0, 0x4E, 0x0, 0x4F, 0x0, 0x50, 0x0, 0x51, 0x0, 0x52, 0x0, 0x53, 0x0, 0x54, 0x0, 0x55, 0x0, 0x56, 0x0, 0x57, 0x0, 0x58, 0x0, 0x59, 0x0, 0x5A, 0x0, 0x5B, 0x0, 0x5C, 0x0, 0x5D, 0x0, 0x5E, 0x0, 0x5F, 0x0, 0x86, 0x0, 0x87, 0x0, 0x88, 0x0, 0x8A, 0x0, 0x8B, 0x0, 0x8C, 0x0, 0x8E, 0x0, 0x91, 0x0, 0x93, 0x0, 0x95, 0x2, 0x3A, 0x2, 0x3B, 0x2, 0x3C, 0x2, 0x3D, 0x2, 0x3E, 0x2, 0x3F, 0x2, 0x40, 0x2, 0x41, 0x2, 0x42, 0x2, 0x43, 0x2, 0x44, 0x2, 0x45, 0x2, 0x46, 0x2, 0x47, 0x2, 0x48, 0x2, 0x49, 0x2, 0x4A, 0x2, 0x4B, 0x2, 0x4C, 0x2, 0x4D, 0x2, 0x80, 0x2, 0x81, 0x2, 0x82, 0x2, 0x83, 0x2, 0x84, 0x2, 0x85, 0x2, 0x86, 0x2, 0x87, 0x2, 0x88, 0x2, 0x89, 0x2, 0x8A, 0x2, 0x8B, 0x2, 0x8C, 0x2, 0x8D, 0x2, 0x8E, 0x2, 0x8F, 0x2, 0x90, 0x2, 0x91, 0x2, 0x92, 0x2, 0x93, 0x2, 0x94, 0x2, 0x95, 0x2, 0x96, 0x2, 0x97, 0x2, 0x98, 0x2, 0x99, 0x2, 0x9A, 0x2, 0x9B, 0x2, 0x9C, 0x2, 0x9D, 0x2, 0xC7, 0x2, 0xCB, 0x2, 0xCD, 0x2, 0xCF, 0x2, 0xD1, 0x2, 0xD3, 0x2, 0xD9, 0x2, 0xDB, 0x2, 0xDD, 0x2, 0xE1, 0x2, 0xE4, 0x2, 0xF1, 0x8, 0xCA, 0x8, 0xCC, 0x8, 0xE8, 0x8, 0xE9, 0x8, 0xEA, 0x8, 0xEB, 0x8, 0xEC, 0x8, 0xED, 0x8, 0xEE, 0x8, 0xEF, 0x8, 0xF0, 0x8, 0xF1, 0x8, 0xF2, 0x8, 0xF3, 0x8, 0xF4, 0x8, 0xF5, 0x8, 0xF6, 0x8, 0xF7, 0x8, 0xF8, 0x8, 0xF9, 0x8, 0xFA, 0x8, 0xFB, 0x8, 0xFC, 0x8, 0xFD, 0x8, 0xFE, 0x8, 0xFF, 0x9, 0x0, 0x9, 0x1, 0x9, 0x2, 0x9, 0x3, 0x9, 0x5, 0x9, 0x7, 0x9, 0x9, 0x9, 0xB, 0x9, 0xD, 0x9, 0xF, 0x9, 0x11, 0x9, 0x13, 0x9, 0x15, 0x9, 0x17, 0x9, 0x19, 0x9, 0x1B, 0x9, 0x1D, 0x9, 0x1F, 0x9, 0x21, 0x9, 0x23, 0x9, 0x25, 0x9, 0x27, 0x9, 0x29, 0x9, 0x2B, 0x9, 0x2D, 0x9, 0x2F, 0x9, 0x32, 0x9, 0x34, 0x9, 0x36, 0x9, 0x38, 0x9, 0x3A, 0x9, 0x3C, 0x9, 0x3E, 0x9, 0x40, 0x9, 0x42, 0x9, 0x44, 0x9, 0x47, 0x9, 0x49, 0x9, 0x4B, 0x9, 0x4D, 0x9, 0x4F, 0x9, 0x51, 0x9, 0x53, 0x9, 0x55, 0x9, 0x57, 0x9, 0x59, 0x9, 0x5B, 0x9, 0x5D, 0x9, 0x5F, 0x9, 0x61, 0x9, 0x63, 0x9, 0x65, 0x9, 0x67, 0x9, 0x69, 0x9, 0x6B, 0x9, 0x6D, 0x9, 0x6F, 0x9, 0x71, 0x9, 0x74, 0x9, 0x76, 0x9, 0x78, 0x9, 0x7A, 0x9, 0x7C, 0x9, 0xED, 0x9, 0xEE, 0x9, 0xEF, 0x9, 0xF0, 0x9, 0xF2, 0x9, 0xF3, 0x9, 0xF4, 0x9, 0xF5, 0x9, 0xF6, 0x9, 0xF7, 0x9, 0xF8, 0x9, 0xF9, 0x9, 0xFA, 0x9, 0xFB, 0xA, 0x12, 0xA, 0x13, 0xA, 0x14, 0xA, 0x15, 0xA, 0x16, 0xA, 0x17, 0xA, 0x18, 0xA, 0x19, 0xA, 0x1A, 0xA, 0x1B, 0xA, 0x1C, 0xA, 0x1D, 0xA, 0x1E, 0xA, 0x1F, 0xA, 0x20, 0xA, 0x21, 0xA, 0x23, 0xA, 0x25, 0xA, 0x27, 0xA, 0x29, 0xA, 0x3E, 0xA, 0x40, 0xA, 0x42, 0xA, 0x50, 0xA, 0x57, 0xA, 0x5D, 0xA, 0x64, 0xA, 0xCE, 0xA, 0xCF, 0xA, 0xD3, 0xA, 0xD7, 0xB, 0xA, 0xB, 0x43, 0xC, 0xF5, 0xC, 0xF7, 0xC, 0xF9, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x8, 0x0, 0x2, 0x1, 0x4A, 0x0, 0xA2, 0x7, 0xE0, 0x7, 0xE1, 0x7, 0xE2, 0x7, 0xDE, 0x7, 0xDF, 0x7, 0xE0, 0x0, 0x27, 0x0, 0x28, 0x0, 0x29, 0x7, 0xE1, 0x0, 0x2B, 0x0, 0x2C, 0x0, 0x2D, 0x0, 0x2E, 0x0, 0x2F, 0x0, 0x30, 0x0, 0x31, 0x7, 0xE2, 0x7, 0xDE, 0x0, 0x34, 0x0, 0x35, 0x0, 0x36, 0x0, 0x37, 0x0, 0x38, 0x0, 0x39, 0x7, 0xDF, 0x0, 0x3B, 0x0, 0x3C, 0x0, 0x3D, 0x0, 0x3E, 0x0, 0x3F, 0x0, 0x82, 0x8, 0xC9, 0x0, 0x84, 0x0, 0x85, 0x8, 0xC8, 0x0, 0x92, 0x0, 0x94, 0x0, 0x8D, 0x8, 0xCB, 0xC, 0xFD, 0xC, 0xFE, 0xC, 0xFF, 0xD, 0x0, 0xD, 0x1, 0xD, 0x2, 0xD, 0x6, 0xD, 0x7, 0xD, 0x8, 0xD, 0x9, 0xD, 0xA, 0xD, 0x10, 0xD, 0x14, 0xD, 0x15, 0xD, 0x16, 0xC, 0xFD, 0xC, 0xFE, 0xC, 0xFF, 0xD, 0x0, 0xD, 0x1, 0xD, 0x2, 0xD, 0x6, 0x8, 0xD4, 0xD, 0x7, 0xD, 0x8, 0xD, 0x9, 0xD, 0xA, 0x8, 0xD9, 0x8, 0xDA, 0x8, 0xDB, 0x8, 0xDC, 0xD, 0x10, 0x8, 0xDE, 0x8, 0xDF, 0x8, 0xE0, 0x8, 0xE1, 0x8, 0xE2, 0xD, 0x14, 0xD, 0x15, 0x8, 0xE5, 0xD, 0x16, 0x8, 0xE7, 0x9, 0x72, 0xD, 0x3, 0xD, 0x3, 0xD, 0x4, 0xD, 0x4, 0xD, 0x5, 0xD, 0x5, 0x9, 0xA, 0x9, 0xC, 0x9, 0xE, 0x9, 0x10, 0x9, 0x12, 0xD, 0xB, 0xD, 0xB, 0xD, 0xC, 0xD, 0xC, 0xD, 0xD, 0xD, 0xD, 0xD, 0xE, 0xD, 0xE, 0xD, 0xF, 0xD, 0xF, 0x9, 0x1E, 0x9, 0x20, 0x9, 0x22, 0x9, 0x24, 0x9, 0x26, 0x9, 0x28, 0x9, 0x2A, 0x9, 0x2C, 0x9, 0x2E, 0x9, 0x31, 0x9, 0x33, 0x9, 0x35, 0x9, 0x37, 0x9, 0x39, 0x9, 0x3B, 0x9, 0x3D, 0xD, 0x11, 0xD, 0x11, 0xD, 0x12, 0xD, 0x12, 0xD, 0x13, 0xD, 0x13, 0x9, 0x46, 0x9, 0x48, 0x9, 0x4A, 0x9, 0x4C, 0x9, 0x4E, 0x9, 0x50, 0x9, 0x52, 0x9, 0x54, 0x9, 0x56, 0x9, 0x58, 0x9, 0x5A, 0x9, 0x5E, 0x9, 0x60, 0xD, 0x17, 0xD, 0x17, 0xD, 0x18, 0xD, 0x18, 0xD, 0x19, 0xD, 0x19, 0xD, 0x1A, 0xD, 0x1A, 0xD, 0x1B, 0xD, 0x1B, 0xD, 0x1C, 0xD, 0x1C, 0x9, 0x6E, 0x9, 0x70, 0x9, 0x73, 0x9, 0x75, 0x9, 0x77, 0x9, 0x79, 0x9, 0x7B, 0xA, 0x22, 0xA, 0x24, 0xA, 0x26, 0xA, 0x28, 0x0, 0x1, 0x0, 0xA2, 0x0, 0x26, 0x0, 0x2A, 0x0, 0x32, 0x0, 0x33, 0x0, 0x3A, 0x0, 0x46, 0x0, 0x47, 0x0, 0x48, 0x0, 0x49, 0x0, 0x4A, 0x0, 0x4B, 0x0, 0x4C, 0x0, 0x4D, 0x0, 0x4E, 0x0, 0x4F, 0x0, 0x50, 0x0, 0x51, 0x0, 0x52, 0x0, 0x53, 0x0, 0x54, 0x0, 0x55, 0x0, 0x56, 0x0, 0x57, 0x0, 0x58, 0x0, 0x59, 0x0, 0x5A, 0x0, 0x5B, 0x0, 0x5C, 0x0, 0x5D, 0x0, 0x5E, 0x0, 0x5F, 0x0, 0x87, 0x0, 0x88, 0x0, 0x8A, 0x0, 0x8B, 0x0, 0x8C, 0x0, 0x93, 0x0, 0x95, 0x8, 0xCA, 0x8, 0xCC, 0x8, 0xCD, 0x8, 0xCE, 0x8, 0xCF, 0x8, 0xD0, 0x8, 0xD1, 0x8, 0xD2, 0x8, 0xD3, 0x8, 0xD5, 0x8, 0xD6, 0x8, 0xD7, 0x8, 0xD8, 0x8, 0xDD, 0x8, 0xE3, 0x8, 0xE4, 0x8, 0xE6, 0x8, 0xE8, 0x8, 0xE9, 0x8, 0xEA, 0x8, 0xEB, 0x8, 0xEC, 0x8, 0xED, 0x8, 0xEE, 0x8, 0xEF, 0x8, 0xF0, 0x8, 0xF1, 0x8, 0xF2, 0x8, 0xF3, 0x8, 0xF4, 0x8, 0xF5, 0x8, 0xF6, 0x8, 0xF7, 0x8, 0xF8, 0x8, 0xF9, 0x8, 0xFA, 0x8, 0xFB, 0x8, 0xFC, 0x8, 0xFD, 0x8, 0xFE, 0x8, 0xFF, 0x9, 0x0, 0x9, 0x1, 0x9, 0x2, 0x9, 0x3, 0x9, 0x4, 0x9, 0x5, 0x9, 0x6, 0x9, 0x7, 0x9, 0x8, 0x9, 0x9, 0x9, 0xB, 0x9, 0xD, 0x9, 0xF, 0x9, 0x11, 0x9, 0x13, 0x9, 0x14, 0x9, 0x15, 0x9, 0x16, 0x9, 0x17, 0x9, 0x18, 0x9, 0x19, 0x9, 0x1A, 0x9, 0x1B, 0x9, 0x1C, 0x9, 0x1D, 0x9, 0x1F, 0x9, 0x21, 0x9, 0x23, 0x9, 0x25, 0x9, 0x27, 0x9, 0x29, 0x9, 0x2B, 0x9, 0x2D, 0x9, 0x2F, 0x9, 0x32, 0x9, 0x34, 0x9, 0x36, 0x9, 0x38, 0x9, 0x3A, 0x9, 0x3C, 0x9, 0x3E, 0x9, 0x3F, 0x9, 0x40, 0x9, 0x41, 0x9, 0x42, 0x9, 0x43, 0x9, 0x44, 0x9, 0x47, 0x9, 0x49, 0x9, 0x4B, 0x9, 0x4D, 0x9, 0x4F, 0x9, 0x51, 0x9, 0x53, 0x9, 0x55, 0x9, 0x57, 0x9, 0x59, 0x9, 0x5B, 0x9, 0x5F, 0x9, 0x61, 0x9, 0x62, 0x9, 0x63, 0x9, 0x64, 0x9, 0x65, 0x9, 0x66, 0x9, 0x67, 0x9, 0x68, 0x9, 0x69, 0x9, 0x6A, 0x9, 0x6B, 0x9, 0x6C, 0x9, 0x6D, 0x9, 0x6F, 0x9, 0x71, 0x9, 0x74, 0x9, 0x76, 0x9, 0x78, 0x9, 0x7A, 0x9, 0x7C, 0xA, 0x23, 0xA, 0x25, 0xA, 0x27, 0xA, 0x29, 0x0, 0x4, 0x0, 0x0, 0x0, 0x1, 0x0, 0x8, 0x0, 0x1, 0x0, 0xB6, 0x0, 0xE, 0x0, 0x22, 0x0, 0x34, 0x0, 0x3E, 0x0, 0x48, 0x0, 0x52, 0x0, 0x5C, 0x0, 0x66, 0x0, 0x70, 0x0, 0x7A, 0x0, 0x84, 0x0, 0x8E, 0x0, 0x98, 0x0, 0xA2, 0x0, 0xAC, 0x0, 0x2, 0x0, 0x6, 0x0, 0xC, 0x8, 0x8A, 0x0, 0x2, 0x3, 0x2B, 0x8, 0x8B, 0x0, 0x2, 0x3, 0x2C, 0x0, 0x1, 0x0, 0x4, 0x8, 0x8C, 0x0, 0x2, 0x3, 0x2B, 0x0, 0x1, 0x0, 0x4, 0x8, 0x8D, 0x0, 0x2, 0x3, 0x2B, 0x0, 0x1, 0x0, 0x4, 0x8, 0x8E, 0x0, 0x2, 0x3, 0x2B, 0x0, 0x1, 0x0, 0x4, 0x8, 0x91, 0x0, 0x2, 0x3, 0x2D, 0x0, 0x1, 0x0, 0x4, 0x8, 0x90, 0x0, 0x2, 0x3, 0x2D, 0x0, 0x1, 0x0, 0x4, 0x8, 0x92, 0x0, 0x2, 0x3, 0x2D, 0x0, 0x1, 0x0, 0x4, 0x8, 0x93, 0x0, 0x2, 0x3, 0x2D, 0x0, 0x1, 0x0, 0x4, 0x8, 0x94, 0x0, 0x2, 0x3, 0x2D, 0x0, 0x1, 0x0, 0x4, 0x8, 0x95, 0x0, 0x2, 0x3, 0x2D, 0x0, 0x1, 0x0, 0x4, 0x8, 0x8F, 0x0, 0x2, 0x3, 0x2D, 0x0, 0x1, 0x0, 0x4, 0x8, 0x98, 0x0, 0x2, 0x3, 0x2D, 0x0, 0x1, 0x0, 0x4, 0x8, 0x96, 0x0, 0x2, 0x3, 0x2D, 0x0, 0x1, 0x0, 0x4, 0x8, 0x97, 0x0, 0x2, 0x3, 0x2D, 0x0, 0x1, 0x0, 0xE, 0x1, 0xB4, 0x1, 0xB5, 0x1, 0xB9, 0x1, 0xBD, 0x1, 0xD4, 0x1, 0xD5, 0x1, 0xD6, 0x1, 0xDA, 0x1, 0xE0, 0x1, 0xE1, 0x1, 0xF6, 0x3, 0x28, 0x3, 0x29, 0x3, 0x2A, 0x0, 0x6, 0x0, 0x0, 0x0, 0x12, 0x0, 0x2A, 0x0, 0x42, 0x0, 0x5A, 0x0, 0x72, 0x0, 0x8A, 0x0, 0xA2, 0x0, 0xBA, 0x0, 0xD2, 0x0, 0xEA, 0x1, 0x2, 0x1, 0x1A, 0x1, 0x32, 0x1, 0x4A, 0x1, 0x62, 0x1, 0x7A, 0x1, 0x92, 0x1, 0xAA, 0x1, 0xC2, 0x0, 0x3, 0x0, 0x0, 0x0, 0x1, 0x0, 0x12, 0x0, 0x1, 0x1, 0xB0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x5, 0x0, 0x1, 0x0, 0x1, 0x0, 0x4E, 0x0, 0x3, 0x0, 0x0, 0x0, 0x1, 0x0, 0x12, 0x0, 0x1, 0x1, 0x98, 0x0, 0x1, 0x0, 0x0, 0x0, 0x5, 0x0, 0x1, 0x0, 0x1, 0x0, 0x4F, 0x0, 0x3, 0x0, 0x0, 0x0, 0x1, 0x0, 0x12, 0x0, 0x1, 0x1, 0x80, 0x0, 0x1, 0x0, 0x0, 0x0, 0x5, 0x0, 0x1, 0x0, 0x1, 0x9, 0x2F, 0x0, 0x3, 0x0, 0x0, 0x0, 0x1, 0x0, 0x12, 0x0, 0x1, 0x1, 0x68, 0x0, 0x1, 0x0, 0x0, 0x0, 0x5, 0x0, 0x1, 0x0, 0x1, 0x0, 0xFE, 0x0, 0x3, 0x0, 0x0, 0x0, 0x1, 0x0, 0x12, 0x0, 0x1, 0x1, 0x50, 0x0, 0x1, 0x0, 0x0, 0x0, 0x5, 0x0, 0x1, 0x0, 0x1, 0x1, 0x1D, 0x0, 0x3, 0x0, 0x0, 0x0, 0x1, 0x0, 0x12, 0x0, 0x1, 0x1, 0x38, 0x0, 0x1, 0x0, 0x0, 0x0, 0x5, 0x0, 0x1, 0x0, 0x1, 0x1, 0x4F, 0x0, 0x3, 0x0, 0x0, 0x0, 0x1, 0x0, 0x12, 0x0, 0x1, 0x1, 0x20, 0x0, 0x1, 0x0, 0x0, 0x0, 0x5, 0x0, 0x1, 0x0, 0x1, 0x1, 0x64, 0x0, 0x3, 0x0, 0x0, 0x0, 0x1, 0x0, 0x12, 0x0, 0x1, 0x1, 0x8, 0x0, 0x1, 0x0, 0x0, 0x0, 0x5, 0x0, 0x1, 0x0, 0x1, 0xB, 0x43, 0x0, 0x3, 0x0, 0x0, 0x0, 0x1, 0x0, 0x12, 0x0, 0x1, 0x0, 0xF0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x5, 0x0, 0x1, 0x0, 0x1, 0xA, 0x1D, 0x0, 0x3, 0x0, 0x0, 0x0, 0x1, 0x0, 0x12, 0x0, 0x1, 0x0, 0xD8, 0x0, 0x1, 0x0, 0x0, 0x0, 0x5, 0x0, 0x1, 0x0, 0x1, 0xA, 0x1F, 0x0, 0x3, 0x0, 0x0, 0x0, 0x1, 0x0, 0x12, 0x0, 0x1, 0x0, 0xC0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x5, 0x0, 0x1, 0x0, 0x1, 0x3, 0x91, 0x0, 0x3, 0x0, 0x0, 0x0, 0x1, 0x0, 0x12, 0x0, 0x1, 0x0, 0xA8, 0x0, 0x1, 0x0, 0x0, 0x0, 0x5, 0x0, 0x1, 0x0, 0x1, 0x3, 0xC5, 0x0, 0x3, 0x0, 0x0, 0x0, 0x1, 0x0, 0x12, 0x0, 0x1, 0x0, 0x90, 0x0, 0x1, 0x0, 0x0, 0x0, 0x5, 0x0, 0x1, 0x0, 0x1, 0x3, 0xD3, 0x0, 0x3, 0x0, 0x0, 0x0, 0x1, 0x0, 0x12, 0x0, 0x1, 0x0, 0x78, 0x0, 0x1, 0x0, 0x0, 0x0, 0x5, 0x0, 0x1, 0x0, 0x1, 0x3, 0xD7, 0x0, 0x3, 0x0, 0x0, 0x0, 0x1, 0x0, 0x12, 0x0, 0x1, 0x0, 0x60, 0x0, 0x1, 0x0, 0x0, 0x0, 0x5, 0x0, 0x1, 0x0, 0x1, 0x4, 0x2C, 0x0, 0x3, 0x0, 0x0, 0x0, 0x1, 0x0, 0x12, 0x0, 0x1, 0x0, 0x48, 0x0, 0x1, 0x0, 0x0, 0x0, 0x5, 0x0, 0x1, 0x0, 0x1, 0xA, 0x99, 0x0, 0x3, 0x0, 0x0, 0x0, 0x1, 0x0, 0x12, 0x0, 0x1, 0x0, 0x30, 0x0, 0x1, 0x0, 0x0, 0x0, 0x5, 0x0, 0x1, 0x0, 0x1, 0x4, 0x9C, 0x0, 0x3, 0x0, 0x0, 0x0, 0x1, 0x0, 0x12, 0x0, 0x1, 0x0, 0x18, 0x0, 0x1, 0x0, 0x0, 0x0, 0x5, 0x0, 0x1, 0x0, 0x1, 0x5, 0x72, 0x0, 0x2, 0x0, 0x19, 0x1, 0xB1, 0x1, 0xC6, 0x0, 0x0, 0x1, 0xCB, 0x1, 0xCC, 0x0, 0x16, 0x1, 0xEE, 0x1, 0xF5, 0x0, 0x18, 0x1, 0xF7, 0x1, 0xF7, 0x0, 0x20, 0x1, 0xFB, 0x1, 0xFD, 0x0, 0x21, 0x2, 0x1, 0x2, 0x3, 0x0, 0x24, 0x2, 0x8, 0x2, 0x9, 0x0, 0x27, 0x2, 0xC, 0x2, 0xC, 0x0, 0x29, 0x2, 0x14, 0x2, 0x20, 0x0, 0x2A, 0x2, 0xBA, 0x2, 0xBE, 0x0, 0x37, 0x3, 0x20, 0x3, 0x24, 0x0, 0x3C, 0x3, 0x2B, 0x3, 0x2C, 0x0, 0x41, 0x3, 0xEF, 0x3, 0xF0, 0x0, 0x43, 0x3, 0xF2, 0x3, 0xF8, 0x0, 0x45, 0x3, 0xFA, 0x3, 0xFD, 0x0, 0x4C, 0x4, 0x0, 0x4, 0x24, 0x0, 0x50, 0x4, 0x27, 0x4, 0x27, 0x0, 0x75, 0x4, 0xE3, 0x4, 0xE3, 0x0, 0x76, 0x4, 0xE5, 0x4, 0xE5, 0x0, 0x77, 0x5, 0x76, 0x5, 0x95, 0x0, 0x78, 0x6, 0x8, 0x6, 0x8, 0x0, 0x98, 0x6, 0xD, 0x6, 0x16, 0x0, 0x99, 0x6, 0x37, 0x6, 0x37, 0x0, 0xA3, 0x7, 0x2D, 0x7, 0x33, 0x0, 0xA4, 0x8, 0x8A, 0x8, 0x8E, 0x0, 0xAB, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x8, 0x0, 0x2, 0x0, 0x2A, 0x0, 0x12, 0x7, 0xF5, 0x7, 0xEE, 0x7, 0xF0, 0x7, 0xF1, 0x7, 0xF3, 0x7, 0xFC, 0x7, 0xF9, 0x7, 0xEF, 0x7, 0xF6, 0x7, 0xFB, 0xD, 0x1D, 0x7, 0xF4, 0x7, 0xFD, 0x7, 0xF7, 0x7, 0xF8, 0x7, 0xF2, 0xD, 0x1E, 0x7, 0xFA, 0x0, 0x1, 0x0, 0x12, 0x0, 0x4E, 0x0, 0x4F, 0x0, 0xFE, 0x1, 0x1D, 0x1, 0x4F, 0x1, 0x64, 0x3, 0x91, 0x3, 0xC5, 0x3, 0xD3, 0x3, 0xD7, 0x4, 0x2C, 0x4, 0x9C, 0x5, 0x72, 0x9, 0x2F, 0xA, 0x1D, 0xA, 0x1F, 0xA, 0x99, 0xB, 0x43, 0x0, 0x4, 0x0, 0x0, 0x0, 0x1, 0x0, 0x8, 0x0, 0x1, 0xE, 0xC0, 0x0, 0x3D, 0x0, 0x80, 0x1, 0x5C, 0x1, 0x76, 0x1, 0xA0, 0x1, 0xD2, 0x2, 0x98, 0x2, 0xA2, 0x2, 0xDC, 0x3, 0xE, 0x3, 0x92, 0x3, 0x9C, 0x3, 0xC6, 0x3, 0xF8, 0x4, 0x12, 0x4, 0x5C, 0x5, 0x44, 0x5, 0x56, 0x5, 0x98, 0x5, 0xE6, 0x6, 0x20, 0x6, 0xEE, 0x7, 0x0, 0x7, 0x32, 0x7, 0x44, 0x7, 0x8E, 0x7, 0xC0, 0x8, 0x42, 0x8, 0x5C, 0x8, 0x86, 0x8, 0xB8, 0x9, 0x42, 0x9, 0x4C, 0x9, 0x7E, 0x9, 0xB8, 0x9, 0xD2, 0x9, 0xFC, 0xA, 0x36, 0xA, 0x50, 0xA, 0x9A, 0xB, 0x14, 0xB, 0x26, 0xB, 0x68, 0xB, 0xA2, 0xB, 0xE4, 0xC, 0x76, 0xC, 0x88, 0xC, 0xC2, 0xC, 0xD4, 0xD, 0x26, 0xD, 0x58, 0xD, 0x6A, 0xD, 0x74, 0xD, 0x86, 0xD, 0x90, 0xD, 0xEA, 0xD, 0xF4, 0xE, 0x1E, 0xE, 0x48, 0xE, 0x72, 0xE, 0x9C, 0xE, 0xAE, 0x0, 0x19, 0x0, 0x34, 0x0, 0x3C, 0x0, 0x44, 0x0, 0x4C, 0x0, 0x54, 0x0, 0x5C, 0x0, 0x64, 0x0, 0x6C, 0x0, 0x74, 0x0, 0x7C, 0x0, 0x82, 0x0, 0x88, 0x0, 0x8E, 0x0, 0x94, 0x0, 0x9A, 0x0, 0xA0, 0x0, 0xA6, 0x0, 0xAC, 0x0, 0xB2, 0x0, 0xB8, 0x0, 0xBE, 0x0, 0xC4, 0x0, 0xCA, 0x0, 0xD0, 0x0, 0xD6, 0xA, 0x7C, 0x0, 0x3, 0x1, 0xB7, 0x1, 0xB2, 0xA, 0x7E, 0x0, 0x3, 0x1, 0xB7, 0x1, 0xB1, 0xA, 0x80, 0x0, 0x3, 0x1, 0xB7, 0x1, 0xBA, 0xA, 0x72, 0x0, 0x3, 0x1, 0xB3, 0x1, 0xB2, 0xA, 0x74, 0x0, 0x3, 0x1, 0xB3, 0x1, 0xB1, 0xA, 0x76, 0x0, 0x3, 0x1, 0xB3, 0x1, 0xBA, 0xA, 0x78, 0x0, 0x3, 0x1, 0xB3, 0x1, 0xB4, 0xA, 0xFF, 0x0, 0x3, 0x1, 0xB9, 0x1, 0xB5, 0xB, 0x1, 0x0, 0x3, 0x1, 0xB8, 0x1, 0xB5, 0x8, 0xCE, 0x0, 0x2, 0x1, 0xB2, 0xB, 0x16, 0x0, 0x2, 0x1, 0xC2, 0x9, 0x6, 0x0, 0x2, 0x1, 0xB7, 0x8, 0xCF, 0x0, 0x2, 0x1, 0xB3, 0x8, 0xD1, 0x0, 0x2, 0x1, 0xB9, 0xA, 0x6E, 0x0, 0x2, 0x1, 0xD4, 0xB, 0x2E, 0x0, 0x2, 0x1, 0xB8, 0x8, 0xCD, 0x0, 0x2, 0x1, 0xB1, 0xA, 0x70, 0x0, 0x2, 0x1, 0xBA, 0x9, 0x4, 0x0, 0x2, 0x1, 0xB5, 0x9, 0x8, 0x0, 0x2, 0x1, 0xD9, 0x8, 0xD2, 0x0, 0x2, 0x1, 0xBB, 0xA, 0x31, 0x0, 0x2, 0x1, 0xD6, 0x8, 0xD0, 0x0, 0x2, 0x1, 0xB4, 0xA, 0xEE, 0x0, 0x2, 0x1, 0xBD, 0xB, 0x14, 0x0, 0x2, 0x1, 0xC0, 0x0, 0x3, 0x0, 0x8, 0x0, 0xE, 0x0, 0x14, 0xB, 0x4F, 0x0, 0x2, 0x1, 0xD4, 0xB, 0x4D, 0x0, 0x2, 0x1, 0xB8, 0xB, 0x51, 0x0, 0x2, 0x1, 0xE2, 0x0, 0x5, 0x0, 0xC, 0x0, 0x12, 0x0, 0x18, 0x0, 0x1E, 0x0, 0x24, 0x9, 0xA, 0x0, 0x2, 0x1, 0xB2, 0x8, 0xD4, 0x0, 0x2, 0x1, 0xD8, 0x9, 0xC, 0x0, 0x2, 0x1, 0xB3, 0x9, 0xE, 0x0, 0x2, 0x1, 0xB8, 0x9, 0x10, 0x0, 0x2, 0x1, 0xBD, 0x0, 0x6, 0x0, 0xE, 0x0, 0x14, 0x0, 0x1A, 0x0, 0x20, 0x0, 0x26, 0x0, 0x2C, 0xB, 0x5D, 0x0, 0x2, 0x1, 0xDE, 0xB, 0x5B, 0x0, 0x2, 0x7, 0x25, 0xB, 0x57, 0x0, 0x2, 0x1, 0xD4, 0xB, 0x55, 0x0, 0x2, 0x1, 0xB8, 0xB, 0x59, 0x0, 0x2, 0x1, 0xE2, 0x9, 0x12, 0x0, 0x2, 0x1, 0xBD, 0x0, 0x17, 0x0, 0x30, 0x0, 0x38, 0x0, 0x40, 0x0, 0x48, 0x0, 0x50, 0x0, 0x58, 0x0, 0x60, 0x0, 0x66, 0x0, 0x6C, 0x0, 0x72, 0x0, 0x78, 0x0, 0x7E, 0x0, 0x84, 0x0, 0x8A, 0x0, 0x90, 0x0, 0x96, 0x0, 0x9C, 0x0, 0xA2, 0x0, 0xA8, 0x0, 0xAE, 0x0, 0xB4, 0x0, 0xBA, 0x0, 0xC0, 0xA, 0x8C, 0x0, 0x3, 0x1, 0xB3, 0x1, 0xB2, 0xA, 0x8E, 0x0, 0x3, 0x1, 0xB3, 0x1, 0xB1, 0xA, 0x90, 0x0, 0x3, 0x1, 0xB3, 0x1, 0xBA, 0xA, 0x92, 0x0, 0x3, 0x1, 0xB3, 0x1, 0xB4, 0xB, 0x61, 0x0, 0x3, 0x1, 0xB5, 0x1, 0xB2, 0xB, 0x5F, 0x0, 0x3, 0x1, 0xB5, 0x1, 0xB1, 0x8, 0xD6, 0x0, 0x2, 0x1, 0xB2, 0xB, 0x1A, 0x0, 0x2, 0x1, 0xC2, 0x9, 0x16, 0x0, 0x2, 0x1, 0xB7, 0xB, 0x30, 0x0, 0x2, 0x1, 0xD8, 0x8, 0xD7, 0x0, 0x2, 0x1, 0xB3, 0xB, 0x63, 0x0, 0x2, 0x1, 0xDE, 0x8, 0xD8, 0x0, 0x2, 0x1, 0xB9, 0xA, 0x86, 0x0, 0x2, 0x1, 0xD4, 0x9, 0x18, 0x0, 0x2, 0x1, 0xB8, 0x8, 0xD5, 0x0, 0x2, 0x1, 0xB1, 0xA, 0x88, 0x0, 0x2, 0x1, 0xBA, 0x9, 0x14, 0x0, 0x2, 0x1, 0xB5, 0x9, 0x1A, 0x0, 0x2, 0x1, 0xD9, 0xA, 0x8A, 0x0, 0x2, 0x1, 0xB4, 0xB, 0x65, 0x0, 0x2, 0x1, 0xE1, 0x9, 0x1C, 0x0, 0x2, 0x1, 0xBD, 0xB, 0x18, 0x0, 0x2, 0x1, 0xC0, 0x0, 0x1, 0x0, 0x4, 0xB, 0x69, 0x0, 0x2, 0x1, 0xB8, 0x0, 0x7, 0x0, 0x10, 0x0, 0x16, 0x0, 0x1C, 0x0, 0x22, 0x0, 0x28, 0x0, 0x2E, 0x0, 0x34, 0xB, 0x10, 0x0, 0x2, 0x1, 0xB2, 0x9, 0x20, 0x0, 0x2, 0x1, 0xB7, 0x9, 0x1E, 0x0, 0x2, 0x1, 0xB3, 0x9, 0x24, 0x0, 0x2, 0x7, 0x25, 0x9, 0x22, 0x0, 0x2, 0x1, 0xB8, 0xB, 0x6B, 0x0, 0x2, 0x1, 0xB5, 0xB, 0x5, 0x0, 0x2, 0x1, 0xBD, 0x0, 0x6, 0x0, 0xE, 0x0, 0x14, 0x0, 0x1A, 0x0, 0x20, 0x0, 0x26, 0x0, 0x2C, 0xB, 0x73, 0x0, 0x2, 0x1, 0xDF, 0x9, 0x26, 0x0, 0x2, 0x1, 0xB3, 0xB, 0x71, 0x0, 0x2, 0x1, 0xB9, 0xB, 0x6F, 0x0, 0x2, 0x1, 0xD4, 0xB, 0x6D, 0x0, 0x2, 0x1, 0xB8, 0xB, 0x2C, 0x0, 0x2, 0x1, 0xBD, 0x0, 0x10, 0x0, 0x22, 0x0, 0x2A, 0x0, 0x30, 0x0, 0x36, 0x0, 0x3C, 0x0, 0x42, 0x0, 0x48, 0x0, 0x4E, 0x0, 0x54, 0x0, 0x5A, 0x0, 0x60, 0x0, 0x66, 0x0, 0x6C, 0x0, 0x72, 0x0, 0x78, 0x0, 0x7E, 0x4, 0x2D, 0x0, 0x3, 0x1, 0xB9, 0x1, 0xB2, 0x8, 0xDA, 0x0, 0x2, 0x1, 0xB2, 0xB, 0x1E, 0x0, 0x2, 0x1, 0xC2, 0x9, 0x2C, 0x0, 0x2, 0x1, 0xB7, 0x8, 0xDB, 0x0, 0x2, 0x1, 0xB3, 0x8, 0xDC, 0x0, 0x2, 0x1, 0xB9, 0xA, 0x98, 0x0, 0x2, 0x1, 0xD4, 0x9, 0x30, 0x0, 0x2, 0x1, 0xB8, 0x8, 0xD9, 0x0, 0x2, 0x1, 0xB1, 0xA, 0x96, 0x0, 0x2, 0x1, 0xBA, 0x9, 0x2A, 0x0, 0x2, 0x1, 0xB5, 0x9, 0x2E, 0x0, 0x2, 0x1, 0xD9, 0x9, 0x28, 0x0, 0x2, 0x1, 0xB4, 0x4, 0x2B, 0x0, 0x2, 0x1, 0xE1, 0xA, 0xF0, 0x0, 0x2, 0x1, 0xBD, 0xB, 0x1C, 0x0, 0x2, 0x1, 0xC0, 0x0, 0x1, 0x0, 0x4, 0x9, 0x33, 0x0, 0x2, 0x1, 0xB3, 0x0, 0x5, 0x0, 0xC, 0x0, 0x12, 0x0, 0x18, 0x0, 0x1E, 0x0, 0x24, 0xB, 0x75, 0x0, 0x2, 0x1, 0xB2, 0x9, 0x35, 0x0, 0x2, 0x7, 0x25, 0xB, 0x77, 0x0, 0x2, 0x1, 0xD4, 0xB, 0x79, 0x0, 0x2, 0x1, 0xE2, 0xB, 0x7, 0x0, 0x2, 0x1, 0xBD, 0x0, 0x6, 0x0, 0xE, 0x0, 0x14, 0x0, 0x1A, 0x0, 0x20, 0x0, 0x26, 0x0, 0x2C, 0x9, 0x37, 0x0, 0x2, 0x1, 0xB2, 0xB, 0x81, 0x0, 0x2, 0x1, 0xDE, 0x9, 0x39, 0x0, 0x2, 0x7, 0x25, 0xB, 0x7B, 0x0, 0x2, 0x1, 0xD4, 0x9, 0x3D, 0x0, 0x2, 0x1, 0xB8, 0xB, 0x7F, 0x0, 0x2, 0x1, 0xE2, 0x0, 0x3, 0x0, 0x8, 0x0, 0xE, 0x0, 0x14, 0xA, 0x2F, 0x0, 0x2, 0x1, 0xB2, 0xB, 0x85, 0x0, 0x2, 0x1, 0xD4, 0xB, 0x83, 0x0, 0x2, 0x1, 0xB8, 0x0, 0x9, 0x0, 0x14, 0x0, 0x1A, 0x0, 0x20, 0x0, 0x26, 0x0, 0x2C, 0x0, 0x32, 0x0, 0x38, 0x0, 0x3E, 0x0, 0x44, 0x9, 0x3F, 0x0, 0x2, 0x1, 0xB2, 0xB, 0x8D, 0x0, 0x2, 0x1, 0xDE, 0x9, 0x41, 0x0, 0x2, 0x7, 0x25, 0xB, 0x89, 0x0, 0x2, 0x1, 0xD4, 0xB, 0x87, 0x0, 0x2, 0x1, 0xB8, 0xB, 0x12, 0x0, 0x2, 0x1, 0xB1, 0xB, 0x8B, 0x0, 0x2, 0x1, 0xE2, 0x8, 0xDD, 0x0, 0x2, 0x1, 0xB4, 0x9, 0x43, 0x0, 0x2, 0x1, 0xBD, 0x0, 0x1A, 0x0, 0x36, 0x0, 0x3E, 0x0, 0x46, 0x0, 0x4E, 0x0, 0x56, 0x0, 0x5E, 0x0, 0x66, 0x0, 0x6E, 0x0, 0x76, 0x0, 0x7E, 0x0, 0x86, 0x0, 0x8E, 0x0, 0x94, 0x0, 0x9A, 0x0, 0xA0, 0x0, 0xA6, 0x0, 0xAC, 0x0, 0xB2, 0x0, 0xB8, 0x0, 0xBE, 0x0, 0xC4, 0x0, 0xCA, 0x0, 0xD0, 0x0, 0xD6, 0x0, 0xDC, 0x0, 0xE2, 0xA, 0x9E, 0x0, 0x3, 0x1, 0xB3, 0x1, 0xB2, 0xA, 0xA0, 0x0, 0x3, 0x1, 0xB3, 0x1, 0xB1, 0xA, 0xA2, 0x0, 0x3, 0x1, 0xB3, 0x1, 0xBA, 0xA, 0xA4, 0x0, 0x3, 0x1, 0xB3, 0x1, 0xB4, 0xB, 0x32, 0x0, 0x3, 0x1, 0xB9, 0x1, 0xB5, 0xB, 0x38, 0x0, 0x3, 0x1, 0xB8, 0x1, 0xB5, 0xB, 0x95, 0x0, 0x3, 0x1, 0xB5, 0x1, 0xB2, 0xB, 0x93, 0x0, 0x3, 0x1, 0xB5, 0x1, 0xB1, 0xB, 0x8F, 0x0, 0x3, 0x1, 0xB4, 0x1, 0xB2, 0xB, 0x91, 0x0, 0x3, 0x1, 0xB4, 0x1, 0xB9, 0xB, 0x34, 0x0, 0x3, 0x1, 0xB4, 0x1, 0xB5, 0x8, 0xDF, 0x0, 0x2, 0x1, 0xB2, 0x9, 0x4A, 0x0, 0x2, 0x1, 0xBC, 0xB, 0x22, 0x0, 0x2, 0x1, 0xC2, 0x9, 0x48, 0x0, 0x2, 0x1, 0xB7, 0x8, 0xE0, 0x0, 0x2, 0x1, 0xB3, 0x8, 0xE2, 0x0, 0x2, 0x1, 0xB9, 0xA, 0x9A, 0x0, 0x2, 0x1, 0xD4, 0xB, 0x36, 0x0, 0x2, 0x1, 0xB8, 0x8, 0xDE, 0x0, 0x2, 0x1, 0xB1, 0xA, 0x9C, 0x0, 0x2, 0x1, 0xBA, 0x9, 0x46, 0x0, 0x2, 0x1, 0xB5, 0xB, 0x9, 0x0, 0x2, 0x1, 0xD9, 0x8, 0xE1, 0x0, 0x2, 0x1, 0xB4, 0xA, 0xF2, 0x0, 0x2, 0x1, 0xBD, 0xB, 0x20, 0x0, 0x2, 0x1, 0xC0, 0x0, 0x2, 0x0, 0x6, 0x0, 0xC, 0xB, 0x97, 0x0, 0x2, 0x1, 0xB2, 0xB, 0x99, 0x0, 0x2, 0x1, 0xB8, 0x0, 0x8, 0x0, 0x12, 0x0, 0x18, 0x0, 0x1E, 0x0, 0x24, 0x0, 0x2A, 0x0, 0x30, 0x0, 0x36, 0x0, 0x3C, 0x9, 0x4C, 0x0, 0x2, 0x1, 0xB2, 0xB, 0x26, 0x0, 0x2, 0x1, 0xC2, 0x9, 0x4E, 0x0, 0x2, 0x7, 0x25, 0xB, 0x9D, 0x0, 0x2, 0x1, 0xD4, 0xB, 0x9B, 0x0, 0x2, 0x1, 0xB8, 0xB, 0xA1, 0x0, 0x2, 0x1, 0xE2, 0x9, 0x50, 0x0, 0x2, 0x1, 0xBD, 0xB, 0x24, 0x0, 0x2, 0x1, 0xC0, 0x0, 0x9, 0x0, 0x14, 0x0, 0x1C, 0x0, 0x24, 0x0, 0x2A, 0x0, 0x30, 0x0, 0x36, 0x0, 0x3C, 0x0, 0x42, 0x0, 0x48, 0xB, 0xA7, 0x0, 0x3, 0x1, 0xB2, 0x1, 0xB8, 0xB, 0xA9, 0x0, 0x3, 0x1, 0xBD, 0x1, 0xB8, 0x9, 0x52, 0x0, 0x2, 0x1, 0xB2, 0x9, 0x56, 0x0, 0x2, 0x1, 0xD8, 0x9, 0x54, 0x0, 0x2, 0x1, 0xB3, 0x9, 0x58, 0x0, 0x2, 0x7, 0x25, 0xB, 0xA5, 0x0, 0x2, 0x1, 0xD4, 0xB, 0xA3, 0x0, 0x2, 0x1, 0xB8, 0x9, 0x5A, 0x0, 0x2, 0x1, 0xBD, 0x0, 0x7, 0x0, 0x10, 0x0, 0x16, 0x0, 0x1C, 0x0, 0x22, 0x0, 0x28, 0x0, 0x2E, 0x0, 0x34, 0x9, 0x5E, 0x0, 0x2, 0x1, 0xD8, 0xB, 0xB3, 0x0, 0x2, 0x1, 0xDE, 0x9, 0x5C, 0x0, 0x2, 0x7, 0x25, 0xB, 0xAF, 0x0, 0x2, 0x1, 0xD4, 0xB, 0xAD, 0x0, 0x2, 0x1, 0xB8, 0xB, 0xB1, 0x0, 0x2, 0x1, 0xE2, 0x9, 0x60, 0x0, 0x2, 0x1, 0xBD, 0x0, 0x18, 0x0, 0x32, 0x0, 0x3A, 0x0, 0x42, 0x0, 0x4A, 0x0, 0x52, 0x0, 0x5A, 0x0, 0x62, 0x0, 0x68, 0x0, 0x6E, 0x0, 0x74, 0x0, 0x7A, 0x0, 0x80, 0x0, 0x86, 0x0, 0x8C, 0x0, 0x92, 0x0, 0x98, 0x0, 0x9E, 0x0, 0xA4, 0x0, 0xAA, 0x0, 0xB0, 0x0, 0xB6, 0x0, 0xBC, 0x0, 0xC2, 0x0, 0xC8, 0xA, 0xF8, 0x0, 0x3, 0x1, 0xB9, 0x1, 0xB2, 0xA, 0xFC, 0x0, 0x3, 0x1, 0xB9, 0x1, 0xB1, 0xA, 0xF6, 0x0, 0x3, 0x1, 0xB9, 0x1, 0xB5, 0xA, 0xFA, 0x0, 0x3, 0x1, 0xB9, 0x1, 0xBD, 0xB, 0xBD, 0x0, 0x3, 0x1, 0xB5, 0x1, 0xB9, 0xB, 0xBB, 0x0, 0x3, 0x1, 0xB4, 0x1, 0xB2, 0x8, 0xE4, 0x0, 0x2, 0x1, 0xB2, 0x9, 0x6A, 0x0, 0x2, 0x1, 0xBC, 0xB, 0x2A, 0x0, 0x2, 0x1, 0xC2, 0x9, 0x66, 0x0, 0x2, 0x1, 0xB7, 0x8, 0xE5, 0x0, 0x2, 0x1, 0xB3, 0xB, 0xB9, 0x0, 0x2, 0x1, 0xDE, 0x8, 0xE6, 0x0, 0x2, 0x1, 0xB9, 0xA, 0xB2, 0x0, 0x2, 0x1, 0xD4, 0xB, 0xB5, 0x0, 0x2, 0x1, 0xD5, 0x8, 0xE3, 0x0, 0x2, 0x1, 0xB1, 0xA, 0xB4, 0x0, 0x2, 0x1, 0xBA, 0x9, 0x64, 0x0, 0x2, 0x1, 0xB5, 0x9, 0x6C, 0x0, 0x2, 0x1, 0xD9, 0x9, 0x68, 0x0, 0x2, 0x1, 0xBB, 0x9, 0x62, 0x0, 0x2, 0x1, 0xB4, 0xB, 0xB7, 0x0, 0x2, 0x1, 0xE1, 0xA, 0xF4, 0x0, 0x2, 0x1, 0xBD, 0xB, 0x28, 0x0, 0x2, 0x1, 0xC0, 0x0, 0x2, 0x0, 0x6, 0x0, 0xC, 0xB, 0xC1, 0x0, 0x2, 0x1, 0xD4, 0xB, 0xBF, 0x0, 0x2, 0x1, 0xB4, 0x0, 0x6, 0x0, 0xE, 0x0, 0x14, 0x0, 0x1A, 0x0, 0x20, 0x0, 0x26, 0x0, 0x2C, 0xA, 0x24, 0x0, 0x2, 0x1, 0xB2, 0x9, 0x6E, 0x0, 0x2, 0x1, 0xB3, 0xA, 0x26, 0x0, 0x2, 0x1, 0xB9, 0xB, 0xC5, 0x0, 0x2, 0x1, 0xD4, 0xB, 0xC3, 0x0, 0x2, 0x1, 0xB8, 0xA, 0x22, 0x0, 0x2, 0x1, 0xB1, 0x0, 0x2, 0x0, 0x6, 0x0, 0xC, 0xB, 0xC9, 0x0, 0x2, 0x1, 0xB9, 0xB, 0xC7, 0x0, 0x2, 0x1, 0xB8, 0x0, 0x9, 0x0, 0x14, 0x0, 0x1A, 0x0, 0x20, 0x0, 0x26, 0x0, 0x2C, 0x0, 0x32, 0x0, 0x38, 0x0, 0x3E, 0x0, 0x44, 0x8, 0xE7, 0x0, 0x2, 0x1, 0xB2, 0x9, 0x70, 0x0, 0x2, 0x1, 0xB3, 0x9, 0x72, 0x0, 0x2, 0x1, 0xB9, 0xA, 0xC0, 0x0, 0x2, 0x1, 0xD4, 0xB, 0xCB, 0x0, 0x2, 0x1, 0xB8, 0xA, 0x28, 0x0, 0x2, 0x1, 0xB1, 0xA, 0xC2, 0x0, 0x2, 0x1, 0xBA, 0xB, 0x3A, 0x0, 0x2, 0x1, 0xB5, 0xA, 0xC4, 0x0, 0x2, 0x1, 0xB4, 0x0, 0x6, 0x0, 0xE, 0x0, 0x14, 0x0, 0x1A, 0x0, 0x20, 0x0, 0x26, 0x0, 0x2C, 0x9, 0x73, 0x0, 0x2, 0x1, 0xB2, 0xB, 0xCD, 0x0, 0x2, 0x1, 0xB3, 0xB, 0xCF, 0x0, 0x2, 0x1, 0xD4, 0x9, 0x75, 0x0, 0x2, 0x1, 0xB8, 0xB, 0xD1, 0x0, 0x2, 0x1, 0xE2, 0x9, 0x77, 0x0, 0x2, 0x1, 0xBD, 0x0, 0x10, 0x0, 0x22, 0x0, 0x28, 0x0, 0x2E, 0x0, 0x34, 0x0, 0x3A, 0x0, 0x40, 0x0, 0x46, 0x0, 0x4C, 0x0, 0x52, 0x0, 0x58, 0x0, 0x5E, 0x0, 0x64, 0x0, 0x6A, 0x0, 0x70, 0x0, 0x76, 0x0, 0x7C, 0x8, 0xE9, 0x0, 0x2, 0x1, 0xB2, 0xB, 0x17, 0x0, 0x2, 0x1, 0xC2, 0x9, 0x7, 0x0, 0x2, 0x1, 0xB7, 0x8, 0xEA, 0x0, 0x2, 0x1, 0xB3, 0x8, 0xEC, 0x0, 0x2, 0x1, 0xB9, 0xA, 0x6F, 0x0, 0x2, 0x1, 0xD4, 0xB, 0x2F, 0x0, 0x2, 0x1, 0xB8, 0x8, 0xE8, 0x0, 0x2, 0x1, 0xB1, 0xA, 0x71, 0x0, 0x2, 0x1, 0xBA, 0x9, 0x5, 0x0, 0x2, 0x1, 0xB5, 0x9, 0x9, 0x0, 0x2, 0x1, 0xD9, 0x8, 0xED, 0x0, 0x2, 0x1, 0xBB, 0xA, 0x32, 0x0, 0x2, 0x1, 0xD6, 0x8, 0xEB, 0x0, 0x2, 0x1, 0xB4, 0xA, 0xEF, 0x0, 0x2, 0x1, 0xBD, 0xB, 0x15, 0x0, 0x2, 0x1, 0xC0, 0x0, 0x3, 0x0, 0x8, 0x0, 0xE, 0x0, 0x14, 0xB, 0x50, 0x0, 0x2, 0x1, 0xD4, 0xB, 0x4E, 0x0, 0x2, 0x1, 0xB8, 0xB, 0x52, 0x0, 0x2, 0x1, 0xE2, 0x0, 0x5, 0x0, 0xC, 0x0, 0x12, 0x0, 0x18, 0x0, 0x1E, 0x0, 0x24, 0x9, 0xB, 0x0, 0x2, 0x1, 0xB2, 0x8, 0xEF, 0x0, 0x2, 0x1, 0xD8, 0x9, 0xD, 0x0, 0x2, 0x1, 0xB3, 0x9, 0xF, 0x0, 0x2, 0x1, 0xB8, 0x9, 0x11, 0x0, 0x2, 0x1, 0xBD, 0x0, 0x6, 0x0, 0xE, 0x0, 0x14, 0x0, 0x1A, 0x0, 0x20, 0x0, 0x26, 0x0, 0x2C, 0xB, 0x5E, 0x0, 0x2, 0x1, 0xDE, 0xB, 0x5C, 0x0, 0x2, 0x7, 0x25, 0xB, 0x58, 0x0, 0x2, 0x1, 0xD4, 0xB, 0x56, 0x0, 0x2, 0x1, 0xB8, 0xB, 0x5A, 0x0, 0x2, 0x1, 0xE2, 0x9, 0x13, 0x0, 0x2, 0x1, 0xBD, 0x0, 0x11, 0x0, 0x24, 0x0, 0x2A, 0x0, 0x30, 0x0, 0x36, 0x0, 0x3C, 0x0, 0x42, 0x0, 0x48, 0x0, 0x4E, 0x0, 0x54, 0x0, 0x5A, 0x0, 0x60, 0x0, 0x66, 0x0, 0x6C, 0x0, 0x72, 0x0, 0x78, 0x0, 0x7E, 0x0, 0x84, 0x8, 0xF1, 0x0, 0x2, 0x1, 0xB2, 0xB, 0x1B, 0x0, 0x2, 0x1, 0xC2, 0x9, 0x17, 0x0, 0x2, 0x1, 0xB7, 0xB, 0x31, 0x0, 0x2, 0x1, 0xD8, 0x8, 0xF2, 0x0, 0x2, 0x1, 0xB3, 0xB, 0x64, 0x0, 0x2, 0x1, 0xDE, 0x8, 0xF3, 0x0, 0x2, 0x1, 0xB9, 0xA, 0x87, 0x0, 0x2, 0x1, 0xD4, 0x9, 0x19, 0x0, 0x2, 0x1, 0xB8, 0x8, 0xF0, 0x0, 0x2, 0x1, 0xB1, 0xA, 0x89, 0x0, 0x2, 0x1, 0xBA, 0x9, 0x15, 0x0, 0x2, 0x1, 0xB5, 0x9, 0x1B, 0x0, 0x2, 0x1, 0xD9, 0xA, 0x8B, 0x0, 0x2, 0x1, 0xB4, 0xB, 0x66, 0x0, 0x2, 0x1, 0xE1, 0x9, 0x1D, 0x0, 0x2, 0x1, 0xBD, 0xB, 0x19, 0x0, 0x2, 0x1, 0xC0, 0x0, 0x1, 0x0, 0x4, 0xB, 0x6A, 0x0, 0x2, 0x1, 0xB8, 0x0, 0x6, 0x0, 0xE, 0x0, 0x14, 0x0, 0x1A, 0x0, 0x20, 0x0, 0x26, 0x0, 0x2C, 0xB, 0x11, 0x0, 0x2, 0x1, 0xB2, 0x9, 0x21, 0x0, 0x2, 0x1, 0xB7, 0x9, 0x1F, 0x0, 0x2, 0x1, 0xB3, 0x9, 0x23, 0x0, 0x2, 0x1, 0xB8, 0xB, 0x6C, 0x0, 0x2, 0x1, 0xB5, 0xB, 0x6, 0x0, 0x2, 0x1, 0xBD, 0x0, 0x7, 0x0, 0x10, 0x0, 0x16, 0x0, 0x1C, 0x0, 0x22, 0x0, 0x28, 0x0, 0x2E, 0x0, 0x34, 0xB, 0x74, 0x0, 0x2, 0x1, 0xDF, 0x9, 0x27, 0x0, 0x2, 0x1, 0xB3, 0xB, 0x72, 0x0, 0x2, 0x1, 0xB9, 0xB, 0x70, 0x0, 0x2, 0x1, 0xD4, 0xB, 0x6E, 0x0, 0x2, 0x1, 0xB8, 0xB, 0xD3, 0x0, 0x2, 0x1, 0xE2, 0xB, 0x2D, 0x0, 0x2, 0x1, 0xBD, 0x0, 0x3, 0x0, 0x8, 0x0, 0xE, 0x0, 0x14, 0xA, 0x99, 0x0, 0x2, 0x1, 0xD4, 0x9, 0x2F, 0x0, 0x2, 0x1, 0xD9, 0x4, 0x2C, 0x0, 0x2, 0x1, 0xE1, 0x0, 0x5, 0x0, 0xC, 0x0, 0x12, 0x0, 0x18, 0x0, 0x1E, 0x0, 0x24, 0xB, 0x76, 0x0, 0x2, 0x1, 0xB2, 0x9, 0x36, 0x0, 0x2, 0x7, 0x25, 0xB, 0x78, 0x0, 0x2, 0x1, 0xD4, 0xB, 0x7A, 0x0, 0x2, 0x1, 0xE2, 0xB, 0x8, 0x0, 0x2, 0x1, 0xBD, 0x0, 0x7, 0x0, 0x10, 0x0, 0x16, 0x0, 0x1C, 0x0, 0x22, 0x0, 0x28, 0x0, 0x2E, 0x0, 0x34, 0x9, 0x38, 0x0, 0x2, 0x1, 0xB2, 0xB, 0x82, 0x0, 0x2, 0x1, 0xDE, 0x9, 0x3A, 0x0, 0x2, 0x7, 0x25, 0xB, 0x7C, 0x0, 0x2, 0x1, 0xD4, 0x9, 0x3E, 0x0, 0x2, 0x1, 0xB8, 0xB, 0x80, 0x0, 0x2, 0x1, 0xE2, 0x9, 0x3C, 0x0, 0x2, 0x1, 0xBD, 0x0, 0x3, 0x0, 0x8, 0x0, 0xE, 0x0, 0x14, 0xA, 0x30, 0x0, 0x2, 0x1, 0xB2, 0xB, 0x86, 0x0, 0x2, 0x1, 0xD4, 0xB, 0x84, 0x0, 0x2, 0x1, 0xB8, 0x0, 0x9, 0x0, 0x14, 0x0, 0x1A, 0x0, 0x20, 0x0, 0x26, 0x0, 0x2C, 0x0, 0x32, 0x0, 0x38, 0x0, 0x3E, 0x0, 0x44, 0x9, 0x40, 0x0, 0x2, 0x1, 0xB2, 0xB, 0x8E, 0x0, 0x2, 0x1, 0xDE, 0x9, 0x42, 0x0, 0x2, 0x7, 0x25, 0xB, 0x8A, 0x0, 0x2, 0x1, 0xD4, 0xB, 0x88, 0x0, 0x2, 0x1, 0xB8, 0xB, 0x13, 0x0, 0x2, 0x1, 0xB1, 0xB, 0x8C, 0x0, 0x2, 0x1, 0xE2, 0x8, 0xF8, 0x0, 0x2, 0x1, 0xB4, 0x9, 0x44, 0x0, 0x2, 0x1, 0xBD, 0x0, 0xF, 0x0, 0x20, 0x0, 0x26, 0x0, 0x2C, 0x0, 0x32, 0x0, 0x38, 0x0, 0x3E, 0x0, 0x44, 0x0, 0x4A, 0x0, 0x50, 0x0, 0x56, 0x0, 0x5C, 0x0, 0x62, 0x0, 0x68, 0x0, 0x6E, 0x0, 0x74, 0x8, 0xFA, 0x0, 0x2, 0x1, 0xB2, 0x9, 0x4B, 0x0, 0x2, 0x1, 0xBC, 0xB, 0x23, 0x0, 0x2, 0x1, 0xC2, 0x9, 0x49, 0x0, 0x2, 0x1, 0xB7, 0x8, 0xFB, 0x0, 0x2, 0x1, 0xB3, 0x8, 0xFD, 0x0, 0x2, 0x1, 0xB9, 0xA, 0x9B, 0x0, 0x2, 0x1, 0xD4, 0xB, 0x37, 0x0, 0x2, 0x1, 0xB8, 0x8, 0xF9, 0x0, 0x2, 0x1, 0xB1, 0xA, 0x9D, 0x0, 0x2, 0x1, 0xBA, 0x9, 0x47, 0x0, 0x2, 0x1, 0xB5, 0xB, 0xA, 0x0, 0x2, 0x1, 0xD9, 0x8, 0xFC, 0x0, 0x2, 0x1, 0xB4, 0xA, 0xF3, 0x0, 0x2, 0x1, 0xBD, 0xB, 0x21, 0x0, 0x2, 0x1, 0xC0, 0x0, 0x2, 0x0, 0x6, 0x0, 0xC, 0xB, 0x98, 0x0, 0x2, 0x1, 0xB2, 0xB, 0x9A, 0x0, 0x2, 0x1, 0xB8, 0x0, 0x8, 0x0, 0x12, 0x0, 0x18, 0x0, 0x1E, 0x0, 0x24, 0x0, 0x2A, 0x0, 0x30, 0x0, 0x36, 0x0, 0x3C, 0x9, 0x4D, 0x0, 0x2, 0x1, 0xB2, 0xB, 0x27, 0x0, 0x2, 0x1, 0xC2, 0x9, 0x4F, 0x0, 0x2, 0x7, 0x25, 0xB, 0x9E, 0x0, 0x2, 0x1, 0xD4, 0xB, 0x9C, 0x0, 0x2, 0x1, 0xB8, 0xB, 0xA2, 0x0, 0x2, 0x1, 0xE2, 0x9, 0x51, 0x0, 0x2, 0x1, 0xBD, 0xB, 0x25, 0x0, 0x2, 0x1, 0xC0, 0x0, 0x7, 0x0, 0x10, 0x0, 0x16, 0x0, 0x1C, 0x0, 0x22, 0x0, 0x28, 0x0, 0x2E, 0x0, 0x34, 0x9, 0x53, 0x0, 0x2, 0x1, 0xB2, 0x9, 0x57, 0x0, 0x2, 0x1, 0xD8, 0x9, 0x55, 0x0, 0x2, 0x1, 0xB3, 0x9, 0x59, 0x0, 0x2, 0x7, 0x25, 0xB, 0xA6, 0x0, 0x2, 0x1, 0xD4, 0xB, 0xA4, 0x0, 0x2, 0x1, 0xB8, 0x9, 0x5B, 0x0, 0x2, 0x1, 0xBD, 0x0, 0x8, 0x0, 0x12, 0x0, 0x18, 0x0, 0x1E, 0x0, 0x24, 0x0, 0x2A, 0x0, 0x30, 0x0, 0x36, 0x0, 0x3C, 0x9, 0x5F, 0x0, 0x2, 0x1, 0xD8, 0xB, 0xB4, 0x0, 0x2, 0x1, 0xDE, 0x9, 0x5D, 0x0, 0x2, 0x7, 0x25, 0xB, 0xD4, 0x0, 0x2, 0x1, 0xB9, 0xB, 0xB0, 0x0, 0x2, 0x1, 0xD4, 0xB, 0xAE, 0x0, 0x2, 0x1, 0xB8, 0xB, 0xB2, 0x0, 0x2, 0x1, 0xE2, 0x9, 0x61, 0x0, 0x2, 0x1, 0xBD, 0x0, 0x12, 0x0, 0x26, 0x0, 0x2C, 0x0, 0x32, 0x0, 0x38, 0x0, 0x3E, 0x0, 0x44, 0x0, 0x4A, 0x0, 0x50, 0x0, 0x56, 0x0, 0x5C, 0x0, 0x62, 0x0, 0x68, 0x0, 0x6E, 0x0, 0x74, 0x0, 0x7A, 0x0, 0x80, 0x0, 0x86, 0x0, 0x8C, 0x8, 0xFF, 0x0, 0x2, 0x1, 0xB2, 0x9, 0x6B, 0x0, 0x2, 0x1, 0xBC, 0xB, 0x2B, 0x0, 0x2, 0x1, 0xC2, 0x9, 0x67, 0x0, 0x2, 0x1, 0xB7, 0x9, 0x0, 0x0, 0x2, 0x1, 0xB3, 0xB, 0xBA, 0x0, 0x2, 0x1, 0xDE, 0x9, 0x1, 0x0, 0x2, 0x1, 0xB9, 0xA, 0xB3, 0x0, 0x2, 0x1, 0xD4, 0xB, 0xB6, 0x0, 0x2, 0x1, 0xD5, 0x8, 0xFE, 0x0, 0x2, 0x1, 0xB1, 0xA, 0xB5, 0x0, 0x2, 0x1, 0xBA, 0x9, 0x65, 0x0, 0x2, 0x1, 0xB5, 0x9, 0x6D, 0x0, 0x2, 0x1, 0xD9, 0x9, 0x69, 0x0, 0x2, 0x1, 0xBB, 0x9, 0x63, 0x0, 0x2, 0x1, 0xB4, 0xB, 0xB8, 0x0, 0x2, 0x1, 0xE1, 0xA, 0xF5, 0x0, 0x2, 0x1, 0xBD, 0xB, 0x29, 0x0, 0x2, 0x1, 0xC0, 0x0, 0x2, 0x0, 0x6, 0x0, 0xC, 0xB, 0xC2, 0x0, 0x2, 0x1, 0xD4, 0xB, 0xC0, 0x0, 0x2, 0x1, 0xB4, 0x0, 0x7, 0x0, 0x10, 0x0, 0x16, 0x0, 0x1C, 0x0, 0x22, 0x0, 0x28, 0x0, 0x2E, 0x0, 0x34, 0xA, 0x25, 0x0, 0x2, 0x1, 0xB2, 0x9, 0x6F, 0x0, 0x2, 0x1, 0xB3, 0xA, 0x27, 0x0, 0x2, 0x1, 0xB9, 0xB, 0xC6, 0x0, 0x2, 0x1, 0xD4, 0xB, 0xC4, 0x0, 0x2, 0x1, 0xB8, 0xA, 0x23, 0x0, 0x2, 0x1, 0xB1, 0xB, 0xD5, 0x0, 0x2, 0x1, 0xBB, 0x0, 0x2, 0x0, 0x6, 0x0, 0xC, 0xB, 0xCA, 0x0, 0x2, 0x1, 0xB9, 0xB, 0xC8, 0x0, 0x2, 0x1, 0xB8, 0x0, 0xA, 0x0, 0x16, 0x0, 0x1C, 0x0, 0x22, 0x0, 0x28, 0x0, 0x2E, 0x0, 0x34, 0x0, 0x3A, 0x0, 0x40, 0x0, 0x46, 0x0, 0x4C, 0x9, 0x2, 0x0, 0x2, 0x1, 0xB2, 0x9, 0x71, 0x0, 0x2, 0x1, 0xB3, 0x9, 0x3, 0x0, 0x2, 0x1, 0xB9, 0xA, 0xC1, 0x0, 0x2, 0x1, 0xD4, 0xB, 0xCC, 0x0, 0x2, 0x1, 0xB8, 0xA, 0x29, 0x0, 0x2, 0x1, 0xB1, 0xA, 0xC3, 0x0, 0x2, 0x1, 0xBA, 0xB, 0x3B, 0x0, 0x2, 0x1, 0xB5, 0xB, 0xD6, 0x0, 0x2, 0x1, 0xBB, 0xA, 0xC5, 0x0, 0x2, 0x1, 0xB4, 0x0, 0x6, 0x0, 0xE, 0x0, 0x14, 0x0, 0x1A, 0x0, 0x20, 0x0, 0x26, 0x0, 0x2C, 0x9, 0x74, 0x0, 0x2, 0x1, 0xB2, 0xB, 0xCE, 0x0, 0x2, 0x1, 0xB3, 0xB, 0xD0, 0x0, 0x2, 0x1, 0xD4, 0x9, 0x76, 0x0, 0x2, 0x1, 0xB8, 0xB, 0xD2, 0x0, 0x2, 0x1, 0xE2, 0x9, 0x78, 0x0, 0x2, 0x1, 0xBD, 0x0, 0x2, 0x0, 0x6, 0x0, 0xC, 0x9, 0x79, 0x0, 0x2, 0x1, 0xB2, 0xB, 0x3, 0x0, 0x2, 0x1, 0xB5, 0x0, 0x1, 0x0, 0x4, 0x9, 0x7B, 0x0, 0x2, 0x1, 0xB2, 0x0, 0x2, 0x0, 0x6, 0x0, 0xC, 0x9, 0x7A, 0x0, 0x2, 0x1, 0xB2, 0xB, 0x4, 0x0, 0x2, 0x1, 0xB5, 0x0, 0x1, 0x0, 0x4, 0x9, 0x7C, 0x0, 0x2, 0x1, 0xB2, 0x0, 0xB, 0x0, 0x18, 0x0, 0x1E, 0x0, 0x24, 0x0, 0x2A, 0x0, 0x30, 0x0, 0x36, 0x0, 0x3C, 0x0, 0x42, 0x0, 0x48, 0x0, 0x4E, 0x0, 0x54, 0x8, 0xF5, 0x0, 0x2, 0x1, 0xB2, 0xB, 0x1F, 0x0, 0x2, 0x1, 0xC2, 0x9, 0x2D, 0x0, 0x2, 0x1, 0xB7, 0x8, 0xF6, 0x0, 0x2, 0x1, 0xB3, 0x8, 0xF7, 0x0, 0x2, 0x1, 0xB9, 0x8, 0xF4, 0x0, 0x2, 0x1, 0xB1, 0xA, 0x97, 0x0, 0x2, 0x1, 0xBA, 0x9, 0x2B, 0x0, 0x2, 0x1, 0xB5, 0x9, 0x29, 0x0, 0x2, 0x1, 0xB4, 0xA, 0xF1, 0x0, 0x2, 0x1, 0xBD, 0xB, 0x1D, 0x0, 0x2, 0x1, 0xC0, 0x0, 0x1, 0x0, 0x4, 0x4, 0x2F, 0x0, 0x2, 0x1, 0xB8, 0x0, 0x5, 0x0, 0xC, 0x0, 0x12, 0x0, 0x18, 0x0, 0x1E, 0x0, 0x24, 0xA, 0xA8, 0x0, 0x2, 0x1, 0xB2, 0xA, 0xB0, 0x0, 0x2, 0x1, 0xD4, 0xA, 0xAA, 0x0, 0x2, 0x1, 0xB1, 0xA, 0xAC, 0x0, 0x2, 0x1, 0xBA, 0xA, 0xAE, 0x0, 0x2, 0x1, 0xB4, 0x0, 0x5, 0x0, 0xC, 0x0, 0x12, 0x0, 0x18, 0x0, 0x1E, 0x0, 0x24, 0xA, 0xA9, 0x0, 0x2, 0x1, 0xB2, 0xA, 0xB1, 0x0, 0x2, 0x1, 0xD4, 0xA, 0xAB, 0x0, 0x2, 0x1, 0xB1, 0xA, 0xAD, 0x0, 0x2, 0x1, 0xBA, 0xA, 0xAF, 0x0, 0x2, 0x1, 0xB4, 0x0, 0x5, 0x0, 0xC, 0x0, 0x12, 0x0, 0x18, 0x0, 0x1E, 0x0, 0x24, 0xA, 0xB6, 0x0, 0x2, 0x1, 0xB2, 0xA, 0xBE, 0x0, 0x2, 0x1, 0xD4, 0xA, 0xB8, 0x0, 0x2, 0x1, 0xB1, 0xA, 0xBA, 0x0, 0x2, 0x1, 0xBA, 0xA, 0xBC, 0x0, 0x2, 0x1, 0xB4, 0x0, 0x5, 0x0, 0xC, 0x0, 0x12, 0x0, 0x18, 0x0, 0x1E, 0x0, 0x24, 0xA, 0xB7, 0x0, 0x2, 0x1, 0xB2, 0xA, 0xBF, 0x0, 0x2, 0x1, 0xD4, 0xA, 0xB9, 0x0, 0x2, 0x1, 0xB1, 0xA, 0xBB, 0x0, 0x2, 0x1, 0xBA, 0xA, 0xBD, 0x0, 0x2, 0x1, 0xB4, 0x0, 0x2, 0x0, 0x6, 0x0, 0xC, 0x9, 0x34, 0x0, 0x2, 0x1, 0xB3, 0xA, 0x2D, 0x0, 0x2, 0x1, 0xBD, 0x0, 0x2, 0x0, 0x6, 0x0, 0xC, 0xB, 0x40, 0x0, 0x2, 0x1, 0xB2, 0xB, 0x41, 0x0, 0x2, 0x1, 0xB9, 0x0, 0x2, 0x0, 0xF, 0x0, 0x26, 0x0, 0x35, 0x0, 0x0, 0x0, 0x37, 0x0, 0x3F, 0x0, 0x10, 0x0, 0x46, 0x0, 0x4E, 0x0, 0x19, 0x0, 0x50, 0x0, 0x55, 0x0, 0x22, 0x0, 0x57, 0x0, 0x5F, 0x0, 0x28, 0x0, 0x82, 0x0, 0x82, 0x0, 0x31, 0x0, 0x84, 0x0, 0x84, 0x0, 0x32, 0x0, 0x87, 0x0, 0x87, 0x0, 0x33, 0x0, 0x8A, 0x0, 0x8A, 0x0, 0x34, 0x0, 0x8E, 0x0, 0x8E, 0x0, 0x35, 0x0, 0x96, 0x0, 0x96, 0x0, 0x36, 0x0, 0xB4, 0x0, 0xB5, 0x0, 0x37, 0x0, 0xC3, 0x0, 0xC4, 0x0, 0x39, 0x0, 0xEC, 0x0, 0xEC, 0x0, 0x3B, 0x2, 0x51, 0x2, 0x51, 0x0, 0x3C, 0x0, 0x4, 0x0, 0x0, 0x0, 0x1, 0x0, 0x8, 0x0, 0x1, 0x5, 0x6A, 0x0, 0x5, 0x0, 0x10, 0x1, 0x22, 0x2, 0x34, 0x3, 0x46, 0x4, 0x58, 0x0, 0x1C, 0x0, 0x3A, 0x0, 0x42, 0x0, 0x4A, 0x0, 0x52, 0x0, 0x5A, 0x0, 0x62, 0x0, 0x6A, 0x0, 0x72, 0x0, 0x7A, 0x0, 0x82, 0x0, 0x8A, 0x0, 0x92, 0x0, 0x9A, 0x0, 0xA2, 0x0, 0xAA, 0x0, 0xB2, 0x0, 0xBA, 0x0, 0xC2, 0x0, 0xCA, 0x0, 0xD2, 0x0, 0xDA, 0x0, 0xE2, 0x0, 0xEA, 0x0, 0xF2, 0x0, 0xFA, 0x1, 0x0, 0x1, 0x6, 0x1, 0xC, 0x8, 0x35, 0x0, 0x3, 0x1, 0x96, 0x1, 0x97, 0x8, 0x36, 0x0, 0x3, 0x1, 0x96, 0x1, 0x98, 0x8, 0x33, 0x0, 0x3, 0x1, 0x96, 0x1, 0x99, 0x8, 0x34, 0x0, 0x3, 0x1, 0x96, 0x1, 0x9A, 0x8, 0x39, 0x0, 0x3, 0x1, 0x97, 0x1, 0x96, 0x8, 0x38, 0x0, 0x3, 0x1, 0x97, 0x1, 0x97, 0x8, 0x37, 0x0, 0x3, 0x1, 0x97, 0x1, 0x98, 0x8, 0x3E, 0x0, 0x3, 0x1, 0x97, 0x1, 0x99, 0x8, 0x3D, 0x0, 0x3, 0x1, 0x97, 0x1, 0x9A, 0x8, 0x4, 0x0, 0x3, 0x1, 0x98, 0x1, 0x96, 0x8, 0x2, 0x0, 0x3, 0x1, 0x98, 0x1, 0x97, 0x8, 0x3, 0x0, 0x3, 0x1, 0x98, 0x1, 0x98, 0x7, 0x40, 0x0, 0x3, 0x1, 0x98, 0x1, 0x99, 0x8, 0x0, 0x0, 0x3, 0x1, 0x98, 0x1, 0x9A, 0x8, 0x66, 0x0, 0x3, 0x1, 0x99, 0x1, 0x96, 0x8, 0x68, 0x0, 0x3, 0x1, 0x99, 0x1, 0x97, 0x8, 0x67, 0x0, 0x3, 0x1, 0x99, 0x1, 0x98, 0x8, 0x6F, 0x0, 0x3, 0x1, 0x99, 0x1, 0x99, 0x8, 0x6E, 0x0, 0x3, 0x1, 0x99, 0x1, 0x9A, 0x8, 0x16, 0x0, 0x3, 0x1, 0x9A, 0x1, 0x96, 0x8, 0x11, 0x0, 0x3, 0x1, 0x9A, 0x1, 0x97, 0x8, 0x12, 0x0, 0x3, 0x1, 0x9A, 0x1, 0x98, 0x8, 0x5, 0x0, 0x3, 0x1, 0x9A, 0x1, 0x99, 0x8, 0x32, 0x0, 0x3, 0x1, 0x9A, 0x1, 0x9A, 0x8, 0x23, 0x0, 0x2, 0x1, 0x97, 0x8, 0x22, 0x0, 0x2, 0x1, 0x98, 0x8, 0x26, 0x0, 0x2, 0x1, 0x99, 0x8, 0x25, 0x0, 0x2, 0x1, 0x9A, 0x0, 0x1C, 0x0, 0x3A, 0x0, 0x42, 0x0, 0x4A, 0x0, 0x52, 0x0, 0x5A, 0x0, 0x62, 0x0, 0x6A, 0x0, 0x72, 0x0, 0x7A, 0x0, 0x82, 0x0, 0x8A, 0x0, 0x92, 0x0, 0x9A, 0x0, 0xA2, 0x0, 0xAA, 0x0, 0xB2, 0x0, 0xBA, 0x0, 0xC2, 0x0, 0xCA, 0x0, 0xD2, 0x0, 0xDA, 0x0, 0xE2, 0x0, 0xEA, 0x0, 0xF2, 0x0, 0xFA, 0x1, 0x0, 0x1, 0x6, 0x1, 0xC, 0x8, 0x21, 0x0, 0x3, 0x1, 0x96, 0x1, 0x96, 0x8, 0x20, 0x0, 0x3, 0x1, 0x96, 0x1, 0x97, 0x8, 0x1F, 0x0, 0x3, 0x1, 0x96, 0x1, 0x98, 0x8, 0x18, 0x0, 0x3, 0x1, 0x96, 0x1, 0x99, 0x8, 0x17, 0x0, 0x3, 0x1, 0x96, 0x1, 0x9A, 0x8, 0x2B, 0x0, 0x3, 0x1, 0x97, 0x1, 0x96, 0x8, 0x2C, 0x0, 0x3, 0x1, 0x97, 0x1, 0x98, 0x8, 0x2D, 0x0, 0x3, 0x1, 0x97, 0x1, 0x99, 0x8, 0x2E, 0x0, 0x3, 0x1, 0x97, 0x1, 0x9A, 0x8, 0x19, 0x0, 0x3, 0x1, 0x98, 0x1, 0x96, 0x8, 0x1C, 0x0, 0x3, 0x1, 0x98, 0x1, 0x97, 0x8, 0x1B, 0x0, 0x3, 0x1, 0x98, 0x1, 0x98, 0x8, 0x1E, 0x0, 0x3, 0x1, 0x98, 0x1, 0x99, 0x8, 0x1D, 0x0, 0x3, 0x1, 0x98, 0x1, 0x9A, 0x8, 0x6D, 0x0, 0x3, 0x1, 0x99, 0x1, 0x96, 0x8, 0x6B, 0x0, 0x3, 0x1, 0x99, 0x1, 0x97, 0x8, 0x6C, 0x0, 0x3, 0x1, 0x99, 0x1, 0x98, 0x8, 0x69, 0x0, 0x3, 0x1, 0x99, 0x1, 0x99, 0x8, 0x6A, 0x0, 0x3, 0x1, 0x99, 0x1, 0x9A, 0x8, 0x9, 0x0, 0x3, 0x1, 0x9A, 0x1, 0x96, 0x8, 0x8, 0x0, 0x3, 0x1, 0x9A, 0x1, 0x97, 0x8, 0x7, 0x0, 0x3, 0x1, 0x9A, 0x1, 0x98, 0x8, 0xB, 0x0, 0x3, 0x1, 0x9A, 0x1, 0x99, 0x8, 0xA, 0x0, 0x3, 0x1, 0x9A, 0x1, 0x9A, 0x8, 0x88, 0x0, 0x2, 0x1, 0x96, 0x8, 0x89, 0x0, 0x2, 0x1, 0x98, 0x8, 0x85, 0x0, 0x2, 0x1, 0x99, 0x8, 0x86, 0x0, 0x2, 0x1, 0x9A, 0x0, 0x1C, 0x0, 0x3A, 0x0, 0x42, 0x0, 0x4A, 0x0, 0x52, 0x0, 0x5A, 0x0, 0x62, 0x0, 0x6A, 0x0, 0x72, 0x0, 0x7A, 0x0, 0x82, 0x0, 0x8A, 0x0, 0x92, 0x0, 0x9A, 0x0, 0xA2, 0x0, 0xAA, 0x0, 0xB2, 0x0, 0xBA, 0x0, 0xC2, 0x0, 0xCA, 0x0, 0xD2, 0x0, 0xDA, 0x0, 0xE2, 0x0, 0xEA, 0x0, 0xF2, 0x0, 0xFA, 0x1, 0x0, 0x1, 0x6, 0x1, 0xC, 0x8, 0xE, 0x0, 0x3, 0x1, 0x96, 0x1, 0x96, 0x8, 0xC, 0x0, 0x3, 0x1, 0x96, 0x1, 0x97, 0x8, 0xD, 0x0, 0x3, 0x1, 0x96, 0x1, 0x98, 0x8, 0xF, 0x0, 0x3, 0x1, 0x96, 0x1, 0x99, 0x8, 0x10, 0x0, 0x3, 0x1, 0x96, 0x1, 0x9A, 0x8, 0x7D, 0x0, 0x3, 0x1, 0x97, 0x1, 0x96, 0x8, 0x7F, 0x0, 0x3, 0x1, 0x97, 0x1, 0x97, 0x8, 0x7E, 0x0, 0x3, 0x1, 0x97, 0x1, 0x98, 0x8, 0x81, 0x0, 0x3, 0x1, 0x97, 0x1, 0x99, 0x8, 0x80, 0x0, 0x3, 0x1, 0x97, 0x1, 0x9A, 0x8, 0x5E, 0x0, 0x3, 0x1, 0x98, 0x1, 0x96, 0x8, 0x5F, 0x0, 0x3, 0x1, 0x98, 0x1, 0x97, 0x8, 0x5D, 0x0, 0x3, 0x1, 0x98, 0x1, 0x99, 0x8, 0x24, 0x0, 0x3, 0x1, 0x98, 0x1, 0x9A, 0x8, 0x4B, 0x0, 0x3, 0x1, 0x99, 0x1, 0x96, 0x8, 0x64, 0x0, 0x3, 0x1, 0x99, 0x1, 0x97, 0x8, 0x49, 0x0, 0x3, 0x1, 0x99, 0x1, 0x98, 0x8, 0x50, 0x0, 0x3, 0x1, 0x99, 0x1, 0x99, 0x8, 0x4F, 0x0, 0x3, 0x1, 0x99, 0x1, 0x9A, 0x8, 0x63, 0x0, 0x3, 0x1, 0x9A, 0x1, 0x96, 0x8, 0x61, 0x0, 0x3, 0x1, 0x9A, 0x1, 0x97, 0x8, 0x62, 0x0, 0x3, 0x1, 0x9A, 0x1, 0x98, 0x8, 0x1A, 0x0, 0x3, 0x1, 0x9A, 0x1, 0x99, 0x8, 0x60, 0x0, 0x3, 0x1, 0x9A, 0x1, 0x9A, 0x8, 0x57, 0x0, 0x2, 0x1, 0x96, 0x8, 0x5A, 0x0, 0x2, 0x1, 0x97, 0x8, 0x54, 0x0, 0x2, 0x1, 0x99, 0x8, 0x53, 0x0, 0x2, 0x1, 0x9A, 0x0, 0x1C, 0x0, 0x3A, 0x0, 0x42, 0x0, 0x4A, 0x0, 0x52, 0x0, 0x5A, 0x0, 0x62, 0x0, 0x6A, 0x0, 0x72, 0x0, 0x7A, 0x0, 0x82, 0x0, 0x8A, 0x0, 0x92, 0x0, 0x9A, 0x0, 0xA2, 0x0, 0xAA, 0x0, 0xB2, 0x0, 0xBA, 0x0, 0xC2, 0x0, 0xCA, 0x0, 0xD2, 0x0, 0xDA, 0x0, 0xE2, 0x0, 0xEA, 0x0, 0xF2, 0x0, 0xFA, 0x1, 0x0, 0x1, 0x6, 0x1, 0xC, 0x8, 0x52, 0x0, 0x3, 0x1, 0x96, 0x1, 0x96, 0x8, 0x30, 0x0, 0x3, 0x1, 0x96, 0x1, 0x97, 0x8, 0x2F, 0x0, 0x3, 0x1, 0x96, 0x1, 0x98, 0x8, 0x51, 0x0, 0x3, 0x1, 0x96, 0x1, 0x99, 0x8, 0x2A, 0x0, 0x3, 0x1, 0x96, 0x1, 0x9A, 0x8, 0x48, 0x0, 0x3, 0x1, 0x97, 0x1, 0x96, 0x8, 0x46, 0x0, 0x3, 0x1, 0x97, 0x1, 0x97, 0x8, 0x47, 0x0, 0x3, 0x1, 0x97, 0x1, 0x98, 0x8, 0x44, 0x0, 0x3, 0x1, 0x97, 0x1, 0x99, 0x8, 0x45, 0x0, 0x3, 0x1, 0x97, 0x1, 0x9A, 0x8, 0x29, 0x0, 0x3, 0x1, 0x98, 0x1, 0x96, 0x8, 0x28, 0x0, 0x3, 0x1, 0x98, 0x1, 0x97, 0x8, 0x27, 0x0, 0x3, 0x1, 0x98, 0x1, 0x98, 0x8, 0x5C, 0x0, 0x3, 0x1, 0x98, 0x1, 0x99, 0x8, 0x31, 0x0, 0x3, 0x1, 0x98, 0x1, 0x9A, 0x8, 0x43, 0x0, 0x3, 0x1, 0x99, 0x1, 0x96, 0x8, 0x87, 0x0, 0x3, 0x1, 0x99, 0x1, 0x97, 0x8, 0x5B, 0x0, 0x3, 0x1, 0x99, 0x1, 0x98, 0x8, 0x65, 0x0, 0x3, 0x1, 0x99, 0x1, 0x9A, 0x8, 0x71, 0x0, 0x3, 0x1, 0x9A, 0x1, 0x96, 0x8, 0x56, 0x0, 0x3, 0x1, 0x9A, 0x1, 0x97, 0x8, 0x55, 0x0, 0x3, 0x1, 0x9A, 0x1, 0x98, 0x8, 0x58, 0x0, 0x3, 0x1, 0x9A, 0x1, 0x99, 0x8, 0x7A, 0x0, 0x3, 0x1, 0x9A, 0x1, 0x9A, 0x8, 0x41, 0x0, 0x2, 0x1, 0x96, 0x8, 0x3F, 0x0, 0x2, 0x1, 0x97, 0x8, 0x40, 0x0, 0x2, 0x1, 0x98, 0x8, 0x42, 0x0, 0x2, 0x1, 0x9A, 0x0, 0x1C, 0x0, 0x3A, 0x0, 0x42, 0x0, 0x4A, 0x0, 0x52, 0x0, 0x5A, 0x0, 0x62, 0x0, 0x6A, 0x0, 0x72, 0x0, 0x7A, 0x0, 0x82, 0x0, 0x8A, 0x0, 0x92, 0x0, 0x9A, 0x0, 0xA2, 0x0, 0xAA, 0x0, 0xB2, 0x0, 0xBA, 0x0, 0xC2, 0x0, 0xCA, 0x0, 0xD2, 0x0, 0xDA, 0x0, 0xE2, 0x0, 0xEA, 0x0, 0xF2, 0x0, 0xFA, 0x1, 0x0, 0x1, 0x6, 0x1, 0xC, 0x8, 0x1, 0x0, 0x3, 0x1, 0x96, 0x1, 0x96, 0x8, 0x59, 0x0, 0x3, 0x1, 0x96, 0x1, 0x97, 0x8, 0x4C, 0x0, 0x3, 0x1, 0x96, 0x1, 0x98, 0x8, 0x4D, 0x0, 0x3, 0x1, 0x96, 0x1, 0x99, 0x8, 0x4E, 0x0, 0x3, 0x1, 0x96, 0x1, 0x9A, 0x8, 0x15, 0x0, 0x3, 0x1, 0x97, 0x1, 0x96, 0x8, 0x3C, 0x0, 0x3, 0x1, 0x97, 0x1, 0x97, 0x8, 0x3B, 0x0, 0x3, 0x1, 0x97, 0x1, 0x98, 0x8, 0x3A, 0x0, 0x3, 0x1, 0x97, 0x1, 0x99, 0x8, 0x7B, 0x0, 0x3, 0x1, 0x97, 0x1, 0x9A, 0x8, 0x6, 0x0, 0x3, 0x1, 0x98, 0x1, 0x96, 0x7, 0xFF, 0x0, 0x3, 0x1, 0x98, 0x1, 0x97, 0x8, 0x4A, 0x0, 0x3, 0x1, 0x98, 0x1, 0x98, 0x8, 0x13, 0x0, 0x3, 0x1, 0x98, 0x1, 0x99, 0x8, 0x14, 0x0, 0x3, 0x1, 0x98, 0x1, 0x9A, 0x8, 0x77, 0x0, 0x3, 0x1, 0x99, 0x1, 0x96, 0x8, 0x79, 0x0, 0x3, 0x1, 0x99, 0x1, 0x97, 0x8, 0x78, 0x0, 0x3, 0x1, 0x99, 0x1, 0x98, 0x8, 0x76, 0x0, 0x3, 0x1, 0x99, 0x1, 0x99, 0x8, 0x75, 0x0, 0x3, 0x1, 0x99, 0x1, 0x9A, 0x8, 0x82, 0x0, 0x3, 0x1, 0x9A, 0x1, 0x96, 0x8, 0x83, 0x0, 0x3, 0x1, 0x9A, 0x1, 0x97, 0x8, 0x84, 0x0, 0x3, 0x1, 0x9A, 0x1, 0x98, 0x8, 0x7C, 0x0, 0x3, 0x1, 0x9A, 0x1, 0x99, 0x8, 0x74, 0x0, 0x2, 0x1, 0x96, 0x8, 0x73, 0x0, 0x2, 0x1, 0x97, 0x8, 0x72, 0x0, 0x2, 0x1, 0x98, 0x8, 0x70, 0x0, 0x2, 0x1, 0x99, 0x0, 0x2, 0x0, 0x1, 0x1, 0x96, 0x1, 0x9A, 0x0, 0x0, 0x0, 0x6, 0x0, 0x0, 0x0, 0xC, 0x0, 0x1E, 0x0, 0x30, 0x0, 0x42, 0x0, 0x54, 0x0, 0x66, 0x0, 0x78, 0x0, 0x94, 0x0, 0xAC, 0x0, 0xC4, 0x0, 0xDC, 0x0, 0xF4, 0x1, 0xC, 0x0, 0x3, 0x0, 0x1, 0x0, 0x88, 0x0, 0x1, 0x0, 0x6C, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x9, 0x0, 0x3, 0x0, 0x1, 0x0, 0x8E, 0x0, 0x1, 0x0, 0x5A, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x9, 0x0, 0x3, 0x0, 0x1, 0x0, 0x94, 0x0, 0x1, 0x0, 0x48, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0xA, 0x0, 0x3, 0x0, 0x1, 0x0, 0x9A, 0x0, 0x1, 0x0, 0x36, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0xB, 0x0, 0x3, 0x0, 0x1, 0x0, 0xA0, 0x0, 0x1, 0x0, 0x24, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x9, 0x0, 0x3, 0x0, 0x1, 0x0, 0xA6, 0x0, 0x1, 0x0, 0x12, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0xA, 0x0, 0x1, 0x0, 0x3, 0x3, 0x2B, 0x3, 0x2D, 0x3, 0x2E, 0x0, 0x3, 0x0, 0x1, 0x0, 0x12, 0x0, 0x1, 0x0, 0x90, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x9, 0x0, 0x1, 0x0, 0x1, 0x1, 0x20, 0x0, 0x3, 0x0, 0x1, 0x0, 0x12, 0x0, 0x1, 0x0, 0x78, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x9, 0x0, 0x1, 0x0, 0x1, 0x0, 0x8C, 0x0, 0x3, 0x0, 0x1, 0x0, 0x12, 0x0, 0x1, 0x0, 0x60, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0xA, 0x0, 0x1, 0x0, 0x1, 0x0, 0x93, 0x0, 0x3, 0x0, 0x1, 0x0, 0x12, 0x0, 0x1, 0x0, 0x48, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0xB, 0x0, 0x1, 0x0, 0x1, 0x0, 0xDC, 0x0, 0x3, 0x0, 0x1, 0x0, 0x12, 0x0, 0x1, 0x0, 0x30, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x9, 0x0, 0x1, 0x0, 0x1, 0x0, 0x97, 0x0, 0x3, 0x0, 0x1, 0x0, 0x12, 0x0, 0x1, 0x0, 0x18, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0xA, 0x0, 0x1, 0x0, 0x1, 0x1, 0x31, 0x0, 0x1, 0x0, 0x1, 0x3, 0x2C, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x8, 0x0, 0x2, 0x0, 0x3A, 0x0, 0x4, 0x8, 0x9B, 0x8, 0x9E, 0x8, 0x9B, 0x8, 0x9B, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x8, 0x0, 0x2, 0x0, 0x24, 0x0, 0x4, 0x8, 0x9A, 0x8, 0x9D, 0x8, 0x9A, 0x8, 0x9A, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x8, 0x0, 0x2, 0x0, 0xE, 0x0, 0x4, 0x8, 0x9C, 0x8, 0x9F, 0x8, 0x9C, 0x8, 0x9C, 0x0, 0x2, 0x0, 0x1, 0x3, 0x2B, 0x3, 0x2E, 0x0, 0x0, 0x0, 0x4, 0x0, 0x0, 0x0, 0x1, 0x0, 0x8, 0x0, 0x1, 0x0, 0x4E, 0x0, 0x6, 0x0, 0x12, 0x0, 0x1C, 0x0, 0x26, 0x0, 0x30, 0x0, 0x3A, 0x0, 0x44, 0x0, 0x1, 0x0, 0x4, 0x8, 0xAD, 0x0, 0x2, 0x8, 0x9B, 0x0, 0x1, 0x0, 0x4, 0x8, 0xAE, 0x0, 0x2, 0x8, 0x9A, 0x0, 0x1, 0x0, 0x4, 0x8, 0xB0, 0x0, 0x2, 0x8, 0x9B, 0x0, 0x1, 0x0, 0x4, 0x8, 0xAF, 0x0, 0x2, 0x8, 0x9C, 0x0, 0x1, 0x0, 0x4, 0x8, 0xAC, 0x0, 0x2, 0x8, 0x9B, 0x0, 0x1, 0x0, 0x4, 0x8, 0xB1, 0x0, 0x2, 0x8, 0x9A, 0x0, 0x1, 0x0, 0x6, 0x0, 0x8C, 0x0, 0x93, 0x0, 0x97, 0x0, 0xDC, 0x1, 0x20, 0x1, 0x31, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x8, 0x0, 0x1, 0x0, 0x6, 0x0, 0x2, 0x0, 0x1, 0x0, 0x2, 0x9, 0x56, 0x9, 0x57, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x8, 0x0, 0x2, 0x0, 0x18, 0x0, 0x9, 0xC, 0xF4, 0xC, 0xF5, 0xC, 0xF6, 0xC, 0xF7, 0xC, 0xFA, 0xC, 0xFB, 0xC, 0xFC, 0xC, 0xF8, 0xC, 0xF9, 0x0, 0x1, 0x0, 0x9, 0x9, 0x8, 0x9, 0x9, 0x9, 0x1A, 0x9, 0x1B, 0x9, 0x9D, 0x9, 0xA6, 0x9, 0xBE, 0xB, 0x9, 0xB, 0xA, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x8, 0x0, 0x1, 0x0, 0x6, 0x0, 0x1, 0x0, 0x1, 0x0, 0x1, 0x4, 0x53, 0x0, 0x4, 0x0, 0x0, 0x0, 0x1, 0x0, 0x8, 0x0, 0x1, 0x0, 0x40, 0x0, 0x1, 0x0, 0x8, 0x0, 0x2, 0x0, 0x6, 0x0, 0xE, 0x7, 0x29, 0x0, 0x3, 0x0, 0x4B, 0x0, 0x4E, 0x7, 0x27, 0x0, 0x2, 0x0, 0x4E, 0x0, 0x4, 0x0, 0x0, 0x0, 0x1, 0x0, 0x8, 0x0, 0x1, 0x0, 0x1C, 0x0, 0x1, 0x0, 0x8, 0x0, 0x2, 0x0, 0x6, 0x0, 0xE, 0x7, 0x2A, 0x0, 0x3, 0x0, 0x4B, 0x0, 0x51, 0x7, 0x28, 0x0, 0x2, 0x0, 0x51, 0x0, 0x1, 0x0, 0x1, 0x0, 0x4B, 0x0, 0x4, 0x0, 0x0, 0x0, 0x1, 0x0, 0x8, 0x0, 0x1, 0x0, 0x2A, 0x0, 0x3, 0x0, 0xC, 0x0, 0x16, 0x0, 0x20, 0x0, 0x1, 0x0, 0x4, 0x7, 0x26, 0x0, 0x2, 0x0, 0x4B, 0x0, 0x1, 0x0, 0x4, 0x7, 0x2C, 0x0, 0x2, 0x0, 0x59, 0x0, 0x1, 0x0, 0x4, 0x7, 0x2B, 0x0, 0x2, 0x0, 0x59, 0x0, 0x1, 0x0, 0x3, 0x0, 0x4B, 0x0, 0x58, 0x0, 0x96, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x8, 0x0, 0x2, 0x0, 0xA, 0x0, 0x2, 0x7, 0xAA, 0x7, 0xA7, 0x0, 0x1, 0x0, 0x2, 0x0, 0x30, 0x0, 0x4C, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x8, 0x0, 0x1, 0x0, 0x6, 0x7, 0x5B, 0x0, 0x1, 0x0, 0x1, 0x0, 0x4C, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x8, 0x0, 0x1, 0x0, 0x6, 0x5, 0x6E, 0x0, 0x1, 0x0, 0x1, 0x2, 0x3A, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x8, 0x0, 0x1, 0x0, 0x6, 0x7, 0x72, 0x0, 0x1, 0x0, 0x1, 0x0, 0x37, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x8, 0x0, 0x2, 0x0, 0x1C, 0x0, 0x2, 0x7, 0xAA, 0x7, 0xAB, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x8, 0x0, 0x2, 0x0, 0xA, 0x0, 0x2, 0x7, 0xAC, 0x7, 0xAD, 0x0, 0x1, 0x0, 0x2, 0x0, 0x30, 0x0, 0x50, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x8, 0x0, 0x2, 0x0, 0x1E, 0x0, 0xC, 0x7, 0xCF, 0x7, 0xD1, 0x7, 0xD0, 0x7, 0xD2, 0x7, 0xD3, 0x8, 0xA1, 0x8, 0xA2, 0x8, 0xA3, 0x8, 0xA4, 0x8, 0xA5, 0x8, 0xA6, 0x8, 0xA7, 0x0, 0x1, 0x0, 0xC, 0x0, 0x28, 0x0, 0x29, 0x0, 0x2C, 0x0, 0x34, 0x0, 0x36, 0x0, 0x47, 0x0, 0x48, 0x0, 0x49, 0x0, 0x4C, 0x0, 0x54, 0x0, 0x55, 0x0, 0x56, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x8, 0x0, 0x2, 0x0, 0xC, 0x0, 0x3, 0x8, 0xA8, 0x8, 0xA9, 0x8, 0xA9, 0x0, 0x1, 0x0, 0x3, 0x0, 0x4A, 0x0, 0x4C, 0x8, 0xA4, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x8, 0x0, 0x2, 0x0, 0x2E, 0x0, 0x14, 0x7, 0xE9, 0x7, 0xED, 0x7, 0xE7, 0x7, 0xE4, 0x7, 0xE6, 0x7, 0xE5, 0x7, 0xEA, 0x7, 0xE8, 0x7, 0xEC, 0x7, 0xEB, 0x7, 0xD9, 0x7, 0xD4, 0x7, 0xD5, 0x7, 0xD6, 0x7, 0xD7, 0x7, 0xD8, 0x0, 0x1B, 0x0, 0x1D, 0x7, 0xDD, 0x8, 0x99, 0x0, 0x2, 0x0, 0x4, 0x0, 0x15, 0x0, 0x1E, 0x0, 0x0, 0x8, 0xA0, 0x8, 0xA0, 0x0, 0xA, 0x8, 0xAB, 0x8, 0xAB, 0x0, 0xB, 0xA, 0xDD, 0xA, 0xE4, 0x0, 0xC, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x8, 0x0, 0x2, 0x0, 0x2E, 0x0, 0x14, 0xA, 0xE4, 0x8, 0xAB, 0xA, 0xDD, 0xA, 0xDE, 0xA, 0xDF, 0xA, 0xE0, 0xA, 0xE1, 0x8, 0xA0, 0xA, 0xE2, 0xA, 0xE3, 0x7, 0xD6, 0x7, 0xD8, 0x7, 0xD7, 0x7, 0xD5, 0x7, 0xD9, 0x8, 0x99, 0x0, 0x1B, 0x7, 0xDD, 0x0, 0x1D, 0x7, 0xD4, 0x0, 0x2, 0x0, 0x2, 0x0, 0x15, 0x0, 0x1E, 0x0, 0x0, 0x7, 0xE4, 0x7, 0xED, 0x0, 0xA, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x8, 0x0, 0x2, 0x0, 0x2E, 0x0, 0x14, 0x7, 0xEA, 0x7, 0xEC, 0x7, 0xED, 0x7, 0xE7, 0x7, 0xE4, 0x7, 0xE6, 0x7, 0xE5, 0x7, 0xE8, 0x7, 0xEB, 0x7, 0xE9, 0x0, 0x1C, 0x0, 0x16, 0x0, 0x17, 0x0, 0x18, 0x0, 0x19, 0x0, 0x1A, 0x0, 0x1B, 0x0, 0x1D, 0x0, 0x1E, 0x0, 0x15, 0x0, 0x1, 0x0, 0x14, 0x0, 0x1B, 0x0, 0x1D, 0x7, 0xD4, 0x7, 0xD5, 0x7, 0xD6, 0x7, 0xD7, 0x7, 0xD8, 0x7, 0xD9, 0x7, 0xDD, 0x8, 0x99, 0x8, 0xA0, 0x8, 0xAB, 0xA, 0xDD, 0xA, 0xDE, 0xA, 0xDF, 0xA, 0xE0, 0xA, 0xE1, 0xA, 0xE2, 0xA, 0xE3, 0xA, 0xE4, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x8, 0x0, 0x2, 0x0, 0x2E, 0x0, 0x14, 0xA, 0xE1, 0xA, 0xE2, 0x8, 0xAB, 0xA, 0xDD, 0xA, 0xDE, 0xA, 0xDF, 0xA, 0xE0, 0x8, 0xA0, 0xA, 0xE3, 0x0, 0x18, 0x0, 0x1A, 0x0, 0x19, 0x0, 0x17, 0x0, 0x1C, 0x0, 0x15, 0x0, 0x1B, 0x0, 0x1E, 0x0, 0x1D, 0x0, 0x16, 0xA, 0xE4, 0x0, 0x2, 0x0, 0x6, 0x0, 0x1B, 0x0, 0x1B, 0x0, 0x0, 0x0, 0x1D, 0x0, 0x1D, 0x0, 0x1, 0x7, 0xD4, 0x7, 0xD9, 0x0, 0x2, 0x7, 0xDD, 0x7, 0xDD, 0x0, 0x8, 0x7, 0xE4, 0x7, 0xED, 0x0, 0x9, 0x8, 0x99, 0x8, 0x99, 0x0, 0x13, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x8, 0x0, 0x1, 0x0, 0x6, 0x4, 0x6F, 0x0, 0x1, 0x0, 0x1, 0x0, 0x14, 0x0, 0x6, 0x0, 0x0, 0x0, 0x1, 0x0, 0x8, 0x0, 0x3, 0x0, 0x1, 0x0, 0x12, 0x0, 0x1, 0x0, 0x6C, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x21, 0x0, 0x2, 0x0, 0x3, 0x4, 0x83, 0x4, 0x83, 0x0, 0x0, 0x7, 0x41, 0x7, 0x43, 0x0, 0x1, 0x7, 0x9D, 0x7, 0xA3, 0x0, 0x4, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x8, 0x0, 0x2, 0x0, 0x3C, 0x0, 0xA, 0x7, 0x43, 0x7, 0x42, 0x7, 0x41, 0x7, 0x9D, 0x7, 0x9E, 0x7, 0x9F, 0x7, 0xA0, 0x7, 0xA1, 0x7, 0xA2, 0x7, 0xA3, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x8, 0x0, 0x2, 0x0, 0x1A, 0x0, 0xA, 0x7, 0xC8, 0x0, 0x7B, 0x0, 0x74, 0x0, 0x75, 0x7, 0xC9, 0x7, 0xCA, 0x7, 0xCB, 0x7, 0xCC, 0x7, 0xCD, 0x7, 0xCE, 0x0, 0x2, 0x0, 0x1, 0x0, 0x15, 0x0, 0x1E, 0x0, 0x0} diff --git a/seq.go b/seq.go new file mode 100644 index 0000000..76ac40d --- /dev/null +++ b/seq.go @@ -0,0 +1,275 @@ +package chart + +import ( + "math" + "sort" +) + +// ValueSequence returns a sequence for a given values set. +func ValueSequence(values ...float64) Seq { + return Seq{NewArray(values...)} +} + +// Sequence is a provider for values for a seq. +type Sequence interface { + Len() int + GetValue(int) float64 +} + +// Seq is a utility wrapper for seq providers. +type Seq struct { + Sequence +} + +// Values enumerates the seq into a slice. +func (s Seq) Values() (output []float64) { + if s.Len() == 0 { + return + } + + output = make([]float64, s.Len()) + for i := 0; i < s.Len(); i++ { + output[i] = s.GetValue(i) + } + return +} + +// Each applies the `mapfn` to all values in the value provider. +func (s Seq) Each(mapfn func(int, float64)) { + for i := 0; i < s.Len(); i++ { + mapfn(i, s.GetValue(i)) + } +} + +// Map applies the `mapfn` to all values in the value provider, +// returning a new seq. +func (s Seq) Map(mapfn func(i int, v float64) float64) Seq { + output := make([]float64, s.Len()) + for i := 0; i < s.Len(); i++ { + mapfn(i, s.GetValue(i)) + } + return Seq{Array(output)} +} + +// FoldLeft collapses a seq from left to right. +func (s Seq) FoldLeft(mapfn func(i int, v0, v float64) float64) (v0 float64) { + if s.Len() == 0 { + return 0 + } + + if s.Len() == 1 { + return s.GetValue(0) + } + + v0 = s.GetValue(0) + for i := 1; i < s.Len(); i++ { + v0 = mapfn(i, v0, s.GetValue(i)) + } + return +} + +// FoldRight collapses a seq from right to left. +func (s Seq) FoldRight(mapfn func(i int, v0, v float64) float64) (v0 float64) { + if s.Len() == 0 { + return 0 + } + + if s.Len() == 1 { + return s.GetValue(0) + } + + v0 = s.GetValue(s.Len() - 1) + for i := s.Len() - 2; i >= 0; i-- { + v0 = mapfn(i, v0, s.GetValue(i)) + } + return +} + +// Min returns the minimum value in the seq. +func (s Seq) Min() float64 { + if s.Len() == 0 { + return 0 + } + min := s.GetValue(0) + var value float64 + for i := 1; i < s.Len(); i++ { + value = s.GetValue(i) + if value < min { + min = value + } + } + return min +} + +// Max returns the maximum value in the seq. +func (s Seq) Max() float64 { + if s.Len() == 0 { + return 0 + } + max := s.GetValue(0) + var value float64 + for i := 1; i < s.Len(); i++ { + value = s.GetValue(i) + if value > max { + max = value + } + } + return max +} + +// MinMax returns the minimum and the maximum in one pass. +func (s Seq) MinMax() (min, max float64) { + if s.Len() == 0 { + return + } + min = s.GetValue(0) + max = min + var value float64 + for i := 1; i < s.Len(); i++ { + value = s.GetValue(i) + if value < min { + min = value + } + if value > max { + max = value + } + } + return +} + +// Sort returns the seq sorted in ascending order. +// This fully enumerates the seq. +func (s Seq) Sort() Seq { + if s.Len() == 0 { + return s + } + values := s.Values() + sort.Float64s(values) + return Seq{Array(values)} +} + +// Reverse reverses the sequence +func (s Seq) Reverse() Seq { + if s.Len() == 0 { + return s + } + + values := s.Values() + valuesLen := len(values) + valuesLen1 := len(values) - 1 + valuesLen2 := valuesLen >> 1 + var i, j float64 + for index := 0; index < valuesLen2; index++ { + i = values[index] + j = values[valuesLen1-index] + values[index] = j + values[valuesLen1-index] = i + } + + return Seq{Array(values)} +} + +// Median returns the median or middle value in the sorted seq. +func (s Seq) Median() (median float64) { + l := s.Len() + if l == 0 { + return + } + + sorted := s.Sort() + if l%2 == 0 { + v0 := sorted.GetValue(l/2 - 1) + v1 := sorted.GetValue(l/2 + 1) + median = (v0 + v1) / 2 + } else { + median = float64(sorted.GetValue(l << 1)) + } + + return +} + +// Sum adds all the elements of a series together. +func (s Seq) Sum() (accum float64) { + if s.Len() == 0 { + return 0 + } + + for i := 0; i < s.Len(); i++ { + accum += s.GetValue(i) + } + return +} + +// Average returns the float average of the values in the buffer. +func (s Seq) Average() float64 { + if s.Len() == 0 { + return 0 + } + + return s.Sum() / float64(s.Len()) +} + +// Variance computes the variance of the buffer. +func (s Seq) Variance() float64 { + if s.Len() == 0 { + return 0 + } + + m := s.Average() + var variance, v float64 + for i := 0; i < s.Len(); i++ { + v = s.GetValue(i) + variance += (v - m) * (v - m) + } + + return variance / float64(s.Len()) +} + +// StdDev returns the standard deviation. +func (s Seq) StdDev() float64 { + if s.Len() == 0 { + return 0 + } + + return math.Pow(s.Variance(), 0.5) +} + +//Percentile finds the relative standing in a slice of floats. +// `percent` should be given on the interval [0,1.0). +func (s Seq) Percentile(percent float64) (percentile float64) { + l := s.Len() + if l == 0 { + return 0 + } + + if percent < 0 || percent > 1.0 { + panic("percent out of range [0.0, 1.0)") + } + + sorted := s.Sort() + index := percent * float64(l) + if index == float64(int64(index)) { + i := f64i(index) + ci := sorted.GetValue(i - 1) + c := sorted.GetValue(i) + percentile = (ci + c) / 2.0 + } else { + i := f64i(index) + percentile = sorted.GetValue(i) + } + + return percentile +} + +// Normalize maps every value to the interval [0, 1.0]. +func (s Seq) Normalize() Seq { + min, max := s.MinMax() + + delta := max - min + output := make([]float64, s.Len()) + for i := 0; i < s.Len(); i++ { + output[i] = (s.GetValue(i) - min) / delta + } + + return Seq{Array(output)} +} diff --git a/seq_test.go b/seq_test.go new file mode 100644 index 0000000..3cd7f9c --- /dev/null +++ b/seq_test.go @@ -0,0 +1,136 @@ +package chart + +import ( + "testing" + + "github.com/wcharczuk/go-chart/v2/testutil" +) + +func TestSeqEach(t *testing.T) { + // replaced new assertions helper + + values := Seq{NewArray(1, 2, 3, 4)} + values.Each(func(i int, v float64) { + testutil.AssertEqual(t, i, v-1) + }) +} + +func TestSeqMap(t *testing.T) { + // replaced new assertions helper + + values := Seq{NewArray(1, 2, 3, 4)} + mapped := values.Map(func(i int, v float64) float64 { + testutil.AssertEqual(t, i, v-1) + return v * 2 + }) + testutil.AssertEqual(t, 4, mapped.Len()) +} + +func TestSeqFoldLeft(t *testing.T) { + // replaced new assertions helper + + values := Seq{NewArray(1, 2, 3, 4)} + ten := values.FoldLeft(func(_ int, vp, v float64) float64 { + return vp + v + }) + testutil.AssertEqual(t, 10, ten) + + orderTest := Seq{NewArray(10, 3, 2, 1)} + four := orderTest.FoldLeft(func(_ int, vp, v float64) float64 { + return vp - v + }) + testutil.AssertEqual(t, 4, four) +} + +func TestSeqFoldRight(t *testing.T) { + // replaced new assertions helper + + values := Seq{NewArray(1, 2, 3, 4)} + ten := values.FoldRight(func(_ int, vp, v float64) float64 { + return vp + v + }) + testutil.AssertEqual(t, 10, ten) + + orderTest := Seq{NewArray(10, 3, 2, 1)} + notFour := orderTest.FoldRight(func(_ int, vp, v float64) float64 { + return vp - v + }) + testutil.AssertEqual(t, -14, notFour) +} + +func TestSeqSum(t *testing.T) { + // replaced new assertions helper + + values := Seq{NewArray(1, 2, 3, 4)} + testutil.AssertEqual(t, 10, values.Sum()) +} + +func TestSeqAverage(t *testing.T) { + // replaced new assertions helper + + values := Seq{NewArray(1, 2, 3, 4)} + testutil.AssertEqual(t, 2.5, values.Average()) + + valuesOdd := Seq{NewArray(1, 2, 3, 4, 5)} + testutil.AssertEqual(t, 3, valuesOdd.Average()) +} + +func TestSequenceVariance(t *testing.T) { + // replaced new assertions helper + + values := Seq{NewArray(1, 2, 3, 4, 5)} + testutil.AssertEqual(t, 2, values.Variance()) +} + +func TestSequenceNormalize(t *testing.T) { + // replaced new assertions helper + + normalized := ValueSequence(1, 2, 3, 4, 5).Normalize().Values() + + testutil.AssertNotEmpty(t, normalized) + testutil.AssertLen(t, normalized, 5) + testutil.AssertEqual(t, 0, normalized[0]) + testutil.AssertEqual(t, 0.25, normalized[1]) + testutil.AssertEqual(t, 1, normalized[4]) +} + +func TestLinearRange(t *testing.T) { + // replaced new assertions helper + + values := LinearRange(1, 100) + testutil.AssertLen(t, values, 100) + testutil.AssertEqual(t, 1, values[0]) + testutil.AssertEqual(t, 100, values[99]) +} + +func TestLinearRangeWithStep(t *testing.T) { + // replaced new assertions helper + + values := LinearRangeWithStep(0, 100, 5) + testutil.AssertEqual(t, 100, values[20]) + testutil.AssertLen(t, values, 21) +} + +func TestLinearRangeReversed(t *testing.T) { + // replaced new assertions helper + + values := LinearRange(10.0, 1.0) + testutil.AssertEqual(t, 10, len(values)) + testutil.AssertEqual(t, 10.0, values[0]) + testutil.AssertEqual(t, 1.0, values[9]) +} + +func TestLinearSequenceRegression(t *testing.T) { + // replaced new assertions helper + + // note; this assumes a 1.0 step is implicitly set in the constructor. + linearProvider := NewLinearSequence().WithStart(1.0).WithEnd(100.0) + testutil.AssertEqual(t, 1, linearProvider.Start()) + testutil.AssertEqual(t, 100, linearProvider.End()) + testutil.AssertEqual(t, 100, linearProvider.Len()) + + values := Seq{linearProvider}.Values() + testutil.AssertLen(t, values, 100) + testutil.AssertEqual(t, 1.0, values[0]) + testutil.AssertEqual(t, 100, values[99]) +} diff --git a/series.go b/series.go new file mode 100644 index 0000000..7986d01 --- /dev/null +++ b/series.go @@ -0,0 +1,10 @@ +package chart + +// Series is an alias to Renderable. +type Series interface { + GetName() string + GetYAxis() YAxisType + GetStyle() Style + Validate() error + Render(r Renderer, canvasBox Box, xrange, yrange Range, s Style) +} diff --git a/sma_series.go b/sma_series.go new file mode 100644 index 0000000..b952c0a --- /dev/null +++ b/sma_series.go @@ -0,0 +1,120 @@ +package chart + +import ( + "fmt" +) + +const ( + // DefaultSimpleMovingAveragePeriod is the default number of values to average. + DefaultSimpleMovingAveragePeriod = 16 +) + +// Interface Assertions. +var ( + _ Series = (*SMASeries)(nil) + _ FirstValuesProvider = (*SMASeries)(nil) + _ LastValuesProvider = (*SMASeries)(nil) +) + +// SMASeries is a computed series. +type SMASeries struct { + Name string + Style Style + YAxis YAxisType + + Period int + InnerSeries ValuesProvider +} + +// GetName returns the name of the time series. +func (sma SMASeries) GetName() string { + return sma.Name +} + +// GetStyle returns the line style. +func (sma SMASeries) GetStyle() Style { + return sma.Style +} + +// GetYAxis returns which YAxis the series draws on. +func (sma SMASeries) GetYAxis() YAxisType { + return sma.YAxis +} + +// Len returns the number of elements in the series. +func (sma SMASeries) Len() int { + return sma.InnerSeries.Len() +} + +// GetPeriod returns the window size. +func (sma SMASeries) GetPeriod(defaults ...int) int { + if sma.Period == 0 { + if len(defaults) > 0 { + return defaults[0] + } + return DefaultSimpleMovingAveragePeriod + } + return sma.Period +} + +// GetValues gets a value at a given index. +func (sma SMASeries) GetValues(index int) (x, y float64) { + if sma.InnerSeries == nil || sma.InnerSeries.Len() == 0 { + return + } + px, _ := sma.InnerSeries.GetValues(index) + x = px + y = sma.getAverage(index) + return +} + +// GetFirstValues computes the first moving average value. +func (sma SMASeries) GetFirstValues() (x, y float64) { + if sma.InnerSeries == nil || sma.InnerSeries.Len() == 0 { + return + } + px, _ := sma.InnerSeries.GetValues(0) + x = px + y = sma.getAverage(0) + return +} + +// GetLastValues computes the last moving average value but walking back window size samples, +// and recomputing the last moving average chunk. +func (sma SMASeries) GetLastValues() (x, y float64) { + if sma.InnerSeries == nil || sma.InnerSeries.Len() == 0 { + return + } + seriesLen := sma.InnerSeries.Len() + px, _ := sma.InnerSeries.GetValues(seriesLen - 1) + x = px + y = sma.getAverage(seriesLen - 1) + return +} + +func (sma SMASeries) getAverage(index int) float64 { + period := sma.GetPeriod() + floor := MaxInt(0, index-period) + var accum float64 + var count float64 + for x := index; x >= floor; x-- { + _, vy := sma.InnerSeries.GetValues(x) + accum += vy + count += 1.0 + } + return accum / count +} + +// Render renders the series. +func (sma SMASeries) Render(r Renderer, canvasBox Box, xrange, yrange Range, defaults Style) { + style := sma.Style.InheritFrom(defaults) + Draw.LineSeries(r, canvasBox, xrange, yrange, style, sma) +} + +// Validate validates the series. +func (sma SMASeries) Validate() error { + if sma.InnerSeries == nil { + return fmt.Errorf("sma series requires InnerSeries to be set") + } + return nil +} diff --git a/sma_series_test.go b/sma_series_test.go new file mode 100644 index 0000000..5de32a9 --- /dev/null +++ b/sma_series_test.go @@ -0,0 +1,111 @@ +package chart + +import ( + "testing" + + "github.com/wcharczuk/go-chart/v2/testutil" +) + +type mockValuesProvider struct { + X []float64 + Y []float64 +} + +func (m mockValuesProvider) Len() int { + return MinInt(len(m.X), len(m.Y)) +} + +func (m mockValuesProvider) GetValues(index int) (x, y float64) { + if index < 0 { + panic("negative index at GetValue()") + } + if index >= MinInt(len(m.X), len(m.Y)) { + panic("index is outside the length of m.X or m.Y") + } + x = m.X[index] + y = m.Y[index] + return +} + +func TestSMASeriesGetValue(t *testing.T) { + // replaced new assertions helper + + mockSeries := mockValuesProvider{ + LinearRange(1.0, 10.0), + LinearRange(10, 1.0), + } + testutil.AssertEqual(t, 10, mockSeries.Len()) + + mas := &SMASeries{ + InnerSeries: mockSeries, + Period: 10, + } + + var yvalues []float64 + for x := 0; x < mas.Len(); x++ { + _, y := mas.GetValues(x) + yvalues = append(yvalues, y) + } + + testutil.AssertEqual(t, 10.0, yvalues[0]) + testutil.AssertEqual(t, 9.5, yvalues[1]) + testutil.AssertEqual(t, 9.0, yvalues[2]) + testutil.AssertEqual(t, 8.5, yvalues[3]) + testutil.AssertEqual(t, 8.0, yvalues[4]) + testutil.AssertEqual(t, 7.5, yvalues[5]) + testutil.AssertEqual(t, 7.0, yvalues[6]) + testutil.AssertEqual(t, 6.5, yvalues[7]) + testutil.AssertEqual(t, 6.0, yvalues[8]) +} + +func TestSMASeriesGetLastValueWindowOverlap(t *testing.T) { + // replaced new assertions helper + + mockSeries := mockValuesProvider{ + LinearRange(1.0, 10.0), + LinearRange(10, 1.0), + } + testutil.AssertEqual(t, 10, mockSeries.Len()) + + mas := &SMASeries{ + InnerSeries: mockSeries, + Period: 15, + } + + var yvalues []float64 + for x := 0; x < mas.Len(); x++ { + _, y := mas.GetValues(x) + yvalues = append(yvalues, y) + } + + lx, ly := mas.GetLastValues() + testutil.AssertEqual(t, 10.0, lx) + testutil.AssertEqual(t, 5.5, ly) + testutil.AssertEqual(t, yvalues[len(yvalues)-1], ly) +} + +func TestSMASeriesGetLastValue(t *testing.T) { + // replaced new assertions helper + + mockSeries := mockValuesProvider{ + LinearRange(1.0, 100.0), + LinearRange(100, 1.0), + } + testutil.AssertEqual(t, 100, mockSeries.Len()) + + mas := &SMASeries{ + InnerSeries: mockSeries, + Period: 10, + } + + var yvalues []float64 + for x := 0; x < mas.Len(); x++ { + _, y := mas.GetValues(x) + yvalues = append(yvalues, y) + } + + lx, ly := mas.GetLastValues() + testutil.AssertEqual(t, 100.0, lx) + testutil.AssertEqual(t, 6, ly) + testutil.AssertEqual(t, yvalues[len(yvalues)-1], ly) +} diff --git a/stacked_bar_chart.go b/stacked_bar_chart.go new file mode 100644 index 0000000..b0c781c --- /dev/null +++ b/stacked_bar_chart.go @@ -0,0 +1,616 @@ +package chart + +import ( + "errors" + "fmt" + "io" + "math" + + "github.com/golang/freetype/truetype" +) + +// StackedBar is a bar within a StackedBarChart. +type StackedBar struct { + Name string + Width int + Values []Value +} + +// GetWidth returns the width of the bar. +func (sb StackedBar) GetWidth() int { + if sb.Width == 0 { + return 50 + } + return sb.Width +} + +// StackedBarChart is a chart that draws sections of a bar based on percentages. +type StackedBarChart struct { + Title string + TitleStyle Style + + ColorPalette ColorPalette + + Width int + Height int + DPI float64 + + Background Style + Canvas Style + + XAxis Style + YAxis Style + + BarSpacing int + + Font *truetype.Font + defaultFont *truetype.Font + + IsHorizontal bool + + Bars []StackedBar + Elements []Renderable +} + +// GetDPI returns the dpi for the chart. +func (sbc StackedBarChart) GetDPI(defaults ...float64) float64 { + if sbc.DPI == 0 { + if len(defaults) > 0 { + return defaults[0] + } + return DefaultDPI + } + return sbc.DPI +} + +// GetFont returns the text font. +func (sbc StackedBarChart) GetFont() *truetype.Font { + if sbc.Font == nil { + return sbc.defaultFont + } + return sbc.Font +} + +// GetWidth returns the chart width or the default value. +func (sbc StackedBarChart) GetWidth() int { + if sbc.Width == 0 { + return DefaultChartWidth + } + return sbc.Width +} + +// GetHeight returns the chart height or the default value. +func (sbc StackedBarChart) GetHeight() int { + if sbc.Height == 0 { + return DefaultChartWidth + } + return sbc.Height +} + +// GetBarSpacing returns the spacing between bars. +func (sbc StackedBarChart) GetBarSpacing() int { + if sbc.BarSpacing == 0 { + return 100 + } + return sbc.BarSpacing +} + +// Render renders the chart with the given renderer to the given io.Writer. +func (sbc StackedBarChart) Render(rp RendererProvider, w io.Writer) error { + if len(sbc.Bars) == 0 { + return errors.New("please provide at least one bar") + } + + r, err := rp(sbc.GetWidth(), sbc.GetHeight()) + if err != nil { + return err + } + + if sbc.Font == nil { + defaultFont, err := GetDefaultFont() + if err != nil { + return err + } + sbc.defaultFont = defaultFont + } + r.SetDPI(sbc.GetDPI(DefaultDPI)) + + var canvasBox Box + if sbc.IsHorizontal { + canvasBox = sbc.getHorizontalAdjustedCanvasBox(r, sbc.getDefaultCanvasBox()) + if err := canvasBox.Validate(); err != nil { + return fmt.Errorf("invalid canvas box: %w", err) + } + sbc.drawCanvas(r, canvasBox) + sbc.drawHorizontalBars(r, canvasBox) + sbc.drawHorizontalXAxis(r, canvasBox) + sbc.drawHorizontalYAxis(r, canvasBox) + } else { + canvasBox = sbc.getAdjustedCanvasBox(r, sbc.getDefaultCanvasBox()) + if err := canvasBox.Validate(); err != nil { + return fmt.Errorf("invalid canvas box: %w", err) + } + sbc.drawCanvas(r, canvasBox) + sbc.drawBars(r, canvasBox) + sbc.drawXAxis(r, canvasBox) + sbc.drawYAxis(r, canvasBox) + } + + sbc.drawTitle(r) + for _, a := range sbc.Elements { + a(r, canvasBox, sbc.styleDefaultsElements()) + } + + return r.Save(w) +} + +func (sbc StackedBarChart) drawCanvas(r Renderer, canvasBox Box) { + Draw.Box(r, canvasBox, sbc.getCanvasStyle()) +} + +func (sbc StackedBarChart) drawBars(r Renderer, canvasBox Box) { + xoffset := canvasBox.Left + for _, bar := range sbc.Bars { + sbc.drawBar(r, canvasBox, xoffset, bar) + xoffset += (sbc.GetBarSpacing() + bar.GetWidth()) + } +} + +func (sbc StackedBarChart) drawHorizontalBars(r Renderer, canvasBox Box) { + yOffset := canvasBox.Top + for _, bar := range sbc.Bars { + sbc.drawHorizontalBar(r, canvasBox, yOffset, bar) + yOffset += sbc.GetBarSpacing() + bar.GetWidth() + } +} + +func (sbc StackedBarChart) drawBar(r Renderer, canvasBox Box, xoffset int, bar StackedBar) int { + barSpacing2 := sbc.GetBarSpacing() >> 1 + bxl := xoffset + barSpacing2 + bxr := bxl + bar.GetWidth() + + normalizedBarComponents := Values(bar.Values).Normalize() + yoffset := canvasBox.Top + for index, bv := range normalizedBarComponents { + barHeight := int(math.Ceil(bv.Value * float64(canvasBox.Height()))) + barBox := Box{ + Top: yoffset, + Left: bxl, + Right: bxr, + Bottom: MinInt(yoffset+barHeight, canvasBox.Bottom-DefaultStrokeWidth), + } + Draw.Box(r, barBox, bv.Style.InheritFrom(sbc.styleDefaultsStackedBarValue(index))) + yoffset += barHeight + } + + // draw the labels + yoffset = canvasBox.Top + var lx, ly int + for index, bv := range normalizedBarComponents { + barHeight := int(math.Ceil(bv.Value * float64(canvasBox.Height()))) + + if len(bv.Label) > 0 { + lx = bxl + ((bxr - bxl) / 2) + ly = yoffset + (barHeight / 2) + + bv.Style.InheritFrom(sbc.styleDefaultsStackedBarValue(index)).WriteToRenderer(r) + tb := r.MeasureText(bv.Label) + lx = lx - (tb.Width() >> 1) + ly = ly + (tb.Height() >> 1) + + if lx < 0 { + lx = 0 + } + if ly < 0 { + lx = 0 + } + + r.Text(bv.Label, lx, ly) + } + yoffset += barHeight + } + + return bxr +} + +func (sbc StackedBarChart) drawHorizontalBar(r Renderer, canvasBox Box, yoffset int, bar StackedBar) { + halfBarSpacing := sbc.GetBarSpacing() >> 1 + + boxTop := yoffset + halfBarSpacing + boxBottom := boxTop + bar.GetWidth() + + normalizedBarComponents := Values(bar.Values).Normalize() + + xOffset := canvasBox.Right + for index, bv := range normalizedBarComponents { + barHeight := int(math.Ceil(bv.Value * float64(canvasBox.Width()))) + barBox := Box{ + Top: boxTop, + Left: MinInt(xOffset-barHeight, canvasBox.Left+DefaultStrokeWidth), + Right: xOffset, + Bottom: boxBottom, + } + Draw.Box(r, barBox, bv.Style.InheritFrom(sbc.styleDefaultsStackedBarValue(index))) + xOffset -= barHeight + } + + // draw the labels + xOffset = canvasBox.Right + var lx, ly int + for index, bv := range normalizedBarComponents { + barHeight := int(math.Ceil(bv.Value * float64(canvasBox.Width()))) + + if len(bv.Label) > 0 { + lx = xOffset - (barHeight / 2) + ly = boxTop + ((boxBottom - boxTop) / 2) + + bv.Style.InheritFrom(sbc.styleDefaultsStackedBarValue(index)).WriteToRenderer(r) + tb := r.MeasureText(bv.Label) + lx = lx - (tb.Width() >> 1) + ly = ly + (tb.Height() >> 1) + + if lx < 0 { + lx = 0 + } + if ly < 0 { + lx = 0 + } + + r.Text(bv.Label, lx, ly) + } + xOffset -= barHeight + } +} + +func (sbc StackedBarChart) drawXAxis(r Renderer, canvasBox Box) { + if !sbc.XAxis.Hidden { + axisStyle := sbc.XAxis.InheritFrom(sbc.styleDefaultsAxes()) + axisStyle.WriteToRenderer(r) + + r.MoveTo(canvasBox.Left, canvasBox.Bottom) + r.LineTo(canvasBox.Right, canvasBox.Bottom) + r.Stroke() + + r.MoveTo(canvasBox.Left, canvasBox.Bottom) + r.LineTo(canvasBox.Left, canvasBox.Bottom+DefaultVerticalTickHeight) + r.Stroke() + + cursor := canvasBox.Left + for _, bar := range sbc.Bars { + + barLabelBox := Box{ + Top: canvasBox.Bottom + DefaultXAxisMargin, + Left: cursor, + Right: cursor + bar.GetWidth() + sbc.GetBarSpacing(), + Bottom: sbc.GetHeight(), + } + if len(bar.Name) > 0 { + Draw.TextWithin(r, bar.Name, barLabelBox, axisStyle) + } + axisStyle.WriteToRenderer(r) + r.MoveTo(barLabelBox.Right, canvasBox.Bottom) + r.LineTo(barLabelBox.Right, canvasBox.Bottom+DefaultVerticalTickHeight) + r.Stroke() + cursor += bar.GetWidth() + sbc.GetBarSpacing() + } + } +} + +func (sbc StackedBarChart) drawHorizontalXAxis(r Renderer, canvasBox Box) { + if !sbc.XAxis.Hidden { + axisStyle := sbc.XAxis.InheritFrom(sbc.styleDefaultsAxes()) + axisStyle.WriteToRenderer(r) + r.MoveTo(canvasBox.Left, canvasBox.Bottom) + r.LineTo(canvasBox.Right, canvasBox.Bottom) + r.Stroke() + + r.MoveTo(canvasBox.Left, canvasBox.Bottom) + r.LineTo(canvasBox.Left, canvasBox.Bottom+DefaultVerticalTickHeight) + r.Stroke() + + ticks := LinearRangeWithStep(0.0, 1.0, 0.2) + for _, t := range ticks { + axisStyle.GetStrokeOptions().WriteToRenderer(r) + tx := canvasBox.Left + int(t*float64(canvasBox.Width())) + r.MoveTo(tx, canvasBox.Bottom) + r.LineTo(tx, canvasBox.Bottom+DefaultVerticalTickHeight) + r.Stroke() + + axisStyle.GetTextOptions().WriteToRenderer(r) + text := fmt.Sprintf("%0.0f%%", t*100) + + textBox := r.MeasureText(text) + textX := tx - (textBox.Width() >> 1) + textY := canvasBox.Bottom + DefaultXAxisMargin + 10 + + if t == 1 { + textX = canvasBox.Right - textBox.Width() + } + + Draw.Text(r, text, textX, textY, axisStyle) + } + } +} + +func (sbc StackedBarChart) drawYAxis(r Renderer, canvasBox Box) { + if !sbc.YAxis.Hidden { + axisStyle := sbc.YAxis.InheritFrom(sbc.styleDefaultsAxes()) + axisStyle.WriteToRenderer(r) + r.MoveTo(canvasBox.Right, canvasBox.Top) + r.LineTo(canvasBox.Right, canvasBox.Bottom) + r.Stroke() + + r.MoveTo(canvasBox.Right, canvasBox.Bottom) + r.LineTo(canvasBox.Right+DefaultHorizontalTickWidth, canvasBox.Bottom) + r.Stroke() + + ticks := LinearRangeWithStep(0.0, 1.0, 0.2) + for _, t := range ticks { + axisStyle.GetStrokeOptions().WriteToRenderer(r) + ty := canvasBox.Bottom - int(t*float64(canvasBox.Height())) + r.MoveTo(canvasBox.Right, ty) + r.LineTo(canvasBox.Right+DefaultHorizontalTickWidth, ty) + r.Stroke() + + axisStyle.GetTextOptions().WriteToRenderer(r) + text := fmt.Sprintf("%0.0f%%", t*100) + + tb := r.MeasureText(text) + Draw.Text(r, text, canvasBox.Right+DefaultYAxisMargin+5, ty+(tb.Height()>>1), axisStyle) + } + } +} + +func (sbc StackedBarChart) drawHorizontalYAxis(r Renderer, canvasBox Box) { + if !sbc.YAxis.Hidden { + axisStyle := sbc.YAxis.InheritFrom(sbc.styleDefaultsHorizontalAxes()) + axisStyle.WriteToRenderer(r) + + r.MoveTo(canvasBox.Left, canvasBox.Bottom) + r.LineTo(canvasBox.Left, canvasBox.Top) + r.Stroke() + + r.MoveTo(canvasBox.Left, canvasBox.Bottom) + r.LineTo(canvasBox.Left-DefaultHorizontalTickWidth, canvasBox.Bottom) + r.Stroke() + + cursor := canvasBox.Top + for _, bar := range sbc.Bars { + barLabelBox := Box{ + Top: cursor, + Left: 0, + Right: canvasBox.Left - DefaultYAxisMargin, + Bottom: cursor + bar.GetWidth() + sbc.GetBarSpacing(), + } + if len(bar.Name) > 0 { + Draw.TextWithin(r, bar.Name, barLabelBox, axisStyle) + } + axisStyle.WriteToRenderer(r) + r.MoveTo(canvasBox.Left, barLabelBox.Bottom) + r.LineTo(canvasBox.Left-DefaultHorizontalTickWidth, barLabelBox.Bottom) + r.Stroke() + cursor += bar.GetWidth() + sbc.GetBarSpacing() + } + } +} + +func (sbc StackedBarChart) drawTitle(r Renderer) { + if len(sbc.Title) > 0 && !sbc.TitleStyle.Hidden { + r.SetFont(sbc.TitleStyle.GetFont(sbc.GetFont())) + r.SetFontColor(sbc.TitleStyle.GetFontColor(sbc.GetColorPalette().TextColor())) + titleFontSize := sbc.TitleStyle.GetFontSize(DefaultTitleFontSize) + r.SetFontSize(titleFontSize) + + textBox := r.MeasureText(sbc.Title) + + textWidth := textBox.Width() + textHeight := textBox.Height() + + titleX := (sbc.GetWidth() >> 1) - (textWidth >> 1) + titleY := sbc.TitleStyle.Padding.GetTop(DefaultTitleTop) + textHeight + + r.Text(sbc.Title, titleX, titleY) + } +} + +func (sbc StackedBarChart) getCanvasStyle() Style { + return sbc.Canvas.InheritFrom(sbc.styleDefaultsCanvas()) +} + +func (sbc StackedBarChart) styleDefaultsCanvas() Style { + return Style{ + FillColor: sbc.GetColorPalette().CanvasColor(), + StrokeColor: sbc.GetColorPalette().CanvasStrokeColor(), + StrokeWidth: DefaultCanvasStrokeWidth, + } +} + +// GetColorPalette returns the color palette for the chart. +func (sbc StackedBarChart) GetColorPalette() ColorPalette { + if sbc.ColorPalette != nil { + return sbc.ColorPalette + } + return AlternateColorPalette +} + +func (sbc StackedBarChart) getDefaultCanvasBox() Box { + return sbc.Box() +} + +func (sbc StackedBarChart) getAdjustedCanvasBox(r Renderer, canvasBox Box) Box { + var totalWidth int + for _, bar := range sbc.Bars { + totalWidth += bar.GetWidth() + sbc.GetBarSpacing() + } + + if !sbc.XAxis.Hidden { + xaxisHeight := DefaultVerticalTickHeight + + axisStyle := sbc.XAxis.InheritFrom(sbc.styleDefaultsAxes()) + axisStyle.WriteToRenderer(r) + + cursor := canvasBox.Left + for _, bar := range sbc.Bars { + if len(bar.Name) > 0 { + barLabelBox := Box{ + Top: canvasBox.Bottom + DefaultXAxisMargin, + Left: cursor, + Right: cursor + bar.GetWidth() + sbc.GetBarSpacing(), + Bottom: sbc.GetHeight(), + } + lines := Text.WrapFit(r, bar.Name, barLabelBox.Width(), axisStyle) + linesBox := Text.MeasureLines(r, lines, axisStyle) + + xaxisHeight = MaxInt(linesBox.Height()+(2*DefaultXAxisMargin), xaxisHeight) + } + } + return Box{ + Top: canvasBox.Top, + Left: canvasBox.Left, + Right: canvasBox.Left + totalWidth, + Bottom: sbc.GetHeight() - xaxisHeight, + } + } + return Box{ + Top: canvasBox.Top, + Left: canvasBox.Left, + Right: canvasBox.Left + totalWidth, + Bottom: canvasBox.Bottom, + } + +} + +func (sbc StackedBarChart) getHorizontalAdjustedCanvasBox(r Renderer, canvasBox Box) Box { + var totalHeight int + for _, bar := range sbc.Bars { + totalHeight += bar.GetWidth() + sbc.GetBarSpacing() + } + + if !sbc.YAxis.Hidden { + yAxisWidth := DefaultHorizontalTickWidth + + axisStyle := sbc.YAxis.InheritFrom(sbc.styleDefaultsHorizontalAxes()) + axisStyle.WriteToRenderer(r) + + cursor := canvasBox.Top + for _, bar := range sbc.Bars { + if len(bar.Name) > 0 { + barLabelBox := Box{ + Top: cursor, + Left: 0, + Right: canvasBox.Left + DefaultYAxisMargin, + Bottom: cursor + bar.GetWidth() + sbc.GetBarSpacing(), + } + lines := Text.WrapFit(r, bar.Name, barLabelBox.Width(), axisStyle) + linesBox := Text.MeasureLines(r, lines, axisStyle) + + yAxisWidth = MaxInt(linesBox.Height()+(2*DefaultXAxisMargin), yAxisWidth) + } + } + return Box{ + Top: canvasBox.Top, + Left: canvasBox.Left + yAxisWidth, + Right: canvasBox.Right, + Bottom: canvasBox.Top + totalHeight, + } + } + return Box{ + Top: canvasBox.Top, + Left: canvasBox.Left, + Right: canvasBox.Right, + Bottom: canvasBox.Top + totalHeight, + } +} + +// Box returns the chart bounds as a box. +func (sbc StackedBarChart) Box() Box { + dpr := sbc.Background.Padding.GetRight(10) + dpb := sbc.Background.Padding.GetBottom(50) + + return Box{ + Top: sbc.Background.Padding.GetTop(20), + Left: sbc.Background.Padding.GetLeft(20), + Right: sbc.GetWidth() - dpr, + Bottom: sbc.GetHeight() - dpb, + } +} + +func (sbc StackedBarChart) styleDefaultsStackedBarValue(index int) Style { + return Style{ + StrokeColor: sbc.GetColorPalette().GetSeriesColor(index), + StrokeWidth: 3.0, + FillColor: sbc.GetColorPalette().GetSeriesColor(index), + FontSize: sbc.getScaledFontSize(), + FontColor: sbc.GetColorPalette().TextColor(), + Font: sbc.GetFont(), + } +} + +func (sbc StackedBarChart) styleDefaultsTitle() Style { + return sbc.TitleStyle.InheritFrom(Style{ + FontColor: DefaultTextColor, + Font: sbc.GetFont(), + FontSize: sbc.getTitleFontSize(), + TextHorizontalAlign: TextHorizontalAlignCenter, + TextVerticalAlign: TextVerticalAlignTop, + TextWrap: TextWrapWord, + }) +} + +func (sbc StackedBarChart) getScaledFontSize() float64 { + effectiveDimension := MinInt(sbc.GetWidth(), sbc.GetHeight()) + if effectiveDimension >= 2048 { + return 48.0 + } else if effectiveDimension >= 1024 { + return 24.0 + } else if effectiveDimension > 512 { + return 18.0 + } else if effectiveDimension > 256 { + return 12.0 + } + return 10.0 +} + +func (sbc StackedBarChart) getTitleFontSize() float64 { + effectiveDimension := MinInt(sbc.GetWidth(), sbc.GetHeight()) + if effectiveDimension >= 2048 { + return 48 + } else if effectiveDimension >= 1024 { + return 24 + } else if effectiveDimension >= 512 { + return 18 + } else if effectiveDimension >= 256 { + return 12 + } + return 10 +} + +func (sbc StackedBarChart) styleDefaultsAxes() Style { + return Style{ + StrokeColor: DefaultAxisColor, + Font: sbc.GetFont(), + FontSize: DefaultAxisFontSize, + FontColor: DefaultAxisColor, + TextHorizontalAlign: TextHorizontalAlignCenter, + TextVerticalAlign: TextVerticalAlignTop, + TextWrap: TextWrapWord, + } +} + +func (sbc StackedBarChart) styleDefaultsHorizontalAxes() Style { + return Style{ + StrokeColor: DefaultAxisColor, + Font: sbc.GetFont(), + FontSize: DefaultAxisFontSize, + FontColor: DefaultAxisColor, + TextHorizontalAlign: TextHorizontalAlignCenter, + TextVerticalAlign: TextVerticalAlignMiddle, + TextWrap: TextWrapWord, + } +} + +func (sbc StackedBarChart) styleDefaultsElements() Style { + return Style{ + Font: sbc.GetFont(), + } +} diff --git a/stringutil.go b/stringutil.go new file mode 100644 index 0000000..858d447 --- /dev/null +++ b/stringutil.go @@ -0,0 +1,57 @@ +package chart + +import "strings" + +// SplitCSV splits a corpus by the `,`, dropping leading or trailing whitespace unless quoted. +func SplitCSV(text string) (output []string) { + if len(text) == 0 { + return + } + + var state int + var word []rune + var opened rune + for _, r := range text { + switch state { + case 0: // word + if isQuote(r) { + opened = r + state = 1 + } else if isCSVDelim(r) { + output = append(output, strings.TrimSpace(string(word))) + word = nil + } else { + word = append(word, r) + } + case 1: // we're in a quoted section + if matchesQuote(opened, r) { + state = 0 + continue + } + word = append(word, r) + } + } + + if len(word) > 0 { + output = append(output, strings.TrimSpace(string(word))) + } + return +} + +func isCSVDelim(r rune) bool { + return r == rune(',') +} + +func isQuote(r rune) bool { + return r == '"' || r == '\'' || r == '“' || r == '”' || r == '`' +} + +func matchesQuote(a, b rune) bool { + if a == '“' && b == '”' { + return true + } + if a == '”' && b == '“' { + return true + } + return a == b +} diff --git a/stringutil_test.go b/stringutil_test.go new file mode 100644 index 0000000..bc22b23 --- /dev/null +++ b/stringutil_test.go @@ -0,0 +1,22 @@ +package chart + +import ( + "testing" + + "github.com/wcharczuk/go-chart/v2/testutil" +) + +func TestSplitCSV(t *testing.T) { + // replaced new assertions helper + + testutil.AssertEmpty(t, SplitCSV("")) + testutil.AssertEqual(t, []string{"foo"}, SplitCSV("foo")) + testutil.AssertEqual(t, []string{"foo", "bar"}, SplitCSV("foo,bar")) + testutil.AssertEqual(t, []string{"foo", "bar"}, SplitCSV("foo, bar")) + testutil.AssertEqual(t, []string{"foo", "bar"}, SplitCSV(" foo , bar ")) + testutil.AssertEqual(t, []string{"foo", "bar", "baz"}, SplitCSV("foo,bar,baz")) + testutil.AssertEqual(t, []string{"foo", "bar", "baz,buzz"}, SplitCSV("foo,bar,\"baz,buzz\"")) + testutil.AssertEqual(t, []string{"foo", "bar", "baz,'buzz'"}, SplitCSV("foo,bar,\"baz,'buzz'\"")) + testutil.AssertEqual(t, []string{"foo", "bar", "baz,'buzz"}, SplitCSV("foo,bar,\"baz,'buzz\"")) + testutil.AssertEqual(t, []string{"foo", "bar", "baz,\"buzz\""}, SplitCSV("foo,bar,'baz,\"buzz\"'")) +} diff --git a/style.go b/style.go new file mode 100644 index 0000000..c601d6d --- /dev/null +++ b/style.go @@ -0,0 +1,480 @@ +package chart + +import ( + "fmt" + "strings" + + "github.com/golang/freetype/truetype" + "github.com/wcharczuk/go-chart/v2/drawing" +) + +const ( + // Disabled indicates if the value should be interpreted as set intentionally to zero. + // this is because golang optionals aren't here yet. + Disabled = -1 +) + +// Hidden is a prebuilt style with the `Hidden` property set to true. +func Hidden() Style { + return Style{ + Hidden: true, + } +} + +// Shown is a prebuilt style with the `Hidden` property set to false. +// You can also think of this as the default. +func Shown() Style { + return Style{ + Hidden: false, + } +} + +// StyleTextDefaults returns a style for drawing outside a +// chart context. +func StyleTextDefaults() Style { + font, _ := GetDefaultFont() + return Style{ + Hidden: false, + Font: font, + FontColor: DefaultTextColor, + FontSize: DefaultTitleFontSize, + } +} + +// Style is a simple style set. +type Style struct { + Hidden bool + Padding Box + + ClassName string + + StrokeWidth float64 + StrokeColor drawing.Color + StrokeDashArray []float64 + + DotColor drawing.Color + DotWidth float64 + + DotWidthProvider SizeProvider + DotColorProvider DotColorProvider + + FillColor drawing.Color + + FontSize float64 + FontColor drawing.Color + Font *truetype.Font + + TextHorizontalAlign TextHorizontalAlign + TextVerticalAlign TextVerticalAlign + TextWrap TextWrap + TextLineSpacing int + TextRotationDegrees float64 //0 is unset or normal +} + +// IsZero returns if the object is set or not. +func (s Style) IsZero() bool { + return !s.Hidden && + s.StrokeColor.IsZero() && + s.StrokeWidth == 0 && + s.DotColor.IsZero() && + s.DotWidth == 0 && + s.FillColor.IsZero() && + s.FontColor.IsZero() && + s.FontSize == 0 && + s.Font == nil && + s.ClassName == "" +} + +// String returns a text representation of the style. +func (s Style) String() string { + if s.IsZero() { + return "{}" + } + + var output []string + if s.Hidden { + output = []string{"\"hidden\": true"} + } else { + output = []string{"\"hidden\": false"} + } + + if s.ClassName != "" { + output = append(output, fmt.Sprintf("\"class_name\": %s", s.ClassName)) + } else { + output = append(output, "\"class_name\": null") + } + + if !s.Padding.IsZero() { + output = append(output, fmt.Sprintf("\"padding\": %s", s.Padding.String())) + } else { + output = append(output, "\"padding\": null") + } + + if s.StrokeWidth >= 0 { + output = append(output, fmt.Sprintf("\"stroke_width\": %0.2f", s.StrokeWidth)) + } else { + output = append(output, "\"stroke_width\": null") + } + + if !s.StrokeColor.IsZero() { + output = append(output, fmt.Sprintf("\"stroke_color\": %s", s.StrokeColor.String())) + } else { + output = append(output, "\"stroke_color\": null") + } + + if len(s.StrokeDashArray) > 0 { + var elements []string + for _, v := range s.StrokeDashArray { + elements = append(elements, fmt.Sprintf("%.2f", v)) + } + dashArray := strings.Join(elements, ", ") + output = append(output, fmt.Sprintf("\"stroke_dash_array\": [%s]", dashArray)) + } else { + output = append(output, "\"stroke_dash_array\": null") + } + + if s.DotWidth >= 0 { + output = append(output, fmt.Sprintf("\"dot_width\": %0.2f", s.DotWidth)) + } else { + output = append(output, "\"dot_width\": null") + } + + if !s.DotColor.IsZero() { + output = append(output, fmt.Sprintf("\"dot_color\": %s", s.DotColor.String())) + } else { + output = append(output, "\"dot_color\": null") + } + + if !s.FillColor.IsZero() { + output = append(output, fmt.Sprintf("\"fill_color\": %s", s.FillColor.String())) + } else { + output = append(output, "\"fill_color\": null") + } + + if s.FontSize != 0 { + output = append(output, fmt.Sprintf("\"font_size\": \"%0.2fpt\"", s.FontSize)) + } else { + output = append(output, "\"font_size\": null") + } + + if !s.FontColor.IsZero() { + output = append(output, fmt.Sprintf("\"font_color\": %s", s.FontColor.String())) + } else { + output = append(output, "\"font_color\": null") + } + + if s.Font != nil { + output = append(output, fmt.Sprintf("\"font\": \"%s\"", s.Font.Name(truetype.NameIDFontFamily))) + } else { + output = append(output, "\"font_color\": null") + } + + return "{" + strings.Join(output, ", ") + "}" +} + +// GetClassName returns the class name or a default. +func (s Style) GetClassName(defaults ...string) string { + if s.ClassName == "" { + if len(defaults) > 0 { + return defaults[0] + } + return "" + } + return s.ClassName +} + +// GetStrokeColor returns the stroke color. +func (s Style) GetStrokeColor(defaults ...drawing.Color) drawing.Color { + if s.StrokeColor.IsZero() { + if len(defaults) > 0 { + return defaults[0] + } + return drawing.ColorTransparent + } + return s.StrokeColor +} + +// GetFillColor returns the fill color. +func (s Style) GetFillColor(defaults ...drawing.Color) drawing.Color { + if s.FillColor.IsZero() { + if len(defaults) > 0 { + return defaults[0] + } + return drawing.ColorTransparent + } + return s.FillColor +} + +// GetDotColor returns the stroke color. +func (s Style) GetDotColor(defaults ...drawing.Color) drawing.Color { + if s.DotColor.IsZero() { + if len(defaults) > 0 { + return defaults[0] + } + return drawing.ColorTransparent + } + return s.DotColor +} + +// GetStrokeWidth returns the stroke width. +func (s Style) GetStrokeWidth(defaults ...float64) float64 { + if s.StrokeWidth == 0 { + if len(defaults) > 0 { + return defaults[0] + } + return DefaultStrokeWidth + } + return s.StrokeWidth +} + +// GetDotWidth returns the dot width for scatter plots. +func (s Style) GetDotWidth(defaults ...float64) float64 { + if s.DotWidth == 0 { + if len(defaults) > 0 { + return defaults[0] + } + return DefaultDotWidth + } + return s.DotWidth +} + +// GetStrokeDashArray returns the stroke dash array. +func (s Style) GetStrokeDashArray(defaults ...[]float64) []float64 { + if len(s.StrokeDashArray) == 0 { + if len(defaults) > 0 { + return defaults[0] + } + return nil + } + return s.StrokeDashArray +} + +// GetFontSize gets the font size. +func (s Style) GetFontSize(defaults ...float64) float64 { + if s.FontSize == 0 { + if len(defaults) > 0 { + return defaults[0] + } + return DefaultFontSize + } + return s.FontSize +} + +// GetFontColor gets the font size. +func (s Style) GetFontColor(defaults ...drawing.Color) drawing.Color { + if s.FontColor.IsZero() { + if len(defaults) > 0 { + return defaults[0] + } + return drawing.ColorTransparent + } + return s.FontColor +} + +// GetFont returns the font face. +func (s Style) GetFont(defaults ...*truetype.Font) *truetype.Font { + if s.Font == nil { + if len(defaults) > 0 { + return defaults[0] + } + return nil + } + return s.Font +} + +// GetPadding returns the padding. +func (s Style) GetPadding(defaults ...Box) Box { + if s.Padding.IsZero() { + if len(defaults) > 0 { + return defaults[0] + } + return Box{} + } + return s.Padding +} + +// GetTextHorizontalAlign returns the horizontal alignment. +func (s Style) GetTextHorizontalAlign(defaults ...TextHorizontalAlign) TextHorizontalAlign { + if s.TextHorizontalAlign == TextHorizontalAlignUnset { + if len(defaults) > 0 { + return defaults[0] + } + return TextHorizontalAlignUnset + } + return s.TextHorizontalAlign +} + +// GetTextVerticalAlign returns the vertical alignment. +func (s Style) GetTextVerticalAlign(defaults ...TextVerticalAlign) TextVerticalAlign { + if s.TextVerticalAlign == TextVerticalAlignUnset { + if len(defaults) > 0 { + return defaults[0] + } + return TextVerticalAlignUnset + } + return s.TextVerticalAlign +} + +// GetTextWrap returns the word wrap. +func (s Style) GetTextWrap(defaults ...TextWrap) TextWrap { + if s.TextWrap == TextWrapUnset { + if len(defaults) > 0 { + return defaults[0] + } + return TextWrapUnset + } + return s.TextWrap +} + +// GetTextLineSpacing returns the spacing in pixels between lines of text (vertically). +func (s Style) GetTextLineSpacing(defaults ...int) int { + if s.TextLineSpacing == 0 { + if len(defaults) > 0 { + return defaults[0] + } + return DefaultLineSpacing + } + return s.TextLineSpacing +} + +// GetTextRotationDegrees returns the text rotation in degrees. +func (s Style) GetTextRotationDegrees(defaults ...float64) float64 { + if s.TextRotationDegrees == 0 { + if len(defaults) > 0 { + return defaults[0] + } + } + return s.TextRotationDegrees +} + +// WriteToRenderer passes the style's options to a renderer. +func (s Style) WriteToRenderer(r Renderer) { + r.SetClassName(s.GetClassName()) + r.SetStrokeColor(s.GetStrokeColor()) + r.SetStrokeWidth(s.GetStrokeWidth()) + r.SetStrokeDashArray(s.GetStrokeDashArray()) + r.SetFillColor(s.GetFillColor()) + r.SetFont(s.GetFont()) + r.SetFontColor(s.GetFontColor()) + r.SetFontSize(s.GetFontSize()) + + r.ClearTextRotation() + if s.GetTextRotationDegrees() != 0 { + r.SetTextRotation(DegreesToRadians(s.GetTextRotationDegrees())) + } +} + +// WriteDrawingOptionsToRenderer passes just the drawing style options to a renderer. +func (s Style) WriteDrawingOptionsToRenderer(r Renderer) { + r.SetClassName(s.GetClassName()) + r.SetStrokeColor(s.GetStrokeColor()) + r.SetStrokeWidth(s.GetStrokeWidth()) + r.SetStrokeDashArray(s.GetStrokeDashArray()) + r.SetFillColor(s.GetFillColor()) +} + +// WriteTextOptionsToRenderer passes just the text style options to a renderer. +func (s Style) WriteTextOptionsToRenderer(r Renderer) { + r.SetClassName(s.GetClassName()) + r.SetFont(s.GetFont()) + r.SetFontColor(s.GetFontColor()) + r.SetFontSize(s.GetFontSize()) +} + +// InheritFrom coalesces two styles into a new style. +func (s Style) InheritFrom(defaults Style) (final Style) { + final.ClassName = s.GetClassName(defaults.ClassName) + + final.StrokeColor = s.GetStrokeColor(defaults.StrokeColor) + final.StrokeWidth = s.GetStrokeWidth(defaults.StrokeWidth) + final.StrokeDashArray = s.GetStrokeDashArray(defaults.StrokeDashArray) + + final.DotColor = s.GetDotColor(defaults.DotColor) + final.DotWidth = s.GetDotWidth(defaults.DotWidth) + + final.DotWidthProvider = s.DotWidthProvider + final.DotColorProvider = s.DotColorProvider + + final.FillColor = s.GetFillColor(defaults.FillColor) + final.FontColor = s.GetFontColor(defaults.FontColor) + final.FontSize = s.GetFontSize(defaults.FontSize) + final.Font = s.GetFont(defaults.Font) + final.Padding = s.GetPadding(defaults.Padding) + final.TextHorizontalAlign = s.GetTextHorizontalAlign(defaults.TextHorizontalAlign) + final.TextVerticalAlign = s.GetTextVerticalAlign(defaults.TextVerticalAlign) + final.TextWrap = s.GetTextWrap(defaults.TextWrap) + final.TextLineSpacing = s.GetTextLineSpacing(defaults.TextLineSpacing) + final.TextRotationDegrees = s.GetTextRotationDegrees(defaults.TextRotationDegrees) + + return +} + +// GetStrokeOptions returns the stroke components. +func (s Style) GetStrokeOptions() Style { + return Style{ + ClassName: s.ClassName, + StrokeDashArray: s.StrokeDashArray, + StrokeColor: s.StrokeColor, + StrokeWidth: s.StrokeWidth, + } +} + +// GetFillOptions returns the fill components. +func (s Style) GetFillOptions() Style { + return Style{ + ClassName: s.ClassName, + FillColor: s.FillColor, + } +} + +// GetDotOptions returns the dot components. +func (s Style) GetDotOptions() Style { + return Style{ + ClassName: s.ClassName, + StrokeDashArray: nil, + FillColor: s.DotColor, + StrokeColor: s.DotColor, + StrokeWidth: 1.0, + } +} + +// GetFillAndStrokeOptions returns the fill and stroke components. +func (s Style) GetFillAndStrokeOptions() Style { + return Style{ + ClassName: s.ClassName, + StrokeDashArray: s.StrokeDashArray, + FillColor: s.FillColor, + StrokeColor: s.StrokeColor, + StrokeWidth: s.StrokeWidth, + } +} + +// GetTextOptions returns just the text components of the style. +func (s Style) GetTextOptions() Style { + return Style{ + ClassName: s.ClassName, + FontColor: s.FontColor, + FontSize: s.FontSize, + Font: s.Font, + TextHorizontalAlign: s.TextHorizontalAlign, + TextVerticalAlign: s.TextVerticalAlign, + TextWrap: s.TextWrap, + TextLineSpacing: s.TextLineSpacing, + TextRotationDegrees: s.TextRotationDegrees, + } +} + +// ShouldDrawStroke tells drawing functions if they should draw the stroke. +func (s Style) ShouldDrawStroke() bool { + return !s.StrokeColor.IsZero() && s.StrokeWidth > 0 +} + +// ShouldDrawDot tells drawing functions if they should draw the dot. +func (s Style) ShouldDrawDot() bool { + return (!s.DotColor.IsZero() && s.DotWidth > 0) || s.DotColorProvider != nil || s.DotWidthProvider != nil +} + +// ShouldDrawFill tells drawing functions if they should draw the stroke. +func (s Style) ShouldDrawFill() bool { + return !s.FillColor.IsZero() +} diff --git a/style_test.go b/style_test.go new file mode 100644 index 0000000..5cc1c08 --- /dev/null +++ b/style_test.go @@ -0,0 +1,214 @@ +package chart + +import ( + "testing" + + "github.com/golang/freetype/truetype" + "github.com/wcharczuk/go-chart/v2/drawing" + "github.com/wcharczuk/go-chart/v2/testutil" +) + +func TestStyleIsZero(t *testing.T) { + // replaced new assertions helper + zero := Style{} + testutil.AssertTrue(t, zero.IsZero()) + + strokeColor := Style{StrokeColor: drawing.ColorWhite} + testutil.AssertFalse(t, strokeColor.IsZero()) + + fillColor := Style{FillColor: drawing.ColorWhite} + testutil.AssertFalse(t, fillColor.IsZero()) + + strokeWidth := Style{StrokeWidth: 5.0} + testutil.AssertFalse(t, strokeWidth.IsZero()) + + fontSize := Style{FontSize: 12.0} + testutil.AssertFalse(t, fontSize.IsZero()) + + fontColor := Style{FontColor: drawing.ColorWhite} + testutil.AssertFalse(t, fontColor.IsZero()) + + font := Style{Font: &truetype.Font{}} + testutil.AssertFalse(t, font.IsZero()) +} + +func TestStyleGetStrokeColor(t *testing.T) { + // replaced new assertions helper + + unset := Style{} + testutil.AssertEqual(t, drawing.ColorTransparent, unset.GetStrokeColor()) + testutil.AssertEqual(t, drawing.ColorWhite, unset.GetStrokeColor(drawing.ColorWhite)) + + set := Style{StrokeColor: drawing.ColorWhite} + testutil.AssertEqual(t, drawing.ColorWhite, set.GetStrokeColor()) + testutil.AssertEqual(t, drawing.ColorWhite, set.GetStrokeColor(drawing.ColorBlack)) +} + +func TestStyleGetFillColor(t *testing.T) { + // replaced new assertions helper + + unset := Style{} + testutil.AssertEqual(t, drawing.ColorTransparent, unset.GetFillColor()) + testutil.AssertEqual(t, drawing.ColorWhite, unset.GetFillColor(drawing.ColorWhite)) + + set := Style{FillColor: drawing.ColorWhite} + testutil.AssertEqual(t, drawing.ColorWhite, set.GetFillColor()) + testutil.AssertEqual(t, drawing.ColorWhite, set.GetFillColor(drawing.ColorBlack)) +} + +func TestStyleGetStrokeWidth(t *testing.T) { + // replaced new assertions helper + + unset := Style{} + testutil.AssertEqual(t, DefaultStrokeWidth, unset.GetStrokeWidth()) + testutil.AssertEqual(t, DefaultStrokeWidth+1, unset.GetStrokeWidth(DefaultStrokeWidth+1)) + + set := Style{StrokeWidth: DefaultStrokeWidth + 2} + testutil.AssertEqual(t, DefaultStrokeWidth+2, set.GetStrokeWidth()) + testutil.AssertEqual(t, DefaultStrokeWidth+2, set.GetStrokeWidth(DefaultStrokeWidth+1)) +} + +func TestStyleGetFontSize(t *testing.T) { + // replaced new assertions helper + + unset := Style{} + testutil.AssertEqual(t, DefaultFontSize, unset.GetFontSize()) + testutil.AssertEqual(t, DefaultFontSize+1, unset.GetFontSize(DefaultFontSize+1)) + + set := Style{FontSize: DefaultFontSize + 2} + testutil.AssertEqual(t, DefaultFontSize+2, set.GetFontSize()) + testutil.AssertEqual(t, DefaultFontSize+2, set.GetFontSize(DefaultFontSize+1)) +} + +func TestStyleGetFontColor(t *testing.T) { + // replaced new assertions helper + + unset := Style{} + testutil.AssertEqual(t, drawing.ColorTransparent, unset.GetFontColor()) + testutil.AssertEqual(t, drawing.ColorWhite, unset.GetFontColor(drawing.ColorWhite)) + + set := Style{FontColor: drawing.ColorWhite} + testutil.AssertEqual(t, drawing.ColorWhite, set.GetFontColor()) + testutil.AssertEqual(t, drawing.ColorWhite, set.GetFontColor(drawing.ColorBlack)) +} + +func TestStyleGetFont(t *testing.T) { + // replaced new assertions helper + + f, err := GetDefaultFont() + testutil.AssertNil(t, err) + + unset := Style{} + testutil.AssertNil(t, unset.GetFont()) + testutil.AssertEqual(t, f, unset.GetFont(f)) + + set := Style{Font: f} + testutil.AssertNotNil(t, set.GetFont()) +} + +func TestStyleGetPadding(t *testing.T) { + // replaced new assertions helper + + unset := Style{} + testutil.AssertTrue(t, unset.GetPadding().IsZero()) + testutil.AssertFalse(t, unset.GetPadding(DefaultBackgroundPadding).IsZero()) + testutil.AssertEqual(t, DefaultBackgroundPadding, unset.GetPadding(DefaultBackgroundPadding)) + + set := Style{Padding: DefaultBackgroundPadding} + testutil.AssertFalse(t, set.GetPadding().IsZero()) + testutil.AssertEqual(t, DefaultBackgroundPadding, set.GetPadding()) + testutil.AssertEqual(t, DefaultBackgroundPadding, set.GetPadding(Box{ + Top: DefaultBackgroundPadding.Top + 1, + Left: DefaultBackgroundPadding.Left + 1, + Right: DefaultBackgroundPadding.Right + 1, + Bottom: DefaultBackgroundPadding.Bottom + 1, + })) +} + +func TestStyleWithDefaultsFrom(t *testing.T) { + // replaced new assertions helper + + f, err := GetDefaultFont() + testutil.AssertNil(t, err) + + unset := Style{} + set := Style{ + StrokeColor: drawing.ColorWhite, + StrokeWidth: 5.0, + FillColor: drawing.ColorWhite, + FontColor: drawing.ColorWhite, + Font: f, + Padding: DefaultBackgroundPadding, + } + + coalesced := unset.InheritFrom(set) + testutil.AssertEqual(t, set, coalesced) +} + +func TestStyleGetStrokeOptions(t *testing.T) { + // replaced new assertions helper + + set := Style{ + StrokeColor: drawing.ColorWhite, + StrokeWidth: 5.0, + FillColor: drawing.ColorWhite, + FontColor: drawing.ColorWhite, + Padding: DefaultBackgroundPadding, + } + svgStroke := set.GetStrokeOptions() + testutil.AssertFalse(t, svgStroke.StrokeColor.IsZero()) + testutil.AssertNotZero(t, svgStroke.StrokeWidth) + testutil.AssertTrue(t, svgStroke.FillColor.IsZero()) + testutil.AssertTrue(t, svgStroke.FontColor.IsZero()) +} + +func TestStyleGetFillOptions(t *testing.T) { + // replaced new assertions helper + + set := Style{ + StrokeColor: drawing.ColorWhite, + StrokeWidth: 5.0, + FillColor: drawing.ColorWhite, + FontColor: drawing.ColorWhite, + Padding: DefaultBackgroundPadding, + } + svgFill := set.GetFillOptions() + testutil.AssertFalse(t, svgFill.FillColor.IsZero()) + testutil.AssertZero(t, svgFill.StrokeWidth) + testutil.AssertTrue(t, svgFill.StrokeColor.IsZero()) + testutil.AssertTrue(t, svgFill.FontColor.IsZero()) +} + +func TestStyleGetFillAndStrokeOptions(t *testing.T) { + // replaced new assertions helper + + set := Style{ + StrokeColor: drawing.ColorWhite, + StrokeWidth: 5.0, + FillColor: drawing.ColorWhite, + FontColor: drawing.ColorWhite, + Padding: DefaultBackgroundPadding, + } + svgFillAndStroke := set.GetFillAndStrokeOptions() + testutil.AssertFalse(t, svgFillAndStroke.FillColor.IsZero()) + testutil.AssertNotZero(t, svgFillAndStroke.StrokeWidth) + testutil.AssertFalse(t, svgFillAndStroke.StrokeColor.IsZero()) + testutil.AssertTrue(t, svgFillAndStroke.FontColor.IsZero()) +} + +func TestStyleGetTextOptions(t *testing.T) { + // replaced new assertions helper + + set := Style{ + StrokeColor: drawing.ColorWhite, + StrokeWidth: 5.0, + FillColor: drawing.ColorWhite, + FontColor: drawing.ColorWhite, + Padding: DefaultBackgroundPadding, + } + svgStroke := set.GetTextOptions() + testutil.AssertTrue(t, svgStroke.StrokeColor.IsZero()) + testutil.AssertZero(t, svgStroke.StrokeWidth) + testutil.AssertTrue(t, svgStroke.FillColor.IsZero()) + testutil.AssertFalse(t, svgStroke.FontColor.IsZero()) +} diff --git a/testutil/helpers.go b/testutil/helpers.go new file mode 100644 index 0000000..899d4e5 --- /dev/null +++ b/testutil/helpers.go @@ -0,0 +1,216 @@ +package testutil + +import ( + "math" + "reflect" + "strings" + "testing" +) + +// AssertNil asserts an argument is nil. +func AssertNil(t *testing.T, actual interface{}) { + t.Helper() + if !isNil(actual) { + t.Errorf("assertion failed; expected actual to be nil") + t.FailNow() + } +} + +// AssertNotNil asserts an argument is not nil. +func AssertNotNil(t *testing.T, actual interface{}, message ...interface{}) { + t.Helper() + if isNil(actual) { + t.Error("assertion failed; expected actual to not be nil") + if len(message) > 0 { + t.Error(message...) + } + t.FailNow() + } +} + +// AssertEqual asserts two arguments are equal. +func AssertEqual(t *testing.T, expected, actual interface{}, message ...interface{}) { + t.Helper() + if !equal(expected, actual) { + t.Errorf("assertion failed; expected %v to equal %v", actual, expected) + if len(message) > 0 { + t.Error(message...) + } + t.FailNow() + } +} + +// AssertNotEqual asserts two arguments are not equal. +func AssertNotEqual(t *testing.T, expected, actual interface{}, message ...interface{}) { + t.Helper() + if equal(expected, actual) { + t.Errorf("assertion failed; expected %v to not equal %v", actual, expected) + if len(message) > 0 { + t.Error(message...) + } + t.FailNow() + } +} + +// AssertZero asserts an argument is zero. +func AssertZero(t *testing.T, actual interface{}, message ...interface{}) { + t.Helper() + AssertEqual(t, 0, actual) +} + +// AssertNotZero asserts an argument is not zero. +func AssertNotZero(t *testing.T, actual interface{}, message ...interface{}) { + t.Helper() + AssertNotEqual(t, 0, actual) +} + +// AssertTrue asserts an argument is true. +func AssertTrue(t *testing.T, arg bool, message ...interface{}) { + t.Helper() + if !arg { + t.Errorf("assertion failed; expected actual to be true") + if len(message) > 0 { + t.Error(message...) + } + t.FailNow() + } +} + +// AssertFalse asserts an argument is false. +func AssertFalse(t *testing.T, arg bool, message ...interface{}) { + t.Helper() + if arg { + t.Errorf("assertion failed; expected actual to be false") + if len(message) > 0 { + t.Error(message...) + } + t.FailNow() + } +} + +// AssertInDelta asserts a two arguments are within a delta of eachother. +// +// This delta will be determined absolute, and the delta should always be positive. +func AssertInDelta(t *testing.T, from, to, delta float64, message ...interface{}) { + t.Helper() + if diff := math.Abs(from - to); diff > delta { + t.Errorf("assertion failed; expected absolute difference of %f and %f to be %f", from, to, delta) + if len(message) > 0 { + t.Error(message...) + } + t.FailNow() + } +} + +// AssertEmpty asserts an argument is empty. +func AssertEmpty(t *testing.T, arg interface{}, message ...interface{}) { + t.Helper() + if getLength(arg) != 0 { + t.Errorf("assertion failed; expected actual to be empty") + if len(message) > 0 { + t.Error(message...) + } + t.FailNow() + } +} + +// AssertNotEmpty asserts an argument is not empty. +func AssertNotEmpty(t *testing.T, arg interface{}, message ...interface{}) { + t.Helper() + if getLength(arg) == 0 { + t.Errorf("assertion failed; expected actual to not be empty") + if len(message) > 0 { + t.Error(message...) + } + t.FailNow() + } +} + +// AssertLen asserts an argument has a given length. +func AssertLen(t *testing.T, arg interface{}, length int, message ...interface{}) { + t.Helper() + if getLength(arg) != length { + t.Errorf("assertion failed; expected actual to have length %d", length) + if len(message) > 0 { + t.Error(message...) + } + t.FailNow() + } +} + +// AssertContains asserts an argument contains a given substring. +func AssertContains(t *testing.T, s, substr string, message ...interface{}) { + t.Helper() + if !strings.Contains(s, substr) { + t.Errorf("assertion failed; expected actual to contain %q", substr) + if len(message) > 0 { + t.Error(message...) + } + t.FailNow() + } +} + +// AssertNotContains asserts an argument does not contain a given substring. +func AssertNotContains(t *testing.T, s, substr string, message ...interface{}) { + t.Helper() + if strings.Contains(s, substr) { + t.Errorf("assertion failed; expected actual to not contain %q", substr) + if len(message) > 0 { + t.Error(message...) + } + t.FailNow() + } +} + +func equal(expected, actual interface{}) bool { + if expected == nil && actual == nil { + return true + } + if (expected == nil && actual != nil) || (expected != nil && actual == nil) { + return false + } + + actualType := reflect.TypeOf(actual) + if actualType == nil { + return false + } + expectedValue := reflect.ValueOf(expected) + if expectedValue.IsValid() && expectedValue.Type().ConvertibleTo(actualType) { + return reflect.DeepEqual(expectedValue.Convert(actualType).Interface(), actual) + } + + return reflect.DeepEqual(expected, actual) +} + +func isNil(object interface{}) bool { + if object == nil { + return true + } + + value := reflect.ValueOf(object) + kind := value.Kind() + if kind >= reflect.Chan && kind <= reflect.Slice && value.IsNil() { + return true + } + return false +} + +func getLength(object interface{}) int { + if object == nil { + return 0 + } else if object == "" { + return 0 + } + + objValue := reflect.ValueOf(object) + + switch objValue.Kind() { + case reflect.Map: + fallthrough + case reflect.Slice, reflect.Chan, reflect.String: + { + return objValue.Len() + } + } + return 0 +} diff --git a/text.go b/text.go new file mode 100644 index 0000000..0a9dfd0 --- /dev/null +++ b/text.go @@ -0,0 +1,166 @@ +package chart + +import ( + "strings" +) + +// TextHorizontalAlign is an enum for the horizontal alignment options. +type TextHorizontalAlign int + +const ( + // TextHorizontalAlignUnset is the unset state for text horizontal alignment. + TextHorizontalAlignUnset TextHorizontalAlign = 0 + // TextHorizontalAlignLeft aligns a string horizontally so that it's left ligature starts at horizontal pixel 0. + TextHorizontalAlignLeft TextHorizontalAlign = 1 + // TextHorizontalAlignCenter left aligns a string horizontally so that there are equal pixels + // to the left and to the right of a string within a box. + TextHorizontalAlignCenter TextHorizontalAlign = 2 + // TextHorizontalAlignRight right aligns a string horizontally so that the right ligature ends at the right-most pixel + // of a box. + TextHorizontalAlignRight TextHorizontalAlign = 3 +) + +// TextWrap is an enum for the word wrap options. +type TextWrap int + +const ( + // TextWrapUnset is the unset state for text wrap options. + TextWrapUnset TextWrap = 0 + // TextWrapNone will spill text past horizontal boundaries. + TextWrapNone TextWrap = 1 + // TextWrapWord will split a string on words (i.e. spaces) to fit within a horizontal boundary. + TextWrapWord TextWrap = 2 + // TextWrapRune will split a string on a rune (i.e. utf-8 codepage) to fit within a horizontal boundary. + TextWrapRune TextWrap = 3 +) + +// TextVerticalAlign is an enum for the vertical alignment options. +type TextVerticalAlign int + +const ( + // TextVerticalAlignUnset is the unset state for vertical alignment options. + TextVerticalAlignUnset TextVerticalAlign = 0 + // TextVerticalAlignBaseline aligns text according to the "baseline" of the string, or where a normal ascender begins. + TextVerticalAlignBaseline TextVerticalAlign = 1 + // TextVerticalAlignBottom aligns the text according to the lowers pixel of any of the ligatures (ex. g or q both extend below the baseline). + TextVerticalAlignBottom TextVerticalAlign = 2 + // TextVerticalAlignMiddle aligns the text so that there is an equal amount of space above and below the top and bottom of the ligatures. + TextVerticalAlignMiddle TextVerticalAlign = 3 + // TextVerticalAlignMiddleBaseline aligns the text vertically so that there is an equal number of pixels above and below the baseline of the string. + TextVerticalAlignMiddleBaseline TextVerticalAlign = 4 + // TextVerticalAlignTop alignts the text so that the top of the ligatures are at y-pixel 0 in the container. + TextVerticalAlignTop TextVerticalAlign = 5 +) + +var ( + // Text contains utilities for text. + Text = &text{} +) + +// TextStyle encapsulates text style options. +type TextStyle struct { + HorizontalAlign TextHorizontalAlign + VerticalAlign TextVerticalAlign + Wrap TextWrap +} + +type text struct{} + +func (t text) WrapFit(r Renderer, value string, width int, style Style) []string { + switch style.TextWrap { + case TextWrapRune: + return t.WrapFitRune(r, value, width, style) + case TextWrapWord: + return t.WrapFitWord(r, value, width, style) + } + return []string{value} +} + +func (t text) WrapFitWord(r Renderer, value string, width int, style Style) []string { + style.WriteToRenderer(r) + + var output []string + var line string + var word string + + var textBox Box + + for _, c := range value { + if c == rune('\n') { // commit the line to output + output = append(output, t.Trim(line+word)) + line = "" + word = "" + continue + } + + textBox = r.MeasureText(line + word + string(c)) + + if textBox.Width() >= width { + output = append(output, t.Trim(line)) + line = word + word = string(c) + continue + } + + if c == rune(' ') || c == rune('\t') { + line = line + word + string(c) + word = "" + continue + } + word = word + string(c) + } + + return append(output, t.Trim(line+word)) +} + +func (t text) WrapFitRune(r Renderer, value string, width int, style Style) []string { + style.WriteToRenderer(r) + + var output []string + var line string + var textBox Box + for _, c := range value { + if c == rune('\n') { + output = append(output, line) + line = "" + continue + } + + textBox = r.MeasureText(line + string(c)) + + if textBox.Width() >= width { + output = append(output, line) + line = string(c) + continue + } + line = line + string(c) + } + return t.appendLast(output, line) +} + +func (t text) Trim(value string) string { + return strings.Trim(value, " \t\n\r") +} + +func (t text) MeasureLines(r Renderer, lines []string, style Style) Box { + style.WriteTextOptionsToRenderer(r) + var output Box + for index, line := range lines { + lineBox := r.MeasureText(line) + output.Right = MaxInt(lineBox.Right, output.Right) + output.Bottom += lineBox.Height() + if index < len(lines)-1 { + output.Bottom += +style.GetTextLineSpacing() + } + } + return output +} + +func (t text) appendLast(lines []string, text string) []string { + if len(lines) == 0 { + return []string{text} + } + lastLine := lines[len(lines)-1] + lines[len(lines)-1] = lastLine + text + return lines +} diff --git a/text_test.go b/text_test.go new file mode 100644 index 0000000..4f1e209 --- /dev/null +++ b/text_test.go @@ -0,0 +1,60 @@ +package chart + +import ( + "testing" + + "github.com/wcharczuk/go-chart/v2/testutil" +) + +func TestTextWrapWord(t *testing.T) { + // replaced new assertions helper + + r, err := PNG(1024, 1024) + testutil.AssertNil(t, err) + f, err := GetDefaultFont() + testutil.AssertNil(t, err) + + basicTextStyle := Style{Font: f, FontSize: 24} + + output := Text.WrapFitWord(r, "this is a test string", 100, basicTextStyle) + testutil.AssertNotEmpty(t, output) + testutil.AssertLen(t, output, 3) + + for _, line := range output { + basicTextStyle.WriteToRenderer(r) + lineBox := r.MeasureText(line) + testutil.AssertTrue(t, lineBox.Width() < 100, line+": "+lineBox.String()) + } + testutil.AssertEqual(t, "this is", output[0]) + testutil.AssertEqual(t, "a test", output[1]) + testutil.AssertEqual(t, "string", output[2]) + + output = Text.WrapFitWord(r, "foo", 100, basicTextStyle) + testutil.AssertLen(t, output, 1) + testutil.AssertEqual(t, "foo", output[0]) + + // test that it handles newlines. + output = Text.WrapFitWord(r, "this\nis\na\ntest\nstring", 100, basicTextStyle) + testutil.AssertLen(t, output, 5) + + // test that it handles newlines and long lines. + output = Text.WrapFitWord(r, "this\nis\na\ntest\nstring that is very long", 100, basicTextStyle) + testutil.AssertLen(t, output, 8) +} + +func TestTextWrapRune(t *testing.T) { + // replaced new assertions helper + + r, err := PNG(1024, 1024) + testutil.AssertNil(t, err) + f, err := GetDefaultFont() + testutil.AssertNil(t, err) + + basicTextStyle := Style{Font: f, FontSize: 24} + + output := Text.WrapFitRune(r, "this is a test string", 150, basicTextStyle) + testutil.AssertNotEmpty(t, output) + testutil.AssertLen(t, output, 2) + testutil.AssertEqual(t, "this is a t", output[0]) + testutil.AssertEqual(t, "est string", output[1]) +} diff --git a/tick.go b/tick.go new file mode 100644 index 0000000..1732c60 --- /dev/null +++ b/tick.go @@ -0,0 +1,115 @@ +package chart + +import ( + "fmt" + "math" + "strings" +) + +// TicksProvider is a type that provides ticks. +type TicksProvider interface { + GetTicks(r Renderer, defaults Style, vf ValueFormatter) []Tick +} + +// Tick represents a label on an axis. +type Tick struct { + Value float64 + Label string +} + +// Ticks is an array of ticks. +type Ticks []Tick + +// Len returns the length of the ticks set. +func (t Ticks) Len() int { + return len(t) +} + +// Swap swaps two elements. +func (t Ticks) Swap(i, j int) { + t[i], t[j] = t[j], t[i] +} + +// Less returns if i's value is less than j's value. +func (t Ticks) Less(i, j int) bool { + return t[i].Value < t[j].Value +} + +// String returns a string representation of the set of ticks. +func (t Ticks) String() string { + var values []string + for i, tick := range t { + values = append(values, fmt.Sprintf("[%d: %s]", i, tick.Label)) + } + return strings.Join(values, ", ") +} + +// GenerateContinuousTicks generates a set of ticks. +func GenerateContinuousTicks(r Renderer, ra Range, isVertical bool, style Style, vf ValueFormatter) []Tick { + if vf == nil { + vf = FloatValueFormatter + } + + var ticks []Tick + min, max := ra.GetMin(), ra.GetMax() + + if ra.IsDescending() { + ticks = append(ticks, Tick{ + Value: max, + Label: vf(max), + }) + } else { + ticks = append(ticks, Tick{ + Value: min, + Label: vf(min), + }) + } + + minLabel := vf(min) + style.GetTextOptions().WriteToRenderer(r) + labelBox := r.MeasureText(minLabel) + + var tickSize float64 + if isVertical { + tickSize = float64(labelBox.Height() + DefaultMinimumTickVerticalSpacing) + } else { + tickSize = float64(labelBox.Width() + DefaultMinimumTickHorizontalSpacing) + } + + domain := float64(ra.GetDomain()) + domainRemainder := domain - (tickSize * 2) + intermediateTickCount := int(math.Floor(float64(domainRemainder) / float64(tickSize))) + + rangeDelta := math.Abs(max - min) + tickStep := rangeDelta / float64(intermediateTickCount) + + roundTo := GetRoundToForDelta(rangeDelta) / 10 + intermediateTickCount = MinInt(intermediateTickCount, DefaultTickCountSanityCheck) + + for x := 1; x < intermediateTickCount; x++ { + var tickValue float64 + if ra.IsDescending() { + tickValue = max - RoundUp(tickStep*float64(x), roundTo) + } else { + tickValue = min + RoundUp(tickStep*float64(x), roundTo) + } + ticks = append(ticks, Tick{ + Value: tickValue, + Label: vf(tickValue), + }) + } + + if ra.IsDescending() { + ticks = append(ticks, Tick{ + Value: min, + Label: vf(min), + }) + } else { + ticks = append(ticks, Tick{ + Value: max, + Label: vf(max), + }) + } + + return ticks +} diff --git a/tick_test.go b/tick_test.go new file mode 100644 index 0000000..9ea0ef2 --- /dev/null +++ b/tick_test.go @@ -0,0 +1,60 @@ +package chart + +import ( + "testing" + + "github.com/wcharczuk/go-chart/v2/testutil" +) + +func TestGenerateContinuousTicks(t *testing.T) { + // replaced new assertions helper + + f, err := GetDefaultFont() + testutil.AssertNil(t, err) + + r, err := PNG(1024, 1024) + testutil.AssertNil(t, err) + r.SetFont(f) + + ra := &ContinuousRange{ + Min: 0.0, + Max: 10.0, + Domain: 256, + } + + vf := FloatValueFormatter + + ticks := GenerateContinuousTicks(r, ra, false, Style{}, vf) + testutil.AssertNotEmpty(t, ticks) + testutil.AssertLen(t, ticks, 11) + testutil.AssertEqual(t, 0.0, ticks[0].Value) + testutil.AssertEqual(t, 10, ticks[len(ticks)-1].Value) +} + +func TestGenerateContinuousTicksDescending(t *testing.T) { + // replaced new assertions helper + + f, err := GetDefaultFont() + testutil.AssertNil(t, err) + + r, err := PNG(1024, 1024) + testutil.AssertNil(t, err) + r.SetFont(f) + + ra := &ContinuousRange{ + Min: 0.0, + Max: 10.0, + Domain: 256, + Descending: true, + } + + vf := FloatValueFormatter + + ticks := GenerateContinuousTicks(r, ra, false, Style{}, vf) + testutil.AssertNotEmpty(t, ticks) + testutil.AssertLen(t, ticks, 11) + testutil.AssertEqual(t, 10.0, ticks[0].Value) + testutil.AssertEqual(t, 9.0, ticks[1].Value) + testutil.AssertEqual(t, 1.0, ticks[len(ticks)-2].Value) + testutil.AssertEqual(t, 0.0, ticks[len(ticks)-1].Value) +} diff --git a/time_series.go b/time_series.go new file mode 100644 index 0000000..83ee905 --- /dev/null +++ b/time_series.go @@ -0,0 +1,91 @@ +package chart + +import ( + "fmt" + "time" +) + +// Interface Assertions. +var ( + _ Series = (*TimeSeries)(nil) + _ FirstValuesProvider = (*TimeSeries)(nil) + _ LastValuesProvider = (*TimeSeries)(nil) + _ ValueFormatterProvider = (*TimeSeries)(nil) +) + +// TimeSeries is a line on a chart. +type TimeSeries struct { + Name string + Style Style + + YAxis YAxisType + + XValues []time.Time + YValues []float64 +} + +// GetName returns the name of the time series. +func (ts TimeSeries) GetName() string { + return ts.Name +} + +// GetStyle returns the line style. +func (ts TimeSeries) GetStyle() Style { + return ts.Style +} + +// Len returns the number of elements in the series. +func (ts TimeSeries) Len() int { + return len(ts.XValues) +} + +// GetValues gets x, y values at a given index. +func (ts TimeSeries) GetValues(index int) (x, y float64) { + x = TimeToFloat64(ts.XValues[index]) + y = ts.YValues[index] + return +} + +// GetFirstValues gets the first values. +func (ts TimeSeries) GetFirstValues() (x, y float64) { + x = TimeToFloat64(ts.XValues[0]) + y = ts.YValues[0] + return +} + +// GetLastValues gets the last values. +func (ts TimeSeries) GetLastValues() (x, y float64) { + x = TimeToFloat64(ts.XValues[len(ts.XValues)-1]) + y = ts.YValues[len(ts.YValues)-1] + return +} + +// GetValueFormatters returns value formatter defaults for the series. +func (ts TimeSeries) GetValueFormatters() (x, y ValueFormatter) { + x = TimeValueFormatter + y = FloatValueFormatter + return +} + +// GetYAxis returns which YAxis the series draws on. +func (ts TimeSeries) GetYAxis() YAxisType { + return ts.YAxis +} + +// Render renders the series. +func (ts TimeSeries) Render(r Renderer, canvasBox Box, xrange, yrange Range, defaults Style) { + style := ts.Style.InheritFrom(defaults) + Draw.LineSeries(r, canvasBox, xrange, yrange, style, ts) +} + +// Validate validates the series. +func (ts TimeSeries) Validate() error { + if len(ts.XValues) == 0 { + return fmt.Errorf("time series must have xvalues set") + } + + if len(ts.YValues) == 0 { + return fmt.Errorf("time series must have yvalues set") + } + return nil +} diff --git a/time_series_test.go b/time_series_test.go new file mode 100644 index 0000000..3f65eaf --- /dev/null +++ b/time_series_test.go @@ -0,0 +1,69 @@ +package chart + +import ( + "testing" + "time" + + "github.com/wcharczuk/go-chart/v2/testutil" +) + +func TestTimeSeriesGetValue(t *testing.T) { + // replaced new assertions helper + + ts := TimeSeries{ + Name: "Test", + XValues: []time.Time{ + time.Now().AddDate(0, 0, -5), + time.Now().AddDate(0, 0, -4), + time.Now().AddDate(0, 0, -3), + time.Now().AddDate(0, 0, -2), + time.Now().AddDate(0, 0, -1), + }, + YValues: []float64{ + 1.0, 2.0, 3.0, 4.0, 5.0, + }, + } + + x0, y0 := ts.GetValues(0) + testutil.AssertNotZero(t, x0) + testutil.AssertEqual(t, 1.0, y0) +} + +func TestTimeSeriesValidate(t *testing.T) { + // replaced new assertions helper + + cs := TimeSeries{ + Name: "Test Series", + XValues: []time.Time{ + time.Now().AddDate(0, 0, -5), + time.Now().AddDate(0, 0, -4), + time.Now().AddDate(0, 0, -3), + time.Now().AddDate(0, 0, -2), + time.Now().AddDate(0, 0, -1), + }, + YValues: []float64{ + 1.0, 2.0, 3.0, 4.0, 5.0, + }, + } + testutil.AssertNil(t, cs.Validate()) + + cs = TimeSeries{ + Name: "Test Series", + XValues: []time.Time{ + time.Now().AddDate(0, 0, -5), + time.Now().AddDate(0, 0, -4), + time.Now().AddDate(0, 0, -3), + time.Now().AddDate(0, 0, -2), + time.Now().AddDate(0, 0, -1), + }, + } + testutil.AssertNotNil(t, cs.Validate()) + + cs = TimeSeries{ + Name: "Test Series", + YValues: []float64{ + 1.0, 2.0, 3.0, 4.0, 5.0, + }, + } + testutil.AssertNotNil(t, cs.Validate()) +} diff --git a/times.go b/times.go new file mode 100644 index 0000000..95e2acd --- /dev/null +++ b/times.go @@ -0,0 +1,46 @@ +package chart + +import ( + "sort" + "time" +) + +// Assert types implement interfaces. +var ( + _ Sequence = (*Times)(nil) + _ sort.Interface = (*Times)(nil) +) + +// Times are an array of times. +// It wraps the array with methods that implement `seq.Provider`. +type Times []time.Time + +// Array returns the times to an array. +func (t Times) Array() []time.Time { + return []time.Time(t) +} + +// Len returns the length of the array. +func (t Times) Len() int { + return len(t) +} + +// GetValue returns a value at an index as a time. +func (t Times) GetValue(index int) float64 { + return ToFloat64(t[index]) +} + +// Swap implements sort.Interface. +func (t Times) Swap(i, j int) { + t[i], t[j] = t[j], t[i] +} + +// Less implements sort.Interface. +func (t Times) Less(i, j int) bool { + return t[i].Before(t[j]) +} + +// ToFloat64 returns a float64 representation of a time. +func ToFloat64(t time.Time) float64 { + return float64(t.UnixNano()) +} diff --git a/timeutil.go b/timeutil.go new file mode 100644 index 0000000..aa6b9e4 --- /dev/null +++ b/timeutil.go @@ -0,0 +1,150 @@ +package chart + +import "time" + +// SecondsPerXYZ +const ( + SecondsPerHour = 60 * 60 + SecondsPerDay = 60 * 60 * 24 +) + +// TimeMillis returns a duration as a float millis. +func TimeMillis(d time.Duration) float64 { + return float64(d) / float64(time.Millisecond) +} + +// DiffHours returns the difference in hours between two times. +func DiffHours(t1, t2 time.Time) (hours int) { + t1n := t1.Unix() + t2n := t2.Unix() + var diff int64 + if t1n > t2n { + diff = t1n - t2n + } else { + diff = t2n - t1n + } + return int(diff / (SecondsPerHour)) +} + +// TimeMin returns the minimum and maximum times in a given range. +func TimeMin(times ...time.Time) (min time.Time) { + if len(times) == 0 { + return + } + min = times[0] + for index := 1; index < len(times); index++ { + if times[index].Before(min) { + min = times[index] + } + + } + return +} + +// TimeMax returns the minimum and maximum times in a given range. +func TimeMax(times ...time.Time) (max time.Time) { + if len(times) == 0 { + return + } + max = times[0] + + for index := 1; index < len(times); index++ { + if times[index].After(max) { + max = times[index] + } + } + return +} + +// TimeMinMax returns the minimum and maximum times in a given range. +func TimeMinMax(times ...time.Time) (min, max time.Time) { + if len(times) == 0 { + return + } + min = times[0] + max = times[0] + + for index := 1; index < len(times); index++ { + if times[index].Before(min) { + min = times[index] + } + if times[index].After(max) { + max = times[index] + } + } + return +} + +// TimeToFloat64 returns a float64 representation of a time. +func TimeToFloat64(t time.Time) float64 { + return float64(t.UnixNano()) +} + +// TimeFromFloat64 returns a time from a float64. +func TimeFromFloat64(tf float64) time.Time { + return time.Unix(0, int64(tf)) +} + +// TimeDescending sorts a given list of times ascending, or min to max. +type TimeDescending []time.Time + +// Len implements sort.Sorter +func (d TimeDescending) Len() int { return len(d) } + +// Swap implements sort.Sorter +func (d TimeDescending) Swap(i, j int) { d[i], d[j] = d[j], d[i] } + +// Less implements sort.Sorter +func (d TimeDescending) Less(i, j int) bool { return d[i].After(d[j]) } + +// TimeAscending sorts a given list of times ascending, or min to max. +type TimeAscending []time.Time + +// Len implements sort.Sorter +func (a TimeAscending) Len() int { return len(a) } + +// Swap implements sort.Sorter +func (a TimeAscending) Swap(i, j int) { a[i], a[j] = a[j], a[i] } + +// Less implements sort.Sorter +func (a TimeAscending) Less(i, j int) bool { return a[i].Before(a[j]) } + +// Days generates a seq of timestamps by day, from -days to today. +func Days(days int) []time.Time { + var values []time.Time + for day := days; day >= 0; day-- { + values = append(values, time.Now().AddDate(0, 0, -day)) + } + return values +} + +// Hours returns a sequence of times by the hour for a given number of hours +// after a given start. +func Hours(start time.Time, totalHours int) []time.Time { + times := make([]time.Time, totalHours) + + last := start + for i := 0; i < totalHours; i++ { + times[i] = last + last = last.Add(time.Hour) + } + + return times +} + +// HoursFilled adds zero values for the data bounded by the start and end of the xdata array. +func HoursFilled(xdata []time.Time, ydata []float64) ([]time.Time, []float64) { + start, end := TimeMinMax(xdata...) + totalHours := DiffHours(start, end) + + finalTimes := Hours(start, totalHours+1) + finalValues := make([]float64, totalHours+1) + + var hoursFromStart int + for i, xd := range xdata { + hoursFromStart = DiffHours(start, xd) + finalValues[hoursFromStart] = ydata[i] + } + + return finalTimes, finalValues +} diff --git a/value.go b/value.go new file mode 100644 index 0000000..783e304 --- /dev/null +++ b/value.go @@ -0,0 +1,53 @@ +package chart + +// Value is a chart value. +type Value struct { + Style Style + Label string + Value float64 +} + +// Values is an array of Value. +type Values []Value + +// Values returns the values. +func (vs Values) Values() []float64 { + values := make([]float64, len(vs)) + for index, v := range vs { + values[index] = v.Value + } + return values +} + +// ValuesNormalized returns normalized values. +func (vs Values) ValuesNormalized() []float64 { + return Normalize(vs.Values()...) +} + +// Normalize returns the values normalized. +func (vs Values) Normalize() []Value { + var output []Value + var total float64 + + for _, v := range vs { + total += v.Value + } + + for _, v := range vs { + if v.Value > 0 { + output = append(output, Value{ + Style: v.Style, + Label: v.Label, + Value: RoundDown(v.Value/total, 0.0001), + }) + } + } + return output +} + +// Value2 is a two axis value. +type Value2 struct { + Style Style + Label string + XValue, YValue float64 +} diff --git a/value_buffer.go b/value_buffer.go new file mode 100644 index 0000000..d544bd3 --- /dev/null +++ b/value_buffer.go @@ -0,0 +1,220 @@ +package chart + +import ( + "fmt" + "strings" +) + +const ( + bufferMinimumGrow = 4 + bufferShrinkThreshold = 32 + bufferGrowFactor = 200 + bufferDefaultCapacity = 4 +) + +// NewValueBuffer creates a new value buffer with an optional set of values. +func NewValueBuffer(values ...float64) *ValueBuffer { + var tail int + array := make([]float64, MaxInt(len(values), bufferDefaultCapacity)) + if len(values) > 0 { + copy(array, values) + tail = len(values) + } + return &ValueBuffer{ + array: array, + head: 0, + tail: tail, + size: len(values), + } +} + +// NewValueBufferWithCapacity creates a new ValueBuffer pre-allocated with the given capacity. +func NewValueBufferWithCapacity(capacity int) *ValueBuffer { + return &ValueBuffer{ + array: make([]float64, capacity), + head: 0, + tail: 0, + size: 0, + } +} + +// ValueBuffer is a fifo datastructure that is backed by a pre-allocated array. +// Instead of allocating a whole new node object for each element, array elements are re-used (which saves GC churn). +// Enqueue can be O(n), Dequeue is generally O(1). +// Buffer implements `seq.Provider` +type ValueBuffer struct { + array []float64 + head int + tail int + size int +} + +// Len returns the length of the Buffer (as it is currently populated). +// Actual memory footprint may be different. +func (b *ValueBuffer) Len() int { + return b.size +} + +// GetValue implements seq provider. +func (b *ValueBuffer) GetValue(index int) float64 { + effectiveIndex := (b.head + index) % len(b.array) + return b.array[effectiveIndex] +} + +// Capacity returns the total size of the Buffer, including empty elements. +func (b *ValueBuffer) Capacity() int { + return len(b.array) +} + +// SetCapacity sets the capacity of the Buffer. +func (b *ValueBuffer) SetCapacity(capacity int) { + newArray := make([]float64, capacity) + if b.size > 0 { + if b.head < b.tail { + arrayCopy(b.array, b.head, newArray, 0, b.size) + } else { + arrayCopy(b.array, b.head, newArray, 0, len(b.array)-b.head) + arrayCopy(b.array, 0, newArray, len(b.array)-b.head, b.tail) + } + } + b.array = newArray + b.head = 0 + if b.size == capacity { + b.tail = 0 + } else { + b.tail = b.size + } +} + +// Clear removes all objects from the Buffer. +func (b *ValueBuffer) Clear() { + b.array = make([]float64, bufferDefaultCapacity) + b.head = 0 + b.tail = 0 + b.size = 0 +} + +// Enqueue adds an element to the "back" of the Buffer. +func (b *ValueBuffer) Enqueue(value float64) { + if b.size == len(b.array) { + newCapacity := int(len(b.array) * int(bufferGrowFactor/100)) + if newCapacity < (len(b.array) + bufferMinimumGrow) { + newCapacity = len(b.array) + bufferMinimumGrow + } + b.SetCapacity(newCapacity) + } + + b.array[b.tail] = value + b.tail = (b.tail + 1) % len(b.array) + b.size++ +} + +// Dequeue removes the first element from the RingBuffer. +func (b *ValueBuffer) Dequeue() float64 { + if b.size == 0 { + return 0 + } + + removed := b.array[b.head] + b.head = (b.head + 1) % len(b.array) + b.size-- + return removed +} + +// Peek returns but does not remove the first element. +func (b *ValueBuffer) Peek() float64 { + if b.size == 0 { + return 0 + } + return b.array[b.head] +} + +// PeekBack returns but does not remove the last element. +func (b *ValueBuffer) PeekBack() float64 { + if b.size == 0 { + return 0 + } + if b.tail == 0 { + return b.array[len(b.array)-1] + } + return b.array[b.tail-1] +} + +// TrimExcess resizes the capacity of the buffer to better fit the contents. +func (b *ValueBuffer) TrimExcess() { + threshold := float64(len(b.array)) * 0.9 + if b.size < int(threshold) { + b.SetCapacity(b.size) + } +} + +// Array returns the ring buffer, in order, as an array. +func (b *ValueBuffer) Array() Array { + newArray := make([]float64, b.size) + + if b.size == 0 { + return newArray + } + + if b.head < b.tail { + arrayCopy(b.array, b.head, newArray, 0, b.size) + } else { + arrayCopy(b.array, b.head, newArray, 0, len(b.array)-b.head) + arrayCopy(b.array, 0, newArray, len(b.array)-b.head, b.tail) + } + + return Array(newArray) +} + +// Each calls the consumer for each element in the buffer. +func (b *ValueBuffer) Each(mapfn func(int, float64)) { + if b.size == 0 { + return + } + + var index int + if b.head < b.tail { + for cursor := b.head; cursor < b.tail; cursor++ { + mapfn(index, b.array[cursor]) + index++ + } + } else { + for cursor := b.head; cursor < len(b.array); cursor++ { + mapfn(index, b.array[cursor]) + index++ + } + for cursor := 0; cursor < b.tail; cursor++ { + mapfn(index, b.array[cursor]) + index++ + } + } +} + +// String returns a string representation for value buffers. +func (b *ValueBuffer) String() string { + var values []string + for _, elem := range b.Array() { + values = append(values, fmt.Sprintf("%v", elem)) + } + return strings.Join(values, " <= ") +} + +// -------------------------------------------------------------------------------- +// Util methods +// -------------------------------------------------------------------------------- + +func arrayClear(source []float64, index, length int) { + for x := 0; x < length; x++ { + absoluteIndex := x + index + source[absoluteIndex] = 0 + } +} + +func arrayCopy(source []float64, sourceIndex int, destination []float64, destinationIndex, length int) { + for x := 0; x < length; x++ { + from := sourceIndex + x + to := destinationIndex + x + + destination[to] = source[from] + } +} diff --git a/value_buffer_test.go b/value_buffer_test.go new file mode 100644 index 0000000..e8aa9a0 --- /dev/null +++ b/value_buffer_test.go @@ -0,0 +1,192 @@ +package chart + +import ( + "testing" + + "github.com/wcharczuk/go-chart/v2/testutil" +) + +func TestBuffer(t *testing.T) { + // replaced new assertions helper + + buffer := NewValueBuffer() + + buffer.Enqueue(1) + testutil.AssertEqual(t, 1, buffer.Len()) + testutil.AssertEqual(t, 1, buffer.Peek()) + testutil.AssertEqual(t, 1, buffer.PeekBack()) + + buffer.Enqueue(2) + testutil.AssertEqual(t, 2, buffer.Len()) + testutil.AssertEqual(t, 1, buffer.Peek()) + testutil.AssertEqual(t, 2, buffer.PeekBack()) + + buffer.Enqueue(3) + testutil.AssertEqual(t, 3, buffer.Len()) + testutil.AssertEqual(t, 1, buffer.Peek()) + testutil.AssertEqual(t, 3, buffer.PeekBack()) + + buffer.Enqueue(4) + testutil.AssertEqual(t, 4, buffer.Len()) + testutil.AssertEqual(t, 1, buffer.Peek()) + testutil.AssertEqual(t, 4, buffer.PeekBack()) + + buffer.Enqueue(5) + testutil.AssertEqual(t, 5, buffer.Len()) + testutil.AssertEqual(t, 1, buffer.Peek()) + testutil.AssertEqual(t, 5, buffer.PeekBack()) + + buffer.Enqueue(6) + testutil.AssertEqual(t, 6, buffer.Len()) + testutil.AssertEqual(t, 1, buffer.Peek()) + testutil.AssertEqual(t, 6, buffer.PeekBack()) + + buffer.Enqueue(7) + testutil.AssertEqual(t, 7, buffer.Len()) + testutil.AssertEqual(t, 1, buffer.Peek()) + testutil.AssertEqual(t, 7, buffer.PeekBack()) + + buffer.Enqueue(8) + testutil.AssertEqual(t, 8, buffer.Len()) + testutil.AssertEqual(t, 1, buffer.Peek()) + testutil.AssertEqual(t, 8, buffer.PeekBack()) + + value := buffer.Dequeue() + testutil.AssertEqual(t, 1, value) + testutil.AssertEqual(t, 7, buffer.Len()) + testutil.AssertEqual(t, 2, buffer.Peek()) + testutil.AssertEqual(t, 8, buffer.PeekBack()) + + value = buffer.Dequeue() + testutil.AssertEqual(t, 2, value) + testutil.AssertEqual(t, 6, buffer.Len()) + testutil.AssertEqual(t, 3, buffer.Peek()) + testutil.AssertEqual(t, 8, buffer.PeekBack()) + + value = buffer.Dequeue() + testutil.AssertEqual(t, 3, value) + testutil.AssertEqual(t, 5, buffer.Len()) + testutil.AssertEqual(t, 4, buffer.Peek()) + testutil.AssertEqual(t, 8, buffer.PeekBack()) + + value = buffer.Dequeue() + testutil.AssertEqual(t, 4, value) + testutil.AssertEqual(t, 4, buffer.Len()) + testutil.AssertEqual(t, 5, buffer.Peek()) + testutil.AssertEqual(t, 8, buffer.PeekBack()) + + value = buffer.Dequeue() + testutil.AssertEqual(t, 5, value) + testutil.AssertEqual(t, 3, buffer.Len()) + testutil.AssertEqual(t, 6, buffer.Peek()) + testutil.AssertEqual(t, 8, buffer.PeekBack()) + + value = buffer.Dequeue() + testutil.AssertEqual(t, 6, value) + testutil.AssertEqual(t, 2, buffer.Len()) + testutil.AssertEqual(t, 7, buffer.Peek()) + testutil.AssertEqual(t, 8, buffer.PeekBack()) + + value = buffer.Dequeue() + testutil.AssertEqual(t, 7, value) + testutil.AssertEqual(t, 1, buffer.Len()) + testutil.AssertEqual(t, 8, buffer.Peek()) + testutil.AssertEqual(t, 8, buffer.PeekBack()) + + value = buffer.Dequeue() + testutil.AssertEqual(t, 8, value) + testutil.AssertEqual(t, 0, buffer.Len()) + testutil.AssertZero(t, buffer.Peek()) + testutil.AssertZero(t, buffer.PeekBack()) +} + +func TestBufferClear(t *testing.T) { + // replaced new assertions helper + + buffer := NewValueBuffer() + buffer.Enqueue(1) + buffer.Enqueue(1) + buffer.Enqueue(1) + buffer.Enqueue(1) + buffer.Enqueue(1) + buffer.Enqueue(1) + buffer.Enqueue(1) + buffer.Enqueue(1) + + testutil.AssertEqual(t, 8, buffer.Len()) + + buffer.Clear() + testutil.AssertEqual(t, 0, buffer.Len()) + testutil.AssertZero(t, buffer.Peek()) + testutil.AssertZero(t, buffer.PeekBack()) +} + +func TestBufferArray(t *testing.T) { + // replaced new assertions helper + + buffer := NewValueBuffer() + buffer.Enqueue(1) + buffer.Enqueue(2) + buffer.Enqueue(3) + buffer.Enqueue(4) + buffer.Enqueue(5) + + contents := buffer.Array() + testutil.AssertLen(t, contents, 5) + testutil.AssertEqual(t, 1, contents[0]) + testutil.AssertEqual(t, 2, contents[1]) + testutil.AssertEqual(t, 3, contents[2]) + testutil.AssertEqual(t, 4, contents[3]) + testutil.AssertEqual(t, 5, contents[4]) +} + +func TestBufferEach(t *testing.T) { + // replaced new assertions helper + + buffer := NewValueBuffer() + + for x := 1; x < 17; x++ { + buffer.Enqueue(float64(x)) + } + + called := 0 + buffer.Each(func(_ int, v float64) { + if v == float64(called+1) { + called++ + } + }) + + testutil.AssertEqual(t, 16, called) +} + +func TestNewBuffer(t *testing.T) { + // replaced new assertions helper + + empty := NewValueBuffer() + testutil.AssertNotNil(t, empty) + testutil.AssertZero(t, empty.Len()) + testutil.AssertEqual(t, bufferDefaultCapacity, empty.Capacity()) + testutil.AssertZero(t, empty.Peek()) + testutil.AssertZero(t, empty.PeekBack()) +} + +func TestNewBufferWithValues(t *testing.T) { + // replaced new assertions helper + + values := NewValueBuffer(1, 2, 3, 4, 5) + testutil.AssertNotNil(t, values) + testutil.AssertEqual(t, 5, values.Len()) + testutil.AssertEqual(t, 1, values.Peek()) + testutil.AssertEqual(t, 5, values.PeekBack()) +} + +func TestBufferGrowth(t *testing.T) { + // replaced new assertions helper + + values := NewValueBuffer(1, 2, 3, 4, 5) + for i := 0; i < 1<<10; i++ { + values.Enqueue(float64(i)) + } + + testutil.AssertEqual(t, 1<<10-1, values.PeekBack()) +} diff --git a/value_formatter.go b/value_formatter.go new file mode 100644 index 0000000..1a2002a --- /dev/null +++ b/value_formatter.go @@ -0,0 +1,110 @@ +package chart + +import ( + "fmt" + "strconv" + "time" +) + +// ValueFormatter is a function that takes a value and produces a string. +type ValueFormatter func(v interface{}) string + +// TimeValueFormatter is a ValueFormatter for timestamps. +func TimeValueFormatter(v interface{}) string { + return formatTime(v, DefaultDateFormat) +} + +// TimeHourValueFormatter is a ValueFormatter for timestamps. +func TimeHourValueFormatter(v interface{}) string { + return formatTime(v, DefaultDateHourFormat) +} + +// TimeMinuteValueFormatter is a ValueFormatter for timestamps. +func TimeMinuteValueFormatter(v interface{}) string { + return formatTime(v, DefaultDateMinuteFormat) +} + +// TimeDateValueFormatter is a ValueFormatter for timestamps. +func TimeDateValueFormatter(v interface{}) string { + return formatTime(v, "2006-01-02") +} + +// TimeValueFormatterWithFormat returns a time formatter with a given format. +func TimeValueFormatterWithFormat(format string) ValueFormatter { + return func(v interface{}) string { + return formatTime(v, format) + } +} + +// TimeValueFormatterWithFormat is a ValueFormatter for timestamps with a given format. +func formatTime(v interface{}, dateFormat string) string { + if typed, isTyped := v.(time.Time); isTyped { + return typed.Format(dateFormat) + } + if typed, isTyped := v.(int64); isTyped { + return time.Unix(0, typed).Format(dateFormat) + } + if typed, isTyped := v.(float64); isTyped { + return time.Unix(0, int64(typed)).Format(dateFormat) + } + return "" +} + +// IntValueFormatter is a ValueFormatter for float64. +func IntValueFormatter(v interface{}) string { + switch v.(type) { + case int: + return strconv.Itoa(v.(int)) + case int64: + return strconv.FormatInt(v.(int64), 10) + case float32: + return strconv.FormatInt(int64(v.(float32)), 10) + case float64: + return strconv.FormatInt(int64(v.(float64)), 10) + default: + return "" + } +} + +// FloatValueFormatter is a ValueFormatter for float64. +func FloatValueFormatter(v interface{}) string { + return FloatValueFormatterWithFormat(v, DefaultFloatFormat) +} + +// PercentValueFormatter is a formatter for percent values. +// NOTE: it normalizes the values, i.e. multiplies by 100.0. +func PercentValueFormatter(v interface{}) string { + if typed, isTyped := v.(float64); isTyped { + return FloatValueFormatterWithFormat(typed*100.0, DefaultPercentValueFormat) + } + return "" +} + +// FloatValueFormatterWithFormat is a ValueFormatter for float64 with a given format. +func FloatValueFormatterWithFormat(v interface{}, floatFormat string) string { + if typed, isTyped := v.(int); isTyped { + return fmt.Sprintf(floatFormat, float64(typed)) + } + if typed, isTyped := v.(int64); isTyped { + return fmt.Sprintf(floatFormat, float64(typed)) + } + if typed, isTyped := v.(float32); isTyped { + return fmt.Sprintf(floatFormat, typed) + } + if typed, isTyped := v.(float64); isTyped { + return fmt.Sprintf(floatFormat, typed) + } + return "" +} + +// KValueFormatter is a formatter for K values. +func KValueFormatter(k float64, vf ValueFormatter) ValueFormatter { + return func(v interface{}) string { + return fmt.Sprintf("%0.0fσ %s", k, vf(v)) + } +} + +// FloatValueFormatter is a ValueFormatter for float64, exponential notation, e.g. 1.52e+08. +func ExponentialValueFormatter(v interface{}) string { + return FloatValueFormatterWithFormat(v, "%.2e") +} diff --git a/value_formatter_provider.go b/value_formatter_provider.go new file mode 100644 index 0000000..829fb1d --- /dev/null +++ b/value_formatter_provider.go @@ -0,0 +1,6 @@ +package chart + +// ValueFormatterProvider is a series that has custom formatters. +type ValueFormatterProvider interface { + GetValueFormatters() (x, y ValueFormatter) +} diff --git a/value_formatter_test.go b/value_formatter_test.go new file mode 100644 index 0000000..5ef94a8 --- /dev/null +++ b/value_formatter_test.go @@ -0,0 +1,64 @@ +package chart + +import ( + "testing" + "time" + + "github.com/wcharczuk/go-chart/v2/testutil" +) + +func TestTimeValueFormatterWithFormat(t *testing.T) { + // replaced new assertions helper + + d := time.Now() + di := TimeToFloat64(d) + df := float64(di) + + s := formatTime(d, DefaultDateFormat) + si := formatTime(di, DefaultDateFormat) + sf := formatTime(df, DefaultDateFormat) + testutil.AssertEqual(t, s, si) + testutil.AssertEqual(t, s, sf) + + sd := TimeValueFormatter(d) + sdi := TimeValueFormatter(di) + sdf := TimeValueFormatter(df) + testutil.AssertEqual(t, s, sd) + testutil.AssertEqual(t, s, sdi) + testutil.AssertEqual(t, s, sdf) +} + +func TestFloatValueFormatter(t *testing.T) { + // replaced new assertions helper + testutil.AssertEqual(t, "1234.00", FloatValueFormatter(1234.00)) +} + +func TestFloatValueFormatterWithFloat32Input(t *testing.T) { + // replaced new assertions helper + testutil.AssertEqual(t, "1234.00", FloatValueFormatter(float32(1234.00))) +} + +func TestFloatValueFormatterWithIntegerInput(t *testing.T) { + // replaced new assertions helper + testutil.AssertEqual(t, "1234.00", FloatValueFormatter(1234)) +} + +func TestFloatValueFormatterWithInt64Input(t *testing.T) { + // replaced new assertions helper + testutil.AssertEqual(t, "1234.00", FloatValueFormatter(int64(1234))) +} + +func TestFloatValueFormatterWithFormat(t *testing.T) { + // replaced new assertions helper + + v := 123.456 + sv := FloatValueFormatterWithFormat(v, "%.3f") + testutil.AssertEqual(t, "123.456", sv) + testutil.AssertEqual(t, "123.000", FloatValueFormatterWithFormat(123, "%.3f")) +} + +func TestExponentialValueFormatter(t *testing.T) { + testutil.AssertEqual(t, "1.23e+02", ExponentialValueFormatter(123.456)) + testutil.AssertEqual(t, "1.24e+07", ExponentialValueFormatter(12421243.424)) + testutil.AssertEqual(t, "4.50e-01", ExponentialValueFormatter(0.45)) +} diff --git a/value_provider.go b/value_provider.go new file mode 100644 index 0000000..be985eb --- /dev/null +++ b/value_provider.go @@ -0,0 +1,51 @@ +package chart + +import "github.com/wcharczuk/go-chart/v2/drawing" + +// ValuesProvider is a type that produces values. +type ValuesProvider interface { + Len() int + GetValues(index int) (float64, float64) +} + +// BoundedValuesProvider allows series to return a range. +type BoundedValuesProvider interface { + Len() int + GetBoundedValues(index int) (x, y1, y2 float64) +} + +// FirstValuesProvider is a special type of value provider that can return it's (potentially computed) first value. +type FirstValuesProvider interface { + GetFirstValues() (x, y float64) +} + +// LastValuesProvider is a special type of value provider that can return it's (potentially computed) last value. +type LastValuesProvider interface { + GetLastValues() (x, y float64) +} + +// BoundedLastValuesProvider is a special type of value provider that can return it's (potentially computed) bounded last value. +type BoundedLastValuesProvider interface { + GetBoundedLastValues() (x, y1, y2 float64) +} + +// FullValuesProvider is an interface that combines `ValuesProvider` and `LastValuesProvider` +type FullValuesProvider interface { + ValuesProvider + LastValuesProvider +} + +// FullBoundedValuesProvider is an interface that combines `BoundedValuesProvider` and `BoundedLastValuesProvider` +type FullBoundedValuesProvider interface { + BoundedValuesProvider + BoundedLastValuesProvider +} + +// SizeProvider is a provider for integer size. +type SizeProvider func(xrange, yrange Range, index int, x, y float64) float64 + +// ColorProvider is a general provider for color ranges based on values. +type ColorProvider func(v, vmin, vmax float64) drawing.Color + +// DotColorProvider is a provider for dot color. +type DotColorProvider func(xrange, yrange Range, index int, x, y float64) drawing.Color diff --git a/value_test.go b/value_test.go new file mode 100644 index 0000000..1c12ce7 --- /dev/null +++ b/value_test.go @@ -0,0 +1,69 @@ +package chart + +import ( + "testing" + + "github.com/wcharczuk/go-chart/v2/testutil" +) + +func TestValuesValues(t *testing.T) { + // replaced new assertions helper + + vs := []Value{ + {Value: 10, Label: "Blue"}, + {Value: 9, Label: "Green"}, + {Value: 8, Label: "Gray"}, + {Value: 7, Label: "Orange"}, + {Value: 6, Label: "HEANG"}, + {Value: 5, Label: "??"}, + {Value: 2, Label: "!!"}, + } + + values := Values(vs).Values() + testutil.AssertLen(t, values, 7) + testutil.AssertEqual(t, 10, values[0]) + testutil.AssertEqual(t, 9, values[1]) + testutil.AssertEqual(t, 8, values[2]) + testutil.AssertEqual(t, 7, values[3]) + testutil.AssertEqual(t, 6, values[4]) + testutil.AssertEqual(t, 5, values[5]) + testutil.AssertEqual(t, 2, values[6]) +} + +func TestValuesValuesNormalized(t *testing.T) { + // replaced new assertions helper + + vs := []Value{ + {Value: 10, Label: "Blue"}, + {Value: 9, Label: "Green"}, + {Value: 8, Label: "Gray"}, + {Value: 7, Label: "Orange"}, + {Value: 6, Label: "HEANG"}, + {Value: 5, Label: "??"}, + {Value: 2, Label: "!!"}, + } + + values := Values(vs).ValuesNormalized() + testutil.AssertLen(t, values, 7) + testutil.AssertEqual(t, 0.2127, values[0]) + testutil.AssertEqual(t, 0.0425, values[6]) +} + +func TestValuesNormalize(t *testing.T) { + // replaced new assertions helper + + vs := []Value{ + {Value: 10, Label: "Blue"}, + {Value: 9, Label: "Green"}, + {Value: 8, Label: "Gray"}, + {Value: 7, Label: "Orange"}, + {Value: 6, Label: "HEANG"}, + {Value: 5, Label: "??"}, + {Value: 2, Label: "!!"}, + } + + values := Values(vs).Normalize() + testutil.AssertLen(t, values, 7) + testutil.AssertEqual(t, 0.2127, values[0].Value) + testutil.AssertEqual(t, 0.0425, values[6].Value) +} diff --git a/vector_renderer.go b/vector_renderer.go new file mode 100644 index 0000000..b1f847f --- /dev/null +++ b/vector_renderer.go @@ -0,0 +1,365 @@ +package chart + +import ( + "bytes" + "fmt" + "io" + "math" + "strings" + + "golang.org/x/image/font" + + "github.com/golang/freetype/truetype" + "github.com/wcharczuk/go-chart/v2/drawing" +) + +// SVG returns a new png/raster renderer. +func SVG(width, height int) (Renderer, error) { + buffer := bytes.NewBuffer([]byte{}) + canvas := newCanvas(buffer) + canvas.Start(width, height) + return &vectorRenderer{ + b: buffer, + c: canvas, + s: &Style{}, + p: []string{}, + dpi: DefaultDPI, + }, nil +} + +// SVGWithCSS returns a new png/raster renderer with attached custom CSS +// The optional nonce argument sets a CSP nonce. +func SVGWithCSS(css string, nonce string) func(width, height int) (Renderer, error) { + return func(width, height int) (Renderer, error) { + buffer := bytes.NewBuffer([]byte{}) + canvas := newCanvas(buffer) + canvas.css = css + canvas.nonce = nonce + canvas.Start(width, height) + return &vectorRenderer{ + b: buffer, + c: canvas, + s: &Style{}, + p: []string{}, + dpi: DefaultDPI, + }, nil + } +} + +// vectorRenderer renders chart commands to a bitmap. +type vectorRenderer struct { + dpi float64 + b *bytes.Buffer + c *canvas + s *Style + p []string + fc *font.Drawer +} + +func (vr *vectorRenderer) ResetStyle() { + vr.s = &Style{Font: vr.s.Font} + vr.fc = nil +} + +// GetDPI returns the dpi. +func (vr *vectorRenderer) GetDPI() float64 { + return vr.dpi +} + +// SetDPI implements the interface method. +func (vr *vectorRenderer) SetDPI(dpi float64) { + vr.dpi = dpi + vr.c.dpi = dpi +} + +// SetClassName implements the interface method. +func (vr *vectorRenderer) SetClassName(classname string) { + vr.s.ClassName = classname +} + +// SetStrokeColor implements the interface method. +func (vr *vectorRenderer) SetStrokeColor(c drawing.Color) { + vr.s.StrokeColor = c +} + +// SetFillColor implements the interface method. +func (vr *vectorRenderer) SetFillColor(c drawing.Color) { + vr.s.FillColor = c +} + +// SetLineWidth implements the interface method. +func (vr *vectorRenderer) SetStrokeWidth(width float64) { + vr.s.StrokeWidth = width +} + +// StrokeDashArray sets the stroke dash array. +func (vr *vectorRenderer) SetStrokeDashArray(dashArray []float64) { + vr.s.StrokeDashArray = dashArray +} + +// MoveTo implements the interface method. +func (vr *vectorRenderer) MoveTo(x, y int) { + vr.p = append(vr.p, fmt.Sprintf("M %d %d", x, y)) +} + +// LineTo implements the interface method. +func (vr *vectorRenderer) LineTo(x, y int) { + vr.p = append(vr.p, fmt.Sprintf("L %d %d", x, y)) +} + +// QuadCurveTo draws a quad curve. +func (vr *vectorRenderer) QuadCurveTo(cx, cy, x, y int) { + vr.p = append(vr.p, fmt.Sprintf("Q%d,%d %d,%d", cx, cy, x, y)) +} + +func (vr *vectorRenderer) ArcTo(cx, cy int, rx, ry, startAngle, delta float64) { + startAngle = RadianAdd(startAngle, _pi2) + endAngle := RadianAdd(startAngle, delta) + + startx := cx + int(rx*math.Sin(startAngle)) + starty := cy - int(ry*math.Cos(startAngle)) + + if len(vr.p) > 0 { + vr.p = append(vr.p, fmt.Sprintf("L %d %d", startx, starty)) + } else { + vr.p = append(vr.p, fmt.Sprintf("M %d %d", startx, starty)) + } + + endx := cx + int(rx*math.Sin(endAngle)) + endy := cy - int(ry*math.Cos(endAngle)) + + dd := RadiansToDegrees(delta) + + largeArcFlag := 0 + if delta > _pi { + largeArcFlag = 1 + } + + vr.p = append(vr.p, fmt.Sprintf("A %d %d %0.2f %d 1 %d %d", int(rx), int(ry), dd, largeArcFlag, endx, endy)) +} + +// Close closes a shape. +func (vr *vectorRenderer) Close() { + vr.p = append(vr.p, "Z") +} + +// Stroke draws the path with no fill. +func (vr *vectorRenderer) Stroke() { + vr.drawPath(vr.s.GetStrokeOptions()) +} + +// Fill draws the path with no stroke. +func (vr *vectorRenderer) Fill() { + vr.drawPath(vr.s.GetFillOptions()) +} + +// FillStroke draws the path with both fill and stroke. +func (vr *vectorRenderer) FillStroke() { + vr.drawPath(vr.s.GetFillAndStrokeOptions()) +} + +// drawPath draws a path. +func (vr *vectorRenderer) drawPath(s Style) { + vr.c.Path(strings.Join(vr.p, "\n"), vr.s.GetFillAndStrokeOptions()) + vr.p = []string{} // clear the path +} + +// Circle implements the interface method. +func (vr *vectorRenderer) Circle(radius float64, x, y int) { + vr.c.Circle(x, y, int(radius), vr.s.GetFillAndStrokeOptions()) +} + +// SetFont implements the interface method. +func (vr *vectorRenderer) SetFont(f *truetype.Font) { + vr.s.Font = f +} + +// SetFontColor implements the interface method. +func (vr *vectorRenderer) SetFontColor(c drawing.Color) { + vr.s.FontColor = c +} + +// SetFontSize implements the interface method. +func (vr *vectorRenderer) SetFontSize(size float64) { + vr.s.FontSize = size +} + +// Text draws a text blob. +func (vr *vectorRenderer) Text(body string, x, y int) { + vr.c.Text(x, y, body, vr.s.GetTextOptions()) +} + +// MeasureText uses the truetype font drawer to measure the width of text. +func (vr *vectorRenderer) MeasureText(body string) (box Box) { + if vr.s.GetFont() != nil { + vr.fc = &font.Drawer{ + Face: truetype.NewFace(vr.s.GetFont(), &truetype.Options{ + DPI: vr.dpi, + Size: vr.s.FontSize, + }), + } + w := vr.fc.MeasureString(body).Ceil() + + box.Right = w + box.Bottom = int(drawing.PointsToPixels(vr.dpi, vr.s.FontSize)) + if vr.c.textTheta == nil { + return + } + box = box.Corners().Rotate(RadiansToDegrees(*vr.c.textTheta)).Box() + } + return +} + +// SetTextRotation sets the text rotation. +func (vr *vectorRenderer) SetTextRotation(radians float64) { + vr.c.textTheta = &radians +} + +// ClearTextRotation clears the text rotation. +func (vr *vectorRenderer) ClearTextRotation() { + vr.c.textTheta = nil +} + +// Save saves the renderer's contents to a writer. +func (vr *vectorRenderer) Save(w io.Writer) error { + vr.c.End() + _, err := w.Write(vr.b.Bytes()) + return err +} + +func newCanvas(w io.Writer) *canvas { + return &canvas{ + w: w, + dpi: DefaultDPI, + } +} + +type canvas struct { + w io.Writer + dpi float64 + textTheta *float64 + width int + height int + css string + nonce string +} + +func (c *canvas) Start(width, height int) { + c.width = width + c.height = height + c.w.Write([]byte(fmt.Sprintf(``, c.width, c.height))) + if c.css != "" { + c.w.Write([]byte(``, c.css))) + } +} + +func (c *canvas) Path(d string, style Style) { + var strokeDashArrayProperty string + if len(style.StrokeDashArray) > 0 { + strokeDashArrayProperty = c.getStrokeDashArray(style) + } + c.w.Write([]byte(fmt.Sprintf(``, strokeDashArrayProperty, d, c.styleAsSVG(style)))) +} + +func (c *canvas) Text(x, y int, body string, style Style) { + if c.textTheta == nil { + c.w.Write([]byte(fmt.Sprintf(`%s`, x, y, c.styleAsSVG(style), body))) + } else { + transform := fmt.Sprintf(` transform="rotate(%0.2f,%d,%d)"`, RadiansToDegrees(*c.textTheta), x, y) + c.w.Write([]byte(fmt.Sprintf(`%s`, x, y, c.styleAsSVG(style), transform, body))) + } +} + +func (c *canvas) Circle(x, y, r int, style Style) { + c.w.Write([]byte(fmt.Sprintf(``, x, y, r, c.styleAsSVG(style)))) +} + +func (c *canvas) End() { + c.w.Write([]byte("")) +} + +// getStrokeDashArray returns the stroke-dasharray property of a style. +func (c *canvas) getStrokeDashArray(s Style) string { + if len(s.StrokeDashArray) > 0 { + var values []string + for _, v := range s.StrokeDashArray { + values = append(values, fmt.Sprintf("%0.1f", v)) + } + return "stroke-dasharray=\"" + strings.Join(values, ", ") + "\"" + } + return "" +} + +// GetFontFace returns the font face for the style. +func (c *canvas) getFontFace(s Style) string { + family := "sans-serif" + if s.GetFont() != nil { + name := s.GetFont().Name(truetype.NameIDFontFamily) + if len(name) != 0 { + family = fmt.Sprintf(`'%s',%s`, name, family) + } + } + return fmt.Sprintf("font-family:%s", family) +} + +// styleAsSVG returns the style as a svg style or class string. +func (c *canvas) styleAsSVG(s Style) string { + sw := s.StrokeWidth + sc := s.StrokeColor + fc := s.FillColor + fs := s.FontSize + fnc := s.FontColor + + if s.ClassName != "" { + var classes []string + classes = append(classes, s.ClassName) + if !sc.IsZero() { + classes = append(classes, "stroke") + } + if !fc.IsZero() { + classes = append(classes, "fill") + } + if fs != 0 || s.Font != nil { + classes = append(classes, "text") + } + + return fmt.Sprintf("class=\"%s\"", strings.Join(classes, " ")) + } + + var pieces []string + + if sw != 0 { + pieces = append(pieces, "stroke-width:"+fmt.Sprintf("%d", int(sw))) + } else { + pieces = append(pieces, "stroke-width:0") + } + + if !sc.IsZero() { + pieces = append(pieces, "stroke:"+sc.String()) + } else { + pieces = append(pieces, "stroke:none") + } + + if !fnc.IsZero() { + pieces = append(pieces, "fill:"+fnc.String()) + } else if !fc.IsZero() { + pieces = append(pieces, "fill:"+fc.String()) + } else { + pieces = append(pieces, "fill:none") + } + + if fs != 0 { + pieces = append(pieces, "font-size:"+fmt.Sprintf("%.1fpx", drawing.PointsToPixels(c.dpi, fs))) + } + + if s.Font != nil { + pieces = append(pieces, c.getFontFace(s)) + } + return fmt.Sprintf("style=\"%s\"", strings.Join(pieces, ";")) +} diff --git a/vector_renderer_test.go b/vector_renderer_test.go new file mode 100644 index 0000000..019c6b9 --- /dev/null +++ b/vector_renderer_test.go @@ -0,0 +1,117 @@ +package chart + +import ( + "bytes" + "fmt" + "strings" + "testing" + + "github.com/wcharczuk/go-chart/v2/drawing" + "github.com/wcharczuk/go-chart/v2/testutil" +) + +func TestVectorRendererPath(t *testing.T) { + // replaced new assertions helper + + vr, err := SVG(100, 100) + testutil.AssertNil(t, err) + + typed, isTyped := vr.(*vectorRenderer) + testutil.AssertTrue(t, isTyped) + + typed.MoveTo(0, 0) + typed.LineTo(100, 100) + typed.LineTo(0, 100) + typed.Close() + typed.FillStroke() + + buffer := bytes.NewBuffer([]byte{}) + err = typed.Save(buffer) + testutil.AssertNil(t, err) + + raw := string(buffer.Bytes()) + + testutil.AssertTrue(t, strings.HasPrefix(raw, "")) +} + +func TestVectorRendererMeasureText(t *testing.T) { + // replaced new assertions helper + + f, err := GetDefaultFont() + testutil.AssertNil(t, err) + + vr, err := SVG(100, 100) + testutil.AssertNil(t, err) + + vr.SetDPI(DefaultDPI) + vr.SetFont(f) + vr.SetFontSize(12.0) + + tb := vr.MeasureText("Ljp") + testutil.AssertEqual(t, 21, tb.Width()) + testutil.AssertEqual(t, 15, tb.Height()) +} + +func TestCanvasStyleSVG(t *testing.T) { + // replaced new assertions helper + + f, err := GetDefaultFont() + testutil.AssertNil(t, err) + + set := Style{ + StrokeColor: drawing.ColorWhite, + StrokeWidth: 5.0, + FillColor: drawing.ColorWhite, + FontColor: drawing.ColorWhite, + Font: f, + Padding: DefaultBackgroundPadding, + } + + canvas := &canvas{dpi: DefaultDPI} + + svgString := canvas.styleAsSVG(set) + testutil.AssertNotEmpty(t, svgString) + testutil.AssertTrue(t, strings.HasPrefix(svgString, "style=\"")) + testutil.AssertTrue(t, strings.Contains(svgString, "stroke:rgba(255,255,255,1.0)")) + testutil.AssertTrue(t, strings.Contains(svgString, "stroke-width:5")) + testutil.AssertTrue(t, strings.Contains(svgString, "fill:rgba(255,255,255,1.0)")) + testutil.AssertTrue(t, strings.HasSuffix(svgString, "\"")) +} + +func TestCanvasClassSVG(t *testing.T) { + set := Style{ + ClassName: "test-class", + } + + canvas := &canvas{dpi: DefaultDPI} + + testutil.AssertEqual(t, "class=\"test-class\"", canvas.styleAsSVG(set)) +} + +func TestCanvasCustomInlineStylesheet(t *testing.T) { + b := strings.Builder{} + + canvas := &canvas{ + w: &b, + css: ".background { fill: red }", + } + + canvas.Start(200, 200) + + testutil.AssertContains(t, b.String(), fmt.Sprintf(``, canvas.css)) +} + +func TestCanvasCustomInlineStylesheetWithNonce(t *testing.T) { + b := strings.Builder{} + + canvas := &canvas{ + w: &b, + css: ".background { fill: red }", + nonce: "RAND0MSTRING", + } + + canvas.Start(200, 200) + + testutil.AssertContains(t, b.String(), fmt.Sprintf(``, canvas.nonce, canvas.css)) +} diff --git a/viridis.go b/viridis.go new file mode 100644 index 0000000..0611850 --- /dev/null +++ b/viridis.go @@ -0,0 +1,269 @@ +package chart + +import "github.com/wcharczuk/go-chart/v2/drawing" + +var viridisColors = [256]drawing.Color{ + {R: 0x44, G: 0x1, B: 0x54, A: 0xff}, + {R: 0x44, G: 0x2, B: 0x55, A: 0xff}, + {R: 0x45, G: 0x3, B: 0x57, A: 0xff}, + {R: 0x45, G: 0x5, B: 0x58, A: 0xff}, + {R: 0x45, G: 0x6, B: 0x5a, A: 0xff}, + {R: 0x46, G: 0x8, B: 0x5b, A: 0xff}, + {R: 0x46, G: 0x9, B: 0x5d, A: 0xff}, + {R: 0x46, G: 0xb, B: 0x5e, A: 0xff}, + {R: 0x46, G: 0xc, B: 0x60, A: 0xff}, + {R: 0x47, G: 0xe, B: 0x61, A: 0xff}, + {R: 0x47, G: 0xf, B: 0x62, A: 0xff}, + {R: 0x47, G: 0x11, B: 0x64, A: 0xff}, + {R: 0x47, G: 0x12, B: 0x65, A: 0xff}, + {R: 0x47, G: 0x14, B: 0x66, A: 0xff}, + {R: 0x48, G: 0x15, B: 0x68, A: 0xff}, + {R: 0x48, G: 0x16, B: 0x69, A: 0xff}, + {R: 0x48, G: 0x18, B: 0x6a, A: 0xff}, + {R: 0x48, G: 0x19, B: 0x6c, A: 0xff}, + {R: 0x48, G: 0x1a, B: 0x6d, A: 0xff}, + {R: 0x48, G: 0x1c, B: 0x6e, A: 0xff}, + {R: 0x48, G: 0x1d, B: 0x6f, A: 0xff}, + {R: 0x48, G: 0x1e, B: 0x70, A: 0xff}, + {R: 0x48, G: 0x20, B: 0x71, A: 0xff}, + {R: 0x48, G: 0x21, B: 0x73, A: 0xff}, + {R: 0x48, G: 0x22, B: 0x74, A: 0xff}, + {R: 0x48, G: 0x24, B: 0x75, A: 0xff}, + {R: 0x48, G: 0x25, B: 0x76, A: 0xff}, + {R: 0x48, G: 0x26, B: 0x77, A: 0xff}, + {R: 0x48, G: 0x27, B: 0x78, A: 0xff}, + {R: 0x47, G: 0x29, B: 0x79, A: 0xff}, + {R: 0x47, G: 0x2a, B: 0x79, A: 0xff}, + {R: 0x47, G: 0x2b, B: 0x7a, A: 0xff}, + {R: 0x47, G: 0x2c, B: 0x7b, A: 0xff}, + {R: 0x47, G: 0x2e, B: 0x7c, A: 0xff}, + {R: 0x46, G: 0x2f, B: 0x7d, A: 0xff}, + {R: 0x46, G: 0x30, B: 0x7e, A: 0xff}, + {R: 0x46, G: 0x31, B: 0x7e, A: 0xff}, + {R: 0x46, G: 0x33, B: 0x7f, A: 0xff}, + {R: 0x45, G: 0x34, B: 0x80, A: 0xff}, + {R: 0x45, G: 0x35, B: 0x81, A: 0xff}, + {R: 0x45, G: 0x36, B: 0x81, A: 0xff}, + {R: 0x44, G: 0x38, B: 0x82, A: 0xff}, + {R: 0x44, G: 0x39, B: 0x83, A: 0xff}, + {R: 0x44, G: 0x3a, B: 0x83, A: 0xff}, + {R: 0x43, G: 0x3b, B: 0x84, A: 0xff}, + {R: 0x43, G: 0x3c, B: 0x84, A: 0xff}, + {R: 0x43, G: 0x3e, B: 0x85, A: 0xff}, + {R: 0x42, G: 0x3f, B: 0x85, A: 0xff}, + {R: 0x42, G: 0x40, B: 0x86, A: 0xff}, + {R: 0x41, G: 0x41, B: 0x86, A: 0xff}, + {R: 0x41, G: 0x42, B: 0x87, A: 0xff}, + {R: 0x41, G: 0x43, B: 0x87, A: 0xff}, + {R: 0x40, G: 0x45, B: 0x88, A: 0xff}, + {R: 0x40, G: 0x46, B: 0x88, A: 0xff}, + {R: 0x3f, G: 0x47, B: 0x88, A: 0xff}, + {R: 0x3f, G: 0x48, B: 0x89, A: 0xff}, + {R: 0x3e, G: 0x49, B: 0x89, A: 0xff}, + {R: 0x3e, G: 0x4a, B: 0x89, A: 0xff}, + {R: 0x3d, G: 0x4b, B: 0x8a, A: 0xff}, + {R: 0x3d, G: 0x4d, B: 0x8a, A: 0xff}, + {R: 0x3c, G: 0x4e, B: 0x8a, A: 0xff}, + {R: 0x3c, G: 0x4f, B: 0x8a, A: 0xff}, + {R: 0x3b, G: 0x50, B: 0x8b, A: 0xff}, + {R: 0x3b, G: 0x51, B: 0x8b, A: 0xff}, + {R: 0x3a, G: 0x52, B: 0x8b, A: 0xff}, + {R: 0x3a, G: 0x53, B: 0x8b, A: 0xff}, + {R: 0x39, G: 0x54, B: 0x8c, A: 0xff}, + {R: 0x39, G: 0x55, B: 0x8c, A: 0xff}, + {R: 0x38, G: 0x56, B: 0x8c, A: 0xff}, + {R: 0x38, G: 0x57, B: 0x8c, A: 0xff}, + {R: 0x37, G: 0x58, B: 0x8c, A: 0xff}, + {R: 0x37, G: 0x59, B: 0x8c, A: 0xff}, + {R: 0x36, G: 0x5b, B: 0x8d, A: 0xff}, + {R: 0x36, G: 0x5c, B: 0x8d, A: 0xff}, + {R: 0x35, G: 0x5d, B: 0x8d, A: 0xff}, + {R: 0x35, G: 0x5e, B: 0x8d, A: 0xff}, + {R: 0x34, G: 0x5f, B: 0x8d, A: 0xff}, + {R: 0x34, G: 0x60, B: 0x8d, A: 0xff}, + {R: 0x33, G: 0x61, B: 0x8d, A: 0xff}, + {R: 0x33, G: 0x62, B: 0x8d, A: 0xff}, + {R: 0x33, G: 0x63, B: 0x8d, A: 0xff}, + {R: 0x32, G: 0x64, B: 0x8e, A: 0xff}, + {R: 0x32, G: 0x65, B: 0x8e, A: 0xff}, + {R: 0x31, G: 0x66, B: 0x8e, A: 0xff}, + {R: 0x31, G: 0x67, B: 0x8e, A: 0xff}, + {R: 0x30, G: 0x68, B: 0x8e, A: 0xff}, + {R: 0x30, G: 0x69, B: 0x8e, A: 0xff}, + {R: 0x2f, G: 0x6a, B: 0x8e, A: 0xff}, + {R: 0x2f, G: 0x6b, B: 0x8e, A: 0xff}, + {R: 0x2f, G: 0x6c, B: 0x8e, A: 0xff}, + {R: 0x2e, G: 0x6d, B: 0x8e, A: 0xff}, + {R: 0x2e, G: 0x6e, B: 0x8e, A: 0xff}, + {R: 0x2d, G: 0x6f, B: 0x8e, A: 0xff}, + {R: 0x2d, G: 0x70, B: 0x8e, A: 0xff}, + {R: 0x2d, G: 0x70, B: 0x8e, A: 0xff}, + {R: 0x2c, G: 0x71, B: 0x8e, A: 0xff}, + {R: 0x2c, G: 0x72, B: 0x8e, A: 0xff}, + {R: 0x2b, G: 0x73, B: 0x8e, A: 0xff}, + {R: 0x2b, G: 0x74, B: 0x8e, A: 0xff}, + {R: 0x2b, G: 0x75, B: 0x8e, A: 0xff}, + {R: 0x2a, G: 0x76, B: 0x8e, A: 0xff}, + {R: 0x2a, G: 0x77, B: 0x8e, A: 0xff}, + {R: 0x29, G: 0x78, B: 0x8e, A: 0xff}, + {R: 0x29, G: 0x79, B: 0x8e, A: 0xff}, + {R: 0x29, G: 0x7a, B: 0x8e, A: 0xff}, + {R: 0x28, G: 0x7b, B: 0x8e, A: 0xff}, + {R: 0x28, G: 0x7c, B: 0x8e, A: 0xff}, + {R: 0x28, G: 0x7d, B: 0x8e, A: 0xff}, + {R: 0x27, G: 0x7e, B: 0x8e, A: 0xff}, + {R: 0x27, G: 0x7f, B: 0x8e, A: 0xff}, + {R: 0x26, G: 0x80, B: 0x8e, A: 0xff}, + {R: 0x26, G: 0x81, B: 0x8e, A: 0xff}, + {R: 0x26, G: 0x82, B: 0x8e, A: 0xff}, + {R: 0x25, G: 0x83, B: 0x8e, A: 0xff}, + {R: 0x25, G: 0x83, B: 0x8e, A: 0xff}, + {R: 0x25, G: 0x84, B: 0x8e, A: 0xff}, + {R: 0x24, G: 0x85, B: 0x8e, A: 0xff}, + {R: 0x24, G: 0x86, B: 0x8e, A: 0xff}, + {R: 0x23, G: 0x87, B: 0x8e, A: 0xff}, + {R: 0x23, G: 0x88, B: 0x8e, A: 0xff}, + {R: 0x23, G: 0x89, B: 0x8e, A: 0xff}, + {R: 0x22, G: 0x8a, B: 0x8d, A: 0xff}, + {R: 0x22, G: 0x8b, B: 0x8d, A: 0xff}, + {R: 0x22, G: 0x8c, B: 0x8d, A: 0xff}, + {R: 0x21, G: 0x8d, B: 0x8d, A: 0xff}, + {R: 0x21, G: 0x8e, B: 0x8d, A: 0xff}, + {R: 0x21, G: 0x8f, B: 0x8d, A: 0xff}, + {R: 0x20, G: 0x90, B: 0x8d, A: 0xff}, + {R: 0x20, G: 0x91, B: 0x8c, A: 0xff}, + {R: 0x20, G: 0x92, B: 0x8c, A: 0xff}, + {R: 0x20, G: 0x93, B: 0x8c, A: 0xff}, + {R: 0x1f, G: 0x93, B: 0x8c, A: 0xff}, + {R: 0x1f, G: 0x94, B: 0x8c, A: 0xff}, + {R: 0x1f, G: 0x95, B: 0x8b, A: 0xff}, + {R: 0x1f, G: 0x96, B: 0x8b, A: 0xff}, + {R: 0x1f, G: 0x97, B: 0x8b, A: 0xff}, + {R: 0x1e, G: 0x98, B: 0x8b, A: 0xff}, + {R: 0x1e, G: 0x99, B: 0x8a, A: 0xff}, + {R: 0x1e, G: 0x9a, B: 0x8a, A: 0xff}, + {R: 0x1e, G: 0x9b, B: 0x8a, A: 0xff}, + {R: 0x1e, G: 0x9c, B: 0x89, A: 0xff}, + {R: 0x1e, G: 0x9d, B: 0x89, A: 0xff}, + {R: 0x1e, G: 0x9e, B: 0x89, A: 0xff}, + {R: 0x1e, G: 0x9f, B: 0x88, A: 0xff}, + {R: 0x1e, G: 0xa0, B: 0x88, A: 0xff}, + {R: 0x1f, G: 0xa1, B: 0x88, A: 0xff}, + {R: 0x1f, G: 0xa2, B: 0x87, A: 0xff}, + {R: 0x1f, G: 0xa3, B: 0x87, A: 0xff}, + {R: 0x1f, G: 0xa3, B: 0x86, A: 0xff}, + {R: 0x20, G: 0xa4, B: 0x86, A: 0xff}, + {R: 0x20, G: 0xa5, B: 0x86, A: 0xff}, + {R: 0x21, G: 0xa6, B: 0x85, A: 0xff}, + {R: 0x21, G: 0xa7, B: 0x85, A: 0xff}, + {R: 0x22, G: 0xa8, B: 0x84, A: 0xff}, + {R: 0x23, G: 0xa9, B: 0x83, A: 0xff}, + {R: 0x23, G: 0xaa, B: 0x83, A: 0xff}, + {R: 0x24, G: 0xab, B: 0x82, A: 0xff}, + {R: 0x25, G: 0xac, B: 0x82, A: 0xff}, + {R: 0x26, G: 0xad, B: 0x81, A: 0xff}, + {R: 0x27, G: 0xae, B: 0x81, A: 0xff}, + {R: 0x28, G: 0xaf, B: 0x80, A: 0xff}, + {R: 0x29, G: 0xaf, B: 0x7f, A: 0xff}, + {R: 0x2a, G: 0xb0, B: 0x7f, A: 0xff}, + {R: 0x2b, G: 0xb1, B: 0x7e, A: 0xff}, + {R: 0x2c, G: 0xb2, B: 0x7d, A: 0xff}, + {R: 0x2e, G: 0xb3, B: 0x7c, A: 0xff}, + {R: 0x2f, G: 0xb4, B: 0x7c, A: 0xff}, + {R: 0x30, G: 0xb5, B: 0x7b, A: 0xff}, + {R: 0x32, G: 0xb6, B: 0x7a, A: 0xff}, + {R: 0x33, G: 0xb7, B: 0x79, A: 0xff}, + {R: 0x35, G: 0xb7, B: 0x79, A: 0xff}, + {R: 0x36, G: 0xb8, B: 0x78, A: 0xff}, + {R: 0x38, G: 0xb9, B: 0x77, A: 0xff}, + {R: 0x39, G: 0xba, B: 0x76, A: 0xff}, + {R: 0x3b, G: 0xbb, B: 0x75, A: 0xff}, + {R: 0x3d, G: 0xbc, B: 0x74, A: 0xff}, + {R: 0x3e, G: 0xbd, B: 0x73, A: 0xff}, + {R: 0x40, G: 0xbe, B: 0x72, A: 0xff}, + {R: 0x42, G: 0xbe, B: 0x71, A: 0xff}, + {R: 0x44, G: 0xbf, B: 0x70, A: 0xff}, + {R: 0x46, G: 0xc0, B: 0x6f, A: 0xff}, + {R: 0x48, G: 0xc1, B: 0x6e, A: 0xff}, + {R: 0x49, G: 0xc2, B: 0x6d, A: 0xff}, + {R: 0x4b, G: 0xc2, B: 0x6c, A: 0xff}, + {R: 0x4d, G: 0xc3, B: 0x6b, A: 0xff}, + {R: 0x4f, G: 0xc4, B: 0x6a, A: 0xff}, + {R: 0x51, G: 0xc5, B: 0x69, A: 0xff}, + {R: 0x53, G: 0xc6, B: 0x68, A: 0xff}, + {R: 0x55, G: 0xc6, B: 0x66, A: 0xff}, + {R: 0x58, G: 0xc7, B: 0x65, A: 0xff}, + {R: 0x5a, G: 0xc8, B: 0x64, A: 0xff}, + {R: 0x5c, G: 0xc9, B: 0x63, A: 0xff}, + {R: 0x5e, G: 0xc9, B: 0x62, A: 0xff}, + {R: 0x60, G: 0xca, B: 0x60, A: 0xff}, + {R: 0x62, G: 0xcb, B: 0x5f, A: 0xff}, + {R: 0x65, G: 0xcc, B: 0x5e, A: 0xff}, + {R: 0x67, G: 0xcc, B: 0x5c, A: 0xff}, + {R: 0x69, G: 0xcd, B: 0x5b, A: 0xff}, + {R: 0x6c, G: 0xce, B: 0x5a, A: 0xff}, + {R: 0x6e, G: 0xce, B: 0x58, A: 0xff}, + {R: 0x70, G: 0xcf, B: 0x57, A: 0xff}, + {R: 0x73, G: 0xd0, B: 0x55, A: 0xff}, + {R: 0x75, G: 0xd0, B: 0x54, A: 0xff}, + {R: 0x77, G: 0xd1, B: 0x52, A: 0xff}, + {R: 0x7a, G: 0xd2, B: 0x51, A: 0xff}, + {R: 0x7c, G: 0xd2, B: 0x4f, A: 0xff}, + {R: 0x7f, G: 0xd3, B: 0x4e, A: 0xff}, + {R: 0x81, G: 0xd4, B: 0x4c, A: 0xff}, + {R: 0x84, G: 0xd4, B: 0x4b, A: 0xff}, + {R: 0x86, G: 0xd5, B: 0x49, A: 0xff}, + {R: 0x89, G: 0xd5, B: 0x48, A: 0xff}, + {R: 0x8b, G: 0xd6, B: 0x46, A: 0xff}, + {R: 0x8e, G: 0xd7, B: 0x44, A: 0xff}, + {R: 0x90, G: 0xd7, B: 0x43, A: 0xff}, + {R: 0x93, G: 0xd8, B: 0x41, A: 0xff}, + {R: 0x95, G: 0xd8, B: 0x3f, A: 0xff}, + {R: 0x98, G: 0xd9, B: 0x3e, A: 0xff}, + {R: 0x9b, G: 0xd9, B: 0x3c, A: 0xff}, + {R: 0x9d, G: 0xda, B: 0x3a, A: 0xff}, + {R: 0xa0, G: 0xda, B: 0x39, A: 0xff}, + {R: 0xa3, G: 0xdb, B: 0x37, A: 0xff}, + {R: 0xa5, G: 0xdb, B: 0x35, A: 0xff}, + {R: 0xa8, G: 0xdc, B: 0x33, A: 0xff}, + {R: 0xab, G: 0xdc, B: 0x32, A: 0xff}, + {R: 0xad, G: 0xdd, B: 0x30, A: 0xff}, + {R: 0xb0, G: 0xdd, B: 0x2e, A: 0xff}, + {R: 0xb3, G: 0xdd, B: 0x2d, A: 0xff}, + {R: 0xb5, G: 0xde, B: 0x2b, A: 0xff}, + {R: 0xb8, G: 0xde, B: 0x29, A: 0xff}, + {R: 0xbb, G: 0xdf, B: 0x27, A: 0xff}, + {R: 0xbd, G: 0xdf, B: 0x26, A: 0xff}, + {R: 0xc0, G: 0xdf, B: 0x24, A: 0xff}, + {R: 0xc3, G: 0xe0, B: 0x23, A: 0xff}, + {R: 0xc5, G: 0xe0, B: 0x21, A: 0xff}, + {R: 0xc8, G: 0xe1, B: 0x20, A: 0xff}, + {R: 0xcb, G: 0xe1, B: 0x1e, A: 0xff}, + {R: 0xcd, G: 0xe1, B: 0x1d, A: 0xff}, + {R: 0xd0, G: 0xe2, B: 0x1c, A: 0xff}, + {R: 0xd3, G: 0xe2, B: 0x1b, A: 0xff}, + {R: 0xd5, G: 0xe2, B: 0x1a, A: 0xff}, + {R: 0xd8, G: 0xe3, B: 0x19, A: 0xff}, + {R: 0xdb, G: 0xe3, B: 0x18, A: 0xff}, + {R: 0xdd, G: 0xe3, B: 0x18, A: 0xff}, + {R: 0xe0, G: 0xe4, B: 0x18, A: 0xff}, + {R: 0xe2, G: 0xe4, B: 0x18, A: 0xff}, + {R: 0xe5, G: 0xe4, B: 0x18, A: 0xff}, + {R: 0xe8, G: 0xe5, B: 0x19, A: 0xff}, + {R: 0xea, G: 0xe5, B: 0x19, A: 0xff}, + {R: 0xed, G: 0xe5, B: 0x1a, A: 0xff}, + {R: 0xef, G: 0xe6, B: 0x1b, A: 0xff}, + {R: 0xf2, G: 0xe6, B: 0x1c, A: 0xff}, + {R: 0xf4, G: 0xe6, B: 0x1e, A: 0xff}, + {R: 0xf7, G: 0xe6, B: 0x1f, A: 0xff}, + {R: 0xf9, G: 0xe7, B: 0x21, A: 0xff}, + {R: 0xfb, G: 0xe7, B: 0x23, A: 0xff}, + {R: 0xfe, G: 0xe7, B: 0x24, A: 0xff}, +} + +// Viridis creates a color map provider. +func Viridis(v, vmin, vmax float64) drawing.Color { + normalized := (v - vmin) / (vmax - vmin) + index := uint8(normalized * 255) + return viridisColors[index] +} diff --git a/xaxis.go b/xaxis.go new file mode 100644 index 0000000..4fcb569 --- /dev/null +++ b/xaxis.go @@ -0,0 +1,208 @@ +package chart + +import ( + "math" +) + +// HideXAxis hides the x-axis. +func HideXAxis() XAxis { + return XAxis{ + Style: Hidden(), + } +} + +// XAxis represents the horizontal axis. +type XAxis struct { + Name string + NameStyle Style + + Style Style + ValueFormatter ValueFormatter + Range Range + + TickStyle Style + Ticks []Tick + TickPosition TickPosition + + GridLines []GridLine + GridMajorStyle Style + GridMinorStyle Style +} + +// GetName returns the name. +func (xa XAxis) GetName() string { + return xa.Name +} + +// GetStyle returns the style. +func (xa XAxis) GetStyle() Style { + return xa.Style +} + +// GetValueFormatter returns the value formatter for the axis. +func (xa XAxis) GetValueFormatter() ValueFormatter { + if xa.ValueFormatter != nil { + return xa.ValueFormatter + } + return FloatValueFormatter +} + +// GetTickPosition returns the tick position option for the axis. +func (xa XAxis) GetTickPosition(defaults ...TickPosition) TickPosition { + if xa.TickPosition == TickPositionUnset { + if len(defaults) > 0 { + return defaults[0] + } + return TickPositionUnderTick + } + return xa.TickPosition +} + +// GetTicks returns the ticks for a series. +// The coalesce priority is: +// - User Supplied Ticks (i.e. Ticks array on the axis itself). +// - Range ticks (i.e. if the range provides ticks). +// - Generating continuous ticks based on minimum spacing and canvas width. +func (xa XAxis) GetTicks(r Renderer, ra Range, defaults Style, vf ValueFormatter) []Tick { + if len(xa.Ticks) > 0 { + return xa.Ticks + } + if tp, isTickProvider := ra.(TicksProvider); isTickProvider { + return tp.GetTicks(r, defaults, vf) + } + tickStyle := xa.Style.InheritFrom(defaults) + return GenerateContinuousTicks(r, ra, false, tickStyle, vf) +} + +// GetGridLines returns the gridlines for the axis. +func (xa XAxis) GetGridLines(ticks []Tick) []GridLine { + if len(xa.GridLines) > 0 { + return xa.GridLines + } + return GenerateGridLines(ticks, xa.GridMajorStyle, xa.GridMinorStyle) +} + +// Measure returns the bounds of the axis. +func (xa XAxis) Measure(r Renderer, canvasBox Box, ra Range, defaults Style, ticks []Tick) Box { + tickStyle := xa.TickStyle.InheritFrom(xa.Style.InheritFrom(defaults)) + + tp := xa.GetTickPosition() + + var ltx, rtx int + var tx, ty int + var left, right, bottom = math.MaxInt32, 0, 0 + for index, t := range ticks { + v := t.Value + tb := Draw.MeasureText(r, t.Label, tickStyle.GetTextOptions()) + + tx = canvasBox.Left + ra.Translate(v) + ty = canvasBox.Bottom + DefaultXAxisMargin + tb.Height() + switch tp { + case TickPositionUnderTick, TickPositionUnset: + ltx = tx - tb.Width()>>1 + rtx = tx + tb.Width()>>1 + break + case TickPositionBetweenTicks: + if index > 0 { + ltx = ra.Translate(ticks[index-1].Value) + rtx = tx + } + break + } + + left = MinInt(left, ltx) + right = MaxInt(right, rtx) + bottom = MaxInt(bottom, ty) + } + + if !xa.NameStyle.Hidden && len(xa.Name) > 0 { + tb := Draw.MeasureText(r, xa.Name, xa.NameStyle.InheritFrom(defaults)) + bottom += DefaultXAxisMargin + tb.Height() + } + + return Box{ + Top: canvasBox.Bottom, + Left: left, + Right: right, + Bottom: bottom, + } +} + +// Render renders the axis +func (xa XAxis) Render(r Renderer, canvasBox Box, ra Range, defaults Style, ticks []Tick) { + tickStyle := xa.TickStyle.InheritFrom(xa.Style.InheritFrom(defaults)) + + tickStyle.GetStrokeOptions().WriteToRenderer(r) + r.MoveTo(canvasBox.Left, canvasBox.Bottom) + r.LineTo(canvasBox.Right, canvasBox.Bottom) + r.Stroke() + + tp := xa.GetTickPosition() + + var tx, ty int + var maxTextHeight int + for index, t := range ticks { + v := t.Value + lx := ra.Translate(v) + + tx = canvasBox.Left + lx + + tickStyle.GetStrokeOptions().WriteToRenderer(r) + r.MoveTo(tx, canvasBox.Bottom) + r.LineTo(tx, canvasBox.Bottom+DefaultVerticalTickHeight) + r.Stroke() + + tickWithAxisStyle := xa.TickStyle.InheritFrom(xa.Style.InheritFrom(defaults)) + tb := Draw.MeasureText(r, t.Label, tickWithAxisStyle) + + switch tp { + case TickPositionUnderTick, TickPositionUnset: + if tickStyle.TextRotationDegrees == 0 { + tx = tx - tb.Width()>>1 + ty = canvasBox.Bottom + DefaultXAxisMargin + tb.Height() + } else { + ty = canvasBox.Bottom + (2 * DefaultXAxisMargin) + } + Draw.Text(r, t.Label, tx, ty, tickWithAxisStyle) + maxTextHeight = MaxInt(maxTextHeight, tb.Height()) + break + case TickPositionBetweenTicks: + if index > 0 { + llx := ra.Translate(ticks[index-1].Value) + ltx := canvasBox.Left + llx + finalTickStyle := tickWithAxisStyle.InheritFrom(Style{TextHorizontalAlign: TextHorizontalAlignCenter}) + + Draw.TextWithin(r, t.Label, Box{ + Left: ltx, + Right: tx, + Top: canvasBox.Bottom + DefaultXAxisMargin, + Bottom: canvasBox.Bottom + DefaultXAxisMargin, + }, finalTickStyle) + + ftb := Text.MeasureLines(r, Text.WrapFit(r, t.Label, tx-ltx, finalTickStyle), finalTickStyle) + maxTextHeight = MaxInt(maxTextHeight, ftb.Height()) + } + break + } + } + + nameStyle := xa.NameStyle.InheritFrom(defaults) + if !xa.NameStyle.Hidden && len(xa.Name) > 0 { + tb := Draw.MeasureText(r, xa.Name, nameStyle) + tx := canvasBox.Right - (canvasBox.Width()>>1 + tb.Width()>>1) + ty := canvasBox.Bottom + DefaultXAxisMargin + maxTextHeight + DefaultXAxisMargin + tb.Height() + Draw.Text(r, xa.Name, tx, ty, nameStyle) + } + + if !xa.GridMajorStyle.Hidden || !xa.GridMinorStyle.Hidden { + for _, gl := range xa.GetGridLines(ticks) { + if (gl.IsMinor && !xa.GridMinorStyle.Hidden) || (!gl.IsMinor && !xa.GridMajorStyle.Hidden) { + defaults := xa.GridMajorStyle + if gl.IsMinor { + defaults = xa.GridMinorStyle + } + gl.Render(r, canvasBox, ra, true, gl.Style.InheritFrom(defaults)) + } + } + } +} diff --git a/xaxis_test.go b/xaxis_test.go new file mode 100644 index 0000000..6d05d53 --- /dev/null +++ b/xaxis_test.go @@ -0,0 +1,67 @@ +package chart + +import ( + "testing" + + "github.com/wcharczuk/go-chart/v2/testutil" +) + +func TestXAxisGetTicks(t *testing.T) { + // replaced new assertions helper + + r, err := PNG(1024, 1024) + testutil.AssertNil(t, err) + + f, err := GetDefaultFont() + testutil.AssertNil(t, err) + + xa := XAxis{} + xr := &ContinuousRange{Min: 10, Max: 100, Domain: 1024} + styleDefaults := Style{ + Font: f, + FontSize: 10.0, + } + vf := FloatValueFormatter + ticks := xa.GetTicks(r, xr, styleDefaults, vf) + testutil.AssertLen(t, ticks, 16) +} + +func TestXAxisGetTicksWithUserDefaults(t *testing.T) { + // replaced new assertions helper + + r, err := PNG(1024, 1024) + testutil.AssertNil(t, err) + + f, err := GetDefaultFont() + testutil.AssertNil(t, err) + + xa := XAxis{ + Ticks: []Tick{{Value: 1.0, Label: "1.0"}}, + } + xr := &ContinuousRange{Min: 10, Max: 100, Domain: 1024} + styleDefaults := Style{ + Font: f, + FontSize: 10.0, + } + vf := FloatValueFormatter + ticks := xa.GetTicks(r, xr, styleDefaults, vf) + testutil.AssertLen(t, ticks, 1) +} + +func TestXAxisMeasure(t *testing.T) { + // replaced new assertions helper + + f, err := GetDefaultFont() + testutil.AssertNil(t, err) + style := Style{ + Font: f, + FontSize: 10.0, + } + r, err := PNG(100, 100) + testutil.AssertNil(t, err) + ticks := []Tick{{Value: 1.0, Label: "1.0"}, {Value: 2.0, Label: "2.0"}, {Value: 3.0, Label: "3.0"}} + xa := XAxis{} + xab := xa.Measure(r, NewBox(0, 0, 100, 100), &ContinuousRange{Min: 1.0, Max: 3.0, Domain: 100}, style, ticks) + testutil.AssertEqual(t, 122, xab.Width()) + testutil.AssertEqual(t, 21, xab.Height()) +} diff --git a/yaxis.go b/yaxis.go new file mode 100644 index 0000000..841fc86 --- /dev/null +++ b/yaxis.go @@ -0,0 +1,234 @@ +package chart + +import ( + "math" +) + +// HideYAxis hides a y-axis. +func HideYAxis() YAxis { + return YAxis{ + Style: Hidden(), + } +} + +// YAxis is a veritcal rule of the range. +// There can be (2) y-axes; a primary and secondary. +type YAxis struct { + Name string + NameStyle Style + + Style Style + + Zero GridLine + + AxisType YAxisType + Ascending bool + + ValueFormatter ValueFormatter + Range Range + + TickStyle Style + Ticks []Tick + + GridLines []GridLine + GridMajorStyle Style + GridMinorStyle Style +} + +// GetName returns the name. +func (ya YAxis) GetName() string { + return ya.Name +} + +// GetNameStyle returns the name style. +func (ya YAxis) GetNameStyle() Style { + return ya.NameStyle +} + +// GetStyle returns the style. +func (ya YAxis) GetStyle() Style { + return ya.Style +} + +// GetValueFormatter returns the value formatter for the axis. +func (ya YAxis) GetValueFormatter() ValueFormatter { + if ya.ValueFormatter != nil { + return ya.ValueFormatter + } + return FloatValueFormatter +} + +// GetTickStyle returns the tick style. +func (ya YAxis) GetTickStyle() Style { + return ya.TickStyle +} + +// GetTicks returns the ticks for a series. +// The coalesce priority is: +// - User Supplied Ticks (i.e. Ticks array on the axis itself). +// - Range ticks (i.e. if the range provides ticks). +// - Generating continuous ticks based on minimum spacing and canvas width. +func (ya YAxis) GetTicks(r Renderer, ra Range, defaults Style, vf ValueFormatter) []Tick { + if len(ya.Ticks) > 0 { + return ya.Ticks + } + if tp, isTickProvider := ra.(TicksProvider); isTickProvider { + return tp.GetTicks(r, defaults, vf) + } + tickStyle := ya.Style.InheritFrom(defaults) + return GenerateContinuousTicks(r, ra, true, tickStyle, vf) +} + +// GetGridLines returns the gridlines for the axis. +func (ya YAxis) GetGridLines(ticks []Tick) []GridLine { + if len(ya.GridLines) > 0 { + return ya.GridLines + } + return GenerateGridLines(ticks, ya.GridMajorStyle, ya.GridMinorStyle) +} + +// Measure returns the bounds of the axis. +func (ya YAxis) Measure(r Renderer, canvasBox Box, ra Range, defaults Style, ticks []Tick) Box { + var tx int + if ya.AxisType == YAxisPrimary { + tx = canvasBox.Right + DefaultYAxisMargin + } else if ya.AxisType == YAxisSecondary { + tx = canvasBox.Left - DefaultYAxisMargin + } + + ya.TickStyle.InheritFrom(ya.Style.InheritFrom(defaults)).WriteToRenderer(r) + var minx, maxx, miny, maxy = math.MaxInt32, 0, math.MaxInt32, 0 + var maxTextHeight int + for _, t := range ticks { + v := t.Value + ly := canvasBox.Bottom - ra.Translate(v) + + tb := r.MeasureText(t.Label) + tbh2 := tb.Height() >> 1 + finalTextX := tx + if ya.AxisType == YAxisSecondary { + finalTextX = tx - tb.Width() + } + + maxTextHeight = MaxInt(tb.Height(), maxTextHeight) + + if ya.AxisType == YAxisPrimary { + minx = canvasBox.Right + maxx = MaxInt(maxx, tx+tb.Width()) + } else if ya.AxisType == YAxisSecondary { + minx = MinInt(minx, finalTextX) + maxx = MaxInt(maxx, tx) + } + + miny = MinInt(miny, ly-tbh2) + maxy = MaxInt(maxy, ly+tbh2) + } + + if !ya.NameStyle.Hidden && len(ya.Name) > 0 { + maxx += (DefaultYAxisMargin + maxTextHeight) + } + + return Box{ + Top: miny, + Left: minx, + Right: maxx, + Bottom: maxy, + } +} + +// Render renders the axis. +func (ya YAxis) Render(r Renderer, canvasBox Box, ra Range, defaults Style, ticks []Tick) { + tickStyle := ya.TickStyle.InheritFrom(ya.Style.InheritFrom(defaults)) + tickStyle.WriteToRenderer(r) + + sw := tickStyle.GetStrokeWidth(defaults.StrokeWidth) + + var lx int + var tx int + if ya.AxisType == YAxisPrimary { + lx = canvasBox.Right + int(sw) + tx = lx + DefaultYAxisMargin + } else if ya.AxisType == YAxisSecondary { + lx = canvasBox.Left - int(sw) + tx = lx - DefaultYAxisMargin + } + + r.MoveTo(lx, canvasBox.Bottom) + r.LineTo(lx, canvasBox.Top) + r.Stroke() + + var maxTextWidth int + var finalTextX, finalTextY int + for _, t := range ticks { + v := t.Value + ly := canvasBox.Bottom - ra.Translate(v) + + tb := Draw.MeasureText(r, t.Label, tickStyle) + + if tb.Width() > maxTextWidth { + maxTextWidth = tb.Width() + } + + if ya.AxisType == YAxisSecondary { + finalTextX = tx - tb.Width() + } else { + finalTextX = tx + } + + if tickStyle.TextRotationDegrees == 0 { + finalTextY = ly + tb.Height()>>1 + } else { + finalTextY = ly + } + + tickStyle.WriteToRenderer(r) + + r.MoveTo(lx, ly) + if ya.AxisType == YAxisPrimary { + r.LineTo(lx+DefaultHorizontalTickWidth, ly) + } else if ya.AxisType == YAxisSecondary { + r.LineTo(lx-DefaultHorizontalTickWidth, ly) + } + r.Stroke() + + Draw.Text(r, t.Label, finalTextX, finalTextY, tickStyle) + } + + nameStyle := ya.NameStyle.InheritFrom(defaults.InheritFrom(Style{TextRotationDegrees: 90})) + if !ya.NameStyle.Hidden && len(ya.Name) > 0 { + nameStyle.GetTextOptions().WriteToRenderer(r) + tb := Draw.MeasureText(r, ya.Name, nameStyle) + + var tx int + if ya.AxisType == YAxisPrimary { + tx = canvasBox.Right + int(sw) + DefaultYAxisMargin + maxTextWidth + DefaultYAxisMargin + } else if ya.AxisType == YAxisSecondary { + tx = canvasBox.Left - (DefaultYAxisMargin + int(sw) + maxTextWidth + DefaultYAxisMargin) + } + + var ty int + if nameStyle.TextRotationDegrees == 0 { + ty = canvasBox.Top + (canvasBox.Height()>>1 - tb.Width()>>1) + } else { + ty = canvasBox.Top + (canvasBox.Height()>>1 - tb.Height()>>1) + } + + Draw.Text(r, ya.Name, tx, ty, nameStyle) + } + + if !ya.Zero.Style.Hidden { + ya.Zero.Render(r, canvasBox, ra, false, Style{}) + } + + if !ya.GridMajorStyle.Hidden || !ya.GridMinorStyle.Hidden { + for _, gl := range ya.GetGridLines(ticks) { + if (gl.IsMinor && !ya.GridMinorStyle.Hidden) || (!gl.IsMinor && !ya.GridMajorStyle.Hidden) { + defaults := ya.GridMajorStyle + if gl.IsMinor { + defaults = ya.GridMinorStyle + } + gl.Render(r, canvasBox, ra, false, gl.Style.InheritFrom(defaults)) + } + } + } +} diff --git a/yaxis_test.go b/yaxis_test.go new file mode 100644 index 0000000..754f4e0 --- /dev/null +++ b/yaxis_test.go @@ -0,0 +1,85 @@ +package chart + +import ( + "testing" + + "github.com/wcharczuk/go-chart/v2/testutil" +) + +func TestYAxisGetTicks(t *testing.T) { + // replaced new assertions helper + + r, err := PNG(1024, 1024) + testutil.AssertNil(t, err) + + f, err := GetDefaultFont() + testutil.AssertNil(t, err) + + ya := YAxis{} + yr := &ContinuousRange{Min: 10, Max: 100, Domain: 1024} + styleDefaults := Style{ + Font: f, + FontSize: 10.0, + } + vf := FloatValueFormatter + ticks := ya.GetTicks(r, yr, styleDefaults, vf) + testutil.AssertLen(t, ticks, 32) +} + +func TestYAxisGetTicksWithUserDefaults(t *testing.T) { + // replaced new assertions helper + + r, err := PNG(1024, 1024) + testutil.AssertNil(t, err) + + f, err := GetDefaultFont() + testutil.AssertNil(t, err) + + ya := YAxis{ + Ticks: []Tick{{Value: 1.0, Label: "1.0"}}, + } + yr := &ContinuousRange{Min: 10, Max: 100, Domain: 1024} + styleDefaults := Style{ + Font: f, + FontSize: 10.0, + } + vf := FloatValueFormatter + ticks := ya.GetTicks(r, yr, styleDefaults, vf) + testutil.AssertLen(t, ticks, 1) +} + +func TestYAxisMeasure(t *testing.T) { + // replaced new assertions helper + + f, err := GetDefaultFont() + testutil.AssertNil(t, err) + style := Style{ + Font: f, + FontSize: 10.0, + } + r, err := PNG(100, 100) + testutil.AssertNil(t, err) + ticks := []Tick{{Value: 1.0, Label: "1.0"}, {Value: 2.0, Label: "2.0"}, {Value: 3.0, Label: "3.0"}} + ya := YAxis{} + yab := ya.Measure(r, NewBox(0, 0, 100, 100), &ContinuousRange{Min: 1.0, Max: 3.0, Domain: 100}, style, ticks) + testutil.AssertEqual(t, 32, yab.Width()) + testutil.AssertEqual(t, 110, yab.Height()) +} + +func TestYAxisSecondaryMeasure(t *testing.T) { + // replaced new assertions helper + + f, err := GetDefaultFont() + testutil.AssertNil(t, err) + style := Style{ + Font: f, + FontSize: 10.0, + } + r, err := PNG(100, 100) + testutil.AssertNil(t, err) + ticks := []Tick{{Value: 1.0, Label: "1.0"}, {Value: 2.0, Label: "2.0"}, {Value: 3.0, Label: "3.0"}} + ya := YAxis{AxisType: YAxisSecondary} + yab := ya.Measure(r, NewBox(0, 0, 100, 100), &ContinuousRange{Min: 1.0, Max: 3.0, Domain: 100}, style, ticks) + testutil.AssertEqual(t, 32, yab.Width()) + testutil.AssertEqual(t, 110, yab.Height()) +}