##// END OF EJS Templates
Add icon to qtconsole app...
Matthias BUSSONNIER -
Show More
@@ -0,0 +1,21 b''
1 # -*- coding: utf-8 -*-
2
3 # Resource object code
4 #
5 # Created: mer. sept. 21 15:25:38 2011
6 # by: The Resource Compiler for PySide (Qt v4.7.4)
7 #
8 # WARNING! All changes made in this file will be lost!
9
10 from PySide import QtCore
11
12 qt_resource_data = "\x00\x00v\xed\x89PNG\x0d\x0a\x1a\x0a\x00\x00\x00\x0dIHDR\x00\x00\x02%\x00\x00\x01\xe6\x08\x06\x00\x00\x00\xac\xf9\xfel\x00\x00\x00\x04sBIT\x08\x08\x08\x08|\x08d\x88\x00\x00\x00\x09pHYs\x00\x00\x0b:\x00\x00\x0b:\x01d\x7fW\x0d\x00\x00\x00\x19tEXtSoftware\x00www.inkscape.org\x9b\xee<\x1a\x00\x00 \x00IDATx\x9c\xec\xbdi\x90$\xc5y\xff\xff\xcd:\xba\xab{\xee\xdd\xd9\x8bc\x17XvA\xbb \x10\x18\x1d\x80\x04H6\x02\x84\xec\xd0a\xe0\x8d_Z/\xfcN\x11~\xff{#G\xd8\xa1\x08E(,Y\xff7\xb2\xc2\xb2\xf4F\xb6\x1c\xd8:\x16\x09\x01BBHBB\x0b\xac\xf6^\x96=\xd8\xfb\x9a\x9d\xe9\xe9\xae\xae\xae\xaa\xfc\xbf\xa8\xca\x9a\xec\x9a\xea\x99\xee\xea\xea\xee\xac\x9a\xe7#\x15\xdd\xdb3\x93udv\xd6\xb7\x9e+\x19\xe7\x1c\xdd\xc0\x18c]\xfd\x22A\x10\x04A\x10\x84\x04\xefRl\xb0\x95~\xaf\x83\x10\xe9\xf63\x82 \x08\x82 \xd6\x0eI\x82b\xd9g+\x09\x94DQ\x92 FX\xecu\xa5\xf7\x04A\x10\x04A\xac=\xf8*\xef\xdb\x04G\x9281\xe2\x1f\xc4\x04I\x5c\x8c\xb0\x15\xde/k*\xf1\x90\x09\x82 \x08\x82\xc8;+YE8:\x08\x11\xf93\xc6\x18\x8b\x0b\x936Q\x92 H\xe2\x02d\xa5M\xfe;\x82 \x08\x82 \x8aO\xdc\x22\xb2\xd2\xb6\xec\xef\xe2\xc2$\x12%\x1d\x04\x89\xbci\x1d^\xe3\xc2\x84D\x09A\x10\x04A\xac\x0d\xe2\xd6\x11\xb1\xf9\x1d^\x97\xb9uda\xb2\xcc}\x83d1\xb2\xdaF\xc2\x84 \x08\x82 \xd6\x16I\x82\xc4\xef\xb01\xe9}R\x1b\x00BQ\x22YI\xe2\xee\x1a!:tiK\xfaw\xdcr\x22\xb7E\x10\x04A\x10D\xb1\x88\x0b\x12\xd9\x22\xe2I\x9b\xfco\x81/\xfd-\x03\xc0\x85\xb5d%KI\x5c\x90\x18\xb1M|\xd6\xc9j\x22\xb7G\x10\x04A\x10D\xfeI\x8a!\x89[E\x5c\x04\x22\xc4\x0d\xb7$\x1d \xac'\x1d\x03]\x93\xdc6q1b\xca\x9bi\x9aB\x9c\xe8\x9cs\x1d\xed\x16\x13\x80\x04\x09A\x10\x04A\x14\x0d\xd9J\xe2#\xb0tD\xd6\x91V\xab\xe5\x02h\x85[R\x88\x87\xf8\xdb\xf8\xbfW\x8c)\x89[IJ\xd2V\x06`r\xce\x85@\x89\x5c9\x9csr\xe3\x10\x04A\x10D1is\xdb0\xc6|\x00>\xe7\x5c\x88\x92\x96\xb45\xd1n\xa8\x88\xc7\x9e\xach)\x01\x92\x83[\x85\x85\xa4\x04\xc0B H\xac\xf0\xdf%\xcey\x09K\xee\x1c\x1d\xedn\x1c\x80D\x09A\x10\x04A\x14\x856+\x09\xe7\x5c\x8e\x19q\x19c\x0e\x00\xb1\x09= ~_\x88\x11\xf1y\x14S\x22\x1a7\xc2 \xd7N\x197:\x00\xc3\xb2,\xd3\xf7\xfd2\xe7\xbc\xcc9\xaf\x00\xa8\x84\xef\x8581\x11\x0a\x13\xc9\x8d\x137\xd5\x10\x04A\x10\x04\x91\x7f\x22\x8b\x87\xe4\xb6q\x01\xb48\xe7\x8e\xae\xeb6c\xcc@\x98G\xc3\x18\xe3\x9a\xa6\xf9\xb6m\x0b\x01#\x84\x89\xb0\x960\x04\xbf\xdc\xd1R\xd2\x16S\xc2979\xe7\xa5P\x84XB\x98\x84\x9b\xb0\x96\x087\x8e!\xfd\xbdh\x93 \x08\x82 \x88\xfc#\xac\x1a>\x82J\xf1\x22\xa8\xb5%YIt\xce\xb9\x16&\xd4\x08\x8b\x8a\x1c\xfc\xea\xa1\x83\xf1\x22\x1e\xe8\x0at\x10%\x08D\x87\xb0\x8eT\x11XK\xaa\x08\xdc9eH\xd6\x12,w\xe1\x10\x04A\x10\x04Q\x0c\xe4\x8c\x1b\xd9J\xd2\x04\xd0\x14\x1e\x18\xce\xb9\x1f\xc6\x9c\xb4B\x1d\xe1\xa2\xbd\x94\x88\xac;\x12\x03]\x13\xd3\x819\xe7B\x98\x88 W\x8bs^\xd14\xad\xf2\xc0\x03\x0f<699y\x13\xe7<\x0ar\xe5\x9c\x93\xeb\x86 \x08\x82 \x0a\xc8\xb9s\xe7N\x1e:t\xe8(\x00\x9f1&\xd2~\x1d\x84eB|\xdf\xe7\x8c1\x8e \xd8\xd5\x0d\xf5C\xa7\xd8\xd3\x8e\x96\x12A\x92\x0bG\xc7R\xb6M\x89s.\x82]+333;fffv\x18FRS\x04A\x10\x04A\x14\x05\xcf\xf3`\xdbv\x0b\xc0Y\x00^\xe8\x96q\xc3\x18\x12\x11\xb6\xe1s\xce=\xc6X\x93s\xee0\xc6\xda\xb2t\xb1B\xdc\xa9P\x12I\x15]\xe5J\xadrjp\xe4\xca\x097\xed\x96[n\xe1\x7f\xf7w\x7fG\x96\x11\x82 \x08\x82(0\xff\xf3?\xff\x83\xf7\xde{\xcf@\x10S\x1a\x15H\x0bcH\x80\xa5\xe2i\x0e\xda\xc3:\x92*\xc0#\xf6\xca;\xc5\x94@\xfaC-\xcc\xa8\x91\x0b\xa9\x09aR\x12\x07b\x9af\x96\xe7M\x10\x04A\x10\x84bh\x9a\x86\xb0\x1a|\x19\x81(\x11b\x83\x871$qA\x22g\xe6v*\x19\xd21\xa6\x04\x09\xbf\x18\x8f3i+7\xcf9g$J\x08\x82 \x08\xa2\xf8\x84\xa2DC\x10c*\xb2h\x80%\x0bI|I\x9a\x9e\x16\xee\xed\x14\xe8*\xbfgX\xaa\xd4\x1a\xbdb\xc9\x1c\xc3\x18c\xa0\x98\x12\x82 \x08\x82(6\xa1\x8bF\x18(\x84\x85\x83#\x10(m\xae\x9a\xd0\x93\x12\xbd\x22Y\x98\xac\x1a\xe8\x8a\xd8/%YKd\xb7\x0eYJ\x08\x82 \x08b\x0d YJ\xf4\xf0#\x91\x1a,\xeb\x82N\x0b\xf5\xae\xbaX\xefJ\xe6\x8d\xa4\x06\x127\xb2\x94\x10\x04A\x10D\xf1\x09-%\xc2H\xc1\xb1\xb2\x00\xe9$F:&\xc6t\xa3$Vj4*\x0dK\x96\x12\x82 \x08\x82(6\x9a&\xb2~;\x1b*\xb0\x8afX\x89^\xcd\x1b\xcbv\xca9\x07\xe7\x1c\xcdf\xb3\xc7\xa6\x08\x82 \x08\x82\xc8\x13\x9e\xe7\x01\xdd\x09\x92Tk\xe0e\xe2s\xf1<\x0f\xf3\xf3\xf3Y4E\x10\x04A\x10\x84\xa2\xb8\xae;\xd0\xf6I\x94\x10\x04A\x10\x04\xd1\x15\xadVk\xa0\xed\x93(!\x08\x82 \x08\xa2+H\x94\x10\x04A\x10\x04\xa1\x04\xb9\x10%\xae\xeb\x92(!\x08\x82 \x88\x82\x93\x0bQ\x02\x00\xbe\xefg\xd5\x14A\x10\x04A\x10k\x90\xccD\x09\xe7<\xab\xa6\x08\x82 \x08\x82P\x90A\xdf\xeb3\x11%\x9cs\xb2\x94\x10\x04A\x10\x04\xd1\x17\xe4\xbe!\x08\x82 \x08\xa2+ra)\x01\xc8}C\x10\x04A\x10E'\x17\xa2\x84\xdc7\x04A\x10\x04A\xf4\x0b\xb9o\x08\x82 \x08\x82\xe8\x8a\x5cXJ\x00r\xdf\x10\x04A\x10\x04\xd1\x1f\xe4\xbe!\x08\x82 \x08\xa2+rc)!QB\x10\x04A\x10\xc5&\x17\xa2\x84,%\x04A\x10\x04A\xf4\x0b\xc5\x94\x10\x04A\x10\x04\xd1\x15\xb9\xb0\x94\x00\xe4\xbe!\x08\x82 \x08\xa2?\xc8}C\x10\x04A\x10DW\xe4\xc6RB\xee\x1b\x82 \x08\x82 \xfa\x81,%\x04A\x10\x04AtEn,%$J\x08\x82 \x08\xa2\xd8\xe4F\x94\x90\xfb\x86 \x08\x82 \x88~ \xf7\x0dA\x10\x04A\x10]\x91\x1bK\x09\x89\x12\x82 \x08\x82(6\xb9\x11%\xe4\xbe!\x08\x82 \x08\xa2\x1f\xc8}C\x10\x04A\x10DW\xe4\xc6RB\xa2\x84 \x08\x82 \x88~ \xf7\x0dA\x10\x04A\x10]\x91\x0bK\x09\xb9o\x08\x82 \x08\x82\xe8\x17r\xdf\x10\x04A\x10\x04\xd1\x15\xb9\xb0\x94\x5c\xb9r\x05/\xbe\xf8b\x16M\x11Dn!\x17&A\x0c\x0e\xfa~\xa9\xc1\x9dw\xde9\xd0\xf63\x11%\xb5Z\x0d\xc7\x8f\x1f\xcf\xa2)\x82 \x08\x82 \x14e\xe3\xc6\x8d\xd04m`\xedg\xd22)X\x82 \x08\x82(>\x83\xbe\xdfg\x22J(\x9e\x84 \x08\x82 \x8a\x8f\xe7y\x03m\x7fp6\x18\x82 \x08\x82 \x88\x1e\xc8$\xa6\xa4\x5c.c\xd3\xa6MY4Et\x09\xb9\xcc\x08U\xa1\xb1\x99o\xa8\xff\x88\x95\xa8V\xabp]w`\xedg\x22J\xc6\xc7\xc7q\xc7\x1dwd\xd1\xd4\xd0\xc8\xfb\x17/\xef\xc7\xbf\x1at~\xf9\xa6\xc8\xe7W\xe4s\x03\xe8\xfc\xf2\xcc0\xcemzz\x1a\x97/_\x1eX\xfbk\xd6}\xc3\x18\x1b\xf5!\x10+@\xfdC\xa8\x0a\x8dMBU\x8a06\xd7\xac(\xc9;E\x18|k\x99\xa2\xf7_\xd1\xcf\xaf\xc8\x14\xbd\xef\x8a~~y\x87D\x09\xa1,4y\x10\xaaBc\x93P\x95\xbc\x8f\xcd5-J\xf2\xdeyy?\xfe\xb5\x0e\xf5\x1f\xa1*46\x89Q\xb1\xa6E\x09A\x10\x83\x83nl\x84\xaa\x14}l\xe6\xf9\xfc\xd6\xbc(\xc9s\xe7\x01\xf9?\xfe\xd5(\xfa\xf9\x11\xf9\xa5\xe8c\xb3\xe8\xe7G\xa8\xc9\x9a\x17%\x041J\x8a>\xf1\x17\xfd\xfc\x88\xfcBcSMH\x94\x80\x06\xa7\xeaP\xff\x10\xaaBc\x93P\x95\xbc\x8eM\x12%\x05 \xaf\x83\x8f\x08\xa0\xfe#T\x85\xc6&1lH\x94\x10\x041P\x8a~c+\xfa\xf9\x15\x99\xa2\xf7]\x1e\xcf\x8fDIH\x1e;O&\xef\xc7\xbf\x1at~\x041\x1ahl\x12\xc3\x84D\x09A\x10\x03\x87nl\x84\xaa\xd0\xd8T\x0b\x12%\x1248\xd5\x86\xfa\x87P\x15\x1a\x9b\x84\xaa\xe4ml\x92()\x10y\x1b|D;\xd4\x7f\x84\xaa\x14}l\x16\xfd\xfc\xf2\x04\x89\x12\x22W\xd0\xe4\x91_\x8a\xdewE??\x22\xbf\xe4il\x92(\x89\x91\xa7\xceK\x22\xef\xc7\xbf\xd6\xa1\xfe#T\x85\xc6&1\x0cH\x94\x10\x0414\xe8\xc6F\xa8\x0a\x8dM5 Q\x92\x00\x0dN\xb5\xa1\xfe!T\xa5\xe8c\xb3\xe8\xe7Wd\xf2\xd2w$J\x0aH^\x06\x1f\x91L\xd1\xfb\xaf\xe8\xe7G\xe4\x17\x1a\x9b\xa3\x87D\x09\x91Kh\xf2 T\x85\xc6&\xa1*y\x18\x9b$J:\x90\x87\xce[\x89\xbc\x1f\xffZ\x87\xfa\x8fP\x15\x1a\x9b\xc4 !QB\x10\xc4\xd0\xa1\x1b\x1b\xa1*E\x1f\x9b\xaa\x9f\x1f\x89\x92\x15P\xbd\xf3V#\xef\xc7\xbf\x1at~\x84\xaa\x14\xbd\xef\x8a~~\xc4\xe8 QB\x10\xc4H\xa0\x1b\x1b\xa1*46G\x07\x89\x92U\xa0\xc1\xa96\xd4?\x84\xaa\xd0\xd8$TE\xe5\xb1I\xa2\xa4\xe0\xa8<\xf8\x88\xd5\xa1\xfe#T\xa5\xe8c\xb3\xe8\xe7\xa7*$J\x88\xdcC\x93G~)z\xdf\x15\xfd\xfc\x88\xfc\xa2\xea\xd8$Q\xd2\x05\xaav^\xb7\xe4\xfd\xf8\xd7:\xd4\x7f\x84\xaa\xd0\xd8$\xb2&3QB\x83\x93 \x884\xd0\xdcA\xa8\x0a\x8d\xcd\xe1C\x96\x92.\xa1\xc1\xa96\xd4?\x84\xaa\xd0\xd8$TE\xc5\xb1I\xa2d\x8d\xa0\xe2\xe0#\xba\xa7\xe8\xfdW\xf4\xf3+2E\xef\xbb\xa2\x9f\x9fjd*J\xa8\xf3\x88QB\xe3\x8fP\x15\x1a\x9b\x84\xaa\xa866\xc9R\xd2\x03\xaau^\xaf\xe4\xfd\xf8\xd7:\xd4\x7f\x84\xaa\xd0\xd8$\xb2\x22sQB\x83\x93 \x884\xd0\xdcA\xa8J\xd1\xc7\xa6J\xe7G\x96\x92\x1eQ\xa9\xf3\xd2\x90\xf7\xe3_\x0d:?BU\x8a\xdewE??b8\x90(!\x08B\x19\xe8\xc6F\xa8\x0a\x8d\xcd\xe10\x10QR\xf4\xce+\xfa\xf9\xe5\x1d\xea\x1fBUhl\x12\xaa\xa2\xca\xd8$K\xc9\x1aD\x95\xc1G\xa4\x83\xfa\x8fP\x15\x1a\x9bD\xbf\x0cL\x94\xd0\xe0$\x08\x22\x0dE\x9f;\x8a~~E\xa6\xe8}\xa7\xc2\xf9\x91\xa5$%*t^?\xe4\xfd\xf8W\x83\xce\x8f F\x03\x8dM\xa2\x1f\x06*Jhp\x12\x04\x91\x06\x9a;\x08U\xa1\xb19X\xc8R\xd2\x0748\xd5\x86\xfa\x87P\x15\x1a\x9b\x84\xaa\x8czl\x92(Y\xc3\x8cz\xf0\x11\xfdQ\xf4\xfe+\xfa\xf9\x15\x99\xa2\xf7]\xd1\xcfo\x94\x0c\x5c\x94P\xe7\x11\xa3\x84\xc6\x1f\xa1*46\x09U\x19\xe5\xd8$KI\x9f\xe4}b\xc9\xfb\xf1\xafu\xa8\xff\x08U\xa1\xb1I\xa4a(\xa2\x84\x06'A\x10i\xa0\xb9\x83P\x15\x1a\x9b\x83\x81,%\x19@\x83Sm\xa8\x7f\x08U)\xfa\xd8,\xfa\xf9\x15\x99Q\xf5\x1d\x89\x12\x82&\x8e\x9cS\xf4\xfe+\xfa\xf9\x11\xf9\x85\xc6f\xf6\x0cM\x94\x14\xbd\xf3\x8a~~y\x87\xfa\x87P\x15\x1a\x9b\x84\xaa\x8cbl\x92\xa5\x84\x00@\x13c\xde\xa1\xfe#T\x85\xc6&\xd1\x0bC\x15%48\x09\x82HC\xd1\xe7\x8e\xa2\x9f_\x91)z\xdf\x0d\xfb\xfc\xc8R\x92!y\x1f\x9cy?\xfe\xd5\xa0\xf3#\x88\xd1@c\x93\xe8\x16\x12%\x04A\xe4\x02\xba\xb1\x11\xaaBc3;\x86.J\x8a\xdeyE?\xbf\xbcC\xfdC\xa8\x0a\x8dMBU\x8696\xc9RB\xb4A\x13c\xbe\xa1\xfe#T\xa5\xe8c\xb3\xe8\xe77,F\x22J\xa8\xf3\x88QB\xe3/\xbf\x14\xbd\xef\x8a~~D~\x19\xd6\xd8$K\xc9\x00\xc8\xfb\xc4\x92\xf7\xe3_\xebP\xff\x11\xaaBc\x93X\x8d\x91\x89\x12\x1a\x9c\x04A\xa4\x81\xe6\x0eBUhl\xf6\x0fYJ\x06\x04\x0dN\xb5\xa1\xfe!T\xa5\xe8c\xb3\xe8\xe7Wd\x86\xd1w$J\x88Dh\xe2\xc87E\xef\xbf\xa2\x9f\x1f\x91_hl\xf6\xc7HE\x09u\x1e1Jh\xfc\x11\xaaBc\x93P\x95A\x8fM\xb2\x94\x0c\x90\xbcO,y?\xfe\xb5\x0e\xf5\x1f\xa1*46\x89N\x8c\x5c\x94\xd0\xe0$\x08\x22\x0d4w\x10\xaaBc3=#\x17%E'\xef\x833\xef\xc7\xbf\x1at~\x84\xaa\x14\xbd\xef\x8a~~D:H\x94\x10\x04\x91[\xe8\xc6F\xa8\x0a\x8d\xcdt(!J\x8a\xdeyE?\xbf\xbcC\xfdC\xa8\x0a\x8dMb\xad\xa1\x84(!\xd4\x86&\xc6|C\xfdG\xa8J\xd1\xc7f\xd1\xcfo\x10(#J\xa8\xf3\x08\x82HC\xd1\xe7\x8e\xa2\x9f\x1fA\xc8(#J\x8aN\xde'\x96\xbc\x1f\xffj\xd0\xf9\x11\xc4h\xa0\xb1I\xc8(%Jhp\x12\x04\x91\x06\x9a;\x08U\xa1\xb1\xd9\x1bJ\x89\x92\xa2C\x83Sm\xa8\x7f\x08U\xa1\xb1I\xac\x15H\x94\x10]C\x13c\xbe)z\xff\x15\xfd\xfc\x8aL\xd1\xfb\xae\xe8\xe7\x97%\xca\x89\x12\xea<b\x94\xd0\xf8#T\x85\xc6&\xb1\x16PN\x94\x14\x9d\xbcO,y?\xfe\xb5\x0e\xf5\x1f\xa1*46\x09@QQB\x83\x93 \x884\xd0\xdcA\xa8\x0a\x8d\xcd\xeePR\x94\x14\x9d\xbc\x0f\xce\xbc\x1f\xffj\x14\xfd\xfc\x88\xfcR\xf4\xb1Y\xf4\xf3#V\x87D\x09A\xac1\x8a>\xf1\x17\xfd\xfc\x88\xfcBcsu\x94\x15%E\xef\xbc\xa2\x9f_\xde\xa1\xfe!T\x85\xc6&Qd\x94\x15%\x84\xda\xd0\xc4\x98o\xa8\xff\x08U\xa1\xb1\xb9\xb6QZ\x94\xd0\xe0$\x08\x22\x0dE\x9f;\x8a~~E\x86\xfane\x94\x16%E'\xef\x833\xef\xc7\xbf\x1at~\x041\x1ahl\xae]H\x94\x10\x04QH\xe8\xc6F\xa8\x0a\x8d\xcd\xce(/J\x8a\xdeyE?\xbf\xbcC\xfdC\xa8\x0a\x8dM\xa2\x88(/J\x08\xb5\xa1\x891\xdfP\xff\x11\xaaR\xf4\xb1Y\xf4\xf3KK.D\x09u\x1e1Jh\xfc\xe5\x97\xa2\xf7]\xd1\xcf\x8fX{\xe4B\x94\x14\x9d\xbcO,y?\xfe\xb5\x0e\xf5\x1f\xa1*46\xd7\x1e\xb9\x11%48\x09\x82H\x03\xcd\x1d\x84\xaa\xd0\xd8\x5cNnDI\xd1\xa1\xc1\xa96\xd4?\x84\xaa\x14}l\x16\xfd\xfc\x88v\x8cQ\x1f\x00Q\x0c\x18c\xe0\x9c\x8f\xfa0\x88\x94,\xf5\x9ft\x03\xc8\xdb\xbd`\x85\xf1G\xe3\x93P\x15\x1a\x9b\xed(#J\xbaQ\xc3*(\xe6,\x07O\xbc-q~y\x1a\xa0r\x9f\xa8\xd0?+\xb1\xdau]\xed\xe7\x85\x9f<\x18\x03\xc0\x96\xb4\x08\x8b\xfe\x03@\x85q\xb9\x82\xe8\x00\x03\x97\xc7\xdf\xb2c\xe5\xc1\xf9\xf1\x95\xdb\xc9+\xc3\x1f\x9b\xac\xed\xa5oV;\xf6a\xcd-|\xd9\x1bb\xc8\x0cE\x94$\xdd\xac\xc4g\xf1/\xd30nl\xfd|y\xb38>\xb1\x7f\xc6X\xdb\xf9\xc7\x8fk\xf47\x81\x80N\xfd'\x8e}\x98b$\xeb\xbe\x93\xfb\x22\xde~\xd2\xfb<\x0a\xc7\xeeX\xeaO\xce\xd8\x924i\x13\x9d\xc1\xef\xb5\xd3\xcbu\xe8\xf3\x9a\xadv\xdfj\xfb\x15\xbe\xf4\xca\xa5\x9f\xb3\xd0\x1aTPq2x\x98\xa4G\x96\xc6H\xfb\xf7\xa1\xd3|\xb0\xc2\xf5\x8e\x04c\xc7\xbd\x0e\xa8\xb7\xe2\xf7\x1e\xde\xfe)\x8d\x93\xa13pQ\x12\x7f\x92\x96\xc5\x88\xfc\xef\xf8\xef\xaaL\x167\xa4\xb8\x10\xe1\x9c'\xbe\xcfj\x7fi\xe9\xd4\x7f\x9a\xa6-\xebK\x15\xe8\xf6Z%\xfd^\xa7>\xe1\x9cC\xd3\xb4e\xfd\xd2\xeb>\xd5\x84\x89\xbb5\x00\x06\xa6\xe9\x818\x11?\x0d\xad'\xe2WWe\x80\x97\x82\xaf\xd4\xb8$<\x00\x1e=x3\x84}\xc6\xfd\xe8i<\x12'|p\xb7\xbab\xc2\xc2\xff\xb3P\x88H\x0f\x97\x9a4N\xc2\xd7~\xe4k\x87\xbd\xafBo{\x88\xe4G\xa4_y8$\xc2\x07->\xbcqRx+l\x0f\x0cT\x94\xc87*M\xd3\xa2W\xb1\xc9\xc2D\xbe\xc1\x0d\x9aQw~\xd2M\xcf\xf7}\xf8\xbe\x1f\xbd\x97\x7fW\x85\x01+\xfaH\xee?\xb9\x0fE\xfffiI\xca\x92NV\xa8\xb8\xf8\x93\xb7\xa4\xcf\x92~\xb6\x92\xb5Km\xd8\x92%D\xd3\xc0\x98\x1e\xcc\xfc\x9a\x0e\x16\xfe/r\xe9\x0cIt\xae$<X\xf0\x0b+\xff=\xe7\x00x <\xb8\x0fp\x1f\x8csp\xce\x82\x9b\x0d\xf7\xc1\xb9\x1f\xba{x\xa14\xc9@\xe7\x09i\x1cp\x1e\x08\x13\xa610\xa6!\xb0=i\xd1XZ\x1a*\xedcf\xe0\xb7\xf6\x1e\x1b\x8f\x04+\x03\x80`\xee\xd5\xc0\xc3q\x03p\xc8\xe3\x84\x04\xec\xb0\x18\x98(\x89\x0b\x12\xc6\x18t]\x87\xae\xeb\xd04m\xd9k\xd2\xdfey\x0c\xbd\xd2\xcf\x97\xbb\xdb\xd8\x05!@<\xcf\x8b^=\xcf\x03\x80H\xa0\x8cR\x90\xc4-!\xa2\xff\xe2[\x5c`\x8e\x9a^\xae\x7f'\x81\x08\xa0M$\xc6_\xe5\xdf\x89\xb7\xd5\xedq(\x01\x07\xa0\xe9\x00\xd3\x021\xa2\xe9\x0040]G`9\xd1\x10$\xe9\x89I\xb9\xff\xc9y\xa5\xbfN=z\x82\xc7v0\xf0\xe0\x89\x97\xfb\x80\xef\x87\x16\x12\x0f\xf0\xbd\xe0\x95\x03\xf0!\x09\x13\xac\x1e\xcf\xb0\xe6\x11\x96\x8f\xc0\x82\x16\x88\x91p\x9ch\x1a\x18\xd3\x82\xf1#\xacn\xd1\x1c\x90\xe0\xf6U\xe6R\x87\x07\x22\xach\xe0K\xe3\x05>\x18\xf3c\xe3d\xf0\x02V\x85\x87O\x15\x18\x8a\xfbF\xbe\xa1\x99\xa6\x09\xc30\xda\xb6$\xcb\xc9j\xe4\xb5\xf3\xe4\x1b\x1f\xe7<\x12\x22\xadV+\xda\x18cm\xe2\x04\x18\xdd\x80\x95\xfb\xcf0\x0c\xe8\xba\x8eR\xa9\x04\xc30P*\x95\xda\x84\x89\xec\xd2Q\x8d\xd5\xdce\x00\x22\xb1!\xae\xb9\xe8\x1b\xd1O\xb2\x80\x94\xfbO\xbc\x8foj\xc7\x9f\x84\xe6v-\xb8\xa1h\xba\x010\x1dL7\xc14#\x10'\xcc\x00\xd3\xb5\xa5\xdf\x95-+I\x8c4H0\xb4\xb1\x84\x82D\xe3>|\xdf\x05\xb8\x0f\xee\xb9\x00Z\x81\xb5\xc4w\x83\xe3c\x0c\xdc\xf7\xf3\x97a\xb4\x0a\x03\x99'\x98$H\x84\x00\xd1\x8c\xe0}4V\xf4`l0y\x0e`\xc9\xd7\xb7\xaf\xc3\xcb@\x10\x8b\xffp\x0e\xc6\x01\xce=\x00~ \x5c}/\x18#>\x03\x18\x07\x83F\x02v\xc8\x0c\xdc}#\x0b\x92R\xa9\x14m\xe5r9\xba\xb9\x89\x9b\x9dl1)2\xe2\xa6\xe6y\x1e\x5c\xd7E\xab\xd5\x82\xe38\xb0m\x1b\x9a\xa6\xc1q\x9cDW\xc10\x91\xad$\xc2\xa2%\xfa\xd0\xb2,\x94\xcb\xe5\xb6>\x94\x85\x89j\xac$H\xc4\xbf\x93\x84\x86l\xbd\x12}%\xff[\xde\xc4\xef\xc6--I\xc7\xa1\x04\x919^\x0b\x85I(H\xf4\x124\xa3\x04\xe8\xa5P\x9ch\xe0\x08\xe2L\xc0\xb4\x1e\xee\xe1}X\x1a\xd3\xfe\x9d\xf4\xd4\xcb=\x17\xba\xef\x81\xfb-p\xd6\x84\xcf\x00\xeer@\xe3`\x9cG\xf1\x02\x09\xa1\x8dD\x1b\xc18\x11\x82\x84iZ V5\x03L7\x03Q\xa2\x9b\x81\xe5$\xb2\xb4\x85\x7f\x97\xf6\x01e5\x17]\x97G\xdd\xf9\xefC\xab\x87\x18+\xa1%\x8d{-p\xaf\x15\x8a+\x17\xdc\xe3\x00\xbc@\x90p\x7f\x85\x16\xb3\x83\xac%Cp\xdf\x88\x1b\x95a\x180M\x13\xe5r\x19\xd5j\x15\x95J%\xba\xb1\x09\xeb\x89l-\xc9\x02\x15;W~\x0a\x17\x82\xc4\xb6m4\x1a\x8d\xe8Z\xc9\x96\x14q\x93\x1c%B\x94\x081966\x86\xcd\x9b7G\xe2\xc44M\x98\xa6\x19\x09\x98^\xfapP}\x14o7.4\xe2\x22B\x5cg\xd9z\xe5\xfb>Z\xadV\xf4*D\x89\xb0h\x89\xf7\xe2s\xd7u\xdb\x84\x8c\xe8Kq<jL8,Ht\xe0\x1c\xd04p\x11\xdc\x1a\x0a\x92\xea\xb6\x8f\xc2\x1c\xdf\x14FeH.PE-`\xcb\x08\x9f\x82y\xf8$\x0c\xce\xe1\xbbM,\x1c\xfe\x194\x1d\xf0=\x0e0?\x0af\x8c\xac%\xa3\xee\x96\x0c\x19\x8c\xb5D\x034\x06@_\x1a/\xa51\xe8\xe5\x090\xcd\x04\xd3\x97\xackB\x90$&k\x0d\x83\xae\xe2\x8e\xc2_\xe4\x1e|\xdf\x03\xf7\x5cp\xde\x82\xef\xd8\xf0\xed\xeb\x81\x08\xf3\x83\xf8$\x9f\x87n\xcb\x91\x7fw\xd7\x06\x03\x11%\xf1x\x12!JJ\xa5\x12*\x95\x0a>\xf7\xb9\xcf\xe1\xbe\xfb\xee[\xf1\xc6\xa5\xaa\x1b\xa0\x1fV\x9a(8\xe7\xf8\xfe\xf7\xbf\x8f\xb7\xdf~{\xd9\xd3\xb7|-\x86yS\x93\x83X\x85\xfb\xc6\xb2,l\xde\xbc\x19_\xfe\xf2\x97\x87v\x1c\x83\xc4\xf3<4\x9bM\xd8\xb6\xdd\xb6\xd5\xebu\x5c\xbe|\x19\xe7\xcf\x9f\x87m\xdbm\xee5ys\x1c\x07\x8e\xe3D\xe2D\xded\xe1\xa3LFUdY_\xb2\x92hL\x07\xd3\x0chF\x09zi\x02Zy2\x83\x1d\x0d\xf6\xfcVk]\x9e=\x98\xdb\x043\xca\xe0\xdc\x03\xf35p\xa6\x81\xc3[\x0a\x91!:\xc0B\x83\x9a\xec\xbe\xd3\xc04\x03\xd0\x0c\x94fn\xc1\xd8\xb6\x8f\xa5kz\xb5\xb8\xaft\xad\xf6\x8dW\xbf\x86\xf9C?\x0d\xdc~\x9a\x07x\x1a\x18\xf3\x03\x91\x1e\xc6-\x918\x19,Cq\xdfh\x9a\x06\xd34\xa3'\xedr\xb9\x0c]\xd7Wo\xa0`\xac&\xb4*\x95\x0a,\xcbB\xab\xd5js\x87\xc43r\x86\x898\x06\x11\x0fT.\x97aY\xd6H\x8ee\x10\xe8\xba\x8ej\xb5\x8aj\xb5\x9a\xf8s\xce9\xe6\xe7\xe7q\xe9\xd2%\x5c\xbcx\x11g\xcf\x9e\xc5\xa5K\x97\x221\xd2l6\xd1l6\xa3\x7f\x0b\x81\xe28\x0e\x5c\xd7\x85\xa6imq'*\x040\x03aZ\xa7t\xa3\x09n6f\x86\x16\x11u\xcc\x0f\xdc\xf7\xd0\xb8v\x1a\xbaiA7J\x00s\xc3\xd8\x08?\xcc\xca\x19\xcdw+/p\xce\xc38\xd6\xd0}\xa3\xe9`F\x09LW\xa6\xf6f\xb6\x8412L3\x02KZ`0\x19\x9a\x80\x1d\xf5\xdc0j\x86\x16S\x22\x84\x89eY0\x8c\x82\x0e\xe6>9x\xf0 \xf6\xef\xdf\x8f\xed\xdb\xb7C\xd7\xf5\x91f\xb3$\xc5\x94\x08kW\xb9\x5c\x1e\xc91\x8d\x02\xc6\x18\xa6\xa6\xa6055\x85\xdbo\xbf\x1d\x00P\xaf\xd7q\xf4\xe8Q\x1c<x\x10W\xaf^\x85m\xdb\x918\x11\xef\x0d\xc3h\xb3\xa8\x08\xf7NR\xbd\x93QM@Q\xe0\xa2H\x07\xd6\xc3\xe0\xc5\x1c\xd0\x9b\xe4\xe1\xf0\x9a\x8b`\x9a\x0e\xdd\xb4\x10\xdd]\x18C\xc1\xb2\x82#\xb2\xbb\xb1-\x058\x07BV\x03cF\xb0i}\xcc\xe3\xabX\x1cF%i=\xa7\x8e\xda\xf9\xc3(\x8d\xad\x83Q*\x87\xa7\xaf\x05iC$`\x87\xc2PDI<\xfbf-ZI\xbaA\xc4\x98\xc8\xe9\xd2\xadVk\xd4\x87\x05\x00m\x198\xa6i\x8e\xfapFJ\xb5Z\xc5=\xf7\xdc\x83\x0f~\xf0\x838w\xee\x1c\x0e\x1c8\x80\xe3\xc7\x8f\xa3\xd1h\xa0^\xaf\xa3\xd9l\xa2\xd1hD\x02E\xd34\xb4Z-h\x9a\x16\xb9u\xe4T\xe2\x91\x94\x08\x17\x89\x11\x22\xe05\xca\xa0\xc8R\x94\xa8c-\x09\x08o\xae,\xcc\xa4\xf0\xc3\x1a\x15T\x83be\xa2\x82i\x22\xd0\x95\x051$\xac\xc0\xf3x\xe8\xde\xf4%\xf3\xc80G\xc9Z\xb6\x96\x0c<\xd05I\x98\xa8\x98\xa1\xa1\x12\xf25\xeaT\x8e\x7f\x18\xc8}\x17w\xe3\x10\xc1\xf5\xb9\xe1\x86\x1bp\xc3\x0d7\xa0\xd1h\xe0\xc8\x91#\xd8\xbbw/\xe6\xe6\xe6\xa2,\xb3z\xbd\x0e\xd34\xa3\xb8\x14\x00Q\xe0\xf2h\xdd9r0\x22\x034\x16\xddp\xf2B\xaf7\x09\x16\x16\xff\xf2\xa3\xbf.vx@\xb6\xd6\x12,],&\xa7\x89\xf7\xd3\xac\xca\xf1\x19\x0c\x1cZX\x1cN\xfa\x9e\xa8z\xb8\x05b(\x15]\xe37\xb5\x22\x06\xb1fMR\xb5\xdbQ\x1f\x8b\x5c\xc9\x95h\xa7R\xa9\xe0\x9e{\xee\xc1\x1dw\xdc\x817\xdex\x03\x07\x0e\x1c\xc0\xe2\xe2\x22L\xd3\x8c2\xabl\xdb\x06c\x0c\x8e\xe3\x801\x06\xd7u\xdbj\x99\x8c\xe6\xe9(4\xcbsV\xf8\xf9\x96Cr\x9b){3T\x14\x91J\xc3\x84\xb5\x09\x03\x17\xb0#\xb5_\xb1%\x01\xcb\x80\xe8\x95\x18<C\x0d\xee\x90SF\x89\xce\xc87}\x15b\x0f\xe2\xe2\x92\xfa\xaf3\x96e\xe1\x13\x9f\xf8\x04v\xee\xdc\x89_\xff\xfa\xd78w\xee\x1cL\xd3l\xab^,\x84\x09\x80\xc8\x9d\x03\x8cH\x98\x88\x9b\x8b0\xd1\x0fd\x07\x0a\x09\x00\xde\x1eD\xa2\xd8\xd1)Jx\xcdX\x98f-\x15\xaa+.b\xce[\x1a\x1f\xa3\xb0T\xafE\x17\xcePEIRj$\xb1\x9cQe\xda\xac\xc4\xb0\xd7'\xca;\x9b7o\xc6\x17\xbe\xf0\x05\xbc\xf3\xce;\xf8\xedo\x7f\x1b\x15\x09L\xaa\xe52ra\x02 \x13s\xfc\x08\xe8ITDs\x8f\xfc\x17\xc5\x9e\x8b2\x1dK\xe2{\xef\x07%\xfc3)(\xa6h\xc0\xeb\xd2\xde\xf3\xf7\x9d\xc8;\x03\x15%\x9d\xd6\x15!Q\xb2:\xaa\x8a7\x15\xdcIyA\xd34\xdc{\xef\xbdX\xb7n\x1d~\xf1\x8b_Db$\xc9\xda\x14\x17&\xc5B\x11{DX\xf1\x95G\xa2?8&\xa5C\x1bT\x80\x07\xb6\x11&\xae\x1d\xf7\xc1\xfd\xb04;1P\xd6\xa2\xb5d`\xc1\x01I\xa5\xbd\xe5\xb5D\x88\xce$\xad\xa5B\xe4\x97\xad[\xb7\xe2\xb3\x9f\xfd,n\xbc\xf1FLMMabb\x22\xaa\x8dR*\x95\xa2\x8a\xc6i*\xe2\x12\xdd?\xcbr\xf8\xe0\xdcE\xb0\xd2\x9a\x1f*\x91\xe2_\xe7\xfe\xc6RhY\x8a,L\xc1\x02\x87\xdco\x81\xfbnV\x07\xb8\xf2\x8f\xb3\xd9\x0b\x91\x13\x86b)\x91\xcb{\x8b\x9a\x0dDg\xc4S3\x09\x92\xe2\xb0a\xc3\x06<\xfd\xf4\xd3\xf8\xe5/\x7f\x89w\xdf}7\xfa<nM\x94\x83_\xe5\x9f\x0f\x9et\xfbY<\xb3\x17\xad\xda\xa5U\x9bX\xbd\xf5\xc1\x9d'\xf7\x9c\xf0\x8dXt\x8dK\xf5&\xe8\xfb\xb5\x1a,\x0c\xac\x88V^\xf6\x5c0\xd6\x02\xbc\x8cD\x09AH\x0c<\xa6$.H\x9a\xcd&\x89\x92U\x90\xd7Q\x01\x96nXk\xd1\x94W$\xc6\xc7\xc7\xf1\xf8\xe3\x8f\xe3g?\xfb\x19\xde}\xf7\xdd\xb6\x85\x00\xe3\x0b\x02\x02*\xad\x97\xd3\x99\xc6\xa5#\xb0/\x1e\x01\x90\x03\xb7\x93\x10%\x09\xb1\x10\xaa_\xe7~Iw~<\xa8x\x0b\x8e`\xc5\x5c\xe1\xfer\xe1{\x0c\xcd\xcb\xc7\xe0\x5c?\x0b\xa7v\x19\xad\xfa\xdc \x0e[>\x92\xd4\x7f{\xc3c\xff(-\x14\x98?\x8a>6\xe3\x0c-\xa6D^|\xceuIa\xaf\x84\xe38d))(\xa5R\x09\x8f>\xfa(\xea\xf5z\x9b\x10\x91c\xad\x840\xc9\xd3dT\x9e\xb9\x19\xbe\xd7\x0a\x9e\xa4\x85{D \xd63\xcbb\xf9\xd7\xd5\x10\xd9!Q\x96\x8dp\xd5\xf8A\xb5\xdah%a?\xa3\x1d\xae\x11\xb8\x0f\xf8\x0c\x5cs\xc1|\x00\x8c\x81\xbb\x8d@\xa08\x8b\xf0]{\xd4G\x98\x9b\xef\x0a\xb12\x03\x11%\xf2\x13\x9e\xef\xfbp]\x17\xba\xae\xc3q\x1c\x18\x86\x817\xdex\x03g\xce\x9c\xc1\x89\x13'\x06Z\xb1\xf4\x8e;\xee\xc0\x93O>\x99\xfa\xef\x7f\xf3\x9b\xdf\xe0\x0f\x7f\xf8C\x86G\xb42'N\x9c\x00\x80hq7\x12&\xc5dbb\x02\x8f=\xf6\x18\xf6\xec\xd9\xd3\xb6\xf0b\xdcb\x22ga\x0de\x0c\xf4\xe1\xbc/Ml\x80\xdfj\x80\xbbN\xb0\x04<\xf7\xc1\xb0T\x18\xaek\xd2\x9e&\x17\x92G|_B\xd1\xc19\xb8\xe7\x06O\xf9\xbe\x0f\xce=t\x12$y\x12\x81\xc3#\x0c\x06\x06\x0b\xfa\x94\x87\x8b\x19z\x00\xf7}0\xdd\x87Y\x19\x87a\x8d\x87\xe5\xd8\x19\x184\xa4Y,&\xb55\x84!,r\x16..\xa9\x9b`F\x19\xcc(C3\xab},\x9d \x1f\xcf\xe8kE\xad\x95\xb190K\x89\x98\x8c|\xdf\x8f\x16%\x13E\xa3\x0e\x1f>\x8c\x13'N\xe0\xf0\xe1\xc3h6\x9b\x83:\x048\x8e\xd3\x97(9v\xec\x18^|\xf1\xc5\x0c\x8f\xa8;\x5c\xd7\xed\x18\x14\xac\xc2\xe0\xccb\xff\xcdfsh\x163]\xd7Q*\x95\x94*\xfa\xb6q\xe3F<\xf2\xc8#\xf8\xc5/~\x11\x89\x12Y\x98\xc8bt\xd4\xfd\xdd\x0d\xbc\xe5\x80\xbb\x0e|\xb7\x09\xf8.\xb8\xef\x81C\x04\x93\x0e\xed(\x96\xeag\x08\x97'\x10\x88#_\x88\x94\xb5\x9b1\x92z\xee\x08\x97}\x11\xd7\x8fs\x00\x1a\x07\x83\x0e\xee\xf2\xa8\xa0\x9aX\xb2\x80\xf7q\x03OeMcK\x8bJr\xdd\x00\xe3\x0c\xe0\xc1\xad\x8d)\xf4\x9d'\xbac(1%\xb2\x8f\x5c|\xe6\xba.fff\x00\xb4W\x0c\xed\x15\xf1\x14&\xaf\xadS*\x95`Y\x16v\xed\xda\x95\xc99\xec\xdc\xb93Z\x87&~\xe3HC<=Z\x5c#\xd7u\xc19\x8f\xf6S\xe4\x14\xea\xaf|\xe5+x\xf3\xcd7S\xfdm\xda\xeb!V8\x16\xaf\xf2\xb6y\xf3f\xec\xdc\xb9\x13;v\xec\xc0M7\xdd4\x14\x01s\xcb-\xb7`\xf7\xee\xdd\xf8\xd3\x9f\xfe\x14\xb97\xe5x\x221.\xe4\xaa\xaf\xaa\xc2y\x98\x8d\xe1\xb5\x82\xcc\x0c\x1edi\x04?\x1b\xe2q\xf3\xf0?\x5c\xa4\xfa\x0a\xab\x09\x22\x91\xb2\x929F\x05\xd1\xaf\x1e\xb2\xb5\x84\x03\xcc\x07\xf7YPLM,\xa2$\xac\x11\x5c\x16$i\xc4\xc9\xca\xd7>\xf1\xa7,\x10BL\xd3\x01\xee\xc3\x07B\x8bI\x0b\xc8*CH\x01\xd6\xca\xd8\x1cxL\x89\xb0\x96\x88\xb2\xda\xc2_\xee\xba.\x0c\xc3h+]\x9e&uM\xfc\xada\x18(\x97\xcb\xa8T*\x98\x98\x98\xc0\xd4\xd4\x14n\xbc\xf1\xc6L\xcec\xe3\xc6\x8d\x00\x10-\xb2\x966\xb59\x9ei!\x04\x87X=\x961\xb6\xec\xa6TT\xc4\xb5\x107\xff^\xaee\xda\x14G\xc7q\xba\xb2\xccY\x96\x85\x0f~\xf0\x83x\xf2\xc9'\xf1\xe1\x0f\x7fx\xa0\x02\xe5c\x1f\xfb\x18\xf6\xef\xdf\x8fj\xb5\x0a\xc7q\xa2\xfe\xcfB\xfc\x0e\x13\xc6y Jx\x18H\xea\xbb\x03\xb4J\xac\x96\xe6#\x7f\xcf\xc2\x07x>j\x03\xbc\x1a\xf4g-\x09V\x81\xe1\xbe/YE\x00\xc6\x198\xfcd\xf1\x9c\xbd.Y\x0e\x0bV/\xe6a\x9a7\xd3\xb4`,fU\xe0\x8d\x18*\x03w\xdf\x88\xf7\xe2&.\xd7+\x91k2\xf4Z-T\xb4/D\x89i\x9a\x91E\xc60\x0cX\x96\x95Y\xbc\x8a\x08<\xad\xd7\xebQ\xa0\xae\xb8i\xa4E\xce\xbc\x00\x10\xb5\x17\xcf\xc8H\xa2\x08\x8aY\x1c\xffSO=\x85\xc5\xc5E4\x1a\x8d\xe8\xa6,\x8f\x95\xb4\xc8\xe3(\xbe\xa8\xa1,\x08\xe3\xfb\xb1m\x1b\xb5Z\x0do\xbd\xf5\x16\xdex\xe3\x0d\xcc\xce\xce\xe2\xd3\x9f\xfe4\x9ex\xe2\x09\xcc\xce\xce\xa6>\x9e\x95x\xfa\xe9\xa7\xf1\xdd\xef~7\x12&rL\x91\x18\x03\xaa\x17V\xe3a\x80k\xb0\xbe\x8c/\x05\x94b\xc8.\x1c\x09\xe1Q\x88P\xf3\xda\xe5\x83\xc0\x87\xc3\x19\x8f,P\x5cV|\x90\xbb\x99\xb5\xfdY\xaa}\xf5\xf0c\x0e\x801\x1eV\xdd\x0a\x5cu\x8c\xcb\xb5h\x88<1\x94\xec\x1bq3\x107\x1b\xf9\xa6\xdaO\xe9ry\xf5aY\x90\xb4Z-\xb4Z\xad\xcc&pq\x93h6\x9bp\x1c'\xbay\xa6\xbdq&\x15\x96\x93o\x96\xf2\xcf\x8a\x8a8\xbfz\xbd\x8eZ\xad\x86z\xbd\x0e\xc7q\xba\x0e\xf0]\xe9g\xf1\xb1\x14\x17(Ik\xf9\x08\xf7\xdf\xd4\xd4\x14fgga\x9a&8\xe7\x98\x9b\x9b\xc3\xff\xfe\xef\xff\xe2\x07?\xf8\x01>\xff\xf9\xcf\xe3\xb9\xe7\x9e\x83eY\xfd\x9c\xfa26o\xde\x8c\xdd\xbbw\xe3\xe8\xd1\xa3\x910\x91\x05Z\xe6\x16\xb3\x01-q\xc3\x10\xf6\x0b\x17\x85\xb6D\x1f\x8dh,\xc7v\xcb\x18\xebj\xcd\x96\x22\x88\xfe\xc1\xc0\xc3\xff3\xa9\xbf\xfd\xc8\xb9\xd3\xf6{\x82\x81\x98\xa7\x96\xc7\xd9\x05YV\x22\xbbji\x0c\x16m\x99\xc9\xb506\x07\x1eS\x12\xbf\x80\xf1'\xbf~\xaa\x0d\x8a\x1b\x8chK\x88\x91,,\x192\xc2\xa4\xdej\xb5\xa2\x1b\xa7l\xd9HK'q\xd2\x0dy\x1f\x9cB\x9c6\x9bM\xd8\xb6\x1d\xbd\x8ak\x9b\xa5\xa5$\xe93Y\x9c\xc8\xe5\xdf\xc5\x1a5\x86a\xc04MLNNb\xe3\xc6\x8dh4\x1ax\xed\xb5\xd7\xf0\xf2\xcb/\xe3K_\xfa\x12\x1e~\xf8\xe1\xd4\xc7\x96\xc4\x93O>\x89\xfd\xfb\xf7G1.b\x9c\xb5Z-h\x9a6\xfcL\x9c^\x09]%K\xff\xe4m\x22E\x85\x0a\xb5J^\xb7\x11\xd0\xff\xdc!\xc4I\xec3Hz\x8f\xb5}<X\xa2\xf1%\x82\x9b\xa3<,\xea\xf3\x1c2\x94\x05\xf9\xe2\xae\x1c\xf93y\xb2\xed\xf5\xcb\x22?\xe9\xc6S*\xb3\xf4\xc5\xcbm\xcb)\x9c\xfd<\xcd\x8b\x9f\xe7!\x88q\x90\x08w\x85\xb0B\xb5Z\xad\x81\xa4B'\xb9s\xe4\xf7rl\x93,Nl\xdb\x86m\xdb\xb0,\x0b\xdb\xb7o\x87\xa6i\xf8\xcew\xbe\x83\xfd\xfb\xf7\xe3\xef\xff\xfe\xef3\x8b7\xd14\x0d\x0f?\xfc0^z\xe9%X\x96\x15]\x0f\xd34\xa3\x98\xac<\x8d\x11Q\x054z\x9f3\xf2v\xbdUad]\xcdy\x82\xbb\xae\x98\x14}l\x0em\x95`\xf9\x22\xca7b\xf9\xf3\xb4\x81\xa3r\xac@\xbc\xbeCV\xc4\xdb\xcf*3\xa6_k@^\x07g<\x13Kl\xb2\x00\xccr?\x82N\x16\x94\xf8\xba3\xc2\x9dc\x18F\x14 \xeb8\x0e\xaa\xd5*v\xed\xda\x85\x8b\x17/\xe2\x9f\xfe\xe9\x9f\xf0\xe5/\x7f\x19\xe3\xe3\xe3\x99\x1c\xeb\xc7>\xf61\xfc\xf0\x87?\xc4\xe6\xcd\x9b#\xeb\x91\xb0\x94h\x9a\xd6\xc5we\x98\x8f\xa7D\x9e\xc9\xf3\xdcA\x14\x9b\x91$q'\x05\x18\xf6\xd3VR\x9bY?i\xc7\xf7\x91\xe59\xacEdK\x99,\xf6\xe4\x9a\x1dYl\xf1\x80\xd6\xb85MN\xc7\x96\xdd\x7fB\x88\xd8\xb6\x8dF\xa3\x11\xc5\xbe,,,`~~\x1e\x96eazz\x1a_\xfb\xda\xd7`\xdb\xd9T}H\xdf\x88\x00\x00 \x00IDAT\xb3d\x8c\xe1\xe9\xa7\x9f\xc6\xd5\xabWQ.\x97Q*\x95\x22\x8b\x8d\x10L\xdd\x8d\xb75\xf0\xb8H\x10+A_\x81\xdc\x92\xfb\xca2\xc36\x0d\xc7\x03s\xf3h\x9a\xee\x85A\x9d_'\xf1\x98$,\xfb\xdd\x92\x84H\xdc\xcd'\xff\x9e\xb0\xda\x08\x91\x22\x8b\x13Y\x98\xd8\xb6\x8d\x8d\x1b7\xe2?\xfe\xe3?2\xb3\xec<\xf2\xc8#\xa8\xd5j\x91(1M\xb3-e>\xcb\xfe`4s\xaf\x08}\xb7\x09U)r\xdf\xe5^\x94\x0c\x13\x15\x07\x82\x8a\xc7\xd4\x0dIB\xa4\x1fW^V\xc7\x12O\xcb\x16\x02\xc5q\x9c(\xbe\xa4\xd1h`qq\x11\x0b\x0b\x0b\xa8\xd5j`\x8c\xe1\xf9\xe7\x9f\xcf\xe4X4M\xc3\xa3\x8f>\x8a\xb9\xb9\xb9DK\xc9\xcab\x98\xacv\x04!\xc8\xe7\xccH\x90(!F\x82jn\xaf\xb8\x85F\xbc\xca\xee$Y\x9c\xd4\xeb\xf56a277\x87\xfd\xfb\xf7gr,\x0f=\xf4\x10\xde{\xef\xbd\xc8R\x22\xe2[z\xb3\x96t;%\x0fv\xea\xce\xfb\x8d!\xaf\xa2\x9f\xc8\x00\xc5\xbb\xbe\xa8csh\x81\xae\xc4\xe0\xa0\xa0\xb5\xec\x89\x07Q\xc7+\xf8\xca\xc1\xb1\xc2\x9aq\xe8\xd0!l\xdf\xbe\xbd\xef:&\x9b7o\xc6\xfa\xf5\xeb\xb1\xb8\xb8\x08\xd34\xdb*\x1f\x13D\x96\xd0\xdcA\xa8\x06\xcdr\xc4H\xc8\xcbD\x18w\xed\xc8\xee\x1c\xc7q\xa2 \xd8z\xbd\x8e\xcb\x97/c\xdf\xbe}\x99\xec\xf7\xa1\x87\x1e\xc2\x95+W\x22\x17\x8e\xae\xebm\x19BD\x17H\xd5\xa2\xbb\xd9:7S\xec\xeb\xdd\xe9zD\xb1L\xb1\xca\xdb\xcb\xaf\x9b\xc2\xd7G\xe1C\xcb\x82\xa5\xeb\x9f\xb4\xe5\x13\x12%\xc4H\x90k\xb4\xa8N<\xd6E\xce\xd6\x91\x83`\x1b\x8d\x06\x8e\x1d;\x96\xc9\xf2\x06\x0f=\xf4\x10.^\xbc\x18Ya\x92\xdc7y\xb9~\xc3&\xbaab\xf9\x0d7\x1e4\x1c\xff\x99\xec*\xeb\xf4{E\x22~]\x92\x5c\x85\xda\xaa\xd7\x06\x85\xbc6\xea\x13\x88\x8f\xce\x82Q\x0bWP\xce\x97H!\xf7MA\xc8\x9b\x196O\xc7\x0a,\x89(9\xceD\xd4\x10\x11\xc2\xa4^\xafc~~\x1eg\xce\x9c\xc1-\xb7\xdc\xd2\xd7\xfe\xb6m\xdb\x86\xf1\xf1q4\x1a\x8dH\x94\x08k\x09\x90\xbf\xfe\x1e\x16\xf2\xf5I\xaa\xe0\x9b\xf49\xd09\xf0Zlr-\xa4\x22\x5c\xfb\xf8\xb5\xe8Vt-\xcb\x8c\x03\x00?(\xe9>\xb2k\xc3\xd8\x1a\x8a\xf1\x8e\xad\xc2\xcc\xe2\x9f\x05\xc8\xcb)\x88_\xe1K?\x18\xe8\x11\xf6\x0b\x89\x12b$\xe4\xc9R\x22\x88\x0b\x13Y\x9c\x08w\x8em\xdb8x\xf0`\xdf\xa2\x04\x00\xb6o\xdf\x8es\xe7\xcea\xdd\xbaum\xee\x9bU\x8e\x12yz*\xca\x92$A\x22?\xd5'Y>d\xe2\x01\xce\xf1\xd7xe\xdd\xbc\x0a\x13y\x1c\xc5Wi\xef4\xc6:]\x1b\xdf\xf7\xa3%g\xc4\xcf\x8b \xda\xd4A,2\x84%\xf1%\xac\x1fL\x0bVm\x06\xb0\xf4\xbd\x0f\xfe\xa5\x89w\xe1\xa2\x84K\xf3-W^\x9c\x90()\x10y\x9a\x0c\xf2r\x9c\x9d\x10\x93\xb2\x1cc\x22,&g\xcf\x9e\xc5\xf5\xeb\xd7155\xd5\xd7>n\xbf\xfdv\xec\xdf\xbf\x1f\x1b7nL\xbc\xa9\x0e\xa2rq\xde\x91\xc5\x86\xecn\x88\xbfv\xb2\x0a\xc87\xddx\x11>!B\xe3\xbf\x9f\x07\xc4\xdc \x8f#q}\xe4k#\xbbrd\xe2\xf5~\x92\xae\xcdH\x05I!u\xb8X\xf8P\x08\x0f\x06\x841>\xc1\x0f\xb4\xa5\xb8)\xbet\x018\xa4\xc5\x08}\x1f\x9c\xfbK\xef\x11J\x17\x16\xbeSp\xfc\x92(!FN\xde\xc4T\xdcZ\x12\x0f~m6\x9b8v\xec\x18\xee\xbf\xff\xfe\xbe\xf6\xb5}\xfb\xf6\xa8\x0e\x8a\xc8\xc0\x01\xda-\x02Y^\xb7<\xcf\xeb\xf18\x1by\x99\x00]\xd7\xdb\x02\x86\xe5\xb8\x08\x99\xf8\xd2\x07r\xec\x90x\x05\x10\x09\x93\xbcY\x05d\xc1!\xb2\xc6Dv\x97xM\xba6rq\xc1\xf85\x91\xaf\x0b\xd0\xbe\xd0j^\xae\x8b\x920\x11/\x22\x8c#\x1a\xa0\xe9\xa1\x85D\x07\xd3\xf4\xe0\xe7\x9a\x0e@k[\xf4\x87\xf1\xd0\x9d\xe6{\x00\xf3\x01\xee\x01\xdc\x07\x87\x0b\xc6\x01\xce=\x80\x0bq\x02\xe5\x84\x09\x89\x12b$\xe4y\xc2\x92]Oq\x8b\x89p\xe5\x1c=z\x14\xf7\xde{/t]O\xbd\x9f\x1d;v\x80s\x0e\xc7q\xdan&\x00\x05\xb9&!\x0b\x13Y\x94\x88\xea\xb8\xa5R\x09\xe5r\xb9M\xac\xc8\x7f\x97t\xe3\x95\xd7=\x02\x00\xd7u\x01\x04\xc2$/7\xde\xb8[K\xd34\x98\xa6\x09\xd34\xa3k\x22^e\xe1&#\xae\x89\xb8.\xb6m\xc3q\x9c\xe8\x1a\xb8\xae\xbb\xec{A\xa4E\x16$\x22`5\x14\x22\x9a\x01\xc6\xc2WM\x03\xd3\x8c\xd0Z\xb2\xd4_\x9c\xfb\x81\x08\xf1=\x80\xbb\xe0\xbe\x07\xee\xb9A\xbb\xa1 Y\xb2\xa00\xe5\x84\x09\x89\x92\x82\x91\x97\x89\x12\xc8\xff\x8d5\x1e[\x22O\xdab\xad\x9c~\x5c8\xb3\xb3\xb3\xa8V\xab\xa8\xd7\xeb(\x95Jm\xa6\xf7x\x1d\x95d\x96|\xcck\x09q\x8d\x0c\xc3@\xa9T\x82eY\xa8T*\xb0,\x0b\x96e\xb5\x15\xa5\x93S\xace\xcb\x97\x10#\xcdf\xb3\xcdJ\xd5i\xdd\xab<|\xe7\x84X\x13\x96\x11q]\x92\xae\x8d|]\x84\xe8p]7rQ\x0awO\xdc\xad3J\xb7b\xbeg\x13\x01\x93\x92e\x02\xb1\x11\x88\x10\x1d\xd0\x0d0\xcd\x04\xd3Mh\xe1k`=\xd1\xc1\x98\x06\xa6\x9b\xf0\xfd\x16\x98\xcf\xc1\xb9\x07\xc6]\xc0s\xc1\xbd\x16|\xcd\x01\x5c\x0d\xf0]\x80\x07\xc2\x1a>\x96\x84\x09\x00U\xe6\x8aB\x8a\x92\xbc\xdf\xec\xd6\x02\x9d\xd6\xbe\xc9\x0b\xf1\xe3\x97\x83^\x85i{qq\xb1\xef\xb8\x92\x89\x89\x09\xd4\xebuX\x96\xd51\xb3$\xe1\xe8\x90~\x8a\xce\xf7wGN\xed\x15\xa2\xe4\xb9\xe7\x9e\xc3\xae]\xbbV\x0dt\x15\xc8\xa2\xe3\xddw\xdf\xc5\xf3\xcf?\xdf\xe6\xb2\x13\xbf#\xbfW\x1d\xd9\xd2&,$\x95J\x05ccc\xf8\xd0\x87>\x84\xa7\x9ez*1+\x09X^\xedX\x08\x90W_}\x15{\xf6\xec\x81\xeb\xba\xd0u=\xb2\x1e\xe5\xe9\xc1H-\x96\xb2i\x84\xcb\x861\x1d\xd0\xf5@\x8c\x18e0\xcd\x84fZ`\x9a\x09cr3\xf4\xcazh\xd6$\xf4\xf2\x044\xd3\x02\xf7Z\xf0\x9a\xf3\xf0\xecyx\xf5kh\xcd\x9f\x01\xbc&4W\x07g:\xb8\xd7\x02\x5c\x06\xae\x85\xbb\x0a\x85\x89\xe4\xcb\x19\xe1\xf9\x07\x14R\x94\xacu\xf20)\x14%H3i\xe1?\x11\x00X\xab\xd5\xfan\x7fll\x0csss\x98\x9d\x9d\x05\xd0.HT\xed\xe7QMm\xf2u\x11\xc2\xc44M\x1c=z\x14\x0f>\xf8`\xaa6\xef\xbe\xfbn\xfc\xe67\xbfi\xebW\xf1^\xd34\xe5\xdd8\xb2\xb8\x10BM\xb8\xb4\x84(\xb9\xff\xfe\xfb166\xd6s\xdb'N\x9c\x80i\x9a\x91\x1bG\xe5\xeb\x90\x17\x84\xd5\x82A\x97\x04I\x09\xcc(A3\xac@\x90\x94'Q\xd9|7\x8c\xf1\x0d\xcb\x1b\xd0M\xe8\xd5\xf5\xd0\xab\xeb\x81u\xb7\xa2loG\xe3\xdc;\xf0\xeaW\xe1\xb7\x828\x14\xce9\x98\x17j\x10\x0d\x80\xcf\x83X\x13\xc6U\xd0$T<\x8d\x18\x1dE\xb0h\xc9\xf5+\xc4\xcdJ\xbcf!J\xaa\xd5j\x14\xcf\x90]\x81\xaaU\xda\xc8\x7f\xb7\x00X\xba^'N\x9c\xc0\xf5\xeb\xd7S\xb5\xa1\xeb:&''\xd1h4P\xadV\xdb\xe2.\xe2\x02QU\xe4\x00W\x11\xf4+D\xc9\xfa\xf5\xeb\xb1m\xdb\xb6\x9e\xdb<q\xe2\x04^z\xe9%\x1c?~<\x8a\xb3\x91\xaf\x07\x89\x93\x14\x04\xd5\xfe\xc2\x18\x12\x0d\xd0\xb4 v\xc40\xa1\x99\x15h\xa5*J\xb3;0~\xdb#\xc9\x82\x04\xcb\xbf\xba\x9a5\x85\xb1m\x0f\xa2\xbc\xf1\x03\xd0\xcc*4\xd3\x82f\x94\x01\xcd\x00\x98\x11\xed/\x10Bj\x14Y#QRPT\x9e$\x81\xe2LZI\x85\xb6\x84\xc5$+K\x89\xeb\xbamO\xa2q\xd3:\x11\x90t-\xc4u\xebg\xb1\xc4\xbf\xfc\xcb\xbf\xc4\xb9s\xe7`YV\x14\x14*g\xaa\xa8\x8e,J\xe2\xf1$w\xdduW\xaa`\xec\x97^z\x09\x8dF\x03\x9c\xf3(\xde\x89\xe8\x07\x16XIx\xe8\xb6\xd1\x82\x18\x11M/A\xd3\xcb\xd0L\x0b\xe5\x0dw\xc0\xda\xb4;\xcc\xb8\xe9\x01MGy\xc3NX7\xdc\x05fTB\xab\x8b\x09\xa6\x87\xd6\x980\x98\x96s\xae\x82&\xc9\xb7(\xa1/B~I\xba\x81\xc4\x17\xbc\xcb\x13I>\xf7,E\x09\x80\x8e\xc2$\x15\x03\xbe\xbc\xa3\xec\xbd\xf8\xd8\xe2\x9c\xe3\xe0\xc1\x83\xa9]\x86[\xb6l\xc1\xd6\xad[\xc19G\xb9\x5cn[\xb99^?F%\xe21\x22IA\xae;v\xec\xe8\xb9]\xce9^y\xe5\x15\x00\xc0\xd4\xd4T{!5\x12\xc9\xe9\x88\xac$\x0c\x1cA\xda/\x98\x01\xa6\x97\xc0L\x0bZe=\xca\xb3\xdd\xf5U\xa7QX\x9a\xbe\x05\x9a5\x0d\xa6\x97\x01\xcd\x0c,%\xd0\x83\xba'\xa2 \x9b\x02\xe4Z\x94\x10\x83e\xd0\x93\xacj\x93x\xbf\xc4'\xe4,D\x89\x08\x9a\x1d:9\xed\x9aN\xf1=\x0b\x0b\x0b8u\xeaT\xeav?\xf3\x99\xcf\xe0\xfc\xf9\xf3\x91(I\xca\xdeQ\x91\xb8\xeb\xc64M\x94\xcbe\x94\xcbe\xcc\xce\xceb\xd3\xa6M=\xb7\xb9\x7f\xff~\x5c\xb8p\x01@\x10\x88-\x07\xfc\xe65p]\x05xX\xad\x95iZ\x98ic\x80\xe9&\x98^F\xf5\xc6{\x03\x97N?0\x86\xca\x0d\xf7\x04\xd6\x18\xa3\x0c\xa6\x1b\xa1 \x09\x8a\xb11\xb9b\xec\x08!Q\xb2\x0a*O8\xab\xa1\xf2\xb1\xcb)\xad\x9dP\xf9\xf8\x93\x88\x1fo\xa9T\xea\xbb\xcdz\xbd\x0e \x10'y\x9b\xf0\x87\xd9{\xf1\x0c\x11!F\xe44\xed\x83\x07\x0f\xa6n\xff\xa3\x1f\xfdh\x94\x9a-\x84\x89H\x15^-\x9bg\x14\xc8\xc7\x22/\xa6'2o,\xcb\xc2\x1dw\xdc\x91\xaa\xed\x97_~\x19\x8c1X\x96\x05\xd34\x0bi!\x19nW\x06\xae\x1bQ\xbd5\xc8\xba\x09\x0a\xa31\xddDy\xfdvh\xa5\xf1L\xf6\xa4W\xa6`L\xdd\x08\xb0\xb0\xc6\x89(\xbe\x16\x1e\x87\x0a\x0f#$J\x88\x91P\xbcI\xac=\xf3C\xd34LLL\xf4\xdd\xae\x10%@\xbb\x8bh((0A\xa5A<\xb9\x0ba\x22\xd2\xb4O\x9e<\x89\x85\x85\x85Tm\xea\xba\x8eO~\xf2\x93\xb8v\xed\xda2\x17\x8e\x5c;F5a\x22\xaf\xfb#\x5c7\xc2Rr\xdbm\xb7\xf5\xdc\xa6\xe7y\xf8\xd5\xaf~\x05\x00\x98\x9e\x9eF\xab\xd5\x8a,Ry\x13\xcd\xca\xc0\x96^\x82\xe2\xf0L*\x90f\x04\x994\xe9\x9aL\xc4\x9c\xdc\x02g\xfeB L\xc2\x98\x12\xb0\xa5R\xf6+e\x14\xba\xae;\xf0\xccIJ\x09.8*\xa7\xe9\xa94\x81\xa7%^\xf7B\xbe\x11\x8c\x8f\xf7\xfft\xb3\xb8\xb8\x18\xc5\x03\xc4\xad\x01\xc4r\x840\x90'\xd1V\xab\x15\x15B;r\xe4H\xea\xf2\xffO=\xf5\x14~\xfe\xf3\x9fc\xf7\xee\xdd\xcb\xca\xd6\xab\x18S\x11w\xdd\x08QR*\x95\xb0i\xd3&LOO\xf7\xdc\xe6\x9bo\xbe\x89\xf9\xf9y\x00\x81\xeb\xa6\xd9l.\x13$*]\x83\xdc *\xa6E\xd90\x1a\xb4\xb0\x92\xabV\x9e\x00\xe7\xa15\x10\xc2*(\xff{\xf9\xcf\xb0\xc2\xef\xf9\x98\xc6\xe9\xe3\x07Q\x9d\xbd\x05\xf0]xN\x1d~\xab\x19\x14Y\xf3\xdd`\x11\xbf\x15X\xbf\xbew\x91\xd4\x0b$J\x88\x91\xd0\xed\xc4\xa5\xba\xa8\x127A\xf9\x06 DDV\xa2\xc40\x8c\xe8\x86\x97\xf5\xe4?pY\xc8\x86\xb7\xe8W<\xd88I\x94\x1c<x0u\xf9\xff\xd9\xd9Yl\xdf\xbe\x1d\xadV+*[\xef8N\x94\x1d\xa5i\x9a\x12\x05\xd5dWR\xbc\x90\x9cp?\xed\xdc\xb93U\xdb/\xbf\xfc2\x80 \x00[\xd4i\x91\x05\x99\xaa\xdf\xd5a\x12\xb72\xc8\xd7'\xfe^\x08\x06@\x0ap\xd5\xcb`\x86\x05fV\xa1\x8fk\x98\x98\xf7\x00,fx\x84:P^\x07\xbbv\x1dF\xa9\x02\xees\xf8\x5c\x1dAM\xa2\x84\x18\x09*L\xde\xfd\x10\xafO\x11\xaf$\x9a\x85(\xf1<\x0f\xf3\xf3\xf3\xcbD\xc9PY\xb5\x12\x9az\xd6.Y\xbc\x09\xf7\x8d(\x1b???\x8f\xd3\xa7O\xe3\x96[nI\xd5\xf6\xd3O?\x8do\x7f\xfb\xdb\xb8\xf1\xc6\x1b#k\x89\x10\xa3*\x15\x04\x94-wq+I\xb9\x5cNu\xfe\xcdf\x13\xaf\xbf\xfe:\x80 \xeb\xa6\xd5jE\x16\xa9\x22\x09\x92\xa0\xac\xbe\x07\xce\x5cx\x8e\x03\xafi\xc3\xf3Z\xf0\xbd\x16\xb8\xefu\x14\x1a\xa9\xbf\xa3Rm\x12\xa6\x99`\x5c\x87\xc6|h\x06`\x98\xbd\x17\xb5\xeb\x06s|\x03\x9ck'\xa0\x97*\xc1\x83UTj\x1e\x18\xf5\xf2\x14$J\xd6\x00*[\x1b\xbaA\xe5\xe3OZyU\xdc\x00\xfa\x15%\xa7N\x9d\x82\xeb\xba(\x97\xcb\xcb\xdc\x03r\xa0p\xe7k\xa3\xc65\x1bf\xff\xc9q\x1d\xf1@\xd7f\xb3\x89F\xa3\x81\x03\x07\x0e\xa4\x16%\xf7\xdf\x7f?\xbe\xf5\xadoE7\xf8R\xa9\x14eH\xc5\x83]G5fe+I\xdcRR.\x97q\xf3\xcd7\xa7\xaa\xe0\xfa\xfa\xeb\xaf\xc3\xb6m\x00\x81\xa5\xc4\xb6\xed\xc8R\xa2Z\xe6\x0d\xe7\x1c\xae\xe7\x83\xb5\x5c4[.|\xce\xe0\x87\xee\x0c\xdf\x0f-\x19\x1c\xe1g<x\xf5\x81\xc6\x95\xeb8\xfb\xfe\xfb(Oy0\xcb\x15\xf8\xad\x06x\xcb\x06\xf7\xddh\xb5\xdd\x01\x1fy\xf4\xca9\x87\xdf\x9c\x1f\xc8^\x9c\xf9s\xf0\x9c:\x80u\xc1\xde\x14\xe97\x80D\x09\xd1%Y\xc7\x7f\xc8_\x02\x95\xbe\x10\xdd\x90\x14\xd4*\x97\xf0\x16e\xbc'''\xfb\xda\xcf\xbb\xef\xbe\x0b\x00Q\x86C\x92ui(\xd7N\x8d%1\xbaF6\x9f\x07O\xbd\xed+\xfe\x9e>}\x1asss\xa9b*4M\xc3\xe3\x8f?\x8e7\xdf|\x13\xe3\xe3\xe3m\x01\xaf\xb2+cT$e\xdd\x08\x91,\x82\x5c\xd3\xd4&\x01\x10\xd5&\x11\x01\xdc\xc3\xb6\x92\xc4+&G\xaf\x9c\xc3\xf3|p0\xf8\xd0\xc15\x130\xaa\xd0\xcb\x13\xd0+-Ln\xb0\xfbO\xa7\x1d\x06a\x95w\xc6\x83\x15|5\xf8\xf0[6|\xa7\x0e\xadT\xcdl7\xbeSG\xabv1\xfc\x87\x1f\xbaW\xc3-z?:H\x94\xac\x11T\xb66t\x83j\xc7\x9f\xe4\xb3\x97\x97\x83\xbf\xf5\xd6[a\x9af_\xfb8v\xec\x18\x00\xc0\xb2\xac\xe5~h\x85\x9eJU$)\xe0U\x88\x12\xdb\xb6q\xe4\xc8\x11|\xf8\xc3\x1fN\xd5\xf6\x13O<\x81\x1f\xfd\xe8G\xb8\xfb\xee\xbb#\x17\x8ea\x18\xcb\xe2+FE<\xe8Z\xb6\x92T*\x95Te\xe5\x17\x16\x16\xf0\x87?\xfc\x01\xc0\x92\xebFdb\xf43\x1eeq\x91(8\xa4\xd7\x8e\xed\x87A\xa2Q]\x0f\xc3\xc8_Z)\xe7\x08\x16\xa0\xe1\xa1;\x85\x83\xfb\x1e\xc0]x\xf6\xb5LEI\xf3\xda\x09\x00\x80f\x94\x00\x04\x02H\xa5\xb9\x84D\x091\x12TK\x9f\xec\x96\xf8\x93\xa8\xec\xb6\x11\x13\xbfeY\xa9\x9fFe\x84()\x97\xcb=\xa6\xe2\xa5\xb9\xae]\xac\x87\xd3\xc7\xbc5l\x17\x8ex\x95Wo\x16\xa2\xa4\xd9l\xe2\xd0\xa1C\xb8\xef\xbe\xfb`\x18\xbdO\x81\xd3\xd3\xd3\xd8\xb5k\x17\x1c\xc7\x89D\xa8\xe38m\xe9\xb7\xa3\x8a\x99\x8a\xbbn\x84`\x12\xae\xa6\xdbn\xbb-U\xfd\x9c_\xfd\xeaW\xd1\xe2\x83\xd5j\x15\xf5z\xbd-\x96BF\x08\x8cn\x04\x07\x81hQo\x0e\x0e-\xb4\xf7p\xdf\x0b6\xcfEk\xe1\x1c\xcc\xc9\x1b3\xdb]\xfd\xfc\x01\x00\x08\xd6\xc0\xe1>\xc0\xfd \x1e\xdd\xe7}\xad/\x9e\x15$J\xd6\x10*Y\x1b\x92J\x81\xab\x8e\xec\xb6\x11\x01\x84\xa2 \x950\x8d[\x96\x85\xd9\xd9Yl\xd8\x90\xbc`V\xb7x\x9e\x87\xe3\xc7\x8f\x03\x08\x8a\xb05\x9b\xcd\xe8&KtG\xbc\xde\x82\x88+\xb1m\x1b\xf3\xf3\xf38y\xf2$\xb6o\xdf\x9e\xaa\xed\xcf|\xe63\xf8\xb7\x7f\xfb7l\xdd\xba\x15\xb6mG\xab\xe5\x8e2\xe05.\x98E\xc0\xb5\x5c0-\xed\xf9\xbe\xf2\xca+\xe0\x9cGi\xc0\xb5Z\x0d\xb5Z\x0d\xb6m\xc3q\x9c(\x0b\xc9\xf3\xbc\xacNg\x0d\x11f\xe0\x84)\xbb\xf0}0\xdf\x03\xfc\x16\xb8\xe7\xc0\xb9|\x0c\xa5\xa9\xad0\xc67\xf6\xbd'\xfb\xcaq\xcc\x1f\xff\x0d\x00@\xd3M\xf8\x9e\x1bZg\xfc\xa5\xdai#\x9e\x8asg\xe5\x1a5y|\xbaW\x914\x22D\x85k/\x0b\x12\xd9BbYV\xb4\xddy\xe7\x9d}\xef\xe7\xed\xb7\xdfF\xa3\xd1\x88\xdcCq3v\x1eD\x5c\x9ca\xf6\x9f|}\x92\x02^m\xdb\xc6\x81\x03\x07R\xb7\x7f\xef\xbd\xf7\x02@\xd4\xffB\x98\xc6+\xbc\x0e{\xcc\xc6\x03\xaf\xe5\x80\xdc\xb1\xb11\xdcx\xe3\xcaO\xdcI\x85\xb3\xce\x9d;\x87\x17^x\x01\xa7N\x9dB\xa3\xd1\xc0\xb9s\xe7p\xf1\xe2E\x5c\xbdz\x15\xf3\xf3\xf3X\x5c\x5c\x8c\xea\x95\x10\xe9\x09\xca\xbc\x87\xee\x14\xdf\x0d6\xcf\x81\xdf\xb2Q?\xfd\x06|\xa7\xbez#+\xe0\xbbM\x5c\xfa\xe3\xf7\xa2`]M7\x82\xe0]\xf8K\xb1%|\xe4\x9a\x84D\x091\x1a:\xddTU\xbd\xd9v\xaa\xfd \xaacV*\x15T*\x15\x8c\x8f\x8f\xe3\xd6[o\xed{\x7f\xaf\xbd\xf6\x1a\x00\xa0Z\xadF7\xd4\xb8\xef~\xe8\x22m\xf4\x9a\xb0'\xe2\x01\xafrl\x89\xe388s\xe6\x0c\xae^\xbd\x9a\xba\xfd'\x9ex\x02\x97.]B\xb9\x5c\x8e\xdc$B\xacj\x9a\xa6\x94\xeb\xc64M\xdcv\xdbmQ\x11>\xd9\xf5\x12w\xb7\xc4\xd3[\x7f\xf2\x93\x9f\xa0\xd5j\xc10\x0cT\xab\xd5(\x15\x98,w\x19\x12V7\x0b\xc6\x8c\x0f\xf0\xc0u\xe3\xbbMp\xb7\x09\xb7~\x0d\xf5\xf7\xff\x18X4R\xee\xe0\xca\xdb\xff\x0dw\xf1\x0a\x00\xc0\xacLB\xd3X\xe4&\x0a~E\x0ev\x1d\x1d$J\xd6\x18*X\x1b\x80\xa5\x98\x92^'\xeeQ\x1c\x7f<p0^\x8cJ\x08\x92J\xa5\x82\xdd\xbbw\xa3\x5c.\xf7\xb5?\xdf\xf7\xf1\xbb\xdf\xfd\x0e\x000>>\x1e\xc5\x93\x14a\xe1\xb3a\xf7\x9f\xb8F\xf1\x0a\xaf\xb6m\xc3\xb6m\x1c>|8u\xdb\x7f\xf5W\x7f\x15-\xd2'\x07\xbc\x0e{\xd5`\x91a\xd4h4P\xab\xd5\xb0\xb0\xb0\x80\xeb\xd7\xafcnn\x0esss\xb8~\xfd:\xea\xf5:\xb6m\xdb\xb6Lpt3\x86~\xfc\xe3\x1f\x03\x00fff\x22\x81,\xc7\x84\xe4q\x1c\xaa\x07\x07\x07\x0fbv\xfd0\xa6\xc4\x0b\xdc7\xbek\x83\xbb\x0d\xb4\xe6Nan\xdf\xff\xa09w\xba\xa7\x96[\xb5\xcb8\xf7\xab\x7fE\xed\xe4\x1b\x00\x82\x00W\xd3\xaa\x82{\x22\xcd9\x14#\xa2\xdc\xfd\x88\xef\x11\x14SB\x10\x1d\x88\xc7\x900\xc6\xda\x9e>\xc5\xf2\xef\xd5j\x15\xd5j\x15\xdb\xb6m\xc3\x07?\xf8\xc1\xbe\xf7{\xf0\xe0A\x5c\xbbv\x0d@ J\x84i|\xd4\xe9\xa6\x00r\x95\x1e\xbcR\xc0\xab\x08z=t\xe8\x10\xee\xbf\xff\xfeT\xc1\x9f\x13\x13\x13\xb8\xf7\xde{Q\xab\xd5P.\x97\xa3 Z\x91\x1e,*\x9ef\x11\xcb\xe5\xfb~$\x08dW\x94\x10\x08\xb2`\x16cSXp\xca\xe52\xd6\xad[\xb7\xaa\xeb&\x89\xe3\xc7\x8fG\x0b\x19\x8a\xb5n\xa8\x8a\xeb\x80\x08\x03K88\x18g\xe0\xdc\x05\xbc`\xde\xe1\x08j\xaa0\xee\xe3\xca\x9b\xdf\x83\xb5i7f>\xf0$\x98\xbeB\x86\x1f\xe7\xb8\xfe\xee\xab\xb8\xb6\xff\xc7\xe0^+\xf8\x8c1\x98\xd5\xe9H\x900\xce\xc1\xb1\x94\x16L\x81\xae\xc4HP!\xe05i\xff\xa3V\xe8\x82\xb8\x18\x01\xb0\xcc\x1c.\x5c6ccc\x18\x1f\x1f\xc7\xec\xec,>\xfe\xf1\x8fC\xd3\xfa7>\x8a\x05\xcf*\x95\x0a\x00\xb4\xa5^\x02\xab=\x99\x8ak8\xa2\xc2]#\xdbsg\xe21\x12r&\xce\xe2\xe2\x22N\x9c8\x91\xba\xec\xfag>\xf3\x19|\xedk_\xc3-\xb7\xdc\x12\xb9IZ\xadV\x14\x07\xd4\xcbwM\x08\x0f!6d\xf1\xb1\x9a\x18\x8d\xbb\x16\xe3\xc1\xd7\xbbw\xefN\xf5\xfd\xfa\xc9O~\x02\x00\xd1\x98\xaf\xd5j\x94930\x84(`\xe0\xdc\x07\xf3\x19\x00\x17\xbe\x0b0\xce\xc3\xcdGyb#\x9c+\xef\xe2\xf4\x9e\xff\x07sr\x0bJ\xd37\xa1<u#\xcc\xc9\xcdp\xeb\xd7\xe0\xcc\x9dFs\xee}8s\xa7\xe15kQ\xeb\xbai\xc1\xacL\x04q+\xa2\x18\x1c\xc2~\x0c\xbf\xb8*\xcc\xc0$J\x88\x91\x90\x94\x12\xdc\xed\xe4\x9d\xa5\xa8\x8a\x1fCR\xf9x\x11' \x97\xe9\x16\xf1#\xe3\xe3\xe3\x98\x98\x98\xc0#\x8f<\x82j\xb5\xffZ\x02\xf3\xf3\xf3\xf8\xd9\xcf~\x06\x00\x98\x9c\x9cl{2\x8d\xc7\x93\x0cJX\x0eZX\x8c\xaa\xc2\xablm\x90k\x96\x1c8p \xb5(\xd9\xb5k\x17J\xa5Rd\xa1\x10\xc2\xb5S\x85\xd7x\xd0\xad,>\xd2\xde\xe8;-u \x8b\x92\xb4\xc1\xd7\xc2u\xb3n\xdd\xba\xb6\xe3\xcc\xb3\x0bQi8\xc0\x99\x088\xf5\x02\xa1\xe0\x8b\x90\x13\x0e\x8d\x07n\x1d\xb3T\x81\xb1\xeef\xd8\xf3\xe71\x7f\xf9\xd8\x8aM2\xa6\xc1\xacNC7K\x80\xef\x82\xfb\xad0\xa0\xd6\x0b\xbe\xeb\xdc\x0f_\xc3\x92/#\x86D\x091\x12\xe4\x9bk\xd2\xb6\x1aYZU\x92\x84IR\x16\x83i\x9a\x91\xcbfll\x0c\x13\x13\x13\x98\x9c\x9c\xc4\x03\x0f<\x80-[\xb6dr,\xcf?\xff<\x9a\xcd&\x80\xc0R\x22\x17\xa9R\xc6\x87\xaf\xa29d\x05\x92\x02^ek\xc9\xf9\xf3\xe7q\xe9\xd2\xa5\xd4i\xdcO>\xf9$^y\xe5\x15LOO\xa3T*\xa1^\xaf\xc3u]\xd4\xebu\xd8\xb6\x8df\xb3\x89V\xab\x85V\xab58!\x19\xab.,\x0b\xe8M\x9b6\xa5:\xb7}\xfb\xf6\xe1\xf4\xe9 ~!\xbe\xd6\x8d\x0aE\xe2\x8a\x09\x078\x0b\x0b\xa9\x01\xf0\xbd\xf0\x9f\x1c\xe0>|\xee\x03\xcc\x05\xf7Z`\x9a\x81\xf2\xf8,\xcc\xea\x0c|\xb7\x09\xbf\xd5\x84\xd7j\x80{.4\xb3\x04M/A\xd3u0\xa6\x07\x81\xb3n3\xacK\xe2\x05\x01\xb3\xa1\xcbF\xcc~*\x08\x12\x80D\xc9\x9ae\xd4.\x1c\xf1\x04\x1b\xaf\xf9\x11\x0f\xe6\xcc\x8a\xd5DL<\x98U~\xea\x8c\x9b\xc2\xc7\xc6\xc6066\x86\xc9\xc9I\xec\xda\xb5\x0bw\xdduW&\xc7X\xaf\xd7\xf1\x7f\xff\xf7\x7f\x00\x02+\x09c,EPa>n\x12\xc3\x1e\x7f\xf1\x0a\xaf\x9e\xe7\xb5YK\x0e\x1d:\xd4\xf3\x8d[\x1c\xff\xa3\x8f>\x8ao|\xe3\x1b\xb8\xe7\x9e{p\xf5\xeaU\xcc\xcd\xcd\xa1V\xab\xa1\xd1h,\xb3.dMRV\x98,H,\xcbJ=>\x85\x95\xc4\xb2,\x98\xa6\xd9\xb6\xd6\x8d\xd87\x89\x92A\xb0$Lx\x98\xa6\x0b\x8d\x03^P\xc3\x04\x9a\x16X<\x98\x16-\xe4\xa7i\x1at\xab\x0a\xa3\x5cY\x8a\x0f\x11A\xac~ki\xdd\x9eP\x8c\x04\xcf\x15j\xf6\x1d\x89\x12b$\x88\x9b\x84\x10#\xa2L\xb7\xfcD;(d\x81\x12\x7f\xdfiq=\x91e#\x04\xc9\xf8\xf88\xee\xbf\xff~\xdc}\xf7\xdd\x99Ym~\xfc\xe3\x1fcq1X\xa2|fffY)o\xf1:\x8c\x9bAW\x8b\x03\xab9\xa7-\xa3S\xc0\xab\x5c\xb3D\x94\x9dO\xca\x9c\x8a\xc7\xf2\xc4\xaf}\xb5Z\xc5\x03\x0f<\x80\x8b\x17/\xc2\xb2\xac\xb6\xd8\x12\x11\x84\x0a\x0c\xf6&\x1e_\x7fI\x16\xd1i\x5cS\x9e\xe7a\xcf\x9e=\x00\x80\xf5\xeb\xd7\xb7e\xdd\x0c\xe3;J\x08a\x820\x06\x84\x831\x1e\xbaZ\xb4\xc0\xb5\xc3\xb4%;\x07c\x80\x18_\x22\x9b\x06\x1c\xdc\xf7!\xd2|\x83\xbf]Z\xdbF\x11\xc3\xc82H\x94\xacaF\xfd\xa4\xc3\x18\x8b\xd2j\xc5d'*bf\x19H\xb7R\xdc\x88l\xb1\x89\x0b\x12y-\x9br\xb9\x1ce\xd9LOO\xe3\xc1\x07\x1fL\xb5\x86H'\xae_\xbf\x8e\xff\xfe\xef\xff\x06\x10d\xdch\x9a\x16e\xdd\xc4\xadFt3H\x87\xec\xc6\x89\x0b\x93Z\xad\x86\xa3G\x8fb\xf7\xee\xdd]\x06\x14\xb7\xf3\xec\xb3\xcf\xe2\x1f\xff\xf1\x1fq\xe7\x9dw\xa2\x5c.\xa3\xd1h\xb4Y\xff\x06y\x13\x97\xad{\xc2R\x22\x04\xc9\xd6\xad[155\xd5s\x9b\xbf\xff\xfd\xefq\xf9\xf2e\x00\x81\xebF\x8c\xc5\xbc\x17\xf0\xcb\x17K\xc2$\x88\xf9\xf0\x000\xc0\x0f\xc7'B+\x19cAi\x93p\x9a\x0b\x04\x0c\x96\x09\x94\xa0Z+\x8f\xdaV!\xd3&\x09\x12%\xc4\xc8`\x8cE\x93'\x00\xe8\xba\xde\x16\xf0\x97\xc5\xa4\x17\x0f\xa8MJ\xf3\x8d\xd7 \x11\x13\xbb\x5c\x1c\xad\x5c.cll\x0c\xb7\xdf~;\x1ex\xe0\x81\xe8\x98\xb3\xe2\x9b\xdf\xfc&\x16\x16\x16\x00\x04V\x12\xc7q\x96\x05\xb9\x0e\x9b\xae\xac%\xfd\xb4?\x82\x80W\x11\xe4Z\xaf\xd7Q\xab\xd50??\x1f\xd5\xf1\xf8\xdd\xef~\x87\x0f|\xe0\x03\xa9\xda\xdf\xb5k\x17&''\xa1iZd-\x11}\x98\x14\xf0\x9a\x05I\xd9ar\x05W\x91u\x93\x06\x91u#\x04\xb2l%!12L\xa4*\xaba4*G N\x18cAqV\x16f\xec\xf8\xed\x0f.Q\xe0*\x0f\xd3\x8c\xa5o\xb4\xcak\x8f\x91(!F\x82\xef\xfbQ\x85H\xce9\x0c\xc3h\x0b\xa4\x03\xb2\x9d\xbc\xe5\xf7I\xc2D\x16$\xf1\xa5\xde-\xcb\xc2\xb6m\xdbp\xe7\x9dwf\x16\xd0*\xf3\xdb\xdf\xfe\x16\xbf\xfe\xf5\xaf\x01,\xdd\x04\x1c\xc7Yv\x13\xc8\xdd\xcd x\x5c\x1b\xc9\xae\xe5`Va\x11q]\x17\x00\xa2\xc0e\x11\x1fd\x18\x06\x1a\x8d\x06\xce\x9f?\x8f3g\xce\xa4\xaa\xe7\x01\x00\xcf<\xf3\x0c\xfe\xeb\xbf\xfe\x0b\x1b7n\x8c\xea\x96\x88L\x1cQ\xb3$k\xe2\x01\xae\xf1\x1a:\xb7\xdf~{\xcfm6\x9bM\xbc\xf8\xe2\x8b\x00\x82\xac\x1bq\xfd\xc8B2Jde\x820{F\x12\xba\xe1\xe7K\x09\x04B\x90\xb4\xfd4\x12*\xaa\x0a\x12\x80D\xc9\x9agT.\x1c!D&''\xa1\xeb:*\x95J\xe2\x8d8\x0b\xc4\x170\x1e\x5c+\x07\xd9\xca\xf1-B\x90LOOc\xc7\x8e\x1d\xb8\xf5\xd6[3I\xf7M\xa2V\xab\xe1_\xff\xf5_\x01\x047\xcb\xf5\xeb\xd7G7\x81\xb5`*\xefw\xfc%\x89\x8fNu=D\x7f\x0bw\x8aH\xcbu\x1c\x07\xb6m\xa3\xd1h\xe0\xed\xb7\xdfN-J\x9ez\xea)|\xe3\x1b\xdf\xc0M7\xdd\x84r\xb9\x1cY\xdb\x06\xe5\xc2\x89\xbb\x1deKI\xb9\x5c\xc6\xed\xb7\xdf\x9ej\xdc\xbe\xfa\xea\xab\xa8\xd5\x82\xfa\x16\x13\x13\x13h4\x1aT0M\x19x\xbb\xf92t\xd3\xb0x\x9c\x88\xf4;r\xaa\xaf\xc2Z$\x82D\x091\x128\xe7\xd0u\x1dSSS(\x97\xcb\x91 \x89\x8b\x92,\x14\xbd<\x81\xca\x95YE@\xa2x?66\x86\xf5\xeb\xd7c\xdd\xbau\x98\x99\x99\x89\x8a\x97\x0d\x92o~\xf3\x9bQ\xf5\xd6\x0d\x1b6\x80s\x1e\xad\xb8\xaaB=\x88\xd5\x5c8\xc3\x9c\xe3D%V\xb1uSTLF\x1eSI\x85\xd4\x1a\x8d\x06\x0e\x1c8\x80G\x1ey\x04ccc=\x1f\x9feY\xf8\xd4\xa7>\x85S\xa7N\xb5\x95\x9e\x17n\xc9,\x03^\xe5\xefE\xa7\xda$\xbbv\xedJ\xd5\xb6p\xdd\x88X\x14\xe1\xba\x11\xdfMB\x15xW\x05\xcf\xf2 DdH\x94\x10=O\x92Y\x08\x85o}\xeb[\xd04\x0dcccCsO\xc8.\x1a\x15\xcc\x97\xdf\xfb\xde\xf7\xf0\xcb_\xfe\x12@\x90\xc1Q\xa9T\xa2\xa7R\xb9\x02i\xd1\x89\x8f?\xcey\x14\x80*\x0b\x90\xac\xc6\x87\x1c\xec*,-B\x94\xd4\xeb\xf5\xa8\xf4|\x1a\x9e{\xee9\xfc\xc3?\xfc\x03\xee\xba\xeb.\xd4\xeb\xf5H\xf4\xca\xb5f\xb2tK\xc6k\x93\x88\xf8\xa7\xb4\x0bC.,,\xe0\xd5W_\x05\x90\x9c\x016\x8c\xe2}\xc4\xda&3QB\x83\x94\xe8\x85\xd9\xd9\xd9Q\x1f\xc2H\xf9\xf9\xcf\x7f\x8e\xef\x7f\xff\xfb\x00\x02\xb14;;\x8bf\xb3\xb9,\xf5R\x05\x06\x99\xfd\xeb\xfb~\xdbZ4B\x80\x0c\x0a\xf9\x9a\xca.\x1c\xb1nM\xa3\xd1\xc0\xde\xbd{q\xdf}\xf7\xa5\x12\xae\xdb\xb7o\xc7\xa6M\x9b\x00 \xb2\x96\xd8\xb6\x9d\xb8H_7K-t\x1a\x03\xf1x\xa8x\x0c\xd4\x9dw\xde\x99j=\x9f_\xfc\xe2\x17p\x1c\x07\x8c1\x8c\x8f\x8fcqqq\xd9\xbaK\xaa\x8cK\xa2\x98\x90\xa5\x84\x00@\xa2r\x98\xbc\xf9\xe6\x9b\xf8\xfa\xd7\xbf\x0e \xb8\xee[\xb6l\x89\x8ay\x09\x97D\xdcBR\x84\xfe\x11\xe7(\x0b\x10\x11|:l\xc4\xba4qab\xdb6.^\xbc\x88S\xa7N\xa5N\xf9~\xe6\x99g\xf0\x9f\xff\xf9\x9f\xd8\xbcys\x94\x09#,\x0eY\x04\xbc\xca\xc2E\xb8m\xe2\xa9\xc0i\xb3\x88\xe4\x15\x81\xc5\xb5\xa1\x15\x81\x89a\xd2\xff\xeaa\x12\xa36\x89\x8fz\xff\x04\xb1\x1a\xfb\xf6\xed\xc3W\xbe\xf2\x95h\x92\xdf\xb4iS\x94m\x137\xf1\xabt\x03\xe8\xf5\x9b\xe5z\x1e\xea\xf5:\xe6\xe6\xe6p\xf1\xe2E\x9c>}\x1a\xa7O\x9f\xc6\x85\x0b\x17p\xed\xda\xb5\xa8\x14\xfb(\x89\x07\xbc\x0aK\x89\x08xM\xcb\xe3\x8f?\x8e+W\xaeD\xae\x149\xe05\xc9b\x92\x86\xb8\xebF\x04\xb7\x96\xcbeLOOc\xeb\xd6\xad=\xb7y\xf9\xf2e\xbc\xf1F\xb0\xbc\xbdp\xddtZw\x89 \x06\x05YJ\x08bH\xbc\xf8\xe2\x8b\xf8\xfa\xd7\xbf\x1e=)\xcf\xce\xce\xc24\xcd\xc8m3\xca\x9a$i\xe1\x00Z\xad\x16\xea\x8d\x06\x1a\xb5\xebh\xd6\xe7\xd1l,\xc2s\x9dp\x8d\x0d\xae\x5c\x81\xa6n\x02^\x0f\x1d:\x84\xc7\x1e{\x0c\x13\x13\x13=\xb7_*\x95\xf0\xc4\x13O\xe0\xf0\xe1\xc3\xb0,\x0b\xe5r\x19\xb6m\xb7\x05\xbc\xf6\xba\x82\xb0L\xa7\xac\x1b9\xc05\xcdj\xd5{\xf6\xec\x81\xe7y\xd0u\x1d\xd5j\xb5mE`\xb2\x94\x10\xc3\x22SK\x89\x0a\x90\x8aO\x0f]\xbb\xc1\xc09\xc7w\xbe\xf3\x1d|\xedk_\x8b\x04\xc9\xf4\xf44\xaa\xd5j\x9b\x1bc\xb5@H\x15\xfa\xc7\xf3|\xd4\xed\x16\xae\xd7\x9a\xb8t\xad\x8e\xd3g\xce\xe2\xfd\xf7\xdf\xc7\xa5\xcbWq}~\x1e\x8d\x86=\x90z\x1c\x83\xa0S\xc0\xabH\x0f>p\xe0@\xea\xb6\x9fy\xe6\x19\x9c8q\xa2\xad\xec|\xdcZ\x92\x86x\xd6MRY\xf9~W\x04\x9e\x99\x99I\x5c\xbd\x98\x04\x091\x0c2\xb7\x94\x14\xc1\xf7M\x10Ya\xdb6\xbe\xfa\xd5\xaf\xe2\xf5\xd7_\x8f>\xdb\xb0a\x03,\xcb\x82m\xdbm&r\xd52m8\xe7pZ>\x9a\xae\x07\xa7\xe5\xa1\xd9\xf2\xe0\xfb\xed\xdf\xed\xf8\xbf\xf3B\xa7\x80W\xb9f\xc9[o\xbd\x85\xbf\xf8\x8b\xbf\x80\xae\xeb=\xb7\xbfu\xebVl\xdb\xb6\x0d\xbe\xefG\xc2\xa4\xd9lF\xd6\x12\xb1\x9cB\xfcX\xbaa%\xd7\xcd\xec\xec,6o\xde\xdc\xf3\xf1\x9e:u\x0a\xfb\xf6\xed\x03\xd09\xeb\x86\xe6ub\x18\x14\xceRB\xf4\x87\x0aO\xe3E\xe1\xf7\xbf\xff=\xbe\xf4\xa5/E\x82D\xd7u\xdcp\xc3\x0d\xb0,+\xd1B\x02\xac~\x83\x1ad\xff\xb8\xae\x87\xba\xed\xe0\xda\x82\x8d\x0bW\xebx\xffR\x0d\x17\xe7\xea\xb8^k\xa2\xd1ts+@VB\x5c{a1\x91W\x0e\xbe|\xf92N\x9e<\x99\xba\xedg\x9f}\x16\xa7O\x9f\x8e\x04\x83\x5c\xb7\xa4S?\xae\xd4\xffI+\x02\xcb\x05\xd3DY\xf94cD\xd4&\x11\x95n\xe3\x8b\xef\x11\xc4\xb0\x18HL\x09YK\x88\xb5\xcc\xe5\xcb\x97\xf1\xado}\xab\xcd:b\x9a&6m\xda\x04\xce9l\xdbn\x8b!\x19E`+\xe7@\xd3i\xc2\xa9\xdbh\xf1E\xb4\xf8\x02P\x9a\xc0X\xa5\x0ecl0\xd5kUE\x08\x12\xe1\xae\x90]8o\xbd\xf5\x16n\xbb\xed\xb6T\xed~\xf2\x93\x9f\xc4W\xbf\xfaU\xdcv\xdbmQ\xc0\xabp\xdf\xc8\x96\x12\xa07kI\xa7\xb2\xf2\x96e\xe1\x8e;\xeeHu\xacB\x94\x88\xb2\xf2\xbd\x8ae\x82\xc8\x0a\x0atM\x01Y\x13\x88$l\xdb\xc6\x0b/\xbc\x80\xef~\xf7\xbbh4\x1a\xd1\xe7333\x98\x9c\x9c\x8cR~e_}\x1a1\x92F\xf4{\x9e\x07\xdb\xb6\xd1t\x1c8N\x0bN\xcb\x05\x98\x01f\x94\xa1\x95\xaa\xd0J:zwR\xe4\x9bx\xc0k|\xe5\xe0F\xa3\x81c\xc7\x8eann\x0e\xd3\xd3\xd3=\xb7\xaf\xeb:>\xfb\xd9\xcf\xe2\xad\xb7\xdeB\xa5R\x89bK\x84\xcbN\xec\xb7[\xe2\x01\xae\x22\x0dX\x88\x92\x1bn\xb8\x01\xeb\xd7\xaf\xef\xf98\x0f\x1e<\x88\xe3\xc7\x8f\x03\x08\xaa\xb8\xcakP\xa9\x98\x09F\x14\x9b\x81\x89\x12\xb2\x96\xe4\x17\x12]\xbdq\xe4\xc8\x11\xbc\xf0\xc2\x0bx\xf5\xd5WQ\xaf\xd7\xa3\xcf-\xcb\xc2\x86\x0d\x1b\x00 \xb2\x8e\xc4-$\xc0`\x9eBE10\xdb\xb6\xa3e\xe7\x01\x00\x8c\x811\x0d`Z\xee\xcaO\x0f\x0aq\xd3M\xaaY\xd2h4\xb0\x7f\xff~<\xf4\xd0C\xa9\xda\xfe\xe2\x17\xbf\x88\xe7\x9f\x7f\x1e\x1f\xfa\xd0\x87\xda\xac%\xba\xae\xb7\xd5\xff\x10\xc7!^\xe3\xf3gRYyy\x9d\x1b\xcb\xb2p\xd7]w\xa5:F\x11\xe0*\xdcL\xf3\xf3\xf3\xcb\x8e\x8d \x86\x05YJ\x08\x22\x05\xb5Z\x0d/\xbf\xfc2^x\xe1\x05\xbc\xf7\xde{m?3\x0c\x03333\xa8V\xab\xcb\x16\x89\x8b\xa7\xfdf!H<\xcfk\x13 \x8e\xe3\xd0\x03A\x97\xc8\xfd g\xe1\xc8\xe9\xc1o\xbf\xfd6>\xf2\x91\x8f\xc00z\x9f.\xb7l\xd9\x82;\xee\xb8\x03\xae\xebF\x01\xafbEla\xf5H\xcaV\xeaT\xedUN\x03\x16\xae\x1b!&v\xec\xd8\x91\xea\xfc\x7f\xfa\xd3\x9f\x02@\xb4\x18d<\x9e\x84\xc6\x121LH\x94\x10D\x17,,,\xe0\xc8\x91#8|\xf80\x0e\x1d:\x84\xb7\xdf~\x1b\x8e\xe3\xb4\xfd\xce\xd8\xd8\x18&\x18\xedyq\x00\x00 \x00IDAT''Q.\x97\xe1\xba\xee2\xebH|\x92O3\xd9\x8b\x05\xfb\x84\x00\xb1\xed\xfc\xa4\xe0\xaa\x8c\xbc\xd6\x90\xeb\xbamY8W\xaf^\xc5\xf1\xe3\xc7\xb1s\xe7\xceTm?\xfb\xec\xb3\xf8\xfa\xd7\xbf\x8e\xad[\xb7F.\x1c\xc7q\xa2\xd5\x83W\xb3*\xc7K\xca'\xb9nn\xbd\xf5\xd6T5U\xfe\xf8\xc7?\xe2\xc2\x85\x0b\x00\x824u1\x9e\xc8uC\x8c\x8a\x81\x8a\x92Q\xbbp\xc8\x0dA\xf4B\xadV\xc3\xdc\xdc\x1c\xae_\xbf\x8ek\xd7\xae\xe1\xca\x95+\x91\x109s\xe6L\xe2\xdf\x08\xab\x88XU\xd6u\xddhQ=\x117\x92T\xa6;\xc9D\x9f\x84,B\x1a\x8d\x06\x9a\xcd&\x99\xd53F\xee\x0b\xd1oI\xe9\xc1iE\xc9\xc7?\xfeq\xfc\xcb\xbf\xfcK\x94\xd9b\xdbv\x14_\xd4\xcdz82\x9d\x5c7iW\x04\x16\xae\x9bj\xb5\x1a\xb9\x94\xe4\x95\xbaG=\x87\x13k\x0f\xb2\x94\xf4\x01}a\xd3\xf3\xef\xff\xfe\xef8r\xe4\xc8\xd0\xf6'n8r\xb1,\xf1\xbe^\xaf\xe3\xfa\xf5\xeb\x89e\xcf\xe3\xfdk\x18\x06*\x95J\x14\xb8X*\x95\xa2'ky\x89w9\xd5T~\xda\x5cm\x95UY\x84\x88\x8dD\xc8\xe0\x117\xe0\xb8\xb5D\xb8p\xde{\xef=\x5c\xbdz\x15\xeb\xd6\xad\xeb\xb9mM\xd3\xf07\x7f\xf37\xf8\xdd\xef~\x87\xb1\xb1\xb1\xc8\x85c\x18F$\x00V\xb3v\xc5\xad$r\xd6M\xb5Z\xc5\xed\xb7\xdf\xde\xf3q\xb5Z-\xfc\xfc\xe7?\x07\x10\xb8n\xe4\xb5\x97\xa86\x091*\x06.J\x06}\xe3&k\xc8\xf0\xc9\xa2?\xdf{\xef=\xbc\xf3\xce;\x19\x1cM\xf6\xc8\xa5\xbb\xc5S\xa9(\x17.b\x00\x84\x00\xa9\xd7\xeb\x89B$\xc9M#_7\xf9\xbd\xe38h4\x1a$BF\x8c\xb8\x09\xc7\xd3\x83\x850\xd9\xb7o\x1f\x1ey\xe4\x91Tm\x7f\xe1\x0b_\xc0\x0f~\xf0\x03\xdcw\xdf}\xa8\xd7\xebQ\x85\xd7nRo\xe5\xda$\xf1\xb2\xf2\x22\x96\xc4\xb2\xac\x9e\x8f\xe9\xb5\xd7^\xc3\xf5\xeb\xd7\x01\x00\x93\x93\x93\x91\xebF\xd5\xf5\x97\x88\xb5\x01YJ\xfa\x84\xac%\xfd\xf1\xd1\x8f~42gwSj\xbd[\xba\xf5\xd1\xcb\xfd'&}\xf1\xf7\xf2S\xac\x08&\x95\xdd1\xe2\xbd\x1c\x8f\x10\x9f\xc8\xe3\x0b\x99\xc5\xdd1$B\xd4@\x16\x8erzp<\xe0\xf5\xc1\x07\x1f\x84i\x9a=\xb7?;;\x8b\xbb\xef\xbe\x1b\x8e\xe3D\x16\xb6f\xb3\xd9\xb6@_R|\x89\x10$\xc2R\x12\x0fp\xcd\xc2u399\x09\xc6X\x9b\xa5\x8f\xe64bT\x90(!F\x8a\x98\x10\x05\xc2\x85\xd2\xaf0Y\xa9b\xa6h7\xc9L-\xff[\xfey\xbc\xbae\xa7\xc0\xd5$kH\xdc\x1dC\x81\xa9\xea\xb2R\xc0\xeb\xfc\xfc<\x8e\x1d;\x86\x0f|\xe0\x03\xa9\xda~\xee\xb9\xe7\xf0\xcf\xff\xfc\xcf\xb8\xf5\xd6[Q\xaf\xd7a\xdbv\xe4\xc2YI\x8c'\x05\xb8\x0a+\xc9\xe4\xe4$n\xb9\xe5\x96\x9e\x8f\xa5^\xaf\xe3\x95W^\x01\x10\xd4\xd1\x91\x1f\x0a\xc8BB\x8c\x92\xa1\x88\x92\xa2[\x13\x8a~~\x83D\xdc\xa8\xeb\xf5z\xe4\xd3\x167\xed\xac\xaei\xa7\xd8\x8d\xf8\xbf\x93\xfc\xe8\xb2\x10\xe9\x14\x1f\x12\xff\xac\xd5j\xb5\xb9cH\x84\xe4\x03\x11W\x02 \xd1\x85S\xaf\xd7\xb1w\xef\xde\xd4\xa2\xe4#\x1f\xf9\x08<\xcf\x83a\x18Q\xd9\xf9f\xb3\xb9b\xc0k'\xd7\x8d\x88'\xb9\xf3\xce;S\xa5*\xbf\xf4\xd2K\xb0m\x1b\x8c1LLL\xa0^\xaf\xd3Z7\x84\x12\x90\xa5\x84X\x95A\xc6\xed\x08\xf3\xb8x\x15u\x12\x80\xf6\x9bD\x16\xac$N\xba\x8d\xff\x90'\xec$wL\xb3\xd9L\x0c\x98%\xf2\x81l%\x93\x8b\xa9\x89\x14\xecS\xa7N\xe1\xd2\xa5KQQ\xbc^`\x8c\xe1\xf3\x9f\xff<^y\xe5\x15LMM\xb5Ux\x15\x8b\xf4\xc9c\xa7\x1b\xd7MZ\x81$\x5c7\xd3\xd3\xd3\xe0\x9c\xb7\x15\xf5#1B\x8c\x92\xa1\x89\x12\xb2&\x10I\xc8)\x98\xe2u\x18\x96\x92\xf8\xcf\xc5\x0d I\x8c\xc4S#]\xd7\x8d\xcc\xef\x22\xfd\x97(\x0e\xf1\x80\xd7xz\xf0;\xef\xbc\x83O}\xeaS\xa9\xda\xfe\xdc\xe7>\x87\xef~\xf7\xbb\xd8\xbcys\xe2z8b\x9c\xc5\x05\x09c,Z\x11XXI\xa6\xa7\xa7q\xe3\x8d7\xf6|\x0c\xd7\xae]\x8b\xd6e\x9a\x9e\x9e\xee\xe8\xba\xa19;/tzp\xcbg\xdf\x91\xa5$#\xe8\x0b\x9c\x8ex\xd0\xa8\xd8\x80\xe5\x96\x92A^\xdfN\xe6j\xf1Y\xa3\xd1@\xbd^\x8f\xac!\x94\xf5UL\xe2\x01\xafI\xa2d\xdf\xbe}x\xf8\xe1\x87Q.\x97{n\x7fzz\x1a\x1f\xfe\xf0\x87\xb1\xb8\xb8\xd8\xb6r\xb0\x88-\x11\x0b\xf5\xc9c_\xb6\x92\x88L0QV^\x04f\xf7\xc2\x0b/\xbc\x10\xedk||\x1c\xb5Zm(K\x1f\x10Y\xc0\xda4\x08\xeb(Hb\x92\x84/\xfbDYz\x1f\xd1\x04\x911\xf1\xa0R\xf1\x99lF\x8f\xfb\xba\xd3l\xf1\x94\xdd\xa4\x14^\xb1\xb5Z-\xcc\xcf\xcf\xe3\xc2\x85\x0b8y\xf2$\xce\x9d;\x87\xeb\xd7\xaf\xc3q\x1c\x12$k\x00yLz\x9e\xd7\x16\xac,\xaa\xfb\xa6\xe5\xd9g\x9f\xc5\xc9\x93'\xa34s\xd9Z\x22[H\x92j\x93\x88 \xd7\xacV\x04\x16q3\xc2R\x22\xce\x9dP\x0d\x16\xae[\xc5\xc0\x10\xae_\x05\x06\x0e\x06\x1e\xaee%6\xce4p\xc6\x10\xdc\xde\xc5\xef\x07\x7f\xdf\xd9\xaa\xa2\x0eC\xb5\x94\x14\xdd\x9aP\xf4\xf3\x1b\x14\x9d\x02F\xb3\x8e)Y\x0d\x11p[\xaf\xd7\xd1j\xb5\x86\xb6_B-\x92\x02^ek\x89m\xdb\xd8\xbbw/\xee\xbe\xfb\xeeT\xed\xdfw\xdf}Q\x9d\x12a-\x91\x83\xbc\xe5\xb8\x0e!Ld\xd7M\xb9\x5c\xc6\xc6\x8d\x1b\xb1i\xd3\xa6\x9e\xf7}\xf6\xecY\xec\xdd\xbb\x17@`\xb5\x89\xef\x93\xe6/\xd5\x10\x96\x91\xc0&\xc2\x81p1\xcd\xa5\x92\x06`\x0cr\xb7i\x0c@\xd4\x97<z\x1f\x8ci.\x19M\xd4\xeckr\xdf\x10J!\x0b\xbbA\x0b\x12Q\x12^\xb8ehB&\x04q\xeb\x9a\xb0\x96\x88\x9a%g\xcf\x9e\xc5\xf9\xf3\xe7\xb1y\xf3\xe6T\xed\x7f\xf1\x8b_\xc4\x9e={033\xd3\xe6\xc2\x11\x01\xaf\xa2f\x89\x9c\x06,[I\xd2\xae\x08\xfc\x93\x9f\xfc\x04\x9c\xf3\xa82\xf1\xc2\xc2\xc2\xb2tw\xfa\x1e\xa8\x02\x0b\xff\xcf$1\x12l<\x5c\xed\x9b1\x0d\x1c\xa1e\x0dBk\xf0@\xc7p?\xd8\xc0\x01?x\xcf\xc1\x83\xf6\x18\x07x\xf4\x17J1tQB\xd6\x04b\x944\x1a\x8dH\x88\x905\x84X\x89x\xc0\xabH\x0f\x16\x16\xb5w\xdey'\xb5(\xf9\xeb\xbf\xfek|\xfb\xdb\xdf\xc6\x96-[\x12\x03^\x01D\xc1\xadI\xf1$iV\x04\x06\x92]7Ik3\x11\xa3&\x14$L\x03\xe7\x00\xd340\xa6\x07\xc2D\xd3\x03A\xa2\xe9\x91P\x11n\x99\xe81\x8e{KB\xc4w\xc1\xb4P\xa0p\x0f\x9c\xfb\x91\xddE\x88\x18\x95 KI\xc6\x90\xe8R\x0bQ3\x84\xac!D/\xc4\x03^\xe5\x0a\xaf\x22\xe0\xf5\xcf\x7f\xfe3>\xfe\xf1\x8f\xa3R\xa9\xf4\xdc\xfe\xf8\xf88\x1ez\xe8!\x5c\xbe|\x19\x96e\xb5YK\x84@\x88\xc7\x93\x88\x82i7\xdf|3fffz\xde\xe7\xd1\xa3G\xa3X\x18\xd9u#/\xc0G\xdf\x0f\x15X\x8a\x1f\xe1``Z\x10+\xc2t\x03\xd0\x82\x8d1\x1dL7#a\x02&\x85\x87\xf2%1\xc2}\x0f\xccw\xc1}\x17\xf0=p\x9f\x81\xf9\x810\x09\xac$B\xc6\xa8\xd3\xef#\x09t\xa5@AbPp\xceQ\xaf\xd7q\xe5\xca\x15\x9c>}\x1a\xa7O\x9f\xc6\xe5\xcb\x97Q\xaf\xd7i\xc2%zF\x16%\xf1\xd8\x92Z\xad\x86\xc3\x87\x0f\xa7n{\xa5\x80W9\x0dX\x8e=\xa9T*\xa9\xcb\xca\x0b+\x89\x88KI\x8aa!F\x8d\xb0\x90\x04.\x1b\xa6\x85\x96\x11\xdd\x04\xb4\x12\x98^\x86fV\xa0\x95\xc6\xc2m\x02\xba5\x09\xbd<\x09\xdd\x9a\x8a^\xb5\xf2D\xb0\x95\xc6\xc0\xcc*\x98a\x01z\x09L3\xc14#\xb2\xb6\x00a\xfc\xabB\x01\xb0d)\x19\x00d-\x19.\xadV+\xb2\x84\x905\x84\xc8\x0a9\xe0U\xb6\x96\xc8K\x06\xfc\xe9O\x7f\xc2=\xf7\xdc\x93\xeaAk\xf7\xee\xdd\x18\x1f\x1f\x87\xa6im\x01\xafb_\x8c\xb1e\x15\x5c\xc5\x02|i\xceE\x88\x92\xf5\xeb\xd7Gu\x81\xc8J\xa2\x12\xed1$\x8c\xe9\x81\xcbF3\xc1\x8c\x124\xbd\x0cf\x94\xc0\x0c\x0b\x9aQ\x86V]\x07sl\x03\xf4\xea:\xe8\xe5Ih\xe5q\xf8-\x1b\xbe}\x1dn\xe3\x1a\xbc\xc5\xcbh\xd5.\x00\x9e\x13|\xce\x9a\x81;\xc8c\x80\x07@\x03\xb8\xcf\x03\xef\x8dB1&$J\x88\x5cb\xdb6\x16\x17\x17)6\x84\x18(r\xc0\xabl-\x11\x01\xaf\x17.\x5c\xc0\x993gp\xd3M7\xa5j\xff\x99g\x9e\xc1\x0f\x7f\xf8C\xcc\xce\xce\xa2\x5c.G\x85\xcc\x80\xe0\xe1F\x04\xb8\x0a\xeb\xc6\xf6\xed\xdb166\xd6\xf3~\xdez\xeb-\x9c9s\x06\x00055\xd5\xe6\xba\xc9j\x11L\xa2\x7fX\x98\xe6\x1b\x88\x91@\x90h\x91\x10\xb1\xc0\xcc\x0a\xf4\xf2\x04\xac\x1b\xeeEif\xdb\xb2\xbf\xd7\xf5\x12tk\x12\xe6\xf4\xcd\x00\x00w\xe1<\xea\xef\xff\x11\xb0\xaf\x87\xe9\xc2\x22\x9b\x87\x83{\x1c\x8c\xe9\xe0\xdc\x0b\x22L\x18WA\x93\x8c\xaeN\x09\xb9p\x88^\x10n\x99K\x97.\xe1\xe4\xc9\x938{\xf6,\xae_\xbfN\x82\x84\x188Ie\xe7\xe5\xd8\x92\xb7\xdf~;u\xdbO=\xf5\x14.\x5c\xb8\x10YAD\xe9ya!\x91\x05\x89eY\xd8\xbd{w\xaa\xfd\x08+I\xa5R\x81i\x9amV\x12\x80\xe6c%`X\xaaE\xa2i\xd04#\x88\x1b1\x96\x5c6\xe5u\xb7b|\xe7\xe3\x89\x82$\x09cb3&v>\x8e\xf2\xec\xce\xc0\xddcV\xc0\xf42\x98^\x0a\xe2S\x98\x06\xa6\x85\x19<P\xa3\x8e\x09YJ\x06\x04\xb9p\xfa\xc7\xf7}4\x1a\x8d\xc8\x22\x22\x02\x00\x09bX\xc87maU\x10\xa2DXK\x0e\x1c8\x80G\x1f}4\x95\x05\xa3R\xa9\xe0\xb1\xc7\x1e\xc3\xfb\xef\xbf\x0f\xcb\xb2\xa2\xf5\x9fD\x5c\x89\x9c\x06<>>\x8e\xdbn\xbb\xad\xe7}x\x9e\x87\x17^x\x01@\xbb\xebFXG\xc8J\xa2\x02A\x913\xce\x01\xa6k\x00\xd3\x83\x80V=\x88#af\x05\xe5\x0dw\xa0r\xd3\xfd\xbd\xb7\xac\x97P\xbd\xf9\x01hf\x05\x8dso\x83q?\x08\x80\xd5<p\xee\x01^\x90~\xce}\x1fP\xc0\x833\xd2\x8a\xae\xa4\xce\x898\xbe\xefcaa\x01\xe7\xcf\x9f\xc7\xc9\x93'q\xe1\xc2\x05\xd4j5\x12$\xc4H\x91\xd3\x83El\x89\x10%\x8dF\x03\x07\x0f\x1eL\xdd\xf6\xb3\xcf>\x8b\x13'N\xa0R\xa9DV\x11\xb9P\x9a\x10%;w\xeeD\xa9T\xea\xb9\xfd\xdf\xfe\xf6\xb7\xb8z\xf5*\x80v\xd7M\xbc\x9211B$+\x09\xb0\x94m\xa3\x19%hf\x05Fu=\xac\x1b\xee\xe9k\x17\xe5\x8d\x1f\x80f\xcdD1)L7\x83\xb8\x95(\x83G\x8d\xfb1\x95\x99\x1f $\xba\xba\xc3\xf3\xbc6!r\xe9\xd2%\xca\x96!\x94!\xbeT\x81\xec\xc2\x11\xc2d\xef\xde\xbd\xa9\xc7\xeb\x8e\x1d;\xb0a\xc3\x060\xc6P\xa9T\x22W\x8e\x10#\x96e\xf5\x95u\xf3\xa3\x1f\xfd\x08@\x90\x86\xcc\x18\xa3\x15\x81\x15\x85\x07\x05I\xc2\x8c\x1b#\xc8\x94\xd1\x83x\x92\xea\xcd\x1f\x06\xd3\xfasl0MG\xe5\xc6\x0f\x85\xd6\x98\xc0}\xc3B\x17\x8e\xb0\xd4\x84U\xda\xb28\x9d\xd4\x90(!F\x82\xeb\xba\xb8v\xed\x1a.^\xbc\x88\xb3g\xcf\xe2\xea\xd5\xab\xb0m{\xd4\x87E\x10\x1d\x89\xc7\x96\xc8q%\x97.]\xc2\xa9S\xa7R\xb7\xfd\xcc3\xcf\xe0\xfd\xf7\xdfG\xb5ZE\xa5R\x89\xc4\x89\x10$\x93\x93\x93\xd8\xbauk\xcf\xed\xda\xb6\x8d\x97^z\x09\xc0\xf2\xac\x1b\x12%\xaa\x10\x0a\x82\xa8t|h\xbd\x08\xdd7\xe5\x0d;\xa0W\xd7e\xb2\xa7\xd2\xe4\x16\xe8\x137\x84\x82\xc4\x0c\xdcDb-\x1d\xf1\x10=\xe2g\xe9\x91\x8b\x92\xa2[\x13\x8a~~\xbd\x22L\xe0\x17/^\xc4\xd5\xabW)P\x95\xc8\x15+\x05\xbc\xbe\xf5\xd6[\xa9\xdb\xfd\xf4\xa7?\x1d\x15R\x13\xa2D\xdev\xed\xda\x05]\xd7{n\xf7\x95W^A\xbd^\x07c\x0c\x13\x13\x13\x91(\x89/VI\x8c\x90H\x0b\x84\x0b\xec\x81\x05uD4\x1dL7`\x8c\xf7\xbe\xc6\xd1JX\xeb\xb6\xa1\xb9p\x01L7\x22\xd7M\xb8JN\xb8\x8e\xceh\xc7\xc3\xc8E\x09Ql\xe4tJ\xb9\x9c5A\xe4\x09\xf9\xe6-\x84I\xdc\x85s\xf8\xf0a,,,\xa4j\xbfT*\xe1\xf1\xc7\x1f\xc7\xdc\xdc\x1c\xc6\xc6\xc6066\x86j\xb5\x1a\xbd\xbf\xf3\xce;S\xb5\xfb\xe3\x1f\xff\x18@\x10K\xc29\x8f\xac$r\xe6\x0d\xa1\x00b\x05\xdf\xb6J\xae\x06\xc0\x0c\xe8\xd6t\xa6\xbb*M\xdf\x04\xfb\xda9\xf8n+\xd8o\xb8o\x16/U?\x22\x94\x10%dM(\x16\xb2\x10!\x131Q$\xe2\x22[\x04\xbc\x0ak\xc9\x81\x03\x07R\xb7\xfd\xcc3\xcf\xe0\xddw\xdf\xc5\xf8\xf88\xc6\xc6\xc6\xa2\xd7\xd9\xd9\xd9Tk\xec\xcc\xcf\xcf\xe3\xb5\xd7^\x03\x00\xcc\xcc\xcc,\xcb\xba\xa1t`\xc5\x88\x16\x04^Z\xcfF3-h\xa5j\xa6\xbb\xd1\xcc\x0a\xcc\xf1Y\xb8\xcd\x1a\x82\xa0\xdap\xa5\xe1\xb6\xb2\xf3\xa3C\x09QRt\xd6\xc2\x97\x9e\x84\x08QtdwGR\xd9y\x11\xf0\xeay^\xaa\xf6\xb7m\xdb\x86-[\xb6\x00\x00&&&011\x81\xb1\xb11\xec\xda\xb5+\xd5\x1c\xf2\xb3\x9f\xfd,J/\x1e\x1f\x1f_\x96u#\x9f\x13\xa1\x0al\xe9\x951h\xe5\xc9\x81\xec\xa54\xb9\x05\x9e\xd3\x08\x04\x09\x97\x97\xf3\x1b\xfdXPF\x94\xac\x85\x1bw\xd1 !B\xacE\xe2U^\x85\x0b\xc7\xb6m\x5c\xb9r\x05'N\x9cH\xdd\xf6\xb3\xcf>\x8b\xa3G\x8fF\xa2drr2Um\x12`\xa9`\xda\xcc\xccL$\xa2hE\xe0\xbc\xc0\x01\xce\xe1;\xb5\x81\xb4\xde\xaa]\x82\xe7\xd4\x83\xc5\xfb\xa0\xd6XPF\x94\x14\x9d\xa2\x88.\xb1\xce\x0c\x09\x11b-\x93Tv>\x8b\x0a\xaf\x9f\xfc\xe4'q\xf6\xecY\x8c\x8f\x8fcbb\x02\x9b7oN\xb5\x22\xf0\x85\x0b\x17\xf0\xc7?\xfe\x11@\xfb\x8a\xc0\xe4\xbaQ\x18\x8e\xc0\x85\x12\xf5\x0f\x87\xef\xd4\xe1\xbb\xd9f%\xfan\x13\xce\xc29\xf8n3(\x98\x16\x85\xb9\xae\xf12\xf3D~p\x1c\x07sss\xb8p\xe1\x02\xae\x5c\xb9B\xa9\xbb\xc4\x9a%\x1e\xf0*\x0b\x13!J\x8e\x1d;\x86\xb9\xb9\xb9T\xed\x1b\x86\x81'\x9ex\x02'O\x9e\xc4\xd4\xd4\x14\xb6o\xdf\x9e\xaa\x9d\x9f\xfe\xf4\xa7\xf0}\x1f\xba\xae\xa3Z\xad\xb6YI\xc8u\xa3 \x5c\x88\x02\x0e\xce}\x80{\xe0\xbe\x07p\x0f~#\xddX\xeaD\xf3\xdaI\x80sh\xba)\xedS\x8c\x83\xd1\x8f\x07\xa5D\x09\xa9vup]\x17sss8s\xe6\x0c\xce\x9e=\x8b\xf9\xf9\xf9h\xa10\x82X\xebt*\xa6&\x84\xc9\xfe\xfd\xfbS\xb7\xfd\xb7\x7f\xfb\xb7\xf8\xc3\x1f\xfe\x80\xc9\xc9\xc9(\xc6\xa4W\x84\xebf\xdd\xbaup]7\xda\xc8u\xa3 \x5c\xbc\xf0p\xf5\x19\x1e\xb8U|\x17\xbe\xeb\xc0\xad]\xc8tw\xf6\xa5\xa3\x00\x00\xcd\xb4\x00\xee\x07\x0b\xf21\x04\xe2$\xd3=\xa5C)QRtT\x17]\x9e\xe7a~~\x1eg\xce\x9c\xc1\xa9S\xa7p\xf5\xeaU8\x8e3\xea\xc3\x22\x08\xa5\x88\x07\xbc\x8a,\x9cx\xcd\x92\xb4\x22\xfe\x86\x1bn\xc0\xa6M\x9b\xa0i\x1a,\xcb\xea\xf9\xef\xdf{\xef\xbd(\x0b\xa8S\xd6\x0d\x89\x12\x95\xe0\x92\xdb&\x10\x09\x81\xa5\xc4\x05\xf7Z\xb0/\x1d\x86\x97\x91\xb5\xa45\x7f\x1e\xd7\x8f\xbe\x02\x00\xd0t\x03\xdcw\x97\xf6\x0b\xaeD\xa5y\xe5D\x89\xea7\xee\xa2\xe1\xfb>j\xb5\x1a\xce\x9d;\x17\x95x'\xf7\x0cA\xacNR\x85WQ\xb3\xe4\xda\xb5k8~\xfcx\xea\xb6\x9fy\xe6\x99\xd45}\x84\x95D\xac\x9d\x93\xe4\xba!\xd4\x831\x16\x08\x04\xdf\x87\xef\x05\xa2\x04\xbe\x03\xbf\xd5@\xfd\xf4\x1b\xe0^\x7f\x0f\x88\xdc\xf7p\xf1\x8f\xff\x09\xee\x05\x05+5\xdd\x04\xf7C7\x91\x1fXiT\x08+\xa1U\x82\x87\x8c\x0a\xab\x07s\xce\xd1h4P\xab\xd5\xb0\xb8\xb8H\x13\x15A\xf4\x08\xe7<z\x80\xea\x94\x1e\xfc\xd6[oa\xe7\xce\x9d\xa9\xda\xff\xc4'>\x81Z-]\xe6\x85(\x98\xb6n\xdd\xbaeV\x12q\xec\x84b\xf0\xe0?\x1c>4h\x00\xf7\x00\xbf\x05\xee\xea`\x9a\x01\xb7v\x11\xf5\xf7\xf7bl\xdbGR\xef\xe2\xda\x81\x9f\xc2\x99{\x1f\x00`X\xe3\xd04\x0d\xdcu\xc2\x0c\x1c\xde\x16\xd72J\x93\x09\x89\x925\x84m\xdb\xa8\xd5j\xa8\xd5j\xa9k)\x10\x04\x11 \xc7\x95\xc4\xad%\xb6m\xe3\xbd\xf7\xde\xc3\x95+W\xb0~\xfd\xfa\x9e\xdb\xd64\x0d\x93\x93\xbd\xd7\xa8\xf8\xf3\x9f\xff\x1c\xad\xc1#\xaf\x08\x1c_\x15\x98P\x8d\xb0t\x19c\x81\xe5\x02\x80\xef1h\xd0\xe0\xb74008W\xdfEk\xf1\x12\xc6o}\x18F\xa5\xfb*\xaf\xbeS\xc7\x95w~\x88\xda\xa9 \x1b\x8b\xe9&Lk\x02\xdcw\x02W\x91\xc8\xbc\x09\xcb\x94\x8c\xda[\xa1\xa4(Q\xc1\x9a0H\x86y~\x8e\xe3\xa0V\xabaaa\x81\x02U\x09\x22c\xe2\xc5\xd4\x5c\xd7\x8d\x5c8\x8dF\x03\x7f\xfe\xf3\x9f\xf1\xc8#\x8f\x0c\xedx\x84\x95\xc4\xb2,\x94J%\xd8\xb6\xddV\x9b\xa4\xe8sk\xae\x89\xac%\x00\xe3\x1c\xf0=p\xb4\xc0\x01h\x8c\x85?\xf6q\xe1\xf5\xff\x0f\x13\xb7>\x8c\xc9\xdb\x1e\xc2j\x15X\xebg\xdf\xc1\xe5\xbd?\x80\xd7\x5cZ\xfe\xa0\x5c\x9d\x06\xfc\x16\x10f\xf7\x80/YIT\xa8\xe9\xaa\xa4(!\xfa\xc3\xf3<,,,`aa\x81\x02U\x09b@\xc8\xee\x10\x91\x1e,\x5c8\x8e\xe3D5K\x1e|\xf0A\x98\xa69\xf0\xe3\xf1}\x1f{\xf6\xec\x01\xb0|E`q\x8c$HTfI\x14\x04\xc1\xae\x00|\x06\xc6\x02\x0d\x01\xee\x83q\x0f\x95\x89\x8dX<\xf1:\xe6\xdf\xfd\x15\xca\xeb\xb6\xa1<u\x13J\xd37\xc2\x9c\xd8\x0c\xb7q\x0d\xce\xdc\xfbh^;\x0d\xe7\xda)4\xe7NG\xadkz\x09fu2(\xe2\xea\xbb\x81(\x09\xf7\x1bYI\x86~\xce\xcbQV\x94\x90\xa2\xef\x9dz\xbd\x8e\x85\x85\x05,..\xd2\xb5#\x88!\x91\xe4\xc2\xb1m\x1b\xb6mc~~\x1eG\x8f\x1e\xc5\xae]\xbb\x06~\x1co\xbc\xf1\x06.]\xba\x04 p\xdd4\x9b\xcd6\xd7\x0de\xdd\xe4\x80\xc0L\x12\x0a\x12\x1f\xd0\x5cp\x8f\x83q\xc0\xe7\x1c\x8c{`Z\x0bfu\x12\x86\xef\xa3q\xee\xcf\xa8\x9d|c\x95F\x19\xcc\xca$L\xab\x02\xdfu\xc1\xfdV\x10G\xc2\xfd\xa0&J\x98\x8a\xac\x82\x95\x04PX\x94\x14\x9d\xacD\x97\xeb\xbaXXX\xa0:\x22\x041\x02\x92\x02^\x85\x0bG\x0ex\x1d\x86(\x11\xae\x9b\xb1\xb11\xe8\xba\xdef%!1\x92\x1788\x0fV\xe6\xe3\xdc\x07\xfchy\x9a0 \xd5\x07g.\x98\xd7\x02\x98\x8e\xca\xccM\xf0[\x0dx\xad&\xbc\x96\x0d\xbf\xd5\x80\xef\xbb\xd0\x8c24\xa3\x04M7\xa0\xeb\x81\x95\xcew\x1d0\xee\x87E\xd9\x02A\x22\x8b\x10\x15\x04\x09@\xa2$\xb7,..b~~\x1e\xf5z}\xd4\x87B\x10k\x9a\xa4\x80WQ\xe1\xd5\xb6m\x9c>}\x1a\x17/^\xc4\xc6\x8d\x1b\x07v\x0c\x8e\xe3\xe0\xc5\x17_\x04\x10\xb8n\x1c\xc7A\xab\xd5\x22\x0bI.Y\xea+a\xc9\x80\xcf\x01\x16Tz\x05\xd3\xc157XI\x98\xe9`\x8c\xc1(Y\xd0K\x16\x18\xa6\x83\xbe\x16\x96\x10\xdf\x03|7p\x07\xf9>|\xee\x83!\xac\x1a\xab(J\x8b\x92\xa2\xbbpz=\xbfV\xab\x85\xf9\xf9y,,,P\xf6\x0cA(\xc4J\xab\x07\xd7\xebu\xec\xdb\xb7\x0f\x9f\xfa\xd4\xa7\x06\xb6\xffW_}\x15\x0b\x0bA0\xe3\xc4\xc4D[\x80+\x09\x93\x1c\xc2Cg\x0a\xe3\xe0>\x0f\x17\x0d\xe6\xe0\xcc\x07\xe0\x81q\x1d>\x18\x18\xd3\xc2\xac\x1dM\x94`\x8b\x02W#\xd7\x0c\xe7Q@+\x8b\x04\x0fW\xc62\x12GiQB\x04\x93]\xadV\xc3\xfc\xfc<\x155#\x08\x05\x89\x07\xbc&\xd5,\xd9\xb7o\x1f\x1e~\xf8a\x94\xcb\xe5\x81\x1c\x83(\x98655\x05\xc6X\xe4\xba\x11\xee\x1b\x22\x8fp t\xe5\x80\xfb\xe0```a\xa2L(@BQ\x82\xb6\x07\x5c\x1e\xa6\xf6\x22\xac\xd4\x8ah5`\x88\x85\x18\xa1N\x0cI\x1c\xe5EI\xd1\xad%\x9dp\x1c'\xb2\x8aPq3\x82P\x1f9\xc3\xc5\xf3\xbc\xb6\x80\xd7\x85\x85\x05\x1c9r\x04w\xdf}w\xe6\xfb\xad\xd5jx\xf5\xd5W\x01\x04e\xe5\x1d\xc7YVV\x9e\xc8+a\xd0k\xb08Md5Y\x12\xc2~X\xdb$\xecc\xa16\x80e\x22%*\xd9\x0au\x05\x090BQ\xd2K\x81\x96N\xbf\xcb\x18\x03c\x0c\x9a\xa6-\xdb\xb2,\x00#\xf6#\xbf\x97?K\x8b\x1c$\x07,\x95|'\xab\x08A\xe4\x8bn*\xbc\xee\xdd\xbbw \xa2\xe4\xc5\x17_D\xb3\xd9\x04c\x0c\xe3\xe3\xe3\xa8\xd7\xeb\xcb2nH\x98\xe4\x1c\xd1\x7f\xe2~\xc1}D\xee\x1d\xce\x96~'Z\xdcO*\xca\x1a\xd6?\x91\xb5\x89\xaa\x82\x04\x18\xa2(\x89\xdf\xd4\xe37\xe4\xb4m\x0aQ\xa2\xebz$F\xc4gY\x09\x13y\x1f\xe2}\x16%\x9b\xc5\xb16\x1a\x0d\xcc\xcf\xcf\xa3V\xab\xb5\x159\x12\xd0\x84B\x10\xea\x13\x0fx\x15uKD&\xce\xd9\xb3gq\xee\xdc\xb9\xd4+\xffvB\xb8n\xa6\xa7\xa7#\xf7Q\xbc\xb4<Q\x10b\xfd\xc9\xdb\xe2D\x96\x90\x8c\x22mV\x11\x95\xc5\x88`\xe0\xa2$nU\x90\xc5B\xfc5M\xdb\x00`\x18\x06\x0c\xc3\x80\xae\xeb\xd1\xab\x10\x10Y\xa0\xeb:8\xe70\x0c#*\x82\xa4iZ_\xc1\xa6\xae\xebFV\x11\xc7q\x22\x91&\x04\x8f\x10n\xf2{\x82 \xd4&)\xe0U\x88\x92z\xbd\x8ew\xdey'SQr\xe5\xca\x15\xfc\xfe\xf7\xbf\x07\xd0yE``\xed\xba\xc1\x8bMw\xc1\xaay\x10\x222\x03\x15%\xb2 Ir\xaf\xc4\xb74_\x1aa\xc10\x0c\x03\xe5r\x19\xa6i\xa2T*\xc14M\xe8\xba\x9e\xc9y\x08\x81c\x9a&|\xdf\x8f\x04I\x1aQ\xd2h4\xb0\xb0\xb0\x80z\xbd\x1e\xb5U*\x95\xda\x9e\xb2\xe4\xb2\xd0\x00H\x98\x10\xea\xc3X\xfb\xa6\x9a\x91\x98G\xff\x19\xdc.:\x04\xbc\xca\xc2d\xff\xfe\xfd\xf8\xc4'>\x81J\xa5\x92\xc9>\xf7\xec\xd9\x03\xcf\xf3\xa0\xeb:\xc6\xc6\xc6\xa2u\xad\xe4\x15\x81\x073o\xb0\x0e\xdd\xcb\x86\xde\xeb\x22\xfb$H\x91e\x09c\x91\xc8\x13\x03\x13%\xb2\xd8\x10\x96\x0bM\xd3`\x18F\xf4*\x0b\x16\xf17+\x11\xffr\xc9b\xc70\x0c\x94J%T\xabU\x94\xcbe\x94\xfe\xff\xf6\xee/F\x92\xaa\xfe\xfb\xf8\xe7T\xf5\xbf\xe9\x99\xdeY\x98\xd9\x05\x97%\xbb<\xb2B\xc0\xdf\x03\x9a\x07\x11W\x12\x13\x8d\xa2\x89\x7f\x9e\x0b#\x89\xd1\x1b\x13\xff\x84\xc4\x0b/\xbc\xd1\xc4[n\x8c1^\x91\xe8\x85&\xa0\x86D\x131F\x08$H\xc0\x18#\x88\xfe$\xc8\xc3\x83\x8a\x98\xfd\x03\xec\xce\xce\xce\xdf\xee\xae\xae\xf3\xbb\xa8:5\xa7kzfwg\xbb\xba\xab{\xde\xaf0\xcc\xec\xeclu\xcdLw\xd7\xa7\xbf\xe7\x9c\xef\xa9\xd5\x86\x16J\xea\xf5z\xf6D\x13\x04A\xdfV\xe0\x97\xc3\xcd\x15YYYQ\xb7\x9bl\x1b\xddl6\xb3\xbf\xf3\xfb\x1b\xb8\xf7~'F\xf7\xbd\x13LPV[\x17\x85\xa4w\x82M\xf7\xd2H\xe6\xe7\x8d\xe3>\xbbU!Hv=\xf5\x22I\xc1\x01eP\xcf\x12\xb7\x1f\xce\xda\xda\x9a^y\xe5\x15\xddy\xe7\x9dC\xb9-\xd70\xed\x9ak\xae\xc9\x86m\xdc\xf3\x88;\x97\xe12\xe9\x7f\xe9su\xdfsR\xf29\xbb\xf5\xe1h\x18\x93\xaeB12\x0adL\x98\xdd\x1fG\x1f\x91p\xb5\x0a\x0f%\xfe\x90J\xb5Z\xcd\xc2\x83\xfb\x5c\xbejr\xa5\xb7!mUK\x1a\x8d\x86\xea\xf5\xba\x9a\xcd\xa6\x9a\xcd\xe6\xd0\xf6\x9b\xa8\xd7\xebY\x98\xaaV\xab\xdb^\x89\xec\xa4\xdb\xedjuu5k\xfb>77\xd7\xf7j\xca\xbd\xf9O&nr\x5c\x14E\xd9\xd2\xbeb_\xf1\x00W\xcf\x04\xa1d\xd2\xb7 V`$\xd9\xf4\x825\x84\xf9cW\x22\xeb\xd5\x90\xfd\xc9\x1b\xc6\x90dM\xba\xd4\xb2\x80`\xe2\xcf\x95sUO\xb7s\xb0\x0b&/\xbe\xf8\xa2\xee\xb8\xe3\x8e\xab\xfe\x99\xbc\xf1\xc6\x1b\xfa\xeb_\xff*i\xe7\xa1\x9b\xe1=g\xf4\x87\x11\xb7\x0c\xd5\xc8\xc8\x04A\xfa\xf7~\x04\x18\xed\xef\xdb\x05b\x13\x84R\x10\xa4\xf7\xc54$c\xa2\x14\x12J\xf2\x13P\xc30T\xadV\xcbv\xaet\x95\x0c?\x98\xb8pr%\x0f\xa2\xfc\xedT\xabU5\x1a\x0d\xcd\xcc\xcc\xa8\xd9l\xaaV\xab\x0d\xe5\xfbq\xd5\x97j\xb5\xaaN\xa7\x93=\xd9\xf8s>\x1ck\xad\xda\xed\xb6\xd6\xd6\xd6\x14E\x91\x1a\x8d\x86\x1a\x8d\xc6\xb6c\xfa\x93\xe1z\xbd\x9e\xda\xedv6S?\x08\x02\xb5\xdb\xed\xbe'\x16\x02\x09J-\xa8(\x08\xab\x8a\xe3^\xba\xe1W \xd9 \x9dp7\x9a\xfb\xee\xd6\xe3\xd0n5\x90\x92\x95\xe2X\xc6\xd8\xb4\xb5v:\x0e\x9f\xadZ(&\x98\x0c\x9a\xf0\xea\xc2\xc9\xd9\xb3gu\xea\xd4)\xddp\xc3\x0dWu;n\x82\xab{\xdesM\x15\xddm\x0fU\x1aH\xb20\x92V\x22l\xda\xc0\xcb\x0d\x95$}4\xecH\x87MLz>R \x13Ve\x82\x9aLXI?.}\xd7\x0b\xe4\x14\x16J$ea\xc3=h\x9a\xcd\xa6\xae\xbf\xfe\xfa,\x9c\xb8\xca\x89\x0b&{\xb9\x1d?\x98T\xabUU\xabU\xd5\xebu5\x1a\x0d\xcd\xcd\xcd\x0d\xe5\xfb\x99\x9b\x9b\xd3\xdc\xdc\x9c\xda\xedv_\xebf\x7fv\xbb\xb56\xdb\xae\xbcZ\xad\xea\xe0\xc1\x83\xbb\x1e\xd3M\x86\xf3\xc7\x9c\xd7\xd7\xd7\xb3a-\xf75\x83v\xf7$\xa0\xa0lLX\x93*\x91\x02I\x8a+\xc9.\xa4.\x04\x8c\xea\xfa\xe4-}\x94\xe2\xa4BccY\xd3\xcbZn\x1b\x13\xcb\xc6i\xeb\xee\xb4\x9aSd0\xf1\xf7\xc3\xf1+&\x7f\xfb\xdb\xdf\xae:\x94\xb8\xa1\x9bk\xaf\xbd\xb6\xafJ2\xf4\xca\xaa\x0b\x1b\xda\xaaH\xc8\x04R\x90\x0e\x93\x04\xa1\xa4\xc0\x0b+\xd2H\xc7o\xd29L&\x08e\x82\x8aL\xa5\xa1\xa0R\x97\x09\xaa2au\xb4\xe7\x82\xabVX\x8c\xf4\xab\x17n\xf2\xe9\x8d7\xde\xa8\x07\x1ex\xa0\xa8\x9b\x944\xdc\x0b\xf6\xe7>\xf79}\xfa\xd3\x9f\xd6\xcc\xccL\x16\x9a\xf2\xc7\xf7_\x11\xed\xf5\x1c\xfdj\xc8_\xfe\xf2\x17=\xf4\xd0C\xd9+,7\x8cc\x8c\xa1\x89\x1aJ+\xa8&\x137\xad\xa9l\xed\xb5\xa1x\xc4\xc37i q\xbb\x9f\xdaxk\x8b\xf68\xca2\x8b\x09\xd26\x0f6\xeek65\xb4\xb3\xc8\xbd\x80\xf0\xab%\xaeb\xf2\xea\xab\xaf\xea\xde{\xef\xcd\xe6\x96]\xa9\xbf\xff\xfd\xef\xfa\xc7?\xfe!)Y\x0a\xdc\xedv\x0b\xda\x11xk\xee\x88d\xb2\xa1\x11\x13\x84I%\xc2T\xa4 T\x10Td\xfd\xc9\xa6\xa3\xe4B\x93\x09\x14\x84U\x99\xb0.S\xa9\xcbT\x1b2\x95b:\xe8\xa28\x85\x0e\xdf\xf8\x15\x0c7\xdf\xa3h\xc3\x9c\x0c\xba\xd3\xd0\x8b\xd4\x1f$\x86\xa9\xd5jivv6{\xf2r\xc3_q\x1c3\xd1\x15\xa5\x15\xd4f\xa5 \x94\xadt\xa5^\x12J\x8c\xec\xe8*%i\xe2\xf07#\x8b\xe3d7U\xdb\xeb\xca\xf6:\xc9\xe55N\xb3\x88\xb1\xde\x82\xcab\x1eS\xf9\x0e\xaf~\x0f\x91(\x8a\xf4\xdak\xaf\xed\xb9\x99\x9a\xab\x92\xb8\xa1p\x7f\xaf\x9bas\xad\xcdM\x16H\xd2\xa1\x91\xb0\x96\xbe%\xc3$API\xe6u\x8c8\x98$\x15\x1c#c\xc2\xa4z\x13Te\xaa\x0d\x05\x95\x86Le\xf0\xf37\xcak\xe8\xa1\xc4\x7fE\xe4Otu\xd5\x92IW\xf4\x1c\x8f7\xdf|S\x7f\xfa\xd3\x9ft\xc3\x0d7dC[@YU\x9b\x0b\xaa\xcd\xdf\xa0\xca\xdcu\xc9\xc5\xdfU&\xd2\x09\xa6\xa3kh\x9d\xde\x96\xb5\xc9\xf0\x8c\xed)\xeeE\xb2qW\x8a:\xea\xae\x9cV )v\xf3ML\x9c\x5cl\xe3\xb43f\xc1\xabq\xfc7WY}\xfd\xf5\xd7\xf7\x14J\xac\xb5\xfa\xcdo~#)\xd9\x11\xd8\x0d\xdd\xf8\xf3I\x86\xfe\xfcd\x92\x09\xad\xaeB\xa2\xb0\xae\xea\xdca\x85\xcdk\x92`\x12T\xd2\xc9\xcen\x92\xa9\x8a^\x81\xddwnR\xbaP\xc2\x0d+\x05\x15\x99\xb0\xa6\xa0R\xbb\x8a\xbb\x1f\xc3>\xe3P\xe8\xea\x1b7y\xd5\x0f&\xa3PDE\xa1\x90\xc9c\x03t\xbb]\xad\xad\xadI\xd2\xb6I\xc0TJP\x9c\xbd=\x01_\xfb\xbf\xff\xef\x90\xcf\xa3\x18K/<\xac(\x8edl/\x09M\xc6ueNZu\x8f\xea\x02\xea\xaf2<|\xf8\xf0\x9e\x8e\xf1\xfc\xf3\xcf\xeb\xcc\x993\x92\x92\x0d\xf8:\x9dNaC7\xc6l\xadnI&\xb5\x86RXUP\xa9\xa9\xf1\x8e\xffR\xe3\xfa\xe1\xb7\xcd/\x1d\xb2\xc9H\x15\xb2^jP\xd3\xb4Q\x86\x92a\x1a\xd4\xccl\x14\xf2{\xf8\x8crI%0m\xb2\x05\xc1\xe9R\xd1l\xe8\xa6\xe0>*\xfe\xe3\xd7=\x9e\xdd|\xbb\xe3\xc7\x8f\xef\xe9\x98n\xe8\xa6\xd9l\xaaR\xa9\xf4UI\x86\xb1}\xc7@n\x12\xabW\x85P@\x15\x17\xc37\xb2\x8e\xae\xc3\xd8\xc0nT\xca\xb0\x0cw\xd0\xcfmR~~@\xd9\xac\x9e\xf9\xbb\x14w\xd5\x98\xbf.\xed]\x91v\xfbt\x9b\x99\x150\xde0ho.\xb7%\xc6\xfc\xfc\xbc\x0e\x1d:t\xc5\xc7\x8c\xa2H\x8f?\xfe\xb8\xa4\xfe\xa1\x9b\xe26\xdfK&\x91\xba\xe1\x1b7<\x93Mr\x05\x86\xac\xb0\xce2E\xec\xaa\xbb\x97\xdb\xbf\x12\xfe\x84\xb4q\x0f\x93\x945\xc8\x8d;\xac\xa1(vL\x9dWGi\xab\xbfF2\x14\xea\xe6c\x0e\xf71\x96\xdf\xeb\xcbMVw+\x11\xab\xd5\xaan\xbd\xf5\xd6==\xb6\x9f}\xf6Y-//KJ&\xc5\xe7\x97\x02\x17\xf2\xf8L\xabI\xc9\xcf\xcb5(\x0b\xf7Ac\xb2i\x7f<\x94SaQ7\xbf\x8bn\x99/fe\x08!y\xc3\xd8\x85x\x98\x8aj\xe4V\xe6\xfb\xc5\xfe\x90k46\xe5O\xc4n\xd8\xc6M\xbf-\xea\xae\x97\xaf\x92\xf8\x93\xfd\xeb\xf5\xba\xde\xf5\xaew\xed\xe9\xb8\xaeaZ\xab\xd5\xca\xb6\xbc\xf0\x9b9\x16\xa7\x7f/\x99\xb1,\xfd\x1d)7\xcfh\xba\x1f\x0feTh\xfd-?\xdb|\xd4\x17\x9fKM\x0c-c\x18q\xf2\x01`\x9c\xe79h\xf5\xc0\xb0\x14Wv\xc6\xa5\xd9\xf4\xbft.\xc2>\xa8\x96$\x834\xa6\xb0\xbei\x83\xe6\xd3\xb9*\x89\x0b$G\x8e\x1c\xd1\xb5\xd7^{\xc5\xc7\xde\xd8\xd8\xd0SO=%\xa9\xbfa\x9a?\x9f\xa4h\xae#\xee\xd4?V\xd3\xc7E\x92\xd3\xa7\xfc{-\x99B\xeao\x83\x96\xbf\xb95\xfa\xe3\xe673*\xf3\x03k\xd0P\xd28\xce7\xff\xbbt\x0d\xdd\x86\x85}}\xc6\xc5zO\xbcI \xb1\xd9R\xdei6\xbaj\xd0\xa0@\xd2h4t\xfb\xed\xb7\xef\xe9xO=\xf5\x94677e\x8c\xd96tS|\xb0wM\xf0\xb6\x82\xc9t\xdfW\xd2\xe6{\xd9\xf78\xcd\xdfk\xb9\x8c\xa4R\xe2w3\x1c\x97I{5\x1eE\x91\xc20\x1c\xeby\xe7\x03\x89\xdf\xf8iX\xf2c\xe1\x93\xf2\xfb\x99l\xc9\x86t\xd6X\x19kemO6\xee\xc9\xf6\xa2)\xff\xf9\xdb\xb4\xd3\xab\xddz\x15<\xc4\x8bM~\xa5\x8d?\x97\xc4\x05\x92\x99\x99\x19\x9d8qbO\xc7w\xabn\xe6\xe7\xe7e\xad\xed\xdb\xad\xbc\xd0\xdf[\xb2&XR\xd2\x03&\x90\xeb\x94;\xbd\x1d\xa6m\xd6\xef\xc6u%\x96\x08&\xa31\xf4P\xe2\xbf\xaa\xf7_Y\xbb\x0e\xa5\xa3T\xd4<\x88Q\x88\xa2\xa8\xaf\xd24N\xfe\xc6b\x9dNg\xa8\xbfG\xd7\x1e;\xdf\x9a\x1b\x05\xb2\x9256)\x93\xda8\x0d&\x91l\xaf\x9b\xf6_\x9fR6\xad\x06\xf9\xc1d\xc8\x06\xed\xfb\xe5WI\x8e\x1f?\xaeV\xabu\xc5\xc7]ZZ\xd2s\xcf='i\xe7\x1d\x81\xdd\xed\x0f\xf7\xf1\x93t\xbe5\xd9\xf3z\xac\xb8\xd7\x93\x89#\xc9\xf6\x86x;%\x93v\x05\xce\xaaC\xe9\xa0_\x11\xf7\x19\xf4+\xa4R2\xa8\xdc\xdfn\xb7\xb5\xb9\xb9Y\xc4\xcd\xedz\xfb\x93\xca]\xa8GW\x9e\xed\xe7\xfa\x1d\xe4w:u\xdb\xaf\x0f\xcb\xe8\x9e\x5c\xd1\xc7&\x17\x98d\xd8&\x92z]\xd9\xa03\xd5\x17\x9ad\xc7\xe0\xb4*\x94^p\x865_`P\x95\xc4\x0f$n\xe7\xf2\xbd\x0e\xdd<\xfe\xf8\xe3\xea\xf5z\x0a\x82@\xb3\xb3\xb3Z[[\xcb\xaa$\xc5\x0f\x81\xa6?\xa78\x96\x82t\x1f\xa1\xa8\x93\x0e\xf7M'k{\xc9c\xc1\xed\xa3$\xea$\xa3R\xe8\xea\x1b\xff\xd5u\x18\x86:u\xea\x94~\xf8\xc3\x1fjyyY\xa7N\x9d\x1a\xfam\xc6q\xac\xd5\xd5\xd5l\x0b\xefI\xb4\xb4\xb4$I\xd9\xcf\xac\xb0e~\x97\xc9\x1f\xba\xe9v\xbb\xda\xdc\xdc\xd4\xc6\xc6F6\x84\xb3\xd7\xe0\xe7\xfe]\xa7\xd3\x19]\x19\x1aI\x85 [4\x91V\x0eL \xf5\x22\xc5\xa6\xad\xf6[\xffO\xd1\xfay\xb5\x97\xcfL\xd5\x04?\x1b\xb5\x95\x5c\x5c\x93\x8d\x02\xd3\xc1\x884\xfc\xbaV\xf3W\xc7Mp\xf5\x87mj\xb5Z\xb6\x87\xd6\xc1\x83\x07u\xf3\xcd7\xef\xe9\xd8n\xe8\xe6\x9ak\xae\xe9\xdby\xb8\xd8@\xe2bh\x0eE\x00\x00\x16FIDAT\xea\x03JC\x5cO\x8a\x03\xc9te{\xa16\xdf|E\xd1\xc6\x05\xb5/\x9eQ\x1c\x8d\xb6\x0a^\x94\xb8\xbd\x9a~\x10gU5w_!\x96\x8cFa\x95\x928\x8e\x15\x04A_\xa5DJv\xb7\x5c^^\xd6\xe9\xd3\xa7\x87v{\xbd^OKKK\xbap\xe1\xc2DWG|\xfeR??\x98\x8c\xb2\x82\x90\x9fO\xe2\x82\xd2\xeb\xaf\xbf\xae\xaf}\xedk:\x7f\xfe\xbc^~\xf9\xe5\xab\xba\x0d\x17J\xdc+>\xf7\xfd\x11N\x8ae\xd2\xf5\xb0\xc6\xb8`\xd2\x95\x22i\xe3\xcc\xdfd\xc2\x9aV\xce\xbc2U\xa1D\x92\x82J5i1o\x93\x0b\xcc\xb0\x16\xb4\xe6W\xdc\xb8\x06i.\x904\x9bM\xcd\xce\xce\xea}\xef{\xdf\x9e\xf6\xff:}\xfa\xb4\xfe\xfc\xe7?K\xda\xda\x11xPu\xb1\x10\xd9\xd6E\xe9E9\xee\xc9\xaa\xabXF\xdd\xe57\x14\xad\x9e\xd1\xda\xb9\x7f+\xee\x8e\xa6\x0a>26\x96\xe2(\xa9\x94\xc4\xf1\xd4=\x16\xca\xac\xb0Pb\x8c\xc9\xaa\x15\xae\xb4\xe9.n\xd5jUG\x8f\x1e\xbd\xe2V\xea\xf9\x07_\xaf\xd7\xd3\xf2\xf2\xb2VWWu\xf8\xf0\xe1=\xef%1J\xf9\xb9\x13n\x22\xb0\xff\xea\xc7U!\xfc'\x1e\xf7\xf5\xa3n\xa6\x96\x0f%.4\xf4z=\xad\xaf\xaf_\xf5\xf1\xdd\xbe\x1dLv\x1d1+Y\xc5Rl\x925x\xbdt=E\x94\x84\x94\xea\xcc|:\x86\xee?.\xcb\xde\x97\xc2z\xd7P7\x99\xd5]P\xe2\xb47i\x9c\x041W1\xba\xca\xbb\xda\xa0a\x9bJ\xa5\x92\xcd!i6\x9bj6\x9bZXX\xd8\xf3\x8e\xc0\xbf\xf8\xc5/d\xadU\xa5R\xd1\xcc\xccLV\x09\xf6\x87\xa8\x8b}\xcc\xa4\x13=\xe3\xd8\xab\xb2)\x9d\xa3\x13\xa96\xd3\x92\xad\xcfe\x1b\xe3\xf5\xf7/\x19\xf3}f\xd0\xcd\xbbI\xab\xd6U?\xacll%\xf5\xb2\xc9\xad&\x08\x92!\x1c\xb7\x22\xcd\x98\xe9\x9eoU\x22\x857Os\x174\x7f\xd2\xa6+q\xee4\x87\xe0R\x0f\xb0n\xb7\xab\xe5\xe5e\xad\xad\xadm\xfb\xda\xa2.\xdaE<\xe8w\xbb\x08\xfb\xe3\xc5\xe3\xe8W\xe2\xdf\x8e\xfb\x9d\xb9\xd5S\xeewZ\xaf\xd7u\xdbm\xb7)\x0c\xc3\xbe\xbd=\xf2\xc7q\xdf\x83\x0b\x5cn%V\xa7\xd3\x19K\xaf\x85}/\x9d\xe8\x9alI\x1f\xa7\xfb\xd1ER\xcff\xaf\x10\xab\xf5f\xb6\xdf\x89\xb7+\x9b\xc6~\x91\xd9\xc1\xf6%\xaaq\xb6\xd4\xd9()\xc5\xbbe\xcfVJ\xbe7\x05~\x8c\x91teU\xc8|\xd7j\xbfI\x9a[i3;;\xab\xb9\xb99\xdd}\xf7\xdd{\xaa\x92DQ\xa4G\x1f}TR\xff\x04W\x7f?\xae\xa2\x03\x89?\x84c\x8c\xdc\x8f6\xbd\xaf\x84\x0a\xc2P\xa6\x12(\xeb0a\xd20[\xd2\xfbJ\xc2n}\x0f\x92d{\xb26L\x87\xa8\xe24\x90\xc4\xda\x0a/\x18\x95\x91\x84\x12\xf7g7\x1c\x11\x04\xc9\x9d\xd7\xdf\xfd\xf6r\x86%\xda\xed\xb6.\x5c\xb8\x90\xed\xa2;\xe9\xfc\x9f\x91\xbbp\xe7\xc3\xc8\xb8\x86n|\xfe\x90\xd8\xa0\xe1\x9c\xfc\xef\xd17hY\xb1{\x9f\xdf\xd9\xd4}=\x93\x5c\x8b\xb6\xb5$X6m\x1f\xae\xf4\xfeh\xe34|\x04Y\x07Ok\xbd\xb0\xef~7\xdb~=\x83\x7f_\xa3\xa8\xec\xd9\xe4\x04\xb7\xa2\x85I+\x17&\xd9\xe5\xd6\xc8*\x08\xd3@\x15J66\x8a\xe3\xe4Uqr\xbfts^\xe3\xcb\xbe\xef\x0d\x0a$a\x18fC6~ Y\x5c\x5c\xd4\xbb\xdf\xfd\xee=}oO>\xf9\xa4\xde|\xf3MI\xc9\xd0M\xfeq3\x92yXi\x88M\x0aOi0\x91\x95\xed\x05\x92\xe9\xc9\xc4\x81b\xf7\xf3\xf0\x82\x9e-w&Qv\x9fM+&n\xf2s\x12b\xe3\xadf\x82\xae\xf5o\xd2\xa4e|\xe7\xbcO\x14\xde\xa7DJ^\xf5\xbb\x07\xbb{\xd5-i\xdb\xfb\x9dlnnjiii(\xc3\x05e\x93_\xb6\xec\x97d\xfd@7\x8e\x0b\xb5_\xc5\xca\x87K7\xf4\xe6\x07\x12\xc7\xff8\xbfD\xdc\xaf\x98\xb9\x10\x96\xaf\x02\x11HF!\x09&\xc9\x13n\x9c\xde\xc7\x82l\xd2\xa7I_\xed\xba\xeaH\x9c\xbb\xf0_\xc1\xad\x8c\x8e\x9b\xd7a\x8c\x8c5\x0a\xbd\x8e\xaaa\xfaB\xc8\xc8\xdd\xffzi8\xee\xc9\x98\xe4\xcf\xd6\x06\x97u\x1f\xf4\x97\xfd\xba@\xe2Ojm6\x9b\x9a\x9b\x9bS\xab\xd5\xd2\x81\x03\x07\xf4\x91\x8f|d\xcf;\xa4?\xfc\xf0\xc3\x92\xa4\xd9\xd9YU\xabU\xad\xae\xaef\x95\xe7\xd1=N\xfc\xfb\x8a\x95M\x87\xc2\x92\xf7\x81\xe2\xb8\xb7u\x7fQ\xf2u\x93\xf1\x10\xce\xce8k\x22(\xa5\xcf\xb7\xb9@b\xa5lY4\x8aU\xf86\x8f\xfe\xd2R\xf7\xf1\xa0\x0b\xd8\xa0\x07X\xbb\xdd\xd6\xb9s\xe7\xa62\x8c\xf8\xfc\xd0\x91\x7f\xb2\x19w\xe5 \x1fL\xfc\xdf\xe7\xa0M\x17\x07\x9d\xe7\xa0\xd0\x91\x0f^\xee\xf3TIF)\x7f\xb1\xe9)\x1b\x08\xb1i\x95$N\x7f\x17\xe9\x10N\x19\x7f3\xc9\x9ez\xe9n\xb622\x0aU\x09\x03U*\x81*\x95\xaa\xaa\xd5J\x1aN\x02\xb9\xa5\xd0\xc9PbO\x95J2\x9c\x18\xc7AV\x81\xb8\xd4dk\xff\xfe\xbe\xd3\xa4\xd6V\xab\xa5\xf9\xf9y\xbd\xff\xfd\xef\xd7M7\xdd\xb4\xa7\xef\xeb\x95W^\xd1\xf3\xcf?/IZ\x5c\x5c\xdc6)|\xb4\x8f\x93|\x88u\xbb,'C\x1c\xd6NR\x18\xe9g\xb3\xff\xa7\x93\x8c\x5c\x18\x91\xb6\x02\xc9\x98\xcem?\x1a\xc9\xde\xd3\xfe\xc5\xc8\x7f \xedT!\xe9t::\x7f\xfe\xbcVWWGqz\xa5\xb0\xd3\xbc\x912\x5c\xa4\xf3!I\x1a\x1cDv\xabx\xedV\x0d\xd9\xe9c\x8c\x82w\xb1\x91\xd2\x8b\x8cQ2\xd1$\xfd\xe4\xc0\xe1\x9a\xf2\xb0\xc6(\x90\x91L\xa0\xd0\x18UB\xa3j%T\xad^W\xbdVS\xadVS\xb5VU\x18\x86\x92\xa48\xd7\xd01\x0cCu\xbb\x91\x82 \xcaV\x0c\xfa+\xc1\x9c\x9d&\xb5\xfa\x81\xc4\x85\x91\xf9\xf9y\x9d8qB\xf7\xdcs\xcf\x9e\xbf\xafG\x1eyD\x92T\xa9T\xb2\xde$\x85\xef\x08\xbc+w?\xf0\xc2\x89\xbb\xe3\x18\xef\xef\xe4\xaa\x0d\xe5\xe7~znHjk\x12\xac\xfb\x0a7\xdd\x1b\xa32\x92P\xb2\x93\xfc\x03\xaa\xdb\xed\xea\xfc\xf9\xf3\xbax\xf1\xe2\x98\xce\xa8\x1c\xaed\xd2\xef\xa8\xe4\x83\x87\xabp\xecu\xce@\xd9\x82\xd7\xfe\xd6\xff$\xacl\x7f\x93I\xf8\x9d$\x17\x8dd\xd8F\xc9PJ\xa5\xa2z=\x9d\xdb\xd1\x9c\xd1L\xa3\xa1\x93'O\xea\x8e;\xee\xd0\xcf\x7f\xfes\xad\xaf\xafg\x8d\x00]SG\xd7\xa9\xb8\xdb\xed*\x08\x82m\x17\xfe|\xa7V\x7fRk\xbd^\xcf\x86l\x5c \xb9\xee\xba\xebt\xdf}\xf7e\xf3\xe7\xae\xd4\xca\xca\x8a\x1e{\xec1I\xd2\xc2\xc2B\x16\xa2\xfc\x09\xae\xe3\xb3=\xa4n\x85\x90\xad!\x91I\xe0\xb5\xec\xd9zg\xfd\x05D\x93\xf0\x18\x98.c\x0d%N\x14EZZZ\xd2\xf2\xf22\x17'\x95'\x88\x0c\x92?7\xff\x09{\xaf\xe7]\xe6\xefw\xffI.8\x93pQ\xd9\x0a\xb3\xfe\xea\x97d\xb2\xa9\xeb\xa0\xdaj\xb5t\xf0\xe0A}\xf6\xb3\x9f\xd5\x81\x03\x07\xf4\xcew\xbeS\x8f>\xfa\xa8\xfe\xf9\xcf\x7ff\x8d\x00\xd7\xd7\xd7\xb5\xb1\xb1\xa1J\xa5\x92\x0d\x91\xb8\x09\xa5\xd2\xd6}\xfcR\x93Z]\x95\xe4\xc8\x91#\xfa\xccg>\xa3\xd9\xd9\xd9=\x7fo\x0f?\xfcp\xd6\x01\xfb\xe0\xc1\x83j\xb7\xdb}\x0d\xd3\xca\xd3hp\xb2B\xc8\xa5\x98\xec\x7f\x18\x97\xb1\x86\x92^\xaf\xa7\x0b\x17.LU\xd3\xb3\xfd\xa8\x1cO\x8e\xd8\x8f\xdcP\x8a\xdf\xda\xddU.\x0e\xb4Z:0?\xafO~\xf2\x93:p\xe0\x80\xa4dY\xed\x97\xbe\xf4%\xfd\xfe\xf7\xbf\xd73\xcf<\xa3\xb5\xb555\x1a\x0d\xad\xad\xadicc#\xab\x9a\xf8\x01\xc0\xaf\x06\xba\xdbp\xbdH\xfc\xf0s\xe0\xc0\x01\x1d?~\x5c\x9f\xfa\xd4\xa7477\xb7\xe7\xef\xe9_\xff\xfa\x97\x1ez\xe8!I\xd2\x81\x03\x07d\xad\xdd\xd60\x0d\x98Vc\x09%q\x1c\xeb\xc2\x85\x0bZZZ\x22\x8c\x00\xd8\xb3|\x8f\x90\xbe\xa0p\xe0\x80\xfe\xd7M7m\x9b\xd7\x11\x86\xa1\xee\xbd\xf7^\x1d?~\x5c\xbf\xfd\xedou\xe6\xcc\x99\xbe`\xd2n\xb7\xb3\xa6~nu\x98\x1f~j\xe9<\x95\xfc\xc4\xd6[n\xb9E\xf7\xddw\xdf\x9e\xfa\x918\xd6Z}\xfb\xdb\xdf\xce:`_{\xed\xb5\xd9\xb0\xd2\xb8\xb7\x9c\x00Fa\xa4\xa1\xc4Z\xab\xe5\xe5e\x9d?\x7f~b\xf7\xa6\x010~~[w\x7f\xaf\x19\x17JZ\xad\x96Z\xad\x96\xee\xfb\xf8\xc7w\x9c\xd7q\xe3\x8d7\xea\xf3\x9f\xff\xbc\x9e~\xfai\xbd\xfc\xf2\xcbj6\x9bZ__\xef\x9bc\x92_58\xa89\xda\xc1\x83\x07\xf5\xc1\x0f~P\xb7\xddv\xdb\x9e\xe7\x908\x8f<\xf2\x88^x\xe1\x05I\xc9\x5c\x92J\xa5\xa2\xf5\xf5\xf5\xbe\x06\x83\x12\xd5IL\xaf\x91\xad\xbeYYY\xd1\xf9\xf3\xe7\xb3\xae\xa0\x00p5\xdc\xb0\xca\xa0\xd6\xee\xb3\xb3\xb3\xba\xf3\xce;u\xec\xd8\xb1]\x8f\xd1l6\xf5\xf1\x8f\x7f\x5c\xb7\xdf~\xbb\xfe\xf8\xc7?\xea\x8d7\xde\xd0\xe6\xe6\xa6\xda\xedv\xdf\xc4\xd2\x9d\xe6\x92\xdcq\xc7\x1d\xba\xeb\xae\xbb433s\xd5\xdf\xcf\xa9S\xa7\xf4\xbd\xef}O\x92T\xadV\xb5\xb8\xb8\xa8\x8d\x8d\x8d\xec<\xfc\xa5\xf4\xc0\xb4*<\x94\xac\xae\xae\xea\xdc\xb9s\xeat\xa6c\x17I\x00c\xe6M:uC*}\x15\x8cfS\xf3\xf3\xf3\xfa\xd0\x87>t\x99\x873:v\xec\x98\x8e\x1d;\xa6\xff\xfc\xe7?z\xf1\xc5\x17u\xea\xd4)mlll\xdb\x1a#\x0cC\xddx\xe3\x8d:q\xe2\x84\x8e\x1f?\xaef\xb39\xb4o\xeb;\xdf\xf9N\xd6\x93\xe9\x86\x1bn\xc8\x96,\x0f\xeaz\x0cL\xab\xc2B\xc9\xfa\xfa\xba\xce\x9d;\x97\xcd \x07\x80a\xf0\x17G\xf8\x13\x5ck\xb5Z2\xc9ufF'O~P\xadV\xeb\x8a\x8f}\xf4\xe8Q\x1d=zT\xd6Z\xad\xad\xadiyyY\xddnW\x8dF#\xab\xc2\x5c\xcd\x9c\x91\x9d\xfc\xf2\x97\xbf\xd4s\xcf=')\x99\x8c[\xab\xd5\xfa\x86m\xca\xb5\xe2\x06(\xce\xd0C\xc9\xe6\xe6\xe6\xbe\xe8\xc2\x0a`|\x06\xcd)\xa9T\x92`r\xe8\xd0!\xddu\xd7\xff\xb9\xea\xe3\xcf\xcd\xcd]\xd5*\x9a\xcb\xf5\xd6[o\xe9\xc1\x07\x1f\x94\x944J;t\xe8P6\xd9\x96\x157\xd8o\x86\x16J\xda\xed\xf6\xbe\xeb\xc2\x0a`\x9cLn\xf5M2\xb7\xe4\xa3\x1f\xfd\xa8*\x95R\xb4`\xba\xa4\xcd\xcdM}\xf3\x9b\xdf\xd4\xca\xca\x8a$\xe9\x1d\xefx\x87\xa2(\xda6\xa7Eb\xd8\x06\xfb\xc3P\x1e\xb9\xddnW\xff\xfe\xf7\xbf\x87q(\x00\xb8,[\x1b\x17oUMN\x9c8\xa1[o\xbdu\xbc'v\x99VWW\xf5\xd5\xaf~5[m3??\xafz\xbd\x9eMnuC6Ln\xc5~2\x94PB\x82\x070.\xfe\xee\xda\x1f\xfe\xf0\x87\xc7}:\x97eiiI_\xfe\xf2\x97\xf5\xd2K/I\x92\xea\xf5\xba\x16\x16\x16\xb2\x95?,\x01\xc6~uu\x8b\xea\x01`L\xdc\x85:\x8ec\xf5\xd2M\xf6~\xfc\xe3\x1f\x97\xbej\xfb\xe6\x9bo\xea\x8b_\xfcb\x16H\x1a\x8d\xc6\xb6\xd56.\x90\xd0,\x0d\xfb\x0d\xa1\x04\xc0\xc4\xf1\xab#.\x94t\xbb]\x9d={V?\xf8\xc1\x0f\xf4\xb3\x9f\xfdl\xdc\xa78\xd0\xcb/\xbf\xac/|\xe1\x0bz\xed\xb5\xd7$%}R\x8e\x1e=\xaa(\x8a\xb2\xce\xad\xe5\xdb\xdf\x06\x18\x9d\xc9\x98\x0d\x06\x009.\x94\xb8@\xe2v\xfc][[\xd3\x93O>\xa9\x97^zI\xdf\xfa\xd6\xb7\xd4h4\xc6}\xaa:}\xfa\xb4\xbe\xff\xfd\xef\xeb\xb1\xc7\x1e\xcb\x82\xc6\xec\xec\xac\x8e\x1c9\x92\xedV\xccj\x1b\x80J\x09\x80\x09\xe3\x0fi\xe4C\xc9\xfa\xfa\xbaVWW\xd5h4\xb4\xb2\xb2\xa2\xaf|\xe5+z\xe6\x99g\xc6v\xae+++\xfa\xeew\xbf\xabO|\xe2\x13\xfa\xd5\xaf~\x95\x9d\xf7\xfc\xfc\xbc\xae\xbf\xfe\xfal\x13@7\x8f\xc4\x9f\xd8J0\xc1~D(\x010\x91\x06UJ666\xb2\xa6g\xedv[\x0b\x0b\x0bz\xf0\xc1\x07u\xff\xfd\xf7\xeb\xd9g\x9f\x1d\xd9\xb9u:\x1d\xfd\xe4'?\xd1\xc7>\xf61\xfd\xe8G?\xca6\xd8k6\x9b:v\xec\x98\x16\x16\x16\xb2\xcd\xff\xfc\xa5\xbf~ \xf1w'\x06\xf6\x0b\x86o\x00L$w\xe1\xf6\x83\x89\xfb\xbc\xfb\x5c\xa7\xd3\xd1\xcd7\xdf\xac\xa5\xa5%}\xe3\x1b\xdf\xd0\x89\x13'\xf4\xc0\x03\x0f\xe8\x9e{\xee\x19\xfaE\xbf\xddn\xeb\xd9g\x9f\xd5\x13O<\xa1\xa7\x9f~:\xeb=\x22I\xb5ZM\xd7]w\x9d\x1a\x8d\x86:\x9dN\xd6\xad\xd5-\xfd\xcd\xaf\xb41\xc6P)\xc1\xbeD(\x010q\xf2\x17n\xb7\xeb\xb8\x1fH\xdcE\xbf\xddnkffFw\xdf}\xb7\xde~\xfbm}\xfd\xeb_W\xa3\xd1\xd0\x07>\xf0\x01\x9d<yR'O\x9e\xd4\xe2\xe2\xe2\x9e\xcec}}]\xbf\xfb\xdd\xef\xf4\xc4\x13O\xe8\x99g\x9e\xd1\xc6\xc6F\xdf\xdf\x87a\xa8\xc3\x87\x0f\xab\xd5jea\xa4\xdb\xedn\xebCB \x01\x12\x84\x12\x00\x13)\x7f\xe1\xf6\x97\xd1\xe6\x87u\xda\xedv\xb6w\xcd]w\xdd\xa5\xb7\xdezKO=\xf5\x94~\xfd\xeb_\xcb\x18\xa3[n\xb9E\xef}\xef{u\xe8\xd0!-..jaaA\x8b\x8b\x8bZ\x5c\x5c\x941F\xa7O\x9f\xd6\x993g\xb2\xf7\xee\xe3W_}5\x1b\x9aq\xc20\xd4\xfc\xfc\xbc\xe6\xe6\xe6T\xaf\xd7\x15E\x91\xd6\xd6\xd6\x14EQ\xd6\x7f$\xbf\xc9\x9e\xfb~\x08$\xd8\xef\x08%\x00&\xd6\xa0\x0aC~\xa9\xb0[n\xdbn\xb7\xb3\x8d\xfb\x9a\xcd\xa6\xde\xf3\x9e\xf7\xa8\xddnkyyYg\xcf\x9e\xd5O\x7f\xfa\xd3=\x07\x82j\xb5\xaa\x83\x07\x0f\xaa\xd5j\xa9V\xabe\x81\xc8\x0d\xd3\xe47\xd6\x1b\xb4\xeb/\x81\x04 \x94\x00\x98p\x83\x86r\x5c8q\xa1$\x0cCu\xbb]U*\x95mo\xadVK\xd7\x5cs\x8d\xac\xb5Z]]\xcd\x82\x84\xeb\x1b\xe2\xde\x87a\xa8z\xbd\xaeZ\xad\xa6j\xb5\xaaj\xb5\x9am\x06X\xadV\xb3\xf0\xb1\xba\xba\x9aUC\xfc\xaa\xc8\xa0\x96\xf1\xf90\x05\xecw\x84\x12\x00\x13/\x7fAw\x01 \x08\x82m\xe1$\x0c\xc3lw\xe1J\xa5\xd2\xb7\xd3p\x10\x04j\xb5Z\x0a\x82\xa0o\x22\xac_\x81\xf1\x87\x87\xe28V\xa7\xd3\xd1\xe6\xe6\xe6\xb6\x00\xe2\x0f\xd1\xe4\x97\xf9R\x1d\x01\x06#\x94\x00\x98\x1a\x83\xe6\x99\xb8p\xe2\x82B\x10\x04Y\xe8\x08\xc3\xb0\xef\xbd\xfb\xfc\xa0\x959~0\x91\xd4W\xfd\xf0\x87dv\x0b\x22\xf90B \x01\xfa\x11J\x00L\x9d\xfc\xc5\xbf\xd7\xebea#\x8e\xe3\xec\xe3(\x8a\xb20\x22){\xefB\x89{\x9f\x0f\x16\xf9p\xe27s\xf3\xbf.\x7f>;\xfd\x19@\x82P\x02`j\xedT\x99p\xa1\xc4\xaf\x88\xe4\x83H\xbeZ\x92\x1fz\xf1\x8f7h7_\x82\x07p\xe5\x08%\x00\xa6\x9e\x1f\x10\x5c@q\x15\x13\xf79\xff\xef\xfc\xcf\x0d:\xc6\xa09!\x84\x10\xe0\xea\x11J\x00\xec+\x83z\x83\xe4W\xc5\xec6\x01\x95j\x08P\x1cB\x09\x80}mP\xb0 l\x00\xe3\xc1\x86|\x00\x00\xa0\x14\x08%\x00\x00\xa0\x14\x08%\x00\x00\xa0\x14\x08%\x00\x00\xa0\x14\x08%\x00\x00\xa0\x14\x08%\x00\x00\xa0\x14\x08%\x00\x00\xa0\x14\x08%\x00\x00\xa0\x14\x08%\x00\x00\xa0\x14\x08%\x00\x00\xa0\x14\x08%\x00\x00\xa0\x14\x08%\x00\x00\xa0\x14\x08%\x00\x00\xa0\x14\x08%\x00\x00\xa0\x14\x08%\x00\x00\xa0\x14\x08%\x00\x00\xa0\x14\x08%\x00\x00\xa0\x14\x08%\x00\x00\xa0\x14\x08%\x00\x00\xa0\x14\x08%\x00\x00\xa0\x14\x08%\x00\x00\xa0\x14\x08%\x00\x00\xa0\x14\x08%\x00\x00\xa0\x14\x08%\x00\x00\xa0\x14\x08%\x00\x00\xa0\x14\x08%\x00\x00\xa0\x14\x08%\x00\x00\xa0\x14\x08%\x00\x00\xa0\x14\x08%\x00\x00\xa0\x14\x08%\x00\x00\xa0\x14\x08%\x00\x00\xa0\x14\x08%\x00\x00\xa0\x14\x08%\x00\x00\xa0\x14\x08%\x00\x00\xa0\x14\x08%\x00\x00\xa0\x14\x08%\x00\x00\xa0\x14\x08%\x00\x00\xa0\x14\x08%\x00\x00\xa0\x14\x08%\x00\x00\xa0\x14\x08%\x00\x00\xa0\x14\x08%\x00\x00\xa0\x14\x08%\x00\x00\xa0\x14\x08%\x00\x00\xa0\x14\x08%\x00\x00\xa0\x14\x08%\x00\x00\xa0\x14\x08%\x00\x00\xa0\x14\x08%\x00\x00\xa0\x14\x08%\x00\x00\xa0\x14\x08%\x00\x00\xa0\x14\x08%\x00\x00\xa0\x14\x08%\x00\x00\xa0\x14\x08%\x00\x00\xa0\x14\x08%\x00\x00\xa0\x14\x08%\x00\x00\xa0\x14\x08%\x00\x00\xa0\x14\x08%\x00\x00\xa0\x14\x08%\x00\x00\xa0\x14\x08%\x00\x00\xa0\x14\x08%\x00\x00\xa0\x14\x08%\x00\x00\xa0\x14\x08%\x00\x00\xa0\x14\x08%\x00\x00\xa0\x14\x08%\x00\x00\xa0\x14\x08%\x00\x00\xa0\x14\x08%\x00\x00\xa0\x14\x08%\x00\x00\xa0\x14\x08%\x00\x00\xa0\x14\x08%\x00\x00\xa0\x14\x08%\x00\x00\xa0\x14\x08%\x00\x00\xa0\x14\x08%\x00\x00\xa0\x14\x08%\x00\x00\xa0\x14\x08%\x00\x00\xa0\x14\x08%\x00\x00\xa0\x14\x08%\x00\x00\xa0\x14\x08%\x00\x00\xa0\x14\x08%\x00\x00\xa0\x14*\xc38\xc8\xc5\x8b\x17\xf5\xf6\xdbo\x0f\xe3P\x00\x00\xa0\xa4\xce\x9f?\xafj\xb5Z\xd8\xf1\x87\x12J\xa2(R\xbb\xdd\x1e\xc6\xa1\x00\x00@Iu:\x9dBC\x09\xc37\x00\x00\xa0\x14\x08%\x00\x00\xa0\x14\x08%\x00\x00\xa0\x14\x862\xa7\xe4\xfa\xeb\xaf\xd7\xbd\xf7\xde;\x8cC\x01\x00\x80\x12\xb2\xd6jaaAg\xcf\x9e-\xec6\x86\x12J\x8e\x1c9\xa2\xfb\xef\xbf\x7f\x18\x87\x02\x00\x00%\xf5\x87?\xfc\xa1\xfc\xa1D\x92z\xbd\xde\xb0\x0e\x05\x00\x00J\xc8Z[\xe8\xf1\x87\x12J\xac\xb5\x84\x12\x00\x00\xa6\x1c\xa1\x04\x00\x00\x94\xc2D\x84\x12c\x8c\xc20\x1c\xc6\xa1\x00\x00@I\x19c\x0a=\xfe\xd0BI\xa52\xb4\xe9)\x00\x00\xa0\x84\x82\xa0\xd8N\x22TJ\x00\x00\xc0e\xa1R\x02\x00\x00Ja\x22B\x89$*%\x00\x00L\xb9\x89\x08%TJ\x00\x00\x98~\x13\x13J\xa8\x94\x00\x000\xdd&f\xa2+\x95\x12\x00\x00\xa6\xdbDTJ$\xe6\x94\x00\x000\xed&\x22\x94P)\x01\x00`\xfaML(\xa1R\x02\x00\xc0t\x9b\x98PB\xa5\x04\x00\x80\xe96\x11\x13]%\xe6\x94\x00\x000\xed\xa8\x94\x00\x00\x80R\x98\x88P\x22\x15\x7f\xa2\x00\x00`\xba\x0d%\x94\xc4q\xac\x95\x95\x95a\x1c\x0a\x00\x00\x94T\x14E\x85\x1e\x7f(\xa1\xa4\xd7\xebiuuu\x18\x87\x02\x00\x00%51\xa1\x84J\x09\x00\x00\xd3\xad\xdb\xed\x16z\xfc\xa1\x85\x92\x8b\x17/\x0e\xe3P\x00\x00\xa0\xa4\xa8\x94\x00\x00\x80R\x98\x98J\x09\xa1\x04\x00\x80\xe9F\xa5\x04\x00\x00\x94\xc2DTJ\xa4$\x98\x00\x00\x80\xe9e\xad-\xf4\xf8\xc56\xb1\x07\x00\x00\xb8L\x84\x12\x00\x00P\x0a\x84\x12\x00\x00P\x0a\x84\x12\x00\x00P\x0a\x84\x12\x00\x00P\x0a\x84\x12\x00\x00P\x0a\x84\x12\x00\x00P\x0a\x84\x12\x00\x00P\x0a\x84\x12\x00\x00P\x0a\x84\x12\x00\x00P\x0a\x84\x12\x00\x00P\x0a\x84\x12\x00\x00P\x0a\x84\x12\x00\x00P\x0a\x84\x12\x00\x00P\x0a\x95+\xfcz\x9b\x7f3\xc6h}}\xdd\x9c={v\xe8'\x07\x00\x00\xca\xa3\xddnK\x03\xb2\xc0%\xde.\xdb\xe5\x84\x92A\x07\xce>w\xee\xdc\xb9\xb3\xbd^O\xd6\xda\xc0Z\x1bH\x0a\xac\xb5F\x92\xb9\x92\x13\x01\x00\x00\xe5w\xe1\xc2\x85U]Y\x18\xb9\xec\x80\xb2[(\xd9\xed\xa0\xd9\xdb\x0b/\xbc\xf0\xdf\x92\xfe\xbf\xa4\x86\xa4j\xfa\x16*\x19\x1a\x22\x9c\x00\x000=\xdc\xf5?\xde\xe1\xedr\x03\xca@;\x85\x92\x9d\xc2H\xdf\x8d\x1bcz\xd6Z\xf7\xe7\x9e\x92 \x12x\xff\x8eP\x02\x00\xc0\xf4\xf0\xf3@\xcf{\x1b\x94\x0b\x06\x05\x15\xff8\xdb\xe4C\x89\xff\x8f\xfa\xc2\x881&\xb6\xd6f\xef\xbd\x13\x89\xd2\xb7P[!\xc4j+\x9c\x10J\x00\x00\x98\x0e.#\xb8\x1c\x10\xe5\xde\xb2\x90b\x8c\x89\xfd\xf7\xda\x1eN\xb6UM.U)\x19T%\xc9\x9f@$\xa9\xab\xfe\x0a\x09\xc37\x00\x00L\x9f|\xa5\xc4e\x80\xae\x06\xe7\x83\xdd\x02\xc96~(\xc9\x7fa\x16D\xd2r\x8c\x9f\x88\xdc\x09t\x8c1\x95t\x82\xab\xf1N\xd2\x0f%\x00\x00`z\xe4CI\xa4$\x0ft$u\xb4=\xa4\xf4\x8c1\xd9\x10\x8f\x06\xe7\x0dI[\xa1\xc4\xcd\xff\xc8\x07\x92\xfc\xb8\x91\x1fH\xda\xe9\xbf\x0f\x8c1J\x87t*\xe9\x9b\x0b%\x12\xc1\x04\x00\x80i1p\xf8&\x0d$\x9bJ\xb2A[\xfd\xc1\xc4\x9fw\xe2\xe7\x0b\xe5\xdf\x0f\x1a\xbe\xc9\x0f\xd9\xb8\x83u\x8d1]km\xc7\x18\xd3\xb6\xd6\xfa\xc1#6\xc6D\x92*\xd6\xda\x8a\xfa'\xbc\x12J\x00\x00\x98\x0e~(q\xd7\xfeHI\x85\xa4-iC\xd2\xa61\xa6\xad\xa4z\xe2\xc2I>\x98\x0c\x5c\x85\xb3\xd3DW\x7fEM/\xbd\xd1\xae\xb5\xb6\x93\xfe\x9b\xaa1\xc6\xc4q\xec\x86l\xdc\x09\xf9U\x12\x86o\x00\x00\x98>YN\xf0\xa6v\xb8\x11\x94\xb61fC[U\x93\x8e1\xa6\x9b\xe6\x88\xbe\x95:\xba\xc4D\xd7\xfc\xe4\xd6\xac4\x93VH\xba\xe9\x8d\xb9&i\xd6\x18c\xb5\x15V\x5c\x7f\x92\x8a\x920B\xa5\x04\x00\x80\xe9\xe2WJ\xac\xb6\x86g\xba\xde\x9c\x92\x0dI\x1b\xc6\x18\x17L\xbai\xc5\xc4}m>\x90l\x9bS\xe2\xdf\xd8\xc0P\x92\xdeX`\xad5\xc6\x18\xe3-\x0b\xae\x19c\xaa\xe9\xb1\xc2tX\xc7\x88\x957\x00\x00L#\x7f\xab\x99\xfc\x9c\xd3\x8e\xb6\x86o6\x8d1\x9b\xc6\x98\xce.\xa1\xa4\xbfRb\x93\x94\x91\xbf!\x7f\xf8&\xda\xdc\xdc\xcc\x0f\xc7XIQ\xa5R\xe9Zkk\xda\x1a\xb6\x09\x8d1\xf9\xaf%\x98\x00\x000\x1d\xb6\xad\xd0\x95\xb7\x18\xc6\x18\xd3\x89\xa2\xc8UL\xf2\x13_\xfdP\xb2\xad\xfb\xabM'\xa5\xe6o,\xdf\xb95R\x7f\xd5\xc3}\xde-\x09v\xc36\xa1\x92JJ\xbe?\x09\xa1\x04\x00\x80\xe9\xd07\xd5\xc3k\x8c\x96-\x8aQ\xff*]\x7f\x99\xb0\xdf\xb7\xe4\x92sJ\xfc\x1b\xf4\x87o\xfc\x80\xe1\x7f\xbej\x8c\xc9*$n\xd8&\xad\x94\x10H\x00\x00\x98N\xdb\xda\x87x\xc38\xf9\xf6!\xbb-\x0d\xdeu\xf5M\xbe'}\x9c\xfbs>\xact\xbb\xdd\xae\xbf\xfc\xd7\x1f\xb6\xf1\xc3\x08\xc1\x04\x00\x80\xe90ho\xbc\xfc^7.\x80\xec\xd8\x82^\xb9\xa1\x1bw\xc0KUJ\x06\xfd\x9d\xbb\xa1l\xc8F[\xabm\x18\xb6\x01\x00`\xfa\x0dZ\xb1\xbb\xd3F}\xdb6\xee\xd3n\x95\x92t\xb2\xab\xeb\xe8\xeawv\xcdWKb%\xe1\xc3\xdf\x11\xd8\x0f#\x04\x12\x00\x00\xf6\x87\xdd\xf6\xc9\xdb\xedm\xdbr`k\xed\xae\x1d]}\xfe\x01\x5c(\xc9WF\x08$\x00\x00\xec?\x83\x82I\xber\xe2\xbf\x1f8l\xe3\x984\x9c$\x7f\xf0\xd6\x06k{\xd0\xb8\xd4\x9b\xff\xef\x00\x00\xc0\xf4\x1b4\xc7d\xb77\xe5>\xce\xaa$R.\x94H\x03\x83I\xfe\xfdN\x1f\xe7\x11N\x00\x00\x98N\xdb\xaa\x1c\x1a\x1c:\x06un\x1d\x18H\xa4\x01\xa1D\xda\x16L\xa4\xc1\xe1\x83\xea\x08\x00\x00p\xf2U\x93\xfc\xc7}\x81#\x1fH\xa4\x1dBI\xf6\x97\xdb\xc3\x89DU\x04\x00\x00l\xb7[\xf5d\xeb\x13\xbb\x04\x8f]CI\xdf\x17\x0e\x0e(\x00\x00\x00\xbb\xda-\x88\xf8\xfe\x07\x0ay2\xdec\xd2\xb5\xfb\x00\x00\x00\x00IEND\xaeB`\x82"
13 qt_resource_name = "\x00\x04\x00\x06\xfa^\x00i\x00c\x00o\x00n\x00\x12\x0d\xd4\xb6g\x00I\x00P\x00y\x00t\x00h\x00o\x00n\x00C\x00o\x00n\x00s\x00o\x00l\x00e\x00.\x00p\x00n\x00g"
14 qt_resource_struct = "\x00\x00\x00\x00\x00\x02\x00\x00\x00\x01\x00\x00\x00\x01\x00\x00\x00\x00\x00\x02\x00\x00\x00\x01\x00\x00\x00\x02\x00\x00\x00\x0e\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00"
15 def qInitResources():
16 QtCore.qRegisterResourceData(0x01, qt_resource_struct, qt_resource_name, qt_resource_data)
17
18 def qCleanupResources():
19 QtCore.qUnregisterResourceData(0x01, qt_resource_struct, qt_resource_name, qt_resource_data)
20
21 qInitResources()
@@ -0,0 +1,5 b''
1 <!DOCTYPE RCC><RCC version="1.0">
2 <qresource>
3 <file>icon/IPythonConsole.png</file>
4 </qresource>
5 </RCC>
1 NO CONTENT: new file 100644, binary diff hidden
NO CONTENT: new file 100644, binary diff hidden
1 NO CONTENT: new file 100644, binary diff hidden
NO CONTENT: new file 100644, binary diff hidden
This diff has been collapsed as it changes many lines, (698 lines changed) Show them Hide them
@@ -0,0 +1,698 b''
1 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2 <!-- Created with Inkscape (http://www.inkscape.org/) -->
3
4 <svg
5 xmlns:dc="http://purl.org/dc/elements/1.1/"
6 xmlns:cc="http://creativecommons.org/ns#"
7 xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
8 xmlns:svg="http://www.w3.org/2000/svg"
9 xmlns="http://www.w3.org/2000/svg"
10 xmlns:xlink="http://www.w3.org/1999/xlink"
11 xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
12 xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
13 width="671.10284"
14 height="595.38855"
15 id="svg2"
16 version="1.1"
17 inkscape:version="0.48+devel r10124"
18 sodipodi:docname="IPythonConsole_b.svg"
19 inkscape:export-filename="/Users/matthiasbussonnier/Desktop/IPythonConsole.png"
20 inkscape:export-xdpi="73.260002"
21 inkscape:export-ydpi="73.260002">
22 <defs
23 id="defs4">
24 <linearGradient
25 id="linearGradient1014">
26 <stop
27 style="stop-color:#d4d4d4;stop-opacity:1;"
28 offset="0"
29 id="stop1016" />
30 <stop
31 id="stop1018"
32 offset="0.41942194"
33 style="stop-color:#a7a7a7;stop-opacity:1;" />
34 <stop
35 style="stop-color:#dbdbdb;stop-opacity:1;"
36 offset="0.80724722"
37 id="stop1020" />
38 <stop
39 style="stop-color:#7b7b7b;stop-opacity:1;"
40 offset="1"
41 id="stop1022" />
42 </linearGradient>
43 <linearGradient
44 id="linearGradient1002">
45 <stop
46 id="stop1004"
47 offset="0"
48 style="stop-color:#d4d4d4;stop-opacity:1;" />
49 <stop
50 style="stop-color:#a7a7a7;stop-opacity:1;"
51 offset="0.5"
52 id="stop1006" />
53 <stop
54 id="stop1008"
55 offset="0.78038788"
56 style="stop-color:#ffffff;stop-opacity:1;" />
57 <stop
58 id="stop1010"
59 offset="1"
60 style="stop-color:#7b7b7b;stop-opacity:1;" />
61 </linearGradient>
62 <linearGradient
63 id="linearGradient990">
64 <stop
65 id="stop992"
66 offset="0"
67 style="stop-color:#d4d4d4;stop-opacity:1;" />
68 <stop
69 style="stop-color:#f6f6f6;stop-opacity:1;"
70 offset="0.18783081"
71 id="stop998" />
72 <stop
73 style="stop-color:#a7a7a7;stop-opacity:1;"
74 offset="0.33046141"
75 id="stop994" />
76 <stop
77 id="stop996"
78 offset="1"
79 style="stop-color:#7b7b7b;stop-opacity:1;" />
80 </linearGradient>
81 <inkscape:path-effect
82 effect="ruler"
83 id="path-effect1700"
84 is_visible="true"
85 unit="px"
86 mark_distance="20"
87 mark_length="14"
88 minor_mark_length="7"
89 major_mark_steps="5"
90 shift="0"
91 offset="0"
92 mark_dir="left"
93 border_marks="both" />
94 <linearGradient
95 inkscape:collect="always"
96 id="linearGradient1621">
97 <stop
98 style="stop-color:#d4d4d4;stop-opacity:1;"
99 offset="0"
100 id="stop1623" />
101 <stop
102 style="stop-color:#d4d4d4;stop-opacity:0;"
103 offset="1"
104 id="stop1625" />
105 </linearGradient>
106 <linearGradient
107 id="linearGradient1587">
108 <stop
109 style="stop-color:#d4d4d4;stop-opacity:1;"
110 offset="0"
111 id="stop1589" />
112 <stop
113 id="stop1595"
114 offset="0.5"
115 style="stop-color:#a7a7a7;stop-opacity:1;" />
116 <stop
117 style="stop-color:#e9e9e9;stop-opacity:1;"
118 offset="0.75"
119 id="stop1000" />
120 <stop
121 style="stop-color:#7b7b7b;stop-opacity:1;"
122 offset="1"
123 id="stop1591" />
124 </linearGradient>
125 <linearGradient
126 id="linearGradient826">
127 <stop
128 style="stop-color:#ffffff;stop-opacity:1;"
129 offset="0"
130 id="stop828" />
131 <stop
132 style="stop-color:#ffffff;stop-opacity:0.69512194;"
133 offset="1"
134 id="stop830" />
135 </linearGradient>
136 <linearGradient
137 inkscape:collect="always"
138 xlink:href="#linearGradient826"
139 id="linearGradient832"
140 x1="105.70982"
141 y1="518.53571"
142 x2="757.14288"
143 y2="248.53572"
144 gradientUnits="userSpaceOnUse"
145 gradientTransform="translate(55.203036,198.85482)" />
146 <style
147 id="style1439"
148 type="text/css">
149
150 @font-face { font-family:&quot;Inconsolata&quot;;src:url(&quot;#FontID0&quot;) format(svg)}
151 .fil0 {fill:#1F1A17}
152 .fil2 {fill:#006633}
153 .fil1 {fill:#1F1A17}
154 .fnt1 {font-weight:500;font-size:3.5278;font-family:'Inconsolata'}
155 .fnt0 {font-weight:500;font-size:6.35;font-family:'Inconsolata'}
156
157 </style>
158 <font
159 font-weight="500"
160 font-variant="normal"
161 id="FontID0"
162 horiz-origin-x="0"
163 horiz-origin-y="0"
164 horiz-adv-x="90"
165 vert-origin-x="45"
166 vert-origin-y="90"
167 vert-adv-y="90"
168 style="font-variant:normal;font-weight:500">
169 <font-face
170 id="font-face1359"
171 font-family="Inconsolata" />
172 <missing-glyph
173 id="missing-glyph1361">
174 <path
175 id="path1363"
176 d="M0 0z" />
177 </missing-glyph>
178 <glyph
179 id="glyph1365"
180 horiz-adv-x="499"
181 unicode=" " />
182 <glyph
183 id="glyph1367"
184 horiz-adv-x="499"
185 unicode="C">
186 <path
187 id="path1369"
188 d="M277.51 628.494c-96.8309,0 -237.003,-71.0074 -237.003,-320.313 0,-240.858 133.993,-318.527 236.663,-318.527 74.3239,0 143.659,39.0045 182.833,102.84l-51.8453 33.6754c-28.6581,-47.5084 -78.1507,-75.9964 -127.161,-75.9964 -91.6719,0 -172.317,95.6687 -172.317,264.159 0,165.514 78.4908,258.178 166.478,258.178 48.8406,0 94.3364,-28.8565 119.338,-72.3397 2.01259,-3.51494 3.51494,-6.00941 3.51494,-10.6582 0,-2.52282 -0.340155,-5.01729 -0.340155,-7.51176 0,-1.1622 -0.170078,-6.4913 4.50706,-9.83616l66.5004 32.825c-33.5053,75.1743 -108.339,123.505 -191.167,123.505z" />
189 </glyph>
190 <glyph
191 id="glyph1371"
192 horiz-adv-x="499"
193 unicode="I">
194 <path
195 id="path1373"
196 d="M88 623.339l0 -58.8346 115.669 0 0 -506.504 -122.504 0 0 -58.8346 321.843 0 0 58 -129.512 0 0 507.339 123.512 0 0 58.8346 -309.008 0z" />
197 </glyph>
198 <glyph
199 id="glyph1375"
200 horiz-adv-x="499"
201 unicode="P">
202 <path
203 id="path1377"
204 d="M58.6614 623.339l0 -623.339 72.5039 0 0 275.496 122.504 0 0 0c38.8346,0 76.1575,1.00787 114,20.1732 57.6693,29.3386 88,88.9921 88,152.157 0,63.0079 -30.3307,124 -89.1654,154.346 -39.1654,20 -77.8425,21.1654 -118,21.1654l-189.843 0zm72.5039 -65.6693l117.339 0c26,0 51.1654,-0.661417 76.5039,-13.3386 38.8189,-19.4961 58.9921,-59.1654 58.9921,-99.6693 0,-39.8268 -19.1654,-76.9921 -55.3386,-95.1654 -24,-12.1575 -47.8268,-12.8346 -72.3307,-12.8346l-126 0 0.834646 221.008z" />
205 </glyph>
206 <glyph
207 id="glyph1379"
208 horiz-adv-x="499"
209 unicode="g">
210 <path
211 id="path1381"
212 d="M125.999 314.502c0,55.3319 45.0139,100.317 100.488,100.317 55.6721,0 100.686,-44.9855 100.686,-100.317 0,-55.3319 -45.184,-100.346 -100.686,-100.346 -55.4737,0 -100.488,45.0139 -100.488,100.346zm104.995 157.322c-90.9916,0 -170.815,-72.3114 -170.815,-161.489 0,-50.0028 25.6534,-96.4907 67.4925,-123.845 -32.825,-27.836 -51.6753,-58.6484 -51.6753,-88.1569 0,-18.992 7.82357,-45.6659 36.6801,-60.8311 -49.0107,-31.3226 -74.3523,-64.998 -74.3523,-101.338 0,-49.8328 46.5162,-108.169 206.503,-108.169 154.827,0 210.329,78.3491 210.329,139.662 0,39.6848 -22.4786,79.6814 -70.9791,99.3537 -47.8485,19.3322 -103.01,12.8125 -154.686,12.8125 -34.1573,0 -55.502,3.17478 -65.3382,5.83933 -17.4897,4.84721 -27.666,15.5054 -27.666,29.9904 0,24.1794 28.1762,47.3383 32.6833,51.0233 18.5101,-6.83145 38.1541,-10.3464 57.9965,-10.3464 90.5097,0 164.664,72.1696 164.664,156.5 0,27.666 -8.16373,54.68 -23.329,77.3286 24.0093,14.5133 51.6753,22.1668 79.8231,22.1668 8.84404,0 17.6881,-0.651964 26.3337,-2.15432l-8.64561 58.6768c-46.006,3.48659 -91.5018,-11.0267 -126.85,-40.6769 -28.1762,28.1762 -66.5004,43.6533 -108.169,43.6533zm-69.6468 -447.163c17.3196,-2.32439 41.499,-4.33698 76.4783,-5.49918 33.6754,-1.33228 70.4972,1.1622 96.8309,-2.66455 42.3493,-6.4913 54.5099,-33.3352 54.5099,-53.3193 0,-19.8424 -11.3385,-43.8517 -42.8312,-60.6894 -33.5053,-18.1416 -71.9995,-19.9841 -102.67,-19.9841 -20.8345,0 -59.6689,1.1622 -94.1663,14.8251 -36.9919,14.6834 -45.1556,39.8265 -45.1556,55.8422 0,32.825 30.6707,57.0044 57.0044,71.4893z" />
213 </glyph>
214 <glyph
215 id="glyph1383"
216 horiz-adv-x="499"
217 unicode="m">
218 <path
219 id="path1385"
220 d="M38.0124 0l65.4799 0 0 304.836c0,21.4865 1.50235,41.499 14.5133,65.5082 16.4975,30.6423 36.9919,42.6611 55.1619,42.6611 16.3275,0 34.6675,-10.1763 42.321,-35.3478 6.00941,-18.992 4.50706,-40.9887 4.50706,-59.8106l0 -317.847 67.3508 0 0 302.171c0,24.0093 2.32439,43.6533 19.1621,72.1696 7.6535,12.6708 25.4833,41.1588 53.1493,41.1588 14.8534,0 28.9982,-8.67396 36.3399,-25.5117 8.33381,-19.3322 6.17949,-45.4958 6.17949,-66.1602l0 -324.65 68.1445 0 0 325.5c0,37.8139 1.67243,76.4783 -18.6519,106.979 -17.4897,26.3337 -45.6659,36.1699 -71.3476,36.1699 -43.8233,0 -84.642,-25.9935 -102.5,-66.3303 -7.14326,37.6722 -39.8265,66.5004 -80.8152,66.5004 -37.332,0 -72.5098,-24.151 -93.5144,-56.154l1.02047 44.8155 -66.5004 0 0 -456.659z" />
221 </glyph>
222 <glyph
223 id="glyph1387"
224 horiz-adv-x="499"
225 unicode="i">
226 <path
227 id="path1389"
228 d="M106.157 457.509l0 -58.6768 110.522 0 0 -340.836 -116.503 0 0 -57.9965 295.992 0 0 57.9965 -107.007 0 0 399.512 -183.004 0zm148.506 198.481c-28.6581,0 -51.817,-22.9888 -51.817,-51.3351 0,-28.3179 23.1589,-51.3351 51.6469,-51.3351 28.6864,0 51.8453,23.0172 51.8453,51.3351 0,28.3463 -23.1589,51.3351 -51.6753,51.3351z" />
229 </glyph>
230 <glyph
231 id="glyph1391"
232 horiz-adv-x="499"
233 unicode="c">
234 <path
235 id="path1393"
236 d="M456.488 381.654c-35.9998,52.6674 -97.3128,84.5003 -170.815,84.5003 -134.163,0 -229.52,-100.658 -229.52,-237.655 0,-137.82 95.8388,-239.668 225.013,-239.668 63.8358,0 124.837,25.6817 168.49,72.6799l-41.499 48.3304c-30.8124,-35.0077 -75.146,-55.3319 -120.982,-55.3319 -89.0073,0 -156.84,74.6641 -156.84,181.331 0,104.173 66.8405,169.171 150.831,169.171 78.009,0 115.511,-54.5099 118.176,-59.839 3.82675,-7.68184 -1.67243,-17.1778 6.32122,-23.1589l50.8249 59.6406z" />
237 </glyph>
238 <glyph
239 id="glyph1395"
240 horiz-adv-x="499"
241 unicode="a">
242 <path
243 id="path1397"
244 d="M90.6797 403.169l35.3195 -45.6659c37.332,39.1746 88.8372,50.8249 130.988,50.8249 54.3398,0 81.1837,-22.6487 94.0246,-43.8233 15.3353,-25.0014 14.8251,-54.5099 14.8251,-78.6609l0 -16.3558 -14.6834 0c-67.1523,0 -139.322,0.680311 -197.318,-20.6644 -72.1696,-26.5038 -104.825,-79.9932 -104.825,-130.648 0,-67.0106 58.3366,-129.344 153.665,-129.344 56.154,0 114.321,20.4944 164.153,61.3413l0 -50.1729 68.1728 0 0 283.179c0,37.4738 -1.33228,72.8216 -22.5069,107.999 -29.9904,49.9745 -87.9868,75.9964 -158.824,75.9964 -61.6815,0 -120.33,-19.8424 -162.991,-64.0059zm277.822 -189.013l0 -30.1604c0,-23.6691 -0.170078,-53.3193 -31.0108,-86.0026 -16.6676,-17.6597 -60.3209,-53.9997 -120.16,-53.9997 -60.491,0 -96.0088,38.3525 -96.0088,79.1712 0,33.1651 23.3573,70.4972 80.6735,84.1601 41.499,9.83616 102.67,6.83145 150.179,6.83145l16.3275 0z" />
245 </glyph>
246 <glyph
247 id="glyph1399"
248 horiz-adv-x="499"
249 unicode="e">
250 <path
251 id="path1401"
252 d="M258.66 468.167c-109.162,0 -209.989,-78.009 -209.989,-244.827 0,-152.163 95.1585,-233.828 219.344,-233.828 65.1397,0 124.327,23.981 163.473,70.9791l-39.6564 38.8344c-29.8203,-33.3352 -72.8216,-51.3351 -118.317,-51.3351 -61.1713,0 -149.527,33.6754 -155.026,170.503l324.168 0c2.83463,31.351 1.33228,60.661 -3.14644,87.3349 -20.6644,122.513 -106.015,162.339 -180.849,162.339zm-137.82 -194.512c14.1731,107.858 83.8199,139.18 132.831,139.18 73.9838,0 126.821,-64.998 118.317,-139.18l-251.148 0z" />
253 </glyph>
254 <glyph
255 id="glyph1403"
256 horiz-adv-x="499"
257 unicode="n">
258 <path
259 id="path1405"
260 d="M68.1732 0l73.3228 0 0 263.339c0,30.8346 3.66929,53.1654 22.6772,78.4882 17.4961,23.1811 61.3228,63.5118 109.654,63.5118 23.0079,0 45.5118,-9.16535 62,-28.8346 24.6772,-29.4961 24.8346,-68.8346 24.8346,-101.008l0 -275.496 70.8346 0 0 277.165 0 0c0,35.6693 -0.15748,73.3386 -16.4882,110.173 -22.6772,51.3228 -69.5118,80.4882 -121.669,80.4882 -62,0 -118.331,-40.4882 -151.843,-91.3228l0 80.1575 -73.3228 0 0 -456.661z" />
261 </glyph>
262 <glyph
263 id="glyph1407"
264 horiz-adv-x="499"
265 unicode="o">
266 <path
267 id="path1409"
268 d="M460 226.504c0,157.827 -99.4961,240.504 -203.339,240.504 -116.331,0 -216.157,-100.835 -216.157,-242 0,-139.008 98.8346,-237.008 214,-237.008 108.157,0 205.496,87.0079 205.496,238.504zm-208.173 179.323c65.8425,0 135.843,-56.8189 135.843,-182.331 0,-114.992 -65.8425,-173.323 -132.504,-173.323 -72.8346,0 -138.661,68.4882 -138.661,181.165 0,112 65.3228,174.488 135.323,174.488z" />
269 </glyph>
270 <glyph
271 id="glyph1411"
272 horiz-adv-x="499"
273 unicode="h">
274 <path
275 id="path1413"
276 d="M69.8268 0l73.5118 0 0 263.339c0,30.8346 3.66929,53.1654 22.6614,78.4882 17.3386,23.1811 61.3386,63.5118 109.669,63.5118 22.8346,0 45.4961,-9.16535 61.8268,-28.8346 24.8346,-29.4961 25.0079,-68.8346 25.0079,-101.008l0 -275.496 70.6614 0 0 277.165 0 0c0,35.6693 -0.15748,73.3386 -16.5039,110.173 -22.6614,51.3228 -69.4961,80.4882 -121.496,80.4882 -62,0 -118.331,-40.4882 -151.827,-91.3228l0 264.835c0,3.49606 0.15748,6 3.49606,9.66929 2.33071,2.33071 6.33071,5.49606 6.33071,10.6614 0,0.992126 -0.15748,2 -0.330709,2.99213l-83.0079 0 0 -664.661z" />
277 </glyph>
278 <glyph
279 id="glyph1415"
280 horiz-adv-x="499"
281 unicode="u">
282 <path
283 id="path1417"
284 d="M63.0138 456.659l-0.850388 -254.493c-0.170078,-39.8265 0.170078,-79.8231 18.17,-119.99 26.6738,-60.0091 82.4877,-93.3443 141.845,-93.3443 57.3162,0 111.316,30.8408 141.164,81.1554l-0.850388 -34.4974c-0.311809,-11.6503 -0.170078,-23.4991 1.67243,-35.4895l75.9964 0c-4.50706,13.833 -5.15902,28.1762 -5.15902,41.669l0 414.99 -72.5098 0 0 -251.148c0,-35.1777 -2.83463,-62.1634 -17.9999,-90.1695 -21.0046,-38.1824 -61.4831,-67.6626 -105.505,-67.6626 -35.8297,0 -69.1649,19.644 -87.3349,55.8138 -16.3275,32.3431 -16.1574,68.0027 -16.1574,98.6734l0 254.493 -72.4814 0z" />
285 </glyph>
286 <glyph
287 id="glyph1419"
288 horiz-adv-x="499"
289 unicode="p">
290 <path
291 id="path1421"
292 d="M59.4988 456.659l0.822042 -623.165 73.5019 0 0 226.997c30.5006,-45.1556 81.5239,-72.6515 136.998,-72.6515 93.5144,0 191.678,78.3208 191.678,245.989 0,161.177 -95.4986,233.176 -185.328,233.176 -58.6768,0 -113.158,-30.3305 -144.339,-80.1633l0 69.8169 -73.3318 0zm191.337 -50.995c39.9966,0 136.827,-21.0046 136.827,-186.66 0,-144.169 -94.5065,-167.158 -137.338,-167.158 -43.3131,0 -86.3144,21.4865 -104.484,62.9854 -13.3511,30.8408 -13.0109,68.513 -13.0109,134.673 0,38.4942 2.01259,66.3303 11.9905,89.9994 17.518,40.9887 60.0091,66.1602 106.015,66.1602z" />
293 </glyph>
294 <glyph
295 id="glyph1423"
296 horiz-adv-x="499"
297 unicode="v">
298 <path
299 id="path1425"
300 d="M39.6564 457.509l181.331 -460.996 56.0122 0 111.344 260.814c27.3258,64.0059 52.9792,130.676 68.1445,200.181l-64.6579 0c-12.1606,-66.5004 -36.3399,-129.854 -62.1634,-189.835l-73.3318 -170.021 -132.009 334.004c-0.822042,2.18266 -1.50235,3.85509 -1.50235,6.34957 0,5.98106 4.84721,11.3385 3.17478,19.5022l-86.3428 0z" />
301 </glyph>
302 <glyph
303 id="glyph1427"
304 horiz-adv-x="499"
305 unicode="r">
306 <path
307 id="path1429"
308 d="M99.1553 456.659l0 -457.481 72.5098 0 0 222.83c0,27.4959 1.1622,57.8264 32.173,106.979 41.499,65.6783 96.0088,77.0168 128.324,77.0168 38.4942,0 62.6736,-17.8298 75.5145,-34.3273 5.98106,-7.68184 9.32593,-15.5054 16.9794,-22.8471l33.6754 68.9948c-28.8282,29.5085 -70.8373,49.8328 -122.172,49.8328 -66.8122,0 -134.503,-33.647 -164.493,-98.9852l2.66455 87.9868 -75.1743 0z" />
309 </glyph>
310 <glyph
311 id="glyph1431"
312 horiz-adv-x="499"
313 unicode="t">
314 <path
315 id="path1433"
316 d="M188.173 579.165l-8.67717 -122.504 -108.661 0 -1.00787 -58.6614 107.008 0c-6.33071,-78.1732 -9.33858,-156 -9.33858,-233.496 0,-41.0079 0.330709,-87.0079 26.8346,-124.331 21.6693,-30.6772 57.3386,-48.8346 104,-48.8346 54.5039,0 107.496,22.8346 146.173,51.1654l-22.5039 56.8346c-38.8346,-28.6772 -74.1732,-41.6693 -102.331,-41.6693 -34.1732,0 -69.4961,18.8346 -76.8346,73.8268 -0.503937,4 -3.00787,21.5118 -3.00787,87.8425 0,59.6693 3.00787,119.323 8.67717,178.661l150.157 0 0 59.4961 -149.323 0c0,0 6.99213,82.3307 11.6693,107.669 2,10.6614 9.16535,16.8346 5.65354,27.0079l-78.4882 -13.0079z" />
317 </glyph>
318 <glyph
319 id="glyph1435"
320 horiz-adv-x="499"
321 unicode="y">
322 <path
323 id="path1437"
324 d="M45.6693 456.661l185.669 -454.835 -14.6772 -33.8268c-8,-18.1732 -17.1654,-37.4961 -31.4961,-53.0079 -19.1654,-20.1575 -42.5039,-29.4961 -64,-29.4961 -33.8268,0 -51.1654,22.6772 -53.6693,27.4961 -2.48819,5.00787 -2,11.6693 -8,16.1732l-36.9921 -64.6614c26.3307,-25.1654 61.3228,-38.1732 98.9921,-38.1732 41.1654,0 84,15.1654 114.504,49.4961 19.8268,22.5039 29.4961,46.5039 39.3386,72.3465l142.331 377.323c16.5039,43.5118 32.3307,87.3386 45.8268,132l-75.1654 0c-7.49606,-41.8268 -20.5039,-82.3307 -34.5039,-121.669l-87.1654 -244.992 -133.827 336.504c-1.00787,2.83465 -1.82677,4.99213 -1.82677,8 0,7.32283 4.99213,12.3307 4.48819,21.3228l-89.8268 0z" />
325 </glyph>
326 </font>
327 <linearGradient
328 inkscape:collect="always"
329 xlink:href="#linearGradient1587"
330 id="linearGradient1593"
331 x1="361.16904"
332 y1="714.66962"
333 x2="361.16904"
334 y2="763.15692"
335 gradientUnits="userSpaceOnUse"
336 gradientTransform="translate(72.46875,216.125)" />
337 <linearGradient
338 inkscape:collect="always"
339 xlink:href="#linearGradient1587"
340 id="linearGradient1606"
341 x1="373.29086"
342 y1="221.5674"
343 x2="372.71057"
344 y2="268.03442"
345 gradientUnits="userSpaceOnUse"
346 gradientTransform="translate(72.46875,216.125)" />
347 <linearGradient
348 inkscape:collect="always"
349 xlink:href="#linearGradient1621"
350 id="linearGradient1627"
351 x1="310.46347"
352 y1="505.50644"
353 x2="311.31174"
354 y2="545.5957"
355 gradientUnits="userSpaceOnUse"
356 gradientTransform="translate(72.46875,216.125)" />
357 <linearGradient
358 inkscape:collect="always"
359 xlink:href="#linearGradient1621"
360 id="linearGradient1631"
361 gradientUnits="userSpaceOnUse"
362 x1="390.46347"
363 y1="712.64929"
364 x2="389.88318"
365 y2="764.16711"
366 gradientTransform="translate(55.203036,198.85477)" />
367 <linearGradient
368 inkscape:collect="always"
369 xlink:href="#linearGradient990"
370 id="linearGradient870"
371 gradientUnits="userSpaceOnUse"
372 gradientTransform="translate(55.203036,198.85482)"
373 x1="336.14798"
374 y1="18.710255"
375 x2="336.14798"
376 y2="66.858391" />
377 <clipPath
378 clipPathUnits="userSpaceOnUse"
379 id="clipPath967">
380 <g
381 id="g969">
382 <flowRoot
383 transform="matrix(2.3161183,0,0,2.3161183,495.71388,608.04007)"
384 style="font-size:48px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Helvetica"
385 id="flowRoot971"
386 xml:space="preserve"><flowRegion
387 id="flowRegion973"><rect
388 y="-309.14731"
389 x="-324.28571"
390 height="197.14285"
391 width="770"
392 id="rect975" /></flowRegion><flowPara
393 id="flowPara977">Qt Console</flowPara></flowRoot> </g>
394 </clipPath>
395 <clipPath
396 clipPathUnits="userSpaceOnUse"
397 id="clipPath1197">
398 <g
399 id="g1199"
400 transform="matrix(0.43175688,0,0,0.43175688,-214.02788,-262.52547)"
401 style="fill:#363636;fill-opacity:1">
402 <flowRoot
403 transform="matrix(2.3161183,0,0,2.3161183,495.71388,608.04007)"
404 style="font-size:48px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#363636;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Helvetica"
405 id="flowRoot1201"
406 xml:space="preserve"><flowRegion
407 id="flowRegion1203"><rect
408 y="-309.14731"
409 x="-324.28571"
410 height="197.14285"
411 width="770"
412 id="rect1205"
413 style="fill:#363636;fill-opacity:1" /></flowRegion><flowPara
414 id="flowPara1207">Qt Console</flowPara></flowRoot> </g>
415 </clipPath>
416 <filter
417 inkscape:collect="always"
418 id="filter986"
419 color-interpolation-filters="sRGB">
420 <feGaussianBlur
421 inkscape:collect="always"
422 stdDeviation="3.1673214"
423 id="feGaussianBlur988" />
424 </filter>
425 <linearGradient
426 inkscape:collect="always"
427 xlink:href="#linearGradient1014"
428 id="linearGradient1012"
429 gradientUnits="userSpaceOnUse"
430 gradientTransform="translate(55.203036,198.85482)"
431 x1="291.68039"
432 y1="501.71091"
433 x2="291.68039"
434 y2="548.72211" />
435 <filter
436 inkscape:collect="always"
437 id="filter923">
438 <feGaussianBlur
439 inkscape:collect="always"
440 stdDeviation="5.9071426"
441 id="feGaussianBlur925" />
442 </filter>
443 </defs>
444 <sodipodi:namedview
445 id="base"
446 pagecolor="#ffffff"
447 bordercolor="#666666"
448 borderopacity="1.0"
449 inkscape:pageopacity="0.0"
450 inkscape:pageshadow="2"
451 inkscape:zoom="0.7"
452 inkscape:cx="375.6861"
453 inkscape:cy="291.52696"
454 inkscape:document-units="px"
455 inkscape:current-layer="layer1"
456 showgrid="false"
457 fit-margin-top="0"
458 fit-margin-left="0"
459 fit-margin-right="0"
460 fit-margin-bottom="0"
461 inkscape:window-width="1245"
462 inkscape:window-height="840"
463 inkscape:window-x="313"
464 inkscape:window-y="7"
465 inkscape:window-maximized="0" />
466 <metadata
467 id="metadata7">
468 <rdf:RDF>
469 <cc:Work
470 rdf:about="">
471 <dc:format>image/svg+xml</dc:format>
472 <dc:type
473 rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
474 <dc:title />
475 </cc:Work>
476 </rdf:RDF>
477 </metadata>
478 <g
479 inkscape:label="Calque 1"
480 inkscape:groupmode="layer"
481 id="layer1"
482 transform="translate(-55.203036,-198.85482)">
483 <rect
484 style="color:#000000;fill:#020202;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;filter:url(#filter923);opacity:0.76811594000000005"
485 id="rect1032"
486 width="628.57141"
487 height="552.85712"
488 x="76.46875"
489 y="220.12053"
490 rx="0"
491 ry="0"
492 transform="matrix(1.0302325,0,0,1.0302325,-11.81348,-15.011915)" />
493 <rect
494 y="217.10948"
495 x="73.475792"
496 height="550.30133"
497 width="626.97699"
498 id="rect1629"
499 style="color:#000000;fill:url(#linearGradient1631);fill-opacity:1;fill-rule:nonzero;stroke:#5b5b5b;stroke-width:2;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
500 <rect
501 y="218.07646"
502 x="74.285713"
503 height="51.428596"
504 width="625.71429"
505 id="rect12"
506 style="color:#000000;fill:url(#linearGradient870);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
507 <path
508 inkscape:connector-curvature="0"
509 id="rect797"
510 d="m 74.285713,715.2193 625.714297,0 0,51.4286 -625.714297,0 z"
511 style="color:#000000;fill:url(#linearGradient1012);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
512 <rect
513 style="color:#000000;fill:#1b1b1b;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
514 id="rect10"
515 width="625.71429"
516 height="448.57144"
517 x="74.285713"
518 y="266.64789" />
519 <g
520 transform="matrix(1.2764807,0,0,1.2764807,-25.409049,-127.44794)"
521 id="g173"
522 style="filter:url(#filter986)">
523 <g
524 style="fill:#131313;fill-opacity:1"
525 id="g175"
526 transform="matrix(4.0952771,0,0,4.0952771,-139.4611,-3318.8596)">
527 <polygon
528 points="10.0503,11.7393 10.0503,10.8669 8.1088,10.8669 8.1088,3.2363 9.96,3.2363 9.96,2.3478 5.3094,2.3478 5.3094,3.2363 7.0554,3.2363 7.0554,10.8516 5.2042,10.8516 5.2042,11.7393 "
529 class="fil1"
530 id="polygon177"
531 style="fill:#131313;fill-opacity:1;fill-rule:evenodd"
532 transform="matrix(3.5433071,0,0,3.5433071,37.457697,902.38751)" />
533 <path
534 d="m 82.791477,910.66999 0,33.49347 3.870708,0 0,-14.78552 6.612166,0 c 2.096575,0 4.086496,-0.0521 6.128504,-1.07433 3.064255,-1.61256 4.731375,-4.78382 4.731375,-8.22508 0,-3.38669 -1.66712,-6.66567 -4.838029,-8.27822 -2.096575,-1.07575 -4.14,-1.1289 -6.289724,-1.1289 l -10.215,-0.001 z m 3.870708,3.54791 6.344292,0 c 1.396771,0 2.741811,10e-4 4.085078,0.69981 2.096575,1.02224 3.171965,3.17232 3.171965,5.37661 0,2.09693 -1.021886,4.08543 -2.95724,5.10626 -1.290118,0.64524 -2.580236,0.64524 -3.923858,0.64524 l -6.773741,0 0.0535,-11.82792 z"
535 class="fil1"
536 id="path180"
537 inkscape:connector-curvature="0"
538 style="fill:#131313;fill-opacity:1;fill-rule:evenodd" />
539 <polygon
540 points="24.2429,3.0409 24.2429,2.2926 20.6763,2.2926 20.6763,11.7581 24.2555,11.7581 24.2555,11.0472 21.4743,11.0472 21.4743,3.0409 "
541 class="fil2"
542 id="polygon182"
543 style="fill:#131313;fill-opacity:1;fill-rule:evenodd"
544 transform="matrix(3.5433071,0,0,3.5433071,37.457697,902.38751)" />
545 <polygon
546 points="29.9386,11.7497 33.4854,11.7497 33.4854,2.3375 29.9512,2.3375 29.9512,3.0815 32.7041,3.0815 32.7041,11.0428 29.9386,11.0428 "
547 class="fil2"
548 id="polygon184"
549 style="fill:#131313;fill-opacity:1;fill-rule:evenodd"
550 transform="matrix(3.5433071,0,0,3.5433071,37.457697,902.38751)" />
551 <path
552 d="m 169.69073,935.1142 c 0,-1.37338 -1.16043,-2.49023 -2.53382,-2.49023 -1.41697,-10e-4 -2.57634,1.11685 -2.57634,2.49023 0,1.33193 1.15937,2.44772 2.57634,2.44772 1.37445,0 2.53276,-1.11579 2.53276,-2.44772 l 0.001,0 z m 0,-13.69878 c 0,-1.37338 -1.16043,-2.48917 -2.53382,-2.48917 -1.41697,0 -2.57634,1.11579 -2.57634,2.49024 0,1.33086 1.15937,2.44771 2.57634,2.44771 1.37445,-10e-4 2.53276,-1.11685 2.53276,-2.44771 l 0.001,-10e-4 z"
553 class="fil2"
554 id="path186"
555 inkscape:connector-curvature="0"
556 style="fill:#131313;fill-opacity:1;fill-rule:evenodd" />
557 <path
558 d="m 123.18305,918.97515 9.1474,22.5 c -0.50102,1.61964 -1.10445,3.46925 -2.20004,4.59035 -1.09594,1.1211 -2.08878,1.49351 -3.19854,1.49918 -1.10976,0.006 -2.18905,-0.85217 -3.32362,-1.75678 l -1.62461,2.75705 c 1.34965,1.29862 3.09792,1.94917 4.94823,1.94917 2.09906,0 4.64067,-1.0396 5.74724,-2.49944 1.10693,-1.45985 1.49634,-2.31166 1.94953,-3.59859 l 8.95536,-25.43952 -3.26729,-0.009 -6.3046,17.76791 -7.21382,-17.75905 -3.61524,-0.001 z"
559 class="fil1"
560 id="path188"
561 inkscape:connector-curvature="0"
562 style="fill:#131313;fill-opacity:1;fill-rule:evenodd" />
563 </g>
564 <polygon
565 points="5.2042,11.7393 10.0503,11.7393 10.0503,10.8669 8.1088,10.8669 8.1088,3.2363 9.96,3.2363 9.96,2.3478 5.3094,2.3478 5.3094,3.2363 7.0554,3.2363 7.0554,10.8516 5.2042,10.8516 "
566 class="fil1"
567 id="polygon190"
568 style="fill:#e9e9e9;fill-opacity:1;fill-rule:evenodd"
569 transform="matrix(14.510825,0,0,14.510825,12.290214,374.68932)" />
570 <path
571 d="m 197.94461,408.60838 0,137.16504 15.85162,0 0,-60.55081 27.07864,0 c 8.58608,0 16.73535,-0.21337 25.09794,-4.39968 12.54896,-6.60388 19.37629,-19.59107 19.37629,-33.68397 0,-13.86944 -6.82733,-27.29777 -19.81307,-33.90161 -8.58606,-4.4055 -16.95445,-4.62315 -25.75816,-4.62315 l -41.83326,-0.004 z m 15.85162,14.52967 25.98164,0 c 5.72017,0 11.22847,0.004 16.72952,2.8659 8.58606,4.18637 12.99008,12.99155 12.99008,22.01872 0,8.58751 -4.18491,16.73096 -12.11071,20.91155 -5.2834,2.64243 -10.56679,2.64243 -16.0693,2.64243 l -27.74035,0 0.2191,-48.4386 z"
572 class="fil1"
573 id="path192"
574 inkscape:connector-curvature="0"
575 style="fill:#e9e9e9;fill-opacity:1;fill-rule:evenodd" />
576 <polygon
577 points="20.6763,11.7581 24.2555,11.7581 24.2555,11.0472 21.4743,11.0472 21.4743,3.0409 24.2429,3.0409 24.2429,2.2926 20.6763,2.2926 "
578 class="fil2"
579 id="polygon194"
580 style="fill:#3465a4;fill-opacity:1;fill-rule:evenodd"
581 transform="matrix(14.510825,0,0,14.510825,12.290214,374.68932)" />
582 <polygon
583 points="29.9512,2.3375 29.9512,3.0815 32.7041,3.0815 32.7041,11.0428 29.9386,11.0428 29.9386,11.7497 33.4854,11.7497 33.4854,2.3375 "
584 class="fil2"
585 id="polygon196"
586 style="fill:#3465a4;fill-opacity:1;fill-rule:evenodd"
587 transform="matrix(14.510825,0,0,14.510825,12.290214,374.68932)" />
588 <path
589 d="m 553.82114,508.71419 c 0,-5.62437 -4.75228,-10.19818 -10.3767,-10.19818 -5.80288,-0.004 -10.55082,4.57381 -10.55082,10.19818 0,5.45462 4.74794,10.02409 10.55082,10.02409 5.62876,0 10.37235,-4.56947 10.37235,-10.02409 l 0.004,0 z m 0,-56.1003 c 0,-5.62437 -4.75228,-10.19384 -10.3767,-10.19384 -5.80288,0 -10.55082,4.56947 -10.55082,10.19821 0,5.45024 4.74794,10.02406 10.55082,10.02406 5.62876,-0.004 10.37235,-4.57382 10.37235,-10.02406 l 0.004,-0.004 z"
590 class="fil2"
591 id="path198"
592 inkscape:connector-curvature="0"
593 style="fill:#3465a4;fill-opacity:1;fill-rule:evenodd" />
594 <path
595 d="m 363.3593,442.6203 37.46114,92.14374 c -2.05183,6.63289 -4.52303,14.20754 -9.00978,18.79876 -4.48817,4.59122 -8.55414,6.11634 -13.0989,6.13956 -4.54478,0.0246 -8.96477,-3.48987 -13.61115,-7.19451 l -6.65323,11.29088 c 5.52719,5.31822 12.68684,7.98239 20.26438,7.98239 8.59622,0 19.00482,-4.25744 23.53654,-10.23589 4.53318,-5.97849 6.12792,-9.46689 7.98386,-14.73723 l 36.67469,-104.18188 -13.38047,-0.0368 -25.81908,72.76453 -29.5426,-72.72825 -14.8054,-0.004 z"
596 class="fil1"
597 id="path200"
598 inkscape:connector-curvature="0"
599 style="fill:#e9e9e9;fill-opacity:1;fill-rule:evenodd" />
600 </g>
601 <g
602 id="g158"
603 transform="matrix(1.2764807,0,0,1.2764807,-25.409049,-127.44794)">
604 <g
605 transform="matrix(4.0952771,0,0,4.0952771,-139.4611,-3318.8596)"
606 id="g1211"
607 style="fill:#131313;fill-opacity:1">
608 <polygon
609 transform="matrix(3.5433071,0,0,3.5433071,37.457697,902.38751)"
610 style="fill:#131313;fill-opacity:1;fill-rule:evenodd"
611 id="polygon1213"
612 class="fil1"
613 points="10.0503,11.7393 10.0503,10.8669 8.1088,10.8669 8.1088,3.2363 9.96,3.2363 9.96,2.3478 5.3094,2.3478 5.3094,3.2363 7.0554,3.2363 7.0554,10.8516 5.2042,10.8516 5.2042,11.7393 " />
614 <path
615 style="fill:#131313;fill-opacity:1;fill-rule:evenodd"
616 inkscape:connector-curvature="0"
617 id="path1215"
618 class="fil1"
619 d="m 82.791477,910.66999 0,33.49347 3.870708,0 0,-14.78552 6.612166,0 c 2.096575,0 4.086496,-0.0521 6.128504,-1.07433 3.064255,-1.61256 4.731375,-4.78382 4.731375,-8.22508 0,-3.38669 -1.66712,-6.66567 -4.838029,-8.27822 -2.096575,-1.07575 -4.14,-1.1289 -6.289724,-1.1289 l -10.215,-0.001 z m 3.870708,3.54791 6.344292,0 c 1.396771,0 2.741811,10e-4 4.085078,0.69981 2.096575,1.02224 3.171965,3.17232 3.171965,5.37661 0,2.09693 -1.021886,4.08543 -2.95724,5.10626 -1.290118,0.64524 -2.580236,0.64524 -3.923858,0.64524 l -6.773741,0 0.0535,-11.82792 z" />
620 <polygon
621 transform="matrix(3.5433071,0,0,3.5433071,37.457697,902.38751)"
622 style="fill:#131313;fill-opacity:1;fill-rule:evenodd"
623 id="polygon1217"
624 class="fil2"
625 points="24.2429,3.0409 24.2429,2.2926 20.6763,2.2926 20.6763,11.7581 24.2555,11.7581 24.2555,11.0472 21.4743,11.0472 21.4743,3.0409 " />
626 <polygon
627 transform="matrix(3.5433071,0,0,3.5433071,37.457697,902.38751)"
628 style="fill:#131313;fill-opacity:1;fill-rule:evenodd"
629 id="polygon1219"
630 class="fil2"
631 points="29.9386,11.7497 33.4854,11.7497 33.4854,2.3375 29.9512,2.3375 29.9512,3.0815 32.7041,3.0815 32.7041,11.0428 29.9386,11.0428 " />
632 <path
633 style="fill:#131313;fill-opacity:1;fill-rule:evenodd"
634 inkscape:connector-curvature="0"
635 id="path1221"
636 class="fil2"
637 d="m 169.69073,935.1142 c 0,-1.37338 -1.16043,-2.49023 -2.53382,-2.49023 -1.41697,-10e-4 -2.57634,1.11685 -2.57634,2.49023 0,1.33193 1.15937,2.44772 2.57634,2.44772 1.37445,0 2.53276,-1.11579 2.53276,-2.44772 l 0.001,0 z m 0,-13.69878 c 0,-1.37338 -1.16043,-2.48917 -2.53382,-2.48917 -1.41697,0 -2.57634,1.11579 -2.57634,2.49024 0,1.33086 1.15937,2.44771 2.57634,2.44771 1.37445,-10e-4 2.53276,-1.11685 2.53276,-2.44771 l 0.001,-10e-4 z" />
638 <path
639 style="fill:#131313;fill-opacity:1;fill-rule:evenodd"
640 inkscape:connector-curvature="0"
641 id="path1223"
642 class="fil1"
643 d="m 123.18305,918.97515 9.1474,22.5 c -0.50102,1.61964 -1.10445,3.46925 -2.20004,4.59035 -1.09594,1.1211 -2.08878,1.49351 -3.19854,1.49918 -1.10976,0.006 -2.18905,-0.85217 -3.32362,-1.75678 l -1.62461,2.75705 c 1.34965,1.29862 3.09792,1.94917 4.94823,1.94917 2.09906,0 4.64067,-1.0396 5.74724,-2.49944 1.10693,-1.45985 1.49634,-2.31166 1.94953,-3.59859 l 8.95536,-25.43952 -3.26729,-0.009 -6.3046,17.76791 -7.21382,-17.75905 -3.61524,-0.001 z" />
644 </g>
645 <polygon
646 transform="matrix(14.510825,0,0,14.510825,12.290214,374.68932)"
647 style="fill:#e9e9e9;fill-opacity:1;fill-rule:evenodd"
648 id="_92110424"
649 class="fil1"
650 points="5.2042,11.7393 10.0503,11.7393 10.0503,10.8669 8.1088,10.8669 8.1088,3.2363 9.96,3.2363 9.96,2.3478 5.3094,2.3478 5.3094,3.2363 7.0554,3.2363 7.0554,10.8516 5.2042,10.8516 " />
651 <path
652 style="fill:#e9e9e9;fill-opacity:1;fill-rule:evenodd"
653 inkscape:connector-curvature="0"
654 id="_92100232"
655 class="fil1"
656 d="m 197.94461,408.60838 0,137.16504 15.85162,0 0,-60.55081 27.07864,0 c 8.58608,0 16.73535,-0.21337 25.09794,-4.39968 12.54896,-6.60388 19.37629,-19.59107 19.37629,-33.68397 0,-13.86944 -6.82733,-27.29777 -19.81307,-33.90161 -8.58606,-4.4055 -16.95445,-4.62315 -25.75816,-4.62315 l -41.83326,-0.004 z m 15.85162,14.52967 25.98164,0 c 5.72017,0 11.22847,0.004 16.72952,2.8659 8.58606,4.18637 12.99008,12.99155 12.99008,22.01872 0,8.58751 -4.18491,16.73096 -12.11071,20.91155 -5.2834,2.64243 -10.56679,2.64243 -16.0693,2.64243 l -27.74035,0 0.2191,-48.4386 z" />
657 <polygon
658 transform="matrix(14.510825,0,0,14.510825,12.290214,374.68932)"
659 style="fill:#3465a4;fill-opacity:1;fill-rule:evenodd"
660 id="_92117704"
661 class="fil2"
662 points="20.6763,11.7581 24.2555,11.7581 24.2555,11.0472 21.4743,11.0472 21.4743,3.0409 24.2429,3.0409 24.2429,2.2926 20.6763,2.2926 " />
663 <polygon
664 transform="matrix(14.510825,0,0,14.510825,12.290214,374.68932)"
665 style="fill:#3465a4;fill-opacity:1;fill-rule:evenodd"
666 id="_92119960"
667 class="fil2"
668 points="29.9512,2.3375 29.9512,3.0815 32.7041,3.0815 32.7041,11.0428 29.9386,11.0428 29.9386,11.7497 33.4854,11.7497 33.4854,2.3375 " />
669 <path
670 style="fill:#3465a4;fill-opacity:1;fill-rule:evenodd"
671 inkscape:connector-curvature="0"
672 id="_92120248"
673 class="fil2"
674 d="m 553.82114,508.71419 c 0,-5.62437 -4.75228,-10.19818 -10.3767,-10.19818 -5.80288,-0.004 -10.55082,4.57381 -10.55082,10.19818 0,5.45462 4.74794,10.02409 10.55082,10.02409 5.62876,0 10.37235,-4.56947 10.37235,-10.02409 l 0.004,0 z m 0,-56.1003 c 0,-5.62437 -4.75228,-10.19384 -10.3767,-10.19384 -5.80288,0 -10.55082,4.56947 -10.55082,10.19821 0,5.45024 4.74794,10.02406 10.55082,10.02406 5.62876,-0.004 10.37235,-4.57382 10.37235,-10.02406 l 0.004,-0.004 z" />
675 <path
676 style="fill:#e9e9e9;fill-opacity:1;fill-rule:evenodd"
677 inkscape:connector-curvature="0"
678 id="_92122608"
679 class="fil1"
680 d="m 363.3593,442.6203 37.46114,92.14374 c -2.05183,6.63289 -4.52303,14.20754 -9.00978,18.79876 -4.48817,4.59122 -8.55414,6.11634 -13.0989,6.13956 -4.54478,0.0246 -8.96477,-3.48987 -13.61115,-7.19451 l -6.65323,11.29088 c 5.52719,5.31822 12.68684,7.98239 20.26438,7.98239 8.59622,0 19.00482,-4.25744 23.53654,-10.23589 4.53318,-5.97849 6.12792,-9.46689 7.98386,-14.73723 l 36.67469,-104.18188 -13.38047,-0.0368 -25.81908,72.76453 -29.5426,-72.72825 -14.8054,-0.004 z" />
681 </g>
682 <path
683 style="opacity:0.16130437;color:#000000;fill:url(#linearGradient832);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
684 d="m 74.28125,266.63393 0,42.25533 0,2.47282 0,279.07542 c 150.0584,-82.72215 367.75594,-137.21514 614.625,-143.15183 3.7008,-0.089 7.39149,-0.15097 11.09375,-0.21739 l 0,-135.7062 0,-2.47282 0,-42.25533 -625.71875,0 z"
685 id="rect793"
686 inkscape:connector-curvature="0" />
687 <path
688 inkscape:connector-curvature="0"
689 id="path1030"
690 d="m 74.285713,273.07644 625.714297,0 0,-6.42854 -625.714297,0 z"
691 style="color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
692 <path
693 style="color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
694 d="m 74.285713,715.2193 625.714297,0 0,-6.42854 -625.714297,0 z"
695 id="path1024"
696 inkscape:connector-curvature="0" />
697 </g>
698 </svg>
@@ -1,698 +1,706 b''
1 """ A minimal application using the Qt console-style IPython frontend.
1 """ A minimal application using the Qt console-style IPython frontend.
2
2
3 This is not a complete console app, as subprocess will not be able to receive
3 This is not a complete console app, as subprocess will not be able to receive
4 input, there is no real readline support, among other limitations.
4 input, there is no real readline support, among other limitations.
5
5
6 Authors:
6 Authors:
7
7
8 * Evan Patterson
8 * Evan Patterson
9 * Min RK
9 * Min RK
10 * Erik Tollerud
10 * Erik Tollerud
11 * Fernando Perez
11 * Fernando Perez
12
12
13 """
13 """
14
14
15 #-----------------------------------------------------------------------------
15 #-----------------------------------------------------------------------------
16 # Imports
16 # Imports
17 #-----------------------------------------------------------------------------
17 #-----------------------------------------------------------------------------
18
18
19 # stdlib imports
19 # stdlib imports
20 import json
20 import json
21 import os
21 import os
22 import signal
22 import signal
23 import sys
23 import sys
24
24
25 # System library imports
25 # System library imports
26 from IPython.external.qt import QtGui,QtCore
26 from IPython.external.qt import QtGui,QtCore
27 from pygments.styles import get_all_styles
27 from pygments.styles import get_all_styles
28
28
29 # Local imports
29 # Local imports
30 from IPython.config.application import boolean_flag
30 from IPython.config.application import boolean_flag
31 from IPython.core.application import BaseIPythonApplication
31 from IPython.core.application import BaseIPythonApplication
32 from IPython.core.profiledir import ProfileDir
32 from IPython.core.profiledir import ProfileDir
33 from IPython.lib.kernel import tunnel_to_kernel, find_connection_file
33 from IPython.lib.kernel import tunnel_to_kernel, find_connection_file
34 from IPython.frontend.qt.console.frontend_widget import FrontendWidget
34 from IPython.frontend.qt.console.frontend_widget import FrontendWidget
35 from IPython.frontend.qt.console.ipython_widget import IPythonWidget
35 from IPython.frontend.qt.console.ipython_widget import IPythonWidget
36 from IPython.frontend.qt.console.rich_ipython_widget import RichIPythonWidget
36 from IPython.frontend.qt.console.rich_ipython_widget import RichIPythonWidget
37 from IPython.frontend.qt.console import styles
37 from IPython.frontend.qt.console import styles
38 from IPython.frontend.qt.kernelmanager import QtKernelManager
38 from IPython.frontend.qt.kernelmanager import QtKernelManager
39 from IPython.utils.path import filefind
39 from IPython.utils.path import filefind
40 from IPython.utils.py3compat import str_to_bytes
40 from IPython.utils.py3compat import str_to_bytes
41 from IPython.utils.traitlets import (
41 from IPython.utils.traitlets import (
42 Dict, List, Unicode, Int, CaselessStrEnum, CBool, Any
42 Dict, List, Unicode, Int, CaselessStrEnum, CBool, Any
43 )
43 )
44 from IPython.zmq.ipkernel import (
44 from IPython.zmq.ipkernel import (
45 flags as ipkernel_flags,
45 flags as ipkernel_flags,
46 aliases as ipkernel_aliases,
46 aliases as ipkernel_aliases,
47 IPKernelApp
47 IPKernelApp
48 )
48 )
49 from IPython.zmq.session import Session, default_secure
49 from IPython.zmq.session import Session, default_secure
50 from IPython.zmq.zmqshell import ZMQInteractiveShell
50 from IPython.zmq.zmqshell import ZMQInteractiveShell
51
51
52 import application_rc
52
53
53 #-----------------------------------------------------------------------------
54 #-----------------------------------------------------------------------------
54 # Network Constants
55 # Network Constants
55 #-----------------------------------------------------------------------------
56 #-----------------------------------------------------------------------------
56
57
57 from IPython.utils.localinterfaces import LOCALHOST, LOCAL_IPS
58 from IPython.utils.localinterfaces import LOCALHOST, LOCAL_IPS
58
59
59 #-----------------------------------------------------------------------------
60 #-----------------------------------------------------------------------------
60 # Globals
61 # Globals
61 #-----------------------------------------------------------------------------
62 #-----------------------------------------------------------------------------
62
63
63 _examples = """
64 _examples = """
64 ipython qtconsole # start the qtconsole
65 ipython qtconsole # start the qtconsole
65 ipython qtconsole --pylab=inline # start with pylab in inline plotting mode
66 ipython qtconsole --pylab=inline # start with pylab in inline plotting mode
66 """
67 """
67
68
68 #-----------------------------------------------------------------------------
69 #-----------------------------------------------------------------------------
69 # Classes
70 # Classes
70 #-----------------------------------------------------------------------------
71 #-----------------------------------------------------------------------------
71
72
72 class MainWindow(QtGui.QMainWindow):
73 class MainWindow(QtGui.QMainWindow):
73
74
74 #---------------------------------------------------------------------------
75 #---------------------------------------------------------------------------
75 # 'object' interface
76 # 'object' interface
76 #---------------------------------------------------------------------------
77 #---------------------------------------------------------------------------
77
78
78 def __init__(self, app, frontend, existing=False, may_close=True,
79 def __init__(self, app, frontend, existing=False, may_close=True,
79 confirm_exit=True):
80 confirm_exit=True):
80 """ Create a MainWindow for the specified FrontendWidget.
81 """ Create a MainWindow for the specified FrontendWidget.
81
82
82 The app is passed as an argument to allow for different
83 The app is passed as an argument to allow for different
83 closing behavior depending on whether we are the Kernel's parent.
84 closing behavior depending on whether we are the Kernel's parent.
84
85
85 If existing is True, then this Console does not own the Kernel.
86 If existing is True, then this Console does not own the Kernel.
86
87
87 If may_close is True, then this Console is permitted to close the kernel
88 If may_close is True, then this Console is permitted to close the kernel
88 """
89 """
89 super(MainWindow, self).__init__()
90 super(MainWindow, self).__init__()
90 self._app = app
91 self._app = app
91 self._frontend = frontend
92 self._frontend = frontend
92 self._existing = existing
93 self._existing = existing
93 if existing:
94 if existing:
94 self._may_close = may_close
95 self._may_close = may_close
95 else:
96 else:
96 self._may_close = True
97 self._may_close = True
97 self._frontend.exit_requested.connect(self.close)
98 self._frontend.exit_requested.connect(self.close)
98 self._confirm_exit = confirm_exit
99 self._confirm_exit = confirm_exit
99 self.setCentralWidget(frontend)
100 self.setCentralWidget(frontend)
100
101
101 # MenuBar is always present on Mac Os, so let's populate
102 # MenuBar is always present on Mac Os, so let's populate
102 # it with possible action, don't do it on other platform
103 # it with possible action, don't do it on other platform
103 # as some user might not want the menu bar, or give them
104 # as some user might not want the menu bar, or give them
104 # an option to remove it
105 # an option to remove it
105 if sys.platform == 'darwin':
106 if sys.platform == 'darwin':
106 #create menu in the order they should appear in the menu bar
107 #create menu in the order they should appear in the menu bar
107 self.fileMenu = self.menuBar().addMenu("File")
108 self.fileMenu = self.menuBar().addMenu("File")
108 self.editMenu = self.menuBar().addMenu("Edit")
109 self.editMenu = self.menuBar().addMenu("Edit")
109 self.fontMenu = self.menuBar().addMenu("Font")
110 self.fontMenu = self.menuBar().addMenu("Font")
110 self.windowMenu = self.menuBar().addMenu("Window")
111 self.windowMenu = self.menuBar().addMenu("Window")
111 self.magicMenu = self.menuBar().addMenu("Magic")
112 self.magicMenu = self.menuBar().addMenu("Magic")
112
113
113 # please keep the Help menu in Mac Os even if empty. It will
114 # please keep the Help menu in Mac Os even if empty. It will
114 # automatically contain a search field to search inside menus and
115 # automatically contain a search field to search inside menus and
115 # please keep it spelled in English, as long as Qt Doesn't support
116 # please keep it spelled in English, as long as Qt Doesn't support
116 # a QAction.MenuRole like HelpMenuRole otherwise it will loose
117 # a QAction.MenuRole like HelpMenuRole otherwise it will loose
117 # this search field fonctionnality
118 # this search field fonctionnality
118
119
119 self.helpMenu = self.menuBar().addMenu("Help")
120 self.helpMenu = self.menuBar().addMenu("Help")
120
121
121 # sould wrap every line of the following block into a try/except,
122 # sould wrap every line of the following block into a try/except,
122 # as we are not sure of instanciating a _frontend which support all
123 # as we are not sure of instanciating a _frontend which support all
123 # theses actions, but there might be a better way
124 # theses actions, but there might be a better way
124
125
125 self.fileMenu.addAction(self._frontend.print_action)
126 self.fileMenu.addAction(self._frontend.print_action)
126 self.fileMenu.addAction(self._frontend.export_action)
127 self.fileMenu.addAction(self._frontend.export_action)
127 self.fileMenu.addAction(self._frontend.select_all_action)
128 self.fileMenu.addAction(self._frontend.select_all_action)
128
129
129 self.editMenu.addAction(self._frontend.undo_action)
130 self.editMenu.addAction(self._frontend.undo_action)
130 self.editMenu.addAction(self._frontend.redo_action)
131 self.editMenu.addAction(self._frontend.redo_action)
131
132
132 self.fontMenu.addAction(self._frontend.increase_font_size)
133 self.fontMenu.addAction(self._frontend.increase_font_size)
133 self.fontMenu.addAction(self._frontend.decrease_font_size)
134 self.fontMenu.addAction(self._frontend.decrease_font_size)
134 self.fontMenu.addAction(self._frontend.reset_font_size)
135 self.fontMenu.addAction(self._frontend.reset_font_size)
135
136
136 self.magicMenu.addAction(self._frontend.reset_action)
137 self.magicMenu.addAction(self._frontend.reset_action)
137 self.magicMenu.addAction(self._frontend.history_action)
138 self.magicMenu.addAction(self._frontend.history_action)
138 self.magicMenu.addAction(self._frontend.save_action)
139 self.magicMenu.addAction(self._frontend.save_action)
139 self.magicMenu.addAction(self._frontend.clear_action)
140 self.magicMenu.addAction(self._frontend.clear_action)
140 self.magicMenu.addAction(self._frontend.who_action)
141 self.magicMenu.addAction(self._frontend.who_action)
141 self.magicMenu.addAction(self._frontend.who_ls_action)
142 self.magicMenu.addAction(self._frontend.who_ls_action)
142 self.magicMenu.addAction(self._frontend.whos_action)
143 self.magicMenu.addAction(self._frontend.whos_action)
143
144
144 #---------------------------------------------------------------------------
145 #---------------------------------------------------------------------------
145 # QWidget interface
146 # QWidget interface
146 #---------------------------------------------------------------------------
147 #---------------------------------------------------------------------------
147
148
148 def closeEvent(self, event):
149 def closeEvent(self, event):
149 """ Close the window and the kernel (if necessary).
150 """ Close the window and the kernel (if necessary).
150
151
151 This will prompt the user if they are finished with the kernel, and if
152 This will prompt the user if they are finished with the kernel, and if
152 so, closes the kernel cleanly. Alternatively, if the exit magic is used,
153 so, closes the kernel cleanly. Alternatively, if the exit magic is used,
153 it closes without prompt.
154 it closes without prompt.
154 """
155 """
155 keepkernel = None #Use the prompt by default
156 keepkernel = None #Use the prompt by default
156 if hasattr(self._frontend,'_keep_kernel_on_exit'): #set by exit magic
157 if hasattr(self._frontend,'_keep_kernel_on_exit'): #set by exit magic
157 keepkernel = self._frontend._keep_kernel_on_exit
158 keepkernel = self._frontend._keep_kernel_on_exit
158
159
159 kernel_manager = self._frontend.kernel_manager
160 kernel_manager = self._frontend.kernel_manager
160
161
161 if keepkernel is None and not self._confirm_exit:
162 if keepkernel is None and not self._confirm_exit:
162 # don't prompt, just terminate the kernel if we own it
163 # don't prompt, just terminate the kernel if we own it
163 # or leave it alone if we don't
164 # or leave it alone if we don't
164 keepkernel = not self._existing
165 keepkernel = not self._existing
165
166
166 if keepkernel is None: #show prompt
167 if keepkernel is None: #show prompt
167 if kernel_manager and kernel_manager.channels_running:
168 if kernel_manager and kernel_manager.channels_running:
168 title = self.window().windowTitle()
169 title = self.window().windowTitle()
169 cancel = QtGui.QMessageBox.Cancel
170 cancel = QtGui.QMessageBox.Cancel
170 okay = QtGui.QMessageBox.Ok
171 okay = QtGui.QMessageBox.Ok
171 if self._may_close:
172 if self._may_close:
172 msg = "You are closing this Console window."
173 msg = "You are closing this Console window."
173 info = "Would you like to quit the Kernel and all attached Consoles as well?"
174 info = "Would you like to quit the Kernel and all attached Consoles as well?"
174 justthis = QtGui.QPushButton("&No, just this Console", self)
175 justthis = QtGui.QPushButton("&No, just this Console", self)
175 justthis.setShortcut('N')
176 justthis.setShortcut('N')
176 closeall = QtGui.QPushButton("&Yes, quit everything", self)
177 closeall = QtGui.QPushButton("&Yes, quit everything", self)
177 closeall.setShortcut('Y')
178 closeall.setShortcut('Y')
178 box = QtGui.QMessageBox(QtGui.QMessageBox.Question,
179 box = QtGui.QMessageBox(QtGui.QMessageBox.Question,
179 title, msg)
180 title, msg)
180 box.setInformativeText(info)
181 box.setInformativeText(info)
181 box.addButton(cancel)
182 box.addButton(cancel)
182 box.addButton(justthis, QtGui.QMessageBox.NoRole)
183 box.addButton(justthis, QtGui.QMessageBox.NoRole)
183 box.addButton(closeall, QtGui.QMessageBox.YesRole)
184 box.addButton(closeall, QtGui.QMessageBox.YesRole)
184 box.setDefaultButton(closeall)
185 box.setDefaultButton(closeall)
185 box.setEscapeButton(cancel)
186 box.setEscapeButton(cancel)
187 pixmap = QtGui.QPixmap(':/icon/IPythonConsole.png')
188 scaledpixmap = pixmap.scaledToWidth(64,mode=QtCore.Qt.SmoothTransformation)
189 box.setIconPixmap(scaledpixmap)
186 reply = box.exec_()
190 reply = box.exec_()
187 if reply == 1: # close All
191 if reply == 1: # close All
188 kernel_manager.shutdown_kernel()
192 kernel_manager.shutdown_kernel()
189 #kernel_manager.stop_channels()
193 #kernel_manager.stop_channels()
190 event.accept()
194 event.accept()
191 elif reply == 0: # close Console
195 elif reply == 0: # close Console
192 if not self._existing:
196 if not self._existing:
193 # Have kernel: don't quit, just close the window
197 # Have kernel: don't quit, just close the window
194 self._app.setQuitOnLastWindowClosed(False)
198 self._app.setQuitOnLastWindowClosed(False)
195 self.deleteLater()
199 self.deleteLater()
196 event.accept()
200 event.accept()
197 else:
201 else:
198 event.ignore()
202 event.ignore()
199 else:
203 else:
200 reply = QtGui.QMessageBox.question(self, title,
204 reply = QtGui.QMessageBox.question(self, title,
201 "Are you sure you want to close this Console?"+
205 "Are you sure you want to close this Console?"+
202 "\nThe Kernel and other Consoles will remain active.",
206 "\nThe Kernel and other Consoles will remain active.",
203 okay|cancel,
207 okay|cancel,
204 defaultButton=okay
208 defaultButton=okay
205 )
209 )
206 if reply == okay:
210 if reply == okay:
207 event.accept()
211 event.accept()
208 else:
212 else:
209 event.ignore()
213 event.ignore()
210 elif keepkernel: #close console but leave kernel running (no prompt)
214 elif keepkernel: #close console but leave kernel running (no prompt)
211 if kernel_manager and kernel_manager.channels_running:
215 if kernel_manager and kernel_manager.channels_running:
212 if not self._existing:
216 if not self._existing:
213 # I have the kernel: don't quit, just close the window
217 # I have the kernel: don't quit, just close the window
214 self._app.setQuitOnLastWindowClosed(False)
218 self._app.setQuitOnLastWindowClosed(False)
215 event.accept()
219 event.accept()
216 else: #close console and kernel (no prompt)
220 else: #close console and kernel (no prompt)
217 if kernel_manager and kernel_manager.channels_running:
221 if kernel_manager and kernel_manager.channels_running:
218 kernel_manager.shutdown_kernel()
222 kernel_manager.shutdown_kernel()
219 event.accept()
223 event.accept()
220
224
221 #-----------------------------------------------------------------------------
225 #-----------------------------------------------------------------------------
222 # Aliases and Flags
226 # Aliases and Flags
223 #-----------------------------------------------------------------------------
227 #-----------------------------------------------------------------------------
224
228
225 flags = dict(ipkernel_flags)
229 flags = dict(ipkernel_flags)
226 qt_flags = {
230 qt_flags = {
227 'existing' : ({'IPythonQtConsoleApp' : {'existing' : 'kernel*.json'}},
231 'existing' : ({'IPythonQtConsoleApp' : {'existing' : 'kernel*.json'}},
228 "Connect to an existing kernel. If no argument specified, guess most recent"),
232 "Connect to an existing kernel. If no argument specified, guess most recent"),
229 'pure' : ({'IPythonQtConsoleApp' : {'pure' : True}},
233 'pure' : ({'IPythonQtConsoleApp' : {'pure' : True}},
230 "Use a pure Python kernel instead of an IPython kernel."),
234 "Use a pure Python kernel instead of an IPython kernel."),
231 'plain' : ({'ConsoleWidget' : {'kind' : 'plain'}},
235 'plain' : ({'ConsoleWidget' : {'kind' : 'plain'}},
232 "Disable rich text support."),
236 "Disable rich text support."),
233 }
237 }
234 qt_flags.update(boolean_flag(
238 qt_flags.update(boolean_flag(
235 'gui-completion', 'ConsoleWidget.gui_completion',
239 'gui-completion', 'ConsoleWidget.gui_completion',
236 "use a GUI widget for tab completion",
240 "use a GUI widget for tab completion",
237 "use plaintext output for completion"
241 "use plaintext output for completion"
238 ))
242 ))
239 qt_flags.update(boolean_flag(
243 qt_flags.update(boolean_flag(
240 'confirm-exit', 'IPythonQtConsoleApp.confirm_exit',
244 'confirm-exit', 'IPythonQtConsoleApp.confirm_exit',
241 """Set to display confirmation dialog on exit. You can always use 'exit' or 'quit',
245 """Set to display confirmation dialog on exit. You can always use 'exit' or 'quit',
242 to force a direct exit without any confirmation.
246 to force a direct exit without any confirmation.
243 """,
247 """,
244 """Don't prompt the user when exiting. This will terminate the kernel
248 """Don't prompt the user when exiting. This will terminate the kernel
245 if it is owned by the frontend, and leave it alive if it is external.
249 if it is owned by the frontend, and leave it alive if it is external.
246 """
250 """
247 ))
251 ))
248 flags.update(qt_flags)
252 flags.update(qt_flags)
249
253
250 aliases = dict(ipkernel_aliases)
254 aliases = dict(ipkernel_aliases)
251
255
252 qt_aliases = dict(
256 qt_aliases = dict(
253 hb = 'IPythonQtConsoleApp.hb_port',
257 hb = 'IPythonQtConsoleApp.hb_port',
254 shell = 'IPythonQtConsoleApp.shell_port',
258 shell = 'IPythonQtConsoleApp.shell_port',
255 iopub = 'IPythonQtConsoleApp.iopub_port',
259 iopub = 'IPythonQtConsoleApp.iopub_port',
256 stdin = 'IPythonQtConsoleApp.stdin_port',
260 stdin = 'IPythonQtConsoleApp.stdin_port',
257 ip = 'IPythonQtConsoleApp.ip',
261 ip = 'IPythonQtConsoleApp.ip',
258 existing = 'IPythonQtConsoleApp.existing',
262 existing = 'IPythonQtConsoleApp.existing',
259 f = 'IPythonQtConsoleApp.connection_file',
263 f = 'IPythonQtConsoleApp.connection_file',
260
264
261 style = 'IPythonWidget.syntax_style',
265 style = 'IPythonWidget.syntax_style',
262 stylesheet = 'IPythonQtConsoleApp.stylesheet',
266 stylesheet = 'IPythonQtConsoleApp.stylesheet',
263 colors = 'ZMQInteractiveShell.colors',
267 colors = 'ZMQInteractiveShell.colors',
264
268
265 editor = 'IPythonWidget.editor',
269 editor = 'IPythonWidget.editor',
266 paging = 'ConsoleWidget.paging',
270 paging = 'ConsoleWidget.paging',
267 ssh = 'IPythonQtConsoleApp.sshserver',
271 ssh = 'IPythonQtConsoleApp.sshserver',
268 )
272 )
269 aliases.update(qt_aliases)
273 aliases.update(qt_aliases)
270
274
271
275
272 #-----------------------------------------------------------------------------
276 #-----------------------------------------------------------------------------
273 # IPythonQtConsole
277 # IPythonQtConsole
274 #-----------------------------------------------------------------------------
278 #-----------------------------------------------------------------------------
275
279
276
280
277 class IPythonQtConsoleApp(BaseIPythonApplication):
281 class IPythonQtConsoleApp(BaseIPythonApplication):
278 name = 'ipython-qtconsole'
282 name = 'ipython-qtconsole'
279 default_config_file_name='ipython_config.py'
283 default_config_file_name='ipython_config.py'
280
284
281 description = """
285 description = """
282 The IPython QtConsole.
286 The IPython QtConsole.
283
287
284 This launches a Console-style application using Qt. It is not a full
288 This launches a Console-style application using Qt. It is not a full
285 console, in that launched terminal subprocesses will not be able to accept
289 console, in that launched terminal subprocesses will not be able to accept
286 input.
290 input.
287
291
288 The QtConsole supports various extra features beyond the Terminal IPython
292 The QtConsole supports various extra features beyond the Terminal IPython
289 shell, such as inline plotting with matplotlib, via:
293 shell, such as inline plotting with matplotlib, via:
290
294
291 ipython qtconsole --pylab=inline
295 ipython qtconsole --pylab=inline
292
296
293 as well as saving your session as HTML, and printing the output.
297 as well as saving your session as HTML, and printing the output.
294
298
295 """
299 """
296 examples = _examples
300 examples = _examples
297
301
298 classes = [IPKernelApp, IPythonWidget, ZMQInteractiveShell, ProfileDir, Session]
302 classes = [IPKernelApp, IPythonWidget, ZMQInteractiveShell, ProfileDir, Session]
299 flags = Dict(flags)
303 flags = Dict(flags)
300 aliases = Dict(aliases)
304 aliases = Dict(aliases)
301
305
302 kernel_argv = List(Unicode)
306 kernel_argv = List(Unicode)
303
307
304 # create requested profiles by default, if they don't exist:
308 # create requested profiles by default, if they don't exist:
305 auto_create = CBool(True)
309 auto_create = CBool(True)
306 # connection info:
310 # connection info:
307 ip = Unicode(LOCALHOST, config=True,
311 ip = Unicode(LOCALHOST, config=True,
308 help="""Set the kernel\'s IP address [default localhost].
312 help="""Set the kernel\'s IP address [default localhost].
309 If the IP address is something other than localhost, then
313 If the IP address is something other than localhost, then
310 Consoles on other machines will be able to connect
314 Consoles on other machines will be able to connect
311 to the Kernel, so be careful!"""
315 to the Kernel, so be careful!"""
312 )
316 )
313
317
314 sshserver = Unicode('', config=True,
318 sshserver = Unicode('', config=True,
315 help="""The SSH server to use to connect to the kernel.""")
319 help="""The SSH server to use to connect to the kernel.""")
316 sshkey = Unicode('', config=True,
320 sshkey = Unicode('', config=True,
317 help="""Path to the ssh key to use for logging in to the ssh server.""")
321 help="""Path to the ssh key to use for logging in to the ssh server.""")
318
322
319 hb_port = Int(0, config=True,
323 hb_port = Int(0, config=True,
320 help="set the heartbeat port [default: random]")
324 help="set the heartbeat port [default: random]")
321 shell_port = Int(0, config=True,
325 shell_port = Int(0, config=True,
322 help="set the shell (XREP) port [default: random]")
326 help="set the shell (XREP) port [default: random]")
323 iopub_port = Int(0, config=True,
327 iopub_port = Int(0, config=True,
324 help="set the iopub (PUB) port [default: random]")
328 help="set the iopub (PUB) port [default: random]")
325 stdin_port = Int(0, config=True,
329 stdin_port = Int(0, config=True,
326 help="set the stdin (XREQ) port [default: random]")
330 help="set the stdin (XREQ) port [default: random]")
327 connection_file = Unicode('', config=True,
331 connection_file = Unicode('', config=True,
328 help="""JSON file in which to store connection info [default: kernel-<pid>.json]
332 help="""JSON file in which to store connection info [default: kernel-<pid>.json]
329
333
330 This file will contain the IP, ports, and authentication key needed to connect
334 This file will contain the IP, ports, and authentication key needed to connect
331 clients to this kernel. By default, this file will be created in the security-dir
335 clients to this kernel. By default, this file will be created in the security-dir
332 of the current profile, but can be specified by absolute path.
336 of the current profile, but can be specified by absolute path.
333 """)
337 """)
334 def _connection_file_default(self):
338 def _connection_file_default(self):
335 return 'kernel-%i.json' % os.getpid()
339 return 'kernel-%i.json' % os.getpid()
336
340
337 existing = Unicode('', config=True,
341 existing = Unicode('', config=True,
338 help="""Connect to an already running kernel""")
342 help="""Connect to an already running kernel""")
339
343
340 stylesheet = Unicode('', config=True,
344 stylesheet = Unicode('', config=True,
341 help="path to a custom CSS stylesheet")
345 help="path to a custom CSS stylesheet")
342
346
343 pure = CBool(False, config=True,
347 pure = CBool(False, config=True,
344 help="Use a pure Python kernel instead of an IPython kernel.")
348 help="Use a pure Python kernel instead of an IPython kernel.")
345 plain = CBool(False, config=True,
349 plain = CBool(False, config=True,
346 help="Use a plaintext widget instead of rich text (plain can't print/save).")
350 help="Use a plaintext widget instead of rich text (plain can't print/save).")
347
351
348 def _pure_changed(self, name, old, new):
352 def _pure_changed(self, name, old, new):
349 kind = 'plain' if self.plain else 'rich'
353 kind = 'plain' if self.plain else 'rich'
350 self.config.ConsoleWidget.kind = kind
354 self.config.ConsoleWidget.kind = kind
351 if self.pure:
355 if self.pure:
352 self.widget_factory = FrontendWidget
356 self.widget_factory = FrontendWidget
353 elif self.plain:
357 elif self.plain:
354 self.widget_factory = IPythonWidget
358 self.widget_factory = IPythonWidget
355 else:
359 else:
356 self.widget_factory = RichIPythonWidget
360 self.widget_factory = RichIPythonWidget
357
361
358 _plain_changed = _pure_changed
362 _plain_changed = _pure_changed
359
363
360 confirm_exit = CBool(True, config=True,
364 confirm_exit = CBool(True, config=True,
361 help="""
365 help="""
362 Set to display confirmation dialog on exit. You can always use 'exit' or 'quit',
366 Set to display confirmation dialog on exit. You can always use 'exit' or 'quit',
363 to force a direct exit without any confirmation.""",
367 to force a direct exit without any confirmation.""",
364 )
368 )
365
369
366 # the factory for creating a widget
370 # the factory for creating a widget
367 widget_factory = Any(RichIPythonWidget)
371 widget_factory = Any(RichIPythonWidget)
368
372
369 def parse_command_line(self, argv=None):
373 def parse_command_line(self, argv=None):
370 super(IPythonQtConsoleApp, self).parse_command_line(argv)
374 super(IPythonQtConsoleApp, self).parse_command_line(argv)
371 if argv is None:
375 if argv is None:
372 argv = sys.argv[1:]
376 argv = sys.argv[1:]
373
377
374 self.kernel_argv = list(argv) # copy
378 self.kernel_argv = list(argv) # copy
375 # kernel should inherit default config file from frontend
379 # kernel should inherit default config file from frontend
376 self.kernel_argv.append("--KernelApp.parent_appname='%s'"%self.name)
380 self.kernel_argv.append("--KernelApp.parent_appname='%s'"%self.name)
377 # Scrub frontend-specific flags
381 # Scrub frontend-specific flags
378 for a in argv:
382 for a in argv:
379 if a.startswith('-') and a.lstrip('-') in qt_flags:
383 if a.startswith('-') and a.lstrip('-') in qt_flags:
380 self.kernel_argv.remove(a)
384 self.kernel_argv.remove(a)
381 swallow_next = False
385 swallow_next = False
382 for a in argv:
386 for a in argv:
383 if swallow_next:
387 if swallow_next:
384 self.kernel_argv.remove(a)
388 self.kernel_argv.remove(a)
385 swallow_next = False
389 swallow_next = False
386 continue
390 continue
387 if a.startswith('-'):
391 if a.startswith('-'):
388 split = a.lstrip('-').split('=')
392 split = a.lstrip('-').split('=')
389 alias = split[0]
393 alias = split[0]
390 if alias in qt_aliases:
394 if alias in qt_aliases:
391 self.kernel_argv.remove(a)
395 self.kernel_argv.remove(a)
392 if len(split) == 1:
396 if len(split) == 1:
393 # alias passed with arg via space
397 # alias passed with arg via space
394 swallow_next = True
398 swallow_next = True
395
399
396 def init_connection_file(self):
400 def init_connection_file(self):
397 """find the connection file, and load the info if found.
401 """find the connection file, and load the info if found.
398
402
399 The current working directory and the current profile's security
403 The current working directory and the current profile's security
400 directory will be searched for the file if it is not given by
404 directory will be searched for the file if it is not given by
401 absolute path.
405 absolute path.
402
406
403 When attempting to connect to an existing kernel and the `--existing`
407 When attempting to connect to an existing kernel and the `--existing`
404 argument does not match an existing file, it will be interpreted as a
408 argument does not match an existing file, it will be interpreted as a
405 fileglob, and the matching file in the current profile's security dir
409 fileglob, and the matching file in the current profile's security dir
406 with the latest access time will be used.
410 with the latest access time will be used.
407 """
411 """
408 if self.existing:
412 if self.existing:
409 try:
413 try:
410 cf = find_connection_file(self.existing)
414 cf = find_connection_file(self.existing)
411 except Exception:
415 except Exception:
412 self.log.critical("Could not find existing kernel connection file %s", self.existing)
416 self.log.critical("Could not find existing kernel connection file %s", self.existing)
413 self.exit(1)
417 self.exit(1)
414 self.log.info("Connecting to existing kernel: %s" % cf)
418 self.log.info("Connecting to existing kernel: %s" % cf)
415 self.connection_file = cf
419 self.connection_file = cf
416 # should load_connection_file only be used for existing?
420 # should load_connection_file only be used for existing?
417 # as it is now, this allows reusing ports if an existing
421 # as it is now, this allows reusing ports if an existing
418 # file is requested
422 # file is requested
419 try:
423 try:
420 self.load_connection_file()
424 self.load_connection_file()
421 except Exception:
425 except Exception:
422 self.log.error("Failed to load connection file: %r", self.connection_file, exc_info=True)
426 self.log.error("Failed to load connection file: %r", self.connection_file, exc_info=True)
423 self.exit(1)
427 self.exit(1)
424
428
425 def load_connection_file(self):
429 def load_connection_file(self):
426 """load ip/port/hmac config from JSON connection file"""
430 """load ip/port/hmac config from JSON connection file"""
427 # this is identical to KernelApp.load_connection_file
431 # this is identical to KernelApp.load_connection_file
428 # perhaps it can be centralized somewhere?
432 # perhaps it can be centralized somewhere?
429 try:
433 try:
430 fname = filefind(self.connection_file, ['.', self.profile_dir.security_dir])
434 fname = filefind(self.connection_file, ['.', self.profile_dir.security_dir])
431 except IOError:
435 except IOError:
432 self.log.debug("Connection File not found: %s", self.connection_file)
436 self.log.debug("Connection File not found: %s", self.connection_file)
433 return
437 return
434 self.log.debug(u"Loading connection file %s", fname)
438 self.log.debug(u"Loading connection file %s", fname)
435 with open(fname) as f:
439 with open(fname) as f:
436 s = f.read()
440 s = f.read()
437 cfg = json.loads(s)
441 cfg = json.loads(s)
438 if self.ip == LOCALHOST and 'ip' in cfg:
442 if self.ip == LOCALHOST and 'ip' in cfg:
439 # not overridden by config or cl_args
443 # not overridden by config or cl_args
440 self.ip = cfg['ip']
444 self.ip = cfg['ip']
441 for channel in ('hb', 'shell', 'iopub', 'stdin'):
445 for channel in ('hb', 'shell', 'iopub', 'stdin'):
442 name = channel + '_port'
446 name = channel + '_port'
443 if getattr(self, name) == 0 and name in cfg:
447 if getattr(self, name) == 0 and name in cfg:
444 # not overridden by config or cl_args
448 # not overridden by config or cl_args
445 setattr(self, name, cfg[name])
449 setattr(self, name, cfg[name])
446 if 'key' in cfg:
450 if 'key' in cfg:
447 self.config.Session.key = str_to_bytes(cfg['key'])
451 self.config.Session.key = str_to_bytes(cfg['key'])
448
452
449 def init_ssh(self):
453 def init_ssh(self):
450 """set up ssh tunnels, if needed."""
454 """set up ssh tunnels, if needed."""
451 if not self.sshserver and not self.sshkey:
455 if not self.sshserver and not self.sshkey:
452 return
456 return
453
457
454 if self.sshkey and not self.sshserver:
458 if self.sshkey and not self.sshserver:
455 # specifying just the key implies that we are connecting directly
459 # specifying just the key implies that we are connecting directly
456 self.sshserver = self.ip
460 self.sshserver = self.ip
457 self.ip = LOCALHOST
461 self.ip = LOCALHOST
458
462
459 # build connection dict for tunnels:
463 # build connection dict for tunnels:
460 info = dict(ip=self.ip,
464 info = dict(ip=self.ip,
461 shell_port=self.shell_port,
465 shell_port=self.shell_port,
462 iopub_port=self.iopub_port,
466 iopub_port=self.iopub_port,
463 stdin_port=self.stdin_port,
467 stdin_port=self.stdin_port,
464 hb_port=self.hb_port
468 hb_port=self.hb_port
465 )
469 )
466
470
467 self.log.info("Forwarding connections to %s via %s"%(self.ip, self.sshserver))
471 self.log.info("Forwarding connections to %s via %s"%(self.ip, self.sshserver))
468
472
469 # tunnels return a new set of ports, which will be on localhost:
473 # tunnels return a new set of ports, which will be on localhost:
470 self.ip = LOCALHOST
474 self.ip = LOCALHOST
471 try:
475 try:
472 newports = tunnel_to_kernel(info, self.sshserver, self.sshkey)
476 newports = tunnel_to_kernel(info, self.sshserver, self.sshkey)
473 except:
477 except:
474 # even catch KeyboardInterrupt
478 # even catch KeyboardInterrupt
475 self.log.error("Could not setup tunnels", exc_info=True)
479 self.log.error("Could not setup tunnels", exc_info=True)
476 self.exit(1)
480 self.exit(1)
477
481
478 self.shell_port, self.iopub_port, self.stdin_port, self.hb_port = newports
482 self.shell_port, self.iopub_port, self.stdin_port, self.hb_port = newports
479
483
480 cf = self.connection_file
484 cf = self.connection_file
481 base,ext = os.path.splitext(cf)
485 base,ext = os.path.splitext(cf)
482 base = os.path.basename(base)
486 base = os.path.basename(base)
483 self.connection_file = os.path.basename(base)+'-ssh'+ext
487 self.connection_file = os.path.basename(base)+'-ssh'+ext
484 self.log.critical("To connect another client via this tunnel, use:")
488 self.log.critical("To connect another client via this tunnel, use:")
485 self.log.critical("--existing %s" % self.connection_file)
489 self.log.critical("--existing %s" % self.connection_file)
486
490
487 def init_kernel_manager(self):
491 def init_kernel_manager(self):
488 # Don't let Qt or ZMQ swallow KeyboardInterupts.
492 # Don't let Qt or ZMQ swallow KeyboardInterupts.
489 signal.signal(signal.SIGINT, signal.SIG_DFL)
493 signal.signal(signal.SIGINT, signal.SIG_DFL)
490 sec = self.profile_dir.security_dir
494 sec = self.profile_dir.security_dir
491 try:
495 try:
492 cf = filefind(self.connection_file, ['.', sec])
496 cf = filefind(self.connection_file, ['.', sec])
493 except IOError:
497 except IOError:
494 # file might not exist
498 # file might not exist
495 if self.connection_file == os.path.basename(self.connection_file):
499 if self.connection_file == os.path.basename(self.connection_file):
496 # just shortname, put it in security dir
500 # just shortname, put it in security dir
497 cf = os.path.join(sec, self.connection_file)
501 cf = os.path.join(sec, self.connection_file)
498 else:
502 else:
499 cf = self.connection_file
503 cf = self.connection_file
500
504
501 # Create a KernelManager and start a kernel.
505 # Create a KernelManager and start a kernel.
502 self.kernel_manager = QtKernelManager(
506 self.kernel_manager = QtKernelManager(
503 ip=self.ip,
507 ip=self.ip,
504 shell_port=self.shell_port,
508 shell_port=self.shell_port,
505 iopub_port=self.iopub_port,
509 iopub_port=self.iopub_port,
506 stdin_port=self.stdin_port,
510 stdin_port=self.stdin_port,
507 hb_port=self.hb_port,
511 hb_port=self.hb_port,
508 connection_file=cf,
512 connection_file=cf,
509 config=self.config,
513 config=self.config,
510 )
514 )
511 # start the kernel
515 # start the kernel
512 if not self.existing:
516 if not self.existing:
513 kwargs = dict(ipython=not self.pure)
517 kwargs = dict(ipython=not self.pure)
514 kwargs['extra_arguments'] = self.kernel_argv
518 kwargs['extra_arguments'] = self.kernel_argv
515 self.kernel_manager.start_kernel(**kwargs)
519 self.kernel_manager.start_kernel(**kwargs)
516 elif self.sshserver:
520 elif self.sshserver:
517 # ssh, write new connection file
521 # ssh, write new connection file
518 self.kernel_manager.write_connection_file()
522 self.kernel_manager.write_connection_file()
519 self.kernel_manager.start_channels()
523 self.kernel_manager.start_channels()
520
524
521
525
522 def init_qt_elements(self):
526 def init_qt_elements(self):
523 # Create the widget.
527 # Create the widget.
524 self.app = QtGui.QApplication([])
528 self.app = QtGui.QApplication([])
529 pixmap=QtGui.QPixmap(':/icon/IPythonConsole.png')
530 icon=QtGui.QIcon(pixmap)
531 QtGui.QApplication.setWindowIcon(icon)
532
525 local_kernel = (not self.existing) or self.ip in LOCAL_IPS
533 local_kernel = (not self.existing) or self.ip in LOCAL_IPS
526 self.widget = self.widget_factory(config=self.config,
534 self.widget = self.widget_factory(config=self.config,
527 local_kernel=local_kernel)
535 local_kernel=local_kernel)
528 self.widget.kernel_manager = self.kernel_manager
536 self.widget.kernel_manager = self.kernel_manager
529 self.window = MainWindow(self.app, self.widget, self.existing,
537 self.window = MainWindow(self.app, self.widget, self.existing,
530 may_close=local_kernel,
538 may_close=local_kernel,
531 confirm_exit=self.confirm_exit)
539 confirm_exit=self.confirm_exit)
532 self.window.setWindowTitle('Python' if self.pure else 'IPython')
540 self.window.setWindowTitle('Python' if self.pure else 'IPython')
533
541
534 def init_colors(self):
542 def init_colors(self):
535 """Configure the coloring of the widget"""
543 """Configure the coloring of the widget"""
536 # Note: This will be dramatically simplified when colors
544 # Note: This will be dramatically simplified when colors
537 # are removed from the backend.
545 # are removed from the backend.
538
546
539 if self.pure:
547 if self.pure:
540 # only IPythonWidget supports styling
548 # only IPythonWidget supports styling
541 return
549 return
542
550
543 # parse the colors arg down to current known labels
551 # parse the colors arg down to current known labels
544 try:
552 try:
545 colors = self.config.ZMQInteractiveShell.colors
553 colors = self.config.ZMQInteractiveShell.colors
546 except AttributeError:
554 except AttributeError:
547 colors = None
555 colors = None
548 try:
556 try:
549 style = self.config.IPythonWidget.colors
557 style = self.config.IPythonWidget.colors
550 except AttributeError:
558 except AttributeError:
551 style = None
559 style = None
552
560
553 # find the value for colors:
561 # find the value for colors:
554 if colors:
562 if colors:
555 colors=colors.lower()
563 colors=colors.lower()
556 if colors in ('lightbg', 'light'):
564 if colors in ('lightbg', 'light'):
557 colors='lightbg'
565 colors='lightbg'
558 elif colors in ('dark', 'linux'):
566 elif colors in ('dark', 'linux'):
559 colors='linux'
567 colors='linux'
560 else:
568 else:
561 colors='nocolor'
569 colors='nocolor'
562 elif style:
570 elif style:
563 if style=='bw':
571 if style=='bw':
564 colors='nocolor'
572 colors='nocolor'
565 elif styles.dark_style(style):
573 elif styles.dark_style(style):
566 colors='linux'
574 colors='linux'
567 else:
575 else:
568 colors='lightbg'
576 colors='lightbg'
569 else:
577 else:
570 colors=None
578 colors=None
571
579
572 # Configure the style.
580 # Configure the style.
573 widget = self.widget
581 widget = self.widget
574 if style:
582 if style:
575 widget.style_sheet = styles.sheet_from_template(style, colors)
583 widget.style_sheet = styles.sheet_from_template(style, colors)
576 widget.syntax_style = style
584 widget.syntax_style = style
577 widget._syntax_style_changed()
585 widget._syntax_style_changed()
578 widget._style_sheet_changed()
586 widget._style_sheet_changed()
579 elif colors:
587 elif colors:
580 # use a default style
588 # use a default style
581 widget.set_default_style(colors=colors)
589 widget.set_default_style(colors=colors)
582 else:
590 else:
583 # this is redundant for now, but allows the widget's
591 # this is redundant for now, but allows the widget's
584 # defaults to change
592 # defaults to change
585 widget.set_default_style()
593 widget.set_default_style()
586
594
587 if self.stylesheet:
595 if self.stylesheet:
588 # we got an expicit stylesheet
596 # we got an expicit stylesheet
589 if os.path.isfile(self.stylesheet):
597 if os.path.isfile(self.stylesheet):
590 with open(self.stylesheet) as f:
598 with open(self.stylesheet) as f:
591 sheet = f.read()
599 sheet = f.read()
592 widget.style_sheet = sheet
600 widget.style_sheet = sheet
593 widget._style_sheet_changed()
601 widget._style_sheet_changed()
594 else:
602 else:
595 raise IOError("Stylesheet %r not found."%self.stylesheet)
603 raise IOError("Stylesheet %r not found."%self.stylesheet)
596
604
597 def initialize(self, argv=None):
605 def initialize(self, argv=None):
598 super(IPythonQtConsoleApp, self).initialize(argv)
606 super(IPythonQtConsoleApp, self).initialize(argv)
599 self.init_connection_file()
607 self.init_connection_file()
600 default_secure(self.config)
608 default_secure(self.config)
601 self.init_ssh()
609 self.init_ssh()
602 self.init_kernel_manager()
610 self.init_kernel_manager()
603 self.init_qt_elements()
611 self.init_qt_elements()
604 self.init_colors()
612 self.init_colors()
605 self.init_window_shortcut()
613 self.init_window_shortcut()
606
614
607 def init_window_shortcut(self):
615 def init_window_shortcut(self):
608
616
609 self.fullScreenAct = QtGui.QAction("Full Screen",
617 self.fullScreenAct = QtGui.QAction("Full Screen",
610 self.window,
618 self.window,
611 shortcut="Ctrl+Meta+Space",
619 shortcut="Ctrl+Meta+Space",
612 statusTip="Toggle between Fullscreen and Normal Size",
620 statusTip="Toggle between Fullscreen and Normal Size",
613 triggered=self.toggleFullScreen)
621 triggered=self.toggleFullScreen)
614
622
615
623
616 # creating shortcut in menubar only for Mac OS as I don't
624 # creating shortcut in menubar only for Mac OS as I don't
617 # know the shortcut or if the windows manager assign it in
625 # know the shortcut or if the windows manager assign it in
618 # other platform.
626 # other platform.
619 if sys.platform == 'darwin':
627 if sys.platform == 'darwin':
620 self.minimizeAct = QtGui.QAction("Minimize",
628 self.minimizeAct = QtGui.QAction("Minimize",
621 self.window,
629 self.window,
622 shortcut="Ctrl+m",
630 shortcut="Ctrl+m",
623 statusTip="Minimize the window/Restore Normal Size",
631 statusTip="Minimize the window/Restore Normal Size",
624 triggered=self.toggleMinimized)
632 triggered=self.toggleMinimized)
625 self.maximizeAct = QtGui.QAction("Maximize",
633 self.maximizeAct = QtGui.QAction("Maximize",
626 self.window,
634 self.window,
627 shortcut="Ctrl+Shift+M",
635 shortcut="Ctrl+Shift+M",
628 statusTip="Maximize the window/Restore Normal Size",
636 statusTip="Maximize the window/Restore Normal Size",
629 triggered=self.toggleMaximized)
637 triggered=self.toggleMaximized)
630
638
631 self.onlineHelpAct = QtGui.QAction("Open Online Help",
639 self.onlineHelpAct = QtGui.QAction("Open Online Help",
632 self.window,
640 self.window,
633 triggered=self._open_online_help)
641 triggered=self._open_online_help)
634
642
635 self.windowMenu = self.window.windowMenu
643 self.windowMenu = self.window.windowMenu
636 self.windowMenu.addAction(self.minimizeAct)
644 self.windowMenu.addAction(self.minimizeAct)
637 self.windowMenu.addAction(self.maximizeAct)
645 self.windowMenu.addAction(self.maximizeAct)
638 self.windowMenu.addSeparator()
646 self.windowMenu.addSeparator()
639 self.windowMenu.addAction(self.fullScreenAct)
647 self.windowMenu.addAction(self.fullScreenAct)
640
648
641 self.window.helpMenu.addAction(self.onlineHelpAct)
649 self.window.helpMenu.addAction(self.onlineHelpAct)
642 else:
650 else:
643 # if we don't put it in a menu, we add it to the window so
651 # if we don't put it in a menu, we add it to the window so
644 # that it can still be triggerd by shortcut
652 # that it can still be triggerd by shortcut
645 self.window.addAction(self.fullScreenAct)
653 self.window.addAction(self.fullScreenAct)
646
654
647 def toggleMinimized(self):
655 def toggleMinimized(self):
648 if not self.window.isMinimized():
656 if not self.window.isMinimized():
649 self.window.showMinimized()
657 self.window.showMinimized()
650 else:
658 else:
651 self.window.showNormal()
659 self.window.showNormal()
652
660
653 def _open_online_help(self):
661 def _open_online_help(self):
654 QtGui.QDesktopServices.openUrl(
662 QtGui.QDesktopServices.openUrl(
655 QtCore.QUrl("http://ipython.org/documentation.html",
663 QtCore.QUrl("http://ipython.org/documentation.html",
656 QtCore.QUrl.TolerantMode)
664 QtCore.QUrl.TolerantMode)
657 )
665 )
658
666
659 def toggleMaximized(self):
667 def toggleMaximized(self):
660 if not self.window.isMaximized():
668 if not self.window.isMaximized():
661 self.window.showMaximized()
669 self.window.showMaximized()
662 else:
670 else:
663 self.window.showNormal()
671 self.window.showNormal()
664
672
665 # Min/Max imizing while in full screen give a bug
673 # Min/Max imizing while in full screen give a bug
666 # when going out of full screen, at least on OSX
674 # when going out of full screen, at least on OSX
667 def toggleFullScreen(self):
675 def toggleFullScreen(self):
668 if not self.window.isFullScreen():
676 if not self.window.isFullScreen():
669 self.window.showFullScreen()
677 self.window.showFullScreen()
670 if sys.platform == 'darwin':
678 if sys.platform == 'darwin':
671 self.maximizeAct.setEnabled(False)
679 self.maximizeAct.setEnabled(False)
672 self.minimizeAct.setEnabled(False)
680 self.minimizeAct.setEnabled(False)
673 else:
681 else:
674 self.window.showNormal()
682 self.window.showNormal()
675 if sys.platform == 'darwin':
683 if sys.platform == 'darwin':
676 self.maximizeAct.setEnabled(True)
684 self.maximizeAct.setEnabled(True)
677 self.minimizeAct.setEnabled(True)
685 self.minimizeAct.setEnabled(True)
678
686
679 def start(self):
687 def start(self):
680
688
681 # draw the window
689 # draw the window
682 self.window.show()
690 self.window.show()
683
691
684 # Start the application main loop.
692 # Start the application main loop.
685 self.app.exec_()
693 self.app.exec_()
686
694
687 #-----------------------------------------------------------------------------
695 #-----------------------------------------------------------------------------
688 # Main entry point
696 # Main entry point
689 #-----------------------------------------------------------------------------
697 #-----------------------------------------------------------------------------
690
698
691 def main():
699 def main():
692 app = IPythonQtConsoleApp()
700 app = IPythonQtConsoleApp()
693 app.initialize()
701 app.initialize()
694 app.start()
702 app.start()
695
703
696
704
697 if __name__ == '__main__':
705 if __name__ == '__main__':
698 main()
706 main()
General Comments 0
You need to be logged in to leave comments. Login now