<?xml version="1.0" encoding="UTF-8"?>
<Worksheet><Version major="6" minor="1"/><View-Properties><Zoom percentage="150"/></View-Properties><Styles><Layout alignment="left" bullet="none" name="Heading 3" spaceabove="0.0" spacebelow="0.0"/><Layout alignment="left" bullet="none" name="Heading 2" spaceabove="8.0" spacebelow="2.0"/><Layout alignment="left" bullet="none" linespacing="0.0" name="Heading 1" spaceabove="8.0" spacebelow="4.0"/><Layout alignment="left" bullet="none" firstindent="0.0" leftmargin="0.0" linebreak="space" name="Normal" rightmargin="0.0" spaceabove="0.0" spacebelow="0.0"/><Layout alignment="left" bullet="dot" linespacing="0.0" name="Bullet Item" spaceabove="3.0" spacebelow="3.0"/><Font background="[0,0,0]" bold="true" executable="true" family="Monospaced" foreground="[255,0,0]" name="Maple Input" opaque="false" size="12"/><Font background="[0,0,0]" executable="false" family="Times New Roman" foreground="[0,0,0]" name="2D Math_13" opaque="false" size="12"/><Font background="[0,0,0]" executable="false" family="Times New Roman" foreground="[0,0,0]" name="2D Math_12" opaque="false" size="12"/><Font background="[0,0,0]" bold="false" executable="false" family="Times New Roman" foreground="[0,0,0]" italic="false" name="Text" opaque="false" size="12" underline="false"/><Font background="[0,0,0]" executable="false" family="Times New Roman" foreground="[0,0,0]" name="2D Math_11" opaque="false" size="12"/><Font background="[0,0,0]" executable="false" family="Times New Roman" foreground="[0,0,0]" name="2D Math_10" opaque="false" size="12"/><Font background="[0,0,0]" bold="false" family="Times New Roman" foreground="[0,0,0]" italic="false" name="Bullet Item" opaque="false" size="12" underline="false"/><Font background="[0,0,0]" bold="true" family="Serif" italic="true" name="Heading 3" opaque="false" size="14"/><Font background="[0,0,0]" executable="false" family="Times New Roman" foreground="[0,0,0]" name="2D Math" opaque="false" size="12"/><Font background="[0,0,0]" bold="true" family="Serif" name="Heading 2" opaque="false" size="16"/><Font background="[0,0,0]" bold="true" family="Serif" name="Heading 1" opaque="false" size="18"/><Font background="[0,0,0]" executable="false" family="Times New Roman" foreground="[0,0,0]" name="2D Math_9" opaque="false" size="12"/><Font background="[0,0,0]" bold="false" family="Times New Roman" foreground="[0,0,0]" italic="false" name="Normal" opaque="false" size="12" underline="false"/><Font background="[0,0,0]" executable="false" family="Times New Roman" foreground="[0,0,0]" name="2D Math_3" opaque="false" size="12"/><Font background="[0,0,0]" executable="false" family="Times New Roman" foreground="[0,0,0]" name="2D Math_2" opaque="false" size="12"/><Font background="[0,0,0]" executable="false" family="Times New Roman" foreground="[0,0,0]" name="2D Math_1" opaque="false" size="12"/><StrokePreset color="[255,255,0]" name="Highlighter 5" width="48"/><StrokePreset color="[0,255,255]" name="Highlighter 4" width="32"/><StrokePreset color="[51,255,0]" name="Highlighter 3" width="24"/><StrokePreset color="[255,204,0]" name="Highlighter 2" width="14"/><StrokePreset color="[255,153,255]" name="Highlighter 1" width="8"/><StrokePreset color="[255,0,0]" name="Pencil 5" width="5"/><StrokePreset color="[0,0,255]" name="Pencil 4" width="3"/><StrokePreset color="[0,0,0]" name="Pencil 3" width="3"/><StrokePreset color="[0,0,255]" name="Pencil 2" width="1"/><StrokePreset color="[0,0,0]" name="Pencil 1" width="1"/></Styles><Text-field alignment="centred" layout="Normal" style="Text"><Font bold="true" foreground="[0,102,0]" size="24">What's new in Maple: Release 9.5</Font><Font family="AvantGarde Bk BT" foreground="[0,51,204]" size="14">
Michael Monagan</Font> (CECM) and <Font bold="true" family="AvantGarde Md BT" foreground="[0,51,204]" size="14">Allan Wittkopf</Font><Font size="14"> </Font>(Maplesoft)<Font size="8">
Presented at CECM day '04, July 29th, 2004, SFU, Burnaby,  British  Columbia</Font></Text-field><Text-field alignment="centred" layout="Normal" style="Text"><Font size="8">Prepared from Maple 9* and Maple 9.5 ISSAC presentation worksheets of Juergen Gerhard. </Font></Text-field><Section collapsed="true"><Title><Text-field layout="Heading 1" style="Heading 1">Numerics</Text-field></Title><Section collapsed="true"><Title><Text-field layout="Heading 2" linespacing="0.0" style="Heading 2">Fast Integer Arithmetic*</Text-field></Title><Text-field layout="Normal" style="Text"/><Group><Input><Text-field style="Text"><Font background="[0,204,0]" bold="true" opaque="true" size="14">GMP library for fast arbitrary precision arithmetic</Font>
</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">3^1000000;</Text-field></Input></Group><Group><Input><Text-field layout="Normal" style="Text">Maple 8:  2.05    Karatsuba
Maple 9:  0.41    FFT</Text-field></Input></Group><Group><Input><Text-field prompt="&gt; " style="Maple Input">nextprime(10^1000);</Text-field></Input></Group><Group><Input><Text-field layout="Normal" style="Text">Maple 8:  242.6 
Maple 9:    10.95 </Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">f := 3^100000: h := irem(5^80000,f): gcd(f,h);</Text-field></Input></Group><Group><Input><Text-field layout="Normal" style="Text">Maple 8:   16.3    Euclidean algorithm
Maple 9:     0.36  Binary Lehmer algorithm </Text-field></Input></Group></Section><Section collapsed="true"><Title><Text-field layout="Heading 2" style="Heading 2">Numeric Optimization</Text-field></Title><Text-field layout="Normal" style="Text">
In general an optimization problem is of the form</Text-field><Text-field alignment="left" firstindent="0.0" leftmargin="0.0" linebreak="space" linespacing="0.0" rightmargin="0.0" spaceabove="0.0" spacebelow="0.0"/><Text-field leftmargin="0.0" rightmargin="0.0"><Font style="Normal">   </Font><Font style="2D Math"> </Font><Equation input-equation="min* f(x)" style="2D Math_1">NiMqJiUkbWluRyIiIi0lImZHNiMlInhHRiU=</Equation><Font background="[0,0,0]" bold="false" executable="false" family="Times New Roman" foreground="[0,0,0]" italic="false" size="12" underline="false"> for </Font><Equation input-equation="x" style="2D Math">NiNJInhHNiI=</Equation><Font background="[0,0,0]" bold="false" executable="false" family="Times New Roman" foreground="[0,0,0]" italic="false" size="12" underline="false"> in </Font><Equation input-equation="R^n" style="2D Math_2">NiMpJSJSRyUibkc=</Equation></Text-field><Text-field layout="Normal" style="Normal"><Font executable="false">    subject to </Font><Equation input-equation="c[i](x) &lt;= 0" style="2D Math_3">NiMxLSYlImNHNiMlImlHNiMlInhHIiIh</Equation><Font bold="false" italic="false" style="2D Math" underline="false">, </Font><Font bold="false" italic="true" style="2D Math" underline="false">d<Font subscript="true" superscript="false">j</Font>(x) </Font><Font bold="false" italic="false" style="2D Math" underline="false">= 0</Font></Text-field><Text-field leftmargin="0.0" rightmargin="0.0"/><Text-field alignment="left" firstindent="0.0" leftmargin="0.0" linebreak="space" linespacing="0.0" rightmargin="0.0" spaceabove="0.0" spacebelow="0.0"><Font background="[0,0,0]" bold="false" executable="false" family="Times New Roman" foreground="[0,0,0]" italic="false" size="12" underline="false">The optimization package handles several types of objective and constraint functions.</Font></Text-field><Text-field alignment="left" firstindent="0.0" leftmargin="0.0" linebreak="space" linespacing="0.0" rightmargin="0.0" spaceabove="0.0" spacebelow="0.0"/><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">with(Optimization);</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"/></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"/></Input></Group><Section><Title><Text-field layout="Heading 3" style="Heading 3">Linear Programming</Text-field></Title><Group><Input><Text-field alignment="left" firstindent="0.0" leftmargin="0.0" linebreak="space" linespacing="0.0" rightmargin="0.0" spaceabove="0.0" spacebelow="0.0"/><Text-field alignment="left" firstindent="0.0" leftmargin="0.0" linebreak="space" linespacing="0.0" rightmargin="0.0" spaceabove="0.0" spacebelow="0.0"><Font background="[0,0,0]" bold="false" executable="false" family="Times New Roman" foreground="[0,0,0]" italic="false" size="12" underline="false">For a first example we have a simple two dimensional linear programming problem:</Font></Text-field><Text-field alignment="left" firstindent="0.0" leftmargin="0.0" linebreak="space" linespacing="0.0" rightmargin="0.0" spaceabove="0.0" spacebelow="0.0"/><Text-field alignment="left" firstindent="0.0" leftmargin="0.0" linebreak="space" linespacing="0.0" rightmargin="0.0" spaceabove="0.0" spacebelow="0.0" style="2D Math">    <Equation input-equation="min -2*x-y" style="2D Math_9">NiMsKCUkbWluRyIiIiomIiIjRiUlInhHRiUhIiIlInlHRik=</Equation></Text-field><Text-field alignment="left" firstindent="0.0" leftmargin="0.0" linebreak="space" linespacing="0.0" rightmargin="0.0" spaceabove="0.0" spacebelow="0.0"/><Text-field alignment="left" firstindent="0.0" leftmargin="0.0" linebreak="space" linespacing="0.0" rightmargin="0.0" spaceabove="0.0" spacebelow="0.0"><Font background="[0,0,0]" bold="false" executable="false" family="Times New Roman" foreground="[0,0,0]" italic="false" size="12" underline="false">    subject to</Font><Font style="2D Math"> </Font><Equation input-equation="y &lt;= Float(43, -1)*x+1/2" style="2D Math_10">NiMxSSJ5RzYiLCYqJi1JJkZsb2F0R0kqcHJvdGVjdGVkR0YqNiQiI1YhIiIiIiJJInhHRiVGLkYuKiZGLkYuIiIjRi1GLg==</Equation><Font style="Normal">,  </Font><Equation input-equation="y&lt;=-5*x+2" style="2D Math_11">NiMxJSJ5RywmKiYiIiYiIiIlInhHRighIiIiIiNGKA==</Equation><Font style="Normal">,  </Font><Equation input-equation="x&gt;=0" style="2D Math_12">NiMxIiIhJSJ4Rw==</Equation><Font style="Normal">,  </Font><Equation input-equation="y&gt;=0" style="2D Math_13">NiMxIiIhJSJ5Rw==</Equation></Text-field><Text-field alignment="left" firstindent="0.0" leftmargin="0.0" linebreak="space" linespacing="0.0" rightmargin="0.0" spaceabove="0.0" spacebelow="0.0" style="2D Math"/></Input><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">obj := -2*x-y; consts := [y&lt;=4.3*x+1/2,y&lt;=-5*x+2,x&gt;=0,y&gt;=0];</Text-field></Input></Group><Group><Input><Text-field layout="Normal" style="Text"/><Text-field layout="Normal" style="Text">The plot below shows the feasible region and the contours of the objective function.  The location of the optimal solution is indicated by a blue circle.</Text-field><Text-field layout="Normal" style="Text"/></Input><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">p1 := plots[inequal](consts, x=-0.5..1, y=-0.5..2,
                     optionsexcluded=(color=white),                                 optionsfeasible=(color=yellow)):
p2 := plots[contourplot](obj, x=-0.5..1, y=-0.5..2):
p3 := plots[pointplot]({[.1612903225806451,1.193548387096774]},
                       symbolsize=15, color=blue,
                       symbol=circle):
plots[display](p1,p2,p3);</Text-field></Input></Group><Group><Input><Text-field alignment="left" firstindent="0.0" leftmargin="0.0" linebreak="space" linespacing="0.0" rightmargin="0.0" spaceabove="0.0" spacebelow="0.0"/><Text-field alignment="left" firstindent="0.0" leftmargin="0.0" linebreak="space" linespacing="0.0" rightmargin="0.0" spaceabove="0.0" spacebelow="0.0"><Font background="[0,0,0]" bold="false" executable="false" family="Times New Roman" foreground="[0,0,0]" italic="false" size="12" underline="false">The LPSolve command returns the optimal function values as well as the point at which the optimal value occurs.</Font></Text-field><Text-field alignment="left" firstindent="0.0" leftmargin="0.0" linebreak="space" linespacing="0.0" rightmargin="0.0" spaceabove="0.0" spacebelow="0.0"/></Input><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">LPSolve(obj,consts);</Text-field></Input></Group><Group><Input><Text-field alignment="left" firstindent="0.0" leftmargin="0.0" linespacing="0.0" rightmargin="0.0" spaceabove="0.0" spacebelow="0.0" style="Text"/><Text-field alignment="left" firstindent="0.0" leftmargin="0.0" linespacing="0.0" rightmargin="0.0" spaceabove="0.0" spacebelow="0.0" style="Text">The first element of the solution is the minimum value that the objective function obtains while satisfying the constraints.  The second element indicates a point where the minimum is reached.  This point is not necessarily unique.</Text-field><Text-field alignment="left" firstindent="0.0" leftmargin="0.0" linespacing="0.0" rightmargin="0.0" spaceabove="0.0" spacebelow="0.0"/><Text-field alignment="left" firstindent="0.0" leftmargin="0.0" linespacing="0.0" rightmargin="0.0" spaceabove="0.0" spacebelow="0.0" style="Text">We can also run the commands using arbitrary precision, which is not possible using Matlab or pure NAG routines.</Text-field><Text-field alignment="left" firstindent="0.0" leftmargin="0.0" linespacing="0.0" rightmargin="0.0" spaceabove="0.0" spacebelow="0.0" style="Text">  </Text-field></Input><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">Digits := 50;
LPSolve(obj,consts[1..2],assume=nonnegative);
Digits := 10:</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"/></Input></Group></Section><Section><Title><Text-field layout="Heading 3" style="Heading 3">Quadratic Programming</Text-field></Title><Group><Input><Text-field alignment="left" firstindent="0.0" leftmargin="0.0" linespacing="0.0" rightmargin="0.0" spaceabove="0.0" spacebelow="0.0" style="Text"/><Text-field alignment="left" firstindent="0.0" leftmargin="0.0" linespacing="0.0" rightmargin="0.0" spaceabove="0.0" spacebelow="0.0" style="Text">For a first example of a quadratic program we will use:</Text-field><Text-field alignment="left" firstindent="0.0" leftmargin="0.0" linespacing="0.0" rightmargin="0.0" spaceabove="0.0" spacebelow="0.0" style="Text"/><Text-field alignment="left" firstindent="0.0" leftmargin="0.0" linespacing="0.0" rightmargin="0.0" spaceabove="0.0" spacebelow="0.0"><Font style="Text">    min </Font><Equation input-equation="4*x^2-y+x+5" style="2D Math">NiMsKiomIiIlIiIiKiQlInhHIiIjRiZGJiUieUchIiJGKEYmIiImRiY=</Equation></Text-field><Text-field alignment="left" firstindent="0.0" leftmargin="0.0" linespacing="0.0" rightmargin="0.0" spaceabove="0.0" spacebelow="0.0"><Font style="Text">    subject to </Font><Equation input-equation="x+y-7*x&gt;=-11" style="2D Math">NiMxLCQiIzYhIiIsKCUieEciIiIlInlHRikqJiIiKEYpRihGKUYm</Equation><Font style="Normal">,</Font><Font style="Text">   </Font><Equation input-equation="11/2*x+y&lt;=0" style="2D Math">NiMxLCYqKCIjNiIiIiIiIyEiIiUieEdGJ0YnJSJ5R0YnIiIh</Equation><Font style="Normal">,  </Font><Font style="2D Math"> </Font><Equation input-equation="x&gt;=-4" style="2D Math">NiMxLCQiIiUhIiIlInhH</Equation><Font style="Text"> </Font></Text-field><Text-field alignment="left" firstindent="0.0" leftmargin="0.0" linespacing="0.0" rightmargin="0.0" spaceabove="0.0" spacebelow="0.0"/></Input><Input><Text-field alignment="left" firstindent="0.0" leftmargin="0.0" linespacing="0.0" prompt="&gt; " rightmargin="0.0" spaceabove="0.0" spacebelow="0.0" style="Maple Input">obj := 4*x^2-y+x+5; consts := [x+y-7*x&gt;=-11,11/2*x+y&lt;=0,x&gt;=-4];</Text-field></Input></Group><Group><Input><Text-field alignment="left" firstindent="0.0" leftmargin="0.0" linespacing="0.0" rightmargin="0.0" spaceabove="0.0" spacebelow="0.0" style="Text"/><Text-field alignment="left" firstindent="0.0" leftmargin="0.0" linespacing="0.0" rightmargin="0.0" spaceabove="0.0" spacebelow="0.0" style="Text">The plot below shows the feasible region and the contours of the objective function.  The blue circle indicates the optimal point.</Text-field><Text-field alignment="left" firstindent="0.0" leftmargin="0.0" linespacing="0.0" rightmargin="0.0" spaceabove="0.0" spacebelow="0.0" style="Text"/></Input><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">p1 := plots[contourplot](obj, x=-4..4, y=-10..10, contours=30):
p2 := plots[inequal](consts, x=-4..4, y=-10..10,
                     optionsexcluded=(color=white),
                     optionsfeasible=(color=yellow)):
p3 := plots[pointplot]({[-0.8125,4.486]}, symbolsize=15,
                       color=blue, symbol=circle):
plots[display](p1,p2,p3);</Text-field></Input></Group><Group><Input><Text-field alignment="left" firstindent="0.0" leftmargin="0.0" linespacing="0.0" rightmargin="0.0" spaceabove="0.0" spacebelow="0.0" style="Text"/><Text-field alignment="left" firstindent="0.0" leftmargin="0.0" linespacing="0.0" rightmargin="0.0" spaceabove="0.0" spacebelow="0.0" style="Text">The QPSolve command returns the optimal function values as well as the point at which the optimal value occurs.</Text-field><Text-field alignment="left" firstindent="0.0" leftmargin="0.0" linespacing="0.0" rightmargin="0.0" spaceabove="0.0" spacebelow="0.0" style="Text"/></Input><Input><Text-field alignment="left" firstindent="0.0" leftmargin="0.0" linespacing="0.0" prompt="&gt; " rightmargin="0.0" spaceabove="0.0" spacebelow="0.0" style="Maple Input">QPSolve(obj, consts);</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"/></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"/></Input></Group></Section><Section><Title><Text-field layout="Heading 3" style="Heading 3">Non-linear Least Squares Problems</Text-field></Title><Group><Input><Text-field layout="Normal" style="Text"/><Text-field layout="Normal" prompt="&gt; " style="Maple Input">LSSolve([x^3-2,x^2-6,x^2-9]);</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"/></Input></Group></Section><Section><Title><Text-field layout="Heading 3" style="Heading 3">Non-linear Programming</Text-field></Title><Group><Input><Text-field layout="Normal" style="Text"/><Text-field layout="Normal" style="Text">Non-linear optimization finds <Font foreground="[255,0,255]">local</Font> minima of a wide range of univariate and multivariate functions.
</Text-field><Text-field layout="Normal" style="Text">For our first example, we will minimize </Text-field><Text-field layout="Normal" style="Text"/></Input><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">f := sin(x);</Text-field></Input></Group><Group><Input><Text-field layout="Normal" style="Text"/><Text-field layout="Normal" style="Text">on <Equation input-equation="x = 1 .. 10" style="2D Math">NiMvSSJ4RzYiOyIiIiIjNQ==</Equation> using the command</Text-field><Text-field layout="Normal" style="Text"/></Input><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">NLPSolve(f,x=1..10);</Text-field></Input></Group><Group><Input><Text-field layout="Normal" style="Text"/><Text-field layout="Normal" style="Text">Below we can see a plot of the function and a blue circle at the above point.</Text-field><Text-field layout="Normal" style="Text"/></Input><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">p1 := plot(f,x=1..10):
p2 := plots[pointplot]([[4.7123,-1]], color=blue,
                       symbolsize=15, symbol=circle):
plots[display](p1,p2);</Text-field></Input></Group><Group><Input><Text-field layout="Normal" style="Text"/><Text-field layout="Normal" style="Text">The next function, which can be evaluated using evalhf, can be minimized quickly.</Text-field><Text-field layout="Normal" style="Text"/></Input><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">f := x*erf(x)*cos(x);</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">s := NLPSolve(f,x=1..20);</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">p1 := plot(f,x=1..20): 
p2 := plots[pointplot]([[rhs(s[2][1]),s[1]]], color=blue,
                       symbol=circle, symbolsize=15):
plots[display](p1,p2);</Text-field></Input></Group><Group><Input><Text-field layout="Normal" style="Text"/><Text-field layout="Normal" style="Text">We can see that this has only found a local minimum and not the global minimum.
</Text-field></Input><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"/></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">f := (x-1)^2 + (x-y)^2 + (y-z)^4;</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">consts := {x*(1+y^2)+z^4=8.24264};</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">r := NLPSolve(f, consts, assume=nonnegative);</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"/></Input></Group></Section><Section><Title><Text-field layout="Heading 3" style="Heading 3">Interactive Optimization Assistant</Text-field></Title><Group><Input><Text-field layout="Normal" style="Text"/><Text-field layout="Normal" prompt="&gt; " style="Maple Input">f := 1+(x-1)^2+(y-3)^2;</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">Optimization[Interactive](f);</Text-field></Input></Group></Section><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"/></Input></Group></Section><Section collapsed="true"><Title><Text-field layout="Heading 2" linespacing="0.0" style="Heading 2"><Font italic="false">Numeric DAE Solver</Font></Text-field></Title><Text-field layout="Normal" style="Text"/><Text-field layout="Normal" style="Normal">DAE problems are ODE system problems that are coupled with algebraic problems in the differential variables.

Maple now has three DAE solvers:</Text-field><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">The Modified Extended Backward Differentiation Formula Implicit solver (mebdfi), for solution of implicit DAE systems, and two modified standard solvers rkf45_dae and rosenbrock_dae, for stiff and non-stiff problems respectively.</Text-field><Text-field layout="Normal" style="Normal"/><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"/></Input></Group><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">Car Axis Problem: This problem models the behavior of car suspension when travelling over a rough road. There are 4 differential equations and 2 difficult (high index) constraints.</Text-field><Text-field alignment="centred"><Image height="506" width="591">TUZOV3RLVWI8b2I8Uj1NRExDZE5OWklrOmRZPkQ6O1JeT3RJP11aUkxDVEpjRFhvWHV1dlhjVE9pWGFJeFVHZ2dtZktVVk1BdzxVYkBdRl09Q2U7SEV5REBbdGQ7Z1tvZlxcV1Y/T2lqZUdHZXJgS2JQeVJUT1NNPXJPSVRVW0hTPUddT3ZiO2hUQ1ZcXG1UW11jUm90PE9VVWNCVFFDYktmcD90XztXd0V0Sl1mPkd3XktFUFVJV29jbVlldXdGYW1zVm1VUVd5dnN2VnlzYXljdW9HcUlYaEl2VmdpcXl4cWl1eWd5cj13O1liQWtAU1NteUhWTTpldzo+YmddSldBXnRIWm88SmJaTl1KO0o6UEU6W3Rod0RkV2dlV0VUS0VGP1hgS1hUS1hsW2RbPmR1dltNUXVUUXVMUXRsZmhkYWRdXm1GYG1AV2l1V3FWUFxcP0E7UHVzXWtocXdoUWo8UGpPVE9QPU1hYWxMWGxNaHZOYHY+QU9DQ054VmJgb2Zga0l4a3lddkt4UkZkWFBNWERNWFxcXWxeQmR1dlNLY0RPY1xcT2ZcXF9jcG1UbE1TbE1WUllhSnM9W1RRdVRBdVJBVUVHQXVDS1hETVhcXGV4b2l4TmtOOmxqXz1rU21TbmhuX2hOdlxcUXZ4dmVpS0dkS3F1d1hpcXF1d1hgUVldcXJFWGVVV2Vpa1V0UFRRdVRxblRJTWZ5b2JYbkN5dFFhb1NVblhFTE1xWFpBcjtoc1V4UHFZeGdEUWtEUXdIUW1tdkptbTo+dmdhdVxccXNXWGFJZ2FvYWRJR2h0eGl5cXk8aWpFVmxNWGxVVl1VdnVzd3ZXcGtIcFtzWXhdeWt5bmFwX3dSQWZ5T25zSHFTb11fWXdjSG9jUHVCV2NrZmdjSXdjaXl5R2RIX2NId2s8YTo7ZnBtd2xXVkFxY1h3R0R3Q01hRU9ZVklnSVBdVVZdZ3hhWW5JdEFVdl1Zdk9Zd3VvWGdRWWJJZkFfZVN3RlprZkpdd1p1VFF1VEZdU0ZBc0tXRm9zU1NXZE1XSFpJZnRlSXc+clpeW2t2d2NYa2ZmYkF3YmV3aVBpdE9pb1RncERnYVFReVtmanJAcXJGaXZPeEN5XkFeYVpQYVR5c3hveG1GYUhwbFpeYXdPeW5PY0RPc1p3Wz9KdmhtYT1ZVnFrYGBZX2VWX0VWW0VWd3RRUEF0SkFsUHBsYGF2O2RXcEl2akxVPHlTV2xQbExQbD1wQVA6S29tQWtrWGxBQWtCQGtYeFdjZXVVcFN0aXJ2YXl2ZVdyXFxTTVVUTV1TRl1rYG12QGRYYj5aOlB1R05tRmFzRnFpWGlxdGd4ZE9mXFxPbmBneFRYbVVoYnFgdG1RdVRVXFxhckNvU3hRU2F1VmFnc3hDZzpleVNRdExRaG5Fd0xld1dxWUhjdHlJdzs+T2FEXXlySXdpa1V2QG95T090TFF0U1NIYD11ZlljYW1FdWtYRlVzW2lYcXVYRXlGT094T11UTj11ZllDVE13eT9pZXV0aF9mXl9GR21Db2FjVGNIRFVZaHNiT1NIYUd5dm9VSWNmSndlTVd0XT9QOjxQZmxuU2RuTGxMUGxUWXVVeUBYW1FSZ2lsW1lyQXhyP2lyY0RMTGR2dWRYZGFsdG1RZj11amR3XWVQb2RQXFxJeVZsS29Bd114a1Rhd3dgbHdUcV9kUl1Ub2RQb0RUS0VUaj1YamlpdXV4TmBtU0VNdW9RWWJkc1NNTWpFbFE+WlpvYW9YXFxzRnNFWXNNdnVgaGhtbl9uWG53P2J5bltNV2ZBcWtXZlo/ZlpcXFF0QHBbV05vb1loaEhwXWBua3hebV93YlZgYU54YGheZ1Fpd15sbFBsb2dob2d5SXdhQWp5RVBHdVNgQGtWTVNETWtFVEtuRWtFVVFsXXZCcFVZYFdwSXRPUG1jVXRiUXdkUW1rVFZAcHBzbVVLRVRLcWpHVE1AXFxRTmBtTHBQP0U6O2dXV2k+aXI/aWV4Y1l0PVRleUdhbVZgbWRRd2RxYVVsXXd0aXhlaUlhZ3NXcWl3VVV4TUZeW0Y+cVZpUUVHd2NJd3RxZVhwUVliQ0lTQ0lfY0hJc1tqXl9JZmFyP3g6YWJhWHVUUXV0T3dOSW9YV2FnZm1hSHFzSGVWUGZpWGw+aWRxcWZVV2VVP2VSP21tVmxHXnRCR11gWW09QkBzcl5VV2M/Y2g/Y0hjSG5bSHJXaHdFeW1zc3ZTdFFZVXRhUlpBYkJJV0ZHRW1rQmNXSjpQdXNtTV1hc2lxWEFFWDs8Sjp5bHZpS1FAOjtPOj5aYmg9TmdhX2NEVltFdnRoaGVFaXdBQkpVSWVTU1dNV2RNd15Jc01HaXdBSkpVUWVUU1dFUjtFalVYbHBBOk91W2NYOjs6OlpxPmFkTl9kXmJkUXRMUXRQX29SR3JndjpeX0JnaG9naDxPYjxAY1dxd1dZcW9ocWtFOjtSZ2FHX2NYa0doaz9TVzs6X3Q7blxcYVlgVXdwaGdobUFcXHV3eGhpa0NIa3NZc1lveWx5bnlmeWNxdXdYaUl2YXZBcEtebj9Gbz1qQHhKcF15c2l3aXVZdWRWRGFsV1RRcD1XaWBOYGxOQHVSQXVqQXhqeWR4TllUd2FXYHRqTkk6YUhkdWh5dXl4ZUhsd2lzR2lzcXJHTEV1Zkl1ZUh1U0l1dHg7RmRXSGFtS11tckZIbWpEVjx4S3BxUT9Ndzo+akFodGhocG9oZFhWaj1YamdveHdGck9YbE1mdmVxd2hxbHFgYnZRZ2RPZ2RWX2VWeG1ZeE95dl1PZlxcT3ZcXFF2YF9zUkhecHhjTnhzXVFnPmB0O2ptUVdRSXVTSU9JUE5XbUtpWGtMQU9rWVVyQFhbYHlTaXRPaXROYWR3aHF3SHBrSGRZeXZzdmhoYXVteGZJcWZgb2ZEcHlHcF13TmFeXl5eSXhBeV1BT3c6QmprZFRpdXdXWVFtRUFbd1lfREdTZW1zVkhfSUNtU0htc0hxc1BlWVh3VGlvVU9DZ21hVEh5Q2NXQjpsdUxVcVRQbVREdGFIcmRYa2BVeXB0V1hhb1hFWG10dlFRdVRRbUtIbFt0VjxgdDtybVFXUUVVU0VpbkV3THV4SVlyV19lWV9ZUl1HXV9JQ2lzR2lSZEFCOnhqT3FvZVhvZXBwcHBQZVRPRVlwYWFQYmBtWVF5b1l3WXlZeWl5SXFZcFlwQXhLWWx4O0FqSUM+W2VUaXhvW1I/WWhuWWRtWWNCP2NSeWl5dWl0QXVeR1NNX3l4c3NJO0pSPVRnYVJvXVdIXUtLRXhmTG1nWXlJR3lZWGlwYXdDSGtDSFxcQ153aHF3cFl5dnZBbm5USWs7UVxca0h4RU9vZkBwakBgXVZeXV5gbl5wbmBwTldkbHZhSFl4PT46UWhkdVRRdVRhS0RcXHlEY1d3ZVVXUHVpRll4PV5fZXBoXFxRbkRRc0RRc0VZc0dYXm9nYWtJcnZ2QTxVU2V3TlFtW01WRmBLZWRYd0R4cmFReUJSXVVnYXRKY2RKP2RKU2hCZVV5S3lhVUZheVpkd3RlTnZBYGdwcW88d3VWQGc/Z2I/QGNXQGVoaFxcZW5kckd3YV5tRkl5P3BqQHBrVGZgZEZfY0ZraHdDSFVyPXc7WWpBbG93VVhnUXVveFV2UXZRVHBtWHB3PVhQcFJSVUpNVXNzaXF1cXd1eE14PXlbaXNVTmdpZ2Zgb2ZAb2JAb2tTVmBgTl5cXE5qS3FfOmJfX2lXbVl4bVlDRVNDPWJCZWVnd1JIeVNWd3VnWXVxd3dYaWlVVVRNVWZxbVlrQ0hrU1NRb0dPbWhJb1dJPUpgcVR1RFB0THhibFdAWXZhXFx0VFF1ZHhNT0xWUmltR2xNcVhOSV1SeWFyWlFzY3V1dGhYZWhuX2h2bGl2RXFLXWhVYHRTWGBNUGxMQEFXUTxaYFlkdVB0TFFkc19sUF51XXleTmBtVmBxbXd2SGdgZz9yPldtcmFhY3diV3B4O1lqQWZwaHdzdFBxdGB0TmFkZ1lmTW9uRkdbRE5bVFhhcW9fc3ZhOnI+S1dhY3dyX2hUcUVxU0dHY0NHY2hvZ2hcXD9YT2VUT014YUdZcVlnbT1FZ1FmaVl4VndIaW1lWGF5S1d4PTtCamtnVGlFc0tYXj9mWj9yXXlWXUtXYW9lQm9zU2F3V0FiUDt1aW9zW3dzTXFSSHlDOkhPTnFTR1lPSWxLSGx4ZklvQnBKYllRd2FqPmBqPlRTcEB5XmF5OjxKRj1ucG1VVEF3YXBvaHBzW2lMS1VxZFBvZGRsRlRwalxcdnZBWlJGZGdxd1hpcWVXeD5xYnlmW0dmW2RBZD1xakdWa0JAa2JOP09ZeG1GcGtIcHFzV1dJO2N2Zj1zc0lKalxcalRJU0VZbVJAbWJxU1lUblJ5bGdUVXBgbE9obG9ZeFNEV0RZdl1Zdl1QblxcUEpzZFk/bXNJPmpZYXRoUHBsUGRUbmRxX25IT11fYXBuYHBFeFxcaW5jV1BhT29lc0F2PXhbQGlrVXZudz9uWkBuOl90TlZwXFxha3hJbG1ZWjo+eERQdUN4cGJob2doc0RRc2xHeWFmck9JYUZucHZpdGlwaV9XcHFBdkNAXFx4UXhReHFWSGFtb15xbnJDP3NzSTprVUtVSXFzYmJfSG5bSE5nZE9HU21dZ0NlZXJXRE95UnFZdFlveW5pdFF1VU9DRz9ld1ZtYlZ3TTp0c2JobVRlUj9pdkhJUG9cXE8/VXhQZHI/aXJjRE9jRFBrRFBkPU9ETVRMTXRLWW5BRXFlbE07YG1Zcm9laHVpdmlzWVNbRE5bdmNvQmtZZklvSUx3clZhdVZNWEVtaVF5SWxtWTpkcGVZbG10VkhhcWpRckVsT3lxbVRZd3ZIcXNIVVNZcWl0WXNZc2xBeWF5UXlJVXdYT0BxT3RMUVRYcVxcWU1CSXk7XnRoeGg+eVpCWXZuSXdNaWV4aXFjWGRhcF5gbl5oaXV1eGRHUGRLZ2NhV2l1V3FHcXFZV2dTR2VTb2JAb1pxZ3JpPmxtWTp0eHlgUG9kUENZbm5gWGhheV5Zd2l4cWhsTzttbXZgeExZU1xcbFljRVdjdUxoXFxVckF5XXlrP3lTTlxcTE48b3NES1p5VUJJaTpAalBXcUBxckBHaXZvd3N4dlZheEp2ZGlwZVdRcF9Xc25IZ01heGl4bE5gbF52XmFWaEVfY1t4aV5hWTtobE91Q0dDTXdya1dWQVFpc1lnXFw7WUF1Y1hjVGVzYk95dFF5V1VxaGdRdW9XV01zRkhddng9ZT9LWHg9QlplVm9XaW5Fd0xfaFZtZXRpV09JV2NjY1o/Z1d5cllzWUZpc2pzR15heTo7cnRLV2FjZ1J1UkF1clF5aXhpWElXaT5TdWFXeGpBcjw7ZG1ZSmBxVHVYeGF5c0VZbj5gdlhoUT1EV11RTE1UTF9oTU5tczpcXE9peFlea0pRV2FQbHBtR2hsYkF3YllWQXFra1VQPFxcSmxtSVtoVGl5aHlYeVdFeFtZcll0SXVJZ0l4TT9kYGFncG9ocFdpdVdleF9nOltiVndNamxsVGlZbkl0QVVNcFxcV2pxckM9bz9sVFRVVVVFa1lZSlZMWHhzbU91Q0d4ZFNHZVNHaXNHcXFyQ11iPl9iQll2R1dFcTtUdTt3WXV5Qkl5O3R3ZGhtblBQVEhLbXFSRXBOW1B5T1lvUUVNYlBKd1l2Xm1zST1VeXBZd1FqP1RLXmByRF1PP3VwYT5oUGd3XmhjS2FjUnhgQlhrRVhsQFZrdUlaPVBuUWFtWUlvTXducHlpRFB5Uk9mXFxPZm5faG5WbldDTnFXWk11VFF1TkdDbVF0c11zUkdIPXVlT0dCakVmQT9SZVl4RllzRVloU3loVEFkYmNTRG93Y1l0YWdFdGdJP2lFSEdFbWtiaHVTOlt0SElkRXlkaXNWYG1WdHV3dltFcE1CPDt4Tld4TXdGZW10Zkd3aHF3aGVXZ2VEa1lnY0dnY19nZl9zSXlzUXVlQ0djQ0djRVdjTT9WRUd0aDtCYmd1eUFGZ1dSQ0VTQ3d4SFlWTkFnS21IQEtnOnd0SlV1RUV3dWdJVU9lVE91VVl1VVNFVWN4V09DbXV2SGlJdW14Zl9CcE1meV12dlxcSlZQdUNodkx4cmtUVkBBWWlhUU51akxQd2lkSmpxUFxcSFZkPW9FTVhsTVhwbVhwcFBUaVJecFdEYWxjTFl3WU5heUpKPFJkdXhNeW14YXRgdXVSXXl4aXl1cXVFPFlRaE9VbXh3eHd3dVdHUW1vXFx1Tzx4a0xtZ1l1dkhZbXBMW0lsbVlKQjxRb1hNa0xWPj1Yaj1wcXhKc0hzS3FrVkRRTFF1VFFTXUxKQER0eVRNc3RhO2ZucFdvZkFpdT52R29jSG91cGhnVWlvVXdwSldhal5cXF5heTpOWj9nd3ZXXFxqUW9dVmNdTnJXR1pdVmJIeVs6YWt2XnhaSXI9dmtWPnNdRlppUXVvWGd5XFxkaFpMRlpGT2t4WFteYG9mYHNtaGVaQnJJVWdRWWc/eGQ7dmdBd2JBaW5Fd0xXSDtzV1tFVltFWGtFaFJnUmhdQ1JVQkFvR0pPdVRRVW9RSXNzUXhsVkJ4bEhYd1RBTnFAdlpBVmNtSz5xTkxAeDpUVzptc0lcXEs8ZVhvZXhqSFY9cW5IZW1kXXBNVFdiPVdyeFl5cXFEcUtSUHRVSXFQPHhITW1uRHdEaWxlVFlwYXdzUXhReHFGPXJFbGxBaXBoPEw6SHJcXGR3Z0lvTXVuRlRReVhvbmBwTk12dnRXcXV3dXlSZ2FNSlFKWEVvZ0lRc0RRPlxccUo8dnR5Ukh5S3ZUd2hMcG1YcG1QcGxga2Z5TWxgd3JleEZkS1twWHRNbExQbEBta1ZEcWJFdFxcTEpYPW5LUE5heUpoWVRLRVRrXFxXUkFQWVxcWE9McT1lWG9leHdZeXFpcXRId1VBTF1oeUlZTkBda3JJdkl0WVJ4bVl4czxxTEo8dkpYeD10a0pdVE5deHBZdWlVTXZhTl1QblxccFV2RXg/RUtdYXFRZHFTbFNncXJHWE1xdXdYaXFQcGxQQHBqQFBnaVJQbHA6PFZYeE1ycHZTYG5qPE15aFFOWFBOWHhmeG9peHhYeEpvXFxtVGlSQG1SRFl2P1hLUVxceGR1UjpZS1pBSmVVWTxYUEJYWEpAcWF4dmVpTE9kTGxBT0tRbFJgSnNBanJ0SnNZdEdxS0lFeFtMdEhUU0NcXHRAWHJCSFFzPFhaQWpQXVJ1eVJIVVJIcVA6YHRobFBwbFRYZFI6QUtyRUpWPXR5THE6PVJJaW11dFhgdXNYaHVNQXhjcFZKTUs9YXlzWXhtUGBDP3VOT2VUT19HP29FWXRXaG5CSWtOSXNrX3ZiT3Vsd3JcXGl0Xj54bE9kZ2F2TmBxdEZ1VEFoZHdeZGlcXE5eXFxOQXRKQWI6WVtaUWBuR2o6UGJod3hEaWxlZl1YX2xMQG5GT2pOWGxUUXVUR3BuT3h2P3lqSXZcXF5kaHZ5SkBbVUB1Q2Z2YHZiSGBdY0hhRWd5alZpYW9zUFlpZUdnR0ZgWml3S3ZjcG95dklpPG5lOnZbQEZsbkdqOmRKeXZzeXZZd3RGQWJ2a1I+XVJCWWZVV3ZbY3ZaS1RGYWY7Z0NFU0NNUWVKRXhSQ0djQ0dAQ3lBaWNib1hNeWZJdUlzTXhed0hQXVRbO3Y/O2ZFW2JKeVJ1bUdxY1VcXFlFSV9oaU13WktWXltmU2F0XmVoZl9nZnNIcXNEb1d3TWNISmVmZE9nRG1XPUNCaTtiSWF4SW9HSj9SPW1Xa11Zdl1pQXNDUmVVV2V5TFlTaUNnYVF2X1tmRkFFYTtTbGtnVEljWVF4cE91Szt4PDtpVmlCTEtFVEtJZF10Yl9mXl9GXFw/Ul1TZFNHZVN5c3VPWD1lclE9V1Bdd013U3hDVEdLVVtFVltPdz5fZGJ5VXhheV15RXlBd15NSUdNVl1nU1VvSGN3dmdjR2dTU1FmYWlAb2JAX2l2X1FQaFxcZm4/b2tTd2RRd15YeG9hV3ZTeXlTUWVKZ3dYcGl0SWdVaGlMTlo7dl9yUVxcY0BscXF3V1l1cXhnWWdnZ2dnWVdnRkZjOl5eT2lkaE9pUG9kUEh4UXlualFnUT5zdXh3eFh1U0l1Y3hrPGZuY1BsSmdkXFxAYk9QcltgYlNGamtZdkFZc3dRdEFRXl9obl9QZEJpbldWXFxZbl55b1o/ZlpjeHQ/R2pOX2lNQXRKQVxcVl5dVmZdV2ZtSkBsakl2QXhdWHFxd1dpVGFwY09tVElrYm5fVF9wYld2QGlrTG9ddG95VnBmS19ub2BfaG5fUHFqd0BjO0hzQkFzSlhsS2ZzTVZha0F0PXdbQ3ltSE5nYXZ2Y3ZdQl5fb1hwU1lgYU95P1ZyQj5pO3laQmltT1BfdEl4QXk9b1hMcWZxUVlpYWY8TXVmWVd0SVlvRWNdU0ZdQXQ/S0ZPQ1JUVXJ1d1hpUVNlSWdpP0NMO0RCXVVpT1c7Q1Rad0VDU0NFU2dpd2dReURRSXY9eWJFPWJoQ2hXQXdLWWY/QXVXRWlsZVJPT1dzRVRZdURET2NET0NES0NYc2hNWUhyWUR3X3dPZXc+SWhXT0lvTVNIO0c7V2ZOWUZPSVRhb0NoY0Y+TVM/T0lNb1VdR1NLXXJiP2diP2JNVWlpY1ljWVNhdXNYZ0R1Y1ZSUVM8PXJlRVNea1hjWVdTVUJVeWZ1bWZScUlnYVdBY1RLW1Rjb2RQXVNkS2I+V0Nxb1dXUVdjRVdzX1lzUWg9dXZ5YXZDWWRfUXVMSXlpWVY+dUlsUXhsYXhnRXc8VUl3YVk/ZXdEW3RRQUJNQ2lXUWZVTVdsTVlJXXZgUWdjZ3ZsSUJrSVlUaWlQV1Z4QXZBc0lKUUlwU1lcXHNWYmt2TElzU0dZUE9UdUNYRFl1cGdXTU9lXW1EaV1SOllXR1tGWmNUR0NiPXV2SU9pYU90TFVnU3lnbnd0d0V4XmdFTztDWFtJcj1URU9CX0dGRWVTR2V0eGtIX01zTj9mWj9mc1dYYVF0P0t2Z11mS0dTQ0VTU1t3RF9VZG1ybUFWRUl5VGloZWVGYEdUZHVGUEFYPXFiR0t5cVV4bVl4aWtVdj91UXlYX2FDd2dJUUVyWk9XUUtETEt0ZVVjPT1yRWtJWnd0W0lUZFNna1dYYXFTaW9GTGlHQFdSYXlpeFtCVndIaW1FVz1GeEdGaGtHSE1VW0NIc21zQXd0T2dkT2d5TldYc2dkZFdkPUlyVmdYcG1YZGdYVV1yUmlyQXlyZWl4T21pXFxHaUBxVUdndWNZdGFYUHFodVNcXEtxWHZJcHJGSE1tXFxyQERZT0F1dFlLdz1yZXh1PWFrOnh0eUBTP2BUTHBuZGVteD1MVGB1bEhUXXBSd215bXltWUxRbj1Xc0VZcz1yYGR3dmxZO0l3PER4R2xtV2lzT11yZnh0ZDxucGV3S3VzQWRUQV1ZbVhtZUFMPXF1WERrQV1uY0lOWmlOWml4U2RTR2VTTGFxVGF3PUF1PmlqZVlKSXFrSHBLc2hWZEV2Q2R4UzxuRVxccj49c29VbEU8dUpBdEp5bHVQTU5kWWNEbWVVUk5odmZgbkNYeDtpbW9sb1RJa05Zdz1pcTpEb2phSnZwWT5VVXllUXI8UXJkUG9keFpJcj1Qd29FWFtRd29lUG5lS0lpd3dwTFNgbVl4eGpcXHdmRU1JQEtqSHFPcVduQXdLcVB1dUtMPW5PcFY8bFV5RXhiWW5JUHdFcW1UbHJgdHR5PXdKSW5kaVhDeFFCTXVLaUo8bE4/QXFkdVBkXXRiVG1TeEpkQExqUW1FRHRwSHY9eWpleHZEbXVOQWxaRUtvXFxwWkBVVEl1TFBsTGxvT2RVWjxqVElZcmhsUXhyVFF1VHVvaGl1SD1yRUxLQzxObmBqVlBPdWVNV2RNWWBZbElrcGR1T2VOZ3FOSF1dZWdiUT5bWnBoWG5mU1FwX0d1cE9obE9oXFxgd1pWaT5ecVhPdnRpeGVRdVRBXFxkUXlueHBxWGNmQG5XV19PYHBlaWhVPmdaWFtePm5iXl9mXmxiUGJFX2ddcGhYPnY/eVxcWV95bXlteWFhZW90ZmZfUldcXFNZXFxleHZtYG9gRlppP3ZqSXJBdl1ieXlOdmZWQXVSQW9ZV11DT21IR3FoX1pEXmg7QF5vT1xcOl9cXE5eXFxScHdGaWt1dnVId2Nxd2hxZ3FXZmRGZ3JjYG9UZ3BkT29XTltZWHhqdnNpeHRcXGhkU0dlY1B1O1FsTFBsQ1dsYEZveXdpUXFvV2NfVXNOPUdab1RFb1V4X1lzTVZcXE1WRE1TRGtlOmF3SmlCXFxxaU5JWWRNd1hLV2FhZ2ZJU0ptRlFjVURBR2x3dmBlYlE/YnFhc1NXSD5baUo7YmJZaTpdaHdnU2JRQms/ZU5JZUlld25RaFF3ZFF3eFd5d3h1VHdJeWZZaElRU0thVXY/UURkTjt0TzpkVVo8U1doWE5xU0tlVVdld2pkSkRdUURZU2lkcV5Zaj89V0I8WUM8WTtwT0pASmNRSmtAak5JbVhld250bVF1VVl1VU9lVG9oWGVxVHdgd3dVd1V1dVxcZVE9TUpYPUp0QFJWSW5cXFBuXFxETltEUjxhdVdZcXFVbXR5eWxQalRXY3Bhbk9udXhoaXVWalM/W3JHWmJRWmtna2RRd2RBdVJBZUU+Y1dodE5xcztveFZucmpvX1I/cDpwbXFOWlg/OkRKYmRYUGhUdWRxZmlUUG1UUHhsUVhvalhPa0RQa0RPY0RrZnBNO3Q/TmNkYW9pcGh0UWxhRnRQcF51T1xcVUdjPVhpXFxhckNOd15GWmk+Wlc/XlB4bHRAWkxXYUdQbExQbGdZdXFYY3VZYXlveXZ5bXdhd2FfdDpPWlg/OmxsUVBxOlFUdURUcmhxdWdsTGdecUdoTXFuRz9hQ05aWFs8XmJkUVo/Z3d0WHF1eGtZdmF4YGlzUWhjP2JtUHBsQG1QQGI6WVs6d1xcQj9iQ2dlOj9vV2B1eWBrRmBrVFF1VGFtVmBtTmBsTk55QWFvSz54RFZ3UXlvWT9wWkdyYkl0XVhiPE9icmhvOndcXEJYbVc/XlBxbHRWa2VobU54a1ZhdVZHX1NGa0NIa1xcPmlGUXFtYGM/eGFvT3dOcXl3WXlveWdDaV9IcGtIcGZuWFtKaVpcXFFlUT5rX2luSFFwZHdeR1F2dGhoZXFrVkZhXFxXcElWY1NfcXJHYFN3XUVWYXlwcHBwcE15bklXd1d4bU5PdXNWaGBha1NWYEBwZ0k/bkVeZjpxX0pGdEhhdl5hdmFubXJPdmd5cFlxcGpXZGNHYm9YX2I+X0JRc0RRXFw7WW15dml4WWVpZ3E/V2ZRPl5ud2hxV2NfaGx0dmVNV2RNR2VTR2VVV2VlcGVJSGtDSGtFWGtVSGBdb1pdaGU6cF9KcG1XP15ET3deSWNjR2djaHBVV2NFR29XaWxldmRYR2lfaVxca2B2O0diO1d1cGhnTXl3U19bOz5lYVltVFBtVFl1VVldVVZdb0lpSEhxbXd2WGhhdW9gbVZgTV94SWBtWV5acndcXEJfYj5fcjtZakF2XXg/eVt5eFhZaUlReEBBclxcTmdhRmh3WW1pb3FzaGl1cWhzb3F0Z3hkYXF2YGE8P2liSWVbeW9YZ3FkTmRRSXRLSWhjUXRfcHk9bkVRZGJZaTpdcnZJV09DRkpLaTpdZ1pvWEF5Y1lzVXFvV1dfUmhDZEtHZD9nYj9PdGxFVGBHclc/YlFfZVk7VVhPaXRPaXJBeXJJWF1xcmdldXRneGl3WXdZZz11REJhc1NXSHlzeXN5c1VdV3dpY1trZnhTWXdBV05nSXVteHZfeWxZc1JNSWpNZGFdd0JZZG9TV1BBSV5heW5HUmhddnZBckw/U2N1VHVjdHdneFBZVURxRV5zRmFzVmF1VmVlVVpLeHR5VnhTeFNTY3d5dGBrVHVPdlxcUXZOX2ROQ1lsX1ZDUWRxa3VyVUZmW0dGT1JGa2dbS0hgX3JJZWd2YG1ZPFVVTXc+VXVAaEtVbE4/YHVbeHg8VW8/RHdjSXc/ZEo/PG9XeHlLQEpeVXNQaE9fZVZfRVI7RVJ1cXhnWVVwYFdTZE5SXFxRQkBXUmFtc1RYdG1KdlBOb1VUYGBTS1l3WURReTxQXWB0U1F5V0RqY3RtS3hyWkF2Wl10SHltbnVYcXVxbXFzdURvY0hva0RQa2R2X2l2ZkhKQGxROlVLcnVQaW11ZmhyVU1VSHlTZ0luYkBOYXlKYHVsdERubVhwTW1NXzxqPWV3dnFqeGVLamhYZXF0S2BSO3R5ZHltR2BtWTxtRFFPQmB0Q1V5U2VUT2V0eT1PcHV4aGlVc11wWD1xYG1Lb1h0aUhKcGV4ZGlUdGBrOkFRSlh4PVRUQmV1cXhxd2lXX2RYZHhseHhNXmxXTXBsUFFZa0ltQ1xcdGhQblxcUF48Q0lNc0VZc187VWBrUkBTRj1tc0lbY2NjWHNJeXNxc0JlZUpFVVNFaW5Fd0xVd1d1Ql1RZ1dfckJZVXFvV3dDWFxcYXJHWWVxY0ZcXGtTR2VTX0NEPGtmPV9lWXRsTklTPVlPUDxQZVRPRWRwbWltWVhsckBVaEx5PklrTWRdTUBaRl9ueW9gbG9pWmldXmBiY0d0TEFmX3BzYGd1W05fQF9kdWZ5SFZ2QXBbV05uQXhaZl5bc0J2a1NsTVhscXNXV0k/VXVWPWR0U2V3PWlgZ3NEV1JOXWNfb1h0aUVASWVXPUI7O0Nzc0lqVWRAb2JAT3VUUXVSQXVSUVh1U2JPT0lbeUR5P3k/PVRKPWRfU2lNW2NcXG9YZkFISDt2OkNJeTtYO2V3TllEb0toSWlibjtkPm9UaVtpalFiX3NHSHd5T3FTeVNpWlF2P1ljZkFISDt0eW95U0Fzc0lSWWNXY1dlVWFlV1VpcGVTWHNmSXVlSE91c21FZ21YO1NJRldCRktDbG1ZWkFSV2VVV1dyZUNoa0doPU9ocU1Ucl12a0tIbEtEb1d4Xkt1VHVkY0VXY0VFU0NFbnVpOjtpPUNJeT9Cbk1YTHN1VnlpeXVVWFdTVlNIb013TlFmXFxPZlh3RU1DcnVXWGFxY01nQ2ZPVHVbaVd3clplZ0U9QmlVUkh5c1RhZFBvZGhzVXhfVXlRc2ZJdW13WXhZeFlXd1lFRD11RVlzRVljRE9jdnZ1ZVNpYkVzRF5JWFZBaWs9Z1d3QlplZ0U9QnlLd1lnY1ZUeE09VVI9T2hFblpAbjpdV3RQd1FwUXFtd1Zhb1NVcG5YbXJQV09RT2dpbztFWGNXY21xdkdZcGRpaG1pbVRJcFBpXjpIYlp2dmFvZVROXVReYmRhXXRncm5Gb1VIQUdHWGl1bz9IP1RqSHBrSHhveWVpS1dhUUZsYk5kbmh3SGltdU4+Z2Nvb0c7W2NBQ0l5U0Rba1VWbXc8b1VkYWhPbWl4RXlFeVVEX3dDaWNtZVdeVXlzWXhhaXZrS0ZcXEtCb1dYS1dGQW1jYmdFQGlGSF1kSl9CY1dCajtJXmF5Rl9TV2VVV01UTE1kcHlWZl1XZmVYb2VocnlXQ1NUTllHZHVpWHNESkVTdVNnSENUa2liVGlSQG1SeFN5ZlloWU15THlkbFl4bWlGTl1kUU1YbE1YPlV4UndUQTtWaGN5bUdkbVlIOnNpeWl5aWl4eW15QXlZdnlSYj1XYndSUENYeGl1aXFZcVtZckF4aj9oalt0SGlSPmV0VE9lVF92Q3F3V1lpZWl3Yj91SmVmTHVmVElmPlNCUmdCYVNYeE10PnNjVGNIRF1VQmN1WG9lX0V3TGlmQXVjWGNUVT1kRXNiSGNFTFdHZkNWQV91SENoWnFIdWFXPnN0SF95S3lSWWNXUkFoO1FyUW93bVNdT3lgeWB4U3lzeG9gXl5ePk9ieXh3dnd2dUZ4a0l4XW5iRkB1ckhoXUdmW0d2Y1l0YXh5dHl0eVBzQW5tclM8T2ZGO1Z0Q3hNT1lXQ0RLQ0hpbXV2Q1dGXWZPa1lbaWJRa0ZJbWV2VXlweE14PXlbSWxddFJ4PXk9eU14WXh5dHltcXBnVXV4UXhReHFubVhwTWt0TGs7QHJzSXFGWXJJdGFVd3V0cWROX2ROWXRJd2FndmlIYF1zTmRoXndVeWd5aHFeR3NMaG11dmhIeF15bnlPeGRYR2hbQXBcXEd1UV9vUkd4VFlnaUhvPVF2Z2FhUGdhYEF1U3dwaGdtbFdpZGdwVWZ2cHFcXGY+ZTpPWjo+cl5AYV5heT5XdT5veGhxdXdYZU1XZF14aHhPZFNpcl1AX1V5QklJYmtmSGVlVD1USj1kSj9kWmdzOj1Vc09YX19VVUVZdkNZbGF2T1lnUWVVdVtXZVVXZVdJeD90TltJbkF2O1lCeXdlPl9iT0t2Pml0RGd1cFN5cndnXl9mXkNYOz9zWDtiTz9kYGN4UGlnVWVHZ2NHUXdHWW10TGtZcFN5YnVEa1diW0VWW11jcEVYTG9lbVdzeT95P3lHWEdJbW1WTGFmQ21nVztUZ0t2YmtYVlFyTV9TRkNoQUtiPm1YRWN3dm95dFl3b2VYb01GdU13QE1jcXNjR2djd0V5X3lkQ2N5OltHOllkcF10ZnViPXdCSUtXTWVFXm90ZXlkbWtlbGNWRD1USj10VklpbUVzc2l4P01YbE14bXlzeXNnZ19FcHlmeWN5Q11FPFVVVVVlRVFXYXN1b0d1YVFmWml3dmVTUXVUUV9UOldCQWtDVj9Ja01yYHVFQElFX3VCU1lCal9GSGNZWFd4YGlzTXNmXFxnaVVHZVNHRVNDRXNrVkZBZUI/Y0JrVnJ3eERtVFBtVF9lVl9fVXdzdHhvaXBld1RFWEFPdW5rQnZnZWlBZDxjZ1ZxVW9lWG9vSEZXdEBhdz87QkVPeHJnRXNNRm9vVW9HaV5heUBjYlZVRHNPU0xBVkhrWD1VST9tWXhtcUxQTGV1VVxcSE5AdFF5dGprYU9GcVU6PEtGZXlNR3lzXnNqd15heWZteGtYR2NGX2NGWXNFWWg7Z3dOYXQ/RnBIQW9XeHljeWlSdl5seFpaR2lCSXlHPnNAaFtVXnRMUV89aFxcdlB0TFFkc0NWPVJnYVNdU1lGcVU6O0NKW0VgPWl1W3Z2YXhgeUdqTVh4TXRqS2lgdXdeO1dKP0Q7UXhHd3ZKU2RYd2hYbXhOYXc/Y0Z1XXNYPnRadnZhcW53WGFsX3ZCR2I7R2pfWXNDQVxcbXh5PV5zWD9aOnB5b3lfak9oeG9fUllhb3Zvdj5hcj51bGluPEFubT5cXFZJalNZWzo+dElOeVZ4ZVNHZVNweHRoYGxvaVxcX3dePnRpUG9kUGhMP3hUTl1Ubm5HV21QPlt1b2tIRnBYeXE+YXc/PlpieVpld3Z2cVpld3dOcVs7R2pKUHlTTmZbeXlHSHVFQkY7RVZTVWlzdmFPaHFNVltlZWtXV2x5V0RPSUBLUlF5dEpTc3l5YkZxVTo7QlFneElhY3NzaWI/Z2JDV1lxQ1lrSWZhc1RBR09nZE9PZlxcSWJqdVZBX0JIRUZgbXg8PmVGQWFJeWNUUXFmYG9mYGo+YGpPWF9Rb3h5b15cXF9mZVdnZWdhbEhdZk5nYV9oU1lmcFE6a3NdbWRWQHFyQHFhdW13bVh4YXlzeXRoaFVleW5RUHBtWHBNT2t2Vm5wb3RRaHFYd2ZpPmNjb21qRmY8UF1MSTtbeERHZG1tWWxZRFVrSGY9U0VVU3VbWXJkcUFkWDpdWWRoT2psamJgSnRQdWNZU2dQbHdIdW1udXhoaXVXaG1XeFJJcF1HcWY+Wlpxa3hJeXF2dnFQaF9Rc2l5aXlZeUFuW1Y+bGFmaWNZd09Zb1FnYkNYWl5vaFBOZ3F5cUJQcmdpdXV4YHl2YVlPW1xcWWlpaXFBcWxUQ3JHY3lVWHhNZlt1d3l3eXhfRW1PaGxPVG9laXBhUkhhRmhrR2hgdUhcXHRoeVlwbVN5bFl2QXlsaXZFaU5ASU9pdE9pWW9SP1pqd1pZeXZ2YXZhYXZKZ2JyPmZTVmE6QkI7UkxDVEpjVEtFVGlnc1RfSHdlVl9lVkxBd1tvWDtDUm9lWG9tUkBtUmdlV2dtU0htU0RNU0RTRT9NSlk8dm1gbVldWXZdWVlVeVhJb29UckB1a1hka1RJVVBET09FcXNIcXl4eXd5d1lAWVxcSUtjdEpDSGtDeExpbFVebXRXPEpSdFJ5YVFPWHhleVZjZUxvXFxSX1xcTl5cXEpvWHBgZExPZExMTWw+YXNjeFFFTVNEbUxpbFVGUUxUQEpaPU92PG1tWXdlVVY+cHBwTmNfR2R1Vm9baGs9R1tHZltPR15Mb2JAb1pNV1c7SHhrd15heXRRaHFNdlRjdj1JYm1lQz1LUmdhaGs9R0R1dl5bRFR5aGl1RV1HVDo7ckY/aUpXeHV5Ynk9eUF3RFldWUtJclhJU2J5VUxNVDxPdVN1QmddRURBeWtZdmltdXZHZU1XZG1vV1dRSXRvRztoVG95b2lgbVlRd09Zb1lVWWdpUE9YeE10S1p0b0JoSj5ld2ZAalRka1xcRGxIUHdFcW1wZFdUSW9NdW5SQFNBPEpQcW5RYW1ZZVI/ZWp2dFhSdVQ/XVZJZHBtZFFsVVdNTExMXFx0bUVxU2l2X2l2a0VYaz1VdDxKQlxcUG5gbVl5TXhBeEF4UllkWW5ZbVlheWBpdXV4WE9VeFJJdVNJTXJUVlFcXE9icFhcXGhXVW1wZkVPZVRPRWRLR2Rxc1V4YG1WYG1uPlhQRnBSOzxqOnROX2ROP11SaFlRWUl5SEBPWVlqQXRLPGR3WXl5RnF0Z1hVZ1R4SWFYcXVYUWRMT2RPUj1wWllLWT15PHF2R1ltaXV1eGh5SFlRaWFvWGVxdF1yQkhMTlxcWDo8S2ptckhoTVVFVVNFeWt5cll0c1V4UGk8SnlpWWVBWXVkeWRAT2RdTURxbkdVbWJ0dTo8SkR0dnFpcT1ZdVNcXGxocG9oYHdmYXdpXVldWU1JaVFxYXVrWFZBcUxpbFV2SXVJcVlQUGxHPEo6aHFtcGtxWHRAVW5qbEs/PEo6VFlhZVBvWEx5dE5oYHg+SWtNXFxrPUVKOjxYWERYP0RQa0RQQXhbZnBmYFhucG9icVloZGdvRUlrTXZeUGdkT2d4Vmd3Tj46W3dXR2NPcVN5d3ZkSWY9dWJST0dIO0JaUWV3V0NJc0NxcXVJPUVqbWI9R1dOcWN3c1Q7O0J2Y1ZpcUhoXXViZ1c/U2JxV0hKW3dzT0M6O3Y7TWRNV2Q/YUk+W3R5X3lKR3JhXXRlVVdXbUZga0ZEP3ZraFQ6PEpdSFRSPVVSUG1UUE9nYHBudHRAaE1qPFdidVdhaHNoPFZJaVQ6bnJuXl5Vb3BmR3NJeXNxbnlwUWBAZmR1ZmdnWGNwYUU8TXBIblhlcXRlWGdlV2dIT0BRVFJsU2dRcXVYcVlJWWFpTWtkckZwUjs8SmpcXE9keHdHTU1kWW9RdW9UUFZyXXFrYHRoeHZUdWxORE86PEpdSFlMYHdmYXdXVFFwXW5faG5ncXV3WHVmZEtvSFROcVN5TE0/YU9LUEo6PFJaSHRUUXV0UXdleG9QaGxPaGxOYGxedF5wRnRTWF08Z3dSV3dMPlo6QXlOd2RRd3JAcXJAYXI+YWV2QGlLYWhdXnZ3YW9wd3RoaGVVV3FwZ3dTWXBhR2VlUVxcOkJmS3VCT0NtcWNWW3htT3VXX0lzTVReb1NYX0lwQXVddWhoZXVUQ0lsXUZAcUM6SG5KcW5TXFxMTlxcTGZAVWtQcl5ob254bU9xV01xbkdVbGBkU2R4b2l4U0l1U1F1b15hdl5hcj9pcmtUa1Y+aks+Z2I/Z1JBcFtXalNvblNeeD1IZFBRZEtWbVZ3Z0FHc1hfY0Zfc2RoZGVwblRJbm5IWjo+eT9QdExRdF9Zc1FYXXZHbE5WaHJXYUdGcEBZaGZhb1V3cEhHc1hPZ2RPX2x4Wjo+dml2WlxccG5TXmZgb2ZgZ2ZfR2VadnJeP3FTaXZ3WXNYUWo/VltSRnM8PlpaaWRXWFxcS1h5O3lbeD90S0l0W2duX25hRnBxZF5wdGB4T2hMX1VuYXl2YVlzWVR2Y1hMTVRMYWNTU0hKZ0k6O0JJUXRUUXV0V1hhcVNjXVc9VVI9dWNWQ0lcXGVmSGVITTtnV29SUXVUUWVVV2VlYFNZRW1kZkNjR2djd2JTa3JDO0JacUlkZUhlQ1lcXEticXNWSGFFRWd5cW1WTFVJQUN1dTtYWkFyQ1dEYVtXcElWVkdUcD1kdzxKaEhWRGhVdV11Wz1rU3RTdEloeW5xSnFrPk9eRnFlOj5aald0eT5tX3d0WEBqTVdhR3Zqa2FfRnFlOkJAY2JpbVhnSWRZRWlrVXZAeWd4ZXhlT3RMUXR5UXlpd3lkTVdkTVJnYVU7R3VFO0pWPXJ1VXFwQWtZXUxDVVdpdVdpXVdmXXVrWFZBcHlneGxYTVlDdFdhaVVTWVZwUUo6PGo8WXZ1cHhCSUpVVVVVZXI6SWtqbU11bFhGXXNcXHB4UG1WYG12akl2PVlTRE1TWGxZckl2VmBtVnRZR3hZa2R2YmRsO2V1OnBVYXVPRmBNc0xUaEVTcj1ZclRKVT1KWjx0amF0aGhRbF1tVXVwaGVwbmBwVm1xdkVVb0hwRERUSklzTXhOQWhqP2hTUkBQO11RQEhSQHlxUl1VZ2F4cFBVeVRZW0dtbXZzV1hhYVdmdnZeOl5aUk51aGhhc0dpc1dqRFF4YmB1VUB5PlhwYXdzcF9obl9ldGBoQ1dpRV9sZk5hdE5ldllyTXdjd2ZuaUlcXG9edHJ5bDpHZHVwbWx4dFhxdXhWZ1BhX0BZaDw+YjpAYFJpZXVPeURpcUdZbXF2d0ZJbW1GbVNIbW1uRmtSSW9FV0tETEt4cll2SXd4ZG9jeDtFeVFiVGlDXFxxeG1rZU07Qjw8bnk8dmhoUVF4T1ltcVp1UlRgcnlcXHlbeUtcXD12bnhwQFxcdHB0Sm5IeGl0akhkTWxhd3J5TE5xS1NZWkpZYXdnd1RZXkw+X2hmd3F2cXNpa25maWF2Y1hgdHlnZnhheXN5RW94b2NHcXFIYm9oTlloXXlVSlVJWU9zWFN2c0NCOmFmYnlYZ0lFc0tYXk9Fc0NVTVVUbXlHeVF4aWNXZ2VXVHlyPkliQ1dZdVl5eXd5dXl2WFdZaEtJdEt1b3d1bGF0cnlETnFzUVFoQVFXTkFCWk13QF1TU2FnT1NHUD1jQEdjQVd0SV9lTmttPFlLbW12RklrQkBrSkRZbW1ueU1weV1VWHR5PFB1U2RKQUhoX05aTFZHZ0Z0Q0pSVExjZXBePFJRWXFxcHFAbVN0XVJQdUpvbHk/eU9GRG5GXUtCcHBmdHZmSXVteHBpdXVYYXVWYVFwXXdSbU9FPEpSRG1ZcXlweXBcXGRYZXhUaXBVdGBYY1h4XVhTVlV4PVRKSHhZO2V3RlVqYlxcdVhpcXVldnBNU15ReFhZWWlJTV49a0s8Sjp1VWZAcF1pd1lFd2VdeUVMV2FtUT5Jbll0UXhdWXNReF9JUGtEUFBNdUB5TDo8ckddcGt5T3Ftd1ZJUHhBakBcXHRoeFFOcXVAUExwYHZeYXZeYG5eQFljeE06PEo6YVhwPFJHeFlDYXNGYXNEUXNsZHJUXVRiaFVpYVhvZVhfcXZgUXN3YGxqaHZcXGlyRWBzdFhKOjxUdHROR1R2SWxZallqSHBrSFRYb3VYW3BYd0B3VlFxb1V3SGBNc0xOSVlTRE1TUHQ/RVs6XmdwSXduV2Fxb3dGeXNJeVtHZltvZm1HPmJncXlZZlo/ZlpcXFFzPz94YHlzWXh5UFllaUdgb3BbOj5iW1BgdU54XlBvZFBzWVdxcEFucG9dWlFzT1hfaWBxbFFrVnFzWkBuWkZrVl90QEFpOj5aWj5dXnd0WF50SGlfdFhReUhZYVltVXlwaXdsYVlvUXdPSVlzRVluZVU8O0JiW0NvV1dJS1dhUUlBeWNZc2R1eXRQcXRQQ0VTQ0c7WWNFWWc9SUI6O1VJU2ZnUXU9T3VzP0VqP1ddR1RwYXdTWXhsWXNpU1ZjQUI6W0huZ1V1bWdYZWlkRWJfY0g8W1RnUWNFV2NNTVRMXXZDUWRfU1NYQVldaWNqP2hqS1NwO0I6T3JqV2lwQWZwVWJta3ZVbWhmRUdlU09OXFxMbnhXWVdzUGhfXWBmPT5aYj9dc3d0WF5UbUhURVRlX1htb0JSO0I6dWdiVWlwQVVpZVRHR0Y7V1hFY2hvO3JGZUlmP0M6O3Jlb1k6QXN1b3hab1h3SWZZVUJGUUVzb1Q6O0JJd2hNb2ZSaWhBY2hlWURva2ZCbWVOd2RRd3I/aXJbRXc6PFFaTW5XP051R2tNc1BpZ1V1U1Y/SWtVeGBpc0Zhc0ZFeGBhZztrQjo7dE1TWGdRdT1PTW5ZWFNJdVNRTGFgU1ZAUUthbmVJcTs8SnJVTW1sd1RZZlhOaWpBdjtoZnhJXXdxW11ZbXBmZ1xcZmJBQm5RU2VVV2VBeWtZdnc7WTp5U3hDeT5ZU3RFR0dTeUdXRXFrZ1hlaXRZZlljeWJ5aHlneWdpdXV3WD1LdVVJaD1BSTo7Ym1hWHBtWHRteDpnZE9nZFhPV3JVaXRPaVRPZVR4cHF4UHBsUERoeE5xVVlIUW1tVkF1UkFAd25YV3dsb1A9VHVsWFJ0Sjo8TU5sTVlYU1FobVdod2xBUzpFcGVMbltNczppTXVsWEZNTW1ld2dgc0Zhc1M6Y11CQF9uP2lyP3lnWGVxUFpLZ3dSSWZWPlo6aWB2Pm1AUWdob2dQZl1UXmx3WFxcc1dcXFdRZ2NLeE5oeG9peHB4dE9lVE91ZGhkZVByPFFyYF5jUkB2WlBnRElzQnh2bWd3XmZjZnBoVGF3PG5oUnZaOj54XXZzdlZ4RkBtalBuXFxQbnhgdEhXc3dobXdWaXBYbl1YdkxpbkVPdVVPdk9PaGxPaD5fX1lQaWRJbzt2WlU/a1BuYHBiaGdnYW1WRGVoTXF0dF9oZGFleT1KYFFOeGxReHVySGhNT2l0T1FXUlxcWVlFcXFIcW11dkRgdGNZeWF0Sk9YWVRgUXNNWGtFWGs9UnJVUVBRcT48Smo8TktFZD4/eGxQcGxwbGZGZUx5Y2hpc0dJaE9GcjtJcmxfZktQZFFua11vXm9YZmdYYzo+Wl1BVFdZdXNYaGFVeUNpcXNIc013Y3dmXkl4cGl3VXFkT1VJUFFpPnZxclZsdVd1cXhnWUF4W1lySW5ddj53X1hoSk91Y1F1TlhhTT5vV1ZnV086a1lrR0U9Z3N3Z0NVa0hma0hwa1RFcXVzXUVjdXk/RVVlTVdkXVVCVVZTS1VncWdXVWlwb2BfbmtaZ29FPzpZdXJDSWlpZ1lvVT5JSXBdUkpfdnJrVWxtRl1rUkY/c0VZc0Vxc0hxaE5PdVdfSXNNPFZmSTxDYVJWYTo+WklOdjxhcXFweXNxcnFucWtRdkV4X0RAXndweFRZZ1hBYVtJaF1xcldZcXF3Y3ZAdE15Y3lmZ1dmcFVhcGNXdF5IY01Qd2VZd01ZdE1pdGVGYXNGYWtHaGtfc1xcdlo6Pmg7cG9ocG9VeXBpd2V5cGl3YXVzdHhpeXVpeGllQ2RtdVV1SWZfVXNPWEFxY1dzeW55U3lhaFtVckBzV3JZZEJBc0JFWXZzcXNVU2NobWBZa1Fpb1V1VGl1UkNxVUZdU0ZgSldUVGdBVHZFSjpMeTtVTVdNVFF1VFFtVFBtbnlVV3dReW9ZS1BcXE9qQXNWQUp3dG92ZjxHdltZckFXVE1VVHdreWlhckBxckRZVk1VVE1BVnk/V0hHSFNPRFo8bHdkWEtEbHc8Sjp0Sk51dl5VWXVVWW9lWG9wcW1NVFZZVTtFUjs9WGo9cFVwd0dJTXV1eHd5d3l1WUlxbXdsdUpVUUtldlpAXlF2X1hfcGBQdXNGX3VPXFxeQGBMaFo6TlpHZmduR2NHZ2NHZ2ZfZ25wTnE+T11AZ2B0YGJeaWNUcWJZaGt1P2xZTlxcUUFtS0hsW254SF9sSVl2QXltbGZmRGlqRXZcXGZub3BncURxbVZpdWxReGxnXnVPXFx2YF5fZl5DaXU/b3g6PnJMQGdzeGBvRmBab3V2SGlhb3NWSHRYaVxcc1d1ckhoXUFta1ZGXnlySF5GYG09b2NIb2tWcG1xXnRoT3luSXdhdmNYYF1mUWtkbm5ZSXhBX2ZpR25XeHRZd2l3cG9ocGNed2dzUXhfUXh0UWxfVmNcXFdmXXdleEd5X29qa09aOkh1Y1lfcXFeaHZ2bXdtdWFtaU95YXZaVVFgYXhuYVhpQ3F1Y0hqZGZkT2dkXFx3Zzw+Y2dhYD5fdm9RcHE/djpJalFfd0JfaUtmZkFGdT0+Wm1AdnFhdVVIbGdpbVJxZHNfXFxlV11aUGdRWWRwYW5OQGB1R1o6XmM7SHRsd2dAb3BxR2ZbR2ZsQWFSYXRXQVxcRXZsWG5maT5aOkhga2ZiaGlzTW94SD94cmhxTVhfYHhlYlhgSml0SFdraT5td0BaOm5pQWFoc3hgSWBgeVh3UXlvWXFxd1dxQXlkSGFtb1ZnUGByQU5mQmhtcVZxPU9aYUBva1ZpOz5adkdrP05oaW93bWhnVXFwWWF5YHlgX2huX3BtT1dxP1drUEZzS2h2RFZheUdaQWBaWkdcXFY+aHBRckJJbF1mXnhRW0l2W2E/ZkU+WnJ2a29RaGlvXVtmXl9mXltGXltXdGBkQWNmd1tGXltSWGN2TFVmcG1zRHFVaVdoUWtWSGFlc213VklJVWdZWlVDXUlJOztmUU1CXnN4YHFJa0VYa01mcXliSXNFcEVWXVFieD9kRU1HQWFEVU12dnF0eVNSYktocG9FbXdEPm14PnF1R1Flb1Nrcz5qWEBaRmlxc19yUV9mX2dmQ2hxVV9wYkdsPkBbZGlyYkF3YndgPUBaY1dsX3FfcnZ5c190aHhoU1lkeU9gWFhcXFo+clt2eGBJX3V3YGtPdj5HZzxneGlubE5EQ0lzQ3FHWVNYQGFLbllZRlFucG13QGBORnh2PjxLYjxzd0hZPVhKQWxLVnVxeGVVWGBVdGBYY014XklzXFxBeD5xbENYdXVBdj14S3B0V1hhd1RJUEF1a1hkb1ZxcE1IdEBMV2FJSlNZVnZ0TjpIU1t0eGBZSj5xTGF4bmF4bE9obGdRdW9Yd2JJdF1QbnBNb1Fkb3ZgcVZdSmlMT2RMc29IdlRYbkBla2xoS2A9bkRMV2FRcWZJcFRkUDpITVt0aEFBa3c+Y0VXY1VPcW5Hdz15W3leX2xxcGxndkRnaGdnYmphdm9HaVFpYG9YZEdoZ1VXZVVYbFl4YmdhZVFocVh3cm1Pc1dfbWpGZjxJa012XnRneVBgYkJ4c3d2eFZvZVhvXVdBXjpuYT1gdVV4aXNuaGZBbVJfZlVoYXV3XlFJaW9Rd09pYG9mYGRpX0tJcXdXeXBJcVZJbXNgZ1NRcGlpaWlZaWVvdGZIYmdhaTtwYGpoZnBhd1NZdXF4Z1FAcGtfd1JJcHdnaXJfc1JIYEFwW1dObFpQZD52a1ZEWmlGQmlpU0N1UnVSQXVSdU13YkV2W0l2QW1jVkNkdWV3RnVmVEtXYUlldXlocWhxTFRQRFhPeXV3d3h4dElLTHRxcGlwaWhxeXF5dXlTdkR4PmFwY1V0bE1YbG10Z1hVQWVZPTxYTUxYaW1KYUV3TGluXFxRb01YbE1oTmxBbHlUa0RQa254cF5pWHN1dF9ZTkVJUHFoV1VxTkBpTW9YeD89S3NdeXJJeF9Zc1FYU0ZBVVhtVXg8dnZ0clpBdlpFWVZZcGF1U0xNVExgWUVdS3hsTkk8cm9ATE1gdVVIVUJQa0RQU0l1U3lteXN5dnFld1RpTjt5anBVVGRMT2RcXHJeXFxUT2VUc2BZXmVYYnB4cHFYYW1RRlB1c3BrPmVOU0RNU2Rwb2hwXFxRdExNVExdbUNUTV9QeUNZVkF1UkFgal5UbGBkU1RRcF9VS2B0SzpJTUJpcVN4bHNUWGBBa2FxVHVFdGNgTFdAeT5EeHNFS0NES0xReXNIcXhtVlRNVVRAWXR1VmBpd1twWGhseFZgdmBxdmRYeXFFeFxcaVJhaXNTUHBVeVhpcXVPRVRDWXVpdXFHSHM9PHdPTFhpbVRcXHF5d1l5VF1YXFxocWJxdmZRWD9hdkNZbEVYa0VIeHBtVUtJUWtJVkFta1ZEVHFQV2tRdj9ZamRgV2xJVnNIdUxVWU91bWFgeUNIcz08cEtYWW1gWE5ReGd5V3lVVW1YdmxhUkdYdm11WV9BUD9AdXRFaz5gbnZhS3JdUE5xV0pcXExOXFxMXk9zTFhzdHZpeGF5cXB1dFdzb0hvb09oSWhyQ0l3WUdoakZpQXBbV05uPW9aPEZabHdnO3Beb09yRGlsZWZhVT50ZWB4SmBqRD9vV0RoX1VzT3hEWUdpX1RRdVRBY0I/Q3NXV1RtS3NXVUZ2W0lWTUZLc2JHPUNPR3NVP0lrTXZAZ0NVW3Y9a0dyb1I6U3Y9bXdnO3RodXhld2d4T2dJV1ZOVVVhSXVZRXRhd2JKVUlxVVZNd0hZYVltaHdVaUZRb1d5bVJsb1xcRGxYdVBbXFxtdGRYZFl5aXlxeT12Ok9mbGFueHlxeFF5ZWF0dj9gdWd4W3Z4UD5tTl9kTl9eXl5eckF2QWBdTFliYmhtRWBdeW5pdmd1dGhoZ2dnZ0dsS0hsP2hqP3BdU2BcXGNwdHBXX2dmX1dRcW9XZ2l4aGhXeGBpc2tHaGs/bXY+YF1OZWFhdnV4d3hYeVt5alludXZIaU1XaUVgdVU/YltGaEZgdWt3andOW25ZYk5fYUJ3c25BXFxkd2BCXnhdSGRwYXdTWXhsWXNpVmlET2hecG1BZlo/ZnlcXHlcXHlAd2FZYFJgYWpGZEdHZ2RPZ2RrZUh0X0x1ZUluW0huTDx1d3B4VFlXbnlTQGxObHVybVhwbXhUaGBVY0RUdXB4XFw9VVI9bXFsWWV4ZFtedEhJX0RYa0VYZExPZF5Jc0xoXkVvdXJXdkd2a1lJbmNWZGBgbXZGaWw/YnVva0NZWj1Obm9vY0RIak1AalRXd1ZgZGhpZ0Bha1NWbkF3a0hGW0NGcndIakdxYXFAZVhWb2RQb0h3bXhmYWJocWJxWj9QdXR5blFheEpOZ1F5Xkdpc0dZZXBgZ2NyRGFyeGV3VXloaUV1bGdWWEF5T0d3TXlmRU91dz14O0x5U0VUbXhUTXhsVVhtRXFNRTx2dV10YlFsUHBsUFhzUXhPZXlSUWBuX2huZ1BVb1BTPElyQ1RMYDxUbERuYURZc0VZTEFYY2hZXW1saGRVVEF0SkF2R3hVS0B3RHF2PnF0eTxvV3l5P11vaWFxbXFTZE1XZFhsZT1qc1hSXl1WXmBRWHhReW1ZOmVwTVltdkRRX2RQX2hNQXhKWHFrc2Fsb1VRdUdlQ2hzaWZldGBud2heZ3ZkSG9jSD9pcj9hV1hsaj5eT2l0T1F2Vl5wP0hydnhwd2l4XXlreW5fZ3FwTkB1eFl1Z190aHlpaVFrcHBaUnhbYHloQV9iPj9zXVdmXVdubUlhVUdfX1ZpcGF3S3ZqcUd2PGlaUGdlO3ZzTHlkaGlnaGF1c1Beb194SW9bQkBlUE5vXndhQHFzQXZxX25pWnBvaHBveXlzRkZuWFhnZT9qQz9nWlltamdkX05aP3dwQGZ4Z25kV0daSW54Xj9sdVd4WmZsT2hsXFx5aGN4a0hGXFw6cHVSSWlVRl9uWFpgaVo9TmVnYXBTRl5faXZfUVxcVD55bEBwSFltcXZjWUliXmFeZmZvQ25fPW93R1lpdkl4SXhpdj5oWkFqRVllTFBlTEZnWmBpYF93ZndtSF5kY29naG93QUlwPk5uVElrWVh1dGhoZUlrTWJVd0hpTVNeU2VUT2VkWXlEbUdkY1hgYXNTR0JBX3NwYWJfZ0g7SUVCaWlzQWVuYXhuRWNSR2N4Y2hcXHlGSFVTVl1iSXFZS2VzXW13eT1mRD1yY2dlcklpZmFvb2hwb1hMYWxTTnRsZ1lwSllyO2RsdFhsTTx5RHlUeFB2PHl0a0RZSllQQFhOcXF2WW1QZj11allsWWB5PlhzZVxcTXhcXFlybE5gbFJeeXVhdXFiYE1FVVVVVVV5dG1DPE5vWHRpQVBoeXhPeGw/VVdnbXg7UE9oVmFGb11KWGltTl1sV1tAb2tWRnlaSXI9QFp5cFs/Zlo/TnNSSXlgSGFMUXFrXm5Dd3VxeGdZUW1vVmc8TmVncVp1WHJyeFtCcGtIcF14XmlyaXBld3RWYWFIVnlhXlpOXnZYYWtJR2ZbR2Z5ZltoP15ubnBBbjtrckl3RWlpSV11dFF1SEBhc1NXSHlzeXN5c0FbaHFXWFt1Ymt1ZW9ZWUJVaF9xeWs9dXlDcjxpaUtbdlhhU0FNV2RNV2o9WGpHRDxNV3k/VFNFVXNZd1l1eVRNQ2d3QlU/RkllWF09VVNld1ZtdVtddXE7Z1tTaGhbQ05Fd09rZFBhaEBFY19zeGBFQkxLRExbeXJrRjp5aUBxR3VTSVVNQ2RXeUd3Y3FLaWtbR2VvWFRhdzxTcnRlRWFzdHBVRU5Hc11FV0dVdG9vQ15xdWZDU2ZdV2Y9QkRrZVRhdGNBdFtXUkBhd0BBaFpPdWNVV1dNU047ZEtHZFs9dW5rYm1TUmBFSHNtdD1fdVVneGJJSWlHVVQ7V0ZnZUtRaWtrYlJdd2xVeWZlZ0V1eGttVkJhR2BzczxDaFFDaXE/Ql47QmFNZXF5V2ZhY0ppY1tlRW9XeGtRVVFvRTttV21fQnJxVXQ7aVhhdj9vYkBPc11feVZLZWFpV0JpaT87VjpVRmdtU05nZVtXUkFvQmBpUmJpdFJJRWdXRV09Y29LdVFzdWlnWGNJRFxcU0ZdY1I+b0NYW0liaWZdWVdgc1N4ZVJEUWZSWUNgSWZ1VWZYV2R1VUNebWVrV0RaeURbb2l4b1VEbXlReWl4aXhXVWlwRUVwV0U9YXhkdXZBaWhoY3VhXXNSR0hwR2JQcVhtQWNDWWlwZXdUT1NhTUhJY3VdO2R1VUJiSXVHR0ZfeXVCaXVSc0NTd1hgeWluZ0hZYXlgeUhJYWVzU3ZpZ2hoY0lMeUJcXEN4SFlFaV1pa1F1ZXVnc3FyPz9XbV93a0NZPU9pR2V5XnFNQXVSTVhZPXh5ZU1UWUxZQmVRa3B1XFxQT3dhWF09S0xxa0d5bXl0dUJpdVJsTnBxWGFwU1dQTGNYbGF0a3dGYENecEFva1ZGZ3R2cVxcZnddP2RKP2xFVm1bPnFAVmtHSHFWXnBkPnN3SFpXQV13VnFrbmV3Z3hPR2k/eWBbVmk6UG9XcW5HV21eSHZoeG9peGNJd2NRd29CV3hnT3FfP3NxeGdZcV9AYXhZd3lveWV3R19rYG9iZnd2P3REcHA7ZnVSbnB4WGhpb1tVXmxdcGhYUWZIaF1rUndnRV9TWWtDSGtLRG5dSXVhd213WXV5aHlVV3ZpR1BTYj1XYk9HZWppVkVNY0NZaEtXWT07eD51SEB3R3E7R3FVZEFfZ05JaWZDRHRvVXBhSEU7eU95Z3hlSGRLR0RBZWdHaURldXNZV1tVSHdtRklRdWVLU01XWT1zdW9PZ0BrU1dJWXBXRT1dY1dHY1BlY2tfdGZRWEtZSHdXdWVjR2djZFJnWWlnRXN1SGVTR0VdVklBV3dvWERpSVZpaXV1bGhAbU91VE5wTnE/clVpdVJuXmxuaHBWb2hYbGNIc1hxd1dZcUlnbXRmeHBZdWl3eXJ5cnluc3BYXmdWeWRpdGV4bXlveXNXakJxbVZQb052bFRQbVR2YWhgeVxcZ2s/cXJCaXE7Pm9ydndwaXdVeXRpeGV5dmhoYXV4aXl1dVVtZVd3eFBBdEpBVlBfS2VUb1dwVUVtbFRJbEw8TmBYVUNfW3VOaG14cW9pb2lnY29YdllZbEZwa0hwbFBJdWl5XFxEYWtFaGtLWGk9PnBjUWFkWXdkUXc+R2pueWdneGV5cGk7UWo/bnVCZnheaHRsRmxrWHA/bnNYaXZsV21XXmZpeVt5P3k9T2dkT29nWXRLZ19MP152aXRmTmt0QGtLRnhOcXR5blxccEZpeFZbVEdaRkdcXGFpcHF4cEVXZ2B4a21hblxcXlxcTl5cXD52WkFWaXVQXkJwcWRoW0RpY25HdFhOW15paV9pYlpPX2VWX19xamNQdlxcZlpfRl9jRmdAYWtTbmFQaGFvPmQ/QWRlb21vXmBuPmtDWVxcR254dUhzbVljSlFbWnFnPVF3Y0lKb3RLdVVNVVRdb3RZbVRpV1Nqb0VRc0RhY2dQP3NVX0hWbUllT2dTRVVTTVhUS0RWU2ViY3N5W0ZKV1NeX3VhZ2JwXXI+QVNdTUdsd0ZYb3JgdXVraVVmXWJuP2h4R0lHc0dnZXldcUNcXHdFXFxlZEhrRXZkVUp0VWg9T1t5eFpoTDpBUVdBTWRda09hcXNVeE5RU1RMa0Zhc0Zpa1V0UEhITW1sTlxcTE48eU9rbW1OYVJfXXdGaVBcXGhXQmRKRXFWaXl2TllzWElqPXRKSGltdXROR3FvaV1TWGB5dGBKYk1OaHB5V1FuYnhPUWRuYF1KdGV0W3V4T1xccGRIdF9sUUhMVTtcXEtPRUphYFNTUHhzeHN3R2g8Z2FjQHBMUWJIeF15bmV2Zm5zcG9qTmdRWWtmSWNLUGFrT3Y+QGFGdm1vR2dER3FLUF5oWXZaSWR4R3g8aWpFdnF4aXhpeGluWW5ZRndZUXhkWGtsPmlKUVtaWWBGT3VHSF5bRm9uTl1cXFBzYFhbOkdkdXBlSmdeRk9jW3hzeEdkVl5rbmZ5WHFdYlBoX1VfYXlzWXhcXD9YXFxRZl47ZE5ZaXF3Z3hleGVXQ1BbR2pRZEVPSEU9dEQ7UnFrcjp3eTxXeFVbZF1vWGBBRmdjR0ddc0FNWGxNaGltWWhdeGJJdGRrdG1hV1NLdDx3cnFvdXRVd3d5eFl5dHlneDxZQ2lbUkBtUkRnYnRRc1FtaVxcSVhRY1JoXFxKcnRLWFxcUUpVSk9ddktdcDtRUFdBTXd5V0pta1RJbUxIc014TlF0TFFUeWZ5dnZkUEplbmlAdms8T2JeXXNveXZJeUxncGB4Y1lwX3lpXTtXXzp4ckt5aF0/Z2lOa05JZV1YXT1hdEBxW29Yd01GX05QdF5XeWZHcGBnbFpeZ2VXZ1VedHFgeU9YWl12eEA+YFp3YEBwdWFJZV15bW9mcGtYYmdReT5PdmlGaU5wYFd5ZmdpcEJgcl9Zc1F4Wk9eYXRRYEFuYmhpW1o/ZFdBXVRhbHVWc3ZZdmBwYHA/b1dBWmBXc1FYa292YkBvYmh2ZXhgeVpJcj1wc0F2a1hndFJOaGk/Wm5XZmJfdFF5dFVQdVJJbnBnaVxcWXk/UW1fcHNiVltfTmJleWxWPl1zeGA6dltwV2ZieVpkQGVaWGBNZ2dxP2ZkQVpRZnBlWWxLVl5AP3NHblxcbXF3VXhtRU5bRE5sQWF0TmF0WXh5dnl2eD5bWEZbVEdaYnFyak9cXE1mZ0pva1RJcTxBcWtXdmhpdXV4aGdRdW94bllwaVR5Wnl2Xk9JYz52d2l4aXdZX3N4YDp2bzx3YEBYZ0Bxcz5XdVc+bnBXal1OYGxOZFh2c1l4YWlZXW9YcHNHXkc/Y0pRWzp3YEBuckhmcFU+alJBdVJHaWZPZ2RPXmJnWmp2XFxuV2ZaX3dKV3E7P147cGVKP2RKaXJFeFxcQ05lO15bSGZ1Uj5ddV50SGlfXk5cXHZAaFtRWjtXXzpKUTx0QGhWXFxdd0pVUV1YUHdNeW5ZbGFeeFNRa2ReWmdAWlBgd0BBYGNhXj5wakBwWkVBXXVedGg/Wk5BYk9GcVNReW8/akJOZTs+V0tCO1dWQXFjU21yUklmcFVCWkNmXFxfSUQ9SWNpSW9XRnFxQjp1UF1tUlVMVz1QWEVheUE9b1d1WT5oaj9Ic114ck11WD5kbzpCRmtzW1lyQWd2QD1laFVibF10aHdsZkl4OmhtY1FWcHBPV01xPj10RDxScWxSOkxNdVRPP1BNclVxO1xccmltdGZIVUx1TkFUcWVAUTtVTzpkdVJscUFNdmNJVj1xakdlbXRkdEdZdnZNeEN5TlhQUHBlS0dkS3F5d1l5UDxNeGk8WE9xb3l1VGFIa1lRbj9Va3BoV1VxUFpxb1xcUVVncFlxaXVxdVF2QXg9WW1xdFdMXFxwPD1KPHVQQHVzcG1yYVVsSlxcdlRYWUR1VD51T19MVHFBc1NFc1tQT2RMT15hdXZxT3I9WXVIWlk/Y0I/a3ZuakF4anVeaWBYb2VYb2NIb0NPZ29Qd1BIdFh3W0dmW1dmYGRfdGV3b3dwYkpRWztAWldBXUBGYlRfbnRReXRpc1V4YFU+eFZxXFxoXmVyWGdRcV95eGp1QW9XQVpcXHlecXhiZGlvZFhyVEhqRXdjSXd0eT9lT1F3S1luQVdrbk52WEFyVEF0R0h2VG51WFBoUW9kUG9sSkBsWj91eXdlSGlvYkBvQnlxXFxfYV4+ZkVvbUdJa1tOX2RYZWBZW1k/eTxAYXBGb09Rc1tJZ05nZE9nY1JAYDtPdlB3XklwWlpPZE1BYnFuamt5d0tJd015blFhb1NXZlJZYE5QdmtoZkVxXFx5cW9OSWpxWHdfPmd3VmlwdUtJdFtBSE5TSGFzRkFddEhJZVRlY3JJYmNHdHRzRl9vR1ZTSXBdU2VhZV5XRT1BaE5pdE9pRl9jRlNbeV5jdkZjdnZjWXB3SXBLV3F5aWJDR2RZR2JlZXVzWGg/U1dvVGt3eXd5dXlpWXhheXNRdj5ZeUxJSWFzSltwUzxIVktldVJkT2dkT1F4T1ltdElwT0NVU0VVVW9QV089VVI9bWRxclpRUlNUbFRQbVRobkV1bHBhWXdQblxcUFJYZE5kRVVwYFdTQXNLWE5lbmREeW09cWpHVmhzP3JCYGxNRmdnVnVUUXVudl1jRnBLSWo9dlpWSHdcXGBtckZoXFxgWkk/b1dIbj1wZHNRa3ZOc3FgbWZZbztfeTphcVdBXUNIa0Nwc3FXZjpIYkpAZndmYG9mcGFgdD9vYkBPY0ZQXnFQeE95ZFlnY0NHY0tmbmNmX2dmc0hxc3BnZ3Zobm54bVxcZmhsP2xmYG9mRmdPZmRuWWRZd2VZcG1YcHdGUHVHZl10XmRIWWR4Z11vWGBoP3RkcHVPQGhAaV1ZRmtySWpZRmhsWF09cHlDV3hcXEF0QkhzV3Z0WF9pXklsQU9zRFFzbE5AQ1l4W1lyQVhLUW9WbExPZExDWVVIbXB5TE5mRXRLSXRsYVJUWFRrTWtkaVJzbU9bSWxtdFJtWVlqYVZTZXBlbE9obHVsaFZFcFVcXGBwWmhUR2BVdDxZakFubXlSVVBQX01zSXhZdm9dQ09acVlkamBwc0dhQnhdcmluVVZaRk93Tllpd2dlVVhdWEl1U0lndWFoVGZseFheS29tRUhzbW9pSz5mb150UE9zT0BtPmZnREdzY1l0YWhyb05vXUhjW1d5d3l3eXdhWkl1dFljcGFfZXBoWWZpbklsQmd1dGl4ZXlcXGY+RXdVa1diPE9iaHF1d1d3R1d4Pl15OkFJV0FFWkVFbmlzV2l4ZXl0X19DblFJX0lobE9oTE1rO2VNTV1KTE1uX2RzO01rU1hzR2lzT3VZRF1VT1lXdEF0WjxVUGV3eGB5X3lPVWF3XUBqdG12XWVVSnRrX1RTUGB4ZnFMcWlubElOeD10bWxSYHR4QGxQYUxZQlR5U3VyPl1TeW1VWG11WnBZSG1rcFF0RXVPY3h2R2VTR0VQa0RQVD1LX3RSTVFxQ2VVeFRVTnFzP1FMSnF1WHF3S1huP3RKQVRvOm1yUWhReTxrWTx3W3R4YE1UdlVwcj1tcFxcVz5Jamhxd2hFUHRRbXhEU2NMeV5ZbElddGFkdEJoc0BUUVF4X2Z2bWtvZjtoY3NOdWBoY1VgdG1xbFBwXFxHYXNjWG5vaHBvaFxcUG5cXFhJcW13YkRXbj1BeEVnYFZ5W2l3dk9ecnZYY3VAbFZgbWZxeVtgXkBvbEFZdXF4Z3VJcFdGYnZRWkdOaGk/dl5OZFhOYXVWYW9RZ3FYZ1FxX3NfdXZIaW1QbW8/YGRfdGJmeHRwaUBZbU5YX2tvZkNIa0NQZD5gYmVwbkdXbWBoY0dRZW5AZ0txckdYXXVnZ3ZmcHZCP1docj9pb0tFTFdJOnRKc2BOXFxAXlxcZ3NGSXNLYXR1UGhuRmE8QXNLVEFvaEJtc0ptc01jaG1RQ013RkltZFVHdGVPR0ZrVExbVGtLeExNd0hDeD1jWXZZU2hpQ0BTYz5vSVF5Z1l1dHVTaGtXVkFxWWpJckFLZltNRExjZFF3ZFlPSW9NR3I7SXI9dWpHVnRpV0dLdE1ZdEVNU0RNeURvZHBpd1V5dGVPdV9xdmBRc0thRkJTaXF1d1hfUlpFZEtHZGRpWEM7c25XZkNnWW5neGJhQ01XSE5RRHg9Z1d3YktXaWVzSD1ZRld5Y0lfSWxBYz5hR29jSG9rWVZPRUM/eVN1Q2x1V1pJRFxcV2ZdV1RNVVRvUXZeYVZZb3RteXN5c2dYP3dBc1ZEVWJjc1lkb2VDcVU9dVlvS0lXbUlac1VLeUZnUVNFVVNPWXhdc1JIP3V4eXlCRUVbQXdLWWY/Y0I/O2dXd1RiaWh1SXRfcXZYTXNNX0Jpa1ZzeXVLc0ldTVJoaUdKR3hYUXJKUVRUXXJxWWlqO2lZZURtb2JATFRUdHdWd2Y6eXNpaGV1cGhsYXZDUWNnUWtEUGtwXmdSQW55d2hiQXRbUG9KWGtlX3FyR3hcXFhiWndeRz9fdT9ecldbSXFoeU5jTmhfO1lzWndwb2didlFaVk5oaT92VW5ld2dYXXZhPVRkdVRYbVVoZ1ZXYVJkYXh3W3ZcXD9VPXFiR1N3Uz1ldVNJdXNWSXFlZ19jV11Zdl1peD1nYT9zVW1XaG13XXVjd2tGX2dVWFdJRlBOeWhuYGh2W15xPHhmdXhdT1hkVj5oVXdkPnlbQmlxO3h3S0BqY05fZE5jPj9zc3F2aEduV3BlWVF3b0d5YEdnS2dyRml1alheeU9hZnBwa2Z0SHdvQVdsbVBsbVd4dT9jYUd4T1hyQF9rUkZsUXhsYWhvRnF2SFFgV09nSldsbVlvX09eeEdaPEZxcT5gQk52blBvZVhvVU5dVF5tU0Bjaj5uSm54b1lcXD1oYU5gbUlYYWVBZF1wSHRQaF11d1hZcXFvV1VxcGF4TXlTdXhNdGRyPmFyQlVuYD11O1BPQnhtaT1OcV9rZj5pQFdhX3Z4X3hcXG9YaERmYHRueHZJeW1RY2dhdWY/bl1RdlxcYXJaeVpUZ3k7X3lCaXE7PmU6VmtlaGVmX2dmaHN4YHFHeGJIcF5nUW0+UXhgZl1iUGpyaVtETmhpP1piaG1TQGxqV2FiPl9CSWZmXm9FQWNCdmdtUHM6Z1xcPnljSUZxcT5aTnFzbmFjU1BgX1FyP1hbcHZjZmFeYXBaZGBsUHBsQGdiP0drbEldYXhhVEZ4VV5fXnF1Oj5kdVZva2ZpdGF4TXheSU9vd2hbV0luW0huW3d2SGltbGFmVXFwZ09lTnltS0hsO3B2U1BidkFzd0RiZ2U/SVQ9Y1RkT2dkX3VjTVQ/TXdgZ1NVb2RQb2RQT2VUT0dnXXg7WWJBU2VVV2VxcXdXWUdpa3hWd1JDa0JLc0lsdU9aPGpOcU9cXExOPG1NVVRNVWRtWVFucXhOXFxRd15Ia1ZpcXV1eGtZdkF5bGl0VWhMV3Fhc210c0J5bWRpb114UklQVExgeWhsWVxcdXVpdXV4aFl3UXlvWVhhcXNneXV5eFV5cUxzeFA6PHB4UHVDPUtpdGtkZFhhUXBrWE9lVE91TndPeWJYRmleX3NSSGBweGNxVm1ReGFxZmdUYV5nP29Bb25tT2pFTnZhaGtoRm9lWG9NWGleeHl2eG5waG9BPlpORUdTeGBpc3VDWWxhZkVZU2xPZ09vSE93RkJLS150a1lpeWh5WHldeF14TWN1T1RMV2E8TkVZa1llWG9lWHVVWXVAUWZ1SnFxVEo9VEpcXE1WXFxrdVVKOkByT1VxU1VwYGVtc1RYQFlOQVBRdj15amhzeGBSRWRSQXlQYlVuRU1QbVRQZVRPZVRXZVVXT2FNRGVLa2xYSW1Rc2F2SkluPWVscVhWc1VQOjxLVmVwVV1wYkV0cGhXVWF0UFFxaDxuYEh1V0VxbGVWbGF2Q3FQdUFMeGRXW2lzYHF2YGV3PTx2eExVaGlTR11LSlRUaHhLTV12RHlXVkFxa11zUk5eXFxOXnR5d1ZgZnNXYDo+Wz5ncEVGW0NGcHNIcFpYaHI/aXJhc1NYYE9gdENObU5Ja2dBdXV4aGlPZlxcT15DV2FxP3dldnhwZmZEdW11ZXVhZU1neU1fR2ltQjo7Z1dXd0VLSUVndHJJdUlxWXB3V1lxSW9jSWVbSG5bVFV5c1Flczo9c0l5c3FhdDxlRztXYlQ/RUpxdVhxVVdlVWd3ZVI7djthdVVLdkE7Qjs/Z3BNZ29VWVxcSWNhW2V2YWlSb2h0UXl0WXRhd1NleVRTQURAcWNXU0d4c1NZUUltQ3VISXNlSWdsdVdvY0hvS0dxcWZYdWRKW1JHYXdQQ1l1TXhDeUZ3d2h0QUdcXHlCOlNSPHN2WWVYUkNmWHljbUFFeWtZdnVzUWlSVXFjWGNJVEF0SkFmQD1WbE9YUnVJQD91XUNpcXN3Oz95OztmcG10Pk1lZ2NoUktjVHdGUXl5QWdyXl1UT2VUc1tDdllETnFIbUFHVnVncl1GcXF2QVF2Oz95O0JbPVR1c2NJSWVtc2ZhP3Y/aXI/SVRWXXhIO3VVSWlxW3JJO0JKVWk7VWZQV1JmVVdlUHVRaW4/dEteaVFnYVdAPHN3SE54PUo6UHVTcUpmdWteSFBUbXBmRXVxcXFxV2dQYW9TPnhlTnZRX3JSaW5faG5fPnVraFpYd1pgSHhtd0c+bnBncU1uXVhuaV5Bc0tGYGJmeWlWaWlIY1dxd1dZcT9Jb05nZE9nWkJxcHhubkhpcVNGZXZBZHg+Wk5xc2Fod0tPaGxPeHBoZ1VxZ1dRcU95a1RJYUJnbUdxbT1ZX2dmX29gdk9IcGpvd0dGeD0+ajppeHBPb1txbEBpdXNHb00/ZWBXW25AakdpcVtuaTo+ZmtzVktFTkNUbG9yQHFSa0NZSFlTV0dZW3N4YE1Xa1lSRUNCSlVJUUlldkNZbEVYa0VoP2dmSF91VWdWPnlDXTtFWnlYVjtUdXNoSm9oeG9ocG9URnVjWGlzbm9ocG9WXl1WXmtGYEtlS013QmlpW2tZOjtiVElJcHNCTGF4RVl2Z1l1cWdIb1dEbz9UV1Nlc0dpc29mSk9JbHVXQndFXFx5QjpPdUc7YlRzV1xcZ1dva2dDZVVjRVdjR0hBT2ZKV1k9W3JJO0JvV0VuZWVRc3JNP2VSP0doP1dbUXI/b2JPT0lsdVc6P3lTdWdbS0JOcWtFYVVIbVNISXBddXJYQVldaWt3VFlwYWpAcGpURFJkQXN3SEpcXHlKOlB1cz1takF4alFVdUx4dlhuXVhyaUxUQW1nWm5JS1dhaXV0c2deZ1ZVcWhndXlyeWN5QXdVT0lJbXdHO0R5O0JOcXNhZ1h4P2hqP0hvY0hPcXY+UUdJcVdQSVlsdVc6P3k7O252WWpMUFFLTW1cXFF2XFxFdFt0c1BJWWx1VzpAeTs8bnBtSkxQcW9UV1BhdXNYWEFdT1FYeW9tVV5UbFZZTVo+XFx5PmJnYWs8Z2I/Z2pCZ2VUT2VUUWtPVl9eeWNLUG5XVmFwP3FKd3ZfQWFcXEBoaXFxdXFvdFlgdl5hVnd5aGdkT2dcXHN4YDo7bHlbUHF0UFFbRE47dXFAbHZiSXRdaFdwYXRUdXlXVWtXZVVXZVNHZVNnaXdnaWtHaGtkaUxvWHBlPVdiPW90WXB2YHFWZXhJTW9EbVFhbXNWTHd2PE54PVtxeV9XPm5wb29CZ2VJaXZYeGJHUF1fdmtxbmdWQWhKV2FnT2Y6QF1yWGZBcWtjZ21NcGB1QXNDR2g+UF5NSF5bRl49aGhpX3RzP24/dm5cXD5aZHd2ZUdvbWhpdHBpUldlVVdtZ1l0S2leZ2ZfZ2ppdmtoRmxpZ29UZ3BkXl9mXmc8YWpDVlpISXNdcHM9PmRLTnlzeWA7ZnBtWWpOSV9QeU95RE5bRGJHdUJLYz5hcj5hZVZfZWpBeGp1eEFzU0x1djs7Z0I7YlR4cU5JS3l1eHF1WXF4WXlxWXFNeWFkcUt1dm9AUEpQUUk8a1lkTDs8VHV0WF9wU1JhVkFBdm9tTWtZSj55a0RASmJobWVRVEFlbUE8blxcPEpkdWpOSW1aUHJNdXY7RHhdUE46PWpkaG1TaW5IRHg9PHBkZVJacFRcXHBYWFRub2hwb1ROXVROa0RQS1FQTHVqcklKSkVMOkJEZWVUaWJ2c0hxc0hqbXRfX2ZIWUJSW2lcXDtIU3FDb1d4RF90U0NWUUtYZGFJOmNEOztUdVtmSE9JSTtSPz1CTkxUQWVtQWpfaXRoUHF0UFlSQXBbVUpoUU9oSHRTSXVzPE9jWFdiPVdyeFl5cXFwWFQ7ZFhYUFFJXFxUPkxPPExXYXlKXXB0TFF0bHBWR1FNd0BRV3VxeGVZckF4W1F3SWlqRXRMdFxcWT9dWGtwbmBwblFlVGVpeEVQeHNRa0RQS0thVD50a3R0S1pZcERAUkdFUmdxeUlwd2hxdzxQajxgb2ZgT3dQVldUUXBdT3VUUVVleWNMT29YV1Fxb0dZbXFUUV09dnRJeVxcQE9ZYHlDcW1lQGtZPGpxWE88VEpsRFR1cFViYG9mYGtJeGtReVNYPHVqSFY9bVVYbW1weW5iYGxCPFU8TVI8QWp1WExGPHk/RVlYXVROXXZGQFg8THZBPHZgZVI6XFx0aHl5W0x4bXF4VXlXZWl5U2VXZ2VvVFlYT1VOaGxPaHl2eXR5c3V5ZHV2RnlMX0lzUGhPVU1xdFBxanhYQnhNOmRMO2RwbWlNT2lkXVhuXWh4QHF3aGl1dXBwSXd4Vmd0bUd5bGl2eHlbX2F2UVZsTFBsZFF3ZFFpYE5aO1BhST5CO1R1c1dLUXRMUURYa0Vod1lfcXV3V1l3b1lsc0l5c3laSXI9Z3lWS3NDeUdIXWVyQ3hSSWhdPWdXY1hYO3J1ZUQ7SXlIYVNkS1JaP2dXaWV1c1hgdXNYZ2d5ZWZrR2hLaWg9RUlzaXJbV1JBb3dSSWg9VUVDUUJCd01JUXZKPW1jQEtiaHV5QU48WXBsZXZEdVV4UXY6WFJXPUprWUpaUE5aYk1DRVNDdz13R3BzSHFTRnVddHM9QmRcXHRIeVdiVUw9aU1CXVNGXXhMeUw7UFFJPFI/PVJnYVlHQXdLWW5nbXhPaVRuWW5ldHlneXV4aU94bFFYWWpZXXJSSVRhSTpbdEh5WF5tVmBNSXZPSG9Ib2tEUGt0cGhldUxhUmVYcXVYUXl0UXlRd09Zb3d5TURJc2lMa1ZMWF1Jb21BSlhNcmVocklQa1pNVm9YTXlsWXZpa1V0UFZcXG1QcXNXWFFFVVNFZXA/ZE9lVE9lZFJOZHBJYVhvZVhnTFVuQFddcXJHUFdJXFxKYXlxYkB3ZmF3ZklPa0BqcklKSj9ucG9lXl5fZl5veHBxWElmcFltQml0akhGZ1V1b1hjVVRrYXhlP1dka3hnWXVRWVRnYWVzUXZvWW9JQW1rVGp0TVJXeFJ2QWpEQExyZEw7eXlkdUxPZExPeGxReHRXaXVneFVIZXJgdXdQYHdldXhZeHJZdFl2cG5gcG5cXFBuXFx4dHFVeXNRblxcQXdLWW4/ZEo/XFxURkx3dkx2QVxcVD5AcmNAS3h5VHVETHNgbE5gTGt4WHhIdUJ4bnNIcXNMUXRMbT9NUGNYeEJ4TXJVSl10b0FkTVppTDtBTF1NUF1RdlxcUXBtWHA/YXZzPHV1cFliUXdkUU1wXFxXUlhLeWhUWG1VaEx2RGVtPl15SnRRamxTa1RuXFxcXEpEUHVDQHNfcG5gcHFtcXN1THlXYVV1eXJvaFZXWE9kTE8+VVRrbFg6QHk7XFxKVGVSakxzdlVxYXRtdk1QZlxcT2ZIbltIbnlhbFVwakVMVGF0SlFUUUJxcl9BanJJSj48Vj89UEphd2x1V2VBbE1QUUQ8anJJamU9VXJVTFFVS05daltcXExKPUppcHRzXWxJUFg8ZVJqTHJfRVJnQUpKdFE6VHdFeE1kdUo6QElNZVVXZUlzRXhbRVlzRVljRE9jck9BSGxlUjpldzo7RHk7WFd3VlhHWWB1YldrRz9HcmVLQmR1Qjo/eTt3YlNpaGV1VFZdTUBtclNMb1xcPG5wPUpCeE1yaFJgbVZgWGpxWFNJdVNpUG9kUHZEQU1kUE5aWmpBYFxcZmhGZ3dvTmU/P2JnPUNTc0VZc0tUYT1yRD9iVElCWmtZWklIREtDRFtVUkV3Q1tpS0VESlVBVEtheUx1aUpZdFQ+XFx0SFpabl5gbnZhdmFzSVtRSXJqaDxlP1tqQTxzRVlzXXVZT1ROPVB1Ozw+WHFeYXZeQVB1cHN5YEtSXVhLVVE6XFxySUR4bVVrQXFNdV1XV1Fxb11VQVxccVc8SlpsWVBtTmhsT2hJbEFtTVtRUVpwaDpGeG1QYG5JZlRQbmJRbnBDWmtZOndoPTtCOl15OkF1clNUUkFUdTtCOl5xVz5aOk52QT5vVz5aOkpdeUxwXFx0SDxKSnRROll1OzxKcmlUdmFsbElOeD12YF1XPlB1OzxKXFx5SnJVUTo8Sj55S0pVQUdSTndDa1lmPj9mcD1COj95O2t1SDtCOkN4PVNEXFxheWppVU5xQzo7TEJecVc+Oj5PPDpHeGlJR2R1SmI9T0t0UXZoPUZ4bV5ePVBlW29bb1haOj5idkF4cD86O0Z4PWdXO0I6S05rWVB4aVU6ZXc6PEpKdFF2aD07RHlTdms7dUc9REtVSTo7Qj55Q2k+WlpuaWJoXTo+OlRqWXVQTnE7P3lbaXc6O0I6Q3hta0U9Z0VcXE9iVElCOjtGeD1ZdTtCOjtSdkFUdWpTXFx5eWRSZ0FKOlJaP0l5W3RIO0I6Q1BgRHhtRVZCUEtkdUo6PFpFPltheWpUSVo6PmpvaXJJZnA9Plo6VmBDeG1ld3E8UHU7Wld4XWR3Wjo+WmBIXFx5dnRAQG9acGg6Qj5bYm1ZUmdBWnlWa1l4W054W29YOkhXPnlzX2VVPmV3Ojw6Omd4P1pGR194P29XSkp2eVl5XFxsWHNZPlo6PmVYeHFbUVxcOj5aOk5nQT46O2ZwPUo6PFR1PFo6Pm9XPjo7YlRCcmdzeVVibFlVW3dHYENDb2NCOjtCOjtSTEVkTUNkZT9EUj80Pg==</Image></Text-field><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">PDEtools[declare](prime=t,quiet):
# Constants
l := 1: eps := 1/100: h := 1/5: w := 10: l0 := 1/2:
M := 10: tau := Pi/5: r := 1/10:
# Aux. variables
s := eps^2*M/2:
ll := sqrt(xl(t)^2+yl(t)^2):
yb := r*sin(w*t): xb := sqrt(l^2-yb^2):
lr := sqrt((xr(t)-xb)^2+(yr(t)-yb)^2):

eqns := {
# Differential Equations:
   s*diff(xl(t),t,t)
     = (l0/ll-1)*xl(t)+lam1(t)*xb+2*lam2(t)*(xl(t)-xr(t)),
   s*diff(yl(t),t,t)
     = (l0/ll-1)*yl(t)+lam1(t)*yb+2*lam2(t)*(yl(t)-yr(t))-s,
   s*diff(xr(t),t,t)
     = (l0/lr-1)*(xr(t)-xb)      -2*lam2(t)*(xl(t)-xr(t)),
   s*diff(yr(t),t,t)
     = (l0/lr-1)*(yr(t)-yb)      -2*lam2(t)*(yl(t)-yr(t))-s,
# Algebraic Constraints:
   0 = xl(t)*xb+yl(t)*yb,
   0 = (xl(t)-xr(t))^2+(yl(t)-yr(t))^2-l^2 }:
# Initial conditions and problem variables
ics := { xl(0)=0, yl(0)=1/2, xr(0)=1, yr(0)=1/2, 
         D(xl)(0)=-1/2, D(yl)(0)=0, D(xr)(0)=-1/2, D(yr)(0)=0,
         lam1(0)=0, lam2(0)=0 }:
vars := [xl(t),yl(t),xr(t),yr(t),lam1(t),lam2(t)]:</Text-field></Input></Group><Text-field layout="Normal" style="Normal"><Font executable="false" size="8"> </Font></Text-field><Text-field layout="Normal" style="Normal"><Font executable="false">The problem type is detected automatically for problems with algebraic constraints:</Font></Text-field><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">sol := dsolve(eqns union ics, numeric);</Text-field></Input></Group><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">We can plot the physical variables in phase space:</Text-field><Text-field layout="Normal" style="Normal"/><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">plots[odeplot](sol,[xl(t),yl(t)],0..3,numpoints=1000);</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">plots[odeplot](sol,[xr(t),yr(t)],0..3,numpoints=1000);</Text-field></Input></Group><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">Also built into the interactive ODE analyzer.</Text-field><Text-field layout="Normal" style="Normal"/><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"/></Input></Group></Section><Section collapsed="true"><Title><Text-field layout="Heading 2" linespacing="0.0" style="Heading 2">Root Finding</Text-field></Title><Text-field layout="Normal" style="Text"/><Text-field layout="Normal" style="Text">New package for root finding problems beyond fsolve, Maple's standard 
numerical solver, e.g., finding all roots of a non-polynomial analytic function
or finding all isolated roots of a system of polynomial equations</Text-field><Text-field layout="Normal" style="Text"/><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">with(RootFinding): <Font foreground="[255,255,255]">unprotect('AXESLABELS'):</Font></Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">f := 1+2^(-z)+3^(-z)+5^(-z); <Font foreground="[255,255,255]">AXESLABELS:=()-&gt;NULL:</Font></Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">Analytic(f, z, re=-1..1, im=-100..100, plot);</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"/></Input></Group></Section><Section collapsed="true"><Title><Text-field layout="Heading 2" style="Heading 2">Code Generation*</Text-field></Title><Text-field layout="Normal" style="Text"/><Group><Input><Text-field prompt="&gt; " style="Maple Input">restart;
Exp := proc( x::numeric, n::integer ) local s, t, i;
	t := 1.0;
	s := t;
	for i to n do
          t := t*x/i;
          s := s+t;
     od;
     s;
end:
</Text-field></Input></Group><Group><Input><Text-field prompt="&gt; " style="Maple Input">CodeGeneration[C]( Exp );</Text-field></Input></Group><Group><Input><Text-field prompt="&gt; " style="Maple Input">CodeGeneration[Fortran]( Exp );</Text-field></Input></Group><Group><Input><Text-field prompt="&gt; " style="Maple Input">CodeGeneration[Java]( Exp);</Text-field></Input></Group><Group><Input><Text-field layout="Normal" style="Text"/><Text-field layout="Normal" style="Text">New:</Text-field><Text-field layout="Normal" style="Text"/><Text-field prompt="&gt; " style="Maple Input">CodeGeneration[VisualBasic]( Exp );</Text-field></Input></Group><Group><Input><Text-field prompt="&gt; " style="Maple Input">CodeGeneration[Matlab]( Exp );</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"/></Input></Group></Section><Section collapsed="true"><Title><Text-field layout="Heading 2" style="Heading 2">Nonlinear PDEs*</Text-field></Title><Group><Input><Text-field layout="Normal" style="Text">Soliton Example</Text-field></Input></Group><Group><Input><Text-field prompt="&gt; " style="Maple Input">eq := diff(u(x,t),t)+6*u(x,t)*diff(u(x,t),x)+diff(u(x,t),x,x,x);</Text-field></Input></Group><Group><Input><Text-field prompt="&gt; " style="Maple Input">ibc := {u(22, t) = 0, u(0, t) = 0, u(x, 0) = 12*(3+4*cosh(2*x-18)+cosh(4*x-12))
/(3*cosh(x+3)+cosh(3*x-15))^2, D[1](u)(0, t) = D[1](u)(22, t)};</Text-field></Input></Group><Group><Input><Text-field prompt="&gt; " style="Maple Input">sol := pdsolve(eq,ibc,numeric,spacestep=22/512,timestep=1/128):</Text-field></Input></Group><Group><Input><Text-field prompt="&gt; " style="Maple Input">sol[animate](t=0..1,frames=100);</Text-field></Input></Group><Group><Input><Text-field prompt="&gt; " style="Maple Input">sol[plot3d](t=0..1, grid=[65,65], style=PATCHNOGRID);</Text-field></Input></Group><Group><Input><Text-field prompt="&gt; " style="Maple Input"/></Input></Group></Section><Section collapsed="true"><Title><Text-field layout="Heading 2" style="Heading 2">Fast FFT*</Text-field></Title><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">with(DiscreteTransforms);</Text-field></Input></Group><Group><Input><Text-field layout="Normal" style="Text">New transform routines very fast, and implement specialized codes for radix 2,3,4,5,6,7,8,9, and 16, (as well as a standard code for prime radix). </Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">f := proc(n,x,y) local i:
   for i to n do
      x[i] := sin(i/10):
      y[i] := cos(i/10):
   end do:
end proc: </Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">n := 2^20;
X1 := Vector(n,datatype=float[8]):
Y1 := Vector(n,datatype=float[8]):
evalhf(f(n,var(X),var(Y))):</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">tt := time():
FourierTransform(X1,Y1):
time()-tt;</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">n := 3*5*2^12*19;
X2 := Vector(n,datatype=float[8]):
Y2 := Vector(n,datatype=float[8]):
evalhf(f(n,var(X),var(Y))):</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">tt := time():
FourierTransform(X2,Y2):
time()-tt;</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"/></Input></Group></Section><Section collapsed="true"><Title><Text-field layout="Heading 2" style="Heading 2">ArrayTools*</Text-field></Title><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">with(ArrayTools);</Text-field></Input></Group><Group><Input><Text-field layout="Normal" style="Text">ComplexAsFloat allows data type aliasing - useful for evalhf</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">M := Matrix(3,3,(i,j)-&gt;i-j*I,datatype=complex[8],order=C_order);</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">Mr := ComplexAsFloat(M);</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">M[1,1];</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">Mr[1,1] := 0:
M[1,1];</Text-field></Input></Group><Group><Input><Text-field layout="Normal" style="Text">Alias allows a reformat of the same data in a different structure</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">V := Vector[row](9,i-&gt;i);</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">Vm := Alias(V,[3,3],C_order);</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">Vm[3,3] := 0:
V[9];</Text-field></Input></Group></Section></Section><Section collapsed="true"><Title><Text-field layout="Heading 1" style="Heading 1">Symbolics</Text-field></Title><Section collapsed="true"><Title><Text-field layout="Heading 2" style="Heading 2">Differentiation</Text-field></Title><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">f := GAMMA(a,x);</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">df := diff(f,a);</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">convert(df,hypergeom);</Text-field></Input></Group></Section><Section collapsed="true"><Title><Text-field layout="Heading 2" linespacing="0.0" style="Heading 2">Integration</Text-field></Title><Text-field layout="Normal" style="Text"/><Text-field layout="Normal" style="Text">Improved handling of <Font foreground="[255,0,255]">unknown functions</Font></Text-field><Text-field layout="Normal" style="Text"/><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">f := diff(u(x),x)*exp(v(x))*ln(w(x))
    +u(x)*diff(v(x),x)*exp(v(x))*ln(w(x))
    +u(x)*exp(v(x))*diff(w(x),x)/w(x)
    +sin(x);</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">int(f,x);</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"/></Input></Group></Section><Section collapsed="true"><Title><Text-field layout="Heading 2" linespacing="0.0" style="Heading 2">Summation</Text-field></Title><Text-field layout="Normal" style="Text"/><Text-field firstindent="0.0" layout="Bullet Item" leftmargin="0.0" linebreak="space" rightmargin="0.0" style="Bullet Item"><Font executable="false">complete replacement of the top-level command </Font><Equation input-equation="sum" style="2D Math">NiNJJHN1bUc2JEkqcHJvdGVjdGVkR0YlSShfc3lzbGliRzYi</Equation></Text-field><Text-field firstindent="0.0" layout="Bullet Item" leftmargin="0.0" linebreak="space" rightmargin="0.0" style="Bullet Item"><Font executable="false">more powerful and returns nicer results</Font></Text-field><Text-field firstindent="0.0" layout="Bullet Item" leftmargin="0.0" linebreak="space" rightmargin="0.0" style="Bullet Item">extension mechanism for users to add their own summation code</Text-field><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">restart;</Text-field></Input></Group><Text-field layout="Normal" style="Text"/><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">Sum(Psi(x)^2,x) = sum(Psi(x)^2,x);</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">Sum(binomial(n,4*k),k=0..infinity) = simplify(sum(binomial(n,4*k),k=0..infinity)) assuming n::posint;</Text-field></Input></Group><Text-field layout="Normal" style="Text"/><Text-field firstindent="0.0" layout="Bullet Item" leftmargin="0.0" linebreak="space" rightmargin="0.0" style="Bullet Item"><Font executable="false">drastic efficiency improvement for rational functions</Font></Text-field><Text-field layout="Normal" style="Text"/><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">f := (x^2+2000*x+1001000)/((x+1001)*(x+1000)*x);</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">Sum(f,x) = sum(f,x);</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"/></Input></Group></Section><Section collapsed="true"><Title><Text-field layout="Heading 2" style="Heading 2">ODEs and PDEs</Text-field></Title><Text-field layout="Normal" style="Text"/><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">restart;</Text-field></Input></Group><Section collapsed="true"><Title><Text-field layout="Heading 3" style="Heading 3">ODEs</Text-field></Title><Text-field layout="Normal" style="Text"/><Text-field layout="Normal" style="Text"><Font foreground="[255,0,255]">Riccati</Font> type ODEs</Text-field><Text-field layout="Normal" style="Text"/><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">PDEtools[declare]((y,F,G)(x), prime=x);</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">diff(y(x),x) = G(x)*y(x)^2 - (diff(F(x),x)+2*G(x)*F(x)^2)/F(x)*y(x) + (2*F(x)*diff(F(x),x)+G(x)*F(x)^3)/F(x);</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">dsolve(%, y(x));</Text-field></Input></Group><Text-field layout="Normal" style="Text"/><Text-field layout="Normal" style="Text"><Font foreground="[255,0,255]">Heun</Font> type ODEs</Text-field><Text-field layout="Normal" style="Text"/><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">ode := 2*x*(x-1)*diff(y(x),x,x) +
       (2*x-1)*diff(y(x),x)+(mu*x+nu)*y(x) = 0;</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">dsolve(ode, y(x));</Text-field></Input></Group><Text-field layout="Normal" style="Text"/><Text-field layout="Normal" style="Text">2nd order ODEs admitting <Font foreground="[255,0,255]">hypergeometric</Font> solutions</Text-field><Text-field layout="Normal" style="Text"/><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" underline="false">diff(y(x),x,x) =
  -(x^2+1)/x/(x-1)/(x+1)*diff(y(x),x)+1/(x-1)/(x+1)*y(x);</Font></Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">dsolve(%);</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"/></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"/></Input></Group></Section><Section collapsed="true"><Title><Text-field layout="Heading 3" style="Heading 3">PDEs</Text-field></Title><Text-field layout="Normal" style="Text"/><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" underline="false">sys := [x*diff(diff(f(x,y,z),x),x)+(y+1)*diff(diff(f(x,y,z),x),y)+z*diff(diff(f(x,y,z),x),z), x*diff(diff(f(x,y,z),x),y)+(y+1)*diff(diff(f(x,y,z),y),y)+z*diff(diff(f(x,y,z),y),z), x*diff(diff(f(x,y,z),x),z)+(y+1)*diff(diff(f(x,y,z),y),z)+z*diff(diff(f(x,y,z),z),z)]:</Font></Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" underline="false">pdsolve(%);</Font></Text-field></Input></Group></Section></Section><Section collapsed="true"><Title><Text-field layout="Heading 2" linespacing="0.0" style="Heading 2"><Font italic="true">Mathieu Functions*</Font></Text-field></Title><Text-field layout="Normal" style="Text"/><Group><Input><Text-field layout="Normal" style="Text">Solutions of the differential equation</Text-field><Text-field layout="Normal" style="Text"/><Text-field layout="Normal" prompt="&gt; " style="Maple Input">restart;
DE := diff(y(x),x,x)+(a-2*q*cos(2*x))*y(x) = 0;</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">Diff(MathieuC(a,q,x),x,x) = diff(MathieuC(a,q,x),x,x);
Diff(MathieuS(a,q,x),x,x) = diff(MathieuS(a,q,x),x,x);</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">MathieuC(a,0,x),MathieuS(a,0,x);</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">MathieuCE(n,q,x) = MathieuCE(n,q,0)*MathieuC(MathieuA(n,q),q,x);
MathieuSE(n,q,x) = MathieuSEPrime(n,q,0)*MathieuS(MathieuB(n,q),q,x);</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">MathieuCE(n,q,x+2*Pi),MathieuSE(n,q,x+2*Pi);</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">series(MathieuA(1,q),q);
series(MathieuCE(1,q,x),q,3);</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" underline="false">plot([seq(MathieuSE(n,1,z), n=1..4)], z=0..Pi,
  title="Odd periodic Mathieu functions, q=1",
  legend = [seq(se||n, n=1..4)]);</Font></Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"/></Input></Group></Section></Section><Section collapsed="true"><Title><Text-field layout="Heading 1" style="Heading 1">Graphics</Text-field></Title><Section collapsed="true"><Title><Text-field layout="Heading 2" style="Heading 2">New animation command for All Plots*</Text-field></Title><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">restart; with(plots): setoptions(thickness=2):</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">f := y^2=x^3-x;</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">implicitplot( f, x=-2..2, y=-2..2, grid=[50,50] );</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">f := y^2=x*(x^2-D);</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">animate( implicitplot, [ f, x=-2..2, y=-2..2, grid=[50,50] ],             D=-1..1, frames=50 );</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"/></Input></Group></Section><Section collapsed="true"><Title><Text-field layout="Heading 2" linespacing="0.0" style="Heading 2">Plot Builder and Rotate, Pan, Zoom</Text-field></Title><Text-field layout="Normal" style="Text"/><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">sin(x+2*y)*exp(-(x^2+y^2)/2);</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"/></Input></Group><Group><Input><Text-field layout="Normal" style="Text"> Context menu interactive plot builder
 3D plot controls: <Font bold="true" foreground="[51,153,0]">rotation</Font>, <Font bold="true" foreground="[204,0,204]">scaling</Font><Font foreground="[255,0,255]"> </Font>and<Font foreground="[255,0,255]"> </Font><Font bold="true" foreground="[204,0,204]">panning</Font></Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"/></Input></Group><Text-field layout="Normal" style="Text"/></Section><Section collapsed="true"><Title><Text-field layout="Heading 2" style="Heading 2">Transparency option*</Text-field></Title><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">restart; with(plots):
f := 1-y^2-exp(y)*x^2-1/2*x^2;</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">p := plot3d( f, x=-1..1, y=-1..1, style=patchcontour ):
T := plot3d( 1, x=-1..1, y=-1..1, color=red ):
display({p,T},axes=box);</Text-field></Input></Group><Group><Input><Text-field layout="Normal" style="Text">   transparency=0.5</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"/></Input></Group></Section></Section><Section collapsed="true"><Title><Text-field layout="Heading 1" style="Heading 1">Programing</Text-field></Title><Group><Input><Text-field layout="Normal" style="Text"/><Text-field layout="Normal" style="Text"><Font background="[255,255,51]" bold="true" foreground="[204,0,204]" opaque="true">"I like to program in Fortran.  God programs in Fortran."</Font><Font bold="true" foreground="[0,102,0]">  David Collinette, 2004.                   </Font></Text-field></Input></Group><Section collapsed="true"><Title><Text-field layout="Heading 2" style="Heading 2">OpenMaple*</Text-field></Title><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">?OpenMaple</Text-field></Input></Group><Group><Input><Text-field layout="Normal" style="Text">An interface that allows C (and now Java and Visual Basic) programs to call Maple</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">?OpenMaple,Java</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"/></Input></Group></Section><Section collapsed="true"><Title><Text-field layout="Heading 2" linespacing="0.0" style="Heading 2">Mathematica Translator</Text-field></Title><Group><Input><Text-field layout="Normal" style="Text">
For formulae and commands but not programs.</Text-field></Input></Group><Text-field layout="Normal" style="Text"/><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">MmaTranslator:-FromMma("Exp[x] EllipticPi[a,z,b]");</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">MmaTranslator:-FromMma("Integrate[Cos[x],{x,0,1}]");</Text-field></Input></Group><Text-field layout="Normal" style="Text"/><Text-field layout="Normal" style="Text">Open Mathematica Notebooks</Text-field><Text-field layout="Normal" style="Text"/><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"/></Input></Group></Section><Section collapsed="true"><Title><Text-field layout="Heading 2" linespacing="0.0" style="Heading 2">Unwith</Text-field></Title><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">with(linalg): Unwith(linalg):</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"/></Input></Group></Section><Section collapsed="true"><Title><Text-field layout="Heading 2" linespacing="0.0" style="Heading 2">Overloading</Text-field></Title><Section><Title><Text-field layout="Heading 3" style="Heading 3">Global Overloading</Text-field></Title><Group><Input><Text-field layout="Normal" style="Text"/><Text-field layout="Normal" prompt="&gt; " style="Maple Input">mod5 := module() option package;
export `+`,`*`,expand,factor;
   `+` := proc(x,y) option <Font foreground="[255,0,255]">overload</Font>; 
      modp(:-`+`(x,y),5);
   end proc:
   `*` := proc(x,y) option <Font foreground="[255,0,255]">overload</Font>; 
      modp(:-`*`(x,y),5); 
   end proc:
   expand := proc() option <Font foreground="[255,0,255]">overload</Font>; 
      modp(Expand(args),5); 
   end proc: 
   factor := proc() option <Font foreground="[255,0,255]">overload</Font>; 
      modp(Factor(args),5);
   end proc: 
end module;</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">with(mod5);</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">3+23*8;</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">expand((x-1)^5) = factor(x^5-1);</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">unwith(mod5);</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">3+23*8;</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">expand((x-1)^5) &lt;&gt; factor(x^5-1);</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"/></Input></Group></Section><Section><Title><Text-field layout="Heading 3" style="Heading 3">Type Based Overloading</Text-field></Title><Group><Input><Text-field layout="Normal" style="Text"/><Text-field layout="Normal" prompt="&gt; " style="Maple Input">StringOperations := module() option package;
   export `+`;
   `+` := proc(x::<Font foreground="[255,0,255]">string</Font>,y::<Font foreground="[255,0,255]">string</Font>) option overload;
      cat(x,y)
   end proc:
end module;</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">with(StringOperations);</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">"2"+"b"+"3";</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">2+b+3;</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">unwith(StringOperations);</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">"2"+"b"+"3";</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"/></Input></Group></Section></Section><Section collapsed="true"><Title><Text-field layout="Heading 2" style="Heading 2">Iterators</Text-field></Title><Group><Input><Text-field layout="Normal" style="Text">You can now iterate over the  entries of objects of type array, table, vector, matrix, rtable, Array, Vector, Matrix as well as list, set, and using the in syntax. </Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">B := Vector([x,1-x,1+x] );</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">for p in B do p od;</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">mul( p, p in B );</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"/></Input></Group></Section></Section><Section collapsed="true"><Title><Text-field layout="Heading 1" style="Heading 1">The GUI</Text-field></Title><Section collapsed="true"><Title><Text-field layout="Heading 2" linespacing="0.0" style="Heading 2">Context Menus</Text-field></Title><Text-field layout="Normal" style="Normal"/><Text-field firstindent="0.0" layout="Bullet Item" leftmargin="0.0" linebreak="space" rightmargin="0.0" style="Bullet Item"><Font executable="false">New package </Font><Equation input-equation="ContextMenu" style="2D Math">NiNJLENvbnRleHRNZW51RzYi</Equation><Font executable="false"> supercedes </Font><Equation input-equation="context" style="2D Math">NiNJKGNvbnRleHRHNiI=</Equation></Text-field><Text-field firstindent="0.0" layout="Bullet Item" leftmargin="0.0" linebreak="space" rightmargin="0.0" style="Bullet Item">Support for creating new context menus and modifying and adding to existing ones on the fly</Text-field><Text-field layout="Normal" style="Text"/><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">sin(A-2*B);</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"/></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">ContextMenu:-CurrentContext:-Entries:-Add(
  "Combine", "combine(%EXPR)", 'algebraic'):</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"/></Input></Group><Text-field layout="Normal" style="Text"/><Text-field layout="Normal" style="Text">save and restore: ContextMenu:-Save, ContextMenu:-Install</Text-field><Text-field layout="Normal" style="Text"/><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"/></Input></Group></Section><Section collapsed="true"><Title><Text-field layout="Heading 2" style="Heading 2">Elision</Text-field></Title><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">interface(elisionthreshold=100);
interface(elisiondigitsbefore=5,elisiondigitsafter=3);</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">1000!;</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">interface(termelisionthreshold=50);
interface(elisiontermsbefore=3,elisiontermsafter=1);</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">sort(euler(150,x),x);</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"/></Input></Group></Section><Section collapsed="true"><Title><Text-field layout="Heading 2" linespacing="0.0" style="Heading 2">Automatic command completion</Text-field></Title><Text-field layout="Normal" style="Text"/><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">Linear</Text-field></Input></Group><Text-field layout="Normal" style="Text"/><Text-field layout="Normal" style="Text">Type LinearA and hit tab.
Facility also works for user-defined functions and packages</Text-field><Text-field layout="Normal" style="Text"/></Section><Section collapsed="true"><Title><Text-field layout="Heading 2" style="Heading 2">Spell check with correction</Text-field></Title><Group><Input><Text-field layout="Normal" style="Text">Open the tools menu and select Spellcheck ...</Text-field></Input></Group></Section><Section><Title><Text-field layout="Heading 2" style="Heading 2"><Font background="[255,255,0]" foreground="[51,0,204]" opaque="true">Highlighting</Font></Text-field></Title></Section><Section collapsed="true"><Title><Text-field layout="Heading 2" style="Heading 2">Sketch region*</Text-field></Title><Group><Input><Text-field alignment="centred"><Ink encoding="binary" grid-x="true" grid-y="false" height="576" width="776"><Stroke color="[0,0,255]" height="3" mode="0" width="3">cWRHZUNFZVNIdXRQZ2NHU2NHYVNRcWRHckd1dFBnc0dTc0dhU1FxPFhtaGg/XFxtUnBvZ1Q9VG1oaE9VUkhbU1FxZEdCR3V0UGc7a1NRcWRHRmBqVmBXV0VqVnBvZ1prXmBXV0ViRltTUXE8ZmBXV2VwWm1OYFdXZXA6Z1NRcTxMbVNwb2c6aVNRcTxQbVJwb2c6aVNRcTxUbVJwb2c+YWZGYHBeYFdXRUpWcG9nWnFWYFc7XFxNUnBvZzpnU1Fac1ZgV1dFSlZwP05gal5gV1dFUkZbU1FxPGZgV1dFaUtTQG1WcG9nWmxeYFdXRXJGW1NRcTxuYFc7TE1ScG9nbkBfQ0dhU1E6aVNRZkBfU0dbU1FxPG5gV1dFY0NFX1NHbVNRWnBeYFc7WE1ScG9nOmNTUXE8XFxtUnA/alRwb2dWYGZOYHNOYFdXRWpWcG9nalM8bVRwb2daa0ZgV1dFSlVwb2dabD5gV0tUVmBsbmBXV0VyRl1TUXE8dmBXV0VCR19TUXE8dmBXa1NSR1tTUTplU1FxPEZhV0tTbGxTVE1TcG9nOmdTUXE8WG1TcD9dQ0VhQ0hbU1E6aVNRcUxSbGxTYG1ScG9nUG1WbGxTYE1WcF9vSlQ8TVNwb2dQPUZhV1NHUkZhU1FxVEdqVXBvZ1BNVmxMVERNU3BvZzpnU1FQPUhNUnBfbzpnU1Fabk5gV2tVbExUTG1VcD9SR19TUXE8PmFXV0ViR2FTUTptU1FxPFhtVHBvZ1A9XFxNUnA/SlRwb2dQPT5hV1dFUkhjU1E+QWBtVXBvZ0ZBZUNGYVNROm1TUVQ9ZVNGX1NRcWRHalVwX3BOQGVjRltTUVQ9XmBXY0dKVnBvZ1RtU2ZgbUZgV2NHZ2tURG1VcG9nOmVTUTE6</Stroke><Stroke color="[0,0,255]" height="3" mode="0" width="3">cXRGXUNFY3NHbVNRcXRGZUNFY3NHalZsTFRYPUxtU2xMVFhtVXBvZ0xNVWxMVFhNVXBvZ1BtU2xMVGZgV1dlbz5hZl5gcVpwVmBmXkByR1tDRWNzR2NTUXF0R2lDRWNzR0JIYUNFYztgTVJsTFQ6a0NFYztATVJQTVBMXW9qUkBNU2xMVFg9QkhTQ0dabGZgZl5AalNATVBiR0ZAZ0NFYzteYG1eP1g9XWtWbExUOmVTR1NDR1pwTmBmXkBac15fbjpYbVRsTFQ6a2NGU0NHOm1DRWM7RmFuXl9udkBOYGpGYGZeQFpyXl9uOkBNVGxMVDpfU0ZTQ0c6aUNFYztWYG1eX246TE1SbExUPmFXV2VsckdTQ0dab05gZl5AWnNeX246VG1UbExUOmlTRlNDR2A9X2tVbDxKVkRNUDo+YWZeQGpWRE1QTD1KVWxMVFptPmBqXl9uPmFqZmVVV0BjQ0VjQ0hac15fbj5BUkZhQ0VjQ0hac15fbjpEbVNsTFQ6YE1QTD1yRmFDRTpcXE1QTE1WWm5OYGZeYHI6XFxNUEw9UkdfQ0U6YE1QOlRtU2w8alU8TVA6dmBmQkhKVkxNUEw9SlZsPGpWUE1QTE1WQG1oaG9TRmFmXkBCR1tzRlNDRzprQ0VOYFdXZW5GYGxePzpnQ0VjQ0hKU0hNUHJGdXRQY2tVbDxqU0xNUEw9QkdbQ0VeYFdXZW5iR1M7UkdbQ0VjO2JHU0NHWnBOYGY6ckdTQ0dacVZgZl5AWnJeX246XFxNU2w8WnJeP1pzXmBmOlBNUjxNUDpuYGZeQGpSQE1QTE1WOmtDRTpfQ0dTQ0c6a0NFY2tTUkdhY0ZTQ0c6Z0NFOmNDRlM7alRsTFROYFdTR2BNUDpQTVVsPF1bb25ga15fbjo+YWZeQFtbb3ZgbV4/Om1DRWM7PmFtXj86a0NFWD1QbVZETVB2QEpWbDxiR1tzRlNrVVxcbWhuQG1DRVg9RmBtXj9YPWdjRltDRWNzR1pwXl9udkBqVmw8Z1twVmBvXj9pO0xNUmw8Wm9eP1pvPmBmOkJHU0NHaTs+YWY6bmBsXj86aUNFWD12YGteP2k7ZmBmOlJIUztCSGNDRTpcXE1QOmBtU2xMVDpYTVBMPXZgak5gZl5AWnBePzptQ0V2QFhtUkhNUDp2YGZeQEpTPE1QQkh2QGNDRTpYTVBSSHZAZ0NFXFw9MTo=</Stroke><Stroke color="[0,0,0]" height="3" mode="0" width="3">cXRGaUNFY2NGa1NRcURHXUNFY2NGalRsTFREPVBtUmxMVDppQ0VjO1RtUmxMVDplQ0Vja1Zwb2dYbVJsTFQ6ZUNFYztcXE1SbExURD1uYGZeYGxacz5gZl5AalVsTFRaaz5ga15fbjpmYGZeQGpSPE1QTD1KVGxMVEQ9TmBrXl9uOj5hZl5gbDphc0ZTQ0dfQ0hGQGtDRWM7XmBsXl9uTkBKVWxMVHZgV1dla2Zga14/VG1oaG9SbmBmXkBac15fbk5gb2ZlVUdgcGZgZjp2YGpeX25yRnV0UF1rVGw8X1NRcVRGa0NGU1trZmVVR0BhQ0VjS1Jwb2dAXXJeX25GYHNmZVVTSGFDRWNTRmtTUXFcXHBeX25GYHFmZVVrVmxMVEBNVXBvZ0RNUkhNUEw9SlVsTFReYFdXZWxSSFNDR0htaGhPU0BtVGxMVEBNU3BvZ0Rdcl5fbkJGdXRQX2NGX0NFY0NGbVNRcWRGXFxNUD5gcmZlVU9gbUZgZl5gam5gV1dFTE1QTE1SUG1oaE9TRmFmXmBqXmBXV0VjY0ZTW2xmZVVrVmxMVEZgV1dlbGZgbl5fbUZhcmZlVWtWbGxTYE1VcG9nbmBsXl9tRmFvZmVVa1ZsbFNWYFdXRWlDR1NzRkBtaGg/aUNFYVNIW1NRcUxWQE1QSE1WXFxtaGg/Z0NFYUNIZ1NRcVxcc15fbT5hbmZlVVNIX0NFYUNIYVNRcVxccV5fbT5hamZlVVdgak5gZlZgcXZgV1dlbXJHU3NGaVNHdXRQYVNGW0NFYXNHYVNRcXRGTE1QSG1VPG1oaD9rQ0VhY0dtU1FxdEZfc0ZTc0ZnY0d1dFBha1VsbFNUbVNwb2dWYGteX21uYGpmZVVLVWxsU1BtVXBvZ1JIU3NGZVNHdXRQTE1TbGxTUE1TcG9nSF1vXl9tZmBrZmVVV0BpQ0VhQ0drU1FxdEZlQ0ZTc0Zjc0d1dFBWYGZWYG5eYFdXZW1iR1NzRmNzRnV0UFRNU2xcXG0+YVdXRVBNUEhtU1RtaGg/bUNFSE1UcG9ndmBsXl9tUkZ1dFBuYGZWYGw+YVdbc15fbU5gcGZFXFxtU2xsU0RtU3A/VE1QUkZ1XFxzPmBmVmBrPmFXW21eX21GYHBmRW5gZlZga15gV0NHW0NGU3NGQG1oaE9UVmBmVmBqRmFXQ0dYTVA+YHBmRWNTRltDRTxNVHA/TE1QPmBsZkVjS1ZsTFNgbVZwb2dOYGxeX2xGYXBmRW5gZk5gc1ZgV0NHYUNGU2NGbVNGdTxhQ0VfQ0hrU1FMXXJeX2w+YW9mZVVfYG5GYGZOYHJWYFdbb15fbD5ha2ZlVUtWbExTPmBXQ0dlQ0ZTY0Zpc0d1TFReYGZOYHFuYFdXRVxcTVBEbVVEbWhoX3BWYGZOYHA+YVdXRVxcTVBETVVIbWhyR11DRV9jR11TUXFcXG9eX2xmYHBmZVVLVmxMU1BNVHBvZz5ha15fbGZgamZlVUtUbExTTG1WcG9nYkdTY0ZjY0d1dFBGYWZOYG5WYFdrVkRNUERNVDxtaGg/ZUNFX3NGZ1NRUkhTY0Zhc0Z1dFBlQ0ZfQ0Vfc0ZbU1FxVEdQTVBETVNUbWhmQGtDRV9jRl9TUVBtUkBNUERNUzxtaGpTbExTQG1VcF9vYkdTY0Zdc0Z1PG1DRV9TRltTUU5gbF4/W2NHdTxlQ0VfQ0ZfU1FSSFNTRm1TSHVsVEhNU2xsUmBtVHBfb1JHU1NGbXNGdTxrQ0VdQ0htU1FxTFRETVBATVZQbWhqU2xsUlxcTVNwb2diR1NTRmlDSHV0UGVrVmxsUlhtVHA/ZVNGU1NGaWNGdTxjQ0VdY0dtU1FyR1NTRmdTR3V0UFRNUmxsUlRNUnA/TE1QQG1UVG1oSlVsbFJQbVNwb2d2YGpeX2teYHFmRV5gZkZgbk5gV1dFVE1QQG1TXFxtaEJIW0NFXXNGY1NRUF1tXl9rVmBrZkVla1VsbFJEbVVwP21TRlNTRl9TRnU8ZUNFXVNGa1NRQkhTU0ZdQ0d1TFU8TVNsbFI8bVZwX3BCR1NTRltjR3VMVT5hZkZgak5gV2NHXWNGU1NIZ1NRUkdTU0hfU1FxXFxzXl9yPmFXY0dfc0ZTQ0hjU1FCR1NDSF1TUVRdcl5fcXZgV2NHYVNGU3NHY1NRcVxcbV5fcUZgV1dFVE1QVG1VcG9nUkhTY0djU1FxTFRATVBUTVJwX3BCR1NTR2lTUWJHU1NHYVNRVF1yXl9vRmBXMzs=</Stroke><Stroke color="[0,0,0]" height="3" mode="0" width="3">cWRGXXNGU0NHXUNGdXRQX1NGY0NFY1NGYVNRcWRGWnFmZVVPQGJGXVNRcWRGWm9mZVVPQGpWcG9nRD1WYG1mZVU7dmBXV0VQTVBMTVQ8bWhoP0pUcG9nRF1wXl9uXmBxZmVVO1BtUnBvZ3JHU0NHZUNHdXRQOmtTUXFkRkpVRG1oaE9TOmdTUXFkRmpVPG1oaD9nW3FWYFdXRVA9aWNHdXRQOmlTUTE6</Stroke><Stroke color="[0,0,0]" height="3" mode="0" width="3">cWRGX1NGU1NHXVNHdXRQX1NGbUNFZVNGa1NRcWRGWE1QUE1TQG1oaE9TZmBmZmBsXmBXV2VsQkdTU0dfc0d1dFBfS1NsbFRITVJwb2dETVJgTVBQbVNIbWhoT1N2YGZmYG1mYFczOw==</Stroke><Stroke color="[0,0,0]" height="3" mode="0" width="3">cWRGW2NHU1NHXXNHdXRQX0NGa0NFZWNGW1NRcWRGXUNGU1NHX0NHdXRQX0tTbGxURG1VcG9nUkdTU0dhQ0Z1dFA+YWZmYG1OYFdXZWxOYGpeX29WYG9mZVVPQF9DRWVzRmtTUXFkRkxNUFBNVEBtaGhPU2ZgZmZgbjU6</Stroke><Stroke color="[0,0,0]" height="3" mode="0" width="3">cWRGYVNGU1NHYWNGdXRQX3NGW0NFZXNGZVNRcWRGWnNmZVVPQF1bbk5gV1dFUE1QUE1UOmlDRWVzRlpyXl9vVmBwZmVVT0BpO2FTUXFkRkxNUFBtU0Q9RkBIPTE6</Stroke><Stroke color="[0,0,0]" height="3" mode="0" width="3">cXRGaUNIU3NGYUNGdXRQYXNHSlRwb2dIXXNeX21WYHFmZVVXQEJHXVNRcXRGa0NGU3NGY2NHdXRQYTtQTVJwb2c6TG1oaD9dQ0VhU0dpU1FxPG5gbGZlVVdAalVwb2c6aVNGdXRQOmVTUXF0RkpWPG1oaD9KVHBvZzpcXG1oaG9TWnNOYFdXRVpxZmVVO2NDRl1TUXE8Ukd1dFA+YGZeYGpGYVdXZW06XXNGdXRQYTt2YFdXRUpTQG1oaF9xSlRETVRwb2c6XFxtaGg/ckZfU1FxPGJHdXRQWm4+YFdXRVpuZmVVOz5hV1dFalREbWhoP0pVcG9nOmdDRnV0UDpjU1FxPEJIdXRQWnFOYFdXRVpwZmVVOz5hVzM7</Stroke><Stroke color="[0,0,0]" height="3" mode="0" width="3">cWRGXUNHU0NHXWNGdXRQX1NGW0NFY1NGSlJUTVBMbVI6YUNFY1NGXVNRcVRGbVNIU0NHXTtmYGZeYGs6QE1QTG1SWnJ2YGZeYGs6SE1QTD1KUmxMVD5gV1dla3Zgb15fbjo+YGZeQEpVWE1QTE1SYG1oaG9SVmBmXmBqOmVTSFNDR1s7XmBmXmBqOjxNUExNUlpubmBmXmBqOkRNUExNUlptPmFmXmBqOkxNUEw9SlJsTFQ6X3NHU0NHXTtOYGZeYGs6XUNIU0NHXTteYGZSRlpqXj9dOzxNVWxcXGs6SE1QRmBralZgTVBGQFJHUztSRlM7PmFxXj9abV4/alVcXE1QTD1CR1NDR1prXl9uQkZuYHFeP1ptXj9abF5fbjY6</Stroke><Stroke color="[0,0,0]" height="3" mode="0" width="3">cVRGX0NFYVNIYVNRcVRGY0NFYVNIZ1NRcVRGZ0NFYVNIbVNRcVRGa0NFY0NGX1NRcVRGbUNFY0NGZVNRcWRGX0NFY0NGaVNRcWRGOjE6</Stroke><Stroke color="[0,0,0]" height="3" mode="0" width="3">cWRGaUNFYVNIZVNRcWRGZ0NFYVNIbVNRcWRGYUNFY0NGY1NRcWRGW0NFY0NGa1NRcVRGbUNFY1NGXVNRcVRGaUNFY1NGY1NRcVRGZ0NFY1NGaVNRcVRGZUNFY1NGMzo=</Stroke><Stroke color="[0,0,0]" height="3" mode="0" width="3">cWRGZ0NFY1NGXVNRcWRGZUNFY1NGY1NRcWRGY0NFY1NGaVNRcWRGZVtsPmBXV2VsRmFmXmBsWm1OYGZeYGtGYVdXZW1WYGZeYGtuYFdXZW1eYGZeQGFTUXF0Rl1DRWNTRl07a0NFY1NGW1NRcWRGalIzOg==</Stroke><Stroke color="[255,0,0]" height="5" mode="0" width="5">cVRGY2NGU0NHY0NHdXRQXUNHZ0NFY0NHalQ8TVBMTVQ6YUNFY0NHYVNRcVRGVE1QTF1sZmVVR0BtQ0VjQ0ddU1FxVEZQTVBMTVQ6XUNFY0NHWm9qU2BtaGhvUj5hZl5gbT5hV1dla25ga15fblZgcWZlVUdAY0NFY3NGZ1NRcVRGWE1QTG1TUG1oaG9SWE1SbExUSG1TcG9nckZTQ0dhY0Z1dFBuYGZeYG1GYFdXRWBNUExtUzxtaGhvUlxcTVNsTFRETVZwb2dSR1NDR19zR3V0UD5hZl5gbG5gV1dFbVNGU0NHX1NHdXRQXmBmXmBsXmBXV0VcXE1QTD1OYGpGYGZeQGFTUXFkRkxNUExdbGZlVU9AaUNFY2NGXVNRcWRGXUNGU0NHX0NGdXRQX2tTbExUQE1WcG9nRF1wXl9uRmBwZmVVT0BtQ0VjU0ZlU1FxZEZfY0ZTQ0ddc0Z1dFBmYGZeYGtGYFdXRVxcTVBMbVI8bWhoX21GYGZeYGo+YVdXRUxNUExNUlhtaGhPU3ZgZl5gam5gV1dFY0NGU0NHW1NHdXRQVmBmXmBqXmBXV0VUTVA+YG1mZVVTR1tDRTpITVBiRnV0UHZgZl5AXVNRcUxVPE1QTF1qZmVVS1RsbFNgbVZwb2dEXXJeX21GQXJHXUNFYVNIa1NRcVxcbl5fbXJHdXRQdmBmVmBzbmBXV0VrQ0ZTc0ZtU0d1dFBWYGZWYHNeYFdXRVRNUEhtVkRtaGg/bUNFYVNIXVNRcWxWRE1QSG1WPG1oaD9lQ0VhQ0htU1FxXFxyXl9tPmFyZmVVV2BqRmBmVmBydmBXV2VtQkdTc0ZrY0d1dFBha1VsbFNcXG1UcG9nSG1SPE1QSE1WTG1oaG9TVmBmVmByVmBXV2VtYkdTc0ZrY0Z1dFBha1ZsbFNcXE1ScG9nSE1TSE1QSG1VYG1oaG9TdmBmVmBxPmFXV0VhQ0ZTc0Zpc0d1dFBWYGZWQGdTUXFcXHBeX212YG9mZVVrVmxsU1hNVHBvZ15gbF5fbXZgbWZlVWtUbGxTWE1TcG9nQkhTc0ZpQ0Z1dFBQbVJsbFNUbVZwb2dCR1NzRmdDSHV0UHZgZlZgcHZgV1dFZ0NGU3NGZ1NHdXRQXmBmSlRwb2dyR1NzRkhtaGhfcT5gZlZAX1NRcVxcbV5fbW5ga2ZlVVdAZ0NFYWNHW1NRcVxcc15fbWZgc2ZlVUNIX0NFYVNHa1NRcVxcb15fbWZgcWZlVUtWbGxTUE1VcG9nRmFrXl9tZmBvZmVVS1RsbFNQTVRwb2dSSFNzRkRtaGhPVDxtU2xsU1BNUnBvZ0xdcF5fbV5gc2ZlVV9AbUNFYUNHa1NRcURHXWNGU3NGY3NHdXRQY2tUbGxTTG1UcG9nTF1yXl9tXmBuZkVjY0ZdQ0VhQ0dhU1FMXW9eX21iRnU8bUNFYWtScF9uVmBtXj9hU0h1PGdDRUhNVnA/Y0NGU3NGYXNHdTxhQ0VhS1VwX25iR1NzRlBtaGpWbGxTSE1UcG9nZmBsXl9tVmBtZkVmYGZWYG1OYFdbcl5fbVZga2ZFVG1SbGxTSE1ScD9MTVBOYHJmRXZgZmJGaVNRdmBqXj9fY0d1PGFDRURtVHA/VE1QTmBuZkVGYWZiRmFTUT5hbF4/X2NGdTxnQ0VGYFdbc14/PG1oUkhfQ0VAbVZwb2dSR1NrUlxcbWhKVmxcXGt2YFdXZW8+YGteP11jR3VsVF5gZlJGZVNRUF1xXj9dQ0d1dFBlU0ZbQ0VAbVNwX29yRlNrUkRtaGhvVG5gZlJGXVNRUE1TPE1QSF1qZkVlS1RsbFM8bVZwb2dQXXNeP1tDSHVsVEhNVGxsU3ZgV1txXl9tPmBwZkVMbVJsbFM8bVRwP0xNUEhdbmZFdmBmVkBhU1FmYGtePzpjQ0VGYFdbcV4/PG1oYkdbQ0VfU0htU1FyRlNjRm1zR3U8Z0NFX1NIZ1NRUkhTY0ZtQ0d1XFxxTmBmTmBzTmBXW29eX2xGYWpmRT5hZk5gckZhV0tWQE1QRE1WXFxtaEpUbExTXFxtVXA/UE1QRE1WVG1oMjo=</Stroke><Stroke color="[255,0,0]" height="5" mode="0" width="5">cWRHXUNIU2NGaUNGdXRQZ1NGbUNFX2NHaVNRcWRHVE1QRE1VUG1oaE9VVmBmTmBwdkBSRlNjRmlTRnV0UGdLUmxMU1hNVHBvZ1Q9Qkh1dFBnQ0ZtQ0VfQ0hdU1FxXFxyXl9sPmFuZmVVOz5hV1dFalZEbWhoT1U6Z1NRcWRHckZbQ0Z1dFA6Y1NRcVxccV5fbT5gcWZlVTs+YVczOw==</Stroke><Stroke color="[255,0,0]" height="5" mode="0" width="5">cVRHbXNHU3NGW0NGdXRQZ0NGW0NFX1NIbVNRcWRHUE1QRG1WXFxtaGhPVT5hZk5gc3ZgV1dlcEZgbF5fbEZhcGZlVW9AZ0NFX1NIWnNeX2xGYW9mZVVvYGxOYGZOQDM6</Stroke><Stroke color="[255,0,0]" height="5" mode="0" width="5">cWRHYVNHU2NGZ2NGdXRQZ3NGZ0NFX2NHZVNRcWRHSE1QRE1VWG1oaE9VTmBmTmBxPmBXV2VwQkZTY0Zpc0Z1dFBnY0ZtQ0Vfc0djU1ExOg==</Stroke><Stroke color="[255,0,0]" height="5" mode="0" width="5">cWRHY0NHU2NGZ2NHdXRQZ0NHckdbU1FxZEdETVBEbVVMbWhoT1VGYGZOYHF2YFdXZXBCRlNjRmtTRnV0UGdzRm1DRV9DSGNTUXFcXHJeX2w+YXFmZVU7YG1ScG9nOlBtaGhPVUxtUlJIaVNRcVxcbmpWYG1oaE9ValM8TVJwNT8=</Stroke><Stroke color="[255,0,0]" height="5" mode="0" width="5">cWRHZ3NHU2NGaXNGdXRQZ2NHZ0NFX3NHZ1NRcWRHUE1QRG1VYG1oaE9VTmBmTmByTmBXV2VwZmByXl9sPmFwZmVVa1RsTFNcXE1WcG9nVF1tXl9sRmFrZmVVb0BfQ0VfU0hhU1ExOg==</Stroke><Stroke color="[255,0,0]" height="5" mode="0" width="5">cWRHZUNGU2NGaUNIdXRQZ1NHYUNFX0NIW1NRcWRHVE1QRE1WQG1oaE9VRmFmTmByVmBXV2VwbmBsXl9sPmFwZmVVb0BlQ0VfQ0hrU1FxXFxyXl9sRmFqZmVVc0ddQ0VfU0hdU1FxXFxuXl9sRmFtZmVVa1NsTFNgPTE6</Stroke><Stroke color="[255,0,0]" height="5" mode="0" width="5">cWRHa0NHU2NGa1NHdXRQZ0NIYUNFX0NIa1NRcWRHRE1QRG1WQG1oaE9VVkBgTVRwb2dUXXBeX2xGYW9mZVVrVmxMU2BtU3BvZ1RtVkRNUERdamZlVW9AYUNFX0NIaVNRcWRHPE1QRE1WUD1cXE1VQkhabToyOg==</Stroke><Stroke color="[255,0,0]" height="5" mode="0" width="5">cWRHbWNGU2NGZ3NGdXRQZ1NIZUNFX2NHY1NRcWRHXFxNUERNVVBtaGhvVTxNUmxMU1RNVnBvZ1hda15fbHZga2ZlVXdAX0NFX3NHY1NRcXRHSE1QRG1VXFxtaGg/Y0NFX0NIXVNRcVxcb15fbD5hb2ZlVWtVbExTXFxNVnBvZzptY0Z1dFBpO25gV1dlcWJHU2NGbVNIdXRQaUtUVmBqTmBXV0VAXW0+YG1mZVVrVmxsUzw9MTo=</Stroke><Stroke color="[0,0,0]" height="3" mode="0" width="3">cWRGX1NGU0NHbVNGdXRQX2NGZUNFY1NIalM8TVBMbVY6YUNFY1NIX1NRcWRGWE1QTG1WWm5OYGZeYHM6WE1QTD1SR11DRWM7UkdTQ0c6bUNFY1NIYVNRcWRGZ1NGU0NHNDo=</Stroke><Stroke color="[0,0,0]" height="3" mode="0" width="3">cWRGX0NHU0NHa2NHdXRQX2NGXUNFY0NIbVNRcWRGXUNIU0NHbVNGdXRQX2NGW0NFY1NIY1NRcWRGSE1QTG1WUG1oaE9TbmBmXmBzdmBXV2VsQkhTQ0c0Og==</Stroke><Stroke color="[0,0,0]" height="3" mode="0" width="3">cXRGYUNGU0NHbXNHdXRQYXNGZUNFY1NIWnNeX25GQUJHYUNFY1NIWnJeX25GQVJHYUNFYztyR1NDR207VG1SbExUYE1WcG9nSF1wXl9uRkFqVmxMVHZAdmBtXl9uOm5gZl5AZ1NRcXRGSD1MbWhob1M+YGZeQGFTUXF0RmdDSFNDR0RtaDI6</Stroke><Stroke color="[0,0,0]" height="3" mode="0" width="3">cXRGaWNHU0NHbUNIdXRQYXNHY0NFZUNGXVNRcXRGQE1QUE1STG1oaG9TVG1WbGxUPG1VcG9nSF1wXl9vPmBzZmVVV0A6MTo=</Stroke><Stroke color="[0,0,0]" height="3" mode="0" width="3">cXRGa1NGU1NHXVNIdXRQYXNHbUNFZWNGX1NRcXRGVE1QUE1TTG1oaG9TRmBmZmBsPmFXV2VtbmBxXl9vVmBrZmVVV0BhQ0Vlc0ZjU1FxXFxqXl9vVmBwZmVVV0BqVXA1Pw==</Stroke><Stroke color="[0,0,0]" height="3" mode="0" width="3">cXRGZ3NHU1NHX0NGdXRQYXNHXUNFZWNGX1NRcXRGTE1QUE1TTG1oaG9TbmBmZmBsdmBXV2VtPmFqXl9vVmBqZmVVa1NsbFRITVNwb2dCR1NTR2FzRnU0PA==</Stroke><Stroke color="[0,0,0]" height="3" mode="0" width="3">cXRGbUNHU1NHX0NIdXRQYVNIXUNFZXNGW1NRcXRGWm5mZVVXQGNbbWZgV1dlbXJHU1NHYUNHalZsbFRIbVJwb2dIXXBeX29WYGo6YUNFZWNGbVNRcXRGOjI6</Stroke><Stroke color="[0,0,0]" height="3" mode="0" width="3">cURHW3NHU1NHXVNIdXRQY0NGa0NFZWNGX1NRcURHXUNGU1NHX1NHdXRQYztGYVdXRUBNUFBtU0RtaGg/alNwNT8=</Stroke><Stroke color="[0,0,0]" height="3" mode="0" width="3">cURHW3NGU1NHX2NHdXRQY0NGZ0NFZWNGZVNRcURHXUNGU1NHXztWYGZmQGNTUXFER1BNUFBNUzQ6</Stroke><Stroke color="[0,0,0]" height="3" mode="0" width="3">cURHY2NGU1NHXUNIdXRQY3NGbUNFZVNGaVNRcURHVE1QUG1SVG1oaE9UVmBmZmBrZmBXV2VuTmBzXl9vOmZgZmZga3ZAYkZTU0dfQ0Z1dFBja1NsbFREbVNwb2dMXXBeX29OYG9mZVVrVmJGaVNRcWxTRE1QUF1zZmVVX0BlQ0Vlc0ZbU1FxXFxyXl9vVmBtZmVVQ0dbQ0Vlc0ZnU1FxbFNYTVBQbVNcXG1oaD9hW206XzthOz5hZmZAZVNRcVxcc1psZmVVX2BtTkBIbVJwb2dMPUJGMjo=</Stroke><Stroke color="[0,0,0]" height="3" mode="0" width="3">cURHZUNHU1NHX2NHdXRQY1NHXUNFZWNGa1NRcURHY0NIU1NHYVNGdXRQY0tUbGxUSE1TcG9nTF1rXl9vVmBuZmVVX0A6MTo=</Stroke><Stroke color="[0,0,0]" height="3" mode="0" width="3">cURHY1NGU1NHX3NHdXRQY0NHY0NFZWNGa1NRcURHWE1QUG1TPG1oaE9UUE1SbGxUSG1ScG9nTF1tXl9vVmBuZmVVX0BnQ0Vlc0ZlU1FxREdcXE1QUG1TVG1oMjo=</Stroke><Stroke color="[0,0,0]" height="3" mode="0" width="3">cXRGa1NGU3NGZVNIdXRQYUNIY0NFYVNHa1NRcXRGXFxNUEhtVFpzTmBmVmBvOlBNUEhtVGA9RmFmVmBvWm4+YG1eX21mQEpVbGxTVE1ScG9nTG1SPE1QSE1VOmNDRWFjR1pyXl9tbkBiRl9DRWFjR1puXl9tNjo=</Stroke><Stroke color="[0,0,0]" height="3" mode="0" width="3">cURHXXNHU3NGZVNHdXRQY2NGW0NFYVNHZ1NRcURHTE1QSG1UWG1oaE9UdmBmVkBrU1FxREdhQ0ZTc0ZnQ0Z1dFBjY0ZtQ0VhY0dhU1FxREdUTVBITVVMbWhoT1RWYGZWYHBuYFdXRVpxZjZF</Stroke><Stroke color="[0,0,0]" height="3" mode="0" width="3">cVRHZVNIU0NIaVNRcVRHZVNHU0NIaTtATVBcXE1WcG9nUE1UXFxNUGBNUnBvZ1Bdb15fc1ZgV1dlb0JHU1NIZ1NRcVRHRE1QYG1WcG9nUD1ATVJIbWhoP2pVcG9nOl1TRnV0UGVrUmxsUkBNVHBvZ1Bdal5fa0ZgcWZlVXNGbUNFXWNGXVNRcTxSR3V0UGVLVmxsUkQ9MTo=</Stroke><Stroke color="[0,0,0]" height="3" mode="0" width="3">cVRHYUNHU1NGW0NIdXRQZXNGa0NFXUNGSlRETVBATVI6Z0NFXUNGZ1NRcVRHZUNGU1NGWzs6Mzo=</Stroke><Stroke color="[0,0,0]" height="3" mode="0" width="3">cVRHaVNGU1NIXVNRcVRHZ0NIU1NIY1NRcVRHVE1QYG1VcG9nUF1uXl9rPmBqZmVVZ0BfQ0VdQ0ZjU1FxXFxqXl9rPmBxZmVVU0dtQ0VdU0ZbU1FxPEJHdXRQOmtTUXFUR2dTRlNTRl9TRnV0UE5ARE1TcDU/</Stroke><Stroke color="[0,0,0]" height="3" mode="0" width="3">cVRHa3NGU1NIbVNRcVRHa2NGU1NGW2NGdXRQZXNHbUNFXUNGZ1NRcVRHVE1QQE1SYG1oaD9fQ0VdU0ZhU1FxVEdnQ0hTU0ZdY0d1dFBuYGZGYGt2YFczOw==</Stroke><Stroke color="[0,0,0]" height="3" mode="0" width="3">cVRHZ1NIU1NGW2NHdXRQZXNHX0NFXUNGaVNRcVRHUE1QQG1SPG1oaG9UdmBmRmBrVmBXV2VvUkhTU0ZdY0d1dFBcXE1TbGxSQG1VcG9nOjQ6</Stroke><Stroke color="[0,0,0]" height="3" mode="0" width="3">cVRHa1NIU0NIXVNRcVRHbUNGU0NIY1NRcVRHRE1QXFxtVXBvZ1BdbV5fcz5gV1dlb1JHU1NIY1NRcVxccF5fc3ZgV1dFUkZbU0Z1dFA6ZVNRcVRHUF1rPmBzZmVVZ0Bha1JATVNwb2dQXWxSRl1TR3V0UFxcPV1TRmtTUXFUR1RNUEBNUzxtaGg/YUNFXWNGYVNRcVRHPE1QQE1TTG1oaD86MTo=</Stroke><Stroke color="[0,0,0]" height="3" mode="0" width="3">cURHY0NGU3NGZXNGdXRQY0NHYUNFYVNHZ1NRcURHVE1QSG1UYG1oaE9UPmFmVmBwTmBXV2VuZmBqXl9tbmBvZmVVX0BfQ0VhY0dpU1ExOg==</Stroke><Stroke color="[0,0,0]" height="3" mode="0" width="3">cURHZ0NGU3NGZWNGdXRQY2NHalVwb2dMbVRYTVBITVVAbWhoT1RmYGZWYHBeYFdXZW5iRlNzRmdTSHV0UGNDR21DRWFzR19TUXFcXHFeX212YG9mZVVfQGdDRWFzR2tTUXFER1BNUEhtVWBtaDI6</Stroke><Stroke color="[0,0,0]" height="3" mode="0" width="3">cURHZVNHU3NGaUNGdXRQY1NHSlRwb2dMXW5eX212YHFmZVVfQGlDRWFzR2tTUXFER2dDRlNzRmlzR2pTbGxTWE1VcG9nTF1wXl9tdmBuOmlDRWFrUnBvZ0xdbl5fbUJGSlI6ZkBiRnV0UGM7NTo=</Stroke><Stroke color="[0,0,0]" height="3" mode="0" width="3">cURHa2NHU3NGZWNHdXRQY0NIaUNFYWNHW1NRcURHWm9mZVVfQHJHW1NRcVxccGpVTG1oaE9UOmdTUTE6</Stroke><Stroke color="[0,0,0]" height="3" mode="0" width="3">cURHa2NGU3NGZ2NHdXRQY0NIaUNFYWNHalZATVBITVU6ZUNFYWNHWnJeX21uYG9mZVVfQG1DRWFjRzM6</Stroke><Stroke color="[0,0,0]" height="3" mode="0" width="3">cWRGa2NHU0NHa1NIdXRQX0NIUkhhU1FxZEZacWZlVU9AZmBqRmBXV2VsUkdTU0dbQ0d1dFBfO0ZhV1dFTE1QUG1SRG1oaE9TVmBmZmBrZmBXV2VsOmBtaGg/alQ6UkZ1dFBeQDxNVnBvZ0Rdb1pvZmVVS1ZsbFQ8TVRqVkBNUFBNUkhtaGg/Y0NFZUtTcG9nckdTU0dbc0ZKVmxsVG5gV1dlbFJIU1NHW1NIVmBqPmBmZmBrTkBIPWJHdXRQYWtSbGxUQG1WOjY6</Stroke><Stroke color="[0,0,0]" height="3" mode="0" width="3">cVRHW1NIU3NGY3NHdXRQZVNGX0NFYVNHW1NRcVRHWm9mZVVnQGFDRWFTR21TUXFUR0xNUEhNVUxtaGhvVGZgZlZgcHZgV1dFalVAbWhob1RuYGZWYHFmYFdXRVprOmJHWnJeX21uYG5abEZgZlZgcE5gV1dlb1JHU3NGZzs+YWZWQGFTUXFUR2FDRlNzRmdjR3V0UGVrUmxsU0ZhV1dFalVIbWhoP19DRWFzRzM6</Stroke><Stroke color="[0,0,0]" height="3" mode="0" width="3">cVRHaVNGU3NGY0NHdXRQZXNHW0NFYUNHXVNRcVRHZ0NIU3NGYUNIdXRQZWtUbGxTSE1VcG9nUF1rXl9tVmBxZmVVZ2BvdmBmVmBtPkFCR1NzRmFTSHV0UGVLUmxsUz5gV1dlb15gcV5fbV5gazpjQ0VhQ0dhU1FxVEdITVBITVRUbWhoP1JHW1NRcTxCR3V0UF5AUG1VcG9nOmdTRnV0UG5gZlZgcF5gV1dFWnJmZVVrVXJHXVNRcTxiRnU0PA==</Stroke><Stroke color="[0,0,0]" height="3" mode="0" width="3">cVRHYVNIU3NGZUNIdXRQZUNHYUNFYVNHWnBeX21mYHFmZVVnYG8+YGZWYG86TE1QSG1UOmlDRWFTRzM6</Stroke><Stroke color="[0,0,0]" height="3" mode="0" width="3">cVRHaVNIU3NGY2NGdXRQZXNHaUNFYUNHZ1NRcVRHTE1QSE1UYG1oaG9URmBmVmBvTmBXV0VnU0hTc0ZlQ0d1NDw=</Stroke><Stroke color="[0,0,0]" height="3" mode="0" width="3">cVRHbUNGU3NGY2NGdXRQZUNIa0NFYUNHZVNRcVRHUE1QSE1UXFxtaGhvVE5gZlZgb0ZgV1dlb3Zgc15fbWZgb2ZlVWtVbGxTUE1WcG9nUkdTc0ZnU0Z1dFBeYGZWYHBeYFdXZW9yRlNzRmdzR3V0UGVLVHJHW1NRcVRHUD1pc0Z1dFBla1VyR2dTUXFUR2A9aXNHdTQ8</Stroke><Stroke color="[0,0,0]" height="3" mode="0" width="3">cWRHW0NHU3NGZXNGdXRQZ0NGXUNFYVNHZ1NRcVRHbUNIU3NGZVNIdXRQZUtUbGxTVG1TcG9nUF1qXl9tbmBwZmVVQ0hpQ0VhY0dtU1FxXFxuXl9tdmBrZmVVZ0BKU3A1Pw==</Stroke><Stroke color="[0,0,0]" height="3" mode="0" width="3">cVRHa0NIU3NGZVNIdXRQZVNIXUNFYWNHXVNRcVRHTE1QSE1VTG1oaG9UdmBmVmBwbmBXV2VwPmBrXl9tUkh1dFBnS1RsbFNYbVJwb2dUXXFeX212YGxmZVVvQGtDRWFzR2FTUTE6</Stroke><Stroke color="[0,0,0]" height="3" mode="0" width="3">cWRHXXNGU3NGZ2NGdXRQZ1NGZUNFYWNHZVNRcWRHVE1QSE1VXFxtaGhPVXZgZlZgcUZgV1dlcE5gal5fbXZgamZlVW9AX0NFYWNHaVNRcWRHTE1QSE1VTG1oaE9VZmBmVkBdU1FxXFxtXl9tZmByZmVVU0ZtQ0VhU0dacFpqZmVVa1NiR187Wm40Og==</Stroke><Stroke color="[0,0,0]" height="3" mode="0" width="3">cWRHX1NGU3NGY1NGdXRQZ2NGY0NFYUNHX1NRcWRHWE1QSE1USG1oaE9VSE1SbGxTTE1UcG9nVF1tXl9tXmBwZmVVb0BnQ0VhQ0drU1FxZEdcXE1QSG1UQG1oaD9qVHBvZ1Q9Ukh1dFBnO1RtU3BvZ3JHU3NGZ2NHdXRQbkBUbVZwb2dyRnZgbGZlVUtSckdlU1FxTFNqVVRtaGg/Z0NFYXNHaVNRMTo=</Stroke><Stroke color="[0,0,0]" height="3" mode="0" width="3">cVRGW2NGU0NHZVNRcVRGW0NHU0NHbVNRcVRGUE1QUE1UcG9nQD1GYVdXRWJHZVNRcVxcbmJHa1NRcVRGckdfU1FxVEZqVXBvZ0A9XFxtUnBvZ0A9NTo=</Stroke><Stroke color="[0,0,0]" height="3" mode="0" width="3">cVRGW3NGU0NHYVNRcVRGW0NIU0NHYTtdY0ZTQ0djU1FxVEZcXE1QTE1USlNETVBMbVRwb2dAXXBeX25mQFJIU0NHZTU7</Stroke><Stroke color="[0,0,0]" height="3" mode="0" width="3">cVRGW3NGU2NHW1NRcVRGW0NIU2NHWztdY0ZTY0dbO1hNUFRNUkpTQE1QVE1SWm5eX3A+QDE6</Stroke><Stroke color="[0,0,0]" height="3" mode="0" width="3">cVRGW0NHU3NHY1NRcVRGW3NHU3NHZVNRcVRGXVNGU3NHZTtUTVBYbVRKU0RNUFhtVFpyXl9xbmBXV2VrVmBsXl9xbkByRlNzR2c1Ow==</Stroke><Stroke color="[0,0,0]" height="3" mode="0" width="3">cVRGYUNIU2NHYVNRcVRGYVNIU2NHZ1NRcVRGckdbU1FxVEZjY0ZTc0dfU1FxVEZQTVBYbVJwb2dAXXFeX3A+YVdXZWtmYGpeX3BeYFdXZWtSRlNjR11TUXFcXG5eX3A+YFdXRVBNUFRtU1pwXl9wbkByR1NjR21TUXFURnJHWzU7</Stroke><Stroke color="[0,0,0]" height="3" mode="0" width="3">cVRGZ1NHU0NHX1NRcVRGZ2NHU0NHZ1NRcVRGUkdbU1FxVEZYTVBQbVNwb2dAPXZgV1dla1pwRmBXV2VrYkdUbVRwb2dAXW9iR21TUXFURnJHYVNRcVxcbl5fcVZAMTo=</Stroke><Stroke color="[0,0,0]" height="3" mode="0" width="3">cVRGaUNIU2NHaVNRcVRGa1NGU2NHa1NRcVRGTE1QVG1VWnFeX3BmYFdXZWtCSFNjR19TUXFURlhdb0ZhV1dla3JGU2NHW1NRcVRGPE1QVE1TalVqVFpwXl9wPkFacU5gV1dFYE1QWG1TcG9nQE1WRE1QWE1UcG9nQF1vXl9xVkBSSFNzRzo1Og==</Stroke><Stroke color="[0,0,0]" height="3" mode="0" width="3">cVRGbXNGU2NHXVNRcVRGbUNHU2NHY1NRcVRGVE1QVG1VcG9nQD1YbVJwb2dyR1NzR2NTUXE8PmBXV2VrWnBmYFdXZWtSSFNjR19TUXFkRltjRlNjR1tTUXFkRlBNUFBtVnBvZ0Rdcl5fcD5AOjM6</Stroke><Stroke color="[0,0,0]" height="3" mode="0" width="3">cWRGX0NGU2NHYVNRcWRGXWNHU2NHYTtITVBUbVRwb2dEXWteX3A+YVdXZWxyRlhtUnBvZ0RdcHJHX1NRcWRGWE1QWG1UcG9nQkdTc0dnU1FxZEY8TVBYTVVKUmBNUFhNVTM6</Stroke><Stroke color="[0,0,0]" height="3" mode="0" width="3">cWRGZXNGU0NHZVNRcWRGZTtnU1ExOg==</Stroke><Stroke color="[0,0,0]" height="3" mode="0" width="3">cWRGZWNGU0NHY1NRcWRGZUNHU0NHa1NRcWRGUkdfU1FxZEZQTVBQTVVwb2dEXXBeX3A+YFdXZWxyR1NjR2NTUXE8PmFXV0VyR19TUXE8bmBXV0VKUzpUPTphU1FxZEZSR21TUXFkRlxcTVBQTVRwb2dSSFNTR11TUXFkRmdTRlNDR2s7TE1QTE1VcG9nckdTQ0dlU1FxZEZpQ0ZTQ0dpU1FxZEZATVBQTVJwb2dyRlNTR2M7YkdbO0pVcG9nWnFGYFdXRWpUcG9nOm1TUXFcXG9eX3FuQGJHU3NHYVNRcVxccV5fcD5BUkhTY0dhO2tDRlNjR1s7QE1QUG1VcG9nckZTU0dab15fb0ZAQkhTQ0dtU1FxbFY8TVBQTVNabF5fb25AckZTY0dbO0xNUFRtUzp2YFdXRXJHXTtQTVBYPTprU1ExOg==</Stroke><Stroke color="[0,0,0]" height="3" mode="0" width="3">cXRGW2NHU2NHZ1NRcXRGXUNGU2NHZztMTVBUTVVacV5fcGZgV1dlbU5gal5fcE5gV1dlbVpvPmFXV2VtRmByXl9vZmBXV0VITVBQbVRaalJHZ1NRcUxSWE1QUE1WWnBqUnBvZ0hdbl5fcF5gV1dlbXJGU2NHaVNRcXRGTF1xRmBXV0VYXXFWYFdXZW1GYGteX3FWQEJHWE1TcG9nYkdTc0dfNTs=</Stroke><Stroke color="[0,0,0]" height="3" mode="0" width="3">cXRGYUNGU0NHYVNRcXRGYVNGU0NHZ1NRcXRGRE1QUE1ScG9nSD1eYFdXZW1SRlBNVnBvZ0hdamJHXVNRcXRGX1NIU2NHY1NRcVxccl5fcHZgV1dlbVpxRmBXV0VUTVBYbVIzOg==</Stroke><Stroke color="[0,0,0]" height="3" mode="0" width="3">cXRGX0NHU2NHXVNRcXRGX0NIU2NHXTthY0ZTY0ddO0hNUFRtUjM6</Stroke><Stroke color="[0,0,0]" height="3" mode="0" width="3">cXRGY3NGU0NHX1NRcXRGYztnU1FxdEZSR19TUXFcXGxeX29mYFdXZW1CRlNjR1tTUXF0RmFDSFNjR2FTUXF0RkxNUFRtVXBvZ0hdbF5fcT5gV1dFPE1QWG1TcG9nYkY6UE1QVG1VWnJKVXBvZ15ga15fcF5gV1dlbUJHU2NHYTtYTVBUbVVac15fcT5AZmBrXl9xVkByRlNzR2dTUXFcXG5eX3F2YFczOw==</Stroke><Stroke color="[0,0,0]" height="3" mode="0" width="3">cXRGZ0NIU2NHX1NRcXRGZ1NHU2NHZVNRcXRGRE1QVG1VcG9nSF1rXl9xPmBXV2VtYkZYTVRwb2dIXW9yR2dTUXF0RlxcXXF2YFdXRWlTRlNzR2c7TE1QWG1UcG9nYkdTc0dfU1FxXFxyXl9wRmFXV2VtOmU7UE1QVG1TcG9nSF1rYkdhOzxNUFRtVDM6</Stroke><Stroke color="[0,0,0]" height="3" mode="0" width="3">cXRGbWNHU2NHZ1NRcXRGbWNGU2NHaVNRcXRGa1NIU2NHbVNRcXRGVE1QWG1ScG9nSF1vXl9xXmBXV2VtYkd2YFdXRWBdcT5hV1dlbUZBWG1UcG9nSF1vXl9xRkByR1NjR2lbbj5gal5fcFZgV1dlbmJGU1NHbVNRcURHSE1QUE1UcG9nTF1uXl9uRmFXV0VQTVBMbVRwb2dMXW5KU3BvZ0w9dmBXV0VSR11TUXFER2pVcG9nckZUTVJwb2dMPW5ATD1YbVI6bmBXV0VMXXE+QTE6</Stroke></Ink></Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"/></Input></Group></Section></Section><Section collapsed="true"><Title><Text-field layout="Heading 1" style="Heading 1">Education</Text-field></Title><Group><Input><Text-field firstindent="0.0" layout="Bullet Item" leftmargin="0.0" linebreak="space" rightmargin="0.0" style="Bullet Item"><Font bold="true" executable="false" foreground="[0,153,0]">Maplets for tutorials</Font></Text-field></Input></Group><Group><Input><Text-field firstindent="0.0" layout="Bullet Item" leftmargin="0.0" linebreak="space" rightmargin="0.0" style="Bullet Item"><Font bold="true" executable="false" foreground="[0,153,0]">Visuals for teaching</Font></Text-field></Input></Group><Section collapsed="true"><Title><Text-field layout="Heading 2" style="Heading 2">Pre-Calculus*</Text-field></Title><Text-field layout="Normal" style="Text"/><Group><Input><Text-field prompt="&gt; " style="Maple Input">restart;
with(Student[Precalculus]);</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">LinearInequalitiesTutor();</Text-field></Input></Group><Group><Input><Text-field prompt="&gt; " style="Maple Input">CompositionTutor(sin(x),1/x);</Text-field></Input></Group><Group><Input><Text-field prompt="&gt; " style="Maple Input">LimitTutor(sin(x)/x,x=0);</Text-field></Input></Group><Group><Input><Text-field prompt="&gt; " style="Maple Input">StandardFunctionsTutor();</Text-field></Input></Group><Group><Input><Text-field prompt="&gt; " style="Maple Input"/></Input></Group></Section><Section collapsed="true"><Title><Text-field layout="Heading 2" style="Heading 2">Calculus*</Text-field></Title><Text-field layout="Normal" style="Text"/><Group><Input><Text-field prompt="&gt; " style="Maple Input">restart;
with(Student[Calculus1]);</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">f := (2-x^3)/x;</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">FunctionChart(f,x=-2..2);</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">VolumeOfRevolutionTutor();</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">IntTutor(2*cos(ln(x))/x);</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">NewtonsMethodTutor(cos(x),0.1);</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">MeanValueTheoremTutor(cos(x),x=0..Pi);</Text-field></Input></Group><Group><Input><Text-field prompt="&gt; " style="Maple Input">CurveAnalysisTutor();</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"/></Input></Group></Section><Section collapsed="true"><Title><Text-field layout="Heading 2" style="Heading 2">Linear Algebra*</Text-field></Title><Text-field layout="Normal" style="Text"/><Group><Input><Text-field prompt="&gt; " style="Maple Input">restart;
with(Student[LinearAlgebra]);
infolevel[Student[LinearAlgebra]] := 1:</Text-field></Input></Group><Section><Title><Text-field><Font style="Heading 3">Visualizing Concepts in Linear Algebra</Font></Text-field></Title><Text-field layout="Normal" style="Text"/><Group><Input><Text-field style="Text">Linear systems of equations</Text-field></Input></Group><Group><Input><Text-field prompt="&gt; " style="Maple Input">LinearSystemPlot( {x+y+z=1, 1-2*y+z=3, x-y=0} );</Text-field></Input></Group><Group><Input><Text-field style="Text">
Linear transformations</Text-field></Input></Group><Group><Input><Text-field prompt="&gt; " style="Maple Input">M := &lt;&lt;1,1/2&gt;|&lt;-1/3,3/5&gt;&gt;;</Text-field></Input></Group><Group><Input><Text-field prompt="&gt; " style="Maple Input">ApplyLinearTransformPlot(M, output=animation, iterations=20, trace=4);</Text-field></Input></Group><Group><Input><Text-field style="Text">
Least squares approximation</Text-field></Input></Group><Group><Input><Text-field prompt="&gt; " style="Maple Input">LeastSquaresPlot([[2,2],[3,2.2], [4,2.8],[5,4.1],[6,7.2]], [x,y], curve=a*x^2+b*x+c);</Text-field></Input></Group><Group><Input><Text-field prompt="&gt; " style="Maple Input">LeastSquaresPlot([1,2,2,3,3,3], [1,1,2,1,2,3], [2.5,3.3,3.4,4.1,5.1,5.8], boxoptions=[color=blue]);</Text-field></Input></Group><Group><Input><Text-field style="Text">
Eigenvalues and eigenvectors</Text-field></Input></Group><Group><Input><Text-field prompt="&gt; " style="Maple Input">EigenPlot(&lt;&lt;1,1&gt;|&lt;1,0&gt;&gt;, showunitvectors, numvectors=25);</Text-field></Input></Group></Section><Section><Title><Text-field><Font background="[0,0,0]" bold="true" family="Times New Roman" italic="true" size="14">Interactive Tutors</Font></Text-field></Title><Text-field layout="Normal" style="Text"/><Group><Input><Text-field prompt="&gt; " style="Maple Input">M := &lt;&lt;1,3,-1&gt;|&lt;2,0,4&gt;|&lt;0,1,1&gt;&gt;;</Text-field></Input></Group><Group><Input><Text-field prompt="&gt; " style="Maple Input">InverseTutor(M);</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">GaussEliminationTutor(M);</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">LinearSystemPlotTutor(M);</Text-field></Input></Group></Section></Section><Section collapsed="true"><Title><Text-field layout="Heading 2" style="Heading 2">Multivariate Calculus</Text-field></Title><Text-field layout="Normal" style="Text"/><Text-field layout="Normal" style="Text">Tools for teaching and learning multivariate calculus (<Font bold="true">R<Font subscript="false" superscript="true">n</Font></Font> to <Font bold="true">R</Font>)</Text-field><Text-field layout="Normal" style="Text"/><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">with(Student[MultivariateCalculus]);</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">f := 1-x^2-y^3-2*x*y;</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">TaylorApproximation(f, [x,y]=[0,0], 2 );</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">TaylorApproximation(f, [x,y]=[0,0], 1, output=plot, view=[-2..2,-2..2,-3..3]);</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">Student[MultivariateCalculus][CrossSectionTutor]();</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"/></Input></Group></Section></Section><Section collapsed="true"><Title><Text-field layout="Heading 1" style="Heading 1">Knowledge</Text-field></Title><Group><Input><Text-field layout="Normal" style="Text"><Font background="[255,255,51]" bold="true" foreground="[153,0,153]" opaque="true">
The most depressing word in Mathematics is:  "RECALL".</Font>  <Font bold="true" foreground="[0,153,0]">David Collinette, 2004.</Font>
</Text-field></Input></Group><Section collapsed="true"><Title><Text-field layout="Heading 2" style="Heading 2">Dictionary of Mathematical Terms</Text-field></Title><Text-field layout="Normal" style="Text"/><Text-field layout="Normal" style="Text"><Font bold="true" foreground="[153,0,153]">Over 5000 mathematical definitions.</Font></Text-field><Text-field layout="Normal" linespacing="0.0" style="Text"/><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">?abs</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">?dihedral_group</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"/></Input></Group></Section><Section collapsed="true"><Title><Text-field layout="Heading 2" linespacing="0.0" style="Heading 2">Function Advisor*</Text-field></Title><Text-field layout="Normal" style="Text"/><Group><Input><Text-field prompt="&gt; " style="Maple Input">FunctionAdvisor( definition, arctanh );</Text-field></Input></Group><Group><Input><Text-field prompt="&gt; " style="Maple Input">FunctionAdvisor( special_values, arctanh );</Text-field></Input></Group><Group><Input><Text-field prompt="&gt; " style="Maple Input">FunctionAdvisor( branch_cuts, arctanh(z) );</Text-field></Input></Group><Group><Input><Text-field prompt="&gt; " style="Maple Input">FunctionAdvisor( DE, BesselJ(v,z) );</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">alias(J=BesselJ):
FunctionAdvisor(identities, J(v,x));</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">FunctionAdvisor(relate, sin, BesselJ );</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">?FunctionAdvisor</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"/></Input></Group></Section></Section><Section collapsed="true"><Title><Text-field layout="Heading 1" style="Heading 1">Toolboxes</Text-field></Title><Text-field firstindent="0.0" layout="Bullet Item" leftmargin="0.0" linebreak="space" rightmargin="0.0" style="Bullet Item"><Font background="[255,255,0]" bold="true" family="Courier New" foreground="[51,0,204]" opaque="true" size="14" style="Text">Global Optimization Toolbox</Font></Text-field><Text-field firstindent="0.0" layout="Bullet Item" leftmargin="0.0" linebreak="space" rightmargin="0.0" style="Bullet Item"><Font background="[153,153,255]" bold="true" family="Courier New" opaque="true" size="14" style="Text">Database Integration Toolbox</Font></Text-field></Section><Section collapsed="true"><Title><Text-field layout="Heading 1" style="Heading 1">And ...</Text-field></Title><Text-field layout="Normal" style="Text">- Numeric linear algebra speedups</Text-field><Text-field layout="Normal" style="Text">- Linear inequality solvers</Text-field><Text-field layout="Normal" style="Text">- Numeric Elliptic function evaluation enhancements</Text-field><Text-field layout="Normal" style="Text">- QDifferenceEquations enhancements</Text-field><Text-field layout="Normal" style="Text">- LinearFunctionalSystems enhancements</Text-field><Text-field layout="Normal" style="Text">- LRETools enhancements
- PolynomialTools enhancements</Text-field><Text-field layout="Normal" style="Text">- diffalg enhancements</Text-field><Text-field layout="Normal" style="Text">- simplify enhancements</Text-field><Text-field layout="Normal" style="Text">- FunctionAdvisor enhancements</Text-field><Text-field layout="Normal" style="Text">- OpenMaple: Java and VisualBasic</Text-field><Text-field layout="Normal" style="Text">- Sparse distributed multivariate polynomials</Text-field><Text-field layout="Normal" style="Text">- remember table enhancements</Text-field><Text-field layout="Normal" style="Text">- Soft vs. hard interrupt</Text-field><Text-field layout="Normal" style="Text">- Debug button</Text-field><Text-field layout="Normal" style="Text">- New single file library archive format</Text-field><Text-field layout="Normal" style="Text">- Object constructors: appliable modules</Text-field><Text-field layout="Normal" style="Text">- Enhanced palettes</Text-field><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">?updates,Maple9</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input">?updates,Maple9_5</Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"/></Input></Group></Section><Text-field/><Text-field/><Text-field/><Text-field/><Text-field/><Text-field/><Text-field/></Worksheet>
