π
<-
Chat plein-écran
[^]

News 2024
Avril (13)
Mars (7)
Janvier (20)

News 2023
Octobre (19)
Août (14)
Juillet (13)
Juin (21)
Mai (29)
Avril (24)
Mars (24)
Janvier (24)

News 2022
Octobre (23)
Août (14)
Juillet (15)
Juin (17)
Mai (31)
Avril (27)
Mars (28)
Janvier (34)

News 2021
Octobre (24)
Août (37)
Juillet (50)
Juin (32)
Mai (48)
Avril (61)
Mars (35)
Janvier (34)

News 2020
Octobre (17)
Août (43)
Juillet (43)
Juin (45)
Mai (60)
Avril (78)
Mars (36)
Janvier (39)

News 2019
Octobre (13)
Août (18)
Juillet (23)
Juin (28)
Mai (31)
Avril (26)
Mars (38)
Janvier (37)

News 2018
Octobre (13)
Août (32)
Juillet (23)
Juin (64)
Mai (63)
Avril (45)
Mars (43)
Janvier (45)

News 2017
Octobre (26)
Août (39)
Juillet (52)
Juin (88)
Mai (51)
Avril (43)
Mars (37)
Janvier (33)

News 2016
Octobre (25)
Août (42)
Juillet (34)
Juin (109)
Mai (55)
Avril (34)
Mars (37)
Janvier (24)

News 2015
Octobre (22)
Août (56)
Juillet (22)
Juin (94)
Mai (56)
Avril (32)
Mars (40)
Janvier (21)

News 2014
Octobre (26)
Août (18)
Juillet (23)
Juin (101)
Mai (57)
Avril (59)
Mars (54)
Janvier (31)

News 2013
Octobre (67)
Août (50)
Juillet (43)
Juin (193)
Mai (93)
Avril (102)
Mars (45)
Janvier (50)

News 2012
Octobre (64)
Août (63)
Juillet (53)
Juin (132)
Mai (88)
Avril (73)
Mars (57)
Janvier (58)

News 2011
Octobre (56)
Août (31)
Juillet (27)
Juin (71)
Mai (61)
Avril (32)
Mars (36)
Janvier (24)

News 2010
Octobre (11)
Août (8)
Juillet (14)
Juin (10)
Mai (3)
Avril (3)
Mars (1)

News 2009
Août (3)
Juin (2)
Mai (1)
Avril (2)
Mars (1)

Bonne année 2022 sur TI-Planet !

Nouveau messagede critor » 01 Jan 2022, 00:00

15064
A tous nos membres, partenaires, contacts, amis, et même lecteurs anonymes, et au nom de toute l'équipe, nous vous souhaitons une Bonne Année 2022. Qu'elle soit heureuse, pleine de joies et réussites, et surtout encore meilleure que 2021 ! ;)




Code: Tout sélectionner
#image converted on TI-Planet
#tiplanet.org/img2calc

from ti_draw import *
from ti_image import *
from ti_system import escape
from ti_innovator import send
from time import *
from math import pi, cos, sin, sqrt

#function to send the micro:bit Python code to run
def send_microbit(cmd):
  send("\x04")
  send(cmd)
  send("\x05")

#the image drawing function
#- rle : image RLE-compressed data
#- w : width of image
#- pal : palette of colors to use with image
#- zoomx : horizontal zoom
#- zoomy : vertical zoom
#- itransp : index of 1 transparent color in palette or -1 if none
def draw_image_offscreen(rle, x0, y0, w, h, pal, zoomx=1, zoomy=1, itransp=-1):
  WHITE = (255, 255, 255)
  canvas = new_image(w*zoomx, h*zoomy, WHITE)
  i, x = 0, 0
  w *= zoomx
  x0, y0 = int(x0), int(y0)
  nvals = len(pal)
  nbits = 0
  nvals -= 1
  while(nvals):
    nvals >>= 1
    nbits += 1
  maskval = (1 << nbits) - 1
  maskcnt = (0xFF >> nbits >> 1) << nbits
  while i<len(rle):
    v = rle[i]
    mv = v & maskval
    c = (v & maskcnt) >> nbits
    if (v & 0b10000000 or nbits == 8):
      i += 1
      c |= rle[i] << (7 - nbits + (nbits == 8))
    c = (c + 1) * zoomx
    while c:
      cw = min(c, w - x)
      if mv != itransp and pal[mv] != WHITE:
        for dy in range(zoomy):
          for dx in range(cw * zoomx):
            canvas.set_pixel(x0 + x + dx, y0 + dy, pal[mv])
      c -= cw
      x = (x + cw) % w
      y0 += x == 0 and zoomy
    i += 1
  return canvas

def draw_clock(x, y, r, font_w, font_h):
  set_color(255, 255, 255)
  fill_circle(x, y, r)
  set_color(0, 0, 0)
  set_pen("medium","solid")
  draw_circle(x, y, r - 1)
  set_pen("thin","solid")
  r_t = r - 6
  r_d = r_t - 4
  for i in range(60):
    a = i * pi / 30
    rx, ry = int(r_t * cos(a)), int(r_t * sin(a))
    plot_xy(x0 + rx,y0 + ry, i % 5 and 4 or 1)
    if not i%5:
      rx, ry = int(r_d * cos(a)), int(r_d * sin(a))
      dx, dy = 0, 4
      d = (i//5 + 2)%12 + 1
      h = font_h
      w = font_w + (d >=10 and font_w + 1)
      if not i%30: dy  += h//2
      elif i>30: dy += h - 1
      if i%30 and not i%15: dx -= w // 2
      elif i<15 or i>45: dx -= w - 1
      set_color(0, 0, 255)
      draw_text(x0 + rx + dx, y0 + ry + dy, d)
      set_color(0, 0, 0)
  return r_d

def refresh_clock(h, m, s, r_h, r_m, r_s):
    k_h, k_m, k_s = h / 12, m / 60, s / 60
    a_h = k_h*2*pi + k_m*2*pi/12 +k_s*pi/360 - pi/2
    a_m = k_m*2*pi + k_s*pi/30- pi/2
    a_s = k_s*2*pi - pi/2
    set_color(255, 255, 255)
    fill_circle(x0, y0, r_s + 1)
    set_color(255, 0, 0)
    draw_line(x0, y0, x0 + r_s*cos(a_s), y0 + r_s*sin(a_s))
    set_color(0, 0, 0)
    set_pen("medium","solid")
    draw_line(x0, y0, x0 + r_h*cos(a_h), y0 + r_h*sin(a_h))
    draw_line(x0, y0, x0 + r_m*cos(a_m), y0 + r_m*sin(a_m))
    set_pen("thin","solid")
   
def melody_duration(melody):
  global lt
  t = 0
  for v in melody:
    try: lt = int(v[v.index(":") + 1:])
    except: pass
    t += lt
  return t  * .125

def melody_cut(melody, melody_parts, melody_part_start, melody_part_end):
  return melody[melody_parts[melody_part_start]:melody_parts[melody_part_end]]

def mb_play_melody(melody):
  send_microbit('music.play(' + str(melody) + ')')
 
def mb_show_icon(name):
  send_microbit("display.show(Image." + name + ")")

def mb_show_clock_icon(i):
  mb_show_icon("CLOCK" + str(i))

def mb_show_val(v):
  send_microbit('display.show(' + str(v) + ')')

#palette for your image
#256 RGB-888 colors
palette = (
(255,255,255),(231,231,240),(255,252,247),(220,231,235),(247,253,247),(247,253,255),(223,222,231),(219,217,221),(237,247,250),(201,220,233),(255,246,247),(236,237,247),(255,246,255),(204,214,221),(247,245,247),(238,246,237),(211,205,211),(180,209,181),(215,234,215),(177,183,206),(179,178,182),(207,212,231),(237,234,237),(182,206,214),(146,173,183),(215,220,231),(238,218,219),(215,215,231),(211,237,245),(168,204,221),(180,230,236),(114,171,187),(177,215,234),(247,247,255),(109,146,179),(152,203,220),(74,120,170),(143,203,217),(110,114,146),(77,112,150),(142,148,176),(142,183,209),(41,104,152),(111,180,208),(223,229,240),(14,54,110),(76,141,181),(13,100,168),(5,81,140),(93,161,157),(118,197,215),(157,155,147),(39,84,141),(104,159,205),(1,67,122),(41,116,172),(12,100,155),(40,76,120),(223,223,240),(247,238,240),(255,245,240),(252,235,235),(152,209,234),(12,74,122),(247,238,247),(247,230,231),(248,219,220),(250,233,220),(247,210,239),(236,186,203),(236,201,221),(237,219,234),(217,217,238),(82,153,200),(237,202,203),(236,184,172),(248,199,188),(249,216,204),(234,187,219),(237,231,221),(212,208,181),(49,139,180),(20,152,167),(251,247,236),(248,181,178),(248,203,202),(237,215,204),(248,218,236),(164,160,93),(213,179,108),(236,186,185),(236,172,169),(249,234,204),(237,199,188),(242,212,147),(242,213,78),(211,148,75),(252,234,248),(237,203,232),(215,177,149),(206,150,39),(79,179,206),(251,245,221),(248,203,221),(104,200,230),(248,220,170),(23,179,222),(218,176,180),(235,171,186),(181,144,181),(164,163,213),(238,212,176),(235,171,202),(213,188,231),(240,143,142),(217,179,209),(97,87,102),(242,176,146),(240,239,206),(218,146,148),(97,45,84),(235,154,153),(236,170,154),(248,219,185),(242,142,114),(236,153,137),(215,147,180),(241,178,215),(217,150,204),(173,92,97),(176,180,145),(51,51,139),(91,95,150),(217,140,116),(244,138,79),(247,206,134),(239,188,233),(236,148,178),(213,114,177),(164,101,153),(224,93,101),(251,106,6),(216,109,110),(180,114,178),(241,182,105),(245,107,43),(216,73,46),(242,207,115),(185,4,142),(215,112,145),(209,76,175),(237,76,9),(237,82,73),(213,79,79),(180,79,149),(235,119,175),(235,150,203),(190,105,198),(211,44,41),(239,117,108),(244,43,5),(244,113,78),(220,102,36),(211,42,114),(212,79,145),(181,42,146),(215,76,109),(184,44,115),(247,234,147),(237,185,85),(249,233,114),(216,210,237),(240,48,34),(243,79,40),(217,36,12),(183,5,116),(209,42,142),(226,105,202),(158,26,145),(235,114,146),(248,231,187),(244,12,10),(251,68,12),(201,7,145),(240,178,76),(237,2,0),(218,17,32),(253,85,13),(233,83,152),(215,46,82),(235,157,30),(183,22,22),(217,5,2),(250,33,1),(253,85,1),(209,18,117),(249,1,0),(252,69,1),(203,17,170),(237,13,0),(140,179,118),(236,183,71),(248,14,0),(217,173,73),(215,168,48),(184,134,16),(164,28,94),(183,140,37),(171,110,25),(241,209,39),(244,204,6),(250,236,19),(156,206,153),(245,235,178),(224,214,99),(86,87,35),(151,158,28),(173,212,121),(107,151,0),(88,155,91),(117,152,1),(140,199,85),(212,218,161),(150,202,109),(102,140,0),(105,151,3),(184,217,136),(94,197,171),(99,125,0),(99,133,0),(107,117,16),(176,213,144),(112,196,114),(114,183,113),(90,119,0),(82,104,0),(77,174,105),(103,184,106),(233,177,2),(86,173,101),(235,186,0),(239,201,0),(71,169,90),(75,154,105),(74,98,0),(47,154,108),(51,164,95),(69,79,1),(41,147,81),(32,151,83),(55,66,1),(8,139,75),(51,51,0),(16,118,83),(43,41,0),(27,21,0),
)

#your image data
#208x176 RLE-8 pixels
image_w, image_h = 208, 176
image = (
b"\x00\\\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x00\x00\a\x00\b\x00\x00\x00\a\x00\x05\x00\t\x00\n\x00\x05\x00\x01\x00\x02\x00\x0b\x00\x04\x00\x00\x00\x05\x01\x00\xb3\x0c\x01\x00\x00\x01\x00\x0c\x00\x00\x00\r\x00\x00\x00\a\x00\x01\x00\x05\x00\r\x00\x05\x00\r\x00\x0e\x01\r\x00\x05\x00\r\x00\x00\x00\a\x00\b\x00\x02\x00\r\x00\x00\x00\x0e\x00\x0f\x00\x00\x00\x05\x00\x00\xb3\x03\x00\x00\x00\x04\x00\x01\x00\x00\x00\x10\x00\x0e\x00\x05\x00\x10\x00\x05\x00\x11\x00\x05\x00\x10\x00\b\x00\x12\x00\r\x00\x00\x00\x13\x00\x05\x00\x14\x00\x04\x00\x0f\x00\x15\x00\x05\x00\a\x00\x05\x00\x00\x00\x01\x00\x00\xb0\x05\x00\b\x00\x00\x00\x01\x00\x16\x00\x0c\x00\x11\x00\x00\x00\x03\x01\x00\x00\x17\x00\x05\x00\x18\x00\x0c\x00\x17\x00\x0f\x00\r\x00\x19\x00\x0e\x00\x17\x00\x05\x00\x14\x00\x05\x00\r\x00\b\x01\x10\x00\x05\x00\x01\x00\x0f\x00\x05\x00\x0f\x00\x0e\x00\x00\xab\x0c\x00\x00\x01\a\x00\n\x00\x00\x00\x10\x00\x00\x00\x03\x00\x1a\x00\x04\x00\x14\x00\x05\x00\r\x00\b\x00\x14\x00\b\x00\x13\x00\x01\x00\x13\x00\t\x00\x1b\x00\r\x00\x01\x00\x17\x00\x04\x00\x14\x00\n\x00\x17\x00\x1c\x00\x05\x00\x10\x00\x05\x00\b\x00\a\x00\x00\x00\x04\x00\x0e\x00\x00\xa9\x02\x00\a\x00\x00\x01\x17\x00\x05\x00\x10\x00\x03\x00\x00\x00\x14\x00\x05\x00\x18\x00\x04\x00\x03\x00\b\x00\x13\x00\r\x00\x1d\x00\x12\x00\x18\x00\x1c\x00\x17\x00\r\x00\x17\x00\x19\x00\x03\x00\x13\x00\b\x00\x18\x00\b\x00\r\x00\x01\x00\x05\x00\x17\x00\x04\x00\x00\x00\x06\x00\x05\x00\x0c\x00\x00\xa6\x0e\x01\x00\x00\x0b\x00\a\x00\x00\x00\x06\x00\a\x00\x00\x00\x18\x00\x05\x00\x14\x00\x01\x00\x17\x01\x19\x00\x1e\x00\x13\x02\x1d\x00\x1f\x00\x20\x00\x18\x00\x20\x00\x18\x00\x1c\x00\x18\x00\t\x00\r\x00\x10\x00\x0e\x00\x18\x00\b\x00\x15\x00\a\x00\x05\x00\a\x00\x16\x00\b\x00\x1c\x00\x0b\x00\x05\x00\x02\x00\x00\xa4\a\x00\x0f\x00\x00\x00\a\x00\x03\x00\x05\x00\x18\x00!\x00\x10\x00\r\x00\t\x00\x18\x00\x01\x00\"\x00\x19\x00\x1d\x00\x11\x00\"\x00#\x00\x1d\x00$\x00%\x00&\x00\x1e\x00'\x00\x1c\x00(\x00\x1c\x00\"\x00\b\x00\x13\x00\x17\x00\b\x00\x14\x00\x00\x00\a\x00\r\x00\x1c\x00\t\x00)\x00\x1c\x00\a\x00\x05\x00\x00\x9a\x04\x00\x00\x00\x05\x00\x00\x00\b\x00\x05\x02\x06\x00\x05\x00\x00\x00\x10\x00\x16\x00\x00\x00\x14\x00\b\x00\x16\x00\x18\x00\x16\x00\"\x00\x1c\x00\"\x00\x17\x00\"\x00\x1d\x00)\x00\x1d\x00'\x00\x18\x00)\x00*\x00)\x00*\x00+\x00'\x00\x17\x00\"\x00\r\x00\x18\x00\t\x00'\x00\x1c\x00\"\x00\b\x00\x03\x00\x1d\x00\x16\x00\t\x00)\x00\x20\x00\x1d\x00\x17\x00\x1c\x00\x05\x00\x00\x9a\x01\x00\x0b\x01\t\x00\x0b\x00\b\x00\x01\x00,\x00\x10\x00\x00\x00\x05\x00\x14\x00\b\x00\x0f\x00(\x00\x03\x00\x14\x00\x1d\x00\x17\x00\x1f\x00\x13\x00\"\x00\x18\x00)\x00\x13\x00+\x00-\x00\x1f\x00.\x00/\x00)\x000\x00\"\x01(\x00\x1d\x001\x00\x1d\x00\"\x002\x00)\x00\x18\x00\x17\x00(\x00\b\x00\x03\x00)\x01\x1c\x00\t\x01\x05\x01\x00\x01\x02\x00\x00,\x02\x00\x00i\x05\x00\t\x00\x20\x00)\x00\x20\x00\x1d\x00\x17\x00\b\x01\x14\x00\x04\x00\x05\x003\x00\x1c\x00\x19\x00\x18\x00\x1c\x00'\x00\x20\x00'\x00)\x004\x005\x004\x00\x1d\x00\"\x006\x00.\x007\x008\x00*\x004\x00.\x014\x00)\x009\x00\x1d\x006\x00*\x00'\x00\x1e\x00(\x00\x1c\x00\x03\x00\x18\x00\b\x00\x1e\x005\x00\x17\x00\x1c\x00\b\x00\x01\x00\x00/\x0c\x00\x00\x01\x02\x00\x00\x01\x0c\x00\x00c\x0b\x00\x1c\x00#\x00\x1d\x00\x20\x00\x1d\x00\x20\x00\x17\x00\x1c\x00\x04\x00\x18\x00\b\x00\x0b\x00\"\x00\x1c\x00\x18\x00\"\x00\x17\x00'\x00+\x00'\x01.\x006\x00)\x00*\x004\x007\x00/\x010\x00/\x004\x00$\x009\x00.\x00\"\x00'\x005\x00*\x00\x1d\x00\x18\x00#\x00\x12\x00(\x00\x0e\x00\x01\x00(\x00\b\x00\x1c\x00\x19\x00\x03\x00\x05\x00\x00%\x02\x00\x0c\x00\x00\x01\x0e\x00\x00\x01\x16\x00\x00\x01\x0e\x00\x00\x01\x0e\x00\x0c\x00\x00\x01\x0c\x00\x00`\x0c\x00\b\x00\t\x00\x1e\x00)\x00:\x00\x0b\x00)\x002\x00\x20\x00\x18\x00\x01\x00\b\x003\x00\r\x00\x03\x00'\x00\x20\x00\"\x00\x1f\x00&\x00\"\x009\x007\x004\x00*\x00.\x007\x000\x008\x00/\x018\x016\x000\x00*\x006\x00.\x008\x00*\x00.\x00)\x00&\x00\x1c\x00\"\x00\r\x01\x18\x00\b\x00;\x00\x11\x00\x03\x00\b\x02\x05\x00\x0c\x00\x00\x1f\x0c\x00\x00\x01\x0c\x00\n\x00\x05\x00\x04\x00<\x00\x04\x00\n\x00\x16\x00\x00\x00\x02\x00=\x00\x00\x01;\x00\x00\x00\x0c\x00\x02\x00\x0c\x00\x00b:\x00\x20\x00+\x00\x1c\x01\x1d\x00>\x00\x1c\x01(\x00\x03\x00\x1c\x00\"\x00)\x00\x1d\x009\x00#\x006\x00\"\x006\x00*\x004\x000\x00?\x00*\x00.\x00?\x007\x00/\x000\x006\x01?\x00-\x000\x008\x007\x00*\x006\x00\x1f\x009\x00\x20\x00\x18\x00\x1d\x00)\x001\x00;\x00\x03\x00)\x00@\x00\x05\x00\x0f\x00\x10\x00\b\x00\x00\x1e\x0e\x00\x00\x01\x02\x00\x0e\x00\n\x00\x04\x00=\x00\x05\x00\x04\x00=\x00\x04\x00\x0c\x00A\x00\x00\x00\x0c\x00;\x00\x00\x01A\x00\x00\x01\x0e\x00\x00\x00\x0c\x00\n\x00\x00\x00\x02\x00\x00\x00\x02\x00\x007\x0c\x00\n\x00\x04\x00\x0e\x00\x00\x1f\x0c\x00\b\x00\x1c\x00\x13\x00#\x00+\x00\x1d\x00\x13\x00\x18\x00\x03\x00\x0b\x00\x18\x00\x1f\x00)\x00\"\x01)\x00?\x00\"\x000\x00*\x000\x03*\x00\x1f\x00>\x00%\x008\x010\x016\x000\x01>\x00.\x006\x00.\x009\x00\x1f\x00\x18\x00\x1f\x00\x18\x00\"\x00\x1c\x00\x13\x00\x14\x00\b\x01\x13\x00\x10\x00\x05\x02\x04\x00\x00\x1c\x0c\x00=\x00\x02\x00\n\x00B\x00=\x00<\x00C\x00\x00\x01A\x00\x02\x00\x00\x00\x1a\x00\x00\x00\n\x00A\x00\x02\x00\x0e\x00=\x00\x02\x01\x16\x00\x0c\x01;\x00\x0c\x00\x00\x00\x0e\x00\x008\x02\x00D\x00E\x00F\x00G\x00\n\x00\x00\x1f\x1c\x00H\x00\t\x005\x00>\x00\x1c\x01\x14\x00)\x00:\x00\x1d\x00$\x00I\x004\x007\x00$\x008\x00?\x016\x000\x016\x004\x00.\x00\x1c\x00>\x008\x010\x006\x010\x008\x00I\x008\x000\x00?\x00'\x00\x18\x00'\x02\x20\x00\"\x00#\x00\b\x00\x13\x00\x18\x00\x0b\x00\x05\x00\x0f\x00\a\x00\x01\x00\x0e\x00\x00\x16\x0c\x00\x00\x02\x0e\x00\x00\x01A\x00=\x00J\x00K\x00L\x00M\x00B\x00\n\x00\x00\x00\x1a\x00\x02\x00\x05\x00J\x00\x00\x01C\x00\x02\x00;\x00<\x00\x02\x00;\x00\n\x00\x00\x00\x0e\x00\n\x00\x00\x01;\x00\x00\x00\x0c\x00\x02\x00\x0c\x00\x00,\x0c\x00\x00\x00\x0e\x00\x0c\x00\x00\x02\x0c\x00;\x00N\x00J\x00E\x00F\x00@\x00\x00\x1e\x0b\x00\x16\x00O\x00P\x00\x12\x00\x17\x00\x18\x00\x15\x00\x0b\x00\t\x00\"\x00)\x00\x17\x00.\x00\"\x00Q\x008\x000\x008\x006\x01/\x000\x006\x004\x00I\x00Q\x007\x00R\x008\x000\x006\x010\x00Q\x008\x006\x00?\x01\x1f\x004\x00-\x001\x00)\x009\x00#\x00\x10\x00&\x00\x1d\x00\x0c\x00\x01\x00\x17\x00\x13\x00S\x00\x00\x01\x05\x00\x00\x15\x0c\x00\x02\x00\x00\x01\x04\x00\x0c\x00\x00\x00A\x00B\x00K\x01L\x00T\x00U\x00<\x00\x00\x00V\x00\x02\x00\x0c\x00V\x00\x00\x00\n\x00C\x00\n\x00A\x00\n\x00\x04\x00W\x00\x02\x01;\x00\x0c\x01\x16\x00\x02\x00\x00\x00\x02\x00@\x00\x00-\x04\x00\x00\x03\x16\x00\x00\x01W\x00E\x00M\x00A\x00E\x00@\x00\x00\x20P\x00X\x00Y\x00O\x00\x0c\x00\x17\x00\"\x00\x1d\x00\t\x00\"\x009\x00)\x00.\x01?\x000\x008\x00/\x020\x006\x000\x00.\x00Q\x00/\x007\x000\x006\x02Q\x00/\x000\x02+\x00*\x00-\x007\x00'\x009\x00)\x00\"\x001\x00\t\x00\x1c\x00\x18\x00\x11\x00\x0e\x00\x05\x01\x03\x00\a\x00\x0e\x00\x00\x13\x0c\x00\x00\x01\x0e\x00\x0c\x00\x00\x00\x0e\x00;\x00\x00\x00\n\x00Z\x00[\x00U\x00\\\x00]\x00U\x00A\x00\x00\x00\x1a\x00\x02\x01J\x00\x0c\x00@\x00=\x00\x02\x00\x1a\x00\n\x00\x04\x00B\x00\x02\x01A\x00\x0c\x01\x16\x00\x02\x00\x0c\x00;\x00\x0c\x00\x00\x00\x0c\x00\x0e\x00\x00$\n\x00\x00\x01\x0e\x00\x00\x01!\x00\x00\x00\x0e\x00\x00\x01\x0e\x00\x00\x00\x05\x00=\x00F\x00E\x01N\x00A\x00\x0c\x00\x00\x1e\x0f\x00^\x00_\x00`\x003\x00\x17\x00\x0f\x00\t\x00\x18\x00'\x00)\x01?\x00'\x01\"\x009\x006\x008\x00R\x007\x00/\x006\x00*\x00Q\x00.\x00/\x00Q\x000\x006\x017\x00Q\x000\x02*\x007\x000\x01?\x008\x00$\x00?\x00\x1f\x00\x1d\x00(\x00\"\x00\x03\x00\x0f\x00\x03\x00\x13\x00\x10\x00\b\x00\x05\x00\x00\x14;\x00\x00\x01\x02\x00A\x00\x0c\x00\x00\x00A\x00\x02\x00\x04\x00U\x00E\x00T\x00[\x00U\x00A\x00V\x00\x00\x00W\x00<\x00\x04\x00J\x00\x00\x00A\x00=\x00\x00\x00V\x00\x00\x00\x02\x00\x1a\x00\x04\x00;\x01\x02\x00A\x00;\x00\x04\x00<\x00;\x00\x04\x00\x00\x00=\x00\x00\x00\x05\x00\x0c\x00\x00#\x0e\x00\x00\x00\x0e\x00\x00\x01\x0e\x00\x00\x00@\x00\x00\x01\x16\x00\x00\x00@\x00a\x00W\x00b\x00F\x00D\x00\n\x00\x00\x00\x0c\x00\x00\x14\n\x00\x00\x04\x0c\x00\x00\x00\x16\x00\x12\x00c\x00d\x00`\x00S\x00\t\x00(\x00\x18\x00#\x00\x20\x00.\x004\x00.\x004\x006\x004\x005\x00$\x006\x00?\x00/\x00Q\x008\x004\x00.\x00I\x007\x010\x006\x01e\x007\x008\x01/\x000\x026\x00?\x006\x00*\x00\"\x00.\x009\x00#\x00\t\x00\x17\x00(\x00\x17\x00\b\x00\x05\x01\x0f\x00\x01\x00\x0e\x00\x00\x0f\x02\x00\x00\x01\x02\x00;\x00\x00\x00\x02\x00;\x01\x02\x00S\x00A\x00\x02\x00B\x00U\x00M\x00T\x00M\x00C\x00\x1a\x00\x02\x00=\x00\x1a\x00\x04\x00J\x00\x0c\x00A\x00f\x00\x0c\x00J\x00\x02\x00;\x01\x02\x00B\x00\x02\x01\x1a\x00\x02\x01\x1a\x00\x02\x00\x00\x00=\x00\x0e\x00\x05\x00\x00\x00\n\x00\x02\x00\x00\x1f\x0e\x00\x0c\x00\x00\x00\x16\x00\x00\x00;\x00\x00\x00;\x01\x00\x00\x16\x00\x0c\x00\x00\x00;\x00\x00\x00\x16\x00\x0c\x01\x16\x00\n\x00\x16\x00\x0c\x00\x00\x00\x0e\x00\x0c\x00\x00\x10\x0e\x00\x00\x01=\x00\x00\x04;\x00\x05\x01\b\x00\x0f\x00\a\x00(\x00\x18\x00\x17\x00\x20\x00+\x00.\x00?\x00.\x00Q\x00/\x010\x016\x00e\x00.\x004\x000\x00Q\x00.\x00Q\x00.\x00\"\x00I\x007\x000\x006\x00.\x00I\x007\x00Q\x01*\x016\x020\x014\x00?\x00\"\x00)\x00'\x00\"\x00\x20\x00\b\x00\x0f\x00\x12\x00\x13\x00\x17\x00\x03\x00\x05\x01\x00\x0f\n\x01\x00\x01;\x01\x02\x01\x1a\x00\x02\x01V\x00\n\x00\x04\x00Z\x00S\x00B\x00G\x00<\x00\x1a\x00\n\x00B\x01\x02\x00J\x00\x0e\x00\x1a\x00\\\x00\x02\x00J\x00\x04\x00J\x00\x02\x00<\x00V\x00\x02\x00A\x01\x00\x00=\x00A\x00\x02\x00\n\x00A\x00\x05\x00\x00\x00\n\x01\x00\x1e@\x00\x00\x01\x0e\x00\x00\x00;\x00\x02\x00\x00\x00\x16\x00=\x00J\x00\x0c\x00\x16\x00;\x00\x00\x00G\x00\x0c\x00\x16\x00\x0c\x00\x16\x00a\x00\x0c\x00@\x00\x00\x00\x04\x00\x0e\x00\x00\x0b\x0c\x00\x00\x01\x0e\x00\x00\x01;\x00\x00\x01A\x00\x00\x01;\x00\x00\x01A\x00\b\x00\x1c\x00\a\x00\b\x00S\x00=\x00\x03\x00\x17\x00(\x00'\x00.\x00\"\x005\x004\x000\x008\x00/\x028\x00.\x00I\x00'\x00.\x01I\x00.\x005\x00I\x00*\x006\x000\x00I\x00$\x00*\x00Q\x00$\x006\x030\x028\x004\x00?\x00'\x00\x1d\x01\x13\x00(\x00\x18\x00\r\x00\x0e\x00\x02\x00\x00\x0f\x0c\x00\x00\x00\x0c\x00\x00\x00\x0e\x00S\x00\x02\x00\n\x00\x16\x00=\x00\x04\x00<\x00G\x00\n\x00;\x00W\x00\x02\x00V\x00A\x00<\x00J\x00S\x00g\x00<\x00=\x00g\x00=\x00]\x00;\x00M\x00\\\x00B\x00M\x00;\x00F\x00S\x00A\x01\x0c\x00J\x00S\x00\x02\x00g\x00\x02\x01\x1a\x00\x02\x00\x04\x00a\x00A\x00\x02\x02;\x00\x00\x19\x0e\x00\x00\x00\x0e\x00\x02\x00\x00\x00\x16\x00\x00\x00\x0e\x00@\x00\x0c\x00\x16\x00A\x00Z\x00\x0c\x00a\x00\x16\x00!\x00\x16\x00\x0e\x00G\x00a\x00G\x00a\x00\x0e\x00@\x00\x00\x00\x16\x00\x00\x00\x0e\x00\x01\x00\x00\x01\x0e\x00\x00\x06S\x00\x00\x01\x16\x00\x00\x01\x16\x00\x00\x01B\x00\x00\x01\x1a\x00\x00\x01\x1e\x00h\x00\x1e\x00\a\x00\x10\x00\x13\x00\x14\x00\x17\x00\a\x00\x1b\x00\x20\x00\x18\x00'\x006\x00*\x000\x006\x000\x008\x00/\x017\x00I\x02.\x00I\x00e\x002\x00+\x00*\x008\x00I\x00\x1f\x00*\x00$\x00.\x00*\x007\x048\x010\x008\x00$\x00\"\x00*\x001\x00\x1d\x00\x1c\x00\x05\x00\x03\x00\a\x00\r\x01\a\x00\x01\x00!\x00\x00\x0c\x0e\x00\x0c\x00\x00\x01;\x00\x0e\x00\x00\x00\n\x00\x1a\x00\x02\x01\x1a\x00;\x00\x02\x00V\x00S\x01B\x00=\x00J\x00C\x00V\x00=\x00A\x00J\x00C\x00Z\x00=\x00M\x00i\x00V\x00\x1a\x00=\x00\x1a\x00<\x00U\x00<\x00A\x00M\x00S\x00B\x00A\x00\n\x00A\x01\x02\x01W\x00\x02\x00\x04\x00\n\x00\x16\x00\x00\x1a\x0e\x00\x00\x01@\x00\x00\x00\x0e\x00\x16\x00\x0e\x00G\x00\x0e\x00G\x00A\x00[\x00a\x00;\x00G\x00@\x01\x0c\x00W\x01G\x00a\x00\x16\x00\x0c\x00@\x00G\x00;\x00G\x00\x00\x01\x0e\x00\x00\a;\x00\x00\x01;\x00\x0e\x00\x00\x00\x0f\x00\x00\x01A\x00\x00\x01F\x00\x00\x00\x05\x00e\x00j\x00e\x00\x1c\x00\x02\x00;\x00\x01\x00\x1c\x00\x13\x001\x00*\x00'\x00.\x005\x00/\x000\x008\x00/\x008\x00/\x027\x00I\x015\x00*\x00+\x00%\x00+\x007\x00+\x01.\x00$\x00.\x00\"\x005\x00.\x00Q\x00*\x000\x024\x01*\x00$\x00.\x00\"\x00(\x011\x00(\x00\x17\x00\x03\x00\x04\x00\x05\x00\x00\x00\x05\x00\x00\x01\x0c\x00\x00\t\x0c\x00\x00\x00;\x00\x04\x00\x00\x01G\x00\n\x00\x02\x00@\x00\x1a\x00\x02\x00\n\x00k\x00O\x00B\x01\n\x00Z\x00=\x00W\x00O\x00C\x00J\x00f\x00]\x00B\x00K\x00C\x00]\x00i\x00L\x00=\x00B\x00O\x00B\x00J\x00=\x00J\x00;\x00\x0e\x00U\x00\x04\x00=\x00\x1a\x00\x02\x00\x00\x00\x1a\x00\x02\x00\x04\x00\n\x00;\x00\x00\x00\x02\x00\x00\x00\n\x00\x00\x15@\x00\x00\x00\x0c\x00a\x00\x00\x00\x01\x00\x0e\x00\x0c\x00G\x00a\x00G\x00a\x01;\x00l\x00b\x00\x0b\x00G\x00D\x00\x0e\x00a\x00b\x00;\x00W\x00a\x00G\x00@\x00:\x00b\x00a\x00\x16\x00\x00\x00\x0e\x00@\x00\x00\x00\n\x00;\x00\x00\x01=\x00\n\x00\x00\x01;\x00\x00\x01W\x00\x00\x00\x0c\x00\x16\x00\x00\x00A\x00\x02\x00\x0c\x00M\x00\x00\x00\b\x00j\x01Q\x00\t\x00\x17\x00m\x00\x17\x00\r\x00\x17\x00\x13\x00\x1f\x00'\x004\x00*\x000\x00/\x008\x00/\x017\x00Q\x01I\x007\x005\x00)\x00$\x00I\x00n\x00>\x00)\x00>\x00\x1d\x00\"\x00n\x002\x00\"\x00*\x004\x00*\x01$\x01\"\x00$\x00'\x014\x006\x00'\x00.\x00#\x00\x1c\x00\x05\x01\x04\x00\x01\x00\x03\x00\x19\x00\a\x00\x0e\x00\x0c\x00\x0e\x00\x00\x04\x0c\x00\x00\x02\n\x00\x0c\x00\x00\x01B\x00\x0e\x00\x05\x00\n\x00\x1a\x00<\x00\x00\x00B\x00;\x00<\x00V\x00B\x00\x10\x00Z\x00;\x00M\x00V\x00B\x00M\x00C\x00K\x00A\x00]\x00B\x00c\x00C\x00o\x00^\x00K\x00A\x00J\x00M\x00\x1a\x00U\x00L\x00T\x00;\x00V\x00A\x00\x02\x00]\x00\n\x00\x00\x00B\x00=\x00\x02\x01\x1a\x00\x02\x02;\x00\x02\x00\x0c\x00\x00\x11\x0c\x00\x04\x00\x00\x00\x0e\x01\x0c\x00\x16\x00\x0e\x00@\x00p\x00q\x00N\x00a\x00G\x00b\x00;\x00=\x00r\x00b\x00D\x00\x10\x00b\x00\x0e\x00G\x00b\x00W\x00D\x00\x01\x01G\x00s\x00a\x00\x1a\x00\x0e\x00\x00\x00G\x00\x0c\x00\x00\x00\x16\x00\x0c\x00;\x00\x0e\x00\x00\x00=\x00\x00\x01W\x00\x00\x01W\x00\x00\x00\x0c\x00A\x00\x00\x00O\x00\n\x00\x00\x00U\x00\x00\x00\x0b\x00e\x00j\x002\x00\x0c\x00\x0e\x00\a\x00\x1d\x00\"\x00t\x00(\x00\"\x00t\x009\x004\x00t\x00-\x000\x00-\x006\x01?\x00#\x00+\x00I\x00e\x00+\x00#\x007\x00h\x00>\x00\x20\x00\x17\x00\x20\x00>\x00h\x00.\x007\x058\x006\x010\x006\x00*\x00$\x00\"\x00\x18\x00(\x00'\x00\"\x00(\x00\x13\x00\r\x00\a\x00\b\x00\x0e\x00\x02\x00\x0c\x00\n\x00\x00\x00\x0c\x00\x0e\x00\x0c\x01\x00\x01\x0c\x00\x00\x00\x0c\x00S\x00\x0c\x00\x00\x00\n\x00;\x00\x0f\x00\x04\x00\n\x00V\x00<\x00\x05\x00J\x00=\x00\n\x00Z\x00C\x00K\x00J\x00\\\x00E\x00B\x00]\x00B\x00Z\x00\x1a\x00T\x00B\x00[\x00M\x00u\x00i\x00T\x00B\x00T\x00M\x00K\x00[\x00K\x00l\x00B\x00J\x00=\x00v\x00C\x00a\x00W\x00A\x00\x02\x00\n\x00V\x00\x02\x01\n\x00A\x00\x02\x00\x05\x00\x00\x10\x02\x00\x00\x01\x16\x00\x00\x01\x16\x00\n\x00\x0e\x00G\x01p\x00F\x00N\x00p\x00b\x02F\x00w\x00F\x00U\x00N\x00b\x00A\x00F\x00D\x00b\x00D\x00\x01\x01s\x00b\x00A\x00\x1a\x00@\x00G\x00\n\x01\x1a\x00\x0e\x00\b\x00D\x00\n\x00\x00\x00;\x00\n\x00\x00\x00A\x00\n\x00\x00\x00\x1a\x00\x02\x00\x00\x00\x1a\x00\x0c\x00O\x00\n\x00\x00\x00U\x00\x00\x00@\x00\t\x00\x1e\x00\x17\x00\x10\x00\x13\x00\x14\x00\x17\x00\x13\x01)\x01&\x00m\x003\x00x\x00t\x00?\x000\x008\x01/\x007\x02Q\x00+\x00h\x00)\x00h\x00>\x00\x20\x00\x1e\x00>\x005\x00+\x005\x00.\x00Q\x007\x00/\x008\x00/\x020\x00/\x008\x00/\x000\x00/\x005\x00\x1d\x00\x1c\x01\x03\x00\b\x00\x0e\x00;\x00\x0e\x00a\x00!\x00\x00\x00=\x00\x00\x00\x0c\x00\x0e\x00\x0c\x00\x0e\x00\x0c\x01\x0e\x00\x00\x01\b\x00\x16\x00\n\x01\x02\x00B\x00=\x00\x0e\x00=\x00J\x00\n\x00S\x00J\x00A\x00C\x00V\x00A\x00y\x00K\x00Z\x00B\x00Z\x00B\x00]\x00M\x00T\x00B\x00z\x00{\x00|\x00o\x00Z\x00U\x00}\x00U\x00y\x00z\x00C\x00y\x00Z\x00C\x00\\\x00o\x00\x0e\x00A\x00\x1a\x00\x02\x00\x04\x00F\x00\n\x00\x04\x00;\x00B\x00\x02\x01\x00\x00\x04\x00\x02\x00\x00\x0f\x05\x00\x00\x01\x16\x00\x0c\x01J\x00=\x00\n\x00N\x00~\x00W\x00N\x00p\x00F\x00N\x00D\x00F\x00~\x00Z\x00l\x00\x7f\x00D\x00b\x00\x10\x00a\x00N\x00D\x00N\x00\x80\x00q\x00a\x00N\x00W\x00\x16\x00W\x00A\x00\x1a\x00W\x00=\x00;\x00=\x00W\x00\x00\x00\n\x00G\x00\x00\x00\x0c\x00\x1a\x00\x00\x00O\x00\n\x00\x00\x00\x1a\x00\x00\x00<\x00A\x00\x0c\x00M\x00\x00\x00W\x00=\x00\x16\x00J\x00\x0b\x00\x1a\x00\r\x00\t\x00s\x00\x17\x00\x1d\x00(\x00\x81\x00\x82\x00M\x00k\x004\x008\x017\x01Q\x01I\x00e\x005\x00>\x00h\x00>\x00\x1c\x00\x20\x00I\x00)\x00>\x01+\x005\x00I\x00.\x00/\x000\x02\x83\x01\x84\x004\x000\x028\x00*\x00.\x00\"\x00)\x01\x14\x00\x13\x01\x1b\x00\a\x00\x16\x00\x05\x00G\x00\x0c\x00;\x00\x0c\x00\x00\x00;\x00\x0c\x00\n\x00;\x00\x04\x00\x0e\x00\x0c\x01G\x00A\x00\x02\x00\n\x00\x1a\x00A\x00\x0f\x00B\x00Z\x00A\x00B\x00]\x00\\\x00z\x00B\x00M\x00c\x00w\x00Z\x00U\x00]\x01U\x00[\x00\\\x00\x85\x00u\x00\x86\x00\x87\x00z\x01K\x00Z\x00K\x00[\x00z\x01T\x00\\\x00^\x00A\x00;\x00o\x00<\x00S\x00J\x00;\x00\x04\x00;\x00\x1a\x00\x05\x00\x04\x00\n\x00\x0e\x00\x02\x00\x0c\x00\x00\x0f\x0e\x01\x00\x00\x0e\x00G\x00\x0c\x00\x0f\x00k\x00B\x00b\x00N\x00k\x00\x80\x00b\x00\x88\x00s\x00\x80\x01l\x00\x89\x00y\x00\x7f\x00g\x00b\x00F\x00D\x00N\x00s\x00\x8a\x00\x88\x00b\x00g\x00~\x00D\x00s\x00N\x00D\x00G\x00@\x00g\x00=\x00\n\x00A\x00\x16\x00\x00\x00O\x00\n\x00\x00\x00J\x00\x02\x00\x0c\x00J\x00\x05\x00J\x00\x02\x00<\x00M\x00\x05\x00U\x00\x00\x00U\x00S\x00\\\x00\x1a\x00\x16\x00k\x00\x03\x00\r\x00\x13\x01(\x00&\x00\x8b\x00k\x00O\x003\x00t\x00*\x007\x00.\x001\x00\x84\x00$\x007\x00.\x00+\x00h\x005\x00>\x00\x1c\x01>\x00\x20\x01>\x01)\x00+\x00I\x017\x00/\x000\x00\x84\x00~\x00b\x00\x83\x009\x004\x00&\x00\x1f\x00)\x00\x1d\x00\x20\x00\x01\x01\x0e\x00\x0c\x00\x16\x00!\x00\x01\x00\x0c\x01=\x00\x0c\x00\x16\x00\x0c\x01\x01\x00\n\x00@\x00\x0c\x00\x0e\x00G\x00\x0c\x01a\x00O\x00\x1a\x00\x0e\x00\x02\x00\x1a\x00A\x00;\x00B\x00k\x00P\x00z\x00M\x00o\x00K\x00o\x00T\x00y\x00\x8c\x00L\x00]\x00T\x01[\x00L\x00|\x00^\x00\x8d\x00u\x00\x8e\x00|\x00J\x00[\x00M\x00c\x00T\x00z\x00M\x00u\x00{\x00O\x00Z\x00B\x00C\x00Z\x00B\x00\x04\x00\x16\x00\x1a\x00\n\x00\x02\x00\x04\x00;\x00\n\x00\x0c\x00\x00\x00\x0c\x00\x02\x00\x0c\x00\x00\n\x0e\x00\x05\x00\x00\x00\x0e\x00\x16\x00\x0c\x01G\x00@\x00B\x00[\x00D\x00\x7f\x00\x88\x00F\x00b\x00\x88\x00D\x00\x80\x00~\x01w\x00r\x00\x80\x00N\x00b\x00\x88\x00N\x00\x80\x00\x8f\x00s\x00q\x00F\x00l\x00\x89\x00\x8a\x00\x88\x00W\x00s\x00A\x00@\x00b\x00B\x00\x0e\x00A\x00g\x00\x00\x01\x1a\x00\x02\x00=\x00A\x00\x00\x00V\x00;\x00g\x00=\x00C\x00g\x00<\x00]\x00S\x00{\x00\x10\x00^\x00\x10\x01k\x00\r\x00k\x00\x10\x00\x17\x00m\x00\x18\x00\"\x00x\x00\x8b\x003\x00\x8b\x00(\x00\"\x01'\x00.\x02I\x005\x00h\x00+\x00>\x01e\x00>\x00\x20\x01)\x01+\x015\x00e\x00.\x007\x01\x84\x00s\x00W\x00s\x00\x83\x004\x00\x84\x004\x00\x84\x01&\x01\"\x00(\x00\x13\x00s\x00\r\x00\a\x00a\x00\x0c\x00G\x00\x0e\x00W\x00@\x02\x0c\x00@\x00\n\x00@\x00;\x00W\x00;\x00\x0e\x00\x02\x00;\x00\x1a\x00<\x01J\x00\x1a\x00A\x00U\x00F\x00Z\x00\x8c\x00|\x00\x90\x00o\x00E\x00T\x00\x85\x00\x8e\x00}\x00U\x00K\x01T\x00|\x00^\x00\x91\x00\x92\x00r\x00[\x00U\x00Z\x00T\x00K\x00o\x00T\x00\x93\x00u\x00U\x00K\x00w\x02J\x00\x1a\x00J\x00V\x00A\x00\x16\x00B\x00\x1a\x00;\x00\x00\x00\x0c\x00\n\x00S\x00\x0c\x00\x00\b\x04\x00\x00\x00\x0c\x00\a\x00s\x00k\x00\x13\x00s\x02m\x00F\x00A\x00l\x01D\x00p\x00N\x00b\x00s\x00D\x00N\x00\x80\x00\x94\x00\x95\x00}\x00\x80\x00\x88\x01q\x00~\x00\x96\x00\x80\x00D\x00s\x00\x80\x00\x8a\x00E\x00l\x00b\x00N\x00G\x00J\x00U\x00G\x01\a\x00\x0e\x00C\x00W\x00=\x00J\x00\n\x00\x0e\x00{\x00;\x00M\x00C\x00M\x00Z\x00U\x01!\x00K\x00A\x00U\x00C\x00\x93\x00A\x00=\x00J\x00\x16\x00E\x00\x17\x00\x14\x00&\x00*\x00t\x00\x8b\x00&\x00\x81\x009\x004\x009\x004\x007\x00Q\x01I\x015\x00$\x00I\x00)\x00h\x00)\x00>\x01.\x00>\x00%\x00+\x00.\x00>\x00+\x00I\x004\x000\x00\x83\x00(\x00m\x00\x84\x004\x01\x84\x00\"\x00n\x00\x20\x00\x1c\x00H\x00\x0b\x00D\x00M\x00D\x00@\x00a\x00A\x00;\x00b\x00A\x00N\x00@\x00\x16\x00\n\x00=\x00A\x00=\x00\x1a\x00\x0c\x00\x02\x00\x1a\x01\x02\x00@\x00a\x00J\x00C\x00O\x00]\x00O\x00\x1a\x00]\x00U\x00y\x00z\x00}\x00\x85\x00T\x00l\x00Z\x00\x92\x00\x8c\x00}\x01T\x00u\x00|\x00u\x00\x97\x00\x98\x00T\x00|\x00T\x00u\x00K\x00u\x00|\x00u\x00\x86\x00}\x00\x99\x00w\x00[\x01A\x00=\x00J\x00B\x00\n\x01A\x00\x0e\x00\x0c\x00\x00\x00\x02\x00\x16\x00;\x00\x00\n\b\x00\x04\x01\x00\x00\x05\x00\x0b\x00@\x00a\x00b\x00q\x00s\x00\x8f\x00\x9a\x00\x80\x00\x95\x00\x89\x01l\x00q\x00b\x00l\x00\x88\x01\x9b\x00\x9a\x00r\x00\x9c\x00b\x00N\x00\x8a\x00\x96\x00\x9d\x00\x88\x00\x80\x00\x8a\x00\x96\x00\x9a\x00N\x00J\x00~\x00g\x00G\x00\x89\x00k\x00F\x00E\x00Z\x00=\x00W\x00J\x00S\x00<\x00\x1a\x00=\x00{\x00v\x00\x1a\x00U\x00T\x00c\x00U\x00K\x00\x0e\x00T\x00=\x00E\x00\\\x00Y\x00c\x01k\x00\x82\x00\x14\x00s\x003\x00)\x01(\x00\"\x00&\x00-\x006\x00?\x004\x00*\x008\x01*\x00Q\x00*\x000\x005\x02>\x00h\x005\x00>\x00'\x004\x00\"\x00)\x00e\x00I\x017\x00.\x00*\x004\x009\x00\x83\x004\x000\x008\x01$\x00\"\x00&\x00(\x01\x14\x01w\x00\x10\x00G\x00a\x00G\x00\x01\x00N\x00s\x01b\x01\x0e\x00J\x00S\x00G\x00b\x00@\x00;\x01@\x00Z\x00A\x00;\x01k\x00{\x00\\\x00u\x00U\x01[\x00y\x00o\x00T\x00\x9e\x00\x98\x00\x9f\x00T\x00|\x00\x8c\x00\x99\x00\x9f\x00u\x00|\x01\x90\x00\xa0\x00\xa1\x00u\x01y\x00T\x00|\x00\xa2\x00\xa1\x00\x91\x00\x99\x00\x8e\x00r\x00K\x01F\x00M\x00]\x00C\x00=\x00A\x00\x1a\x00\x02\x02A\x00G\x00\x02\x00\x00\x00\x0c\x00\x00\x01\x0c\x00\x00\b\x0e\x00;\x00\x00\x00\n\x00\x01\x00G\x00W\x00a\x00b\x00\x7f\x00\x80\x00\x9d\x00\x9a\x00\xa3\x00~\x00\xa4\x00~\x00N\x00p\x01\x80\x00l\x00\xa5\x00\xa6\x00\x89\x00N\x00\x9c\x00\xa5\x00\x96\x00\x9c\x00\x80\x00\xa5\x00\xa7\x00\x89\x01s\x00p\x00N\x00p\x00w\x00D\x00g\x00\x7f\x00W\x00D\x00w\x00\x10\x00J\x00l\x00\x1a\x00Z\x00B\x00V\x00\xa8\x00B\x00[\x00y\x00\\\x00T\x00[\x00A\x00T\x00=\x00Z\x00^\x00\xa9\x00\xaa\x00u\x00W\x00J\x00O\x00\x14\x00\x8b\x00\"\x00t\x00&\x00(\x00\x84\x004\x008\x004\x00/\x008\x000\x004\x007\x000\x01.\x005\x00.\x01+\x00.\x00?\x00+\x00.\x000\x009\x00'\x00+\x00.\x00*\x00Q\x007\x00Q\x007\x00$\x004\x006\x004\x007\x00/\x00\x83\x005\x00n\x00\xab\x01\x0b\x00@\x00~\x00F\x00\x10\x00D\x00\xab\x00b\x00\x7f\x00Z\x00J\x00\x7f\x00b\x00a\x00p\x00;\x00G\x00a\x00F\x01G\x01a\x00F\x00J\x00C\x00=\x00J\x00M\x00U\x00\x90\x00Z\x00{\x00}\x00r\x01[\x00|\x00\xac\x00\x9e\x00|\x01\x99\x00\xac\x00|\x01\x86\x00\xad\x00\xac\x00\x86\x00r\x00u\x00r\x00\x8e\x00\xad\x00\x86\x01\xae\x00\x98\x00w\x00g\x00K\x00V\x00U\x00Z\x00A\x00C\x00V\x00O\x00\n\x00S\x00;\x00J\x00<\x00\x02\x00\n\x01;\x00\x0e\x00\x02\x00\x0c\x00\x00\x05\x0e\x01\x00\x01\x02\x00G\x00@\x00\x0e\x00a\x00F\x00:\x00D\x00N\x00\x88\x00\x80\x00\x96\x00\xaf\x00\xa6\x00\x80\x00\xa3\x00\x8a\x00\x80\x00\x7f\x00s\x00~\x00\xb0\x01\x89\x00p\x00\x9a\x00\x96\x00\x9c\x00\xb1\x00\xb2\x00\x96\x00\xb3\x00p\x00\x80\x00p\x00s\x00p\x00w\x00~\x00\x80\x00~\x00\x8b\x00~\x00\x10\x00W\x00J\x00G\x00w\x00c\x00[\x00U\x00B\x00u\x00\xb4\x00}\x00[\x00w\x00[\x01U\x00y\x00J\x00K\x00\x90\x01_\x00\x85\x00\x14\x003\x00m\x003\x00\x10\x01s\x00\"\x009\x00-\x008\x004\x016\x004\x00\x84\x007\x010\x00$\x00I\x00$\x00*\x005\x00.\x00*\x006\x005\x00I\x000\x01?\x00*\x005\x007\x000\x00/\x027\x000\x01\x83\x004\x00$\x005\x004\x00\"\x00\x83\x00\x8b\x00(\x00\x10\x00~\x00F\x00\x1a\x00D\x00b\x00q\x00\x7f\x00l\x00N\x01F\x00J\x00]\x00W\x00N\x00s\x00\x80\x00s\x00J\x00p\x00O\x00G\x00J\x00c\x00[\x00~\x00w\x00k\x00[\x00^\x00o\x00K\x00}\x00T\x00c\x00u\x00\x86\x00\x92\x00\xb5\x00\x9f\x00|\x00\xac\x00\x98\x00\x9f\x00\xa1\x00\xa0\x00\xb6\x00|\x00\x86\x00r\x00\xa1\x01\x91\x00r\x00\xae\x00\x9f\x00r\x00L\x00c\x00L\x00U\x00Z\x00\x1a\x00B\x00J\x00=\x00C\x00=\x00J\x00B\x00\x02\x01\n\x00A\x01\n\x00\x02\x00\x00\x01\x0c\x00\x00\x05\x04\x00\x16\x00\x0e\x00\x00\x00\x0c\x00;\x00G\x00@\x00W\x00F\x00b\x01F\x00\x88\x00s\x00\x9d\x00\x94\x00\x8a\x00\x95\x00\x9b\x00\xa5\x00\x8a\x00~\x00\x89\x00\xa3\x00\xb7\x00\x8a\x01\x94\x00\xb1\x00\xa4\x00\x94\x00\x8a\x00\x95\x00\x89\x00\x9c\x00\x88\x00\x9c\x00\x8a\x00\x95\x00\x9a\x02~\x00[\x00Z\x00\x1a\x00A\x00Z\x00W\x00B\x00~\x00y\x00\x81\x00T\x00u\x01K\x00}\x00r\x00p\x00y\x00F\x00r\x00L\x00K\x00\xb8\x01Y\x00K\x00M\x00]\x00B\x00l\x00\x13\x003\x00\x8b\x00)\x00(\x00\x84\x004\x009\x01?\x004\x00\x18\x00\x1c\x00\x1f\x007\x00Q\x00$\x007\x00.\x00I\x007\x000\x006\x00.\x005\x00*\x006\x027\x00.\x007\x000\x00/\x03\x83\x00\x84\x01\"\x00\x84\x01I\x00n\x00q\x00s\x01w\x00~\x00s\x00b\x00k\x00b\x00\x88\x00\x80\x00p\x00\x88\x00N\x00w\x00L\x00N\x00\x8f\x00~\x00F\x00@\x00G\x00W\x00U\x00F\x00@\x00\x0e\x00]\x00w\x00c\x00\xa6\x00\x99\x00\x8e\x00|\x00\x85\x00z\x00u\x00r\x00u\x00\x90\x00\x86\x00\xa1\x00\xb9\x00\x98\x00\x9f\x00\xba\x00\xad\x00\x98\x00\xb9\x00\xbb\x00\xa1\x00\x86\x00\x98\x00\xad\x00\x91\x00\xa1\x00\xa0\x00\x99\x00u\x00T\x00c\x00T\x00Z\x00K\x00M\x00F\x00V\x00C\x00@\x00J\x01=\x00\x02\x00<\x00\x1a\x01=\x00\n\x00\x02\x00\x00\x00\x0c\x00\x02\x00\x00\x04\n\x00\x00\x02\x0e\x00G\x00\x0e\x00a\x00\x0e\x00\xab\x00G\x01F\x00b\x00F\x00N\x01s\x00\x8a\x00\x94\x00\xb0\x00\xa4\x00\xbc\x00\xa5\x00\x89\x00\x9b\x00\xbd\x00\x94\x00\x96\x00\xb0\x00\x96\x00\x8a\x00\xb7\x00\x8a\x00\xb3\x00\x8e\x00\x89\x00p\x00~\x00\x96\x00\xaf\x00\x9a\x00\x8a\x00\x7f\x00\x89\x00\xb3\x00D\x01l\x00B\x00W\x00Z\x00M\x00J\x00Z\x00y\x00\x9e\x00}\x00`\x00\x89\x00\x9f\x01\x89\x00y\x00U\x00|\x00r\x00T\x00\xbe\x00\x90\x00|\x00M\x00Z\x00l\x003\x01k\x00\x10\x00\x17\x00\x81\x004\x00'\x00&\x009\x01\x83\x008\x00+\x00\x15\x00\"\x007\x00*\x007\x00*\x00\"\x00.\x000\x016\x00.\x005\x007\x006\x000\x006\x018\x00$\x007\x00-\x000\x00/\x027\x00\x83\x00\x84\x00n\x02&\x00\"\x00\x13\x00s\x00N\x00~\x00\x7f\x00\x88\x00N\x00D\x00b\x00N\x00p\x00l\x00E\x00\xb3\x00~\x00\x9a\x00\x80\x00b\x00N\x00F\x01@\x00G\x00V\x00Z\x00\x1a\x01C\x00}\x00u\x00}\x00\x8e\x00\xbf\x00\xc0\x00\xae\x00\x98\x00|\x02\x86\x00\xa1\x00\x98\x00\xb9\x00\xa1\x00\xa0\x00\xb9\x00\xac\x00\xc1\x00\xc2\x00\xa1\x00\xad\x00\xb5\x00\xbb\x00\x91\x00\xb9\x00\xad\x00|\x00u\x00r\x00u\x00K\x00[\x00U\x00]\x00M\x01B\x00Z\x00B\x00;\x00<\x00M\x00E\x00U\x00B\x00W\x00=\x00S\x00;\x01\x0e\x00\x00\x03\x0c\x01a\x00G\x00\n\x00\x00\x00\x05\x00G\x00b\x00a\x00D\x00G\x00F\x00b\x01N\x00E\x00s\x00p\x00\x80\x00\x8a\x00\x94\x00\xa3\x00\xa4\x01\xb0\x00\xbc\x00\xa3\x00\xc3\x00\xb7\x00\xa5\x00\x96\x00\xb7\x00\xbc\x00\xb3\x00\xa6\x00\x89\x00\x9b\x00\xb0\x00\x94\x00\xa4\x00\x9c\x00~\x00\x89\x01l\x00N\x00l\x00F\x00W\x00y\x00W\x00J\x00[\x00M\x00]\x00U\x00\x9f\x00\x99\x00\x91\x00\x9f\x00|\x00r\x00\xb3\x00w\x00T\x00u\x00r\x00|\x00\x91\x00u\x00|\x00[\x00k\x00J\x00[\x00U\x00\x14\x003\x00t\x00(\x00t\x009\x00x\x00$\x004\x02*\x004\x007\x024\x007\x00Q\x016\x00?\x000\x00*\x00e\x00Q\x00/\x006\x03/\x00$\x007\x000\x02/\x015\x00n\x00\x8b\x00\x84\x00\x13\x00s\x01q\x00\x8b\x00w\x00\x8e\x00s\x00\x80\x00\a\x00N\x00g\x00p\x00g\x00w\x00\xb3\x00\x95\x00\xa7\x00\x8a\x00E\x00N\x00W\x00F\x00b\x00J\x00b\x00\x1a\x00g\x00E\x00T\x00B\x00l\x00y\x00}\x00y\x00r\x00y\x00\x9f\x00\xae\x00\xc0\x00\xad\x00\x9f\x00\x86\x01\x91\x00\xad\x00\xb9\x00\xac\x00\xc1\x00\xc4\x00\xc5\x00\xc2\x00\xad\x00\xb5\x00\x97\x00\xbb\x00\xa0\x00\xac\x00|\x01r\x00|\x00u\x00K\x00T\x00r\x00\x85\x00\x81\x00\x99\x00\x8e\x00w\x00[\x00K\x00J\x00B\x00M\x00T\x01[\x00E\x00C\x00<\x00\x00\x05\n\x00W\x00b\x00D\x00G\x00\x16\x00@\x00\x03\x00s\x00\x9d\x00\x8a\x00\x8f\x00s\x00\x80\x00\x88\x00\x7f\x00~\x00\x9c\x02\x9b\x01\x94\x00\xa3\x00\xa6\x00\xb7\x00\xa5\x00\xa3\x00\xc3\x00\xb7\x00\x96\x00\xb7\x00\xc6\x00\x9b\x00\xbd\x00\xb3\x00\xa4\x00\x94\x01\xa4\x00\x95\x01\xa4\x00\xa6\x00\xa3\x00\x9b\x00~\x00\x8a\x00\x95\x00\x8b\x00\xa4\x00\x95\x00s\x00k\x00U\x00K\x00[\x00\x87\x00\x98\x00\xc0\x00\xbe\x00\xa1\x01\x9f\x00|\x00T\x00}\x01\xae\x00\x86\x00\x93\x00z\x00[\x00J\x00c\x00~\x00\x81\x00k\x00J\x00\x8b\x00t\x00\x8b\x00\x13\x00&\x00x\x008\x00?\x009\x016\x000\x00\x84\x010\x00Q\x007\x016\x000\x008\x01.\x007\x016\x00?\x006\x01-\x007\x00$\x00&\x00\x83\x00/\x00\x83\x00\"\x00$\x00\x84\x00(\x00\x15\x00s\x00(\x00\x8f\x00F\x00p\x01\xa6\x00\xa4\x00\x9c\x00F\x00E\x00p\x00T\x00y\x00|\x00\x85\x00\x8e\x00r\x00y\x00\x85\x00L\x00U\x00b\x00A\x00g\x00F\x00Z\x00p\x00g\x00L\x00w\x01l\x00\x95\x00\x8e\x00|\x03\xac\x00\xc7\x01\x91\x01\x8d\x00\xbb\x00\xa0\x00\xb5\x00\xac\x00\xc4\x00\xa0\x00\xc5\x00\xc1\x00\xa0\x00\xbb\x00\xa0\x00\xb5\x00\xa1\x00\x86\x01|\x00u\x00}\x00\x8c\x00\x98\x00\xae\x00\x98\x00r\x00K\x00]\x00z\x00k\x00U\x00]\x00[\x00w\x00T\x00o\x00L\x00T\x00\x1a\x00\x02\x00\x0c\x00\x02\x00\n\x00\x02\x00\x0c\x00a\x00N\x00k\x00F\x00E\x00b\x01\x10\x00N\x01\x80\x01m\x00\x96\x00\xa7\x00\xb2\x00\x8a\x01p\x00~\x00\x89\x01\x9b\x00\xa4\x00\xb7\x00\xa3\x00\xb3\x00\x94\x00\xa3\x01\xb7\x01\x94\x00\xa6\x00\xbd\x00\xa3\x00\xb0\x00\xb7\x01\xc3\x00\xa3\x00\xa4\x00\x89\x00y\x00w\x00\x8e\x00~\x00\x9a\x00~\x00\x8a\x00~\x00k\x00~\x00[\x00\x89\x00w\x00T\x00}\x00\xb8\x00\x86\x00\x97\x00\xad\x00\x86\x00\xad\x00\x8c\x00r\x00y\x00|\x00r\x00\x92\x00\x86\x00\x90\x00}\x00K\x00z\x00w\x00o\x00[\x01\x81\x013\x00s\x00t\x00\xc8\x00\"\x004\x00t\x004\x006\x004\x00t\x00$\x00*\x00/\x007\x000\x00*\x006\x000\x008\x00*\x00Q\x000\x00/\x000\x006\x04/\x00\x84\x00&\x004\x00\x83\x02$\x01&\x00s\x00q\x00\xab\x00\x8b\x00m\x00~\x01\xa5\x00\x9c\x00K\x00u\x00\x90\x01\xb8\x00\xc9\x00\xb8\x04\x90\x00\xa9\x00\x93\x00c\x00s\x01\x8a\x00\x89\x00\x81\x01\xa6\x01T\x00B\x00p\x00\xbd\x00\xba\x00\xc0\x00\xac\x02\xa0\x00\xb9\x00\xac\x00\xbb\x00\xc2\x01\xca\x01\xc4\x00\xa0\x01\xb5\x00\xbb\x00\xa0\x00\xca\x00\x91\x01\xa1\x02|\x00\x99\x00\x97\x00\x91\x00|\x00^\x00J\x00[\x00K\x00V\x00M\x00B\x00E\x00r\x00y\x00{\x00f\x00z\x00M\x00B\x00A\x01;\x00\x0e\x00\x00\x00\x0c\x00\x16\x00s\x00U\x00M\x00k\x00\x80\x00b\x00D\x00G\x00a\x00b\x01D\x00N\x00k\x00\x8e\x00\xa4\x00\xb2\x00\x9c\x00\xa4\x00\x9b\x00r\x00\x95\x00\x9b\x00\xb0\x00\xb7\x00\xa6\x00\xa3\x00\xb7\x01\xc6\x01\xc3\x00\xa6\x00\xbd\x00\xb0\x00\xb7\x01\x94\x01\xa3\x00\xa6\x00L\x00C\x00~\x00r\x00w\x00\x95\x01w\x00r\x00w\x00}\x00[\x00]\x00J\x00y\x00\x90\x00\xb8\x01\xa1\x00\xc0\x00\xa1\x00\xad\x01|\x00r\x00|\x01\xad\x00\xa1\x00\x86\x00K\x00}\x00z\x00y\x00|\x00\x8c\x01\x8b\x00]\x00k\x00t\x00\x85\x003\x009\x00\x84\x009\x01?\x00t\x00\"\x008\x000\x008\x00*\x000\x008\x006\x01*\x01Q\x00/\x010\x016\x00\x83\x00-\x000\x00/\x00\x83\x00\x8b\x00n\x00\x84\x01\x9d\x00\x84\x00\x83\x00n\x01\x8b\x00b\x00s\x00E\x00\x95\x00\x9b\x00\xbc\x00z\x00\xa9\x00_\x00\xb8\x00_\x00\xb8\x01\xa9\x00_\x00\xb8\x01_\x00\xb8\x00\xc9\x00\xb8\x00\xa9\x00\x90\x00\x8e\x00w\x00~\x00l\x00\x89\x01\x95\x00M\x00C\x00[\x00\x8e\x00y\x00\xa1\x00\x92\x00\xac\x00\xb9\x00\xc7\x00\xca\x00\xc4\x00\xc7\x00\xb6\x00\xc2\x00\xa0\x00\xc4\x01\xca\x01\xa0\x01\xc1\x00\xa0\x00\xbb\x01\xad\x01\xc7\x01\xbb\x00\x91\x00u\x00K\x01z\x00L\x00M\x00U\x00K\x00Z\x00U\x01T\x00y\x00L\x00c\x00l\x00B\x00<\x00\x02\x00\x00\x02\x05\x00@\x00J\x00E\x00C\x00\x1a\x00\x7f\x00\x88\x00b\x01\x16\x00G\x00b\x00g\x00N\x00b\x00p\x00w\x00\xa3\x00\xc3\x00\x94\x00\xa5\x00\xa4\x00\xbc\x00\x8c\x00\xa3\x00\xb0\x00\xaf\x00\xb0\x00\xb7\x00\xc6\x02\xb0\x00\xc3\x00\xc6\x00\xb7\x02\xb0\x00\xbc\x00\x8c\x01T\x00U\x00p\x00\x95\x00\x89\x00L\x00E\x00\xb3\x00z\x00\x8e\x00\x92\x00\x99\x00\x8e\x00z\x00y\x00|\x00\x90\x01}\x00\x98\x00\xba\x00\x91\x00\xad\x00\xac\x00r\x00\x86\x00|\x00\xbb\x00\xad\x00|\x00r\x00u\x00\x9f\x01\xc0\x00\x8e\x00c\x00\x14\x00\x81\x00\x85\x00`\x00\x8e\x00t\x00x\x01&\x00t\x009\x00\"\x00*\x00?\x004\x010\x026\x018\x00$\x007\x000\x03?\x00-\x000\x00-\x00\x83\x00/\x009\x00\x8f\x00\x13\x00\x83\x00n\x00m\x00\x9a\x00\xb2\x00\x9d\x00q\x00~\x00m\x00p\x00\x89\x00\xa4\x00\x81\x00\xb8\x00\xc9\x00_\x00\xb8\x00\xa9\x00\xc9\x00\xa9\x00\xb8\x01_\x00\xb8\x00_\x00\xb8\x01\x90\x00\xb8\x00\xa9\x00}\x00E\x00p\x00l\x00\x7f\x00l\x00\x89\x01w\x00l\x00\xb3\x00|\x02\xa1\x00\xad\x00\xa0\x00\xc1\x00\xca\x00\xc4\x01\xc1\x00\xa0\x00\xc4\x02\xb5\x00\xa0\x00\xc7\x00\xa0\x00\xbb\x01\xa0\x01\xb9\x00\xa0\x00\xad\x01\x9f\x00|\x01T\x00L\x00z\x00K\x00J\x00W\x00O\x00=\x00Z\x00[\x00Z\x00U\x01B\x00S\x00\x02\x00\x0c\x01\x02\x01\x00\x00;\x00N\x00p\x00\x80\x00~\x00g\x00W\x00a\x00\x0b\x00\x88\x00b\x01N\x00D\x00\x9c\x00p\x00\x80\x00\x8a\x00\xc3\x00\xb7\x01\x94\x00\xb0\x00\xa6\x01\xa3\x00\xa4\x00\xb7\x01\x94\x00\xb7\x02\xb0\x00\xc6\x01\xc3\x00\xa3\x00\x8c\x00\x9f\x00\xb3\x01\x9f\x00\x99\x00\x9f\x00r\x01\x95\x00\xa6\x00Z\x00\xb3\x00w\x01\x9f\x00\x92\x00\x99\x00u\x01r\x02\x9f\x00\xac\x00\xa0\x00\xa1\x00\xac\x00\x9f\x00\x86\x00\x9f\x00\x97\x00\xc7\x00\xa1\x00r\x00\xa1\x00\xac\x00\x99\x00r\x00\x8e\x00w\x00\x8e\x00\x99\x00\x92\x00\x8e\x00c\x00\x81\x00t\x00\x14\x00\x8b\x00\x84\x00(\x00&\x00\x84\x00*\x000\x008\x004\x00-\x000\x00?\x000\x00/\x00I\x00*\x004\x000\x026\x000\x00\x83\x004\x00\x84\x004\x01\x81\x00\x8b\x00q\x00&\x00q\x01\x9d\x00\xb2\x00\x8a\x00\x9d\x00\x7f\x00\x8a\x00~\x00\xa4\x00\xa6\x00`\x00\xb8\x00\xa9\x00\xb8\x00\xa9\x00\xc9\x00\xb8\x04\xa9\x00\xb8\x00\xc9\x00\xb8\x00_\x00`\x01E\x02[\x00}\x00z\x00\x89\x00w\x00y\x00\x85\x00|\x00\xa1\x01\x91\x00\xbb\x00\xc5\x00\xb6\x00\xc1\x00\xc4\x00\xb9\x00\xb5\x00\xc4\x03\xac\x00\xca\x01\xa0\x00\xac\x00\xc1\x00\xca\x00\xb5\x00\xca\x00\xa0\x00\xb5\x00\xba\x00\xa0\x00\xae\x00\xc7\x00\x92\x00\xba\x00y\x00]\x01L\x00Z\x00J\x00A\x01C\x00J\x00B\x00=\x00;\x00A\x01;\x01\x04\x00\x00\x00\x02\x00a\x00b\x00W\x00D\x00G\x00F\x00b\x00G\x01b\x00D\x00\x80\x00\x8f\x00\xb2\x00\xa5\x00\x94\x00\xa5\x02\xb0\x00\xb7\x00\xc3\x00\xc6\x00\xb7\x00\x96\x00\xb0\x00\xb7\x00\xa4\x00\x94\x00\xb7\x01\xc6\x02\xb7\x00\xc3\x02\xbd\x00\xa3\x01\xbd\x00\xba\x00\xbd\x00\xa6\x00\xb3\x00\x89\x02l\x00\x89\x00l\x00[\x00\x9f\x00\xad\x00\xae\x00\x9f\x00}\x00\x9f\x00|\x00\x9f\x00\xa1\x00\xc7\x00\x91\x00\xa0\x01\x86\x00\x91\x00\xc5\x00\xb5\x00\xa1\x00\xad\x00\xb9\x00\x98\x00|\x00\x9f\x00\x9e\x00\xba\x00\xae\x01\xbf\x00}\x00\x01\x00\x81\x00m\x00\x81\x00\x84\x00(\x00m\x00t\x000\x014\x01\x83\x00?\x000\x006\x00?\x008\x00\"\x008\x010\x006\x010\x00\x83\x006\x00\x84\x00\x83\x00&\x00\x83\x00\x8f\x00\x95\x00\xa4\x00\x9a\x00\x8f\x00\x9d\x00N\x00\x8f\x01\xa5\x00\xa4\x00\x89\x00\x9c\x00\x94\x00\xa7\x00\xcb\x00\xc9\x00\x93\x01\x87\x00\x90\x00\x93\x00\xb8\x01\xa9\x00\xb8\x00\xc9\x00\xb8\x00\xc9\x00\xcc\x00\xcd\x01X\x00k\x00w\x01u\x01w\x00|\x01\xa1\x01\xad\x00\x91\x00\x8d\x00\xb6\x00\xbb\x00\xc5\x00\xb6\x00\xc1\x00\xca\x01\xc4\x00\xac\x00\xb5\x00\xc4\x01\xb6\x00\xb5\x00\xac\x00\xad\x00\xb5\x00\xca\x00\xa0\x00\xc2\x00\x91\x01\xa1\x02|\x00r\x00y\x00\x8e\x00\x9f\x00\x8e\x00}\x00M\x00B\x00C\x00=\x00B\x00U\x00]\x00U\x00\x1a\x00=\x00\n\x00\x00\x05@\x00a\x01\x0c\x00a\x02b\x01s\x00\x8a\x01\xb1\x00\x80\x00\x9c\x01\x89\x00\x9b\x00r\x00\xbc\x00\xa6\x00\xa3\x00\xc3\x00\xc6\x01\xb1\x00\xc6\x00\xbc\x00\xa5\x00\x94\x00\x96\x00\xb1\x00\xb7\x06\xaf\x02\x94\x00\xaf\x02\xa7\x01\x8a\x00y\x00l\x00r\x01[\x00\x86\x00\x91\x00\xad\x00}\x00|\x01\x86\x00\xa1\x00\xc7\x00\xb6\x00\xbb\x00\xb5\x00\xad\x00\xbb\x00\xc5\x00\xb5\x00\xac\x00\xb9\x00\x98\x00\xa1\x00\x98\x00\xb9\x00\x98\x00\xa1\x00\xa2\x00\x81\x00\xa1\x00\x85\x00\x81\x01\x14\x003\x00k\x00X\x00\x11\x009\x004\x009\x00t\x004\x00-\x004\x000\x006\x00?\x008\x00$\x01)\x000\x00?\x004\x00\x83\x00-\x00$\x00\x84\x00n\x00\x84\x00n\x00k\x00=\x00\xa7\x00\xce\x00\xa5\x00\xb2\x00\x9a\x00\x96\x00\x9d\x00\xb1\x00\xa5\x00\xb0\x00\xb1\x00\x96\x00\xa6\x00\xcc\x00\xb8\x00\x93\x00{\x00C\x00f\x00\xb4\x00^\x00\x93\x00\xa9\x00\xc9\x01\xcc\x00d\x01\xcd\x01\x8e\x00p\x00\x7f\x00E\x00\x89\x01r\x00\x8e\x00\x99\x00\x98\x00\xc7\x00\xa0\x00\xc7\x00\xca\x06\xc4\x01\xba\x00\x9f\x00\x98\x00\xc0\x00\xbe\x00\x8c\x00|\x00\xb5\x01\xa0\x00\xc2\x02\xbb\x00\x91\x00\x86\x01|\x01}\x00K\x00M\x00T\x00w\x00y\x00[\x00L\x00J\x00V\x00f\x00S\x01\x05\x00\x00\x01\x0c\x02\x00\x02\x0e\x00\x16\x00\x01\x00b\x00\x01\x00G\x02N\x00s\x00q\x00\x88\x00\x7f\x00p\x00\x9c\x00\x89\x00\x95\x00r\x00\x95\x00\x8e\x00\x98\x00\x99\x00\xa3\x00\xc3\x00\xb0\x00\xa5\x00\xb1\x00\x89\x00~\x00\x96\x01\xb7\b\xb0\x00\xbc\x00\xbd\x00\xbc\x00\xa4\x01\x9b\x00\x8c\x00\xbd\x00\xa7\x00\xce\x00\x9f\x00\x85\x00\x9f\x00|\x00\x91\x01\xc0\x00\xac\x00\xa1\x01\x91\x00\xad\x00\xca\x00\xbb\x00\xa0\x01\xc2\x00\xa0\x00\xca\x00\xb9\x00\xad\x00\xac\x00\xb5\x00\xae\x00\x91\x00\x86\x01Y\x00u\x00w\x00\x81\x003\x00~\x00t\x00c\x01k\x00&\x009\x01\"\x009\x00$\x004\x01\x84\x00-\x009\x008\x00'\x005\x00n\x00*\x000\x00.\x00\x84\x00$\x00&\x00\x84\x00n\x00\x8f\x00\x8b\x00m\x01\xa7\x01\xce\x00\x8a\x00\x96\x00\xb2\x00\x94\x00\x8a\x00\xb1\x00\x96\x00\xa5\x00\x94\x00\xa3\x00\xcb\x00\xa9\x00\x87\x00\xb4\x00S\x00<\x00\\\x00i\x00\x87\x00\x93\x00\xc9\x00\xcb\x00\xcc\x00d\x00\xcf\x00\xcd\x00\xd0\x01r\x00~\x00w\x00\x8e\x00\x9e\x00\xbf\x00\x99\x01\x92\x00\xad\x00\xac\x00\x92\x00\xba\x00\xb5\x00\xc4\x05\xca\x00\xc7\x00\xac\x00i\x00_\x00\xd1\x00i\x00\xa1\x00\xb5\x00\xc1\x00\xc5\x00\xa0\x00\xc5\x01\xbb\x00\x91\x01\x86\x01|\x00u\x01\x85\x00[\x00L\x00U\x00Z\x00J\x00W\x00A\x02;\x00B\x02C\x00A\x01\x0e\x00\x00\x04\x02\x00a\x00W\x00D\x00\x88\x00N\x01\x7f\x00E\x00l\x01\x89\x00w\x00\xb3\x00\xa6\x01\xa3\x03\xb7\x00\x94\x00\xb0\x00\xa4\x00U\x00C\x00U\x00\x89\x00\xbc\x00\xb0\x00\xc6\x00\xc3\x00\xa6\x00\xbd\x00\xa3\x01\xc3\x00\xb7\x00\x94\x00\xaf\x00\xc3\x00\xa3\x00\x89\x01y\x00w\x00\x9e\x01\xbd\x00\xac\x00\xb9\x00\x9e\x00\xac\x00\xc5\x00\xad\x00\xc4\x00\xac\x00\x91\x00\xad\x00\xbb\x00\xca\x00\xa0\x00\xb6\x00\xca\x00\xa0\x01\xc4\x00\xb5\x00\xa0\x00\xca\x00\xa0\x00\xa1\x00\x86\x01|\x00w\x00\x85\x00\x81\x00}\x00\x85\x00`\x00u\x00o\x00k\x00\x82\x00t\x00$\x00&\x00\x18\x00\x84\x00&\x00\x8b\x009\x00$\x000\x018\x004\x00\"\x00/\x00*\x00$\x00\"\x009\x00\x18\x00\x84\x00(\x00t\x00\x88\x00$\x00&\x00\xce\x02\x89\x00\x81\x00\x95\x00\x9b\x00\x8a\x00\x94\x00\xa5\x00\x96\x00\xa5\x00\x94\x00\xa6\x00`\x00\xc9\x00\x87\x00i\x00S\x00f\x00\\\x00i\x00\x87\x00\xa9\x00\xb8\x00\xcb\x00\xcc\x00d\x01\xcd\x00\xd0\x00\x81\x01\xa7\x00\x99\x00\xce\x00\xa4\x00[\x00y\x00|\x00\x9f\x00\xa1\x00\xac\x00\xc1\x00\xb9\x00\xc7\x00\xc1\x00\xa0\x00\xc5\x01\xa0\x00\xc7\x00\xca\x00\xa0\x00\x91\x00_\x00\xd2\x00\xd3\x00_\x00\xa2\x00\xc7\x01\xc4\x00\xac\x00\xca\x00\xc7\x00\xc1\x00\xa0\x00\x91\x01\x86\x00\x90\x00u\x01^\x00u\x00o\x00Z\x00E\x00w\x00c\x00J\x00B\x00W\x00=\x00\n\x01\x02\x01\x00\x01\x0c\x00\x00\x00\x05\x00\x16\x00@\x00G\x00\x01\x00\x1b\x00\a\x00q\x00b\x00\x1a\x00\x16\x00g\x00N\x00E\x00p\x00\x89\x00\x9b\x00\xa4\x00\xb0\x00\xb7\x03\xc6\x00\xb7\x00\x94\x00\x95\x00K\x00\xb4\x00f\x00M\x00\xa4\x00\x94\x00\xb7\x01\xa3\x00\xa6\x01\x89\x00y\x00\xa6\x00\x8c\x00\xa3\x00\xb0\x00\xb7\x00\xaf\x01\x99\x00\x8e\x00\x89\x01\x9f\x01\xb3\x00\xa1\x00\x8c\x00\x98\x00\xae\x00\xb9\x02\xa0\x00\xbb\x00\xc5\x00\xc1\x00\xca\x00\xb6\x00\xca\x00\xc1\x01\xca\x00\xb5\x00\xc4\x00\xbb\x00\x8d\x01\x91\x00|\x00\xa1\x00\x98\x00\x9e\x00\x92\x00\xae\x00\x92\x00\x86\x00\x81\x01\xd0\x00\xce\x00t\x013\x00t\x00\x18\x009\x00%\x009\x00\"\x00?\x006\x00*\x00\x84\x00\"\x00)\x00-\x00)\x00'\x00n\x00(\x01m\x00\x13\x00\x81\x00\x9c\x00\x8b\x00\x8f\x00\x95\x00\x8b\x00\x80\x01\x81\x00\x99\x00\xb3\x00\xa4\x00\xa3\x00\xb7\x00\xc6\x00\xb7\x00\xa7\x00`\x00\xc9\x00\x87\x00i\x00S\x01\\\x00i\x00\x87\x00\x90\x00\xb8\x00\xcb\x00\xcc\x00d\x00\xcd\x01\xd0\x01\x8b\x00\x8e\x00\x95\x00\xb3\x00r\x00\x8a\x00y\x00\x8c\x00\xba\x00\xc0\x00\xba\x00\x98\x00\xad\x00\xc5\x00\xad\x00u\x00\x91\x00\xc2\x00\xbb\x00\xca\x00\xc4\x00\xb9\x01\xb8\x00\xd3\x01\xd1\x00\xbe\x00\x97\x00\xac\x00\xc1\x00\xc4\x00\xb5\x00\xc4\x00\xb9\x00\xc4\x00\xb9\x00\xc7\x00\xb6\x00\x86\x01\xb8\x00u\x00K\x00L\x00M\x01C\x00\x1a\x01a\x00\x0e\x00\x02\x00\n\x00\x00\x02\x0c\x00\x00\a\x0c\x00G\x01b\x00E\x00s\x00p\x00~\x00\xb3\x01\x8e\x00\xaf\x00\x94\x00\xc6\x00\x94\x00\xb7\x02\xc6\x00\xa3\x00\xa4\x01\x9b\x00E\x00W\x00\x80\x00\xa5\x00\x94\x00\xc6\x00\xb7\x00\xaf\x00\xb7\x00\x94\x00\xbc\x00\x95\x00\xa6\x00\x8c\x00\x95\x00\x9f\x00\x8e\x00\xa6\x01\xce\x00\xa7\x00\xa6\x00r\x00[\x00r\x00|\x01\xa1\x02\xad\x00\xa0\x01\xca\x00\xc1\x00\xc5\x00\xb6\x00\xb5\x00\xc1\x00\xa0\x00\xc4\x03\xb6\x00\xbb\x00\x8d\x00\xc2\x00\xad\x00\xa0\x00\xb9\x00\xc0\x00\xae\x00\x8e\x00\x99\x00\x85\x02u\x00w\x00\x81\x00\x8e\x003\x00\x14\x00\x8b\x00\x17\x00&\x00)\x00&\x001\x00'\x00?\x00.\x001\x00n\x01\x84\x00n\x004\x00)\x00\x84\x00\x80\x00\x84\x00m\x00\x8b\x00\x8f\x00\xa4\x00\xa7\x00\x8f\x00\xb2\x00\x8a\x01~\x00\xa4\x00\xa6\x01\x9f\x00\xb0\x00\xc6\x00\x94\x00\x9a\x00\xcc\x00\xa9\x00\x87\x00{\x00\n\x00=\x00\\\x00i\x00\x93\x00_\x00\xc9\x00\xcb\x00\xcc\x00d\x01\xcd\x01\xcf\x00l\x00\x89\x00E\x00l\x00p\x00\x8e\x00\x9e\x00\xbf\x00\x98\x00\x9f\x01\xad\x00\x91\x00\xbb\x00\xa1\x00}\x00\xb5\x00\xc4\x00\xb9\x00\xc4\x02\xae\x00T\x00_\x00\xd1\x00i\x00r\x00\xc7\x00\xc5\x00\xac\x00\xca\x00\xc1\x00\xa0\x00\xc7\x00\xb9\x00\xb5\x00\xac\x01\xae\x00\x99\x00|\x00\x90\x00}\x00K\x00]\x00J\x00{\x00J\x00]\x00V\x00\x1a\x00J\x00\x1a\x00V\x00\x1a\x00A\x01;\x00\x00\x04\x0c\x01@\x00a\x00W\x00A\x00b\x00l\x00\x89\x01\x9c\x00\xa3\x00\xb2\x00\x96\x01\x94\x01\xb0\x01\x94\x00\xb0\x00\xa4\x00\xb7\x00\xb0\x00\xb1\x00\xa5\x00~\x00\x95\x00\xb1\x00\xc6\x00\xb7\x02\xa3\x00\xb7\x01\xb0\x00\xb7\x00\xa3\x00\xa6\x00\xb3\x00w\x00\x89\x00\x9b\x00r\x00\x8e\x00\xce\x00\x8c\x01u\x00\x90\x00\x86\x00\xa1\x00\x86\x00\x91\x01\xbb\x01\xa0\x00\xca\x00\xb5\x01\xc1\x00\xb5\x02\xc4\x01\xa0\x00\xb6\x00\xc5\x00\xc1\x00\xc7\x01\xca\x00\xac\x01|\x00\x8c\x00\x9f\x00}\x00u\x00|\x00\x85\x01\xd4\x00\"\x00\a\x00m\x00\x14\x00(\x00\x14\x00\"\x00\x1d\x00.\x00Q\x004\x005\x00\"\x00)\x00n\x01(\x00\"\x00\x18\x00\x8f\x02\x8b\x00\x80\x00\x8b\x00\x9d\x00\x8b\x00\x9a\x01\x94\x02\xb0\x01\xa3\x00\xbd\x00\xa6\x00\xa3\x00\x94\x00\xa5\x00\xcb\x00_\x00\x93\x00i\x00=\x00S\x00\\\x00i\x00\x93\x00\x90\x00\xcb\x01\xbe\x00d\x00\xcd\x01\xd0\x01~\x00\x95\x00~\x00\xa6\x01\x9e\x00\x9f\x03\xa1\x00\x91\x00\xad\x00\xca\x00\xb9\x02\xa0\x00\xb6\x00\xca\x00\xc4\x01\x98\x00\x9f\x00\xbe\x00\x97\x00\x9e\x00\x9f\x00\x98\x00\xca\x00\xc1\x00\xb6\x00\xca\x00\xc7\x00\x91\x00\xad\x00\xc1\x00\xb9\x00\x98\x00\x9f\x00\xa1\x00\x99\x00r\x00U\x01C\x00B\x01C\x00A\x00S\x00\x02\x01\x00\x01\x0c\x00\x00\x04\x0e\x01@\x01;\x00\x16\x00@\x00G\x00b\x01N\x01~\x00\x8f\x00\x9d\x00\xb1\x00\xb0\x00\x94\x00\xa4\x01\xb0\x00\x94\x00\xb0\x00\xa3\x00\x94\x00\xa4\x00\xb1\x00\x94\x00\xb0\x00\xa6\x01\xa4\x00\x96\x00\xb7\x02\xbd\x00\xa6\x00\xc3\x00\xb7\x00\xb0\x01\xc3\x00\xbc\x00\x8c\x00\xb3\x00\x89\x00E\x00|\x00\x9f\x00\x8e\x00\x9e\x00\x99\x00\xa1\x00\x91\x00\x86\x00\x8d\x01\xbb\x00\xc2\x01\xc5\x00\xa0\x00\xac\x00\x98\x00\xa0\x02\xc4\x02\xc1\x01\xc4\x01\xca\x00\xc4\x01\xc7\x00\xb9\x02\xc0\x01\x9e\x00\x8c\x00w\x00c\x00\x81\x00\xd0\x00u\x003\x00\x01\x00(\x00\a\x00\x18\x00\b\x00&\x005\x00\x84\x00n\x00&\x00\x18\x01\t\x00\"\x00\x15\x00m\x00\xab\x00&\x00q\x00\x8b\x00\x80\x00~\x00k\x00\x80\x00\x8a\x00\x80\x00\x9b\x00\xa3\x00\xb7\x02\xb0\x00\xb7\x00\xa3\x00\xb0\x00\xb7\x00\xa7\x00\x86\x00\xa9\x00\x87\x00{\x00<\x00\x0f\x00v\x00i\x00\x93\x01\xb8\x00\xcb\x00\xcc\x00d\x01\xcd\x01\x85\x00\x89\x00r\x00w\x00\x99\x00\xbd\x00\xb3\x02|\x00\x9f\x00\x98\x01\xc7\x00\xae\x00\xb5\x00\xb9\x00\xb6\x00\xbb\x00\xca\x00\xc4\x01\xac\x01\xc1\x00\xa0\x00\xc1\x00\xb5\x00\xc7\x00\xac\x00\xb5\x00\xc4\x00\xc7\x00\xc5\x00\xc1\x00\xac\x00\xad\x00\xa1\x00\x91\x00\xac\x00\xc0\x00\xad\x00r\x00\x9f\x00\x8e\x00K\x00T\x00[\x01T\x00Z\x00V\x00\x1a\x01B\x00=\x00\n\x00\x02\x01\x00\x00\x0c\x00\x00\x03\x02\x00\x0e\x01W\x00b\x00\xab\x00b\x00N\x00~\x00\x8a\x00\xb1\x00\x96\x00\x94\x00\x96\x00\xb1\x00\x9b\x00\xa4\x00\xb7\x00\xa3\x00\xb0\x00\xb7\x00\xc6\x00\x96\x00\xb7\x00\xb0\x00\xb7\x01\xb0\x00\x94\x00\xb0\x00\x96\x00\xb7\x02\xc3\x00\xa6\x00\xbd\x00\xc3\x00\xa3\x00\xbc\x01\x8a\x01\xb3\x00\x9f\x00|\x00\x86\x00\x90\x00\x86\x01\x91\x00\xad\x00\xa0\x03\xc5\x00\xa0\x00\xc5\x00\xa0\x00\xb5\x00\xac\x00\xb3\x00\xa2\x00\xac\x00\xc4\x01\xae\x00\xac\x00\xb5\x00\xc4\x01\xca\x00\xa0\x00\xb6\x00\x91\x00\xa1\x01\x9f\x00|\x00\x85\x00\x8e\x00\x9e\x00\x99\x00\xbf\x00\xd0\x00\x85\x00u\x00\x10\x00\a\x00\"\x00\x1a\x00\x8b\x00V\x00\x81\x00)\x00t\x00)\x00\x8b\x00\x03\x00\x10\x00\x01\x00&\x00\xab\x00(\x00\xab\x00&\x00\xab\x00\x15\x00\x8f\x00\x8a\x00\xa5\x00\x94\x00\xb2\x00\x94\x01\xaf\x00\x94\x01\xc6\x04\x94\x01\x8e\x00d\x00Y\x00^\x00V\x00O\x00\xb4\x00i\x00\x87\x00\x90\x00\xb8\x01\xcc\x00d\x00\xcd\x01\xd0\x00\x92\x00\xa6\x00\xbd\x00\xce\x00r\x00|\x00y\x00T\x00z\x00|\x00\x98\x00\x8c\x00\xad\x01\xa0\x00\xc7\x00\xbb\x00\xb6\x00\xc1\x00\xc4\x01\xb5\x00\xa0\x00\xc1\x00\xc7\x00\xc1\x00\xca\x00\xc1\x00\xb5\x00\xa0\x00\xc1\x00\xc4\x02\xb6\x00\xac\x00\xc7\x00\x91\x00|\x01\x9f\x00\x99\x00\x9e\x00\x92\x00\x9f\x00r\x00U\x00A\x00\x01\x00@\x01;\x00=\x00;\x01\x0f\x00A\x00B\x00=\x00;\x00\x0e\x00\x00\x00\x0c\x00\x0e\x00\x16\x00A\x00G\x01D\x02G"
b"\x00N\x00\x80\x00\x9d\x00\xa5\x00\x9a\x00\x8f\x00\x8a\x00\x89\x00\xa4\x00\x94\x00\xbc\x00\xb0\x00\x94\x00\xb7\x00\xc6\x00\xc3\x00\xb7\x01\xaf\x00\xb7\x00\xb0\x00\xc6\x00\xc3\x00\xb7\x00\xb0\x00\xb7\x03\xa3\x00\xbc\x00\xbd\x00\xbc\x00\xb3\x02\x9f\x00\xb3\x01\xa6\x00\xba\x00\x9e\x00\xac\x00\xba\x01\xb5\x00\xc4\x00\xb9\x00\xc4\x00\xca\x00\xc1\x01\xb9\x00\xc7\x00\xac\x00u\x00_\x00\xbe\x00\x8e\x00\x9f\x00\x98\x00\xc4\x01\xca\x00\xc1\x01\xb6\x00\xbb\x00\x91\x00\xa1\x00\x86\x00|\x02z\x00c\x00z\x00\x92\x00\xbf\x00\x9e\x00\x81\x00\x85\x00w\x00k\x00\x0f\x00\x14\x00\x04\x00\x13\x00)\x004\x00k\x003\x00W\x00s\x00;\x00\x14\x00\x03\x00n\x00q\x00n\x00\"\x00\x8f\x00\xb2\x01\x8f\x01\x8a\x03\xa4\x00\xb0\x01\xb7\x02\xbc\x00\x96\x00\xc6\x00\x8e\x00\xcb\x00d\x01\xcf\x00`\x03\xcc\x00`\x00d\x03\xcd\x00\xd0\x00\x9a\x00\xaf\x00\xa7\x00\xa6\x00\x89\x00~\x00\x95\x00\x8e\x00\xb3\x00\x89\x00y\x00\xa1\x01\xad\x00\xc7\x00\xad\x00\xa0\x00\xb9\x00\xc4\x00\xb9\x00\xc1\x03\xc4\x00\xc1\x00\xca\x01\xb5\x00\xca\x00\xa0\x00\xca\x00\xc7\x00\xc1\x00\xc7\x00\xa0\x00\xac\x00\xb9\x00\x98\x00|\x02u\x01\xbf\x00\x9f\x00c\x00L\x00J\x00B\x00C\x00<\x00\x00\t\x0c\x00\x00\x03\x0e\x00@\x00\x0e\x00G\x00\x10\x00\x80\x00\x9a\x00~\x00N\x00\x9c\x00\x80\x01\x8a\x00\x94\x00\x96\x00\xb0\x00\x94\x00\xb7\x01\xc3\x01\xb7\x00\xb0\x00\xb7\x03\x98\x00\xbd\x00\xa3\x00\xc3\x00\xb7\x00\xaf\x00\xb7\x00\xc3\x00\xb0\x00\xbc\x01\xa6\x00\xb3\x00\x89\x00w\x00\x8c\x00\xbd\x00\x9e\x00\x98\x00\xad\x00\x98\x00\xac\x00\xba\x00\xb9\x00\xc4\x00\xb9\x00\xa0\x00\xb5\x02\xa0\x01\x97\x00\xd1\x00\xd3\x01^\x00\x8c\x00\xc0\x00\xca\x00\xc4\x00\xca\x00\xc1\x01\xa0\x00\xc2\x00\xbb\x00\x91\x00\xa1\x00}\x00|\x00}\x00|\x00u\x00k\x00\x81\x00\xcf\x00L\x00s\x00Z\x00m\x00\a\x00s\x00\x10\x00\x1a\x00\x14\x00(\x00t\x00l\x00y\x01w\x00\x7f\x00~\x00q\x01&\x00\xb2\x01\x8f\x00n\x00s\x00q\x00~\x01l\x00\x89\x00\xb3\x00\xbc\x00\x8c\x00\xa3\x00\xc3\x00\xb7\x02\x94\x00\x96\x00\x9b\x00\xa9\x00\x87\x00{\x00\\\x00\xb4\x00o\x00Y\x00\x90\x00\xb8\x00\xcb\x00`\x00\xcc\x00d\x01\xcd\x00\xd0\x00\x96\x00\xa7\x00\xb1\x00\x96\x00\x8a\x00\x95\x00\x89\x00T\x00w\x00\x9f\x02\x98\x00\xac\x00\xad\x00\xa0\x00\xc7\x00\xca\x00\xc4\x00\xc1\x02\xc5\x00\xbb\x00\xc4\x00\xca\x00\xa0\x00\xc5\x00\xca\x00\xc4\x00\xc1\x00\xb6\x00\xc7\x00\xa0\x00\x97\x00\xc4\x00\xad\x00\xac\x00\xba\x00\x9f\x00}\x00u\x00}\x00|\x00\x8e\x00\x81\x00\x85\x00U\x00O\x00=\x00;\x00O\x00J\x00U\x00b\x00\x16\x00\n\x00\x00\a\x0c\x00\x16\x01G\x00b\x01q\x00\x8f\x01\x8a\x00p\x00\x80\x00\x7f\x00\x80\x00\xaf\x00\x96\x00\xc6\x00\xc3\x00\xa3\x00\xb7\x00\xb0\x00\xa6\x00\xb7\x01\xa3\x00\x98\x00\xa3\x00\xb7\x01\xa3\x00\x98\x00\xa3\x00\xc3\x03\xbd\x00\xaf\x00\xbd\x00\x8c\x00\xb3\x00\x95\x01\x8e\x00\x8c\x00\x98\x00\xbd\x00\xba\x00\xc0\x00\xae\x00\xac\x01\xad\x01\xa0\x00\xb5\x00\xb9\x00\xc1\x00\xb6\x00\xac\x00\x97\x00\xb8\x00\xd3\x02\xd1\x00\x91\x00\xa0\x00\xc1\x00\xca\x00\xc4\x03\xca\x00\xc1\x00\xa0\x00\xc5\x00\xc2\x00\xa1\x00Y\x00u\x01c\x00k\x00]\x00k\x00]\x00J\x00c\x00]\x00m\x00s\x00k\x00~\x01t\x00T\x00U\x01c\x00J\x00E\x00(\x00n\x00\x84\x00q\x00\x88\x00q\x00n\x00m\x00\x80\x01\x7f\x00\x89\x00\x8a\x00\xb3\x00\xbc\x00\xa3\x00\xc3\x00\xb7\x04\xc3\x00\x8e\x00\xa9\x00\x87\x00\xb4\x00f\x00S\x00\\\x00i\x00\x87\x00\xa9\x00\xc9\x01\xcc\x00d\x00\xcd\x01\xd0\x00\xb2\x00\xaf\x00\xa5\x00\x8a\x00\x9a\x00\x8a\x00\x89\x01l\x00}\x00\x9f\x00\xa1\x00\x98\x00\xad\x01\xc7\x00\xc1\x01\xc7\x00\xa0\x00\xc1\x00\xc5\x00\x8d\x00\x97\x00\xca\x00\xc4\x00\xb6\x00\x8d\x00\xc2\x00\xca\x01\xb6\x01\xb9\x00\xb6\x00\xbb\x00\xc7\x00\xad\x00\x92\x00\xae\x00|\x00}\x00[\x00U\x00L\x00Z\x00\x8e\x00w\x00J\x00M\x00\n\x00\x00\x04A\x00;\x00=\x00\x0e\x00\x0c\x00\x00\x01@\x00\x0e\x00@\x00\x00\x00\x0c\x00a\x00G\x00\x88\x00\x8b\x00\x80\x00q\x00g\x00N\x00\x7f\x00\x80\x00\xb2\x00\xa4\x00\xb0\x00\xb7\x00\xbd\x00\xc3\x00\x94\x00\xa3\x01\x94\x00\xb7\x00\x98\x01\xa3\x00\xaf\x00\xb7\x01\x98\x00\x99\x00\xc3\x00\xbd\x00\xc3\x00\xb7\x00\xa4\x01\xa7\x01\x9b\x00\xb3\x00\x8e\x00\x8c\x00\xba\x00\x9f\x00[\x00\x9f\x01\xa1\x01\x98\x00\xad\x00\xa0\x00\xc7\x00\xa0\x00\xb6\x01\xca\x01\x98\x00T\x00\x87\x00\xd3\x00_\x00\x86\x00\xb9\x01\xc7\x00\xc1\x00\xb6\x00\xc1\x00\xca\x00\xc4\x01\xb5\x01\xc7\x00\xc0\x00\xa0\x00\xa1\x00\x86\x02^\x00\xb4\x00c\x00M\x00\a\x00\x10\x00G\x00~\x00b\x00~\x02\x8b\x00{\x00f\x00O\x00y\x00k\x00s\x00\x14\x00n\x005\x00q\x00\x88\x00n\x01N\x00p\x00\x89\x00\x95\x00\xa3\x01\xc3\x00\xb0\x00\xb7\x00\x94\x00\xb7\x00\xc6\x00\xb7\x00\xc6\x01\x96\x00\x8e\x00\xb8\x00\x93\x00{\x00f\x00S\x00C\x00i\x00\x87\x00\x93\x00\xcb\x00\xcc\x00\xbe\x00d\x01\xcd\x00\xa2\x00\x80\x00\x89\x00\x8a\x00\x88\x00\x9a\x00\x81\x00\x8b\x00\x9a\x00\xb3\x00r\x02\xa1\x00\xb6\x00\xba\x00\xb6\x00\xc5\x00\xc7\x00\xa0\x00\xc5\x01\x8d\x01\xc7\x00\xa0\x00\xc4\x00\x97\x00\x8d\x01\xc5\x00\xca\x00\xa0\x00\xc2\x00\xc1\x00\xc7\x00\x91\x00\x8d\x00\xc7\x00\x98\x00\x92\x00\x9e\x00T\x00K\x00z\x00]\x00Z\x00U\x00K\x00w\x00]\x01J\x00W\x00\n\x00\x00\x0c\x16\x00G\x00q\x00m\x00\x80\x00D\x00b\x00s\x02\x9a\x00\xb2\x00\x96\x00\xaf\x00\xbd\x00\xb3\x00\xb7\x00\xa7\x00\x99\x00\xc3\x00\xb7\x00\x99\x00\x98\x01\xa3\x00\xaf\x00\xc3\x00\xb7\x00\xbd\x00\x98\x00\xbd\x02\xc3\x00\xa3\x00\x9f\x00\xbc\x00\xa6\x00\xbd\x00\x9e\x00\xbd\x00\x99\x00\x98\x00\x8c\x00|\x00\x8c\x00\x9f\x00|\x00\xa1\x00\xad\x00\xc7\x00\xa0\x00\xb6\x00\xa0\x00\xca\x00\xc4\x00\xb5\x00\xac\x00\xad\x00\xac\x00\x9e\x00\xbe\x00u\x00\x9f\x00\xb5\x00\xb9\x00\xc4\x00\xc1\x00\xbb\x00\x8d\x00\xb6\x01\xca\x00\xc7\x00\xa0\x00\xad\x01\x92\x00\xc0\x00\x9e\x00\x8e\x00|\x01}\x01u\x00c\x00K\x00U\x00\x89\x00w\x00z\x00w\x00\x8e\x00w\x00z\x00L\x00]\x00\x95\x00c\x00E\x00s\x00\xab\x00n\x00\x84\x01\x8f\x00\x95\x00\x8e\x00\xb3\x00\x95\x00\xc3\x00\xaf\x00\x94\x01\xb0\x00\xb7\x01\xc3\x00\xa6\x00\x8c\x00\xb0\x00\xc6\x00\x94\x00\x8e\x00\x90\x00\x93\x00\xb4\x00S\x01\\\x00i\x00\x93\x00\x90\x00\xc9\x00\xcb\x00\xcc\x00d\x00\xcd\x00d\x00\xd0\x00~\x00\x9b\x00\x80\x00s\x00~\x00\x95\x00\x80\x00\x95\x00\xa6\x00\x81\x00y\x00\xa1\x00\xad\x00\x92\x00\x91\x00\xa1\x00\xac\x00\xa0\x00\xc5\x00\xc2\x03\xca\x00\xa0\x00\xc7\x00\xc2\x00\x8d\x01\xbb\x00\xc7\x00\xa0\x00\xbb\x00\xad\x00\xc0\x00\xad\x00\xbe\x01\xc7\x00\xbd\x00\x9e\x00\x99\x00u\x00J\x00L\x00E\x00T\x00K\x01J\x00=\x00\x00\x00<\x00A\x00G\x00\x1a\x00\x16\x00\x02\x00\x00\x05\x0e\x01\x16\x00\x0e\x01s\x00N\x00b\x00F\x00s\x00D\x00F\x00\x80\x00\xb2\x00\xa5\x00\x94\x00\xa6\x00\xb3\x00\xa4\x00\x94\x00\xb3\x00\xa6\x00\xc3\x00\x94\x00\x99\x00\x92\x00\x99\x00\xa6\x00\x94\x00\xc3\x02\x98\x01\xbd\x01\xa3\x01\xbc\x00\x89\x00\x8e\x00\x81\x00\x95\x00\x9f\x00w\x00T\x00\x89\x00r\x00y\x00r\x00\x98\x00\xc0\x00\x9e\x00\xad\x00\x97\x00\xb9\x00\xc4\x01\xb9\x00\xc7\x00\xa0\x00\xc1\x00\xca\x00\xa0\x00\x8d\x00\x9e\x00\x9f\x00\xb9\x00\xc4\x01\xca\x00\xb9\x00\xa0\x00|\x00u\x00\xbb\x00\xad\x00\xae\x00\xca\x00\xa1\x00|\x00\x98\x00\xa1\x00\x9e\x00\x99\x00z\x00J\x00A\x00\x1a\x00B\x00;\x00O\x00F\x00E\x00J\x00\\\x00L\x00\x81\x00\x89\x00[\x00K\x00]\x00b\x00=\x00b\x00s\x00m\x00\x84\x01(\x00~\x00\x80\x00\x8f\x00\xaf\x00\x9a\x00\xb0\x00\xa4\x00\xb0\x00\x94\x00\xb0\x00\xa6\x00\xa4\x00\x8c\x00\xa6\x00\x94\x01\xc6\x00\xa3\x00\x90\x00\x93\x00{\x00S\x00f\x00v\x00i\x00\x87\x00\xa9\x00\xc9\x01\xcc\x00d\x01\xd0\x01\x96\x00\x80\x00~\x00\x95\x00~\x01\x89\x00\xb3\x00\x89\x00|\x00\x92\x00\x9f\x00\x98\x00\x9f\x00|\x00\x91\x00\xae\x00\xbb\x00\xc2\x03\xc1\x00\xa0\x00\xb6\x00\xc4\x00\xc2\x03\xa0\x00\xc1\x00\x97\x00\x91\x00\xac\x00\xc7\x00\x9f\x00\x86\x01\xae\x00\x92\x00\x9e\x00\x85\x00K\x01L\x00C\x00M\x00J\x00k\x00J\x00a\x00\x00\x03\x0e\x00;\x01\x02\x01\x00\x04\x0c\x01G\x00s\x00\x15\x00W\x00b\x00D\x00b\x00N\x00\xa5\x00\x96\x00\xb2\x00\xa6\x00\x95\x00\x9c\x00\xb2\x00\x9a\x00\x9b\x00\xa6\x00\xc3\x00\xc6\x00\xa6\x00\x98\x00\x99\x00\x98\x00\x94\x00\xa3\x01\xaf\x00\xb0\x00\x98\x00\xa6\x01\xa3\x01\xbc\x00\x95\x00\x8e\x00\xb3\x00\x89\x00r\x00\xb3\x00r\x01\x9f\x00r\x00\xae\x00\xba\x00\xad\x00\xac\x00\xb9\x00\xb5\x00\xa0\x00\xca\x00\xc4\x00\xc1\x00\xb6\x00\xb5\x02\xc7\x00\xa0\x00\xb5\x00\xac\x01\xc4\x00\xca\x00\xb6\x00\xc1\x00\xb9\x00\xac\x00\xad\x00\xc5\x00\xbb\x00\x98\x00\xad\x00\xb9\x00\x92\x00|\x00u\x01\x85\x00\x92\x00\x81\x00[\x00J\x01U\x00M\x00U\x00l\x00~\x00V\x00s\x00n\x00\x80\x00Z\x00g\x00E\x00F\x00G\x01\x01\x00n\x00\x83\x01\x80\x00\x8a\x00\xb2\x00\xa5\x01\x9b\x00\x95\x00\x94\x00\xb7\x00\xa4\x00\xa6\x00k\x00\x89\x00\x94\x00\xb7\x00\xc6\x00\xb7\x01\xa7\x00\xa9\x00\x93\x00\xd5\x00<\x00S\x00\\\x00i\x00\x87\x00\x93\x00\xc9\x00\xcb\x00\xcc\x00d\x01\xcd\x00\xd0\x00\xaf\x00\xa5\x00\x7f\x00p\x00l\x00\x89\x01l\x00u\x00\x85\x00w\x00\x8e\x01|\x00\xa1\x00\x98\x00\xbb\x01\x8d\x00\xc2\x01\xa0\x00\xc7\x00\xa0\x00\xc5\x00\xb9\x00\xc5\x00\xc2\x00\x8d\x00\xc2\x00\xa0\x00\xb5\x00\xbb\x01\xa1\x00\xc0\x00\x92\x00|\x01\x91\x00\xad\x00\xbf\x00\x9e\x00]\x00J\x00U\x00E\x00B\x00A\x00=\x00C\x00V\x00J\x00A\x00\x02\x00\x00\n\x0e\x00\x10\x00\a\x00\x0b\x00A\x00@\x00F\x00:\x00D\x00\x8b\x00\xb2\x01\xa7\x00p\x00\x7f\x00\x96\x00\x94\x00\x9b\x00\xbc\x00\xa3\x00\xb0\x01\x9f\x00\xbc\x00\xa6\x00\x8c\x00\xb7\x00\xc3\x00\xa6\x00\xb7\x00\xa3\x00\x8c\x00\xb3\x00\x8c\x00\xbd\x00\xa3\x00\x81\x00\xa4\x00[\x00~\x00\x89\x01l\x00r\x00T\x00w\x00\xc0\x00\x9e\x00\xa2\x00\xa0\x00\xc7\x00\x97\x00\xbb\x00\xc1\x00\xb9\x00\xac\x00\xb6\x00\xca\x00\xb5\x00\xca\x02\xc1\x00\xca\x00\xc1\x00\xa0\x00\xc4\x01\xc1\x00\xbb\x00\xc1\x00\xc4\x01\xc1\x00\xc2\x00\xbb\x00\x86\x00\xa1\x00\xae\x00\x9e\x00w\x00z\x00L\x00K\x00w\x00\x8e\x00Z\x00W\x00\n\x00A\x00G\x00b\x00\x9c\x00p\x00\x8a\x00\x84\x00N\x00E\x00D\x00A\x00a\x00;\x00a\x00\x16\x00\x10\x00\x83\x00x\x00\x8b\x00\xce\x00\x95\x00K\x00p\x00\x8a\x00\x94\x00\xa5\x00\x8a\x00\x95\x00\xa6\x01\xa5\x00\xb7\x00\xa3\x01\xb7\x01\xa6\x00\xa9\x00\x87\x00{\x00=\x00S\x00\\\x00i\x00\x93\x00\x90\x00\xcb\x00\xbe\x01d\x01\xcd\x00\xd0\x00\xa4\x00\xa5\x00\xb2\x00\xb1\x00~\x00s\x00E\x00u\x00]\x00l\x00y\x00[\x00}\x00\x9f\x00\xa1\x00\x91\x00\xa2\x00\x97\x00\x91\x01\xbb\x00\xa0\x00\xc7\x00\xc2\x00\xc5\x00\xb9\x00\xbb\x01\x91\x00\xc2\x00\xad\x00\xc0\x00\x91\x00\x8d\x00\x86\x00\xac\x00\x9e\x00|\x00K\x00[\x00\x85\x00\x8e\x00\x99\x01K\x00C\x00O\x00A\x00]\x00C\x00<\x00\x16\x00\x0e\x00\n\x00\x16\x00\x1a\x00\x0e\x00\x00\a@\x00a\x00G\x00a\x01G\x01\x01\x00b\x00s\x00\x8f\x00\x8b\x00~\x00N\x01\x80\x00\x9a\x00\xb2\x00\x89\x00\x8e\x00\xbc\x00\xa5\x00\xa4\x00\xb3\x01\x95\x00\x8e\x00\xaf\x00\xa4\x00\x99\x00\xa4\x00\xb0\x00\xb3\x01\x9b\x00\xa6\x00\xbd\x00\x9b\x00\x95\x00w\x00l\x00w\x00\x89\x00y\x00r\x00\x85\x00\xbf\x00\xbd\x00\xac\x00\xc0\x00\x97\x00\x86\x01\x97\x00\xc7\x00\x97\x00\xbb\x00\xc1\x00\xc4\x00\xc1\x00\xc5\x00\xbb\x00\xc4\x01\xc1\x00\xa0\x00\xc1\x01\xc4\x01\xb6\x00\xbb\x00\xc7\x00\xb5\x00\xb9\x00\xad\x00\xa1\x01|\x00\x9f\x00\x9e\x00\xae\x00w\x00z\x00K\x01c\x00\x81\x00c\x00g\x00=\x00\x16\x00W\x00G\x00\x1a\x00\x17\x007\x00>\x00h\x00>\x00\x01\x00D\x00G\x01\x16\x00F\x00m\x00\x8b\x00m\x00\x88\x00b\x00\x80\x00\x9a\x00\xb2\x00\x8a\x00\x89\x00r\x00\xbc\x00\xb0\x00\xb7\x00\xc6\x00\xc3\x00\x8c\x00\xb7\x00\xc6\x01\xa4\x00\x90\x00\x93\x00{\x00f\x00S\x00\\\x00i\x00\x87\x00\x90\x00\xc9\x00\xb8\x00\xcc\x00d\x00\xcd\x00\xa2\x01\xaf\x00\xa5\x00\x9a\x00\xb2\x00~\x00Z\x00c\x00E\x00\x89\x00~\x00l\x00y\x00r\x00}\x00\x91\x00\x86\x00\xa0\x00\x86\x00\xa1\x00\x91\x00\xa1\x00\xac\x00\xad\x00\x8d\x00\xc2\x00\xb5\x00\xbb\x00\x91\x00}\x00\xa1\x00\x98\x00\xc0\x00\xa1\x00\x91\x00|\x00\x8c\x00\xc0\x00\x85\x00z\x00K\x00]\x00[\x00\xbf\x00\x81\x00k\x00Z\x00V\x00=\x00;\x00\x16\x00\x1a\x00B\x00A\x00\x00\x02\x04\x00;\x00\x0e\x00\x00\x05\x0c\x00\x01\x00\x0c\x00\x16\x01\x0c\x00D\x00\x01\x00b\x00\x8b\x00\x9a\x00\x8f\x00\xab\x00N\x00s\x00\x7f\x00\xb2\x00\x9a\x00l\x00\xa6\x00\x89\x00\xa5\x00\xa4\x00\x9b\x00l\x00p\x00\x95\x00\xce\x00\xbc\x00\x99\x00\xbc\x00\x9a\x00\x9b\x01\x95\x00\x89\x00\xbd\x00\xa3\x00r\x00\xa6\x00w\x00\x7f\x00l\x00E\x00w\x00\xbf\x00\x9e\x00\xae\x00\xad\x00\x86\x01\x91\x00\xac\x00\xb9\x00\xb6\x00\xc2\x00\xc5\x00\xb5\x00\xa0\x00\x8d\x01\xc2\x00\xca\x01\xb6\x00\xc2\x00\xc1\x01\xc4\x02\x97\x01\xc1\x00\xad\x00\xae\x00\x92\x00\xa1\x00|\x00}\x00z\x00\x9f\x00\xbf\x00}\x00[\x00J\x00M\x00B\x00\x85\x00w\x00\x10\x00]\x00J\x00g\x01\x15\x007\x00j\x02\x1c\x00\x00\x00\x05\x00;\x00b\x00~\x00\xa7\x00s\x00\x88\x00q\x00s\x00\x96\x00\xb2\x00\x9c\x00\x89\x00\x9b\x01\xa4\x00\xa5\x00\xb7\x01\xbc\x00\xc3\x00\xb7\x01\xb0\x00\xa6\x00\x90\x00\x93\x00{\x00S\x00f\x00V\x00i\x00\x93\x00\x90\x00\xc9\x00\xcc\x01d\x01\xcd\x00\xd0\x00\xbc\x00\xa5\x00\xb2\x01\x9a\x00\x8f\x00p\x00l\x00K\x00E\x00[\x00K\x00u\x00\xa1\x00|\x00\x92\x00\x8d\x00|\x00\x86\x00\xa1\x00\x98\x00\xac\x00\xa1\x00\x8d\x00\xbb\x00\xae\x00\x91\x00\x9f\x00}\x00\xa1\x01\xc7\x00\xa1\x00\x86\x01|\x00\x99\x00\x9e\x00z\x00K\x00z\x00o\x00r\x00\x81\x00\xd0\x00C\x00M\x00J\x00A\x00\x0c\x00\x00\x00;\x00\x1a\x01\x02\x00\x00\t\x16\x00\x0b\x00\x0e\x00\x0c\x00\x0e\x00a\x00G\x00\x16\x00\x10\x00\xb2\x00\x8f\x00N\x02\x88\x00\x9d\x00\xb2\x00\x80\x00\xb3\x01\x89\x00\x94\x00\x8a\x00\x89\x00~\x00\x95\x00\x89\x00\xa3\x00\xa4\x00\xbd\x00\xb3\x00\xa4\x01\x9b\x01l\x00\xb3\x00\xa7\x00\x9c\x00l\x00\x8c\x00\x89\x00w\x00\x8e\x00\x99\x00\x9e\x00\x8c\x00\x92\x00\x86\x01r\x00\xac\x00\xb9\x00\xad\x01\xc2\x00\xa0\x00\xca\x00\xc2\x00\x8d\x01\xc5\x00\xc7\x00\xca\x00\xc5\x00\x8d\x00\xc5\x00\xc1\x01\xc4\x00\xca\x00\xc7\x00\xb6\x00\xa0\x00\xb6\x00\xa1\x00\x86\x00\x99\x00|\x00}\x00|\x00u\x00\x85\x00\x92\x00w\x00K\x00z\x00Z\x00\x1a\x00J\x00Z\x00\x16\x00\n\x00a\x01\x17\x007\x00j\x02\x1e\x00\x0e\x00\x16\x00b\x00m\x00(\x00:\x00D\x00b\x01\x9d\x00\x9a\x00\x9c\x00p\x00\x9c\x00\x8a\x00\x96\x00\xa7\x00\xbc\x00\xa5\x00\xb0\x00\xa6\x00\x94\x01\xb7\x00\xb0\x00\xa6\x00\xb8\x00\x93\x00i\x00S\x01\\\x00i\x00\x93\x01\xc9\x01\xcc\x00d\x00\xcd\x01`\x00l\x01\xa4\x00\x9a\x02x\x00E\x00p\x00y\x00T\x01\x86\x00\x87\x00}\x00\xa0\x00\xa1\x00|\x01\x86\x00\x98\x00\x9e\x00\x86\x00\x8d\x00\xad\x00\xbb\x00\x86\x01|\x01\x9f\x00\xc7\x00\x9f\x00\x90\x00\x86\x00u\x00\x99\x00\xbf\x00|\x00Z\x00]\x00K\x00U\x00c\x00\xce\x00Z\x00=\x00\n\x00M\x00E\x00\n\x00\x00\x01\x0e\x00\x16\x01\x02\x00\x00\x06\x0e\x00\x04\x00\x00\x02\x16\x01\x0e\x00a\x00n\x00\x8b\x00q\x00F\x00b\x01N\x00\x9a\x00\xb2\x00\x89\x00\xa6\x00\x89\x00p\x00\xb2\x00\x8a\x00l\x00\x9c\x00\x89\x00w\x00\xb3\x00\x8a\x00\xa6\x00\x9f\x00\x89\x00\x9a\x01p\x01\x9c\x00\xa3\x00\xa6\x00~\x00[\x00\x8e\x00\x95\x00\xbf\x01\x8e\x00y\x00[\x00y\x00|\x00\x8c\x00\xc0\x00\x98\x00\xa1\x00\xad\x00\xc5\x00\xca\x00\xb6\x00\xc2\x00\x8d\x01\xa0\x00\xca\x00\xa0\x00\xc7\x00\x8d\x00\xc2\x00\xc5\x00\xa0\x00\xc7\x00\xca\x01\xa0\x00\xad\x00\xac\x00\xa1\x00\x81\x02\x9f\x00T\x00K\x00[\x00\x81\x00\x99\x00T\x00B\x00M\x00U\x01k\x00Z\x00=\x00\x00\x00\x04\x00\t\x00j\x03\x1c\x00a\x01N\x00q\x00@\x00G\x00b\x00\a\x00\x8f\x00\xb2\x00q\x00p\x01~\x00\x8a\x01\x9b\x00\xa4\x00\xa7\x00\xbc\x00\xb7\x01\x94\x00\xb7\x00\xa3\x00\x99\x00\x90\x00\x87\x00{\x00f\x00S\x00M\x00i\x00\x87\x00\x90\x00\xc9\x00\xcc\x01d\x01\xd0\x00`\x00\x9c\x00~\x00\x88\x00N\x00\x80\x00\x8b\x00\xb2\x00\x8b\x00p\x00Z\x01\x85\x00u\x00}\x00\x8e\x00\x91\x00r\x00}\x00|\x00\x9f\x00\x9e\x00|\x00\x9f\x00\x8d\x00\x91\x00\x8d\x00|\x03r\x00\x98\x00\x8c\x00r\x00u\x00|\x00\x85\x00\xae\x00\x8e\x00K\x00]\x00U\x00K\x00M\x00\x81\x003\x00Z\x00=\x00\x0c\x00\x02\x00B\x00G\x00\x00\x04\x04\x00\x00\t\x16\x00\x0c\x01\n\x00D\x00\x8b\x00m\x00b\x02q\x00\x7f\x00\xce\x00\x8f\x00~\x00w\x00p\x00\x7f\x00\xb2\x00\xb1\x00E\x00\x89\x00p\x00\x89\x00\xb3\x00~\x00\xa4\x00\xa6\x00\x7f\x00\x9c\x00\x8a\x00~\x00\x9c\x00~\x00\x89\x00\xa3\x00\x8a\x00E\x00[\x00\xbf\x00\x81\x00w\x00E\x00y\x00T\x00z\x00|\x00\xc0\x00\x9e\x00\x9f\x00\x91\x00\x8d\x00\xac\x00\xc7\x00\xbb\x00\xc2\x02\xca\x00\xa0\x01\xc1\x00\x8d\x01\xc5\x01\xc1\x01\xad\x00\xca\x00\xad\x00\xa1\x00\xad\x00\xbf\x00\xd0\x00\xce\x00\x89\x00z\x01]\x00V\x00\x8e\x00\x81\x00Z\x00\x1a\x00A\x00<\x00\n\x00=\x00k\x00B\x00F\x00\r\x007\x00\x1c\x00\x1e\x00\b\x00\x0c\x01\xab\x00\a\x00G\x00\a\x00b\x00W\x00s\x00\xb2\x00\x80\x00s\x00\x88\x00p\x00\x80\x00p\x00\x9c\x00\x9b\x00\xa4\x00\xbc\x00\xa3\x00\xaf\x00\xb7\x01\xc3\x00\xa3\x00\x8c\x00\x90\x00\x93\x00{\x00S\x01\\\x00i\x00\x87\x00\xd6\x00\xc9\x01\xcc\x00\xbe\x00\xcd\x01\xd0\x00\x8a\x00E\x01l\x00p\x00\x10\x00~\x00\xce\x00~\x00U\x00u\x00^\x00u\x01\x97\x00\x9f\x00[\x00u\x00}\x00\xa1\x00\x9f\x00u\x00\xa1\x00\x86\x00\xa1\x00\xbe\x00|\x00u\x00|\x01z\x00\x92\x00\x9f\x00[\x00u\x00\xb8\x00\x86\x00\x8c\x00\x81\x00U\x00Z\x00U\x00J\x00L\x00y\x00w\x00B\x00J\x00A\x00\x00\x01\n\x00\x1a\x00;\x00\x00\x0c\x0c\x00\x00\x01\x0e\x00G\x00\x0b\x00\x8b\x00s\x00\x0b\x00b\x01D\x00\x80\x00\x8b\x00m\x00\x99\x00p\x00N\x00s\x00\x9a\x00\x80\x00p\x02\x9c\x00w\x00p\x00\x89\x00\x8c\x00\x89\x00~\x00\x9c\x00~\x00p\x00b\x00N\x00\x8a\x00\xa7\x00~\x00\x81\x00\x99\x00r\x00Z\x00\x89\x00l\x00r\x00z\x00\x9e\x01\x98\x00\x86\x00\x91\x00\xa1\x00\xba\x00\xad\x00\xbb\x00\xc5\x00\xc2\x01\xc7\x00\xb6\x00\xc5\x00\xb9\x00\xbb\x00\xc2\x02\xa0\x00\xc1\x00\xad\x01\xae\x00\x91\x00|\x00\xce\x00\x81\x00\xd7\x00\x8e\x00u\x00T\x00L\x00z\x00M\x00\x8e\x00c\x00\x1a\x00]\x00J\x00=\x00\x02\x00A\x00O\x00\x04\x00\x03\x008\x00:\x00;\x00\x05\x00\n\x00\x1b\x00G\x00\x0e\x01a\x00\x0b\x00F\x00\x8b\x00\x80\x00b\x00g\x00p\x00N\x00\x7f\x00\x80\x00\x9c\x00\x8a\x00\x95\x00\xa4\x00\xaf\x00\xa3\x00\xa4\x00\xaf\x00\xbd\x01\x98\x00\xa9\x00\x93\x00{\x00S\x01\\\x00i\x00\x93\x00\x90\x00\xc9\x00\xcc\x01d\x00\xcd\x01\xd0\x00\xb2\x00~\x00l\x00N\x00b\x00E\x00l\x00]\x00G\x00=\x00\\\x00f\x01\x9f\x00\x92\x00u\x00K\x00[\x00|\x00}\x00y\x00z\x00\x86\x01}\x00\x86\x00|\x00u\x02T\x00\x8c\x00\xa1\x00T\x00z\x00^\x00`\x00\x8c\x00\x81\x00z\x00{\x00Z\x00T\x00M\x00U\x00\x8e\x00M\x00=\x00A\x00\x1a\x00\x0c\x00\x00\x01\x02\x00\x16\x00\x04\x00\x00\x0c\x0e\x01\n\x00\x15\x00m\x00a\x00b\x00\x88\x00:\x00b\x00\x8b\x00\x8f\x00\x9a\x00[\x00F\x00b\x00N\x00\xa5\x00\x80\x00p\x00D\x00\x9c\x00\x7f\x00y\x00p\x01\x95\x00l\x00N\x00b\x00p\x00\x80\x00p\x00~\x00l\x00\xc3\x00\xa5\x00w\x00y\x00[\x00}\x00l\x00T\x00z\x00\x99\x00\xbf\x00\x9f\x00|\x00\xbe\x00\x86\x00\xa1\x00\xba\x00\xa1\x00\xad\x00\x91\x00\xbb\x00\xb6\x00\xc7\x00\xc2\x00\xc5\x00\xb9\x00\x97\x00\xc2\x02\xbb\x00\xae\x00\xb6\x00\xa1\x00\xad\x00\xb6\x00\x86\x00|\x00\x81\x01y\x00[\x00K\x00L\x00B\x00J\x00z\x00\x81\x00J\x00=\x00A\x00\x1a\x00V\x00O\x00=\x00\x0e\x00\x1c\x00*\x00\x1c\x00\x02\x00A\x00\x01\x00\x0e\x00\x00\x00\x04\x01F\x00b\x00\x80\x00(\x00b\x00N\x00b\x01\x80\x00p\x00N\x00~\x00\x89\x00\x9b\x00\xa7\x00\xb0\x00\xbc\x00\xb0\x00\xaf\x00\xa3\x00\xbd\x00\xa1\x00\x90\x00\x93\x00{\x00f\x00S\x00\\\x00i\x00\x93\x01\xc9\x00\xb8\x00\xcc\x00d\x01\xcd\x00\xd0\x00\xb2\x01\x88\x00s\x00M\x00{\x00\\\x00v\x00f\x01\x02\x00\n\x00\x00\x00=\x00K\x00[\x00L\x00\x9f\x00u\x00z\x00K\x00T\x00\x86\x00u\x01\x90\x00|\x00z\x00T\x00u\x00[\x00\x8c\x00\x85\x00z\x00U\x00k\x00u\x00\xa2\x00\x8e\x00w\x00K\x00U\x00T\x00L\x00Z\x00k\x00y\x00f\x00\x02\x00\x0c\x00B\x00=\x00\x00\x02\x0c\x01\x00\n\x0c\x01\x00\x00a\x00~\x00q\x00\x88\x01b\x01E\x00\x8b\x00~\x00\x81\x00\x88\x00F\x01\x88\x00\x9a\x00\x80\x00N\x00g\x00p\x01\x89\x00~\x00N\x00~\x00l\x00\x88\x00p\x01E\x00\x80\x00D\x00F\x00~\x00\xbf\x00\x8a\x00T\x02y\x00r\x00w\x00\xbf\x00\x99\x00\x86\x01|\x01\xae\x00\xac\x00\xa1\x01i\x00\xa1\x00\xb6\x00\xa0\x00\xc2\x00\xbb\x00\xc7\x00\xb6\x00\xbb\x01\x8d\x00\xbb\x00\x97\x00\x92\x00\xa1\x01\x92\x00\xa1\x00\x86\x00}\x00T\x00z\x00K\x00U\x00K\x00Z\x00M\x00C\x00\x1a\x00w\x00\x1a\x00=\x00\n\x00\x00\x00=\x00\x1a\x01\x19\x008\x00\x1c\x00\x02\x00\x0e\x00\x01\x00\x02\x00\x0e\x00G\x01\n\x00s\x00\x8b\x00\x88\x00b\x00D\x00N\x00s\x00b\x00\x7f\x00s\x00\x80\x00~\x00\x95\x00\xa7\x00\x8a\x00\x9b\x00\xa4\x00\xa3\x00\xa6\x00\x8c\x00\x8e\x00\xa9\x00\x87\x00i\x00<\x00S\x00\\\x00i\x00\x87\x00\x90\x00\xb8\x00\xcb\x00\xbe\x00d\x01\xcd\x00\xa2\x00\x8a\x00\xce\x00~\x00\\\x00i\x00\xd5\x00\\\x01f\x01S\x01\x00\x00\x05\x00B\x00L\x00z\x00K\x00z\x00U\x00K\x00L\x00\xbe\x00u\x00L\x00u\x00z\x00u\x00[\x00L\x00z\x00\x85\x00w\x00Z\x00U\x00K\x00}\x00\xb8\x00|\x00\x85\x00E\x00z\x00T\x00\x89\x00r\x00z\x01K\x00A\x00\n\x00\x00\x00;\x00A\x00\x00\x0f\x0c\x01b\x00~\x00Z\x00\x80\x00\x7f\x00E\x00s\x00D\x00\x8f\x00\x95\x00~\x00N\x00W\x00F\x00D\x00m\x00\x80\x00\x88\x00N\x00D\x00p\x00\x7f\x00k\x00F\x00l\x00\x89\x00N\x01g\x00b\x00D\x00p\x00s\x00\x81\x00\xa7\x00\xa4\x00\x7f\x00[\x00\xb3\x00y\x00i\x00\xce\x00\x92\x00\x9f\x00\x90\x01y\x00|\x00\xae\x00\xa1\x00|\x00\xa1\x01\x91\x00\x97\x00\xac\x00\x8d\x00\x91\x00\xa0\x00\xad\x00\x91\x02\xc5\x00\x91\x00\xa1\x00\x86\x00|\x02\x86\x00u\x00}\x00Z\x00L\x00z\x00M\x00g\x00E\x00F\x00\x16\x00P\x00J\x00F\x00\x1a\x00\n\x00\x02\x02\x03\x008\x00\t\x00a\x00\x16\x00\x0c\x00;\x00\x04\x00\x00\x00a\x00@\x00\x14\x00q\x00\x0b\x00G\x00s\x00b\x00g\x00q\x00N\x00\x7f\x00p\x00\x95\x00\x9b\x00\x8a\x00\x9c\x00w\x00\xa7\x00\xa4\x00\xbd\x00\xa6\x00`\x00\xa9\x00\x87\x00i\x00S\x01\\\x00i\x00\x87\x00\xa9\x00\xcb\x00\xb8\x00\xcc\x00d\x01\xd0\x00\xcd\x00Y\x00o\x00i\x01\xd5\x00\xb4\x00\\\x02S\x02\x04\x00\x00\x00\n\x00J\x00l\x00L\x00K\x00V\x00[\x00u\x00\xb8\x00K\x00L\x00u\x00T\x01[\x00L\x00z\x00\x8e\x00[\x00]\x00T\x00B\x00[\x00J\x00Y\x00\x81\x00U\x00u\x00}\x00L\x00o\x00K\x00z\x00E\x01B\x00\x00\x02;\x00\x00\r\x02\x00;\x00b\x00N\x00s\x00l\x00k\x00M\x00k\x00E\x00\x88\x00\x8b\x00w\x00G\x00b\x01F\x00b\x00~\x00\x80\x00\xab\x00F\x00D\x00N\x00b\x00\x80\x00W\x00k\x00\x89\x00b\x00N\x00G\x00E\x00l\x00\x89\x01r\x00\xb3\x00\xaf\x00r\x00E\x00T\x00r\x00\xa6\x00\x99\x00\x8c\x00`\x00u\x00z\x00T\x00\x85\x00\x9e\x00\x9f\x00|\x02\x86\x00\x91\x00\x92\x00\x8d\x00\xa1\x00\xad\x00\x98\x00\xa1\x00\x86\x01\x97\x00\x91\x01r\x00\x9f\x00u\x01|\x00\x90\x00]\x00l\x00U\x01k\x00\x14\x00\x8b\x00t\x00~\x00\x1a\x00P\x00\x00\x00\n\x00B\x00\x1a\x00\x02\x00\b\x01*\x00\t\x00A\x00\n\x00\x00\x02\x0c\x00\x01\x00\x10\x00s\x00@\x00D\x00b\x00G\x00D\x00N\x00b\x00N\x00\x7f\x00\x89\x00w\x00\x9c\x01\x89\x01\xa6\x00\xa4\x00\xa3\x00\xb3\x00\x85\x00\x90\x00\x87\x00\xd5\x00S\x00f\x00v\x00i\x00\x87\x00\xa9\x00\xc9\x00\xcb\x00\xcc\x00d\x02\x90\x00^\x01i\x02M\x00\xb4\x00\\\x00f\x01=\x00<\x00\x04\x00\x00\x00\n\x00M\x00Z\x00U\x00L\x00J\x00L\x00K\x00\x90\x00L\x00Z\x00o\x00U\x00[\x00Z\x00]\x00T\x00\x8e\x00V\x00M\x00L\x00g\x00J\x00]\x00u\x00\x85\x00J\x00z\x01M\x00f\x00M\x00[\x00U\x00A\x02\x00\x11\x0e\x00W\x00s\x00N\x00M\x00C\x00M\x00l\x00\x80\x00N\x00\x81\x00E\x00q\x00b\x01G\x00\x88\x01m\x00b\x01D\x00N\x00D\x00F\x00G\x00E\x00\x89\x00D\x00N\x00F\x01g\x00l\x00T\x00\x85\x00}\x00z\x00\x8e\x00T\x00z\x00Z\x00\x81\x00\x8e\x00\xa2\x00u\x01o\x00u\x00\x99\x00\x98\x00|\x00\x98\x00\xac\x00\x9f\x00\x86\x00\xa2\x00\x91\x00\x8d\x00\xa1\x00\xad\x00\x92\x00|\x01\x86\x00\x91\x00\xac\x00\x86\x00|\x00u\x00}\x00z\x01K\x00^\x00M\x00[\x00U\x00(\x00x\x00\x83\x00t\x00\x01\x00B\x00Z\x00\x1a\x00\x02\x00\x00\x01A\x00@\x00\x0b\x007\x00\x1d\x00\x0e\x00\x00\x02\x0e\x01\x00\x00s\x00@\x00F\x00G\x00\x01\x00G\x00b\x01F\x00E\x00J\x00k\x00N\x00\x80\x00\x7f\x00p\x00\xa4\x00\xb3\x00\xa3\x00\x8e\x00\xb3\x00`\x00_\x00\x87\x00\xd5\x00S\x01\\\x00i\x00\x87\x00\xa9\x00\xc9\x00\xcb\x00\xcc\x01\xcb\x00\x93\x01\x87\x00^\x00i\x01\xd5\x00{\x00\xb4\x00\\\x01f\x01S\x00<\x00\x02\x00\n\x00k\x00B\x00Z\x00V\x00Z\x00M\x00z\x00^\x00K\x00M\x00]\x00M\x00Z\x00M\x00K\x00Z\x00k\x00M\x00E\x00M\x00E\x00V\x00]\x01\x85\x00}\x00T\x00E\x00\\\x00C\x00K\x00w\x00Z\x00C\x00\x00\x00\x02\x00W\x00\x00\x10\x0c\x00A\x00\x88\x00\x80\x00Z\x00C\x00\\\x00W\x00\x88\x00s\x00~\x00b\x00a\x00b\x00D\x00G\x00b\x00\x16\x00\x80\x00G\x01W\x00b\x00D\x00F\x00G\x00D\x00z\x00F\x00b\x02g\x00l\x00\xb3\x00U\x00\\\x00\xb4\x00T\x00\x8e\x00T\x00}\x00\x8e\x00\xa9\x00c\x00[\x00T\x00L\x00K\x00\xbf\x00}\x00\x9e\x00\xa0\x00\xae\x00\x9f\x00\x86\x00\xa1\x01\xbe\x00|\x00\x9f\x00\xac\x00\x86\x00}\x00\x86\x00\x91\x00\x92\x00\xb8\x00\x91\x00^\x00u\x01Z\x00K\x00{\x01V\x00k\x00t\x000\x00&\x00K\x00=\x00\n\x01Z\x00O\x00\x0c\x00\x00\x02\b\x00$\x00#\x00\x00\x05\x01\x00\a\x00G\x00\x05\x00a\x00\x01\x00\x16\x02F\x00\x1a\x00k\x00E\x00N\x00g\x00p\x00\x7f\x00\xa6\x00\x95\x00\xa3\x00\x95\x00\x89\x00`\x00\xc9\x00\x87\x00o\x00S\x01\\\x00i\x00\x93\x01\xc9\x00\xcb\x00\xcc\x00\xa9\x00\x90\x00\x93\x00\x87\x01^\x02i\x00\xb4\x01\\\x02f\x01S\x00<\x00S\x00C\x00\\\x00Z\x00C\x00J\x00C\x00u\x00{\x00[\x00J\x00]\x00C\x00Z\x00B\x00K\x00k\x00Z\x00C\x00]\x00M\x01J\x00A\x00z\x00}\x00U\x00y\x00z\x01U\x00u\x00K\x00T\x00J\x00\x0e\x00\x00\x01;\x00\x00\x0e\x0c\x00\x05\x00\x16\x00D\x00s\x00T\x00W\x00k\x00p\x01N\x00s\x00b\x00\x16\x00\a\x00a\x00G\x00\x16\x00@\x00N\x00\xab\x00G\x00W\x00b\x00D\x00F\x00\x01\x00b\x00U\x00F\x00a\x00B\x00W\x00E\x00[\x00}\x00Z\x00C\x00=\x00[\x00\xa7\x00E\x00\x81\x00\x85\x00o\x00w\x00M\x00V\x00Z\x00L\x00\x8c\x00\x85\x00\xac\x00\xb5\x00\xae\x00|\x00\x90\x00|\x00\xa1\x00\x8d\x00u\x00|\x00\x98\x00|\x00r\x00}\x00\x86\x00\x97\x00w\x00\x85\x00\xa1\x00l\x00z\x00J\x00K\x00J\x00v\x00]\x00V\x00F\x00~\x00=\x00S\x00\x1a\x01\x05\x00O\x00\x16\x00A\x01\x00\x00\x0c\x00!\x00I\x00\x13\x00\x00\x04\x0c\x00\x10\x00@\x00\x00\x00\x0c\x00G\x00a\x01\x0c\x00\x00\x00\n\x00\\\x01M\x00E\x00L\x00\x7f\x00\x95\x00\xa6\x00\xa4\x00\xc3\x00\x89\x01`\x00\xb8\x00\x87\x00\xb4\x00S\x01\\\x00o\x00\x87\x00\x90\x00\xc9\x00\xcb\x00\xa9\x00\x90\x00\x93\x00\x90\x00\x93\x00\x87\x01^\x00i\x02{\x00\xb4\x00\\\x01C\x00f\x01;\x00S\x01J\x00\x1a\x00W\x00J\x00O\x00u\x00\\\x00[\x00C\x00J\x00W\x00Z\x00C\x00K\x00J\x00E\x00=\x00C\x00\x1a\x00f\x00k\x00S\x00\x1a\x00c\x00f\x00T\x00z\x00T\x00Z\x00[\x00L\x00\x1a\x00;\x00\x16\x00\x00\x02\x02\x00\x00\x0f;\x00A\x00E\x00p\x02\x80\x00\x88\x00D\x00\x10\x00a\x00\x0c\x00G\x00@\x00W\x00a\x00G\x00A\x00G\x00b\x00G\x01a\x00\x1a\x00\x16\x00G\x00W\x00b\x00a\x00\x1a\x00g\x00U\x01z\x00T\x00M\x00{\x00E\x00\xb3\x01\x85\x00o\x00Z\x00U\x00B\x00[\x00V\x00c\x00\x81\x00y\x00\xa1\x00\x98\x00w\x00u\x00\x86\x00u\x00|\x00\x86\x00u\x00|\x01u\x00|\x00u\x00|\x00\xa2\x00\x8e\x00t\x00`\x00x\x00L\x00K\x00U\x00K\x00M\x00V\x00]\x00O\x00A\x00Z\x00\n\x00\x02\x00;\x00V\x00;\x00O\x00\x00\x00\x02\x00A\x00\x02\x00\x00\x00\"\x00)\x00\x05\x00\x00\x03\x0e\x01\x00\x01G\x00\x0c\x00\x0e\x00\x16\x00\x00\x01\x02\x00v\x00\\\x00\xb4\x00i\x01K\x00\x99\x00\xbc\x01\xc3\x00\x9c\x00[\x00d\x00\xa9\x00\x87\x00i\x00f\x00S\x00\\\x00i\x00\x87\x00\x90\x00\xc9\x01\xb8\x00\x93\x00\x90\x00\x93\x00\x90\x00\xa9\x00\xcb\x00Y\x00^\x00i\x01{\x01\\\x00\xb4\x00\\\x00C\x00f\x01=\x00f\x00J\x00<\x00B\x00O\x00=\x00L\x00v\x00T\x00A\x00J\x00=\x00Z\x00C\x00E\x00C\x00\\\x00\x1a\x00=\x00]\x00C\x00W\x00=\x00<\x00k\x00;\x00C\x00l\x00M\x00U\x00Z\x01<\x00;\x00S\x00\x0e\x00\x0c\x00\x00\x12;\x00G\x00\x88\x00s\x00D\x00F\x00W\x00a\x00F\x00\x00\x00\x0e\x01\x05\x00G\x00\x0c\x00G\x00a\x00\x0e\x00F\x00a\x00\x16\x00a\x00G\x00\x0e\x00G\x00a\x00W\x00G\x00\x1a\x00@\x00A\x00Z\x00[\x01y\x00}\x00z\x00\x95\x00\x81\x00w\x00Z\x00B\x00J\x00[\x00U\x00J\x00K\x00\x8e\x00[\x00L\x00[\x00z\x00^\x00|\x00L\x00}\x00\xbe\x00L\x00r\x00y\x00r\x00}\x00T\x00}\x00\x97\x00\xce\x01\xd8\x00\x81\x00L\x00]\x00J\x00M\x00T\x00\\\x00V\x00]\x00S\x00<\x00E\x00\n\x00\x00\x01\x1a\x01\x00\x02\n\x00\x02\x005\x00)\x00\x00\x05\x0c\x01\x16\x00\x00\x00\x0c\x00G\x00;\x00\x00\x01S\x00f\x00\\\x00{\x01i\x00\x93\x00\x90\x00y\x00\xa4\x00\xc3\x00\x7f\x00c\x00\xbe\x00\xc9\x00\x87\x00i\x00S\x01\xb4\x00i\x00\x93\x00\xb8\x03\xa9\x00\x90\x00\xcb\x00\xcf\x00\xcd\x00\xcf\x00d\x00\x87\x00i\x02{\x00\xb4\x00\xd5\x00\xb4\x00\\\x01v\x00\n\x01]\x00<\x00\x1a\x00A\x01C\x00=\x00U\x00\x0e\x00J\x00;\x00L\x00C\x00Z\x00B\x00\x0e\x00J\x00\x0e\x00M\x00;\x00\x02\x00V\x00\n\x00V\x00J\x00A\x00=\x00J\x00a\x00M\x00O\x00A\x00\x00\x01\x02\x00\x00\x14\x0e\x00\xab\x00@\x00a\x00@\x00\n\x00\x0e\x00@\x00\x0c\x00\x16\x00\x00\x00\x0c\x00\x01\x00\x02\x00\x16\x00\n\x00a\x00\x06\x00W\x00\x16\x00a\x00\x16\x00\x0e\x00G\x00=\x00;\x00@\x00\x00\x00\x1a\x00W\x00l\x00T\x00U\x01T\x00l\x00U\x00\xce\x00\x85\x00b\x00A\x00J\x00B\x00M\x00Z\x00]\x00\x8e\x00U\x00K\x00M\x00K\x00T\x00K\x00T\x00^\x00d\x00M\x00u\x00T\x00z\x01U\x00Z\x00\x98\x00\x92\x00m\x00\xd0\x00Y\x00o\x00M\x00[\x00V\x00A\x00J\x00A\x01V\x00\x04\x00\x00\x00F\x00;\x00\x00\x01;\x00O\x00\x00\x03)\x00.\x00\x00\x05\x0e\x00\x04\x00\x00\x01\x01\x00\x0e\x00@\x00\x00\x01S\x00\\\x01\xd5\x00^\x01\x87\x00\x90\x00\x93\x00\x85\x00\x95\x00N\x00Y\x00\xcc\x00\xa9\x00\x87\x00i\x00S\x01\\\x00\xa8\x00\xb8\x00\xcb\x00\xc9\x02\xcc\x00\xcd\x02\xcf\x00\xcb\x00\x90\x00\x87\x00^\x01i\x01\xd5\x00i\x00\\\x00C\x01J\x00\x00\x00;\x00O\x00\x00\x00J\x00<\x00B\x00;\x00A\x00g\x00A\x00V\x00;\x00\x1a\x01A\x00C\x00\x0e\x00\x1a\x00\x00\x00\n\x00\x1a\x00\x0c\x00A\x00\x1a\x00\x00\x00B\x00=\x00\x02\x00;\x00\x1a\x00=\x00\x02\x00\x0e\x00\x02\x00\x00\x17\x16\x00\x00\x00\x0c\x01\x00\x00\x0e\x00\x00\x00\x16\x00\x0e\x00\x00\x00\x16\x00\x02\x00\x0c\x00\x16\x00\x00\x00\x16\x00\x05\x00\x16\x01\x0c\x00G\x00\x00\x00\x16\x00\x05\x00\x02\x00;\x00\n\x00\x16\x01W\x00U\x00C\x00Z\x00J\x00A\x01\x95\x00\x9a\x00a\x00\x1a\x01C\x00Z\x00M\x00G\x00\x85\x00U\x00T\x00g\x00K\x00{\x00K\x00[\x00^\x00\x86\x00U\x00u\x00T\x00[\x00L\x00l\x00T\x00z\x00\xa0\x00l\x00c\x00o\x00u\x00B\x00\x1a\x00L\x00A\x00W\x00A\x00S\x00A\x00\x1a\x00\x00\x01G\x00;\x00\x00\x01\x02\x00;\x00\x02\x00\x00\x00S\x00\x17\x00$\x00\x05\x00\x00\a\x16\x00\x0c\x00\x02\x00;\x00\x0e\x00<\x00f\x00\\\x01i\x01\x87\x01\x93\x00\xa9\x00\xb8\x00\x90\x00P\x00`\x00\xcc\x00\xa9\x00\x87\x00\xb4\x00=\x00<\x00\\\x00Y\x00\xc9\x01\xb8\x00\xcc\x00\xcd\x02\xcc\x00\xcb\x00\x93\x00\x87\x02^\x01i\x02L\x00C\x00\x0f\x00\x1a\x00S\x00\x02\x00J\x00\x00\x00\n\x00B\x00\x05\x00J\x00\x0c\x00A\x01S\x00C\x00\x0c\x00B\x00O\x00\x00\x00J\x00\x0c\x00O\x00\x02\x00\x00\x00M\x00\x05\x00\x00\x00E\x00\x00\x01\x1a\x00\x00\x01;\x00\n\x00\x00!\x0f\x00\x00\x01\x0e\x00\x00\x01\x0e\x00\x00\x00\x16\x00\x00\x00\x0e\x00\x16\x00\x00\x00\x0e\x00\x00\x00;\x00\x00\x01;\x00\x00\x00;\x00\n\x01W\x00B\x00W\x00A\x00\n\x00\x1a\x00N\x00\xce\x00p\x00U\x00C\x00J\x00M\x00=\x00Z\x00k\x00]\x00\x1a\x00Z\x00M\x00]\x00J\x00T\x00i\x00\x90\x00F\x00z\x00U\x00T\x00F\x00[\x00Z\x00T\x00\xb9\x00T\x00U\x00i\x01K\x00=\x00U\x00V\x00=\x00M\x00\xb4\x00f\x00@\x00\x1a\x00\x00\x01;\x00A\x00\x00\x02\x0c\x00S\x00\x87\x00\x81\x00/\x00\b\x00\x00\x06\x0e\x00\x0c\x00\x00\x00\x0e\x02=\x00\\\x01{\x01^\x00\x87\x01\xa9\x00\x90\x00\xb8\x00\xc9\x00\xa9\x00\xcd\x00\xcc\x00\xa9\x00\x93\x00\xd5\x00f\x00\\\x00\x90\x00\xcb\x00\xcc\x00\xcb\x00d\x00\xd0\x00\xcd\x00\xcc\x00\xa9\x00\x90\x00\x93\x00\x90\x00\x93\x01\x87\x00^\x00i\x00M\x00z\x00\xbf\x00V\x00\x04\x00\x02\x00F\x00\x00\x00\\\x00M\x00\x0c\x00;\x00=\x00\x00\x00J\x00\x00\x00C\x00A\x00\x00\x00\x1a\x00\n\x00C\x00A\x00\x00\x00V\x00\x00\x00\n\x00\x1a\x00\x00\x00A\x00<\x00\x00\x00\a\x00\n\x00\x00\x00\x0e\x01\x00\x01\n\x00\x00!\x0e\x00\x00\x01\x0e\x00\x00\x00\x0e\x00\x00\x01;\x00\x00\x00\x0e\x00\x0c\x00\x00\x00\b\x00\x00\x00\x0c\x00\x0e\x00\x00\x00\x0e\x00\x00\x01\n\x01\x16\x00S\x00\n\x01V\x00=\x00b\x00\xa6\x00\xbd\x00w\x00U\x00J\x00a\x00V\x00O\x00Z\x00E\x00B\x00]\x00C\x00[\x00O\x00L\x00K\x00[\x00A\x00z\x00B\x00K\x00U\x00L\x00g\x00y\x00\x9e\x00[\x00g\x00l\x00\xb4\x00o\x00M\x00C\x00Z\x00f\x00o\x00\x90\x00\xb4\x00\x00\x00;\x00\x1a\x00\x00\x01\x02\x00\x16\x00\x00\x02\\\x00\xcb\x00X\x008\x00\b\x00\x00\x04\b\x00\x0b\x00\x00\x01\n\x00=\x00\x00\x00\x05\x00A\x00\\\x00\xb4\x00i\x00^\x00\x87\x01\xcb\x00\xcc\x00d\x00\xcd\x00d\x00\xcc\x00\xbe\x00\xcc\x00\x90\x00\x93\x00\x87\x00\x93\x01\xcb\x00\xcc\x00d\x00\xcd\x00d\x00\xcb\x00\xc9\x01\xa9\x01\x90\x00\xd6\x00u\x00^\x00{\x00\\\x00M\x00a\x00\x99\x00\x8e\x00\x02\x00\x00\x00S\x00=\x00{\x00`\x00o\x00\x00\x00C\x00\n\x00\x00\x00V\x00\x00\x00A\x00\x16\x00\x00\x00O\x00\x0c\x00\n\x00C\x00\x00\x00\x1a\x00\x02\x00\x00\x00V\x00\x00\x01\x1a\x00\x00\x00A\x00\x16\x00\x00\x01;\x00\x00\x01\x0c\x00\x00&\x0e\x00\x00\x01\x0e\x00\x00\x00\x0c\x00\x00\x01\x0c\x00\x00\x01\x0e\x00\x00\x00\x0e\x00\x00\x02\x0e\x00\x0c\x00\x00\x01\x16\x00\x04\x00\n\x00\x81\x00\xba\x02\x8e\x00a\x00=\x00J\x00A\x00]\x00M\x00\x1a\x00]\x00C\x00Z\x00k\x00t\x00\x81\x00x\x00\x14\x00T\x00\x1a\x00Z\x00U\x00Z\x00A\x00K\x00\x8c\x01C\x00W\x00K\x00u\x00y\x00M\x00C\x00L\x00Y\x00\xb8\x00K\x00\x02\x00\x00\x00\x05\x00G\x00\x0c\x00\x00\x01\n\x00\x0c\x00\x00\x00\xb4\x00\x93\x00\xd9\x00*\x00\x0f\x00\x00\x04+\x00$\x00!\x00\x00\x00\xd5\x00\xa8\x00\xb4\x00O\x00\x02\x00C\x00{\x00i\x00\x87\x01\x93\x00\xa9\x00\xcb\x00d\x00\xcd\x01\xd0\x00\xcd\x00d\x00\x90\x00\x93\x00\x90\x01\xb8\x00`\x00d\x01\xc9\x03\xd1\x00\xc9\x00_\x00\xa9\x00\xcb\x00\x93\x00\\\x00\x04\x00S\x00@\x00T\x00\xc0\x00J\x00\x00\x01O\x00S\x00\xa9\x00\xcc\x00]\x00\x02\x00B\x00\x00\x00\x05\x00\x1a\x00\x00\x00;\x01\x00\x00A\x00\x00\x00\n\x00\x1a\x00\x00\x00;\x00\n\x00\x00\x00A\x00\x00\x01\x16\x00;\x00\x00\x00=\x00\x00\x02\x0e\x00\x000\x0c\x00\x00\x03\x04\x00\x00\x01\x0e\x00\x00\x02\x04\x00\x00\x00\x05\x00!\x00\x8c\x00\xba\x00\xbf\x00\xba\x00Z\x00\x04\x00U\x00=\x00\n\x00]\x00\a\x00J\x00B\x02'\x004\x00t\x00x\x00\x14\x00Z\x00;\x00J\x00W\x00P\x00;\x00V\x00r\x00\xb9\x00M\x00B\x00u\x00L\x00M\x00l\x00\n\x00]\x00\xbe\x00\xcb\x00C\x00\x1a\x00\x00\x01\x0e\x00\x16\x00\x00\x04S\x00\xb4\x00\\\x00Q\x00\x19\x00\x00\x03\x05\x000\x006\x00\x0b\x00S\x00\xa8\x00\xaa\x00\x87\x00<\x00\x00\x00=\x00C\x00L\x00^\x00\x93\x01\xa9\x01\xc9\x01\xcc\x00d\x00\xcd\x01\x90\x00_\x00\x90\x00\xb8\x01\xcc\x00\xbe\x00\xcc\x02\xc9\x00\xcb\x01\xcc\x00\xd8\x01\xda\x00X\x00O\x00\x0e\x00\x04\x00\x00\x00w\x00\x99\x00!\x00\x00\x00\x02\x00@\x00\\\x00\xd6\x00\xa9\x00=\x00\n\x00A\x00\x00\x00\x0e\x00;\x00\x00\x00A\x00\x00\x01\x1a\x00\x0c\x00\x00\x00O\x00\x00\x00\n\x00;\x00\x00\x00\n\x01\x00\x00\x0e\x00S\x00\x00\x01\x04\x00\x003\x0e\x00\x00\t\n\x00\x00\x02\x16\x00<\x00C\x00l\x00\xce\x00g\x00A\x00\x1a\x00!\x00\x1a\x00B\x00\x1a\x00T\x00=\x00U\x00<\x00m\x00\x84\x00\xdb\x00m\x00@\x00Z\x00\x16\x00L\x00=\x00J\x00A\x00\\\x00[\x00\xc0\x00[\x00A\x00T\x00[\x00Z\x00T\x00\n\x00f\x00\x85\x00{\x00\x05\x00\n\x00A\x00\x00\x01\n\x00;\x00\x00\x04\x02\x00\x0f\x00.\x00\t\x00\x00\x03\x05\x006\x01\x0b\x00\x02\x00\xa8\x00_\x00\xaa\x00\x02\x00\x00\x00\x16\x00\x00\x00V\x00Z\x00{\x00c\x00\x93\x00\xa9\x00\xb8\x00\xcb\x00\xcc\x01d\x00\xcf\x00\xcb\x00\x90\x00\xa9\x00_\x00\xcc\x02\xd8\x00\xcc\x00d\x00\xd8\x02\xdc\x02\xda\x01\x16\x00\x0c\x00S\x00;\x00\xc0\x00Z\x00\x00\x01;\x00\x00\x00f\x00^\x00\\\x00\x00\x00\n\x00\x04\x00\x00\x00\x16\x00\x00\x01A\x00\x00\x01\x1a\x00\x00\x01C\x00\x00\x01;\x00\x00\x00\x0c\x00;\x00\x00\x01;\x00\x00DS\x00\x0e\x00\x02\x00\x00\x00D\x00\x8b\x00~\x00J\x00\x02\x00\x0c\x00V\x00\x05\x00C\x00\x1a\x00\x04\x00J\x00;\x00B\x00a\x00;\x00M\x00;\x00K\x00\x01\x00L\x00A\x00B\x00A\x00=\x00Z\x00\xae\x00\x9f\x00\x02\x00\n\x00K\x00A\x00=\x00V\x00\x00\x00\x02\x00\x1a\x00\x00\x01\x0e\x01\x00\b\x04\x00\"\x00\x20\x00\x00\x04$\x00\x84\x00\x05\x00\x00\x00f\x00\xaa\x00\xd5\x00\x02\x00!\x00\x0c\x01F\x00N\x00F\x00J\x00;\x00B\x00\x81\x00E\x00J\x00c\x00\x93\x00\xd6\x00\xa9\x02\xcc\x00\xd8\x02\xdd\x00\xd8\x01\xdc\x00\xda\x01\xdc\x01\xda\x00\xdc\x00\xda\x00\xde\x00\x00\x00S\x00k\x00\xbf\x00a\x00\x00\x04S\x00\x00\x01;\x00\x00\x01;\x00\x00\x01A\x00\x00\x01C\x00S\x00f\x01\x00\x01;\x00\x00\x01=\x00\x00F\x0c\x00;\x00\x00\x00\n\x00\x16\x00\x05\x00N\x00\xb2\x00G\x00\x0c\x00A\x01\x02\x00\x88\x00W\x00a\x00J\x00\x0c\x00]\x00a\x00S\x00g\x00\x02\x00J\x00\x0c\x00L\x00\x02\x00\x04\x00\x1a\x00\b\x00V\x00\x8e\x00\x9f\x00a\x00\n\x00A\x00\x04\x00\x05\x00\x1a\x00\x0c\x00\x00\x00\x04\x00;\x00\x00\x01\x04\x00\x0c\x00\x00\a\x0c\x00(\x00\x1d\x00\x00\x04G\x00\xab\x00\x00\x02\x02\x00\x00\x03\x04\x00@\x00a\x00G\x00@\x00\x00\x00q\x00\xb2\x00I\x00\x18\x00^\x01\x87\x00\xd6\x01\xd8\x01\xdc\x02\xd8\x00\xd6\x01\xdd\x00\xdc\x06\xdf\x00\x02\x00S\x00\x99\x00w\x00\x00\x05\x0e\x00\x00\x04@\x00\x00\x01=\x00\x00\x01i\x00\x90\x00\xcb\x00}\x00\x02\x00\x00\x00S\x00\x00\x01\n\x00\x00I;\x00S\x00\x00\x00a\x00\xce\x00q\x00\x05\x00g\x00E\x00\xa4\x01\xb0\x00\xa4\x00\xb3\x00N\x00g\x00a\x00;\x00W\x00S\x00U\x00a\x00M\x00\x0e\x00\x1e\x00\x1f\x002\x00\x12\x00r\x00\x8e\x00\x1a\x00\x00\x00\x05\x00J\x00\x00\x01\x1a\x00\x00\x01=\x00\n\x00\x00\x01\x02\x00\x00\a\x02\x00)\x01\x0c\x00\x00\x04\x0c\x00\x00\a\x02\x00\x00\x01\x0e\x00\x00\x01s\x00\xb2\x00\x18\x00V\x00\xa8\x00^\x00\x87\x00Y\x00\xd8\x00\xe0\x00\xda\x03\xdc\x01\xdf\x00\xa8\x01\xd9\x00\xdd\x00\xdc\x01\xe1\x00\xda\x00\xdc\x00\x0f\x00B\x00\xbf\x00\x1a\x00\x0c\x00\x00\x03\x0c\x01\x00\x01\x0c\x00\x00\x01\n\x00\x00\x01\n\x00\x00\x00S\x00\xa8\x00_\x00\xcc\x00\x85\x00S\x00\x00\x00\n\x00\x00L;\x00\x00\x01a\x00\x9d\x00\x8b\x00b\x00l\x00g\x01\x7f\x01~\x00\xb0\x00\xc3\x00\xb0\x00N\x00M\x00S\x00\x02\x00g\x00\x05\x00\x16\x00\t\x002\x01e\x00%\x00[\x00\x9e\x00B\x00\n\x00\x00\x00;\x00\n\x00\x00\x00\n\x00\x0e\x00\x00\x01\x0e\x00\x00\x05S\x01\x00\x03\x17\x00\x18\x00\x02\x00\x00\x10\x0c\x00\x00\x00\x0e\x00q\x00\x8b\x00\a\x00i\x00\x87\x00^\x00\xcb\x00\xdc\x00\xda\x01\xdc\x00\xda\x03\xdc\x01\xdd\x00\xa8\x00\xd5\x00\xa8\x00\xd9\x00\xdc\x01\xda\x00\xdc\x00\x12\x00[\x00\x9e\x00\n\x00\x00\x11v\x00{\x00o\x00C\x00\x02\x00\x00O\x0c\x00G\x00\a\x00D\x00\xce\x00N\x00\x00\x01G\x00\n\x00\x02\x00D\x00a\x00p\x00\xb7\x01\x89\x00;\x00\x05\x00B\x00\x12\x01\x17\x00\x1e\x00%\x00\x1e\x00\x11\x00Z\x00\xbf\x00M\x00@\x00\x00\x01A\x00\x00\x00\x05\x00;\x00\x00\bf\x00\xa8\x00^\x00S\x00\x00\x01\x1e\x00.\x00\x0e\x00\x00\x0f\x0c\x00\x00\x01\x0c\x00\x80\x00U\x00{\x00i\x00\xa8\x00\xdd\x00\xdc\x00\xda\x02\xdc\x01\xda\x05\xdc\x00\xd9\x00\xd5\x01\xa8\x00\xdd\x00\xdc\x00\xda\x00\xe2\x00\x9e\x00~\x00\x00g\x05\x00\x10\x00b\x01\x8b\x00~\x00\x05\x00\x0c\x00A\x00\b\x00\x02\x00G\x00S\x00\n\x00\x7f\x00\xb0\x00\xb7\x00N\x00\x04\x00C\x00S\x00\\\x00\xde\x00\xe3\x01\x1d\x00\x12\x00P\x00\x81\x00U\x00A\x00\x00\x01A\x00\x0c\x00\x00\x01\x0e\x00\x00\a\\\x00_\x00\xb8\x00{\x00\x00\x01\b\x00\"\x00\x1c\x00\x00\x13f\x00\\\x00\xb4\x00i\x00\xdd\x00\xd8\x00\xda\x02\xdc\x01\xda\x03\xdc\x00\xda\x00\xe1\x00\xda\x00\xdc\x00\xd8\x00o\x00\\\x00\xd5\x00X\x00\xda\x00\xd8\x00\xc0\x00B\x00\x00h\xab\x00\x88\x00~\x00\x80\x00\xb2\x00\x0b\x00\x0f\x00<\x00\x00\x00=\x01\x02\x00;\x00a\x00F\x00\xb7\x00\xb0\x00a\x00V\x00\xd5\x00\xaa\x00\xd3\x01\xd6\x00f\x00\x1c\x00\x11\x00w\x00c\x00S\x00\x05\x00\x00\x01\x0e\x00\x00\nf\x00\xb8\x00\xcc\x00c\x00\x00\x01\x05\x00\"\x00\r\x00\x00\x12S\x00f\x00\\\x00v\x00X\x00\xda\x0f\xe0\x00\xdd\x00\xd5\x00O\x00\xd5\x00X\x00\xe4\x00\x81\x00\n\x00\x00iN\x00p\x00W\x00\xb2\x00q\x00;\x00\x02\x01A\x00\x02\x00\x0e\x00W\x01b\x00\x9c\x00\xc3\x00~\x00{\x00f\x01\xd5\x00\xaa\x01v\x00\x02\x00\x12\x00\x11\x00w\x00\x00\x00@\x00\x00\x01\x0e\x00\x00\x0bC\x00c\x00C\x00\x00\x02\x18\x00\x20\x00\x00\x12S\x00f\x00\\\x00\xd9\x00\xdc\x01\xda\x01\xe0\x00\xdc\x01\xda\x01\xe0\x00\xdc\x00\xda\x06\xe1\x00\xd8\x00v\x00f\x00v\x00X\x00\x82\x00\x00jl\x00\x7f\x00\x0c\x00\x8f\x00m\x00S\x00\x05\x00\x02\x00A\x00\x0e\x00\x00\x00A\x00\x02\x00\x0c\x00D\x00\xa4\x00\xb3\x00C\x00\x04\x01A\x00S\x00f\x00\x16\x00\x00\x00\x12\x00k\x00\x81\x00\x00\x00\x0c\x00\x00\x14\x13\x01\x00\x12\x02\x00C\x00f\x00X\x00\xdc\x01\xe0\x00\xda\x02\xe0\x00\xda\x00\xdc\x00\xda\x02\xe0\x00\xda\x00\xdc\x00\xda\x01\xe1\x01\xda\x00X\x00v\x00S\x00o\x00P\x00\x00i\x05\x00\x89\x01\x00\x00N\x00\x8b\x00\x0e\x00\x00\x00\x02\x00A\x00;\x00\x00\x00\x0e\x00\x0c\x00\x05\x00@\x00k\x01\n\x00\x0c\x00!\x00A\x00\x02\x00\x00\x00\x0e\x00\x00\x00\x0f\x00c\x00\x9e\x00\n\x00\x00\x0e\x02\x00S\x00C\x00=\x00<\x00\x02\x00\x05\x00\t\x00)\x00\x0e\x00\x00\x11\n\x00\x1a\x00\\\x00\xdb\x00\xda\x00\xe0\x00\xdc\x00\xda\x00\xe0\x00\xdc\x01\xda\x00\xe0\x00\xda\x01\xdc\x00\xda\x01\xe0\x01\xda\x00\xe0\x01\xda\x00\xe0\x00\xe2\x00f\x01\x12\x00\x00jE\x00\x8a\x00a\x00\x01\x00\xce\x00b\x00\x02\x00\x04\x00;\x00W\x00a\x00\x05\x00\x0c\x00\x00\x00a\x00\x1c\x00\t\x00\x05\x01O\x00\x01\x00\x04\x02\x05\x00\x01\x00\x1a\x00\xbf\x00=\x00\x00\x0ef\x00^\x00_\x00\xcc\x00`\x00v\x00\x00\x00\b\x00\"\x00\b\x00\x00\nS\x01\x00\x03\x02\x00S\x00m\x00V\x00\xe0\x00\xda\x00\xdc\x00\xe0\x00\xda\x00\xdc\x00\xe0\x02\xda\x00\xdc\x00\xe0\x01\xda\b\xe1\x00v\x00<\x00f\x00\x02\x00\x00iB\x00\x9b\x00\x7f\x00!\x00\x8b\x00s\x00\x04\x00\x02\x00!\x00=\x00W\x02A\x01\a\x00\r\x00@\x00;\x00\x12\x02\x03\x00\x12\x00\x01\x00\x02\x00B\x00\xbf\x00B\x00\x00\x0ef\x00^\x00\xa9\x00\xcb\x00`\x00A\x00\x00\x01\x1f\x00\x19\x00\x00\tS\x00\xa8\x00\xd5\x00S\x00\x00\x03A\x00\xb2\x00P\x00\xe5\x00\xe0\x00\xda\x01\xe0\x01\xda\x00\xe0\x06\xda\x01\xe0\x03\xda\x00\xe0\x00\xe1\x00\x82\x00S\x01<\x00\x00j\x89\x00\x96\x00\x88\x00s\x00\x9d\x00\x0b\x00\x02\x00!\x00\x0c\x00<\x00S\x00\x16\x00A\x00b\x00g\x01F\x00J\x01F\x00\a\x00\x16\x00\x04\x00\x05\x00\x00\x00=\x00\xbf\x00J\x00\x00\x0ff\x01\\\x00=\x00\x00\x02\x13\x00\x17\x00\x00\b\x02\x00\xd5\x00\xaa\x00\xa8\x00S\x00\x00\x03s\x00\xb2\x00\x82\x00\xe0\x02\xda\x00\xdc\x00\xe0\x01\xda\x00\xe0\x00\xda\x00\xe0\x00\xdc\x00\xe0\x00\xdc\x00\xe0\x02\xda\x02\xe0\x01\xdc\x00\xe6\x00f\x00\x00\x00S\x00\x00jW\x00\x9b\x00\x96\x00\x8a\x005\x00b\x01~\x00N\x00\x02\x00\x05\x00\x0c\x00\x05\x00\r\x00l\x00\x13\x00\t\x00a\x00=\x00g\x00E\x01W\x00\x00\x01<\x00\x92\x00E\x00\x00\x0f\x05\x00\x00\x05\x03\x00)\x00\x02\x00\x00\aS\x00\xa8\x00\xaa\x00\xd5\x00\x00\x03\x05\x00s\x00\x8b\x00X\x00\xdc\x00\xe0\x12\xe5\x00\xe0\x02\xde\x00\x05\x00S\x00\x00\x15\x0c\x00\x00\x00\x0c\x00\x004\x02\x00f\x00\xd5\x00f\x00\x02\x00\x00\nf\x00M\x00L\x00{\x00M\x00C\x00\x02\x00\x00\x06)\x00\x8f\x00\x96\x01\x89\x00\xb1\x00\xb0\x00\x88\x00\x00\x02\b\x00\x1d\x00\r\x00#\x01\x04\x00\x05\x00\x0c\x00;\x00F\x00E\x00D\x00\x0c\x01\x81\x00z\x00\x00\x16\x04\x00#\x00\x01\x00\x00\aS\x00\xd5\x01S\x00\x00\x03\b\x00\x80\x00\x81\x00\xe1\x00\xe0\x0b\xe5\x00\xe0\x05\xe5\x01\xdc\x00\xe0\x00\xe5\x00\xe7\x00\x05\x00\x00\x15\x04\x00\x17\x00\x18\x00\x1a\x00\x004\\\x00\xaa\x01\xa8\x01\x00\x05\x05\x00\x00\x01<\x00]\x00\x85\x00|\x00\x86\x00\xa2\x01\x91\x00\x85\x00M\x00\x00\x04\x05\x00+\x00j\x00(\x00\x9a\x00\xc6\x00\x8a\x00W\x00\x00\x00\x05\x00\x00\x01\x12\x00\x17\x00\x1e\x00#\x01\b\x00\x0c\x00\x00\x01\n\x00F\x00N\x00@\x00\x05\x00\x8e\x00w\x00\x00\x17)\x00\x16\x00\x00\x01\b\x00\x1c\x00\x05\x00\x00\x04\x02\x00\x00\x04\x05\x00\x80\x00x\x00\xe5\x00\xe0\x01\xe1\x00\xe5\x01\xe0\x01\xe5\x00\xe0\x00\xe5\x01\xe0\x01\xe5\x00\xe0\x00\xe5\x01\xe0\x00\xe5\x00\xe0\x04\xdf\x00\b\x00\x00\x00\x02\x00\x00\x12\x0b\x00$\x006\x00-\x00\x16\x00\x004\xb4\x00\xa8\x00\xaa\x02\x02\x00\x00\x06=\x00]\x00;\x00S\x00\x04\x00S\x00\x02\x00=\x00^\x00\x91\x00\xa2\x00z\x00<\x00\x00\x01\x02\x00\x12\x00\xdf\x00\xe8\x00\xe9\x00\xdd\x00\x82\x00V\x00S\x00\x02\x01\x00\x00\x05\x00\x1e\x01\x17\x00\x1e\x00%\x00\t\x00\x00\x00\x02\x00\x04\x01\n\x00E\x00A\x00\x04\x00w\x00\x8e\x00\x00\x17\x15\x00\x20\x00\x00\x00\x1c\x00j\x01\x1e\x00\x00\n\x05\x00~\x00\x81\x00\xe5\x00\xe0\x01\xe5\x00\xe0\x02\xe5\x01\xe0\x0b\xe5\x00\xe0\x01\xe5\x00\xd4\x00\b\x00\x00\x00\x02\x00\x00\x11\x05\x00)\x00/\x000\x00\x13\x00\x005\x02\x00f\x00\xa8\x01\\\x00\x00\x05\x0c\x00C\x01\x00\x06S\x00\x8c\x00\xad\x00\x8d\x00\x85\x00\x02\x00\x04\x00P\x00\x12\x00\xd5\x01P\x00\xe2\x00\xdd\x01v\x00\x00\x00\x02\x00\x00\x00\x1c\x00%\x00\x1d\x00\x20\x00\x1d\x00#\x01\x04\x00\x05\x00\n\x00\x0c\x01F\x00\x02\x00\x0c\x00k\x00\x99\x00\x00\x17\x0b\x00\x1d\x00\x1c\x00h\x00j\x01\x1e\x00\x05\x00\x00\n\x8f\x00\xd7\x00\xe5\x01\xe0\x01\xe5\x0c\xe0\x00\xe5\x02\xe0\x00\xe5\x02\x82\x00\x04\x00\x00\x01\x05\x01\x00\x10\x1d\x00\x13\x00\b\x00\x05\x00\x006\x02\x00S\x00\x00\a\x02\x00c\x00\x02\x00\x00\al\x00\xae\x00\xad\x00\x91\x00u\x00P\x00\x0f\x00f\x00\xa8\x00\xaa\x00\xa8\x00\xb4\x00\x82\x00\xdd\x01\x12\x00\x1c\x00\t\x00\x20\x00%\x01\x20\x00#\x00%\x01\b\x00B\x00F\x01G\x00\x0c\x00\x02\x00\x00\x00Z\x00\xbf\x00\x00\x18\x20\x00\x1e\x00j\x01h\x00\x1c\x00\b\x00\x00\bS\x00\x00\x00m\x00\xe6\x00\xe5\a\xe0\x00\xe5\x00\xe0\x00\xe5\x00\xe0\x00\xe5\n\xe6\x00\xe7\x00\x04\x00\x00\x01S\x00\x05\x00\x00\x10\x0c\x00\x02\x00\x00BK\x00i\x00\x00\x06\x04\x00J\x00\x8e\x00\xac\x00\xba\x00\x91\x00\xa2\x00\xa8\x00v\x00\xa8\x00\xaa\x01\xd3\x00\xaa\x00\x1b\x00\x11\x00\xdd\x00\xe7\x00\b\x01#\x00%\x00\x1d\x02%\x002\x00\x20\x00=\x00A\x00\x0c\x01\x00\x00\x04\x00\x0c\x00]\x00\xc0\x00\x00\x03\x05\x00\x00\x01\x0c\x00\x00\x10\x03\x00\x1e\x00\x20\x00\x1e\x00\b\x00\x00\nS\x00\x02\x00m\x00\xe1\x00\xdc"
b"\x00\xe6\x00\xe5\x16\x12\x00\x0c\x00\x00\x01\x05\x00\x1c\x00\x1e\x00\x1c\x00\x00R\n\x00\x85\x00{\x00\x00\x05\x02\x00E\x00T\x00E\x00\x89\x00\x98\x00\xa0\x00\xa2\x00\x87\x00S\x01\x04\x01\xa8\x00\xd5\x00@\x00\x8b\x00\xdd\x00\xe7\x00\x04\x00\b\x00\x18\x00#\x00\x17\x00\x20\x00\x1d\x00>\x01\x1d\x00\x14\x00S\x00\x00\x01\x02\x00\x05\x00\x00\x00Z\x00\xbf\x00\x02\x00\x00\x02\x05\x00,\x00\r\x00\x01\x00\x00\x06\x0b\x00(\x00t\x00\a\x00\x00\x05\b\x00\x06\x00\x0e\x00\x05\x00\x00\x0bf\x00S\x00\x8b\x00\xe6\x01\xe5\x04\xe4\x00\xe5\n\xea\x00\xe5\x02\xe4\x00\xe5\x00\xe4\x00f\x00\x00\x02\x1e\x00j\x02\b\x00\x00Q\x02\x00\x91\x00L\x00\x00\x05[\x00\x1a\x00\x05\x00\x02\x01;\x00T\x00\x86\x00^\x00\x05\x01\x00\x02\x0f\x00!\x00\x8f\x00\xe2\x00\x12\x00\x00\x00\x20\x002\x00%\x00>\x00\x1e\x00>\x00%\x00>\x01\x1d\x00\x03\x00\x05\x00\x00\x00\x0c\x00\x05\x00\x00\x00E\x00\xbf\x00\n\x00\x00\x02\x01\x00t\x00\x84\x00(\x00\x05\x00\x00\x02\x0c\x00\x04\x00\b\x00\x01\x00H\x00G\x00,\x00\x01\x00;\x00\x0b\x00\b\x00\x0e\x00\x04\x00\x0c\x00\x0e\x00\x00\x00\x05\x01\x00\nv\x00S\x003\x00\xe1\x00\xe5\x01\xe4\x00\xe5\x00\xe4\x00\xe5\x02\xe4\x00\xe5\r\xe4\x00\xc8\x00\x00\x02\x05\x00h\x00j\x02\b\x00\x00Q\x04\x00\x85\x00}\x00\x00\x04=\x00\x9e\x00\x89\x00\x0c\x00\n\x00\x02\x00\x05\x00<\x00\xdf\x00v\x00\x05\x00\x0f\x00\xde\x00S\x00\x05\x00\x03\x00\b\x00s\x00\x82\x00S\x00\x04\x00\x18\x00%\x01\x20\x01+\x00\x1f\x00%\x01>\x00#\x00\b\x00\x00\x03U\x00\xbf\x00=\x00\x00\x02\x04\x00,\x00\x03\x00,\x00:\x00\x03\x00\a\x00\x1b\x01\a\x00\x19\x00\r\x00\x1b\x01\x19\x00\x1b\x00\x19\x00\x1b\a\x03\x00\x01\x01\x0e\x00\x00\av\x00A\x003\x00\xe6\x00\xea\x00\xe5\x00\xe4\x00\xe5\x00\xe4\x06\xe5\x02\xea\x01\xe5\x00\xea\x00\xe5\x00\xe4\x01\xe5\x01\xea\x00P\x00\x00\x01\x05\x01h\x00j\x01h\x00\x05\x00\x00Rz\x00\x8d\x00f\x00\x00\x03S\x00\x99\x00\xae\x00\x8e\x00l\x00M\x00B\x00V\x00\xc8\x00P\x00\x04\x00\xe2\x00\xdd\x00\xe7\x00\x0f\x00\x12\x01\x17\x01\b\x00,\x00+\x00)\x00\x1d\x02>\x00%\x012\x00%\x00>\x00\b\x00\x02\x00\x00\x02M\x00\x92\x00=\x00\x00\x01\x05\x00\x06\x00\x03\x00G\x00\x03\x00,\x00:\x01,\x00:\x02,\x00\x03\x01:\x01,\x00\x06\x00:\x00,\x00:\x00,\x00:\x00,\x00\x06\x00:\x01,\x00\x03\x00\x01\x00\x00\x06v\x00C\x00\xc8\x00\xe4\x00\xea\x01\xe5\x00\xe4\b\xe5\x00\xe4\x04\xe5\x00\xe4\x00\xea\x00\xe5\x00\xea\x00\xdb\x00=\x00\x02\x02\a\x01\x1c\x01\x05\x00\x00SV\x00\xa2\x00\x85\x00S\x00\x00\x02\x05\x00;\x00\x89\x00\x8c\x00\x9e\x01\xbd\x00\x9e\x00\x92\x00\x99\x00\x8e\x00\x85\x00d\x00`\x00X\x00\xdf\x00\x11\x00\x12\x00\x03\x00\x0b\x00\x20\x00+\x00\x13\x00s\x00\x17\x00>\x01\x1d\x00#\x002\x00)\x00\b\x00\x02\x01\x05\x00\x00\x01L\x00\x81\x00A\x00\x00\x02\x0e\x00\x0b\x00\x01\a\x0b\x00\x01\x02\x0b\x00\x01\x0c\x0e\x00\x00\a\\\x00B\x00X\x00\xe4\x01\xea\x00\xe5\x00\xe4\x06\xe5\x00\xe4\x03\xe5\x00\xe4\x02\xea\x00\xe5\x00\xea\x01\xe7\x00\x00\x00\n\x00f\x00<\x00\xe7\x00P\x00\x05\x00\x00U\x02\x00u\x00\xa2\x00|\x00f\x00\x00\x01<\x00C\x00S\x00\x00\x00\n\x00A\x00\x1a\x00\x85\x00|\x00\x8e\x00c\x00\x95\x00\x9e\x00\xc0\x00\x98\x00K\x00@\x00\b\x00\x1e\x02>\x00\x1d\x00\x17\x00>\x00\x20\x01\x13\x00\x20\x00%\x00+\x00\t\x00\x00\x01\x05\x00\x00\x00\x05\x00U\x00\x81\x00\x1a\x00\x00\x06\x0c\x01\x05\x00!\x00\x05\x00\x0e\t\x04\x00\x05\x01\x0e\x00\x04\x01\x05\x00\x00\n\\\x00i\x00\xe1\x00\xe5\x00\xe6\x00\xe5\x00\xea\x01\xe4\x0c\xea\x00\xe4\x00\xe5\x00\xea\x00\xe5\x00\xe1\x00v\x00S\x02f\x00\xdb\x00P\x00\x05\x00\x00V<\x00\x90\x00\xa2\x00\x86\x00]\x00f\x00\x85\x00\xa2\x00{\x00\x00\x02\x12\x00\xe9\x00\x82\x00\xe9\x00\xde\x00\x0c\x00<\x00E\x00\x99\x00\xba\x00r\x00;\x00\x10\x00\x20\x00\x1e\x00>\x00\x20\x02>\x00\x20\x00>\x00%\x01+\x00%\x00\x05\x00\x0c\x00\x05\x00\x00\x01M\x00w\x00G\x00\x00\b\x05\x01\x00\x0b\x0c\x00\x00\a\x02\x00\x00\x01\x05\x00\x00\x03\\\x00\xb4\x00X\x00\xea\x06\xe4\x00\xea\t\xe5\x00\xea\x03\x14\x00S\x00f\x00S\x00f\x00\xde\x00\xe5\x00\x14\x00\x05\x00\x00W=\x00o\x00\x8e\x00\xa2\x00\x91\x00\x86\x00o\x00\x04\x00\x00\x02\x11\x001\x00\xdf\x00\xe9\x00\xd4\x00\b\x00\x04\x00\x00\x00=\x00\x85\x00\xba\x00y\x00\x01\x00\x18\x00+\x00\x1f\x00%\x01#\x00\x1e\x00#\x00>\x002\x01+\x01\b\x00\x05\x00\x00\x02W\x00w\x00\x1a\x00\x00\x05\x05\x00\x0e\x00\x0f\x00\x02\x00S\x00\x0f\x00f\x00C\x00O\x00=\x00S\x01\x02\x00=\x00S\x00C\x00;\x01\x02\x00\x05\x00\x00\b\x05\x00\b\x00\x00\x01\x02\x00\\\x00\xd5\x00X\x00\xe4\x00\xea\x02\xe4\x00\xea\x02\xe6\x00\xea\x06\xeb\x00\xea\x04\xe6\x00v\x01f\x00\x0f\x00v\x00X\x00\xeb\x003\x00\x00\x02\x0c\x00\x00Vf\x00C\x00\x1a\x00=\x00\x00\x03\x04\x00\xd4\x00v\x00\\\x00\xd4\x00\xe9\x00\x0f\x00\x05\x00\x0c\x01=\x00\xb3\x00\xbd\x00\x16\x00+\x00\x1f\x01.\x00+\x00\x1d\x00\x20\x00\x1d\x00#\x00%\x00)\x00h\x00\xe3\x00\t\x00\x00\x03B\x003\x00\x1a\x00\x00\x05\\\x00^\x02\x93\x00\x87\x00^\x01\xd5\x01\xb4\x01v\x00\\\x00v\x00\\\x01v\x02f\x00O\x00f\x00\x02\x00\x0c\x00\x00\x02\x05\x00\x1e\x00h\x00\x1c\x00\x00\x01v\x00o\x00Y\x00\xeb\x00\xea\x04\xeb\x00\xe4\x00\xeb\x00\xea\x0b\xe6\x00\xe2\x00f\x01A\x00f\x00P\x00\xeb\x00\xea\x00X\x00\x02\x00\x05\x00\x0b\x00\x06\x00\x0c\x00\x00P\x0c\x00J\x00k\x00[\x00J\x00\x00\x05\x02\x00\x00\x00\a\x00\xd4\x00v\x00f\x00\xe7\x00\xec\x00\x11\x00\x02\x01\x04\x00S\x00E\x00\x8e\x00\a\x00\r\x00)\x00+\x01%\x00\x1d\x00\x20\x00#\x00%\x02+\x002\x00#\x00\x05\x00\x00\x02B\x00c\x00\a\x00\x02\x00\x00\x03\x04\x00P\x00\xd6\x00_\x00\xaa\x00\xa8\x00^\x00i\x00^\x00i\x00\xd5\x00i\x00\xd5\x00v\x00\\\x00f\x00\\\x00f\x01\x0e\x00S\x00f\x00v\x00o\x00\x04\x00\n\x00\x00\x02\x1c\x00j\x01\x20\x00\x00\x01\\\x00^\x00i\x00\xde\x00\xc8\x00\xea\x01\xe6\x00\xeb\x00\xea\x03\xe4\x00\xea\x06\xeb\x00\xea\x01\xe6\x00v\x00\\\x00v\x00C\x00\xb4\x00\xe6\x00\xea\x01X\x00\x04\x00\x1d\x006\x00-\x00\x0b\x00\x00PE\x00\xbf\x00\xba\x00\xae\x00\xbf\x00A\x00\x00\x02\x05\x00\x1c\x00\t\x00\x10\x00\xe3\x00\xed\x00\xdf\x00\xd4\x00\xe9\x00\xed\x00\xd4\x00\n\x00]\x00[\x01y\x00=\x00\x14\x00b\x00\x10\x00\x1f\x00%\x01\x1d\x00\x20\x00#\x00\x1e\x00>\x00%\x00h\x00e\x00+\x00\b\x00\x0c\x00\x00\x01G\x00c\x00V\x00\x00\x04\x0c\x00\\\x00\xcb\x00\xee\x00\xbe\x00\xcc\x01\xd1\x00_\x00\xa9\x00\x93\x04\xd6\x01\x93\x00\xd6\x00\xb8\x00\xc9\x00\xcc\x00\xcb\x00v\x00\x05\x00\b\x00\x00\x00\x05\x00\b\x00h\x00j\x01\x1c\x00\x00\x01\xb4\x00^\x00o\x00=\x00\x0f\x00v\x00\x82\x00\xdb\x00\xe6\x00\xea\x01\xeb\x00\xea\x00\xeb\x00\xea\x02\xeb\x00\xea\x04\xeb\x00\x82\x00v\x00\\\x02\xd9\x00\xeb\x00\xea\x01\xdb\x00\x03\x008\x000\x00-\x00W\x00\x00PV\x00\xbf\x00\xba\x00\xc0\x00\x95\x00\x02\x00\x05\x00\b\x00)\x00R\x001\x00+\x00%\x00\xec\x00\xed\x00\xe8\x01\xe9\x00\xdb\x00\xef\x00c\x00\x8c\x00\x85\x00Z\x00\x04\x00\b\x00s\x00b\x00\xab\x00)\x01%\x00#\x00\x20\x00\x1d\x00%\x00#\x00%\x002\x00+\x00e\x00\x1c\x00\x04\x00\x00\x01B\x00c\x00\x1a\x00\x00\x05S\x00\xde\x00\xee\x00\xf0\x01\xee\x01\xf0\x02\xee\x00\xf0\x02\xee\x01\xf0\x01\xee\x00\xf0\x00\xee\x00\x87\x00S\x00\x0e\x00\x00\x02\b\x002\x00e\x00\x1c\x00\x05\x00\x00\x01i\x00\x87\x00^\x00C\x00\x00\x00\x04\x00\x0f\x00S\x00\x12\x00\x10\x00\xe7\x003\x00X\x00\xc8\x00X\x003\x00\x82\x00\x11\x00\x14\x00\x11\x01k\x00P\x01\xb4\x00v\x00\\\x01P\x00\xe6\x00\xea\x02\xdb\x00\x1d\x00/\x000\x00\x14\x00\x00R\x1a\x00E\x00U\x00\n\x00\x00\x00\x1c\x00\x20\x00\t\x00\x1c\x00\b\x01\x12\x00\xed\x02\xe8\x00\xed\x00\xec\x01\x12\x00S\x01\x00\x00\x05\x00\r\x00g\x01G\x00\x13\x00)\x00#\x00k\x00\x17\x00\x1d\x00%\x012\x00\xe3\x002\x00\x1f\x00#\x00\x05\x00\x00\x01\x1a\x00w\x00A\x00\x00\x05\x0e\x00C\x00\xcc\x00\xee\x00\xf0\x03\xf1\x00\xd2\x00\xf1\x00\xf0\x02\xf1\x00\xf0\x04\xcb\x00\xb4\x00\x04\x00\x0e\x00\x05\x00\x00\x02\b\x01!\x00\b\x00\x05\x01A\x00\\\x00v\x00;\x00\x00\x03\x0c\x00\x04\x00\x0f\x04\x01\x01\x16\x00\x01\x01G\x00\x03\x00\x01\x00O\x00\\\x00\xd5\x00\\\x00\xb4\x00\xc8\x00\xeb\x00\xea\x00\xeb\x01\xe6\x00\x01\x00n\x00\x13\x00\x05\x00\x00V\b\x001\x00\x1c\x00\x0c\x00\x00\x01\x04\x00\xd4\x00\xf2\x011\x01R\x03+\x00\x1c\x00\x00\x00\x05\x00\x13\x00g\x02\xab\x00)\x00#\x00k\x00\x17\x00\x1d\x00%\x01+\x00%\x00\x13\x01\x1f\x00\b\x00\x00\x01O\x00w\x00\x16\x00\x00\x05!\x00\x16\x00^\x00\xf0\x00\xf1\a\xf0\x00\xf1\x01\xd1\x00\xc9\x00\xd6\x00\xd5\x00\\\x00A\x00\x0b\x00,\x00G\x00,\x00\x03\x00\x19\x02\a\x00\x1b\x01\a\x01\r\x00\a\x02\x06\x02,\x00;\x00\x16\x00\x0e\x00\x00\x01\x0e\x00\x01\x00\x0f\x00\x01\x06{\x00\xb4\x01o\x00\xde\x00\xeb\x05\x0f\x00!\x00\x00X\t\x00R\x00\x1c\x00\x00\x00\x04\x00\x05\x00\x0f\x00\xec\x00\xed\x001\x00R\x00\xe8\x00R\x001\x00\xf3\x00R\x01%\x00\x04\x00\x01\x00F\x00g\x00F\x00g\x00G\x00\x13\x00%\x00\x1d\x00\x20\x00>\x00%\x02e\x00+\x00)\x00e\x00\t\x00\x04\x00\x00\x00O\x00w\x00;\x00\x00\x05!\x00\x03\x00\\\x00\xd1\x00\xf1\x01\xd2\x00\xf1\a\xaa\x00f\x00O\x00\x03\x00:\x00\x1c\x00H\x00\x06\x00\x1b\x00\x06\x03\x03\x00\x06\x02,\x00\x03\x00\x06\x01:\x05,\x00\x06\x02\x01\x00\x00\x01\b\x00\x01\x05\x12\x00\xb4\x00i\x00\xd5\x01\xd0\x00\xe6\x00\xea\x00\xeb\x00\xea\x00\xeb\x01\x0f\x00\x00Y\x03\x00R\x00Q\x00\x1c\x00\x05\x01\x17\x00\xef\x00\xed\x001\x00\xec\x00\xdf\x00\xed\x00\xec\x00\xf2\x00\xec\x00R\x00\x18\x00\x05\x00\a\x00F\x00g\x00b\x00g\x01\x10\x00)\x00%\x00\x1d\x01#\x00%\x002\x00h\x002\x00e\x01#\x00\x00\x01B\x00w\x00\x00\a\x01\x00\x0f\x00^\x00\xf1\x04_\x00\xaa\x00\xd1\x00\xf1\x00\xd2\x01\x93\x00\x04\x01\x0f\x00\x01\x00\x03\x00,\x00\x03\x00\x0b\x00\x01\x03\x06\x00,\x02\x03\x00,\x01\x01\x00\x03\x00\x01\x00,\x00:\x00,\x01\x01\x03\x0b\x00\x00\x01\x16\x00\x01\x02,\x01\x01\x00{\x00i\x02Y\x00\xeb\x02\xea\x01\xeb\x00\xf4\x00f\x00\x00Z#\x00R\x01\x1e\x01\xe8\x00\xf2\x00X\x00\xc8\x001\x00\xe8\x01\xe9\x00\xed\x00\xec\x00R\x00\x03\x00\x00\x00\x10\x00\x88\x00g\x04\x1b\x00\a\x00\r\x00\x1d\x00#\x002\x01+\x01e\x01\x1f\x00\b\x00\x00\x00D\x00\x82\x00\x00\a!\x00\x0b\x00o\x00\xd1\x00\xf1\x03^\x00\xd6\x00\xaa\x00\xd2\x01\xf1\x01\\\x00\x05\x00\x00\x01\x02\x00\x0e\x00\b\x00\x0b\x00\x0e\x00\b\x00\x0b\x00\x0e\x02\x0b\x00@\x00\x0b\x02\b\x00\x0b\x01\b\x00\x16\x00\x0e\x00\x04\x00\x0e\x01\x0c\x00\x00\x02\x05\x00\x01\x03,\x01\x03\x00\xd5\x00i\x01{\x00\xe7\x00\xeb\x05\xf4\x00\x12\x00\x00[\x1e\x00Q\x00R\x02\xf5\x003\x001\x00\xed\x00\xe8\x01\x18\x001\x00\xf5\x001\x00\b\x00=\x00g\x06B\x00W\x00D\x00A\x00\x01\x00\x15\x00%\x00+\x001\x00e\x02\x1c\x00\x05\x00J\x00k\x00\x00\a\x05\x00\x01\x00O\x00_\x00\xf1\x00\xd2\x00\xf1\x00\xd2\x00\xd1\x00_\x00\xd1\x01\xf1\x01\xd2\x00\x93\x00\x02\x00\x00\x0e\x05\x00\x00\r\x01\x02\x03\x00,\x01\x01\x00\x1a\x00o\x00i\x00\xa8\x00V\x00\x82\x00\xeb\x06\x12\x00\x00[\x05\x00\b\x00\x1d\x001\x00R\a\xf5\x00\xec\x00\xf6\x00\x12\x00\x1a\x00\x7f\x00g\x00E\x00g\x01W\x00B\x00g\x00W\x03\x0b\x00)\x00h\x00.\x00e\x02\x1d\x00\x05\x00J\x00k\x00\x00\b\x0b\x00\x03\x00\xd5\x00\xf1\x01\xd2\x01\xf1\x00\xd1\x00\xaa\x00\xd6\x00\xa8\x00\xd2\x02\xb4\x00\x00\x01\x02\x00\x00\x00\x0c\x00\x02\x00\x00\x01\x02\x01\x00\x01\x02\x02\x00\x04\x02\x00\x00\a\x05\x00\x01\x02\x03\x00,\x02V\x00^\x02V\x00\x14\x00\xeb\x00\xf4\x00\xeb\x04\x10\x00\x00]\x0f\x001\x00\xf5\x01\xec\x001\x00\xed\x00\xe8\x00\xed\x00\xec\x02\xf6\x00\xd4\x00g\x00\x88\x00g\x03D\x00g\x00B\x00W\x02\x01\x00\x1d\x00+\x01e\x04>\x00\x10\x00P\x00\x00\b\x04\x00,\x00O\x00\xd1\x00\xd2\x00\xd1\x00\xd2\x01\xd1\x00\xaa\x00\xd6\x00\xa8\x00\xd2\x01\xf1\x00^\x00\x00\x01\x02\x00v\x01{\x00\xde\x00^\x01\xde\x00o\x00\xd5\x00\xb4\x00\\\x02f\x00v\x00\\\x01v\x00A\x00;\x00\x0e\x00\x0f\x00\x02\x00\x00\x02\x01\x00\x03\x00,\x01:\x00,\x01\x06\x00V\x00^\x02\x10\x00\x11\x00\xf4\x00\xeb\x01\xf4\x00\xeb\x00\xf4\x00\xeb\x00P\x00!\x00\x0c\x00\x00[\x12\x00\xf2\x00\xec\x03\xe9\x01\xe8\x00\xed\x01\xf2\x00\xf6\x00\xef\x00J\x00N\x00E\x00g\x01\x88\x00g\x03D\x00G\x00\x20\x00%\x01h\x00e\x00h\x00e\x01j\x01#\x00]\x00\x00\t\x0b\x00G\x00^\x00\xd2\x03\xd1\x00\xd6\x00\xaa\x00\xd6\x00\xd3\x00\xd2\x00\xf1\x00\xd6\x00S\x00\x00\x00O\x00\x93\x00\x87\x00\x93\x00\x87\x00^\x01\xa8\x00\xd5\x00i\x00\xb4\x02\\\x00v\x01f\x00S\x01\x02\x01S\x00f\x00V\x00\x00\x00\x05\x00S\x00\x01\x00:\x00,\x04\x1c\x00{\x00^\x02V\x00\x14\x00\xeb\x01\xf4\x00\xeb\x02\xf4\x00P\x00\x00]\x11\x00\xd4\x00\xf2\x00\xec\x001\x00\xed\x00\xe9\x00\xe8\x00\xed\x01\xc8\x00\xef\x00\xf2\x00\xf6\x00k\x00g\x00U\x00\x7f\x00g\x03D\x00g\x00D\x00\x15\x00#\x00%\x01+\x002\x01e\x02j\x00#\x00M\x00\x00\t\x0e\x00:\x00{\x00\xd1\x00\xd3\x00\xd2\x02\xd1\x01\xd2\x00\xd1\x02\xde\x00@\x00\x00\x00\x0e\x00c\x00\xcc\x00\xd1\x00\xd6\x01\x93\x00\xd6\x00^\x01\xa8\x00\xd5\x00\xa8\x00\xd5\x02\xde\x00i\x00^\x00\xa8\x00^\x00\xd6\x00Y\x00f\x00\x05\x01O\x00\x01\x00,\x01:\x00,\x00:\x01\x1b\x00\x10\x00\x87\x02{\x00\x11\x00\xf7\x00\xeb\x01\xf4\x03P\x00\x00\\\x04\x00\xe8\x00\xe7\x00\xef\x00\xec\x00\xef\x00\xed\x00\xe8\x01\xc8\x00\xd5\x00v\x00\xe7\x00\xf3\x00\xf8\x00\x82\x00g\x00\x7f\x00g\x00\x88\x00g\x03W\x00G\x00\x1d\x00>\x00)\x002\x01e\x01\xe3\x00e\x00I\x00e\x00\r\x00O\x00\x00\n\x01\x00\a\x00\xd6\x00\xd1\x05\xd2\x01\xd1\x00_\x00V\x00G\x00\b\x00S\x00\xb4\x00\xbe\x00\xee\n\xf0\x00\xee\x06o\x00;\x00\x00\x00\x0e\x00\x01\x00,\x04:\x00\x06\x00\x03\x00\x10\x00^\x00\x93\x00u\x00o\x00\x14\x00\xeb\x00\xf4\x05\x82\x00\x00\\\x12\x00\xdf\x00\xd9\x00\xdf\x00\xf2\x00\xef\x00\xed\x00\xe8\x01\xc8\x00v\x01\x11\x00\xf6\x01\xf3\x00E\x00g\x01\x7f\x00g\x03G\x00\x15\x00#\x00%\x01+\x01\xe3\x002\x00h\x00e\x02\x12\x00O\x00\x00\n\x0f\x00\x06\x00^\x00\xd1\x04\xd3\x00\xd1\x00\xd3\x00\xd1\x00^\x00:\x00\x06\x00\x05\x00\b\x00\x0f\x00\x93\x00\xf0\r\xee\x00\xf0\x01\xee\x00\xc9\x00S\x00\x04\x00\x05\x00\x01\x00G\x00\x03\x00,\x02:\x01\x06\x00\x19\x00\x06\x00^\x00\x93\x00u\x00^\x00\x82\x00\xf7\x00\xf4\x05P\x00\x00\\\xd4\x00\xe2\x00\xd9\x00\xe7\x00\xdb\x00\xef\x00\xc8\x01\xe8\x00\xe9\x00\xe8\x00\xd4\x00\xf2\x01\xf9\x00\xf8\x00s\x00N\x00\x7f\x00g\x01\x88\x00F\x00g\x00G\x00\x1d\x01\x17\x00\x13\x01+\x00h\x01\xe3\x00e\x00j\x00Q\x00\x1d\x00\x01\x00\x00\n\x0c\x00\x1c\x00o\x00\xd1\x02_\x00\xd1\x02_\x00\xd1\x00\xde\x00\x06\x00\x03\x00\x00\x00\x0e\x00\x0f\x00\\\x00\xc9\x00\xf0\x01\xf1\x01\xf0\x01\xf1\a\xf0\x00\xf1\x00\xf0\x00o\x00\x16\x00\x0f\x00\b\x00\x01\x00G\x00\x01\x00,\x00:\x02\x06\x01\x19\x00\x06\x00^\x00\x93\x02c\x00\xeb\x00\xf4\x00\xf7\x00\xeb\x00\xf4\x00\xeb\x00\xf7\x00\x82\x00\x00[\x02\x00\xc8\x00\xd9\x00\xe2\x00\xe7\x00\xdf\x00\xec\x00\x82\x01\xdf\x00\xe9\x00\xed\x00\xef\x00\xec\x00\xdb\x00\x82\x003\x01\x7f\x00g\x05G\x00\x20\x00\x1d\x00#\x00\x14\x00)\x002\x00h\x00\xe3\x00e\x03\x1f\x00\x0f\x00\x00\x0b\x01\x00\x06\x00\xaa\x00_\x00\xaa\x00\xd5\x00\xaa\x00\xd1\x02\xd6\x00O\x00\x03\x00\x0e\x00\x00\x01\x0f\x00;\x00\xd6\x00\xf0\x01\xf1\x06\xd2\x00\xf1\x00\xd2\x00\xf1\x03\xcb\x00C\x00\b\x01\x01\x00:\x00,\x03:\x01\x06\x00\x03\x00\x06\x00\t\x00V\x00\x93\x00\x90\x00\x93\x00Y\x00\xeb\x00\xf4\x00\xf7\x00\xeb\x00\xf4\x00\xf7\x00\xd7\x00X\x00\x00Z\x02\x00\x10\x00\xd4\x00\xd9\x01\xe7\x01\xef\x00\xe9\x01\xe8\x00\xe9\x00\xed\x00\xef\x00\xf3\x01\xe9\x01\xdb\x00g\x00\x7f\x00g\x00J\x00g\x00b\x00g\x00D\x00\x17\x00\x1d\x00#\x00%\x002\x00h\x01e\x03j\x00.\x00\x01\x00\x00\x04\x0c\x00a\x01\x00\x03\x04\x00\t\x00^\x00\xd3\x00\xaa\x00\xd5\x00\xa8\x00_\x02^\x00\x06\x00\x1b\x00\x00\x01\x0c\x00\b\x00\x0b\x00\xd5\x00\xd1\x00\xf1\x03\xf0\x00\xd1\x01\xd2\x00\xf1\x06\xa8\x00\x16\x00\b\x00\x01\x00:\x00,\x02:\x01\x06\x02G\x00\a\x00\x19\x00G\x00c\x00\x93\x00\x90\x00\x93\x00\xd0\x00\xf7\x01\xf4\x01\xf7\x00\xf4\x00\xc8\x00\x00[\xe2\x00\xd9\x02\xe2\x01\xed\x01\xe8\x00\xed\x03\xf2\x01\xf6\x00\xf9\x00\xf8\x00\x10\x00E\x00g\x01\x7f\x00g\x01D\x00\x15\x00>\x00#\x00%\x012\x00+\x00\xe3\x00e\x01j\x00e\x00R\x00\t\x00\x02\x00\x00\x02\x1a\x00\x9b\x00\xbc\x00\x95\x00p\x00\x00\x03\a\x00{\x00\xd6\x00_\x04\xd6\x00\xb4\x00\x06\x00\x01\x00\x00\x02\x0c\x00\x0b\x00O\x00\xd6\x00\xf1\x01\xd2\x00\xf1\x00\xd1\x00\xaa\x01\xd1\x00\xd2\x01\xf1\x03\xd1\x00v\x00\x0b\x00\x01\x00\x03\x00,\x02:\x02\x06\x01\x19\x01H\x00\x19\x00H\x00\a\x00\x87\x00\xa9\x02\xeb\x00\xf4\x00\xf7\x00\xeb\x00\xf4\x00\xf7\x00X\x00\x00Z\x0f\x00\xd9\x00\xdd\x00\xdf\x00\xd9\x01\xe2\x00\xe7\x00\xd9\x00\xdf\x01\xed\x01\xf2\x00\xec\x01\xf6\x00\xf8\x00\xf9\x00\x18\x00\x10\x00\x13\x00F\x00g\x02B\x00\xab\x00#\x012\x00+\x02e\x03R\x00j\x00)\x00\x00\x03E\x00\x8a\x00\xbc\x00\x9b\x00\x89\x00\x0c\x00\x00\x02\x01\x00\x1b\x00^\x00_\x00\xaa\x00_\x00\xaa\x00_\x00\xa8\x00\a\x00\x1b\x00\x05\x00\x00\x03\b\x00\x0b\x00^\x00\xd2\x00\xf1\x00\xd2\x00\xf1\x00\xd2\x00\xa8\x01\xd1\x00\xd2\x00\xf1\x03\xd2\x00\x93\x00\x16\x00\x01\x01,\x03:\x01\x06\x01\x1b\x00\x19\x01H\x00\a\x01:\x00P\x00\x90\x00\xa9\x00\x93\x00\xcf\x00\xf7\x00\xf4\x00\xf7\x01\xfa\x00X\x00\x00Z\x12\x00\xd9\x01\xdf\x00\xd9\x02\xe2\x03\xe7\x00\xd4\x00\xe9\x00\xf2\x00\xf5\x00\xf3\x00\xf5\x00\xf9\x00\xf3\x001\x00e\x00\x18\x00F\x00g\x00b\x00g\x00\a\x00#\x01%\x00.\x00e\x002\x00e\x02I\x00e\x00I\x00\x1d\x00\x00\x04=\x00B\x00W\x00\x0c\x00\x00\x03\x0e\x00\a\x00\xde\x00_\x00\x93\x00\xaa\x01\xd6\x00o\x00\x19\x00\a\x00\x00\x04\x05\x00\x03\x00O\x00_\x00\xf1\x00\xd2\x00\xf1\x00\xd2\x01\xd1\x00\xaa\x01\xd1\x00\xd2\x01\xf1\x00\xd2\x00{\x00\x01\x01,\x02:\x02\x03\x00\x06\x01\x1b\x00\x19\x00\x1b\x02\r\x00\x15\x00\a\x00K\x00_\x00\xa9\x00\x90\x00\xe6\x00\xf7\x01\xf4\x00\xf7\x00X\x00\x00Y\n\x00\xe2\x00\xdf\x01\xd9\x02\xe2\x03\xde\x00\xe2\x00\xde\x00\xd4\x00\xec\x01\xf5\x00\xf8\x00\xf9\x00\xf5\x00.\x00e\x00+\x00)\x00\x10\x00b\x00g\x00\x10\x00\x1d\x00#\x00%\x00+\x00e\x03j\x00e\x00Q\x00.\x00\xab\x00=\x00\x00\x0c\x1b\x00V\x00\xaa\x04V\x00\x1b\x00\x12\x00\x00\x04f\x00V\x00\x01\x00\xde\x00\xd2\x02\xf1\x01\xaa\x00\xd6\x01\xaa\x00\xd2\x01\xf1\x00\xd6\x00\x01\x02,\x02:\x01\x06\x00H\x00\x1b\x00\x19\x02\x1b\x01H\x00\x19\x00\x15\x00\r\x00\x10\x00c\x00\xb8\x01Y\x00\xf4\x01\xf7\x01t\x00\x00Y\x0f\x00\xdf\x01\xd9\x04\xe2\x01\xde\x00\xe2\x02\xe8\x00\xec\x00\xf2\x00\xf6\x00\xf9\x01\xfb\x001\x00\x1f\x01+\x00\x18\x00\x17\x00\xab\x00\x1b\x00\x1d\x00%\x012\x02e\x03j\x00)\x00g\x00W\x00\x00\x0c\x01\x00\x10\x00\xa8\x02\xaa\x00\xa8\x00\x10\x00\x15\x00\x0e\x00\x00\x03\x04\x00o\x00c\x00\x01\x00V\x00\xd1\x00\xd2\x00\xd1\x00\xd2\x01_\x03\xd2\x02\xde\x00,\x00\x01\x00,\x01:\x02\x06\x01\x19\x04\x1b\x03\x15\x01\r\x00P\x00\xcb\x00\xb8\x01\xcf\x00\xf7\x01\xf4\x00\xd7\x00\x00YP\x00\xdd\x00\xdf\x01\xd9\x03\xe2\x02\xde\x00\xe2\x00\xe8\x00\xef\x00\xec\x00\xf2\x00\xf6\x01\xf9\x00\xfb\x00\xf5\x001\x00.\x002\x01)\x00\x17\x00\x15\x00\x1d\x00#\x00%\x002\x00+\x002\x00e\x03.\x00\x15\x00g\x00V\x00\x00\x0c\x05\x00\x10\x00\xde\x00\xa8\x03\a\x00\x1b\x00\x00\x04\x02\x00Y\x00\xcc\x00\x10\x00\x16\x00\x93\x00\xd2\x02\xd1\x00\xd3\x00\xd1\x01\xd2\x01\xd1\x00_\x00v\x00,\x00G\x00:\x02,\x00\x06\x02\x19\x00\x1b\x00\x19\x00\x1b\x04\x15\x03\x13\x00\xeb\x00`\x00\xb8\x01\xe6\x00\xf7\x00\xf4\x00t\x00\x00W\x05\x00\x04\x00\xe7\x00\xdd\x01\xd9\x03\xe2\x00\xd9\x00\xe2\x02\xd4\x00\xf2\x00\xef\x00\xf2\x00\xf6\x01\xf9\x031\x00\x1f\x00+\x002\x00%\x00\x1d\x00\x20\x00#\x01)\x002\x01e\x02)\x00%\x00\x10\x00b\x00g\x01a\x00\x00\x0c\x1b\x00V\x00\xd5\x00\xa8\x00\xd5\x00V\x00\r\x00\x01\x00\x00\x04\x02\x00\xcc\x00d\x00P\x00O\x00\xde\x00\xd1\a\xd2\x00\xd1\x00\x93\x00\x16\x00\x01\x00\x03\x00:\x00,\x00:\x00\x06\x02\x19\x00\x1b\x00\x19\x01\x1b\x02\x15\x05\x13\x00\xfa\x00\xe6\x00\xcb\x00\xb8\x00\xcc\x00\xf7\x01\xd7\x00\x00Xv\x00\xdd\x00\xdf\x02\xd9\x03\xe2\x02\xd4\x00\xe8\x00\xed\x01\xf2\x00\xf6\x01\xf8\x01\xf9\x011\x00\x1f\x00+\x00)\x00%\x00\x1d\x00\x20\x00\x1d\x00>\x002\x02+\x00%\x00:\x00D\x00G\x00g\x01V\x00g\x00W\x00\x00\x0c,\x00\x06\x00\xb4\x00\xd5\x01\a\x00\r\x00\b\x00\x0c\x00\x00\x02\x0c\x00\x02\x00\xcd\x00d\x00\xde\x00\a\x00\xb4\x00_\x00\xd1\x03\xd3\x00\xd1\x03P\x00\x1c\x00\x01\x00\x03\x00\x06\x03\x19\x01H\x00\x1b\x00\x19\x00\x1b\x03\x15\x04\r\x00\x10\x00\xf7\x01\xe6\x00\xcb\x00\xc9\x00\xcf\x00\xf7\x00\xd7\x00\x00X\xd4\x00\xdd\x00\xdf\x00\xdd\x00\xdf\x00\xd9\x03\xe2\x01\xd9\x00\xe8\x01\xec\x00\xef\x00\xf2\x01\xef\x00P\x00\x12\x00\xf3\x00\xfb\x00\xf3\x00+\x00\x1f\x002\x00%\x00#\x00\x20\x00\x1d\x00%\x012\x01e\x00+\x00\x15\x00G\x00g\x00b\x00g\x00\x1a\x00W\x00\x1a\x00\x0c\x00\x00\x0b\x01\x00\a\x00v\x00\xb4\x01\a\x00\r\x00\x00\x05\x02\x00\xcf\x00d\x00O\x00\x0f\x00\x03\x00\x93\x00\xd1\x04_\x00\xd1\x00\xd3\x00_\x00\x19\x00\x03\x00G\x00,\x00\x06\x03\x19\x01\x1b\x06\x15\x05P\x00\xfa\x00\xf7\x01\xe6\x00\xcb\x01\xe6\x00\xd7\x00\x00W\x0e\x00\xdb\x00\xc8\x00\xdd\x00\xdf\x01\xdd\x00\xd9\x03\xe2\x00\xdf\x00\xe8\x01\xc8\x00\x82\x00\xdb\x00\xf2\x001\x00v\x01\xd4\x00\xf8\x00\xf9\x002\x00+\x002\x00%\x00\x1d\x00\x20\x00\x1d\x00#\x01%\x002\x01e\x00+\x00,\x00W\x00B\x01g\x02\n\x00\x00\x0b\x05\x00\a\x00v\x00f\x00v\x00\x1b\x00\x03\x00\x00\x05\x02\x00\xcc\x00`\x00S\x00\x05\x00H\x00P\x00_\x01\xaa\x00\xa8\x00_\x00\xd1\x00_\x00\xd1\x00^\x00\a\x00:\x01,\x00\x06\x00,\x00\x1b\x00\x19\x01\x1b\x00\x19\x00\x1b\x03\x15\a\x17\x00\xf7\x03\xe6\x00\xcb\x00`\x00\xd7\x00\x00W\x12\x00\xf2\x00\xdd\x02\xd9\x01\xdd\x00\xe2\x00\xd9\x01\xe2\x00\xd4\x00\xe8\x00\xed\x00\xc8\x00\x82\x00\xef\x00\xf2\x00\xdb\x00\xd4\x01\xf8\x00\xfb\x00\xf9\x00\x1f\x00\x18\x00+\x00%\x00\x1d\x00\x20\x00\x1d\x00\x1e\x00#\x00%\x002\x00+\x00e\x01\x13\x00D\x00g\x01D\x00g\x01W\x00\x00\x0c\x19\x00\x12\x00f\x00\x01\x00\x1b\x00\x0f\x00\x00\x05\x04\x00Y\x00`\x00\x04\x00\x00\x00\x06\x00V\x00\x93\x00\xd1\x00\xa8\x00\xd5\x00\xaa\x00_\x00\xd1\x00_\x00\xde\x00\a\x00:\x01\a\x00\x06\x00H\x00\x1b\x00\x19\x02\x1b\x03\x15\a\r\x00\x17\x00\xfa\x01\xf7\x00\xfa\x00\xf7\x00\xd7\x00\xcb\x00\xd0\x00\x02\x00\x00V\xdf\x00\xdb\x00\xdd\x03\xd9\x04\xe2\x00\xe7\x00\xdf\x00\xed\x02\xf2\x01\xf6\x00\xf8\x03\xfb\x00\xec\x00\xe3\x00\x18\x00%\x00\x1d\x00\x20\x00#\x00%\x012\x01e\x02I\x00\x15\x00W\x01D\x00g\x00B\x00g\x00\x00\x0c\x01\x00\x06\x00<\x00O\x00\x1b\x00\x0e\x00\x00\x06Y\x00d\x00\x04\x00\x00\x00\x0b\x00\x12\x00^\x00_\x00\xaa\x01_\x02\xd6\x00V\x00H\x00:\x00\x06\x01:\x00H\x00\x19\x01\x1b\x04\x15\ts\x00\xd7\x00\xfa\x01\xf7\x02\xe6\x00\xcb\x00v\x00\x00U\x0f\x00\xf8\x00\xed\x00\xdd\x02\xd9\x00\xdd\x00\xd9\x03\xe2\x00\xd9\x00\xe8\x00\xed\x01\xef\x00\xf2\x02\xf9\x01\xfb\x00\xf9\x00\xfb\x00\xf9\x00\x14\x00\x13\x00%\x00\x1d\x00\x20\x00\x1d\x00%\x002\x01%\x00\x18\x00+\x00e\x01\x10\x00b\x01g\x00W\x00g\x00F\x00\x04\x00\x00\x0b\x0b\x00\x06\x00\x01\x00\x06\x00\x1b\x00\x0c\x00\x00\x06\xde\x00\xcf\x00C\x00\x00\x00\x0c\x00\x06\x00P\x00\xaa\x00_\x02\xaa\x00_\x00o\x00\x03\x00H\x00:\x00\x06\x01:\x00\x1b\x00\x19\x01\x1b\x04\x15\t\x17\x00\xf7\x02\xfa\x00\xf7\x01\xfc\x00\xd0\x00Y\x00\x00U\x11\x00\xf8\x00\xed\x00\xdd\x01\xdf\x00\xdd\x00\xed\x00\xe8\x00\xdf\x00\xd9\x01\xe2\x00\xe7\x00\xed\x02\xef\x00\xf3\x00\xf5\x00\xf6\x01\xf8\x00\xf9\x01\xfb\x013\x00\x13\x00%\x00\x1d\x01#\x01%\x002\x00\x18\x00\x10\x00)\x00e\x01\x15\x00W\x00B\x00g\x00D\x00g\x00D\x00\x16\x00\x00\x0b\x05\x00:\x00\x06\x01\x03\x00\x00\ao\x00\xcd\x00v\x00\x00\x01,\x00V\x00\xaa\x00_\x00\xaa\x00_\x00\xaa\x00_\x00P\x00\x1b\x00\x19\x00\x06\x02\x1b\x00\x19\x01\x1b\x04\x15\ns\x00\xd7\x00\xfa\x01\xf7\x00\xfa\x00\xf7\x00\xfa\x01Y\x00\xd5\x00\x00T\x18\x00\xf8\x00\xdb\x00\xdd\x00\xf2\x00\xdb\x00\xf2\x00\xf8\x00\xf2\x00\xdd\x00\xd9\x02\xe2\x00\xdf\x00\xed\x01\xec\x001\x00\xf3\x00\xf6\x00\xf9\x04\xfb\x00\xd4\x002\x00#\x00\x1d\x00\x20\x00#\x01)\x002\x00+\x00)\x00+\x00e\x00Q\x00\xab\x00D\x00W\x00\x1b\x00\r\x00\xab\x00b\x00\x06\x00\x00\x0b\x05\x00G\x00:\x00\x06\x00\x01\x00\x02\x00\x00\x06O\x00\xcf\x00\xde\x00\x00\x01\x0f\x00\x10\x00^\x00\xaa\x02\xd6\x00\xa8\x00\x12\x00\r\x00\x03\x00\x19\x00:\x00\x06\x00\x19\x01\x1b\x03\x15\x0c\x17\x00\xfa\x01\xf7\x00\xfa\x03\xd7\x00\xb4\x00X\x00S\x00\x00R\x0f\x00\xfb\x04\xf8\x02\xf2\x01\xed\x00\xdf\x00\xd9\x00\xe7\x00\xdf\x00\xe9\x00\xed\x00\xec\x01\xf3\x01\xf9\x01\xf5\x01\xf8\x00\xef\x00\xd4\x00\x18\x00#\x01\x20\x00\x1d\x00%\x012\x01e\x02\xe3\x00:\x00W\x00\x17\x001\x00Q\x00I\x00.\x00Q\x00\x1c\x00\x00\n\x05\x00\x03\x00:\x00\x06\x00\b\x00\x00\aA\x00\xcf\x00Y\x00\x02\x00\x00\x01\a\x00P\x00\xa8\x01\xaa\x01o\x00\a\x00\x1b\x00\x19\x01\x1b\x00\x19\x01\x1b\x04\x15\x0cq\x00\xd7\x00\xfa\x00\xf7\x00\xfa\x02\xfc\x00\xd7\x00S\x00c\x00^\x00\x04\x00\x00P\x02\x00\x11\x00\xfb\x02\xf8\x003\x00\xe9\x00\xf8\x00\xf6\x00\xf5\x00\xf2\x01\xed\x00\xdf\x00\xd9\x00\xdf\x00\xe8\x00\xed\x00\xf2\x00\xec\x00\xf2\x00\xf6\x00\xf9\x03\xfb\x00\xe8\x00\xe7\x00\x18\x00%\x00\x1d\x03%\x002\x00+\x01e\x01\x1f\x00\x01\x00\x17\x00.\x00j\x00R\x00j\x00R\x01\x1e\x00\x00\x0b\x01\x00,\x01\x0e\x00\x00\a\x02\x00X\x00\xcd\x00\xd5\x00\x05\x00\x00\x00\x06\x00\x10\x00\xa8\x01\xaa\x00\xa8\x00o\x00\x15\x00\x19\x00H\x00\x19\x00\x1b\x06\x15\r\x17\x00\xfa\x04\xfc\x00\xfa\x00\xd7\x00W\x00{\x00`\x00\x0f\x00\x00P\x02\x001\x00\xfd\x00\xf8\x00\xdb\x00\xfd\x00\xc8\x00\xdb\x00\xf9\x00\xf5\x00\xf3\x00\xf5\x00\xef\x01\xed\x00\xe8\x00\xdf\x00\xe8\x00\xed\x00\xef\x00\xf2\x01\xf6\x00\xf9\x03\xf3\x00\xe7\x00\xe2\x00\xd4\x00%\x00\x1d\x00\x20\x00\x1e\x01%\x012\x00e\x002\x00e\x00+\x002\x00j\x01Q\x00R\x01j\x00I\x00\b\x00\x00\n\x05\x00\x16\x00,\x01!\x00\x00\a\x02\x00c\x00\xcd\x00Y\x00\x04\x00\x00\x00\x01\x00\x10\x00\xd5\x00\xa8\x02\x10\x00\x15\x00\x19\x01H\x01\x1b\x03\x15\x0f\x10\x00\xd7\x00\xfe\x00\xfa\x03\xf7\x00\xfa\x00\x16\x00C\x00`\x00V\x00\x00P\x0f\x00\xfb\x00\xf8\x00c\x00\xde\x00\xe9\x00\xfb\x00\xf8\x00\xf9\x00\xf8\x00\xf3\x00\xec\x01\xef\x00\xed\x00\xe9\x00\xe8\x00\xed\x01\xef\x01\xf2\x00\xf6\x00\xf8\x01\xdb\x00\xef\x00\xdf\x00\xd9\x01\xe7\x00\x18\x00\x1d\x01\x20\x00%\x012\x00\xe3\x001\x00e\x02R\x00e\x00Q\x00j\x01R\x00Q\x00\x1e\x00\x00\x0c\x0e\x00\x01\x00\x06\x00\x00\to\x00\xcd\x01O\x00\x00\x00\x04\x00\r\x00v\x00\xd5\x02\r\x00\t\x003\x00\x06\x00\x19\x01\x1b\x03\x15\x0f\x10\x00\xd7\x00\xfc\x00\xf7\x00\xfc\x00\xfa\x00\xfc\x01\xfa\x00\x0f\x00S\x00`\x00\xe2\x00\x02\x00\x00N\x05\x00\x11\x00\xfd\x00\xdb\x00P\x00]\x003\x00\xf8\x00\xfb\x00\xf8\x00\xf6\x02\xef\x01\xed\x00\xe8\x01\xed\x01\xef\x01\xf6\x00\xf9\x00\xe8\x00\xe7\x00\xe2\x03\xd9\x00\xe7\x00\x11\x00\x13\x00\x20\x00#\x00%\x012\x01e\x06R\x00j\x00e\x00\x1c\x00\x00\r\b\x00\x01\x01\x00\tf\x00\xd0\x00\xcd\x00\x12\x00\x00\x01\x19\x00v\x00\xb4\x00\xd5\x00v\x00H\x00\x14\x00\xfa\x003\x00\x06\x00\x19\x00\x1b\x02\x15\x10\x10\x00\xd7\x00\xfa\x01\xfc\x00\xfa\x01\xfc\x00\xd7\x00O\x00\x04\x00\xcb\x00Y\x00S\x00\x00N\x05\x00\xf3\x00\xfb\x01\xdb\x00\xe9\x00\xfd\x00\xf8\x01\xf9\x00\xe9\x003\x00\xf3\x00\xf2\x00\xef\x00\xed\x01\xe8\x00\xed\x01\xec\x01\xf2\x00\xf6\x00\xed\x00\xde\x00\xe2\x04\xe7\x01\x13\x00\x10\x00\x1d\x00%\x02+\x00e\x04j\x01\x1f\x00\x20\x00\x05\x00\x00\x0e\b\x00\x01\x01\x00\tS\x00X\x00`\x00S\x00\x00\x01\x01\x00\x12\x00v\x00\\\x00V\x00H\x003\x00\xfa\x00\xfc\x003\x00\r\x00\a\x00\t\x00\x15\x10\t\x00\r\x00\xd7\x00\xfc\x00\xfa\x00\xfc\x03\xfa\x00O\x00\x02\x00\xcb\x00\xcf\x00S\x00\x00N\x12\x00\xfd\x00\xfb\x03\xfd\x00\xf5\x00\xf9\x00\xf3\x00V\x01\xd4\x00\xf2\x00\xed\x01\xe9\x00\xe8\x00\xe9\x00P\x00V\x00\xd4\x00\xf2\x00\xf8\x00\xf9\x00\xe8\x00\xe7\x00\xe2\x04\xd4\x00\x11\x00\x20\x00>\x00#\x00%\x002\x00+\x01\x1f\x00\xe3\x00e\x00\x1f\x00\x1d\x00\b\x00\x05\x00\x00\x10\x05\x00\x01\x00\x16\x00\x00\nc\x00\x82\x00\x04\x00\x00\x01\x0e\x00\x10\x00f\x01\a\x00\x1b\x00t\x00\xf7\x00\xfc\x01\xd7\x00\x14\x00\a\x00\x15\x03\r\x01\x15\t\r\x00\x10\x00\x81\x00\xfe\x01\xfa\x00\xfc\x00\xf7\x00\xfc\x01\xf7\x00\x0f\x00\x02\x00X\x00d\x00\\\x00\x00L\x02\x00\x00\x00\x18\x00\xfd\x00\xfb\x03\xf8\x00\xfb\x00\xf8\x00\xef\x00P\x00v\x00\xd4\x00\xf2\x00\xef\x00\xed\x00\xe8\x02v\x00\\\x00P\x00\xf6\x01\xf9\x01\xdf\x00\xe2\x03\xd9\x01\r\x00\x1c\x00\t\x00\x1e\x00\t\x00\x1e\x00\t\x00\x1c\x01\b\x01\x05\x00\x00\x13\x04\x00\x0b\x01\x00\nV\x00c\x00\x00\x03\a\x00\x0f\x01G\x00\x1b\x00\xfc\x00\xfa\x00\xfc\x03t\x003\x00P\x00\a\x00\r\x00\x10\x00\x15\x01\x10\x00\x15\x00\r\x00\x10\x00\x15\x00\r\x01\x12\x00\x11\x003\x00\xd7\x00\xfc\x04\xfa\x00\xfc\x01\xd7\x00\x05\x00\x02\x00X\x00\xcd\x00P\x00\x00L\x04\x00\x0f\x00\xf8\x00\xfb\x01\xfd\x00\xf9\x00\xfb\x01\xf9\x02\xf2\x00\xec\x00\xef\x02\xed\x00\xe9\x00\xe8\x00\xe9\x00\xe7\x00\x11\x00\xe9\x00\xf2\x00\xf6\x00\xf9\x01\xf2\x00\xe7\x00\xe2\x02\xd9\x01v\x00\x00\a\x05\x00\x00\x15\x05\x00\x0e\x00\x0b\x00\x00\n<\x00\x16\x00\x00\x03\x03\x00\x16\x01\x01\x00\x05\x00t\x00\xfc\x03\xfa\x00\xfc\x01\xfa\x00t\x003\x00\x14\x00\x17\x00\x10\x00\a\x00\x15\x02\r\x00P\x00\x18\x00t\x00\xfe\x00\xfc\x03\xf7\x00\xfc\x03\xfa\x00\x82\x00\x00\x01c\x00\xcd\x00c\x00\x00M\x12\x00\xfd\x00\xfb\x01\xf5\x01\xfb\x00\xf9\x00\xf8\x00\xf9\x01\xf2\x01\xdb\x00\x82\x01\xec\x00\xed\x00\xe8\x00\xed\x01\xef\x00\xf2\x00\xef\x00\xdb\x00\xf6\x00\xf9\x00\xf8\x00\xe7\x00\xd9\x00\xe2\x00\xd9\x00\xe2\x00\xd9\x00\xde\x00\x00\x1f\x0e\x00\x0b\x00\x00\x10\x01\x00\x1b\x00\x03\x00\x1b\x00\x16\x00\x10\x00\xfc\a\xfa\x00\xfe\x01\xfa\x00\xd7\x019\x00\xd7\x02\xfe\x01\xfc\n\xd7\x00=\x00\x00\x01P\x00\xcd\x00Y\x00\x05\x00\x00K\x04\x00\x1f\x00\xfb\x01\xfd\x01\xf8\x00\xfb\x01\xf9\x03\xf6\x00\xf3\x00\xc8\x01\xed\x00\xe8\x00\xc8\x00\xed\x01\xef\x00\xec\x003\x00c\x00\xf2\x00\xf9\x00\xf2\x00\xde\x00\xe2\x00\xde\x00\xe2\x02\xd9\x00S\x00\x00\x1e!\x00\x0e\x00\x00\x10\x0e\x00G\x00\x06\x01\x0e\x00\x02\x00t\x00\xfa\x00\xfe\x00\xfc\x06\xfe\x01\xfc\x00\xfe\x03\xfc\x00\xfa\x00\xfc\x0bk\x00\x0c\x00\x00\x01v\x00\xcd\x00\xcf\x00\x00L\x0f\x00\xf9\x00\xfb\x01\xf8\x00\xf3\x00\xf8\x00\xfb\x01\xf8\x01\xf9\x00\xf8\x00\xf6\x01\xef\x01\xed\x00\xe9\x00\xe8\x00\xed\x02\xf2\x00\xdb\x01\xf8\x01\xf2\x00\xe2\x02\xe7\x00\xd9\x02\x12\x00\x00\x1e\x0c\x00\x00\x11\x0b\x00\x06\x01,\x00\x0e\x00\x00\x00\x0f\x00t\x00\xfc\x06\xfe\x00\xfa\x00\xfc\x06\xfe\x00\xfc\t\xfe\x003\x00\x05\x01\x00\x01\x0f\x00`\x00\xcf\x00S\x00\x00\b\x05\x00\x00@\x05\x00\x17\x00\xfd\x00\xfb\x00\xfd\x00\xdb\x00\x82\x00\xfd\x00\xfb\x00\xf8\x00\xfb\x00\xf8\x02\xf2\x01\xec\x00\xef\x00\xed\x01\xdd\x00\xe3\x00\xe9\x00\xec\x01\xf2\x00\xf6\x00\xf9\x01\xed\x00\xd9\x00\xe2\x00\xe9\x00\xfb\x01\xf8\x00\xf2\x001\x00\x05\x00\x000\x0e\x00\x03\x02\x00\x02\x0b\x00\xd7\x00\xfe\x00\xfc\x06\xfe\x00\xfc\x01\xfe\x00\xfc\x02\xfe\x01\xfc\a\xfe\x00\xc8\x00\x02\x00\x00\x04c\x00\xd0\x00f\x00\x00\b\x05\x00\x00A\x03\x00\xfb\x04\xf9\x00\xf5\x00\xe3\x00R\x00\xf8\x00\xf9\x00\xf8\x00\xf2\x02\xed\x00\xef\x00\xe8\x01\x11\x00%\x00\xe3\x00\xef\x00\xf2\x00\xf6\x00\xf9\x00\xf8\x00\xe9\x00\xe2\x00\xe9\x00\xfb\x04\xf8\x00\x04\x00\x001\x01\x00\x03\x00\x01\x00\x00\x03\x0f\x003\x00\xff\x00\xfe\x01\xfc\x01\xfe\x00\xfc\x00\xfe\x02\xfc\x00\xfe\x00\xfc\x00\xfe\x05\xfc\x01\xfe\x02\x11\x00a\x00\x0c\x00\x00\x04v\x00\xd0\x00o\x00\x00\x05\x02\x00\x00\x01\x05\x00\x00A\x05\x00\x11\x00\xfd\x00\xfb\x02\xfd\x00\xe3\x00e\x00\xe3\x00\xf9\x01\xf8\x00\xf6\x00\xf2\x01\xef\x00\xe9\x01\xd4\x00\x11\x00\x1e\x00\xe3\x00\xec\x00\xf2\x00\xf8\x00\xf9\x00\xf8\x00\xec\x00\xf2\x00\xfb\x04\xfd\x00\x11\x00\b\x00\x00\x18\x0c\x00\x00\a\x0c\x00\x05\x00\x04\x00\x0e\x00\x02\x00\x00\n\x03\x00\x01\x01\x00\x04\x05\x00V\x003\x00\xff\x00\xfc\x01\xfe\x01\xfc\x00\xfe\x00\xfc\x00\xfe\x03\xfc\x01\xfe\x01\xfc\x00\xfe\x00\xff\x00\xd7\x00\x82\x00\x16\x00\x00\b\xde\x00X\x00\x02\x00\x00\x04S\x00\xe2\x00c\x00\xd5\x00<\x00\x00A\x05\x00\xd4\x00\xfd\x00\xfb\x02\xf6\x00\xe3\x00R\x00\xf9\x00\xf8\x01\xf3\x00\xec\x00\xef\x01\xe9\x00\xe8\x01\xe3\x00\xe8\x00\xed\x00\xf2\x00\xec\x00\xf5\x01\xf9\x00\xf8\x00\xfb\x00\xf9\x00\xfb\x031\x00\x04\x00\x00\x15\x0f\x00\x01\x00,\x00\x01\x01\x0e\x00\x00\a\x04\x00\x01\x00\x16\x00\x03\x00\x01\x00\x0e\x00\x0c\x00\x00\a\x01\x00,\x00\x01\x00\x00\x06\x0c\x00\x16\x00\x14\x00t\x00\xd7\x00\xff\x00\xfe\x00\xfc\x00\xfe\x06\xff\x00\xfe\x00\xd7\x003\x00\x10\x00\x0b\x00\x00\nS\x00X\x00\xb4\x00\x02\x00\x00\x00\x0c\x00\x00\x00f\x00X\x00\xd0\x03P\x00\x00A\x0f\x00\x11\x00\xf3\x00\xfb\x01\xf9\x00\xfb\x00\xf9\x02\xf6\x00R\x00\xf3\x01\xef\x00\xe9\x00\xe2\x00\xe8\x00\xed\x00\xe8\x00\xf2\x00\xf6\x001\x00\xf5\x00\xf9\x01\xfb\x00\xf8\x02\xfb\x00\xfd\x00\x11\x00\x04\x00\x00\x14\x01\x00\a\x00\x1b\x00\a\x00,\x00\x01\x00\b\x00\x05\x00\x00\a\x0e\x00\x0b\x00\x01\x00,\x00\x19\x00\x1b\x00\x06\x00\x0e\x00\x00\x06\x01\x02\x00\x06\x0c\x01\x00\x01@\x00O\x00\x10\x00\x14\x00\x11\x00\x14\x00k\x00\x11\x00\x14\x00P\x01\x10\x00\x16\x00\x05\x00!\x01\x05\x00\x0c\x00\x00\n<\x00\x82\x00P\x00\\\x01\x82\x00\xcf\x00\xd0\x02X\x00P\x00\x04\x00\x00A\x05\x01\x04\x00\x17\x00\xe9\x00\xfb\x01\xf8\x00\xf9\x01\xf8\x00\xf6\x00\xf3\x00\xf2\x00\xef\x00\xc8\x00\x82\x00\xd4\x00\xed\x00\xef\x00\xec\x01\xf2\x00\xf6\x00\xf8\x01\xf9\x00\xfb\x01\xf6\x00\xd4\x00\x1c\x00\x00\x15\x01\x00\x10\x00\a\x00\xab\x00\x06\x00,\x00\x01\x00\x16\x00\x05\x00\x0c\x00\x00\x06\x04\x00\x0b\x00\x01\x00,\x00\x03\x00\x1b\x00\r\x00\x14\x00\x04\x00\x00\x05\x01\x02\x00(=\x00c\x00\xd8\x00\xd0\x02\xcf\x00X\x00V\x00\x02\x00\x00D\x05\x00\x00\x02\x0f\x00\x17\x00\x18\x00\xef\x00\xf3\x00\xf8\x00\xf2\x01\xec\x00\xed\x01\xe8\x01\xed\x01\xf2\x01\xf6\x01\xf8\x00\xf3\x00\xed\x00\x18\x00\x12\x00\x0f\x00\x00\x17\x01\x003\x00\x10\x00\x15\x00\x1b\x00G\x00\x03\x00\x01\x00\b\x00\x05\x00\x00\x06\x0e\x00\b\x00\x01\x00,\x00\r\x00\a\x00s\x00\x14\x00\x00\x06\b\x00\x16\x00\b\x00\x00*;\x00O\x00v\x00\x12\x00S\x00\x00L\x04\x00\x02\x00\x04\x00\x0f\x00\x03\x00\x12\x00\r\x00\x11\x02\x12\x00\x11\x03\x12\x02\x0f\x01\b\x00\x00\x1a\x04\x00\x01\x00\x14\x01\x10\x01\x01\x00\x0e\x01\x04\x00\x00\x05\x0f\x00\x01\x00\x0b\x00\x01\x00\x10\x00s\x00\x14\x01;\x00\x00\x06\x0e\x00\b\x00@\x00\x00,\x02\x00\x00T\x04\x00\x00\a\x05\x00\x04\x00\x00\x1f\x02\x00\x00\x00O\x00\x10\x01\x14\x02k\x00\x10\x01\a\x00O\x00\x06\x00\x10\x02P\x00s\x00\x10\x00\a\x00\x0f\x00\x00\b\x0e\x01\x0b\x00\x00\xb5\x0e\x00O\x00\a\x00\x1a\x00\a\x01\x0e\x00\x0c\x00\x00\x00\x05\x00\x00\x0c\x05\x02\x00\xb6\x05\x00\x00\x06\x05\x00\x00\xfe\x00\xfe\x00\xfe\x00G\b\x00\x16\x00;\x00\x0b\x00@\x00\x04\x00\x00\x06\x0c\x00\x04\x00\x16\x00\x0b\x01!\x00\x00\xba\x0b\x00\a\x00\x19\x00,\x00\x01\x01\x0b\x00\x05\x00\x00\a\b\x00\x01\x01:\x00\x06\x01\x0e\x00\x00\xb7\x10\x00\a\x01\x19\x00:\x00,\x00\x01\x00\x0b\x00\x05\x00\x00\x06\x0c\x00\x0b\x00\x01\x01:\x00\x19\x00\x1b\x00\x10\x00\x16\x00\x00\xb6\x14\x00\r\x00\x15\x00\x19\x00\x03\x00,\x00\x01\x01\x0e\x00\x00\a\x0b\x00\x01\x00,\x00\x03\x00\x15\x01\x17\x00\x10\x00\x00\xb6\x01\x003\x00k\x00\a\x00\x03\x00\x01\x02\b\x00\x0c\x00\x00\x05\x0e\x00\x01\x02\x03\x00\x15\x00k\x00\x82\x00;\x00\x00\xb8\a\x00\x14\x00m\x00\x14\x01\x10\x01\x01\x00\x0f\x00\x0c\x00\x00\x00\x04\x00\b\x00\x16\x00\x10\x01\x14\x01m\x00\x14\x00\x16\x00\x00\xbc\x0c\x00\x0e\x00@\x00O\x00\x10\x01s\x00\x14\x02k\x00\x10\x00\a\x00\x01\x00;\x00\x0e\x00\x00\x01\x0c\x00\x00M"
)

melody = (
"G4:6","C5:9","C5:3","C5:6","E5:5","D5:9","C5:3","D5:6","E5:5","C5:9","C5:3","E5:6","G5","A5:18","A5:6","G5:9","E4:3","E5:6","C5:5","D5:9","C5:3","D5:6","E5:5","C5:9","A5:3","A5:6","G:5","C5:18","A5:6","G5:9","E4:3","E5:6","C5:5","D5:9","C5:3","D5:6","A5","G5:9","E4:3","E5:6","G5","A5:18","C5:6","G5:9","E4:3","E5:6","C5:5","D5:9","C5:3","D5:6","E5:3","D5:5","C5:9","A5:3","A5:6","G:5","C5:18",
)
melody_parts=(0,8,14,22,28,36,42,50,57)

refrain_de = (
  "Der Himmel wölbt sich übers Land",
  "Ade, Auf Wiedersehn",
  "Wir ruhen all in Gottes Hand",
  "Lebt wohl, Auf Wiedersehn",
)

lyrics_de = (
  (
    "Nehmt Abschied Brüder ungewiss",
    "Ist alle Wiederkehr",
    "Die Zukunft liegt in Finsternis",
    "Und macht das Herz uns schwer",
    refrain_de[0],
    refrain_de[1],
    refrain_de[2],
    refrain_de[3],
  ),
  (
    "Die Sonne sinkt, es steigt die Nacht",
    "Vergangen ist der Tag",
    "Die Welt schläft ein und leis erwacht",
    "Der Nachtigallenschlag",
    refrain_de[0],
    refrain_de[1],
    refrain_de[2],
    refrain_de[3],
  ),
  (
    "So ist in jedem Anbeginn",
    "Das Ende nicht mehr weit",
    "Wir kommen her und gehen hin",
    "Und mit uns geht die Zeit",
    refrain_de[0],
    refrain_de[1],
    refrain_de[2],
    refrain_de[3],
  ),
  (
    "Nehmt Abschied Brüder schließt den Kreis",
    "Das Leben ist ein Spiel",
    "Und wer es recht zu spielen weiß",
    "Gelangt ans große Ziel",
    refrain_de[0],
    refrain_de[1],
    refrain_de[2],
    refrain_de[3],
  ),
)

refrain_en = (
  "For auld lang syne, my dear",
  "For auld lang syne",
  "We'll take a cup of kindness yet",
  "For auld lang syne.",
)

lyrics_en = (
  (
    "Should auld acquaintance be forgot",
    "And never brought to mind?",
    "Should auld acquaintance be forgot",
    "And days of auld lang syne?",
    refrain_en[0],
    refrain_en[1],
    refrain_en[2],
    refrain_en[3],
  ),
  (
    "And surely you'll buy your pint cup",
    "And surely I'll buy mine",
    "And we'll take a cup o' kindness yet",
    "For auld lang syne",
    refrain_en[0],
    refrain_en[1],
    refrain_en[2],
    refrain_en[3],
  ),
  (
    "We two have run about the hills",
    "And picked the daisies fine",
    "But we've wandered many a weary foot",
    "Since auld lang syne",
    refrain_en[0],
    refrain_en[1],
    refrain_en[2],
    refrain_en[3],
  ),
  (
    "We two have paddled in the stream",
    "From morning sun till dine",
    "But seas between us broad have roared",
    "Since auld lang syne",
    refrain_en[0],
    refrain_en[1],
    refrain_en[2],
    refrain_en[3],
  ),
  (
    "And there's a hand my trusty friend",
    "And give me a hand o' thine",
    "And we'll take a right good-will draught",
    "For auld lang syne",
    refrain_en[0],
    refrain_en[1],
    refrain_en[2],
    refrain_en[3],
  ),
)

refrain_fr = (
  "Ce n'est qu'un au revoir, mes frères",
  "Ce n'est qu'un au revoir",
  "Oui nous nous reverrons, mes frères",
  "Ce n'est qu'un au revoir",
)

lyrics_fr = (
  (
    "Faut-il nous quitter sans espoir",
    "Sans espoir de retour",
    "Faut-il nous quitter sans espoir",
    "De nous revoir un jour",
    refrain_fr[0],
    refrain_fr[1],
    refrain_fr[2],
    refrain_fr[3],
  ),
  (
    "Formons de nos mains qui s'enlacent",
    "Au déclin de ce jour",
    "Formons de nos mains qui s'enlacent",
    "Une chaîne d'amour",
    refrain_fr[0],
    refrain_fr[1],
    refrain_fr[2],
    refrain_fr[3],
  ),
  (
    "Unis par cette douce chaîne",
    "Autour d'un même feu",
    "Unis par cette douce chaîne",
    "Ne faisons point d'adieu",
    refrain_fr[0],
    refrain_fr[1],
    refrain_fr[2],
    refrain_fr[3],
  ),
  (
    "Car Dieu qui nous voit tous ensemble",
    "Et qui va nous bénir",
    "Car Dieu qui nous voit tous ensemble",
    "Saura nous réunir",
    refrain_fr[0],
    refrain_fr[1],
    refrain_fr[2],
    refrain_fr[3],
  ),
)

use_buffer()
font_h_full = 12
header_h = 3 * font_h_full
screen_w, screen_h = get_screen_dim()
r0 = (screen_h - header_h) // 2
y0 = screen_h - r0
x0 = screen_w - r0

font_w, font_h = 6, 9
r_d = draw_clock(x0, y0, r0, font_w, font_h)
r_s = r_d - sqrt((2*font_w + 1)**2 + font_h**2)
r_m = r_s * .9
r_h = r_m * .8

newyear = False

tm = int(time())
tm0 = 1640995200 - localtime(0)[3]*3600
d_tm = .005
tm = tm0 - 3*60


lt = 0
back = draw_image_offscreen(image, 0, 0, image_w, image_h, palette, zoomx=1, zoomy=1, itransp=0)

o_h, o_m, o_s = -1, -1, -1
i_clk = 0
while not newyear and not escape():
  tm1 = time()
  tm = tm + 1
  ltm = localtime(tm)
  h, m, s = ltm[3:6]
  if m == 59 and s // 5 != i_clk:
    i_clk = s // 5
    mb_show_clock_icon(i_clk)
  if ltm[0] == 2022:
    newyear = True
  if o_s != s:
    refresh_clock(h, m, s, r_h, r_m, r_s)
    paint_buffer()
    o_h, o_m, o_s = h, m, s
  if not newyear:
    sleep(max(0, d_tm - time() + tm1))
    d_tm = min(1, d_tm * 1.03)

send_microbit("import music")
mb_show_clock_icon(12)
back.show_image(0, screen_h - image_h)
draw_clock(x0, y0, r0, font_w, font_h)
refresh_clock(h, m, s, r_h, r_m, r_s)
paint_buffer()

i = -1
d_tm = tm - time()
i_melody_part = 0
t_melody_part = time() + d_tm
end_fr, end_de, end_en = False, False, False
while not escape() and (not end_fr or not end_de or not end_en):
  tm = time() + d_tm
  if tm >= t_melody_part:
    if not i_melody_part:
      i += 1
      mb_show_val(i + 1)
    set_color(255, 255, 255)
    fill_rect(0, 0, screen_w, header_h)
    if i < len(lyrics_fr):
      set_color(0, 0, 255)
      draw_text(0, font_h_full, lyrics_fr[i][i_melody_part])
    else: end_fr = True
    if i < len(lyrics_de):
      set_color(0,  127, 0)
      draw_text(0, 2*font_h_full, lyrics_de[i][i_melody_part])
    else: end_de = True
    if i < len(lyrics_en):
      set_color(255, 0, 0)
      draw_text(0, header_h, lyrics_en[i][i_melody_part])
    else: end_en = True
    melody_part = melody_cut(melody, melody_parts, i_melody_part, i_melody_part + 1)
    mb_play_melody(melody_part)
    d_melody_part = melody_duration(melody_part)
    t_melody_part += d_melody_part
    i_melody_part = (i_melody_part + 1) % (len(melody_parts) - 1)
  ltm = localtime(tm)
  h, m, s = ltm[3:6]
  if o_s != s:
    refresh_clock(h, m, s, r_h, r_m, r_s)
    paint_buffer()
    o_h, o_m, o_s = h, m, s


Téléchargement : archives_voir.php?id=2833547
Lien vers le sujet sur le forum: Bonne année 2022 sur TI-Planet ! (Commentaires: 10)

Découverte TI-XX, prototype TI-83 avec ROM 0.01013

Nouveau messagede critor » 01 Jan 2022, 11:13

Pour la rentrée 1990, Texas Instruments démarrait sa formidable odyssée dans le monde des calculatrices graphiques avec son tout premier modèle TI-81, muni d'un processeur Zilog z80 8 bits et dépourvu d'un port de communication.

Ce modèle était programmable dans une première version de ce qu'on appelle aujourd'hui le langage TI-Basic. Les premiers fans Texas Instruments furent rapidement confrontés aux limites de ce langage. D'une part il s'agit d'un langage interprété, c'est-à-dire que les lignes sont lues une par une à l'exécution et alors seulement traduites en instructions machine pour exécution. Un langage donc assez lent, peu adapté aux jeux notamment. D'autre part tu étais limité(e) aux seules instructions prévues par Texas Instruments, à l'époque peu nombreuses. Pas de gestion des chaînes de caractères, matrices ou images, et bien qu'il y ait eu des progrès c'est encore assez rudimentaire sur ces dernières aujourd'hui.


Pour la rentrée 1992, Texas Instruments récidive avec la TI-85, munie d'un langage similaire étendu avec les matrices, et cette fois-ci d'un port de communication, dans la version normale de la calculatrice. Mais Texas Instruments allait ici avoir quelques surprises...

Car en novembre 1994 Dan Eble, Magnus Hagander et Rob Taylor sont entrés dans l'histoire en tant que pionniers avec ZShell. Premier shell assembleur pour la TI-85, ZShell est un outil qui permettait :
  1. de programmer en langage assembleur z80 sur ton ordinateur
  2. de compiler le code en question en langage machine TI-85
  3. d'encapsuler le code machine obtenu dans un format de variable transférable sur TI-85, ici des chaînes de caractères
  4. et enfin d'exécuter les variables en question une fois transférées sur la TI-85
Sur calculatrice, l'installation de ZShell exploitait une faille dans une fonctionnalité officielle, la possibilité de transférer et recevoir des backups (sauvegardes), et donc de réécrire intégralement le contenu de la mémoire RAM avec tout ce que l'on voulait. Un fichier backup tout spécialement trafiqué était ainsi fourni pour l'installation de ZShell sur calculatrice. Ce fut pour la communauté Texas Instruments alors naissante une formidable révolution. Des dizaines de programmes codés en assembleur sont sortis en quelques mois pour ZShell et d'autres shells s'en inspirant. De formidables jeux, des outils révolutionnaires à l'époque (affichage d'images, sortie son sur le port série mini-Jack 2.5 de la calculatrice, ...). ZShell aura, pour un temps, contribué à changer la face du monde.
https://www.ticalc.org/pub/85/asm/

La TI-92 sort pour la rentrée 1995 avec cette fois-ci un processeur Motorola 68k 16 bits, un modèle alors révolutionnaire avec le calcul formel issu du logiciel Derive, ainsi qu'une application de géométrie dynamique. Le langage de programmation toujours appelé TI-Basic n'avait rien à voir avec les précédents, étant cette fois-ci construit autour de la définition et l'appel de fonctions. Il n'en restait toutefois pas moins un langage interprété avec donc les mêmes défauts de vitesse et dans une moindre mesure de puissance.

10 Novembre 1995 soit à peine quelques semaines après la disponibilité du modèle, David Ellsworth apporte sa pierre à l'édifice avec Fargo, un shell assembleur pour la TI-92, exploitant la même famille de failles avec le transfert d'un fichier backup trafiqué. La communauté s'empressa de s'engouffrer dans les possibilités inédites offertes ainsi par le contrôle total de ce processeur très supérieur.
https://www.ticalc.org/pub/92/asm/

La TI-82 était entre temps sortie pour la rentrée 1993, bien évidemment à l'époque sans support assembleur officiel pour sa part.
Cette lacune ne sera partiellement comblée que bien plus tard le 7 août 1997, par Jason Todd et Andy Selle qui sortent OShell-82, le premier shell assembleur pour TI-82, toujours la même méthode s'appuyant sur le transfert d'un fichier backup trafiqué. Toutefois ce dernier avait le défaut de ne pas offrir de relocation mémoire, et c'est en fait un autre shell que l'histoire retiendra, Ash du 26 août 1997 par Dines Justesen et Mattias Lindqvist.
https://www.ticalc.org/pub/82/asm/

Niveau matériel, Texas Instruments introduisait avec les premières TI-82 une architecture à 4 puces, ce qui témoignait déjà d'une bien meilleure intégration que sur les TI-81 et TI-85 précédentes :
  • Toshiba T84C00AM-8 : processeur 8 bits z80 cadencé à 6 MHz
  • Sharp LH531ARH ou Macronix MX J9533 : mémoire ROM de 128 Kio de capacité
  • Suwa Seikosha / Sharp SRM20256 ou SRM2A256 : mémoire RAM de 32 Kio de capacité
  • Toshiba TC14L010AF : ASIC



On avance à la rentrée 1996, Texas Instruments sort la TI-83, dont le système d'exploitation sera réutilisé après mise à jour pour les futurs modèles d'entrée de gamme reprenant la technologie matérielle de cette machine : TI-82 STATS (2004), TI-82 Stats.fr (2006) et TI-76.fr (2009).
Chez Texas Instruments, l'un des ingénieurs derrière l'écriture de ce système d'exploitation, Pat Milheron, fut particulièrement impressionné par le formidable travail communautaire déjà effectué donc autour de l'assembleur des TI-85 et TI-92, et défendit l'idée d'intégrer un moyen d'exécuter du code assembleur pour les utilisateurs les plus passionnées et exigeants. Le projet fut a priori validé mais dans un premier temps à de simples fins de test : la TI-83 et ses modèles dérivés dissimulent une instruction initialement secrète pour exécuter des programmes contenant du code assembleur, Send(9prgm.... Oui, c'est l'instruction de transfert de fichier qui n'a en apparence rien à voir qui servait via un paramètre spécial à exécuter un programme assembleur, digne d'un easter egg (œuf de Pâques). Les programmes assembleur étaient donc cette fois-ci facilement utilisables par tout-le-monde puisque la fonctionnalité n'avait pas à être installée via des manipulations plus ou moins complexes. La communauté entra en véritable ébullition et battit rapidement en quantité l'exploit TI-85 précédent :
https://www.ticalc.org/pub/83/asm/

La rumeur dit que Pat Milheron aurait ajouté l'instruction Send(9prgm... secrète dans le dos de Texas Instruments, sans que l'entreprise soit au courant ni ait donné son accord, et aurait été licencié pour cela. Nous ignorons si c'est vrai, par absence de sources publiques à croiser.


Niveau matériel, on reste sur l'architecture à 4 puces introduite avec la TI-82 précédente :
  • Toshiba T84C00AM-8 : processeur 8 bits z80 cadencé à 6 MHz
  • Atmel AT27C020 : mémoire ROM de 256 Kio de capacité
  • Suwa Seikosha / Sharp SRM2A256 : mémoire RAM de 32 Kio de capacité
  • Toshiba TC14L010AF : ASIC
Les toutes premières TI-83 de production assemblées pour la rentrée 1996 à compter de Mars 1996, étaient munies d'une carte mère de référence 9T883MB-30D, carte qui continua à être utilisée jusqu'en Juin 1996 avec la révision matérielle F.

La ROM incluait donc un logiciel que l'on ne pouvait pas mettre à jour, et dont on pouvait consulter la version via la combinaison de touches
MODE
ALPHA
LN
. À partir donc de ce lancement, les versions du logiciel programmé en usine ont été successivement :
  • 1.010
  • 1.0200
  • 1.0300
  • 1.0400
  • 1.0500
  • 1.0600
  • 1.07000
  • 1.08000
  • 1.10
  • 1.10001 (commune TI-83 et premières TI-82 STATS)
  • 1.11 (TI-82 STATS uniquement)
  • 1.11fr7 (TI-82 Stats.fr uniquement)
  • 1.00fr5 (TI-76.fr uniquement)

Et bien grande nouvelle, LogicalJoe vient de trouver et s'acheter un prototype de TI-83, estampillé de façon non finale TI-XX. Pas de numéro de série au dos. Contrairement à d'autres modèles les prototypes de TI-83 sont extrêmement rares, nous ne t'en avions jamais présenté jusqu'à présent.

Le numéro de version logiciel consultable via
MODE
ALPHA
LN
est 0.01013, inférieur donc à tout ce que nous avons connu jusqu'à présent.

Un prototype d'un intérêt historique exceptionnel, car selon LogicalJoe l'instruction Send(9prgm... n'y fonctionne pas. Cela signifie soit que Pat Milheron ne l'avait pas encore codée, soit qu'il avait travaillé sur une branche distincte pour la coder et l'a injectée au tout dernier moment juste avant la mise en production de masse.
L'inconvénient, c'est que sans support des programmes assembleur, la sauvegarde de cette version ROM va être nettement plus compliquée.

Matériellement, la référence de la carte mère est légèrement inférieure à ce que nous connaissions : 9T883MB-30C. Sinon, nous sommes sans surprise sur l'architecture à 4 puces attendue pour quelque chose d'intermédiaire entre les TI-82 et TI-83 :
  • Toshiba T84C00AM-8 : processeur 8 bits z80 cadencé à 6 MHz
  • Atmel AT27C020 : mémoire ROM de 256 Kio de capacité
  • Suwa Seikosha / Sharp SRM2A256 : mémoire RAM de 32 Kio de capacité
  • Toshiba TC14L010AF : ASIC
Petite remarque toutefois par rapport à l'ASIC, en-dessous de sa référence se trouve un numéro qui est semble croissant en fonction du temps, et avait toujours été suffixé d'un EAI sur les modèles de production présentés jusqu'à présent. Ici surprise, il est suffixé d'un -ES, peut-être pour Engineering Sample.

Crédits images :
Lien vers le sujet sur le forum: Découverte TI-XX, prototype TI-83 avec ROM 0.01013 (Commentaires: 3)

Nouvel emballage carton (2021) TI-82 Advanced + révision B

Nouveau messagede critor » 01 Jan 2022, 14:06

14115Comme nous te l'avons déjà annoncé pour cette année scolaire 2021-2022, l'ensemble de la gamme Texas Instruments passe progressivement aux emballages carton. Fini les emballages historiques à coque blister rigide très difficiles à ouvrir proprement, quasiment impossibles à réutiliser une fois ouverts, pénibles et encombrants à ranger, et n'ayant donc dans la plupart des cas que la poubelle comme seule destination possible après ouverture ! :bj:

À ce sujet nous t'avons déjà présenté les nouveaux emballages :
1399414124

1412014117Pour cette année 2021-2022 tu peux donc encore te retrouver en rayon avec un même modèle de calculatrice à la fois sous emballage carton et blister, exactement au même prix puisque utilisant le même code barre.

Rappelons que pour les TI-83 Premium CE Edition Python il est dans ton intérêt de choisir l'emballage carton, et pas seulement pour l'écologie et la planète.

Choisir le tout nouvel emballage carton c'est certes également la garantie d'avoir une machine assemblée ces derniers mois, alors qu'un emballage blister peut avoir traîné dans le stock de ton magasin pendant des années.

Mais surtout, grande nouveauté de la rentrée 2021, pour le même prix le nouvel emballage carton a l'avantage exclusif d'intégrer également le logiciel d'émulation sous la forme d'une licence d'utilisation de 3 ans, ce qui n'est pas le cas des anciens emballages blister. :#non#:

150611506015059Aujourd'hui, Adriweb vient enfin de nous trouver et acheter une TI-82 Advanced sous le nouvel emballage carton.
On peut voir sur sa tranche qu'il est daté du 2 février 2021.

Comme les autres nouveaux emballages carton français du constructeur, il est très sobre sur sa face avant.

C'est au dos que les fonctionnalités sont mises en avant : mode examen, calcul exact sur les fractions, application PolySimult pour la recherche des racines de polynômes et la résolution de systèmes d'équations linéaires, ...

C'est l'occasion pour nous de récupérer une TI-82 Advanced parmi les plus récentes, et de découvrir qu'il s'est passé des choses.

Sortie pour la rentrée 2015, la TI-82 Advanced avait bénéficié d'une révision matérielle A pour les machines assemblées à partir de Juin 2017.

Ici grâce au timbre à date au dos de la calculatrice, nous notons que cette machine assemblée en Juillet 2018 présente à son tour une nouvelle révision matérielle B inconnue jusqu'à ce jour.

Reste encore à la démonter pour peut-être découvrir ce que Texas Insruments a bien pu changer. À bientôt... ;)

Crédits images : TI-82 Advanced - Adriweb
Lien vers le sujet sur le forum: Nouvel emballage carton (2021) TI-82 Advanced + révision B (Commentaires: 7)

Coque NumWorks édition limitée Janvier 2022 à gagner

Nouveau messagede Admin » 03 Jan 2022, 08:55

13036Pour la rentrée 2019, NumWorks te sortait une coque collector en édition limitée pour ta calculatrice, la Macaremaths, illustrée tout en humour et talent sur le thème des Mathématiques. :bj:

Dans le même genre NumWorks a renouvelé l'expérience en mieux avec une coque en édition limitée chaque mois depuis la rentrée 2020, initiant toute une gamme d'accessoires en édition limitée à collectionner. Tu as déjà eu nombre d'occasions d'habiller ta calculatrice de façon unique au monde :
1323013229 14802 135731480014799 14801

14786Vu le succès de son calendrier, pour ce mois de Janvier 2022 NumWorks t'a préparé une coque toute spéciale, fêtant le passage à la nouvelle année 2022. Il s'agit d'une coque calendrier qui pourra t'être fort utile tout au long de l'année 2022 puisque tu pourras la mettre sur ta calculatrice et ainsi l'avoir toujours sous la main ! :favorite:

Tu peux dès maintenant tenter de gagner la coque sur les différents comptes sociaux du constructeur :

Pour participer et peut-être gagner, c'est très simple. Il te suffit d'ici le 31 Janvier au plus tard, de :
  1. suivre, aimer ou t'abonner au compte du constructeur
  2. taguer ou identifier un ami ou une amie

N'hésite pas à participer sur les différents comptes sociaux, afin de maximiser tes chances. ;)
Lien vers le sujet sur le forum: Coque NumWorks édition limitée Janvier 2022 à gagner (Commentaires: 2)

Découverte matériel TI-82 Advanced révision B

Nouveau messagede critor » 03 Jan 2022, 12:24

46234626Pour la rentrée 2015 sortait la TI-82 Advanced, l'entrée de gamme monochrome par Texas Instruments dans le contexte de la réforme du mode examen tout juste annoncée.

La carte électronique avait pour référence SG82F-10-1.

Le matériel de ce modèle d'entrée de gamme reprenait celui de l'ancien modèle de milieu de gamme TI-84 Plus :
  • écran monochrome 96×32 pixels
  • processeur z80 cadencé à 15 MHz (ou 6 MHz pour le mode de compatibilité TI-83 Plus)
  • mémoire RAM de 48 Kio de capacité
  • mémoire Flash de 1 Mio de capacité, dont 480 Kio d'espace de stockage
La seule différence concerne le port de communication mini-Jack 2.5mm historique qui disparaît ici, son circuit étant réutilisé pour la diode examen.


15067Or, Texas Instruments effectue régulièrement des révisions du matériel de ses calculatrices. Cela permet de s'adapter à la disponibilité des composants électroniques, de réduire les coûts de fabrication, et parfois même d'améliorer les performances ou capacités.

Nous avions omis de t'en parler, mais les TI-82 Advanced assemblées à partir de Juin 2017 ont bénéficier d'une première révision du matériel, la révision A.

La référence de la carte change et surtout se complexifie, devenant SG82F/T-14. Il s'agit en fait d'une référence hybride. En effet afin d'optimiser les coûts de production, Texas Instruments a eu l'idée de mutualiser la chaîne de production de la carte pour 2 modèles différents à diode examen :
  • la TI-82 Advanced pour la France, basée sur le matériel TI-84 Plus
  • la TI-84 Plus T pour les Pays-Bas, basée sur le matériel TI-84 Plus Silver Edition

Les cartes bifurquent ainsi en aval de la chaîne :
  • TI-82 Advanced : on soude sur la carte une puce Flash de 1 Mio, et alors on barre le T pour donner SG82F-14
  • TI-84 Plus T : on soude sur la carte une puce Flash de 2 Mio, et alors on barre le F pour donner SG82T-14
Rappelons au passage que les examens néerlandais utilisent une liste officielle de modèles autorisés mise à jour chaque année, et qu'il a déjà été annoncé que la TI-84 Plus T en serait retirée après la session d'examens 2022. La production de ce modèle a donc peut-être déjà cessé.

Au-delà de ce changement de référence, on note :
  • un changement du format des 2 gros condensateurs, qui deviennent plus compacts et peuvent ainsi être soudés sans avoir besoin d'être couchés
  • un changement du format de l'oscillateur quartz X02D, qui devient également beaucoup plus compact
  • des modifications sur le circuit du contrôleur écran qui amènent nombre de petits composants à bouger

15068Ce week-end Adriweb nous permettait de découvrir l'existence d'une nouvelle révision matérielle B, concernant les TI-82 Advanced assemblées depuis Juillet 2018.

La révision B utilise à nouveau une nouvelle carte électronique de référence hybride SG82F/T-15.

Rien de gros cette fois-ci, mais on note une fois encore une fois des changements de circuits :
  • des modifications sur le circuit du port mini-USB qui amènent plusieurs composants à bouger
  • des modifications sur le circuit d'alimentation amenant ici encore plusieurs composants à bouger
  • des modifications sur le circuit de la diode examen, amenant plusieurs composants à changer d'orientation

Voilà, les modifications sont cette fois-ci moins flagrantes, mais peut-être bien plus majeures car générales.

Crédits images :
Lien vers le sujet sur le forum: Découverte matériel TI-82 Advanced révision B (Commentaires: 2)

Lib nSpireLTE (LiTe Engine) pour faciliter le dév natif

Nouveau messagede SlyVTT » 03 Jan 2022, 13:30

Développer sur calculatrice est une activité passionnante et permet à de nombreux étudiants de mettre un pied dans le monde de la programmation. Très souvent le premier contact est réalisé via des langages de haut niveau directement intégrés aux machines, historiquement basés sur le langage BASIC, mais désormais très souvent via le langage PYTHON qui est intégré aux dernières générations de calculatrice de manière native.

Ces langages interprétés à l'exécution offrent comme principal avantage d'être relativement simples à approcher et ont souvent une courbe d'apprentissage adaptée aux débutants. Ils sont donc parfaits pour de la programmation simple dans le cadre scolaire ou pour développer de petits programmes rapidement. Un second avantage de ces langages est la mise à disposition d'un certain nombre de routines adaptées à la machine hôte afin de réaliser les opérations classiques dans un programme (vérifier si une touche est appuyée, créer un fichier et écrire dedans, lire les coordonnées de la souris ou du curseur, ...). Hélas, très souvent cette simplicité va de pair avec une relative lenteur du langage (car interprété, par opposition à compilé) et une certaine limitation dans les fonctions disponibles ou dans leur comportement. Apparaît donc très rapidement pour les plus passionnés une envie de plus d'ouverture pour des projets plus ambitieux tels que des jeux.

Une possibilité offerte sur un grand nombre de machines est de passer à la programmation dite "native", de plus bas niveau en langages compilés/assemblés tels que l'Assembleur (ou ASM) ou le C/C++. Ces langages offrent pour principaux avantages d'être particulièrement bien adaptés pour parler directement au matériel en présence. A cela s'ajouter qu'ils sont compilés, c'est à dire traduits directement en code interprétable par le processeur, sans de multiples couches logicielles intermédiaires, donnant très souvent un code nettement plus rapide et permettant de programmer à peu près tout ce que l'on veut, du moment que le matériel suit.


Malheureusement, ces langages ont un côté rebutant pour la simple et bonne raison que pour réaliser les opérations simples décrites précédemment, il n'y a généralement rien de prévu (ou le strict minimum), et il faut donc développer tout un panel de "fonctions de base" pour créer un programme utilisable. C'est très souvent ce point qui limite la percée de ces langages très puissants. Bien entendu, une fois ces fonctions disponibles, elles seront réutilisables dans le futur dans d'autres programmes, mais l'effort initial à fournir est considéré comme conséquent et en décourage plus d'un.


Heureusement, il existe des bibliothèques de fonctions développées par des passionnés qui permettent de créer beaucoup plus rapidement de beaux programmes en s'affranchissant de la partie "mains dans le cambouis". Nous pouvons par exemple citer la bibliothèque SDL supportée par de nombreuses architectures (PC/MAC/PS3/TI nSpire ...) et dont le but est d'offrir un panel de fonctions permettant de créer des jeux et/ou des programmes divers et variés.


SDL est une magnifique librairie, permettant de faire de nombreuses choses, mais est parfois un peu vécue comme le marteau pour tuer la mouche. Avoir à disposition un panel réduit de fonctions permettant de réaliser seulement quelques opérations simples nécessaires à tout programme qui se respecte, sans fioritures, permettrait de combiner la simplicité d’un langage de plus haut niveau sans alourdir inutilement le poids de l’exécutable généré en incorporant tout un lot de fonctions dont seulement 1 ou 2% seront utilisées par le programme en cours de développement.


Posons-nous quelques instants et soyons plein de compassion pour ce jeune développeur voulant mettre à profit sa belle calculatrice flambant neuve et ne sachant que faire. Quelle solution pour lui ?

Et bien, jeune (ou moins jeune d’ailleurs) possesseur de TI nSpire, sache qu’en lisant les lignes suivantes, ton avenir de développeur en langage natif va se dégager de ces gros nuages noirs et que le soleil rayonnera rapidement sur toi …

En effet, dans le cadre du développement de la bibliothèque GUI Toolkit NF pour TI nSpire, un certain nombre de ces fonctions de base ont été codées afin de créer les fondations du Toolkit (NF signifiant d’ailleurs au passage « New Foundation »). Ces fonctions sont intégrées dans l’ensemble de la bibliothèque mais peuvent être utilisées indépendamment du GUI Toolkit NF.

Il a donc été choisi de créer une variante légère de cette bibliothèque (appelée nSpireLTE avec LTE pour LiTe Engine) et offrant les fonctions de base pour créer des petits programmes en C++.

Cette bibliothèque LTE se compose de 4 modules :
- KeyManagerLTE : contenant les fonctions de bas niveau permettant de lire l’état du clavier de la TI nSpire
- MouseManagerLTE : contenant les fonctions de bas niveau permettant de lire l’état du touchpad de la TI nSpire (mouvement du curseur, click central et gestion des flèches)
- TimeManagerLTE : permettant de gérer les fonctions liées au temps sur la nSpire (timer, sleep, heure actuelle)
- DebuggerLTE : permettant de debugger des programmes en offrant un panel de fonctions pour réaliser des sorties de logs dans un fichier et tracker impitoyablement les bugs et plantages.



1) Installation :



L’installation et l’utilisation est on ne peut plus simple, il suffit de télécharger l’archive et de décompresser le fichier nSpireLTE.zip dans votre projet de manière à avoir un répertoire nSpireLTE dans l’arborescence de votre projet de développement.

Ensuite, il suffit d’inclure la librairie dans votre fichier contenant la fonction main() via une directive :

Code: Tout sélectionner
#include "./nSpireLTE/nSpireLTE.hpp"
et le tour est joué. Piece of Cake !! Comme dirait nos amis outre Manche :-)


2) Les modules :



Comme précédemment annoncé, la nSpireLTE est composée de 4 modules dont le rôle est de couvrir 4 besoins très classiques en programmation. Chacun des modules sera détaillé par la suite.

Tous les modules fonctionnent de la même manière, on commence par les initialiser :
Code: Tout sélectionner
   ...
    Module::Initialize();
   ...

puis on peut ensuite accéder à ses fonctions via :
Code: Tout sélectionner
   ...
    Module::Fonction( parametres_fonctions ... );
   ...

Une fois l'utilisation du module terminée (généralement en fin de programme), on clos le module via:
Code: Tout sélectionner
   ...
    Module::Close();
   ...

Vraiment facile à utiliser.


A) KeyManager

La gestion des événements liés au clavier est présent dans tous les programmes (ou presque) sur la TI nSpire. Il faut dire qu'avec toutes ces touches disponibles, il serait dommage de ne pas les utiliser.

Chaque touche possède un keycode selon l'image suivante Image

Le module KeyManager reprend à son compte la gestion de toutes les touches avec un marquage rouge. La nSpire étant une machine complexe, le module MouseManager (que nous détaillerons dans le prochain paragraphe) s'occupera quant à lui des touches marquées en bleu et en vert, toutes en rapport avec la zone du TouchPad.


Chaque touche possède 3 fonctions dédiées (par exemple pour la touche kbESC):
- KeyManager::kbESC() vaudra true (=1) si la touche est appuyée et false (=0) sinon.
- KeyManager::kbESC_Press_Event() vaudra true (=1) si la touche a été pressée depuis le dernier tour de KeyManager::Logic() et false (=0) sinon.
- KeyManager::kbESC_Release_Event() vaudra true (=1) si la touche a été relâchée depuis le dernier tour de KeyManager::Logic() et false (=0) sinon.

L'état du clavier est mis à jour via la fonction KeyManager::Logic() qu'il convient d'inclure dans la boucle de gestion des évènements.

A ces fonctions individuelles se rajoutent des fonctions plus globales :
- KeyManager::IsKeyPressEvent() vaudra true (=1) si une touche du clavier a été pressée depuis le dernier tour de KeyManager::Logic() et false (=0) sinon.
- KeyManager::IsAnyKeyPressed() vaudra true (=1) si une touche du clavier est pressée et false (=0) sinon.

Il est possible de réinitialiser l'état du driver avec un appel à KeyManager::ResetState();

Voici un exemple simple d'utilisation.

Code: Tout sélectionner
#include <stdlib.h>
#include "./nSpireLTE/nSpireLTE.hpp"

int main(int argc, char **argv)
{
    KeyManager::Initialize();

   bool done = false;
   
   while (!done)
   {
      KeyManager::Logic();
      
      if (KeyManager::kbCTRL() && KeyManager::kbESC())
      {
         done = true;
      }
      
      if (KeyManager::kb8_Press_Event())
        {
            printf( " La touche [8] a ete pressee.\n" );
        }

        if (KeyManager::kb8_Release_Event())
        {
            printf( " La touche [8] a ete relachee.\n" );
        }
      
      if (KeyManager::kbDOT_Press_Event())
        {
            printf( " La touche [.] a ete pressee.\n" );
        }

        if (KeyManager::kbDOT_Release_Event())
        {
            printf( " La touche [.] a ete relachee.\n" );
        }
   }

    KeyManager::Close();

    return 0;
}



B) MouseManager

Le module MouseManager est très similaire au module KeyManager.

Pour les touches avec les keycodes "bleus", l'utilisation est strictement identique, seul l'appel se fait via MouseManager::kb.. au lieu de KeyManager::kb..

Les événements sont du même type, par exemple pour la touche flèche droite :
- MouseManager::kbRIGHT() vaudra true (=1) si la touche est appuyée et false (=0) sinon.
- MouseManager::kbRIGHT_Press_Event() vaudra true (=1) si la touche a été pressée depuis le dernier tour de MouseManager::Logic() et false (=0) sinon.
- MouseManager::kbRIGHT_Release_Event() vaudra true (=1) si la touche a été relâchée depuis le dernier tour de MouseManager::Logic() et false (=0) sinon.

Mais le rôle de MouseManager est aussi de gérer le TouchPad lorsque il est utilisé comme une souris (c'est à dire en passant le doigt dessus et en cliquant la partie centrale) :
- MouseManager::GetX() retourne la position X du curseur de souris (sans gestion de sa représentation graphique, valeur entre 0 et 320 pixels)
- MouseManager::GetY() retourne la position Y du curseur de souris (sans gestion de sa représentation graphique, valeur entre 0 et 240 pixels)
- MouseManager::GetB() retourne l'état du bouton de souris (true si cliqué et false sinon)

Il est possible de gérer la sensibilité du TouchPad via la fonction MouseManager::SetSensibility( valeur ) avec valeur comprise entre entre 0.1 et 10.
10 étant très (très) rapide et 0.1 très (très) lent. 3 est une bonne valeur a priori.

Encore une fois rien de mieux qu'un exemple simple.

Code: Tout sélectionner
#include <stdlib.h>
#include "./nSpireLTE/nSpireLTE.hpp"

int main(int argc, char **argv)
{
    KeyManager::Initialize();
    MouseManager::Initialize();

   bool done = false;
   unsigned int MX;
   unsigned int MY;
   bool MB;
   
   MouseManager::SetSensibility( 3 );
   
   
   while (!done)
   {
      KeyManager::Logic();
      MouseManager::Logic();
      
      if (KeyManager::kbCTRL() && KeyManager::kbESC())
      {
         done = true;
      }
      
      MX = MouseManager::GetX();
      MY = MouseManager::GetY();
      MB = MouseManager::GetB();
      
      if (MB)
      {
         printf( " Mouse position is (%d, %d) - Button Clicked.\n", MX, MY );
      }
      else
      {
         printf( " Mouse position is (%d, %d).\n", MX, MY );
      }         
      
   }

    KeyManager::Close();
    MouseManager::Close();
   
    return 0;
}



C) TimeManager

TimeManager est le module responsable de la gestion des timers et du temps.

Si vous voulez bloquer le programme, TimeManager::Delay( valeur ) vous permettra de bloquer durant valeur millisecondes.
Si vous voulez avoir l'heure courante, TimeManager::GetCurrentTime( ) vous donnera toutes les informations nécessaires.

Il est à noter que le module TimeManager ne demande pas d'appel cyclique à une fonction Logic() pour fonctionner.

Code: Tout sélectionner
#include <stdlib.h>
#include "./nSpireLTE/nSpireLTE.hpp"

int main(int argc, char **argv)
{
    KeyManager::Initialize();
    MouseManager::Initialize();
   TimeManager::Initialize();

   bool done = false;
   
   int Heure, Minute, Seconde;
   
   while (!done)
   {
      KeyManager::Logic();
      MouseManager::Logic();
      
      if (KeyManager::kbCTRL() && KeyManager::kbESC())
      {
         done = true;
      }
      
      TimeManager::GetCurrentTime( &Heure, &Minute, &Seconde );
      
      if (KeyManager::IsKeyPressEvent() || MouseManager::IsKeyArrowPressEvent())
      {
         printf( " [Pause for the next 5s]\n" );
         TimeManager::Delay( 5000 );
         printf( " [OK, Done end of the 5s]\n" );
      }
      
      printf( " Hello : current time is %d:%d:%d\n", Heure, Minute, Seconde );
   }

    KeyManager::Close();
    MouseManager::Close();
   TimeManager::Close();
   
    return 0;
}



D) Debugger

Le module Debugger est un peu particulier, mais tellement nécessaire. Programmer revient toujours à un moment où à un autre à chercher désespérément un bug et à essayer de comprendre pourquoi telle ou telle partie du code ne fonctionne pas comme prévu ou pis, fait crasher la machine.

Le module Debugger vise à proposer quelques routines pour aider à la résolution de ces soucis.

Le module Debugger permet de créer des fichiers dits de "Logs" afin de tracer les fonctions. Il est intimement lié au module TimeManager vu précédemment.

Par exemple, afin de savoir si un plantage se produit avant ou après une fonction, il suffit d'ajouter dans le code source :
Code: Tout sélectionner
   ...
    Debugger::Log( "J'arrive juste avant la fonction à tester\n" );
   
   fonction_a_tester();
   
   Debugger::Log( "Je suis juste après la fonction à tester\n" );
   ...


Si dans le fichier de log vous avez bien les deux lignes inscrites, alors cette fonction n'est pas incriminée dans le plantage, sinon, il vous faudra analyser cette fonction plus finement, par exemple en y incorporant des lignes de logs supplémentaires, possiblement en y incluant des valeurs utiles.

Le module contient deux familles de fonctions:
- Debugger::Log( ...) : les fonctions de log sans horodatage
- Debugger::TimerLog( ...) : les fonctions de log avec horodatage permettant de garder une trace du temps écoulé depuis l'initialisation du module

Les fonctions se rapprochent des classiques "printf()" du C et permettent de multiples sorties de valeurs via les traditionnels "%d", "%l", "%s" et toutes les options de formatage de chaines.

Par défaut, le fichier log se nomme "DebugDefOut.txt.tns" et est situé à la racine de la nSpire, mais ce fichier peut être changé via un appel à la fonction : Debugger::SetDebuggerFile( nomdufichier )

Voici un exemple simple d'utilisation.

Code: Tout sélectionner
#include <stdlib.h>
#include "./nSpireLTE/nSpireLTE.hpp"

int main(int argc, char **argv)
{
    KeyManager::Initialize();
   TimeManager::Initialize();
   Debugger::Initialize();

   bool done = false;
   
   int Heure, Minute, Seconde;
   
   MouseManager::SetSensibility( 3 );
   
   Debugger::Log( "Hello Dear Programmer\n" );   
   Debugger::TimerLog( "We will enter the Main Loop\n" );
   Debugger::TimerLog( "and start logging the actions.\n" );   
   
   while (!done)
   {
      KeyManager::Logic();
      MouseManager::Logic();
      
      if (KeyManager::kbCTRL() && KeyManager::kbESC())
      {
         done = true;
         Debugger::TimerLog( "CTRL+ESC pressed : ask for closure\n" );   
      }
      
      if (KeyManager::kb7_Press_Event())
      {
         Debugger::TimerLog( "[7] pressed\n" );
      }
      if (KeyManager::kb8_Press_Event())
      {
         Debugger::TimerLog( "[8] pressed\n" );
      }
      if (KeyManager::kb9_Press_Event())
      {
         Debugger::TimerLog( "[9] pressed\n" );
      }
      
      if (KeyManager::kb7_Release_Event())
      {
         Debugger::TimerLog( "[7] released\n" );
      }
      if (KeyManager::kb8_Release_Event())
      {
         Debugger::TimerLog( "[8] released\n" );
      }
      if (KeyManager::kb9_Release_Event())
      {
         Debugger::TimerLog( "[9] released\n" );
      }
   }

   Debugger::TimerLog( "We quit the Main Loop\n" );
   Debugger::TimerLog( "and will return to the OS.\n" );
   Debugger::Log( "Bye bye, and see you soon\n" );   

    KeyManager::Close();
   TimeManager::Close();
   Debugger::Close();
   
    return 0;
}



3) Conclusion :



La librairie nSpireLTE vise à offrir les fonctions de base nécessaires à l'écriture et au débogage de programmes pour la nSpire. Ce court article vise à expliquer les grandes lignes d'utilisation de chacun des 4 modules de la librairie, mais n'est aucunement exhaustif. Chacun des modules contient des fonctionnalités supplémentaires. Nous ne pouvons que vous inviter à regarder dans les fichiers .hpp si vous êtes intéressés et à découvrir l'ensemble des fonctions de chacun des modules.

En vous souhaitant un bon code et plein de beaux programmes pour la nSpire.
Dernière édition par SlyVTT le 14 Jan 2022, 21:49, édité 1 fois.
Lien vers le sujet sur le forum: Lib nSpireLTE (LiTe Engine) pour faciliter le dév natif (Commentaires: 2)

Menus BBC micro:bit français v2.1 pour TI-83 Premium CE

Nouveau messagede critor » 04 Jan 2022, 15:31

12212Depuis des années maintenant, Texas Instruments réalise de gros efforts pour rendre la programmation de ses calculatrices accessible à tous et toutes. Le constructeur a prêté une attention toute particulière aux plus jeunes et non initiés, souhaitant leur permettre de créer tous les projets imaginables sans avoir à se concentrer sur des difficultés annexes. :)

Nous pouvions déjà citer l'interface TI-Innovator Hub, le robot pilotable TI-Innovator Rover, la grille programmable TI-RGB Array ou encore l'adaptateur TI-SensorLink pour capteurs analogiques Vernier.
Tous ces éléments ont de plus l'avantage d'être utilisables directement avec le langage Python des calculatrices concernées, faisant de l'écosystème Texas Instruments le seul Python connecté ! :bj:

Un superbe support pour les enseignements scientifiques au lycée surtout maintenant que tous partagent le même langage de programmation, notamment en SNT, spécialité NSI, SI et Physique-Chimie, avec le gros avantage de la mobilité. En effet, les programmes produits et données collectées restent présents dans la calculatrice apportée par chaque élève à chaque cours, ce qui allège la charge logistique de l'enseignant. Données et algorithmes pourront donc être traités / travaillés à la prochaine séance, en devoir à la maison ou même de façon transdisciplinaire en collaboration avec un autre enseignant ! :D

129591295812957Et depuis la rentrée 2020 dernière grande révolution en date, plus besoin de t'équiper en TI-Innovator pour bénéficier de ces formidables avantages. En effet, la TI-83 Premium CE Edition Python française s'est vu rajouter la gestion du nanoordinateur BBC micro:bit programmable en Python dont tu étais peut-être déjà équipé·e ! :bj:

La carte micro:bit est initialement un projet lancé par la BBC (British Broadcasting Corporation), le groupe audiovisuel public britannique, accompagné de nombre de partenaires dont ARM, Microsoft et Samsung. Elle fut distribuée gratuitement à un million d'élèves britanniques de 11 et 12 ans.

Le nom rend hommage au précédent succès du groupe dans ce domaine, le microordinateur à vocation pédagogique BBC Micro des années 1980, l'équivalent britannique de par son adoption à nos microordinateurs Thomson MO5 et TO7 inondant écoles, collèges et lycées à la fin de cette décennie dans le cadre du plan IPT (Informatique Pour Tous).
12277Les cartes micro:bit utilisent un connecteur micro-USB et ta calculatrice un mini-USB.

Pour relier les deux une solution est d'adjoindre un adaptateur mini-USB.

1296512964Pour moins d'encombrement, tu as aussi la solution d'utiliser un câble direct, au choix :
  • USB micro-B mâle ↔ USB mini-A mâle
  • USB micro-B mâle ↔ USB mini-B OTG mâle

1296212961La carte micro:bit dans ses versions 1 est programmable en Python et présentait initialement les caractéristiques et capacités suivantes :
  • processeur 32 bits ARM Cortex-M0 cadencé à 16 MHz
  • mémoire de stockage Flash d'une capacité de 256 Kio
  • mémoire de travail RAM d'une capacité de 16 Kio permettant un heap (tas) Python de 10,048 Ko
  • un afficheur, grille programmable de 5×5= 25 diodes rouges adressables, bien adapté pour l'affichage de motifs éventuellement animés ou encore de texte défilant
  • nombre de capteurs intégrés :
    • capteur de luminosité (lié aux diodes)
    • capteur de température (sur le processeur)
    • 2 boutons poussoirs
      A
      et
      B
      programmables de part et d'autre, comme sur les premières manettes et consoles de jeux portables de chez Nintendo
    • accéléromètre 3D, permettant de détecter les variations d'accélération et par conséquence diverses actions : secouer, pencher, chute libre, ...
    • boussole magnétique 3D, pour détecter cette fois-ci les champs magnétiques
  • connectivité Bluetooth 4.0 basse énergie 2,4 GHz maître/esclave

134501296113451Depuis début 2021 est disponible la nouvelle carte micro:bit v2.

Elle utilise un tout nouveau microcontrôleur, le nRF52833, toujours de chez Nordic Semiconductor. Cette fois-ci nous avons des spécifications qui devraient nous permettre de respirer :
  • processeur 32 bits ARM Cortex-M0 cadencé à 64 MHz au lieu de 16 MHz soit 4 fois plus rapide ! :bj:
  • mémoire de stockage Flash d'une capacité de 512 Kio au lieu de 256 Kio soit 2 fois plus grande ! :bj:
  • mémoire de travail RAM d'une capacité de 128 Kio au lieu de 16 Kio soit 8 fois plus grande, permettant un heap (tas) Python de 64,512 Ko ! :bj:

Elle apporte sur cette même face plusieurs nouveautés ou changements :
  • ajout d'un haut-parleur
  • ajout d'un microphone MEMs
  • bouton poussoir qui ne sert plus seulement à la réinitialisation (reset), mais permet désormais également d'éteindre la carte (appui long) et de la rallumer (appui court)
  • l'antenne Bluetooth qui devient compatible BLE Bluetooth 5.0, contre seulement 4.0 auparavant
1344912962D'autres nouveautés ou changements sont également présents sur l'autre face :
  • ajout d'une diode DEL indiquant l'état du microphone
  • ajout d'un bouton tactile sur le logo micro:bit, voici pourquoi il perd sa couleur au profit de contacts métalliques

13453Expliquons brièvement la composition de la solution de connectivité BBC micro:bit de Texas Instruments, ainsi que son fonctionnement.

Le solution se compose d'une part d'un fichier TI-Runtime unique à copier sur la carte micro:bit v1 ou v2 et qui lui permet d'être pilotée par la calculatrice. La bonne installation du fichier est aisément vérifiable, puisque faisant afficher à la carte le logo Texas Instruments.

La solution a un principe de fonctionnement très simple, mais non moins ingénieux pour autant. La carte micro:bit étant justement programmable en Python, une fois le TI-Runtime installé elle se met alors à écouter les commandes Python envoyées depuis la calculatrice et à les exécuter.

Depuis ta calculatrice, tu peux envoyer n'importe quelle commande Python à ta carte micro:bit et profiter pleinement de ses capacités grâce à la fonction ti_hub.send(), à condition d'encadrer la commande des bons caractères de contrôle. Voici une fonction mb_run() en ce sens :

14956
Code: Tout sélectionner
from ti_hub import *

def mb_run(code):
  send('\x05') # enter paste mode (Ctrl-E)
  send(code)
  send('\x04') # exit paste mode (Ctrl-D)

Pour afficher par exemple Pac-Man, il te suffit d'appeler mb_run("display.show(Image.PACMAN)"), conformément à la documentation du Python micro:bit.

Toutefois en pratique dans le contexte scolaire, cette façon de faire n'était pas idéale. Elle rajoutait un niveau d'imbrication : tu devais produire du code Python qui lui-même devait construire le code Python à envoyer et exécuter par la carte micro:bit, une marche sans doute un peu haute pour bien des élèves débutants.


Et bien justement, Texas Instruments est loin de s'être arrêté là. Sa solution de connectivité comporte également des bibliothèques Python additionnelles à charger sur ta calculatrice, au choix en Français ou Anglais, et rajoutant alors des menus permettant de faire appel plus simplement aux éléments correspondants sur la carte micro:bit. 9 bibliothèques étaient initialement disponibles, facilitant ainsi l'utilisation de certaines bibliothèques du Python micro:bit :
  • microbit (générale, permet d'accéder aux menus des autres bibliothèques)
  • mb_butnsmicrobit.buttons (boutons A et B intégrés - importée/accessible via le menu Buttons ou Boutons)
  • mb_dispmicrobit.display (afficheur à 5×5=25 LEDs rouges intégré - importée/accessible via le menu Display ou Affichage)
  • mb_grove (capteurs et actionneurs Grove à rajouter - importée/accessible via le menu Grove)
  • mb_musicmicrobit.music (haut-parleur à rajouter sur micro:bit v1 ou intégré sur micro:bit v2 - importée/accessible via le menu Music ou Musique)
  • mb_neopxmicrobit.neopixel (rubans de LEDs programmables à rajouter - importée/accessible via le menu NeoPixel)
  • mb_pins (contacts programmables intégrés - importée/accessible via le menu Input/output pins ou Broches entrée/sortie)
  • mb_radiomicrobit.radio (communication radio intégrée - importée/accessible via le menu Radio)
  • mb_sensr (capteurs intégrés : boussole, accéléromètre, température - importée/accessible via le menu Sensors ou Capteurs)

La mise à jour 2.4 du TI-Runtime avait rajouté la compatibilité avec la nouvelle carte micro:bit v2, mais hélas rien concernant ses nouvelles capacités.

On pouvait juste noter que le code écrit avec la bibliothèque mb_music et ciblant donc initialement un haut-parleur externe connecté sur micro:bit v1, marchait sans le moindre changement directement avec le haut-parleur interne de la micro:bit v2.

Mais mis à part cela, tous les autres nouveaux éléments de la micro:bit v2 t'étaient inaccessibles, du moins via les menus de la calculatrice.

Il y a quelques semaines, Texas Instruments nous sortait une mise à jour majeure de sa solution de connectivité micro:bit pour TI-83 Premium CE Edition Python, TI-84 Plus CE-T Python Edition et TI-84 Plus CE Python, en double version 1.0 et 2.1.

La publication comprenait les éléments suivants :
  • TI-Runtime 2.1.0 pour les micro:bit v2
  • TI-Runtime 1.0.0 pour les micro:bit v1
  • menus anglais 2.1.0 avec une micro:bit v2
  • menus anglais 1.0.0 avec une micro:bit v1 (menus allégés ne comprenant pas les éléments spécifiques aux micro:bit v2)

Aujourd'hui Texas Instruments commence enfin à diffuser une version française de ces nouveaux menus. Découvrons donc les nouveautés par rapport aux menus français précédents.








A) Eléments et versions

Go to top

Texas Instruments a donc fait le choix de scinder sa solution de connectivité micro:bit en deux. En effet à compter d'aujourd'hui tu devras choisir entre 2 packs de fichiers différents selon la carte micro:bit que tu utilises :
  • un pack avec des fichiers en version 1 pour une micro:bit v1
  • un pack avec des fichiers en version 2 pour une micro:bit v2
La numérotation est donc sans lien logique avec les versions déjà diffusées.

Les packs français d'aujourd'hui comportent les éléments suivants :
  • TI-Runtime 1.0.0 pour les micro:bit v1
  • TI-Runtime 2.0.0 pour les micro:bit v2 (oui, version bizarrement inférieure à celle du pack anglais)
  • menus français 2.1.0 avec une micro:bit v2
Contrairement aux packs anglais, ici donc pas de menus allégés si tu utilises une micro:bit v1. Peut-être s'agit-il d'une erreur de publication, en fait les fichiers de menus du pack spécifique à la micro:bit v1 sont bizarrement identiques à ceux du pack pour microl:bit v2. Mais ce n'est pas bien grave, tu peux quand même les utiliser dans tous les cas, il te suffira juste d'ignorer les menus concernant des spécificités de la micro:bit v2.
Attention, les nouvelles nouvelles bibliothèques Python ne fonctionneront pas correctement avec les cartes micro:bit munies d'une ancienne version du TI-Runtime.

Dans ce cas tu obtiendras une erreur de connexion dès l'importation de la bibliothèque.

Chose très pénible avec les bibliothèques microbit des versions précédentes pour ta calculatrice, elles n'étaient pas par défaut au menu.

Elles n'étaient présentes au menu que lorsque tu éditais un script contenant une ligne les important, par exemple from microbit import *. Et donc pour un nouveau script, tu devrais saisir cette ligne intégralement à la main, caractère par caractère, au clavier de ta calculatrice, opération très fastidieuse... :mj:

Et bien excellente chose, les nouvelles bibliothèques codées par TI ont cette fois-ci été converties en fichiers pour ta calculatrice avec le tout dernier py2appvar 1.2.1, et peuvent ainsi être reconnues en tant que bibliothèques complémentaires par la dernière version 5.7 de l'application Python de ta calculatrice (nécessitant elle-même la mise à jour système 5.7).

C'est justement le cas de la bibliothèque micropython. À partir de la liste des bibliothèques intégrées, l'onglet de bas d'écran Compl. lié à la touche
F4
te permet de saisir le from microbit import * d'une seule touche pour activer le menu microbit ! :bj:




B) Nouveautés toutes BBC micro:bit

Go to top

Commençons par les nouveautés communes à toutes les cartes micro:bit.

Le menu disponible suite à l'importation de la bibliothèque microbit fait apparaître non plus 8 mais 11 bibliothèques, dont 9 utilisables à la fois avec les micro:bit v1 et v2.

La nouveauté est Enregistrement de données à la bibliothèque mb_log.

Il y a également une autre nouvelle bibliothèque. Le choix Music (Musique) importe désormais non seulement la bibliothèque mb_music, mais également une nouvelle bibliothèque mb_notes.

Nouveauté également au menu, un nouvel onglet Commands (Commandes).

Il nous permet d'avoir directement sous la main différentes méthodes bien utiles en provenance d'autres bibliothèques :
  • sleep() pour patienter (builtins)
  • escape() pour attendre l'appui sur la touche
    annul
    ou
    clear
    (ti_system)
  • disp_clr() pour effacer l'écran (ti_system)
  • store_list() pour enregistrer une liste de nombres dans l'environnement de la calculatrice (ti_system)
  • et bizarrement temperature()
temperature() était jusqu'à présent fourni par la bibliothèque mb_sensr dédié à l'interrogation des capteurs intégrés à la micro:bit, et c'est ainsi curieux qu'il se retrouve tout seul ici. Mais c'est un capteur à part, puisque c'est le seul qui n'effectue par une mesure externe mais interne. En effet ce n'est pas la température de l'environnement qu'il retourne, mais la températeur du processeur de la micro:bit.

Nous regarderons les nouvelles bibliothèques plus loin, commençons pour le moment par les changements apportés aux bibliothèques par rapport à la version précédente.








B1) Changements mb_disp

Go to top

Le choix Affichage permet d'importer la bibliothèque mb_disp et activer son menu. Cette bibliothèque te permet de contrôler facilement la grille de diodes adressables.

Tu pouvais au choix :
  • afficher des images prédéfinies
  • créer tes propres images à afficher au format micro:bit
  • contrôler individuellement chaque pixel
12970Pour afficher par exemple Pac-man, le menu te permettait de construire facilement l'appel display.show("Image.PACMAN").

35 noms d'images prédéfinies pouvaient être saisis très facilement grâce à l'onglet Images

Toutefois la carte micro:bit connaît bien davantage d'images que ça. Il nous manquait :
  • 12 images d'horloge CLOCK
  • 8 images de flèches ARROW
  • BUTTERFLY, STICKFIGURE, GHOST, SWORD, GIRAFFE, SKULL, UMBRELLA et SNAKE

13176Pourquoi ? Texas Instruments limite volontairement à 36 le nombre d'éléments dans les menus, afin qu'ils soient tous accessibles via un raccourci clavier à 1 touche. Or, nous ne disposons que de 10 chiffres et 26 lettres.

Tu pouvais parfaitement utiliser les images non listées au menu, mais il te fallait en connaître le nom et le saisir manuellement.

Pour afficher le papillon par exemple, tu devais donc saisir ou corriger ta saisie en display.show("Image.BUTTERFLY").
Nouveauté donc, Texas Instruments nous déplace la commande permettant de créer tes propres images de l'onglet Images vers l'onglet Display (Affichage).

À la place, Texas Instruments te rajoute un 36ème nom d'image prédéfinie dans l'onglet Images, justement le BUTTEFLY (papillon) ! :bj:

Code: Tout sélectionner
from microbit import *
from mb_disp import *

boat = Image("05050:""05050:""05050:""99999:""09990")

spin1 = Image("00900:""00900:""00900:""00900:""00900")
spin2 = Image("00090:""00000:""00900:""00000:""09000")
spin3 = Image("00009:""00090:""00900:""09000:""90000")
spin4 = Image("00000:""00009:""00900:""90000:""00000")
spin5 = Image("00000:""00000:""99999:""00000:""00000")
spin6 = Image("00000:""90000:""00900:""00009:""00000")
spin7 = Image("90000:""09000:""00900:""00090:""00009")
spin8 = Image("09000:""00000:""00900:""00000:""00090")
spinner=[spin1,spin2,spin3,spin4,spin5,spin6,spin7,spin8]

flash = [Image().invert(i) for i in range(9, -1, -1)]

disp_clr()
print("Display and Image Test")
print("display.clr")
display.clear()
print("display.show('Image.HEART, delay = 3000, wait = True')")
display.show("Image.HEART",delay=3000, wait = True)
print("display.show(1.4142)")
display.show(1.4142)
print("brightness =",display.read_light_level())
print("display.scroll('Fast as a Fox', delay = 50)")
display.scroll("Fast as a Fox",delay=50,wait=True)
print("display.scroll('Slow as Molasses', delay = 200)")
display.scroll("Slow as Molasses",delay=200,wait=True)
print("display.set_pixel(x,y,i)")
display.set_pixel(1,0,9)
display.set_pixel(3,0,9)
display.set_pixel(0,1,9)
display.set_pixel(2,1,9)
display.set_pixel(4,1,9)
display.set_pixel(1,2,9)
display.set_pixel(3,2,9)
display.set_pixel(0,3,9)
display.set_pixel(2,3,9)
display.set_pixel(4,3,9)
display.set_pixel(1,4,9)
display.set_pixel(3,4,9)
sleep(2000)
print ("display.show(boat, delay = 3000)")
display.show(boat,delay=3000)
print ("display.show(spinner, delay = 50)")
for i in range(5):
  display.show(spinner,delay=50)
print ("display.show(flash, delay = 100)")
for i in range (5):
  display.show(flash, delay=100)




B2) Changements mb_grove

Go to top

Le choix Grove est renommé Grove Devices. Il permet toujours d'importer les bibliothèques mb_grove et mb_pins, et d'activer leurs menus respectifs : grove et broches entrée/sortie.

Nous nous concentrerons ici sur la seule bibliothèque mb_grove. Elle permet pour sa part de contrôler des capteurs et actionneurs Grove connectés à ta carte micro:bit.

Son menu subit ici une régression par rapport à la version précédente : les broches pin14 et pin15 y sont faussement intitulées pin16, bien que la saisie reste correcte.

C'est pourtant un bug que nous avions déjà signalé sur une version anglaise précédente, et qui avait été corrigé.

Puisque le bug revient à l'identique, il faut croire que Texas Instruments maintient en parallèle différentes branches des fichiers source, et s'est ici mélangé...

Dans l'onglet Sortie, nous remarquons la disparition du commentaire indiquant que le besoin d'une alimentation externe.

Code: Tout sélectionner
from microbit import *
from mb_grove import *
from mb_pins import *

disp_clr()

while not escape():
  T = grove.read_temperature(pin0)
  print("Temperature = %.1f\u00b0C"%round(T,1))
  p = 50
  print("Pump On at %.1f"%round(p,1)+"% power")
  grove.power(pin8,p)
  sleep(2000)
  p = 0
  print("Pump On at %.1f"%round(p,1)+" % power")
  grove.power(pin8,p)
  disp_clr()
grove.power(pin8,0)




B3) Changements mb_neopx

Go to top

Le choix NeoPixel est renommé NeoPixel et Couleur. Il permet d'importer la bibliothèque mb_neopx et d'activer son menu.

Cette bibliothèque permet de piloter les rubans de diodes adressables à connecter à ta carte micro:bit.

On peut noter justement l'ajout au menu d'un nouvel onglet Color, histoire que tu aies directement sous la main de quoi manipuler les couleurs.

Regardons dans l'onglet setup, désormais correctement traduit en Configuration. Nous remarquons la disparition du commentaire indiquant que le rubans ont besoin d'une alimentation externe.

Nous notons également la disparition de l'onglets pins, le renommage de l'onglet setup en Configuration semblant ne plus laisser suffisamment de place pour cet onglet.
Code: Tout sélectionner
from microbit import *
from mb_neopx import *
from random import *

np = NeoPixel(pin0, 16)

while not escape():
  for id in range(len(np)):
    red = randint(0,255)
    green =randint(0,255)
    blue =randint(0,255)
    np[id]=(red, green, blue)
    np.show()
    sleep(100)
np.clear()




B4) Changements mb_pins

Go to top

Le choix Broches entrée/sortie permet d'importer la bibliothèque mb_pins et d'activer son menu.

Cette bibliothèque permet de contrôler les broches programmables de ta carte micro:bit, aussi bien en entrée qu'en sortie, et aussi bien en analogique qu'en digital.

Regardons dans l'onglet pins maintenant correctement traduit en Broches. Nous notons l'ajout de nouvelles broches au menu :
  • pin13
  • pin_speaker
Code: Tout sélectionner
from microbit import *
from mb_pins import *

while not escape():
  disp_clr()
  print("Analog/Digital Input")
  print("digital0.read =",pin0.read_digital())
  print("digital1.read =",pin1.read_digital())
  print("digital2.read =",pin2.read_digital())
 
  print("analog0.read =",pin0.read_analog())
  print("analog1.read =",pin1.read_analog())
  print("analog2.read =",pin2.read_analog())
 
  sleep(3000)
  disp_clr()
  print("Analog/Digital Output Test")
  print("digital0.write(1)",pin0.write_digital(1))
  sleep(1000)
  print("digital0.write(0)",pin0.write_digital(0))
  sleep(1000) 
  print("digital1.write(1)",pin1.write_digital(1))
  sleep(1000)
  print("digital1.write(0)",pin1.write_digital(0))
  sleep(1000)
  print("digital2.write(1)",pin2.write_digital(1))
  sleep(1000)
  print("digital2.write(0)",pin2.write_digital(0))
  sleep(1000)
  print("analog0.write(50)",pin0.write_analog(50))
  sleep(1000)
  print("analog0.write(0)",pin0.write_analog(0))
  sleep(1000)
  print("analog1.write(50)",pin1.write_analog(50))
  sleep(1000)
  print("analog1.write(0)",pin1.write_analog(0))
  sleep(1000)
  print("analog2.write(50)",pin2.write_analog(50))
  sleep(1000)
  print("analog2.write(0)",pin2.write_analog(0))
  sleep (1000)




B5) Changements mb_sensr

Go to top

Le choix capteurs est renommé Capteurs et gestes. Il permet d'importer la bibliothèque mb_sensr et d'activer son menu, affiché par erreur en tant que capteurs et estes (sic).

Cette bibliothèque permet d'interroger les capteurs intégrés à ta carte micro:bit.

L'onglet tempé disparaît, mais à la place un nouvel onglet Geste nous permet enfin d'interroger directement et facilement les accéléromètre et boussole de la carte au sujet de différents types de mouvements : :bj:

7 types de mouvements/positions sont ici directement au menu :
  • up
  • down
  • left
  • right
  • face up
  • face down
  • shake

D'autres mouvements sont également reconnues pas la carte micro:bit, et tu devras ici corriger les saisies au clavier alphabétique pour y accéder :
  • freefall
  • 3g
  • 6g
  • 8g

Voici par exemple de quoi interroger et afficher les mouvements en boucle :
Code: Tout sélectionner
from microbit import *
from mb_sensr import *

while not escape():
  print(accelerometer.current_gesture())
  #print(accelerometer.is_gesture('face up'))
  #print(accelerometer.was_gesture("face down"))


Nous perdons l'onglet tempé. Ce n'est pas grave, puisque nous avons vu plus haut que l'appel temperature() était désormais directement disponible au menu de la bibliothèque microbit. Et comme déjà dit, c'est peut-être plus logique ainsi, puisque le capteur de température de la micro:bit est lié au processeur, effectuant donc contrairement à tous les autres une mesure interne et non une mesure de l'environnement.

Mais que bien que n'étant plus mis en avant au menu, remarquons que Texas Instruments a pris le soin de laisser l'appel mb_sensr.temperature() fonctionnel. Ceci garantit ainsi malgré le changement la compatibilité avec les scripts déjà produits ! :bj:




B6) Nouveau mb_log

Go to top

Le choix Enregistrement de données permet d'importer la bibliothèque mb_log et d'activer son menu.

Cette bibliothèque permet de représenter en direct sous la forme d'un diagramme en ligne brisée, les valeurs retournées par le capteur micro:bit de ton choix, ou plus généralement par n'importe quel appel Python.

Voici de suite un exemple interrogeant et traçant en boucle la composante X de l'accéléromètre :
Code: Tout sélectionner
from microbit import *
from mb_log import *
from mb_sensr import *

data_log.set_duration(10)
data_log.set_sensor('accelerometer.get_x()')
data_log.set_range(-1200,1200)
data_log.start()




B7) Nouveau mb_notes

Go to top

Le choix Music (Musique) permet d'importer les bibliothèques mb_music et également désormais mb_notes, et d'activer leurs menus respectifs : music (musique) et notes.

Nous nous concentrerons ici sur la nouveauté : la bibliothèque mb_notes. Elle permet d'accélérer la saisie de notes au format micro:bit, pour tes mélodies à jour avec la bibliothèque mb_music. La saisie clavier te sera ainsi beaucoup plus aisée et rapide ! :bj:

Les 7 notes de la gamme ainsi que le silence te sont directement accessibles sur les octaves n°1 à 6 (la micro:bit reconnaissant les octaves n°0 à 8), avec par défaut une durée de 4.

Rappelons que notre outil en ligne midi2calc te permet de convertir tes mélodies au format MIDI en scripts Python à jouer avec ta calculatrice sur micro:bit ou TI-Innovator Hub.
Code: Tout sélectionner
from microbit import *
from mb_music import *

notes = ['c4:1', 'e', 'g', 'c5', 'e5', 'g4', 'c5', 'e5', 'c4', 'e', 'g', 'c5', 'e5', 'g4', 'c5', 'e5','c4', 'd', 'a', 'd5', 'f5', 'a4', 'd5', 'f5', 'c4', 'd', 'a', 'd5', 'f5', 'a4', 'd5', 'f5','b3', 'd4', 'g', 'd5', 'f5', 'g4', 'd5', 'f5', 'b3', 'd4', 'g', 'd5', 'f5', 'g4', 'd5', 'f5','c4', 'e', 'g', 'c5', 'e5', 'g4', 'c5', 'e5', 'c4', 'e', 'g', 'c5', 'e5', 'g4', 'c5', 'e5','c4', 'e', 'a', 'e5', 'a5', 'a4', 'e5', 'a5', 'c4', 'e', 'a', 'e5', 'a5', 'a4', 'e5', 'a5','c4', 'd', 'f#', 'a', 'd5', 'f#4', 'a', 'd5', 'c4', 'd', 'f#', 'a', 'd5', 'f#4', 'a', 'd5','b3', 'd4', 'g', 'd5', 'g5', 'g4', 'd5', 'g5', 'b3', 'd4', 'g', 'd5', 'g5', 'g4', 'd5', 'g5','b3', 'c4', 'e', 'g', 'c5', 'e4', 'g', 'c5', 'b3', 'c4', 'e', 'g', 'c5', 'e4', 'g', 'c5','a3', 'c4', 'e', 'g', 'c5', 'e4', 'g', 'c5', 'a3', 'c4', 'e', 'g', 'c5', 'e4', 'g', 'c5','d3', 'a', 'd4', 'f#', 'c5', 'd4', 'f#', 'c5', 'd3', 'a', 'd4', 'f#', 'c5']

disp_clr()
print("Music and Tone Test")

print("music.play('A4:8')")
music.play('A4:8')

print("music.set_tempo(4,120)")
music.set_tempo(4,120)

print("music.play(music.ODE)")
music.play('music.ODE', wait=True)

print("music.set_tempo(8,360)")
music.set_tempo(8,360)

print("music.play(music.ODE)")
music.play('music.ODE', wait=True)

print("music.pitch(261,1000,wait=True)")
music.pitch(261,1000,wait=True)

print("Play an octave")
for i in range (13):
  note = int(440*2**(i/12))
  print('note = ',note)
  music.pitch(note,500,wait=True)

print("music.set_tempo(4,200)")
music.set_tempo(4,200)

print("music.play(notes)")
music.play(notes, wait=True)

music.set_tempo(4,120)
print("music.play('music.POWER_DOWN')")
music.play('music.POWER_DOWN')




C) Nouveautés BBC micro:bit v2

Go to top

Nous arrivons enfin aux nouveautés concernant la carte micro:bit v2.

2 choix supplémentaires spécifiques sont ici au menu de la bibliothèque microbit : Audio et Microphone.

Nous les regarderons bien évidemment plus loin, mais commençons pour le moment par les ajouts apportés aux bibliothèques déjà existantes.








C1) Ajouts mb_butns

Go to top

Le choix Boutons est renommé ici Boutons et Logo. Il permet d'importer la bibliothèques mb_butns et d'activer son menu.

Cette bibliothèque se spécialise dans l'interrogation des boutons présents sur la carte micro:bit :
  • bouton A
  • bouton B
  • et justement, spécificité de la micro:bit v2, bouton tactile sur le logo de la carte

Nous avons donc ici un onglet supplémentaire dédié au bouton tactile.
Code: Tout sélectionner
from microbit import *
from mb_butns import *

while not escape():
  disp_clr()
  print ("Buttons A and B Test")
  print("A.is_pressed",button_a.is_pressed())
  print("A.was_pressed",button_a.was_pressed())
  print("A.get_presses",button_a.get_presses())
  print("B.is_pressed",button_b.is_pressed())
  print("B.was_pressed",button_b.was_pressed())
  print("b.get_presses",button_b.get_presses())
  print("pin_logo.is_touched",pin_logo.is_touched())
  sleep(2000)




C2) Ajouts mb_grove

Go to top

Le choix Grove Devices permet toujours d'importer les bibliothèques mb_grove et mb_pins, et d'activer leurs menus respectifs : grove et broches entrée/sortie.

Nous nous concentrerons ici sur la seule bibliothèque mb_grove. Elle permet pour sa part de contrôler des capteurs et actionneurs Grove connectés à ta carte micro:bit.

Une fonction additionnelle read_bme280() nous permet ici de récupérer d'un seul coup les 3 mesures retournées par un capteur BME280, capteur Grove de pression barométrique, température et humidité.




C3) Ajouts mb_music

Go to top

Le choix Musique permet toujours d'importer les bibliothèques mb_music et mb_notes, et d'activer leurs menus respectifs : musique et notes.

Nous nous concentrerons sur la bibliothèque mb_music. Elle permet de jouer des notes et donc par extension mélodies, sur le haut parleur directement intégré à la carte micro:bit v2.

Spécificité donc ici de la micro:bit v2, nous avons ici au menu une nouvelle fonction set_volume() permettant de régler le volume de la sortie audio sur une valeur allant de 0 à 255.
Code: Tout sélectionner
from microbit import *
from mb_music import *

notes = ['c4:1', 'e', 'g', 'c5', 'e5', 'g4', 'c5', 'e5', 'c4', 'e', 'g', 'c5', 'e5', 'g4', 'c5', 'e5','c4', 'd', 'a', 'd5', 'f5', 'a4', 'd5', 'f5', 'c4', 'd', 'a', 'd5', 'f5', 'a4', 'd5', 'f5','b3', 'd4', 'g', 'd5', 'f5', 'g4', 'd5', 'f5', 'b3', 'd4', 'g', 'd5', 'f5', 'g4', 'd5', 'f5','c4', 'e', 'g', 'c5', 'e5', 'g4', 'c5', 'e5', 'c4', 'e', 'g', 'c5', 'e5', 'g4', 'c5', 'e5','c4', 'e', 'a', 'e5', 'a5', 'a4', 'e5', 'a5', 'c4', 'e', 'a', 'e5', 'a5', 'a4', 'e5', 'a5','c4', 'd', 'f#', 'a', 'd5', 'f#4', 'a', 'd5', 'c4', 'd', 'f#', 'a', 'd5', 'f#4', 'a', 'd5','b3', 'd4', 'g', 'd5', 'g5', 'g4', 'd5', 'g5', 'b3', 'd4', 'g', 'd5', 'g5', 'g4', 'd5', 'g5','b3', 'c4', 'e', 'g', 'c5', 'e4', 'g', 'c5', 'b3', 'c4', 'e', 'g', 'c5', 'e4', 'g', 'c5','a3', 'c4', 'e', 'g', 'c5', 'e4', 'g', 'c5', 'a3', 'c4', 'e', 'g', 'c5', 'e4', 'g', 'c5','d3', 'a', 'd4', 'f#', 'c5', 'd4', 'f#', 'c5', 'd3', 'a', 'd4', 'f#', 'c5', 'd4', 'f#', 'c5','g3', 'b', 'd4', 'g']

disp_clr()
print("Music and Tone Test")

print("music.play('A4:8')")
music.play('A4:8')

print("music.set_tempo(4,120)")
music.set_tempo(4,120)

print("music.play(music.ODE)")
music.play('music.ODE', wait=True)

print("music.set_tempo(8,360)")
music.set_tempo(8,360)

print("music.play(music.ODE)")
music.play('music.ODE', wait=True)

print("music.pitch(261,1000,wait=True)")
music.pitch(261,1000,wait=True)

print("Play an octave")
for i in range (13):
  note = int(440*2**(i/12))
  print('note = ',note)
  music.pitch(note,500,wait=True)

print("music.set_tempo(4,200)")
music.set_tempo(4,200)

print("music.play(notes)")
music.play(notes, wait=True)

print("Testing volume")

for n in range (0,250,25):
  music.set_volume(n)
  print (n)
  music.pitch(440,500,wait=True)
for n in range (250,0,-25):
  music.set_volume(n)
  print (n)
  music.pitch(440,500,wait=True)

music.set_volume(255)
music.set_tempo(4,120)
print("music.play('music.POWER_DOWN')")
music.play('music.POWER_DOWN')




C4) Nouveau mb_audio

Go to top

Le choix Audio permet d'importer la nouvelle bibliothèque mb_audio et d'activer son menu.

Cette bibliothèque te permet d'exploiter les nouvelles possibilités de synthèse sonore de la carte micro:bit v2. En effet cette dernière peut gère bien davantage que de simples notes, tu peux lui faire produire des effets sonores ou même la faire parler.

L'onglet Sons te donne accès à 10 effets sonores prédéfinis.
Code: Tout sélectionner
from microbit import *
from mb_audio import *

disp_clr()
print("GIGGLE")
audio.play("Sound.GIGGLE",wait=True,)
sleep(1000)

print("HAPPY")
audio.play("Sound.HAPPY",wait=True,)
sleep(1000)

print("HELLO")
audio.play("Sound.HELLO",wait=True,)
sleep(1000)

print("MYSTERIOUS")
audio.play("Sound.MYSTERIOUS",wait=True,)
sleep(1000)

print("SAD")
audio.play("Sound.SAD",wait=True,)
sleep(1000)

print("SLIDE")
audio.play("Sound.SLIDE",wait=True,)
sleep(1000)

print("SOARING")
audio.play("Sound.SOARING",wait=True,)
sleep(1000)

print("SPRING")
audio.play("Sound.SPRING",wait=True,)
sleep(1000)

print("TWINKLE")
audio.play("Sound.TWINKLE",wait=True,)
sleep(1000)

print("YAWN")
audio.play("Sound.YAWN",wait=True,)
sleep(1000)




C5) Nouveau mb_mic

Go to top

Enfin, le choix Microphone permet d'importer la nouvelle bibliothèque mb_micro et d'activer son menu.

Cette bibliothèque te permet d'accéder au microphone intégré à la carte micro:bit v2.


Code: Tout sélectionner
from microbit import *
from mb_mic import *

microphone.set_threshold(SoundEvent.LOUD,200)
while not escape():
  print(microphone.sound_level())
  print(microphone.current_event())
 
  print(microphone.is_event(SoundEvent.LOUD))
  print(microphone.was_event(SoundEvent.LOUD))




D) Téléchargements

Go to top

  • TI-Runtime :
    • 2.1.0 pour BBC microbit v2
    • 2.0.0 pour BBC microbit v2
    • 1.0.0 pour BBC microbit v1
  • bibliothèques Python complémentaires :
    • 2.1.0 Français pour TI-83 Premium CE Edition Python, TI-84 Plus CE-T Python Edition ou TI-84 Plus CE Python avec BBC microbit v1/v2
    • 2.1.0 English pour TI-83 Premium CE Edition Python, TI-84 Plus CE-T Python Edition ou TI-84 Plus CE Python avec BBC microbit v2
    • 1.0.0 English pour TI-83 Premium CE Edition Python, TI-84 Plus CE-T Python Edition ou TI-84 Plus CE Python avec BBC microbit v1
    • 2.34 Français English pour TI-Nspire CX II avec BBC microbit v1/v2

Source : https://resources.t3france.fr/t3france?resource_id=3086
Lien vers le sujet sur le forum: Menus BBC micro:bit français v2.1 pour TI-83 Premium CE (Commentaires: 0)

Vœux de NumWorks aux enseignants, édition 2022

Nouveau messagede Admin » 05 Jan 2022, 09:48

Bonne nouvelle, les vœux 2022 de NumWorks viennent d'être adressés aux enseignants. Si tu disposes d'un compte correctement configuré sur https://my.numworks.com/ , alors tu devrais les recevoir ces jours-ci dans ton casier. ;)

L'envoi comprend plusieurs éléments:
  • La traditionnelle carte de voeux
  • Le visuel de la coque collector macarémaths sous la forme de 2 autocollants.
  • Et un poster sur lequel nous allons nous attarder.
11796Si tu n'as toujours pas réussi à récupérer / gagner la coque macarémaths, alors tu vas enfin pouvoir te la fabriquer toi-même en collant un de ces autocollants sur ta coque actuelle ! :D


Le poster quant à lui représente donc une calculatrice NumWorks traçant une superbe tête de loup dans son application Fonctions, apparemment entièrement constituée de morceaux de fonctions affines ! :favorite:

Peut-être que cela te fait penser à notre cher Vincent Robert alias cent20, enseignant au lycée privé catholique Louis Pasteur à Avignon, qui offre justement chaque année à ses élèves de Seconde la possibilité d'illustrer leur créativité et leur talent dans le cadre du DM n°21 "Les mathématiques sont belles", en réalisant donc un dessin de leur choix sur leur calculatrice NumWorks.

Mais nous ne trouvons pas cette œuvre dans ses fichiers, et il faut savoir que son initiative a fait bien des émules. On peut également citer :

Et bien justement la clé du mystère se trouve dans la carte de vœux. Cette tête de loup rentre donc dans ce dernier point : il s'agit d'une création de Claire C., brillante élève de Seconde au lycée Stanislas cette année.

N'oublie pas de lui envoyer un petit mot en retour... ;)


Source : https://twitter.com/nsi_xyz/status/1478282550397358081
Lien vers le sujet sur le forum: Vœux de NumWorks aux enseignants, édition 2022 (Commentaires: 0)

-
Rechercher
-
Social TI-Planet
-
Sujets à la une
Comparaisons des meilleurs prix pour acheter sa calculatrice !
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
Phi NumWorks jailbreak
123
-
Faire un don / Premium
Pour plus de concours, de lots, de tests, nous aider à payer le serveur et les domaines...
Faire un don
Découvrez les avantages d'un compte donateur !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partenaires et pub
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
1513 utilisateurs:
>1493 invités
>16 membres
>4 robots
Record simultané (sur 6 mois):
6892 utilisateurs (le 07/06/2017)
-
Autres sites intéressants
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)