Changeset 188

Show
Ignore:
Timestamp:
06/14/10 23:31:08 (2 years ago)
Author:
JoeCoder
Message:

Loading joint position and vertex assignment skeletal animation data from Collada files. Loading and playing animations remains unimplemented.
A few extra material properties such as line widths and depth culling modes.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/src/demo1/gameobj.d

    r176 r188  
    8282            SoundNode zap = addChild(new SoundNode()); 
    8383            zap.setSound("sound/laser3.ogg"); 
    84             zap.setVolume(1); 
     84            zap.setVolume(.2); 
    8585            zap.play(); 
    8686        } 
  • trunk/src/demo1/main.d

    r186 r188  
    5757        camera = ship.getCameraSpot().addChild(new CameraNode()); 
    5858        ship.getCameraSpot().addChild(camera); 
    59         camera.setView(2, 100000, 60, 0, 1);   // wide angle view 
     59        camera.setView(2, 2000000, 60, 0, 1);  // wide angle and distanct 
    6060         
    6161        // Music 
    6262        music = camera.addChild(new SoundNode("music/celery - pages.ogg")); 
    6363        music.setLooping(true); 
    64         music.play(); 
     64        //music.play(); 
    6565 
    6666        // Lights 
    6767        light = scene.addChild(new LightNode()); 
    6868        light.diffuse = "#fed"; 
    69         light.setLightRadius(100000); 
    70         light.setPosition(Vec3f(0, 0, -60000)); 
     69        light.setLightRadius(1000000); 
     70        light.setPosition(Vec3f(0, 0, -600000)); 
    7171 
    7272        // Star 
    7373        star = light.addChild(new SpriteNode()); 
    7474        star.setMaterial("space/star.dae", "star-material"); 
    75         star.setSize(Vec3f(10000)); 
     75        star.setSize(Vec3f(100000)); 
    7676 
    7777        // Planet 
     
    120120    System.init();  
    121121    auto window = Window.getInstance(); 
    122     window.setResolution(720, 445, 0, false, 1); // golden ratio 
     122    window.setResolution(640, 480, 0, true, 4); // golden ratio 
     123    //window.setResolution(1920, 1080, 0, true, 4); 
    123124    ResourceManager.addPath(["../res/", "../res/shader", "../res/gui/font"]); 
    124125 
     
    232233                `%d <b>objects</b><br/>` 
    233234                `%d <b>polygons</b><br/>` 
    234                 `%d <b>vertices</b><br/><br/> wasd to move<br/> +q for hyperdrive<br/>space to shoot`, 
    235                 framerate, stats.nodeCount, stats.triangleCount, stats.vertexCount) ~ Profile.getTimesAndClear(); 
     235                `%d <b>vertices</b><br/>` 
     236                `%d <b>lights</b><br/><br/> wasd to move<br/> +q for hyperdrive<br/>space to shoot`, 
     237                framerate, stats.nodeCount, stats.triangleCount, stats.vertexCount, stats.lightCount) ~ Profile.getTimesAndClear(); 
    236238            frame.seek(0); 
    237239            fps = 0; 
  • trunk/src/demo1/ship.d

    r183 r188  
    5454        sound = ship.addChild(new SoundNode()); 
    5555        sound.setSound("sound/ship-engine.ogg"); 
     56        sound.setVolume(.3); 
    5657        sound.setLooping(true); 
    5758    } 
     
    9798    } 
    9899     
    99      
    100100    void update(float delta) 
    101101    {   super.update(delta); 
     
    104104        float speed = 50*delta; 
    105105        if (input.hyper) 
    106             speed *= 20; // Hyperdrive 
     106            speed *= 40; // Hyperdrive 
    107107 
    108108        // Accelerate forward 
     
    113113            // Engine smoke 
    114114            SpriteNode puff = getScene().addChild(new SpriteNode()); 
    115             puff.setMaterial("fx/smoke.dae", "smoke-material"); 
     115            Material smoke = ResourceManager.material("fx/smoke.dae", "smoke-material"); 
     116            puff.setMaterial(smoke.dup()); 
    116117            puff.setLifetime(5); 
    117118            puff.setSize(Vec3f(.4)); 
    118             //puff.setVelocity(getVelocity() - Vec3f(0, 0, -10).rotate(ship.getAbsoluteTransform())); 
     119            puff.setVelocity(getVelocity() - Vec3f(0, 0, -10).rotate(ship.getAbsoluteTransform())); 
    119120            puff.setPosition(ship.getAbsolutePosition()+Vec3f(.8, 0, 2.5).rotate(ship.getAbsoluteTransform())); 
    120121             
    121122            void fade(Node self) 
    122123            {   SpriteNode node = cast(SpriteNode)self; 
    123                 //node.setColor(Color(1, 1, 1, node.getLifetime()/5)); // TODO: Node material overrides 
     124                node.getMaterial().getPass().diffuse.a = cast(ubyte)(node.getLifetime() * 51); 
    124125                float scale = tango.math.Math.sqrt(20.0f)-tango.math.Math.sqrt(node.getLifetime()*4) + .4; 
    125126                node.setSize(scale); 
     127                node.setVelocity(node.getVelocity().scale(max(1-1/30f, 0.0f))); 
    126128            } 
    127129            puff.onUpdate(&fade); 
  • trunk/src/tests/benchmark/array.d

    r178 r188  
    55 */ 
    66 
    7 module unittests.benchmark.array; 
     7module tests.benchmark.array; 
    88 
    99import tango.io.Stdout; 
     
    1414 
    1515/** 
     16 * Test the speed of ArrayBuilder concatenation against the built-in array. 
    1617 * On a P4 2.8ghz Windows XP Laptop, this shows that ArrayBuilder!(int) is 3-6x faster with ~= as int[]. */ 
    1718void main() 
  • trunk/src/tests/benchmark/memory.d

    r178 r188  
    55 */ 
    66 
    7 module unittests.benchmark.memory; 
     7module tests.benchmark.memory; 
    88 
    99import yage.core.memory; 
  • trunk/src/tests/benchmark/parallel.d

    r178 r188  
    55 */ 
    66 
    7 module unittests.benchmark.parallel; 
     7module tests.benchmark.parallel; 
    88 
    99import tango.math.Math; 
  • trunk/src/tests/integration/main.d

    r187 r188  
    1818class FPSCamera : MovableNode 
    1919{    
    20     float speed = 600;            // units/second^2 acceleration 
     20    float speed = 300;            // units/second^2 acceleration 
    2121    float angularSpeed = .2;    // radians of acceleration per pixel of mouse movement. 
    2222    float dampen = 5;           // dampen linear velocity by this % every second 
     
    162162        pass.lighting = true; 
    163163        pass.emissive = "#222"; 
    164         pass.diffuse = "white"; 
     164        pass.diffuse = "gray"; 
    165165        pass.specular = "gray"; 
    166166        pass.shininess = 128; 
     
    208208        // A critter 
    209209        auto beast = new ModelNode("character/beast.dae"); 
    210         //foreach (mesh; beast.getModel().getMeshes()) 
    211         //  mesh.setMaterial(plane.getModel().getMeshes()[0].getMaterial()); 
    212210        scene.addChild(beast); 
    213211        beast.setScale(Vec3f(.3)); 
    214212        beast.setPosition(Vec3f(0, -40, -20)); 
    215213        //beast.setAngularVelocity(Vec3f(0, .5, 0)); 
    216          
     214        beast.getModel().drawJoints = true; 
     215         
     216        /* 
     217        auto terrorist = scene.addChild(new ModelNode("character/terrorist/terrorist.dae")); 
     218        terrorist.setPosition(Vec3f(20, -40, -20)); 
     219        terrorist.getModel().drawJoints = true; 
     220        */ 
    217221        // Lights 
    218222        auto rotater = addChild(new ModelNode()); 
     
    299303        rotator.setAngularVelocity(Vec3f(0, .1, 0)); 
    300304         
    301         int number = 50
     305        int number = 500
    302306        for (int i=0; i<number; i++) 
    303307        { 
  • trunk/src/yage/core/array.d

    r183 r188  
    102102 * .dup for associative arrays. 
    103103 * params: 
    104  *     deep = If true, child dynamic and associative arrays will also be dup'd.*/ 
     104 *     deep = If true, child dynamic and associative arrays will also be dup'd. 
    105105T[K] dup(T, K)(T[K] array, bool deep=false) 
    106106{   T[K] result; 
     
    150150    } 
    151151} 
    152  
     152*/ 
    153153 
    154154/** 
     
    494494    {   return AT(array[0..size]);       
    495495    } 
    496     AT opSlice(size_t start, size_t end)         // overloads a[i .. j] 
    497     {   assert(end < size); 
     496    AT opSlice(size_t start, size_t end) /// ditto 
     497    {   assert(end < size);  // overloads a[i .. j] 
    498498        return AT(array[start..end]);        
    499499    } 
    500500     
    501501    /// 
    502     AT opSliceAssign(T v)            // overloads a[] = v 
     502    AT opSliceAssign(T v) // overloads a[] = v 
    503503    {   array[0..size] = v; 
    504504        return *this; 
     
    506506     
    507507    /// 
    508     AT opSliceAssign(T v, size_t start, size_t end) // overloads a[i .. j] = v 
     508    AT opSliceAssign(T v, size_t start, size_t end) // overloads a[i .. j] = v 
    509509    {   assert(end < size); 
    510510        array[start..end] = v; 
  • trunk/src/yage/core/json.d

    r177 r188  
    99import tango.core.Traits; 
    1010import tango.text.convert.Format; 
    11  
    12 /// TODO: enums 
     11import yage.system.log; 
     12 
     13 
     14/// TODO: This fails for base classes! 
    1315struct Json 
    1416{ 
     
    2224        int floatPrecision = 6;    /// TODO 
    2325        int uintAsHex = false;     /// TODO 
    24         bool useReferences = true; /// Print a reference to an object instead of adding it more than once. 
     26        bool useReferences = false; /// Print a reference to an object instead of adding it more than once. 
    2527         
    2628        private int currentDepth = 0; 
     
    114116                    result ~= tab ~ name ~ ": " ~ internalEncode(object.tupleof[index], options, path~"."~name) ~ comma ~ options.lineReturn; 
    115117                } 
     118                 
    116119                return result ~ tab2 ~ "}"; 
    117120            }    
     
    211214            } 
    212215        } 
    213          
    214         Json.encode(new A()); 
     216        class C : A 
     217        {   int test=5; 
     218        } 
    215219    } 
    216220} 
     221 
     222 
     223 
     224// Testing 
     225template BaseClassOf(T) {                                                       
     226    static if (is(T S == super))                                          
     227        alias S[0] BaseClassOf; 
     228    else 
     229        static assert(false, "fail"); 
     230} 
  • trunk/src/yage/core/memory.d

    r178 r188  
    44import yage.core.array; 
    55import yage.core.misc; 
     6import yage.system.log; 
    67 
    78/** 
     
    2324{ 
    2425    private ArrayBuilder!(ubyte) _memory; 
    25      
     26    debug { 
     27        private TypeInfo[] allocationTypes; 
     28        private int[] allocationSizes; 
     29    } 
    2630    private mixin Singleton!(Memory); 
    2731     
    2832     
    2933    /** 
    30      * Get a new array of type T. */ 
     34     * Get a new array of type T.  
     35     * Params: 
     36     *     length The number of array elements. */ 
    3137    static T[] allocate(T)(int length) 
    32     {   length *= T.sizeof; 
    33     ArrayBuilder!(ubyte)* memory = &getInstance()._memory; // get TLS version of _memory. 
     38    {   int bytes = length * T.sizeof; // in bytes 
     39        auto instance = getInstance(); 
     40        ArrayBuilder!(ubyte)* memory = &instance._memory; // get TLS version of _memory. 
    3441        int l = memory.length; 
    35         memory.length = l += length
     42        memory.length = l += bytes
    3643        if (memory.reserve < l) 
    3744            memory.reserve = l; 
    3845         
    39         return cast(T[]) memory.data[$-length..$]; 
     46        debug {          
     47            instance.allocationTypes ~= T.typeinfo; 
     48            instance.allocationSizes ~= bytes; 
     49        } 
     50         
     51        return cast(T[]) memory.data[$-bytes..$]; 
    4052    } 
    4153     
     
    4355     * Free a previously allocated array. */ 
    4456    static void free(T)(T[] data) 
    45     {   ArrayBuilder!(ubyte)* memory = &getInstance()._memory; 
    46         memory.length = memory.length - data.length*T.sizeof; 
     57    {   int bytes = data.length*T.sizeof; // in bytes 
     58        auto instance = getInstance(); 
     59        debug { 
     60            char[] error = "Memory must be freed in the reverse order it was allocated."; 
     61            assert(bytes == instance.allocationSizes[$-1], error); 
     62            assert(T.typeinfo == instance.allocationTypes[$-1], error); 
     63            instance.allocationSizes.length = instance.allocationSizes.length-1; 
     64            instance.allocationTypes.length = instance.allocationTypes.length-1; 
     65        } 
     66        ArrayBuilder!(ubyte)* memory = &instance._memory; 
     67        memory.length = memory.length - bytes; 
    4768    } 
    4869     
     
    5576     
    5677    unittest { 
     78         
     79        // Test allocation 
    5780        long[] test1 = Memory.allocate!(long)(50); 
     81        assert(test1.length == 50); 
    5882        for (int i=0; i<test1.length; i++) 
    5983            test1[i] = i; 
     
    6185        Memory.free!(long)(test1); 
    6286        assert(Memory.getInstance()._memory.length == 0); 
     87 
     88        // Test order 
     89        auto test2 = Memory.allocate!(int)(20); 
     90        auto test3 = Memory.allocate!(int)(30); 
     91        Memory.free(test3); 
     92        Memory.free(test2); 
    6393    } 
    6494} 
  • trunk/src/yage/core/misc.d

    r165 r188  
    1616import yage.core.parse; 
    1717import yage.core.timer; 
    18  
     18import yage.system.log; 
    1919 
    2020/** 
     
    4545    path = join(result, sep); 
    4646    return path; 
     47} 
     48 
     49/** 
     50 * Make a shallow copy of a class. 
     51 * TODO: dup for structs, and this also doesn't copy base Members.  
     52 * TODO: Betware arrays, both will be slices of the same array afterward, even after resizing one. */ 
     53T dup(T : Object)(T object) 
     54{   if (!object) 
     55        return null; 
     56    T result = new T(); 
     57     
     58    foreach (int index, _; object.tupleof) 
     59        result.tupleof[index] = object.tupleof[index]; 
     60    return result; 
     61} 
     62class DupTest { int a, b; } 
     63class DupTest2 : DupTest { int c; } 
     64unittest {   
     65    auto a = new DupTest2(); 
     66    a.a = 3; 
     67    a.c = 4; 
     68    auto b = dup(a); 
     69    assert(a !is b); 
     70    assert(b.c==4);  
     71    //assert(b.a==3); 
    4772} 
    4873 
  • trunk/src/yage/core/tree.d

    r178 r188  
    1111/** 
    1212 * Implements an element that can be used in a tree, with parents and children. 
     13 * This is probably/maybe threadsafe. 
    1314 * Example: 
    1415 * -------------------------------- 
     
    3132     * Returns: A reference to the child. */ 
    3233    S addChild(S : T)(S child) 
    33     in { 
    34         assert(child); 
    35         assert(child != this);       
    36     }body 
    3734    {   synchronized(this) 
    38         { 
     35        {   assert(child); 
     36            assert(child != this); 
     37         
    3938            // If child has an existing parent. 
    4039            if (child.parent) 
     
    5857     */ 
    5958    S removeChild(S : T)(S child) 
    60     in { 
    61         assert(child); 
    62         assert(isChild(child)); 
    63         assert(child.parent == this); 
    64     } 
    65     out 
    66     {   assert (!isChild(child)); 
    67     } 
    68     body 
    69     {   if (child.index > 0) 
    70         {   //yage.core.all.remove(parent.children, index, false); 
    71             yage.core.all.remove(children, child.index, false); 
    72             if (child.index < children.length) // update index of element that replaced child. 
    73                 children[child.index].index = child.index; 
    74             child.index = -1; // so remove can't be called twice. 
    75             child.parent = null;             
     59    {   synchronized (this) 
     60        { 
     61            assert(child); 
     62            assert(isChild(child)); 
     63            assert(child.parent == this); 
     64             
     65            if (child.index > 0) 
     66            {   //yage.core.all.remove(parent.children, index, false); 
     67                yage.core.all.remove(children, child.index, false); 
     68                if (child.index < children.length) // update index of element that replaced child. 
     69                    children[child.index].index = child.index; 
     70                child.index = -1; // so remove can't be called twice. 
     71                child.parent = null;             
     72            } 
     73            assert (!isChild(child)); 
    7674        } 
    7775        return child; 
     
    9593     * This function will also return false if elem is null. */  
    9694    bool isChild(T elem) 
    97     {   if (!elem || elem.index < 0 || elem.index >= children.length) 
    98             return false; 
    99         return cast(bool)(children[elem.index] == elem); 
     95    {   synchronized (this) 
     96        {   if (!elem || elem.index < 0 || elem.index >= children.length) 
     97                return false; 
     98            return cast(bool)(children[elem.index] == elem); 
     99        } 
    100100    } 
    101101} 
  • trunk/src/yage/gui/surfacegeometry.d

    r186 r188  
    103103        Material createMaterial() 
    104104        {   auto result = new Material(); 
    105             result.setPass(new MaterialPass()); 
     105            auto pass = new MaterialPass();          
     106            pass.diffuse = "white"; 
     107            pass.blend = MaterialPass.Blend.AVERAGE; 
     108            pass.lighting = 
     109            pass.depthRead = 
     110            pass.depthWrite = false; 
     111            result.setPass(pass); 
    106112            return result; 
    107113        } 
     
    134140            topLeftImage, topImage, topRightImage, rightImage,  
    135141            bottomRightImage, bottomImage, bottomLeftImage, leftImage, centerImage, text]); 
     142        setMaterials(null, null, null, null, null, 1.0); 
    136143    } 
    137144     
     
    233240            result.diffuse = Color(1f, 1f, 1f, opacity); 
    234241            result.blend = MaterialPass.Blend.AVERAGE; 
    235             result.lighting = false; 
    236             result.emissive = Color(0xffffffff); // even with this, we still have to turn off lighting to render, but why? 
     242            result.lighting = 
     243            result.depthRead = 
     244            result.depthWrite = false; 
     245            //result.emissive = Color(0xffffffff); // even with this, we still have to turn off lighting to render, but why? 
    237246            return result; 
    238247        } 
     
    247256        // Border Images 
    248257        foreach(mesh; this.borderImage) 
    249         {   if (borderImage[0]) 
     258        {   if (borderImage.length && borderImage[0]) 
    250259            {   mesh.setMaterial(new Material()); 
    251260                mesh.getMaterial().setPass(createPass(borderImage[0])); 
     
    254263        } 
    255264        foreach(mesh; this.borderCornerImage) 
    256         {   if (borderCornerImage[0]) 
     265        {   if (borderCornerImage.length && borderCornerImage[0]) 
    257266            {   mesh.setMaterial(new Material()); 
    258267                mesh.getMaterial().setPass(createPass(borderCornerImage[0])); 
  • trunk/src/yage/gui/textlayout.d

    r187 r188  
    180180                    // Overlay the glyph onto the main image 
    181181                    float skew = istyle.fontStyle == Style.FontStyle.ITALIC ? .33f : 0; 
    182                     result.overlaySkewAndColor(letter.image, istyle.color, x+letter.left, baseline-letter.top, 0); 
     182                    result.overlayAndColor(letter.image, istyle.color, x+letter.left, baseline-letter.top); 
    183183                     
    184184                    // Render underline, overline, and linethrough 
  • trunk/src/yage/resource/collada.d

    r187 r188  
    2121import yage.core.math.matrix; 
    2222import yage.core.math.vector; 
     23import yage.core.misc : dup; 
    2324import yage.core.object2; 
    2425import yage.core.timer; 
     
    8990    } 
    9091     
    91     Matrix getBaseTransform() 
    92     {   char[] upAxis = Node(doc.elements).getChild("asset").getChild("up_axis").value(); 
    93         if (upAxis == "X_UP") // Y is already up 
    94             return Vec3f(0, -3.1415/2, 0).toMatrix(); 
    95         if (upAxis == "Z_UP") 
    96             return Vec3f(-3.1415/2, 0, 0).toMatrix(); 
    97         return Matrix.IDENTITY; 
    98     } 
    99      
    100     /// 
    101     Geometry getGeometryById(char[] id, bool calledByGetMerged=false) 
     92    /** 
     93     *  
     94     * Params: 
     95     *     id =  
     96     *     calledByGetMerged =  
     97     *     vertexRemap = Vertex indices are changed during loading.  This is a map of their new indices back to their old ones. 
     98     * Returns: 
     99     */ 
     100    Geometry getGeometryById(char[] id) 
     101    {   scope int[] unused; 
     102        return getGeometryById(id, false, unused); 
     103    }    
     104    Geometry getGeometryById(char[] id, bool calledByGetMerged, out int[] vertexRemap) /// ditto 
    102105    {   id = Xml.makeId(id); 
    103106         
     
    111114        scope Node[] meshNodes = geometryNode.getChildren("mesh"); 
    112115        foreach (mesh; meshNodes) 
    113         {                    
    114             // polyList for this mesh references material, vertices, normals, and tex coordinates by id 
    115             Node polyList; 
    116             if (mesh.hasChild("polylist")) 
    117                 polyList = mesh.getChild("polylist"); 
    118             else if (mesh.hasChild("triangles")) 
    119                 polyList = mesh.getChild("triangles"); 
    120             else 
    121                 polyList = mesh.getChild("polygons"); // collada 1.3? 
    122              
    123             // Inputs are the cordinates that the triangles index into. 
    124             struct Input 
    125             {   float[] data; 
    126                 ushort components = 3; 
    127                 ushort offset; 
    128                 char[] name;                     
    129             }                
    130              
    131             // Build inputs from xml 
    132             scope Node[] inputNodes = polyList.getChildren("input"); 
    133             scope Input[] inputs = new Input[inputNodes.length];                 
    134             foreach (i, inputNode; inputNodes) 
    135             {                    
    136                 inputs[i].name = inputNode.getAttribute("semantic"); 
    137                 char[] offset = inputNode.hasAttribute("offset") ? inputNode.getAttribute("offset") : inputNode.getAttribute("idx");                 
    138                 try { 
    139                     inputs[i].offset = Xml.parseNumber!(int)(offset); 
    140                 } catch (ConversionException e) 
    141                 {   throw new XmlException(e.toString()); 
     116        {    
     117            char[][] types = [cast(char[])"polylist", "triangles", "polygons"]; 
     118            foreach (type; types) // loop through the different names of the polygon indices 
     119                foreach (Node polyList; mesh.getChildren(type)) 
     120                {            
     121                    // Inputs are the cordinates that the triangles index into. 
     122                    struct Input 
     123                    {   float[] data; 
     124                        ushort components = 3; 
     125                        ushort offset; 
     126                        char[] name;                     
     127                    }                
     128                     
     129                    // Build inputs from xml 
     130                    scope Node[] inputNodes = polyList.getChildren("input"); 
     131                    scope Input[] inputs = new Input[inputNodes.length];                 
     132                    foreach (i, inputNode; inputNodes) 
     133                    {                    
     134                        inputs[i].name = inputNode.getAttribute("semantic"); 
     135                        char[] offset = inputNode.hasAttribute("offset") ? inputNode.getAttribute("offset") : inputNode.getAttribute("idx");                 
     136                        try { 
     137                            inputs[i].offset = Xml.parseNumber!(int)(offset); 
     138                        } catch (ConversionException e) 
     139                        {   throw new XmlException(e.toString()); 
     140                        } 
     141                             
     142                        if (inputs[i].name=="VERTEX") // VERTEX type requires another level of indirection to get to proper node. 
     143                        {   char[] verticesId = inputNode.getAttribute("source");                
     144                            Node verticesNode = Xml.getNodeById(doc, verticesId); 
     145                            inputNode = verticesNode.getChild("input"); 
     146                        } 
     147                         
     148                        // Get values 
     149                        char[] sourceId = inputNode.getAttribute("source");  
     150                        inputs[i].data = getDataFromSourceId!(float)(sourceId, inputs[i].components); 
     151                    } 
     152                    int[] indices; 
     153                    foreach (p; polyList.getChildren("p")) 
     154                        indices ~= Xml.parseNumberList!(int)(p.value); 
     155                    int[] vcounts; 
     156                    if (polyList.hasChild("vcount")) 
     157                        vcounts = Xml.parseNumberList!(int)(polyList.getChild("vcount").value); 
     158                     
     159                    // Convert inputs, indices, and vcounts into Geometry 
     160                    int[] localVertexRemap; 
     161                    Geometry result = new Geometry(); 
     162                    { 
     163                        // Get the number of indices per vertex 
     164                        int indicesPerVertex = 0; 
     165                        foreach (input; inputs) 
     166                            if (input.offset > indicesPerVertex) 
     167                                indicesPerVertex = input.offset; 
     168                        indicesPerVertex++; 
     169                         
     170                        char[][char[]] translate = [ 
     171                            cast(char[])"VERTEX": cast(char[])Geometry.VERTICES, 
     172                            "NORMAL": Geometry.NORMALS, 
     173                            "TEXCOORD": Geometry.TEXCOORDS0,  
     174                            "TEXCOORD0": Geometry.TEXCOORDS0 // TODO: append set attribute for multi-texturing 
     175                        ]; 
     176                         
     177                        // TODO: Exception if no vertices 
     178                        // TODO: Exception if indices isn't the correct length. 
     179                                                 
     180                        // In collada's list of polygon indices, one point of a triangle may index into the vertex  
     181                        // and normal arrays at different positions for the same point. 
     182                        // So we create new vertex/normal/etc. arrays to allow for all indices to match. 
     183                        foreach (input; inputs) 
     184                        { 
     185                            int c = input.components; 
     186                            float[] data = new float[indices.length*c/indicesPerVertex]; 
     187                             
     188                            for (int i=0; i<indices.length; i+=indicesPerVertex) 
     189                            {   int index = indices[i + input.offset]*c; // This creates duplicate vertices on shared triangle edges; Geometry.optimize takes care of it later 
     190                                int j = i/indicesPerVertex*c; 
     191                                data[j..j+c] = input.data[index..index+c]; 
     192                            } 
     193                             
     194                            // Store data in result's vertex attributes 
     195                            char[] name = translate[input.name]; 
     196                            if (c==2) 
     197                                result.setAttribute(name, cast(Vec2f[])data); 
     198                            else if (c==3) 
     199                                result.setAttribute(name, cast(Vec3f[])data); 
     200                            else if (c==4) 
     201                                result.setAttribute(name, cast(Vec4f[])data); 
     202                            else 
     203                                assert(0); 
     204                             
     205                            // Create vertexRemap 
     206                            if (name==Geometry.VERTICES) 
     207                            {   localVertexRemap.length = result.getVertexBuffer(Geometry.VERTICES).length; 
     208                                for (int i=0; i<indices.length; i+=indicesPerVertex)                             
     209                                    localVertexRemap[i/indicesPerVertex] = indices[i]; // TODO: Is this correct?                                 
     210                            } 
     211                         
     212                            // Flip the y texture coordinate for OpenGL. 
     213                            foreach (inout texCoord; cast(Vec2f[])result.getAttribute(Geometry.TEXCOORDS0)) 
     214                                texCoord.y = -texCoord.y; 
     215                        } 
     216                         
     217                        // Build triangles 
     218                        Vec3i[] triangles; 
     219                        if (!vcounts.length) 
     220                        {   triangles = new Vec3i[result.getVertexBuffer(Geometry.VERTICES).length()/3]; 
     221                            foreach (i, inout triangle; triangles) 
     222                                triangle = Vec3i(i*3, i*3+1, i*3+2); 
     223                        }  
     224                        else // If n-sided polygons instead of all triangles 
     225                        { 
     226                            // Calculate size of triangles 
     227                            int size, i, j; 
     228                            foreach (vcount; vcounts) 
     229                                size+=vcount-2; 
     230                            triangles = new Vec3i[size]; 
     231                             
     232                            // Get each triangle 
     233                            foreach (vcount; vcounts) 
     234                            {   assert(3<=vcount && vcount<=4); // TODO: Some collada files have more polygons.  Do I need a tesselator? 
     235                                triangles~= Vec3i(j, j+1, j+2); // always at least one triangle; 
     236                                if (vcount>=4) 
     237                                    triangles[i] = Vec3i(j, j+2, j+3); 
     238                                i+=vcount-2; 
     239                                j+=vcount; 
     240                            } 
     241                        } 
     242                         
     243                        // Material 
     244                        Material material; 
     245                        if (polyList.hasAttribute("material")) 
     246                            material = getMaterialById(polyList.getAttribute("material")); 
     247                        else 
     248                            material = Material.getDefaultMaterial(); 
     249         
     250                        result.meshes = [new Mesh(material, triangles)]; 
     251                    } 
     252                    meshes ~= result; // garbage 
     253                    vertexRemap ~= localVertexRemap; 
    142254                } 
    143                      
    144                 if (inputs[i].name=="VERTEX") // VERTEX type requires another level of indirection to get to proper node. 
    145                 {   char[] verticesId = inputNode.getAttribute("source");                
    146                     Node verticesNode = Xml.getNodeById(doc, verticesId); 
    147                     inputNode = verticesNode.getChild("input"); 
    148                 } 
    149                  
    150                 // Get values 
    151                 char[] sourceId = inputNode.getAttribute("source");  
    152                 inputs[i].data = getDataFromSourceId(sourceId, inputs[i].components); 
    153             } 
    154             int[] indices; 
    155             foreach (p; polyList.getChildren("p")) 
    156                 indices ~= Xml.parseNumberList!(int)(p.value); 
    157             int[] vcounts; 
    158             if (polyList.hasChild("vcount")) 
    159                 vcounts = Xml.parseNumberList!(int)(polyList.getChild("vcount").value); 
    160              
    161             // Convert inputs, indices, and vcounts into Geometry 
    162             Geometry getPolygons(Input[] inputs, int[] indices, int[] vcounts) 
    163             { 
    164                 Geometry result = new Geometry(); 
    165                  
    166                 // Get the number of indices per vertex 
    167                 int indicesPerVertex = 0; 
    168                 foreach (input; inputs) 
    169                     if (input.offset > indicesPerVertex) 
    170                         indicesPerVertex = input.offset; 
    171                 indicesPerVertex++; 
    172                  
    173                 char[][char[]] translate = [ 
    174                     cast(char[])"VERTEX": cast(char[])Geometry.VERTICES, 
    175                     "NORMAL": Geometry.NORMALS, 
    176                     "TEXCOORD": Geometry.TEXCOORDS0,  
    177                     "TEXCOORD0": Geometry.TEXCOORDS0 // TODO: append set attribute for multi-texturing 
    178                 ]; 
    179                  
    180                 // TODO: Exception if no vertices 
    181                 // TODO: Exception if indices isn't the correct length. 
    182                  
    183                 // In collada's list of polygon indices, one point of a triangle may index into the vertex  
    184                 // and normal arrays at different positions for the same point. 
    185                 // So we create new vertex/normal/etc. arrays to allow for all indices to match. 
    186                 foreach (input; inputs) 
    187                 { 
    188                     int c = input.components; 
    189                     float[] data = new float[indices.length*c/indicesPerVertex]; 
    190                     for (int i=0; i<indices.length; i+=indicesPerVertex) 
    191                     {   int index = indices[i + input.offset]*c; // This creates duplicate vertices on shared triangle edges, Geometry.optimize takes care of it later 
    192                         int j = i/indicesPerVertex*c; 
    193                         data[j..j+c] = input.data[index..index+c]; 
    194                     } 
    195                      
    196                     char[] name = translate[input.name]; 
    197                     if (c==2) // TODO: bone indices will be of type int 
    198                         result.setAttribute(name, cast(Vec2f[])data); 
    199                     else if (c==3) 
    200                         result.setAttribute(name, cast(Vec3f[])data); 
    201                     else if (c==4) 
    202                         result.setAttribute(name, cast(Vec4f[])data); 
    203                     else 
    204                         assert(0); 
    205                  
    206                     // Flip the y texture coordinate for OpenGL. 
    207                     foreach (inout texCoord; cast(Vec2f[])result.getAttribute(Geometry.TEXCOORDS0)) 
    208                         texCoord.y = -texCoord.y; 
    209                      
    210                 } 
    211                  
    212                  
    213                 // Build triangles 
    214                 Vec3i[] triangles; 
    215                 if (!vcounts.length) 
    216                 {   triangles = new Vec3i[result.getVertexBuffer(Geometry.VERTICES).length()/3]; 
    217                     foreach (i, inout triangle; triangles) 
    218                         triangle = Vec3i(i*3, i*3+1, i*3+2); 
    219                 }  
    220                 else // If n-sided polygons instead of all triangles 
    221                 { 
    222                     // Calculate size of triangles 
    223                     int size, i, j; 
    224                     foreach (vcount; vcounts) 
    225                         size+=vcount-2; 
    226                     triangles = new Vec3i[size]; 
    227                      
    228                     // Get each triangle 
    229                     foreach (vcount; vcounts) 
    230                     {   assert(3<=vcount && vcount<=4); // TODO: Some collada files have more polygons.  Do I need a tesselator? 
    231                         triangles~= Vec3i(j, j+1, j+2); // always at least one triangle; 
    232                         if (vcount>=4) 
    233                             triangles[i] = Vec3i(j, j+2, j+3); 
    234                         i+=vcount-2; 
    235                         j+=vcount; 
    236                     } 
    237                 } 
    238                  
    239                 // Material 
    240                 Material material; 
    241                 if (polyList.hasAttribute("material")) 
    242                     material = getMaterialById(polyList.getAttribute("material")); 
    243                 else 
    244                     material = Material.getDefaultMaterial(); 
    245                  
    246                 Mesh mesh = new Mesh(null, triangles); 
    247                 mesh.material = material; 
    248                 result.meshes = [mesh]; 
    249                  
    250                 return result; 
    251             }                
    252             meshes ~= getPolygons(inputs, indices, vcounts); // garbage 
    253255        } 
    254256         
     
    302304         
    303305        Node technique; 
    304         Node materialNode = Xml.getNodeById(doc, id); 
     306        Node materialNode = Xml.getNodeById(doc, id, "id", "material"); 
    305307        if (materialNode.hasChild("instance_effect")) 
    306         {   Node instanceEffect = Xml.getNodeById(doc, id).getChild("instance_effect"); // TODO: instance_effect can have child nodes that specify parameters 
     308        {   Node instanceEffect = materialNode.getChild("instance_effect"); // TODO: instance_effect can have child nodes that specify parameters 
    307309            Node effectNode = Xml.getNodeById(doc, instanceEffect.getAttribute("url")); 
    308310            Node profileCommon = effectNode.getChild("profile_COMMON"); // TODO: profile_GLSL 
    309311            technique = profileCommon.getChild("technique"); 
    310         } else // Collada 1.3 
    311             technique = materialNode.getChild("shader").getChild("technique");       
     312        } else if (materialNode.hasChild("shader")) // Collada 1.3 
     313            technique = materialNode.getChild("shader").getChild("technique"); 
     314        else // no material 
     315            return Material.getDefaultMaterial();        
    312316         
    313317        Node shadingType = technique.getChild(); // in profile_COMMON, it can be newparam, image, blinn, constant, lambert, phong, or extra. 
     
    335339                    break; 
    336340                default: 
    337                     Log.error("Collada material parameter '%s' not supported", name); 
     341                    Log.warn("Collada material parameter '%s' not supported", name); 
    338342        }   } 
    339343         
     
    411415        { 
    412416            MaterialTechnique t = new MaterialTechnique(); 
    413             MaterialPass p = result.getPass().clone(); 
     417            MaterialPass p = dup(result.getPass()); 
    414418            p.autoShader = MaterialPass.AutoShader.NONE; 
    415419            if (p.textures.length > 1) 
     
    423427         
    424428    /** 
    425      * Get all geometry from the file merged into a single Yage Geometry instance
     429     * Get all geometry from the file merged into a single Yage Model.
    426430     * This is usually the desired behavior when loading a collada file as a model.  
    427431     *  
    428432     * Unlike getGeometryById, this takes into account the file's asset/up_axis. */ 
    429     Geometry getMergedGeometry() 
     433    Model getMergedGeometry() 
    430434    { 
    431         Geometry[] geometries; 
     435        Model[] geometries; 
    432436        Matrix[] geometryTransforms; // A transformation matrix for each geometry found. 
    433437         
     
    440444            void traverseSceneNodes(Node node, Matrix matrix) 
    441445            { 
    442                 char[] geometryId; 
     446                // Get transformation matrix for this instance of the geometry. 
     447                matrix = matrix.transformAffine(getSceneNodeTransform(node)); 
     448                     
     449                Node skin; 
     450                char[] geometryId, controllerId, skeletonId; 
    443451                if (node.hasChild("instance_geometry")) // Collada 1.4+ 
    444452                    geometryId = node.getChild("instance_geometry").getAttribute("url"); 
     
    446454                    geometryId = node.getChild("instance").getAttribute("url"); 
    447455                else if (node.hasChild("instance_controller")) // A controller for skeletal animation, which we will follow to get it's geometry 
    448                 {   Node controller = Xml.getNodeById(doc, node.getChild("instance_controller").getAttribute("url")); 
    449                     Node skin = controller.getChild("skin"); 
    450                     geometryId = skin.getAttribute("source"); 
     456                {   Node instanceController = node.getChild("instance_controller"); 
     457                    Node controller = Xml.getNodeById(doc, instanceController.getAttribute("url"), "id", "controller"); 
     458                    controllerId = controller.getAttribute("id"); 
     459                    skin = controller.getChild("skin"); 
     460                    geometryId = skin.getAttribute("source"); // geometry 
     461                     
     462                    //Matrix bindShapeMatrix = Matrix(Xml.parseNumberList!(float)(skin.getChild("bind_shape_matrix").value())); 
     463                    //matrix = matrix.transformAffine(bindShapeMatrix); // Or perhaps I should rotat the skeleton by this? 
     464                     
     465                    // Skeleton 
     466                    if (instanceController.hasChild("skeleton")) 
     467                        skeletonId = instanceController.getChild("skeleton").value();                    
    451468                } 
    452469                 
    453470                if (geometryId.length) 
    454                 {                        
    455                     Geometry geometry = getGeometryById(geometryId, true); 
    456                      
    457                     // Get transformation matrix for this instance of the geometry. 
    458                     foreach (transform; node.getChildren()) 
    459                     {   if (transform.name=="translate") 
    460                             matrix = matrix.move(Vec3f(Xml.parseNumberList!(float)(transform.value))); 
    461                         else if (transform.name=="rotate") 
    462                         {   float[] values = Xml.parseNumberList!(float)(transform.value); 
    463                             assert(values.length==4); 
    464                             matrix = matrix.rotate(Vec3f(values[3]*tango.math.Math.PI/180, values[0], values[1], values[2])); // load from axis-angle                            
    465                         }  
    466                         else if (transform.name=="scale")                        
    467                             matrix.setScalePreservingRotation(Vec3f(Xml.parseNumberList!(float)(transform.value))); 
    468                         else if (transform.name=="matrix") // collada 1.3 
    469                             matrix = Matrix(Xml.parseNumberList!(float)(transform.value));   
    470                          
     471                {   int[] vertexRemap;           
     472                    Model model = new Model(getGeometryById(geometryId, true, vertexRemap)); 
     473                    if (skeletonId.length) 
     474                    {   model.joints = getJointsById(skeletonId); 
     475                        if (controllerId.length) 
     476                            model.jointInfluences = getJointInfluencesByControllerId(controllerId, model, vertexRemap); 
    471477                    } 
    472478                     
    473                     if (geometry)  // TODO: Sometimes intance_geometry has xml children specifying a material (or other things as well?) 
    474                     {   geometries~= geometry; 
    475                         geometryTransforms ~= matrix * upTransform; 
     479                    // Save the absolute transformation of this Geometry 
     480                    if (model)  // TODO: Sometimes intance_geometry has xml children specifying a material (or other things as well?) 
     481                    {   geometries~= model; 
     482                        geometryTransforms ~= matrix.rotate(upTransform); 
    476483                    } 
    477                 } 
     484                }                   
    478485                 
    479486                foreach (child; node.getChildren("node")) // loop through nodes in a scene 
     
    498505        } 
    499506         
    500         // Perform the merge (if there's more than one to Merge) 
    501         Geometry result = geometries[0]; 
     507        // Perform the merge (if there's more than one to merge) 
     508        Model result = geometries[0]; 
    502509        if (geometries.length > 1) 
    503             result = Geometry.merge(geometries);           
     510            result = Model.merge(geometries);          
    504511        delete geometries; 
    505512         
     
    512519                break; 
    513520            } 
    514                 
     521         
    515522        return result; 
    516523    } 
    517      
    518     Node[] getScenes() 
    519     { 
    520         Node[] scenes; 
    521         Node root = Node(doc.elements); 
    522         if (root.hasChild("library_visual_scenes")) 
    523             scenes = root.getChild("library_visual_scenes").getChildren("visual_scene"); 
    524         else // collada 1.3 
    525             scenes = root.getChildren("scene"); 
    526         return scenes; 
    527     } 
    528524 
    529     Joint[] getSkeletonById(char[] id) 
    530     { 
     525    /// 
     526    Joint[] getJointsById(char[] id) 
     527    {      
    531528        // Get the up direction (unfinished) 
    532529        Matrix upTransform = getBaseTransform(); 
    533530         
    534         // Loop through the scenes and load all the geometry nodes they reference. 
    535          
    536          
    537         foreach (scene; getScenes()) // loop through scenes 
     531        Joint[] result; // TODO: ArrayBuilder!(Joint) 
     532         
     533        Joint traverseSkeleton(Node node) 
     534        {   Joint joint = new Joint(); 
     535            joint.relative = getSceneNodeTransform(node); 
     536            joint.name = node.getAttribute("sid").dup; // dup should reduce memory fragmentation and allow collada text to later be freed. 
     537            joint.number = result.length; 
     538            result ~= joint; 
     539             
     540            foreach (child; node.getChildren("node")) 
     541                joint.addChild(traverseSkeleton(child)); 
     542            return joint; 
     543        } 
     544        Node joint0Node = Xml.getNodeById(doc, id, "id", "node"); 
     545        traverseSkeleton(joint0Node); 
     546         
     547        // Get the absolute transformation of the base joint 
     548        if (result.length) 
     549        {   auto joint0 = result[0];         
     550 
     551            Matrix getSceneNodeAbsoluteTransform(Node node) // recursively traverse the scene graph upward to get the final absolute transform. 
     552            {   Matrix result = getSceneNodeTransform(node); 
     553                Node parentNode = node.getParent(); 
     554                if (parentNode.name() == "node") 
     555                    return getSceneNodeAbsoluteTransform(parentNode).transformAffine(result); 
     556                else 
     557                    return upTransform.transformAffine(result); 
     558                return result; 
     559            } 
     560             
     561            joint0.relative = getSceneNodeAbsoluteTransform(joint0Node); // by nature, transforming the first will rotate all. 
     562        } 
     563        return result; 
     564    } 
     565     
     566    /** 
     567     * Params: 
     568     *     id =  
     569     *     model = A model with the joints and vertex arrays previously populated.  
     570     * Returns: An array the same length as the model's vertices, with each sub array a list of the joints that influence that vertex. */ 
     571    JointInfluence[][] getJointInfluencesByControllerId(char[] id, Model model, int[] vertexRemap) 
     572    {    
     573        assert(!vertexRemap.length || vertexRemap.length == model.getVertexBuffer(Geometry.VERTICES).length); 
     574         
     575        JointInfluence[][] result; 
     576         
     577        Node controller = Xml.getNodeById(doc, id, "id", "controller"); 
     578         
     579        // Get vertex weights from library_controllers/controller/skin 
     580        if (controller.hasChild("skin")) 
    538581        { 
     582            Node skin = controller.getChild("skin"); 
     583            Joint[int] jointMap; // Map from joint indices number to array to actual Joint 
     584            Matrix[] inverseBindMatrices; 
    539585             
     586                    // Load data from the joints node 
     587            Node jointsNode = skin.getChild("joints");                           
     588            foreach (input; jointsNode.getChildren("input")) 
     589            {   char[] semantic = input.getAttribute("semantic"); 
     590                if (semantic == "JOINT") 
     591                { 
     592                    // Create a map of joint names to joints.   
     593                    ushort unused; 
     594                    scope char[][] jointNames = getDataFromSourceId!(char[])(input.getAttribute("source"), unused); 
     595                    scope Joint[char[]] nameToJoint; 
     596                    foreach (joint; model.joints) // TODO: Maybe it would be good to have one of these in Model, so a gun can be attached to an arm joint. 
     597                        nameToJoint[joint.name] = joint; 
     598                    foreach (i, name; jointNames) 
     599                        jointMap[i] = nameToJoint[name]; 
     600                     
     601                } 
     602                else if (semantic == "INV_BIND_MATRIX")  
     603                {   ushort unused; 
     604                    float[] matrixValues = getDataFromSourceId!(float)(input.getAttribute("source"), unused); 
     605                    inverseBindMatrices = cast(Matrix[])matrixValues; 
     606                } 
     607            } 
    540608             
    541         } 
    542         return null; 
     609            // Load data from the vertex_weights node 
     610            Node vertexWeightsNode = skin.getChild("vertex_weights"); 
     611            scope int[] vcounts = Xml.parseNumberList!(int)(vertexWeightsNode.getChild("vcount").value); // how many vertices per joint weight 
     612            scope int[] v = Xml.parseNumberList!(int)(vertexWeightsNode.getChild("v").value); // contains alternating jointMap and weight indices into the joints and weights arrays 
     613            scope float[] weights; 
     614            foreach (input; vertexWeightsNode.getChildren("input")) 
     615                if (input.getAttribute("semantic")=="WEIGHT") 
     616                {   ushort unused; 
     617                    weights = getDataFromSourceId!(float)(input.getAttribute("source"), unused); 
     618                } 
     619             
     620            // Read data into result 
     621            int index; 
     622            foreach (count; vcounts) 
     623            { 
     624                // Load all influences for a vertex 
     625                JointInfluence[] influences; // TODO: Read offsets, right now 0 and 1 offsets are assumed! 
     626                float totalInfluence = 0; 
     627                for (int i=index; i<index+count*2; i+=2) // loop through relevant indices in v 
     628                { 
     629                    JointInfluence influence; 
     630                    int jointIndex = v[i]; 
     631                    int weightIndex = v[i+1];                    
     632                    influence.joint = jointMap[jointIndex].number; 
     633                    influence.influence = weights[weightIndex]; 
     634                    influences ~= influence; 
     635                    totalInfluence += influence.influence; 
     636                } 
     637                 
     638                // Normalize influences 
     639                float scaleInfluence = 1/totalInfluence; 
     640                foreach (inout influence; influences) 
     641                    influence.influence *= scaleInfluence; 
     642                 
     643                result~= influences; 
     644                index+= count*2;                 
     645            }            
     646        } 
     647         
     648        if (!vertexRemap.length) 
     649            return result; 
     650         
     651        JointInfluence[][] result2; 
     652        result2.length = vertexRemap.length; 
     653        foreach (to, from; vertexRemap) 
     654            result2[to] = result[from]; 
     655     
     656        assert(result2.length == model.getVertexBuffer(Geometry.VERTICES).length);       
     657         
     658        return result2; 
    543659    } 
    544660     
     
    548664     *  
    549665     * These are Yage-specific notes for loading Collada textures: 
    550      * <li>TODO: An image's <hint precision="_"> value determines whether texture compression is used. 
     666     * <li>An image's <hint precision="_"> value determines whether texture compression is used. 
    551667     *     LOW (or not specified at all): 8 byte channels, texture compression 
    552668     *     MID: 8 byte channels, no compression 
     
    588704    } 
    589705 
     706    // All geometry will be rotated by this Matrix.   
     707    protected Matrix getBaseTransform() 
     708    {   return Matrix.IDENTITY; 
     709        char[] upAxis = Node(doc.elements).getChild("asset").getChild("up_axis").value(); 
     710        if (upAxis == "X_UP") // Y is already up 
     711            return Vec3f(0, -3.141527/2, 0).toMatrix(); 
     712        if (upAxis == "Z_UP") 
     713            return Vec3f(-3.141527/2, 0, 0).toMatrix(); 
     714        return Matrix.IDENTITY; 
     715    } 
     716     
    590717    // See: https://collada.org/mediawiki/index.php/Using_accessors 
    591     private float[] getDataFromSourceId(char[] id, out ushort components) 
     718    protected T[] getDataFromSourceId(T)(char[] id, out ushort components) 
    592719    {    
    593720        Node source = Xml.getNodeById(doc, id);      
     
    601728        char[] sourceFloatArrayId = sourceAccessor.getAttribute("source"); 
    602729        Node sourceFloatArray = Xml.getNodeById(doc, sourceFloatArrayId); 
    603         return Xml.parseNumberList!(float)(sourceFloatArray.value); 
     730        return Xml.parseNumberList!(T)(sourceFloatArray.value); 
     731    } 
     732     
     733    // Get all Scene nodes, trying several different names. 
     734    Node[] getScenes() 
     735    { 
     736        Node[] scenes; 
     737        Node root = Node(doc.elements); 
     738        if (root.hasChild("library_visual_scenes")) 
     739            scenes = root.getChild("library_visual_scenes").getChildren("visual_scene"); 
     740        else // collada 1.3 
     741            scenes = root.getChildren("scene"); 
     742        return scenes; 
     743    } 
     744     
     745    // Get the relative transformation matrix of a visual_scene node. 
     746    Matrix getSceneNodeTransform(Node sceneNode) 
     747    {    
     748        Matrix result; 
     749        foreach (transform; sceneNode.getChildren()) 
     750        {   if (transform.name=="translate") 
     751                result = result.move(Vec3f(Xml.parseNumberList!(float)(transform.value))); 
     752            else if (transform.name=="rotate") 
     753            {   float[] values = Xml.parseNumberList!(float)(transform.value); 
     754                if (values.length!=4) 
     755                    throw new XmlException("Expected four values for rotation."); 
     756                if (values[3] != 0) // if some rotation 
     757                    result = result.rotate(Vec3f(values[3]*tango.math.Math.PI/180, values[0], values[1], values[2])); // load from axis-angle                            
     758            }  
     759            else if (transform.name=="scale")                        
     760                result = result.scale(Vec3f(Xml.parseNumberList!(float)(transform.value))); 
     761            else if (transform.name=="matrix") // collada 1.3 
     762                result = Matrix(Xml.parseNumberList!(float)(transform.value)); 
     763        } 
     764        return result; 
    604765    } 
    605766     
    606767    // Wraps Tagno's Node to make it easier and with Exception checks 
    607     private static struct Node 
     768    protected static struct Node 
    608769    { 
    609770        Document!(char).Node node; 
     
    633794        } 
    634795         
     796        // Get the value of an attribute by its name, or throw XMLException if not found 
     797        char[] getAttribute(char[] name) 
     798        {   auto attr = node.attributes().name(null, name); 
     799            if (attr) 
     800                return attr.value(); 
     801            throw new XMLException("Attribute '%s' doesn't exist on node '%s'", name, node.name()); 
     802        } 
     803         
    635804        // Get the child named name (or first child if no name), or throw XMLException if not found. 
    636805        Node getChild(char[] name=null) 
     
    645814        {   return Node(node.query.child(name).nodes); 
    646815        } 
    647          
    648         // Get the value of an attribute by its name, or throw XMLException if not found 
    649         char[] getAttribute(char[] name) 
    650         {   auto attr = node.attributes().name(null, name); 
    651             if (attr) 
    652                 return attr.value(); 
    653             throw new XMLException("Attribute '%s' doesn't exist on node '%s'", name, node.name()); 
     816 
     817        Node getParent() 
     818        {   auto result = node.parent(); 
     819            if (result) 
     820                return Node(result); 
     821            throw new XMLException("Node '%s' doesn't have a parent.", node.name()); 
    654822        } 
    655823         
     
    662830        } 
    663831         
     832        bool hasParent() 
     833        {   return cast(bool)node.parent(); 
     834        } 
     835         
    664836    } 
    665837     
    666838    // Xml parsing helper. 
    667839    // Wrap tango xml so any errors throw XMLException 
    668     private static struct Xml 
     840    protected static struct Xml 
    669841    {    
    670842        // Get all nodes in the document that have the matching id. 
    671         static Node getNodeById(Document!(char) doc, char[] id, char[] attributeName="id"
     843        static Node getNodeById(Document!(char) doc, char[] id, char[] attributeName="id", char[] type=""
    672844        {   assert(doc); 
    673845            id = makeId(id); 
    674846            auto result = doc.query.descendant.filter((Document!(char).Node n) { 
    675847                auto attr = n.attributes.name(null, attributeName); 
    676                 return attr && attr.value == id; 
     848                bool result = attr && attr.value == id; 
     849                if (result && type.length) // check type 
     850                    result = n.name==type;               
     851                return result; 
    677852            }); 
    678853            if (result.nodes.length) 
     
    705880                    if (piece.length) 
    706881                    {   result[i] = to!(T)(piece); 
    707                         assert(!isNaN(result[i])); // can this happen, or is an exception thrown? 
     882                        static if (is(T : real)) 
     883                            assert(!isNaN(result[i])); // can this happen, or is an exception thrown? 
    708884                        i++; 
    709885                    } 
  • trunk/src/yage/resource/embed/embed.d

    r187 r188  
    44struct Embed { 
    55    static char[] phong_frag = "#line 1\r\n/**\r\n * Copyright:  (c) 2005-2010 Eric Poggel\r\n * Authors:\t   Eric Poggel\r\n * License:\t   <a href=\"lgpl3.txt\">LGPL v3</a>\r\n * \r\n * See documentation for phong.vert\r\n */\r\n \r\n// Values greater than 1 allow things to be brighter than their material color\r\n#define MAX_ATTENUATION 4.0\r\n\r\n// temporary, testing\r\n//#undef HAS_FOG \r\n//#undef HAS_BUMP\r\n//#undef HAS_SPECULAR\r\n#pragma debug(on)\r\n#pragma optimize(off)\r\n\r\n// Light properties not send by all video cards (buggy drivers?)\r\n// We still rely on default values for light's diffuse and ambient\r\nstruct Light \r\n{\tvec4 position; // w==0 for directional, w==1 for point light\t\r\n\tfloat quadraticAttenuation;\r\n#ifdef HAS_SPOTLIGHT\r\n\tvec3 spotDirection;\r\n\tfloat spotCutoff;\r\n\tfloat spotExponent;\r\n#endif\r\n};\r\n\r\n// Uniforms\r\n#if NUM_LIGHTS > 0\r\n\tuniform Light lights[NUM_LIGHTS];\r\n#endif\r\nuniform sampler2D texture0;\r\nuniform sampler2D texture1;\r\n\r\n// Varying\r\n#if NUM_LIGHTS > 0\r\n\tvarying vec3 light_directions[NUM_LIGHTS];\r\n#endif\r\nvarying vec3 normal;\r\nvarying vec3 eye_direction;\r\nvarying vec3 eye_position;\r\n\r\n// Globals\r\nvec3 normal2;\r\nvec3 eye_direction_normalized; // renormalized varyings\r\n\r\nstruct LightResult\r\n{\tvec4 ambient;\r\n\tvec4 diffuse;\r\n\tvec4 specular;\r\n};\r\n\r\n/**\r\n * Get the ambient, diffuse, and specular contribution of this light to the current fragment.\r\n * @param light OpenGL lighting parameters.  Experimentation has shown that ony some of these are reliable on ATI.\r\n * @param lightExtra Additional lighting parameters to supplement the unreliable values of the first parameter.\r\n * @param lightDirection Un-normalized direction to the light. */\r\nLightResult applyLight(in gl_LightSourceParameters light, in Light lightExtra, vec3 light_direction)\r\n{\t\r\n\t// Vector pointing from vertex to light and distance to light\r\n\tfloat light_distance = length(light_direction);\t\r\n\tlight_direction = light_direction / light_distance; // normalize\r\n\r\n\t// Attenuation\r\n\tfloat attenuation;\r\n#ifdef HAS_DIRECTIONAL\t\r\n\tif (lightExtra.position.w==0.0) // if directional\r\n\t\tattenuation = 1.0;\r\n\telse\r\n#endif\r\n\t\tattenuation = 1.0 / (lightExtra.quadraticAttenuation * light_distance * light_distance);\r\n\r\n\t// Spotlight\r\n#ifdef HAS_SPOTLIGHT\r\n\tif (lightExtra.spotCutoff < 3.141592)\r\n\t{\t// we have to recalculate lightDirection because the other one is in tangent space.\r\n\t\t#ifdef HAS_BUMP\r\n\t\t\tvec3 lightDirection = normalize((lightExtra.position.xyz - eye_position));\r\n\t\t#else\r\n\t\t\tvec3 lightDirection = light_direction;\r\n\t\t#endif\r\n\t\tfloat spotdot = dot(-lightDirection, normalize(lightExtra.spotDirection));\r\n\t\tfloat cutoff = cos(lightExtra.spotCutoff);\r\n\t\tif (spotdot < cutoff)\r\n\t\t\tattenuation = 0.0;\r\n\t\telse \t\t\t\r\n\t\t\tattenuation *= pow(spotdot, lightExtra.spotExponent);\r\n\t}\r\n#endif\r\n\r\n\tattenuation = min(attenuation, MAX_ATTENUATION);\r\n\r\n\tfloat ndotl;\r\n#ifdef HAS_DIRECTIONAL\t\r\n\tif (lightExtra.position.w==0.0) // if directional\r\n\t\tndotl = max(0.0, dot(normal2, normalize(lightExtra.position.xyz)));\r\n\telse\r\n#endif\r\n\t\tndotl = max(0.0, dot(normal2, light_direction));\r\n\t\r\n\t// Accumulate brightness\r\n\tLightResult result;\r\n\tresult.ambient = light.ambient * attenuation;\r\n\tresult.diffuse = light.diffuse * attenuation * ndotl;\r\n\r\n#ifdef HAS_SPECULAR\t\r\n\tvec3 half_vector = normalize(light_direction + eye_direction_normalized); // light_direction is already normalized\r\n\tfloat ndothv = max(0.0, dot(normal2, half_vector));\r\n\tresult.specular = vec4(attenuation * pow(ndothv, gl_FrontMaterial.shininess));\r\n#endif\r\n\r\n\treturn result;\r\n}\r\n\r\n\r\nvoid main()\r\n{\t\r\n\tLightResult lighting;\r\n\r\n#if NUM_LIGHTS>0\r\n\r\n#ifdef HAS_BUMP\r\n\tvec4 bumpNormal = texture2D(texture1, gl_TexCoord[0].st);\r\n\tbumpNormal.xyz = 2.0 * bumpNormal.xyz - 1.0;\r\n\tnormal2 = normalize(bumpNormal.xyz); // since the lights are in tangent space, we can use this directly.\r\n#else\r\n\tnormal2 = normalize(normal);\r\n#endif\r\n\r\n#ifdef HAS_SPECULAR\t\r\n\teye_direction_normalized = normalize(eye_direction);\r\n#endif\t\r\n\tlighting = applyLight(gl_LightSource[0], lights[0], light_directions[0]);\r\n\t\r\n\tfor (int i=1; i<NUM_LIGHTS; i++)\r\n\t{\tLightResult result = applyLight(gl_LightSource[i], lights[i], light_directions[i]);\r\n\t\tlighting.ambient += result.ambient;\r\n\t\tlighting.diffuse += result.diffuse;\r\n\t\t#ifdef HAS_SPECULAR\t\r\n\t\t\tlighting.specular += result.specular;\r\n\t\t#endif\r\n\t}\r\n#endif\r\n\t\r\n\t// Combine lighting and material components\r\n\tvec4 ambient = lighting.ambient * gl_FrontMaterial.ambient;\r\n\tvec4 diffuse = lighting.diffuse * gl_FrontMaterial.diffuse;\r\n#ifdef HAS_SPECULAR\t\r\n\tvec4 specular = lighting.specular * gl_FrontMaterial.specular;\r\n\t#ifdef HAS_BUMP\r\n\t\tspecular*= bumpNormal.a; // this fails for bump maps with no alpha channel, I probably need to redo the assets.\r\n\t#endif\r\n#endif\r\n\t// gl_FrontLightModelProduct.sceneColor is material.emission + material.ambient * global.ambient\r\n\tvec4 color = gl_FrontLightModelProduct.sceneColor + ambient + diffuse;\r\n#ifdef HAS_TEXTURE\r\n\tcolor *= texture2D(texture0, gl_TexCoord[0].st);\r\n#endif\r\n#ifdef HAS_SPECULAR\t\r\n\tcolor += specular;\r\n#endif\r\n\tcolor.a = gl_FrontMaterial.diffuse.a;\r\n\r\n#ifdef HAS_FOG\r\n\tfloat fog = clamp(exp(-gl_Fog.density * abs(eye_position.z)), 0.0, 1.0);\r\n\tcolor.rgb = mix(gl_Fog.color.rgb, color.rgb, fog);\r\n#endif\r\n\r\n\tgl_FragColor = color;//*0.1 + vec4(eye_direction, 1.0);\r\n}"; /// embedded version of phong.frag 
    6     static char[] phong_vert = "#line 1\r\n/**\r\n * Copyright:  (c) 2005-2010 Eric Poggel\r\n * Authors:\t   Eric Poggel\r\n * License:\t   <a href=\"lgpl3.txt\">LGPL v3</a>\r\n *\r\n * This shader implements phong shading, normal mapping, and fog for an\r\n * arbitrary number of point, directional, and spot lights.\r\n * It's used by Render.generateShader for the MaterialPass.AutoShader.PHONG AutoShader type.\r\n *\r\n * #define's are used to enable different paths in this shader, which allows\r\n * the shader to be as short and fast as possible for every scenario.\r\n * These are the #define's that are supported:\r\n * NUM_LIGHTS        // The number of lights, passed in gl_LightSourceParameters and the lights uniform array.\r\n * HAS_FOG           // The scene has fog enabled.\r\n * HAS_SPECULAR      // The material has specularity greater than 0.\r\n * HAS_DIRECTIONAL   // At least one of the lights is a directional light.\r\n * HAS_SPOTLIGHT     // At least one of the lights is a spotlight\r\n * HAS_TEXTURE       // a diffuse texture is assigned to texture0\r\n * HAS_BUMP          // a tangent-space normal map is assigned to texture1, optionally with specular intensity in the alpha channel.\r\n */\r\n \r\n// temporary, testing\r\n//#undef HAS_FOG\r\n//#undef HAS_BUMP\r\n//#undef HAS_SPECULAR\t\r\n//#pragma debug(on)\r\n//#pragma optimize(off)\r\n\r\nstruct Light \r\n{\tvec4 position; // w==0 for directional, w==1 for point light\t\r\n\tfloat quadraticAttenuation;\r\n#ifdef HAS_SPOTLIGHT\r\n\tvec3 spotDirection;\r\n\tfloat spotCutoff;\r\n\tfloat spotExponent;\r\n#endif\r\n};\r\n\r\n// Uniforms\r\n#if NUM_LIGHTS > 0\r\n\tuniform Light lights[NUM_LIGHTS];\r\n#endif\r\n\r\n// Varying\r\n#if NUM_LIGHTS > 0\r\n\tvarying vec3 light_directions[NUM_LIGHTS];\r\n#endif\r\nvarying vec3 normal; // only used if no bump?\r\nvarying vec3 eye_direction;\r\nvarying vec3 eye_position; // only needs to be a varying if bump or fog.\r\n\r\nvoid main()\r\n{\t// Vertex normal, eye position, and eye direction\r\n\tnormal = (gl_NormalMatrix * gl_Normal) * gl_NormalScale;\r\n\r\n\tvec4 eyePositionTemp = gl_ModelViewMatrix * gl_Vertex;\r\n\teye_position = vec3(eyePositionTemp) / eyePositionTemp.w;\r\n\r\n\tgl_TexCoord[0] = gl_TextureMatrix[0] * gl_MultiTexCoord0;\r\n\tgl_Position = ftransform();\r\n\t\r\n#ifdef HAS_BUMP\r\n\t\t\r\n\t// Convert eye_direction and light_directions to tangent-space\r\n\tvec3 tangent = normalize(gl_NormalMatrix * gl_MultiTexCoord1.xyz); // tangent\r\n\tvec3 binormal = cross(normal, tangent);\r\n\t\r\n\tvec3 v;\r\n\tv.x = dot(eye_position, tangent);\r\n\tv.y = dot(eye_position, binormal);\r\n\tv.z = dot(eye_position, normal);\t\r\n\teye_direction = -normalize(v);\r\n\t\r\n\t// Put each light direction in tangent space\r\n\tfor (int i=0; i<NUM_LIGHTS; i++)\r\n\t{\tvec3 lightDirection = lights[i].position.xyz - eye_position;\r\n\t\tv.x = dot(lightDirection, tangent);\r\n\t\tv.y = dot(lightDirection, binormal);\r\n\t\tv.z = dot(lightDirection, normal);\t\r\n\t\tlight_directions[i] = (v);\r\n\t}\r\n#else // keep eye_direction and light_directions in world space (or is it model space?)\t\r\n\teye_direction = -normalize(eye_position);\r\n\tfor (int i=0; i<NUM_LIGHTS; i++)\r\n\t\tlight_directions[i] = lights[i].position.xyz - eye_position;\t\t\r\n#endif\r\n}"; /// embedded version of phong.vert 
     6    static char[] phong_vert = "#line 1\r\n/**\r\n * Copyright:  (c) 2005-2010 Eric Poggel\r\n * Authors:\t   Eric Poggel\r\n * License:\t   <a href=\"lgpl3.txt\">LGPL v3</a>\r\n *\r\n * This shader implements phong shading, normal mapping, and fog for an\r\n * arbitrary number of point, directional, and spot lights.\r\n * It's used by Render.generateShader for the MaterialPass.AutoShader.PHONG AutoShader type.\r\n *\r\n * #define's are used to enable different paths in this shader, which allows\r\n * the shader to be as short and fast as possible for every scenario.\r\n * These are the #define's that are supported:\r\n * NUM_LIGHTS        // The number of lights, passed in gl_LightSourceParameters and the lights uniform array.\r\n * HAS_FOG           // The scene has fog enabled.\r\n * HAS_SPECULAR      // The material has specularity greater than 0.\r\n * HAS_DIRECTIONAL   // At least one of the lights is a directional light.\r\n * HAS_SPOTLIGHT     // At least one of the lights is a spotlight\r\n * HAS_TEXTURE       // a diffuse texture is assigned to texture0\r\n * HAS_BUMP          // a tangent-space normal map is assigned to texture1, optionally with specular intensity in the alpha channel.\r\n */\r\n \r\n// temporary, testing\r\n//#undef HAS_FOG\r\n//#undef HAS_BUMP\r\n//#undef HAS_SPECULAR\t\r\n//#pragma debug(on)\r\n//#pragma optimize(off)\r\n\r\nstruct Light \r\n{\tvec4 position; // w==0 for directional, w==1 for point light\t\r\n\tfloat quadraticAttenuation;\r\n#ifdef HAS_SPOTLIGHT\r\n\tvec3 spotDirection;\r\n\tfloat spotCutoff;\r\n\tfloat spotExponent;\r\n#endif\r\n};\r\n\r\n// Uniforms\r\n#if NUM_LIGHTS > 0\r\n\tuniform Light lights[NUM_LIGHTS];\r\n#endif\r\n\r\n// Varying\r\n#if NUM_LIGHTS > 0\r\n\tvarying vec3 light_directions[NUM_LIGHTS];\r\n#endif\r\nvarying vec3 normal; // only used if no bump?\r\nvarying vec3 eye_direction;\r\nvarying vec3 eye_position; // only needs to be a varying if bump or fog.\r\n\r\nvoid main()\r\n{\t// Vertex normal, eye position, and eye direction\r\n\tnormal = (gl_NormalMatrix * gl_Normal) * gl_NormalScale;\r\n\r\n\tvec4 eyePositionTemp = gl_ModelViewMatrix * gl_Vertex;\r\n\teye_position = vec3(eyePositionTemp) / eyePositionTemp.w;\r\n\r\n\tgl_TexCoord[0] = gl_TextureMatrix[0] * gl_MultiTexCoord0;\r\n\tgl_Position = ftransform();\r\n\t\r\n#ifdef HAS_BUMP\r\n\t\t\r\n\t// Convert eye_direction and light_directions to tangent-space\r\n\tvec3 tangent = normalize(gl_NormalMatrix * gl_MultiTexCoord1.xyz); // tangent\r\n\tvec3 binormal = cross(normal, tangent);\r\n\t\r\n\tvec3 v;\r\n\tv.x = dot(eye_position, tangent);\r\n\tv.y = dot(eye_position, binormal);\r\n\tv.z = dot(eye_position, normal);\t\r\n\teye_direction = -normalize(v);\r\n\t\r\n\t// Put each light direction in tangent space\r\n\t#if NUM_LIGHTS > 0\r\n\t\tfor (int i=0; i<NUM_LIGHTS; i++)\r\n\t\t{\tvec3 lightDirection = lights[i].position.xyz - eye_position;\r\n\t\t\tv.x = dot(lightDirection, tangent);\r\n\t\t\tv.y = dot(lightDirection, binormal);\r\n\t\t\tv.z = dot(lightDirection, normal);\t\r\n\t\t\tlight_directions[i] = (v);\r\n\t\t}\r\n\t#endif\r\n#else // keep eye_direction and light_directions in world space (or is it model space?)\t\r\n\teye_direction = -normalize(eye_position);\r\n\tfor (int i=0; i<NUM_LIGHTS; i++)\r\n\t\tlight_directions[i] = lights[i].position.xyz - eye_position;\t\t\r\n#endif\r\n}"; /// embedded version of phong.vert 
    77    static char[] vera_ttf = "\x00\x01\x00\x00\x00\x11\x01\x00\x00\x04\x00\x10OS/2\xB4_\xF4c\x00\x00\xEBp\x00\x00\x00VPCLT\xD1\x8A^\x97\x00\x00\xEB\xC8\x00\x00\x006cmap\xA4\xC3\xE8\xA0\x00\x00\xB1l\x00\x00\x03Xcvt \xFF\xD3\x1D9\x00\x00\x1E\xFC\x00\x00\x01\xFCfpgm\xE7\xB4\xF1\xC4\x00\x00&`\x00\x00\x00\x8Bgasp\x00\x07\x00\x07\x00\x01\x01H\x00\x00\x00\x0Cglyf\x0CtA\xCF\x00\x00&\xEC\x00\x00\x8A~hdmx4\xF0!\x0E\x00\x00\xEC\x00\x00\x00\x15Hhead\xDD\x84\xA2\xD0\x00\x01\x01T\x00\x00\x006hhea\x10E\x08o\x00\x00\xEBL\x00\x00\x00$hmtx\t\xC6\x8E\xB2\x00\x00\xB4\xC4\x00\x00\x040kern\xDCR\xD5\x99\x00\x00\xBD\xA0\x00\x00-\x8Aloca\xF3\xCB\xD2=\x00\x00\xBB\x84\x00\x00\x02\x1Amaxp\x05G\x06:\x00\x00\xEB,\x00\x00\x00 name\xD9\xBC\xC8\xB5\x00\x00\x01\x1C\x00\x00\x1D\xDFpost\xB4Z/\xBB\x00\x00\xB8\xF4\x00\x00\x02\x8Eprep;\x07\xF1\x00\x00\x00 \xF8\x00\x00\x05h\x00\x00\x00\x16\x01\x0E\x00\x01\x00\x00\x00\x00\x00\x00\x00:\x00\x00\x00\x01\x00\x00\x00\x00\x00\x01\x00\x13\x00:\x00\x01\x00\x00\x00\x00\x00\x02\x00\x05\x00_\x00\x01\x00\x00\x00\x00\x00\x03\x00\x13\x00:\x00\x01\x00\x00\x00\x00\x00\x04\x00\x13\x00:\x00\x01\x00\x00\x00\x00\x00\x05\x00\x0C\x00d\x00\x01\x00\x00\x00\x00\x00\x06\x00\x17\x00M\x00\x01\x00\x00\x00\x00\x00\x07\x000\x00\xAD\x00\x01\x00\x00\x00\x00\x00\x08\x00\x0E\x08l\x00\x01\x00\x00\x00\x00\x00\x0B\x00\x18\t\x83\x00\x01\x00\x00\x00\x00\x00\r\t\x13\x00p\x00\x03\x00\x01\x04\t\x00\x00\x00t\t\x9B\x00\x03\x00\x01\x04\t\x00\x01\x00&\n\x0F\x00\x03\x00\x01\x04\t\x00\x02\x00\n\nY\x00\x03\x00\x01\x04\t\x00\x03\x00&\n\x0F\x00\x03\x00\x01\x04\t\x00\x04\x00&\n\x0F\x00\x03\x00\x01\x04\t\x00\x05\x00\x18\nc\x00\x03\x00\x01\x04\t\x00\x06\x00.\n5\x00\x03\x00\x01\x04\t\x00\x07\x00`\n\xF5\x00\x03\x00\x01\x04\t\x00\x08\x00\x1C\x1As\x00\x03\x00\x01\x04\t\x00\x0B\x000\x1C\xA1\x00\x03\x00\x01\x04\t\x00\r\x12&\n{Copyright (c) 2003 by Bitstream, Inc. All Rights Reserved.Bitstream Vera SansBitstreamVeraSans-RomanRelease 1.10Copyright (c) 2003 by Bitstream, Inc.\r\nAll Rights Reserved.\r\nBitstream Vera is a trademark of Bitstream, Inc.\r\n\r\nPermission is hereby granted, free of charge, to any person obtaining a copy of the fonts accompanying this license (\"Fonts\") and associated documentation files (the \"Font Software\"), to reproduce and distribute the Font Software, including without limitation the rights to use, copy, merge, publish, distribute, and/or sell copies of the Font Software, and to permit persons to whom the Font Software is furnished to do so, subject to the following conditions:\r\n\r\nThe above copyright and trademark notices and this permission notice shall be included in all copies of one or more of the Font Software typefaces.\r\n\r\nThe Font Software may be modified, altered, or added to, and in particular the designs of glyphs or characters in the Fonts may be modified and additional glyphs or characters may be added to the Fonts, only if the fonts are renamed to names not containing either the words \"Bitstream\" or the word \"Vera\".\r\n\r\nThis License becomes null and void to the extent applicable to Fonts or Font Software that has been modified and is distributed under the \"Bitstream Vera\" names.\r\n\r\nThe Font Software may be sold as part of a larger software package but no copy of one or more of the Font Software typefaces may be sold by itself.\r\n\r\nTHE FONT SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL BITSTREAM OR THE GNOME FOUNDATION BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM OTHER DEALINGS IN THE FONT SOFTWARE.\r\n\r\nExcept as contained in this notice, the names of Gnome, the Gnome Foundation, and Bitstream Inc., shall not be used in advertising or otherwise to promote the sale, use or other dealings in this Font Software without prior written authorization from the Gnome Foundation or Bitstream Inc., respectively. For further information, contact: fonts at gnome dot org.http://www.bitstream.com\x00C\x00o\x00p\x00y\x00r\x00i\x00g\x00h\x00t\x00 \x00(\x00c\x00)\x00 \x002\x000\x000\x003\x00 \x00b\x00y\x00 \x00B\x00i\x00t\x00s\x00t\x00r\x00e\x00a\x00m\x00,\x00 \x00I\x00n\x00c\x00.\x00 \x00A\x00l\x00l\x00 \x00R\x00i\x00g\x00h\x00t\x00s\x00 \x00R\x00e\x00s\x00e\x00r\x00v\x00e\x00d\x00.\x00B\x00i\x00t\x00s\x00t\x00r\x00e\x00a\x00m\x00 \x00V\x00e\x00r\x00a\x00 \x00S\x00a\x00n\x00s\x00B\x00i\x00t\x00s\x00t\x00r\x00e\x00a\x00m\x00V\x00e\x00r\x00a\x00S\x00a\x00n\x00s\x00-\x00R\x00o\x00m\x00a\x00n\x00R\x00e\x00l\x00e\x00a\x00s\x00e\x00 \x001\x00.\x001\x000\x00C\x00o\x00p\x00y\x00r\x00i\x00g\x00h\x00t\x00 \x00(\x00c\x00)\x00 \x002\x000\x000\x003\x00 \x00b\x00y\x00 \x00B\x00i\x00t\x00s\x00t\x00r\x00e\x00a\x00m\x00,\x00 \x00I\x00n\x00c\x00.\x00\r\x00\n\x00A\x00l\x00l\x00 \x00R\x00i\x00g\x00h\x00t\x00s\x00 \x00R\x00e\x00s\x00e\x00r\x00v\x00e\x00d\x00.\x00\r\x00\n\x00B\x00i\x00t\x00s\x00t\x00r\x00e\x00a\x00m\x00 \x00V\x00e\x00r\x00a\x00 \x00i\x00s\x00 \x00a\x00 \x00t\x00r\x00a\x00d\x00e\x00m\x00a\x00r\x00k\x00 \x00o\x00f\x00 \x00B\x00i\x00t\x00s\x00t\x00r\x00e\x00a\x00m\x00,\x00 \x00I\x00n\x00c\x00.\x00\r\x00\n\x00\r\x00\n\x00P\x00e\x00r\x00m\x00i\x00s\x00s\x00i\x00o\x00n\x00 \x00i\x00s\x00 \x00h\x00e\x00r\x00e\x00b\x00y\x00 \x00g\x00r\x00a\x00n\x00t\x00e\x00d\x00,\x00 \x00f\x00r\x00e\x00e\x00 \x00o\x00f\x00 \x00c\x00h\x00a\x00r\x00g\x00e\x00,\x00 \x00t\x00o\x00 \x00a\x00n\x00y\x00 \x00p\x00e\x00r\x00s\x00o\x00n\x00 \x00o\x00b\x00t\x00a\x00i\x00n\x00i\x00n\x00g\x00 \x00a\x00 \x00c\x00o\x00p\x00y\x00 \x00o\x00f\x00 \x00t\x00h\x00e\x00 \x00f\x00o\x00n\x00t\x00s\x00 \x00a\x00c\x00c\x00o\x00m\x00p\x00a\x00n\x00y\x00i\x00n\x00g\x00 \x00t\x00h\x00i\x00s\x00 \x00l\x00i\x00c\x00e\x00n\x00s\x00e\x00 \x00(\x00\"\x00F\x00o\x00n\x00t\x00s\x00\"\x00)\x00 \x00a\x00n\x00d\x00 \x00a\x00s\x00s\x00o\x00c\x00i\x00a\x00t\x00e\x00d\x00 \x00d\x00o\x00c\x00u\x00m\x00e\x00n\x00t\x00a\x00t\x00i\x00o\x00n\x00 \x00f\x00i\x00l\x00e\x00s\x00 \x00(\x00t\x00h\x00e\x00 \x00\"\x00F\x00o\x00n\x00t\x00 \x00S\x00o\x00f\x00t\x00w\x00a\x00r\x00e\x00\"\x00)\x00,\x00 \x00t\x00o\x00 \x00r\x00e\x00p\x00r\x00o\x00d\x00u\x00c\x00e\x00 \x00a\x00n\x00d\x00 \x00d\x00i\x00s\x00t\x00r\x00i\x00b\x00u\x00t\x00e\x00 \x00t\x00h\x00e\x00 \x00F\x00o\x00n\x00t\x00 \x00S\x00o\x00f\x00t\x00w\x00a\x00r\x00e\x00,\x00 \x00i\x00n\x00c\x00l\x00u\x00d\x00i\x00n\x00g\x00 \x00w\x00i\x00t\x00h\x00o\x00u\x00t\x00 \x00l\x00i\x00m\x00i\x00t\x00a\x00t\x00i\x00o\x00n\x00 \x00t\x00h\x00e\x00 \x00r\x00i\x00g\x00h\x00t\x00s\x00 \x00t\x00o\x00 \x00u\x00s\x00e\x00,\x00 \x00c\x00o\x00p\x00y\x00,\x00 \x00m\x00e\x00r\x00g\x00e\x00,\x00 \x00p\x00u\x00b\x00l\x00i\x00s\x00h\x00,\x00 \x00d\x00i\x00s\x00t\x00r\x00i\x00b\x00u\x00t\x00e\x00,\x00 \x00a\x00n\x00d\x00/\x00o\x00r\x00 \x00s\x00e\x00l\x00l\x00 \x00c\x00o\x00p\x00i\x00e\x00s\x00 \x00o\x00f\x00 \x00t\x00h\x00e\x00 \x00F\x00o\x00n\x00t\x00 \x00S\x00o\x00f\x00t\x00w\x00a\x00r\x00e\x00,\x00 \x00a\x00n\x00d\x00 \x00t\x00o\x00 \x00p\x00e\x00r\x00m\x00i\x00t\x00 \x00p\x00e\x00r\x00s\x00o\x00n\x00s\x00 \x00t\x00o\x00 \x00w\x00h\x00o\x00m\x00 \x00t\x00h\x00e\x00 \x00F\x00o\x00n\x00t\x00 \x00S\x00o\x00f\x00t\x00w\x00a\x00r\x00e\x00 \x00i\x00s\x00 \x00f\x00u\x00r\x00n\x00i\x00s\x00h\x00e\x00d\x00 \x00t\x00o\x00 \x00d\x00o\x00 \x00s\x00o\x00,\x00 \x00s\x00u\x00b\x00j\x00e\x00c\x00t\x00 \x00t\x00o\x00 \x00t\x00h\x00e\x00 \x00f\x00o\x00l\x00l\x00o\x00w\x00i\x00n\x00g\x00 \x00c\x00o\x00n\x00d\x00i\x00t\x00i\x00o\x00n\x00s\x00:\x00\r\x00\n\x00\r\x00\n\x00T\x00h\x00e\x00 \x00a\x00b\x00o\x00v\x00e\x00 \x00c\x00o\x00p\x00y\x00r\x00i\x00g\x00h\x00t\x00 \x00a\x00n\x00d\x00 \x00t\x00r\x00a\x00d\x00e\x00m\x00a\x00r\x00k\x00 \x00n\x00o\x00t\x00i\x00c\x00e\x00s\x00 \x00a\x00n\x00d\x00 \x00t\x00h\x00i\x00s\x00 \x00p\x00e\x00r\x00m\x00i\x00s\x00s\x00i\x00o\x00n\x00 \x00n\x00o\x00t\x00i\x00c\x00e\x00 \x00s\x00h\x00a\x00l\x00l\x00 \x00b\x00e\x00 \x00i\x00n\x00c\x00l\x00u\x00d\x00e\x00d\x00 \x00i\x00n\x00 \x00a\x00l\x00l\x00 \x00c\x00o\x00p\x00i\x00e\x00s\x00 \x00o\x00f\x00 \x00o\x00n\x00e\x00 \x00o\x00r\x00 \x00m\x00o\x00r\x00e\x00 \x00o\x00f\x00 \x00t\x00h\x00e\x00 \x00F\x00o\x00n\x00t\x00 \x00S\x00o\x00f\x00t\x00w\x00a\x00r\x00e\x00 \x00t\x00y\x00p\x00e\x00f\x00a\x00c\x00e\x00s\x00.\x00\r\x00\n\x00\r\x00\n\x00T\x00h\x00e\x00 \x00F\x00o\x00n\x00t\x00 \x00S\x00o\x00f\x00t\x00w\x00a\x00r\x00e\x00 \x00m\x00a\x00y\x00 \x00b\x00e\x00 \x00m\x00o\x00d\x00i\x00f\x00i\x00e\x00d\x00,\x00 \x00a\x00l\x00t\x00e\x00r\x00e\x00d\x00,\x00 \x00o\x00r\x00 \x00a\x00d\x00d\x00e\x00d\x00 \x00t\x00o\x00,\x00 \x00a\x00n\x00d\x00 \x00i\x00n\x00 \x00p\x00a\x00r\x00t\x00i\x00c\x00u\x00l\x00a\x00r\x00 \x00t\x00h\x00e\x00 \x00d\x00e\x00s\x00i\x00g\x00n\x00s\x00 \x00o\x00f\x00 \x00g\x00l\x00y\x00p\x00h\x00s\x00 \x00o\x00r\x00 \x00c\x00h\x00a\x00r\x00a\x00c\x00t\x00e\x00r\x00s\x00 \x00i\x00n\x00 \x00t\x00h\x00e\x00 \x00F\x00o\x00n\x00t\x00s\x00 \x00m\x00a\x00y\x00 \x00b\x00e\x00 \x00m\x00o\x00d\x00i\x00f\x00i\x00e\x00d\x00 \x00a\x00n\x00d\x00 \x00a\x00d\x00d\x00i\x00t\x00i\x00o\x00n\x00a\x00l\x00 \x00g\x00l\x00y\x00p\x00h\x00s\x00 \x00o\x00r\x00 \x00c\x00h\x00a\x00r\x00a\x00c\x00t\x00e\x00r\x00s\x00 \x00m\x00a\x00y\x00 \x00b\x00e\x00 \x00a\x00d\x00d\x00e\x00d\x00 \x00t\x00o\x00 \x00t\x00h\x00e\x00 \x00F\x00o\x00n\x00t\x00s\x00,\x00 \x00o\x00n\x00l\x00y\x00 \x00i\x00f\x00 \x00t\x00h\x00e\x00 \x00f\x00o\x00n\x00t\x00s\x00 \x00a\x00r\x00e\x00 \x00r\x00e\x00n\x00a\x00m\x00e\x00d\x00 \x00t\x00o\x00 \x00n\x00a\x00m\x00e\x00s\x00 \x00n\x00o\x00t\x00 \x00c\x00o\x00n\x00t\x00a\x00i\x00n\x00i\x00n\x00g\x00 \x00e\x00i\x00t\x00h\x00e\x00r\x00 \x00t\x00h\x00e\x00 \x00w\x00o\x00r\x00d\x00s\x00 \x00\"\x00B\x00i\x00t\x00s\x00t\x00r\x00e\x00a\x00m\x00\"\x00 \x00o\x00r\x00 \x00t\x00h\x00e\x00 \x00w\x00o\x00r\x00d\x00 \x00\"\x00V\x00e\x00r\x00a\x00\"\x00.\x00\r\x00\n\x00\r\x00\n\x00T\x00h\x00i\x00s\x00 \x00L\x00i\x00c\x00e\x00n\x00s\x00e\x00 \x00b\x00e\x00c\x00o\x00m\x00e\x00s\x00 \x00n\x00u\x00l\x00l\x00 \x00a\x00n\x00d\x00 \x00v\x00o\x00i\x00d\x00 \x00t\x00o\x00 \x00t\x00h\x00e\x00 \x00e\x00x\x00t\x00e\x00n\x00t\x00 \x00a\x00p\x00p\x00l\x00i\x00c\x00a\x00b\x00l\x00e\x00 \x00t\x00o\x00 \x00F\x00o\x00n\x00t\x00s\x00 \x00o\x00r\x00 \x00F\x00o\x00n\x00t\x00 \x00S\x00o\x00f\x00t\x00w\x00a\x00r\x00e\x00 \x00t\x00h\x00a\x00t\x00 \x00h\x00a\x00s\x00 \x00b\x00e\x00e\x00n\x00 \x00m\x00o\x00d\x00i\x00f\x00i\x00e\x00d\x00 \x00a\x00n\x00d\x00 \x00i\x00s\x00 \x00d\x00i\x00s\x00t\x00r\x00i\x00b\x00u\x00t\x00e\x00d\x00 \x00u\x00n\x00d\x00e\x00r\x00 \x00t\x00h\x00e\x00 \x00\"\x00B\x00i\x00t\x00s\x00t\x00r\x00e\x00a\x00m\x00 \x00V\x00e\x00r\x00a\x00\"\x00 \x00n\x00a\x00m\x00e\x00s\x00.\x00\r\x00\n\x00\r\x00\n\x00T\x00h\x00e\x00 \x00F\x00o\x00n\x00t\x00 \x00S\x00o\x00f\x00t\x00w\x00a\x00r\x00e\x00 \x00m\x00a\x00y\x00 \x00b\x00e\x00 \x00s\x00o\x00l\x00d\x00 \x00a\x00s\x00 \x00p\x00a\x00r\x00t\x00 \x00o\x00f\x00 \x00a\x00 \x00l\x00a\x00r\x00g\x00e\x00r\x00 \x00s\x00o\x00f\x00t\x00w\x00a\x00r\x00e\x00 \x00p\x00a\x00c\x00k\x00a\x00g\x00e\x00 \x00b\x00u\x00t\x00 \x00n\x00o\x00 \x00c\x00o\x00p\x00y\x00 \x00o\x00f\x00 \x00o\x00n\x00e\x00 \x00o\x00r\x00 \x00m\x00o\x00r\x00e\x00 \x00o\x00f\x00 \x00t\x00h\x00e\x00 \x00F\x00o\x00n\x00t\x00 \x00S\x00o\x00f\x00t\x00w\x00a\x00r\x00e\x00 \x00t\x00y\x00p\x00e\x00f\x00a\x00c\x00e\x00s\x00 \x00m\x00a\x00y\x00 \x00b\x00e\x00 \x00s\x00o\x00l\x00d\x00 \x00b\x00y\x00 \x00i\x00t\x00s\x00e\x00l\x00f\x00.\x00\r\x00\n\x00\r\x00\n\x00T\x00H\x00E\x00 \x00F\x00O\x00N\x00T\x00 \x00S\x00O\x00F\x00T\x00W\x00A\x00R\x00E\x00 \x00I\x00S\x00 \x00P\x00R\x00O\x00V\x00I\x00D\x00E\x00D\x00 \x00\"\x00A\x00S\x00 \x00I\x00S\x00\"\x00,\x00 \x00W\x00I\x00T\x00H\x00O\x00U\x00T\x00 \x00W\x00A\x00R\x00R\x00A\x00N\x00T\x00Y\x00 \x00O\x00F\x00 \x00A\x00N\x00Y\x00 \x00K\x00I\x00N\x00D\x00,\x00 \x00E\x00X\x00P\x00R\x00E\x00S\x00S\x00 \x00O\x00R\x00 \x00I\x00M\x00P\x00L\x00I\x00E\x00D\x00,\x00 \x00I\x00N\x00C\x00L\x00U\x00D\x00I\x00N\x00G\x00 \x00B\x00U\x00T\x00 \x00N\x00O\x00T\x00 \x00L\x00I\x00M\x00I\x00T\x00E\x00D\x00 \x00T\x00O\x00 \x00A\x00N\x00Y\x00 \x00W\x00A\x00R\x00R\x00A\x00N\x00T\x00I\x00E\x00S\x00 \x00O\x00F\x00 \x00M\x00E\x00R\x00C\x00H\x00A\x00N\x00T\x00A\x00B\x00I\x00L\x00I\x00T\x00Y\x00,\x00 \x00F\x00I\x00T\x00N\x00E\x00S\x00S\x00 \x00F\x00O\x00R\x00 \x00A\x00 \x00P\x00A\x00R\x00T\x00I\x00C\x00U\x00L\x00A\x00R\x00 \x00P\x00U\x00R\x00P\x00O\x00S\x00E\x00 \x00A\x00N\x00D\x00 \x00N\x00O\x00N\x00I\x00N\x00F\x00R\x00I\x00N\x00G\x00E\x00M\x00E\x00N\x00T\x00 \x00O\x00F\x00 \x00C\x00O\x00P\x00Y\x00R\x00I\x00G\x00H\x00T\x00,\x00 \x00P\x00A\x00T\x00E\x00N\x00T\x00,\x00 \x00T\x00R\x00A\x00D\x00E\x00M\x00A\x00R\x00K\x00,\x00 \x00O\x00R\x00 \x00O\x00T\x00H\x00E\x00R\x00 \x00R\x00I\x00G\x00H\x00T\x00.\x00 \x00I\x00N\x00 \x00N\x00O\x00 \x00E\x00V\x00E\x00N\x00T\x00 \x00S\x00H\x00A\x00L\x00L\x00 \x00B\x00I\x00T\x00S\x00T\x00R\x00E\x00A\x00M\x00 \x00O\x00R\x00 \x00T\x00H\x00E\x00 \x00G\x00N\x00O\x00M\x00E\x00 \x00F\x00O\x00U\x00N\x00D\x00A\x00T\x00I\x00O\x00N\x00 \x00B\x00E\x00 \x00L\x00I\x00A\x00B\x00L\x00E\x00 \x00F\x00O\x00R\x00 \x00A\x00N\x00Y\x00 \x00C\x00L\x00A\x00I\x00M\x00,\x00 \x00D\x00A\x00M\x00A\x00G\x00E\x00S\x00 \x00O\x00R\x00 \x00O\x00T\x00H\x00E\x00R\x00 \x00L\x00I\x00A\x00B\x00I\x00L\x00I\x00T\x00Y\x00,\x00 \x00I\x00N\x00C\x00L\x00U\x00D\x00I\x00N\x00G\x00 \x00A\x00N\x00Y\x00 \x00G\x00E\x00N\x00E\x00R\x00A\x00L\x00,\x00 \x00S\x00P\x00E\x00C\x00I\x00A\x00L\x00,\x00 \x00I\x00N\x00D\x00I\x00R\x00E\x00C\x00T\x00,\x00 \x00I\x00N\x00C\x00I\x00D\x00E\x00N\x00T\x00A\x00L\x00,\x00 \x00O\x00R\x00 \x00C\x00O\x00N\x00S\x00E\x00Q\x00U\x00E\x00N\x00T\x00I\x00A\x00L\x00 \x00D\x00A\x00M\x00A\x00G\x00E\x00S\x00,\x00 \x00W\x00H\x00E\x00T\x00H\x00E\x00R\x00 \x00I\x00N\x00 \x00A\x00N\x00 \x00A\x00C\x00T\x00I\x00O\x00N\x00 \x00O\x00F\x00 \x00C\x00O\x00N\x00T\x00R\x00A\x00C\x00T\x00,\x00 \x00T\x00O\x00R\x00T\x00 \x00O\x00R\x00 \x00O\x00T\x00H\x00E\x00R\x00W\x00I\x00S\x00E\x00,\x00 \x00A\x00R\x00I\x00S\x00I\x00N\x00G\x00 \x00F\x00R\x00O\x00M\x00,\x00 \x00O\x00U\x00T\x00 \x00O\x00F\x00 \x00T\x00H\x00E\x00 \x00U\x00S\x00E\x00 \x00O\x00R\x00 \x00I\x00N\x00A\x00B\x00I\x00L\x00I\x00T\x00Y\x00 \x00T\x00O\x00 \x00U\x00S\x00E\x00 \x00T\x00H\x00E\x00 \x00F\x00O\x00N\x00T\x00 \x00S\x00O\x00F\x00T\x00W\x00A\x00R\x00E\x00 \x00O\x00R\x00 \x00F\x00R\x00O\x00M\x00 \x00O\x00T\x00H\x00E\x00R\x00 \x00D\x00E\x00A\x00L\x00I\x00N\x00G\x00S\x00 \x00I\x00N\x00 \x00T\x00H\x00E\x00 \x00F\x00O\x00N\x00T\x00 \x00S\x00O\x00F\x00T\x00W\x00A\x00R\x00E\x00.\x00\r\x00\n\x00\r\x00\n\x00E\x00x\x00c\x00e\x00p\x00t\x00 \x00a\x00s\x00 \x00c\x00o\x00n\x00t\x00a\x00i\x00n\x00e\x00d\x00 \x00i\x00n\x00 \x00t\x00h\x00i\x00s\x00 \x00n\x00o\x00t\x00i\x00c\x00e\x00,\x00 \x00t\x00h\x00e\x00 \x00n\x00a\x00m\x00e\x00s\x00 \x00o\x00f\x00 \x00G\x00n\x00o\x00m\x00e\x00,\x00 \x00t\x00h\x00e\x00 \x00G\x00n\x00o\x00m\x00e\x00 \x00F\x00o\x00u\x00n\x00d\x00a\x00t\x00i\x00o\x00n\x00,\x00 \x00a\x00n\x00d\x00 \x00B\x00i\x00t\x00s\x00t\x00r\x00e\x00a\x00m\x00 \x00I\x00n\x00c\x00.\x00,\x00 \x00s\x00h\x00a\x00l\x00l\x00 \x00n\x00o\x00t\x00 \x00b\x00e\x00 \x00u\x00s\x00e\x00d\x00 \x00i\x00n\x00 \x00a\x00d\x00v\x00e\x00r\x00t\x00i\x00s\x00i\x00n\x00g\x00 \x00o\x00r\x00 \x00o\x00t\x00h\x00e\x00r\x00w\x00i\x00s\x00e\x00 \x00t\x00o\x00 \x00p\x00r\x00o\x00m\x00o\x00t\x00e\x00 \x00t\x00h\x00e\x00 \x00s\x00a\x00l\x00e\x00,\x00 \x00u\x00s\x00e\x00 \x00o\x00r\x00 \x00o\x00t\x00h\x00e\x00r\x00 \x00d\x00e\x00a\x00l\x00i\x00n\x00g\x00s\x00 \x00i\x00n\x00 \x00t\x00h\x00i\x00s\x00 \x00F\x00o\x00n\x00t\x00 \x00S\x00o\x00f\x00t\x00w\x00a\x00r\x00e\x00 \x00w\x00i\x00t\x00h\x00o\x00u\x00t\x00 \x00p\x00r\x00i\x00o\x00r\x00 \x00w\x00r\x00i\x00t\x00t\x00e\x00n\x00 \x00a\x00u\x00t\x00h\x00o\x00r\x00i\x00z\x00a\x00t\x00i\x00o\x00n\x00 \x00f\x00r\x00o\x00m\x00 \x00t\x00h\x00e\x00 \x00G\x00n\x00o\x00m\x00e\x00 \x00F\x00o\x00u\x00n\x00d\x00a\x00t\x00i\x00o\x00n\x00 \x00o\x00r\x00 \x00B\x00i\x00t\x00s\x00t\x00r\x00e\x00a\x00m\x00 \x00I\x00n\x00c\x00.\x00,\x00 \x00r\x00e\x00s\x00p\x00e\x00c\x00t\x00i\x00v\x00e\x00l\x00y\x00.\x00 \x00F\x00o\x00r\x00 \x00f\x00u\x00r\x00t\x00h\x00e\x00r\x00 \x00i\x00n\x00f\x00o\x00r\x00m\x00a\x00t\x00i\x00o\x00n\x00,\x00 \x00c\x00o\x00n\x00t\x00a\x00c\x00t\x00:\x00 \x00f\x00o\x00n\x00t\x00s\x00 \x00a\x00t\x00 \x00g\x00n\x00o\x00m\x00e\x00 \x00d\x00o\x00t\x00 \x00o\x00r\x00g\x00.\x00h\x00t\x00t\x00p\x00:\x00/\x00/\x00w\x00w\x00w\x00.\x00b\x00i\x00t\x00s\x00t\x00r\x00e\x00a\x00m\x00.\x00c\x00o\x00m\x00\x015\x00\xB8\x00\xCB\x00\xCB\x00\xC1\x00\xAA\x00\x9C\x01\xA6\x00\xB8\x00f\x00\x00\x00q\x00\xCB\x00\xA0\x02\xB2\x00\x85\x00u\x00\xB8\x00\xC3\x01\xCB\x01\x89\x02-\x00\xCB\x00\xA6\x00\xF0\x00\xD3\x00\xAA\x00\x87\x00\xCB\x03\xAA\x04\x00\x01J\x003\x00\xCB\x00\x00\x00\xD9\x05\x02\x00\xF4\x01T\x00\xB4\x00\x9C\x019\x01\x14\x019\x07\x06\x04\x00\x04N\x04\xB4\x04R\x04\xB8\x04\xE7\x04\xCD\x007\x04s\x04\xCD\x04`\x04s\x013\x03\xA2\x05V\x05\xA6\x05V\x059\x03\xC5\x02\x12\x00\xC9\x00\x1F\x00\xB8\x01\xDF\x00s\x00\xBA\x03\xE9\x033\x03\xBC\x04D\x04\x0E\x00\xDF\x03\xCD\x03\xAA\x00\xE5\x03\xAA\x04\x04\x00\x00\x00\xCB\x00\x8F\x00\xA4\x00{\x00\xB8\x00\x14\x01o\x00\x7F\x02{\x02R\x00\x8F\x00\xC7\x05\xCD\x00\x9A\x00\x9A\x00o\x00\xCB\x00\xCD\x01\x9E\x01\xD3\x00\xF0\x00\xBA\x01\x83\x00\xD5\x00\x98\x03\x04\x02H\x00\x9E\x01\xD5\x00\xC1\x00\xCB\x00\xF6\x00\x83\x03T\x02\x7F\x00\x00\x033\x02f\x00\xD3\x00\xC7\x00\xA4\x00\xCD\x00\x8F\x00\x9A\x00s\x04\x00\x05\xD5\x01\n\x00\xFE\x02+\x00\xA4\x00\xB4\x00\x9C\x00\x00\x00b\x00\x9C\x00\x00\x00\x1D\x03-\x05\xD5\x05\xD5\x05\xD5\x05\xF0\x00\x7F\x00{\x00T\x00\xA4\x06\xB8\x06\x14\x07#\x01\xD3\x00\xB8\x00\xCB\x00\xA6\x01\xC3\x01\xEC\x06\x93\x00\xA0\x00\xD3\x03\\\x03q\x03\xDB\x01\x85\x04#\x04\xA8\x04H\x00\x8F\x019\x01\x14\x019\x03`\x00\x8F\x05\xD5\x01\x9A\x06\x14\x07#\x06f\x01y\x04`\x04`\x04`\x04{\x00\x9C\x00\x00\x02w\x04`\x01\xAA\x00\xE9\x04`\x07b\x00{\x00\xC5\x00\x7F\x02{\x00\x00\x00\xB4\x02R\x05\xCD\x00f\x00\xBC\x00f\x00w\x06\x10\x00\xCD\x01;\x01\x85\x03\x89\x00\x8F\x00{\x00\x00\x00\x1D\x00\xCD\x07J\x04/\x00\x9C\x00\x9C\x00\x00\x07}\x00o\x00\x00\x00o\x035\x00j\x00o\x00{\x00\xAE\x00\xB2\x00-\x03\x96\x00\x8F\x02{\x00\xF6\x00\x83\x03T\x067\x05\xF6\x00\x8F\x00\x9C\x04\xE1\x02f\x00\x8F\x01\x8D\x02\xF6\x00\xCD\x03D\x00)\x00f\x04\xEE\x00s\x00\x00\x14\x00\xB8\x02\x80@\xFF\xFB\xFE\x03\xFA\x14\x03\xF9%\x03\xF82\x03\xF7\x96\x03\xF6\x0E\x03\xF5\xFE\x03\xF4\xFE\x03\xF3%\x03\xF2\x0E\x03\xF1\x96\x03\xF0%\x03\xEF\x8AA\x05\xEF\xFE\x03\xEE\x96\x03\xED\x96\x03\xEC\xFA\x03\xEB\xFA\x03\xEA\xFE\x03\xE9:\x03\xE8B\x03\xE7\xFE\x03\xE62\x03\xE5\xE4S\x05\xE5\x96\x03\xE4\x8AA\x05\xE4S\x03\xE3\xE2/\x05\xE3\xFA\x03\xE2/\x03\xE1\xFE\x03\xE0\xFE\x03\xDF2\x03\xDE\x14\x03\xDD\x96\x03\xDC\xFE\x03\xDB\x12\x03\xDA}\x03\xD9\xBB\x03\xD8\xFE\x03\xD6\x8AA\x05\xD6}\x03\xD5\xD4G\x05\xD5}\x03\xD4G\x03\xD3\xD2\x1B\x05\xD3\xFE\x03\xD2\x1B\x03\xD1\xFE\x03\xD0\xFE\x03\xCF\xFE\x03\xCE\xFE\x03\xCD\x96\x03\xCC\xCB\x1E\x05\xCC\xFE\x03\xCB\x1E\x03\xCA2\x03\xC9\xFE\x03\xC6\x85\x11\x05\xC6\x1C\x03\xC5\x16\x03\xC4\xFE\x03\xC3\xFE\x03\xC2\xFE\x03\xC1\xFE\x03\xC0\xFE\x03\xBF\xFE\x03\xBE\xFE\x03\xBD\xFE\x03\xBC\xFE\x03\xBB\xFE\x03\xBA\x11\x03\xB9\x86%\x05\xB9\xFE\x03\xB8\xB7\xBB\x05\xB8\xFE\x03\xB7\xB6]\x05\xB7\xBB\x03\xB7\x80\x04\xB6\xB5%\x05\xB6]@\xFF\x03\xB6@\x04\xB5%\x03\xB4\xFE\x03\xB3\x96\x03\xB2\xFE\x03\xB1\xFE\x03\xB0\xFE\x03\xAF\xFE\x03\xAEd\x03\xAD\x0E\x03\xAC\xAB%\x05\xACd\x03\xAB\xAA\x12\x05\xAB%\x03\xAA\x12\x03\xA9\x8AA\x05\xA9\xFA\x03\xA8\xFE\x03\xA7\xFE\x03\xA6\xFE\x03\xA5\x12\x03\xA4\xFE\x03\xA3\xA2\x0E\x05\xA32\x03\xA2\x0E\x03\xA1d\x03\xA0\x8AA\x05\xA0\x96\x03\x9F\xFE\x03\x9E\x9D\x0C\x05\x9E\xFE\x03\x9D\x0C\x03\x9C\x9B\x19\x05\x9Cd\x03\x9B\x9A\x10\x05\x9B\x19\x03\x9A\x10\x03\x99\n\x03\x98\xFE\x03\x97\x96\r\x05\x97\xFE\x03\x96\r\x03\x95\x8AA\x05\x95\x96\x03\x94\x93\x0E\x05\x94(\x03\x93\x0E\x03\x92\xFA\x03\x91\x90\xBB\x05\x91\xFE\x03\x90\x8F]\x05\x90\xBB\x03\x90\x80\x04\x8F\x8E%\x05\x8F]\x03\x8F@\x04\x8E%\x03\x8D\xFE\x03\x8C\x8B.\x05\x8C\xFE\x03\x8B.\x03\x8A\x86%\x05\x8AA\x03\x89\x88\x0B\x05\x89\x14\x03\x88\x0B\x03\x87\x86%\x05\x87d\x03\x86\x85\x11\x05\x86%\x03\x85\x11\x03\x84\xFE\x03\x83\x82\x11\x05\x83\xFE\x03\x82\x11\x03\x81\xFE\x03\x80\xFE\x03\x7F\xFE\x03@\xFF~}}\x05~\xFE\x03}}\x03|d\x03{T\x15\x05{%\x03z\xFE\x03y\xFE\x03x\x0E\x03w\x0C\x03v\n\x03u\xFE\x03t\xFA\x03s\xFA\x03r\xFA\x03q\xFA\x03p\xFE\x03o\xFE\x03n\xFE\x03l!\x03k\xFE\x03j\x11B\x05jS\x03i\xFE\x03h}\x03g\x11B\x05f\xFE\x03e\xFE\x03d\xFE\x03c\xFE\x03b\xFE\x03a:\x03`\xFA\x03^\x0C\x03]\xFE\x03[\xFE\x03Z\xFE\x03YX\n\x05Y\xFA\x03X\n\x03W\x16\x19\x05W2\x03V\xFE\x03UT\x15\x05UB\x03T\x15\x03S\x01\x10\x05S\x18\x03R\x14\x03QJ\x13\x05Q\xFE\x03P\x0B\x03O\xFE\x03NM\x10\x05N\xFE\x03M\x10\x03L\xFE\x03KJ\x13\x05K\xFE\x03JI\x10\x05J\x13\x03I\x1D\r\x05I\x10\x03H\r\x03G\xFE\x03F\x96\x03E\x96\x03D\xFE\x03C\x02-\x05C\xFA\x03B\xBB\x03AK\x03@\xFE\x03?\xFE\x03>=\x12\x05>\x14\x03=<\x0F\x05=\x12\x03<;\r\x05<@\xFF\x0F\x03;\r\x03:\xFE\x039\xFE\x0387\x14\x058\xFA\x0376\x10\x057\x14\x0365\x0B\x056\x10\x035\x0B\x034\x1E\x033\r\x0321\x0B\x052\xFE\x031\x0B\x030/\x0B\x050\r\x03/\x0B\x03.-\t\x05.\x10\x03-\t\x03,2\x03+*%\x05+d\x03*)\x12\x05*%\x03)\x12\x03('%\x05(A\x03'%\x03&%\x0B\x05&\x0F\x03%\x0B\x03$\xFE\x03#\xFE\x03\"\x0F\x03!\x01\x10\x05!\x12\x03 d\x03\x1F\xFA\x03\x1E\x1D\r\x05\x1Ed\x03\x1D\r\x03\x1C\x11B\x05\x1C\xFE\x03\x1B\xFA\x03\x1AB\x03\x19\x11B\x05\x19\xFE\x03\x18d\x03\x17\x16\x19\x05\x17\xFE\x03\x16\x01\x10\x05\x16\x19\x03\x15\xFE\x03\x14\xFE\x03\x13\xFE\x03\x12\x11B\x05\x12\xFE\x03\x11\x02-\x05\x11B\x03\x10}\x03\x0Fd\x03\x0E\xFE\x03\r\x0C\x16\x05\r\xFE\x03\x0C\x01\x10\x05\x0C\x16\x03\x0B\xFE\x03\n\x10\x03\t\xFE\x03\x08\x02-\x05\x08\xFE\x03\x07\x14\x03\x06d\x03\x04\x01\x10\x05\x04\xFE\x03@\x15\x03\x02-\x05\x03\xFE\x03\x02\x01\x10\x05\x02-\x03\x01\x10\x03\x00\xFE\x03\x01\xB8\x01d\x85\x8D\x01+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\x00+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\x1D\xB6\x06\x05\x04\x03\x02\x01\x00, \x10\xB0\x02%Id\xB0@QX \xC8Y!-,\xB0\x02%Id\xB0@QX \xC8Y!-, \x10\x07 \xB0\x00P\xB0\ry \xB8\xFF\xFFPX\x04\x1B\x05Y\xB0\x05\x1C\xB0\x03%\x08\xB0\x04%#\xE1 \xB0\x00P\xB0\ry \xB8\xFF\xFFPX\x04\x1B\x05Y\xB0\x05\x1C\xB0\x03%\x08\xE1-,KPX \xB0\xFDEDY!-,\xB0\x02%E`D-,KSX\xB0\x02%\xB0\x02%EDY!!-,ED-\x00\x00\x02\x00f\xFE\x96\x04f\x05\xA4\x00\x03\x00\x07\x00\x1A@\x0C\x04\xFB\x00\x06\xFB\x01\x08\x05\x7F\x02\x04\x00/\xC4\xD4\xEC1\x00\x10\xD4\xEC\xD4\xEC0\x13\x11!\x11%!\x11!f\x04\x00\xFCs\x03\x1B\xFC\xE5\xFE\x96\x07\x0E\xF8\xF2r\x06)\x00\x02\x015\x00\x00\x02\x00\x05\xD5\x00\x03\x00\t\x00@@\x0F\x07\x00\x83\x04\x81\x02\x08\x07\x05\x01\x03\x04\x00\x00\n\x10\xFC<\xEC2991\x00/\xE4\xFC\xCC0\x01K\xB0\x0BTX\xBD\x00\n\x00@\x00\x01\x00\n\x00\n\xFF\xC08\x1178Y\xB6\x00\x0B \x0BP\x0B\x03]%3\x15#\x113\x11\x03#\x03\x015\xCB\xCB\xCB\x14\xA2\x15\xFE\xFE\x05\xD5\xFDq\xFE\x9B\x01e\x00\x02\x00\xC5\x03\xAA\x02\xE9\x05\xD5\x00\x03\x00\x07\x00M@\x0F\x05\x01\x84\x04\x00\x81\x08\x04\x05\x06\x00\x05\x02\x04\x08\x10\xFC\xFC\xDC\xEC1\x00\x10\xF4<\xEC20\x01K\xB0\x12TK\xB0\x13T[X\xBD\x00\x08\x00@\x00\x01\x00\x08\x00\x08\xFF\xC08\x1178Y@\x0F0\t@\tP\t`\tp\t\xA0\t\xBF\t\x07]\x01\x11#\x11!\x11#\x11\x01o\xAA\x02$\xAA\x05\xD5\xFD\xD5\x02+\xFD\xD5\x02+\x00\x00\x02\x00\x9E\x00\x00\x06\x17\x05\xBE\x00\x03\x00\x1F\x00`@1\x1B\x0B\x00\x87\x07\x04\x1D\t\x05\x19\r\x02\x87\x17\x13\x0F\x15\x11\x1F\x1E\x1C\x1B\x1A\x17\x16\x15\x14\x13\x12\x11\x10\x0E\r\x0C\t\x08\x07\x06\x05\x04\x03\x02\x01\x00\x1A\n\x18\x06 \x10\xFC\xCC\x1791\x00/<\xD4<<\xFC<<\xD4<<\xC42\xEC220@\x11\x0B\x01\x0B\x02\x0B\x0C\x0B\r\x14\x04\x1A\x11\x1A\x12\x14\x1F\x08\x01]\x01!\x03!\x0B\x01!\x133\x03!\x15!\x03!\x15!\x03#\x13!\x03#\x13!5!\x13!5!\x13\x04\x17\xFE\xDDT\x01%Dh\x01$i\xA0g\x018\xFE\xA1R\x01>\xFE\x9Bh\xA0g\xFE\xDBg\xA1h\xFE\xC5\x01`T\xFE\xBE\x01if\x03\x85\xFE\xB2\x03\x87\xFEa\x01\x9F\xFEa\x9A\xFE\xB2\x99\xFEb\x01\x9E\xFEb\x01\x9E\x99\x01N\x9A\x01\x9F\x00\x00\x03\x00\xAA\xFE\xD3\x04m\x06\x14\x00!\x00(\x00/\x00\xD5@U\"\x02\n\x0B\n'\x01&(\x02\x0B\x0B\n\x1D\x01\x1E\x1C\x02/)/\x1B\x02))/B\x13\x11\x10\"\n\x1B)\x04\x17\x06\t*!\x05\x02\x17\x86\x16\x06\x86\x05\x11#\x1A\x8A\x16\x89\x10\x00*\x8A\x05\x89\x02-\x08\x16\n\x1E\x07)\x1A\x12\x03\x00\t\"\x10\t\x03\x01\x07&\x08\r\x05\x060\x10\xFC<\xEC\xF4\x17<\xFC\x17<\xF4\xE4\xEC1\x00/\xE4\xEC\xC4\xD4\xE4\xEC2\xC4\x10\xEE\x10\xEE\x11\x129\x119\x11\x12\x179\x11\x1290KSX\x07\x10\x04\xED\x07\x10\x0E\xED\x11\x179\x07\x10\x0E\xED\x11\x179\x07\x10\x04\xEDY\"\x01K\xB0\tTX\xBD\x000\x00@\x00\x01\x000\x000\xFF\xC08\x1178Y\x01K\xB0\x0CTK\xB0\x10T[K\xB0\x0FT[X\xBD\x000\xFF\xC0\x00\x01\x000\x000\x00@8\x1178Y\x01#\x03.\x01'5\x1E\x01\x17\x11.\x01546753\x15\x1E\x01\x17\x15.\x01'\x11\x1E\x01\x15\x14\x06\x07\x03\x11\x0E\x01\x15\x14\x16\x17\x11>\x0154&\x02\xB4d\x01i\xD2jf\xD1o\xDD\xC9\xDA\xCCd]\xAESS\xAF\\\xE3\xD6\xE3\xD6dtzq\xE1\x7F\x81{\xFE\xD3\x01-\x02--\xB4@A\x01\x01\xC8$\xAC\x96\xA3\xBC\x0E\xEB\xE8\x04\x1F\x1B\xAF*.\x04\xFEU#\xB4\x9C\xA9\xC3\x0F\x03\x00\x01\x9A\rjXV`\xD5\xFEO\x11nZXh\x00\x00\x05\x00q\xFF\xE3\x07)\x05\xF0\x00\x0B\x00\x17\x00#\x00'\x003\x00\x95@6$\x0F%&%&\x0F'$'B\x00\x92\x0C\x1E\x92.\x8D\x18\x92$\x06\x92\x0C\x8D&\x12\x8C($\x914'!\x1B%\t\x03\r\x15\x0E\t\r\x0F!\r+\x0E\x1B\r\x0F1\x0B4\x10\xFC\xC4\xEC\xF4\xEC\x10\xEE\xF6\xEE\x119\x11\x1291\x00\x10\xE42\xF4<\xE4\xEC\x10\xEE\xF6\xEE\x10\xEE0KSX\x07\x10\x05\xED\x07\x10\x05\xEDY\"\x01K\xB0\tTK\xB0\x0BT[K\xB0\x0CT[K\xB0\x14T[K\xB0\x0ET[K\xB0\rT[X\xBD\x004\x00@\x00\x01\x004\x004\xFF\xC08\x1178Y\x01\"\x06\x15\x14\x1632654&'2\x16\x15\x14\x06#\"&546\x01\"\x06\x15\x14\x1632654&%3\x01#\x132\x16\x15\x14\x06#\"&546\x05\xD1WccWUccU\x9E\xBA\xBB\x9D\xA0\xBA\xBB\xFC\x97VcbWWcd\x031\xA0\xFCZ\xA0\x1F\x9E\xBC\xBB\x9F\x9F\xB9\xBA\x02\x91\x94\x84\x82\x95\x95\x82\x83\x95\x7F\xDC\xBB\xBB\xDB\xDB\xBB\xBC\xDB\x02a\x95\x82\x84\x94\x94\x84\x81\x96\x7F\xF9\xF3\x06\r\xDB\xBB\xBD\xDA\xDB\xBC\xBA\xDC\x00\x00\x02\x00\x81\xFF\xE3\x05\xFE\x05\xF0\x00\t\x000\x01\xCD@\x96\r\x01\x0E\x0C\x86\x11\x12\x11\x0B\x86\n\x0B\x12\x12\x11\t\x86\x00\t\x15\x16\x15\x07\x01\x06\x08\x86\x16\x16\x15\x02\x01\x03\x01\x86\x1D\x1E\x1D\x00\x86\t\x00\x1E\x1E\x1D \x1F\x02!\x1E\x11\n\x13\n\x17\x16\x15\x03\x18\x14\x11\x13\n\x07\x08\x02\x06\t\x11\x13\x13\n\x02\x01\x02\x03\x00\x11\n\x13\n\x17\x16\x02\x18\x15\x11\x13\n\x14\x11\x13\x13\nB\x12\x0B\t\x03\x06\x00\n\x1E\x03(\x15\x0E\x06('\x06\x95\x18+\x95'\x94$\x91\x18\x8C\x0E\x13\n.\x0B\x0E\t\x00.\x12\x15'\x0E\x1E\x03.\x12'!\x0E\x11\x0F\x13!\x03\x12\x1B\x101\x10\xFC\xEC\xC4\xD4\xD4\xEC\x10\xC6\xEE\x119\x11\x1299\x1199\x119\x1191\x00/\xC6\xE4\xF6\xE6\xEE\x10\xEE\x10\xC6\x11\x129\x11\x179\x11\x1790KSX\x07\x10\x05\xED\x07\x05\xED\x11\x179\x07\x10\x05\xED\x11\x179\x07\x10\x05\xED\x11\x179\x07\x05\xED\x11\x179\x07\x10\x05\xED\x11\x179\x07\x10\x08\xED\x07\x10\x0E\xED\x11\x179\x07\x10\x0E\xED\x11\x179\x07\x10\x08\xED\x07\x10\x08\xED\x07\x10\x0E\xED\x11\x179Y\"\xB2\x0F2\x01\x01]@\xB2\x07\x0B\x05\"\t)\x1C\x00\x1C\x01\x1F\x02\x17\x0B*\x00*\x01&\x12:\x004\x12D\x0B^\x00Y\x01Z\nU\x12Z\x1AZ\x1FY0g\x1E{\x00\x9B\x00\x9A\x01\x99\x02\x97\x08\x95\x0B\x93\x15\x95\x16\x95\"\x99-\x1F\t\x0B\t\x0C\x08\x11\x0C'\x0C(\x18\x02\x1B\t\x19\x0B\x19\x0C\x19\x11\x1C\x14\x1C\x15\x16\x1D\x1F2'\x00'\x01)\t#\x12*\x13*\x14(\x15/2;\t4\x129\x13?2J\tL\x14K\x15F\x19O2V\x01Z\tY\x0CU\x12Y\x13\\\x1F_2j\x0Ci\x11`2u\x01y\x0Cz\x11\x93\x00\x93\x01\x97\x02\x95\x05\x9C\x07\x9C\x08\x9F\x08\x9A\t\x9B\x0B\x9A\x0C\x902\xA02\xB029]\x00]\x01\x0E\x01\x15\x14\x163267\t\x01>\x0173\x06\x02\x07\x01#'\x0E\x01#\"\x005467.\x0154632\x16\x17\x15.\x01#\"\x06\x15\x14\x16\x01\xF2[U\xD4\xA0_\xA6I\xFE{\x01\xFC;B\x06\xBA\x0Ch]\x01\x17\xFC\x8Fh\xE4\x83\xF1\xFE\xCE\x86\x8602\xDE\xB8S\xA5UW\x9EDi\x83;\x03#Q\xA1X\x92\xC2?@\x02\x8F\xFD\xF8Y\xCBr\x84\xFE\xFE~\xFE\xE3\x93YW\x01\x13\xD7\x80\xE1c?}<\xA2\xC5$$\xB6/1oX3g\x00\x01\x00\xC5\x03\xAA\x01o\x05\xD5\x00\x03\x00B@\n\x01\x84\x00\x81\x04\x00\x05\x02\x04\x04\x10\xFC\xEC1\x00\x10\xF4\xEC0\x01K\xB0\x12TK\xB0\x13T[X\xBD\x00\x04\x00@\x00\x01\x00\x04\x00\x04\xFF\xC08\x1178Y@\r@\x05P\x05`\x05p\x05\x90\x05\xA0\x05\x06]\x01\x11#\x11\x01o\xAA\x05\xD5\xFD\xD5\x02+\x00\x00\x01\x00\xB0\xFE\xF2\x02{\x06\x12\x00\r\x00O@\x0F\x06\x98\x00\x97\x0E\r\x07\x00\x03\x12\x06\x00\x13\n\x0E\x10\xDC\xE42\xEC\x11991\x00\x10\xFC\xEC0\x01K\xB0\x13TX\xBD\x00\x0E\x00@\x00\x01\x00\x0E\x00\x0E\xFF\xC08\x1178Y\x01K\xB0\x0FTX\xBD\x00\x0E\xFF\xC0\x00\x01\x00\x0E\x00\x0E\x00@8\x1178Y\x01\x06\x02\x15\x14\x12\x17#&\x0254\x127\x02{\x86\x82\x83\x85\xA0\x96\x95\x94\x97\x06\x12\xE6\xFE>\xE7\xE7\xFE;\xE5\xEB\x01\xC6\xE0\xDF\x01\xC4\xEC\x00\x01\x00\xA4\xFE\xF2\x02o\x06\x12\x00\r\x00\x1F@\x0F\x07\x98\x00\x97\x0E\x07\x01\x00\x0B\x12\x04\x13\x08\x00\x0E\x10\xDC<\xF4\xEC\x11991\x00\x10\xFC\xEC0\x133\x16\x12\x15\x14\x02\x07#6\x1254\x02\xA4\xA0\x96\x95\x95\x96\xA0\x85\x83\x83\x06\x12\xEC\xFE<\xDF\xE0\xFE:\xEB\xE5\x01\xC5\xE7\xE7\x01\xC2\x00\x01\x00=\x02J\x03\xC3\x05\xF0\x00\x11\x00N@,\x10\r\x0B\x00\x04\x0C\t\x07\x04\x02\x04\x08\x03\x99\x05\x11\x0C\x99\n\x01\x0E\x91\x12\x08\x0C\n\x03\t\x06\x11\x03\x01\x03\x02\x00\x14\x0F\x04\x0B\t\x14\r\x06\x12\x10\xD4<\xE42\xDC<\xE42\x179\x11\x12\x1791\x00\x10\xF4\xD4<\xEC2\xC4\xEC2\x179\x12\x1790\x01\x05\x05\x07%\x11#\x11\x05'%%7\x05\x113\x11%\x03\xC3\xFE\x99\x01g:\xFE\xB0r\xFE\xB0:\x01g\xFE\x99:\x01Pr\x01P\x04\xDF\xC2\xC3b\xCB\xFE\x87\x01y\xCBb\xC3\xC2c\xCB\x01y\xFE\x87\xCB\x00\x01\x00\xD9\x00\x00\x05\xDB\x05\x04\x00\x0B\x00#@\x11\x00\t\x01\x9C\x07\x03\x05\x02\x15\x04\x00\x17\n\x06\x15\x08\x0C\x10\xDC\xFC<\xFC<\xEC1\x00/\xD4<\xFC<\xC40\x01\x11!\x15!\x11#\x11!5!\x11\x03\xAE\x02-\xFD\xD3\xA8\xFD\xD3\x02-\x05\x04\xFD\xD3\xAA\xFD\xD3\x02-\xAA\x02-\x00\x01\x00\x9E\xFF\x12\x01\xC3\x00\xFE\x00\x05\x00\x19@\x0C\x03\x9E\x00\x83\x06\x03\x04\x01\x19\x00\x18\x06\x10\xFC\xEC\xD4\xCC1\x00\x10\xFC\xEC073\x15\x03#\x13\xF0\xD3\xA4\x81R\xFE\xAC\xFE\xC0\x01@\x00\x01\x00d\x01\xDF\x02\x7F\x02\x83\x00\x03\x00\x11\xB6\x00\x9C\x02\x04\x01\x00\x04\x10\xDC\xCC1\x00\x10\xD4\xEC0\x13!\x15!d\x02\x1B\xFD\xE5\x02\x83\xA4\x00\x00\x01\x00\xDB\x00\x00\x01\xAE\x00\xFE\x00\x03\x00\x11\xB7\x00\x83\x02\x01\x19\x00\x18\x04\x10\xFC\xEC1\x00/\xEC073\x15#\xDB\xD3\xD3\xFE\xFE\x00\x01\x00\x00\xFFB\x02\xB2\x05\xD5\x00\x03\x00-@\x14\x00\x1A\x01\x02\x01\x02\x1A\x03\x00\x03B\x02\x9F\x00\x81\x04\x02\x00\x01\x03/\xC4991\x00\x10\xF4\xEC0KSX\x07\x10\x05\xED\x07\x10\x05\xEDY\"\x013\x01#\x02\x08\xAA\xFD\xF8\xAA\x05\xD5\xF9m\x00\x00\x02\x00\x87\xFF\xE3\x04\x8F\x05\xF0\x00\x0B\x00\x17\x00#@\x13\x06\xA0\x12\x00\xA0\x0C\x91\x12\x8C\x18\t\x1C\x0F\x1E\x03\x1C\x15\x1B\x18\x10\xFC\xEC\xF4\xEC1\x00\x10\xE4\xF4\xEC\x10\xEE0\x01\"\x02\x11\x10\x1232\x12\x11\x10\x02'2\x00\x11\x10\x00#\"\x00\x11\x10\x00\x02\x8B\x9C\x9D\x9D\x9C\x9D\x9D\x9D\x9D\xFB\x01\t\xFE\xF7\xFB\xFB\xFE\xF7\x01\t\x05P\xFE\xCD\xFE\xCC\xFE\xCD\xFE\xCD\x013\x013\x014\x013\xA0\xFEs\xFE\x86\xFE\x87\xFEs\x01\x8D\x01y\x01z\x01\x8D\x00\x00\x01\x00\xE1\x00\x00\x04Z\x05\xD5\x00\n\x00K@\x15B\x03\xA0\x04\x02\xA0\x05\x81\x07\x00\xA0\t\x08\x1F\x06\x1C\x03\x00\x1F\x01\x0B\x10\xD4\xEC\xC4\xFC\xEC1\x00/\xEC2\xF4\xEC\xD4\xEC0KSXY\"\x01K\xB0\x0FTX\xBD\x00\x0B\xFF\xC0\x00\x01\x00\x0B\x00\x0B\x00@8\x1178Y\xB4\x0F\x03\x0F\x04\x02]7!\x11\x055%3\x11!\x15!\xFE\x01J\xFE\x99\x01e\xCA\x01J\xFC\xA4\xAA\x04sH\xB8H\xFA\xD5\xAA\x00\x00\x01\x00\x96\x00\x00\x04J\x05\xF0\x00\x1C\x00\xA5@'\x19\x1A\x1B\x03\x18\x1C\x11\x05\x04\x00\x11\x05\x05\x04B\x10\xA1\x11\x94\r\xA0\x14\x91\x04\x00\xA0\x02\x00\x10\n\x02\x01\n\x1C\x17\x10\x03\x06\x1D\x10\xFC\xC4\xD4\xEC\xC0\xC0\x11\x1291\x00/\xEC2\xF4\xEC\xF4\xEC0KSX\x07\x10\x05\xED\x07\x05\xED\x11\x179Y\"\x01K\xB0\x15TK\xB0\x16T[K\xB0\x14T[X\xBD\x00\x1D\x00@\x00\x01\x00\x1D\x00\x1D\xFF\xC08\x1178Y@2U\x04V\x05V\x07z\x04z\x05v\x1B\x87\x19\x07\x04\x00\x04\x19\x04\x1A\x04\x1B\x05\x1Ct\x00v\x06u\x1As\x1Bt\x1C\x82\x00\x86\x19\x82\x1A\x82\x1B\x82\x1C\xA8\x00\xA8\x1B\x11]\x00]%!\x15!56\x007>\x0154&#\"\x06\x075>\x0132\x04\x15\x14\x06\x07\x06\x00\x01\x89\x02\xC1\xFCLs\x01\x8D3aM\xA7\x86_\xD3xz\xD4X\xE8\x01\x14E[\x19\xFE\xF4\xAA\xAA\xAAw\x01\x91:m\x97Iw\x96BC\xCC12\xE8\xC2\\\xA5p\x1D\xFE\xEB\x00\x00\x01\x00\x9C\xFF\xE3\x04s\x05\xF0\x00(\x00{@.\x00\x15\x13\n\x86\t\x1F\x86 \x13\xA0\x15\r\xA0\t\x93\x06\x1C\xA0 \x93#\x91\x06\x8C\x15\xA3)\x16\x1C\x13\x00\x03\x14\x19\x1C& \x10\x1C\x03\x14\x1F\t\x06)\x10\xFC\xC4\xC4\xD4\xEC\xF4\xEC\x11\x17991\x00\x10\xEC\xE4\xF4\xE4\xEC\x10\xE6\xEE\x10\xEE\x10\xEE\x10\xEE\x11\x1290\x01K\xB0\x16TK\xB0\x14T[X\xBD\x00)\x00@\x00\x01\x00)\x00)\xFF\xC08\x1178Y@\td\x1Ea\x1Fa d!\x04\x00]\x01\x1E\x01\x15\x14\x04!\"&'5\x1E\x0132654&+\x01532654&#\"\x06\x075>\x0132\x04\x15\x14\x06\x03?\x91\xA3\xFE\xD0\xFE\xE8^\xC7jT\xC8m\xBE\xC7\xB9\xA5\xAE\xB6\x95\x9E\xA3\x98S\xBErs\xC9Y\xE6\x01\x0C\x8E\x03%\x1F\xC4\x90\xDD\xF2%%\xC312\x96\x8F\x84\x95\xA6wps{$&\xB4  \xD1\xB2|\xAB\x00\x02\x00d\x00\x00\x04\xA4\x05\xD5\x00\x02\x00\r\x00\x8C@\x1D\x01\r\x03\r\x00\x03\x03\rB\x00\x03\x0B\x07\xA0\x05\x01\x03\x81\t\x01\x0C\n\x00\x1C\x06\x08\x04\x0C\x0E\x10\xDC\xD4<\xC4\xEC2\x1191\x00/\xE4\xD4<\xEC2\x1290KSX\x07\x10\x04\xC9\x07\x10\x05\xC9Y\"\x01K\xB0\x0BTK\xB0\rT[X\xBD\x00\x0E\x00@\x00\x01\x00\x0E\x00\x0E\xFF\xC08\x1178Y@*\x0B\x00*\x00H\x00Y\x00i\x00w\x00\x8A\x00\x07\x16\x01+\x00&\x01+\x036\x01N\x01O\x0CO\rV\x01f\x01u\x01z\x03\x85\x01\r]\x00]\t\x01!\x033\x113\x15#\x11#\x11!5\x03\x06\xFE\x02\x01\xFE5\xFE\xD5\xD5\xC9\xFD^\x05%\xFC\xE3\x03\xCD\xFC3\xA8\xFE\xA0\x01`\xC3\x00\x00\x01\x00\x9E\xFF\xE3\x04d\x05\xD5\x00\x1D\x00u@#\x04\x1A\x07\x11\x86\x10\x1D\x1A\xA0\x07\x14\xA0\x10\x89\r\x02\xA0\x00\x81\r\x8C\x07\xA4\x1E\x17\x1C\x01\n\x03\x1C\x00\n\x10\x06\x1E\x10\xFC\xC4\xD4\xEC\x10\xC4\xEE1\x00\x10\xE4\xE4\xF4\xEC\x10\xE6\xEE\x10\xFE\xC4\x10\xEE\x11\x1290\x01K\xB0\x16TK\xB0\x14T[X\xBD\x00\x1E\x00@\x00\x01\x00\x1E\x00\x1E\xFF\xC08\x1178Y\x01K\xB0\x0FTX\xBD\x00\x1E\xFF\xC0\x00\x01\x00\x1E\x00\x1E\x00@8\x1178Y\x13!\x15!\x11>\x0132\x00\x15\x14\x00!\"&'5\x1E\x0132654&#\"\x06\x07\xDD\x03\x19\xFD\xA0,X,\xFA\x01$\xFE\xD4\xFE\xEF^\xC3hZ\xC0k\xAD\xCA\xCA\xADQ\xA1T\x05\xD5\xAA\xFE\x92\x0F\x0F\xFE\xEE\xEA\xF1\xFE\xF5  \xCB10\xB6\x9C\x9C\xB6$&\x00\x00\x02\x00\x8F\xFF\xE3\x04\x96\x05\xF0\x00\x0B\x00$\x00X@$\x13\x06\x00\r\x86\x0C\x00\xA0\x16\x06\xA0\x1C\x16\xA5\x10\xA0\x0C\x89\"\x91\x1C\x8C%\x0C\"\t\x1C\x19\x1E\x13\x1C\x03!\x1F\x1B%\x10\xFC\xEC\xEC\xF4\xEC\xE41\x00\x10\xE4\xF4\xE4\xFC\xE4\x10\xEE\x10\xEE\x10\xEE\x11\x1290@\x14\xCB\x00\xCB\x01\xCD\x02\xCD\x03\xCD\x04\xCB\x05\xCB\x06\x07\xA4\x1E\xB2\x1E\x02]\x01]\x01\"\x06\x15\x14\x1632654&\x01\x15.\x01#\"\x02\x03>\x0132\x00\x15\x14\x00# \x00\x11\x10\x00!2\x16\x02\xA4\x88\x9F\x9F\x88\x88\x9F\x9F\x01\tL\x9BL\xC8\xD3\x0F;\xB2k\xE1\x01\x05\xFE\xF0\xE2\xFE\xFD\xFE\xEE\x01P\x01\x1BL\x9B\x03;\xBA\xA2\xA1\xBB\xBB\xA1\xA2\xBA\x02y\xB8$&\xFE\xF2\xFE\xEFW]\xFE\xEF\xEB\xE6\xFE\xEA\x01\x8D\x01y\x01b\x01\xA5\x1E\x00\x00\x01\x00\xA8\x00\x00\x04h\x05\xD5\x00\x06\x00c@\x18\x05\x11\x02\x03\x02\x03\x11\x04\x05\x04B\x05\xA0\x00\x81\x03\x05\x03\x01\x04\x01\x00\x06\x07\x10\xFC\xCC\xC4\x11991\x00/\xF4\xEC0KSX\x07\x10\x05\xED\x07\x10\x05\xEDY\"\x01K\xB0\x16TX\xBD\x00\x07\x00@\x00\x01\x00\x07\x00\x07\xFF\xC08\x1178Y@\x12X\x02\x01\x06\x03\x1A\x059\x05H\x05g\x03\xB0\x00\xB0\x06\x07]\x00]\x13!\x15\x01#\x01!\xA8\x03\xC0\xFD\xE2\xD3\x01\xFE\xFD3\x05\xD5V\xFA\x81\x05+\x00\x00\x03\x00\x8B\xFF\xE3\x04\x8B\x05\xF0\x00\x0B\x00#\x00/\x00C@%\x18\x0C\x00\xA0'\x06\xA0\x1E-\xA0\x12\x91\x1E\x8C'\xA30\x18\x0C$*\x1C\x15$\x1C\x0F\t\x1C\x15\x1B\x1E\x03\x1C\x0F!\x1B0\x10\xFC\xC4\xEC\xF4\xC4\xEC\x10\xEE\x10\xEE\x11991\x00\x10\xEC\xE4\xF4\xEC\x10\xEE\x10\xEE990\x01\"\x06\x15\x14\x1632654&%&&54632\x16\x15\x14\x06\x07\x16\x16\x15\x14\x04#\"$546\x13\x14\x1632654&#\"\x06\x02\x8B\x90\xA5\xA5\x90\x90\xA6\xA5\xFE\xA5\x82\x91\xFF\xDE\xDF\xFE\x91\x81\x92\xA3\xFE\xF7\xF7\xF7\xFE\xF7\xA4H\x91\x83\x82\x93\x93\x82\x83\x91\x02\xC5\x9A\x87\x87\x9A\x9B\x86\x87\x9AV \xB2\x80\xB3\xD0\xD0\xB3\x80\xB2 \"\xC6\x8F\xD9\xE8\xE8\xD9\x8F\xC6\x01at\x82\x82tt\x82\x82\x00\x00\x02\x00\x81\xFF\xE3\x04\x87\x05\xF0\x00\x18\x00$\x00X@#\x07\x1F\x19\x01\x86\x00\x19\xA0\n\xA5\x04\xA0\x00\x89\x16\x1F\xA0\x10\x91\x16\x8C%\x07\x1C\x1C!\x13\x1E\x00\"\"\x1C\r\x1B%\x10\xFC\xEC\xE4\xF4\xEC\xEC1\x00\x10\xE4\xF4\xEC\x10\xE6\xFE\xF5\xEE\x10\xEE\x11\x1290@\x16\xC4\x19\xC2\x1A\xC0\x1B\xC0\x1C\xC0\x1D\xC2\x1E\xC4\x1F\x07\xAA\x12\xBC\x12\xE9\x12\x03]\x01]75\x1E\x0132\x12\x13\x0E\x01#\"\x0054\x003 \x00\x11\x10\x00!\"&\x012654&#\"\x06\x15\x14\x16\xE1L\x9CK\xC8\xD3\x0F:\xB2l\xE0\xFE\xFB\x01\x10\xE2\x01\x03\x01\x11\xFE\xB1\xFE\xE5L\x9C\x01>\x88\x9F\x9F\x88\x88\x9F\x9F\x1F\xB8$&\x01\r\x01\x12V\\\x01\x0F\xEB\xE6\x01\x16\xFEs\xFE\x86\xFE\x9F\xFE[\x1E\x02\x97\xBA\xA2\xA1\xBB\xBB\xA1\xA2\xBA\x00\x00\x02\x00\xF0\x00\x00\x01\xC3\x04#\x00\x03\x00\x07\x00\x1C@\x0E\x06\x83\x04\xA6\x00\x83\x02\x05\x01\x03\x04\x00\x18\x08\x10\xFC<\xEC21\x00/\xEC\xF4\xEC073\x15#\x113\x15#\xF0\xD3\xD3\xD3\xD3\xFE\xFE\x04#\xFE\x00\x02\x00\x9E\xFF\x12\x01\xC3\x04#\x00\x03\x00\t\x00%@\x13\x02\x83\x00\x07\x9E\x04\x83\x00\xA6\n\x07\x08\x05\x01\x19\x04\x00\x18\n\x10\xFC<\xEC2\xD4\xCC1\x00\x10\xE4\xFC\xEC\x10\xEE0\x133\x15#\x113\x15\x03#\x13\xF0\xD3\xD3\xD3\xA4\x81R\x04#\xFE\xFD\xD9\xAC\xFE\xC0\x01@\x00\x01\x00\xD9\x00^\x05\xDB\x04\xA6\x00\x06\x00M@*\x02\x9C\x03\x04\x03\x01\x9C\x00\x01\x04\x04\x03\x01\x9C\x02\x01\x05\x06\x05\x00\x9C\x06\x05B\x05\x04\x02\x01\x00\x05\x03\xA8\x06\xA7\x07\x01\x02\x00$\x04#\x07\x10\xFC\xEC291\x00\x10\xF4\xEC\x1790KSX\x07\x04\xED\x07\x10\x08\xED\x07\x10\x08\xED\x07\x10\x04\xEDY\"\t\x02\x15\x015\x01\x05\xDB\xFB\xF8\x04\x08\xFA\xFE\x05\x02\x03\xF0\xFE\x91\xFE\x93\xB6\x01\xD1\xA6\x01\xD1\x00\x00\x02\x00\xD9\x01`\x05\xDB\x03\xA2\x00\x03\x00\x07\x00\x1C@\r\x00\x9C\x02\x06\x9C\x04\x08\x05\x01\x04\x00#\x08\x10\xFC<\xC421\x00\x10\xD4\xEC\xD4\xEC0\x13!\x15!\x15!\x15!\xD9\x05\x02\xFA\xFE\x05\x02\xFA\xFE\x03\xA2\xA8\xF0\xAA\x00\x01\x00\xD9\x00^\x05\xDB\x04\xA6\x00\x06\x00O@+\x06\x9C\x00\x06\x03\x04\x03\x05\x9C\x04\x04\x03\x00\x9C\x01\x02\x01\x06\x9C\x05\x06\x02\x02\x01B\x06\x05\x03\x02\x00\x05\x04\xA8\x01\xA7\x07\x06\x02$\x04\x00#\x07\x10\xFC<\xEC91\x00\x10\xF4\xEC\x1790KSX\x07\x10\x08\xED\x07\x10\x04\xED\x07\x10\x04\xED\x07\x10\x08\xEDY\"\x135\x01\x15\x015\x01\xD9\x05\x02\xFA\xFE\x04\x06\x03\xF0\xB6\xFE/\xA6\xFE/\xB6\x01m\x00\x02\x00\x93\x00\x00\x03\xB0\x05\xF0\x00\x03\x00$\x00p@+$\x1E\t\x06\x04\n\x1D\x13\x04\x00\x14\x86\x13\x88\x10\x95\x17\x91\x00\x83\x02\x1D\x1A\r\t\x05\x04\n\x1E\x01\r\x1C\x1A\x04\x1C\x05\x01\x03\x00&\x1A\x13%\x10\xDC\xC4\xFC\xEC\xD4\xEC\x10\xEE\x1199\x11\x129\x11\x1291\x00/\xEE\xF6\xFE\xF4\xEE\x10\xCD\x1199\x1790\x01K\xB0\x0CTX\xBD\x00%\x00@\x00\x01\x00%\x00%\xFF\xC08\x1178Y\xB6y\tz\nz \x03]%3\x15#\x13#546?\x01>\x0154&#\"\x06\x075>\x0132\x16\x15\x14\x06\x0F\x01\x0E\x01\x07\x0E\x01\x15\x01\x87\xCB\xCB\xC5\xBF8ZZ93\x83lO\xB3a^\xC1g\xB8\xDFHZX/'\x08\x06\x06\xFE\xFE\x01\x91\x9Ae\x82VY5^1YnFC\xBC98\xC2\x9FL\x89VV/5\x19\x15<4\x00\x00\x02\x00\x87\xFE\x9C\x07q\x05\xA2\x00\x0B\x00L\x00\x95@2\x18\x0C\x03\t\xA9\x19\x15\x1B\x03\xA9L\x0F43\x0F\xAC0\xA97\x15\xAC$\xA97CM34\x1E\x1A\x00(\x12\x06\x18\x0C(\x1A+\x1E(I\x12+*(I,=M\x10\xDC\xEC\xFC\xEC\x10\xFE\xFD\xFE<\xC6\x10\xEE\x11\x12991\x00\x10\xD4\xC4\xFC\xEC\x10\xFE\xED\xD4\xC6\x10\xC5\xEE2\x10\xC4\xEE\x11990\x00K\xB0\tTK\xB0\x0CT[K\xB0\x10T[K\xB0\x13T[K\xB0\x14T[X\xBD\x00M\xFF\xC0\x00\x01\x00M\x00M\x00@8\x1178Y@\t\x0FN\x1FN/N?N\x04\x01]\x01\x14\x1632654&#\"\x06\x01\x0E\x01#\"&54632\x16\x1753\x11>\x0154&'&$#\"\x06\x07\x06\x02\x15\x14\x12\x17\x16\x043267\x17\x06\x04#\"$'&\x0254\x1276$32\x04\x17\x1E\x01\x15\x10\x00\x05\x02\xFA\x8E|{\x8D\x90zy\x8F\x02!<\x9Bg\xAC\xD7\xD8\xABg\x9C;\x8F\x92\xA5?@h\xFE\xD5\xB0{\xE2`\x9D\xB1smi\x01\x14\x9D\x81\xF9hZ}\xFE\xD9\x98\xB9\xFE\xB8\x80\x80\x86\x88~\x81\x01R\xBD\xD4\x01k{KO\xFE\xC2\xFE\xE8\x02\x19\x8F\xA3\xA4\x8E\x8C\xA5\xA4\xFEHMI\xF9\xC8\xC8\xFAKL\x83\xFD \x16\xDF\xB1k\xBCP\x83\x8BA@f\xFE\xB5\xC1\x9F\xFE\xEAjhmWQoag\x83}}\x01I\xBD\xB6\x01J}\x7F\x87\xAE\xA0b\xE6{\xFE\xF9\xFE\xD0\x06\x00\x00\x02\x00\x10\x00\x00\x05h\x05\xD5\x00\x02\x00\n\x00\xBA@A\x00\x11\x01\x00\x04\x05\x04\x02\x11\x05\x05\x04\x01\x11\n\x03\n\x00\x11\x02\x00\x03\x03\n\x07\x11\x05\x04\x06\x11\x05\x05\x04\t\x11\x03\n\x08\x11\n\x03\nB\x00\x03\x07\x95\x01\x03\x81\t\x05\t\x08\x07\x06\x04\x03\x02\x01\x00\t\x05\n\x0B\x10\xD4\xC4\x1791\x00/<\xE4\xD4\xEC\x1290KSX\x07\x10\x05\xED\x07\x05\xED\x07\x10\x05\xED\x07\x05\xED\x07\x10\x08\xED\x07\x10\x05\xED\x07\x10\x05\xED\x07\x10\x08\xEDY\"\xB2 \x0C\x01\x01]@:\x0F\x00X\x00v\x00p\x00\x8C\x00\x05\x07\x01\x08\x02\x06\x03\t\x04\x16\x01\x19\x02V\x01X\x02P\x0Cg\x01h\x02x\x01v\x02|\x03r\x04w\x07x\x08\x87\x01\x88\x02\x80\x0C\x98\x02\x99\x03\x96\x04\x17]\x00]\t\x01!\x013\x01#\x03!\x03#\x02\xBC\xFE\xEE\x02%\xFE{\xE5\x029\xD2\x88\xFD_\x88\xD5\x05\x0E\xFD\x19\x03\xAE\xFA+\x01\x7F\xFE\x81\x00\x03\x00\xC9\x00\x00\x04\xEC\x05\xD5\x00\x08\x00\x11\x00 \x00C@#\x19\x00\x95\n\t\x95\x12\x81\x01\x95\n\xAD\x1F\x11\x0B\x08\x02\x13\x19\x1F\x05\x00\x0E\x1C\x16\x05\x19\x1C.\t\x00\x1C\x12\x04!\x10\xFC\xEC2\xFC\xEC\xD4\xEC\x11\x179991\x00/\xEC\xEC\xF4\xEC\x10\xEE90\xB2\x0F\"\x01\x01]\x01\x11!2654&#\x01\x11!2654&#%!2\x16\x15\x14\x06\x07\x1E\x01\x15\x14\x04#!\x01\x93\x01D\xA3\x9D\x9D\xA3\xFE\xBC\x01+\x94\x91\x91\x94\xFE\x0B\x02\x04\xE7\xFA\x80|\x95\xA5\xFE\xF0\xFB\xFD\xE8\x02\xC9\xFD\xDD\x87\x8B\x8C\x85\x02f\xFE>orqp\xA6\xC0\xB1\x89\xA2\x14 \xCB\x98\xC8\xDA\x00\x01\x00s\xFF\xE3\x05'\x05\xF0\x00\x19\x006@\x1A\r\xA1\x0E\xAE\n\x95\x11\x01\xA1\x00\xAE\x04\x95\x17\x91\x11\x8C\x1A\x07\x19\r\x000\x14\x10\x1A\x10\xFC\xEC2\xEC1\x00\x10\xE4\xF4\xEC\xF4\xEC\x10\xEE\xF6\xEE0\xB4\x0F\x1B\x1F\x1B\x02\x01]\x01\x15.\x01# \x00\x11\x10\x00!267\x15\x0E\x01# \x00\x11\x10\x00!2\x16\x05'f\xE7\x82\xFF\x00\xFE\xF0\x01\x10\x01\x00\x82\xE7fj\xED\x84\xFE\xAD\xFEz\x01\x86\x01S\x86\xED\x05b\xD5_^\xFE\xC7\xFE\xD8\xFE\xD9\xFE\xC7^_\xD3HH\x01\x9F\x01g\x01h\x01\x9FG\x00\x02\x00\xC9\x00\x00\x05\xB0\x05\xD5\x00\x08\x00\x11\x00.@\x15\x00\x95\t\x81\x01\x95\x10\x08\x02\x10\n\x00\x05\x19\r2\x00\x1C\t\x04\x12\x10\xFC\xEC\xF4\xEC\x1199991\x00/\xEC\xF4\xEC0\xB2`\x13\x01\x01]\x01\x113 \x00\x11\x10\x00!%! \x00\x11\x10\x00)\x01\x01\x93\xF4\x015\x01\x1F\xFE\xE1\xFE\xCB\xFEB\x01\x9F\x01\xB2\x01\x96\xFEh\xFEP\xFEa\x05/\xFBw\x01\x18\x01.\x01,\x01\x17\xA6\xFE\x97\xFE\x80\xFE~\xFE\x96\x00\x01\x00\xC9\x00\x00\x04\x8B\x05\xD5\x00\x0B\x00.@\x15\x06\x95\x04\x02\x95\x00\x81\x08\x95\x04\xAD\n\x05\x01\t\x07\x03\x1C\x00\x04\x0C\x10\xFC\xEC2\xD4\xC4\xC41\x00/\xEC\xEC\xF4\xEC\x10\xEE0\xB2\x1F\r\x01\x01]\x13!\x15!\x11!\x15!\x11!\x15!\xC9\x03\xB0\xFD\x1A\x02\xC7\xFD9\x02\xF8\xFC>\x05\xD5\xAA\xFEF\xAA\xFD\xE3\xAA\x00\x01\x00\xC9\x00\x00\x04#\x05\xD5\x00\t\x00)@\x12\x06\x95\x04\x02\x95\x00\x81\x04\xAD\x08\x05\x01\x07\x03\x1C\x00\x04\n\x10\xFC\xEC2\xD4\xC41\x00/\xEC\xF4\xEC\x10\xEE0\xB2\x0F\x0B\x01\x01]\x13!\x15!\x11!\x15!\x11#\xC9\x03Z\xFDp\x02P\xFD\xB0\xCA\x05\xD5\xAA\xFEH\xAA\xFD7\x00\x00\x01\x00s\xFF\xE3\x05\x8B\x05\xF0\x00\x1D\x009@ \x00\x05\x1B\x01\x95\x03\x1B\x95\x08\x12\xA1\x11\xAE\x15\x95\x0E\x91\x08\x8C\x1E\x02\x00\x1C\x114\x043\x18\x19\x0B\x10\x1E\x10\xFC\xEC\xFC\xE4\xFC\xC41\x00\x10\xE4\xF4\xEC\xF4\xEC\x10\xFE\xD4\xEE\x11990%\x11!5!\x11\x06\x04# \x00\x11\x10\x00!2\x04\x17\x15&&# \x00\x11\x10\x00!26\x04\xC3\xFE\xB6\x02\x12u\xFE\xE6\xA0\xFE\xA2\xFEu\x01\x8B\x01^\x92\x01\x07op\xFC\x8B\xFE\xEE\xFE\xED\x01\x13\x01\x12k\xA8\xD5\x01\x91\xA6\xFD\x7FSU\x01\x99\x01m\x01n\x01\x99HF\xD7_`\xFE\xCE\xFE\xD1\xFE\xD2\xFE\xCE%\x00\x01\x00\xC9\x00\x00\x05;\x05\xD5\x00\x0B\x00,@\x14\x08\x95\x02\xAD\x04\x00\x81\n\x06\x07\x03\x1C\x058\t\x01\x1C\x00\x04\x0C\x10\xFC\xEC2\xFC\xEC21\x00/<\xE42\xFC\xEC0\xB2P\r\x01\x01]\x133\x11!\x113\x11#\x11!\x11#\xC9\xCA\x02\xDE\xCA\xCA\xFD\"\xCA\x05\xD5\xFD\x9C\x02d\xFA+\x02\xC7\xFD9\x00\x00\x01\x00\xC9\x00\x00\x01\x93\x05\xD5\x00\x03\x009\xB7\x00\xAF\x02\x01\x1C\x00\x04\x04\x10\xFC\xEC1\x00/\xEC0\x01K\xB0\x10TX\xBD\x00\x04\xFF\xC0\x00\x01\x00\x04\x00\x04\x00@8\x1178Y@\r0\x05@\x05P\x05`\x05\x8F\x05\x9F\x05\x06]\x133\x11#\xC9\xCA\xCA\x05\xD5\xFA+\x00\x01\xFF\x96\xFEf\x01\x93\x05\xD5\x00\x0B\x00M@\x13\x0B\x02\x00\x07\x95\x05\xB0\x00\x81\x0C\x05\x08\x069\x01\x1C\x00\x04\x0C\x10\xFC\xEC\xE4991\x00\x10\xE4\xFC\xEC\x11990\x01K\xB0\x10TX\xBD\x00\x0C\xFF\xC0\x00\x01\x00\x0C\x00\x0C\x00@8\x1178Y@\r0\r@\rP\r`\r\x8F\r\x9F\r\x06]\x133\x11\x10\x06+\x0153265\xC9\xCA\xCD\xE3M?\x86n\x05\xD5\xFA\x93\xFE\xF2\xF4\xAA\x96\xC2\x00\x00\x01\x00\xC9\x00\x00\x05j\x05\xD5\x00\n\x00\xEF@(\x08\x11\x05\x06\x05\x07\x11\x06\x06\x05\x03\x11\x04\x05\x04\x02\x11\x05\x05\x04B\x08\x05\x02\x03\x03\x00\xAF\t\x06\x05\x01\x04\x06\x08\x01\x1C\x00\x04\x0B\x10\xFC\xEC2\xD4\xC4\x1191\x00/<\xEC2\x1790KSX\x07\x10\x04\xED\x07\x10\x05\xED\x07\x10\x05\xED\x07\x10\x04\xEDY\"\xB2\x08\x03\x01\x01]@\x92\x14\x02\x01\x04\x02\t\x08\x16\x02(\x05(\x087\x026\x054\x08G\x02F\x05C\x08U\x02g\x02v\x02w\x05\x83\x02\x88\x05\x8F\x08\x94\x02\x9B\x08\xE7\x02\x15\x06\x03\t\x05\t\x06\x1B\x03\x19\x07\x05\n\x03\n\x07\x18\x03(\x05+\x06*\x076\x046\x056\x065\x070\x0CA\x03@\x04E\x05@\x06@\x07@\x0Cb\x03`\x04h\x05g\x07w\x05p\x0C\x8B\x03\x8B\x05\x8E\x06\x8F\x07\x8F\x0C\x9A\x03\x9D\x06\x9D\x07\xB6\x03\xB5\x07\xC5\x03\xC5\x07\xD7\x03\xD6\x07\xE8\x03\xE9\x04\xE8\x05\xEA\x06\xF7\x03\xF8\x05\xF9\x06,]q\x00]q\x133\x11\x01!\t\x01!\x01\x11#\xC9\xCA\x02\x9E\x01\x04\xFD\x1B\x03\x1A\xFE\xF6\xFD3\xCA\x05\xD5\xFD\x89\x02w\xFDH\xFC\xE3\x02\xCF\xFD1\x00\x00\x01\x00\xC9\x00\x00\x04j\x05\xD5\x00\x05\x00%@\x0C\x02\x95\x00\x81\x04\x01\x1C\x03:\x00\x04\x06\x10\xFC\xEC\xEC1\x00/\xE4\xEC0@\t0\x07P\x07\x80\x03\x80\x04\x04\x01]\x133\x11!\x15!\xC9\xCA\x02\xD7\xFC_\x05\xD5\xFA\xD5\xAA\x00\x01\x00\xC9\x00\x00\x06\x1F\x05\xD5\x00\x0C\x00\xBF@4\x03\x11\x07\x08\x07\x02\x11\x01\x02\x08\x08\x07\x02\x11\x03\x02\t\n\t\x01\x11\n\n\tB\n\x07\x02\x03\x08\x03\x00\xAF\x08\x0B\x05\t\x08\x03\x02\x01\x05\n\x06\x1C\x04>\n\x1C\x00\x04\r\x10\xFC\xEC\xFC\xEC\x11\x1791\x00/<\xC4\xEC2\x11\x1790KSX\x07\x10\x05\xED\x07\x10\x08\xED\x07\x10\x08\xED\x07\x10\x05\xEDY\"\xB2p\x0E\x01\x01]@V\x03\x07\x0F\x08\x0F\t\x02\n\x15\x02\x14\x07\x13\n&\x02&\x07 \x07&\n \n4\x075\ni\x02|\x02{\x07y\n\x80\x02\x82\x07\x82\n\x90\x02\x16\x04\x01\x0B\x03\x13\x01\x1B\x03#\x01,\x03'\x08(\t4\x01<\x03V\x08Y\te\x08j\tv\x08y\t\x81\x01\x8D\x03\x95\x01\x9B\x03\x14]\x00]\x13!\t\x01!\x11#\x11\x01#\x01\x11#\xC9\x01-\x01}\x01\x7F\x01-\xC5\xFE\x7F\xCB\xFE\x7F\xC4\x05\xD5\xFC\x08\x03\xF8\xFA+\x05\x1F\xFC\x00\x04\x00\xFA\xE1\x00\x01\x00\xC9\x00\x00\x053\x05\xD5\x00\t\x00y@\x1E\x07\x11\x01\x02\x01\x02\x11\x06\x07\x06B\x07\x02\x03\x00\xAF\x08\x05\x06\x01\x07\x02\x1C\x046\x07\x1C\x00\x04\n\x10\xFC\xEC\xFC\xEC\x11991\x00/<\xEC2990KSX\x07\x10\x04\xED\x07\x10\x04\xEDY\"\xB2\x1F\x0B\x01\x01]@06\x028\x07H\x02G\x07i\x02f\x07\x80\x02\x07\x06\x01\t\x06\x15\x01\x1A\x06F\x01I\x06W\x01X\x06e\x01i\x06y\x06\x85\x01\x8A\x06\x95\x01\x9A\x06\x9F\x0B\x10]\x00]\x13!\x01\x113\x11!\x01\x11#\xC9\x01\x10\x02\x96\xC4\xFE\xF0\xFDj\xC4\x05\xD5\xFB\x1F\x04\xE1\xFA+\x04\xE1\xFB\x1F\x00\x02\x00s\xFF\xE3\x05\xD9\x05\xF0\x00\x0B\x00\x17\x00#@\x13\x06\x95\x12\x00\x95\x0C\x91\x12\x8C\x18\t\x19\x0F3\x03\x19\x15\x10\x18\x10\xFC\xEC\xFC\xEC1\x00\x10\xE4\xF4\xEC\x10\xEE0\x01\"\x00\x11\x10\x0032\x00\x11\x10\x00' \x00\x11\x10\x00! \x00\x11\x10\x00\x03'\xDC\xFE\xFD\x01\x03\xDC\xDC\x01\x01\xFE\xFF\xDC\x01:\x01x\xFE\x88\xFE\xC6\xFE\xC5\xFE\x87\x01y\x05L\xFE\xB8\xFE\xE5\xFE\xE6\xFE\xB8\x01H\x01\x1A\x01\x1B\x01H\xA4\xFE[\xFE\x9E\xFE\x9F\xFE[\x01\xA4\x01b\x01b\x01\xA5\x00\x02\x00\xC9\x00\x00\x04\x8D\x05\xD5\x00\x08\x00\x13\x00:@\x18\x01\x95\x10\x00\x95\t\x81\x12\x10\n\x08\x02\x04\x00\x05\x19\r?\x11\x00\x1C\t\x04\x14\x10\xFC\xEC2\xFC\xEC\x11\x1791\x00/\xF4\xEC\xD4\xEC0@\x0B\x0F\x15\x1F\x15?\x15_\x15\xAF\x15\x05\x01]\x01\x1132654&#%!2\x04\x15\x14\x04+\x01\x11#\x01\x93\xFE\x8D\x9A\x9A\x8D\xFE8\x01\xC8\xFB\x01\x01\xFE\xFF\xFB\xFE\xCA\x05/\xFD\xCF\x92\x87\x86\x92\xA6\xE3\xDB\xDD\xE2\xFD\xA8\x00\x02\x00s\xFE\xF8\x05\xD9\x05\xF0\x00\x0B\x00\x1D\x00R@*\x11\x10\x02\x0F\x01\x0C\r\x0C\x0E\x01\r\r\x0CB\x0F\x1E\x0C\x06\x95\x12\x00\x95\x18\x91\x12\x8C\r\x1E\r\x1B\x0F\x0C\x03\t\x19\x1B3\x03\x19\x15\x10\x1E\x10\xFC\xEC\xFC\xEC\x1199\x1191\x00\x10\xC4\xE4\xF4\xEC\x10\xEE9\x1290KSX\x07\x10\x05\xED\x07\x10\x05\xED\x179Y\"\x01\"\x00\x11\x10\x0032\x00\x11\x10\x00\x13\x01#'\x06\x06# \x00\x11\x10\x00! \x00\x11\x10\x02\x03'\xDC\xFE\xFD\x01\x03\xDC\xDC\x01\x01\xFE\xFF?\x01\n\xF4\xDD!#\x10\xFE\xC5\xFE\x87\x01y\x01;\x01:\x01x\xD1\x05L\xFE\xB8\xFE\xE5\xFE\xE6\xFE\xB8\x01H\x01\x1A\x01\x1B\x01H\xFA\xCF\xFE\xDD\xEF\x02\x02\x01\xA5\x01a\x01b\x01\xA5\xFE[\xFE\x9E\xFE\xFC\xFE\x8E\x00\x00\x02\x00\xC9\x00\x00\x05T\x05\xD5\x00\x13\x00\x1C\x00\xB1@5\t\x08\x07\x03\n\x06\x11\x03\x04\x03\x05\x11\x04\x04\x03B\x06\x04\x00\x15\x03\x04\x15\x95\t\x14\x95\r\x81\x0B\x04\x05\x06\x03\x11\t\x00\x1C\x16\x0E\x05\n\x19\x19\x04\x11?\x14\n\x1C\x0C\x04\x1D\x10\xFC\xEC2\xFC\xC4\xEC\x11\x179\x119991\x00/<\xF4\xEC\xD4\xEC\x129\x129\x1290KSX\x07\x10\x05\xED\x07\x10\x05\xED\x11\x179Y\"\xB2@\x1E\x01\x01]@Bz\x13\x01\x05\x00\x05\x01\x05\x02\x06\x03\x07\x04\x15\x00\x15\x01\x14\x02\x16\x03\x17\x04%\x00%\x01%\x02&\x03'\x06&\x07&\x08&\t \x1E6\x016\x02F\x01F\x02h\x05u\x04u\x05w\x13\x88\x06\x88\x07\x98\x06\x98\x07\x1F]\x00]\x01\x1E\x01\x17\x13#\x03.\x01+\x01\x11#\x11! \x16\x15\x14\x06\x01\x1132654&#\x03\x8DA{>\xCD\xD9\xBFJ\x8Bx\xDC\xCA\x01\xC8\x01\x00\xFC\x83\xFD\x89\xFE\x92\x95\x95\x92\x02\xBC\x16\x90~\xFEh\x01\x7F\x96b\xFD\x89\x05\xD5\xD6\xD8\x8D\xBA\x02O\xFD\xEE\x87\x83\x83\x85\x00\x00\x01\x00\x87\xFF\xE3\x04\xA2\x05\xF0\x00'\x00~@<\r\x0C\x02\x0E\x0B\x02\x1E\x1F\x1E\x08\t\x02\x07\n\x02\x1F\x1F\x1EB\n\x0B\x1E\x1F\x04\x15\x01\x00\x15\xA1\x14\x94\x18\x95\x11\x04\x95\x00\x94%\x91\x11\x8C(\x1E\n\x0B\x1F\x1B\x07\x00\"\x1B\x19\x0E-\x07\x19\x14\"(\x10\xDC\xC4\xEC\xFC\xEC\xE4\x11\x1299991\x00\x10\xE4\xF4\xE4\xEC\x10\xEE\xF6\xEE\x10\xC6\x11\x1790KSX\x07\x10\x0E\xED\x11\x179\x07\x10\x0E\xED\x11\x179Y\"\xB2\x0F)\x01\x01]\xB6\x1F)/)O)\x03]\x01\x15.\x01#\"\x06\x15\x14\x16\x1F\x01\x1E\x01\x15\x14\x04!\"&'5\x1E\x0132654&/\x01.\x0154$32\x16\x04Hs\xCC_\xA5\xB3w\xA6z\xE2\xD7\xFE\xDD\xFE\xE7j\xEF\x80{\xECr\xAD\xBC\x87\x9A{\xE2\xCA\x01\x17\xF5i\xDA\x05\xA4\xC576\x80vce\x1F\x19+\xD9\xB6\xD9\xE00/\xD0EF\x88~n|\x1F\x18-\xC0\xAB\xC6\xE4&\x00\x00\x01\xFF\xFA\x00\x00\x04\xE9\x05\xD5\x00\x07\x00J@\x0E\x06\x02\x95\x00\x81\x04\x01@\x03\x1C\x00@\x05\x08\x10\xD4\xE4\xFC\xE41\x00/\xF4\xEC20\x01K\xB0\nTX\xBD\x00\x08\x00@\x00\x01\x00\x08\x00\x08\xFF\xC08\x1178Y@\x13\x00\t\x1F\x00\x10\x01\x10\x02\x1F\x07\x10\t@\tp\t\x9F\t\t]\x03!\x15!\x11#\x11!\x06\x04\xEF\xFD\xEE\xCB\xFD\xEE\x05\xD5\xAA\xFA\xD5\x05+\x00\x00\x01\x00\xB2\xFF\xE3\x05)\x05\xD5\x00\x11\x00K@\x16\x08\x02\x11\x0B\x00\x05\x95\x0E\x8C\t\x00\x81\x12\x08\x1C\n8\x01\x1C\x00A\x12\x10\xFC\xEC\xFC\xEC1\x00\x10\xE42\xF4\xEC\x1199990\x01K\xB0\x10TX\xBD\x00\x12\x00@\x00\x01\x00\x12\x00\x12\xFF\xC08\x1178Y\xB6\x1F\x13\x8F\x13\x9F\x13\x03]\x133\x11\x14\x163265\x113\x11\x10\x00! \x00\x11\xB2\xCB\xAE\xC3\xC2\xAE\xCB\xFE\xDF\xFE\xE6\xFE\xE5\xFE\xDF\x05\xD5\xFCu\xF0\xD3\xD3\xF0\x03\x8B\xFC\\\xFE\xDC\xFE\xD6\x01*\x01$\x00\x01\x00\x10\x00\x00\x05h\x05\xD5\x00\x06\x00\xB7@'\x04\x11\x05\x06\x05\x03\x11\x02\x03\x06\x06\x05\x03\x11\x04\x03\x00\x01\x00\x02\x11\x01\x01\x00B\x03\x04\x01\xAF\x00\x06\x04\x03\x02\x00\x05\x05\x01\x07\x10\xD4\xC4\x1791\x00/\xEC290KSX\x07\x10\x05\xED\x07\x10\x08\xED\x07\x10\x08\xED\x07\x10\x05\xEDY\"\xB2P\x08\x01\x01]@b\x00\x03*\x03G\x04G\x05Z\x03}\x03\x83\x03\x07\x06\x00\x07\x02\x08\x04\t\x06\x15\x01\x14\x02\x1A\x04\x1A\x05*\x00&\x01&\x02)\x04)\x05%\x06 \x088\x003\x013\x02<\x04<\x057\x06H\x00E\x01E\x02I\x04I\x05G\x06Y\x00V\x06f\x02i\x04i\x05z\x00v\x01v\x02y\x04y\x05u\x06\x80\x08\x98\x00\x97\x06)]\x00]!\x013\t\x013\x01\x02J\xFD\xC6\xD3\x01\xD9\x01\xDA\xD2\xFD\xC7\x05\xD5\xFB\x17\x04\xE9\xFA+\x00\x01\x00D\x00\x00\x07\xA6\x05\xD5\x00\x0C\x01{@I\x05\x1A\x06\x05\t\n\t\x04\x1A\n\t\x03\x1A\n\x0B\n\x02\x1A\x01\x02\x0B\x0B\n\x06\x11\x07\x08\x07\x05\x11\x04\x05\x08\x08\x07\x02\x11\x03\x02\x0C\x00\x0C\x01\x11\x00\x00\x0CB\n\x05\x02\x03\x06\x03\x00\xAF\x0B\x08\x0C\x0B\n\t\x08\x06\x05\x04\x03\x02\x01\x0B\x07\x00\r\x10\xD4\xCC\x1791\x00/<\xEC22\x1790KSX\x07\x10\x05\xED\x07\x10\x08\xED\x07\x10\x08\xED\x07\x10\x05\xED\x07\x10\x08\xED\x07\x10\x05\xED\x07\x05\xED\x07\x10\x08\xEDY\"\xB2\x00\x0E\x01\x01]@\xF2\x06\x02\x06\x05\x02\n\x00\n\x00\n\x12\n(\x05$\n \n>\x02>\x054\n0\nL\x02M\x05B\n@\nY\x02j\x02k\x05g\n`\n{\x02\x7F\x02|\x05\x7F\x05\x80\n\x96\x02\x95\x05\x1D\x07\x00\t\x02\x08\x03\x00\x04\x06\x05\x00\x05\x00\x06\x01\x07\x04\x08\x00\x08\x07\t\x00\t\x04\n\n\x0C\x00\x0E\x1A\x03\x15\x04\x15\x08\x19\x0C\x10\x0E \x04!\x05 \x06 \x07 \x08#\t$\n%\x0B \x0E \x0E<\x02:\x035\x043\x050\x086\t9\x0B?\x0C0\x0EF\x00F\x01J\x02@\x04E\x05@\x05B\x06B\x07B\x08@\x08@\tD\nM\x0C@\x0E@\x0EX\x02V\x08Y\x0CP\x0Ef\x02g\x03a\x04b\x05`\x06`\x07`\x08d\td\nd\x0Bw\x00v\x01{\x02x\x03w\x04t\x05y\x06y\x07w\x08p\x08x\x0C\x7F\x0C\x7F\x0E\x86\x02\x87\x03\x88\x04\x89\x05\x85\t\x8A\x0B\x8F\x0E\x97\x04\x9F\x0E\xAF\x0E[]\x00]\x133\t\x013\t\x013\x01#\t\x01#D\xCC\x01:\x019\xE3\x01:\x019\xCD\xFE\x89\xFE\xFE\xC5\xFE\xC2\xFE\x05\xD5\xFB\x12\x04\xEE\xFB\x12\x04\xEE\xFA+\x05\x10\xFA\xF0\x00\x01\x00=\x00\x00\x05;\x05\xD5\x00\x0B\x01]@F\t\x11\n\x0B\n\x08\x11\x07\x08\x0B\x0B\n\x08\x11\t\x08\x05\x06\x05\x07\x11\x06\x06\x05\x03\x11\x04\x05\x04\x02\x11\x01\x02\x05\x05\x04\x02\x11\x03\x02\x0B\x00\x0B\x01\x11\x00\x00\x0BB\x0B\x08\x05\x02\x04\x03\x00\xAF\t\x06\x0B\x08\x05\x02\x04\x00\x04\x06\x00\n\x0C\x10\xD4\xC4\xDC\xC4\x11\x1791\x00/<\xEC2\x1790KSX\x07\x10\x05\xED\x07\x10\x08\xED\x07\x10\x08\xED\x07\x10\x05\xED\x07\x10\x05\xED\x07\x10\x08\xED\x07\x10\x08\xED\x07\x10\x05\xEDY\"\x01K\xB0\x0CTK\xB0\rT[K\xB0\x0ET[X\xBD\x00\x0C\xFF\xC0\x00\x01\x00\x0C\x00\x0C\x00@8\x1178Y@\xB8\x07\x02\x08\x08\x16\x02\x19\x08\x17\x0B'\x08'\x0B4\x028\x086\x0BK\x08X\x05[\x08f\x02k\x08w\x02w\x0B\x86\x02\x80\x02\x87\x05\x8B\x08\x85\x0B\x94\x02\x90\x02\x97\x05\x9D\x08\x96\x0B\x1B\x06\x01\t\x03\x08\x07\x07\t\x16\x01\x19\x03\x19\x07\x17\t\x10\r&\x01(\x02)\x03&\x05(\x07'\t)\x0B \r5\x004\x01<\x03;\x04:\x06;\x074\t4\n8\x0B?\rH\tO\rX\x0B_\re\x00e\x01j\x03j\x04h\x05i\x06i\x07l\tl\nx\x03y\x06y\x07x\x08}\t\x7F\nx\x0B\x80\x00\x80\x01\x83\x02\x88\x03\x85\x05\x84\x08\x83\x0B\x8F\r\x90\x00\x90\x01\x94\x02\x97\x05\x97\x06\x95\x08\x93\x0B\x9F\r\xAF\r@]\x00]\x133\t\x013\t\x01#\t\x01#\x01\x81\xD9\x01s\x01u\xD9\xFE \x02\x00\xD9\xFE\\\xFEY\xDA\x02\x15\x05\xD5\xFD\xD5\x02+\xFD3\xFC\xF8\x02{\xFD\x85\x03\x1D\x00\x01\xFF\xFC\x00\x00\x04\xE7\x05\xD5\x00\x08\x00\x94@(\x03\x11\x04\x05\x04\x02\x11\x01\x02\x05\x05\x04\x02\x11\x03\x02\x08\x00\x08\x01\x11\x00\x00\x08B\x02\x03\x00\xAF\x06\x02\x07\x04@\x05\x1C\x00@\x07\t\x10\xD4\xE4\xFC\xE4\x1291\x00/\xEC290KSX\x07\x10\x05\xED\x07\x10\x08\xED\x07\x10\x08\xED\x07\x10\x05\xEDY\"\xB2\x00\n\x01\x01]@<\x05\x02\x14\x025\x020\x020\x050\x08F\x02@\x02@\x05@\x08Q\x02Q\x05Q\x08e\x02\x84\x02\x93\x02\x10\x16\x01\x1A\x03\x1F\n&\x01)\x037\x018\x03@\ng\x01h\x03x\x03p\n\x9F\n\r]\x00]\x033\t\x013\x01\x11#\x11\x04\xD9\x01\x9E\x01\x9B\xD9\xFD\xF0\xCB\x05\xD5\xFD\x9A\x02f\xFC\xF2\xFD9\x02\xC7\x00\x00\x01\x00\\\x00\x00\x05\x1F\x05\xD5\x00\t\x00\x9B@\x1B\x03\x11\x07\x08\x07\x08\x11\x02\x03\x02B\x08\x95\x00\x81\x03\x95\x05\x08\x03\x00\x01B\x04\x00\x06\n\x10\xDC\xC4\xD4\xE4\x11991\x00/\xEC\xF4\xEC0KSX\x07\x10\x05\xED\x07\x10\x05\xEDY\"\x01K\xB0\tTK\xB0\nT[X\xBD\x00\n\x00@\x00\x01\x00\n\x00\n\xFF\xC08\x1178Y@@\x05\x02\n\x07\x18\x07)\x02&\x078\x07H\x02G\x07H\x08\t\x05\x03\x0B\x08\x00\x0B\x16\x03\x1A\x08\x10\x0B/\x0B5\x039\x08?\x0BG\x03J\x08O\x0BU\x03Y\x08f\x03i\x08o\x0Bw\x03x\x08\x7F\x0B\x9F\x0B\x16]\x00]\x13!\x15\x01!\x15!5\x01!s\x04\x95\xFCP\x03\xC7\xFB=\x03\xB0\xFCg\x05\xD5\x9A\xFBo\xAA\x9A\x04\x91\x00\x00\x01\x00\xB0\xFE\xF2\x02X\x06\x14\x00\x07\x00S@\x0F\x04\xA9\x06\xB2\x02\xA9\x00\xB1\x08\x05\x01\x03C\x00\x08\x10\xDC\xFC\xCC21\x00\x10\xFC\xEC\xF4\xEC0\x01K\xB0\x0CTX\xBD\x00\x08\xFF\xC0\x00\x01\x00\x08\x00\x08\x00@8\x1178Y\x01K\xB0\x12TK\xB0\x13T[X\xBD\x00\x08\x00@\x00\x01\x00\x08\x00\x08\xFF\xC08\x1178Y\x13!\x15#\x113\x15!\xB0\x01\xA8\xF0\xF0\xFEX\x06\x14\x8F\xF9\xFC\x8F\x00\x01\x00\x00\xFFB\x02\xB2\x05\xD5\x00\x03\x00-@\x14\x02\x1A\x01\x01\x00\x00\x1A\x03\x03\x02B\x01\x9F\x00\x81\x04\x02\x00\x01\x03/\xC4991\x00\x10\xF4\xEC0KSX\x07\x10\x05\xED\x07\x10\x05\xEDY\"\x13\x01#\x01\xAA\x02\x08\xAA\xFD\xF8\x05\xD5\xF9m\x06\x93\x00\x00\x01\x00\xC7\xFE\xF2\x02o\x06\x14\x00\x07\x00<@\x10\x03\xA9\x01\xB2\x05\xA9\x00\xB1\x08\x00C\x04\x06\x02\x04\x08\x10\xFC<\xDC\xEC1\x00\x10\xFC\xEC\xF4\xEC0\x01K\xB0\x0FTK\xB0\x10T[X\xBD\x00\x08\xFF\xC0\x00\x01\x00\x08\x00\x08\x00@8\x1178Y\x01\x11!53\x11#5\x02o\xFEX\xEF\xEF\x06\x14\xF8\xDE\x8F\x06\x04\x8F\x00\x01\x00\xD9\x03\xA8\x05\xDB\x05\xD5\x00\x06\x00\x18@\n\x03\x04\x01\x00\x81\x07\x03\x01\x05\x07\x10\xDC\xCC91\x00\x10\xF4\xCC290\x01\x01#\x01\x01#\x01\x03\xBC\x02\x1F\xC9\xFEH\xFEH\xC9\x02\x1F\x05\xD5\xFD\xD3\x01\x8B\xFEu\x02-\x00\x00\x01\xFF\xEC\xFE\x1D\x04\x14\xFE\xAC\x00\x03\x00\x0F\xB5\x00\xA9\x01\x00\x02\x04\x10\xC4\xC41\x00\xD4\xEC0\x01\x15!5\x04\x14\xFB\xD8\xFE\xAC\x8F\x8F\x00\x00\x01\x00\xAA\x04\xF0\x02\x89\x06f\x00\x03\x001@\t\x01\xB4\x00\xB3\x04\x03D\x01\x04\x10\xDC\xEC1\x00\x10\xF4\xEC0\x00K\xB0\tTK\xB0\x0ET[X\xBD\x00\x04\xFF\xC0\x00\x01\x00\x04\x00\x04\x00@8\x1178Y\t\x01#\x01\x01o\x01\x1A\x99\xFE\xBA\x06f\xFE\x8A\x01v\x00\x02\x00{\xFF\xE3\x04-\x04{\x00\n\x00%\x00\xBC@'\x19\x1F\x0B\x17\t\x0E\x00\xA9\x17\x06\xB9\x0E\x11 \x86\x1F\xBA\x1C\xB9#\xB8\x11\x8C\x17\x0C\x00\x17\x03\x18\r\t\x08\x0B\x1F\x03\x08\x14E&\x10\xFC\xEC\xCC\xD4\xEC22\x11991\x00/\xC4\xE4\xF4\xFC\xF4\xEC\x10\xC6\xEE\x10\xEE\x119\x119\x1290@n0\x1D0\x1E0\x1F0 0!0\"?'@\x1D@\x1E@\x1F@ @!@\"P\x1DP\x1EP\x1FP P!P\"P'p'\x85\x1D\x87\x1E\x87\x1F\x87 \x87!\x85\"\x90'\xA0'\xF0'\x1E0\x1E0\x1F0 0!@\x1E@\x1F@ @!P\x1EP\x1FP P!`\x1E`\x1F` `!p\x1Ep\x1Fp p!\x80\x1E\x80\x1F\x80 \x80!\x18]\x01]\x01\"\x06\x15\x14\x16326=\x017\x11#5\x0E\x01#\"&5463!54&#\"\x06\x075>\x0132\x16\x02\xBE\xDF\xAC\x81o\x99\xB9\xB8\xB8?\xBC\x88\xAC\xCB\xFD\xFB\x01\x02\xA7\x97`\xB6Te\xBEZ\xF3\xF0\x023f{bs\xD9\xB4)L\xFD\x81\xAAfa\xC1\xA2\xBD\xC0\x12\x7F\x8B..\xAA''\xFC\x00\x00\x02\x00\xBA\xFF\xE3\x04\xA4\x06\x14\x00\x0B\x00\x1C\x008@\x19\x03\xB9\x0C\x0F\t\xB9\x18\x15\x8C\x0F\xB8\x1B\x97\x19\x00\x12\x12G\x18\x0C\x06\x08\x1AF\x1D\x10\xFC\xEC22\xF4\xEC1\x00/\xEC\xE4\xF4\xC4\xEC\x10\xC6\xEE0\xB6`\x1E\x80\x1E\xA0\x1E\x03\x01]\x014&#\"\x06\x15\x14\x16326\x01>\x0132\x12\x11\x10\x02#\"&'\x15#\x113\x03\xE5\xA7\x92\x92\xA7\xA7\x92\x92\xA7\xFD\x8E:\xB1{\xCC\xFF\xFF\xCC{\xB1:\xB9\xB9\x02/\xCB\xE7\xE7\xCB\xCB\xE7\xE7\x02Rda\xFE\xBC\xFE\xF8\xFE\xF8\xFE\xBCad\xA8\x06\x14\x00\x00\x01\x00q\xFF\xE3\x03\xE7\x04{\x00\x19\x00?@\x1B\x00\x86\x01\x88\x04\x0E\x86\r\x88\n\xB9\x11\x04\xB9\x17\xB8\x11\x8C\x1A\x07\x12\r\x00H\x14E\x1A\x10\xFC\xE42\xEC1\x00\x10\xE4\xF4\xEC\x10\xFE\xF4\xEE\x10\xF5\xEE0@\x0B\x0F\x1B\x10\x1B\x80\x1B\x90\x1B\xA0\x1B\x05\x01]\x01\x15.\x01#\"\x06\x15\x14\x163267\x15\x0E\x01#\"\x00\x11\x10\x00!2\x16\x03\xE7N\x9DP\xB3\xC6\xC6\xB3P\x9DNM\xA5]\xFD\xFE\xD6\x01-\x01\x06U\xA2\x045\xAC++\xE3\xCD\xCD\xE3++\xAA$$\x01>\x01\x0E\x01\x12\x01:#\x00\x02\x00q\xFF\xE3\x04Z\x06\x14\x00\x10\x00\x1C\x008@\x19\x1A\xB9\x00\x0E\x14\xB9\x05\x08\x8C\x0E\xB8\x01\x97\x03\x17\x04\x00\x08\x02G\x11\x12\x0BE\x1D\x10\xFC\xEC\xF4\xEC221\x00/\xEC\xE4\xF4\xC4\xEC\x10\xC4\xEE0\xB6`\x1E\x80\x1E\xA0\x1E\x03\x01]\x01\x113\x11#5\x0E\x01#\"\x02\x11\x10\x1232\x16\x01\x14\x1632654&#\"\x06\x03\xA2\xB8\xB8:\xB1|\xCB\xFF\xFF\xCB|\xB1\xFD\xC7\xA7\x92\x92\xA8\xA8\x92\x92\xA7\x03\xB6\x02^\xF9\xEC\xA8da\x01D\x01\x08\x01\x08\x01Da\xFE\x15\xCB\xE7\xE7\xCB\xCB\xE7\xE7\x00\x00\x02\x00q\xFF\xE3\x04\x7F\x04{\x00\x14\x00\x1B\x00p@$\x00\x15\x01\t\x86\x08\x88\x05\x15\xA9\x01\x05\xB9\x0C\x01\xBB\x18\xB9\x12\xB8\x0C\x8C\x1C\x1B\x15\x02\x08\x15\x08\x00K\x02\x12\x0FE\x1C\x10\xFC\xEC\xF4\xEC\xC4\x11\x1291\x00\x10\xE4\xF4\xEC\xE4\x10\xEE\x10\xEE\x10\xF4\xEE\x11\x1290@)?\x1Dp\x1D\xA0\x1D\xD0\x1D\xF0\x1D\x05?\x00?\x01?\x02?\x15?\x1B\x05,\x07/\x08/\t,\no\x00o\x01o\x02o\x15o\x1B\t]q\x01]\x01\x15!\x1E\x013267\x15\x0E\x01# \x00\x11\x10\x0032\x00\x07.\x01#\"\x06\x07\x04\x7F\xFC\xB2\x0C\xCD\xB7j\xC7bc\xD0k\xFE\xF4\xFE\xC7\x01)\xFC\xE2\x01\x07\xB8\x02\xA5\x88\x9A\xB9\x0E\x02^Z\xBE\xC744\xAE*,\x018\x01\n\x01\x13\x01C\xFE\xDD\xC4\x97\xB4\xAE\x9E\x00\x00\x01\x00/\x00\x00\x02\xF8\x06\x14\x00\x13\x00p@\x1C\x05\x10\x01\x0C\x08\xA9\x06\x01\x87\x00\x97\x0E\x06\xBC\n\x02\x13\x07\x00\x07\t\x05\x08\r\x0F\x0BL\x14\x10\xFC<\xC4\xFC<\xC4\xC4\x12991\x00/\xE42\xFC\xEC\x10\xEE2\x12990\x01K\xB0\nTX\xBD\x00\x14\xFF\xC0\x00\x01\x00\x14\x00\x14\x00@8\x1178Y\x01K\xB0\x0ETX\xBD\x00\x14\x00@\x00\x01\x00\x14\x00\x14\xFF\xC08\x1178Y\xB6@\x15P\x15\xA0\x15\x03]\x01\x15#\"\x06\x1D\x01!\x15!\x11#\x11#535463\x02\xF8\xB0cM\x01/\xFE\xD1\xB9\xB0\xB0\xAE\xBD\x06\x14\x99Phc\x8F\xFC/\x03\xD1\x8FN\xBB\xAB\x00\x00\x02\x00q\xFEV\x04Z\x04{\x00\x0B\x00(\x00J@#\x19\x0C\x1D\t\x12\x86\x13\x16\xB9\x0F\x03\xB9&#\xB8'\xBC\t\xB9\x0F\xBD\x1A\x1D&\x19\x00\x08\x0CG\x06\x12\x12 E)\x10\xFC\xC4\xEC\xF4\xEC221\x00/\xC4\xE4\xEC\xE4\xF4\xC4\xEC\x10\xFE\xD5\xEE\x11\x12990\xB6`*\x80*\xA0*\x03\x01]\x014&#\"\x06\x15\x14\x16326\x17\x10\x02!\"&'5\x1E\x01326=\x01\x0E\x01#\"\x02\x11\x10\x1232\x16\x1753\x03\xA2\xA5\x95\x94\xA5\xA5\x94\x95\xA5\xB8\xFE\xFE\xFAa\xACQQ\x9ER\xB5\xB49\xB2|\xCE\xFC\xFC\xCE|\xB29\xB8\x02=\xC8\xDC\xDC\xC8\xC7\xDC\xDC\xEB\xFE\xE2\xFE\xE9\x1D\x1E\xB3,*\xBD\xBF[cb\x01:\x01\x03\x01\x04\x01:bc\xAA\x00\x00\x01\x00\xBA\x00\x00\x04d\x06\x14\x00\x13\x004@\x19\x03\t\x00\x03\x0E\x01\x06\x87\x0E\x11\xB8\x0C\x97\n\x01\x02\x08\x00N\r\t\x08\x0BF\x14\x10\xFC\xEC2\xF4\xEC1\x00/<\xEC\xF4\xC4\xEC\x11\x12\x1790\xB2`\x15\x01\x01]\x01\x11#\x114&#\"\x06\x15\x11#\x113\x11>\x0132\x16\x04d\xB8||\x95\xAC\xB9\xB9B\xB3u\xC1\xC6\x02\xA4\xFD\\\x02\x9E\x9F\x9E\xBE\xA4\xFD\x87\x06\x14\xFD\x9Eed\xEF\x00\x00\x02\x00\xC1\x00\x00\x01y\x06\x14\x00\x03\x00\x07\x00+@\x0E\x06\xBE\x04\xB1\x00\xBC\x02\x05\x01\x08\x04\x00F\x08\x10\xFC<\xEC21\x00/\xE4\xFC\xEC0@\x0B\x10\t@\tP\t`\tp\t\x05\x01]\x133\x11#\x113\x15#\xC1\xB8\xB8\xB8\xB8\x04`\xFB\xA0\x06\x14\xE9\x00\x00\x02\xFF\xDB\xFEV\x01y\x06\x14\x00\x0B\x00\x0F\x00D@\x1C\x0B\x02\x07\x00\x0E\xBE\x0C\x07\x87\x05\xBD\x00\xBC\x0C\xB1\x10\x08\x10\x05\x06O\r\x01\x08\x0C\x00F\x10\x10\xFC<\xEC2\xE49\x1291\x00\x10\xEC\xE4\xF4\xEC\x10\xEE\x11\x12990@\x0B\x10\x11@\x11P\x11`\x11p\x11\x05\x01]\x133\x11\x14\x06+\x0153265\x113\x15#\xC1\xB8\xA3\xB5F1iL\xB8\xB8\x04`\xFB\x8C\xD6\xC0\x9Ca\x99\x06(\xE9\x00\x01\x00\xBA\x00\x00\x04\x9C\x06\x14\x00\n\x00\xBC@)\x08\x11\x05\x06\x05\x07\x11\x06\x06\x05\x03\x11\x04\x05\x04\x02\x11\x05\x05\x04B\x08\x05\x02\x03\x03\xBC\x00\x97\t\x06\x05\x01\x04\x06\x08\x01\x08\x00F\x0B\x10\xFC\xEC2\xD4\xC4\x1191\x00/<\xEC\xE4\x1790KSX\x07\x10\x04\xED\x07\x10\x05\xED\x07\x10\x05\xED\x07\x10\x04\xEDY\"\xB2\x10\x0C\x01\x01]@_\x04\x02\n\x08\x16\x02'\x02)\x05+\x08V\x02f\x02g\x08s\x02w\x05\x82\x02\x89\x05\x8E\x08\x93\x02\x96\x05\x97\x08\xA3\x02\x12\t\x05\t\x06\x02\x0B\x03\n\x07(\x03'\x04(\x05+\x06+\x07@\x0Ch\x03`\x0C\x89\x03\x85\x04\x89\x05\x8D\x06\x8F\x07\x9A\x03\x97\x07\xAA\x03\xA7\x05\xB6\x07\xC5\x07\xD6\x07\xF7\x03\xF0\x03\xF7\x04\xF0\x04\x1A]q\x00]\x133\x11\x013\t\x01#\x01\x11#\xBA\xB9\x02%\xEB\xFD\xAE\x02k\xF0\xFD\xC7\xB9\x06\x14\xFCi\x01\xE3\xFD\xF4\xFD\xAC\x02#\xFD\xDD\x00\x01\x00\xC1\x00\x00\x01y\x06\x14\x00\x03\x00\"\xB7\x00\x97\x02\x01\x08\x00F\x04\x10\xFC\xEC1\x00/\xEC0@\r\x10\x05@\x05P\x05`\x05p\x05\xF0\x05\x06\x01]\x133\x11#\xC1\xB8\xB8\x06\x14\xF9\xEC\x00\x00\x01\x00\xBA\x00\x00\x07\x1D\x04{\x00\"\x00Z@&\x06\x12\t\x18\x0F\x00\x06\x1D\x07\x15\x0C\x87\x1D \x03\xB8\x1B\xBC\x19\x10\x07\x00\x11\x0F\x08\x08\x06P\x11\x08\x0FP\x1C\x18\x08\x1AF#\x10\xFC\xEC2\xFC\xFC\xFC\xEC\x11\x1291\x00/<<\xE4\xF4<\xC4\xEC2\x11\x12\x1790@\x130$P$p$\x90$\xA0$\xA0$\xBF$\xDF$\xFF$\t\x01]\x01>\x0132\x16\x15\x11#\x114&#\"\x06\x15\x11#\x114&#\"\x06\x15\x11#\x113\x15>\x0132\x16\x04)E\xC0\x82\xAF\xBE\xB9ru\x8F\xA6\xB9rw\x8D\xA6\xB9\xB9?\xB0yz\xAB\x03\x89|v\xF5\xE2\xFD\\\x02\x9E\xA1\x9C\xBE\xA4\xFD\x87\x02\x9E\xA2\x9B\xBF\xA3\xFD\x87\x04`\xAEgb|\x00\x00\x01\x00\xBA\x00\x00\x04d\x04{\x00\x13\x006@\x19\x03\t\x00\x03\x0E\x01\x06\x87\x0E\x11\xB8\x0C\xBC\n\x01\x02\x08\x00N\r\t\x08\x0BF\x14\x10\xFC\xEC2\xF4\xEC1\x00/<\xE4\xF4\xC4\xEC\x11\x12\x1790\xB4`\x15\xCF\x15\x02\x01]\x01\x11#\x114&#\"\x06\x15\x11#\x113\x15>\x0132\x16\x04d\xB8||\x95\xAC\xB9\xB9B\xB3u\xC1\xC6\x02\xA4\xFD\\\x02\x9E\x9F\x9E\xBE\xA4\xFD\x87\x04`\xAEed\xEF\x00\x02\x00q\xFF\xE3\x04u\x04{\x00\x0B\x00\x17\x00J@\x13\x06\xB9\x12\x00\xB9\x0C\xB8\x12\x8C\x18\t\x12\x0FQ\x03\x12\x15E\x18\x10\xFC\xEC\xF4\xEC1\x00\x10\xE4\xF4\xEC\x10\xEE0@#?\x19{\x00{\x06\x7F\x07\x7F\x08\x7F\t\x7F\n\x7F\x0B{\x0C\x7F\r\x7F\x0E\x7F\x0F\x7F\x10\x7F\x11{\x12\xA0\x19\xF0\x19\x11\x01]\x01\"\x06\x15\x14\x1632654&'2\x00\x11\x10\x00#\"\x00\x11\x10\x00\x02s\x94\xAC\xAB\x95\x93\xAC\xAC\x93\xF0\x01\x12\xFE\xEE\xF0\xF1\xFE\xEF\x01\x11\x03\xDF\xE7\xC9\xC9\xE7\xE8\xC8\xC7\xE9\x9C\xFE\xC8\xFE\xEC\xFE\xED\xFE\xC7\x019\x01\x13\x01\x14\x018\x00\x02\x00\xBA\xFEV\x04\xA4\x04{\x00\x10\x00\x1C\x00>@\x1B\x1A\xB9\x00\x0E\x14\xB9\x05\x08\xB8\x0E\x8C\x01\xBD\x03\xBC\x1D\x11\x12\x0BG\x17\x04\x00\x08\x02F\x1D\x10\xFC\xEC22\xF4\xEC1\x00\x10\xE4\xE4\xE4\xF4\xC4\xEC\x10\xC4\xEE0@\t`\x1E\x80\x1E\xA0\x1E\xE0\x1E\x04\x01]%\x11#\x113\x15>\x0132\x12\x11\x10\x02#\"&\x014&#\"\x06\x15\x14\x16326\x01s\xB9\xB9:\xB1{\xCC\xFF\xFF\xCC{\xB1\x028\xA7\x92\x92\xA7\xA7\x92\x92\xA7\xA8\xFD\xAE\x06\n\xAAda\xFE\xBC\xFE\xF8\xFE\xF8\xFE\xBCa\x01\xEB\xCB\xE7\xE7\xCB\xCB\xE7\xE7\x00\x02\x00q\xFEV\x04Z\x04{\x00\x0B\x00\x1C\x00>@\x1B\x03\xB9\x0C\x0F\t\xB9\x18\x15\xB8\x0F\x8C\x1B\xBD\x19\xBC\x1D\x18\x0C\x06\x08\x1AG\x00\x12\x12E\x1D\x10\xFC\xEC\xF4\xEC221\x00\x10\xE4\xE4\xE4\xF4\xC4\xEC\x10\xC6\xEE0@\t`\x1E\x80\x1E\xA0\x1E\xE0\x1E\x04\x01]\x01\x14\x1632654&#\"\x06\x01\x0E\x01#\"\x02\x11\x10\x1232\x16\x1753\x11#\x01/\xA7\x92\x92\xA8\xA8\x92\x92\xA7\x02s:\xB1|\xCB\xFF\xFF\xCB|\xB1:\xB8\xB8\x02/\xCB\xE7\xE7\xCB\xCB\xE7\xE7\xFD\xAEda\x01D\x01\x08\x01\x08\x01Dad\xAA\xF9\xF6\x00\x00\x01\x00\xBA\x00\x00\x03J\x04{\x00\x11\x000@\x14\x06\x0B\x07\x00\x11\x0B\x03\x87\x0E\xB8\t\xBC\x07\n\x06\x08\x00\x08F\x12\x10\xFC\xC4\xEC21\x00/\xE4\xF4\xEC\xC4\xD4\xCC\x11\x1290\xB4P\x13\x9F\x13\x02\x01]\x01.\x01#\"\x06\x15\x11#\x113\x15>\x0132\x16\x17\x03J\x1FI,\x9C\xA7\xB9\xB9:\xBA\x85\x13.\x1C\x03\xB4\x12\x11\xCB\xBE\xFD\xB2\x04`\xAEfc\x05\x05\x00\x01\x00o\xFF\xE3\x03\xC7\x04{\x00'\x00\xE7@<\r\x0C\x02\x0E\x0BS\x1F\x1E\x08\t\x02\x07\nS\x1E\x1F\x1EB\n\x0B\x1E\x1F\x04\x15\x00\x86\x01\x89\x04\x14\x86\x15\x89\x18\xB9\x11\x04\xB9%\xB8\x11\x8C(\x1E\n\x0B\x1F\x1B\x07\x00R\x1B\x08\x0E\x07\x08\x14\"E(\x10\xFC\xC4\xEC\xD4\xEC\xE4\x11\x1299991\x00\x10\xE4\xF4\xEC\x10\xFE\xF5\xEE\x10\xF5\xEE\x12\x1790KSX\x07\x10\x0E\xED\x11\x179\x07\x0E\xED\x11\x179Y\"\xB2\x00'\x01\x01]@m\x1C\n\x1C\x0B\x1C\x0C.\t,\n,\x0B,\x0C;\t;\n;\x0B;\x0C\x0B \x00 \x01$\x02(\n(\x0B*\x13/\x14/\x15*\x16(\x1E(\x1F) )!$'\x86\n\x86\x0B\x86\x0C\x86\r\x12\x00\x00\x00\x01\x02\x02\x06\n\x06\x0B\x03\x0C\x03\r\x03\x0E\x03\x0F\x03\x10\x03\x19\x03\x1A\x03\x1B\x03\x1C\x04\x1D\t'/)?)_)\x7F)\x80)\x90)\xA0)\xF0)\x18]\x00]q\x01\x15.\x01#\"\x06\x15\x14\x16\x1F\x01\x1E\x01\x15\x14\x06#\"&'5\x1E\x0132654&/\x01.\x0154632\x16\x03\x8BN\xA8Z\x89\x89b\x94?\xC4\xA5\xF7\xD8Z\xC3lf\xC6a\x82\x8Ce\xAB@\xAB\x98\xE0\xCEf\xB4\x04?\xAE((TT@I!\x0E*\x99\x89\x9C\xB6##\xBE55YQKP%\x0F$\x95\x82\x9E\xAC\x1E\x00\x00\x01\x007\x00\x00\x02\xF2\x05\x9E\x00\x13\x008@\x19\x0E\x05\x08\x0F\x03\xA9\x00\x11\x01\xBC\x08\x87\n\x0B\x08\t\x02\x04\x00\x08\x10\x12\x0EF\x14\x10\xFC<\xC4\xFC<\xC42991\x00/\xEC\xF4<\xC4\xEC2\x11990\xB2\xAF\x15\x01\x01]\x01\x11!\x15!\x11\x14\x16;\x01\x15#\"&5\x11#53\x11\x01w\x01{\xFE\x85Ks\xBD\xBD\xD5\xA2\x87\x87\x05\x9E\xFE\xC2\x8F\xFD\xA0\x89N\x9A\x9F\xD2\x02`\x8F\x01>\x00\x00\x01\x00\xAE\xFF\xE3\x04X\x04`\x00\x13\x006@\x19\x03\t\x00\x03\x0E\x01\x06\x87\x0E\x11\x8C\n\x01\xBC\x0C\r\t\x08\x0BN\x02\x08\x00F\x14\x10\xFC\xEC\xF4\xEC21\x00/\xE42\xF4\xC4\xEC\x11\x12\x1790\xB4`\x15\xCF\x15\x02\x01]\x13\x113\x11\x14\x163265\x113\x11#5\x0E\x01#\"&\xAE\xB8||\x95\xAD\xB8\xB8C\xB1u\xC1\xC8\x01\xBA\x02\xA6\xFDa\x9F\x9F\xBE\xA4\x02{\xFB\xA0\xACfc\xF0\x00\x00\x01\x00=\x00\x00\x04\x7F\x04`\x00\x06\x01\x12@'\x03\x11\x04\x05\x04\x02\x11\x01\x02\x05\x05\x04\x02\x11\x03\x02\x06\x00\x06\x01\x11\x00\x00\x06B\x02\x03\x00\xBF\x05\x06\x05\x03\x02\x01\x05\x04\x00\x07\x10\xD4\xC4\x1791\x00/\xEC290KSX\x07\x10\x05\xED\x07\x10\x08\xED\x07\x10\x08\xED\x07\x10\x05\xEDY\"\x01K\xB0\nTX\xBD\x00\x07\xFF\xC0\x00\x01\x00\x07\x00\x07\x00@8\x1178Y\x01K\xB0\x14TK\xB0\x15T[X\xBD\x00\x07\x00@\x00\x01\x00\x07\x00\x07\xFF\xC08\x1178Y@\x8EH\x02j\x02{\x02\x7F\x02\x86\x02\x80\x02\x91\x02\xA4\x02\x08\x06\x00\x06\x01\t\x03\t\x04\x15\x00\x15\x01\x1A\x03\x1A\x04&\x00&\x01)\x03)\x04 \x085\x005\x01:\x03:\x040\x08F\x00F\x01I\x03I\x04F\x05H\x06@\x08V\x00V\x01Y\x03Y\x04P\x08f\x00f\x01i\x03i\x04g\x05h\x06`\x08u\x00t\x01{\x03{\x04u\x05z\x06\x85\x00\x85\x01\x89\x03\x89\x04\x89\x05\x86\x06\x96\x00\x96\x01\x97\x02\x9A\x03\x98\x04\x98\x05\x97\x06\xA8\x05\xA7\x06\xB0\x08\xC0\x08\xDF\x08\xFF\x08>]\x00]\x133\t\x013\x01#=\xC3\x01^\x01^\xC3\xFE\\\xFA\x04`\xFCT\x03\xAC\xFB\xA0\x00\x00\x01\x00V\x00\x00\x065\x04`\x00\x0C\x02\x01@I\x05U\x06\x05\t\n\t\x04U\n\t\x03U\n\x0B\n\x02U\x01\x02\x0B\x0B\n\x06\x11\x07\x08\x07\x05\x11\x04\x05\x08\x08\x07\x02\x11\x03\x02\x0C\x00\x0C\x01\x11\x00\x00\x0CB\n\x05\x02\x03\x06\x03\x00\xBF\x0B\x08\x0C\x0B\n\t\x08\x06\x05\x04\x03\x02\x01\x0B\x07\x00\r\x10\xD4\xCC\x1791\x00/<\xEC22\x1790KSX\x07\x10\x05\xED\x07\x10\x08\xED\x07\x10\x08\xED\x07\x10\x05\xED\x07\x10\x08\xED\x07\x10\x05\xED\x07\x05\xED\x07\x10\x08\xEDY\"\x01K\xB0\nTK\xB0\x11T[K\xB0\x12T[K\xB0\x13T[K\xB0\x0BT[X\xBD\x00\r\xFF\xC0\x00\x01\x00\r\x00\r\x00@8\x1178Y\x01K\xB0\x0CTK\xB0\rT[K\xB0\x10T[X\xBD\x00\r\x00@\x00\x01\x00\r\x00\r\xFF\xC08\x1178Y@\xFF\x05\x02\x16\x02\x16\x05\"\n5\nI\x02I\x05F\n@\n[\x02[\x05U\nP\nn\x02n\x05f\ny\x02\x7F\x02y\x05\x7F\x05\x87\x02\x99\x02\x98\x05\x94\n\xBC\x02\xBC\x05\xCE\x02\xC7\x03\xCF\x05\x1D\x05\x02\t\x03\x06\x04\x0B\x05\n\x08\x0B\t\x04\x0B\x05\x0C\x15\x02\x19\x03\x16\x04\x1A\x05\x1B\x08\x1B\t\x14\x0B\x15\x0C%\x00%\x01#\x02'\x03!\x04%\x05\"\x06\"\x07%\x08'\t$\n!\x0B#\x0C9\x036\x046\x089\x0C0\x0EF\x02H\x03F\x04@\x04B\x05@\x06@\x07@\x08D\tD\nD\x0B@\x0E@\x0EV\x00V\x01V\x02P\x04Q\x05R\x06R\x07P\x08S\tT\nU\x0Bc\x00d\x01e\x02j\x03e\x04j\x05j\x06j\x07n\ta\x0Bg\x0Co\x0Eu\x00u\x01y\x02}\x03x\x04}\x05z\x06\x7F\x06z\x07\x7F\x07x\x08y\t\x7F\t{\nv\x0B}\x0C\x87\x02\x88\x05\x8F\x0E\x97\x00\x97\x01\x94\x02\x93\x03\x9C\x04\x9B\x05\x98\x06\x98\x07\x99\x08@/\x96\x0C\x9F\x0E\xA6\x00\xA6\x01\xA4\x02\xA4\x03\xAB\x04\xAB\x05\xA9\x06\xA9\x07\xAB\x08\xA4\x0C\xAF\x0E\xB5\x02\xB1\x03\xBD\x04\xBB\x05\xB8\t\xBF\x0E\xC4\x02\xC3\x03\xCC\x04\xCA\x05y]\x00]\x133\x1B\x013\x1B\x013\x01#\x0B\x01#V\xB8\xE6\xE5\xD9\xE6\xE5\xB8\xFE\xDB\xD9\xF1\xF2\xD9\x04`\xFC\x96\x03j\xFC\x96\x03j\xFB\xA0\x03\x96\xFCj\x00\x01\x00;\x00\x00\x04y\x04`\x00\x0B\x01Z@F\x05\x11\x06\x07\x06\x04\x11\x03\x04\x07\x07\x06\x04\x11\x05\x04\x01\x02\x01\x03\x11\x02\x02\x01\x0B\x11\x00\x01\x00\n\x11\t\n\x01\x01\x00\n\x11\x0B\n\x07\x08\x07\t\x11\x08\x08\x07B\n\x07\x04\x01\x04\x08\x00\xBF\x05\x02\n\x07\x04\x01\x04\x08\x00\x02\x08\x06\x0C\x10\xD4\xC4\xD4\xC4\x11\x1791\x00/<\xEC2\x1790KSX\x07\x10\x05\xED\x07\x10\x08\xED\x07\x10\x08\xED\x07\x10\x05\xED\x07\x10\x05\xED\x07\x10\x08\xED\x07\x10\x08\xED\x07\x10\x05\xEDY\"\x01K\xB0\nTK\xB0\x0FT[K\xB0\x10T[K\xB0\x11T[X\xBD\x00\x0C\xFF\xC0\x00\x01\x00\x0C\x00\x0C\x00@8\x1178Y\x01K\xB0\x14TX\xBD\x00\x0C\x00@\x00\x01\x00\x0C\x00\x0C\xFF\xC08\x1178Y@\x98\n\x04\x04\n\x1A\x04\x15\n&\n=\x041\nU\x04W\x07X\nf\nv\x01z\x04v\x07t\n\x8D\x04\x82\n\x99\x04\x9F\x04\x97\x07\x92\n\x90\n\xA6\x01\xA9\x04\xAF\x04\xA5\x07\xA3\n\xA0\n\x1C\n\x03\x04\x05\x05\t\n\x0B\x1A\x03\x15\x05\x15\t\x1A\x0B)\x03&\x05%\t*\x0B \r:\x019\x037\x054\x076\t9\x0B0\rI\x03F\x05E\tJ\x0B@\rY\x00V\x01Y\x02Y\x03W\x05V\x06Y\x07V\x08V\tY\x0BP\ro\rx\x01\x7F\r\x9B\x01\x94\x07\xAB\x01\xA4\x07\xB0\r\xCF\r\xDF\r\xFF\r/]\x00]\t\x02#\t\x01#\t\x013\t\x01\x04d\xFEk\x01\xAA\xD9\xFE\xBA\xFE\xBA\xD9\x01\xB3\xFEr\xD9\x01)\x01)\x04`\xFD\xDF\xFD\xC1\x01\xB8\xFEH\x02J\x02\x16\xFEq\x01\x8F\x00\x01\x00=\xFEV\x04\x7F\x04`\x00\x0F\x01\xA2@C\x07\x08\x02\t\x11\x00\x0F\n\x11\x0B\n\x00\x00\x0F\x0E\x11\x0F\x00\x0F\r\x11\x0C\r\x00\x00\x0F\r\x11\x0E\r\n\x0B\n\x0C\x11\x0B\x0B\nB\r\x0B\t\x10\x00\x0B\x05\x87\x03\xBD\x0E\x0B\xBC\x10\x0E\r\x0C\n\t\x06\x03\x00\x08\x0F\x04\x0F\x0B\x10\x10\xD4\xC4\xC4\x11\x1791\x00\x10\xE42\xF4\xEC\x119\x119\x1290KSX\x07\x10\x05\xED\x07\x10\x08\xED\x07\x10\x08\xED\x07\x10\x05\xED\x07\x10\x08\xED\x07\x05\xED\x172Y\"\x01K\xB0\nTK\xB0\x08T[X\xBD\x00\x10\xFF\xC0\x00\x01\x00\x10\x00\x10\x00@8\x1178Y\x01K\xB0\x14TX\xBD\x00\x10\x00@\x00\x01\x00\x10\x00\x10\xFF\xC08\x1178Y@\xF0\x06\x00\x05\x08\x06\t\x03\r\x16\n\x17\r\x10\r#\r5\rI\nO\nN\rZ\tZ\nj\n\x87\r\x80\r\x93\r\x12\n\x00\n\t\x06\x0B\x05\x0C\x0B\x0E\x0B\x0F\x17\x01\x15\x02\x10\x04\x10\x05\x17\n\x14\x0B\x14\x0C\x1A\x0E\x1A\x0F'\x00$\x01$\x02 \x04 \x05)\x08(\t%\n$\x0B$\x0C'\r*\x0E*\x0F \x117\x005\x015\x020\x040\x058\n6\x0B6\x0C8\r9\x0E9\x0F0\x11A\x00@\x01@\x02@\x03@\x04@\x05@\x06@\x07@\x08B\tE\nG\rI\x0EI\x0F@\x11T\x00Q\x01Q\x02U\x03P\x04P\x05V\x06U\x07V\x08W\tW\nU\x0BU\x0CY\x0EY\x0FP\x11f\x01f\x02h\ni\x0Ei\x0F`\x11{\x08x\x0Ex\x0F\x89\x00\x8A\t\x85\x0B\x85\x0C\x89\r\x89\x0E\x89\x0F\x99\t\x95\x0B\x95\x0C\x9A\x0E\x9A\x0F\xA4\x0B\xA4\x0C\xAB\x0E\xAB\x0F\xB0\x11\xCF\x11\xDF\x11\xFF\x11e]\x00]\x05\x0E\x01+\x015326?\x01\x013\t\x013\x02\x93N\x94|\x93lLT3!\xFE;\xC3\x01^\x01^\xC3h\xC8z\x9AH\x86T\x04N\xFC\x94\x03l\x00\x01\x00X\x00\x00\x03\xDB\x04`\x00\t\x00\xB4@\x1A\x08\x11\x02\x03\x02\x03\x11\x07\x08\x07B\x08\xA9\x00\xBC\x03\xA9\x05\x08\x03\x01\x00\x04\x01\x06\n\x10\xDC\xC42\xC4\x11991\x00/\xEC\xF4\xEC0KSX\x07\x10\x05\xED\x07\x10\x05\xEDY\"\x01K\xB0\x0BTK\xB0\x0CT[X\xBD\x00\n\x00@\x00\x01\x00\n\x00\n\xFF\xC08\x1178Y\x01K\xB0\x13TX\xBD\x00\n\xFF\xC0\x00\x01\x00\n\x00\n\x00@8\x1178Y@B\x05\x02\x16\x02&\x02G\x02I\x07\x05\x0B\x08\x0F\x0B\x18\x03\x1B\x08+\x08 \x0B6\x039\x080\x0B@\x01@\x02E\x03@\x04@\x05C\x08W\x03Y\x08_\x0B`\x01`\x02f\x03`\x04`\x05b\x08\x7F\x0B\x80\x0B\xAF\x0B\x1B]\x00]\x13!\x15\x01!\x15!5\x01!q\x03j\xFDL\x02\xB4\xFC}\x02\xB4\xFDe\x04`\xA8\xFC\xDB\x93\xA8\x03%\x00\x01\x01\x00\xFE\xB2\x04\x17\x06\x14\x00$\x00\x82@4\x19\x0F\x15\x0B\x06%\t\x1A\x10\x15\x1D\x0B\x05 !\x03\x00\x0B\xA9\t\x00\xA9\x01\xC0\t\x15\xA9\x13\xB1%\x0C\t\n\x05$\x16\x19\x00\x1D\n\x05\x13\x02\x14\x00 \x19C\n\x0F\x05%\x10\xD4<\xC4\xFC<\xC4299\x11\x129\x11\x1299\x11\x12991\x00\x10\xFC\xEC\xC4\xF4\xEC\x10\xEE\x12\x179\x129\x1199\x11\x129\x11\x12990\x01K\xB0\x0CTX\xBD\x00%\xFF\xC0\x00\x01\x00%\x00%\x00@8\x1178Y\xB2\x00&\x01]\x05\x15#\"&=\x014&+\x015326=\x0146;\x01\x15#\"\x06\x1D\x01\x14\x06\x07\x1E\x01\x1D\x01\x14\x163\x04\x17>\xF9\xA9l\x8E==\x8Fk\xA9\xF9>D\x8DV[noZV\x8D\xBE\x90\x94\xDD\xEF\x97t\x8Fs\x95\xF0\xDD\x93\x8FX\x8D\xF8\x9D\x8E\x19\x1B\x8E\x9C\xF8\x8DX\x00\x01\x01\x04\xFE\x1D\x01\xAE\x06\x1D\x00\x03\x00\x12\xB7\x01\x00\xB1\x04\x00\x05\x02\x04\x10\xD4\xEC1\x00\x10\xFC\xCC0\x01\x11#\x11\x01\xAE\xAA\x06\x1D\xF8\x00\x08\x00\x00\x00\x01\x01\x00\xFE\xB2\x04\x17\x06\x14\x00$\x00\x9E@6\x1F%\x1B\x16\x0C\x0F\x08\x1B\x0B\x15\x19\x0F\x04\x05 \x03\x00\x19\xA9\x1B\x00\xA9#\xC0\x1B\x0F\xA9\x11\xB1%\x1C\x19\x1A\x15\x0F\x01\x04\x00\x08\x1A\x15#\x12\x04\x00\x1A\x1F\x15C\x10\x00\x0B\x04%\x10\xD4<\xC42\xFC<\xC4\x11\x1299\x11\x129\x11\x1299\x11\x12991\x00\x10\xFC\xEC\xC4\xF4\xEC\x10\xEE\x12\x179\x11\x1299\x119\x1199\x11\x1290\x01K\xB0\nTX\xBD\x00%\x00@\x00\x01\x00%\x00%\xFF\xC08\x1178Y\x01K\xB0\x0ETX\xBD\x00%\xFF\xC0\x00\x01\x00%\x00%\x00@8\x1178Y\xB2\x00&\x01]\x05326=\x01467.\x01=\x014&+\x01532\x16\x1D\x01\x14\x16;\x01\x15#\"\x06\x1D\x01\x14\x06+\x01\x01\x00F\x8CUZooZU\x8CF?\xF9\xA7l\x8E>>\x8El\xA7\xF9?\xBEV\x8F\xF8\x9C\x8E\x1B\x19\x8E\x9D\xF8\x8EW\x8F\x93\xDD\xF0\x95s\x8Ft\x97\xEF\xDD\x94\x00\x01\x00\xD9\x01\xD3\x05\xDB\x031\x00\x1D\x00#@\x10\x01\x10\x1B\x0C\x00\x13\x04\x9C\x1B\x13\x9C\x0C\x1E\x00\x0F\x1E\x10\xD4\xC41\x00\x10\xD4\xFC\xD4\xEC\x10\xC0\x11\x12990\x01\x15\x06\x06#\"'&'&'&#\"\x06\x0756632\x17\x16\x17\x16\x17\x16326\x05\xDBi\xB3an\x92\x0B\x05\x07\x0F\x9B^X\xACbi\xB3an\x93\n\x05\x08\x0E\x9B^V\xA9\x031\xB2OD;\x04\x02\x03\x05>MS\xB2OE<\x04\x02\x03\x05>L\x00\xFF\xFF\x00\x10\x00\x00\x05h\x07N\x02'\x00$\x00\x00\x00\x00\x00\x07\x01\x03\x00\xBC\x01u\x00\x03\x00\x10\x00\x00\x05h\x07m\x00\x0B\x00\x0E\x00!\x00\xCB@T\x0C\x11\r\x0C\x1B\x1C\x1B\x0E\x11\x1C\x1B\x1E\x11\x1C\x1B\x1D\x11\x1C\x1C\x1B\r\x11!\x0F!\x0C\x11\x0E\x0C\x0F\x0F! \x11\x0F!\x1F\x11!\x0F!B\x0C\x1B\x0F\r\t\x03\xC1\x15\t\x1E\x95\r\t\x8E \x1C\x1E\x1D\x1C\x18 \x1F!\r\x12\x06\x0E\x18\x0C\x06\x1B\x00V\x18\x1C\x0F\x06V\x12\x1C!\"\x10\xD4\xC4\xD4\xEC2\x10\xD4\xEE2\x119\x119\x11\x129\x1199\x11\x12991\x00/<\xE6\xD6\xEE\x10\xD4\xEE\x11\x129990KSX\x07\x10\x05\xED\x07\x05\xED\x07\x10\x08\xED\x07\x10\x05\xED\x07\x10\x05\xED\x07\x05\xED\x07\x05\xED\x07\x10\x08\xEDY\"\xB2 #\x01\x01]@ \x1A\x0Cs\x0C\x9B\x0C\x03\x07\x0F\x08\x1BP#f\ri\x0Eu\r{\x0Ey\x1Cy\x1Dv v!\x80#\x0C]\x00]\x014&#\"\x06\x15\x14\x16326\x03\x01!\x01.\x0154632\x16\x15\x14\x06\x07\x01#\x03!\x03#\x03TY?@WX??Y\x98\xFE\xF0\x02!\xFEX=>\x9Fsr\xA1?<\x02\x14\xD2\x88\xFD_\x88\xD5\x06Z?YWA?XX\xFE\xF3\xFD\x19\x03N)sIs\xA0\xA1rFv)\xFA\x8B\x01\x7F\xFE\x81\x00\xFF\xFF\x00s\xFEu\x05'\x05\xF0\x02'\x00&\x00\x00\x00\x00\x00\x07\x00\xDD\x01-\x00\x00\xFF\xFF\x00\xC9\x00\x00\x04\x8B\x07k\x02'\x00(\x00\x00\x00\x00\x00\x07\x01\x04\x00\x9E\x01u\xFF\xFF\x00\xC9\x00\x00\x053\x07^\x02'\x001\x00\x00\x00\x00\x00\x07\x01\x05\x00\xFE\x01u\xFF\xFF\x00s\xFF\xE3\x05\xD9\x07N\x02'\x002\x00\x00\x00\x00\x00\x07\x01\x03\x01'\x01u\xFF\xFF\x00\xB2\xFF\xE3\x05)\x07N\x02'\x008\x00\x00\x00\x00\x00\x07\x01\x03\x00\xEE\x01u\xFF\xFF\x00{\xFF\xE3\x04-\x06f\x02'\x00D\x00\x00\x00\x00\x00\x07\x00\x8D\x00R\x00\x00\xFF\xFF\x00{\xFF\xE3\x04-\x06f\x02'\x00D\x00\x00\x00\x00\x00\x07\x00C\x00R\x00\x00\xFF\xFF\x00{\xFF\xE3\x04-\x06f\x02'\x00D\x00\x00\x00\x00\x00\x07\x00\xD7\x00R\x00\x00\xFF\xFF\x00{\xFF\xE3\x04-\x06\x10\x02'\x00D\x00\x00\x00\x00\x00\x07\x00\x8E\x00R\x00\x00\xFF\xFF\x00{\xFF\xE3\x04-\x067\x02'\x00D\x00\x00\x00\x00\x00\x07\x00\xD8\x00R\x00\x00\xFF\xFF\x00{\xFF\xE3\x04-\x07\x06\x02'\x00D\x00\x00\x00\x00\x00\x07\x00\xDC\x00R\x00\x00\xFF\xFF\x00q\xFEu\x03\xE7\x04{\x02'\x00F\x00\x00\x00\x00\x00\x07\x00\xDD\x00\x8F\x00\x00\xFF\xFF\x00q\xFF\xE3\x04\x7F\x06f\x02'\x00H\x00\x00\x00\x00\x00\x07\x00\x8D\x00\x8B\x00\x00\xFF\xFF\x00q\xFF\xE3\x04\x7F\x06f\x02'\x00H\x00\x00\x00\x00\x00\x07\x00C\x00\x8B\x00\x00\xFF\xFF\x00q\xFF\xE3\x04\x7F\x06f\x02'\x00H\x00\x00\x00\x00\x00\x07\x00\xD7\x00\x8B\x00\x00\xFF\xFF\x00q\xFF\xE3\x04\x7F\x06\x10\x02'\x00H\x00\x00\x00\x00\x00\x07\x00\x8E\x00\x8B\x00\x00\xFF\xFF\x00\x90\x00\x00\x02o\x06f\x02'\x00\xD6\x00\x00\x00\x00\x00\x07\x00\x8D\xFF\x1D\x00\x00\xFF\xFF\xFF\xC7\x00\x00\x01\xA6\x06f\x02'\x00\xD6\x00\x00\x00\x00\x00\x07\x00C\xFF\x1D\x00\x00\xFF\xFF\xFF\xDE\x00\x00\x02\\\x06f\x02'\x00\xD6\x00\x00\x00\x00\x00\x07\x00\xD7\xFF\x1D\x00\x00\xFF\xFF\xFF\xF4\x00\x00\x02F\x06\x10\x02'\x00\xD6\x00\x00\x00\x00\x00\x07\x00\x8E\xFF\x1D\x00\x00\xFF\xFF\x00\xBA\x00\x00\x04d\x067\x02'\x00Q\x00\x00\x00\x00\x00\x07\x00\xD8\x00\x98\x00\x00\xFF\xFF\x00q\xFF\xE3\x04u\x06f\x02'\x00R\x00\x00\x00\x00\x00\x07\x00\x8D\x00s\x00\x00\xFF\xFF\x00q\xFF\xE3\x04u\x06f\x02'\x00R\x00\x00\x00\x00\x00\x07\x00C\x00s\x00\x00\xFF\xFF\x00q\xFF\xE3\x04u\x06f\x02'\x00R\x00\x00\x00\x00\x00\x07\x00\xD7\x00s\x00\x00\xFF\xFF\x00q\xFF\xE3\x04u\x06\x10\x02'\x00R\x00\x00\x00\x00\x00\x07\x00\x8E\x00s\x00\x00\xFF\xFF\x00q\xFF\xE3\x04u\x067\x02'\x00R\x00\x00\x00\x00\x00\x07\x00\xD8\x00s\x00\x00\xFF\xFF\x00\xAE\xFF\xE3\x04X\x06f\x02'\x00X\x00\x00\x00\x00\x00\x07\x00\x8D\x00{\x00\x00\xFF\xFF\x00\xAE\xFF\xE3\x04X\x06f\x02'\x00X\x00\x00\x00\x00\x00\x07\x00C\x00{\x00\x00\xFF\xFF\x00\xAE\xFF\xE3\x04X\x06f\x02'\x00X\x00\x00\x00\x00\x00\x07\x00\xD7\x00{\x00\x00\xFF\xFF\x00\xAE\xFF\xE3\x04X\x06\x10\x02'\x00X\x00\x00\x00\x00\x00\x07\x00\x8E\x00{\x00\x00\x00\x01\x009\xFF;\x03\xC7\x05\xD5\x00\x0B\x00'@\x14\x08\x04\xB9\n\x02\x00\x81\x06\xC2\x0C\x03Y\x05\x01W\tY\x07\x00\x0C\x10\xD4<\xEC\xFC<\xEC1\x00\x10\xE4\xF4\xD4<\xEC20\x013\x11!\x15!\x11#\x11!5!\x01\xA8\xB0\x01o\xFE\x91\xB0\xFE\x91\x01o\x05\xD5\xFE\\\x99\xFB\xA3\x04]\x99\x00\x00\x02\x00\xC3\x03u\x03=\x05\xF0\x00\x0B\x00\x1A\x00 @\x11\x06\xC3\x15\xC4\x00\xC3\x0C\x91\x1B\tZ\x12[\x03Z\x18\x1B\x10\xDC\xEC\xFC\xEC1\x00\x10\xF4\xEC\xFC\xEC0\x01\"\x06\x15\x14\x1632654&'2\x16\x17\x16\x16\x15\x14\x06#\"&546\x02\x00PnnPPnoO@v+..\xB9\x86\x87\xB4\xB8\x05ooPOmmOOp\x811.-rB\x84\xB7\xB4\x87\x86\xBA\x00\x00\x02\x00\xAC\xFE\xC7\x04#\x05\x98\x00\x06\x00!\x00Q@+\x13\x16\x14\x00\x0F\x0C\x01\x0B\x07\x86\x08\x88\x0B\x10\x86\x0F\x88\x0C\xB9\x14\x16\x0B\xB9\x1D\x1F\x1C\xB8\x16\x8C\"\x1C\x15\x00\t\x1E\x13\x0B\x0F\x07\x04\x12\x19\"\x10\xDC\xEC\xD4<\xD4<<\xEC221\x00\x10\xE4\xF4<\xC4\xEC\x10\xC4\xFE\xF4\xEE\x10\xF5\xEE\x129\x11\x129\x11\x1290%\x11\x06\x06\x15\x14\x16\x01\x15&&'\x03667\x15\x06\x06\x07\x11#\x11&\x00\x11\x10\x007\x113\x13\x16\x16\x02\xA6\x93\xA4\xA4\x02\x10J\x88D\x01F\x89HA\x89Mf\xF1\xFE\xF7\x01\t\xF1f\x01I\x89\x83\x03X\x12\xE2\xB8\xB9\xE2\x03\xA1\xAC)*\x03\xFC\xA0\x05*'\xAA\x1E#\x07\xFE\xE4\x01 \x14\x013\x01\x01\x01\x02\x012\x16\x01\x1F\xFE\xE1\x04!\x00\x01\x00\x81\x00\x00\x04b\x05\xF0\x00\x1B\x00`@!\x07\x16\x08\x01\x86\x00\x12\n\xA9\x14\x08\x0C\x04\xA0\x00\x94\x19\x91\x10\x0C\xA0\x0E\x00\r\t\x0B\x07\x1C\x13\x0F\x15\x11\x1C\x10\xDC<\xCC\xCC\xFC<\xC4\xD4\xC41\x00/\xEC2\xF4\xE4\xEC\x10\xD4<\xEE2\x10\xEE\x11990\x01K\xB0\x0CTX\xBD\x00\x1C\xFF\xC0\x00\x01\x00\x1C\x00\x1C\x00@8\x1178Y\xB46\x016\x02\x02\x00]\x01\x15.\x01#\"\x06\x1D\x01!\x15!\x11!\x15!53\x11#535\x10632\x16\x04NL\x88=\x94t\x01\x87\xFEy\x02-\xFC\x1F\xEC\xC7\xC7\xD6\xE8=\x97\x05\xB4\xB6))\x9B\xD4\xD7\x8F\xFE/\xAA\xAA\x01\xD1\x8F\xEE\x01\x05\xF3\x1F\x00\x00\x02\x00\\\xFF=\x03\xA2\x05\xF0\x00\x0B\x00>\x00\x91@</0*\x06\x00\x17\x1D06\x04\r'\x8A&\r\x8A\x0C*\xC6&\xC5#\x10\xC6\x0C\xC5<\x91#?/\x06\x00\x170\x04\x13\x1D-\t6\x03\x13W9-W \tW\x0C\"\x1A9&\"\x03W3?\x10\xDC\xEC\xE4\xC4\xD4\xE4\xEC\xD4\xEC\x10\xEE\x119\x11\x129\x11\x17991\x00\x10\xC4\xF4\xE4\xEC\x10\xE6\xEE\x10\xEE\x10\xEE\x11\x17999\x11\x1290\x01K\xB0\nTK\xB0\x0BT[K\xB0\x0CT[K\xB0\x0ET[X\xBD\x00?\x00@\x00\x01\x00?\x00?\xFF\xC08\x1178Y\x01\x0E\x01\x15\x14\x16\x17>\x0154&\x13\x15.\x01#\"\x06\x15\x14\x17\x16\x17\x1E\x01\x15\x14\x06\x07\x1E\x01\x15\x14\x06#\"&'5\x1E\x0132654/\x01.\x015467.\x0154632\x16\x01{?>\x8B\xFA?>\x8F\xCCS\x8F8al\xCE\x1A\x0E\xD3\x83\\]>9\xCC\xADI\x9AXW\x94:fq\xDD\x19\xD6\x80][;;\xC8\xA6I\x99\x03\xA8.Z.L\x85\x87-[.K\x88\x02\x93\xA4''PGZs\x0F\x08w\x9AeZ\x8C54m@\x8E\xA8\x1D\x1D\xA4''TLf{\x0Ex\x99f[\x8F1,pE\x82\x9F\x1D\x00\x00\x01\x013\x01\xD1\x03\x85\x04!\x00\x0B\x00\x12\xB7\t\xC7\x03\x0C\x06\\\x00\x0C\x10\xD4\xEC1\x00\x10\xD4\xEC0\x014632\x16\x15\x14\x06#\"&\x013\xAD~|\xAB\xAC}}\xAC\x02\xFA|\xAB\xAB|}\xAC\xAC\x00\x00\x01\x00\x9E\xFF;\x049\x05\xD5\x00\r\x00%@\x12\x08\x02\x04\xC1\x00\x81\x06\x02\x0E\x00\x07]\x05\x03]\x01\x0B\x0E\x10\xD4\xD4\xFC\xDC\xEC91\x00\x10\xC42\xF4\xEC\x1190\x01!\x11#\x11#\x11#\x11&&54$\x02y\x01\xC0\x8D\xBE\x8E\xD7\xEB\x01\x04\x05\xD5\xF9f\x06\x1F\xF9\xE1\x03N\x11\xDD\xB8\xBE\xE8\x00\x00\x01\x00\xBA\xFF\xE3\x04\xAC\x06\x14\x00/\x00\x9A@0-'!\x0C\x04\x06\r \x00\x04*\x16\x86\x17\x1A\xB9\x13*\xB9\x03\x97\x13\x8C.\x0C\t\r\x1D !'\t\x08$'\x08\x06\x1D\x08$\x10\x16-\x08\x10\x00F0\x10\xFC\xC4\xFC\xCC\x10\xC6\xEE\xD4\xEE\x10\xEE\x1199\x129\x1291\x00/\xE4\xFE\xEE\x10\xFE\xD5\xEE\x12\x179\x1790@@\x0F\x05\x0F\x06\x0F\x07\x0F'\x0F(\x8A\x0C\x8A\r\x07\n\x06\n\x07\n\x0B\n\x0C\n\r\n\x1F\r \n!\x0C\"\x04&\x19\r\x19\x1F\x19 : :!M\x1FM I!I\"j\x1Fj \xA5\x06\xA5\x07\xA6 \x18]\x01]\x134632\x16\x17\x0E\x01\x15\x14\x16\x1F\x01\x1E\x01\x15\x14\x06#\"&'5\x1E\x0132654&/\x01.\x015467.\x01#\"\x06\x15\x11#\xBA\xEF\xDA\xD0\xDB\x03\x97\xA8:A9\xA6`\xE1\xD3@\x88IP\x8CAtx;e\\`W\xA7\x97\x08\x83q\x82\x88\xBB\x04q\xC8\xDB\xE8\xE0\x08s`/Q*%j\x8Ed\xAC\xB7\x19\x18\xA4\x1E\x1D_[?T>7;\x87[\x7F\xAC\x1Dgp\x8B\x83\xFB\x93\x00\x00\x04\x01\x1B\x00\x00\x06\xE5\x05\xCD\x00\x17\x00/\x008\x00L\x00`@6EBC?2\xC9H0\xC99JC\xCA\x0C9\xCA\x00\xC9\x18\xC8\x0C\xC9$HE30\x041B<?96I1`K6`C<^\x12\t\x1EK^\x06\t\x1E_*M\x10\xDC\xE4\xFC\xEC\x10\xFE\xFD\xC4\xEE\x10\xEE2\x1199\x129\x12\x1791\x00/\xEE\xF6\xFE\xED\x10\xED2\x10\xEE\xD6\xEE9\x12990\x01\"\x06\x07\x06\x06\x15\x14\x16\x17\x16\x1632676654&'&&'2\x04\x17\x16\x12\x15\x14\x02\x07\x06\x04#\"$'&\x0254\x1276$\x13#\x1132654&'2\x16\x15\x14\x06\x07\x16\x16\x17\x17#'&&##\x11#\x11\x04\x00\x83\xE2^^``^^\xE2\x83\x84\xE3^]]^\\^\xE3\x84\x98\x01\x07mmllmm\xFE\xF9\x98\x98\xFE\xF9mmllmm\x01\x07}{{nWXf\xB0\xAEi`\x18C.\x89\xAC\x81;I6B\x9B\x05f^^^\xE5\x82\x81\xE3^^__^]\xE2\x83\x85\xE3]^^gnmm\xFE\xFA\x9A\x98\xFE\xFBmmnnmm\x01\x05\x98\x9A\x01\x06mmn\xFEb\xFE\xEC>KL?gwyVp\x11\x08MI\xDF\xD1`3\xFE\x9C\x03D\x00\x03\x01\x1B\x00\x00\x06\xE5\x05\xCD\x00\x17\x00/\x00I\x00C@&=\xCB>:\xCCA\xCA$1\xCB04\xCCG\xCA\x18\xC9\x00\xC8$\xC9\x0C7aD=0^*\t\x06D^\x1E\t\x06\x12J\x10\xDC\xCC\xFC\xEC\x10\xFE\xED2\x10\xEE1\x00/\xEE\xF6\xFE\xFD\xEE\xD6\xEE\x10\xFD\xEE\xD6\xEE0\x012\x04\x17\x16\x12\x15\x14\x02\x07\x06\x04#\"$'&\x0254\x1276$\x17\"\x06\x07\x06\x06\x15\x14\x16\x17\x16\x1632676654&'&&\x17\x15&&#\"\x06\x15\x14\x163267\x15\x06\x06#\"&54632\x16\x04\x00\x98\x01\x07mmllmm\xFE\xF9\x98\x98\xFE\xF9mmllmm\x01\x07\x98\x83\xE2^^``^^\xE2\x83\x84\xE3^]]^\\^\xE3\xA7B\x82B\x95\xA7\xAB\x9B@zBC\x89F\xD8\xFB\xFB\xD8I\x88\x05\xCDnmm\xFE\xFA\x9A\x98\xFE\xFBmmnnmm\x01\x05\x98\x9A\x01\x06mmng^^^\xE5\x82\x81\xE3^^__^]\xE2\x83\x85\xE3]^^\xF5\x81! \xAF\x9D\x9F\xAE\x1F\"\x7F\x1D\x1C\xF4\xD0\xD1\xF2\x1C\x00\x00\x02\x01'\x03\x93\x06F\x05\xD5\x00\x0C\x00\x14\x00>@!\x01\x06\x07\x10\n\x04\x12\x0E\t\x03\x06\xC9\r\x02\x00\x81\x15\x01\t\x05b\x03\tb\x0B\rc\x0Fb\x13c\x11\x15\x10\xD4\xE4\xFC\xE4\xD4\xEC\xD4\xEC\x1191\x00\x10\xF4<<\xEC\x172\xD4<<\xC4\x1190\x01\x13\x133\x11#\x11\x03#\x03\x11#\x11#\x15#\x11#\x11#5\x04J\xAE\xA4\xAAq\xC37\xCBrq\xCBr\xC9\x05\xD5\xFF\x00\x01\x00\xFD\xBE\x01\xE4\xFE\xD1\x01/\xFE\x1C\x02B^\xFE\x1C\x01\xE4^\x00\x00\x01\x01s\x04\xEE\x03R\x06f\x00\x03\x001@\t\x02\xB4\x00\xB3\x04\x03D\x01\x04\x10\xD4\xEC1\x00\x10\xF4\xEC0\x00K\xB0\tTK\xB0\x0ET[X\xBD\x00\x04\xFF\xC0\x00\x01\x00\x04\x00\x04\x00@8\x1178Y\x013\x01#\x02\x8B\xC7\xFE\xBA\x99\x06f\xFE\x88\x00\x00\x02\x00\xD7\x05F\x03)\x06\x10\x00\x03\x00\x07\x00\x92@\x0E\x06\x02\xCE\x04\x00\xCD\x08\x01d\x00\x05d\x04\x08\x10\xDC\xFC\xD4\xEC1\x00\x10\xFC<\xEC20\x00K\xB0\nTK\xB0\rT[X\xBD\x00\x08\x00@\x00\x01\x00\x08\x00\x08\xFF\xC08\x1178Y\x01K\xB0\x0CTK\xB0\rT[K\xB0\x0ET[K\xB0\x17T[X\xBD\x00\x08\xFF\xC0\x00\x01\x00\x08\x00\x08\x00@8\x1178Y\x01K\xB0\x0FTK\xB0\x19T[X\xBD\x00\x08\x00@\x00\x01\x00\x08\x00\x08\xFF\xC08\x1178Y@\x11`\x01`\x02`\x05`\x06p\x01p\x02p\x05p\x06\x08]\x013\x15#%3\x15#\x02^\xCB\xCB\xFEy\xCB\xCB\x06\x10\xCA\xCA\xCA\x00\x00\x01\x00\xD9\x00'\x05\xDB\x04\xDD\x00\x13\x00>@\"\r\x0C\n\x03\x02\xCF\x04\x00\x9C\x06\x0C\xCF\x0E\n\x9C\x12\x06\x10\x08\x14\x12\x0E\r\x0C\x08\x04\x03\x02\x08\t\x05\x0F\x00\x14\x10\xDC<\xC42\x1791\x00\x10\xD4<\xCC2\xFC<\xEC\x10\xFE<\xEC9\x11\x1290\x13!\x01\x17\x07!\x15!\x07!\x15!\x01'7!5!7!\xD9\x03\x04\x01\x00}\xAE\x01/\xFEH\xC3\x02{\xFC\xFA\xFE\xFE}\xAE\xFE\xD5\x01\xB6\xC3\xFD\x87\x03\xA2\x01;f\xD5\xA8\xF0\xAA\xFE\xC7f\xD3\xAA\xF0\x00\x02\x00\x08\x00\x00\x07H\x05\xD5\x00\x0F\x00\x13\x00\x87@9\x11\x11\x0E\x0F\x0E\x10\x11\x0F\x0F\x0E\r\x11\x0F\x0E\x0C\x11\x0E\x0F\x0EB\x05\x95\x03\x0B\x95\x11\x01\x95\x10\x95\x00\x81\x11\x07\x95\x03\xAD\r\t\x11\x10\x0F\r\x0C\x05\x0E\n\x00\x04\x08\x06\x02\x1C\x12\n\x0E\x14\x10\xD4\xD4<\xEC2\xD4\xC4\xC4\x11\x12\x1791\x00/<\xEC\xEC\xC4\xF4\xEC\xEC\x10\xEE\x10\xEE0KSX\x07\x10\x05\xED\x07\x05\xED\x07\x10\x05\xED\x07\x10\x05\xEDY\"\xB2\x80\x15\x01\x01]@\x13g\x11w\x10w\x11\x86\x0C\x85\x10\x96\x11\x90\x15\xA0\x15\xBF\x15\t]\x01\x15!\x11!\x15!\x11!\x15!\x11!\x03#\x01\x17\x01!\x11\x075\xFD\x1B\x02\xC7\xFD9\x02\xF8\xFC=\xFD\xF0\xA0\xCD\x02q\x8B\xFE\xB6\x01\xCB\x05\xD5\xAA\xFEF\xAA\xFD\xE3\xAA\x01\x7F\xFE\x81\x05\xD5\x9E\xFC\xF0\x03\x10\x00\x03\x00f\xFF\xBA\x05\xE5\x06\x17\x00\t\x00\x13\x00+\x00\x9E@<\x1D\x1F\x1A\r+,\x13\n\x01\x00\x04\r)& \x14\r\x04*&\x1E\x1A\x04\x95&\r\x95\x1A\x91&\x8C,+,*\x14\x17\x10 \x1E#\x13\n\x01\x00\x04\x1D)\x10\x07\x1F\x07\x19#3\x10\x19\x17\x10,\x10\xFC\xEC\xFC\xEC\xC0\x11\x1299\x179\x1299\x11\x1299\x1191\x00\x10\xE4\xF4\xEC\x10\xEE\x10\xC0\x10\xC0\x11\x1299\x129\x12\x179\x129\x11\x12990@*W\x00Z\x15W\x19U!j\x15e!{\x15v\x1Cu!\tF\x13Y\x00V\x13j\x00d\x13d\x1Cj(|\x00s\x13v\x1Cz(\x0B]\x01]\t\x01\x1E\x0132\x00\x114&'.\x01#\"\x00\x11\x14\x16\x17\x07&\x025\x10\x00!2\x16\x177\x17\x07\x16\x12\x15\x10\x00!\"&'\x07'\x04\xB6\xFD3>\xA1_\xDC\x01\x01'y=\xA1_\xDC\xFE\xFD''\x86NO\x01y\x01;\x82\xDDW\xA2f\xAANP\xFE\x88\xFE\xC6\x80\xDD[\xA2g\x04X\xFC\xB2@C\x01H\x01\x1Ap\xB8\xB8@C\xFE\xB8\xFE\xE5p\xBCD\x9Ef\x01\x08\xA0\x01b\x01\xA5MK\xBFY\xC6g\xFE\xF6\x9E\xFE\x9F\xFE[KK\xBFX\x00\x03\x00\xDD\x00\xDD\x05\xCF\x03\xEE\x00\x0B\x00\x17\x00/\x00\xFF@\x1D-\x1B\x15\t!\x03\x00$\x18\x04\x15\x0F'!\x15\x1B\x0F!0\x0C\x00$\x18\x12\x06*\x12\x1E0\x10\xD4\xC4\xD4\xC4\x1199991\x00\x10\xD4\xC4\xD4\xC4\x10\xC0\x11\x12\x179\x129\x11\x1290@\xBE\x05\x02\x05\x03\x05\x04\x00\x05\x00\x06\x00\x07\x05\x08\x05\t\x05\n\n\x10\x0F\x11\x0F\x12\x0F\x13\n\x14\x15\x02\x15\x03\x15\x04\x10\x05\x10\x06\x10\x07\x15\x08\x15\t\x15\n\x1A\x0E\x1A\x0F\x1A\x10\x1F\x11\x1F\x12\x1F\x13\x1A\x14\x1A\x15\x1A\x16$\x02$\x03$\x04 \x05 \x06 \x07$\x08$\t$\n*\x0E*\x0F*\x10/\x11/\x12/\x13*\x14*\x15*\x165\x025\x035\x040\x050\x060\x075\x085\t5\n:\x0E:\x0F:\x10?\x11?\x12?\x13:\x14:\x15:\x16E\x02E\x03E\x04@\x05@\x06@\x07E\x08E\tE\nJ\x0EJ\x0FJ\x10O\x11O\x12O\x13J\x14J\x15J\x16V\xB4\x1F\xB0 \xB0!\xB0\"\xB0&\xB0'\xB0(\xB4)\x08]\x01]\x01\x1E\x0132654&#\"\x06\x07.\x01#\"\x06\x15\x14\x16326\x17\x0E\x01#\"&54632\x16\x17>\x0132\x16\x15\x14\x06#\"&\x03\x931\x86Te\x80vYR\x85\xC41\x85Uf\x7FvYR\x86\x90F\x9D^\x88\xBA\xA7\x86_\x99HD\x9Ea\x86\xBC\xA7\x86^\x95\x02/XZ\x87ie\x86\x877XX\x84je\x86\x88\x16\x87\x7F\xDF\xA6\xAF\xD8~\x8A\x8A\x83\xE1\xA7\xAF\xD6w\x00\x00\x02\x00\xD9\x00\x00\x05\xDB\x05\x04\x00\x0B\x00\x0F\x00.@\x18\x05\xD0\x07\x03\x9C\x00\xD0\t\x01\x0C\x9C\x0E\r\x02\x15\x04\x00\x17\x0C\x08\x15\n\x06\x10\x10\xD4<\xEC2\xFC<\xEC21\x00/\xEC\xD4<\xEC\xFC<\xEC0\x01\x11!\x15!\x11#\x11!5!\x11\x01!\x15!\x03\xAE\x02-\xFD\xD3\xA8\xFD\xD3\x02-\xFD\xD3\x05\x02\xFA\xFE\x05\x04\xFE}\xAA\xFE}\x01\x83\xAA\x01\x83\xFB\xA6\xAA\x00\x02\x00\xD9\x00\x00\x05\xDB\x04\xA8\x00\x06\x00\n\x00T@.\x02\x9C\x03\x04\x03\x01\x9C\x00\x01\x04\x04\x03\x01\x9C\x02\x01\x05\x06\x05\x00\x9C\x06\x05B\x05\x04\x02\x01\x00\x05\x03\xD1\x06\xA7\x07\x9C\t\x01\x08\x02\x00$\x07\x04#\x0B\x10\xFC<\xEC2291\x00/\xEC\xF4\xEC\x1790KSX\x07\x04\xED\x07\x10\x08\xED\x07\x10\x08\xED\x07\x10\x04\xEDY\"\t\x02\x15\x015\x01\x01!\x15!\x05\xDB\xFC@\x03\xC0\xFA\xFE\x05\x02\xFA\xFE\x05\x02\xFA\xFE\x03\xF8\xFE\xEB\xFE\xEE\xB2\x01p\xAA\x01o\xFC\x02\xAA\x00\x00\x02\x00\xD9\x00\x00\x05\xDB\x04\xA8\x00\x06\x00\n\x00V@/\x06\x9C\x00\x06\x03\x04\x03\x05\x9C\x04\x04\x03\x00\x9C\x01\x02\x01\x06\x9C\x05\x06\x02\x02\x01B\x06\x05\x03\x02\x00\x05\x04\xD1\x01\xA7\x07\x9C\x08\x06\x07\x02$\t\x04\x00#\x0B\x10\xFC<<\xEC291\x00/\xEC\xF4\xEC\x1790KSX\x07\x10\x08\xED\x07\x10\x04\xED\x07\x10\x04\xED\x07\x10\x08\xEDY\"\x135\x01\x15\x015\x01\x01\x15!5\xD9\x05\x02\xFA\xFE\x03\xC1\x01A\xFA\xFE\x03\xF8\xB0\xFE\x91\xAA\xFE\x90\xB2\x01\x12\xFD\xC7\xAA\xAA\x00\x00\x01\x00R\x00\x00\x04\xC3\x05\xD5\x00\x18\x00\xC6@F\x10\x02\x11\x16\x11\x0F\x02\x0E\x0F\x16\x16\x11\x0F\x02\x10\x0F\x08\r\x08\x0E\x02\r\r\x08B\x0F\x0B\t\x04\x00\xD3\x17\x06\x12\x0B\xD3\x14\t\x10\r\x81\x02\x0C\t\x0E\x03\x05\x16\x0F\x03\x15\x12\x10\x03\x00\x11f\x13\x00e\x01\x1C\rf\n\x05e\x07\x03\x19\x10\xD4<\xEC2\xEC\xFC\xEC2\xEC\x12\x179\x1299\x11\x1791\x00/\xE42\xD4<\xEC2\xD4<\xEC2\x11\x1290KSX\x07\x10\x05\xED\x07\x10\x08\xED\x07\x10\x08\xED\x07\x10\x05\xEDY\"\x01K\xB0\x0CTX\xBD\x00\x19\xFF\xC0\x00\x01\x00\x19\x00\x19\x00@8\x1178Y@(\x86\x0F\x90\x0F\xA6\x0F\xA0\x0F\xB5\x0F\x05'\x0C'\r'\x0E)\x10(\x11(\x127\x0E9\x10\x87\x0C\x88\x12\xA6\r\xA5\x0E\xAA\x10\xA9\x11\x0E]\x00]\x01!\x11#\x11!5!5'!5!\x013\t\x013\x01!\x15!\x07\x15!\x04\x8D\xFEc\xC9\xFE`\x01\xA0T\xFE\xB4\x01\x08\xFE\xC3\xBE\x01{\x01y\xBF\xFE\xC2\x01\x08\xFE\xB5T\x01\x9F\x01\xC7\xFE9\x01\xC7{3\x9B{\x02J\xFDD\x02\xBC\xFD\xB6{\x9B3\x00\x00\x01\x00\xAE\xFEV\x04\xE5\x04`\x00 \x00M@%\x13\x19\x1F\x03\x16\x06\x03\t\x0C\x03\x01\x12\x0F\x06\x87\x1C\x16\x8C\n\x01\xBC\x00\xBD!\x19\t\x12\t\x08\x0BN\x1F\x02\x08\x00F!\x10\xFC\xEC2\xF4\xEC\xC4\x1291\x00\x10\xE4\xE42\xF4<\xEC\xDC\xC4\x11\x179\x11\x12\x1790\xB6\x1F\"`\"\xCF\"\x03\x01]\x13\x113\x11\x14\x163265\x113\x11\x14\x163267\x15\x0E\x01#\"&'\x0E\x01#\"&'\x11\xAE\xB8\x8A\x87\x94\x95\xB8#%\t \x1C)I#ER\x0F2\x91bf\x8F*\xFEV\x06\n\xFDH\x91\x94\xA8\xA8\x02\x8D\xFC\xA2<9\x0B\x0C\x94\x17\x16NPOONN\xFD\xD7\x00\x00\x02\x00h\xFF\xE7\x03\xC1\x05-\x00\x1D\x00)\x00b@\x19\x00'!\t\x1B\x06'\x15\x06\x0F!\x1B\x0F\x15\xD5*\x0C$\x03\x00\x1E\x12$\x18*\x10\xD4\xCC\xDC\xCC99\x1191\x00\x10\xE4\xCC\xDC\xCC\x10\xCE\x10\xCE\x11\x129\x11\x1290\x01K\xB0\x0CTK\xB0\x0BT[K\xB0\x0ET[K\xB0\x10T[K\xB0\x14T[X\xBD\x00*\x00@\x00\x01\x00*\x00*\xFF\xC08\x1178Y\x01>\x0154&#\"\x06#\"&54632\x12\x11\x10\x00#\"&54\x1232\x16\x074&#\"\x02\x15\x14\x1632\x12\x02\xF4\x0F\x0FIH7\x90$$0\x90e\xB4\xD6\xFE\xDF\xD5\x98\xCB\xDD\xA2e\x82\x0BWOm\x8DVPm\x8D\x02mW\xA3K\x81\x83t,\x1F>b\xFE\xCA\xFE\xF9\xFE\xB1\xFEF\xD8\xA3\xC6\x01\x01[\xE0t}\xFE\xFE\xCFt{\x01\x04\x00\x00\x01\x00\x19\xFEw\x05;\x05\xC1\x00\x0B\x00]@\x14\n\x04\x0C\x02\x05\x07\x02\x00\x07\x0C\n\x05\x04\x03\x01\x00\x06\x06\x08\x0C\x10\xD4\xC4\x1791\x00\x10\xC4\xD4\xCC\x10\xCE\x11\x12990@0Q\x03V\x05P\x05Z\ns\x03p\x03v\x04u\x05p\x05z\n\x80\x03\x80\x05\x0CZ\t\x7F\x02\x7F\x03p\x05p\x06{\tt\x0B\x8F\x02\x8F\x03\x80\x05\x80\x06\x0B]\x01]\x13!\x15!\t\x01!\x15!5\t\x017\x04\xEA\xFCA\x02\xA0\xFDJ\x03\xEF\xFA\xDE\x02\xD5\xFDI\x05\xC1\xC1\xFD3\xFD\x04\xC0\x95\x03!\x02\xE3\x00\x00\x01\x00\x9C\xFEw\x05q\x05\xC1\x00\x07\x00\x1E@\x0F\x06\x02\xD7\x04\xD6\x00\xAF\x08\x03g\x01\x05g\x00\x08\x10\xD4\xEC\xD4\xEC1\x00\x10\xFC\xEC\xEC20\x13!\x11#\x11!\x11#\x9C\x04\xD5\xF0\xFD\n\xEF\x05\xC1\xF8\xB6\x06}\xF9\x83\x00\x00\x01\xFF\xE1\xFF\xF0\x04\xAA\x04/\x00#\x00\xCB@1\x0B\x02\x15\x1F\x1E\x03\x00\x08\xDA\x0F\x1A\x16\x00\xD9\"\xD8\x0F\xD5\x18\x0C\x1E\x1B\x1A\x19\x18\x17\x06$\x12\x01\x00\x0B\x02\x04#\x16\x15\x05\"\x1F\x12\x0C#\x12h\x05#\x1F$\x10\xD4\xD4\xD4\xEC\x129\x11\x129\x1299\x11\x179\x11\x12\x1791\x00/<\xE4\xF4\xEC22\x10\xEE\x11\x179990\x01K\xB0\nTX\xBD\x00$\xFF\xC0\x00\x01\x00$\x00$\x00@8\x1178Y@V\x18\x1E\x18\x1F\x02\t\x00\t\x01\r\x02\r\x03\x0F\x04\x0F\x05\x0F\x06\x0F\x07\x0F\x08\x0F\t\x0F\n\x0F\x0B\x0F\x0C\x0F\r\x0F\x0E\x0F\x0F\x0F\x10\x0F\x11\x0F\x12\x0F\x13\x0E\x14\r\x15\t\x16\x0B\x17\x08\x18\x0F\x18\r\x19\x08\x1A\t#\x11\x00\x11\x01\x16\x02\x16\x03\x17\x14\x16\x15\x11\x16\x17\x17\x1C\x18\x1C\x19\x11#(]\x00]\x01#\x03\x0E\x01\x15\x14\x163267\x07\x0E\x01#\"&5467\x13!\x03#\x13#\"\x06\x07#>\x013!\x04\x87\xB6i\x0F\x0F/7\x11.%\x1E\x1E7\x1Avy\x15\"P\xFE\xBA\xC2\xB5\xC3)6<\t\xA0\x1C\x8F\xA5\x03y\x03\x91\xFE\x19J\\\x16:1\x05\x05\x8D\x08\x08fd.\x90\xA1\x01x\xFCo\x03\x91@E\xA6}\x00\x00\x01\x00/\xFE\x8D\x03\xFA\x06\x0E\x00%\x00&@\x14 \xDB\x00\x1A\r\xDB\x13\x1A\xDC\x07\xB1&\ni\x17j\x1Di\x04&\x10\xDC\xEC\xFC\xEC1\x00\x10\xFC\xEC\xDC\xE4\x10\xDE\xE40\x012\x1367\x12\x1232\x16\x15\x14\x06#\"&'&&#\"\x03\x06\x07\x02\x02#\"&54632\x16\x17\x16\x16\x017j\x0E\x02\x01\x0C\xBE\xCAPd@7*8\x0C\x06\t\x10k\x0E\x04\x04\x11\xBD\xC4OeD=!0\x0F\n\n\xFE\xFA\x02\xB0l9\x02\x03\x01\xBCTA6?&#\x0FH\xFD\x95\xC1n\xFE!\xFEbSA8?\x1D\x1C\x12S\x00\x00\x03\x00s\x01\xD5\x03;\x05\xF0\x00\x03\x00\x1E\x00)\x00_@3(\x07%\x04\x1F\x12\x18\x10\x02\xE3\x00\x1F\xDD\x10\x00\xE1%\xDD\x05\n\x19\xDF\x18\xDE\x15\xDD\n\xE0\x1C\x91*\x00\x18\r\x1F\x10\"\x06\x02\x01(\x11\x06k\x04l\x18\"k\r*\x10\xDC\xEC\xCC\xFC\xEC22\xC0\xC0\x11\x1299\x11\x1291\x00\x10\xF4\xE4\xFC\xF4\xEC\x10\xC4\xEE\xED\xD6\xEE\x10\xEE\x11\x129\x129\x11990\x13!\x15!\x01\x11#5\x06\x06#\"&5463354&#\"\x06\x0756632\x16\x05\"\x06\x15\x14\x1632655\x8B\x02\xB0\xFDP\x02\xAE\x95,\x90]\x80\x98\xBF\xBC\xB6uu>\x88DI\x91E\xB7\xB3\xFE\xEC\xA1~bRh\x82\x02P{\x02\xB8\xFE@p?D\x87q\x87\x8A\x04[[\"\"\x7F\x1C\x1C\xB0\xF0CO@M\x90r\x1D\x00\x03\x00`\x01\xD5\x03d\x05\xF0\x00\x03\x00\x0F\x00\x1B\x00.@\x19\x02\xE3\x00\xE1\x16\xDD\n\xE0\x10\xDD\x04\x91\x1C\x00\x13\r\x01\x19k\x07l\x13k\r\x1C\x10\xDC\xEC\xFC\xEC9\x11\x1291\x00\x10\xF4\xEC\xF4\xEC\xFC\xEC0\x13!\x15!\x012\x16\x15\x14\x06#\"&546\x17\"\x06\x15\x14\x1632654&\x8B\x02\xB0\xFDP\x01X\xB3\xCE\xCE\xB3\xB3\xD0\xD0\xB3i~\x7Fhi}|\x02P{\x04\x1B\xDD\xBF\xBF\xDB\xDC\xBE\xBF\xDDs\xA1\x88\x85\xA0\xA0\x85\x89\xA0\x00\x01\x00N\x00\x00\x05\xCF\x05\xE7\x00\x1F\x00@@\"\t\xE5\x19\x91\x12\x0F\x03\x03\x00\xE5\x10\x01\x11 \x16\x13\x0F\x0C\x1F\x06\x02\x01\x00\x02m\x06\x1C\x1C\x0Fm\x0C\x1C\x16 \x10\xD4\xEC\xEC\xD4\xEC\xEC\xC0\xC0\x11\x129\x11\x129\x11\x1291\x00/<\xEC\x172\xF4\xEC0%\x15!56\x1254\x00#\"\x00\x15\x14\x12\x17\x15!5!&\x025\x10\x00! \x00\x11\x14\x02\x07\x05\xCF\xFD\xA8\xB1\xC6\xFE\xF8\xD8\xD8\xFE\xF7\xC7\xB2\xFD\xA8\x01?\x9E\x91\x01\x7F\x011\x01/\x01\x81\x8E\xA1\xB2\xB2\xB2a\x01L\xCA\xF0\x01\"\xFE\xDD\xEF\xCA\xFE\xB4a\xB2\xB2\x8B\x01*\xB8\x01>\x01\x8A\xFEw\xFE\xCB\xC2\xFE\xD8\x8D\x00\x00\x03\x00{\xFF\xE3\x07o\x04{\x00\x06\x003\x00>\x01\x03@C'-%=\x0E\r\x004\xA9%\x16\x86\x15\x88\x12\x00\xA9\x0E:\x12\xB9\x1C\x19.\x86-\xBA*\x03\xB9\x0E\xBB\x071\n\xB8\x1F\x19\x8C%?47&\x06\x0F\x00%7\x1C\x07&\x0F\x15\x00\x08\r=&\x08\x0F-7\x08\"E?\x10\xFC\xEC\xCC\xD4\xFC<\xD4\xEC\xC4\x11\x1299\x119\x11\x129\x11\x1291\x00\x10\xC4\xE42\xF4<\xC4\xE4\xFC<\xF4\xEC\x10\xC4\xEE2\x10\xEE\x10\xF4\xEE\x10\xEE\x119\x119\x11\x1290@\x810+0,0-0.0/00@+@,@-@.@/@0P+P,P-P.P/P0\x85+\x850\x80@\x90@\xA0@\xB0@\xC0@\xD0@\xE0@\xE0@\xF0@\x1D?\x00?\x06?\r?\x0E?\x0F\x050,0-0.0/@,@-@.@/P,P-P.P/o\x00o\x06o\ro\x0Eo\x0F`,`-`.`/p,p-p.p/\x80,\x80-\x80.\x80/\x1D]q\x01]\x01.\x01#\"\x06\x07\x03>\x0132\x00\x1D\x01!\x1E\x013267\x15\x0E\x01#\"&'\x0E\x01#\"&5463!54&#\"\x06\x075>\x0132\x16\x03\"\x06\x15\x14\x16326=\x01\x06\xB6\x01\xA5\x89\x99\xB9\x0EDJ\xD4\x84\xE2\x01\x08\xFC\xB2\x0C\xCC\xB7h\xC8dd\xD0j\xA7\xF8MI\xD8\x8F\xBD\xD2\xFD\xFB\x01\x02\xA7\x97`\xB6Te\xBEZ\x8E\xD5\xEF\xDF\xAC\x81o\x99\xB9\x02\x94\x97\xB4\xAE\x9E\x010Z^\xFE\xDD\xFAZ\xBF\xC855\xAE*,ywxx\xBB\xA8\xBD\xC0\x12\x7F\x8B..\xAA''`\xFE\x18f{bs\xD9\xB4)\x00\x03\x00H\xFF\xA2\x04\x9C\x04\xBC\x00\t\x00\x13\x00+\x00\xE4@<+,&\x1F\x1D\x1A\x13\n\x01\x00\x04\r)& \x14\r\x04*&\x1E\x1A\x04\xB9&\r\xB9\x1A\xB8&\x8C,+,*\x14\x17\x10 \x1E#\x13\n\x01\x00\x04\x10\x07\x1F\x1D\x07\x12#Q)\x10\x12\x17E,\x10\xFC\xEC2\xF4\xEC2\xC0\x11\x12\x179\x1299\x11\x1299\x1191\x00\x10\xE4\xF4\xEC\x10\xEE\x10\xC0\x10\xC0\x11\x1299\x129\x12\x179\x1199\x11\x1290@p(\x01?-Y\x14V\x1CU\x1DV j\x15f!\x7F\x00{\x04\x7F\x05\x7F\x06\x7F\x07\x7F\x08\x7F\t\x7F\n\x7F\x0B\x7F\x0C{\rz\x15{\x1A\x7F\x1B\x7F\x1C\x7F\x1D\x7F\x1E\x7F\x1F\x7F {!\x7F\"\x7F#\x7F$\x7F%{&\x9B\x19\x95%\xA8\x19\xA0-\xF0-&Y\x00V\x13U\x1DZ(i\x00f\x13e\x1Cj(z\x00t\x13v\x1Cz(\x89\x1E\x95\x18\x9A$\xA2\x18\xAD$\x11]\x01]\t\x01\x1E\x0132654&'.\x01#\"\x06\x15\x14\x16\x17\x07.\x015\x10\x0032\x16\x177\x17\x07\x1E\x01\x15\x10\x00#\"&'\x07'\x03\x89\xFE\x19)gA\x93\xAC\x14\\*g>\x97\xA9\x13\x14}66\x01\x11\xF1]\x9FC\x8B_\x9256\xFE\xEE\xF0`\xA1?\x8B`\x03!\xFD\xB0*(\xE8\xC8Ou\x9A))\xEB\xD3Hn.\x97M\xC5w\x01\x14\x01834\xA8O\xB3M\xC6x\xFE\xED\xFE\xC743\xA8N\x00\x02\x00\x8F\xFF\xE3\x03\xAC\x05\xD5\x00 \x00$\x00\x86@/ \x1A\x05\x02\x04\x06\x19\x00\x10\x86\x0F\x88\x0C\x00!\x83#\x0C\x95\x13\x8C#\x81%\x06\"\x19\x16\t\x05\x01\x00\x1A\"\t\x00\x1C\x01\"\x1C!&\x0F\t\x1C\x16%\x10\xDC\xEC\xD4\xFC\xEC\xD4\xEC\x11\x129\x11\x129\x11\x129\x1291\x00\x10\xE4\xF4\xEC\x10\xFE\xCD\x10\xF4\xEE\x1299\x1790\x01K\xB0\x10TK\xB0\x12T[K\xB0\x13T[X\xBD\x00%\xFF\xC0\x00\x01\x00%\x00%\x00@8\x1178Y@\x0Bt\x04t\x05t\x06t\x07v\x1C\x05]\x013\x15\x14\x06\x0F\x01\x0E\x01\x15\x14\x163267\x15\x0E\x01#\"&546?\x01>\x017>\x015\x13#53\x01\xF4\xBE7ZZ:3\x83mN\xB4`^\xC0g\xB8\xE0IYX0&\x08\x07\x06\xC4\xCA\xCA\x04D\x9Ce\x82WX5^1YnFC\xBC98\xC2\x9FL\x89VV/5\x19\x15<6\x01\x0E\xFE\x00\x02\x015\x00\x00\x02\x00\x05\xD5\x00\x03\x00\t\x00b@\x0F\x07\x00\x83\x02\x81\x04\x08\x07\x04\x00\x03\x05\x01\x00\n\x10\xFC<\xEC2991\x00/\xF4\xFC\xCC0\x01K\xB0\x0BTX\xBD\x00\n\x00@\x00\x01\x00\n\x00\n\xFF\xC08\x1178Y\x01K\xB0\x0FTK\xB0\x10T[K\xB0\x13T[X\xBD\x00\n\xFF\xC0\x00\x01\x00\n\x00\n\x00@8\x1178Y\xB6\x00\x0B \x0BP\x0B\x03]\x01#53\x11#\x11\x133\x13\x02\x00\xCB\xCB\xCB\x15\xA2\x14\x04\xD7\xFE\xFA+\x02\x8F\x01e\xFE\x9B\x00\x00\x01\x00\xD9\x01\x1F\x05\xDB\x03^\x00\x05\x00\x17@\n\x04\x9C\x02\x00\x06\x03\x17\x01\x00\x06\x10\xDC\xD4\xEC1\x00\x10\xD4\xC4\xEC0\x13!\x11#\x11!\xD9\x05\x02\xA8\xFB\xA6\x03^\xFD\xC1\x01\x95\x00\x00\x01\x00=\xFF\xD7\x05\x19\x06}\x00\n\x00*@\x18\n\t\x08\x07\x06\x05\x0B\x02\x04\x02\x00\x0B\n\t\x07\x06\x05\x04\x03\x00\x08\x01\x08\x0B\x10\xD4\xCC\x1791\x00\x10\xD4\xCC\xC4\x11\x12\x1790\x013\x15#\x01#\x01\x07'%\x01\x04\\\xBDs\xFD\xAEB\xFE\xC1}\x19\x01\x1B\x01\x00\x06}`\xF9\xBA\x03s-Pb\xFD;\x00\x01\x00\x1F\xFEV\x05\x02\x06\x14\x00#\x00\x8A@@\x0E\r\x02\x0F\x0C\x11\x19\x1E\x19\x0B\n\t\x08\x04\x07\x11\x1E\x1E\x19B\x19\x0C\x13\n\x07\x1E\x01\x1A\n\xA9\x08\x13\x8A\x12\xE6\x16\xA9\x0F\x01\x8A\x00\xE6\x04\xA9!\x97\x0F\x1C\x08$\x1E\x1D\x1B\x1A\x19\x0C\x0B\t\x08\x07\n\x00\x12$\x10\xD4\xCC\x1791\x00\x10\xC42\xC4\xFC\xEC\xF4\xEC\x10\xEE\xF6\xEE\x10\xEE2\x1299\x11\x12990KSX\x07\x10\x05\xED\x172\x07\x10\x05\xED\x11\x179Y\"\x01K\xB0\x0CTX\xBD\x00$\xFF\xC0\x00\x01\x00$\x00$\x00@8\x1178Y\x01\x15.\x01#\"\x06\x07\x03!\x15!\x03\x02\x06#\"&'5\x1E\x013267\x13#5!\x13>\x0132\x16\x05\x02&P,`r\x19<\x01\x1F\xFE\xC3\x7F:\xBC\xBA:d/4a/am\"\x89\xF8\x01\x17?$\xC6\x975d\x05\xF0\xA4\x1D\x1Cz\x84\xFE\xC9\x8F\xFD\x85\xFE\xE3\xD3\x15\x16\xA6!!\x89\xA6\x02\xAD\x8F\x01J\xB7\xC3\x12\x00\x02\x00\xD9\x01\x10\x05\xDB\x03\xF4\x00\x1D\x00;\x00?@\x1F.\x1F9*\x00-\"\x13\x01\x10\x1B\x0C\x1E*\x9C19\x9C\"\x04\x9C\x1B\x0C\x9C\x13<\x1E\x00-\x0F<\x10\xD4<\xC421\x00\x10\xD4\xEC\xD4\xEC\xDC\xFC\xD4\xEC\xC0\x11\x1299\x11\x1299\x11\x12990\x01\x15\x06\x06#\"'&'&'&#\"\x06\x0756632\x17\x16\x17\x16\x17\x16326\x13\x15\x06\x06#\"'&'&'&#\"\x06\x0756632\x17\x16\x17\x16\x17\x16326\x05\xDBi\xB3an\x92\n\x07\x06\x0F\x9B^X\xACbi\xB3an\x93\x0B\x05\x06\x0F\x9B^V\xA9gi\xB3an\x92\n\x07\x06\x0F\x9B^X\xACbi\xB3an\x93\n\x05\x07\x0F\x9B^V\xA9\x02o\xB3NE;\x04\x03\x02\x06=LT\xB3NE;\x05\x02\x02\x06=K\x01\xDA\xB2OE;\x04\x03\x02\x06=LS\xB2NE;\x04\x02\x03\x06=K\x00\x02\xFF\xFA\x00\x00\x05`\x05\xC1\x00\x02\x00\x06\x008@\x0F\x00\x03\x01\x03\x05\x04\x03\x02\x01\x00\x05\x07\x05\x06\x07\x10\xD4\xCC\x11\x1791\x00/\xC4\xCC\x1190@\x14c\x01m\x02p\x01x\x02\x7F\x02y\x05v\x06\x07n\x00\x7F\x00\x02]\x01]\t\x01!\x013\x01!\x02\xAC\xFE^\x03D\xFD\xEF\xE0\x02C\xFA\x9A\x04\xEE\xFB\xC4\x05\x0F\xFA?\x00\x02\x00\x9E\x00\x8D\x04%\x04#\x00\x06\x00\r\x00\x86@I\x03\xE8\x04\x05\x04\x02\xE8\x01\x02\x05\x05\x04\x02\xE8\x03\x02\x06\x00\x06\x01\xE8\x00\x00\x06\n\xE8\x0B\x0C\x0B\t\xE8\x08\t\x0C\x0C\x0B\t\xE8\n\t\r\x07\r\x08\xE8\x07\x07\rB\t\x02\x0B\x04\xE7\x07\x00\xA6\x0E\t\x0C\x05\x02\x07\x03\x00o\x05\n\x07o\x0Cn\x0E\x10\xFC\xFC<\xD4\xEC2\x119\x11\x1291\x00\x10\xF4<\xEC2990KSX\x07\x10\x04\xED\x07\x10\x08\xED\x07\x10\x08\xED\x07\x10\x04\xED\x07\x10\x04\xED\x07\x10\x08\xED\x07\x10\x08\xED\x07\x10\x04\xEDY\"\x01\x15\x01\x01\x15\x015\x13\x15\x01\x01\x15\x015\x04%\xFE\xD3\x01-\xFE+#\xFE\xD3\x01-\xFE+\x04#\xBF\xFE\xF4\xFE\xF4\xBF\x01\xA2R\x01\xA2\xBF\xFE\xF4\xFE\xF4\xBF\x01\xA2R\x00\x00\x02\x00\xC1\x00\x8D\x04H\x04#\x00\x06\x00\r\x00\x86@I\x0C\xE8\r\x0C\t\n\t\x0B\xE8\n\n\t\r\xE8\x07\x08\x07\x0C\xE8\x0B\x0C\x08\x08\x07\x05\xE8\x06\x05\x02\x03\x02\x04\xE8\x03\x03\x02\x06\xE8\x00\x01\x00\x05\xE8\x04\x05\x01\x01\x00B\x0C\x05\n\x03\xE7\x07\x00\xA6\x0E\x0C\x08\x01\x05\x00\x08o\n\x07\x01o\x03\x00p\x0E\x10\xFC<\xFC\xD4<\xEC\x129\x11\x1291\x00\x10\xF4<\xEC2990KSX\x07\x10\x08\xED\x07\x10\x04\xED\x07\x10\x04\xED\x07\x10\x08\xED\x07\x10\x08\xED\x07\x10\x04\xED\x07\x10\x04\xED\x07\x10\x08\xEDY\"\x13\x01\x15\x015\x01\x01%\x01\x15\x015\x01\x01\xC1\x01\xD5\xFE+\x01-\xFE\xD3\x01\xB2\x01\xD5\xFE+\x01-\xFE\xD3\x04#\xFE^R\xFE^\xBF\x01\x0C\x01\x0C\xBF\xFE^R\xFE^\xBF\x01\x0C\x01\x0C\x00\x03\x00\xEC\x00\x00\x07\x14\x00\xFE\x00\x03\x00\x07\x00\x0B\x00#@\x11\x08\x04\x00\x83\n\x06\x02\x04\x19\x05\x00\x19\x01\t\x19\x08\x0C\x10\xD4\xFC\xD4\xEC\xD4\xEC1\x00/<<\xEC220%3\x15#%3\x15#%3\x15#\x03\x96\xD4\xD4\x02\xA9\xD5\xD5\xFA\xAD\xD5\xD5\xFE\xFE\xFE\xFE\xFE\xFE\x00\xFF\xFF\x00\x10\x00\x00\x05h\x07k\x02'\x00$\x00\x00\x00\x00\x00\x07\x01\x06\x00\xBC\x01u\xFF\xFF\x00\x10\x00\x00\x05h\x07^\x02'\x00$\x00\x00\x00\x00\x00\x07\x01\x05\x00\xBC\x01u\xFF\xFF\x00s\xFF\xE3\x05\xD9\x07^\x02'\x002\x00\x00\x00\x00\x00\x07\x01\x05\x01'\x01u\x00\x02\x00s\x00\x00\x08\x0C\x05\xD5\x00\x10\x00\x19\x00;@\x1F\x05\x95\x03\x11\x01\x95\x00\x81\x18\x07\x95\x03\xAD\t\x18\x12\x10\n\x15\x06\x02\x1C\x11\x00\x04\x08\x15\x19\r\x10\x1A\x10\xFC\xEC\xD4\xC4\xC4\xD4\xEC2\x1299991\x00/\xEC\xEC2\xF4\xEC2\x10\xEE0\x01\x15!\x11!\x15!\x11!\x15! \x00\x11\x10\x00!\x17# \x00\x11\x10\x00!3\x07\xFA\xFD\x1A\x02\xC7\xFD9\x02\xF8\xFB\xD7\xFEO\xFEA\x01\xBF\x01\xB1g\x81\xFE\xBF\xFE\xC0\x01@\x01A\x81\x05\xD5\xAA\xFEF\xAA\xFD\xE3\xAA\x01|\x01p\x01m\x01|\xAA\xFE\xE1\xFE\xE0\xFE\xDF\xFE\xDF\x00\x03\x00q\xFF\xE3\x07\xC3\x04{\x00\x06\x00'\x003\x00\x84@1\x07\x08\x00\x10\x86\x0F\x88\x0C\x00\xA9\x08.\x0C\xB9\x16\x13(\x03\xB9\x08\xBB\"%\x1F\xB8\x19\x13\x8C4\x06\x00\x16\"1\t\x0F\x00\x08\x07K1\x12\tQ+\x12\x1CE4\x10\xFC\xEC\xF4\xFC\xF4\xEC\xC4\x11\x1299\x1291\x00\x10\xE42\xF4<\xC4\xE4\xEC2\x10\xC4\xEE2\x10\xEE\x10\xF4\xEE\x11\x1290@%?5_5p5\x9F5\xCF5\xD05\xF05\x07?\x00?\x06?\x07?\x08?\t\x05o\x00o\x06o\x07o\x08o\t\x05]q\x01]\x01.\x01#\"\x06\x07\x05\x15!\x1E\x013267\x15\x0E\x01#\"&'\x0E\x01#\"\x00\x11\x10\x0032\x16\x17>\x0132\x00%\"\x06\x15\x14\x1632654&\x07\n\x02\xA4\x89\x99\xB9\x0E\x03H\xFC\xB2\x0C\xCC\xB7j\xC8bd\xD0j\xA0\xF2QG\xD1\x8C\xF1\xFE\xEF\x01\x11\xF1\x8C\xD3BN\xE8\x8F\xE2\x01\x08\xFA\xB0\x94\xAC\xAB\x95\x93\xAC\xAC\x02\x94\x98\xB3\xAE\x9E5Z\xBE\xC744\xAE*,nmnm\x019\x01\x13\x01\x14\x018olkp\xFE\xDD\x87\xE7\xC9\xC9\xE7\xE8\xC8\xC7\xE9\x00\x00\x01\x00\x00\x01\xE9\x04\x00\x02y\x00\x03\x00\x10\xB6\x02\xA9\x00\xE9\x04\x01\x00/\xC61\x00\x10\xFC\xEC0\x11!\x15!\x04\x00\xFC\x00\x02y\x90\x00\x00\x01\x00\x00\x01\xE9\x08\x00\x02y\x00\x03\x00\x0F\xB5\x02\xA9\x00\x04\x01\x00/\xCC1\x00\x10\xD4\xEC0\x11!\x15!\x08\x00\xF8\x00\x02y\x90\x00\x02\x00\xAE\x03\xE9\x03m\x05\xD5\x00\x05\x00\x0B\x00'@\x13\x06\x00\x9E\t\x03\x81\x0C\t\n\x06\x19\x07\x03\x04\x07\x00\x19\x01\x0C\x10\xDC\xFC\xCC\xD4\xCC\x10\xFE\xD4\xCE1\x00\x10\xF4<\xEC20\x01#5\x133\x03\x05#5\x133\x03\x01\x81\xD3\xA4\x81R\x01\x9A\xD3\xA4\x81R\x03\xE9\xAD\x01?\xFE\xC1\xAD\xAD\x01?\xFE\xC1\x00\x02\x00\xAE\x03\xE9\x03m\x05\xD5\x00\x05\x00\x0B\x00'@\x13\t\x03\x9E\x06\x00\x81\x0C\t\n\x07\x19\x06\x01\x03\x04\x01\x19\x00\x0C\x10\xDC\xEC\xD4\xCC\x10\xDC\xEE\xD4\xCE1\x00\x10\xF4<\xEC20\x013\x15\x03#\x13%3\x15\x03#\x13\x01\x00\xD3\xA4\x81R\x01\x9A\xD3\xA4\x81R\x05\xD5\xAC\xFE\xC0\x01@\xAC\xAC\xFE\xC0\x01@\x00\x01\x00\xAE\x03\xE9\x01\xD3\x05\xD5\x00\x05\x00\x18@\x0B\x00\x9E\x03\x81\x06\x03\x04\x00\x19\x01\x06\x10\xDC\xFC\xD4\xCC1\x00\x10\xF4\xEC0\x01#5\x133\x03\x01\x81\xD3\xA4\x81R\x03\xE9\xAD\x01?\xFE\xC1\x00\x00\x01\x00\xB2\x03\xFE\x01\xD7\x05\xD5\x00\x05\x00\x18@\x0B\x03\x9E\x00\x81\x06\x03\x04\x01q\x00\x06\x10\xDC\xEC\xD4\xCC1\x00\x10\xF4\xEC0\x013\x15\x03#\x13\x01\x04\xD3\xA4\x81R\x05\xD5\x98\xFE\xC1\x01?\x00\x00\x03\x00\xD9\x00\x96\x05\xDB\x04o\x00\x03\x00\x07\x00\x0B\x00)@\x14\x00\xEA\x02\x06\xEA\x04\x02\x08\x9C\x04\n\x0C\t\x05\x01r\x04\x00\x08\x0C\x10\xDC\xD4<\xFC<\xC41\x00\x10\xD4\xC4\xFC\xC4\x10\xEE\x10\xEE0\x013\x15#\x113\x15#\x01!\x15!\x02\xDF\xF6\xF6\xF6\xF6\xFD\xFA\x05\x02\xFA\xFE\x04o\xF6\xFE\x12\xF5\x02A\xAA\x00\x02\x00\x06\xFE#\x03\xEE\x06u\x00\x03\x00\x07\x00\"@\x11\x02\x06\x00\x08\x04\x06\x08\x06\x04\x03\x02\x01\x00\x06\x05\x07\x08\x10\xD4\xCC\x1791\x00\x10\xD4\xCC\x119\x1290\t\x07\x01\xFA\xFE\x7F\x01\x81\x01\x81\xFE\x7F\x01\xF4\xFE\x0C\xFE\x0C\x05\x81\xFC\xCF\xFC\xC7\x039\x04%\xFB\xDB\xFB\xD3\x04-\xFF\xFF\x00=\xFEV\x04\x7F\x06\x10\x02'\x00\\\x00\x00\x00\x00\x00\x07\x00\x8E\x00^\x00\x00\xFF\xFF\xFF\xFC\x00\x00\x04\xE7\x07N\x02'\x00<\x00\x00\x00\x00\x00\x07\x01\x03\x00s\x01u\x00\x01\xFE\x89\xFF\xE3\x02\xCD\x05\xF0\x00\x03\x00+@\x13\x00\x0F\x01\x02\x01\x02\x0F\x03\x00\x03B\x02\x8C\x00\x91\x04\x01\x03\x04\x10\xD4\xCC1\x00\x10\xE4\xE40KSX\x07\x10\x05\xED\x07\x10\x05\xEDY\"\x013\x01#\x02-\xA0\xFC\\\xA0\x05\xF0\xF9\xF3\x00\x00\x02\x00^\x00R\x04\xBC\x04\xB2\x00#\x00/\x00\x83@I\x03\t\x1B\x15\x04-\x1E\x00'\x1C\x02!\x1D\x0C\x12-\x14\x0B\n\x03\x13\x0F\x01\x1D-\xB9\x13\xEB\x0F\xEC'\xB9\x1D\xEB!0\x1E\x0C\x00\x12\x04*$\x140\x1C\x15\x1B*\x1D\x13\x1C\x18\t\x03$\x0B\n\x01\x03\x02$(\x02s\x06t*(\x1Cs\x180\x10\xDC\xE4\xEC\xF4\xE4\xEC\x12\x179\x1299\x11\x1299\x1299\x11\x129\x11\x12\x1791\x00\x10\xD4\xE4\xEC\xF4\xE4\xEC\x10\xC0\x11\x12\x179\x1299\x11\x1299\x1199\x12\x1790\x017\x17\x07\x16\x16\x15\x14\x06\x07\x17\x07'\x06\x06#\"&'\x07'7&&5467'7\x176632\x16\x134&#\"\x06\x15\x14\x16326\x03{\xCFr\xCE%$&(\xD1r\xCF;t=:x=\xCFq\xCF%%&&\xCFs\xCF7t@<u\\\x9Brp\x9E\x9Dqq\x9C\x03\xE1\xD1s\xCE;w>?s9\xCFq\xCF(&%%\xCFs\xCE>v:@t8\xCEs\xCF'%$\xFE|p\x9A\x9Apr\x9C\x9D\x00\x00\x01\x00\x9E\x00\x8D\x02s\x04#\x00\x06\x00G@%\x03\xE8\x04\x05\x04\x02\xE8\x01\x02\x05\x05\x04\x02\xE8\x03\x02\x06\x00\x06\x01\xE8\x00\x06B\x02\x04\xE7\x00\xA6\x07\x02\x03\x00o\x05n\x07\x10\xFC\xEC291\x00\x10\xF4\xEC90KSX\x07\x04\xED\x07\x10\x08\xED\x07\x10\x08\xED\x07\x10\x04\xEDY\"\x01\x15\x01\x01\x15\x015\x02s\xFE\xD3\x01-\xFE+\x04#\xBF\xFE\xF4\xFE\xF4\xBF\x01\xA2R\x00\x00\x01\x00\xC1\x00\x8D\x02\x96\x04#\x00\x06\x00I@&\x05\xE8\x06\x05\x02\x03\x02\x04\xE8\x03\x03\x02\x06\xE8\x00\x01\x00\x05\xE8\x04\x05\x01\x01\x00B\x05\x03\xE7\x00\xA6\x07\x05\x01o\x03\x00p\x07\x10\xFC<\xEC91\x00\x10\xF4\xEC90KSX\x07\x10\x08\xED\x07\x10\x04\xED\x07\x10\x04\xED\x07\x10\x08\xEDY\"\x13\x01\x15\x015\x01\x01\xC1\x01\xD5\xFE+\x01-\xFE\xD3\x04#\xFE^R\xFE^\xBF\x01\x0C\x01\x0C\x00\x00\x02\x00/\x00\x00\x04J\x06\x14\x00\x15\x00\x19\x00\x9B@(\x0B\x14\x18\x07\x03\xA9\x00\x10\x87\x0E\x18\xBE\x16\xB1\x0E\x97\t\x00\xBC\x05\x01\x11\x0E\x0F\x04\x16\x02\x08\x00\x0F\x14\x04\x08\x08\x17\x00\n\x06L\x1A\x10\xFC<\xC42\xC4\xFC<\xC4\x10\xEE2\x11\x12991\x00/<\xE62\xEE\xFE\xEE\x10\xEE\x10\xEE2\x12990\x01K\xB0\nTX\xBD\x00\x1A\xFF\xC0\x00\x01\x00\x1A\x00\x1A\x00@8\x1178Y\x01K\xB0\x0ETX\xBD\x00\x1A\x00@\x00\x01\x00\x1A\x00\x1A\xFF\xC08\x1178Y@\x1A\x10\x16\x10\x17\x10\x18\x10\x19\x040\x1BP\x1B\x80\x0F\x80\x10\x80\x1B\xA0\x1B\xD0\x1B\xEF\x1B\x08]\x00]\x01\x11#\x11!\x11#\x11#53546;\x01\x15#\"\x06\x1D\x01\x013\x15#\x04J\xB9\xFE\x07\xB9\xB0\xB0\xAD\xB3\xB9\xB0cM\x01\xF9\xB9\xB9\x04`\xFB\xA0\x03\xD1\xFC/\x03\xD1\x8FN\xB7\xAF\x99Phc\x01\xB2\xE9\x00\x01\x00/\x00\x00\x04J\x06\x14\x00\x15\x00\x84@!\x08\x13\x04\x0F\x0B\xA9\t\x04\x87\x00\x97\x11\t\xBC\r\x02\x05\x00\n\x08\x03\x08\x01\n\x0C\x08\x08\x10\x01\x12\x0EL\x16\x10\xFC<\xC4\xC4\xFC<\xC4\x10\xEE\x11\x12991\x00/<\xE62\xFE\xEE\x10\xEE2\x12990\x01K\xB0\nTX\xBD\x00\x16\xFF\xC0\x00\x01\x00\x16\x00\x16\x00@8\x1178Y\x01K\xB0\x0ETX\xBD\x00\x16\x00@\x00\x01\x00\x16\x00\x16\xFF\xC08\x1178Y@\x110\x17P\x17\x80\n\x80\x0B\x80\x17\xA0\x17\xD0\x17\xEF\x17\x08]\x01!\x11#\x11!\"\x06\x1D\x01!\x15!\x11#\x11#53546\x02J\x02\x00\xB9\xFE\xB7cM\x01/\xFE\xD1\xB9\xB0\xB0\xAE\x06\x14\xF9\xEC\x05{Phc\x8F\xFC/\x03\xD1\x8FN\xBB\xAB\x00\x00\x01\x009\xFF;\x03\xC7\x05\xD5\x00\x13\x00>@ \x12\x06\xB9\x00\x10\x08\xB9\n\x04\x00\x02\x0E\n\x0C\x81\x02\xC2\x14\x0F\x00Y\x11\r\x01W\t\x05Y\x0B\x07\x03\x14\x10\xD4<<\xEC2\xFC<<\xEC21\x00\x10\xE4\xF4\xC42\x10\xC42\x10\xEE2\x10\xEE20%!\x11#\x11!5!\x11!5!\x113\x11!\x15!\x11!\x03\xC7\xFE\x91\xB0\xFE\x91\x01o\xFE\x91\x01o\xB0\x01o\xFE\x91\x01o\xDF\xFE\\\x01\xA4\x9A\x02\x1F\x99\x01\xA4\xFE\\\x99\xFD\xE1\x00\x01\x00\xDB\x02H\x01\xAE\x03F\x00\x03\x00\x12\xB7\x02\x83\x00\x04\x01\x19\x00\x04\x10\xD4\xEC1\x00\x10\xD4\xEC0\x133\x15#\xDB\xD3\xD3\x03F\xFE\x00\x01\x00\xAE\xFF\x12\x01\xD3\x00\xFE\x00\x05\x00\x18@\x0B\x03\x9E\x00\x83\x06\x03\x04\x01\x19\x00\x06\x10\xD4\xEC\xD4\xCC1\x00\x10\xFC\xEC0%3\x15\x03#\x13\x01\x00\xD3\xA4\x81R\xFE\xAC\xFE\xC0\x01@\x00\x02\x00\xAE\xFF\x12\x03m\x00\xFE\x00\x05\x00\x0B\x00'@\x13\t\x03\x9E\x06\x00\x83\x0C\x03\x04\x01\x19\x00\x07\t\n\x07\x19\x06\x0C\x10\xDC\xEC\xD4\xCC\x10\xDC\xEE\xD4\xCE1\x00\x10\xFC<\xEC20%3\x15\x03#\x13%3\x15\x03#\x13\x02\x9A\xD3\xA4\x81R\xFEf\xD3\xA4\x81R\xFE\xAC\xFE\xC0\x01@\xAC\xAC\xFE\xC0\x01@\x00\x00\x07\x00q\xFF\xE3\nL\x05\xF0\x00\x0B\x00\x17\x00#\x00'\x003\x00?\x00K\x00\xAE@D$\x0F%&%&\x0F'$'B@\x00\x92\x0C.\x92\x1E\x8D(\x92\x18F\x06\x924\x0C\x8D:&\x12\x8C$\x18\x91L%IC'1+C\r=\t\r\x0F\x0E\x03\r\x151\r\x1B=\x0EI\r\x157+\r\x1B\x0E!\x0BL\x10\xFC\xE4\xEC\xD4\xC4\xEC\xE4\x10\xEE\x10\xEE\xF6\xEE\x10\xEE\x11\x129\x11\x1291\x00\x10\xE42\xF4<<\xE42\xEC2\x10\xEE\xF6\xEE\x10\xEE20KSX\x07\x10\x05\xED\x07\x10\x05\xEDY\"\x01K\xB0\x14TK\xB0\tT[K\xB0\x0BT[K\xB0\x0CT[K\xB0\rT[K\xB0\x0ET[X\xBD\x00L\x00@\x00\x01\x00L\x00L\xFF\xC08\x1178Y\x01\"\x06\x15\x14\x1632654&'2\x16\x15\x14\x06#\"&546\x012\x16\x15\x14\x06#\"&546!3\x01#\x13\"\x06\x15\x14\x1632654&\x012\x16\x15\x14\x06#\"&546\x17\"\x06\x15\x14\x1632654&\x08\xF4WddWUccU\x9E\xBA\xBB\x9D\xA0\xBA\xBB\xF9t\x9E\xBC\xBB\x9F\x9F\xB9\xBA\x04%\xA0\xFCZ\xA0\x1FVcbWWcd\x03\xB2\x9E\xBA\xBB\x9D\xA0\xBA\xBB\x9FWccWUcc\x02\x91\x94\x84\x82\x95\x95\x82\x83\x95\x7F\xDC\xBB\xBB\xDB\xDB\xBB\xBC\xDB\x02\xE0\xDB\xBB\xBD\xDA\xDB\xBC\xBA\xDC\xF9\xF3\x05\x8E\x95\x82\x84\x94\x94\x84\x81\x96\xFD\x9F\xDC\xBB\xBB\xDB\xDB\xBB\xBC\xDB\x7F\x94\x84\x82\x95\x95\x82\x83\x95\x00\xFF\xFF\x00\x10\x00\x00\x05h\x07m\x02'\x00$\x00\x00\x00\x00\x00\x07\x01\x07\x00\xBC\x01u\xFF\xFF\x00\xC9\x00\x00\x04\x8B\x07m\x02'\x00(\x00\x00\x00\x00\x00\x07\x01\x07\x00\x9E\x01u\xFF\xFF\x00\x10\x00\x00\x05h\x07k\x02'\x00$\x00\x00\x00\x00\x00\x07\x01\x04\x00\xBC\x01u\xFF\xFF\x00\xC9\x00\x00\x04\x8B\x07N\x02'\x00(\x00\x00\x00\x00\x00\x07\x01\x03\x00\x9E\x01u\xFF\xFF\x00\xC9\x00\x00\x04\x8B\x07k\x02'\x00(\x00\x00\x00\x00\x00\x07\x01\x06\x00\x9E\x01u\xFF\xFF\x00\xA2\x00\x00\x02\x1F\x07k\x02'\x00,\x00\x00\x00\x00\x00\x07\x01\x04\xFF/\x01u\xFF\xFF\xFF\xFE\x00\x00\x02`\x07m\x02'\x00,\x00\x00\x00\x00\x00\x07\x01\x07\xFF/\x01u\xFF\xFF\x00\x06\x00\x00\x02X\x07N\x02'\x00,\x00\x00\x00\x00\x00\x07\x01\x03\xFF/\x01u\xFF\xFF\x00;\x00\x00\x01\xBA\x07k\x02'\x00,\x00\x00\x00\x00\x00\x07\x01\x06\xFF/\x01u\xFF\xFF\x00s\xFF\xE3\x05\xD9\x07k\x02'\x002\x00\x00\x00\x00\x00\x07\x01\x04\x01'\x01u\xFF\xFF\x00s\xFF\xE3\x05\xD9\x07m\x02'\x002\x00\x00\x00\x00\x00\x07\x01\x07\x01'\x01u\xFF\xFF\x00s\xFF\xE3\x05\xD9\x07k\x02'\x002\x00\x00\x00\x00\x00\x07\x01\x06\x01'\x01u\xFF\xFF\x00\xB2\xFF\xE3\x05)\x07k\x02'\x008\x00\x00\x00\x00\x00\x07\x01\x04\x00\xEE\x01u\xFF\xFF\x00\xB2\xFF\xE3\x05)\x07m\x02'\x008\x00\x00\x00\x00\x00\x07\x01\x07\x00\xEE\x01u\xFF\xFF\x00\xB2\xFF\xE3\x05)\x07k\x02'\x008\x00\x00\x00\x00\x00\x07\x01\x06\x00\xEE\x01u\x00\x01\x00\xC1\x00\x00\x01y\x04`\x00\x03\x00 \xB7\x00\xBF\x02\x01\x08\x00F\x04\x10\xFC\xEC1\x00/\xEC0@\x0B\x10\x05@\x05P\x05`\x05p\x05\x05\x01]\x133\x11#\xC1\xB8\xB8\x04`\xFB\xA0\x00\x00\x01\x00\xC1\x04\xEE\x03?\x06f\x00\x06\x007@\x0C\x04\x05\x02\xB4\x00\xB3\x07\x04\x02u\x06\x07\x10\xDC\xEC91\x00\x10\xF4\xEC290\x00K\xB0\tTK\xB0\x0ET[X\xBD\x00\x07\xFF\xC0\x00\x01\x00\x07\x00\x07\x00@8\x1178Y\x013\x13#'\x07#\x01\xB6\x94\xF5\x8B\xB4\xB4\x8B\x06f\xFE\x88\xF5\xF5\x00\x01\x00\xB6\x05\x1D\x03J\x067\x00\x1B\x00c@$\x00\x12\x07\x0E\x0B\x04\x01\x12\x07\x0F\x0B\x04\x12\xC3\x19\x07\x04\xC3\x15\x0B\xED\x1C\x0F\x01\x0E\x00\x07\x15V\x16w\x07V\x08v\x1C\x10\xF4\xEC\xFC\xEC\x1199991\x00\x10\xFC<\xFC\xD4<\xEC\x11\x129\x11\x129\x11\x129\x11\x1290\x00K\xB0\tTK\xB0\x0CT[X\xBD\x00\x1C\xFF\xC0\x00\x01\x00\x1C\x00\x1C\x00@8\x1178Y\x01'.\x01#\"\x06\x07#>\x0132\x16\x1F\x01\x1E\x0132673\x0E\x01#\"&\x01\xFC9\x16!\r&$\x02}\x02f[&@%9\x16!\r&$\x02}\x02f[&@\x05Z7\x14\x13IR\x87\x93\x1C!7\x14\x13IR\x87\x93\x1C\x00\x00\x01\x00\xD5\x05b\x03+\x05\xF6\x00\x03\x00/\xB7\x02\xEF\x00\xEE\x04\x01\x00\x04\x10\xD4\xCC1\x00\x10\xFC\xEC0\x00K\xB0\tTK\xB0\x0ET[X\xBD\x00\x04\xFF\xC0\x00\x01\x00\x04\x00\x04\x00@8\x1178Y\x13!\x15!\xD5\x02V\xFD\xAA\x05\xF6\x94\x00\x00\x01\x00\xC7\x05)\x039\x06H\x00\r\x00W@\x0E\x0B\xF0\x04\x07\x00\xB3\x0E\x07V\x08\x01V\x00\x0E\x10\xDC\xEC\xD4\xEC1\x00\x10\xF4<\xD4\xEC0\x00K\xB0\tTX\xBD\x00\x0E\xFF\xC0\x00\x01\x00\x0E\x00\x0E\x00@8\x1178Y\x00K\xB0\x0FTK\xB0\x10T[K\xB0\x11T[X\xBD\x00\x0E\x00@\x00\x01\x00\x0E\x00\x0E\xFF\xC08\x1178Y\x133\x1E\x0132673\x0E\x01#\"&\xC7v\x0BaWV`\rv\n\x9E\x91\x91\x9E\x06HKKJL\x8F\x90\x90\x00\x01\x01\x9A\x05D\x02f\x06\x10\x00\x03\x00,@\t\x02\xCE\x00\xCD\x04\x01d\x00\x04\x10\xD4\xEC1\x00\x10\xFC\xEC0\x00K\xB0\tTX\xBD\x00\x04\xFF\xC0\x00\x01\x00\x04\x00\x04\x00@8\x1178Y\x013\x15#\x01\x9A\xCC\xCC\x06\x10\xCC\x00\x00\x02\x00\xEE\x04\xE1\x03\x12\x07\x06\x00\x0B\x00\x17\x00_@\x11\x03\xC1\x15\xF2\t\xC1\x0F\xF1\x18\x00V\x0Cx\x06V\x12\x18\x10\xD4\xEC\xF4\xEC1\x00\x10\xF4\xEC\xF4\xEC0\x00K\xB0\tTK\xB0\x0CT[X\xBD\x00\x18\xFF\xC0\x00\x01\x00\x18\x00\x18\x00@8\x1178Y\x01K\xB0\nTK\xB0\x0BT[K\xB0\x0CT[X\xBD\x00\x18\xFF\xC0\x00\x01\x00\x18\x00\x18\x00@8\x1178Y\x014&#\"\x06\x15\x14\x163267\x14\x06#\"&54632\x16\x02\x98X@AWWA@Xz\x9Fss\x9F\x9Fss\x9F\x05\xF4?XW@AWX@s\xA0\xA0ss\x9F\x9F\x00\x00\x01\x01#\xFEu\x02\xC1\x00\x00\x00\x13\x00\x1F@\x0E\t\x06\n\r\xF3\x06\x00\x13\x00\x10'\x03\t\x14\x10\xDC\xD4\xEC\xD4\xCC1\x00/\xD4\xFC\xC4\x1290!\x16\x16\x15\x14\x06#\"&'5\x16\x1632654&'\x02T76xv.W+\"J/;<+->i0Y[\x0C\x0C\x83\x11\x0F0.\x1EW=\x00\x02\x00\xF0\x04\xEE\x03\xAE\x06f\x00\x03\x00\x07\x00B@\x11\x06\x02\xB4\x04\x00\xB3\x08\x04\x07\x03\x00\x05\x01\x03\x05\x07\x08\x10\xD4\xDC\xD4\xCC\x119\x11\x1291\x00\x10\xF4<\xEC20\x00K\xB0\tTK\xB0\x0ET[X\xBD\x00\x08\xFF\xC0\x00\x01\x00\x08\x00\x08\x00@8\x1178Y\x013\x03#\x033\x03#\x02\xFC\xB2\xF8\x87\x81\xAA\xDF\x89\x06f\xFE\x88\x01x\xFE\x88\x00\x00\x01\x01L\xFEu\x02\xC1\x00\x00\x00\x13\x00 @\x0F\x0B\x0E\n\x07\xF3\x0E\xF4\x00\x01\x00\n\x04'\x11\x14\x10\xD4\xEC\xC4\xD4\xCC1\x00/\xFC\xFC\xC4\x1290!3\x06\x06\x15\x14\x163267\x15\x06\x06#\"&546\x01\xB8w-+76 >\x1F&D\x1Ezs5=X\x1F..\x0F\x0F\x85\n\nW]0i\x00\x01\x00\xC1\x04\xEE\x03?\x06f\x00\x06\x007@\x0C\x03\x00\xB4\x04\x01\xB3\x07\x03\x05u\x01\x07\x10\xDC\xEC91\x00\x10\xF4<\xEC90\x00K\xB0\tTK\xB0\x0ET[X\xBD\x00\x07\xFF\xC0\x00\x01\x00\x07\x00\x07\x00@8\x1178Y\x01\x033\x1773\x03\x01\xB6\xF5\x8B\xB4\xB4\x8B\xF5\x04\xEE\x01x\xF5\xF5\xFE\x88\x00\x01\xFF\xF2\x00\x00\x04u\x05\xD5\x00\r\x00?@\x1E\x0C\x0B\n\x04\x03\x02\x06\x00\x06\x95\x00\x81\x08\x03\x04\x01\x0B\x0E\x00\x04\x05\x01\x1C\x0C\x07:\t\x00y\x0E\x10\xF4<\xEC\xC4\xFC<\xC4\x11\x129\x11\x1291\x00/\xE4\xEC\x11\x1790\xB40\x0FP\x0F\x02\x01]\x133\x11%\x17\x01\x11!\x15!\x11\x07'7\xD3\xCB\x019P\xFEw\x02\xD7\xFC^\x94M\xE1\x05\xD5\xFD\x98\xDBo\xFE\xEE\xFD\xE3\xAA\x02;jn\x9E\x00\x00\x01\x00\x02\x00\x00\x02H\x06\x14\x00\x0B\x00^@\x1A\n\t\x08\x04\x03\x02\x06\x00\x97\x06\x03\x04\x01\t\n\x00\x04z\x05\x01\x08\nz\x07\x00\x0C\x10\xD4<\xE4\xFC<\xE4\x11\x129\x11\x1291\x00/\xEC\x1790\x01K\xB0\x10TX\xBD\x00\x0C\x00@\x00\x01\x00\x0C\x00\x0C\xFF\xC08\x1178Y@\x13\x10\r@\rP\r`\rs\x04z\np\r\xE0\r\xF0\r\t]\x133\x117\x17\x07\x11#\x11\x07'7\xC7\xB8}L\xC9\xB8{J\xC5\x06\x14\xFD\xA6Zj\x8D\xFC\xE3\x02\x9AXj\x8D\x00\xFF\xFF\x00\x87\xFF\xE3\x04\xA2\x07m\x02'\x006\x00\x00\x00\x00\x00\x07\x01\x08\x00\x8B\x01u\xFF\xFF\x00o\xFF\xE3\x03\xC7\x06f\x02'\x00V\x00\x00\x00\x00\x00\x07\x00\xE0\x00\x17\x00\x00\xFF\xFF\x00\\\x00\x00\x05\x1F\x07m\x02'\x00=\x00\x00\x00\x00\x00\x07\x01\x08\x00\xBE\x01u\xFF\xFF\x00X\x00\x00\x03\xDB\x06f\x02'\x00]\x00\x00\x00\x00\x00\x07\x00\xE0\x00\x1B\x00\x00\x00\x02\x01\x04\xFE\xA2\x01\xAE\x05\x98\x00\x03\x00\x07\x00\x1C@\r\x01\xF5\x00\x04\xF5\x05\x08\x04\x00\x05\x06\x02\x08\x10\xDC<\xEC21\x00\x10\xD4\xEC\xD4\xEC0\x01\x11#\x11\x13\x11#\x11\x01\xAE\xAA\xAA\xAA\x01\x98\xFD\n\x02\xF6\x04\x00\xFD\n\x02\xF6\x00\x00\x02\x00\n\x00\x00\x05\xBA\x05\xD5\x00\x0C\x00\x19\x00g@ \x10\t\xA9\x0B\r\x95\x00\x81\x12\x95\x0E\x0B\x07\x07\x01\x19\x13\x04\x0F\r\x16\x19\x042\n\x11\r\x1C\x08\x00y\x1A\x10\xF4<\xEC2\xC4\xF4\xEC\x10\xC4\x1791\x00/\xC62\xEE\xF6\xEE\x10\xEE20@( \x1B\x7F\x1B\xB0\x1B\x03\x9F\t\x9F\n\x9F\x0B\x9F\x0C\x9F\x0E\x9F\x0F\x9F\x10\x9F\x11\xBF\t\xBF\n\xBF\x0B\xBF\x0C\xBF\x0E\xBF\x0F\xBF\x10\xBF\x11\x10]\x01]\x13! \x00\x11\x10\x00)\x01\x11#53\x13\x11!\x15!\x113 \x00\x11\x10\x00!\xD3\x01\xA0\x01\xB1\x01\x96\xFEi\xFEP\xFE`\xC9\xC9\xCB\x01P\xFE\xB0\xF3\x015\x01\x1F\xFE\xE1\xFE\xCB\x05\xD5\xFE\x97\xFE\x80\xFE~\xFE\x96\x02\xBC\x90\x01\xE3\xFE\x1D\x90\xFD\xEA\x01\x18\x01.\x01,\x01\x17\x00\x02\x00q\xFF\xE3\x04u\x06\x14\x00\x0E\x00(\x01'@^%{&%\x1E#\x1E${##\x1E\x0F{#\x1E({'(\x1E#\x1E&'('%$%(('\"#\"\x1F \x1F!  \x1FB('&%\"! \x1F\x08#\x1E\x03\x0F#\x03\xB9\x1B\t\xB9\x15\x8C\x1B#\xB1)&'\x12\x0C! \x18(%#\"\x1F\x05\x1E\x0F\x06\x0C\x12\x12Q\x06\x12\x18E)\x10\xFC\xEC\xF4\xEC\x1199\x179\x1299\x11\x12991\x00\x10\xEC\xC4\xF4\xEC\x10\xEE\x129\x129\x12\x1790KSX\x07\x10\x0E\xC9\x07\x10\x08\xC9\x07\x10\x08\xC9\x07\x10\x0E\xC9\x07\x10\x08\xED\x07\x0E\xED\x07\x10\x05\xED\x07\x10\x08\xEDY\"\xB2?*\x01\x01]@v\x16%+\x1F(\"/#/$)%-&-'*(6%F%X X!` `!f\"u u!u\"\x13%#%$&&&''(6$6%F$E%Z Z!b b!\x7F\x00\x7F\x01\x7F\x02z\x03{\t\x7F\n\x7F\x0B\x7F\x0C\x7F\r\x7F\x0E\x7F\x0F\x7F\x10\x7F\x11\x7F\x12\x7F\x13\x7F\x14{\x15z\x1Bz\x1C\x7F\x1D\x7F\x1Ev v!x\"\xA0*\xF0*']\x00]\x01.\x01#\"\x06\x15\x14\x1632654&\x13\x16\x12\x15\x14\x00#\"\x0054\x0032\x16\x17'\x05'%'3\x17%\x17\x05\x03F2X)\xA7\xB9\xAE\x92\x91\xAE6\t~r\xFE\xE4\xE6\xE7\xFE\xE5\x01\x14\xDD\x124*\x9F\xFE\xC1!\x01\x19\xB5\xE4\x7F\x01M!\xFE\xD9\x03\x93\x11\x10\xD8\xC3\xBC\xDE\xDE\xBCz\xBC\x01&\x8F\xFE\xE0\xAD\xFF\xFE\xC9\x017\xFF\xFA\x017\x05\x05\xB4kc\\\xCC\x91oab\x00\xFF\xFF\xFF\xFC\x00\x00\x04\xE7\x07k\x02'\x00<\x00\x00\x00\x00\x00\x07\x01\x04\x00s\x01u\xFF\xFF\x00=\xFEV\x04\x7F\x06f\x02'\x00\\\x00\x00\x00\x00\x00\x07\x00\x8D\x00^\x00\x00\x00\x02\x00\xC9\x00\x00\x04\x8D\x05\xD5\x00\x0C\x00\x15\x00=@\x1B\x0E\x95\t\r\x95\x02\xF6\x00\x81\x0B\x15\x0F\t\x03\x04\x01\x12\x19\x06?\r\n\x01\x1C\x00\x04\x16\x10\xFC\xEC22\xFC\xEC\x11\x1791\x00/\xF4\xFC\xEC\xD4\xEC0@\t\x0F\x17\x1F\x17?\x17_\x17\x04\x01]\x133\x1132\x04\x15\x14\x04+\x01\x11#\x13\x1132654&#\xC9\xCA\xFE\xFB\x01\x01\xFE\xFF\xFB\xFE\xCA\xCA\xFE\x8D\x9A\x99\x8E\x05\xD5\xFE\xF8\xE1\xDC\xDC\xE2\xFE\xAE\x04'\xFD\xD1\x92\x86\x86\x91\x00\x02\x00\xBA\xFEV\x04\xA4\x06\x14\x00\x10\x00\x1C\x00>@\x1B\x14\xB9\x05\x08\x1A\xB9\x00\x0E\x8C\x08\xB8\x01\xBD\x03\x97\x1D\x11\x12\x0BG\x17\x04\x00\x08\x02F\x1D\x10\xFC\xEC22\xF4\xEC1\x00\x10\xEC\xE4\xE4\xF4\xC4\xEC\x10\xC6\xEE0@\t`\x1E\x80\x1E\xA0\x1E\xE0\x1E\x04\x01]%\x11#\x113\x11>\x0132\x12\x11\x10\x02#\"&\x014&#\"\x06\x15\x14\x16326\x01s\xB9\xB9:\xB1{\xCC\xFF\xFF\xCC{\xB1\x028\xA7\x92\x92\xA7\xA7\x92\x92\xA7\xA8\xFD\xAE\x07\xBE\xFD\xA2da\xFE\xBC\xFE\xF8\xFE\xF8\xFE\xBCa\x01\xEB\xCB\xE7\xE7\xCB\xCB\xE7\xE7\x00\x00\x01\x00\xD9\x02-\x05\xDB\x02\xD7\x00\x03\x00\x11\xB6\x00\x9C\x02\x04\x01\x00\x04\x10\xD4\xC41\x00\x10\xD4\xEC0\x13!\x15!\xD9\x05\x02\xFA\xFE\x02\xD7\xAA\x00\x00\x01\x01\x19\x00?\x05\x9C\x04\xC5\x00\x0B\x00\x85@M\n\x9C\x0B\n\x07\x08\x07\t\x9C\x08\x08\x07\x04\x9C\x03\x04\x07\x07\x06\x05\x9C\x06\x07\x06\x04\x9C\x05\x04\x01\x02\x01\x03\x9C\x02\x02\x01\x0B\x9C\x00\x01\x00\n\x9C\t\n\x01\x01\x00B\n\x08\x07\x06\x04\x02\x01\x00\x08\x05\x03\x0B\t\x0C\x0B\n\t\x07\x05\x04\x03\x01\x08\x02\x00\x08\x06\x0C\x10\xD4<\xCC2\x1791\x00\x10\xD4<\xCC2\x1790KSX\x07\x10\x08\xED\x07\x10\x05\xED\x07\x10\x05\xED\x07\x10\x08\xED\x07\x10\x05\xED\x07\x10\x08\xED\x07\x10\x05\xED\x07\x10\x08\xEDY\"\t\x02\x07\x01\x01'\x01\x017\x01\x01\x05\x9C\xFE7\x01\xC9w\xFE5\xFE5v\x01\xC8\xFE8v\x01\xCB\x01\xCB\x04L\xFE5\xFE7y\x01\xCB\xFE5y\x01\xC9\x01\xCBy\xFE5\x01\xCB\x00\x01\x00\x89\x02\x9C\x02\xC5\x05\xDF\x00\n\x00,@\x18\x07\x00\xDD\t\x03\xDD\x04\x02\xDD\t\xF7\x05\x91\x0B\x08|\x06]\x03|\x01|\x00\x0B\x10\xDC\xF4\xE4\xFC\xE41\x00\x10\xF4\xEC\xEC\xD4\xEC\x10\xEE20\x133\x11\x07573\x113\x15!\x9C\xCC\xDF\xE6\x89\xCD\xFD\xD7\x03\n\x02c)t'\xFD+n\x00\x00\x01\x00^\x02\x9C\x02\xB4\x05\xF0\x00\x18\x00J@$\x00}\x06\x04\x00\x17}\x06\x06\x04B\x04\x02\x00\x0E\xDD\x0F\x00\xDD\x02\xF7\x0B\xDD\x0F\x12\x91\x19\x00\x0E\x08~\x01\x15\x0E\x03\x19\x10\xDC\xC4\xD4\xC4\xEC\x1191\x00\x10\xF4\xC4\xEC\xFC\xEC\x10\xEE\x11\x1290KSX\x07\x10\x05\xED\x172\x07\x05\xEDY\"\x01!\x15!567\x0054&#\"\x06\x0756632\x16\x15\x14\x01\x06\x01\x0C\x01\xA8\xFD\xAA\"?\x01XhU4zHM\x859\x91\xAE\xFE\xB58\x03\x0Ern\x1F8\x011^BQ##{\x1C\x1C\x84l\x8B\xFE\xE40\x00\x01\x00b\x02\x8D\x02\xCD\x05\xF0\x00(\x00H@'\x00\x15\x13\n\xDD\t\x1F\xDD \x13\xDD\x15\r\xDD\t\xF8\x06\xF7\x1C\xDD \xF8#\x91)\x16\x13\x00\x14\x19~&\x10~\x03\x14\x1F\t)\x10\xDC\xC4\xC4\xD4\xEC\xD4\xEC\x119991\x00\x10\xF4\xE4\xEC\xFC\xE4\xEC\xD4\xEC\x10\xEE\x10\xEE\x11\x1290\x01\x16\x16\x15\x14\x06#\"&'5\x16\x1632654&##532654&#\"\x06\x0756632\x16\x15\x14\x06\x02\x0C\\e\xBE\xB19}F4wCmxolV^^ad_(fQI\x807\x90\xA9Z\x04`\x12mR|\x86\x15\x14y\x1B\x1AOFJLl?<:=\x12\x17s\x11\x12vcE`\xFF\xFF\x00\x89\xFF\xE3\x07\x7F\x05\xF0\x00'\x00\xF0\x00\x00\x00\x00\x00'\x00\xBC\x035\x00\x00\x00\x07\x01\t\x04\x8B\xFDd\xFF\xFF\x00\x89\xFF\xE3\x07?\x05\xF0\x00'\x00\xF0\x00\x00\x00\x00\x00'\x00\xBC\x035\x00\x00\x00\x07\x00\xF1\x04\x8B\xFDd\xFF\xFF\x00b\xFF\xE3\x07\x7F\x05\xF0\x00'\x00\xF2\x00\x00\x00\x00\x00'\x00\xBC\x035\x00\x00\x00\x07\x01\t\x04\x8B\xFDd\xFF\xFF\x00s\xFF\xE3\x05\x8B\x07m\x02'\x00*\x00\x00\x00\x00\x00\x07\x01\n\x01\x1B\x01u\xFF\xFF\x00q\xFEV\x04Z\x06H\x02'\x00J\x00\x00\x00\x00\x00\x07\x00\xDA\x00\x8B\x00\x00\xFF\xFF\x00\xC9\x00\x00\x01\x95\x07P\x02'\x00,\x00\x00\x00\x00\x00\x07\x01\x0B\xFF/\x01u\xFF\xFF\x00\x87\xFEu\x04\xA2\x05\xF0\x02'\x006\x00\x00\x00\x00\x00\x07\x00\xDD\x00\x8B\x00\x00\xFF\xFF\x00o\xFEu\x03\xC7\x04{\x02'\x00V\x00\x00\x00\x00\x00\x07\x00\xDD\x00\x17\x00\x00\xFF\xFF\x00s\xFF\xE3\x05'\x07k\x02'\x00&\x00\x00\x00\x00\x00\x07\x01\x04\x01-\x01u\xFF\xFF\x00q\xFF\xE3\x03\xE7\x06f\x02'\x00F\x00\x00\x00\x00\x00\x07\x00\x8D\x00\x89\x00\x00\xFF\xFF\x00s\xFF\xE3\x05'\x07m\x02'\x00&\x00\x00\x00\x00\x00\x07\x01\x08\x01-\x01u\xFF\xFF\x00q\xFF\xE3\x03\xE7\x06f\x02'\x00F\x00\x00\x00\x00\x00\x07\x00\xE0\x00\x89\x00\x00\x00\x02\x00q\xFF\xE3\x04\xF4\x06\x14\x00\x18\x00$\x00J@$\x07\x03\xD3\t\x01\xF9\"\xB9\x00\x16\x1C\xB9\r\x10\x8C\x16\xB8\x05\x97\x0B\x02\x1F\x0C\x04\x03\x00\x08\x08\n\x06G\x19\x12\x13E%\x10\xFC\xEC\xF4<\xC4\xFC\x17<\xC41\x00/\xEC\xE4\xF4\xC4\xEC\x10\xC4\xEE\xFD<\xEE20\xB6`&\x80&\xA0&\x03\x01]\x01\x11!5!53\x153\x15#\x11#5\x0E\x01#\"\x02\x11\x10\x1232\x16\x01\x14\x1632654&#\"\x06\x03\xA2\xFE\xBA\x01F\xB8\x9A\x9A\xB8:\xB1|\xCB\xFF\xFF\xCB|\xB1\xFD\xC7\xA7\x92\x92\xA8\xA8\x92\x92\xA7\x03\xB6\x01N}\x93\x93}\xFA\xFC\xA8da\x01D\x01\x08\x01\x08\x01Da\xFE\x15\xCB\xE7\xE7\xCB\xCB\xE7\xE7\x00\x00\x01\x00d\x01\xDF\x02\x7F\x02\x83\x00\x03\x00\x11\xB6\x00\x9C\x02\x04\x01\x00\x04\x10\xDC\xCC1\x00\x10\xD4\xEC0\x13!\x15!d\x02\x1B\xFD\xE5\x02\x83\xA4\x00\x00\x01\x00\xDB\x02H\x01\xAE\x03F\x00\x03\x00\x12\xB7\x02\x83\x00\x04\x01\x19\x00\x04\x10\xD4\xEC1\x00\x10\xD4\xEC0\x133\x15#\xDB\xD3\xD3\x03F\xFE\x00\x01\x00\x00\xFF\xE3\x04\x8F\x05\xF0\x001\x01\x1C@: \x12\xD3\"\x10+\x07\xD3\t\x19\xA1\x1A\xAE\x16\x95\x1D\x01\xA1\x00\xAE\x04\x95/\x91\x1D\x8C)\t2+\"!)#&\x12\x10\n\x03\r\t\x11\x08, &\x13\x07\x11\x08\x11\r\x1C\x19\x00&*!/<\xD4\xC42\xFC\xC4\xC4\x1299\x1299\x11\x129\x11\x179\x1299\x11991\x00\x10\xC42\xE4\xF4\xEC\xF4\xEC\x10\xEE\xF6\xEE\x10\xEE2\xDD<\xEE20\x01K\xB0\tTK\xB0\x0CT[K\xB0\rT[K\xB0\x0FT[K\xB0\x17T[K\xB0\x18T[X\xBD\x002\xFF\xC0\x00\x01\x002\x002\x00@8\x1178Y@z\x0E\x00\x0E\x01\x0B\x02\x0B1T\x14i\x0Cl\x0En\x0Fo\x10o\x11o\x12o\x13i\x14k\x1Fo o!o\"o#n$l%i'i-\x9F\x07\x9F\x08\x9F\t\x9F\n\x9F\x0B\x9F\x0C\x9F\r\x9F\x0E\x9F\x0F\x9F\x10\x9F\x11\x9F\x12\x9F\x13\x96\x1F\x9F \x9F!\x9F\"\x9F#\x9F$\x9F%\x9F&\x9F'\x9F(\x9F)\x9F*\x9F+\x9F,\x9D-2\x00\x08\x00\t\x10\x08\x10\t \x08 \tU\x15S\x1Ej\x15g\x1F\n]\x00]\x01\x15.\x01#\"\x06\x07!\x07!\x0E\x01\x15\x14\x16\x17!\x07!\x1E\x013267\x15\x0E\x01#\"\x00\x03#734&5465#73\x12\x0032\x16\x04\x8F[\xA9f\x9D\xCA \x02A7\xFD\xE6\x02\x01\x01\x02\x01\xBE8\xFE\x8A \xCA\x9Df\xA9[Y\xB9`\xED\xFE\xCB(\xD37\x8B\x01\x01\xC27\x9C(\x016\xECb\xB9\x05b\xD5iZ\xC8\xBB{\x18.# .\x18{\xBB\xCAZi\xD3HH\x01\"\x01\x03{\x17/ #/\x17{\x01\x01\x01\"G\x00\x02\x00\xD7\x05\x0E\x03)\x05\xD9\x00\x03\x00\x07\x00\xA5@\r\x04\x00\xCE\x06\x02\x08\x01d\x00\x05d\x04\x08\x10\xD4\xFC\xDC\xEC1\x00\x10\xD4<\xEC20\x00K\xB0\x0ETK\xB0\x11T[X\xBD\x00\x08\x00@\x00\x01\x00\x08\x00\x08\xFF\xC08\x1178Y\x01K\xB0\x0ETK\xB0\rT[K\xB0\x17T[X\xBD\x00\x08\xFF\xC0\x00\x01\x00\x08\x00\x08\x00@8\x1178Y\x01K\xB0\x11TK\xB0\x19T[X\xBD\x00\x08\x00@\x00\x01\x00\x08\x00\x08\xFF\xC08\x1178Y\x00K\xB0\x18TX\xBD\x00\x08\xFF\xC0\x00\x01\x00\x08\x00\x08\x00@8\x1178Y@\x11`\x01`\x02`\x05`\x06p\x01p\x02p\x05p\x06\x08\x01]\x013\x15#%3\x15#\x02^\xCB\xCB\xFEy\xCB\xCB\x05\xD9\xCB\xCB\xCB\x00\x01\x01s\x04\xEE\x02\xF0\x05\xF6\x00\x03\x00\x7F@\x11\x02\x03\x00\x03\x01\x00\x00\x03B\x00\x02\xFA\x04\x01\x03\x03\x04\x10\xC4\x10\xC01\x00\x10\xF4\xCC0KSX\x07\x10\x05\xC9\x07\x10\x05\xC9Y\"\x00K\xB0\x0CTX\xBD\x00\x04\xFF\xC0\x00\x01\x00\x04\x00\x04\x00@8\x1178Y\x00K\xB0\x0ETX\xBD\x00\x04\x00@\x00\x01\x00\x04\x00\x04\xFF\xC08\x1178Y@ \x06\x02\x15\x02%\x01%\x026\x02F\x02V\x02j\x01g\x02\t\x0F\x00\x0F\x01\x1F\x00\x1F\x01/\x00/\x01\x06]\x01]\x013\x03#\x027\xB9\xE4\x99\x05\xF6\xFE\xF8\x00\x01\x00\xB6\x05\x0E\x03J\x05\xE9\x00\x1D\x00u@!\x16\x10\x0F\x03\x13\x0C\x07\x01\x00\x03\x08\x17\x0C\xC3\x04\x13\xC3\x1B\x08\xFA\x1E\x10\x01\x0F\x00\x07\x16V\x18\x07V\t\x1E\x10\xD4\xEC\xD4\xEC\x1199991\x00\x10\xF4<\xEC\xD4\xEC2\x12\x179\x11\x12\x1790\x00K\xB0\x0CTX\xBD\x00\x1E\xFF\xC0\x00\x01\x00\x1E\x00\x1E\x00@8\x1178Y\x00K\xB0\x0ETX\xBD\x00\x1E\x00@\x00\x01\x00\x1E\x00\x1E\xFF\xC08\x1178Y\xB4\x10\x0B\x1F\x1A\x02]\x01'.\x01#\"\x06\x1D\x01#4632\x16\x1F\x01\x1E\x01326=\x013\x0E\x01#\"&\x01\xFC9\x19\x1F\x0C$(}gV$=09\x17\"\x0F (}\x02gT\";\x059!\x0E\x0B2-\x06ev\x10\x1B\x1E\r\x0C3)\x06dw\x10\x00\x01\x01\x0C\x04\xEE\x02\x8B\x05\xF6\x00\x03\x00\x89@\x11\x01\x02\x03\x02\x00\x03\x03\x02B\x00\x01\xFA\x04\x01\x03\x03\x04\x10\xC4\x10\xC01\x00\x10\xF4\xCC0KSX\x07\x10\x05\xC9\x07\x10\x05\xC9Y\"\x00K\xB0\x0CTX\xBD\x00\x04\xFF\xC0\x00\x01\x00\x04\x00\x04\x00@8\x1178Y\x00K\xB0\x0ETX\xBD\x00\x04\x00@\x00\x01\x00\x04\x00\x04\xFF\xC08\x1178Y@*\x06\x00\x06\x01\x16\x00\x12\x01$\x00$\x015\x01C\x01U\x00U\x01\x9F\x00\x9F\x01\xAF\x00\xAF\x01\x0E\x0F\x00\x0F\x03\x1F\x00\x1F\x03/\x00/\x03\x06]\x01]\x01\x13#\x03\x01\xC7\xC4\x99\xE6\x05\xF6\xFE\xF8\x01\x08\x00\x01\x00\xCF\x04\xEE\x031\x05\xF8\x00\x06\x00w@\n\x04\x00\x05\x02\xFA\x07\x04\x02\x06\x07\x10\xD4\xC491\x00\x10\xF4<\xC490\x00K\xB0\x0CTX\xBD\x00\x07\xFF\xC0\x00\x01\x00\x07\x00\x07\x00@8\x1178Y\x00K\xB0\x0ETX\xBD\x00\x07\x00@\x00\x01\x00\x07\x00\x07\xFF\xC08\x1178Y\x01K\xB0\x0ETX\xBD\x00\x07\xFF\xC0\x00\x01\x00\x07\x00\x07\x00@8\x1178Y@\x13\x0F\x00\x0F\x01\x0C\x04\x1F\x00\x1F\x01\x1D\x04/\x00/\x01-\x04\t\x00]\x013\x13#'\x07#\x01\xA2\xBC\xD3\x8B\xA6\xA6\x8B\x05\xF8\xFE\xF6\xB2\xB2\x00\x01\x00\xCF\x04\xEE\x031\x05\xF8\x00\x06\x00\x86@\n\x03\x04\x01\x00\xFA\x07\x03\x05\x01\x07\x10\xD4\xC491\x00\x10\xF4\xC4290\x00K\xB0\x0CTK\xB0\tT[K\xB0\nT[K\xB0\x0BT[X\xBD\x00\x07\xFF\xC0\x00\x01\x00\x07\x00\x07\x00@8\x1178Y\x00K\xB0\x0ETX\xBD\x00\x07\x00@\x00\x01\x00\x07\x00\x07\xFF\xC08\x1178Y\x01K\xB0\x0ETX\xBD\x00\x07\xFF\xC0\x00\x01\x00\x07\x00\x07\x00@8\x1178Y@\x13\x00\x00\x03\x03\x00\x06\x10\x00\x12\x03\x10\x06 \x00\"\x03 \x06\t\x00]\x01\x033\x1773\x03\x01\xA2\xD3\x8B\xA6\xA6\x8B\xD3\x04\xEE\x01\n\xB2\xB2\xFE\xF6\x00\x00\x02\x00?\x02\x9C\x02\xF4\x05\xDF\x00\x02\x00\r\x00\xD4@\x16\x00\x03\x0B\x07\xDD\x05\x01\t\xF7\x03\x91\x0E\x01\x0C\n\x00]\x06\x08\x04\x0C\x0E\x10\xDC\xD4<\xC4\xEC2\x1191\x00\x10\xF4\xFC\xD4<\xEC2\x1290\x01K\xB0\x0ETK\xB0\x0FT[K\xB0\x10T[K\xB0\x11T[K\xB0\x0BT[K\xB0\nT[X\xBD\x00\x0E\x00@\x00\x01\x00\x0E\x00\x0E\xFF\xC08\x1178Y\x00K\xB0\x11TK\xB0\x0ET[X\xBD\x00\x0E\xFF\xC0\x00\x01\x00\x0E\x00\x0E\x00@8\x1178Y@T\x0B\x01\x1D\x01/\x019\x01I\x01F\x03Y\x03i\x03\x8B\x03\xAB\x03\xBB\x03\x0B\x01\x00\x0F\x01\x0F\x02\x0F\x05\x0F\x06\x0F\x07\x0F\x08\x0F\x0B\x0F\x0C\x0F\r\x13\x00\x1F\x01\x1F\x02\x1F\x05\x1F\x06\x1F\x07\x1F\x08\x1F\x0B\x1F\x0C\x1F\r\"\x005\x00G\x00K\rS\x00[\re\x00\x84\x00\xA5\x00\xB5\x00\x1E]\x01]\t\x01!\x033\x113\x15#\x15#5!5\x01\xDD\xFE\xCB\x015\x16\xA6\x87\x87\x90\xFEb\x05f\xFE]\x02\x1C\xFD\xE4m\xBA\xBAy\x00\x00\x01\x00\xC7\x05\x06\x039\x05\xF8\x00\r\x00j@\x0E\x07\x00\x04\xC3\x0B\xFA\x0E\x07V\x08\x01V\x00\x0E\x10\xD4\xEC\xD4\xEC1\x00\x10\xF4\xFC\xC420\x00K\xB0\x0CTX\xBD\x00\x0E\xFF\xC0\x00\x01\x00\x0E\x00\x0E\x00@8\x1178Y\x00K\xB0\x0ETX\xBD\x00\x0E\x00@\x00\x01\x00\x0E\x00\x0E\xFF\xC08\x1178Y\x01K\xB0\x0ETK\xB0\x0FT[X\xBD\x00\x0E\xFF\xC0\x00\x01\x00\x0E\x00\x0E\x00@8\x1178Y\x133\x1E\x0132673\x0E\x01#\"&\xC7v\rcSRa\x10v\n\xA0\x8F\x90\x9F\x05\xF86978w{z\x00\x00\x01\x01\x9A\x05\x0E\x02f\x05\xDB\x00\x03\x00\x11\xB6\x00\x02\xFA\x04\x01\x00\x04\x10\xD4\xCC1\x00\x10\xF4\xCC0\x013\x15#\x01\x9A\xCC\xCC\x05\xDB\xCD\x00\x00\x00\x00\x00\x02\x00\x01\x00\x00\x00\x00\x00\x14\x00\x03\x00\x01\x00\x00\x01\x1A\x00\x00\x01\x06\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x01\x03\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x03\x04\x05\x06\x07\x08\t\n\x0B\x0C\r\x0E\x0F\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1A\x1B\x1C\x1D\x1E\x1F !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`a\x00bcdefghijklmnopqrstuvwxyz{|}~\x7F\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\xA1\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xBA\xBB\xBC\xBD\xBE\xBF\xC0\xC1\xC2\xC3\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\xD0\xD1\x00\xD2\xD3\xD4\xD5\xD6\xD7\xD8\xD9\xDA\xDB\xDC\xDD\xDE\xDF\xE0\x00\x04\x02>\x00\x00\x00:\x00 \x00\x04\x00\x1A\x00~\x00\xFF\x01\x07\x01\x11\x01\x1F\x011\x01B\x01S\x01a\x01x\x01~\x01\x92\x02\xC7\x02\xDD\x03\xA9\x03\xC0 & 0 : \xAC!\"\"\x06\"\x1E\"+\"H\"e%\xCA\xFB\x02\xFF\xFF\x00\x00\x00 \x00\xA0\x01\x06\x01\x0C\x01\x1E\x010\x01A\x01R\x01^\x01x\x01}\x01\x92\x02\xC6\x02\xD8\x03\xA9\x03\xC0 \x13 0 9 \xAC!\"\"\x02\"\x0F\"+\"H\"`%\xCA\xFB\x01\xFF\xFF\xFF\xE3\x00\x00\xFF\xF5\x00\x00\xFF\xD8\x00\x00\xFF\xA0\xFF^\x00\x00\xFFC\xFFh\xFF\x14\x00\x00\x00\x00\xFC\xF6\xFC\xDB\x00\x00\xE0\x96\xE0\x85\xE0V\xDFj\x00\x00\x00\x00\xDEq\xDE_\x00\x00\xDA\xEF\x05\xBF\x00\x01\x00\x00\x008\x00\x00\x00\xF4\x00\x00\x00\xFC\x00\x00\x00\x00\x00\xFA\x00\x00\x00\x00\x00\x00\x00\xFA\x00\xFC\x00\x00\x00\x00\x01\x02\x00\x00\x00\x00\x00\x00\x00\x00\x01 \x01(\x00\x00\x00\x00\x01B\x00\x00\x00\x00\x00\x00\x00\xAC\x00\xA3\x00\x84\x00\x85\x00\xBD\x00\x96\x00\xE7\x00\x86\x00\x8E\x00\x8B\x00\x9D\x00\xA9\x00\xA4\x01\x00\x00\x8A\x00\xD9\x00\x83\x00\x93\x00\xF1\x00\xF2\x00\x8D\x00\x97\x00\x88\x00\xC3\x00\xDD\x00\xF0\x00\x9E\x00\xAA\x00\xF3\x00\xF4\x00\xF5\x00\xA2\x00\xAD\x00\xC9\x00\xC7\x00\xAE\x00b\x00c\x00\x90\x00d\x00\xCB\x00e\x00\xC8\x00\xCA\x00\xCF\x00\xCC\x00\xCD\x00\xCE\x00\xE8\x00f\x00\xD2\x00\xD0\x00\xD1\x00\xAF\x00g\x00\xEF\x00\x91\x00\xD5\x00\xD3\x00\xD4\x00h\x00\xEA\x00\xEC\x00\x89\x00j\x00i\x00k\x00m\x00l\x00n\x00\xA0\x00o\x00q\x00p\x00r\x00s\x00u\x00t\x00v\x00w\x00\xE9\x00x\x00z\x00y\x00{\x00}\x00|\x00\xB8\x00\xA1\x00\x7F\x00~\x00\x80\x00\x81\x00\xEB\x00\xED\x00\xBA\x00\xFD\x00\xFE\x00\x00\x00\x00\x00\x00\x00\xFF\x00\xF8\x00\xD6\x00\xF9\x00\xFA\x00\xE3\x00\xE4\x00\xD7\x00\xE0\x00\xDA\x00\xDB\x00\xDC\x00\xDF\x00\xD8\x00\xDE\x00\xB2\x00\xB3\x00\x00\x00\x00\x00\x00\x00\xB6\x00\xB7\x00\xC4\x00\x00\x00\xB4\x00\xB5\x00\xC5\x00\x00\x00\x82\x00\xC2\x00\x87\x00\x00\x00\x00\x00\x00\x00\xAB\x00\x98\x00\x00\x00\x00\x00\x00\x00\xA8\x00\x9A\x00\x00\x00\x99\x00\xEE\x00\x00\x00\x00\x00\xBC\x00\x00\x00\x00\x00\x00\x01\x01\x00\xA5\x00\x00\x00\x00\x00\x00\x00\x92\x00\x8F\x00\x00\x00\x00\x00\x00\x00\x94\x00\x95\x04\xCD\x00f\x00\x00\x00\x00\x02\x8B\x00\x00\x02\x8B\x00\x00\x035\x015\x03\xAE\x00\xC5\x06\xB4\x00\x9E\x05\x17\x00\xAA\x07\x9A\x00q\x06=\x00\x81\x023\x00\xC5\x03\x1F\x00\xB0\x03\x1F\x00\xA4\x04\x00\x00=\x06\xB4\x00\xD9\x02\x8B\x00\x9E\x02\xE3\x00d\x02\x8B\x00\xDB\x02\xB2\x00\x00\x05\x17\x00\x87\x05\x17\x00\xE1\x05\x17\x00\x96\x05\x17\x00\x9C\x05\x17\x00d\x05\x17\x00\x9E\x05\x17\x00\x8F\x05\x17\x00\xA8\x05\x17\x00\x8B\x05\x17\x00\x81\x02\xB2\x00\xF0\x02\xB2\x00\x9E\x06\xB4\x00\xD9\x06\xB4\x00\xD9\x06\xB4\x00\xD9\x04?\x00\x93\x08\x00\x00\x87\x05y\x00\x10\x05}\x00\xC9\x05\x96\x00s\x06)\x00\xC9\x05\x0E\x00\xC9\x04\x9A\x00\xC9\x063\x00s\x06\x04\x00\xC9\x02\\\x00\xC9\x02\\\xFF\x96\x05?\x00\xC9\x04u\x00\xC9\x06\xE7\x00\xC9\x05\xFC\x00\xC9\x06L\x00s\x04\xD3\x00\xC9\x06L\x00s\x05\x8F\x00\xC9\x05\x14\x00\x87\x04\xE3\xFF\xFA\x05\xDB\x00\xB2\x05y\x00\x10\x07\xE9\x00D\x05{\x00=\x04\xE3\xFF\xFC\x05{\x00\\\x03\x1F\x00\xB0\x02\xB2\x00\x00\x03\x1F\x00\xC7\x06\xB4\x00\xD9\x04\x00\xFF\xEC\x04\x00\x00\xAA\x04\xE7\x00{\x05\x14\x00\xBA\x04f\x00q\x05\x14\x00q\x04\xEC\x00q\x02\xD1\x00/\x05\x14\x00q\x05\x12\x00\xBA\x029\x00\xC1\x029\xFF\xDB\x04\xA2\x00\xBA\x029\x00\xC1\x07\xCB\x00\xBA\x05\x12\x00\xBA\x04\xE5\x00q\x05\x14\x00\xBA\x05\x14\x00q\x03J\x00\xBA\x04+\x00o\x03#\x007\x05\x12\x00\xAE\x04\xBC\x00=\x06\x8B\x00V\x04\xBC\x00;\x04\xBC\x00=\x043\x00X\x05\x17\x01\x00\x02\xB2\x01\x04\x05\x17\x01\x00\x06\xB4\x00\xD9\x05y\x00\x10\x05y\x00\x10\x05\x96\x00s\x05\x0E\x00\xC9\x05\xFC\x00\xC9\x06L\x00s\x05\xDB\x00\xB2\x04\xE7\x00{\x04\xE7\x00{\x04\xE7\x00{\x04\xE7\x00{\x04\xE7\x00{\x04\xE7\x00{\x04f\x00q\x04\xEC\x00q\x04\xEC\x00q\x04\xEC\x00q\x04\xEC\x00q\x029\x00\x90\x029\xFF\xC7\x029\xFF\xDE\x029\xFF\xF4\x05\x12\x00\xBA\x04\xE5\x00q\x04\xE5\x00q\x04\xE5\x00q\x04\xE5\x00q\x04\xE5\x00q\x05\x12\x00\xAE\x05\x12\x00\xAE\x05\x12\x00\xAE\x05\x12\x00\xAE\x04\x00\x009\x04\x00\x00\xC3\x05\x17\x00\xAC\x05\x17\x00\x81\x04\x00\x00\\\x04\xB8\x013\x05\x17\x00\x9E\x05\n\x00\xBA\x08\x00\x01\x1B\x08\x00\x01\x1B\x08\x00\x01'\x04\x00\x01s\x04\x00\x00\xD7\x06\xB4\x00\xD9\x07\xCB\x00\x08\x06L\x00f\x06\xAA\x00\xDD\x06\xB4\x00\xD9\x06\xB4\x00\xD9\x06\xB4\x00\xD9\x05\x17\x00R\x05\x17\x00\xAE\x04#\x00h\x05d\x00\x19\x06\x0E\x00\x9C\x04\xB6\xFF\xE1\x04+\x00/\x03\xC5\x00s\x03\xC5\x00`\x06\x1D\x00N\x07\xDB\x00{\x04\xE5\x00H\x04?\x00\x8F\x035\x015\x06\xB4\x00\xD9\x05\x19\x00=\x05\x17\x00\x1F\x06\xB4\x00\xD9\x05Z\xFF\xFA\x04\xE5\x00\x9E\x04\xE5\x00\xC1\x08\x00\x00\xEC\x05\x17\x00\x00\x05y\x00\x10\x05y\x00\x10\x06L\x00s\x08\x8F\x00s\x08/\x00q\x04\x00\x00\x00\x08\x00\x00\x00\x04%\x00\xAE\x04%\x00\xAE\x02\x8B\x00\xAE\x02\x8B\x00\xB2\x06\xB4\x00\xD9\x03\xF4\x00\x06\x04\xBC\x00=\x04\xE3\xFF\xFC\x01V\xFE\x89\x05\x17\x00^\x033\x00\x9E\x033\x00\xC1\x05\n\x00/\x05\n\x00/\x04\x00\x009\x02\x8B\x00\xDB\x02\x8B\x00\xAE\x04%\x00\xAE\n\xBC\x00q\x05y\x00\x10\x05\x0E\x00\xC9\x05y\x00\x10\x05\x0E\x00\xC9\x05\x0E\x00\xC9\x02\\\x00\xA2\x02\\\xFF\xFE\x02\\\x00\x06\x02\\\x00;\x06L\x00s\x06L\x00s\x06L\x00s\x05\xDB\x00\xB2\x05\xDB\x00\xB2\x05\xDB\x00\xB2\x029\x00\xC1\x04\x00\x00\xC1\x04\x00\x00\xB6\x04\x00\x00\xD5\x04\x00\x00\xC7\x04\x00\x01\x9A\x04\x00\x00\xEE\x04\x00\x01#\x04\x00\x00\xF0\x04\x00\x01L\x04\x00\x00\xC1\x04\x7F\xFF\xF2\x02F\x00\x02\x05\x14\x00\x87\x04+\x00o\x05{\x00\\\x043\x00X\x02\xB2\x01\x04\x063\x00\n\x04\xE5\x00q\x04\xE3\xFF\xFC\x04\xBC\x00=\x04\xD7\x00\xC9\x05\x14\x00\xBA\x06\xB4\x00\xD9\x06\xB4\x01\x19\x035\x00\x89\x035\x00^\x035\x00b\x07\xC1\x00\x89\x07\xC1\x00\x89\x07\xC1\x00b\x063\x00s\x05\x14\x00q\x02\\\x00\xC9\x05\x14\x00\x87\x04+\x00o\x05\x96\x00s\x04f\x00q\x05\x96\x00s\x04f\x00q\x05\x14\x00q\x02\xE3\x00d\x02\x8B\x00\xDB\x05\x17\x00\x00\x04\x00\x00\xD7\x04\x00\x01s\x04\x00\x00\xB6\x04\x00\x01\x0C\x04\x00\x00\xCF\x04\x00\x00\xCF\x035\x00?\x04\x00\x00\xC7\x04\x00\x01\x9A\x00\x02\x00\x00\x00\x00\x00\x00\xFF+\x00\x8F\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x0C\x00\x00\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\t\x00\n\x00\x0B\x00\x0C\x00\r\x00\x0E\x00\x0F\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1A\x00\x1B\x00\x1C\x00\x1D\x00\x1E\x00\x1F\x00 \x00!\x00\"\x00#\x00$\x00%\x00&\x00'\x00(\x00)\x00*\x00+\x00,\x00-\x00.\x00/\x000\x001\x002\x003\x004\x005\x006\x007\x008\x009\x00:\x00;\x00<\x00=\x00>\x00?\x00@\x00A\x00B\x00C\x00D\x00E\x00F\x00G\x00H\x00I\x00J\x00K\x00L\x00M\x00N\x00O\x00P\x00Q\x00R\x00S\x00T\x00U\x00V\x00W\x00X\x00Y\x00Z\x00[\x00\\\x00]\x00^\x00_\x00`\x00a\x00b\x00c\x00d\x00e\x00f\x00g\x00h\x00i\x00j\x00k\x00l\x00m\x00n\x00o\x00p\x00q\x00r\x00s\x00t\x00u\x00v\x00w\x00x\x00y\x00z\x00{\x00|\x00}\x00~\x00\x7F\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8A\x00\x8B\x00\x8C\x00\x8D\x00\x8E\x00\x8F\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9A\x00\x9B\x00\x9C\x00\x9D\x00\x9E\x00\x9F\x00\xA0\x00\xA1\x00\xA2\x00\xA3\x00\xA4\x00\xA5\x00\xA6\x00\xA7\x00\xA8\x00\xA9\x00\xAA\x00\xAB\x00\xAC\x00\xAD\x00\xAE\x00\xAF\x00\xB0\x00\xB1\x00\xB2\x00\xB3\x00\xB4\x00\xB5\x00\xB6\x00\xB7\x00\xB8\x00\xB9\x00\xBA\x00\xBB\x00\xBC\x00\xBD\x00\xBE\x00\xBF\x00\xC0\x00\xC1\x00\xC2\x00\xC3\x00\xC4\x00\xC5\x00\xC6\x00\xC7\x00\xC8\x00\xC9\x00\xCA\x00\xCB\x00\xCC\x00\xCD\x00\xCE\x00\xCF\x00\xD0\x00\xD1\x00\xD3\x00\xD4\x00\xD5\x00\xD6\x00\xD7\x00\xD8\x00\xD9\x00\xDA\x00\xDB\x00\xDC\x00\xDD\x00\xDE\x00\xDF\x00\xE0\x00\xE1\x00\xE2\x00\xE3\x00\xE4\x00\xE5\x00\xE6\x00\xE7\x00\xE8\x00\xE9\x00\xEA\x00\xEB\x00\xEC\x00\xED\x00\xEE\x00\xEF\x00\xF0\x00\xF1\x00\xF2\x00\xF3\x00\xF5\x00\xF4\x00\xF6\x00\xF8\x00\xF9\x00\xFA\x00\xFB\x00\xFC\x00\xFD\x00\xFE\x00\xFF\x01\x00\x01\x01\x01\x02\x01\x03\x01\x04\x01\x05\x01\x06\x01\x07\x01\x08\x01\t\x01\n\x01\x0B\x01\x0C\x01\r\tsfthyphen\x0Eperiodcentered\x04Euro\x05c6459\x05c6460\x05c6461\x05c6462\x05c6463\x05c6466\x05c6467\x05c6468\x05c6469\x00\x00\x00\x00\x00\"\x00\"\x00\"\x00\"\x00X\x00\x93\x00\xFF\x01\xB6\x02O\x03\x83\x03\xB2\x03\xF6\x04!\x04n\x04\x98\x04\xB4\x04\xCA\x04\xDE\x05\x03\x05E\x05\x82\x06\x05\x06~\x06\xE1\x07L\x07\xB7\x07\xFC\x08e\x08\xCF\x08\xEE\t\x16\tR\ts\t\xAE\n\x1F\n\xDF\x0BX\x0B\xB0\x0B\xFB\x0C:\x0Ci\x0C\x93\x0C\xE6\r\x14\r=\rz\x0E\r\x0E/\x0E\xAC\x0F\x00\x0FE\x0F\x85\x0F\xEB\x10u\x10\xF1\x11)\x11p\x11\xE0\x12\xBD\x13\x8A\x13\xEB\x14P\x14\x8B\x14\xB1\x14\xE1\x15\x03\x15\x18\x15@\x15\xD6\x16\"\x16m\x16\xB9\x17#\x17{\x17\xDF\x18\x1B\x18C\x18\x80\x18\xF8\x19\x16\x19w\x19\xB3\x1A\x04\x1AR\x1A\xA1\x1A\xD8\x1B\x87\x1B\xC4\x1C\x00\x1C\x9D\x1D\xBA\x1E\x87\x1Fw\x1F\xE8 [ r \xF3!5!B!\xE2!\xEF!\xFC\"\t\"\x16\"#\"0\"=\"J\"W\"d\"q\"~\"\x8B\"\x98\"\xA5\"\xB2\"\xBF\"\xCC\"\xD9\"\xE6\"\xF3#\x00#\r#\x1A#'#4#A#N#[#h#\x94#\xCF$4$\x8F%3%S%\x81&\x14&\xBA'K'\x90'\xB7(\x13(X(\xC3)_*%*\\*\xA3*\xE9+z+\xD3,D,\x8F,\xB1-P-\xA0.\x0E.R.\xAA/\x870A0\xBD1\x051!1P1\xCF2H2z2\xDF3F3p3p3}3\x8A3\x973\xE64z4\x8F4\xA34\xD14\xFF5\x1C595g5\x915\x9E5\xAB5\xCF6[6\x936\xCD7C7\xA97\xEB8\x008\x1C8J9\x0F9\x1C9)969C9P9]9j9w9\x849\x919\x9E9\xAB9\xB89\xC59\xD29\xEF:\x1C:{:\xA0:\xE5;\x08;^;\x8E;\xC4;\xF4<\"<_<\xA7<\xB4<\xC1<\xCE<\xDB<\xFE=c>;>H>U>\x98>\xE7>\xFD?a?\x8D?\xDC@:@K@\\@m@z@\x87@\x94@\xA1@\xAE@\xBB@\xC8@\xD5@\xE2A@AVAkBEB\xAAB\xF7C_C\xB2C\xFFDUD\xDBE*E?\x00\x00\x00\x00\x00\x01\x00\x00-\x86\x00\x01\x07\x94\x18\x00\x00\n\x15x\x00\x10\x00$\xFF\xD3\x00\x10\x00%\xFF\xB7\x00\x10\x00&\x00\x00\x00\x10\x00'\x00\x00\x00\x10\x00)\x00\x00\x00\x10\x00*\x00K\x00\x10\x00+\x00\x00\x00\x10\x00-\x00r\x00\x10\x00.\x00\x00\x00\x10\x00/\x00\x00\x00\x10\x002\x009\x00\x10\x003\x00\x00\x00\x10\x004\x00K\x00\x10\x005\x00\x00\x00\x10\x007\xFFD\x00\x10\x009\xFF\x88\x00\x10\x00:\xFF\xAD\x00\x10\x00;\xFF\x9A\x00\x10\x00<\xFF\r\x00\x10\x00=\x00\x00\x00\x10\x00I\x00\x00\x00\x10\x00Q\x00\x00\x00\x10\x00R\x00&\x00\x10\x00U\x00\x00\x00\x10\x00Y\xFF\xC9\x00\x10\x00Z\x00\x00\x00\x10\x00\\\xFF\xDC\x00\x10\x00b\xFF\xD3\x00\x10\x00d\x00\x00\x00\x10\x00g\x009\x00\x10\x00x\x00\x00\x00\x10\x00y\x00&\x00\x10\x00z\x00&\x00\x10\x00{\x00&\x00\x10\x00|\x00&\x00\x10\x00}\x00&\x00\x10\x00\x89\x00\x00\x00\x10\x00\x90\x00\x00\x00\x10\x00\xAD\xFF\xD3\x00\x10\x00\xAE\xFF\xD3\x00\x10\x00\xAF\x009\x00\x10\x00\xBA\xFF\xDC\x00\x10\x00\xBB\xFF\r\x00\x10\x00\xC7\xFF\xD3\x00\x10\x00\xC9\xFF\xD3\x00\x10\x00\xD0\x009\x00\x10\x00\xD1\x009\x00\x10\x00\xD2\x009\x00\x10\x00\xE5\x00\x00\x00\x10\x00\xE9\x00\x00\x00\x10\x00\xEA\xFF\r\x00\x10\x00\xEB\xFF\xDC\x00\x10\x00\xEC\x00\x00\x00\x10\x00\xF6\x00K\x00\x10\x00\xFB\x00\x00\x00\x10\x00\xFD\x00\x00\x00$\x00\x10\xFF\xD3\x00$\x00\x11\xFF\xDC\x00$\x00\x1D\xFF\xDC\x00$\x00$\x009\x00$\x00&\xFF\xDC\x00$\x00*\xFF\xDC\x00$\x002\xFF\xDC\x00$\x004\xFF\xDC\x00$\x006\x00\x00\x00$\x007\xFFa\x00$\x008\x00\x00\x00$\x009\xFF}\x00$\x00:\xFF\x90\x00$\x00;\x00\x00\x00$\x00<\xFFa\x00$\x00F\xFF\xDC\x00$\x00G\xFF\xDC\x00$\x00H\xFF\xDC\x00$\x00I\xFF\xB7\x00$\x00R\xFF\xDC\x00$\x00T\xFF\xDC\x00$\x00W\xFF\xDC\x00$\x00X\x00\x00\x00$\x00Y\xFF\x88\x00$\x00Z\xFF\xAD\x00$\x00\\\xFFu\x00$\x00b\x009\x00$\x00d\xFF\xDC\x00$\x00g\xFF\xDC\x00$\x00h\x00\x00\x00$\x00o\xFF\xDC\x00$\x00p\xFF\xDC\x00$\x00q\xFF\xDC\x00$\x00r\xFF\xDC\x00$\x00s\xFF\xDC\x00$\x00y\xFF\xDC\x00$\x00z\xFF\xDC\x00$\x00{\xFF\xDC\x00$\x00|\xFF\xDC\x00$\x00}\xFF\xDC\x00$\x00~\x00\x00\x00$\x00\x7F\x00\x00\x00$\x00\x80\x00\x00\x00$\x00\x81\x00\x00\x00$\x00\xA9\xFF\xB7\x00$\x00\xAA\x00\x00\x00$\x00\xAD\x009\x00$\x00\xAE\x009\x00$\x00\xAF\xFF\xDC\x00$\x00\xB4\xFE\xF8\x00$\x00\xB5\xFF\x03\x00$\x00\xBA\xFFu\x00$\x00\xBB\xFFa\x00$\x00\xC5\x00/\x00$\x00\xC7\x009\x00$\x00\xC9\x009\x00$\x00\xD0\xFF\xDC\x00$\x00\xD1\xFF\xDC\x00$\x00\xD2\xFF\xDC\x00$\x00\xD3\x00\x00\x00$\x00\xD4\x00\x00\x00$\x00\xD5\x00\x00\x00$\x00\xE3\x00\x00\x00$\x00\xEA\xFFa\x00$\x00\xEB\xFFu\x00$\x00\xF6\xFF\xDC\x00$\x00\xF9\x00\x00\x00$\x00\xFB\xFF\xDC\x00$\x00\xFC\xFF\xDC\x00$\x00\xFD\xFF\xDC\x00$\x00\xFE\xFF\xDC\x00%\x00\x10\x00\x00\x00%\x00&\xFF\xDC\x00%\x00*\xFF\xDC\x00%\x002\xFF\xDC\x00%\x006\xFF\xDC\x00%\x009\xFF\xC1\x00%\x00:\xFF\xB7\x00%\x00<\xFF\x90\x00%\x00d\xFF\xDC\x00%\x00g\xFF\xDC\x00%\x00\xA9\xFF\xC1\x00%\x00\xAA\xFF\xDC\x00%\x00\xAF\xFF\xDC\x00%\x00\xB4\xFF\x90\x00%\x00\xB5\xFF\x90\x00%\x00\xBB\xFF\x90\x00%\x00\xC5\xFF\xAD\x00%\x00\xD0\xFF\xDC\x00%\x00\xD1\xFF\xDC\x00%\x00\xD2\xFF\xDC\x00%\x00\xE3\xFF\xDC\x00%\x00\xEA\xFF\x90\x00%\x00\xF6\xFF\xDC\x00%\x00\xF9\xFF\xDC\x00%\x00\xFB\xFF\xDC\x00%\x00\xFD\xFF\xDC\x00&\x00\x10\x00\x00\x00&\x00$\x00\x00\x00&\x006\x00\x00\x00&\x00<\xFF\xDC\x00&\x00b\x00\x00\x00&\x00\xA9\xFF\xDC\x00&\x00\xAA\xFF\xDC\x00&\x00\xAD\x00\x00\x00&\x00\xAE\x00\x00\x00&\x00\xB4\x00\x00\x00&\x00\xB5\x00&\x00&\x00\xBB\xFF\xDC\x00&\x00\xC5\x00\x00\x00&\x00\xC7\x00\x00\x00&\x00\xC9\x00\x00\x00&\x00\xE3\x00\x00\x00&\x00\xEA\xFF\xDC\x00&\x00\xF9\x00\x00\x00'\x00\x10\x00\x00\x00'\x00$\xFF\xDC\x00'\x009\xFF\xDC\x00'\x00:\x00\x00\x00'\x00<\xFF\x90\x00'\x00b\xFF\xDC\x00'\x00\xA9\xFF\xDC\x00'\x00\xAA\xFF\xDC\x00'\x00\xAD\xFF\xDC\x00'\x00\xAE\xFF\xDC\x00'\x00\xB4\xFF\xD3\x00'\x00\xB5\xFF\xC9\x00'\x00\xBB\xFF\x90\x00'\x00\xC5\xFFD\x00'\x00\xC7\xFF\xDC\x00'\x00\xC9\xFF\xDC\x00'\x00\xEA\xFF\x90\x00)\x00\x10\x00\x00\x00)\x00\x11\xFE\xB7\x00)\x00\x1D\xFFa\x00)\x00$\xFFD\x00)\x006\xFF\xDC\x00)\x007\xFF\xDC\x00)\x00D\xFFD\x00)\x00H\xFF\x90\x00)\x00L\xFFk\x00)\x00R\xFF\xB7\x00)\x00U\xFFk\x00)\x00X\xFF\x90\x00)\x00\\\xFFD\x00)\x00b\xFFD\x00)\x00i\xFFD\x00)\x00j\xFFD\x00)\x00k\xFFD\x00)\x00l\xFFD\x00)\x00m\xFFD\x00)\x00n\xFFD\x00)\x00p\xFF\x90\x00)\x00q\xFF\x90\x00)\x00r\xFF\x90\x00)\x00s\xFF\x90\x00)\x00y\xFF\xB7\x00)\x00z\xFF\xB7\x00)\x00{\xFF\xB7\x00)\x00|\xFF\xB7\x00)\x00}\xFF\xB7\x00)\x00~\xFF\x90\x00)\x00\x7F\xFF\x90\x00)\x00\x80\xFF\x90\x00)\x00\x81\xFF\x90\x00)\x00\xA9\x00\x00\x00)\x00\xAA\x00\x00\x00)\x00\xAD\xFFD\x00)\x00\xAE\xFFD\x00)\x00\xB4\xFF\xD3\x00)\x00\xB5\x00\x00\x00)\x00\xBA\xFFD\x00)\x00\xC5\xFE\x88\x00)\x00\xC7\xFFD\x00)\x00\xC9\xFFD\x00)\x00\xE3\xFF\xDC\x00)\x00\xEB\xFFD\x00)\x00\xF9\xFF\xDC\x00*\x00\x10\x00\x00\x00*\x00$\x00\x00\x00*\x007\xFF\xB7\x00*\x00:\x00\x00\x00*\x00<\xFF\x9A\x00*\x00b\x00\x00\x00*\x00\xA9\xFF\xDC\x00*\x00\xAA\xFF\xDC\x00*\x00\xAD\x00\x00\x00*\x00\xAE\x00\x00\x00*\x00\xB4\xFF\xD3\x00*\x00\xB5\xFF\xD3\x00*\x00\xBB\xFF\x9A\x00*\x00\xC5\xFF\xC9\x00*\x00\xC7\x00\x00\x00*\x00\xC9\x00\x00\x00*\x00\xEA\xFF\x9A\x00+\x00\x10\x00\x00\x00+\x00\x11\xFF\xDC\x00+\x00\x1D\x00\x00\x00+\x00\xA9\x00\x00\x00+\x00\xAA\x00\x00\x00+\x00\xB4\xFF\xB7\x00+\x00\xB5\xFF\xC1\x00+\x00\xC5\xFF\xB7\x00-\x00\x10\xFF\xB7\x00-\x00$\xFF\xDC\x00-\x00b\xFF\xDC\x00-\x00\xA9\xFF\xDC\x00-\x00\xAA\xFF\xDC\x00-\x00\xAD\xFF\xDC\x00-\x00\xAE\xFF\xDC\x00-\x00\xB4\xFF\xB7\x00-\x00\xB5\xFF\xC1\x00-\x00\xC5\xFF\x90\x00-\x00\xC7\xFF\xDC\x00-\x00\xC9\xFF\xDC\x00.\x00\x10\xFF)\x00.\x00$\xFF\xDC\x00.\x00&\xFF\x90\x00.\x002\xFF\x90\x00.\x007\xFFa\x00.\x008\xFF\xC9\x00.\x00:\xFF\xB7\x00.\x00<\xFF\xB7\x00.\x00D\xFF\xDC\x00.\x00H\xFF\x9A\x00.\x00R\xFF\x9A\x00.\x00X\xFF\x9A\x00.\x00\\\xFFk\x00.\x00b\xFF\xDC\x00.\x00d\xFF\x90\x00.\x00g\xFF\x90\x00.\x00h\xFF\xC9\x00.\x00i\xFF\xDC\x00.\x00j\xFF\xDC\x00.\x00k\xFF\xDC\x00.\x00l\xFF\xDC\x00.\x00m\xFF\xDC\x00.\x00n\xFF\xDC\x00.\x00p\xFF\x9A\x00.\x00q\xFF\x9A\x00.\x00r\xFF\x9A\x00.\x00s\xFF\x9A\x00.\x00y\xFF\x9A\x00.\x00z\xFF\x9A\x00.\x00{\xFF\x9A\x00.\x00|\xFF\x9A\x00.\x00}\xFF\x9A\x00.\x00~\xFF\x9A\x00.\x00\x7F\xFF\x9A\x00.\x00\x80\xFF\x9A\x00.\x00\x81\xFF\x9A\x00.\x00\xA9\xFF}\x00.\x00\xAA\x00\x00\x00.\x00\xAD\xFF\xDC\x00.\x00\xAE\xFF\xDC\x00.\x00\xAF\xFF\x90\x00.\x00\xB4\xFF\xC1\x00.\x00\xB5\xFF\xC1\x00.\x00\xBA\xFFk\x00.\x00\xBB\xFF\xB7\x00.\x00\xC5\x00\x00\x00.\x00\xC7\xFF\xDC\x00.\x00\xC9\xFF\xDC\x00.\x00\xD0\xFF\x90\x00.\x00\xD1\xFF\x90\x00.\x00\xD2\xFF\x90\x00.\x00\xD3\xFF\xC9\x00.\x00\xD4\xFF\xC9\x00.\x00\xD5\xFF\xC9\x00.\x00\xEA\xFF\xB7\x00.\x00\xEB\xFFk\x00.\x00\xFB\xFF\x90\x00.\x00\xFD\xFF\x90\x00/\x00\x10\xFF\xDC\x00/\x00$\x00/\x00/\x002\xFF\xB7\x00/\x007\xFE\xE6\x00/\x008\xFF\x9A\x00/\x009\xFF\x1F\x00/\x00:\xFFD\x00/\x00<\xFE\xF0\x00/\x00D\x00\x00\x00/\x00H\xFF\xDC\x00/\x00R\xFF\xDC\x00/\x00X\xFF\xDC\x00/\x00\\\xFFD\x00/\x00b\x00/\x00/\x00g\xFF\xB7\x00/\x00h\xFF\x9A\x00/\x00i\x00\x00\x00/\x00j\x00\x00\x00/\x00k\x00\x00\x00/\x00l\x00\x00\x00/\x00m\x00\x00\x00/\x00n\x00\x00\x00/\x00p\xFF\xDC\x00/\x00q\xFF\xDC\x00/\x00r\xFF\xDC\x00/\x00s\xFF\xDC\x00/\x00y\xFF\xDC\x00/\x00z\xFF\xDC\x00/\x00{\xFF\xDC\x00/\x00|\xFF\xDC\x00/\x00}\xFF\xDC\x00/\x00~\xFF\xDC\x00/\x00\x7F\xFF\xDC\x00/\x00\x80\xFF\xDC\x00/\x00\x81\xFF\xDC\x00/\x00\xA9\x00\x00\x00/\x00\xAA\x00\x00\x00/\x00\xAD\x00/\x00/\x00\xAE\x00/\x00/\x00\xAF\xFF\xB7\x00/\x00\xB4\xFEa\x00/\x00\xB5\xFD\xE6\x00/\x00\xBA\xFFD\x00/\x00\xBB\xFE\xF0\x00/\x00\xC5\x00\x00\x00/\x00\xC7\x00/\x00/\x00\xC9\x00/\x00/\x00\xD0\xFF\xB7\x00/\x00\xD1\xFF\xB7\x00/\x00\xD2\xFF\xB7\x00/\x00\xD3\xFF\x9A\x00/\x00\xD4\xFF\x9A\x00/\x00\xD5\xFF\x9A\x00/\x00\xEA\xFE\xF0\x00/\x00\xEB\xFFD\x002\x00\x10\x009\x002\x00\x11\xFF\xAD\x002\x00\x1D\xFF\xDC\x002\x00$\xFF\xDC\x002\x009\xFF\xDC\x002\x00;\xFF}\x002\x00<\xFF\x90\x002\x00b\xFF\xDC\x002\x00\xA9\xFF\xDC\x002\x00\xAA\x00\x00\x002\x00\xAD\xFF\xDC\x002\x00\xAE\xFF\xDC\x002\x00\xB4\xFF\xD3\x002\x00\xB5\xFF\xDC\x002\x00\xBB\xFF\x90\x002\x00\xC5\xFFD\x002\x00\xC7\xFF\xDC\x002\x00\xC9\xFF\xDC\x002\x00\xEA\xFF\x90\x003\x00\x10\xFF\xD3\x003\x00\x11\xFE\xC1\x003\x00\x1D\x00\x00\x003\x00$\xFF}\x003\x008\x00\x00\x003\x00:\x00\x00\x003\x00<\xFF\xD3\x003\x00D\xFF\xA4\x003\x00H\xFF\xB7\x003\x00L\xFF\xD3\x003\x00Q\xFF\xDC\x003\x00R\xFF\xB7\x003\x00U\xFF\xDC\x003\x00V\xFF\xDC\x003\x00X\xFF\xDC\x003\x00\\\x00\x00\x003\x00b\xFF}\x003\x00h\x00\x00\x003\x00i\xFF\xA4\x003\x00j\xFF\xA4\x003\x00k\xFF\xA4\x003\x00l\xFF\xA4\x003\x00m\xFF\xA4\x003\x00n\xFF\xA4\x003\x00p\xFF\xB7\x003\x00q\xFF\xB7\x003\x00r\xFF\xB7\x003\x00s\xFF\xB7\x003\x00x\xFF\xDC\x003\x00y\xFF\xB7\x003\x00z\xFF\xB7\x003\x00{\xFF\xB7\x003\x00|\xFF\xB7\x003\x00}\xFF\xB7\x003\x00~\xFF\xDC\x003\x00\x7F\xFF\xDC\x003\x00\x80\xFF\xDC\x003\x00\x81\xFF\xDC\x003\x00\xA9\xFF\xDC\x003\x00\xAA\x00\x00\x003\x00\xAD\xFF}\x003\x00\xAE\xFF}\x003\x00\xB4\x00&\x003\x00\xB5\x00&\x003\x00\xBA\x00\x00\x003\x00\xBB\xFF\xD3\x003\x00\xC5\xFE\xB7\x003\x00\xC7\xFF}\x003\x00\xC9\xFF}\x003\x00\xD3\x00\x00\x003\x00\xD4\x00\x00\x003\x00\xD5\x00\x00\x003\x00\xE4\xFF\xDC\x003\x00\xEA\xFF\xD3\x003\x00\xEB\x00\x00\x003\x00\xFA\xFF\xDC\x004\x00\x10\x009\x004\x00\xA9\x00\x00\x004\x00\xAA\x00\x00\x004\x00\xB4\xFF\xD3\x004\x00\xB5\xFF\xDC\x004\x00\xC5\xFF}\x005\x00\x10\xFF\xAD\x005\x00\x11\xFF\xB7\x005\x00\x1D\xFF\xC1\x005\x00$\xFF\xAD\x005\x00&\xFF\x9A\x005\x007\xFFk\x005\x009\xFF\x90\x005\x00:\xFF\xAD\x005\x00<\xFF}\x005\x00D\xFF\xD3\x005\x00H\xFF\xA4\x005\x00R\xFF\xA4\x005\x00X\xFF\xA4\x005\x00\\\xFF\x90\x005\x00b\xFF\xAD\x005\x00d\xFF\x9A\x005\x00i\xFF\xD3\x005\x00j\xFF\xD3\x005\x00k\xFF\xD3\x005\x00l\xFF\xD3\x005\x00m\xFF\xD3\x005\x00n\xFF\xD3\x005\x00p\xFF\xA4\x005\x00q\xFF\xA4\x005\x00r\xFF\xA4\x005\x00s\xFF\xA4\x005\x00y\xFF\xA4\x005\x00z\xFF\xA4\x005\x00{\xFF\xA4\x005\x00|\xFF\xA4\x005\x00}\xFF\xA4\x005\x00~\xFF\xA4\x005\x00\x7F\xFF\xA4\x005\x00\x80\xFF\xA4\x005\x00\x81\xFF\xA4\x005\x00\xA9\xFF\x90\x005\x00\xAA\xFF\xDC\x005\x00\xAD\xFF\xAD\x005\x00\xAE\xFF\xAD\x005\x00\xB4\xFFk\x005\x00\xB5\xFF}\x005\x00\xBA\xFF\x90\x005\x00\xBB\xFF}\x005\x00\xC5\xFF\xDC\x005\x00\xC7\xFF\xAD\x005\x00\xC9\xFF\xAD\x005\x00\xEA\xFF}\x005\x00\xEB\xFF\x90\x005\x00\xFB\xFF\x9A\x005\x00\xFD\xFF\x9A\x006\x00$\x00&\x006\x00&\x00\x00\x006\x00*\x00\x00\x006\x002\x00\x00\x006\x004\x00\x00\x006\x006\x00\x00\x006\x00b\x00&\x006\x00d\x00\x00\x006\x00g\x00\x00\x006\x00\xAD\x00&\x006\x00\xAE\x00&\x006\x00\xAF\x00\x00\x006\x00\xC7\x00&\x006\x00\xC9\x00&\x006\x00\xD0\x00\x00\x006\x00\xD1\x00\x00\x006\x00\xD2\x00\x00\x006\x00\xE3\x00\x00\x006\x00\xF6\x00\x00\x006\x00\xF9\x00\x00\x006\x00\xFB\x00\x00\x006\x00\xFD\x00\x00\x007\x00\x10\xFFD\x007\x00\x11\xFF\r\x007\x00\x1D\xFF\x1F\x007\x00$\xFFa\x007\x00&\xFF\x88\x007\x007\xFF\xDC\x007\x00D\xFE\xAD\x007\x00F\xFE\xA4\x007\x00H\xFE\xA4\x007\x00L\xFF\xC1\x007\x00R\xFE\xA4\x007\x00U\xFE\xD3\x007\x00V\xFE\xAD\x007\x00X\xFE\xC9\x007\x00Z\xFE\xAD\x007\x00\\\xFE\xC1\x007\x00b\xFFa\x007\x00d\xFF\x88\x007\x00i\xFE\xAD\x007\x00j\xFE\xAD\x007\x00k\xFE\xAD\x007\x00l\xFE\xAD\x007\x00m\xFE\xAD\x007\x00n\xFE\xAD\x007\x00o\xFE\xA4\x007\x00p\xFE\xA4\x007\x00q\xFE\xA4\x007\x00r\xFE\xA4\x007\x00s\xFE\xA4\x007\x00y\xFE\xA4\x007\x00z\xFE\xA4\x007\x00{\xFE\xA4\x007\x00|\xFE\xA4\x007\x00}\xFE\xA4\x007\x00~\xFE\xC9\x007\x00\x7F\xFE\xC9\x007\x00\x80\xFE\xC9\x007\x00\x81\xFE\xC9\x007\x00\xA9\xFFD\x007\x00\xAA\xFF\x90\x007\x00\xAD\xFFa\x007\x00\xAE\xFFa\x007\x00\xB4\x00\x00\x007\x00\xB5\xFF\xD3\x007\x00\xBA\xFE\xC1\x007\x00\xC5\xFE\xF8\x007\x00\xC7\xFFa\x007\x00\xC9\xFFa\x007\x00\xE4\xFE\xAD\x007\x00\xEB\xFE\xC1\x007\x00\xFA\xFE\xAD\x007\x00\xFB\xFF\x88\x007\x00\xFC\xFE\xA4\x007\x00\xFD\xFF\x88\x007\x00\xFE\xFE\xA4\x008\x00$\x00\x00\x008\x00-\x00\x00\x008\x00=\xFF\xDC\x008\x00b\x00\x00\x008\x00\xAD\x00\x00\x008\x00\xAE\x00\x00\x008\x00\xC7\x00\x00\x008\x00\xC9\x00\x00\x008\x00\xE5\xFF\xDC\x009\x00\x10\xFF\x88\x009\x00\x11\xFE\xF8\x009\x00\x1D\xFFY\x009\x00$\xFF}\x009\x002\xFF\xDC\x009\x00D\xFFa\x009\x00H\xFFa\x009\x00L\xFF\xD3\x009\x00R\xFFa\x009\x00X\xFFu\x009\x00\\\xFF\xC9\x009\x00b\xFF}\x009\x00g\xFF\xDC\x009\x00i\xFFa\x009\x00j\xFFa\x009\x00k\xFFa\x009\x00l\xFFa\x009\x00m\xFFa\x009\x00n\xFFa\x009\x00p\xFFa\x009\x00q\xFFa\x009\x00r\xFFa\x009\x00s\xFFa\x009\x00y\xFFa\x009\x00z\xFFa\x009\x00{\xFFa\x009\x00|\xFFa\x009\x00}\xFFa\x009\x00~\xFFu\x009\x00\x7F\xFFu\x009\x00\x80\xFFu\x009\x00\x81\xFFu\x009\x00\xA9\xFFN\x009\x00\xAA\xFF\x90\x009\x00\xAD\xFF}\x009\x00\xAE\xFF}\x009\x00\xAF\xFF\xDC\x009\x00\xB4\x00\x00\x009\x00\xB5\x00\x00\x009\x00\xBA\xFF\xC9\x009\x00\xC5\xFE\xE6\x009\x00\xC7\xFF}\x009\x00\xC9\xFF}\x009\x00\xD0\xFF\xDC\x009\x00\xD1\xFF\xDC\x009\x00\xD2\xFF\xDC\x009\x00\xEB\xFF\xC9\x00:\x00\x10\xFF\xAD\x00:\x00\x11\xFF\x15\x00:\x00\x1D\xFF\x88\x00:\x00$\xFF\x90\x00:\x00D\xFF}\x00:\x00H\xFF\x88\x00:\x00L\xFF\xD3\x00:\x00R\xFF\x88\x00:\x00U\xFF\xA4\x00:\x00X\xFF\xB7\x00:\x00\\\xFF\xDC\x00:\x00b\xFF\x90\x00:\x00i\xFF}\x00:\x00j\xFF}\x00:\x00k\xFF}\x00:\x00l\xFF}\x00:\x00m\xFF}\x00:\x00n\xFF}\x00:\x00p\xFF\x88\x00:\x00q\xFF\x88\x00:\x00r\xFF\x88\x00:\x00s\xFF\x88\x00:\x00y\xFF\x88\x00:\x00z\xFF\x88\x00:\x00{\xFF\x88\x00:\x00|\xFF\x88\x00:\x00}\xFF\x88\x00:\x00~\xFF\xB7\x00:\x00\x7F\xFF\xB7\x00:\x00\x80\xFF\xB7\x00:\x00\x81\xFF\xB7\x00:\x00\xA9\xFF\x90\x00:\x00\xAA\xFF\xDC\x00:\x00\xAD\xFF\x90\x00:\x00\xAE\xFF\x90\x00:\x00\xB4\xFF\xDC\x00:\x00\xB5\x00\x00\x00:\x00\xBA\xFF\xDC\x00:\x00\xC5\xFE\xF8\x00:\x00\xC7\xFF\x90\x00:\x00\xC9\xFF\x90\x00:\x00\xEB\xFF\xDC\x00;\x00\x10\xFF\x9A\x00;\x00$\x00\x00\x00;\x00&\xFFk\x00;\x002\xFF}\x00;\x007\xFF\xDC\x00;\x00H\xFF\xA4\x00;\x00b\x00\x00\x00;\x00d\xFFk\x00;\x00g\xFF}\x00;\x00p\xFF\xA4\x00;\x00q\xFF\xA4\x00;\x00r\xFF\xA4\x00;\x00s\xFF\xA4\x00;\x00\xA9\xFF\x90\x00;\x00\xAA\x00\x00\x00;\x00\xAD\x00\x00\x00;\x00\xAE\x00\x00\x00;\x00\xAF\xFF}\x00;\x00\xB4\xFFa\x00;\x00\xB5\xFF\xAD\x00;\x00\xC5\xFF\xD3\x00;\x00\xC7\x00\x00\x00;\x00\xC9\x00\x00\x00;\x00\xD0\xFF}\x00;\x00\xD1\xFF}\x00;\x00\xD2\xFF}\x00;\x00\xFB\xFFk\x00;\x00\xFD\xFFk\x00<\x00\x10\xFF\r\x00<\x00\x11\xFEa\x00<\x00\x1D\xFE\xF0\x00<\x00$\xFFa\x00<\x00&\xFF\x90\x00<\x002\xFF\x90\x00<\x00D\xFE\xE6\x00<\x00H\xFE\xF0\x00<\x00L\xFF\xB7\x00<\x00R\xFE\xF0\x00<\x00X\xFF\x15\x00<\x00b\xFFa\x00<\x00d\xFF\x90\x00<\x00g\xFF\x90\x00<\x00i\xFE\xE6\x00<\x00j\xFE\xE6\x00<\x00k\xFE\xE6\x00<\x00l\xFE\xE6\x00<\x00m\xFE\xE6\x00<\x00n\xFE\xE6\x00<\x00p\xFE\xF0\x00<\x00q\xFE\xF0\x00<\x00r\xFE\xF0\x00<\x00s\xFE\xF0\x00<\x00y\xFE\xF0\x00<\x00z\xFE\xF0\x00<\x00{\xFE\xF0\x00<\x00|\xFE\xF0\x00<\x00}\xFE\xF0\x00<\x00~\xFF\x15\x00<\x00\x7F\xFF\x15\x00<\x00\x80\xFF\x15\x00<\x00\x81\xFF\x15\x00<\x00\xA9\xFF\x1F\x00<\x00\xAA\xFFk\x00<\x00\xAD\xFFa\x00<\x00\xAE\xFFa\x00<\x00\xAF\xFF\x90\x00<\x00\xB4\xFF\x90\x00<\x00\xB5\xFF\xDC\x00<\x00\xC5\xFE\xF8\x00<\x00\xC7\xFFa\x00<\x00\xC9\xFFa\x00<\x00\xD0\xFF\x90\x00<\x00\xD1\xFF\x90\x00<\x00\xD2\xFF\x90\x00<\x00\xFB\xFF\x90\x00<\x00\xFD\xFF\x90\x00=\x00\x10\xFF\xDC\x00=\x00\xA9\x00\x00\x00=\x00\xAA\x00\x00\x00=\x00\xB4\xFF\xDC\x00=\x00\xB5\xFF\xDC\x00=\x00\xC5\xFF\xDC\x00H\x00[\xFF\xDC\x00I\x00\x10\xFF\x90\x00I\x00\x11\xFFk\x00I\x00\x1D\xFF\xB7\x00I\x00W\xFF\xDC\x00I\x00Z\xFF\xDC\x00I\x00\\\xFF\xDC\x00I\x00\xA9\xFF\xB7\x00I\x00\xAA\xFF\xDC\x00I\x00\xB4\x00A\x00I\x00\xB5\x00\x00\x00I\x00\xBA\xFF\xDC\x00I\x00\xC5\xFF\x15\x00I\x00\xEB\xFF\xDC\x00N\x00D\xFF\xDC\x00N\x00H\xFF\xB7\x00N\x00R\xFF\xB7\x00N\x00X\xFF\xC1\x00N\x00\\\xFF\xB7\x00N\x00i\xFF\xDC\x00N\x00j\xFF\xDC\x00N\x00k\xFF\xDC\x00N\x00l\xFF\xDC\x00N\x00m\xFF\xDC\x00N\x00n\xFF\xDC\x00N\x00p\xFF\xB7\x00N\x00q\xFF\xB7\x00N\x00r\xFF\xB7\x00N\x00s\xFF\xB7\x00N\x00y\xFF\xB7\x00N\x00z\xFF\xB7\x00N\x00{\xFF\xB7\x00N\x00|\xFF\xB7\x00N\x00}\xFF\xB7\x00N\x00~\xFF\xC1\x00N\x00\x7F\xFF\xC1\x00N\x00\x80\xFF\xC1\x00N\x00\x81\xFF\xC1\x00N\x00\xBA\xFF\xB7\x00N\x00\xEB\xFF\xB7\x00Q\x00\x10\x00\x00\x00Q\x00\x11\x00\x00\x00Q\x00\x1D\x00\x00\x00Q\x00\xA9\x00\x00\x00Q\x00\xAA\x00\x00\x00Q\x00\xB4\xFFk\x00Q\x00\xB5\xFF\x90\x00Q\x00\xC5\xFF\xA4\x00R\x00\x10\x00&\x00R\x00\x11\xFF\xDC\x00R\x00\x1D\x00\x00\x00R\x00[\xFF\xC1\x00R\x00\xA9\x00\x00\x00R\x00\xAA\x00\x00\x00R\x00\xB4\xFFk\x00R\x00\xB5\xFF\xB7\x00R\x00\xC5\xFF}\x00U\x00\x10\xFF}\x00U\x00\x11\xFFD\x00U\x00\x1D\xFF\xDC\x00U\x00F\xFF\xD3\x00U\x00G\xFF\xDC\x00U\x00H\xFF\xD3\x00U\x00I\x00\x00\x00U\x00J\xFF\xDC\x00U\x00K\xFF\xDC\x00U\x00P\xFF\xDC\x00U\x00Q\xFF\xDC\x00U\x00R\xFF\xD3\x00U\x00T\xFF\xDC\x00U\x00U\xFF\xDC\x00U\x00X\x00\x00\x00U\x00Y\x00\x00\x00U\x00Z\x00\x00\x00U\x00[\xFF\xC9\x00U\x00\\\x00\x00\x00U\x00]\x00\x00\x00U\x00o\xFF\xD3\x00U\x00p\xFF\xD3\x00U\x00q\xFF\xD3\x00U\x00r\xFF\xD3\x00U\x00s\xFF\xD3\x00U\x00x\xFF\xDC\x00U\x00y\xFF\xD3\x00U\x00z\xFF\xD3\x00U\x00{\xFF\xD3\x00U\x00|\xFF\xD3\x00U\x00}\xFF\xD3\x00U\x00~\x00\x00\x00U\x00\x7F\x00\x00\x00U\x00\x80\x00\x00\x00U\x00\x81\x00\x00\x00U\x00\xA9\xFF\xB7\x00U\x00\xAA\x00\x00\x00U\x00\xB4\x00\x00\x00U\x00\xB5\x00V\x00U\x00\xBA\x00\x00\x00U\x00\xC5\xFE\xC9\x00U\x00\xE6\x00\x00\x00U\x00\xEB\x00\x00\x00U\x00\xF7\xFF\xDC\x00U\x00\xFC\xFF\xD3\x00U\x00\xFE\xFF\xD3\x00Y\x00\x10\xFF\xC9\x00Y\x00\x11\xFFa\x00Y\x00\x1D\xFF\x90\x00Y\x00\xA9\xFF\xDC\x00Y\x00\xAA\xFF\xDC\x00Y\x00\xB4\x00\x00\x00Y\x00\xB5\xFF\xDC\x00Y\x00\xC5\xFE\xF0\x00Z\x00\x10\x00\x00\x00Z\x00\x11\xFFD\x00Z\x00\x1D\xFF\x90\x00Z\x00\xA9\xFF\xDC\x00Z\x00\xAA\xFF\xDC\x00Z\x00\xB4\x00\x00\x00Z\x00\xB5\x00\x00\x00Z\x00\xC5\xFF)\x00[\x00F\xFF\xDC\x00[\x00H\xFF\xC1\x00[\x00R\xFF\xC1\x00[\x00o\xFF\xDC\x00[\x00p\xFF\xC1\x00[\x00q\xFF\xC1\x00[\x00r\xFF\xC1\x00[\x00s\xFF\xC1\x00[\x00y\xFF\xC1\x00[\x00z\xFF\xC1\x00[\x00{\xFF\xC1\x00[\x00|\xFF\xC1\x00[\x00}\xFF\xC1\x00[\x00\xFC\xFF\xDC\x00[\x00\xFE\xFF\xDC\x00\\\x00\x10\xFF\xDC\x00\\\x00\x11\xFE\xDC\x00\\\x00\x1D\xFFk\x00\\\x00\xA9\xFF\xDC\x00\\\x00\xAA\xFF\xDC\x00\\\x00\xB4\x00\x00\x00\\\x00\xB5\x00\x00\x00\\\x00\xC5\xFE\xD3\x00b\x00\x10\xFF\xD3\x00b\x00\x11\xFF\xDC\x00b\x00\x1D\xFF\xDC\x00b\x00$\x009\x00b\x00&\xFF\xDC\x00b\x00*\xFF\xDC\x00b\x002\xFF\xDC\x00b\x004\xFF\xDC\x00b\x006\x00\x00\x00b\x007\xFFa\x00b\x008\x00\x00\x00b\x009\xFF}\x00b\x00:\xFF\x90\x00b\x00;\x00\x00\x00b\x00<\xFFa\x00b\x00F\xFF\xDC\x00b\x00G\xFF\xDC\x00b\x00H\xFF\xDC\x00b\x00I\xFF\xB7\x00b\x00R\xFF\xDC\x00b\x00T\xFF\xDC\x00b\x00W\xFF\xDC\x00b\x00X\x00\x00\x00b\x00Y\xFF\x88\x00b\x00Z\xFF\xAD\x00b\x00\\\xFFu\x00b\x00b\x009\x00b\x00d\xFF\xDC\x00b\x00g\xFF\xDC\x00b\x00h\x00\x00\x00b\x00o\xFF\xDC\x00b\x00p\xFF\xDC\x00b\x00q\xFF\xDC\x00b\x00r\xFF\xDC\x00b\x00s\xFF\xDC\x00b\x00y\xFF\xDC\x00b\x00z\xFF\xDC\x00b\x00{\xFF\xDC\x00b\x00|\xFF\xDC\x00b\x00}\xFF\xDC\x00b\x00~\x00\x00\x00b\x00\x7F\x00\x00\x00b\x00\x80\x00\x00\x00b\x00\x81\x00\x00\x00b\x00\xA9\xFF\xB7\x00b\x00\xAA\x00\x00\x00b\x00\xAD\x009\x00b\x00\xAE\x009\x00b\x00\xAF\xFF\xDC\x00b\x00\xB4\xFE\xF8\x00b\x00\xB5\xFF\x03\x00b\x00\xBA\xFFu\x00b\x00\xBB\xFFa\x00b\x00\xC5\x00/\x00b\x00\xC7\x009\x00b\x00\xC9\x009\x00b\x00\xD0\xFF\xDC\x00b\x00\xD1\xFF\xDC\x00b\x00\xD2\xFF\xDC\x00b\x00\xD3\x00\x00\x00b\x00\xD4\x00\x00\x00b\x00\xD5\x00\x00\x00b\x00\xE3\x00\x00\x00b\x00\xEA\xFFa\x00b\x00\xEB\xFFu\x00b\x00\xF6\xFF\xDC\x00b\x00\xF9\x00\x00\x00b\x00\xFB\xFF\xDC\x00b\x00\xFC\xFF\xDC\x00b\x00\xFD\xFF\xDC\x00b\x00\xFE\xFF\xDC\x00d\x00\x10\x00\x00\x00d\x00$\x00\x00\x00d\x006\x00\x00\x00d\x00<\xFF\xDC\x00d\x00b\x00\x00\x00d\x00\xA9\xFF\xDC\x00d\x00\xAA\xFF\xDC\x00d\x00\xAD\x00\x00\x00d\x00\xAE\x00\x00\x00d\x00\xB4\x00\x00\x00d\x00\xB5\x00&\x00d\x00\xBB\xFF\xDC\x00d\x00\xC5\x00\x00\x00d\x00\xC7\x00\x00\x00d\x00\xC9\x00\x00\x00d\x00\xE3\x00\x00\x00d\x00\xEA\xFF\xDC\x00d\x00\xF9\x00\x00\x00g\x00\x10\x009\x00g\x00\x11\xFF\xAD\x00g\x00\x1D\xFF\xDC\x00g\x00$\xFF\xDC\x00g\x009\xFF\xDC\x00g\x00;\xFF}\x00g\x00<\xFF\x90\x00g\x00b\xFF\xDC\x00g\x00\xA9\xFF\xDC\x00g\x00\xAA\x00\x00\x00g\x00\xAD\xFF\xDC\x00g\x00\xAE\xFF\xDC\x00g\x00\xB4\xFF\xD3\x00g\x00\xB5\xFF\xDC\x00g\x00\xBB\xFF\x90\x00g\x00\xC5\xFFD\x00g\x00\xC7\xFF\xDC\x00g\x00\xC9\xFF\xDC\x00g\x00\xEA\xFF\x90\x00h\x00$\x00\x00\x00h\x00-\x00\x00\x00h\x00=\xFF\xDC\x00h\x00b\x00\x00\x00h\x00\xAD\x00\x00\x00h\x00\xAE\x00\x00\x00h\x00\xC7\x00\x00\x00h\x00\xC9\x00\x00\x00h\x00\xE5\xFF\xDC\x00p\x00[\xFF\xDC\x00q\x00[\xFF\xDC\x00r\x00[\xFF\xDC\x00s\x00[\xFF\xDC\x00x\x00\x10\x00\x00\x00x\x00\x11\x00\x00\x00x\x00\x1D\x00\x00\x00x\x00\xA9\x00\x00\x00x\x00\xAA\x00\x00\x00x\x00\xB4\xFFk\x00x\x00\xB5\xFF\x90\x00x\x00\xC5\xFF\xA4\x00y\x00\x10\x00&\x00y\x00\x11\xFF\xDC\x00y\x00\x1D\x00\x00\x00y\x00[\xFF\xC1\x00y\x00\xA9\x00\x00\x00y\x00\xAA\x00\x00\x00y\x00\xB4\xFFk\x00y\x00\xB5\xFF\xB7\x00y\x00\xC5\xFF}\x00z\x00\x10\x00&\x00z\x00\x11\xFF\xDC\x00z\x00\x1D\x00\x00\x00z\x00[\xFF\xC1\x00z\x00\xA9\x00\x00\x00z\x00\xAA\x00\x00\x00z\x00\xB4\xFFk\x00z\x00\xB5\xFF\xB7\x00z\x00\xC5\xFF}\x00{\x00\x10\x00&\x00{\x00\x11\xFF\xDC\x00{\x00\x1D\x00\x00\x00{\x00[\xFF\xC1\x00{\x00\xA9\x00\x00\x00{\x00\xAA\x00\x00\x00{\x00\xB4\xFFk\x00{\x00\xB5\xFF\xB7\x00{\x00\xC5\xFF}\x00|\x00\x10\x00&\x00|\x00\x11\xFF\xDC\x00|\x00\x1D\x00\x00\x00|\x00[\xFF\xC1\x00|\x00\xA9\x00\x00\x00|\x00\xAA\x00\x00\x00|\x00\xB4\xFFk\x00|\x00\xB5\xFF\xB7\x00|\x00\xC5\xFF}\x00}\x00\x10\x00&\x00}\x00\x11\xFF\xDC\x00}\x00\x1D\x00\x00\x00}\x00[\xFF\xC1\x00}\x00\xA9\x00\x00\x00}\x00\xAA\x00\x00\x00}\x00\xB4\xFFk\x00}\x00\xB5\xFF\xB7\x00}\x00\xC5\xFF}\x00\x89\x00\x10\x00&\x00\x89\x00\xA9\x00\x00\x00\x89\x00\xAA\x00\x00\x00\x89\x00\xB4\xFF\x90\x00\x89\x00\xB5\xFF\x90\x00\x89\x00\xC5\xFF\xAD\x00\x90\x00\x10\x00\x00\x00\x90\x00\xA9\x00\x00\x00\x90\x00\xAA\x00\x00\x00\x90\x00\xB4\xFF\xAD\x00\x90\x00\xB5\xFF\xA4\x00\x90\x00\xC5\xFF\x90\x00\xA9\x00$\x00\x00\x00\xA9\x00%\xFF\xDC\x00\xA9\x00&\xFF\xDC\x00\xA9\x00'\xFF\xDC\x00\xA9\x00)\x00\x00\x00\xA9\x00*\xFF\xDC\x00\xA9\x00+\x00\x00\x00\xA9\x00-\xFF\xDC\x00\xA9\x00.\x00\x00\x00\xA9\x00/\x00\x00\x00\xA9\x002\x00\x00\x00\xA9\x003\x00\x00\x00\xA9\x004\x00\x00\x00\xA9\x005\x00\x00\x00\xA9\x007\xFF\x90\x00\xA9\x009\xFF\x90\x00\xA9\x00:\xFF\xDC\x00\xA9\x00;\x00\x00\x00\xA9\x00<\xFFk\x00\xA9\x00=\x00\x00\x00\xA9\x00I\x00\x00\x00\xA9\x00Q\x00\x00\x00\xA9\x00R\x00\x00\x00\xA9\x00U\x00\x00\x00\xA9\x00Y\xFF\xDC\x00\xA9\x00Z\xFF\xDC\x00\xA9\x00\\\xFF\xDC\x00\xA9\x00b\x00\x00\x00\xA9\x00d\xFF\xDC\x00\xA9\x00g\x00\x00\x00\xA9\x00x\x00\x00\x00\xA9\x00y\x00\x00\x00\xA9\x00z\x00\x00\x00\xA9\x00{\x00\x00\x00\xA9\x00|\x00\x00\x00\xA9\x00}\x00\x00\x00\xA9\x00\x89\x00\x00\x00\xA9\x00\x90\x00\x97\x00\xA9\x00\xAD\x00\x00\x00\xA9\x00\xAE\x00\x00\x00\xA9\x00\xAF\x00\x00\x00\xA9\x00\xBA\xFF\xDC\x00\xA9\x00\xBB\xFFk\x00\xA9\x00\xC7\x00\x00\x00\xA9\x00\xC9\x00\x00\x00\xA9\x00\xD0\x00\x00\x00\xA9\x00\xD1\x00\x00\x00\xA9\x00\xD2\x00\x00\x00\xA9\x00\xE5\x00\x00\x00\xA9\x00\xE9\x00\x00\x00\xA9\x00\xEA\xFFk\x00\xA9\x00\xEB\xFF\xDC\x00\xA9\x00\xEC\x00\x00\x00\xA9\x00\xF6\xFF\xDC\x00\xA9\x00\xFB\xFF\xDC\x00\xA9\x00\xFD\xFF\xDC\x00\xAA\x00$\xFF\xB7\x00\xAA\x00%\xFF\xB7\x00\xAA\x00&\xFF\xDC\x00\xAA\x00'\xFF\xDC\x00\xAA\x00)\x00\x00\x00\xAA\x00*\x00\x00\x00\xAA\x00+\x00\x00\x00\xAA\x00-\xFF\xDC\x00\xAA\x00.\x00\x00\x00\xAA\x00/\x00\x00\x00\xAA\x002\xFF\xDC\x00\xAA\x003\x00\x00\x00\xAA\x004\x00\x00\x00\xAA\x005\x00\x00\x00\xAA\x007\xFFD\x00\xAA\x009\xFFN\x00\xAA\x00:\xFF\x90\x00\xAA\x00;\xFF\x90\x00\xAA\x00<\xFF\x1F\x00\xAA\x00=\x00\x00\x00\xAA\x00I\x00\x00\x00\xAA\x00Q\x00\x00\x00\xAA\x00R\x00\x00\x00\xAA\x00U\x00\x00\x00\xAA\x00Y\xFF\xDC\x00\xAA\x00Z\xFF\xDC\x00\xAA\x00\\\xFF\xDC\x00\xAA\x00b\xFF\xB7\x00\xAA\x00d\xFF\xDC\x00\xAA\x00g\xFF\xDC\x00\xAA\x00x\x00\x00\x00\xAA\x00y\x00\x00\x00\xAA\x00z\x00\x00\x00\xAA\x00{\x00\x00\x00\xAA\x00|\x00\x00\x00\xAA\x00}\x00\x00\x00\xAA\x00\x89\x00\x00\x00\xAA\x00\x90\x00\x00\x00\xAA\x00\xAD\xFF\xB7\x00\xAA\x00\xAE\xFF\xB7\x00\xAA\x00\xAF\xFF\xDC\x00\xAA\x00\xBA\xFF\xDC\x00\xAA\x00\xBB\xFF\x1F\x00\xAA\x00\xC7\xFF\xB7\x00\xAA\x00\xC9\xFF\xB7\x00\xAA\x00\xD0\xFF\xDC\x00\xAA\x00\xD1\xFF\xDC\x00\xAA\x00\xD2\xFF\xDC\x00\xAA\x00\xE5\x00\x00\x00\xAA\x00\xE9\x00\x00\x00\xAA\x00\xEA\xFF\x1F\x00\xAA\x00\xEB\xFF\xDC\x00\xAA\x00\xEC\x00\x00\x00\xAA\x00\xF6\x00\x00\x00\xAA\x00\xFB\xFF\xDC\x00\xAA\x00\xFD\xFF\xDC\x00\xAD\x00\x10\xFF\xD3\x00\xAD\x00\x11\xFF\xDC\x00\xAD\x00\x1D\xFF\xDC\x00\xAD\x00$\x009\x00\xAD\x00&\xFF\xDC\x00\xAD\x00*\xFF\xDC\x00\xAD\x002\xFF\xDC\x00\xAD\x004\xFF\xDC\x00\xAD\x006\x00\x00\x00\xAD\x007\xFFa\x00\xAD\x008\x00\x00\x00\xAD\x009\xFF}\x00\xAD\x00:\xFF\x90\x00\xAD\x00;\x00\x00\x00\xAD\x00<\xFFa\x00\xAD\x00F\xFF\xDC\x00\xAD\x00G\xFF\xDC\x00\xAD\x00H\xFF\xDC\x00\xAD\x00I\xFF\xB7\x00\xAD\x00R\xFF\xDC\x00\xAD\x00T\xFF\xDC\x00\xAD\x00W\xFF\xDC\x00\xAD\x00X\x00\x00\x00\xAD\x00Y\xFF\x88\x00\xAD\x00Z\xFF\xAD\x00\xAD\x00\\\xFFu\x00\xAD\x00b\x009\x00\xAD\x00d\xFF\xDC\x00\xAD\x00g\xFF\xDC\x00\xAD\x00h\x00\x00\x00\xAD\x00o\xFF\xDC\x00\xAD\x00p\xFF\xDC\x00\xAD\x00q\xFF\xDC\x00\xAD\x00r\xFF\xDC\x00\xAD\x00s\xFF\xDC\x00\xAD\x00y\xFF\xDC\x00\xAD\x00z\xFF\xDC\x00\xAD\x00{\xFF\xDC\x00\xAD\x00|\xFF\xDC\x00\xAD\x00}\xFF\xDC\x00\xAD\x00~\x00\x00\x00\xAD\x00\x7F\x00\x00\x00\xAD\x00\x80\x00\x00\x00\xAD\x00\x81\x00\x00\x00\xAD\x00\xA9\xFF\xB7\x00\xAD\x00\xAA\x00\x00\x00\xAD\x00\xAD\x009\x00\xAD\x00\xAE\x009\x00\xAD\x00\xAF\xFF\xDC\x00\xAD\x00\xB4\xFE\xF8\x00\xAD\x00\xB5\xFF\x03\x00\xAD\x00\xBA\xFFu\x00\xAD\x00\xBB\xFFa\x00\xAD\x00\xC5\x00/\x00\xAD\x00\xC7\x009\x00\xAD\x00\xC9\x009\x00\xAD\x00\xD0\xFF\xDC\x00\xAD\x00\xD1\xFF\xDC\x00\xAD\x00\xD2\xFF\xDC\x00\xAD\x00\xD3\x00\x00\x00\xAD\x00\xD4\x00\x00\x00\xAD\x00\xD5\x00\x00\x00\xAD\x00\xE3\x00\x00\x00\xAD\x00\xEA\xFFa\x00\xAD\x00\xEB\xFFu\x00\xAD\x00\xF6\xFF\xDC\x00\xAD\x00\xF9\x00\x00\x00\xAD\x00\xFB\xFF\xDC\x00\xAD\x00\xFC\xFF\xDC\x00\xAD\x00\xFD\xFF\xDC\x00\xAD\x00\xFE\xFF\xDC\x00\xAE\x00\x10\xFF\xD3\x00\xAE\x00\x11\xFF\xDC\x00\xAE\x00\x1D\xFF\xDC\x00\xAE\x00$\x009\x00\xAE\x00&\xFF\xDC\x00\xAE\x00*\xFF\xDC\x00\xAE\x002\xFF\xDC\x00\xAE\x004\xFF\xDC\x00\xAE\x006\x00\x00\x00\xAE\x007\xFFa\x00\xAE\x008\x00\x00\x00\xAE\x009\xFF}\x00\xAE\x00:\xFF\x90\x00\xAE\x00;\x00\x00\x00\xAE\x00<\xFFa\x00\xAE\x00F\xFF\xDC\x00\xAE\x00G\xFF\xDC\x00\xAE\x00H\xFF\xDC\x00\xAE\x00I\xFF\xB7\x00\xAE\x00R\xFF\xDC\x00\xAE\x00T\xFF\xDC\x00\xAE\x00W\xFF\xDC\x00\xAE\x00X\x00\x00\x00\xAE\x00Y\xFF\x88\x00\xAE\x00Z\xFF\xAD\x00\xAE\x00\\\xFFu\x00\xAE\x00b\x009\x00\xAE\x00d\xFF\xDC\x00\xAE\x00g\xFF\xDC\x00\xAE\x00h\x00\x00\x00\xAE\x00o\xFF\xDC\x00\xAE\x00p\xFF\xDC\x00\xAE\x00q\xFF\xDC\x00\xAE\x00r\xFF\xDC\x00\xAE\x00s\xFF\xDC\x00\xAE\x00y\xFF\xDC\x00\xAE\x00z\xFF\xDC\x00\xAE\x00{\xFF\xDC\x00\xAE\x00|\xFF\xDC\x00\xAE\x00}\xFF\xDC\x00\xAE\x00~\x00\x00\x00\xAE\x00\x7F\x00\x00\x00\xAE\x00\x80\x00\x00\x00\xAE\x00\x81\x00\x00\x00\xAE\x00\xA9\xFF\xB7\x00\xAE\x00\xAA\x00\x00\x00\xAE\x00\xAD\x009\x00\xAE\x00\xAE\x009\x00\xAE\x00\xAF\xFF\xDC\x00\xAE\x00\xB4\xFE\xF8\x00\xAE\x00\xB5\xFF\x03\x00\xAE\x00\xBA\xFFu\x00\xAE\x00\xBB\xFFa\x00\xAE\x00\xC5\x00/\x00\xAE\x00\xC7\x009\x00\xAE\x00\xC9\x009\x00\xAE\x00\xD0\xFF\xDC\x00\xAE\x00\xD1\xFF\xDC\x00\xAE\x00\xD2\xFF\xDC\x00\xAE\x00\xD3\x00\x00\x00\xAE\x00\xD4\x00\x00\x00\xAE\x00\xD5\x00\x00\x00\xAE\x00\xE3\x00\x00\x00\xAE\x00\xEA\xFFa\x00\xAE\x00\xEB\xFFu\x00\xAE\x00\xF6\xFF\xDC\x00\xAE\x00\xF9\x00\x00\x00\xAE\x00\xFB\xFF\xDC\x00\xAE\x00\xFC\xFF\xDC\x00\xAE\x00\xFD\xFF\xDC\x00\xAE\x00\xFE\xFF\xDC\x00\xAF\x00\x10\x009\x00\xAF\x00\x11\xFF\xAD\x00\xAF\x00\x1D\xFF\xDC\x00\xAF\x00$\xFF\xDC\x00\xAF\x009\xFF\xDC\x00\xAF\x00;\xFF}\x00\xAF\x00<\xFF\x90\x00\xAF\x00b\xFF\xDC\x00\xAF\x00\xA9\xFF\xDC\x00\xAF\x00\xAA\x00\x00\x00\xAF\x00\xAD\xFF\xDC\x00\xAF\x00\xAE\xFF\xDC\x00\xAF\x00\xB4\xFF\xD3\x00\xAF\x00\xB5\xFF\xDC\x00\xAF\x00\xBB\xFF\x90\x00\xAF\x00\xC5\xFFD\x00\xAF\x00\xC7\xFF\xDC\x00\xAF\x00\xC9\xFF\xDC\x00\xAF\x00\xEA\xFF\x90\x00\xB4\x00$\xFE\xF8\x00\xB4\x00%\xFF\xC1\x00\xB4\x00&\xFF\xB7\x00\xB4\x00'\xFF\xC1\x00\xB4\x00)\xFF\xC1\x00\xB4\x00*\xFF\xB7\x00\xB4\x00+\xFF\xC1\x00\xB4\x00-\xFF\xC1\x00\xB4\x00.\xFF\xC1\x00\xB4\x00/\xFF\xC1\x00\xB4\x002\xFF\xB7\x00\xB4\x003\xFF\xC1\x00\xB4\x004\xFF\xB7\x00\xB4\x005\xFF\xC1\x00\xB4\x007\x00\x00\x00\xB4\x009\x00\x00\x00\xB4\x00:\x00\x00\x00\xB4\x00;\xFF\x88\x00\xB4\x00<\x00\x00\x00\xB4\x00=\xFF\xDC\x00\xB4\x00I\xFF\xB7\x00\xB4\x00Q\xFF\x90\x00\xB4\x00R\xFFk\x00\xB4\x00U\xFF\x90\x00\xB4\x00Y\xFF\xB7\x00\xB4\x00Z\xFF\xB7\x00\xB4\x00\\\xFF\xB7\x00\xB4\x00b\xFE\xF8\x00\xB4\x00d\xFF\xB7\x00\xB4\x00g\xFF\xB7\x00\xB4\x00x\xFF\x90\x00\xB4\x00y\xFFk\x00\xB4\x00z\xFFk\x00\xB4\x00{\xFFk\x00\xB4\x00|\xFFk\x00\xB4\x00}\xFFk\x00\xB4\x00\x89\xFF\xC1\x00\xB4\x00\x90\xFE}\x00\xB4\x00\xAD\xFE\xF8\x00\xB4\x00\xAE\xFE\xF8\x00\xB4\x00\xAF\xFF\xB7\x00\xB4\x00\xBA\xFF\xB7\x00\xB4\x00\xBB\x00\x00\x00\xB4\x00\xC7\xFE\xF8\x00\xB4\x00\xC9\xFE\xF8\x00\xB4\x00\xD0\xFF\xB7\x00\xB4\x00\xD1\xFF\xB7\x00\xB4\x00\xD2\xFF\xB7\x00\xB4\x00\xE5\xFF\xDC\x00\xB4\x00\xE9\xFF\xB7\x00\xB4\x00\xEA\x00\x00\x00\xB4\x00\xEB\xFF\xB7\x00\xB4\x00\xEC\xFF\xC1\x00\xB4\x00\xF6\xFF\xB7\x00\xB4\x00\xFB\xFF\xB7\x00\xB4\x00\xFD\xFF\xB7\x00\xBA\x00\x10\xFF\xDC\x00\xBA\x00\x11\xFE\xDC\x00\xBA\x00\x1D\xFFk\x00\xBA\x00\xA9\xFF\xDC\x00\xBA\x00\xAA\xFF\xDC\x00\xBA\x00\xB4\x00\x00\x00\xBA\x00\xB5\x00\x00\x00\xBA\x00\xC5\xFE\xD3\x00\xBB\x00\x10\xFF\r\x00\xBB\x00\x11\xFEa\x00\xBB\x00\x1D\xFE\xF0\x00\xBB\x00$\xFFa\x00\xBB\x00&\xFF\x90\x00\xBB\x002\xFF\x90\x00\xBB\x00D\xFE\xE6\x00\xBB\x00H\xFE\xF0\x00\xBB\x00L\xFF\xB7\x00\xBB\x00R\xFE\xF0\x00\xBB\x00X\xFF\x15\x00\xBB\x00b\xFFa\x00\xBB\x00d\xFF\x90\x00\xBB\x00g\xFF\x90\x00\xBB\x00i\xFE\xE6\x00\xBB\x00j\xFE\xE6\x00\xBB\x00k\xFE\xE6\x00\xBB\x00l\xFE\xE6\x00\xBB\x00m\xFE\xE6\x00\xBB\x00n\xFE\xE6\x00\xBB\x00p\xFE\xF0\x00\xBB\x00q\xFE\xF0\x00\xBB\x00r\xFE\xF0\x00\xBB\x00s\xFE\xF0\x00\xBB\x00y\xFE\xF0\x00\xBB\x00z\xFE\xF0\x00\xBB\x00{\xFE\xF0\x00\xBB\x00|\xFE\xF0\x00\xBB\x00}\xFE\xF0\x00\xBB\x00~\xFF\x15\x00\xBB\x00\x7F\xFF\x15\x00\xBB\x00\x80\xFF\x15\x00\xBB\x00\x81\xFF\x15\x00\xBB\x00\xA9\xFF\x1F\x00\xBB\x00\xAA\xFFk\x00\xBB\x00\xAD\xFFa\x00\xBB\x00\xAE\xFFa\x00\xBB\x00\xAF\xFF\x90\x00\xBB\x00\xB4\xFF\x90\x00\xBB\x00\xB5\xFF\xDC\x00\xBB\x00\xC5\xFE\xF8\x00\xBB\x00\xC7\xFFa\x00\xBB\x00\xC9\xFFa\x00\xBB\x00\xD0\xFF\x90\x00\xBB\x00\xD1\xFF\x90\x00\xBB\x00\xD2\xFF\x90\x00\xBB\x00\xFB\xFF\x90\x00\xBB\x00\xFD\xFF\x90\x00\xC5\x00$\x00&\x00\xC5\x00%\xFF\xB7\x00\xC5\x00&\xFF\x90\x00\xC5\x00'\xFF\xB7\x00\xC5\x00)\xFF\xB7\x00\xC5\x00*\xFF\xB7\x00\xC5\x00+\xFF\xB7\x00\xC5\x00-\x00/\x00\xC5\x00.\xFF\xB7\x00\xC5\x00/\xFF\xB7\x00\xC5\x002\xFF\x90\x00\xC5\x003\xFF\xB7\x00\xC5\x004\xFF\x90\x00\xC5\x005\xFF\xB7\x00\xC5\x007\xFE\xE6\x00\xC5\x009\xFE\x88\x00\xC5\x00:\xFF\x03\x00\xC5\x00;\xFF\xB7\x00\xC5\x00<\xFE\x88\x00\xC5\x00=\x00\x00\x00\xC5\x00I\xFF\xDC\x00\xC5\x00Q\xFF\xB7\x00\xC5\x00R\xFF\xB7\x00\xC5\x00U\xFF\xB7\x00\xC5\x00Y\xFF\x15\x00\xC5\x00Z\xFF<\x00\xC5\x00\\\xFF\x90\x00\xC5\x00b\x00&\x00\xC5\x00d\xFF\x90\x00\xC5\x00g\xFF\x90\x00\xC5\x00x\xFF\xB7\x00\xC5\x00y\xFF\xB7\x00\xC5\x00z\xFF\xB7\x00\xC5\x00{\xFF\xB7\x00\xC5\x00|\xFF\xB7\x00\xC5\x00}\xFF\xB7\x00\xC5\x00\x89\xFF\xB7\x00\xC5\x00\x90\x00&\x00\xC5\x00\xAD\x00&\x00\xC5\x00\xAE\x00&\x00\xC5\x00\xAF\xFF\x90\x00\xC5\x00\xBA\xFF\x90\x00\xC5\x00\xBB\xFE\x88\x00\xC5\x00\xC7\x00&\x00\xC5\x00\xC9\x00&\x00\xC5\x00\xD0\xFF\x90\x00\xC5\x00\xD1\xFF\x90\x00\xC5\x00\xD2\xFF\x90\x00\xC5\x00\xE5\x00\x00\x00\xC5\x00\xE9\xFF\xB7\x00\xC5\x00\xEA\xFE\x88\x00\xC5\x00\xEB\xFF\x90\x00\xC5\x00\xEC\xFF\xB7\x00\xC5\x00\xF6\xFF\xB7\x00\xC5\x00\xFB\xFF\x90\x00\xC5\x00\xFD\xFF\x90\x00\xC7\x00\x10\xFF\xD3\x00\xC7\x00\x11\xFF\xDC\x00\xC7\x00\x1D\xFF\xDC\x00\xC7\x00$\x009\x00\xC7\x00&\xFF\xDC\x00\xC7\x00*\xFF\xDC\x00\xC7\x002\xFF\xDC\x00\xC7\x004\xFF\xDC\x00\xC7\x006\x00\x00\x00\xC7\x007\xFFa\x00\xC7\x008\x00\x00\x00\xC7\x009\xFF}\x00\xC7\x00:\xFF\x90\x00\xC7\x00;\x00\x00\x00\xC7\x00<\xFFa\x00\xC7\x00F\xFF\xDC\x00\xC7\x00G\xFF\xDC\x00\xC7\x00H\xFF\xDC\x00\xC7\x00I\xFF\xB7\x00\xC7\x00R\xFF\xDC\x00\xC7\x00T\xFF\xDC\x00\xC7\x00W\xFF\xDC\x00\xC7\x00X\x00\x00\x00\xC7\x00Y\xFF\x88\x00\xC7\x00Z\xFF\xAD\x00\xC7\x00\\\xFFu\x00\xC7\x00b\x009\x00\xC7\x00d\xFF\xDC\x00\xC7\x00g\xFF\xDC\x00\xC7\x00h\x00\x00\x00\xC7\x00o\xFF\xDC\x00\xC7\x00p\xFF\xDC\x00\xC7\x00q\xFF\xDC\x00\xC7\x00r\xFF\xDC\x00\xC7\x00s\xFF\xDC\x00\xC7\x00y\xFF\xDC\x00\xC7\x00z\xFF\xDC\x00\xC7\x00{\xFF\xDC\x00\xC7\x00|\xFF\xDC\x00\xC7\x00}\xFF\xDC\x00\xC7\x00~\x00\x00\x00\xC7\x00\x7F\x00\x00\x00\xC7\x00\x80\x00\x00\x00\xC7\x00\x81\x00\x00\x00\xC7\x00\xA9\xFF\xB7\x00\xC7\x00\xAA\x00\x00\x00\xC7\x00\xAD\x009\x00\xC7\x00\xAE\x009\x00\xC7\x00\xAF\xFF\xDC\x00\xC7\x00\xB4\xFE\xF8\x00\xC7\x00\xB5\xFF\x03\x00\xC7\x00\xBA\xFFu\x00\xC7\x00\xBB\xFFa\x00\xC7\x00\xC5\x00/\x00\xC7\x00\xC7\x009\x00\xC7\x00\xC9\x009\x00\xC7\x00\xD0\xFF\xDC\x00\xC7\x00\xD1\xFF\xDC\x00\xC7\x00\xD2\xFF\xDC\x00\xC7\x00\xD3\x00\x00\x00\xC7\x00\xD4\x00\x00\x00\xC7\x00\xD5\x00\x00\x00\xC7\x00\xE3\x00\x00\x00\xC7\x00\xEA\xFFa\x00\xC7\x00\xEB\xFFu\x00\xC7\x00\xF6\xFF\xDC\x00\xC7\x00\xF9\x00\x00\x00\xC7\x00\xFB\xFF\xDC\x00\xC7\x00\xFC\xFF\xDC\x00\xC7\x00\xFD\xFF\xDC\x00\xC7\x00\xFE\xFF\xDC\x00\xC9\x00\x10\xFF\xD3\x00\xC9\x00\x11\xFF\xDC\x00\xC9\x00\x1D\xFF\xDC\x00\xC9\x00$\x009\x00\xC9\x00&\xFF\xDC\x00\xC9\x00*\xFF\xDC\x00\xC9\x002\xFF\xDC\x00\xC9\x004\xFF\xDC\x00\xC9\x006\x00\x00\x00\xC9\x007\xFFa\x00\xC9\x008\x00\x00\x00\xC9\x009\xFF}\x00\xC9\x00:\xFF\x90\x00\xC9\x00;\x00\x00\x00\xC9\x00<\xFFa\x00\xC9\x00F\xFF\xDC\x00\xC9\x00G\xFF\xDC\x00\xC9\x00H\xFF\xDC\x00\xC9\x00I\xFF\xB7\x00\xC9\x00R\xFF\xDC\x00\xC9\x00T\xFF\xDC\x00\xC9\x00W\xFF\xDC\x00\xC9\x00X\x00\x00\x00\xC9\x00Y\xFF\x88\x00\xC9\x00Z\xFF\xAD\x00\xC9\x00\\\xFFu\x00\xC9\x00b\x009\x00\xC9\x00d\xFF\xDC\x00\xC9\x00g\xFF\xDC\x00\xC9\x00h\x00\x00\x00\xC9\x00o\xFF\xDC\x00\xC9\x00p\xFF\xDC\x00\xC9\x00q\xFF\xDC\x00\xC9\x00r\xFF\xDC\x00\xC9\x00s\xFF\xDC\x00\xC9\x00y\xFF\xDC\x00\xC9\x00z\xFF\xDC\x00\xC9\x00{\xFF\xDC\x00\xC9\x00|\xFF\xDC\x00\xC9\x00}\xFF\xDC\x00\xC9\x00~\x00\x00\x00\xC9\x00\x7F\x00\x00\x00\xC9\x00\x80\x00\x00\x00\xC9\x00\x81\x00\x00\x00\xC9\x00\xA9\xFF\xB7\x00\xC9\x00\xAA\x00\x00\x00\xC9\x00\xAD\x009\x00\xC9\x00\xAE\x009\x00\xC9\x00\xAF\xFF\xDC\x00\xC9\x00\xB4\xFE\xF8\x00\xC9\x00\xB5\xFF\x03\x00\xC9\x00\xBA\xFFu\x00\xC9\x00\xBB\xFFa\x00\xC9\x00\xC5\x00/\x00\xC9\x00\xC7\x009\x00\xC9\x00\xC9\x009\x00\xC9\x00\xD0\xFF\xDC\x00\xC9\x00\xD1\xFF\xDC\x00\xC9\x00\xD2\xFF\xDC\x00\xC9\x00\xD3\x00\x00\x00\xC9\x00\xD4\x00\x00\x00\xC9\x00\xD5\x00\x00\x00\xC9\x00\xE3\x00\x00\x00\xC9\x00\xEA\xFFa\x00\xC9\x00\xEB\xFFu\x00\xC9\x00\xF6\xFF\xDC\x00\xC9\x00\xF9\x00\x00\x00\xC9\x00\xFB\xFF\xDC\x00\xC9\x00\xFC\xFF\xDC\x00\xC9\x00\xFD\xFF\xDC\x00\xC9\x00\xFE\xFF\xDC\x00\xD0\x00\x10\x009\x00\xD0\x00\x11\xFF\xAD\x00\xD0\x00\x1D\xFF\xDC\x00\xD0\x00$\xFF\xDC\x00\xD0\x009\xFF\xDC\x00\xD0\x00;\xFF}\x00\xD0\x00<\xFF\x90\x00\xD0\x00b\xFF\xDC\x00\xD0\x00\xA9\xFF\xDC\x00\xD0\x00\xAA\x00\x00\x00\xD0\x00\xAD\xFF\xDC\x00\xD0\x00\xAE\xFF\xDC\x00\xD0\x00\xB4\xFF\xD3\x00\xD0\x00\xB5\xFF\xDC\x00\xD0\x00\xBB\xFF\x90\x00\xD0\x00\xC5\xFFD\x00\xD0\x00\xC7\xFF\xDC\x00\xD0\x00\xC9\xFF\xDC\x00\xD0\x00\xEA\xFF\x90\x00\xD1\x00\x10\x009\x00\xD1\x00\x11\xFF\xAD\x00\xD1\x00\x1D\xFF\xDC\x00\xD1\x00$\xFF\xDC\x00\xD1\x009\xFF\xDC\x00\xD1\x00;\xFF}\x00\xD1\x00<\xFF\x90\x00\xD1\x00b\xFF\xDC\x00\xD1\x00\xA9\xFF\xDC\x00\xD1\x00\xAA\x00\x00\x00\xD1\x00\xAD\xFF\xDC\x00\xD1\x00\xAE\xFF\xDC\x00\xD1\x00\xB4\xFF\xD3\x00\xD1\x00\xB5\xFF\xDC\x00\xD1\x00\xBB\xFF\x90\x00\xD1\x00\xC5\xFFD\x00\xD1\x00\xC7\xFF\xDC\x00\xD1\x00\xC9\xFF\xDC\x00\xD1\x00\xEA\xFF\x90\x00\xD2\x00\x10\x009\x00\xD2\x00\x11\xFF\xAD\x00\xD2\x00\x1D\xFF\xDC\x00\xD2\x00$\xFF\xDC\x00\xD2\x009\xFF\xDC\x00\xD2\x00;\xFF}\x00\xD2\x00<\xFF\x90\x00\xD2\x00b\xFF\xDC\x00\xD2\x00\xA9\xFF\xDC\x00\xD2\x00\xAA\x00\x00\x00\xD2\x00\xAD\xFF\xDC\x00\xD2\x00\xAE\xFF\xDC\x00\xD2\x00\xB4\xFF\xD3\x00\xD2\x00\xB5\xFF\xDC\x00\xD2\x00\xBB\xFF\x90\x00\xD2\x00\xC5\xFFD\x00\xD2\x00\xC7\xFF\xDC\x00\xD2\x00\xC9\xFF\xDC\x00\xD2\x00\xEA\xFF\x90\x00\xD3\x00$\x00\x00\x00\xD3\x00-\x00\x00\x00\xD3\x00=\xFF\xDC\x00\xD3\x00b\x00\x00\x00\xD3\x00\xAD\x00\x00\x00\xD3\x00\xAE\x00\x00\x00\xD3\x00\xC7\x00\x00\x00\xD3\x00\xC9\x00\x00\x00\xD3\x00\xE5\xFF\xDC\x00\xD4\x00$\x00\x00\x00\xD4\x00-\x00\x00\x00\xD4\x00=\xFF\xDC\x00\xD4\x00b\x00\x00\x00\xD4\x00\xAD\x00\x00\x00\xD4\x00\xAE\x00\x00\x00\xD4\x00\xC7\x00\x00\x00\xD4\x00\xC9\x00\x00\x00\xD4\x00\xE5\xFF\xDC\x00\xD5\x00$\x00\x00\x00\xD5\x00-\x00\x00\x00\xD5\x00=\xFF\xDC\x00\xD5\x00b\x00\x00\x00\xD5\x00\xAD\x00\x00\x00\xD5\x00\xAE\x00\x00\x00\xD5\x00\xC7\x00\x00\x00\xD5\x00\xC9\x00\x00\x00\xD5\x00\xE5\xFF\xDC\x00\xE3\x00$\x00&\x00\xE3\x00&\x00\x00\x00\xE3\x00*\x00\x00\x00\xE3\x002\x00\x00\x00\xE3\x004\x00\x00\x00\xE3\x006\x00\x00\x00\xE3\x00b\x00&\x00\xE3\x00d\x00\x00\x00\xE3\x00g\x00\x00\x00\xE3\x00\xAD\x00&\x00\xE3\x00\xAE\x00&\x00\xE3\x00\xAF\x00\x00\x00\xE3\x00\xC7\x00&\x00\xE3\x00\xC9\x00&\x00\xE3\x00\xD0\x00\x00\x00\xE3\x00\xD1\x00\x00\x00\xE3\x00\xD2\x00\x00\x00\xE3\x00\xE3\x00\x00\x00\xE3\x00\xF6\x00\x00\x00\xE3\x00\xF9\x00\x00\x00\xE3\x00\xFB\x00\x00\x00\xE3\x00\xFD\x00\x00\x00\xE5\x00\x10\xFF\xDC\x00\xE5\x00\xA9\x00\x00\x00\xE5\x00\xAA\x00\x00\x00\xE5\x00\xB4\xFF\xDC\x00\xE5\x00\xB5\xFF\xDC\x00\xE5\x00\xC5\xFF\xDC\x00\xE9\x00\x10\x00\x00\x00\xE9\x00\xA9\x00\x00\x00\xE9\x00\xAA\x00\x00\x00\xE9\x00\xB4\xFF\xA4\x00\xE9\x00\xB5\xFF\x90\x00\xE9\x00\xC5\xFF\xB7\x00\xEA\x00\x10\xFF\r\x00\xEA\x00\x11\xFEa\x00\xEA\x00\x1D\xFE\xF0\x00\xEA\x00$\xFFa\x00\xEA\x00&\xFF\x90\x00\xEA\x002\xFF\x90\x00\xEA\x00D\xFE\xE6\x00\xEA\x00H\xFE\xF0\x00\xEA\x00L\xFF\xB7\x00\xEA\x00R\xFE\xF0\x00\xEA\x00X\xFF\x15\x00\xEA\x00b\xFFa\x00\xEA\x00d\xFF\x90\x00\xEA\x00g\xFF\x90\x00\xEA\x00i\xFE\xE6\x00\xEA\x00j\xFE\xE6\x00\xEA\x00k\xFE\xE6\x00\xEA\x00l\xFE\xE6\x00\xEA\x00m\xFE\xE6\x00\xEA\x00n\xFE\xE6\x00\xEA\x00p\xFE\xF0\x00\xEA\x00q\xFE\xF0\x00\xEA\x00r\xFE\xF0\x00\xEA\x00s\xFE\xF0\x00\xEA\x00y\xFE\xF0\x00\xEA\x00z\xFE\xF0\x00\xEA\x00{\xFE\xF0\x00\xEA\x00|\xFE\xF0\x00\xEA\x00}\xFE\xF0\x00\xEA\x00~\xFF\x15\x00\xEA\x00\x7F\xFF\x15\x00\xEA\x00\x80\xFF\x15\x00\xEA\x00\x81\xFF\x15\x00\xEA\x00\xA9\xFF\x1F\x00\xEA\x00\xAA\xFFk\x00\xEA\x00\xAD\xFFa\x00\xEA\x00\xAE\xFFa\x00\xEA\x00\xAF\xFF\x90\x00\xEA\x00\xB4\xFF\x90\x00\xEA\x00\xB5\xFF\xDC\x00\xEA\x00\xC5\xFE\xF8\x00\xEA\x00\xC7\xFFa\x00\xEA\x00\xC9\xFFa\x00\xEA\x00\xD0\xFF\x90\x00\xEA\x00\xD1\xFF\x90\x00\xEA\x00\xD2\xFF\x90\x00\xEA\x00\xFB\xFF\x90\x00\xEA\x00\xFD\xFF\x90\x00\xEB\x00\x10\xFF\xDC\x00\xEB\x00\x11\xFE\xDC\x00\xEB\x00\x1D\xFFk\x00\xEB\x00\xA9\xFF\xDC\x00\xEB\x00\xAA\xFF\xDC\x00\xEB\x00\xB4\x00\x00\x00\xEB\x00\xB5\x00\x00\x00\xEB\x00\xC5\xFE\xD3\x00\xEC\x00\x10\x00\x00\x00\xEC\x00\x11\xFFk\x00\xEC\x00\x1D\xFF\xB7\x00\xEC\x00\xA9\x00\x00\x00\xEC\x00\xAA\x00\x00\x00\xEC\x00\xB4\xFF\xDC\x00\xEC\x00\xB5\x00\x00\x00\xEC\x00\xC5\xFFD\x00\xF6\x00\x10\x00\x00\x00\xF6\x00$\x00\x00\x00\xF6\x007\xFF\xB7\x00\xF6\x00:\x00\x00\x00\xF6\x00<\xFF\x9A\x00\xF6\x00b\x00\x00\x00\xF6\x00\xA9\xFF\xDC\x00\xF6\x00\xAA\xFF\xDC\x00\xF6\x00\xAD\x00\x00\x00\xF6\x00\xAE\x00\x00\x00\xF6\x00\xB4\xFF\xD3\x00\xF6\x00\xB5\xFF\xD3\x00\xF6\x00\xBB\xFF\x9A\x00\xF6\x00\xC5\xFF\xC9\x00\xF6\x00\xC7\x00\x00\x00\xF6\x00\xC9\x00\x00\x00\xF6\x00\xEA\xFF\x9A\x00\xF9\x00$\x00&\x00\xF9\x00&\x00\x00\x00\xF9\x00*\x00\x00\x00\xF9\x002\x00\x00\x00\xF9\x004\x00\x00\x00\xF9\x006\x00\x00\x00\xF9\x00b\x00&\x00\xF9\x00d\x00\x00\x00\xF9\x00g\x00\x00\x00\xF9\x00\xAD\x00&\x00\xF9\x00\xAE\x00&\x00\xF9\x00\xAF\x00\x00\x00\xF9\x00\xC7\x00&\x00\xF9\x00\xC9\x00&\x00\xF9\x00\xD0\x00\x00\x00\xF9\x00\xD1\x00\x00\x00\xF9\x00\xD2\x00\x00\x00\xF9\x00\xE3\x00\x00\x00\xF9\x00\xF6\x00\x00\x00\xF9\x00\xF9\x00\x00\x00\xF9\x00\xFB\x00\x00\x00\xF9\x00\xFD\x00\x00\x00\xFB\x00\x10\x00\x00\x00\xFB\x00$\x00\x00\x00\xFB\x006\x00\x00\x00\xFB\x00<\xFF\xDC\x00\xFB\x00b\x00\x00\x00\xFB\x00\xA9\xFF\xDC\x00\xFB\x00\xAA\xFF\xDC\x00\xFB\x00\xAD\x00\x00\x00\xFB\x00\xAE\x00\x00\x00\xFB\x00\xB4\x00\x00\x00\xFB\x00\xB5\x00&\x00\xFB\x00\xBB\xFF\xDC\x00\xFB\x00\xC5\x00\x00\x00\xFB\x00\xC7\x00\x00\x00\xFB\x00\xC9\x00\x00\x00\xFB\x00\xE3\x00\x00\x00\xFB\x00\xEA\xFF\xDC\x00\xFB\x00\xF9\x00\x00\x00\xFD\x00\x10\x00\x00\x00\xFD\x00$\x00\x00\x00\xFD\x006\x00\x00\x00\xFD\x00<\xFF\xDC\x00\xFD\x00b\x00\x00\x00\xFD\x00\xA9\xFF\xDC\x00\xFD\x00\xAA\xFF\xDC\x00\xFD\x00\xAD\x00\x00\x00\xFD\x00\xAE\x00\x00\x00\xFD\x00\xB4\x00\x00\x00\xFD\x00\xB5\x00&\x00\xFD\x00\xBB\xFF\xDC\x00\xFD\x00\xC5\x00\x00\x00\xFD\x00\xC7\x00\x00\x00\xFD\x00\xC9\x00\x00\x00\xFD\x00\xE3\x00\x00\x00\xFD\x00\xEA\xFF\xDC\x00\xFD\x00\xF9\x00\x00\x00\x00\x00\x01\x00\x00\x01\x0C\x00M\x00\x07\x00B\x00\x04\x00\x02\x00\x10\x00@\x00\x07\x00\x00\x04\x15\x05h\x00\x03\x00\x01\x00\x01\x00\x00\x07m\xFE\x1D\x00\x00\n\xBC\xFE\x89\xFE\x89\nL\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x0C\x00\x01\x04\x0E\x01\x90\x00\x05\x00\x04\x05G\x04\xCC\x00\x00\xFEB\x05G\x04\xCC\x00\x00\x02S\x00\x8F\x02f\x08\x02\x02\x0B\x06\x03\x03\x08\x04\x02\x02\x04\x80\x00\x00\xAF\x10\x00 J\x00\x00\x00\x00\x00\x00\x00\x00Bits\x00@\x00 \xFB\x02\x06\x14\xFE\x14\x01\x9A\x07m\x01\xE3\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00B\x00\x1D\xB1\x02\x8B\x04`\x00\x00#c\x05\xD5\x00\x00VeraSans\x00\x00\x00\x00\x00\x00\x00\x00\xFF\xFF\xFF\xFF6\xFF\xFF\xFE628R00\x00\x00@\x00\x00\x00\x00\x00\x00\x14\x00\x00\x01\x10\t\x0C\x05\x00\x03\x03\x03\x04\x08\x06\t\x08\x02\x04\x04\x05\x08\x03\x03\x03\x03\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x03\x03\x08\x08\x08\x05\n\x06\x07\x07\x07\x06\x06\x07\x07\x03\x03\x06\x05\x08\x07\x07\x06\x07\x06\x07\x05\x07\x06\x07\x06\x05\x05\x04\x03\x04\x08\x05\x05\x06\x06\x06\x06\x06\x03\x06\x06\x03\x03\x05\x03\t\x06\x06\x06\x06\x04\x05\x04\x06\x05\x07\x05\x05\x06\x05\x03\x05\x08\x06\x06\x07\x06\x07\x07\x07\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x03\x03\x03\x03\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x05\x05\x06\x06\x05\x05\x06\x06\t\t\t\x05\x05\x08\t\x07\x08\x08\x08\x08\x06\x06\x05\x06\x07\x05\x05\x04\x04\x07\t\x06\x05\x03\x08\x06\x06\x08\x06\x06\x06\t\x06\x06\x06\x07\n\t\x05\t\x05\x05\x03\x03\x08\x04\x05\x05\x02\x06\x04\x04\x06\x06\x05\x03\x03\x05\x0C\x06\x06\x06\x06\x06\x03\x03\x03\x03\x07\x07\x07\x07\x07\x07\x03\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x03\x07\x05\x05\x06\x03\x07\x06\x05\x05\x06\x06\x08\x08\x04\x04\x04\t\t\t\x07\x06\x03\x07\x05\x07\x06\x07\x06\x06\x03\x03\x06\x05\x05\x05\x05\x05\x05\x04\x05\x05\x00\x00\n\r\x06\x00\x03\x03\x04\x05\x08\x06\n\t\x03\x04\x04\x05\x08\x03\x04\x03\x03\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x03\x03\x08\x08\x08\x05\x0B\x07\x07\x08\x08\x07\x06\x08\x08\x03\x03\x07\x06\t\x08\x08\x07\x08\x07\x07\x05\x08\x07\t\x06\x07\x06\x04\x03\x04\x08\x05\x05\x06\x06\x05\x06\x06\x04\x06\x06\x02\x02\x05\x02\n\x06\x06\x06\x06\x04\x05\x04\x06\x06\x08\x06\x06\x05\x06\x03\x06\x08\x07\x07\x08\x07\x08\x08\x08\x06\x06\x06\x06\x06\x06\x05\x06\x06\x06\x06\x02\x02\x02\x02\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x05\x05\x06\x06\x05\x06\x06\x06\n\n\n\x05\x05\x08\n\x08\x08\x08\x08\x08\x06\x07\x05\x07\x08\x06\x05\x05\x05\x08\n\x06\x05\x04\x08\x06\x06\x08\x07\x06\x06\n\x06\x07\x07\x08\x0B\n\x05\n\x05\x05\x03\x03\x08\x05\x06\x07\x02\x06\x04\x04\x06\x06\x05\x03\x03\x05\r\x07\x07\x07\x07\x07\x03\x03\x03\x03\x08\x08\x08\x08\x08\x08\x02\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x06\x02\x07\x05\x06\x05\x03\x08\x06\x07\x06\x07\x06\x08\x08\x04\x04\x04\n\n\n\x08\x06\x03\x07\x05\x08\x05\x08\x05\x06\x04\x03\x06\x05\x05\x05\x05\x05\x05\x04\x05\x05\x00\x00\x0B\x0F\x07\x00\x03\x03\x03\x05\t\x07\n\n\x03\x04\x04\x06\t\x04\x04\x04\x04\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x04\x04\t\t\t\x06\x0C\x07\x08\x08\x08\x07\x06\t\x08\x03\x03\x07\x06\t\x08\t\x07\t\x07\x08\x07\x08\x07\t\x07\x07\t\x04\x04\x04\t\x06\x06\x07\x07\x06\x07\x07\x04\x07\x07\x03\x03\x06\x03\x0B\x07\x07\x07\x07\x05\x07\x04\x07\x06\t\x06\x06\x05\x07\x04\x07\t\x07\x07\x08\x07\x08\t\x08\x07\x07\x07\x07\x07\x07\x06\x07\x07\x07\x07\x03\x03\x03\x03\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x06\x06\x07\x07\x06\x06\x07\x07\x0B\x0B\x0B\x06\x06\t\x0B\t\t\t\t\t\x07\x07\x06\x07\x08\x06\x06\x05\x05\x08\x0B\x07\x06\x03\t\x07\x07\t\x07\x07\x07\x0B\x07\x07\x07\t\x0C\x0B\x06\x0B\x06\x06\x04\x04\t\x05\x06\x07\x02\x07\x04\x04\x07\x07\x06\x04\x04\x06\x0F\x07\x07\x07\x07\x07\x03\x03\x03\x03\t\t\t\x08\x08\x08\x03\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x03\x08\x07\t\x05\x04\x08\x07\x07\x06\x07\x07\t\t\x04\x04\x04\x0B\x0B\x0B\t\x07\x03\x08\x07\x08\x06\x08\x06\x07\x04\x04\x07\x06\x06\x06\x06\x06\x06\x04\x06\x06\x00\x00\x0C\x10\x07\x00\x04\x04\x05\x05\n\x08\x0B\n\x03\x05\x05\x06\n\x04\x04\x04\x04\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x04\x04\n\n\n\x06\r\x08\x08\x08\t\x08\x07\t\t\x03\x03\x07\x06\n\t\t\x08\t\x08\x08\x07\t\x08\x0B\t\x07\t\x05\x04\x05\n\x06\x06\x08\x08\x07\x08\x08\x04\x08\x08\x03\x03\x07\x03\x0B\x08\x08\x08\x08\x05\x07\x05\x08\x06\t\x06\x06\x05\x08\x04\x08\n\x08\x08\x08\x08\t\t\t\x08\x08\x08\x08\x08\x08\x07\x08\x08\x08\x08\x03\x03\x03\x03\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x06\x06\x08\x08\x06\x07\x08\x08\x0C\x0C\x0C\x06\x06\n\x0C\t\n\n\n\n\x08\x08\x06\x08\t\x07\x06\x06\x06\t\x0C\x08\x06\x05\n\x08\x08\n\x08\x07\x07\x0C\x08\x08\x08\t\r\r\x06\x0C\x06\x06\x04\x04\n\x06\x06\x07\x02\x08\x05\x05\x07\x07\x06\x04\x04\x06\x10\x08\x08\x08\x08\x08\x03\x03\x03\x03\t\t\t\t\t\t\x03\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x03\x08\x07\t\x05\x04\t\x08\x07\x06\x08\x08\n\n\x05\x05\x05\x0C\x0C\x0C\t\x08\x03\x08\x07\x08\x07\x08\x07\x08\x04\x04\x08\x06\x06\x06\x06\x06\x06\x05\x06\x06\x00\x00\r\x11\x08\x00\x04\x04\x05\x05\x0B\x08\x0C\x0B\x03\x05\x05\x07\x0B\x04\x05\x04\x04\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x04\x04\x0B\x0B\x0B\x07\r\t\t\t\n\x08\x07\n\n\x03\x03\x08\x07\x0B\n\n\x08\n\x08\t\x07\n\t\x0B\n\x07\n\x05\x04\x05\x0B\x07\x07\x08\x08\x07\x08\x08\x04\x08\x08\x03\x03\x07\x03\r\x08\x08\x08\x08\x05\x07\x05\x08\x07\t\x07\x07\x07\x08\x04\x08\x0B\t\t\t\x08\n\n\n\x08\x08\x08\x08\x08\x08\x07\x08\x08\x08\x08\x03\x03\x03\x03\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x07\x07\x08\x08\x07\x08\x08\x08\r\r\r\x07\x07\x0B\r\n\x0B\x0B\x0B\x0B\x08\x08\x07\t\n\x08\x07\x06\x06\n\r\x08\x07\x05\x0B\x08\x08\x0B\t\x08\x08\r\x08\t\t\n\x0E\r\x07\r\x07\x07\x04\x04\x0B\x06\x07\x07\x02\x08\x05\x05\x08\x08\x07\x04\x04\x07\x11\t\x08\t\x08\x08\x03\x03\x03\x03\n\n\n\n\n\n\x03\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x03\t\x07\n\x07\x04\n\x08\x07\x07\x08\x08\x0B\x0B\x05\x05\x05\r\r\r\n\x08\x03\t\x07\t\x07\t\x07\x08\x05\x04\x08\x07\x07\x07\x07\x07\x07\x05\x07\x07\x00\x00\x0E\x13\x08\x00\x04\x04\x05\x05\x0C\t\r\x0C\x03\x05\x05\x07\x0C\x04\x05\x04\x05\t\t\t\t\t\t\t\t\t\t\x05\x05\x0C\x0C\x0C\x07\x0E\t\n\n\x0B\t\x08\x0B\n\x03\x03\t\x07\x0C\n\x0B\t\x0B\n\t\t\n\t\r\x0B\t\n\x05\x05\x05\x0C\x07\x07\x08\t\x08\t\t\x04\t\t\x03\x03\x08\x03\r\t\t\t\t\x05\x08\x05\t\x07\x0B\x07\x07\x08\t\x05\t\x0C\t\t\n\t\n\x0B\n\x08\x08\x08\x08\x08\x08\x08\t\t\t\t\x03\x03\x03\x03\t\t\t\t\t\t\t\t\t\t\x07\x07\t\t\x07\x08\t\t\x0E\x0E\x0E\x07\x07\x0C\x0E\x0B\x0C\x0C\x0C\x0C\t\t\x07\t\x0B\x08\x07\x07\x07\x0B\x0E\t\x07\x05\x0C\t\t\x0C\t\t\t\x0E\t\t\t\x0B\x0F\x0F\x07\x0E\x07\x07\x04\x04\x0C\x07\x07\t\x02\t\x06\x06\x08\x08\x07\x04\x04\x07\x13\t\t\t\t\t\x03\x03\x03\x03\x0B\x0B\x0B\n\n\n\x03\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x03\t\x08\n\x08\x05\x0B\t\t\x07\t\t\x0C\x0C\x06\x06\x06\x0E\x0E\x0E\x0B\t\x03\t\x08\n\x08\n\x08\t\x05\x04\t\x07\x07\x07\x07\x07\x07\x06\x07\x07\x00\x00\x0F\x14\t\x00\x05\x05\x06\x06\r\n\x0E\x0B\x03\x06\x06\x08\r\x05\x05\x05\x05\n\n\n\n\n\n\n\n\n\n\x05\x05\r\r\r\x08\x0F\n\n\n\x0B\t\t\x0C\x0B\x03\x03\n\x08\r\x0B\x0C\t\x0C\n\n\t\x0B\n\x0F\n\t\x0B\x06\x05\x06\r\x08\x08\t\t\x08\t\t\x05\t\t\x03\x03\x08\x03\x0F\t\t\t\t\x06\x08\x06\t\x08\r\n\x08\x08\n\x05\n\r\n\n\n\t\x0B\x0C\x0B\t\t\t\t\t\t\x08\t\t\t\t\x03\x03\x03\x03\t\t\t\t\t\t\t\t\t\t\x08\x08\n\n\x08\t\n\t\x0F\x0F\x0F\x08\x08\r\x0F\x0C\r\r\r\r\n\t\x08\n\x0B\t\x08\x07\x07\x0B\x0F\t\x08\x06\r\n\n\r\n\t\t\x0F\n\n\n\x0C\x10\x0F\x08\x0F\x08\x08\x05\x05\r\x07\x08\t\x03\n\x06\x06\t\t\x08\x05\x05\x08\x14\n\t\n\t\t\x03\x03\x03\x03\x0C\x0C\x0C\x0B\x0B\x0B\x03\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x03\n\x08\x0B\x08\x05\x0C\t\t\x08\t\t\r\r\x06\x06\x06\x0F\x0F\x0F\x0C\t\x03\n\x08\n\x08\n\x08\t\x05\x05\n\x08\x08\x08\x08\x08\x08\x06\x08\x08\x00\x00\x10\x15\n\x00\x05\x05\x06\x06\r\n\x0F\x0C\x03\x06\x06\x08\r\x05\x06\x05\x05\n\n\n\n\n\n\n\n\n\n\x05\x05\r\r\r\t\x10\x0B\x0B\x0B\x0C\n\t\x0C\x0C\x05\x05\n\t\r\x0C\r\n\r\x0B\n\t\x0C\x0B\x11\x0B\t\x0C\x06\x05\x06\r\x08\x08\t\n\t\n\t\x06\n\n\x03\x03\t\x03\x0F\n\n\n\n\x07\t\x06\n\t\r\n\t\t\n\x05\n\r\x0B\x0B\x0B\n\x0C\r\x0C\t\t\t\t\t\t\t\t\t\t\t\x03\x03\x03\x03\n\n\n\n\n\n\n\n\n\n\x08\x08\n\n\x08\t\n\n\x10\x10\x10\x08\x08\r\x10\r\r\r\r\r\n\n\x08\x0B\x0C\t\x08\x08\x08\x0C\x10\n\t\x06\r\n\n\r\x0B\n\n\x10\n\x0B\x0B\r\x11\x0F\x08\x10\x08\x08\x05\x05\r\x08\t\t\x03\n\x06\x06\n\n\x08\x05\x05\x08\x15\x0B\n\x0B\n\n\x05\x05\x05\x05\r\r\r\x0C\x0C\x0C\x03\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\t\x04\n\t\x0C\t\x05\r\n\t\t\n\n\r\r\x06\x06\x06\x10\x10\x10\x0C\n\x05\n\t\x0B\t\x0B\t\n\x06\x05\n\x08\x08\x08\x08\x08\x08\x06\x08\x08\x00\x00\x11\x17\n\x00\x05\x05\x07\x08\x0E\x0B\x10\r\x05\x07\x07\t\x0E\x05\x06\x05\x06\x0B\x0B\x0B\x0B\x0B\x0B\x0B\x0B\x0B\x0B\x06\x06\x0E\x0E\x0E\t\x11\x0B\x0C\x0C\r\x0B\n\r\r\x06\x06\x0C\t\x0F\r\r\n\r\x0C\x0B\n\r\x0B\x12\r\n\x0C\x07\x06\x07\x0E\t\t\n\n\x08\n\n\x06\n\x0B\x05\x05\n\x05\x11\x0B\n\n\n\x07\x08\x07\x0B\n\x0F\n\n\x08\x0B\x06\x0B\x0E\x0B\x0B\x0C\x0B\r\r\r\n\n\n\n\n\n\x08\n\n\n\n\x05\x05\x05\x05\x0B\n\n\n\n\n\x0B\x0B\x0B\x0B\t\t\x0B\x0B\t\n\x0B\x0B\x11\x11\x11\t\t\x0E\x10\r\x0E\x0E\x0E\x0E\x0B\x0B\t\x0B\r\n\t\x08\x08\r\x10\n\t\x07\x0E\x0B\x0B\x0E\x0B\n\n\x11\x0B\x0B\x0B\r\x12\x11\t\x11\t\t\x05\x05\x0E\x08\n\n\x03\x0B\x07\x07\n\n\t\x05\x05\t\x17\x0B\x0B\x0B\x0B\x0B\x06\x06\x06\x06\r\r\r\r\r\r\x05\t\t\t\t\t\t\t\t\t\t\n\x05\x0B\x08\x0C\x08\x06\r\n\n\n\n\n\x0E\x0E\x07\x07\x07\x10\x10\x10\r\n\x06\x0B\x08\x0C\x08\x0C\x08\n\x06\x05\x0B\t\t\t\t\t\t\x07\t\t\x00\x00\x12\x18\x0B\x00\x06\x06\x07\x08\x0F\x0B\x11\r\x04\x07\x07\t\x0F\x06\x07\x06\x06\x0B\x0B\x0B\x0B\x0B\x0B\x0B\x0B\x0B\x0B\x06\x06\x0F\x0F\x0F\n\x12\x0C\x0C\r\x0E\x0B\n\x0E\x0E\x06\x06\x0C\n\x10\x0E\x0E\x0B\x0E\r\x0B\x0C\x0E\x0C\x13\r\x0C\r\x07\x06\x07\x0F\t\t\n\x0B\t\x0B\x0B\x06\x0B\x0B\x05\x05\n\x05\x11\x0B\x0B\x0B\x0B\x08\x08\x07\x0B\x0B\x10\x0B\x0B\t\x0B\x06\x0B\x0F\x0C\x0C\r\x0B\x0E\x0E\x0E\n\n\n\n\n\n\t\x0B\x0B\x0B\x0B\x05\x05\x05\x05\x0B\x0B\x0B\x0B\x0B\x0B\x0B\x0B\x0B\x0B\t\t\x0B\x0B\t\x0B\x0B\x0B\x12\x12\x12\t\t\x0F\x11\x0E\x0F\x0F\x0F\x0F\x0B\x0B\t\x0C\x0E\x0B\t\x08\x08\x0E\x11\x0B\n\x07\x0F\x0B\x0B\x0F\x0C\x0B\x0B\x12\x0B\x0C\x0C\x0E\x13\x13\t\x12\t\t\x06\x06\x0F\t\x0B\x0C\x03\x0B\x07\x07\x0B\x0B\t\x06\x06\t\x18\x0C\x0B\x0C\x0B\x0B\x06\x06\x06\x06\x0E\x0E\x0E\x0E\x0E\x0E\x05\t\t\t\t\t\t\t\t\t\t\n\x05\x0B\x08\r\t\x06\x0E\x0B\x0C\x0B\x0B\x0B\x0F\x0F\x07\x07\x07\x11\x11\x11\x0E\x0B\x06\x0B\x08\r\t\r\t\x0B\x07\x06\x0B\t\t\t\t\t\t\x07\t\t\x00\x00\x13\x1A\x0B\x00\x06\x06\x08\x08\x10\x0C\x12\x0E\x04\x07\x07\n\x10\x06\x07\x06\x06\x0C\x0C\x0C\x0C\x0C\x0C\x0C\x0C\x0C\x0C\x06\x06\x10\x10\x10\n\x13\r\r\r\x0F\x0C\x0B\x0F\x0E\x06\x06\x0C\x0B\x10\x0E\x0F\x0C\x0F\r\x0C\x0C\x0E\r\x14\x0E\x0C\r\x07\x06\x07\x10\n\n\x0B\x0B\t\x0B\x0B\x06\x0B\x0C\x05\x05\x0B\x05\x11\x0C\x0B\x0B\x0B\x08\t\x08\x0C\x0B\x11\x0B\x0B\x0B\x0C\x06\x0C\x10\r\r\r\x0C\x0E\x0F\x0E\x0B\x0B\x0B\x0B\x0B\x0B\t\x0B\x0B\x0B\x0B\x05\x05\x05\x05\x0C\x0B\x0B\x0B\x0B\x0B\x0C\x0C\x0C\x0C\n\n\x0C\x0C\n\x0B\x0C\x0C\x13\x13\x13\n\n\x10\x12\x0F\x10\x10\x10\x10\x0C\x0C\n\r\x0E\x0B\n\t\t\x0F\x12\x0B\n\x08\x10\x0C\x0C\x10\r\x0C\x0C\x13\x0C\r\r\x0F\x14\x13\n\x13\n\n\x06\x06\x10\t\x0B\x0C\x03\x0C\x08\x08\x0B\x0B\n\x06\x06\n\x1A\r\x0C\r\x0C\x0C\x06\x06\x06\x06\x0F\x0F\x0F\x0E\x0E\x0E\x05\n\n\n\n\n\n\n\n\n\n\x0B\x05\x0C\t\r\x0B\x06\x0F\x0B\x0C\x0B\x0C\x0B\x10\x10\x08\x08\x08\x12\x12\x12\x0F\x0B\x06\x0C\t\r\t\r\t\x0B\x07\x06\x0C\n\n\n\n\n\n\x08\n\n\x00\x00\x14\x1B\x0C\x00\x06\x06\x08\n\x11\r\x13\x0F\x06\x08\x08\n\x11\x06\x07\x06\x07\r\r\r\r\r\r\r\r\r\r\x07\x07\x11\x11\x11\x0B\x14\x0E\x0E\x0E\x0F\r\x0C\x10\x0F\x06\x06\r\x0B\x11\x0F\x10\x0C\x10\x0E\r\x0C\x0F\x0E\x14\x0E\x0C\x0E\x08\x07\x08\x11\n\n\x0C\r\x0B\r\x0C\x07\r\r\x06\x06\x0C\x06\x14\r\x0C\r\r\x08\n\x08\r\x0B\x11\x0B\x0B\x0B\r\x07\r\x11\x0E\x0E\x0E\r\x0F\x10\x0F\x0C\x0C\x0C\x0C\x0C\x0C\x0B\x0C\x0C\x0C\x0C\x06\x06\x06\x06\r\x0C\x0C\x0C\x0C\x0C\r\r\r\r\n\n\r\r\n\x0C\r\r\x14\x14\x14\n\n\x11\x14\x10\x11\x11\x11\x11\r\r\n\r\x0F\x0C\n\t\t\x0F\x13\x0C\x0B\x08\x11\r\r\x11\r\x0C\x0C\x14\r\x0E\x0E\x10\x15\x14\n\x14\n\n\x06\x06\x11\n\x0B\x0C\x03\r\x08\x08\r\r\n\x06\x06\n\x1B\x0E\r\x0E\r\r\x06\x06\x06\x06\x10\x10\x10\x0F\x0F\x0F\x06\n\n\n\n\n\n\n\n\n\n\x0B\x06\r\n\x0E\x0B\x07\x0F\x0C\x0C\x0B\x0C\r\x11\x11\x08\x08\x08\x13\x13\x13\x10\r\x06\r\n\x0E\x0B\x0E\x0B\r\x07\x06\r\n\n\n\n\n\n\x08\n\n\x00\x00\x15\x1C\r\x00\x07\x07\x08\n\x12\r\x14\x10\x06\x08\x08\x0B\x12\x07\x08\x07\x07\r\r\r\r\r\r\r\r\r\r\x07\x07\x12\x12\x12\x0B\x15\x0E\x0E\x0F\x10\r\x0C\x10\x10\x06\x06\x0E\x0C\x12\x10\x11\r\x11\x0F\r\r\x0F\x0E\x15\x0E\r\x0E\x08\x07\x08\x12\x0B\x0B\r\r\x0C\r\r\x07\r\r\x06\x06\x0C\x06\x14\x0E\r\r\r\t\x0B\x08\x0E\x0B\x11\r\r\x0B\r\x07\r\x12\x0E\x0E\x0F\r\x10\x11\x0F\r\r\r\r\r\r\x0C\r\r\r\r\x06\x06\x06\x06\x0E\r\r\r\r\r\x0E\x0E\x0E\x0E\x0B\x0B\r\r\x0B\x0C\r\r\x15\x15\x15\x0B\x0B\x12\x14\x11\x12\x12\x12\x12\r\x0E\x0B\x0E\x10\x0C\x0B\n\n\x10\x14\r\x0B\x08\x12\r\r\x12\x0E\r\r\x15\r\x0E\x0E\x11\x16\x16\x0B\x15\x0B\x0B\x07\x07\x12\n\r\r\x04\r\x08\x08\r\r\x0B\x07\x07\x0B\x1C\x0E\r\x0E\r\r\x06\x06\x06\x06\x11\x11\x11\x0F\x0F\x0F\x06\x0B\x0B\x0B\x0B\x0B\x0B\x0B\x0B\x0B\x0B\x0C\x06\r\x0B\x0E\x0B\x07\x10\r\r\r\r\r\x12\x12\x08\x08\x08\x14\x14\x14\x10\r\x06\r\x0B\x0F\x0C\x0F\x0C\r\x08\x07\r\x0B\x0B\x0B\x0B\x0B\x0B\x08\x0B\x0B\x00\x00\x16\x1E\r\x00\x07\x07\t\n\x12\x0E\x15\x11\x06\t\t\x0B\x12\x07\x08\x07\x07\x0E\x0E\x0E\x0E\x0E\x0E\x0E\x0E\x0E\x0E\x07\x07\x12\x12\x12\x0C\x16\x0F\x0F\x0F\x11\x0E\r\x11\x11\x06\x06\x0E\x0C\x13\x10\x11\r\x11\x0F\x0E\r\x10\x0F\x16\x0F\r\x0F\t\x07\t\x12\x0B\x0B\r\x0E\x0C\x0E\r\x08\x0E\x0E\x06\x06\r\x06\x16\x0E\r\x0E\x0E\t\x0B\t\x0E\x0E\x12\x0E\x0E\x0C\x0E\x07\x0E\x12\x0F\x0F\x0F\x0E\x10\x11\x10\r\r\r\r\r\r\x0C\r\r\r\r\x06\x06\x06\x06\x0E\r\r\r\r\r\x0E\x0E\x0E\x0E\x0B\x0B\x0E\x0E\x0B\r\x0E\x0E\x16\x16\x16\x0B\x0B\x12\x15\x11\x12\x12\x12\x12\x0E\x0E\x0B\x0F\x11\r\x0B\n\n\x11\x15\r\x0C\t\x12\x0E\x0E\x12\x0F\r\r\x16\x0E\x0F\x0F\x11\x18\x16\x0B\x16\x0B\x0B\x07\x07\x12\x0B\x0E\r\x04\x0E\t\t\r\r\x0B\x07\x07\x0B\x1E\x0F\x0E\x0F\x0E\x0E\x06\x06\x06\x06\x11\x11\x11\x10\x10\x10\x06\x0B\x0B\x0B\x0B\x0B\x0B\x0B\x0B\x0B\x0B\x0C\x06\x0E\x0B\x0F\x0C\x07\x11\r\r\x0E\r\x0E\x12\x12\t\t\t\x15\x15\x15\x11\x0E\x06\x0E\x0B\x0F\x0C\x0F\x0C\x0E\x08\x07\x0E\x0B\x0B\x0B\x0B\x0B\x0B\t\x0B\x0B\x00\x00\x17\x1F\x0E\x00\x07\x07\t\x0B\x13\x0F\x16\x12\x06\t\t\x0C\x13\x07\x08\x07\x08\x0F\x0F\x0F\x0F\x0F\x0F\x0F\x0F\x0F\x0F\x08\x08\x13\x13\x13\x0C\x17\x10\x10\x10\x12\x0F\r\x12\x11\x07\x07\x0F\r\x14\x11\x12\x0E\x12\x10\x0F\x0E\x11\x10\x17\x10\x0E\x10\t\x08\t\x13\x0C\x0C\x0E\x0F\r\x0F\x0E\x08\x0F\x0F\x06\x06\r\x06\x16\x0F\x0E\x0E\x0E\t\x0C\t\x0F\x0E\x13\x0E\x0E\x0C\x0F\x08\x0F\x13\x10\x10\x10\x0F\x11\x12\x11\x0E\x0E\x0E\x0E\x0E\x0E\r\x0E\x0E\x0E\x0E\x06\x06\x06\x06\x0F\x0E\x0E\x0E\x0E\x0E\x0F\x0F\x0F\x0F\x0C\x0C\x0F\x0F\x0C\x0E\x0F\x0E\x17\x17\x17\x0C\x0C\x13\x16\x12\x13\x13\x13\x13\x0F\x0F\x0C\x10\x11\x0E\x0C\x0B\x0B\x12\x15\x0E\x0C\t\x13\x0F\x0F\x13\x0F\x0E\x0E\x17\x0F\x10\x10\x12\x19\x18\x0C\x17\x0C\x0C\x07\x07\x13\x0B\x0E\x0E\x04\x0F\t\t\x0F\x0F\x0C\x07\x07\x0C\x1F\x10\x0F\x10\x0F\x0F\x07\x07\x07\x07\x12\x12\x12\x11\x11\x11\x06\x0C\x0C\x0C\x0C\x0C\x0C\x0C\x0C\x0C\x0C\r\x06\x0F\x0C\x10\x0C\x08\x12\x0E\x0E\x0E\x0E\x0E\x13\x13\t\t\t\x16\x16\x16\x12\x0F\x07\x0F\x0C\x10\r\x10\r\x0F\x08\x07\x0F\x0C\x0C\x0C\x0C\x0C\x0C\t\x0C\x0C\x00\x00\x18 \x0E\x00\x08\x08\n\x0B\x14\x0F\x17\x13\x07\t\t\x0C\x14\x08\t\x08\x08\x0F\x0F\x0F\x0F\x0F\x0F\x0F\x0F\x0F\x0F\x08\x08\x14\x14\x14\r\x18\x10\x10\x11\x12\x0F\x0E\x13\x12\x07\x07\x10\r\x15\x12\x13\x0E\x13\x11\x0F\x0F\x12\x10\x18\x10\x0F\x10\t\x08\t\x14\x0C\x0C\x0E\x0F\r\x0F\x0E\x08\x0F\x0F\x07\x07\x0E\x06\x18\x0F\x0E\x0F\x0F\n\x0C\t\x0F\x0F\x14\x0F\x0F\r\x0F\x08\x0F\x14\x10\x10\x11\x0F\x12\x13\x12\x0E\x0E\x0E\x0E\x0E\x0E\r\x0E\x0E\x0E\x0E\x07\x07\x07\x07\x0F\x0E\x0E\x0E\x0E\x0E\x0F\x0F\x0F\x0F\x0C\x0C\x0F\x0F\x0C\x0E\x0F\x0F\x18\x18\x18\x0C\x0C\x14\x17\x13\x14\x14\x14\x14\x0F\x0F\x0C\x10\x12\x0E\r\x0B\x0B\x12\x17\x0E\r\n\x14\x0F\x0F\x14\x10\x0F\x0F\x18\x0F\x10\x10\x13\x1A\x18\x0C\x18\x0C\x0C\x08\x08\x14\x0C\x0F\x0F\x04\x0F\n\n\x0F\x0F\x0C\x08\x08\x0C \x10\x0F\x10\x0F\x0F\x07\x07\x07\x07\x13\x13\x13\x12\x12\x12\x07\x0C\x0C\x0C\x0C\x0C\x0C\x0C\x0C\x0C\x0C\r\x06\x0F\x0C\x10\r\x08\x13\x0E\x0F\x0F\x0F\x0F\x14\x14\n\n\n\x17\x17\x17\x13\x0F\x07\x0F\x0C\x11\r\x11\r\x0F\t\x08\x0F\x0C\x0C\x0C\x0C\x0C\x0C\n\x0C\x0C\x00\x00\x19\"\x0F\x00\x08\x08\n\x0C\x15\x10\x18\x14\x07\n\n\r\x15\x08\t\x08\x08\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\x08\x08\x15\x15\x15\r\x19\x11\x11\x11\x13\x10\x0E\x13\x13\x07\x07\x10\x0E\x16\x13\x14\x0F\x14\x11\x10\x0F\x12\x11\x19\x11\x0F\x11\n\x08\n\x15\r\r\x0F\x10\x0E\x10\x0F\t\x10\x10\x07\x07\x0E\x07\x18\x10\x0F\x10\x10\n\r\n\x10\x0F\x14\x0F\x0F\r\x10\x08\x10\x15\x11\x11\x11\x10\x13\x14\x12\x0F\x0F\x0F\x0F\x0F\x0F\x0E\x0F\x0F\x0F\x0F\x07\x07\x07\x07\x10\x0F\x0F\x0F\x0F\x0F\x10\x10\x10\x10\r\r\x10\x10\r\x0F\x10\x10\x19\x19\x19\r\r\x15\x18\x14\x15\x15\x15\x15\x10\x10\r\x11\x13\x0F\r\x0C\x0C\x13\x19\x0F\r\n\x15\x10\x10\x15\x11\x0F\x0F\x19\x10\x11\x11\x14\x1B\x1A\r\x19\r\r\x08\x08\x15\x0C\x0F\x0F\x04\x10\n\n\x10\x10\r\x08\x08\r\"\x11\x10\x11\x10\x10\x07\x07\x07\x07\x14\x14\x14\x12\x12\x12\x07\r\r\r\r\r\r\r\r\r\r\x0E\x07\x10\r\x11\r\x08\x13\x0F\x0F\x0F\x0F\x10\x15\x15\n\n\n\x18\x18\x18\x13\x10\x07\x10\r\x11\x0E\x11\x0E\x10\t\x08\x10\r\r\r\r\r\r\n\r\r\x00\x00\x1A#\x10\x00\x08\x08\n\x0C\x16\x11\x19\x14\x07\n\n\r\x16\x08\t\x08\t\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\t\t\x16\x16\x16\x0E\x1A\x12\x12\x12\x14\x10\x0F\x14\x14\x08\x08\x11\x0E\x16\x13\x14\x10\x14\x12\x11\x10\x13\x12\x1A\x12\x10\x12\n\t\n\x16\r\r\x10\x11\x0E\x11\x10\t\x11\x10\x07\x07\x0F\x07\x19\x10\x10\x11\x11\x0B\x0E\n\x10\x0F\x15\x0F\x0F\x0E\x11\t\x11\x16\x12\x12\x12\x10\x13\x14\x13\x10\x10\x10\x10\x10\x10\x0E\x10\x10\x10\x10\x07\x07\x07\x07\x10\x10\x10\x10\x10\x10\x10\x10\x10\x10\r\r\x11\x11\r\x0F\x11\x10\x1A\x1A\x1A\r\r\x16\x19\x14\x16\x16\x16\x16\x11\x11\r\x12\x14\x0F\x0E\x0C\x0C\x14\x1A\x10\x0E\n\x16\x11\x11\x16\x11\x10\x10\x1A\x11\x12\x12\x14\x1C\x1B\r\x1A\r\r\x08\x08\x16\r\x0F\x10\x04\x11\n\n\x10\x10\r\x08\x08\r#\x12\x10\x12\x10\x10\x08\x08\x08\x08\x14\x14\x14\x13\x13\x13\x07\r\r\r\r\r\r\r\r\r\r\x0F\x07\x11\x0E\x12\x0E\t\x14\x10\x10\x0F\x10\x11\x16\x16\n\n\n\x19\x19\x19\x14\x11\x08\x11\x0E\x12\x0E\x12\x0E\x11\t\x08\x11\r\r\r\r\r\r\n\r\r\x00\x00\x1B$\x10\x00\t\t\x0B\x0C\x17\x11\x1A\x15\x07\x0B\x0B\x0E\x17\t\n\t\t\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\t\t\x17\x17\x17\x0E\x1B\x12\x13\x13\x15\x11\x10\x15\x14\x08\x08\x12\x0F\x17\x14\x15\x10\x15\x13\x11\x11\x14\x12\x1B\x13\x11\x13\x0B\t\x0B\x17\x0E\x0E\x11\x11\x0F\x11\x11\n\x11\x11\x08\x08\x10\x08\x1A\x11\x11\x11\x11\x0B\x0E\x0B\x11\x10\x16\x10\x10\x0E\x11\t\x11\x17\x12\x12\x13\x11\x14\x15\x14\x11\x11\x11\x11\x11\x11\x0F\x11\x11\x11\x11\x08\x08\x08\x08\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x0E\x0E\x11\x11\x0E\x10\x11\x11\x1B\x1B\x1B\x0E\x0E\x17\x1A\x15\x16\x17\x17\x17\x11\x11\x0E\x12\x14\x10\x0E\r\r\x15\x1B\x11\x0E\x0B\x17\x11\x11\x17\x12\x11\x11\x1B\x11\x12\x12\x15\x1D\x1C\x0E\x1B\x0E\x0E\t\t\x17\r\x10\x11\x05\x11\x0B\x0B\x11\x11\x0E\t\t\x0E$\x12\x11\x12\x11\x11\x08\x08\x08\x08\x15\x15\x15\x14\x14\x14\x08\x0E\x0E\x0E\x0E\x0E\x0E\x0E\x0E\x0E\x0E\x0F\x08\x11\x0E\x13\x0E\t\x15\x11\x11\x10\x10\x11\x17\x17\x0B\x0B\x0B\x1A\x1A\x1A\x15\x11\x08\x11\x0E\x13\x0F\x13\x0F\x11\n\t\x11\x0E\x0E\x0E\x0E\x0E\x0E\x0B\x0E\x0E\x00\x00\x1C&\x11\x00\t\t\x0B\r\x17\x12\x1B\x16\x08\x0B\x0B\x0E\x17\t\n\t\t\x12\x12\x12\x12\x12\x12\x12\x12\x12\x12\t\t\x17\x17\x17\x0F\x1C\x13\x13\x14\x16\x12\x10\x16\x15\x08\x08\x12\x10\x18\x15\x16\x11\x16\x13\x12\x11\x15\x13\x1C\x13\x11\x13\x0B\t\x0B\x17\x0E\x0E\x11\x12\x0F\x12\x11\n\x12\x12\x08\x08\x10\x08\x1B\x12\x11\x12\x12\x0C\x0F\x0B\x12\x11\x17\x11\x11\x0F\x12\t\x12\x17\x13\x13\x14\x12\x15\x16\x15\x11\x11\x11\x11\x11\x11\x0F\x11\x11\x11\x11\x08\x08\x08\x08\x12\x11\x11\x11\x11\x11\x12\x12\x12\x12\x0E\x0E\x12\x12\x0E\x11\x12\x12\x1C\x1C\x1C\x0E\x0E\x17\x1B\x16\x17\x17\x17\x17\x12\x12\x0E\x13\x15\x10\x0F\r\r\x15\x1C\x11\x0F\x0B\x17\x12\x12\x17\x13\x11\x11\x1C\x12\x13\x13\x16\x1E\x1D\x0E\x1C\x0F\x0F\t\t\x17\x0E\x11\x11\x05\x12\x0B\x0B\x12\x12\x0E\t\t\x0F&\x13\x12\x13\x12\x12\x08\x08\x08\x08\x16\x16\x16\x15\x15\x15\x08\x0E\x0E\x0E\x0E\x0E\x0E\x0E\x0E\x0E\x0E\x10\x08\x12\x0F\x13\x0F\t\x16\x11\x11\x11\x11\x12\x17\x17\x0B\x0B\x0B\x1B\x1B\x1B\x16\x12\x08\x12\x0F\x14\x0F\x14\x0F\x12\n\t\x12\x0E\x0E\x0E\x0E\x0E\x0E\x0B\x0E\x0E\x00\x00\x00\x00\x00\x02\x00\x08\x00\x02\xFF\xFF\x00\x03\x00\x01\x00\x00\x00\x02\x00\x00\x0CP\n\xEC_\x0F<\xF5\x00\x1F\x08\x00\x00\x00\x00\x00\xBA\xB9\xF0\xB8\x00\x00\x00\x00\xBA\xC2g\x91\xFE\x89\xFE\x1D\nL\x07m\x00\x00\x00\x08\x00\x01\x00\x00\x00\x00\x00\x00"; /// embedded version of vera.ttf 
    88} 
  • trunk/src/yage/resource/embed/phong.vert

    r187 r188  
    7474     
    7575    // Put each light direction in tangent space 
    76     for (int i=0; i<NUM_LIGHTS; i++) 
    77     {   vec3 lightDirection = lights[i].position.xyz - eye_position; 
    78         v.x = dot(lightDirection, tangent); 
    79         v.y = dot(lightDirection, binormal); 
    80         v.z = dot(lightDirection, normal);   
    81         light_directions[i] = (v); 
    82     } 
     76    #if NUM_LIGHTS > 0 
     77        for (int i=0; i<NUM_LIGHTS; i++) 
     78        {   vec3 lightDirection = lights[i].position.xyz - eye_position; 
     79            v.x = dot(lightDirection, tangent); 
     80            v.y = dot(lightDirection, binormal); 
     81            v.z = dot(lightDirection, normal);   
     82            light_directions[i] = (v); 
     83        } 
     84    #endif 
    8385#else // keep eye_direction and light_directions in world space (or is it model space?)  
    8486    eye_direction = -normalize(eye_position); 
  • trunk/src/yage/resource/geometry.d

    r184 r188  
    88 
    99import tango.math.Math; 
     10import yage.core.array; 
    1011import yage.core.format; 
    1112import yage.core.math.vector; 
     
    4647 
    4748/** 
    48  * Stores vertex data and meshes for any 3D geometry. */ 
     49 * Each Geometry has arrays of vertex data and one or more Meshes; each Mesh has its own material 
     50 * and an array of triangle indices that correspond to vertices in the Geometry vertex array. */ 
    4951class Geometry 
    5052{    
     
    248250    } 
    249251 
    250     import yage.core.array; 
    251     import yage.core.timer; 
    252      
    253252    /** 
    254253     * Merge duplicate vertices and Meshes. 
    255      * This should be done before creating binormals in order to work well. */ 
    256     void optimize() 
     254     * This should be done before creating binormals in order to work well.  
     255     * Returns:  a map from the old vertex indices to the new ones. */ 
     256    int[] optimize() 
    257257    { 
    258         debug { 
     258        debug { // assertions 
    259259            int length =  getVertexBuffer(Geometry.VERTICES).length; 
    260260            foreach (name, attribute; attributes) 
    261             {   assert(attribute.length == length, format("%s is only of length %s, but vertices are of length %s", name, attribute.length, length)); 
    262             } 
    263              
     261                assert(attribute.length == length, format("%s is only of length %s, but vertices are of length %s", name, attribute.length, length)); 
    264262        } 
    265263         
     
    305303        // This is the slow part 
    306304        // Build a map of how to merge vertices 
    307         scope int[int] remap
     305        int[] remap = new int[vb.length]
    308306        scope int[int] remapReverse; 
    309307        int offset = 0; 
     
    311309        {   bool remapped = false; 
    312310            foreach (d; getDuplicateVertices(i)) 
    313                 if (!(d in remap)) 
     311                //if (!(d in remap)) 
     312                if (remap[d] == 0) 
    314313                {   remap[d] = offset; 
    315314                    remapReverse[offset] = d; 
     
    345344            mesh.setTriangles(triangles); 
    346345        } 
     346         
     347        return remap; 
    347348    } 
    348349     
     
    445446{ 
    446447    static const char[] TRIANGLES = "GL_TRIANGLES"; /// Constants used to specify various built-in polgyon attribute type names. 
    447     static const char[] LINES = "GL_LINES"; /// Constants used to specify various built-in polgyon attribute type names. 
     448    static const char[] LINES = "GL_LINES"; /// ditto 
     449    static const char[] POINTS = "GL_POINTS"; /// ditto 
    448450     
    449451    protected VertexBuffer triangles; 
  • trunk/src/yage/resource/image.d

    r187 r188  
    333333     *     xoffset = x-offset of img from this image's left side.  Out of bounds values will be cropped. 
    334334     *     yoffset = y-offset of img from this image's top side.  Out of bounds values will be cropped. 
    335      *     skew = horizontally skew the overlayed image by this amount.  .5 will skew it by 45 degrees 
    336335     * TODO: Make the top go to the right instead of taking the bottom to the left when skewing 
    337336     */ 
    338     void overlaySkewAndColor(Image img, Color color, int xoffset=0, int yoffset=0, float skew=0) 
     337    void overlayAndColor(Image img, Color color, int xoffset=0, int yoffset=0) 
    339338    {   assert(getChannels()==4); 
    340339        assert(img.getChannels()==1); 
    341340     
    342         int ymax = max(min(img.height+yoffset, height), 0);  
    343         for (int y=max(yoffset, 0); y < ymax; y++) 
     341        uint ymax = max(min(img.height+yoffset, height), 0);  
     342        for (uint y=max(yoffset, 0); y < ymax; y++) 
    344343        {   assert(0 <= y && y<height); 
    345344         
    346             float skewScaled = (img.height - (y-yoffset)) * skew; // goes from 0 to 1 
    347              
    348             int xmax = max(min(img.width+xoffset, width), 0); 
    349             for (int x=max(xoffset, 0); x<xmax; x++) 
     345            uint ywidth = y*width; 
     346            uint xmax = max(min(img.width+xoffset, width), 0); 
     347            for (uint x=max(xoffset, 0); x<xmax; x++) 
    350348            {   assert(0 <= x && x<width); 
    351              
    352                 int x2 = cast(int)(x+skewScaled); 
    353                 if (x2>=width) 
    354                     continue; 
    355349                 
    356350                // TODO: Multiply by color's alpha? 
    357                 uint src_alpha = img.data[(y-yoffset)*img.width + x - xoffset]; 
     351                uint src_alpha = img.data[(y-yoffset)*img.width + x - xoffset] * color.a; 
     352                src_alpha = (src_alpha * 257)>>16; // fast divide by 255 
    358353                if (src_alpha > 0) 
    359354                {    
    360                     uint dest = (y*width+x2)*channels; 
     355                    uint dest = (ywidth+x)*channels; 
    361356                    uint dst_alpha = data[dest+3]; 
    362                     uint src_dest_ratio = (255-src_alpha) * dst_alpha; 
    363                     uint dst_ratio = (src_dest_ratio * 257)>>16; // hack for faster divide by ~255 
     357                    uint dst_ratio = (((255-src_alpha) * dst_alpha) * 257)>>16; // hack for faster divide by ~255 
    364358                     
    365359                    // This is my own blending algorithm, can it be further optimized? 
    366                     int reciprocal = 0x10001 / (src_alpha + dst_ratio); // calculate reciprocal for fast integer division 
    367                                                             // A lookup table of reciprocals could make this faster. 
    368                     data[dest  ] = ((color.ub[0]*src_alpha + data[dest  ]*dst_ratio) * reciprocal)>>16; // colors 
    369                     data[dest+1] = ((color.ub[1]*src_alpha + data[dest+1]*dst_ratio) * reciprocal)>>16; 
    370                     data[dest+2] = ((color.ub[2]*src_alpha + data[dest+2]*dst_ratio) * reciprocal)>>16; 
    371  
    372                     //data[dest+3] = (src_alpha*src_alpha + (255-src_alpha)*dst_alpha) / 255; 
    373                     data[dest+3] = ((src_alpha*src_alpha + src_dest_ratio) * 257)>>16; 
     360                    uint reciprocal = 0x10001 / (src_alpha + dst_ratio); // calculate reciprocal for fast integer division. 
     361                    data[dest  ] = ((color.r*src_alpha + data[dest  ]*dst_ratio) * reciprocal)>>16; // colors 
     362                    data[dest+1] = ((color.g*src_alpha + data[dest+1]*dst_ratio) * reciprocal)>>16; 
     363                    data[dest+2] = ((color.b*src_alpha + data[dest+2]*dst_ratio) * reciprocal)>>16; 
     364 
     365                    data[dest+3] = src_alpha + dst_ratio; 
    374366                } 
    375367        }   } 
     
    378370    {   Image a = new Image(1, 16, 16); 
    379371        Image b = new Image(4, 8, 8); 
    380         b.overlaySkewAndColor(a, Color("#FFFFFF"), -4, -4); 
     372        b.overlayAndColor(a, Color("#FFFFFF"), -4, -4); 
    381373    } 
    382374     
  • trunk/src/yage/resource/material.d

    r187 r188  
    1212import yage.core.all; 
    1313import yage.core.object2; 
     14import yage.core.misc; 
    1415import yage.resource.texture; 
    1516import yage.resource.manager; 
     
    3031    this(bool createAPass=false) { 
    3132        if (createAPass) 
    32         {   techniques ~= new MaterialTechnique(); 
    33             techniques[0].passes ~= new MaterialPass();          
    34         } 
    35          
     33            setPass(new MaterialPass()); 
    3634    }; 
     35     
     36    /** 
     37     * Create a deep copy of the Material, cloning both techniques and passes. */ 
     38    Material dup() 
     39    {   auto result = .dup(this); 
     40        result.techniques = new MaterialTechnique[0]; // reset array pointer 
     41        foreach (t; techniques) 
     42            result.techniques ~= t.dup(); 
     43        return result; 
     44    } 
     45    unittest 
     46    {   Material a = new Material(); 
     47        a.setPass(new MaterialPass()); 
     48        auto b = a.dup(); 
     49        assert(a !is b); 
     50        assert(a.techniques[0] !is b.techniques[0]); 
     51        assert(a.getPass() !is b.getPass()); 
     52    } 
    3753     
    3854    /** 
     
    7490    MaterialPass[] passes; /// 
    7591 
     92    /// 
     93    MaterialTechnique dup() 
     94    {   auto result = .dup(this); 
     95        result.passes = new MaterialPass[0]; // reset array pointer 
     96        foreach (p; passes) 
     97            result.passes ~= .dup(p); 
     98        return result; 
     99    } 
     100     
    76101    /** 
    77102     * Returns true if the Technique has regions that can be partially seen through. 
     
    125150    bool lighting = true;   /// If false, diffuse is used as the color. 
    126151    bool flat = false;      /// If true, use flat shading 
    127     float lineWidth = 1;  /// Thickness in pixels of lines and points.  
     152    float linePointSize = 1;  /// Thickness in pixels of lines and points.  
    128153    TextureInstance[] textures; 
    129154     
     
    131156    Cull cull = Cull.BACK; 
    132157    Draw draw = Draw.POLYGONS; 
     158     
     159    bool depthRead = true; 
     160    bool depthWrite = true; 
    133161         
    134162    Shader shader; 
    135163    ShaderUniform[] shaderUniforms; 
    136164    AutoShader autoShader = AutoShader.NONE; 
    137      
    138     /// TODO: make a generic clone function using traits. 
    139     MaterialPass clone() 
    140     {   auto result = new MaterialPass(); 
    141         result.diffuse = diffuse; 
    142         result.ambient = ambient; 
    143         result.specular = specular; 
    144         result.emissive = emissive; 
    145         result.shininess = shininess; 
    146         result.reflective = reflective; 
    147         result.lighting = lighting; 
    148         result.flat = flat; 
    149         result.lineWidth = lineWidth; 
    150         result.textures = textures; 
    151         result.blend = blend; 
    152         result.draw = draw; 
    153         result.shader = shader; 
    154         result.shaderUniforms = shaderUniforms; 
    155         result.autoShader = autoShader; 
    156         return result;   
    157     } 
    158165     
    159166    void setDiffuseTexture(TextureInstance texture) 
  • trunk/src/yage/resource/model.d

    r187 r188  
    4343*/ 
    4444 
     45/// 
    4546class Joint : Tree!(Joint) 
    4647{ 
    47     Matrix relative; 
    48     Matrix absolute; 
     48    int number; 
     49    char[] name; 
     50     
     51    Matrix relative;    /// 
     52    Matrix absolute;    /// 
     53     
     54    Matrix inverseBind; /// This exists in Collada but I'm not yet sure what it's for. 
    4955} 
    5056 
     57/// 
     58struct JointInfluence 
     59{   int joint;       /// Index of the joint in the joints array. 
     60    float influence; /// How much the joint influences this vertex.  All influences for a vertex should sum to 1. 
     61} 
     62 
    5163/** 
    52  * A Model is a 3D object, often loaded from a file. 
    53  * 
    54  * Each model is divided into one or more Meshes; each Mesh has its own material 
    55  * and an array of triangle indices that correspond to vertices in the Model's vertex array.   
    56  * ModelNodes can be used to create 3D models in a scene.*/ 
     64 * A Model is a Geometry that includes a skeleton for skeltal animation. 
     65 * ModelNodes can be used to create 3D models in a scene. */ 
    5766class Model : Geometry 
    5867{    
     
    6372    protected bool animated = false; 
    6473    protected double animation_time=-1; 
    65     protected double animation_max_time=0;   
    66     //protected int[] joint_indices; 
    67          
    68     protected Joint[] skeleton; // All of the joints that makeup the skeleton.  The first Joint is the root. 
    69  
     74    protected double animation_max_time=0; 
     75         
     76    protected Vec3f[] originalVertices; 
     77    protected Vec3f[] originalNormals; 
     78     
     79 
     80     
     81    Joint[] joints; /// All of the joints that makeup the skeleton.  The first Joint is the root. 
     82    JointInfluence[][] jointInfluences; /// This is a jagged array of joint influences for each vertex.  It must be the same length as the number of vertices. 
     83 
     84     
     85    bool drawJoints; 
     86     
    7087    /// Instantiate an empty model. 
    7188    this() 
     
    7895        source = ResourceManager.resolvePath(filename); 
    7996        auto c = new Collada(filename); 
    80         auto geometry = c.getMergedGeometry(); 
    81          
    82         this.attributes = geometry.attributes; 
    83         this.meshes = geometry.meshes; 
    84         delete geometry; 
    85     } 
    86  
     97        auto model = c.getMergedGeometry(); 
     98         
     99        this.attributes = model.attributes; 
     100        this.meshes = model.meshes; 
     101        this.joints = model.joints; 
     102        delete model; 
     103    } 
     104 
     105    /** 
     106     * Convert a Geometry into the Model subclass. */ 
     107    this (Geometry geometry) 
     108    {   attributes = geometry.attributes; 
     109        meshes = geometry.meshes; 
     110        drawNormals = geometry.drawNormals; 
     111        drawTangents = geometry.drawTangents; 
     112    } 
    87113    /* 
    88114     * Advance this Model's animation to time. 
     
    207233    } 
    208234 
     235    override int[] optimize() 
     236    { 
     237         
     238        int[] remap = super.optimize(); 
     239         
     240        // Remap joint influences from the old vertex order to the new optimized one.\ 
     241        if (jointInfluences.length) 
     242        {   JointInfluence[][] influences2; 
     243            influences2.length = getVertexBuffer(Geometry.VERTICES).length; 
     244            foreach (from, to; remap)        
     245                influences2[to] = jointInfluences[from]; 
     246            delete jointInfluences; 
     247            jointInfluences = influences2; 
     248        } 
     249         
     250        return remap;        
     251    } 
     252     
     253    override static Model merge(Model[] models) 
     254    {   Geometry geometryResult = Geometry.merge(models); 
     255     
     256        Model result = new Model(geometryResult); 
     257         
     258        // TODO: Merge joint influences, make all joints have a common root. 
     259        foreach (model; models) 
     260        {    
     261            result.jointInfluences ~= model.jointInfluences; 
     262            if (model.joints.length && !result.joints.length) // for now we only grab the first set of joints. 
     263                result.joints = model.joints;                
     264             
     265         
     266        } 
     267         
     268        return result; 
     269    } 
    209270} 
    210271 
  • trunk/src/yage/resource/texture.d

    r186 r188  
    7272    Texture texture; 
    7373     
    74     protected static int[int] translate; 
     74    /// 
     75    char[] toString() 
     76    {   return format(`TextureInstance {source: "%s"}`, texture ? texture.source : "null"); 
     77    } 
    7578 
    7679    /// Create a new TextureInstance with the parameters specified. 
     
    8386        result.filter = filter; 
    8487        return result; 
    85     } 
    86      
    87     char[] toString() 
    88     {   return swritef(`TextureInstance {source: "%s"}`, texture ? texture.source : "null"); 
    8988    } 
    9089} 
  • trunk/src/yage/scene/camera.d

    r186 r188  
    118118     *         threshold = Minimum size of a node in pixels before it's rendered.  The default 
    119119     *         is 0.667 (2/3rds of a pixel).*/ 
    120     void setView(float near=1, float far=100000, float fov=45, float aspect=0, float threshold=0.667) 
     120    void setView(float near=1, float far=1000000, float fov=45, float aspect=0, float threshold=0.667) 
    121121    {   this.near = near; 
    122122        this.far = far; 
  • trunk/src/yage/scene/model.d

    r180 r188  
    2222class ModelNode : VisibleNode 
    2323{ 
    24     protected Geometry model; // The 3D model used by this node 
     24    protected Model model;    // The 3D model used by this node 
    2525    protected float radius=0;   // cached radius 
    2626     
     
    3535    {   super(); 
    3636    } 
    37     this(Geometry model) /// ditto 
     37    this(Geometry geometry) /// ditto 
    3838    {   this(); 
    39         setModel(model); 
     39        if (cast(Model)geometry) 
     40            setModel(cast(Model)geometry); 
     41        else 
     42            setModel(new Model(geometry)); 
    4043    }    
    4144    this(char[] filename) /// ditto 
     
    122125     * If no argument is passed to setModel(), the model will be cleared. 
    123126     * Equivalent of setModel(ResourceManager.model(filename)); */ 
    124     Geometry getModel() 
     127    Model getModel() 
    125128    {   return model; 
    126129    } 
    127130    void setModel(Geometry model=null) /// ditto 
    128     {   this.model = model; 
     131    {   if (cast(Model)model) 
     132            this.model = cast(Model)model; 
     133        else 
     134            this.model = new Model(model); 
    129135        if (model) 
    130136            radius = model.getRadius()*size.max(); 
  • trunk/src/yage/scene/scene.d

    r176 r188  
    156156    } 
    157157 
    158     /// Get an array that contains all LightNodes that are contained within this Scene. 
    159     LightNode[LightNode] getLights() 
    160     {   return lights; 
    161     } 
    162  
    163158    /// Return the amount of time since the last time update() was called for this Scene. 
    164159    float getDeltaTime() 
     
    175170    /** 
    176171     * Get all LightNodes that are currently a part of this scene. 
    177      * Returns: a self indexed array. */ 
    178     LightNode[LightNode] getAllLights() 
    179     {   return lights;       
     172     * Returns:  A copy of the Lights array to avoid synchronization issues. */ 
     173    LightNode[] getAllLights() 
     174    {   synchronized (lights_mutex) // crashes occur without this 
     175            return lights.values; 
    180176    } 
    181177     
  • trunk/src/yage/system/graphics/api/opengl.d

    r187 r188  
    260260                else 
    261261                {   glDisable(GL_BLEND); 
    262                     glDepthMask(true); 
     262                    glDepthMask(pass.depthWrite); 
    263263                     
    264264                    glEnable(GL_ALPHA_TEST); 
     
    266266                } 
    267267            } 
     268            if (pass.depthRead) 
     269                glEnable(GL_DEPTH_TEST); 
     270            else 
     271                glDisable(GL_DEPTH_TEST); 
    268272             
    269273            // Polygon Mode 
     
    277281                    case MaterialPass.Draw.LINES: 
    278282                        glPolygonMode(cullMode, GL_LINE); 
     283                        glLineWidth(pass.linePointSize); 
    279284                        break; 
    280285                    case MaterialPass.Draw.POINTS: 
    281286                        glPolygonMode(cullMode, GL_POINT); 
     287                        glPointSize(pass.linePointSize); 
    282288                        break; 
    283289                } 
     
    603609        foreach (i, texture; textures) 
    604610        { 
    605             // Skip if this texture if it's already bound 
     611            // Skip if this texture is already bound 
    606612            if (current.textures.length > i && *current.textures[i] == texture) 
    607613                continue; 
     
    731737                float min = 0.05f; 
    732738                if (time > min) 
    733                     Log.info("Texture %s uploaded to video memory in %s seconds (times less than %fs are not logged)",  
     739                    Log.info("Texture %s uploaded to video memory in %s seconds (times less than %.2fs are not logged)",  
    734740                        texture.texture.getSource(), time, min); 
    735741            } 
     
    851857            GL_ARRAY_BUFFER_ARB; 
    852858         
    853         int useVbo = Probe.feature(Probe.Feature.VBO); 
     859        bool supportsVbo = cast(bool)Probe.feature(Probe.Feature.VBO); 
     860        bool useVbo; 
    854861        if (vb) 
    855         {   useVbo = useVbo && vb.cache; 
     862        {   useVbo = supportsVbo && vb.cache; 
    856863 
    857864            // Bind vbo and update data if necessary. 
     
    870877                    vb.dirty = false; 
    871878            }   } 
     879            else if (supportsVbo) 
     880                glBindBufferARB(vbo_type, 0); 
     881                 
    872882            // Bind the data             
    873883            if (type==Geometry.VERTICES) 
     
    895905                    glClientActiveTextureARB(GL_TEXTURE0_ARB); 
    896906            }  
    897             else if (type==Mesh.TRIANGLES || type==Mesh.LINES
     907            else if (type==Mesh.TRIANGLES || type==Mesh.LINES || type==Mesh.POINTS
    898908            {   // glBindBuffer was called above, no other action necessary 
    899909            } 
     
    974984        int useVbo = Probe.feature(Probe.Feature.VBO) && polygons.cache; 
    975985        if (indexed) 
    976         {   bindVertexBuffer(polygons, type); 
     986        {   bindVertexBuffer(polygons, type); // type is an indexed type 
    977987            if (type==Mesh.TRIANGLES) 
    978988                glDrawElements(GL_TRIANGLES, polygons.length()*3, GL_UNSIGNED_INT, useVbo ? null : polygons.ptr); 
     
    981991        }        
    982992        else 
    983         {   bindVertexBuffer(polygons, type); 
    984             if (type==Mesh.TRIANGLES) 
    985                 glDrawArrays(GL_TRIANGLES, 0, polygons.length()*3); 
    986             else if (type==Mesh.LINES) 
    987                 glDrawArrays(GL_LINES, 0, polygons.length()); 
    988             else 
    989                 throw new GraphicsException("Unsupported polygon type %s", type); 
     993        {   bindVertexBuffer(polygons, Geometry.VERTICES); 
     994            switch (type) 
     995            {   case Mesh.TRIANGLES: 
     996                    glDrawArrays(GL_TRIANGLES, 0, polygons.length()*3); 
     997                    break; 
     998                case Mesh.LINES: 
     999                    glDrawArrays(GL_LINES, 0, polygons.length()); 
     1000                    break; 
     1001                case Mesh.POINTS: 
     1002                    glDrawArrays(GL_POINTS, 0, polygons.length()); 
     1003                    break; 
     1004                default: 
     1005                    throw new GraphicsException("Unsupported polygon type %s", type);                    
     1006            } 
    9901007        } 
    9911008    } 
  • trunk/src/yage/system/graphics/render.d

    r187 r188  
    5858    int vertexCount; /// 
    5959    int triangleCount; /// 
     60    int lightCount; /// 
    6061     
    6162    /// 
     
    6970    {   nodeCount += rhs.nodeCount; 
    7071        vertexCount += rhs.vertexCount; 
    71         triangleCount += rhs.triangleCount;      
     72        triangleCount += rhs.triangleCount; 
     73        lightCount += rhs.lightCount; 
    7274        return *this; 
    7375    } 
     
    352354        if (geometry.drawNormals || geometry.drawTangents) 
    353355        { 
    354             MaterialPass pass = new MaterialPass(); 
     356            MaterialPass pass = new MaterialPass(); // TODO: static 
    355357            pass.lighting = false; 
    356              
    357358             
    358359            Vec3f[] vertices = cast(Vec3f[])geometry.getAttribute(Geometry.VERTICES); 
     
    368369                    lines[i*2+1] = vertices[i] + tangents[i]; 
    369370                } 
    370                 vb.setData(lines); 
    371                 graphics.bindVertexBuffer(vb, Geometry.VERTICES); 
     371                 
    372372                 
    373373                pass.diffuse = "green"; 
    374374                graphics.bindPass(pass); 
     375                vb.setData(lines); 
    375376                graphics.drawPolygons(vb, Mesh.LINES, false); 
    376377            } 
     
    381382                    lines[i*2+1] = vertices[i] + normals[i]; 
    382383                } 
    383                 vb.setData(lines); 
    384                 graphics.bindVertexBuffer(vb, Geometry.VERTICES); 
    385384                 
    386385                graphics.current.pass = null; 
    387386                pass.diffuse = "magenta"; 
    388387                graphics.bindPass(pass); 
     388                vb.setData(lines); 
    389389                graphics.drawPolygons(vb, Mesh.LINES, false); 
    390390            } 
     
    397397     
    398398    /// 
    399     static RenderStatistics model(Geometry geometry, LightNode[] lights=null, Material[] materialOverrides=null, float animationTime=0)  
    400     {   auto result = Render.geometry(geometry, lights, materialOverrides);  // TODO: animationTime won't support blending animations. 
     399    static RenderStatistics model(Model model, LightNode[] lights=null, Material[] materialOverrides=null, float animationTime=0)  
     400    {   auto result = Render.geometry(model, lights, materialOverrides);  // TODO: animationTime won't support blending animations. 
     401     
     402         
     403        if (model.joints.length) 
     404        { 
     405            // Calculate joint positions 
     406            static bool positionsWritten = false; 
     407             
     408            foreach (i, joint; model.joints) // this works because the joints are stored in order. 
     409            {   if (joint.getParent()) 
     410                    joint.absolute = joint.getParent().absolute.transformAffine(joint.relative); 
     411                else 
     412                    joint.absolute = joint.relative; 
     413            } 
     414             
     415            /*   
     416            void calculateJoints(Joint joint) 
     417            {    
     418                if (joint.getParent()) 
     419                    joint.absolute = joint.getParent().absolute.transformAffine(joint.relative); 
     420                    // joint.absolute = joint.relative.transformAffine(joint.getParent().absolute 
     421                else 
     422                    joint.absolute = joint.relative; 
     423                foreach (child; joint.getChildren()) 
     424                    calculateJoints(child);              
     425            } 
     426            if (model.joints.length) 
     427                calculateJoints(model.joints[0]); 
     428 
     429            if (!positionsWritten) 
     430                foreach (i, joint; model.joints) 
     431                    Log.trace(joint.absolute.getPosition()); 
     432                 
     433            */ 
     434            positionsWritten = true; 
     435             
     436         
     437            // Geometry debugging properties 
     438            if (model.drawJoints) 
     439            { 
     440                MaterialPass pass = new MaterialPass(); // TODO: static 
     441                pass.lighting = false; 
     442                pass.depthRead = false; 
     443                 
     444                Vec3f[] points = Memory.allocate!(Vec3f)(model.joints.length); 
     445                Vec3f[] lines = Memory.allocate!(Vec3f)(model.joints.length*2); 
     446                int lineIndex; 
     447                foreach (i, joint; model.joints)             
     448                {   points[i] = joint.absolute.getPosition(); 
     449                    if (joint.getParent())               
     450                    {   lines[lineIndex] = joint.absolute.getPosition(); 
     451                        lines[lineIndex+1] = joint.getParent().absolute.getPosition(); 
     452                        lineIndex+=2; 
     453                }   } 
     454                 
     455                scope VertexBuffer vb = new VertexBuffer(); 
     456                vb.cache = false; // don't cache since we're just using it once 
     457                 
     458                // A point for each joint 
     459                pass.diffuse = "magenta"; 
     460                pass.linePointSize = 10; 
     461                pass.draw = MaterialPass.Draw.POINTS; // req'd for line width to be used. 
     462                graphics.bindPass(pass); 
     463                vb.setData(points); 
     464                graphics.drawPolygons(vb, Mesh.POINTS, false); 
     465                 
     466                // And a line connecting them 
     467                graphics.current.pass = null; // reset cache         
     468                pass.diffuse = "blue"; 
     469                pass.linePointSize = 2; 
     470                pass.draw = MaterialPass.Draw.LINES; // req'd for line width to be used. 
     471                graphics.bindPass(pass); 
     472                vb.setData(lines); 
     473                graphics.drawPolygons(vb, Mesh.LINES, false); 
     474 
     475                Memory.free(lines); 
     476                Memory.free(points); 
     477            } 
     478        } 
     479     
    401480        return result; 
    402481    } 
     
    409488        if (!mesh) 
    410489            mesh = new Mesh(); 
     490        mesh.get