π
<-
Chat plein-écran
[^]

News 2024
Mai (3)
Avril (16)
Mars (7)
Janvier (20)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Résultats concours Casio "May the 4th" 2023

Nouveau messagede critor » 23 Juin 2023, 10:16

Collègien(ne) ou lycéen(ne), jusqu'au jeudi 1er juin Casio t'a permis de participer à son exceptionnel concours May the 4th 2023.

Il te suffisait de programmer sur ta calculatrice Casio ou son émulateur ton meilleur dessin Star Wars, avec 2 catégories au choix :
  • catégorie fx-92 Collège : pour les dessins programmés sur fx-92+ Spéciale Collège ou déjà sur la nouvelle fx-92 Collège Classwiz de rentrée 2023
  • catégorie Graph Python : pour les dessins programmés en langage Python sur Graph 35+E II ou Graph 90+E

Dans chacune des deux catégories était à gagner un formidable gros lot : 1 console de jeux Nintendo Switch accompagnée d'1 jeu Star Wars (valeur 310€).

Dans une actualité précédente nous t'avions présenté l'ensemble des participations nous ayant été partagées.

Il est maintenant grand temps de découvrir les vainqueurs que Casio vient tout juste d'annoncer.




17006Nidal alias bouboule1 chez nous, élève de Quatrième au Collège Clément Marot à Lyon, est le grand vainqueur dans la catégorie fx-92 Collège.

Son dessin représente baby Yoda (ou Grogu), protagoniste du film The Mandalorian. Une œuvre d'autant plus remarquable que Nidal a lui-même conçu l'image en question.

Regardons un petit peu le code de sa participation :
Code: Tout sélectionner
Style Croix
Répéter 1000
  ?→A
  A*1*10^-4→A
  100(A-Ent(A→B
  Style relevé
  Aller à x=-16+Ent(A ; y=20-Ent(B
  Stylo écrit
  Avancer de 100(B-Ent(B))-Ent(A
Consulter
Attention, à ce jour la plateforme en ligne Classpad.net ne permet pas d'afficher correctement ce script si tu suis le lien précédent.

Elle souffre en effet d'un bug qui a été signalé, faisant qu'elle ne reconnaît pas l'un des jetons utilisés dans le code, la puissance de 10 (de code hexadécimal 0x2D). Tout script dont le code fait appel à une puissance de 10 sera à ce jour inaffichable sur Classpad.net.

En attendant correction nous t'en proposons une version équivalente compatible Classpad.net, où nous avons juste supprimé l'usage de la puissance de 10, remplaçant le *10^-4 par un ÷10000.

"Ah ! non ! c'est un peu court, jeune homme !", aurait certainement répliqué Cyrano de Bergerac. Nous ne pouvons que nous incliner, c'est en effet en l'état bien trop court et simple relativement à la complexité du dessin, il manque quelque chose...

Rappelons en effet que la formidable fx-92+ Spéciale Collège de rentrée 2018 ainsi que son formidablissime successeur fx-92 Collège Classwiz de rentrée 2023 sont certes programmables dans un langage "à la Scratch / Logo / turtle", mais limitent dans tous les cas la taille du script saisi à 900 octets.

Dans ces 900 octets doivent donc rentrer à la fois les instructions de tracé mais également l'ensemble des données éventuelles.

Pour contourner cette difficilté Nidal a su faire preuve d'audace ; il a eu l'idée de sortir les données du code.

Nidal a décomposé l'affichage de son image en 44 segments horizontaux et son code est en fait une boucle demandant à l'utilisateur la saisie de nombres successifs, chacun codant les coordonnées d'un segment horizontal à tracer.

Précisons que la fenêtre graphique sur fx-92 Collège affiche des coordonnées allant de -95 à +96 en abscisse, et -23 à +23 en ordonnée.

Le format conçu par Nidal est le suivant en base décimale, aabbcc, avec :
  • aa-16 : abscisse de l'extrémité gauche du segment
  • cc-16 : abscisse de l'extrémité droite du segment
  • 20-bb : ordonnée des extrémités du segment
Les données à saisir pour obtenir l'affichage de baby Yoda se constituent alors des 44 nombres suivants :
Code: Tout sélectionner
010009
110019
210029
000130
010204
090221
260229
030305
090311
140316
190321
250327
040411
140416
190426
060524
070623
090721
080809
130817
210822
080912
180922
081022
081122
061208
121214
171218
221224
061311
191324
041426
041526
031627
041726
041826
041926
072023
072123
072223
062324
062424
062524
092621

Félicitations ! :bj:




16932Ilyas R. alias ikario198 chez nous, est le grand vainqueur dans la catégorie Graph Python. Ilyas est élève en Première au lycée Louis Pasteur à Avignon, où il a l'honneur de suivre l'enseignement de spécialité de NSI de Vincent Robert alias cent20 chez nous. Vincent incite régulièrement ses disciples à participer à divers concours de programmation, notamment sur calculatrices, et arrive souvent à les conduire à la victoire. Une équipe de champions ces spécialistes NSI Louis Pasteur, bravo ! :bj:

Revenons-en à Ilyas, passionné à la fois de programmation et également depuis son enfance pour la saga Star Wars, qui a pu trouver ici une occasion exceptionnelle de combiner ses centres d'intérêt. Il a choisi pour sa part de représenter la scène du film-épisode 4 un Nouvel Espoir où le Millenium Falcon s'approche de la Death Star, réunissant ainsi deux vaisseaux emblématiques de la saga.

Son script de 44,849 Ko ne fait que 31 lignes, mais plusieurs d'entre elles sont très conséquentes, jusqu'à 18845 colonnes. Le script n'est donc pas consultable ni modifiable sur calculatrice (l'éditeur acceptant certes jusqu'à 300 lignes mais jusqu'à seulement 256 caractères chacune). Par contre le script sera parfaitement lançable.

Le script s'appuie ici sur la bibliothèque de tracé par pixels casioplot.

En insérant des retours à la ligne réguliers sur ses longues lignes, on reconnaît des éléments de l'affichage et met donc en évidence un codage des données par caractères. On note donc le codage distinct de plusieurs éléments graphiques :
  • le fond d'écran étoilé, affiché en premier
  • les deux vaisseaux ainsi qu'un titre "Star Wars X Casio", affichés par-dessus le précédent
C'est-à-dire que le script ne rafraîchit pas ici 384×192 pixels mais davantage, une bonne partie des pixels étant en effet solicités deux fois (pour le fond d'écran, et pour l'élément à afficher par-dessus). Malgré cela nous avons des performances très correctes ; la Graph 90+E sortant l'affichage de la scène après 30 secondes, un délai habituel.

Ilyas a visiblement bien du talent. Les vaisseaux se détachent ici clairement du fond d'écran sans pour autant choquer visuellement ; on s'attend à ce qu'ils se mettent à bouger à tout moment !

Si tu consultes le code, tu noteras qu'Ilyas l'a rempli de pléthore de références à l'univers de Star Wars :
Code: Tout sélectionner
from casioplot import set_pixel as coup_de_sabre_laser, show_screen as voir_l_hologramme

nombre, ouvrir, memoire, classer, maitriser, force = sum, range, len, list, int, True

etoiles_de_la_galaxie = {'M': (26, 33, 43), 'C': (0, 6, 16), 'G': (12, 16, 27), 'F': (8, 12, 23), 'H': (15, 19, 30), 'E': (5, 9, 20), 'B': (0, 2, 14), 'D': (4, 8, 20), 'a': (69, 71, 83), 'A': (1, 0, 6), 'Q': (45, 45, 47), 'P': (42, 40, 51), 'R': (48, 47, 52), 'T': (52, 50, 61), 'L': (30, 29, 37), 'I': (18, 22, 34), 'Y': (68, 67, 72), 'U': (56, 56, 58), 'S': (50, 50, 52), 'O': (37, 36, 44), 'K': (29, 28, 33), 'J': (22, 22, 34), 'X': (61, 61, 71), 'N': (37, 36, 41), 'V': (59, 59, 59), 'c': (77, 77, 85), 'b': (77, 77, 77), 'Z': (66, 66, 78), 'e': (82, 83, 88), 'f': (85, 85, 97), 'i': (94, 93, 98), 'd': (78, 78, 88), 'h': (88, 90, 102), 'W': (54, 57, 74), 'g': (80, 87, 105), 'y': (134, 138, 149), 'n': (104, 106, 118), 's': (109, 120, 140), 'k': (93, 99, 113), 'r': (120, 119, 125), 'w': (126, 129, 148), 'j': (92, 94, 107), 'q': (108, 115, 134), 'l': (92, 98, 122), 'p': (104, 108, 133), 'o': (103, 108, 128)}
au_fin_fond_de_la_galaxie = ['MCGGFGHFEGCCFCBDEBaBDDCBDBBBBADAQAABACABBABACAAFAABAEEDCBFBBBAABCABBBDBABBCBPBBBBDCDCCCCBCCBECABEACCABEABACAADCAABCABDBABBCBRABCBBAADATBDBCCABABBABAAAAABACBAAEBBDBAAAAAABABAABABABAABABADAALCBB', 'DGFDFFFFFCCFCFIEBEBLCEBEBHCBBCBBABAAAABBBBAYBBAABDBBMAPCCBCCDDBACABBABCBCCAAGHBCEBCDCHEBDBCEBBCADCBCACABBAAAUSDABAEBCFCBABAAAAAACAFCACCEDDCDAGBAAABAABABAABBBAAAABAAAAAAABCABAACGAAAAABABACBOCBB', 'GBGIGCGFDCIEDDDCEDFCFEBFEBICACABABCAACABBBAKABABBABGDOBDEJCCBJACAEBBCCCBBAEEHCDCCBDFDBCBCGEBBDXBAABBCACAABNBDABCABBCCDACCABCFDABCABDBBCBBCBACFAAAABAGAAAACACKBCCABAAAAAADAAAAABAAACAAAAAQABBACBD', 'EDCDFRCDBGBDCEEEEEDGBFFCEFABDAECBAACCBAADACACADBAGFCIHGBDCCBDADBEABDBBFBCBBFBCCBBDBCBMDQBRBCBBBBBDBCBBCACBACACCACBDDADAABCCBACCBBCBACCBCBEBEABBBRAADAAABCABVADABABAAAABBEAAUDAAAABAAABABABBGABBB', 'DCXDCFEEDBDFECDBBCBDCBGECCIACBABBBABBABAAUAABAAAABAACAGRBDDFECCCADAAACBAAcBGBDBDDDBDEBFDCCDBcBEBADCABCCCCCBBABBFBARHBABBACBADBCEEADDBJHHFBBGALJBAGBAAABAAAADbABAAABBABBCIAAAUAAACAAGAAABACARBABC', 'CEBGEDIBCSFCDDCCCCBCCBCBCCUABCCUACAABBCCBACCAAACCABBCHDDBHEBBFACEBDEBBEEBADBBCGEEBCBCGCBGBDGCBBCaACBBBBFBABEBGBBCCBBBBAABABBBBHCFDAACDDCBDFAFBBACFGBAAABABBAABAAAABBAAABFCCACAAAAABHBAAAAADABCBB', 'DDDCGEECDCBFEBCBBAbBCCIBEBABAABABCADDBDBACABAAAABABBCBDBFBBCBEDGDbBCBDCCCQBCBBECBVCBbCZCDDEDDBFDHMBCCABBKEADHBDBBDBBMACAABCIDBAGEBFCCBEEBCEKGNAFBGACCEBADAACAACABABBAAAANDBAAABAACAAABAABBBBAADB', 'EFEEFDCCEDEKCBCBBBBCCBBHDDFBHHAAZCCBBFABABCBABBABCBCCCCCCDBCECCDBBDBDCECFJBBDEEFDBCBCCBCCBJBFFCFCDEBCFDBQBEAAFDFDCFCACCBBCDABCBKBCBBCDBBCSDFeGMACBGHCACBAPACABBCBABBABBBAAAABAAAAAABAACABABCABBB', 'EEGJEEBEFEIHHCDBBCDBCBECBFBDLHCBBDBBCBBBBAAACAABBACCBBCCCBfBCGFBBCDDFBFBBEBHCBDFEEBTBBGCGEBECFHHDCCCCDDEBEGNHCEFDCDDBADBDDBCECEBCCBDFCBCBAFEJFFDLFACABAAADAFBABAFBBAABBBPKCAAAAAAAAAAAAAACAABBBB', 'DFDBHJECDFFCCFEDCCADBBBBBBDCFDESCBDCBBCAAAAABAEACBADDBCBBECBEBDCEBCCBCBDHBEFBCDBBKFBBBCCCGFBFECDCEIMBDECDDEHFFIGGEFCBCACBACCBFBCCDCBBEDBaCGBEBBEiABACAACANBABCACBFABABABBBABBAAAAAAAAAAAAACaAABC', 'EEFFFFFECEBBCBBCDCEBEXCCCBEEDGFDIDCBBCCBABCABDACBEFBCDBDDBBCCCBGCBFCECFCBCBDFDBGCGBECDLQGEICIDJZCEDDECEFEEEGGFFHCJCFFCFCCDBCFBYBEBHBdBEAAFICDCJBOABCCAAABAAABAABABBBACBBBBBBAABBAAAAAABCACBACCBB', 'EECGFEEFFDBhBFBCCBDCBBDDDEFGHDGGEHDDCBBCBCBACABDCBBECBTCCDDCDBECCECCBCECZCEECJDPCEFFHBEGCDDGDFDCFBHDDEFDHGHFEIDHECCCGJCCCCECBCCCFDCBBBBBBCECFFADBCBABLBBABHCBAAABAECACBBBBBBBABAAAAABBAABBABCACC', 'CBFGEDICBFBBBDLBBBDCDCCDDDEEGGHIFFBBEBCBCBBDBBDBBCBCBBCDCCBBBCBDCBDFBDENBDFCECDDDBFBCFBBDBOCVFCMEWCCCFDFFFDLJDHCCCFDCBBDBCDBFBBCCECBCABCABCABAGCAFBCACEDADACCCDBBEBAZGBBBBBBBBAAABCAAAGLBBBBBACB', 'NODECJDEDDBKCBBcCEEBCDQDCUQHDHHFGCFCCBDDGBCBCDCDBBCBBVBSCCDEBCEFFCBEDCDEDEEDDCBCFCFCFEECBRIEFFEDDDDEFCDEGILFHDDLJDECCCBBBEDBDHBBBDUJAeABADABAJEHAICBCAGCAACEAGLDACACBBBCDDDBBBACBBAABBBBAADBACBC', 'BBEBECDEFMEBBDDBFBGFDEBGGFFDgFGGGDGGFDCBBCECMBDCCCCCGBcMEBEECEGCCIDIDCGFHFFEBHCDGEBNCBJCDMCFDDCECDEECGCHEFMPRZUFJFEDBCBCCBCICCFBBDBCAAHACACJHCOEEABCFHAWFAECEECCCWIDCEHGDCDCBBBBBBBBBBBBBDAAAACB', 'BDEDBCBDCDBCBcEECEDEECGDFGHGFHGGEIEIFDBCBFCCBFBGBCCCBDBCCFCEEEEEGEDFIEGCGHCCBBDFCDDRVBCCCCCCDHFEZDFHCDEGFLFMIKMJEGCDCBCBECGCBEBEDBBCACABBBAABABCAPBAABABBBDDBCBFABEDDEBFHDDBBCBBBBBBBBBBIBFOBBBB', 'BCDFBDDDCEJDECECDBEDFDEHEFFHGGIEDGHFEGEDOAABBCBDBBCCGDBFCDECFFLEECFDFDGFDFDFBHCDCDFFCCEFEBHCLHCDDEEECDFCQCFGIKKGCCCBDBBFbCKCDTBCBDBBDBBABABABPACBIBABBFCBBFBAACBEBGBCCFGBCBCBCBBBBMBBBCCDBAGBBAB', 'CBEBGDBCBSGDEEGFDiEDFDEChEHFJHGGIMDDJBFCUCRHBNEBCACADFBDDEGEGCHECECCEICFFFFECFEECEHCEHCFBFCFCCWJDFCXIEFFUDDIFEMLHEKJDDCDBLHDDCFBBACACDABABBCAKABAEBDBBBBBFBCEBCDGBFBDFCCDDCCBBBBDBBCCBBCBCDAAMNB', 'BBCEBCBDBCFECDDEFDFHDHFGDGGGFHHHFGHFGFFFADABAFDAACAEBBDDCHDDFFEFPGHEHDOFEEFFGLBBCDEDFBBCDEDBCFCDJCICGFEEEGFGGDFCBPJDBCLDECDDEBCDDABCAPBBADCACCBCCBDBBBBCCBDBBBBDBHEDFBFCEDDBBBCDCCCCCGcBCBBDBBBB', 'CDBBCBEDCCBGBGFFHHHHGEGGIFEGIIHGIPHFEDDBECBBBABAcADCDBEBHDFIFEHNECGFEGHFHEHEFGJFFFBgBDDCBCDCDCKDEJVEEGEIDHGGFEGCcBCByJEBGCDEBBGBDABAABACBBBCBCDBDCBCBDCCBBCBCBCBRBCEFCCFEDDCDCEDFEBDCBBDCBDBBGWB', 'BABBDBLFCEDBZDFFHFHFQIGIFHHGKFHEDaDHDGDEBCAEAADAAACBCBBBCDEDFFCKFEFCIGFIDIEIHFLGIKCBIDBBCCGCCGFIDLEFWDHDFGFHIGGHGRCILJBHCBDBBCBBCKACABCABBCBHBCBCFBCCBCCCDBCBBBBEBCEEEHFFEEDEDEEEBCCBDCBBCBBBdBD', 'BFDBCCBFCBDDHDGKIGFIKFIHGFFHHJGeDIFVFECDBEFAECDCCBACBbEFDHKDFHGHFLDKGFIFIEHGHELEGDQCDMBBBDBCCDDDGDGGLEEGGEEEFGIFJGOBISJFBHFBBBBACBBBAABCBBBDBCCCcBDCBCCDBBBCCECCCFBBDECGEDEEEEEECQBBZCCCBBCDBCFE', 'BABACFBCCBBHNFDEaEJDFHIGDbFEGFCJFGFDGCIFDCBCABBBAhBCDBFDIDCDIEFDFFIDEWFGHFIGHHDGGFDGDCBDCCGBCCEFDFIFGIEEFGFFIFFGHCLRFenYMGCBDABBBBAAEEAFBBCBBBBCCDCCBDDCBBBBCABBCBBLCFDFEEDEEFFFFRDEEBEBDEBCEBDD', 'BAADBBBBBFDDFFHFFGIGFHFHFGEHFYFIGFGFFDDDCAACBCCEBABDBCCDCFFdEFEHEIIIFFFGGGFHMHGEGECDBCBBECBIBDFKFFILGKFKFFGGEDJEQJDOPVQKFHLBABCBAAAaAADABBBCBDCBFBDBCBBBBADBADCeBECSCFFDIHFGFGFFEDFDDFEFDDEDCHEF', 'BACBBDDPDCCDHYFHGDJHLFHHGFFDFNDGIENEEBBBDACCBCAAABBBCDDCDFDCDDEFQDIIIJEJGHFHCIGFBFCCDCABDBDBBEDEHEHHFIIHHGGFHDJHDEBTGGHDHCCEBOACABAAFALAAACANBBDFKBHBCBCBGABBACABDEPEDEFFFFEFDIEgCFDFEDFEEECDCDD', 'ABBDDBCDCDEHHCIGFeGFHHFGFIEIHDEFEFQDHBBGBDBBBBBbABBBCDDCCEEFFFGGIHFJJFsEFFHFgCGHHBECEBCCBDBFEBCFCVKKIGFHGGJEIGGIIDGBCBDCBCBBBCAABABBBBACBEECCBBBBBCBBEBEBBCAADBCFCCCNEIGGHGFIGHEDFFFDEEEGFDCFCEC', 'DBDBCFDDCDFDCFHKFDGFGFGGDFGFFIGDDDCBFFDCBCBBDABACCBBCDDDDEEFEEHGHGKJENEIHHEHCHGGFFCCCBEBBFCBBFFGGFDHJFKHGLFHEFGHHEECMCCCCGEEIEAXACPABAFCBBCABBCCDBBBBFBBABBACCCFCCBIFDFFDFGEFFFGFFDFDGGGGDEDCEBE', 'EBDCFCDCDDEDGGFFFEEHFGGDfDHGGFDFKBgECBCBKBDHAACBBBCCDDCBCCEGFFGFHIHKIHIJHFHDFHJJGEFCFCBEBBDDCCDBECHHJIGHIHGHJJFIDHGGCDDDBLIBABHAAHICABAEDBCBGBBCBDOCCBCDACABDABDBCJCDFFEOVDLRDGEGDbHEFDEDDDDCBEC', 'BbCCDDDCEFCFEDIGFEGGHFGICEFGEGEEDDBCBBCFCBBBCDBCEDCBBCDECCEGGHIHHJHHJKIJJFJEEFHIFCDDEDBFBEDCBECQEFGFFIPIHJJHIHFFgCHEIECDDCCEEDABAAABBDCCBCBCBDCCVCBEBHBBFACDCCDCECFHEFGDCFFHKHGMFDEDFGEGFEEIECED', 'DCEOEZGFCDFCGDHFDGGFGGGFFUGDDGEDCEFECCDBBFDCFBDCCCCDEDCCEEEFGGJJHJJLLMJIIeIHFDKFEHCDFGEGEDBBFCHDFFFFfEIHKHINJKJHGIFFGECBDFBFBGAEBAWADBBBDDCFBHHECEEBdBPCCFCDFCBEBDCFKEDGHDIEELLOHJFDEEEHDEHICCEC', 'FLEFDEEDFFDEEEEGHFGGFHHGFEGFGDHEDEEDCDCDCBCDBEEBDCCDDDDDDEEGHGHHKJLJIMQHLGMJFGEFIEGCJGBKBCCIDGDFEFDGFIIJKKKJKKMFJFGHDFFFHDBDDBCABAECBBECFBBDCDECCDGCaBDBCBCHBBDBCBDBELGHDHGGICCDFHCFEFEBdFFDGCBD', 'DDEFEEEEEFOIFHJFGDGHGGDHGEFFBGCDFDCBBDCCCEBCFBECECCCCCDEEFEFGGHJJIILKLHXJHIHGFEWFDEDDBCEBBDDEEEFGCEHDKFIKINLMKFnFJIEHDEFFDDGCBDBABAACEBdBDDDEEEFECCBBCCZFCCEDJBDBDBEDDGDEGDDEKXIDCDDDDEFBEDNCCDB', 'EEEDEFEFFEJFEGFGGIEGFHGEDFECEDGDCEEBBCCBCBBDCGBDCDBDDCCDFDGHHHJIJILJJKIIJHGHIGFHHFDDBCCBFDECGDGLCFDGRFGJILNNKNJHHKHEFHEHECCCIBCAEBCCBBKBBDDCGEEFEDCDBEDBCFBCFBDBDCCCDEEJGFDDFDCDDBJECCEDLEDCDCCC', 'CEEGEEDEFEFEGFIFFKeEIHHCcBEDDBDCCCBXCBIBCBCCDBDCCBFBCBDEEEHGGGJKLKIKIOZHIEJHHHXGFGDCCBFPBFCFCECYDDGHUEIKKJLILNKROHHKFEDDOXDIBEAHABACEDICFCEOCCGEEEDDRFBEFBCDWCBFBBCBBIIFJGEDDDCFCBFCCCCEIEEFCFBB', 'CBECCDFFEEFFFHJFIHDIIIGEFEEEBTCBCBDBBACDBBBCBDCBDBBBDCDCEEJEHIKILGHHGIIKGHFHGCHHIIIUCFBCFFGFDDFDDCGEFIIIHLIMLKKJHGHIFGDCCBFFCDABCBWABCFFBEHCaHDEDCFECGFFFDCCBBBCCCFCBFFECINCbCICJFCBCCCCEDFEHCSC', 'CDCCcCFCGFHFKIFZIFJHIHILGFECEKCDDACAADABBDBCDBCDCCEBBECGEGCaCFIGHKKIFFJGJHFJHiDHHFHJEEFCHCDKGEFDEGGGIHIKLJLLQJIKFHGFHFDGCKECDFCFBAADDCCJFCEGDEEDDGDCCCEFGCEEHCDCCBJCCBECEECDEDIDEDCEBBDBBDGCBCCE', 'BCCCCFBeCIIIIFLRLIGIIHGGEEEDDACABCBACAACCBCBBDBBBBHBbBCCEDFDXGGHJEHHHHGFGIEGGDHFEIGFFGDFCkCaEDDHFEJHIJKJJJMNKNMIJGHHFEEECDFLNBGDDBBDCCJEBdDEEHEEFDFDWeDDFIFDDDEDCIBBDKBFDCECCOBFBCCEBCEBCEGDDDCC', 'DBDECCGCHKFFGHHHHJIIFFHIFFGCEADBACCBACABBBBEEBBCCDBCBDCECHFDEDEHIIJHPEGGHDWGGHHDGFHGHFHGLEHCEFFFHKFKMKLOMKLMMJQNNHHHFFFDHEGHCHCCABBACCECDCIDEEFQDFEEMDFFHDGFaDELBBDCBCBBCMIEDBCEFGCBCDCCDCECCDCB', 'CBDHFFFEFBbCJFKJHFJGKGHFHCBCBCDABBAAAABBOGBABFXBCBBDCCECFCGEROEFFJFSIGFHEFCFEFCHFEFDHEFGGGFJJDGGHILKLOOLKLMLNQINUKHHHFFHMDIDHBDBBAECBBCDHDCOFEHLDHGGEFGGGKIFEDDJLCBBBBCCBCCBCDCBBECCCBBCBBBDCBEH', 'CCCFCCEDEGEHFJGGGHQGFIFGEEBBBBBBABBBABBBBABCBBBCCBDDBCCFLEFFGGFGHEILGGFGHDhCFCOaDEEEEFHHIFGMMGGHKIKLMMMLZMOSLMOLMIJIIHHGJDDOEBCCACBCFBCIGGGEJEFFGEHFGGGHFNMIFGCGCBDCBCBBCBDCBBBBCBBCBBCCBYCBIKBB', 'CCDCEEDHCFCEGGFHHFLFFIGECCBBBBCBAABABACBABCBBBCBCECEMBEDFGEEGEHFFHIGGHGHGEDFEFGBFEHBEFDKKLGFGJIHJJMKLQNUOOOSRNMLKHNMHHKHGDEECDEDBABECDEGDGEHFfEGHIGGGHHIKTJMRFCEBFBBBFCBSRBBECGBBCEBBBBBCBBBBAEB', 'CEDCEFEDDCQDCEIGFGGFFDGECCECGABBBBBABBBAADADCCCCCCFDDECCEDGJHJFFSUHIHIJGKELDHHJIDDEfHHFHNIJIIHIKKJNNPRXROPOQONOMMLLGHJHGFFFHEDDDCDBBCEHCFCGKGFGLHHJLHHGLOLRMIHRCJBDCBEBBVBBbBDBCBCBDBBCBCBAXACAB', 'DDCFFCDEDDECiDDEGGFGHFEDGBBDArBHBABABEBBUACCBBBBCGDECFDFDGIHJJGYKJIIGIEIEHDHIEICEHEBHFDHHILHKHKKMMLTRWRTaRONPRNOMKIJJHIPEGHHCDDCBBDCBEDFEEJFHIIHGHKGGJJGGFKJODCCCCCCCBUBBBBGEEDCDBBBBBCBADDaCDDC', 'CCBDEBCEEEEFBDGDFGHFFGEJBCBBCAABAAAABFBBACBLUDIMEEDCZCEFEGJIKJKJJIKIKGRFHFFEEHEECGGOIEMHHIIIJKTKNLQPRSXURPYNQONONeeKKGHHGDDCFCDBBBBDEBEDCEFFIIIJGIGIHHHIRHGHKFwMCDCBCFJLPBDCCHCBCCSBBBACCABAABBA', 'CBCBCFDCFDEEEFCGDHFFGEFEFBBBBBABBABAAEBBPCCCDBZCEFFFDDEFHFYQJMJIMMGMKLFIJMIFDEGEDEEKJMFJJNKJKLYcMQPSTRXUUVXYPMaMLLLKHJFIHODFCEDBICXBFFDEGEFFFFIHJJJHFIJJDFFGDGFDYBDDDDBCCCCBEBFDDBBCCCCACBADABAB', 'CCDCCFECDCEECDDEFDGDEFDDBCCCBAEAAABAADBCRFBFEFBGHDGDGFFGGFGGKLJKMKKMGIKKFIIGFIIEJNFGHFNHKILNLLOMORRTYSTVZPrOMSNNNTLKIGIGDYCHDDCCDBBDECEEIEEGDFIHHHJHLKEHGKDEGEDFCCGBBEASEBUBDBDCCCBCBBBBBAXACATB', 'DCDECCEFEEcEFGGDCDFKJCGCEBPBDCBCBBBBCBCCEBjDEEEDDGFHFIHGFIIJIJKKKJLPMLJJPHNGLGHFHKICiUIKIJLKMNNPRPTSSWXWRbnQYZMLMJKPJLGIJDEECEDCCDEBDCGDDEEEgFHGIGIJFIJGEOFEEDCCEBBBCCBCAEFBCDCCBCBBBVBACBABATAA', 'CCBBBCFDEGDFGFENWEFDEFDDCCCBCBCECCCCDBBBBDCDDJGFIHGEIGGIJGGKKLLLKKNJJLJIRFLMOFHLGIRIGEJJLLLLNMPRRSRXVVUUVWPVRNSMNKJONFIJFLEDDBEDCBBCDCFEFJFEDGHGGIGGeFGIIDNBNCHHBBBLCABBBADCBBDBBEBCCAABBABACACD', 'CCBCBCDEQLGFGGKEDGGFFGGFCBBUBBDDDEEDCBBGBDEDGEFGFHGHKHKJHMLJIOJJKNWMLJNHMLWOGIGRFHGLJLLKLNKNOPQQRSSUVXSZWXRcVPORLLKHIJKHIDGDDCDBBCCBFCEEEFHFHGJIGJHIKFIGHEDDCDCBCABACBCADCZBPBECBEBCBBBBABBCAAAC', 'BCBBCCEDFCHFGJGGHHEGFGFEEEFBCCDBBCCBCCBBCCEEFHGGGFHLKKIKJNOJKJLMJJJIKRLSHJDIHUUFGJIJJJJLMJROOQPRRQRUTTeRTZTdQSPPMKJJJMKIEFDDCBDCCCCHCECEFEJGHHFHKHLHGGIHFEEFDBECAABABBADBABBDGCIDDCCBAAAAAAACABA', 'DDBGBCBDFGFHFFHIDIHIHFICEDCDCDBECCBEDBDECDDIEEHIGKLKJKNJKMKJJIJIbEIRQMPKYJPGLMIHKIJHNKNNIPPQOPQRQPTSTUQaVRSURPTOOMJJKGEOMDGFBCBCDDEBCIDEDGFKGIHIIHIHFHJGFDGECEDBCBBBBaBFBICCBBDDBDFBBBBAABACAKAA', 'CBCCCDEEEIEIHFIIIEaIKHEGEDEBCBCCCBCBBCDDHDEGGIGIKKLILKMJKLIJLKIGNFKHJLPPLILLILIJJIJLKHLTOOOQSPSTSRSSSTVWZXQXSOORLNPILIJEHDEBCBDBCHBEFCDEFFGHGHIEHIGJILHEGFGCEEBCBBBAAACMBBIBEFFICCBBBAABBABAAKBA', 'BHDBBBBEECFDDIELHEGIIIFECFCCCBDCECCCCEECFIFEHIKIKMNMKMINLJLHLKKIGHGNKHOQLJqJJIJIGKMIOMLPOQPQVSRRSUTRQRVPlQZRVYOOPKIYFJJFEFCEBBBEDBCGDCDDGHHIKHFiFHIFGGFJFDDSCCECCCCBBBBBCBBDCDBCDGBBCBABBAABDACA', 'CRBBCFCDCGCGFDGFHGHHHEEEEFEBEECDFBDCDECFDGKFHIIMKLMKNKMLKJLIKLKJIIHHKKJHRKKLLZMIMKMOIPNOQSSTRSSWTUVUUTTTRQgXRQQMMNONODFFEFEBCCBEDCBCDCGCUGKIGHHEIGGGFFGFDFCSDFCFCBCCCBDBBCCBCDTCCJCBBEDAABACBABB', 'BSLBBBDBEDFCDEFHFGHGGIFGEJCgBEHEDJCEECKGIIHJKIKLMKJNLLKJKKJLJMJIFJIJJJJJKJIJLLHJHIJLLMNepPSTSTSTWRTZXSjRRVTOQQOMQOLLFHEDFCHCDCVBCCEGCEDEDGEFGHIGFeEZIKEIHDFCCCCFDCCCCBDBBBCBRBDCCCBBBBBBAACAABBB', 'EBBBDBCCCCDCEEFEGHEFGFGFEDDCEEFEECFDEHDHLKKLIKLLKKgPJJKLJKIIIIJHIFGHIIPhJKJLJJMKKJJLLYTPWTRVUTUcXSVUTUTTWTQWUQSNOLPKKHFFFLBEDCCHBBDBDFPDFFGHHGIIIEKFGGGDHFEEEDCCCCCDCCBBBCCCBCDEDBBCAABABCBBCACA', 'DCCBBBCLBCCCFEEFFGIECDGDECEEEDFDFCEDEDGGFGKJIJLKLJJKLNJLLMKJJKGGGGFHIGOHOKMKMKLKKKJKNRTQRQRYWSUVXXUYXUXUnUUXQONQOKLMHRGEBGCCCSQEDYBDCCGFFFEEEFHHGHGGGFIiDCDFECQGCDCCCBCQKBBBCBCBCBBCCEYAAFCABCCB', 'FCEBCCBBECCBCCFGDEDDGCEFDbECFEFFEEFEENHELHHHKJKIMKJLJKLLKKIKGGIQFHFJKMNJKHLLLMJMJLLLMORObOTTTRUWTYWbVYUbYSTQRQUQLXIILGDFEBBCDCDHCCEBCECDGCJCEGFFIJGGGFEDGKFCCCCCCBDCCCCBBDCCBDCCBBBBCBBCCBABBCCB', 'BDJADCACBBCDDCDDCFCDDEBFFCFFEGFFEFDDECEEFGFJHIKMIKNKLJMJLJIJJHFDcHIFKIKKJLIJKLKIMKPZLLOQORdVUVVWYUYUXWTVTUSSQMhNMKKKLKIEFCMRDEGEFKBDCEEDDGDGEDEHFHGHGEDECNCDDgCDDBDCCDGCCBBBDCBDCCBBZBBBBCBEBBGB', 'CCEEBAKACBCCCCDDDDCCEDDCCCGGDFFEEFDEFDEGEJGFKHHKNJLLGiGKHJJIGGIIHIHgJJMKKJKIJILMMLLKMLdSPURVUVVUXVeZWSUTSRTQUQQLYJbPHIJGFDFCFCGDEDQCCDCHDDDFGEEHFDGECGDEELEGECDCCCDCCBIDBQCHDBCCCHFCBEDBBCBBCBBB', 'GBCDABHABCDCDBCDCBICBDECFEGHEECFCFFDEGGFHGFKHTVLJKJLJJcGIKHIHJHGFJGFJJJNLIHKKIMHMMLOOOLNRNUTTUwVYWWYUTUPRRSNOQGOLIHHNIFHEDHHHFIFEGREDCMCDCDEDFGCGFFDCCCICOFECCDDCCBDCEODCQDBEFCCDBKBDBCFBBBDDBGD', 'BDBBBAABABBACBCFDDCBCCCCBBECGDECDDCGIEIJJILLIEGKGJKHHJMJIHIEGIIGIHIHKHKIHLLJKIHfLLNLPSQQQSSSUaRSXZWVVSTRQUPQQIkILMLOKKkDGJEDEGIDICCIDDRCCDFCGECFCCEHHFNCGECCCDBCBBMBEBBGCBCEEBOKBBBEDFFCCCEBBBCE', 'BABBACAABABCEBBBBEBcCBECDCFECCEEFDfCGGFJGHIGGKHFJKHKKIGIJHOKHHIHIFIJIGJIIJHJJSSMOKWQOQONRQRUZTXWSWXWVVRSRQQSMPSHOKNGaGFLIEJQFFCgCGGDFCCCDFCPCCHFDDCFFDECDCDCBBXBCCBLCFDBCCCCFDCCBGEBCCBBBECDPKCB', 'ACABAACAOEAACBBBCBCBBBCBCBCCDEDCECEEDFGIGFKGGFHMREHIGHJHHGPWFHHPHGGHFdGHIKKPNNTPWOLRMRRSRSRRRRSSWTZSRTRSOOQOQNHrMKJOHKHIHMGFFFJDIHDdCCCHDDDJDFCEKFEEHSDDFDCDBCBCCBBBBCDCBCCEGCFBCDDCDFHCYBBFBBFB', 'AAABAAABGBBBDBHCCBQMBBDBCBCCCDBDDCCEEDFMLRGJGFHFefEGHHIHGGIEHEGEGHHHGGGGINMKKNSMLQNLTOQOOQSVRZYQUSRUSQRPPRNMNNSKJOQKJHcDHHIGFDMDFGICCFDFCDGEFIDDDJCBDGBEDCCBCCBBBBBCEYBBFEBDDDCCCHBEDCBBBDBDBBBC', 'AAAABACABABBBCCCBDBCDBCBBBCCCBCBBBFBDFEEFGGKHGGJGDGHGHHIFFGGHGGEGGGHHHHFGEIJMKPOOMQXOSMTOPQOOUNYOQQORSQSMPMMNNMOLMXHNKHKJEIEFKDMECFDECFDCDGCCDCCLBCIDDDDCCBBCBCABCBBSECQBEDBBBFBHEECDBECACiACCCC', 'DVABABDABDACCBABCBCCBCCBBDACCDBQMECECCFCFFIIEKHJIIGHIGLFJGMEHDFHGGHHIIHGFIIHKHPVKNQMPQPOQOQPQNqOQOWWNQMNMONONPMMLLLQHMHHHHGFFGDRCFEEEDCDRDCFCDCDBDBBCBDBCBDBBCAABABEBDCBDCCCBDDCCCBFECCBGJCeABCA', 'AABABAABABCADCEFBCEBEBAVAAACBCBBCBBCCCDFEEFGIJHFHIGIFJFGHDIEEJEGGHIIHGGHIHHKGPLQNMKNQLRQNQNQNPMONOMNMLRNMOMNNNOLOJILMGJGKGDFDDHEECFJCDDdCDECCCNCCDFBDDBCCEBDBABADCBHDEFDBBVBBDCCCBIBJBBBcBAACIAB', 'BABBAAAACAAfBACCEFBABCCHAXGACAFCDDVCCCDDEFGGFbMQGFLFHJKIFFGFFLHIHHGGHHHFFIIFMIKLLSURRQOPPKOLMOOLMOMNONMNNOMKPJLOMPHINEPGGFGDMNCCEFCEECDCDCCCDCDDCBBFCBCBCBCCBDABBACOCBBCDBCFBBBCEDDCBCDAABBAAKAB', 'CABCAAAAAXBVADCCBBBEDAAAARABCBGBBOGFCCDDDDEFLNHHKFFJIEIFEGFEDEHGFIJIFEGIIFIFGLKKMMQMQSTVPMPMLMJlJMLMLLMNMLNKOLLLGIIJIIGJGJEDDCDDDBFCGGECCbEDEEEDBBCCCFBBBCBCBBCBABCCACCBCBBBBBCECDBBBBAWBABDDABC', 'ADAAACABBAAABADCCEEBBEECDAACDAGBBBBCFCDDDFEEIIIGMfGIHFGGFGDGFIGFHGGGHHGFEHIHGHJLLOLNVTQSQPONMMMIMJOKMRMLMLLLKLKEkGLHHFGFFDHEDFCECBDBDECFCCEFCECECCBEBCCBBBCBBCBCADACDABACDFCEBDADCDDABDABBDCDABB', 'AAAOAAAAACAAAPADDBEDCBDBACBEDCEBDFFCCCCCEEEGGHIHJEIHIEGFKEGCFFFGFGHGFEEFKFELIIHKOLPPSQUTTSNMLJLJYIJeIPJMPRJOKJJHTFHKHGIEFCFECCECDCEDCDEDEFEICDCCBECBCCBCBCDBCACBABEABCBBABBBCDBBBACACABBBBDBBBTD', 'AAANAAAAAAABCBABXBFDEBBHABABAEEHKDGCBBEFDDCGGCHHIHJFEMFKEGEFEDHGIHHFEFEHFEGICJJKbJNQLONSOXPJMPKLXJLINIGIRILHHkFLGEKHGGHEFFCDECDCBBDCCECDECFCXCECBBQBCDBBBCBAEDBBCBBABFAFCCEEABBDABDCBBACAaAABADT', 'CMMLABBAACABAACABEBEFEFCCCBDADFHBGDQUBCCCCDECIFHEIFFGFEDDDDCECFGEMGFHDMHEIFJgHJHSMMOQiNWLPNJLJNIIJNHMILIHGFJHHHGDIEHFDCDEFDCJCCDBEBECCFCCEDCEECGDCBCFCECCOIBADBCDCCBBBFAAEACBACADBACABCABCBIBEBA', 'ABCAeAACVGCABCADBGYGDFIDBCBCDGEGBBLBBCEBCCEDCDCDHDKHEFEGFCCFDGEDGIEGHCFFHJKIEJIKINMMOHPLOLQLJMJJKKHMKIIFHHGHIHGJFIGFEGJCFBECBCCBBDBBECFFFCECCCCDEBGCCCEBEBDBBBBBBCEADCBBCBHABBABAACABCAcBBBGAABC', 'CAECCABCCACCBBCDBBBBBDFBECCECFEBSIBCBDDDECCCFCEEDFEEDHDDEEJCIDFFCoDSNIKJJEIGKJJMKLNNOMKNLOONMMIIGLIHIIHIGFFEFHIGHFEFFECIFgBDDBFDCBDBDDGECEIEDBEBBCBCBBBBBBCCBCBBCBBDABABBABBBBBBACBCBBBACBBAABBE', 'ACBABFBBACBBCDCBDGDCNCBEBCBBCDDGBBBECBCECCEDCECDCFEWHEDGDEEGCGHFFFFEEGEFGIGNGFIGNRMMOMPKNNJMKJIJHGGIGGGDEHEEFFFFDGKDGEDCCDDGCBCBBFBDDDCCEFEDCDDDFFCBBDKCBDCBACBCADCDAKAEBgABBCCAABBAEDBDABBBABBA', 'CACCALAYAEADDBCCDEFCBBDCCBCCABCBEEGDHDHDDDFGEDEEHDDDGGFECFECFEEDEEECIFHLJJZLIIFLGVLKKKOQKPJLLFgGEJGHEHGFDECECFGGPCECDPCCEBBEBDBCBCDFBEECECDECCBHEBFDHAABAAAEECKABCACNCBEABBABAABBBAABABBCDCDBAAB', 'CEBCAAJBCBDCBFBFBCDDDEBCBCBBDDBBDBDBCCBDFBBFDDFDEFGJCGGIEEJEECFFIFDFCGEEEJGGIKMGKIMLJLLOMLKKJLFGTGGHIDEDEDcUCCDECEDGHCCEFCBDCCABBBFBEEDEEDCECHDBDCBCBCCABCEACCAfADCEBDAAAACCCCDWABBBCADBEADCABAA', 'ABAAHBACDBBIDCBEFCDDABDBBBCBBBBBDBRLCEECCFNPDKDFFDDDFGGEJEECDGFJDIFGEEFFHFEJIGGLKHILKIMROIMJIGIDSDHFFGCFFCCDBECCEEEEDDGDBDBBCDDBBEBCCBEBFFEEDBFBBFCADBEAQAACABDACCBDBBBMPABBBBBDAABAAAABACBBDACA', 'BAABBABBADDDAHIAFCDACAABBBABCBBACBBBFBCEDCCCDCEEDIFFEDIGHEJDEEFDDECGEGEDiCFIFGHKJJVGKKMPLLJGLKIHJFFFFEDIGFDFCDFDCICFBCBCEAEABBCBCBCCCCDHECBDCCDBBCGAABEAABEABCDCCBCDBBBBCAAABABBBAAAAAAQABDACDCB', 'AZAECCDCCCEBEBACDABDABCAAAACCACaBBBECBCGDDDCECCEFGFCFGFHHCEEEFCDEDECJCLFCDFEUREMYGHHLMLJJJIJIIHEFFJDGEFCEFCCDCBCACBGBHDCCCCCACBCBCBCCBDCBhBDCHBCCAACCAABCEABCGBCBDCCCBBBBJCACACABBCBAAAJBACABACA', 'DBCABCCACDBBCCBDAWBABBABCCBADBDBCFEBCHMEDCDECCDDFEFICJFFCiDEUCDDDCCHDFCGDFFFCDHHEGFIHHKKHJNHIFFGHEFGCDEEDBCDBBDBDAECCCECEBABGACMBBECCCBEBDBDDCBDBDBAEDCBCACBCABCCBBEDBCBBTBCACACCCDAAMYAAHBADEAD', 'AACDCDAFAFEDAEPADABCAAACBABACBDCGBCECJDGFFCBCEDIDCECECCDTCGDCFCDDEDCCCDCEMCEDCGFHDIHHKIFLLIFKFHEIGICPCDDCCCBCBCBBDCBFCBGCDBDCCBICEDBBCQBECZBBCDCBADAXBBBCDCCBICBBDBBBCCBDBCFBACCCCBAAKBAAEAIGEAC', 'CABBBDBDAACBCBAEAJAFBACABABBABCADECBCCEBCBBDBDDDDEFCEFFCCEEDEDFDDCCCDBBCCDCCCCCFEFJFDDFILIJHDHFGDHDEDCEEEEECCBCCDBBCFDGEDBCFABBCBCCBBDBEBBBLCCDCBBBCCBDCCBBBXBBbBBECDCDBDDDEEDEBBCBDCAABADBABBBB', 'ACACBABEADAEABCBCADDDBACAfACDBACBCBBBDBCBCCEFFBCCBDDECCFCCEFEHFCFDCEDOCBCBGBCQECECEDNVFEHHEGFFGDHFEECcCCFDFECCEBBCCCMDCBCCDACBCBCDCCOBEBGDCCBBDFBDBCBBCGBBDFBBeBCBBEBECCCGDFBLBaCICBBACSCAADBACB', 'BBGABBBAABAACBDACECDJDABCBCAAABBBBBCDADBCBCCBBCCBDDDCEGCCDEFFEEECCECCBCECBBDCFCCECCECDEGEFIEHEEFEDEGFDHDDEECDEBCBCBBCBCECCBDFBCBCBCBLCBLCDCCCCGDDBCBGCDBECCBBBBBBEBBCBCBDCCGBEGBGCFBABAABGBBBGBD', 'BASCAAACBACBACCCCARACCCCBCBBACBARBCBBFCCBCECCBBCDCBCcBCCGCEDHEFFEBGCCDBCCDCEDCbCFECFFDFFGFGHFFHDCDEIDgCFEDDDBECBCBDDBBCBCBBBCCRBCDCDEDCFEBDDEECCBCCDBCBCBBFBCBBfBBBdBCBCDBCGEBlDBMABBAAEBBCBBEBA', 'BABCBADABBBABSEBCDADDBACBDEZBAABEBBCDBCBBACDBCCBBCCBBCCCDCFDCQCDHCCDDECCHCEBEEDCCDFCDDEGEGGGDEDDXqCHFCEECGHECDBECZCCBBBDCIBDBBBDBCCDFBDCCFFBDCBBBBDBBCDCCCCCCBBBBDCBCBBBCCBCCFCBCBCBCACADBCEKBBC', 'ADDACCABBABBAADABHCBAEABBBFDCIBCCBEBCDACFCCBDCFBCCBBBBCCDECEGDDFCJNDDDGCCCCDCCECDCDCEDEFFEHDGDFFCDPDHEDWKCDCDCDEBBBDCBCBBCDBDDBCCDBEDCCCEBDDBCCECCBBCBCCDBCCBCEBFACCBBCCBCBBEIGBDCDBABAABCAVCCBC', 'BCDBBABBBBAABAFBFDBCBECCECDBDCBABBBEHADDCDBBDFBGCCCCCCCDBFCDEDNHCGBFCDDKDEIEDGECFDFCDCDCDFDHDGDGHCFEECEDCDEQCDFBCDCCBCBCfBDCECKCBDBDDDCCFBBBBLBBBBBCDCCCBCCBCEBDBYACCBBCCBCCBPBDBDBABAACAACACDBC', 'KBDEBFCAABBBDBBCBBBCCBSFDCBDIBBCCBBCAGGADAEDDCCBBABCBBBCKFCDFCCGCFSCECCRBCEEKCDECDDKMCECEDGDGCEDCGFEFFDECDDQGCFCCCEBBCBCCBDCCCTDBCCBDCDCBEECDBCBCBDBBNDECBDBDGBGCAdACBBCBCBBDBEBAAABBAACABCDHHBE', 'CCBGBBACBAGDDCBDCDRABECCGBTBCBBBBKGBBCBFBBCEHFEBAAAAABBBGCDDBEFCBDBSJDEBDCCbBCECCEEEDDGFEFEFDFEDDDGECDDDFCDCJFCFDDCCcCCDBEDCECBXCCDBDCDCDCCDBDBCBCBCCBCBLBDEBCBCAAAAACCEBBBCBABCDABCACAAABBCBCBA', 'DBDCFICCACCBBDBBBABdFBEBBGHBBGCCBCBBLBBBFBFFBGCBCBBABBCCCFBBDCGEJFCCBBEECBCCUBBEFCCDDFDCDFEDEFFFECDCDIEHCDFDDECDCCDDBCDCFCCDCEDCBCCCCDCDCEDCCBDBBDDCCFBICSLBCBBDBBCBCACBBABAACBCDKABACBABAACDBAB', 'EDFCFBEADGBFDBCDKFESECQDFBGDCEBEQCEFBCDBCBGBBECECBAABBBBABBBCBHFGBDEfFCCClBBLCCEBGEHDCIDDDDCEEFFECDDCCDDECEFDCFDEDCCDEDDECECEECBCCCCCDCECCBDCCBCCBBBBBXBDFCDDBCBCAABCWACBABAABBBBLAABABBACCBBAJA', 'BCBDBCBDCCDBCCLBICEJJGNKKICHBBCBBBCCEBBCBGBCCBFBCBACCBABBACBEHCCFCEBCBCBBBCDBBECJCCCDEDCCCCDDDDEDDCECFERDDEDDFCDDCFCDCDDCEDECECDCBDBCCCDCDDCCBOBCBDLBCHCFBDEBBCBBCBBBADABABBBBABAAEAAAAAAABBADAB']
pieces_du_faucon_millenium = {'~': (255, 255, 255), '`': (252, 252, 251), '?': (250, 249, 249), '/': (246, 246, 244), '>': (244, 244, 241), '.': (239, 239, 237), '|': (226, 227, 223), '_': (210, 209, 204), ')': (202, 202, 196), '{': (219, 219, 214), '-': (199, 202, 201), '&': (188, 193, 191), '%': (183, 186, 182), '[': (221, 217, 204), '+': (215, 213, 204), '(': (202, 200, 190), '}': (227, 223, 212), ']': (220, 217, 206), '1': (152, 152, 145), '*': (199, 196, 185), '7': (176, 167, 154), 'a': (83, 74, 65), 'k': (109, 101, 91), 'y': (144, 140, 136), 'x': (142, 135, 134), ',': (238, 236, 230), "'": (234, 231, 223), ':': (237, 234, 224), '$': (185, 184, 176), '!': (177, 176, 167), '^': (191, 190, 181), '8': (174, 170, 161), 'S': (54, 52, 52), 'h': (96, 93, 88), 's': (133, 125, 115), 'p': (121, 115, 107), 'w': (145, 134, 128), '4': (162, 159, 150), ';': (232, 230, 219), 'j': (111, 100, 82), '3': (157, 156, 147), 'r': (126, 123, 118), 'V': (58, 59, 60), 'b': (77, 77, 74), 'i': (104, 97, 89), 'W': (75, 61, 55), 'o': (121, 112, 106), '<': (243, 241, 234), '#': (187, 181, 170), '@': (182, 178, 169), 'I': (19, 22, 28), 'M': (33, 35, 39), '0': (149, 148, 141), 'u': (137, 131, 122), 'D': (4, 10, 17), 'Q': (47, 46, 46), 'e': (91, 83, 77), 'f': (94, 87, 80), '=': (211, 208, 194), 'v': (135, 132, 126), '5': (163, 160, 154), 'z': (147, 144, 135), '2': (159, 151, 142), 'R': (48, 49, 52), 'n': (121, 110, 101), 'J': (20, 24, 32), 'U': (60, 58, 57), 'g': (97, 89, 82), 'T': (71, 51, 41), 't': (133, 129, 115), '6': (161, 166, 161), 'l': (110, 103, 99), 'Z': (73, 73, 71), 'c': (91, 78, 71), '9': (174, 175, 168), 'q': (123, 121, 112), 'P': (58, 36, 33), 'm': (117, 108, 94), 'X': (65, 65, 62), 'd': (84, 83, 79), 'N': (45, 39, 31)}
soudures_du_faucon_millinium = ['~~~~~~~~~~~~~~~~~~~~~~~~~~~`?/>>.|_){.~~~~~~~~~~~~~~~~~', '~~~~~~~~~~~~~~~~~~~~~~{-&%%[+(}(_]{1*7akyx>~~~~~~~~~~~~', "~~~~~~~~~~~~~~~~~~~,,)&+':(-$!^&{^*8kShspw4y8,~~~~~~~~~", '~~~~~~~~~~~~~~~~~~*)8(]|%-;xjp1)[(3prVb477skiWo[~~~~~~~', '~~~~~~~~~/+_[:?<.:$_!+#[_{[}^p&[)@sIM30ubDQefokuw~~~~~~', '~~~~~~~;)&;{-)^&_(]++}$+)=;;;**[+8#83kIS=vu58#8z2k=~~~~', "~~~~~.0=&|}=(_-[{_-[--_}[]^&2%|w-'{((%2kRenRJUjgrWan~~~", "~~~~}Tu};^&(8tv#56^&)(]][}}='|[?,+***=62ru0v260xx1waw~~", "~~~'y5lu$^g$#&&$6-==)((-+{%=57%0Z*=::^7=--{[6=&)*))=6_~", '~~~2wyacrsx(8{+((]Wwx&%-]}-+=3lb&,|[2$=8*+=-)+(=)=+[60~', '~~~<t138zt!#^_)};zpo1-_}{-[-=[^7&^65$&@@;#r5@$%**%*=+){', "~~~~<+[_;}!)-=-[+*)|{}[].=|{}%()%{'0_&+]3]1ocgt'{_&^9=~", '~~~~~~~~;=#}-=(}[6__=_|_{[}&$!!-]{}^(_*%_^]}(s)=-=_=&6~', "~~~~~~:+-qok]&&;<+))|-}++_2u#1y09{}[-[##){9s}-'{=$)__3`", "~~~~~~$4'+1#3z']%-][{=*_4w]+@x53z{{'+]:$]%]_(@@'(&))_|~", "~~~~~']]|{_[]==()+-)=]%5|];$%!@85[__'_='+w$}3wuy-+]{8(~", "~~~~.*xqz+}_=-%&=*-=*9#[_'^#-*8%^[=*'{_|,*=8o+_zz!{}j~~", '~~~/&]3bw)[-{(!$){$sv_|_|+}}*-=(jv+]=}1_}})n#={+58!ut~~', '~~?(}_]%6[4}(__$3yeP]#|:__-=@ign#)&{!^z-)*_6*=!vt$&m>~~', '~~&)=!v8zXRo5#%nVoela()7)}=(){-=[]_8(%:}*+_]9(own9j+~~~', "~*[%w8vTWeUWocv0_''x#@zv$^@$*)(;-=;+_,;;]=++@y2g$~/~~~~", '])10wTZfXR1xr6&_&[_}{]g2R!_-_-[#}&-(|;}{+!98y1Up~~~~~~~', "9|cWiaZTy|%6*+xXQu;]{;)=@'|;+$#m#5_ww5o5x783,~;~~~~~~~~", "%5rpdNr+#5%[[{_n4^]:'2{(&4y-438v@*88h!00rrmt<~~~~~~~~~~", '|&bXy<=5-;=_]__+[(@165s31xius%@n8(&%7vu0(,?~~~~~~~~~~~~', "~|3`~'_=-))!5590qvtsqtp774c$^*(};9'~~~~~~~~~~~~~~~~~~~~", '~~~~~4-@$yy2zvi0o0jcu29%}.,~~~~~~~~~~~~~~~~~~~~~~~~~~~~', '~~~~~)!#9061jnt20][`?~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~', '~~~~~<#8545#,``~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~', '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~']
pieces_de_l_etoile_noire = {'~': (255, 255, 255), '`': (252, 252, 252), '?': (250, 250, 250), 'm': (108, 108, 108), 'f': (88, 88, 88), '9': (172, 172, 172), '5': (160, 160, 160), '^': (187, 187, 187), '8': (169, 169, 169), '0': (146, 146, 146), '1': (149, 149, 149), '6': (163, 163, 163), '(': (195, 195, 195), '|': (224, 224, 224), ',': (236, 236, 236), 'R': (48, 48, 48), 'X': (65, 65, 65), 'q': (118, 118, 118), '3': (154, 154, 154), '@': (178, 178, 178), 'n': (110, 110, 110), 'd': (83, 83, 83), 'u': (129, 129, 129), 'v': (131, 131, 131), 'w': (136, 136, 136), '7': (165, 165, 165), '2': (153, 153, 153), 'y': (141, 141, 141), '!': (173, 173, 173), '=': (204, 204, 204), 'O': (40, 40, 40), 'Z': (71, 71, 71), 'g': (90, 90, 90), 'Q': (46, 46, 46), 'S': (51, 51, 51), 'r': (120, 120, 120), 'k': (101, 101, 101), 'V': (61, 61, 61), '4': (158, 158, 158), 'x': (139, 139, 139), 'l': (103, 103, 103), 'b': (76, 76, 76), 'W': (62, 62, 62), 'a': (75, 75, 75), 'e': (86, 86, 86), 't': (126, 126, 126), 'z': (142, 142, 142), 's': (123, 123, 123), 'A': (0, 0, 0), 'M': (35, 35, 35), 'T': (55, 55, 55), 'G': (18, 18, 18), 'D': (9, 9, 9), 'E': (12, 12, 12), 'F': (15, 15, 15), 'C': (8, 8, 8), 'U': (58, 58, 58), 'p': (116, 116, 116), 'o': (113, 113, 113), 'i': (97, 97, 97), 'H': (21, 21, 21), 'Y': (69, 69, 69), 'c': (78, 78, 78), 'j': (98, 98, 98), 'B': (3, 3, 3), '#': (180, 180, 180), 'h': (93, 93, 93), '%': (185, 185, 185), 'K': (30, 30, 30), 'L': (32, 32, 32), 'J': (27, 27, 27), 'I': (25, 25, 25), 'P': (44, 44, 44), ')': (198, 198, 198), '/': (247, 247, 247), '>': (244, 244, 244), 'N': (38, 38, 38), '$': (183, 183, 183), '&': (191, 191, 191), '+': (209, 209, 209), '<': (242, 242, 242), '}': (222, 222, 222)}
chantier_de_l_etoile_noire = ['~~~~~~~~~~~~~~~~`~`~~~~~~`~~~~~`~`~~``~`~`~~`~~`~~~~~~~~~~~~~~~?~~~~~~~~~~~~~~~~', '~~~~~~~~~~~~~~~~~`~~`~~~~~~~~`~~~~mfm995^8016(|,?~~~``~`~`~`~~~~~~~~~~~~~~~~~~~~', '~~~~~~~~~~~~~~~~``~~~`~~~`~~~RXq3@8nduvdvw1uw77972y!=?`~~~`~~~~`~~~~~~~~~~~~~~~~', '~~~~~~~~~~~~~~~~~~~`~~~`~~``OZgQRRSrkVr!46!7@753225xx6?~~~~`~~~~~~~~~~~~~~~~~~~~', '~~~~~~~~~~~~~~~~~?~~~~`~~~31lbgWaOe2t0z305145431zyy0yuss~`~~~`~`~~~~~~~~~~~~~~~~', '~~~~~~~~~~~~~~~~~~~~~~~`AqWAMOOTGDEGmmmmds4w1v1uzyvw0stqmf~~``~~~~~~~~~~~~~~~~~~', '~~~~~~~~~~~~~~~~``~`~~nvkrxgEWWRRFCDCUMdXmpz0rxuvpoo0tnmnmiX~`~~~~~~~~~~~~~~~~~~', '~~~~~~~~~~~~~~~~~~`~`Fsf47y1HTlTHXUYcddenjnw4nsvspnpornililgWt`~~~~~~~~~~~~~~~~~', '~~~~~~~~~~`~~`~~~~~~~Bxt84x#TCEAOswu0x00wrou3npqmqmmljjjhfdcZXa~~~`~~~`~~~~~~~~~', '~~~~~~~~~~`~`~~~~?~~~~U%@460MAKFfbrnRsxurruyziompjiliemigcZeVSLC?~~~~~~`~~~~~~~~', '~~~~~~~~~~~~~~`~~~~~??ACJ3302UTrtvvzmlv1qvwrlopnhefldahbeZZVSIHI~~~```~~~~~~~~~~', '~~~~~~~~~~?~`~~~~~`H~~Wf3@slVs2oqrj8xzzwtnzujnmjjfZeddaUWXTXPLGE~?`~~`~~~~~~~~~~', '~~~~~~~~~~~~~~`~ABjho`)6p7HHAZox32tzw0xyzsrpnjlilgcaeYUXRVQUQIGJ``?~``~~~~~~~~~~', '~~~~~~~~`~~`~~~/APgls#qewOEAKGr464y4yyzptmqsutjXQMOSehZYPJPIMHGHHHIA`~/?~~~~~~~~', '~~~~~~~~~`~~~~>~oUadrniuZBFSjTz2w2010zwrrrqrlCBDFGGDBILRTMIHLLJGHJDJ~~?~~~~~~~~~', '~~~~~~~~~~~~~`~ACOEIJEGPDo3@733vxy52yvpnpqcAAGHGGFGFHGFDGNJJLMLHHKHHJ`~`~~~~~~~~', '~~~~~~~~~`~~`~4HFOVJKKVVFAuoleo3zu!rwxqvtlDBGCGGFFHFGFGGJHIKIJLLJKLLH~~~~`~~`~~~', '~~~~~~~~``~`~LfqeceUWaqeMDLPWDUYmql0vrptveBFDGFDEFIHGFGHGGMJGJIIIMHMMIA~`~~~~~~~', '~~~~~~~~?`~`DCLBFJJLCX0olirpdmwrxwyppqlwcBHHGGDGDDFGFFEGGHIHRJLLJLKJLIJC~~`~`~~~', '~~~~~~~~~?~~EFYobYVX8$6$561yyxvywxurqghwAFHDDFIEECEFGFFGEFCHLOMJLKMHMGKGA`~~~`~~', '~~~~~~~~``?~BDQVgfZakglgXi@y00o0r0jqlilkBFFHCFFFDCFEFCDGFGGFIRIMIKKKJLIHI~~?`~~~', '~~~~~~~~~~~~FTMdhaecCfeZklj2zpt0qwmnjemTEGFDHGEFECFDECDDFBGEFLMKKIKMJJGGHD~`~``~', '~~~~~~~~``~~AJNYQaPOP5192wwzuawvpuwroiiIHGFFCEFFGEFDFEDDCHCDCNTJKHIJLJHDFIA~~~~`', '~~~~~~~~`~?~HPHKNLTK@vox@z1zrusrldTTiikMIHHHGDDIFEFFDDDEHFFFCOXLKJILHIHIFGG`~~`~', '~`~`~~`~``~AKHSMMJUVJTm0yxsuswtsiplfddkLGHIIHDFFFHFCFDDDHIHFCKbNINGKHILHECA~~~~~', '``~~~~~/~~AGWcnHCILLJEPPLdVYhwvtlmegfgeOBFDHHFEHFGDCGFHEFFEECQfRKLJKLLME?~~AN~`~', '~~`~~`~``AFXjZuSRmirhirlkcSkktnkkifffdaaDHFFFHGFFGEFHGIGDGHGDLiSLIIJKOMF~>`~A`~~', '`?~`~``~BAPRNLGMm$5&250p10hclpnhgdfdhdYeFGGIICFGGGGFFEGKMGEBDRkTQLOKNMOG?~~~`~??', '``?~`~~AOXgcABSlv352qqxq7KcmUcXhhecacaRZXBGHFHFDEEGFFFDLKIKIGZcMGGFIFHIB~`~`~~~`', '~~~~``ASjTXHDLOUepPmALOQmafspjjgaZcbdZRXYQEHGDFGFDFFGGCIJKGGLbaKEGGHHHLDA~~`~~?`', '/?``~BFYhbPWQFRbskSlgjOHUfeqqllifcbZaWSTSQGKKDDGHFEFEGGGKLJLWZUHILGHEGJGIAA~~``~', '~`~~aAZrsgbaVGIKmdZsjrzwhkmqpfdgedZaVWTUQRQJGDDEFFFIFHICHGRakhKIJLIGEFKJHLKB~?~`', '`~~AAO+$TYMFINNRQWKrDR5yqjsslccdcaYaWVUUOSTKDGFGFDCFFIKGHNbgpcHHHHGEGGJJJHHGDF`~', '~~xGYjfRagkPRQUYdadcVeQGPObIejfdcYWWVWQOLRNLKNHGFCDFGGJSZbendFKJHNFHIHLLHDFDDA`~', '`qtAIfmoWoMVSdPabjjiUVUghglbeWabeXZVUQOOHRMJJQPNNRQNOTZdeegRGLLKIPHLKHKKKGGGDFF~', '~Upkkwhmt1mecYgANiuxw4ssnfrqhTdddXXTRSPKIIGFDFJIPXagjimaWPFBFNKJHKPQMGIJGGJJFGC`', '~fls1fff0ykfbSenhekkUosrrmrngZcbcUUSRKLHGKJHBGGFFIFLPNSGEGHHHPMLKJOMMKKLIHHGIIA~', '~zmosn5x65YOAAi4mueRmZuwqfwndYdbcbUOTMIFFFKFIBGLHKDBEGIBIJHGDMLGIQMKKKKMHHEIIKA`', '~2z0wo@xzfqpstlu5063uwpoalnngYXZYSPSHIGGGKEFCFHKILGGHJKFGGGHIPKKDSOPKHHMMMIGHJA~', '`x556iz06anyys02xw11svtldlokhWYcXTTJPIDEHIHHDBKKIMEGFJOEJHHGFOLKKPHLKKLMLKHLPIC~', '~3x26$9680s4psyvwswxvvnVPmnkfUYcZPQLPHDDEGIKCEKIKOGFHLIKMNRLNNQMLUJKNQRSRPPPONA~', '~w@7voqruvx1039794623ztgqjnmffeZcWVPPSONRMRQPQOQOLTMPQTTUSTSSVQMQSNOMKGFDGFEFFA~', '~kufs4ywx4xz36zzzwz3923yztsplmnfbaZWOOLMKVPRNPQIMVNSNTPPPPOSRTTTRPPSONLLOHJJMJA~', '`Zjjn1zslsxbollwslpjjpojghedeYXVTQIMNLJIJKHIKGJIHLCIFANPQMMMNKKLLJJJFGIIMIEGOLA`', '~QPhY0uqlqyhnmlvrurigmifdXfdaURQLMIJOKGFJHJHIMGFGKHHHEHFQLOLMKGJHKKJGHJKNKLFFCA~', '?mHKNjloYXaNYmmtjgnjgngfeXcaaVRSPPOIMJHLJNHMFJFIHMIGLIGKNMHJKKOQHMMLIIGJLGGIGA~~', '~!AKcPgiSLOHAccYcXidPUidcYMUdTRRTPKKQLGDEMLMKIFKMPGHHLPGRRDIJIOKIMMLILIMJDEBEA~~', '~~AAAPcZCeUeBAERAKafneaYYXISYUWNMPKOPKMGHPJJMLGHJPGIGFKHMOKLLKJIJNNJGOILGAAKA~~~', '~~AABJBABAZTLTOBDRikqgeeXYRVZUPRNGBFFBHDGSKKHMJIIIHIHFLJOOOKMKKHIMPLKIDGU~`~~~~~', '~~ABCACDBHWBAMCLCDZfWeZaXWMTZUQAABABCKJAFOMLKKIJJMKHIDPQSOMILLLGNKPKOOJD~`~`~`~~', '~`~AENZPBBQLEDBFDATUKOKKEMCIRTGEBACJMQIJFLMILKGDGPNMFFSRQPOOIHIKMLLLLGBF?`~~`~`~', '/~~AEFFBAHQLRJLCBAKYBCJJDABKRPBIDDHKKTLIDKLIFDDFFLNJGERQTOLMONMMNRQOQEHKB``~~~~`', '~~`~AABAAAABABAACGHLQAABBAAHHLIDACAAFICFACAGJKLLECCFQNLNMMIHHJIMUIKMOTHIB~~~``~~', '?<~?~CAABBFABACEAADKOGCAACAFBAAACAABAGKBBACRTHHKHILIIHFOOLIKOLKPXKKLQNKIA~~`~~`~', '~~``~~ABBFIGGFJMKICIMOIHIAGBBBCCCAACACGAABDGFBEDBFTLIGHKNFJKSINPTNMKPOLGC~~~~~?~', '``/~?`~ABAABACCHHDDLKLcVMAEDFFAACGEDCBAABADKHDABAFOKIIEDGCBGCCDDHDPNOIMIA?~~`~~~', '~~~~~~~~~ADKDBAGONLACFDMOIBJMCFCAACCABAABABJCAAFKLMFHGBFBAAAGGNVUBNOLPHAA~~`~~`~', '~~~~~~~~~`AABADDHQQaLAACBIIFLHKKGBAEDABAAAADHHBHISUNRPCAABBANLLTOCJIHLAB~~~~`~~~', '~~~~~~~~~`~ZAAHDCBFLFDCAAAACMLKECEBBBABBBCBAGIGIGKNJJGAABAAEAAEIADDLGA~~?~~~~`~~', '~~~~~~~~`~`~~MBAAGEBDEBAAAENIEHBDAABAACCDBAAGBDGDABAABBABABAADFFAACHA`~``~~~`~~~', '~~~~~~~~`?~~~>ABBGQQAFEBCOMKHCACBCBABAAFAEBADHAAFAAABAAAACAACEHEB}AB~~?`~`~?~~~~', '~~~~~~~~`~~`~~~AEDCPqeRKVNJHHIFCCCAAAABAIBGBGFDGFAABBABADACDCJIAB?/~``?~~``~~?~`', '~~~~~~~~~~~`~`~~~``KGAGSTFCGEEBBACACBCADFFHLGIDFGECCEHIAAAVHLRMIA~~?~~~``~~``~~~', '~~~~~~~~`~~~~~~?`~~~ABKSRQMQLHABBDFCDQIFHKDADAFIQRKHLIHHDCOOOIKIA~``~``~~~`~~`~~', '~~~~~~~~~~~~~~~~~?`~BACKJLFIDHMJNHSDHOPILMGGEBJLPLMOMMBRLCNRLQFDB?~`~Q?~~~~~~~~~', '~~~~~~~~~~~~~~~~`~``~ATLGFEBBCTMOLOMNMXRKQHHGEKGOHPKRVFWOTQMPPDGAMPTC~~`~~~~~~~~', '~~~~~~~~~~~~~~~~/~~~`BENSREBHDETMIKHHOJGIMROMPVTOMKJMMOHJKFHQMPMNFKA~?~~~~~~~~~~', '~~~~~~~~~~~~~~~~~?~LBFIISRHMDDACGKHHHILNPNMNOISPIHIHKHIIJMIQIMKJOOA~~~~~~~~~~~~~', '~~~~~~~~~~~~~~~~?`~DDJFHIIFFDADGIEGFOQOKMRKKQMPMHGIIOIKFLJINMGOLKA~`~~~`~~~~~~~~', '~~~~~~~~~~~~~~~~~?`~~AAAAUOWGDAIBCGHDGOMORLMPRMNIGKGLJNBBFKMMOMI~~~~~``~~~~~~~~~', '~~~~~~~~~~~~~~~~`~`~~?~`FABLMNSGLKLQMLPPMSLKKTRHEHHFKIKMOPMJOKH~~`~`~~~~~~~~~~~~', '~~~~~~~~~~~~~~~~~~`~?~`~~ARUOKUPKJPHLKMPGELPPLCIPOMKGMGHFFGHGIM~~`~~~~~`~~~~~~~~', '~~~~~~~~~~~~~~~~~~~~~~~~~AQRHKKGFHNMPKIJHKNMKIEDFGFCJGHHFEDAI~~~~~~~~~~~~~~~~~~~', '~~~~~~~~~~~~~~~~~~~~~~~~~~AHNQONOMJOMLLMIINMLJCCGCCHEFILGCA~~~`~~~~~~~~~~~~~~~~~', '~~~~~~~~~~~~~~~~~~~~~~~~~~~BFPTSPLKTLNOMJGJIIKHHEDFAFGHBAB~~~~~~~~~~~~~~~~~~~~~~', '~~~~~~~~~~~~~~~~~~~~~~~~~`~?QMSNNPHDFEAGKKFFEGMHCEIKCDC`~~~~~~~`~~~~~~~~~~~~~~~~', '~~~~~~~~~~~~~~~~~~~~~~~~~~/~~~BKLIKLMPONMHKFDKHHDAA~?`~~~~~>```~~~~~~~~~~~~~~~~~', '~~~~~~~~~~~~~~~~~~~~~~~~````~~`~BAAEBBDBBAABAABA~~~/~`~~``/~~~~`~~~~~~~~~~~~~~~~', '~~~~~~~~~~~~~~~~~~~~~~~~~`~~~``~`~`~~``~~~`~~`~`~~~`~``~~`~`~~~`~~~~~~~~~~~~~~~~', '~~~~~~~~~~~~~~~~~~~~~~~~`~`??`~~~`~?`~`?~~~`~~~~~~`~`~`~~~~~~~~~~~~~~~~~~~~~~~~~']
bb_8 = {'~': (255, 255, 255), 'u': (204, 177, 7), 'o': (180, 158, 3), 'n': (173, 152, 4), 'x': (219, 191, 5), 'm': (168, 148, 4), 'v': (207, 182, 4), 'R': (79, 68, 3), 'e': (130, 114, 12), 'p': (184, 162, 3), 'r': (191, 168, 4), 'q': (186, 163, 4), 's': (196, 171, 4), 'W': (98, 85, 7), 'w': (214, 187, 5), 'z': (227, 198, 5), 'b': (122, 106, 3), '0': (232, 202, 4), 't': (200, 173, 5), 'g': (142, 124, 5), 'Y': (109, 95, 4), 'k': (160, 140, 1), 'A': (0, 0, 0), 'i': (151, 131, 3), 'O': (66, 57, 0), 'c': (108, 96, 33), 'a': (111, 96, 18), 'N': (60, 54, 0), 'I': (40, 34, 0), 'l': (168, 146, 3), 'B': (7, 5, 0), 'S': (83, 73, 1), 'V': (96, 84, 1), 'f': (137, 122, 2), 'J': (43, 37, 0), 'X': (98, 85, 10), 'y': (222, 194, 4), 'j': (158, 137, 3), 'h': (150, 131, 2), 'Q': (72, 64, 2), 'L': (53, 46, 0), 'U': (89, 77, 1), 'H': (35, 30, 0), 'K': (46, 40, 0), 'Z': (111, 97, 1), 'G': (27, 24, 0), 'P': (68, 58, 1), 'F': (25, 22, 0), 'M': (56, 49, 1), 'd': (130, 113, 3), '9': (255, 248, 7), 'C': (12, 9, 0), '6': (255, 226, 7), 'T': (76, 68, 20), 'E': (20, 17, 0), 'D': (15, 12, 4), '3': (243, 212, 6), '4': (250, 218, 6), '8': (255, 244, 7), '1': (235, 205, 6), '7': (255, 238, 6), '2': (240, 210, 6)}
r2_d2 = ['~~~~~~~~~~uonnnnnnnnnxmnnnnnnnnnnnnnnmvR~~~epnnnnnnnr~~~~~~umnnnnnnnnnnqs~~~~~~~~~~~~~Wsmnnnnnms~~~~wmnnmz~~~bqnnnm0~~wmnnnnnnnm~~~~~0mnnnnnnnnnnptg~~~~~~~rqnnnnnnnnnnq', '~~~~~~~~YkAAAAAAAAAAAiAAAAAAAAAAAAAAAAOc~~~vAAAAAAAAAv~~~~aNAAAAAAAAAAAAARz~~~~~~~~~~~cIAAAAAAAn~~~lBAAAASV~~tAAAAAs~pAAAAAAAAAr~~~~~fAAAAAAAAAAAAAJvX~~~~yAAAAAAAAAAAAo', '~~~~~~~~uAAAAAAAAAAAAjAAAAAAAAAAAAAAAARY~~~hAAAAAAAAAk~~~~XQAAAAAAAAAAAAAAAw~~~~~~~~~~cLAAAAAAANc~~uAAAAAAq~~sAAAAAq~tAAAAAAAAAUW~~~~hAAAAAAAAAAAAAAAkW~~wAAAAAAAAAAAAAo', '~~~~~~~WSAAAAAAAAAAAAjAAAAAAAAAAAAAAAARX~~iHAAAAAAAAAKg~~~XQAAAAAAAAAAAAAAAAw~~~~~~~~~cLAAAAAAAAu~~lAAAAAAs~~iAAAANa~ZAAAAAAAAAAr~~~~hAAAAAAAAAAAAAAAAw~~lAAAAAAAAAAAAAo', '~~~~~~~gGAAAAAAAAAAAAiAAAAAAAAAAAAAAAAPX~~uAAAAArAAAAAv~~~YQAAAAAKWVVWRAAAAAj~~~~~~~~~cJAAAAAAAAo~aOAAAAAAVRVRAAAAi~nBAAAAnAAAAAr~~~~hAAAAAFWVVVVAAAAARW~cAAAAAAAAAAAAAn', '~~~~~~~aMAAAAAAAahhhiyceeefIAAAAAeeeedqW~~iAAAAH9FAAAAk~~~YQAAAAAuPQRQchAAAAW~~~~~~~~~bmdeeAAAAAQVqAAAAAAAAnhCAAAAs~tAAAAA6VAAAASX~~~hAAAAAgYQXTUuAAAAFh~gAAAAAAAThihhgv', '~~~~~~~~lAAAAAAgZ~~~~~~~~~VcAAAAGn~~~~~~~iHAAAAlLhAAAAIh~~XQAAAAArAAAAAtAAAAU~~~~~~~~~~~~~gQAAAAArnAAAAAAAAoqAAAAAn~YAAAAXRrAAAAAu~~~hAAAAAfFABAApAAAAEk~wAAAAAAKu~~~~~~', '~~~~~~~~wAAAAAAAy~~~~~~~~~~bAAAAGg~~~~~~~vAAAAAvAwAAAAAv~~YQAAAAAtADDDGtAAAAe~~~~~~~~~~~~~~qAAAAAsZAAAAAAAAUtAAAAN~nAAAAAuBqAAAAAp~~~hAAAAAgLCDECyAAAALc~eQAAAAAAl~~~~~~', '~~~~~~~~~vAAAAAAAx~~~~~~~~~bAAAAGg~~~~~~~iAAAASYAhIAAAAi~~YQAAAAAVkjjkjBAAAAy~~~~~~~~~~~~~~tAAAAALEAAAAAAAABOAAAAh~sAAAABpBQaAAAARY~~hAAAAAMljjjlIAAAAu~~~0AAAAAAAjc~~~~', '~~~~~~~~~TkAAAAAAAy~~~~~~~~bAAAAGg~~~~~~iHAAAAtAAGkAAAAGj~YQAAAAAAAAAAAAAAAu~~~~~~~~~~~~~~~YRAAAAAAAAAAAAAAAAAAAAq~YAAAAgLBBuAAAAAt~~hAAAAAAAAAAAAAAAiZ~~~~yAAAAAAAkU~~~', '~~~~~~~~~~aiAAAAAAAz~~~~~~~bAAAAGg~~~~~~uAAAABnAAAtAAAAAu~XQAAAAAAAAAAAAAay~~~~~~~~~~~~~~~~~pAAAAAAAAAGDAAAAAAAAAnlAAAAAuBBBlDAAAAo~~gAAAAAAAAAAAAASxW~~~~~~xAAAAAAAw~~~', '~~~~~~~~~~~WmAAAAAATa~~~~~~bAAAAGg~~~~~~hAAAAUyqrq3FAAAAg~WQAAAAAAAAAAAQ4~~~~~~~~~~~~~~~~~~~tAAAAAAAAAjcAAAAAAAANZqAAAAF3qrrzUAAAAPZ~hAAAAAAAAAAAC8T~~~~~~~~~xAAAAAAAs~~', '~~~~~~~~~~~~xEAAAAAAv~~~~~~bAAAAGg~~~~~iHAAAAAAAAAAAAAAAGhUQAAAAAgCAAAAAp~~~~~~~~~~~~~~~~~~~aQAAAAAAAAqpAAAAAAAAgXXAAAAAAAAAAAAAAAAt~hAAAAAVNAAAAAac~~~~~~~~~gZAAAAAAo~~', 'seeeeeeeeeedMAAAAAAAl~~~~~~bAAAAGh~~~~~vAAAAAAAAAAAAAAAAAtSQAAAAAqxAAAAAAcbbbZz~~~~~~~~~~~~~~pAAAAAAAAmlAAAAAAAApkAAAAAAAAAAAAAAAAAo~gAAAAAc1IAAAAAXbbadwceedUAAAAAAATV~', 'qAAAAAAAAAAAAAAAAAAAf~~~~~~bAAAAGh~~~~~iAAAAAAAAAAAAAAAAAdhPAAAAAq~0AAAAAAAAAAi~~~~~~~~~~~~~~uAAAAAAAPXRVAAAAAAAmpAAAAAAAAAAAAAAAAAMjeAAAAAf~vIAAAAAAAAAeAAAAAAAAAAAANa~', 'qAAAAAAAAAAAAAAAAAAAo~~~~~~bAAAAGh~~~~jHAAAAAtlmmmrbAAAAAB7MAAAAAr~~1AAAAAAAAAk~~~~~~~~~~~~~~aQAAAAAAk~~rAAAAAAMrVAAAAAhpnnmnpAAAAAA1cAAAAAf~~yGAAAAAAADgAAAAAAAAAAAAWT~', 'qAAAAAAAAAAAAAAAAAAAu~~~~~~bAAAAGh~~~~vAAAAAEm~~~~~vAAAAAA3NAAAAAr~~~1AAAAAAAAk~~~~~~~~~~~~~~~qAAAAAAu~~tAAAAAAewAAAAAAv~~~~~rAAAAAAleAAAAAf~~~zFAAAAAADgAAAAAAAAAAAAx~~', 'qAAAAAAAAAAAAAAAAAO0~~~~~~~YAAAACh~~~~cAAAAAg~~~~~~iGAAAAAZMAAAAAq~~~~0AAAAAAAi~~~~~~~~~~~~~~~sAAAAAAp~~aNAAAAAqmAAAAAN~~~~~~~YAAAAAHeAAAAAd~~~~0EAAAAAAeAAAAAAAAAAGw~~~', 'nrrrrrrrrrrrrrrrrvk~~~~~~~~0qrrqua~~~avqrrsrw~~~~~~~1qrrrquvqrrrq1~~~~~yqrrrrq2~~~~~~~~~~~~~~~UwqrrqwT~~~2qrrrqvxqrrrq1~~~~~~~zqrrrrrzqrrrq2~~~~~wqrrrqrzqrrrrrrrrtj~~~~', '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~', '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~dmooooor~~~~~~~opopoonn~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~', '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ShAAAAAAx~~~~~kOAAAAAMl~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~', '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~lNAAAAATd~~~~mAAAAAAy~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~', '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~zAAAAAAt~~~zAAAAAAx~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~', '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~xAAAAAAy~nKAAAAAh~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~', '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ShAAAAARriAAAAAMn~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~', '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~mMAAAAAfAAAAAAz~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~', '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~zAAAAAAAAAAAw~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~', '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~wAAAAAAAAAf~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~', '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~RfAAAAAAALm~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~', '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~nLAAAAAAAAx~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~', '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~VdAAAAAAAAAJq~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~', '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~vAAAAAAAAAAAe~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~', '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~0AAAAAA6BAAAAAv~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~', '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~oKAAAAAl~xAAAAAAz~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~', '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~UfAAAAALl~~eAAAAALo~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~', '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~wAAAAAA0~~~rFAAAAAfU~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~', '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~xAAAAAAn~~~~~zAAAAAAt~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~', '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~nnXZZZZfj~~~~~~rXZZZYY6~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~', '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~', '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~chkjfY~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~UbcXP~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~', '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~evbLGCDIOfwZ~~~~~~vVXXXXXXWjX~~~~~~lrZXXXXXXWUVilWXXWjY~~~~~tqcUMLRYmui~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~', '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~zPAAAAAAAAAAW~~~~~~kAAAAAAAAAu~~~~~mPAAAAAAAAAAAOSAAAAOW~~~wUAAAAAAAAAAItf~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~', '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~tAAAAAAAAAAAAAMs~~~eKAAAAAAAAAp~~~~~qAAAAAAAAAAAAQUAAAAPX~~sAAAAAAAAAAAAAAWr~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~', '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sAAAAAAAAAAAAAAz~~~~vAAAAACAAAAPa~~~WRAAAAAAAAAAAAQUAAAAPW~vAAAAAAAAAAAAAAAAUh~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~', '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~yAAAAAAACRTHAAA0~~~~~lAAAAE2AAAAAs~~~cLAAAAAAAAAAAANUAAAAPRqAAAAAAABRTJAAAAAAAr~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~', '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~YAAAAAEwmWTgxEy~~~~~gKAAAAfuCAAAAo~~~QZAAAAAAGrrrrqzQAAAAOalAAAAAAmpVUfyGAAAAAFl~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~', '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~qAAAAADz~~~~~~u~~~~~~vAAAAAuIcAAAAOb~~~vAAAAAASf~~~~STAAAANxKAAAAAeTAABBBzAAAAAAt~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~', '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sAAAAAo~~~~~~~~~~~~~~kAAAAObAuAAAAAu~~~dRAAAAAAdj~~~UTAAAAM7AAAAAAuAABCBBdNAAAAAn~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~', '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sAAAAAs~~~~~~~~~~~~~gJAAAAqBAnCAAAAn~~~~zAAAAAAAXk~~UTAAAAL8AAAAAAnAABCCCJgAAAAAh~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~', '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sAAAAAs~~~~~~~~~~~~~uAAAAArAAMeAAAAMd~~~~1AAAAAAAdZ~XTAAAAL7AAAAABmAAABCCDnAAAAAf~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~', '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sAAAAAp~~~~~~~~~~~~~kAAAAYVACAwAAAAAu~~~~~0AAAAAAAt~jTAAAAL8AAAAAApAAACCBNcAAAAAk~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~', '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~rAAAAAFx~~~~~~q~~~~gKAAAAUmmmmkAAAAAl~~~~~~xAAAAAACnQTAAAAM6BAAAAAuAAACCCfNAAAAAq~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~', '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~WAAAAAGxjTScyIy~~~vAAAAAAAAAAAAAAAAKjeggggxEAAAAAAqRTAAAANoUAAAAAOoAAABMwAAAAAAt~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~', '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~yAAAAAAAFTULAAA1~~lAAAAAAAAAAAAAAAAA7UEGGEAAAAAAAAcdSAAAAPTtAAAAAARuposjAAAAAATY~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~', '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~pAAAAAAAAAAAAABvfIAAAAAOUUUUUAAAAAAkQAAAAAAAAAAAAZfSAAAAPTcQAAAAAAAAAAAAAAAAAz~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~', '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~qAAAAAAAAAAAAAJ7AAAAAAwQSSRfYAAAAAQSAAAAAAAAAAAAqSTAAAAPW~xEAAAAAAAAAAAAAAAu~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~', '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~zLAAAAAAAAAAR0fAAAAAcO~~~~~tAAAAARSAAAAAAAAAAAOjQTAAAAPX~~xTAAAAAAAAAAAACx~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~', '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~iuXIAAACLbwacJAAAAAw~~~~~~nFAAAARTAAAAAAAAAJno~VUAAAAQY~~~cwXBAAAAAAAOpr~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~', '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~fnoold~~~YooooopV~~~~~~~pnnnnllnnnnnpnnnf~~~~onnnno~~~~~~Rnsqnnpsrc~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~']


def tracer_par_le_pouvoir_de_la_force(rayons, galaxie, longueur_de_l_etoile, largeur_de_l_etoile, taille_de_l_etoile=force):
    galaxie = [classer(droide) for droide in galaxie]
    for planete in ouvrir(memoire(galaxie)):
        for stormtrooper in ouvrir(memoire(galaxie[planete])):
            if nombre(rayons[galaxie[planete][stormtrooper]]) < maitriser("120")*maitriser("42"[force])*(force+force+force):
                for particule_cosmique in ouvrir(taille_de_l_etoile):
                    for poussiere_cosmique in ouvrir(taille_de_l_etoile):
                        coup_de_sabre_laser(longueur_de_l_etoile+maitriser(42/(maitriser(memoire("droides"))+force))+stormtrooper*taille_de_l_etoile+poussiere_cosmique, largeur_de_l_etoile+maitriser(42/(maitriser(memoire("droides"))+force))+planete*taille_de_l_etoile+particule_cosmique, rayons[galaxie[planete][stormtrooper]])


tracer_par_le_pouvoir_de_la_force(etoiles_de_la_galaxie, au_fin_fond_de_la_galaxie, 42*0, 42*0, force+force)
tracer_par_le_pouvoir_de_la_force(pieces_du_faucon_millenium, soudures_du_faucon_millinium, 220, 100, 120//42)
tracer_par_le_pouvoir_de_la_force(pieces_de_l_etoile_noire, chantier_de_l_etoile_noire, 20, 20, 120//42)
tracer_par_le_pouvoir_de_la_force(bb_8, r2_d2, 120+42+memoire("droides de combat")+force, (force+force)*memoire("force"))
voir_l_hologramme()
Télécharger

Félicitations ! :bj:




16934LePhe, administrateur de Planète Casio, a envoyé une participation au nom de toute sa communauté, qui bien que hors catégorie bénéficie de par son caractère remarquable d'un affichage sur la page des gagnants.

Il représente la Death Star flottant majestueusement dans le vide intersidéral. Mais ici, le rendu du vaisseau en question nous interpelle. Cela ne ressemble pas à un sprite possiblement extrait d'un jeu vidéo comme on a pu voir dans certaines participations précédentes, cela ne ressemble pas non plus à une vue d'artiste... cela ressemble plutôt à... un rendu 3D !

Et c'est exact, après le raycasting que nous t'avions sorti en Python lors de notre concours de rentrée 2022, Lephe pousse la barre encore plus haut avec maintenant du raytracing en Python !

Tu peux comparer ci-contre l'image dont il s'est inspiré (en bas à droite) et sa reproduction en raytracing (en haut à gauche).

Mais ne t'attends pas à trouver dans le code ici quoi que ce soit de ressemblant à ce que l'on a vu précédemment pour coder l'image en question. Au contraire, tout est vectoriel, et la taille du script obtenue en conséquence en est à couper le souffle.

Pour donc les images illustrées jusqu'ici, seulement 7,705 Ko de script, avec seulement 218 lignes pour jusqu'à 105 colonnes, le code peut donc être consulté et même modifié sur calculatrice !

Par contre, avec tous les calculs 3D supplémentaires nécessaires les performances en prennent ici un coup. Si le fond étoilé aléatoire est certes affiché après seulement 6 secondes, il faudra attendre jusqu'à 6min 30s pour que l'affichage de la Death Star, progressif de haut en bas, soit achevé.
Code: Tout sélectionner
from casioplot import *
import math
import random
WIDTH = 384
HEIGHT = 192
BLACK = (0, 0, 0)

# Vecteurs à 3 dimensions (x,y,z). Ça sert aussi pour les couleurs (r,g,b) !
class Vec3:
    def __init__(self, x, y, z):
        self.x, self.y, self.z = x, y, z
    def __add__(self, u):
        return Vec3(self.x + u.x, self.y + u.y, self.z + u.z)
    def __sub__(self, u):
        return Vec3(self.x - u.x, self.y - u.y, self.z - u.z)
    def neg(self):
        return Vec3(-self.x, -self.y, -self.z)
    # Produit scalaire
    def dot(self, u):
        return self.x * u.x + self.y * u.y + self.z * u.z
    # Produit et division par une constante
    def mulf(self, s):
        return Vec3(self.x * s, self.y * s, self.z * s)
    def divf(self, s):
        return Vec3(self.x / s, self.y / s, self.z / s)
    # Normalisation
    def normalize(self):
        return self.divf(math.sqrt(self.dot(self)))
    # Conversion vers une couleur (avec saturation au blanc)
    def toColor(self):
        f = lambda v: 255 if v >= 1 else int(v * 255)
        return (f(self.x), f(self.y), f(self.z))

def intersect_ray_sphere(ray_origin, ray_dir, sphere_center, sphere_r):
    """Calcul de l'intersection entre un rayon partant de ray_origin et
       voyageant dans la direction ray_dir, et une sphère. Renvoie t1 et t2,
       les deux temps auxquels le rayon intersecte la sphère."""
    ray_origin -= sphere_center

    a = ray_dir.dot(ray_dir)
    b = 2 * ray_origin.dot(ray_dir)
    c = ray_origin.dot(ray_origin) - sphere_r * sphere_r

    delta = b*b - 4*a*c
    if delta < 0:
        return -1, -1
    sqrt_delta = math.sqrt(delta)

    t1, t2 = (-b + sqrt_delta) / (2*a), (-b - sqrt_delta) / (2*a)
    return min(t1, t2), max(t1, t2)

def sphere_normal(sphere_center, position):
    """Vecteur normal à une sphère à la position donnée."""
    return (position - sphere_center).normalize()

ORIGIN = Vec3(0, 0, 0)

# "Field Of View": angle de vue vertical en degrés et en radians
FOV = 60
FOV_RADIANS = FOV * math.pi / 180
# Distance dans l'espace en 3D entre la caméra (à ORIGIN) et le plan qui
# représente l'écran. La distance est choisie pour que l'écran fasse une
# hauteur de 1 unité dans l'espace en 3D.
SCREEN_DISTANCE = 1 / (2 * math.tan(FOV_RADIANS / 2))

### Objet #1: L'étoile de la mort (Death Star, abbrévié "DS") ###

# Centre et rayon de la sphère
DS_CENTER = Vec3(0, 6, -0.2)
DS_RADIUS = 2.4

# Valeurs aléatoire pour le motif à la surface de la sphère
DS_ALEA = [random.randint(0, 255) for _ in range(25)]

# Couleurs
DS_LIGHT     = Vec3(0.7, 0.65, 0.5)
DS_DARK      = Vec3(0.45, 0.4, 0.3)
DS_SEMILIGHT = (DS_LIGHT + DS_DARK).divf(2)
DS_HIGHLIGHT = (DS_DARK + (DS_LIGHT - DS_DARK).mulf(3))

# Fonction donnant la couleur à la surface de la sphère à la position 3D donnée
def texture_death_star(pos):
    # Conversion des coordonnées cartésiennes x/y/z en sphériques. Comme on ne
    # regarde qu'un côté de la sphère connaître x/z suffit.
    pos = (pos - DS_CENTER).divf(DS_RADIUS)
    phi = math.asin(pos.z)
    theta = math.asin(pos.x / math.cos(phi))
    # Conversion de l'invervalles [-π;π] vers [0:256) pour u et [0:128) pour v
    # (symétrique par rapport au milieu de la hauteur)
    u = (theta + math.pi / 2) / math.pi * 256
    v = abs(phi / math.pi * 256)

    # Pixels aléatoires sur la partie sombre mais réguliers en hauteur
    surf_light_N = 0
    if v <= 0.5:
        surf_light_N = 4
    elif 4 < v <= 60:
        surf_light_N = 4 if (int(v) & 7) == 0 else 64
    if surf_light_N and random.randint(0, surf_light_N) == 0:
        return DS_HIGHLIGHT if u < 144 else DS_SEMILIGHT

    # Bordure au milieu
    if v <= 0.5:
        return DS_DARK.mulf(0.7)
    # Bandes de motifs carrés en surface
    if 4 <= v <= 20:
        return DS_LIGHT if int(u) in DS_ALEA else DS_DARK
    if 23 <= v <= 38:
        return DS_LIGHT if (int(u) + 43) & 255 in DS_ALEA else DS_DARK
    if 41 <= v <= 60:
        return DS_LIGHT if (int(u) + 90) & 255 in DS_ALEA else DS_DARK

    return DS_LIGHT

### Object #2: Laser incrusté dans la sphère ###

# Centre et rayon de la sphère qui est extrudée de l'étoile de la mort
LASER_CENTER = DS_CENTER + Vec3(0.28, -1, 0.28).normalize().mulf(3.48)
LASER_RADIUS = 1.2

# Même affaire que pour texture_death_star()
def texture_laser(pos):
    pos = (pos - LASER_CENTER).divf(LASER_RADIUS)
    phi = math.asin(pos.z)
    theta = math.asin(pos.x / math.cos(phi))
    # Conversion des invervalles [-π;π] vers [-1:1] en se restreignant à la
    # partie visible
    u = (theta + math.pi / 2) / math.pi * 8.533 - 3.533
    v = (phi   + math.pi / 2) / math.pi * 8.533 - 3.533

    LIGHT     = Vec3(0.7, 0.7, 0.50)
    DARK      = Vec3(0.3, 0.3, 0.24)
    SEMILIGHT = (DARK + (LIGHT - DARK).mulf(2))

    r = math.sqrt(u*u + v*v)
    if 0.80 <= r <= 0.85:
        return DARK
    if r <= 0.25:
        return SEMILIGHT
    return LIGHT

### Source de lumière #1 (lumière ambiente) ###

# Intensité de l'illumination
AMBIENT_LIGHT = 0.05

### Souce de lumière #2 (lumière directionnelle): le Soleil ###

# Direction des rayons et intensité de l'illumination
SUN_DIRECTION = Vec3(-1, -0.22, -0.1).normalize()
SUN_INTENSITY = 4.5

### Source de lumière #3 (lumière ponctuelle) ###

# "Front light": Position de la source et intensité de l'illumination
FLIGHT_POSITION = Vec3(-1.5, 2.5, 0)
FLIGHT_INTENSITY = 0.15

### Dessin ###

# Fond noir
for y in range(HEIGHT):
    for x in range(WIDTH):
        set_pixel(x, y, BLACK)
show_screen()

# Étoiles aléatoires
for step in range(10):
    for _ in range(400):
        intensity = random.randint(0, 95)
        color = (intensity, intensity, intensity)
        x = random.randint(0, WIDTH-1)
        y = random.randint(0, HEIGHT-1)
        set_pixel(x, y, color)
    show_screen()

# Lancer de rayon pour tous les pixels
for y in range(HEIGHT):
    for x in range(WIDTH):
        # Direction du rayon partant de ORIGIN et intersectant l'écran au
        # niveau du pixel (x, y)
        ray_dir = Vec3((x - WIDTH / 2) / HEIGHT,
                       SCREEN_DISTANCE,
                       (HEIGHT / 2 - y * 1.05) / HEIGHT).normalize()

        # Si le rayon n'intersecte pas l'étoile de la mort, on passe
        t1_ds, t2_ds = intersect_ray_sphere(ORIGIN, ray_dir, DS_CENTER, DS_RADIUS)
        if t1_ds < 0:
            continue

        # Point de collision, normale à la sphère en ce point, et texture
        collision = ORIGIN + ray_dir.mulf(t1_ds)
        normal = sphere_normal(DS_CENTER, collision)
        texture = texture_death_star

        # Si on touche le laser, on utilise les infos de collision du laser
        t1_laser, t2_laser = intersect_ray_sphere(ORIGIN, ray_dir, LASER_CENTER, LASER_RADIUS)
        if 0 <= t1_laser <= t1_ds <= t2_laser:
            collision = ORIGIN + ray_dir.mulf(t2_laser)
            normal = sphere_normal(LASER_CENTER + (LASER_CENTER - DS_CENTER).mulf(0.3), collision).neg()
            texture = texture_laser

        # Calcul de l'illumination du point de collision:

        # Lumière ambiante
        light_level = AMBIENT_LIGHT
        # Lumière provenant du Soleil
        light_level += max(-normal.dot(SUN_DIRECTION) * SUN_INTENSITY, 0)
        # Lumière provenant de la source ponctuelle sur la gauche
        FLIGHT_DIRECTION = (collision - FLIGHT_POSITION).normalize()
        light_level += max(-normal.dot(FLIGHT_DIRECTION) * FLIGHT_INTENSITY, 0)

        # Couleur finale du pixel: couleur donnée par la texture, multipliée
        # par le niveau d'illumination
        color = texture(collision).mulf(light_level)
        set_pixel(x, y, color.toColor())
    show_screen()
Télécharger




16935J'ai moi-même, juste pour le plaisir et au nom de toute la communauté TI-Planet, envoyé également une participation hors concours que j'ai nommée Escape Out of Dagobah, et au justement le plaisir de la retrouver elle aussi épinglée sur la page des gagnants ! :favorite:

J'adapte pour ma part à nouveau une scène du film-épisode 5 L'Empire contre-attaque, cette fois-ci celle où Luke tente d'arracher son vaisseau X-Wing aux marais de la planète Dagobah.

J'utilise la bibliothèque graphique casioplot. Record de longueur, le code fait ici 124,724 Ko avec pas moins de 814 lignes, bien évidemment non visualisable ou modifiable sur calculatrice.

Sauf que ce n'est pas un simple dessin, je commence par animer un dialogue entre Luke et Yoda que tu fais progresser avec la touche
AC
:

L'affichage se compose de différents éléments : fond d'écran, surface du marais, partie immergée sous la surface du marais, Luke, Yoda, leurs deux plateformes flottantes et le X-Wing. La fonction d'affichage a été optimisée pour ne redessiner que les seuls pixels inclus dans un rectangle dont les coordonnées sont à lui communiquer. Pour optimiser les performances il suffit ainsi d'encadrer le ou les changements visuels à chaque rafraichissement de l'écran par un rectangle le plus petit possible.

Et encore mieux qu'une animation, c'est un véritable jeu vidéo qui démarre après cette cinématique. Ton but est donc ici d'extraire ton X-Wing des profondeurs de Dagobah afin de pouvoir vite partir sauver tes amis.

Les contrôles au clavier sont extrêmement simples, le jeu se jouant avec une seule et unique touche,
AC
(touche ACtion, c'est facile à retenir).

À toi de tenir compte des variations automatiques de la jauge alors affichée en haut d'écran, t'indiquant si la Force est plus ou moins avec toi. La touche
AC
te permet ici d'invoquer la Force. Appuie aux bons moments afin de faire léviter ton X-Wing le plus possible et l'arracher aux marais de Dagobah !


Code: Tout sélectionner
#########################
# Escape Out of Dagobah #
#########################
# un jeu Python pour Graph 90+E / fx-CG50

from casioplot import set_pixel, show_screen, get_pixel, draw_string
from math import sqrt, floor, ceil, cos, pi, sin, log10
from random import random, randint, seed

#-------
# IMAGES
#-------
# images converties sur https://tiplanet.org/forum/img2calc.php

S_L, S_H, S_BITS, S_ITRANSP, S_RLE, S_PALETTE, S_ZOOM, S_X, S_Y = tuple(range(9))
I_LUKE, I_XWING, I_YODA, I_PF_P, I_PF_G, I_AP = tuple(range(6))
SPRITES = (
# Luke Skywalker - d'apres https://www.reddit.com/r/PixelArt/comments/9dd75i/oc_luke_skywalker_i_did_on_my_latest_stream_join/
[19,58,7,0,
(b"\x80\v\x81\3\x82\1\x80\4",
b"\x80\n\x82\1\x83\1\x84\1\x82\1\x85\2\x80\3",
b"\x80\t\x81\1\x86\1\x82\1\x84\2\x81\1\x82\1\x80\3",
b"\x80\t\x84\1\x87\1\x88\1\x89\1\x81\1\x8a\1\x86\1\x82\1\x80\2",
b"\x80\t\x81\1\x8a\1\x8b\1\x89\2\x8c\1\x88\1\x84\1\x80\2",
b"\x80\t\x81\1\x8a\1\x89\3\x8d\1\x8a\1\x84\1\x80\2",
b"\x80\b\x85\1\x86\1\x8a\1\x88\1\x89\2\x8a\1\x87\1\x80\3",
b"\x80\n\x8e\1\x8f\1\x88\2\x90\1\x86\1\x84\1\x80\2",
b"\x80\a\x91\1\x92\1\x86\1\x84\1\x8f\1\x93\3\x80\4",
b"\x80\5\x94\1\x91\1\x95\2\x92\1\x96\1\x8f\1\x97\1\x93\2\x98\1\x80\1\x89\2",
b"\x80\3\x99\1\x94\1\x9a\1\x91\1\x9a\2\x95\1\x92\1\x97\1\x8f\1\x93\1\x9b\1\x9c\1\x8d\1\x89\2",
b"\x80\2\x99\1\x9d\1\x9a\1\x95\1\x94\2\x95\3\x91\1\x93\1\x8a\1\x8d\1\x89\1\x8a\1\x89\1\x8a\1",
b"\x80\1\x94\1\x9d\1\x9a\1\x95\1\x9a\1\x9d\1\x9a\1\x9e\1\x94\1\x96\1\x8a\3\x89\2\x8f\3",
b"\x80\1\x9f\1\x9d\1\xa0\1\x9a\1\xa0\1\x9a\1\x94\1\x9a\2\xa1\1\x8f\2\x90\1\x88\1\x89\1\x8f\2\x80\1",
b"\x80\1\x9f\1\x9d\1\x9a\3\x94\1\x9a\2\xa2\1\xa3\1\xa4\1\xa5\1\x9a\1\x9d\2\x8f\2\x80\1",
b"\x80\2\x9e\1\x9a\3\x9f\1\x9a\1\xa6\1\xa7\1\xa8\1\xa9\1\x94\1\x9a\2\xa2\1\x97\1\xaa\1\x80\1",
b"\x80\2\xab\1\xa2\2\xac\1\xa2\2\xa5\1\xa3\1\xa9\1\x94\1\x9a\1\x9d\1\x91\1\xa2\1\xad\1\xa5\1\xa2\1",
b"\x80\3\xa2\2\xac\1\xa1\1\xa2\1\xa4\1\xa9\2\x9a\3\xa2\2\xa4\1\xa8\1\xa2\1",
b"\x80\4\xa2\1\xac\1\xae\1\xa8\1\xa9\2\x9a\2\x9d\1\x92\1\xa2\1\xae\1\xa8\1\xa5\1\xa2\1",
b"\x80\4\xa2\2\xac\1\xa9\2\xaf\1\x9a\2\x9d\1\xa2\2\xb0\1\xb1\1\xa5\1\xa2\1",
b"\x80\3\x99\1\x9a\2\xa2\1\xa9\1\xb2\1\x91\1\x9a\2\xa1\1\xa2\2\xb0\1\xb3\1\xb2\1\xa1\1",
b"\x80\3\x9f\1\x9a\3\xb0\1\x91\1\x92\1\x91\2\xb4\1\xa2\2\xac\1\xa1\1\xa2\1\xab\1",
b"\x80\3\x9f\1\xb5\1\x9a\2\x91\1\xac\1\xb4\1\xac\1\xb0\1\xb4\1\xae\1\xa6\4\x80\1",
b"\x80\2\x99\1\xb6\2\x98\2\x91\2\xb7\1\xb8\1\xac\1\xb4\2\x80\5",
b"\x80\2\xb9\1\xba\2\xbb\1\xbc\3\xb7\2\xb3\1\xbd\1\xb0\1\x80\5",
b"\x80\2\xbb\1\xbe\1\xbf\1\xc0\4\xb7\2\xc1\1\xc2\1\xb9\1\x80\5",
b"\x80\2\xc0\2\xc3\1\xc4\1\xc5\2\xc6\1\xc7\2\xc8\1\xc0\1\xc2\1\xb3\1\x80\4",
b"\x80\1\x9f\1\x9a\5\xc4\1\xc6\2\xb4\1\xa1\1\xa2\1\xc9\1\xca\1\x80\4",
b"\x80\1\x94\1\xcb\1\xcc\4\x9a\1\xb0\1\xb4\1\xb0\1\xa1\1\xa2\1\xc0\1\xbe\1\x80\4",
b"\x9f\1\xab\1\xcd\2\xce\3\xcf\1\xd0\1\xb4\2\xc3\1\xa1\1\xac\1\x80\5",
b"\xab\1\xb9\1\xd1\1\xd2\1\xce\4\xd3\1\xd4\1\xb4\1\xac\1\xa2\2\x80\5",
b"\xd5\1\xa3\1\xd6\1\xd7\1\xd8\1\xce\3\xd9\1\xda\1\xd4\2\xc3\1\xbd\1\xdb\1\x80\4",
b"\x80\2\xdc\1\xce\1\xd3\1\xce\4\xd2\1\xdd\2\xde\1\x80\6",
b"\x80\3\xce\1\xd8\1\xdf\1\xce\3\xd2\1\xdd\2\xe0\1\x80\6",
b"\x80\4\xd1\1\xd2\1\xce\3\xe1\1\xd2\1\xdd\1\xe0\1\xd4\1\x80\5",
b"\x80\4\xce\1\xe1\1\xd7\1\xce\3\xd2\1\xdd\3\x80\5",
b"\x80\5\xce\1\xd2\1\xce\3\xd2\1\xdd\3\x80\5",
b"\x80\5\xce\1\xe2\1\xda\1\xce\2\xe1\1\xda\1\xdd\2\xd4\1\x80\4",
b"\x80\6\xce\1\xd3\1\xce\3\xd2\1\xd9\1\xdd\2\x80\4",
b"\x80\6\xce\1\xe3\1\xce\2\xdf\1\xe4\1\xdd\3\x80\4",
b"\x80\a\xe3\1\xe5\2\xe6\1\xe7\1\xd9\1\xe7\1\x80\5",
b"\x80\a\xe8\1\xe9\1\xea\2\xeb\1\xec\1\xeb\1\x80\5",
b"\x80\a\xe8\1\xed\3\xee\1\xef\1\xec\1\x80\5",
b"\x80\6\xf0\1\xea\1\xe9\2\xf1\1\xeb\1\xee\1\xeb\1\x80\5",
b"\x80\6\xea\4\xee\1\xf2\1\xef\1\x80\6",
b"\x80\6\xed\1\xf3\3\xee\1\xf2\1\xef\1\x80\6",
b"\x80\5\xea\1\xf4\1\xea\1\xe9\1\xf5\1\xee\1\xec\1\x80\a",
b"\x80\6\xf6\1\xe5\2\xee\2\xeb\1\xf2\1\x80\6",
b"\x80\5\xf5\1\xf0\1\xea\1\xdf\1\xee\1\xf2\1\xef\1\x80\a",
b"\x80\5\xf6\1\xf3\1\xed\1\xec\1\xeb\1\xee\1\x80\b",
b"\x80\5\xea\3\xf7\1\xf2\1\xec\1\x80\b",
b"\x80\4\xf6\1\xed\1\xf3\1\xf8\1\xf9\2\xf7\1\xf9\1\xfa\1\x80\6",
b"\x80\5\xea\3\xf9\6\xfa\1\x80\4",
b"\x80\5\xea\2\xe5\1\xfb\6\xf9\1\x80\4",
b"\x80\4\xe5\1\xed\1\xe5\1\xfc\1\x80\v",
b"\x80\4\xea\2\xfc\1\xf1\2\xfa\1\x80\t",
b"\x80\4\xf5\1\xfc\1\xf5\1\xf1\1\xfc\3\xfd\1\x80\a",
b"\x80\5\xfe\6\xf9\1\x80\a",),
((0, 0, 0), (154, 121, 93), (152, 124, 87), (124, 96, 85), (126, 96, 80), (156, 122, 86), (122, 99, 80), (119, 98, 85), (247, 191, 140), (250, 207, 152), (251, 188, 140), (194, 145, 114), (175, 121, 94), (253, 203, 152), (120, 102, 76), (232, 165, 120), (229, 168, 121), (220, 216, 195), (225, 214, 195), (219, 140, 102), (234, 231, 210), (248, 244, 222), (252, 241, 225), (235, 160, 119), (217, 215, 200), (231, 229, 214), (255, 252, 230), (247, 238, 224), (249, 192, 135), (251, 255, 231), (241, 229, 210), (237, 228, 215), (255, 252, 224), (211, 200, 181), (207, 203, 182), (38, 39, 32), (44, 37, 27), (40, 39, 28), (205, 203, 188), (51, 45, 35), (43, 37, 32), (86, 78, 67), (131, 87, 60), (206, 197, 184), (188, 175, 151), (139, 83, 60), (209, 203, 176), (86, 79, 68), (182, 176, 150), (42, 40, 24), (84, 81, 64), (90, 81, 65), (186, 178, 146), (246, 244, 229), (64, 61, 54), (105, 91, 76), (107, 90, 70), (53, 51, 44), (62, 61, 59), (26, 28, 26), (51, 47, 46), (178, 173, 155), (1, 4, 0), (32, 31, 20), (7, 0, 0), (102, 86, 66), (30, 31, 26), (205, 194, 167), (203, 199, 179), (148, 139, 115), (164, 150, 127), (71, 56, 37), (39, 27, 13), (3, 0, 5), (95, 88, 82), (254, 253, 217), (254, 255, 226), (203, 165, 124), (215, 181, 137), (229, 213, 176), (204, 188, 152), (212, 181, 143), (193, 158, 97), (197, 156, 97), (195, 174, 138), (102, 104, 102), (217, 179, 143), (200, 165, 117), (213, 179, 129), (209, 169, 122), (197, 164, 109), (240, 239, 223), (252, 250, 234), (204, 171, 122), (206, 171, 128), (192, 157, 109), (201, 174, 122), (217, 184, 133), (218, 183, 127), (196, 156, 103), (204, 170, 115), (169, 136, 76), (171, 137, 71), (175, 143, 89), (174, 130, 77), (193, 156, 115), (188, 156, 114), (122, 87, 16), (141, 103, 34), (166, 135, 81), (126, 85, 17), (141, 105, 27), (183, 159, 114), (159, 122, 58), (138, 106, 36), (171, 133, 81), (190, 154, 119), (155, 122, 48), (172, 133, 75), (106, 73, 8), (168, 134, 62), (103, 75, 8), (182, 162, 126), (57, 6, 10), (160, 121, 51), (186, 158, 126), (65, 6, 10))
],
# X-Wing d'apres https://www.pngwing.com/en/free-png-prwig/download
[66,30,3,0,
(b"\x80\1)\xd0\2\31",
b"h\31\32\23\31\xa8\2\21\22\t",
b"P\31\32\33\21\v\22\31@\218\31h\t\32\v\t",
b"8\31\32\31\n$*\f\31 \t\22\t(\t\22\v\t89\n\23\t",
b"\b1\32\31\30\t\22\34\22$\22!\n\v\22)\32\2392\t\n\v\t\b",
b"\t\22\t\32\318\21\32\f\22\f\22!\22\23\t\23\22\23\t\n\v\t\23\n\24\32$\n\t\n\23\t\b",
b"\t\32\31`\t2\31\22\21\v\21\23\n\t\23\t\n\23\21\v\24\22\24\n\34\n\t\23\t\20",
b'\b\t\n\t\x80\1\21\32\21*\v\t\33\22\33\22\v\21\v\t2\34"\v\t\20',
b"\20\t\x98\1\t\n\21\n\31\n\33\n\31:\v\t\vR\31\n\t\30",
b"\xb8\1\21\n\t\v\t\n\t\23!\32\31\22\23\t21\v\n\t\30",
b"\xc0\1\t\n\21\n\21\23\32\v\n\v\t\n\t\22\33\32) \t\n\t ",
b"\x88\1)\20\t\n\31\22\v\n\v\21\33\21\n\21\x1b1 \31\n\t ",
b"h!\22\33A\v\32\33\t\v\t\v\31\x131 \t\22\23\t ",
b'X\21";\31\23\n\31\n\t\23\21\v\31\v1\v\t \31\v\t(',
b"H\21\32#\31+\21\n\31\n\21\23\t+I \t\n\23\t(",
b"8\21\22\21*\33\22\33\21\n\21\n\21#I\23\t\v\21\30\t\22\v\t(",
b"(\21\22\21\20\31\32A\n\21\n\t\22\33)\v\31\v\21#\21\b!0",
b'\b!\22\218\31\x1012\f\x1b1\v\31#"\21H',
b'\t"\21\x80\1\21:\f\n\23)\v\t\v\t#\n\v\31\v\22\21 \21\b',
b"\t\22\21\x88\1\21:\f\n\239\v\21\23\22\v\31\v*!\22\t",
b"\b\t\n\t\x88\1\t:\24\n\23)\33\21\vR\v\21\v\22\t\v\n\v\t",
b"\b\21\x88\1\t:\24\n\23\t !\20!2\v\21\23\22\t\v\n\v\t",
b"\x98\1\t#\22\34\n\23\tx!B\23\n\23\t",
b'\x90\1\t2\34\n\23\t\xa0\1!"\t\v\n\v\21',
b"\x90\1\t:\f\n\23\t\xc8\1!\v\22\v\21",
b"\x88\1\t\v:\33\t\xf0\1\t\22\31",
b'\x88\1\t\33"\33\t\xf8\1\t\n!',
b"\x88\1\tC\21\xf8\1\t\v\n!",
b"\x90\1\31\33\21\x88\2\t\n)",
b"\xa8\1\31\x98\29",),
((255, 0, 255), (0, 0, 0), (255, 255, 255), (128, 128, 128), (255, 0, 0))
],
# Yoda d'apres https://www.reussiralecole.fr/pixel-art-star-wars/
[31,33,7,0,
(b"\x80\f\x81\6\x80\r",
b"\x80\n\x82\1\x81\1\x83\1\x84\3\x85\1\x84\1\x86\1\x81\1\x80\v",
b"\x80\t\x82\1\x84\1\x87\1\x88\3\x85\1\x84\1\x88\1\x84\1\x89\1\x81\1\x80\3\x8a\1\x80\6",
b"\x80\6\x8a\1\x80\1\x81\1\x85\v\x84\1\x81\1\x8a\2\x80\5\x82\1\x81\1",
b"\x81\4\x80\2\x8a\1\x81\1\x84\2\x85\1\x88\2\x84\1\x85\1\x84\2\x85\1\x84\1\x88\2\x8b\1\x8c\1\x8d\1\x8a\1\x80\1\x81\3\x84\1\x82\1",
b"\x81\1\x84\1\x88\1\x84\1\x8e\1\x81\2\x82\1\x81\1\x8e\1\x84\1\x88\2\x84\1\x82\1\x8f\2\x82\1\x81\1\x84\1\x8b\1\x8d\1\x90\1\x86\1\x82\2\x84\2\x88\1\x83\1\x82\1",
b"\x80\1\x81\1\x88\2\x84\1\x82\1\x84\4\x90\1\x81\2\x90\1\x84\5\x88\1\x8a\1\x91\1\x84\4\x92\2\x83\1\x93\1\x80\1",
b"\x80\2\x94\1\x83\1\x95\1\x96\1\x97\2\x98\1\x84\1\x88\3\x84\1\x98\1\x97\2\x92\1\x98\1\x84\1\x88\1\x84\1\x98\5\x84\1\x99\1\x80\2",
b"\x80\3\x81\1\x9a\1\x9b\1\x80\3\x97\1\x84\1\x88\2\x92\1\x80\3\x9b\1\x9c\1\x9d\1\x88\2\x96\1\x98\1\x96\1\x84\2\x93\1\x80\3",
b"\x80\4\x86\1\x9b\1\x80\3\x9b\1\x9e\1\x88\2\x9b\1\x80\3\x9b\2\x85\1\x88\2\x84\3\x95\1\x81\1\x80\4",
b"\x80\4\x81\1\x85\5\x84\2\x88\1\x9f\1\x85\5\x84\1\x88\1\x84\2\x82\1\x90\1\x80\6",
b"\x80\4\x81\1\x88\3\x84\1\x85\1\x98\1\x97\1\x84\1\x88\1\x9f\1\x84\1\x88\4\x84\1\x81\2\x86\1\x8c\1\x8b\1\x80\5",
b"\x80\4\x81\1\x84\1\x88\2\x85\1\x84\3\x88\3\x85\1\x88\4\x85\2\x87\1\x90\1\x8c\1\x8a\1\x80\5",
b"\x80\5\x94\1\x85\2\x84\1\x80\5\x84\2\x85\5\x87\1\x81\1\x8a\3\x80\5",
b"\x80\6\x81\1\x85\2\x84\5\x88\1\x85\6\x86\1\xa0\1\x80\2\x8a\1\x80\5",
b"\x80\6\xa1\1\x81\1\x85\6\x87\1\x85\5\x81\1\xa2\2\xa3\1\x80\a",
b"\x80\6\xa4\1\xa5\1\xa6\1\x90\1\x85\a\x9f\1\x85\1\xa5\1\xa2\4\xa4\1\x80\6",
b"\x80\6\xa4\1\xa2\3\xa7\1\xa8\1\xa9\4\xaa\1\xa5\1\xa2\2\xab\1\xa2\2\xa5\1\xac\1\x80\6",
b"\x80\5\xa4\1\xa5\1\xad\2\xa2\2\xae\1\xaf\3\xb0\1\xa5\1\xa2\3\xb1\1\xa5\1\xa2\3\xb2\1\x80\5",
b"\x80\5\xa4\1\xa5\1\xa3\1\xb3\2\x86\1\x81\3\xb4\1\xb3\1\xad\2\xa2\1\xad\1\xb2\1\xa5\1\xa2\3\xb2\1\x80\5",
b"\x80\5\xa4\1\xa5\1\xb2\1\x81\2\x84\2\x88\2\x82\1\xa4\1\xb2\1\xb3\1\xad\2\xb5\1\xa5\1\xa2\3\xb6\1\x80\5",
b"\x80\5\xa4\1\xa2\1\xa5\1\x90\1\x9b\1\x84\1\x8e\1\x84\1\x88\1\x81\1\xa5\2\xb5\1\xb2\2\xa2\4\xad\2\xb7\1\x80\4",
b"\x80\4\xb2\1\xa5\1\xa2\2\x81\1\x86\1\x94\1\x81\1\x9b\1\x90\2\xa2\6\xad\1\xa2\2\xad\2\xb7\1\x80\4",
b"\x80\4\xb2\1\xa2\3\x81\1\x87\1\x85\1\xb8\1\x95\1\xb9\1\xa5\1\xa2\1\xba\1\xa2\4\xad\1\xa2\1\xad\3\xb7\1\x80\4",
b"\x80\4\xb2\1\xa2\3\xbb\1\x81\2\xbc\2\xa4\1\xa2\2\xad\3\xa2\2\xad\5\xb7\1\x80\4",
b"\x80\4\xb2\1\xa5\1\xa2\2\xbd\1\xbe\1\xbf\1\xc0\1\xc1\1\xc2\1\xad\n\xb3\1\xc3\1\xa1\1\x80\4",
b"\x80\4\xb2\1\xad\1\xa2\2\xc4\1\xbe\2\xc5\1\xbc\1\xc2\1\xb3\1\xad\b\xb3\1\xb2\1\xb3\1\xb7\1\x80\4",
b"\x80\4\xb2\1\xad\2\xa2\1\xa5\1\xbb\1\xc6\2\xc7\1\xbc\1\xc8\1\xad\6\xb3\1\xa4\1\xb2\1\xb3\1\xad\1\xb7\1\x80\4",
b"\x80\5\xa4\1\xad\1\xa2\2\xc9\1\xc6\2\xca\1\xbc\1\xcb\1\xad\4\xb3\1\xb2\2\xad\4\xb7\1\x80\4",
b"\x80\5\xa0\1\xad\1\xa2\1\xad\1\xb3\1\xcc\1\xcd\1\xca\1\xbc\1\xcb\1\xb3\2\xa4\1\xa0\1\xa4\1\xb3\4\xad\2\xb7\1\x80\4",
b"\x80\5\xa0\1\xad\1\xb3\1\xce\1\x96\1\xcf\1\xd0\1\xd1\1\xbc\1\xc2\1\xb2\1\xd2\1\xd3\1\x92\1\x96\1\x98\1\x96\2\x92\1\xb3\1\xad\1\xb7\1\x80\4",
b"\x80\5\xa0\1\xb3\1\xce\1\x83\1\xd4\1\x83\1\xd5\1\x96\1\xd6\1\xd1\1\xb3\2\xce\1\x84\1\x98\1\x84\1\x83\1\x92\1\x83\1\x92\1\xd3\1\xb7\1\x80\4",
b"\x80\6\xa0\1\x81\6\xd1\1\xd7\1\xa1\2\x81\4\x82\1\x81\3\xa0\1\x80\5",),
((0, 0, 0), (74, 116, 0), (79, 114, 0), (192, 220, 53), (191, 219, 51), (136, 167, 0), (71, 114, 5), (137, 168, 0), (190, 218, 50), (141, 165, 0), (151, 153, 150), (150, 152, 149), (234, 237, 233), (235, 238, 234), (76, 112, 5), (78, 114, 8), (70, 113, 4), (68, 111, 1), (63, 100, 1), (69, 112, 2), (77, 113, 6), (75, 111, 3), (67, 103, 0), (65, 102, 4), (64, 101, 3), (80, 110, 4), (66, 116, 0), (255, 255, 255), (67, 97, 0), (72, 101, 0), (191, 219, 39), (134, 165, 0), (129, 98, 26), (130, 99, 27), (244, 240, 218), (123, 98, 14), (128, 97, 25), (245, 241, 219), (67, 110, 0), (127, 60, 27), (135, 67, 33), (132, 65, 37), (132, 64, 24), (249, 238, 218), (131, 99, 18), (224, 211, 186), (133, 65, 32), (135, 67, 39), (131, 63, 30), (126, 95, 13), (127, 96, 24), (225, 212, 187), (138, 64, 34), (127, 96, 15), (124, 99, 15), (128, 97, 33), (75, 117, 0), (129, 98, 34), (223, 210, 185), (125, 107, 45), (191, 83, 46), (124, 106, 44), (192, 173, 119), (87, 38, 18), (193, 79, 45), (194, 80, 46), (126, 101, 27), (124, 94, 11), (126, 102, 42), (83, 40, 17), (191, 172, 118), (88, 38, 19), (124, 99, 25), (126, 103, 49), (89, 39, 19), (125, 100, 26), (128, 104, 44), (192, 174, 126), (62, 99, 0), (127, 104, 50), (129, 106, 52), (90, 40, 20), (128, 97, 16), (226, 213, 188), (66, 103, 5), (58, 102, 2), (91, 41, 21), (87, 44, 21))
],
# petite plateforme d'apres https://gameartpartners.com/downloads/swamp-game-background/
[59,19,7,0,
(b"\x80\b\x81\n\x80\b\x81\16\x80\2\x81\f\x80\5",
b"\x80\a\x81\1\x82\1\x83\1\x82\4\x84\1\x85\1\x86\1\x87\1\x81\b\x86\1\x88\2\x89\1\x82\1\x88\1\x82\1\x88\1\x82\4\x8a\1\x8b\1\x81\2\x8b\1\x8c\1\x82\1\x88\3\x82\2\x88\1\x8a\1\x84\1\x8d\1\x81\2\x80\3",
b"\x80\5\x81\2\x82\4\x88\6\x82\3\x88\3\x82\1\x88\1\x82\1\x88\1\x82\1\x88\f\x82\1\x88\5\x82\3\x88\1\x82\3\x88\3\x81\1\x80\2",
b"\x80\3\x81\2\x8e\1\x8f\1\x88\a\x8a\1\x88\1\x90\1\x88(\x81\1\x80\1",
b"\x80\1\x81\2\x88\3\x82\1\x88\a\x82\1\x88)\x82\1\x88\1\x81\1",
b"\x81\1\x87\1\x82\1\x90\1\x88\n\x8e\1\x88\1\x82\1\x88(\x82\1\x81\1",
b"\x81\1\x91\1\x83\1\x82\1\x88\2\x82\1\x88\1\x82\3\x88\3\x82\1\x92\1\x82\1\x88\4\x82\1\x88\1\x82\1\x88\1\x82\4\x88\2\x82\5\x88\4\x82\2\x84\1\x88\1\x82\4\x88\2\x82\1\x88\2\x82\1\x88\3\x93\1\x80\1",
b"\x80\1\x81\1\x94\1\x88\a\x95\1\x94\2\x96\1\x94\1\x97\1\x98\1\x99\1\x9a\1\x8a\1\x8f\1\x88\1\x82\1\x88\1\x9b\2\x95\1\x8e\2\x9c\1\x9d\1\x99\1\x82\1\x88\2\x84\1\x94\2\x96\1\x94\1\x9e\1\x9f\1\x88\4\x8e\1\x88\2\x82\1\x88\3\x82\1\x88\2\x99\1\x80\2",
b"\x80\2\xa0\1\xa1\1\x82\2\x88\2\x8a\1\x96\1\x97\1\xa2\1\x96\2\xa2\1\x96\1\x98\1\xa2\1\x96\1\xa2\1\xa0\1\x88\1\x82\1\xa3\1\xa4\b\xa5\1\x9a\1\x88\1\xa2\1\x96\4\x92\1\xa6\1\xa2\1\xa7\2\xa0\1\xa2\1\x96\1\xa8\1\x95\1\x88\1\x82\1\x88\1\x82\1\x88\1\x90\1\x88\1\x80\2",
b"\x80\3\xa9\2\xaa\3\xa9\a\xaa\1\xab\1\xaa\3\xac\1\xad\1\xae\r\xa9\1\xaa\1\xa9\1\xaa\2\x92\1\x98\1\xa9\1\xaa\1\xa9\a\xaa\2\xa9\1\xab\1\xaf\1\xaa\1\x80\2",
b"\x80\5\xb0\2\xb1\1\xb0\b\xb2\1\xb0\3\xb1\1\xb3\1\xb4\n\xb3\1\xb4\1\xb5\1\xb0\5\xb1\2\xb0\v\xb1\1\xaf\1\xb1\1\x80\3",
b"\x80\6\xb1\n\xab\1\xb1\4\xb6\1\xb7\1\xb3\n\xb6\1\xb1\5\xb8\1\xb9\2\xb1\f\xaf\1\xb8\1\x80\3",
b"\x80\6\xba\1\xbb\16\xbc\f\xab\1\xbb\a\xb9\1\xbb\v\x9f\1\xbb\2\x80\3",
b"\x80\6\xbd\n\xbe\3\xbd\1\xbe\1\xbf\1\xc0\1\xc1\n\xbd\1\xbe\1\xbd\4\xbe\1\xbd\1\xbe\2\xbd\v\xc2\1\x80\4",
b"\x80\a\xc3\20\xc1\n\xc3\24\xc4\1\x80\5",
b"\x80\b\xc5\1\xc6\1\xc5\2\xc6\1\xc5\1\xc6\2\xc5\1\xc6\1\xc5\1\xc6\1\xc5\1\xc6\1\xc5\1\xc7\3\xc8\1\xc7\5\xc5\4\xc6\1\xc5\2\xc6\4\xc5\a\xc9\1\xc5\1\x80\a",
b"\x80\n\xca\1\xcb\1\xcc\5\xcb\1\xcd\1\xce\1\xcc\1\xca\1\xcb\1\xcf\1\xd0\1\xd1\1\x80\4\xd2\1\xcf\1\xcc\6\xca\1\xcc\1\xcb\1\xcc\t\x80\t",
b"\x80\v\xcd\1\xd3\1\xca\1\xcd\1\xd4\1\xca\1\x80\4\xd5\1\xd6\1\xd0\1\x80\b\xcd\1\xd3\1\xd4\1\xd5\1\x80\1\xcd\1\xd4\1\xd3\1\x80\2\xd4\1\xcd\1\xca\3\xd4\1\xca\1\x80\n",
b"\x80\f\xd7\2\x80\23\xd7\1\x80\v\xd8\1\xd7\1\x80\f",),
((255, 0, 255), (0, 0, 0), (66, 146, 8), (66, 146, 0), (66, 138, 8), (66, 134, 8), (66, 130, 16), (66, 121, 16), (58, 146, 8), (66, 142, 0), (66, 142, 8), (74, 125, 25), (66, 134, 16), (66, 125, 16), (74, 125, 16), (58, 146, 0), (58, 142, 8), (82, 113, 25), (99, 61, 41), (107, 73, 33), (115, 77, 41), (74, 130, 16), (115, 73, 41), (107, 69, 41), (90, 53, 41), (82, 121, 16), (74, 134, 16), (74, 134, 8), (74, 121, 16), (74, 117, 16), (99, 61, 33), (90, 57, 33), (115, 69, 41), (107, 81, 41), (107, 73, 41), (99, 85, 25), (107, 61, 33), (107, 61, 25), (90, 53, 33), (82, 113, 16), (99, 89, 33), (107, 65, 41), (107, 65, 49), (90, 49, 41), (99, 77, 41), (99, 73, 33), (107, 57, 33), (82, 49, 41), (99, 61, 49), (99, 57, 49), (82, 45, 41), (99, 49, 33), (99, 53, 33), (99, 53, 41), (90, 49, 33), (99, 49, 41), (99, 53, 49), (90, 53, 49), (99, 49, 49), (90, 49, 49), (90, 45, 41), (90, 45, 58), (82, 45, 58), (82, 45, 49), (90, 40, 49), (82, 40, 41), (74, 49, 49), (82, 40, 58), (58, 45, 41), (82, 36, 58), (74, 36, 58), (74, 36, 41), (82, 36, 41), (82, 36, 66), (74, 28, 66), (74, 32, 66), (74, 32, 58), (74, 28, 58), (58, 32, 49), (74, 36, 49), (74, 32, 49), (74, 32, 41), (66, 36, 41), (74, 24, 66), (66, 28, 66), (66, 28, 58), (74, 24, 58), (66, 24, 66), (66, 20, 66))
],
# grande plateforme d'apres https://gameartpartners.com/downloads/swamp-game-background/
[104,28,7,0,
(b"\x80\4\x81\2\x80b",
b"\x80\3\x81\1\x82\1\x83\1\x81\n\x80X",
b"\x80\1\x81\2\x84\1\x85\1\x84\3\x86\2\x84\5\x87\1\x81\3\x80D\x81\r\x80\4",
b"\x81\1\x86\1\x85\2\x84\17\x81\3\x80\3\x81\2\x807\x81\5\x84\1\x88\1\x89\1\x8a\1\x84\t\x81\2\x80\2",
b"\x8b\1\x85\1\x84\2\x85\1\x84\r\x8c\1\x86\1\x85\1\x86\1\x81\1\x80\1\x81\1\x84\2\x81\2\x804\x81\1\x85\1\x86\1\x84\2\x86\1\x84\1\x85\1\x84\v\x85\1\x84\1\x81\1\x80\1",
b"\x80\1\x8d\1\x8e\1\x86\2\x85\1\x84\f\x85\1\x86\2\x84\1\x8f\1\x81\1\x85\1\x84\1\x85\2\x90\1\x81\3\x80\23\x81\5\x80\24\x81\5\x84\1\x85\1\x84\1\x85\2\x84\1\x86\1\x85\1\x86\1\x84\1\x8c\1\x84\a\x85\2\x86\1\x8c\1\x81\1",
b"\x80\1\x91\1\x92\1\x93\1\x85\2\x84\1\x8c\1\x85\1\x84\r\x85\1\x84\b\x94\1\x81\23\x8c\1\x95\1\x96\1\x95\1\x8a\1\x81\24\x97\1\x90\1\x8a\1\x84\1\x86\1\x84\17\x85\1\x84\4\x98\1\x91\1\x80\1",
b"\x80\2\x99\1\x91\1\x93\1\x9a\1\x85\2\x84\5\x86\1\x84\b\x8c\1\x84\b\x86\1\x95\4\x96\1\x95\1\x96\3\x95\4\x96\1\x95\2\x96\1\x95\3\x86\1\x95\3\x96\1\x95\1\x96\1\x95\2\x96\1\x95\a\x96\1\x84\3\x85\1\x8c\1\x84\1\x85\2\x84\1\x85\1\x84\20\x85\1\x84\2\x9b\1\x9c\1\x9d\1\x80\2",
b"\x80\3\x9d\1\x91\1\x92\1\x9a\1\x84\1\x94\1\x84\5\x85\1\x84\a\x85\1\x84\a\x85\1\x96\2\x95\4\x96\1\x95\1\x96\1\x95\b\x96\1\x95\1\x96\1\x95\1\x96\3\x95\4\x96\1\x95\3\x96\1\x95\5\x84\v\x86\1\x84\17\x8c\1\x84\1\x9e\1\x92\1\x91\1\x9f\1\x80\2",
b"\x80\4\x9d\1\x91\1\x92\1\xa0\1\x92\1\xa1\1\x85\1\x86\1\x84\1\x8c\1\x86\1\x84\1\x85\1\x84\2\x86\1\x84\2\x85\1\x84\a\x85\1\x95\r\x96\1\x95\25\x96\3\x95\1\x84\3\x85\1\x84\5\x85\1\x84\2\x86\1\x84\5\x86\1\x85\1\x84\1\x85\1\x86\2\xa2\1\x85\1\xa3\1\xa4\1\x91\1\x9d\1\x80\4",
b"\x80\5\xa5\1\x91\1\xa6\1\x92\1\x9a\1\xa1\1\x83\1\x84\2\xa7\1\xa8\1\xa9\1\x84\2\x8f\1\x88\1\x86\1\x84\1\x86\1\x84\a\x95\f\x96\2\x95\25\x96\2\x95\4\x85\2\x8c\1\x84\b\x86\1\x84\3\x8a\1\x84\1\x86\1\x84\1\x86\1\x84\1\x9a\1\xaa\1\xab\1\x91\1\x9d\2\x80\5",
b"\x80\6\xa5\1\xa6\1\x91\1\x9c\1\x9a\2\xa1\1\xac\1\xad\1\xae\1\xaf\2\x88\1\x8a\1\x89\3\x86\1\x84\a\x96\1\x95\n\x84\1\x95\1\x84\1\x95\25\x96\1\x86\1\x95\4\x85\2\x84\5\x85\1\x89\3\xb0\1\x84\2\xb1\1\xb2\1\x9e\1\x84\2\x86\1\x9b\1\xb3\1\x91\1\xb4\1\x9d\1\xb5\1\x80\6",
b"\x80\b\x9d\1\x91\1\x9c\1\x93\1\x8d\1\xa1\1\xb6\1\xae\2\xb7\1\xaf\1\xb8\1\xb9\1\xba\1\x84\1\x86\1\x85\2\x8c\1\xbb\1\xbc\1\x85\1\x84\2\x96\1\x95\1\x96\1\x95\1\x96\1\x95\1\x96\2\x95\2\x96\2\xbd\1\xa9\1\x84\1\xbe\1\x90\1\xbf\1\xc0\1\x95\2\x96\1\x95\2\x96\1\x95\1\x96\2\x95\1\x96\1\x95\1\x96\1\x95\1\x96\1\x95\1\x96\1\xa7\1\xc1\1\xc2\1\x8f\1\xc3\1\x89\3\x84\2\x8c\1\x86\1\x85\1\xba\1\xb8\1\xc4\1\xaf\1\xae\1\xb7\1\xae\1\xb6\1\xa1\1\x8d\1\x93\2\x91\1\x9d\1\xa5\1\xc5\1\x80\a",
b"\x80\n\x9d\1\x91\2\x93\1\xc6\1\xc7\1\xc8\1\xae\1\xb7\1\xc9\1\xca\1\xaf\1\xcb\1\xcc\1\xcd\1\x84\2\x86\1\x89\2\xb0\1\x96\1\x95\1\x96\2\x95\2\xbf\1\xce\1\xba\2\xcf\1\x96\1\x8f\1\x89\1\xd0\1\x89\3\xba\1\x89\1\x96\1\x95\1\xbc\1\xcc\2\xd1\2\xd2\1\x95\2\x84\1\xba\1\x89\1\xba\2\x89\1\xba\1\x89\1\xd3\1\xba\1\x89\3\xd4\1\x86\1\x8c\1\x86\1\xd5\1\xd6\1\xaf\1\xd7\1\xca\1\xd8\1\xae\1\xc8\2\xc7\1\x9a\1\x93\1\x9c\1\x91\1\x9d\1\xa5\1\xb5\1\x80\t",
b"\x80\v\x9d\1\x91\1\x92\1\xa0\1\xc7\2\xc8\1\xb6\1\xd9\1\xd7\1\xaf\2\xda\1\xd1\2\xdb\1\xdc\1\xb9\1\xba\1\x89\1\xba\3\x90\1\xdd\1\xba\4\xb9\1\xba\3\xde\1\xd0\1\xba\5\xd5\1\xda\1\xdf\1\xd6\2\xda\1\xd6\1\xcb\1\xe0\1\x96\1\x95\1\xe1\1\xba\4\xb9\1\xba\1\xd0\1\xba\2\x89\3\xcc\1\xcd\1\xd1\1\xcb\1\xda\1\xaf\1\xb7\1\xd9\1\xad\1\xc7\1\xc8\1\xc6\1\xa0\1\x93\1\x91\1\x9d\1\x99\1\x80\f",
b"\x80\r\xe2\1\xa0\2\xe3\1\xc7\1\xa1\1\xad\1\xae\1\xb7\2\xaf\1\xda\2\xcc\2\xe4\1\x89\2\xb8\16\xe5\1\xb8\5\xda\1\xaf\1\xda\1\xaf\a\x95\1\x96\1\xb9\1\xb8\1\xca\1\xb8\3\xe5\1\xb8\1\x89\4\xcc\1\xda\2\xaf\1\xb7\2\xae\1\xe6\1\xa1\1\x9a\1\xc7\1\xc6\1\xa0\1\xa6\1\x80\17",
b"\x80\16\xe7\1\xa0\1\xe8\1\xb3\1\x8d\1\xc7\1\xe9\1\xae\1\xb7\2\xaf\2\xda\1\xcc\1\xe4\1\x89\3\xc4\v\xca\2\xea\1\xc4\1\xca\1\xc4\3\xaf\t\xeb\1\xaf\1\x95\1\xb8\1\xc4\3\xca\1\xc4\1\xe5\1\xca\2\x89\2\xba\1\xb8\1\xaf\2\xb7\2\xae\1\xc8\1\xc7\1\x9a\1\xb3\1\xa0\2\xe7\1\x80\20",
b"\x80\16\xe7\1\xe2\1\x80\1\xab\1\x93\1\xc7\2\xe9\1\xae\1\xb7\2\xaf\2\xda\1\xcc\1\x89\3\xd8\r\xea\1\xd8\5\xb7\v\xeb\1\x95\1\xc9\1\xd8\3\xc9\1\xec\1\xd8\2\xc4\1\xba\1\xb8\1\xed\1\xeb\1\xb7\2\xae\1\xc8\1\xc7\2\xa0\1\x91\1\xab\1\xa0\1\xee\1\x80\20",
b"\x80\22\xa0\2\xc7\2\xe9\1\xae\1\xb7\3\xaf\1\xc4\1\xba\1\x89\2\xd8\1\xad\f\xef\1\xad\5\xb7\r\xf0\1\xad\b\xb8\1\xca\1\xd8\1\xad\1\xae\1\xe9\1\xf1\1\xc7\1\xef\1\xa0\2\x9d\1\x80\23",
b"\x80\23\xa0\1\xef\2\xc7\1\xf1\2\xb7\3\xc4\1\xb8\2\xba\2\xb6\f\xef\1\xb6\5\xe9\1\xae\v\xe9\1\xe5\1\xad\1\xb6\2\xa1\1\xb6\4\xd8\1\xad\2\xb6\2\xc7\2\xef\1\xa0\1\xf2\1\xf3\1\xa6\1\x80\23",
b"\x80\23\xaa\1\xa0\1\xef\2\xc7\1\xf1\2\xd0\1\xb7\1\xd7\1\xca\1\xc4\1\xb8\1\xba\1\xa1\f\xef\1\xa1\1\xb6\1\xa1\3\xc7\r\x9a\1\xb6\1\xa1\2\x9a\1\xa1\4\xad\2\xa1\1\x9a\2\xc7\1\xef\1\xa0\1\xe7\1\xaa\1\xb4\1\x80\24",
b"\x80\24\x92\1\xef\1\xea\2\xf1\2\xe5\2\xad\2\xca\2\xb8\1\x8d\1\x9a\5\x8d\6\xe7\1\x8d\3\x9a\1\x8d\1\xc7\r\x8d\1\x9a\4\x8d\1\x9a\3\xa1\2\xb3\2\x9c\1\xab\1\xef\1\xe7\1\x80\27",
b"\x80\30\xea\2\xf4\1\xe5\1\xb6\2\xad\1\xd9\1\xca\1\x80\1\x91\1\x93\2\x9c\1\x93\a\xe7\1\x93\1\x9c\1\x93\3\xa0\r\xb3\1\x93\2\x9c\1\xe5\1\xf5\1\xa4\1\x9c\1\x93\1\x8d\1\xf6\1\x92\1\x91\2\x9d\1\x8b\1\x80\30",
b"\x80\34\xf7\1\x80\6\xf8\1\x91\t\xef\1\x91\1\x9c\2\x91\2\xa0\f\xab\1\x91\3\xa4\1\x80\3\xf9\1\x91\2\x92\1\x91\1\x9d\1\xfa\1\x80\32",
b"\x80'\x9d\2\x91\1\x9d\3\xab\1\x9d\5\xa0\6\xf2\2\xa0\1\xf2\2\xa0\1\x9d\2\x91\1\x9d\1\x80%",
b"\x80*\xb5\1\xa5\1\xb5\1\xf3\1\xb5\3\xa5\2\xa6\n\xb4\1\xa6\1\xb5\2\x9d\1\x80&",
b"\x80+\xfb\1\xb5\1\xa5\1\xb5\2\xfc\2\xb4\1\xa6\b\xe7\1\xaa\1\xa6\2\xb5\2\x80'",
b"\x803\xfd\1\xb4\1\xfe\1\xb4\1\x80\a\xb4\1\xff\1\x80(",),
((255, 0, 255), (0, 0, 0), (62, 121, 12), (69, 107, 22), (68, 142, 9), (64, 139, 20), (58, 142, 6), (67, 112, 26), (74, 125, 20), (114, 77, 42), (65, 132, 11), (69, 50, 48), (65, 139, 3), (89, 49, 55), (81, 85, 43), (98, 99, 31), (73, 131, 13), (82, 39, 57), (84, 44, 50), (90, 45, 58), (74, 105, 21), (53, 147, 13), (64, 146, 0), (74, 117, 10), (73, 105, 29), (57, 37, 41), (90, 49, 50), (75, 101, 34), (82, 44, 60), (83, 35, 60), (87, 77, 39), (82, 36, 66), (81, 40, 42), (89, 53, 47), (75, 89, 32), (81, 66, 47), (91, 40, 56), (76, 35, 57), (74, 35, 42), (89, 91, 30), (99, 69, 38), (76, 113, 19), (72, 40, 49), (84, 39, 48), (82, 85, 31), (100, 56, 48), (100, 49, 34), (108, 56, 35), (107, 85, 32), (89, 70, 23), (101, 61, 40), (91, 44, 48), (74, 36, 47), (72, 33, 59), (101, 52, 51), (99, 53, 30), (106, 70, 41), (117, 68, 39), (115, 72, 40), (109, 92, 30), (81, 111, 19), (92, 72, 32), (73, 138, 4), (82, 119, 26), (89, 113, 23), (83, 85, 24), (91, 109, 20), (114, 82, 39), (106, 65, 39), (74, 28, 58), (92, 39, 41), (92, 44, 43), (88, 45, 33), (99, 66, 47), (106, 66, 50), (108, 60, 25), (115, 66, 31), (99, 94, 28), (107, 81, 42), (106, 90, 34), (92, 53, 32), (115, 66, 24), (97, 81, 26), (90, 57, 34), (115, 82, 33), (99, 88, 24), (115, 62, 35), (107, 61, 42), (107, 61, 48), (99, 61, 50), (107, 60, 31), (88, 106, 25), (106, 69, 22), (100, 89, 32), (116, 73, 46), (115, 61, 22), (107, 65, 33), (106, 85, 38), (67, 37, 40), (89, 40, 30), (116, 72, 34), (90, 53, 42), (98, 53, 40), (74, 40, 39), (82, 40, 33), (91, 48, 35), (80, 50, 42), (98, 58, 32), (90, 57, 40), (109, 68, 46), (74, 45, 42), (81, 45, 40), (99, 65, 41), (91, 48, 40), (82, 36, 41), (80, 37, 50), (84, 52, 40), (76, 53, 47), (84, 49, 48), (68, 81, 48), (68, 73, 59), (73, 57, 60), (75, 44, 57), (58, 48, 49), (75, 31, 65), (42, 130, 19), (74, 32, 49), (76, 26, 68))
],
# paysage de marécages d'apres https://gameartpartners.com/downloads/swamp-game-background/
[384,192,7,0,
(b"\x80\1\x81\1\x82\1\x83\1\x84\3\x85\1\x86\1\x81\3\x86\1\x81\2\x84\1\x87\4\x84\2\x86\1\x81\4\x82\1\x88\1\x87\2\x86\2\x81\3\x86\1\x81\1\x87\2\x83\1\x81\25\x89\1\x84\2\x81\3\x84\2\x85\1\x81\t\x86\1\x87\1\x84\1\x87\1\x8a\1\x81\2\x84\3\x8b\1\x81\4\x84\2\x89\1\x86\2\x87\2\x84\1\x87\1\x84\1\x83\1\x86\16\x8c\1\x84\2\x86\n\x87\1\x84\2\x86\b\x87\1\x8d\1\x84\1\x8c\1\x86\v\x8a\1\x84\1\x87\1\x86\f\x87\1\x84\1\x86\1\x81\1\x84\1\x85\1\x86\n\x84\1\x87\1\x8e\1\x86\5\x8f\1\x90\1\x80\1\x91\1\x87\2\x80\5\x8f\2\x87\1\x84\1\x87\1\x92\1\x80\2\x8d\1\x84\2\x81\5\x84\2\x87\1\x81\1\x84\2\x8a\1\x81\17\x88\1\x84\2\x81\v\x84\3\x81\1\x87\1\x84\2\x93\1\x81\t\x87\2\x88\1\x81\2\x8c\1\x87\1\x84\1\x81\1\x82\1\x81\1\x94\1\x92\1\x84\1\x87\1\x95\1\x92\b\x87\1\x84\1\x8f\3\x96\1\x92\4\x97\1\x82\1\x81\4\x84\2\x8c\1\x81\5\x84\2\x88\1\x81\5\x87\1\x84\2\x81\1\x8d\1\x84\1\x81\6\x98\1\x84\2\x81\4\x89\1\x84\2\x87\1\x81\6\x89\1\x84\2\x85\1\x81\17\x99\1\x80\1",
b"\x80\1\x81\3\x87\1\x84\3\x81\a\x84\2\x87\1\x81\1\x88\1\x87\1\x84\2\x81\5\x87\1\x8d\1\x93\1\x81\a\x93\1\x84\1\x9a\1\x81\25\x89\1\x84\2\x8b\1\x81\2\x84\2\x83\1\x81\n\x84\3\x81\3\x9a\1\x84\3\x81\4\x84\2\x93\1\x86\3\x9a\1\x87\1\x84\2\x8d\1\x9b\1\x86\r\x89\1\x84\2\x86\v\x84\2\x87\1\x86\6\x8a\1\x84\3\x85\1\x86\v\x87\1\x9b\1\x8b\1\x86\f\x84\2\x8a\1\x83\1\x87\1\x8c\1\x86\n\x87\1\x84\1\x87\1\x86\5\x90\1\x8f\1\x80\2\x84\2\x80\5\x96\1\x9c\1\x84\2\x9d\1\x81\1\x9e\1\x82\1\x87\1\x84\2\x81\5\x9a\1\x84\2\x81\1\x84\2\x85\1\x81\17\x8a\1\x84\2\x81\n\x87\2\x84\1\x89\1\x81\2\x84\1\x87\1\x84\1\x88\1\x81\b\x84\2\x83\1\x81\3\x84\2\x87\1\x81\1\x95\1\x92\1\x9f\1\x84\2\xa0\1\x92\5\x95\1\x92\2\x84\2\xa1\1\x8f\3\x92\4\x97\1\xa2\1\x89\3\x85\1\x87\1\x84\1\x81\4\x89\2\x84\1\x87\1\x88\1\x89\5\x8d\1\x87\2\x89\1\x85\1\x84\1\x83\1\xa0\1\x89\4\x84\1\x87\1\x84\1\x89\2\xa0\1\x81\1\x8b\1\x84\3\x89\a\x84\2\x83\1\x89\20\x80\1",
b"\x80\1\xa2\1\x80\1\x82\1\x84\3\x87\1\x89\1\x81\6\x84\3\x81\3\x84\3\x89\1\x81\2\x84\1\x87\1\x84\1\x81\t\x84\2\x81\25\x89\1\x84\1\x87\1\x83\1\x81\2\x87\1\x84\1\x88\1\x81\n\x87\1\x84\2\x81\5\x87\1\x84\1\x87\1\x9c\1\xa2\1\xa0\1\x84\2\xa3\1\x86\1\x81\1\x86\1\x82\1\x86\1\x81\1\x85\1\x87\2\x84\1\xa3\1\x86\1\x82\1\x86\3\x81\3\x86\3\x81\1\x84\2\x81\1\x86\n\x81\1\x87\2\x84\1\x8b\1\x81\2\x86\1\x88\1\x84\1\x87\2\x84\1\x87\1\x86\1\x81\2\x86\2\x81\3\x86\3\x84\2\x81\4\x86\6\x81\2\x86\1\xa3\1\x84\4\x89\1\x81\1\x86\t\x93\1\x87\1\x84\1\x86\1\x81\1\x86\3\x81\1\x86\2\x81\1\x87\1\x84\1\x80\6\x87\1\x84\2\x81\3\x82\1\x84\1\x87\1\x84\1\x81\5\x89\1\x84\2\x81\1\x84\3\x81\20\x84\2\x81\t\x87\2\x84\1\x8b\1\x81\4\x84\3\x83\1\x81\a\x84\2\x89\1\x81\3\x8a\1\x84\1\x87\1\x83\1\x81\2\x87\1\x84\1\xa3\1\x81\1\xa2\1\x92\a\xa4\1\x84\1\x9f\1\x8f\3\x92\5\x89\3\x8c\1\x84\2\x8b\1\x89\6\x87\1\x84\1\xa3\1\x89\5\x87\1\x84\2\x89\2\x84\2\x89\5\x84\2\x8b\1\xa0\2\x89\2\x87\1\x84\2\x89\b\x84\1\x87\1\x84\1\x89\16\xa0\1\x81\1\x89\1",
b"\x80\3\x81\1\x87\1\x84\4\x81\6\x83\1\x84\1\x87\1\x81\4\x84\1\x87\1\x84\1\x8a\1\x84\2\x9b\1\x81\n\x84\2\x81\25\x8b\1\x87\1\x84\1\x85\1\x81\2\x85\1\x87\1\x84\1\x81\t\x85\1\x84\3\x81\6\x84\2\x87\1\x86\1\x8b\1\x87\3\x81\b\x8e\1\x84\1\x87\1\x84\1\x89\1\x81\n\x87\1\x84\1\x81\f\x82\1\x9a\1\x87\1\x84\1\x8e\1\x81\1\x8b\1\x84\1\x87\1\x8c\1\x81\1\x84\1\x87\1\x81\v\x84\2\x81\r\x8a\1\x84\1\x87\1\x84\2\x81\f\x84\2\x81\t\x84\2\x80\5\xa5\1\x84\3\x81\4\x84\3\x81\6\x84\1\x87\1\x81\1\x84\3\x81\20\x84\2\x81\b\x89\1\x84\2\x87\1\x81\5\x84\3\x87\1\x81\6\x83\1\x84\2\x81\5\x84\3\x81\2\x87\1\x84\1\x8b\1\x81\6\x94\1\x92\2\xa6\1\x84\1\xa7\1\x8f\3\x96\1\x92\5\x97\1\x89\1\x84\3\x89\a\x84\2\x85\1\x89\5\xa0\1\x87\1\x84\1\x89\2\x87\2\x88\1\x89\3\x9a\1\x84\1\x87\1\x89\4\x84\1\x87\1\x84\1\x89\t\x83\1\x84\2\x89\16\x8f\1\xa0\1\x80\1",
b"\x80\2\xa8\1\x9e\1\x8b\1\x84\1\x87\1\x84\2\x81\1\x82\1\x81\4\x93\1\x84\2\x81\5\x84\4\x87\1\x85\1\x81\n\x84\2\x81\25\x8a\1\x84\1\x87\1\x85\1\x81\2\x89\1\x84\2\x83\1\x89\1\x82\1\x81\6\x84\3\x85\1\x81\3\x89\1\x81\2\x89\1\x84\1\x87\2\xa9\1\x87\2\x9b\1\x81\t\x8b\1\x87\1\x84\2\x81\t\x8b\1\x84\2\x81\16\x85\1\x84\2\x85\1\x84\3\x81\2\x87\1\xa3\1\x81\v\x84\2\x81\r\x89\1\x84\2\x87\1\x84\1\x81\f\x84\1\x9b\1\x81\b\xaa\1\x87\1\x84\1\x80\5\x84\3\x9a\1\x81\4\x84\2\x87\1\x81\6\x84\1\x87\1\x81\1\x85\1\x84\2\x81\20\x88\1\x84\1\x81\b\x8d\1\x84\2\x81\6\x84\3\x87\1\x84\1\x81\5\xa3\1\x84\2\x81\5\x87\1\x84\2\x81\2\x84\2\x81\6\x82\1\x81\1\xab\1\x92\1\xa2\1\x84\1\x83\1\x81\1\x8f\1\x9c\1\x90\1\x92\6\xa2\1\x84\1\x87\1\x84\1\x89\a\x84\2\x83\1\x89\6\x84\2\x89\2\x83\1\x84\2\x89\3\x84\2\x88\1\x89\4\x87\1\x84\1\x8d\1\x89\n\x84\2\x89\r\xa0\1\x89\1\x9e\1\x80\1",
b"\x80\5\x88\1\x84\2\x87\1\x9a\1\x89\5\x8a\1\x87\1\x84\1\x89\6\x87\1\x84\3\x81\1\x89\n\x84\1\x87\1\x89\25\x85\1\x84\1\x87\1\x89\2\x81\1\x89\1\x87\1\x84\2\x89\a\x85\1\x84\2\x87\1\x89\b\x87\1\x84\1\x87\1\xa3\1\x84\2\x8c\1\x81\v\x87\1\x84\2\x81\b\x9a\1\x84\1\x87\1\x81\17\x9a\1\x84\2\x87\2\x9a\1\x81\2\x84\1\x93\1\x81\v\x84\2\x81\r\x98\1\x84\1\x87\1\x84\1\x87\1\x81\f\x84\1\x87\1\x81\a\xa0\1\x80\1\x87\1\x84\1\x80\4\x8b\1\x84\2\x87\1\x81\5\x84\2\x85\1\x81\6\x87\1\x84\1\x81\2\x84\3\x81\17\x85\1\x84\1\x81\b\x84\2\xa3\1\x82\1\x81\5\x84\5\x81\5\x84\3\x81\5\x89\1\x84\1\x9b\1\x87\1\x85\1\x84\2\x81\v\x84\1\x93\1\x81\2\x8f\1\x9c\1\x92\3\xac\1\x89\1\xa0\1\x8b\1\x84\3\x89\a\x84\2\x8a\1\x89\6\x85\1\x84\1\x8a\1\x89\2\x84\2\x89\2\x8b\1\x84\1\x87\1\x89\4\xa3\1\x87\1\x84\1\x89\v\x84\2\x89\v\x80\1\x9c\1\x89\1\x9c\1\x80\2",
b"\x80\3\x94\1\x80\1\x95\1\x8d\1\x84\3\x89\5\x83\1\x84\1\x9a\1\x89\a\x87\1\x84\1\x87\1\x9a\1\x81\1\x82\1\x89\b\x84\1\x8e\1\x89\22\xa0\1\x89\1\x8e\1\x84\2\xa3\1\x89\4\x8a\1\x87\1\x84\1\x87\1\x89\6\x84\3\x85\1\x89\b\xa0\1\x84\5\x81\r\x84\1\x87\2\x8a\1\x81\1\x82\1\x81\1\x82\1\x81\2\x87\1\x84\1\x85\1\x81\20\xa3\1\x87\1\x84\2\x81\2\x83\1\x84\1\x81\f\x84\2\x81\n\x82\1\x81\2\x84\5\x81\v\x93\1\x84\1\x93\1\x81\b\x83\1\x87\1\xad\1\x80\4\x91\1\x84\2\x85\1\x81\5\x87\1\x84\1\x8b\1\x81\6\x84\2\x81\2\x83\1\x87\2\x8b\1\x81\16\x85\1\x87\1\x81\a\x87\1\x84\2\x81\6\x85\1\x84\4\x98\1\x82\1\x81\4\x84\3\x81\6\x84\4\x87\1\x84\1\x81\v\x84\1\x8a\1\x96\1\x9c\3\x92\4\x8b\1\x89\1\x8b\1\x87\1\x84\2\x89\2\x8b\4\x8a\1\x84\1\x87\1\x8b\5\x89\1\x8b\1\x98\1\x84\1\x8a\1\x8b\1\x89\1\x84\2\xa3\1\x8b\1\x87\1\x84\1\xae\1\x8b\4\x84\1\x87\1\x84\1\x8b\v\x87\1\x84\1\x89\1\x8b\b\x89\1\x8b\1\x89\1\xa1\1\x9c\1\x89\1\x96\1\x80\1",
b"\x80\4\x89\2\x84\4\x89\5\x88\1\x84\1\x8c\1\x89\a\x85\1\x84\2\x87\1\xa3\1\x89\t\x87\1\x83\1\x89\22\xa0\1\x84\4\x8a\1\x89\5\x84\1\x87\1\x84\1\x89\6\x87\1\x84\2\x89\b\xa0\1\x92\1\xa4\1\x84\3\x88\1\x81\16\x84\1\x8d\1\x87\1\x81\5\x89\1\x84\1\x87\1\x81\22\x84\1\x87\2\x98\1\x81\1\x84\2\x81\f\x84\2\x8b\1\x81\v\x89\1\x84\1\x87\1\x9a\1\x84\2\x81\v\x87\1\x9b\1\x81\t\x87\1\x84\1\x80\5\x9b\1\x84\2\x8b\1\x81\4\x93\1\x84\2\x81\a\x84\2\x81\3\x87\1\x84\1\x87\1\x82\1\x81\r\x88\1\x84\1\x81\a\x84\2\x89\1\x81\6\x8d\1\x87\1\x84\1\x87\1\xa3\1\x81\6\x84\2\x9a\1\x81\6\x87\1\x84\4\xa3\1\x81\v\x87\1\x89\1\x97\1\x81\3\x96\1\x92\2\x89\1\x8b\3\x83\1\x84\2\x83\1\x8b\5\x83\1\x84\2\x8b\a\x93\1\x84\1\x8b\3\x88\1\x87\1\x84\3\x87\1\x8b\5\x84\2\x87\1\x8b\v\x87\1\x9b\1\x8b\17\xaf\1\x80\1",
b"\x80\3\xa0\1\x89\2\x8a\1\x84\2\x87\1\x84\1\x89\2\xa0\1\x89\1\x84\1\x9b\1\x89\b\x8b\1\x87\1\x84\2\x87\2\x89\a\xa3\1\x87\1\x89\23\x8a\1\x87\1\x84\2\x87\1\x89\a\x87\1\x9b\1\x84\1\x88\1\x89\3\x9b\1\x84\3\x89\b\x99\2\x84\4\x81\20\x84\3\x81\3\x87\1\x84\1\x87\1\x81\22\x89\1\x84\6\x81\r\x87\1\x84\1\x87\1\x81\t\x89\1\x84\2\x87\1\x81\1\x88\1\x84\1\x9b\1\x81\n\x98\1\x87\1\x84\1\x81\a\x84\3\x80\5\x81\1\x84\3\x81\5\x9b\1\x84\2\x81\6\x89\1\x84\1\x87\1\x81\2\x82\1\x84\3\x89\1\x81\r\x87\1\x84\1\x81\6\x85\1\x84\1\x87\1\x81\6\x87\1\x84\3\x8b\1\x81\1\x89\1\x81\4\x89\1\x84\2\x89\1\x81\5\x82\1\x81\1\x87\1\x84\3\x81\v\x83\1\x84\1\x81\5\xb0\1\x92\4\x90\1\x8b\2\x9b\1\x84\2\x8b\5\xa3\1\x87\1\x84\1\x8b\a\xa3\1\x84\1\x8b\4\x84\3\x87\1\x84\1\x8b\4\x98\1\x84\2\x8a\1\x8b\v\x84\2\x8b\16\xab\2\x80\1",
b"\x80\4\x89\1\x80\1\x89\1\x84\4\x87\1\x89\2\x84\2\x8a\1\x89\t\x84\4\x87\1\x84\1\x83\1\x89\1\xa0\1\x89\1\xa0\1\x84\1\x87\2\x89\1\x8b\1\x89\22\x9a\1\x84\3\x89\b\x87\1\x84\3\x89\2\x84\3\x8b\1\x89\5\x8b\1\x89\3\x98\1\x87\1\x84\3\xa6\1\x92\1\xb0\1\x81\1\x89\2\x81\a\xa0\2\x81\1\x8b\1\x84\3\x81\1\x87\2\x9b\1\x81\21\x89\1\x81\1\x87\1\x84\2\x87\1\x84\2\x8a\1\x81\16\x84\1\x87\1\x81\1\x89\1\x81\5\x89\1\x81\1\x84\3\x8c\1\x89\1\x87\2\x9a\1\x81\t\x87\1\x84\1\x87\1\x89\1\x81\6\x84\3\x87\1\x80\6\x84\1\x8d\1\x84\1\x89\1\x81\4\x84\1\x87\1\xa3\1\x81\6\x84\2\x8b\1\x81\3\x8b\1\x87\1\x84\2\x81\1\x89\1\x81\t\x89\1\x9a\1\x84\1\x9a\1\x81\2\x89\3\x81\1\x84\2\xae\1\x89\6\x84\3\x89\b\x85\1\x84\1\x87\1\x81\3\x89\3\x81\2\x93\1\x84\3\x81\1\x89\1\x81\5\x89\1\x81\1\x89\1\x81\1\x8d\1\x84\1\x82\1\x81\4\x89\1\xa0\2\x99\1\x90\1\x8b\3\x8a\1\x87\1\x84\1\x87\1\x8b\4\x84\3\x8b\6\x98\1\x84\1\x87\1\x8b\4\xae\1\x9b\1\x84\2\x9a\1\x8b\4\x9a\1\x87\1\x84\1\x8b\v\xa3\1\x84\1\x88\1\x8b\r\x87\1\x96\1\x80\2",
b"\x80\6\xb1\1\x9d\1\x84\2\x87\1\x84\1\x8b\1\x84\2\x87\1\xa0\1\x89\t\x9a\1\x84\1\x87\1\x8b\1\x84\2\x87\1\x98\1\x89\2\x87\1\x84\2\x8a\1\x89\24\x84\1\x87\1\x84\2\x8b\1\x89\a\xa0\1\x87\1\x84\1\x87\1\x84\4\x9b\1\x89\t\x83\1\x84\2\x87\1\x84\1\x87\1\x9b\1\x96\2\x92\1\x97\1\x89\t\x81\1\x89\2\x8c\1\x84\2\x87\1\x84\3\x89\2\xa0\1\x89\16\xa0\1\x89\1\x84\4\x9b\1\x84\2\x93\1\x81\1\x89\1\x81\1\x89\t\x81\1\x84\1\x87\1\x81\1\x89\5\x81\2\xa0\1\x84\2\x87\1\x9a\1\x89\1\x84\2\x83\1\x89\b\x87\1\x84\1\x87\1\x8c\1\x89\a\x84\2\x87\2\x80\5\xa8\1\x84\3\x81\4\x8b\1\x84\2\x89\1\x81\6\x84\2\x81\4\x89\1\x84\2\x87\1\xa0\1\x81\1\x89\3\x81\3\x89\1\x81\1\x82\1\x81\1\x84\2\x89\1\x81\2\x89\3\x81\1\x84\2\x89\1\x81\2\x89\3\x8b\1\x87\1\x84\2\x89\b\xa3\1\x84\1\x87\1\x89\6\x81\3\x87\3\x89\6\xa0\2\x89\2\x87\1\x84\1\x87\1\x89\b\xb0\1\x96\2\xac\1\x8b\2\x84\3\x8b\4\x87\1\x84\2\x8b\6\x8d\1\x84\1\x98\1\x8b\5\x84\1\x87\1\x84\1\x98\1\x8b\4\x87\1\x84\2\x8b\n\x8a\1\x84\2\x8b\r\x84\2\x80\3",
b"\x80\4\xa8\1\x89\1\x9c\2\xa3\1\x87\1\x84\5\x8b\v\x89\1\x84\3\x89\1\x84\3\x87\2\x84\1\x87\1\x84\1\xac\1\x89\1\x8b\21\x83\1\x84\5\x89\2\x8b\6\xac\1\x8b\2\x87\1\x84\5\x85\1\x8a\1\x8b\2\xac\1\x8a\1\x85\1\x84\5\x89\1\x84\1\x87\1\x84\1\x99\1\xa0\1\x81\1\x99\1\x92\1\x89\f\x9a\1\x84\2\x83\2\x84\2\x89\16\x81\1\x99\1\x92\1\xb2\1\x84\1\x87\1\x8a\1\x81\1\x85\1\x87\1\x84\2\x83\1\x89\r\x84\1\x87\1\x89\b\x81\1\x84\1\x87\1\x84\1\xa0\1\x87\1\x84\1\x8a\1\x89\a\x81\1\x84\3\x83\1\x81\1\x89\a\x85\1\x84\2\x80\1\x97\2\x80\2\x89\1\x85\1\x84\1\x87\1\x89\2\x82\1\x89\1\x84\2\x88\1\x89\5\x84\3\x89\1\x81\1\x89\3\x81\1\x93\1\x84\2\x87\1\xa0\1\x89\a\x81\1\x89\1\x84\2\x87\1\x89\a\x84\2\x98\1\x89\5\x93\1\x84\3\x81\1\x89\a\x84\3\x89\2\x81\1\x89\3\xa0\1\x89\1\x88\1\x84\3\x89\t\x84\2\x87\1\x89\1\xa0\1\x89\a\x97\1\x96\3\x9c\1\xb1\1\x84\3\x8a\1\x8b\2\x8a\1\x84\2\x85\1\x8b\1\x8a\2\x8b\1\x83\1\x84\1\x87\1\x84\1\x8a\5\x8b\1\x87\2\x84\1\x8a\4\x8b\1\x84\2\x87\1\x8b\1\x8a\b\xa3\1\x87\2\x83\1\xb3\1\x8a\1\x8b\1\x8a\t\x83\1\x84\2\x8f\1\x8b\2",
b"\x80\3\x92\1\x8b\3\x9c\1\x8b\1\x84\6\x8a\1\x8b\v\x87\1\x84\2\x8b\2\x8a\1\x84\4\x87\2\x8b\21\xac\1\x87\1\x84\6\x8b\f\x84\16\x87\1\x8b\1\x8f\1\x84\5\x96\2\x89\17\x84\3\x89\1\x8a\1\x84\2\x89\17\x92\1\x84\3\x96\1\x89\2\x87\1\x84\3\x9a\1\x89\f\x87\1\x84\1\x89\n\x87\1\x84\1\x87\1\x84\1\x87\1\x89\t\x8c\1\x84\2\x87\1\x89\b\xa0\1\x89\1\x84\1\x87\1\x89\2\x80\2\x89\2\x84\2\x9a\1\x89\2\x83\1\x84\2\x89\5\x87\1\x84\2\x87\1\x89\a\x88\1\x84\1\x87\1\x8d\1\x89\1\xa0\1\x89\5\x83\1\x84\1\x9b\1\x84\1\x89\b\x84\2\x88\1\x89\5\x93\1\x87\1\x84\2\x89\b\x87\1\x84\1\x9a\1\x89\b\x84\3\x87\1\x8b\1\x89\a\x87\1\x84\2\x85\1\x89\n\x96\1\x92\1\xa1\1\x8a\2\x85\1\x84\1\x87\1\x8a\4\x84\1\x87\1\x8a\4\x87\1\x84\3\x8a\a\xb1\1\x84\2\x87\1\x8a\4\x84\2\x9b\1\x8a\b\x84\3\x85\1\x8a\r\x87\1\x84\1\x87\1\xa6\1\x80\2",
b"\x80\4\x90\1\x8b\4\x98\1\x8d\1\x84\4\xa3\1\x8b\v\x8a\1\x84\1\x87\1\x8b\4\x87\1\x84\2\x87\1\x84\1\xac\2\x8b\16\x9a\1\x84\3\x87\1\xac\1\x9b\1\x84\1\x87\1\x8b\v\x87\1\x84\2\x87\1\x8b\1\x85\1\x87\1\x84\5\x87\1\x83\1\x8b\4\x84\6\xb0\1\x89\20\x84\2\x87\1\x85\1\x84\1\x87\1\x89\17\x85\1\x84\2\xa6\1\x92\1\x80\2\x84\1\x87\1\x84\1\x8d\1\x84\1\x87\1\x89\v\x8a\1\x84\1\x89\n\x84\4\x9b\1\x89\t\xa0\1\x89\1\x84\1\x87\1\x88\1\x89\b\xa3\1\x87\2\x89\2\xa0\1\x89\3\x87\1\x84\2\x89\2\x84\3\x89\5\x84\3\x87\1\x89\1\xa0\1\x89\6\x87\1\x84\2\x89\6\xa0\1\x87\3\x84\1\x89\b\x9a\1\x87\2\x89\5\x93\1\x84\3\x89\b\x84\2\x8b\1\x89\a\x87\1\x84\4\x87\1\x89\6\x8c\1\x87\1\x84\2\x85\1\x89\t\x96\2\x92\1\x9c\1\x8a\3\x87\2\x9a\1\x8a\2\x85\1\x84\2\x8a\4\x87\1\x84\2\x87\1\x8a\b\x84\3\x9a\1\x8a\3\x87\1\x84\1\x87\1\x8a\b\x84\3\x9a\1\x8a\f\x84\2\x87\1\x9b\1\x80\3",
b"\x80\4\x8f\1\x8b\5\x87\1\x84\4\x87\1\x8b\f\x84\2\x8b\6\x87\1\x84\1\x87\1\x84\1\x87\2\x83\1\x8b\a\x8a\1\x85\1\x84\6\x8b\3\x87\1\x84\2\x8b\n\x8a\1\x84\2\x87\1\x88\1\x8b\v\xac\1\x8b\2\xb4\1\x87\1\x9b\1\x84\1\x87\1\x84\1\x93\1\x89\21\x87\1\x8d\1\x84\2\x8a\1\x89\16\x87\1\x84\2\x8a\1\x89\3\x84\3\x8b\1\x84\4\x89\v\x84\1\x85\1\x89\b\x87\1\x84\4\x98\1\x89\v\xa3\1\x84\2\x89\a\x87\2\x84\1\x8b\1\x89\4\xa0\1\x89\2\x84\2\x87\1\x8b\1\x87\1\x84\1\x8a\1\x89\5\x87\1\x84\2\x87\1\x89\b\x8a\1\x87\2\x84\1\x89\6\x87\1\x84\3\x8b\1\x89\a\x8b\1\x87\1\x88\1\x89\6\x84\1\x87\1\x84\1\x89\a\x87\3\x89\b\x84\6\x89\a\x84\4\x89\b\xa0\1\x90\2\xb0\1\x96\2\x8a\2\x87\1\x84\2\x8a\2\x84\3\x8a\4\x87\1\x84\3\x8a\b\x84\4\x9a\1\x8a\2\xa3\1\x84\2\x8a\b\x84\2\x87\2\x8a\v\x84\3\xb5\1\x80\4",
b"\x80\3\x8b\1\xac\1\x8b\6\xa3\1\x84\4\x85\1\x8b\b\x8a\1\x8b\1\xa3\1\x84\1\x87\1\x8b\6\xb3\1\x87\1\x84\6\x87\1\x84\5\x87\1\x84\1\x87\1\x84\2\xae\1\x8b\6\x8a\1\x84\2\x8a\1\x8b\a\x83\1\x84\4\x8b\f\x8a\1\xb0\1\x80\1\x96\1\x9c\1\x84\3\x87\1\x84\1\xae\1\x89\20\x8b\1\x84\1\x8d\1\x84\1\x8b\1\x89\f\xa0\1\x84\1\x87\1\x84\1\x9d\1\x96\2\x89\1\x8b\1\x84\3\x8b\1\x89\1\x85\1\x84\2\x87\1\x8a\1\x89\b\x8b\1\x87\2\x89\b\x87\1\x84\2\x87\1\x84\1\x89\f\x87\3\x89\a\x84\1\x87\1\x84\1\x8b\1\xa0\1\x89\6\x84\6\xa0\1\x89\5\xa0\1\x84\3\x89\t\x9b\1\x87\1\x84\1\x87\1\xa0\1\x89\5\x98\1\x8d\1\x87\1\x84\1\x89\b\x84\1\x83\1\x89\6\x84\2\x87\1\x8b\1\x89\6\x84\1\x87\1\x8a\1\x89\a\x8c\1\x84\2\x8b\2\x84\2\x8a\1\x89\a\x84\3\x89\f\xa6\1\x96\1\xa1\1\x8a\1\x9a\1\x84\2\x8a\2\x84\2\x9a\1\x8a\5\x9a\1\x84\2\x9a\1\x8a\a\x84\3\x87\1\x84\1\x98\1\x8a\1\x83\1\x84\2\x8a\t\x87\1\x84\2\x8a\t\xae\1\x84\3\x9a\1\x8a\1\x80\1\x8a\1\x80\2",
b"\x80\3\x8b\t\x84\2\x87\2\x84\1\x8b\t\xac\1\x84\1\x87\1\x84\1\x8b\a\x87\1\x84\1\x87\1\x8b\1\x85\1\x84\n\x9a\1\x98\1\x8b\b\xac\1\x83\1\x84\2\x8b\a\x87\1\x84\3\xae\1\xac\1\x8b\r\x80\1\xab\1\xa6\1\x89\1\x84\3\x87\1\x84\1\x83\1\x89\16\xb0\1\x89\1\x84\3\x85\1\x89\2\xa0\1\x89\a\x8b\1\x89\1\x88\1\x84\1\x87\1\x84\1\x96\3\x8f\1\x89\1\x84\1\x87\1\x84\1\x83\1\x89\2\x85\1\x84\2\x87\1\x89\b\x85\1\x84\2\x89\b\x84\2\x87\1\x84\1\x8a\1\x89\t\x8b\1\x89\1\x9a\1\x84\1\x9b\1\x98\1\x89\6\xa0\1\x84\3\x83\1\x89\a\x93\1\x87\1\x84\3\x8a\1\x89\b\x87\1\x84\1\x8a\1\x89\t\x84\1\x8d\1\x84\2\x89\6\x9b\1\x84\2\x89\a\x8b\1\x84\1\x8a\1\x89\6\x9a\1\x84\2\x88\1\x89\5\x8e\1\x84\2\x89\b\x85\1\x84\1\x87\1\x89\2\x84\2\x87\1\x89\a\x8b\1\x87\1\x84\1\x8b\1\x89\v\x8f\1\x92\1\xb6\1\x96\1\x9f\1\x87\1\x84\1\x8a\2\x87\2\x8a\a\x84\3\x8a\a\x87\1\x84\5\x8a\1\x98\1\x84\2\x83\1\x8a\t\x84\2\x88\1\x8a\a\x85\1\x84\4\x8a\3\xb7\1\x80\2",
b"\x80\5\x8a\5\x8b\1\x8a\2\x84\3\x87\2\x8a\1\x8b\1\x8a\5\x85\1\x84\3\x8a\2\x8b\1\x8a\4\xac\1\x84\2\x9b\1\x8a\3\x8b\3\x8a\2\x8b\2\x8a\6\x8b\4\x8a\3\x8b\1\x9b\1\x84\1\x83\1\x8a\1\xb1\1\x8a\1\x8b\2\x84\4\x8a\4\x8b\1\x8a\t\x8b\1\x8a\1\x8b\1\x80\1\xa0\1\x89\1\x8a\1\x84\2\x8d\1\x87\1\x84\2\x89\f\x96\1\xa6\1\x96\1\xb0\1\x88\1\x84\2\x87\1\x89\t\x83\1\x84\3\x98\1\x8f\1\x96\1\xb6\1\xa6\1\x89\3\x84\1\x87\1\x84\1\x89\3\x8a\1\x84\3\x8b\1\x89\6\x84\2\x9a\1\x89\b\x84\1\x87\2\xa3\1\xa0\1\x89\v\x84\3\x8b\1\x89\b\x88\1\x84\1\x87\1\xa0\1\x89\a\x9b\1\x84\1\x87\2\x89\t\x93\1\x84\2\x89\n\x87\1\x84\2\x9b\1\x89\6\x84\2\xac\1\x89\6\x85\1\x87\1\x89\b\x84\3\x89\5\x87\1\x84\2\x89\b\x87\2\x84\1\x89\2\x8a\1\x84\2\x85\1\x89\a\x84\1\x87\1\x84\1\x89\r\xb6\1\xa6\2\x84\1\x87\1\xa7\1\x84\2\x9b\1\x92\1\x8a\2\x98\2\x8a\1\x98\1\xb5\1\x87\1\x84\1\x8a\a\x88\1\x84\1\x87\1\x88\1\x84\1\x87\1\x84\1\x8a\1\x84\2\x87\1\x8a\6\x98\1\x8a\2\x9b\1\x84\1\x87\1\x98\1\x8a\1\x98\1\x8a\3\x87\1\x84\3\x9a\1\x8a\3\x9c\1\x80\3",
b"\x80\6\x8a\a\x84\6\x8a\5\x87\1\x84\2\x87\1\x8a\b\x84\3\x98\1\x8a\30\x98\1\x84\1\xa3\1\x8a\2\xb1\1\x8a\1\x84\4\x85\1\x8a\16\xab\1\x80\2\xb6\1\xa6\1\x96\1\x8a\1\x84\2\x96\1\x9b\1\x84\3\x87\1\x89\1\x8b\1\x89\1\x8b\2\x89\1\x8b\4\x96\1\xac\1\x8f\1\x89\2\x88\1\x87\2\x84\1\x89\1\x8b\1\x89\4\x87\1\x84\3\x87\1\x8b\1\x89\1\x8b\2\x92\1\xb0\1\x80\1\xac\1\x8b\2\x87\1\x84\1\x85\1\x8b\4\x84\4\x8b\1\x89\3\x84\3\x8b\2\x89\2\x8b\3\x8a\1\x84\5\x9a\1\x8b\v\x87\1\x84\1\x87\1\x9a\1\x8b\2\x89\1\x8b\6\xa3\1\x84\2\xa0\1\x89\6\x87\1\x84\1\x8d\1\x84\2\x89\b\x87\1\x84\2\x89\v\x84\1\x9b\1\x84\2\x8b\1\x89\2\x8b\1\x98\1\x87\1\x84\1\x8b\1\x89\6\x87\1\x84\1\x89\b\xa0\1\x84\2\x88\1\x89\3\x8a\1\x84\2\x98\1\x89\b\x84\1\x87\1\xa3\1\x89\3\x87\1\x84\1\x87\1\xa0\1\x89\6\x84\2\x88\1\x89\f\xa6\3\x96\1\x84\5\xa6\3\xb4\1\x98\3\xa9\1\x87\1\x84\2\xa9\1\x98\6\xae\1\x84\1\x87\1\x98\1\x85\1\x84\2\x87\1\x84\3\x98\t\x84\3\x98\4\xb5\1\x84\1\x87\1\x84\2\xae\1\x98\4\xb1\1\x80\3",
b"\x80\2\xaf\1\x80\3\x8a\a\x84\5\x87\1\x9a\1\x8a\4\x87\3\x8a\t\x84\3\x98\1\x8a\30\xa3\1\x84\1\xae\1\x8a\3\x87\1\x84\4\x8a\17\x92\1\x80\3\xa6\2\x93\1\x87\1\x84\1\xb0\1\xb8\1\x9d\1\x84\1\x9b\1\x84\1\x8d\1\x8a\1\x89\1\x8b\a\x8f\1\xa1\1\x8b\2\x89\1\x8b\1\x84\4\x83\1\x8b\1\xac\1\x85\1\x84\2\x87\2\x85\1\x89\1\x8b\4\xac\1\x8b\1\xab\1\x90\1\xac\1\x89\1\x8a\1\x84\2\x8b\1\x89\3\xac\1\x84\1\x87\1\x84\1\x9a\1\x8b\2\x9a\1\x84\2\x8d\1\x8b\1\x89\1\x8b\4\x88\1\x84\2\x87\1\x83\1\x8b\1\x84\2\x8b\t\x89\1\x8b\2\x8d\1\x9b\1\x84\1\x8b\n\x8d\1\x84\1\x8a\1\x89\5\x85\1\x84\2\x87\1\x84\1\x87\1\x85\1\x89\a\x84\1\x87\1\x93\1\x89\v\x8b\1\x84\1\x87\1\x84\1\x87\1\x89\3\x84\1\x87\2\x89\a\x87\1\x84\1\x89\b\x8b\1\x84\2\x9b\1\x89\3\x84\3\x89\t\x84\2\x93\1\x89\3\x9a\1\x84\2\x8a\1\x89\5\x83\1\x84\1\x87\1\x8b\1\x89\a\xac\1\xb4\1\x89\2\xa6\2\x96\1\xa6\2\x84\4\x87\1\xa6\2\x96\1\xb4\3\x98\2\x87\2\x84\1\x98\b\x84\1\x87\1\x9a\1\x98\1\x87\2\x84\4\xa9\1\x98\b\x84\2\x88\1\x98\3\xae\1\x84\1\x87\2\x84\1\xb9\1\x98\1\x80\2\x98\1\xa9\1\x80\4",
b"\x80\2\x8a\2\xab\1\xb1\1\x8a\a\x84\5\x87\1\x84\1\x87\1\x8a\3\x84\1\x87\1\xa3\1\x8a\t\x87\1\x84\2\xa3\1\x8a\27\x98\1\x84\2\x8a\3\x84\4\x87\1\x8a\16\x80\6\xa6\2\x84\2\xba\1\xa6\1\x8b\1\xac\1\x8b\1\xa3\1\x84\4\x87\1\x83\1\x8b\r\x87\1\x84\6\x87\1\x85\1\x8b\17\x84\1\x8e\1\xac\1\x8b\4\x84\3\x87\2\x84\2\x87\1\x8b\5\x85\1\x87\1\x84\2\x87\1\x8b\3\x9a\1\x84\1\xa3\1\x8b\v\x83\1\x84\2\x8b\t\x89\2\x84\2\x89\4\x8b\1\x84\2\x87\1\x8b\1\x84\3\x89\1\xa0\1\x89\4\x84\3\x89\1\x8b\1\x89\f\x87\1\x84\3\x8b\2\x84\3\x8b\1\x89\6\x84\2\x8a\1\x89\6\x8b\1\x89\1\x84\2\x87\1\x89\2\x83\1\x84\2\x87\1\x89\a\x8b\1\x89\1\x87\1\x84\1\x8b\1\x89\3\xa0\1\x84\3\x89\4\x8b\1\x84\2\x87\1\x8b\1\x89\5\x8b\5\xa6\5\xbb\1\x84\4\xb8\1\xa6\2\x80\1\xb4\4\xba\1\x84\2\x9b\1\x98\b\x88\1\x84\2\x98\2\x84\3\x87\1\x84\1\x9d\1\x98\a\x87\2\x84\1\xae\1\xa9\1\xb2\1\x84\2\x87\1\x84\2\x80\5\xb4\2\x80\4",
b"\x80\3\xa1\1\x8a\b\xb1\1\x85\1\x84\2\x98\1\x87\1\x84\3\x87\1\xae\1\x8a\1\x84\3\x8a\n\x84\1\x87\1\x84\1\x8a\26\x98\1\x84\2\x8a\2\x84\5\x85\1\x8a\21\x80\5\xa6\1\x84\2\xac\1\x8b\a\x88\1\x84\1\x87\1\x84\16\x87\2\x84\3\x87\2\x8a\1\x8b\20\x84\2\x8b\5\xac\1\x8b\1\x84\3\x87\1\x8b\1\xac\1\x8b\2\x85\1\x84\4\xa3\1\x8b\6\x84\2\x8b\v\xac\1\x88\1\x84\1\x87\1\x8b\1\xac\1\x8b\5\x89\3\x9a\1\x84\1\x89\1\x8b\2\x9a\1\x87\1\x84\1\x8a\1\x8b\1\x89\1\x8b\1\x87\1\x84\1\x87\1\x8b\4\x89\1\x87\1\x84\2\x89\2\x8b\r\x88\1\x84\1\x87\3\x84\1\x87\2\x8b\a\x84\2\x83\1\x89\1\x8b\a\x87\1\x84\2\xac\1\x87\1\x84\3\xac\1\x8b\t\x84\2\x8a\1\x8b\4\x85\1\x87\1\x84\1\x87\1\x8b\3\x89\1\x84\3\x8b\1\x89\1\x8b\b\xb4\1\xa6\1\xab\1\x80\3\xbc\1\x84\4\x80\4\xb4\4\x87\1\x84\2\x9b\1\x98\t\x87\1\x84\1\x85\1\x98\2\xa9\1\x84\5\xa3\1\x98\5\x84\2\x87\1\xa3\1\x87\1\x84\1\x87\2\x84\1\xbd\1\x80\6\xb4\1\xbb\1\x80\4",
b"\x80\3\x8a\v\x9b\1\x84\2\x8a\1\x87\1\x84\2\x87\1\x84\1\x87\2\x84\2\x8a\n\x88\1\x84\2\x8a\26\x98\1\x84\2\x8a\1\x87\1\x84\4\x87\1\x8a\22\x80\5\xb9\1\x84\1\x9b\1\xa6\1\x8b\t\xae\1\x84\2\x87\1\x84\2\x87\2\x84\3\x87\1\x84\1\x87\1\x84\2\x87\1\x85\1\x88\1\x84\1\x87\1\x84\3\xa3\1\x8a\1\x8b\r\x84\2\x8b\6\xac\1\x85\1\x84\3\x8c\1\xb5\1\x87\2\x84\2\x87\1\x84\1\x83\1\x8b\a\x84\2\xac\1\x8b\f\x84\2\x8b\n\x9a\1\x84\1\x8b\2\x89\1\x84\3\x8b\2\x89\1\x8b\1\x85\1\x84\2\x8b\4\x89\1\x84\3\x8b\17\x89\1\x85\1\x84\3\x87\1\x84\2\x89\1\x8b\6\x84\2\x9a\1\x8b\b\x87\1\x84\2\x8b\1\x84\2\x87\1\x8b\v\x84\2\x83\1\x8b\5\x84\3\x83\1\x8b\3\x87\1\x84\2\x89\1\x8b\t\xa9\1\xb4\1\xa6\4\x84\2\x8d\1\x87\1\x80\5\x9f\1\xb4\3\xba\1\x84\3\x98\t\x84\2\x87\1\x98\3\xb5\1\x87\2\x84\3\x87\2\x88\1\x9a\2\x84\2\x87\1\x84\1\x87\1\x84\3\x80\a\xbe\1\xb4\1\xa6\1\x80\4",
b"\x80\6\xb4\2\xa9\1\x8a\4\x98\2\x87\1\x84\1\x88\1\x8a\1\xae\1\x84\3\x87\3\x84\1\x87\1\x98\2\x8a\6\x98\1\x8a\1\xae\1\x84\1\x87\1\x98\1\x8a\24\x84\2\x87\1\x84\5\x8a\1\x98\2\x8a\17\x98\1\x8a\1\x80\4\xbd\1\x84\2\xac\1\xb0\1\xa1\1\x8b\f\xa6\4\x8f\1\x8b\5\x84\2\x8b\5\x9a\1\x87\1\x84\3\x87\1\x84\24\x87\1\x84\1\x87\1\x84\2\x87\1\x84\3\x87\1\x93\1\x8b\b\xac\1\x9b\1\x84\1\x83\1\x8b\16\x84\1\x87\1\x8b\b\xac\1\x84\2\x8b\2\x9b\1\x87\2\x8b\5\x84\3\x8b\5\x8a\1\x84\2\x9a\1\x8b\21\x87\1\x84\1\x87\1\x84\2\xb5\1\x92\1\xa8\1\x8b\4\x84\2\x9b\1\x8b\b\x84\6\x98\1\x8b\v\x84\3\x8b\6\x87\1\x84\1\x87\1\x8b\3\x9a\1\x84\2\x85\1\x8b\b\xac\1\x8b\2\x96\1\x80\2\xbf\1\x84\3\x80\6\xb8\1\xb4\4\x84\1\x87\1\x84\1\xae\2\x98\1\xae\6\x87\1\x84\2\xae\3\x98\1\x84\1\x87\2\x84\4\x87\1\x84\2\x87\1\x84\4\x9b\1\x80\t\xbb\1\xb4\1\xbe\1\x80\4",
b"\x80\6\x8a\1\x98\1\x8a\1\x98\a\x84\2\x8a\1\x98\2\x9a\1\x84\3\x87\1\x84\2\x8a\1\xa9\1\x98\t\x87\3\x98\20\x8a\2\x98\1\x87\1\x84\4\x87\1\x84\1\x87\1\x98\25\x80\4\x87\3\xa6\2\x8b\2\xac\1\xa6\1\xb8\1\x8b\1\xb8\1\x8b\6\xa6\1\xb6\1\x80\1\xab\1\xa6\1\x8b\1\xac\1\x8b\1\xac\1\x87\1\x84\1\x85\1\x8b\t\x85\1\x88\1\x84\6\x87\3\x84\t\x87\1\x8d\1\x87\1\x84\4\x87\1\x84\2\x83\1\x8b\1\x80\3\x8b\6\x98\1\x87\1\x84\1\x8b\17\x84\2\x8b\b\x84\2\x80\1\xc0\1\x84\2\x85\1\x8b\5\x98\1\x84\2\x8b\a\x85\1\x84\1\x87\1\x8b\21\xac\1\x8b\1\x84\5\x9b\1\x8a\1\x8b\2\xac\1\x84\3\x8b\b\x84\5\x8c\1\x8b\f\x84\2\x87\1\x8b\a\x84\1\x87\2\x8b\3\x87\1\x84\2\x8b\5\xac\1\x8f\1\xb0\1\x8b\4\x80\1\x9b\1\x84\4\x80\5\xbe\1\xa6\1\xb4\4\x9a\1\x84\1\x87\1\x80\6\xae\4\x84\2\xa4\1\xae\2\xa9\1\xba\1\x84\2\xa7\1\xba\1\x87\1\x84\a\x87\1\xb4\1\x80\n\xb4\1\xa9\1\x80\5",
b"\x80\6\x9d\1\x98\t\x84\2\x85\1\x98\3\x85\1\x9b\1\x84\4\x87\1\x83\1\x98\n\x84\2\x98\22\xb5\1\x84\3\x87\1\x84\2\xae\1\x98\25\x80\5\x87\1\x84\1\xc0\1\xa6\2\xac\2\xa6\3\x80\1\xa6\1\x80\1\x92\1\x8a\1\x8b\1\xa6\1\xac\1\xa6\1\x80\3\xa6\1\xb6\1\x8b\3\x87\1\x84\1\x8b\1\xac\1\x8b\r\x8a\1\x98\1\xae\2\x85\3\x84\2\x85\4\xae\1\x83\1\x93\1\xb1\1\x8a\1\x80\1\xab\1\x84\1\x87\1\x9b\1\x84\1\x87\1\x84\1\x87\1\x80\3\x8b\2\x80\3\xac\1\x84\1\x8d\1\xc1\1\x8b\17\x84\2\x8b\a\x87\1\x84\2\xc2\1\x87\1\x84\2\x8b\6\x9b\1\x84\2\xac\1\x8b\a\x87\1\x84\1\x9a\1\x8b\21\xac\1\x8b\1\x84\2\x87\1\x84\1\x87\1\x84\2\xa4\1\xb8\1\x87\1\x84\2\xac\1\x8b\5\x88\1\x84\5\x8a\1\x8b\r\x9a\1\x84\2\x8b\6\xac\1\x84\4\x98\1\x8b\1\x85\1\x84\1\x87\1\x8b\v\xa1\1\x84\5\x80\6\xa6\2\xb4\5\x84\2\xbc\1\x80\6\xbb\1\x80\2\x87\1\x84\2\x9d\1\xb4\3\x84\2\xba\1\xa9\2\xb4\1\xa7\1\xc3\2\x9d\1\xa7\1\x84\2\xa7\1\x80\n\xa7\1\xb4\1\x80\5",
b"\x80\5\xbe\1\xb4\1\xa7\1\xa9\1\x98\b\x84\2\x98\6\x87\1\x84\2\x87\1\x84\2\x87\1\x85\1\x98\a\x84\1\x87\1\x98\17\x9a\1\x84\a\x9a\1\x98\1\xa9\1\x98\21\xa9\1\x98\1\x9c\1\x80\6\x87\1\x84\1\xc0\1\xa6\2\xb8\1\xa6\4\x80\4\xac\1\xab\1\x80\t\x9c\1\xa3\1\x84\2\x8a\1\x8b\25\x87\1\x84\1\x98\1\x8b\5\x80\4\x96\1\x85\1\x87\1\x84\1\x98\1\x87\1\x84\3\xbd\1\x80\2\xac\1\x80\3\x8b\1\x84\2\xc2\1\x80\1\x8b\16\x84\1\x9a\1\x8b\a\x84\2\x87\1\x84\2\x9a\1\x8b\6\x87\2\x9b\1\x8a\1\x8b\t\x87\2\x8b\24\x87\1\x84\1\x9b\1\x84\21\x87\1\x84\1\x8b\20\x84\1\x87\1\x85\1\x8b\a\x83\1\x87\1\x84\3\x8b\1\x8a\1\x84\2\x8b\b\x85\1\x84\a\x80\6\xa6\2\xa9\1\xa7\4\x80\1\x84\2\x80\t\xb9\1\x84\2\xa7\1\x9d\1\xa7\1\xb4\1\x84\3\xb4\1\xa7\a\xc3\1\x84\2\x80\n\x9d\1\xa7\1\x80\5",
b"\x80\5\x98\f\x84\2\x98\a\xb5\1\x87\1\x84\2\x87\1\x84\4\x87\1\xba\1\x98\3\x84\2\x98\n\x85\1\xa3\1\x84\n\x85\1\x98\26\x80\a\x84\1\x87\1\x84\1\xa6\a\xab\1\x80\16\xa6\1\x84\1\x87\1\x85\1\x8a\25\x85\1\x84\1\x87\1\x8a\5\x90\1\x80\5\x8f\1\x84\3\xb4\1\xc3\1\x87\1\x84\3\xbd\1\x80\4\x9c\1\x84\2\xab\1\x80\1\x8b\2\x8a\t\x8b\2\x84\2\x8b\1\xac\1\x8a\2\x8b\1\x8a\1\x8b\1\x8a\1\x84\4\x8b\2\xac\1\x8b\4\x87\1\x84\2\x85\1\x8b\n\x84\2\x88\1\x8b\23\x80\1\x84\2\x80\1\xbc\1\x84\f\x87\1\x84\1\x87\2\x9a\1\x8b\20\x84\1\x87\2\x8b\b\x93\1\x87\1\x84\2\x87\2\x84\2\x8e\1\x98\1\x8a\1\x98\1\x85\1\x87\2\x84\1\x87\1\x84\3\x9b\1\x84\3\x80\6\xa6\2\x9d\1\xa7\4\x80\2\x87\1\xad\1\x80\t\x84\2\xa3\1\xa7\3\xba\1\x84\2\xa7\t\xa3\1\x84\1\xc4\1\x80\t\xa7\2\x80\5",
b"\x80\4\x98\1\xa6\1\xb4\1\x98\t\xae\1\x84\1\x87\1\x98\a\xa3\1\x84\2\x85\1\x87\1\x84\2\x87\1\x84\5\x87\1\x84\1\x87\1\x9a\1\xba\1\x9a\1\xba\1\x9a\2\x9b\1\x84\5\x87\1\x84\5\x87\1\xae\1\x87\1\x84\1\x87\1\x98\23\xa6\1\xa9\1\x98\2\x80\6\x84\2\x87\1\xa6\a\xb6\1\x80\16\xc5\1\x84\1\x87\1\x8b\1\x8a\25\x84\3\x8a\5\x80\b\x87\3\x9d\1\xa7\1\x87\1\x84\1\x87\2\xc6\1\xc7\1\x80\2\x84\2\x87\1\xa8\1\x80\1\x8a\f\x88\1\x84\2\x8a\1\xb1\1\x8a\4\x98\1\x87\1\x84\1\x87\1\x84\1\x80\2\x8b\3\xb1\1\x8b\1\x84\3\x85\1\x8b\v\x98\1\x87\1\x84\1\x8b\24\x87\1\x8d\1\xc8\1\x80\2\x98\1\x9a\1\x84\b\x87\2\x84\3\x8b\3\xac\1\x96\1\x8b\f\x85\1\x84\1\x87\1\x8b\t\x83\1\x84\1\x87\2\x84\3\x8d\1\x84\4\x87\1\x84\5\xa4\1\x80\1\x84\3\x80\6\xb8\1\xa6\1\xa7\5\x80\2\x84\2\x80\t\xc0\1\x87\1\x84\1\xa7\3\x9d\1\x84\2\xa7\b\x9d\1\xa7\1\x84\1\xc0\1\x80\t\xa7\2\x80\5",
b"\x80\5\x98\1\xa9\1\x98\t\x84\2\xae\1\x98\1\xa9\1\x98\4\xae\1\x87\2\xb5\1\xae\1\x98\3\x9a\1\x84\3\x87\1\x84\1\x87\1\x84\n\x87\1\x84\1\x87\1\x84\2\x87\2\x9a\1\x98\2\x9d\1\x98\1\xa3\1\x84\1\xa3\1\x98\f\x9d\1\xa7\1\x98\3\x9d\1\xb4\1\xb8\1\xa6\2\x80\b\x84\1\x9b\1\xb8\1\xa6\a\x80\16\x84\2\xa3\1\x8a\26\x87\1\x84\1\x87\1\x8a\5\x80\b\x84\3\xa7\1\x9d\2\xa7\1\xad\1\x87\3\x84\1\xbc\1\x84\1\x87\1\x80\3\x8a\f\x84\2\x83\1\x8a\4\x98\1\x84\2\x87\3\x80\5\x9d\1\xa7\1\x9d\1\x87\1\x8d\1\x8e\1\x8b\r\x87\1\x84\1\x8b\24\xa3\1\x84\1\xc9\1\x80\1\x8b\2\x9d\1\x84\2\x83\1\x8b\5\x85\1\x84\3\x98\1\xb0\1\x92\1\x80\2\xb0\1\x8b\1\x80\1\x8b\v\x87\1\x84\1\x88\1\x8b\a\x8a\1\x8b\2\x8a\1\x84\1\x87\1\x84\a\x87\1\x84\2\xa3\1\xa7\1\x9d\1\xa7\1\x80\1\xc6\1\x84\2\x80\6\xa6\1\xb8\1\xb4\1\x9d\4\xa6\1\x80\1\x84\2\x80\n\x84\2\xba\1\x9d\2\xa7\1\x84\2\xb5\1\x9d\6\xa7\3\x84\2\x80\t\xa7\2\x80\5",
b"\x80\4\xa9\1\x9d\1\x98\2\xae\b\x84\1\x87\1\xae\2\x98\1\xae\4\x84\3\xae\t\x9d\1\x98\1\x84\2\x9b\1\x87\1\x84\5\x87\1\x9b\1\xa3\1\x9a\1\xae\b\x98\1\x85\1\x84\1\x87\1\xae\t\x9d\1\xae\1\x98\1\x9d\1\xa7\3\x9d\2\xa7\1\xa6\4\x80\a\x84\1\x87\2\xb6\1\xa6\a\x80\16\x84\2\xa3\1\x8a\26\x87\1\x84\1\x87\1\x8a\4\x96\1\x80\b\xc9\1\x84\2\xa7\2\x9d\1\xa7\1\x9d\1\x80\1\x9b\1\x87\1\x84\2\x9b\1\x84\1\xca\1\x80\3\x8a\n\xb1\1\x84\2\x83\1\x8a\1\xb1\1\x87\1\x84\2\x8d\1\x87\1\x84\1\x87\1\xc0\1\x80\5\x9d\1\xa7\1\x8b\1\x87\1\x84\1\x85\1\x8b\v\x8a\1\x8b\1\x87\1\x84\1\x8b\21\x80\1\x96\1\x90\1\xc1\1\x87\1\xbc\1\x80\1\x9d\2\x8b\1\x87\1\x84\1\x83\1\x8a\1\x8b\4\x85\1\x84\3\x80\5\x90\1\x8a\1\x8b\n\x8a\2\xb1\1\x84\2\x8b\5\x8a\5\x8b\1\x8a\1\xac\1\x8b\1\x84\2\x9a\1\xa3\1\x9a\1\xae\1\x8a\3\x8b\1\x8a\2\xa7\2\xc9\1\x87\2\x80\5\xb6\1\xa6\2\xb6\1\xa7\4\x9d\1\x80\1\x9b\1\x84\1\x80\n\x84\1\x87\1\x84\1\xa7\3\x87\1\x84\1\xba\1\xa7\t\x84\2\x80\t\xa7\2\x80\5",
b"\x80\6\xae\1\x9d\1\x98\1\xae\6\x84\2\xa3\1\xae\a\x87\1\x84\1\x87\1\x98\1\xae\b\xa9\1\xb5\1\x84\2\xae\n\x9d\1\xae\t\x87\3\x98\1\xae\a\x98\1\xae\2\xbe\1\xa7\5\x9d\1\xa7\1\xa6\5\x80\6\x84\2\x80\1\xab\1\xa6\a\x80\16\x84\2\x9b\1\x8a\26\x84\2\x87\1\x8a\1\xb1\1\x8a\2\x80\b\xcb\1\x84\3\x9d\1\xa7\1\x9d\1\xa7\2\xcc\1\x80\2\xad\1\x84\4\x87\1\x9b\1\xc2\1\xcd\1\x8a\n\x84\2\xa3\1\x84\2\x87\1\x84\2\x9a\1\x80\1\x84\3\x80\5\xa7\1\xa9\1\x8a\1\x84\2\x9b\1\x8a\v\x8b\2\x84\2\x8a\1\x8b\1\x8a\16\x8b\1\x80\3\xb9\1\x84\1\xbf\1\x9c\1\x8a\1\x9d\1\x8b\1\x8d\1\x84\1\x85\1\x8a\2\x8b\3\x85\1\x84\3\x80\5\x90\1\x8a\1\x8b\a\x8a\6\x87\1\x84\1\x85\1\x8a\t\x8b\4\x84\2\x8a\1\x8b\2\x8a\1\x8b\1\xb0\1\x80\1\xbe\1\xa7\2\x9d\1\xa7\1\xbd\1\x84\2\x80\5\xb8\1\xa6\2\x80\1\xa7\3\x9d\1\xa7\1\x80\1\x84\2\x80\n\x87\1\x84\2\xa7\3\x87\1\x84\1\xba\1\xa7\t\x87\1\x84\1\x80\b\xbe\1\xa7\2\x80\5",
b"\x80\6\xce\1\xae\a\xa3\1\x84\1\xb5\1\xae\25\x84\2\x9a\1\xae\24\x84\2\x9b\1\xae\b\xcf\1\x80\2\xbb\1\xa7\1\x9d\5\xa7\1\xb8\1\xa6\3\xb8\1\xa6\1\x80\5\x87\1\x84\1\x80\1\xab\1\xa6\6\xb8\1\x80\16\xba\1\x84\2\x8a\26\x84\3\x8a\3\x80\b\x8d\1\x84\3\xa7\1\x9d\2\xa7\1\x9d\1\xa7\1\x9d\1\x80\4\x84\4\x9b\1\x84\a\x87\1\x84\2\x87\1\x84\1\x87\2\x84\3\x87\1\x8a\2\x80\2\xbc\1\x84\1\x87\1\x80\5\x9d\1\xa7\1\x9d\1\xc0\1\x87\2\xb1\1\x8a\f\x87\2\x8a\21\x80\3\x84\2\xa9\2\x8a\3\x9a\1\x84\1\x8a\6\x84\2\x87\1\xa3\1\x80\5\xb0\1\xb1\1\x8a\r\x84\1\x9b\1\x84\1\x8a\f\x98\1\x87\1\x9b\1\xb1\2\x8a\2\x96\1\x80\3\x9d\1\xa7\1\x9d\2\x87\1\x84\1\x87\1\x80\5\xa6\3\x80\1\x9d\4\xa7\1\x80\1\x84\2\x80\n\x84\2\x87\1\x9d\2\xa7\1\x87\1\x84\1\xc5\1\x9d\b\xa7\1\x84\1\xc5\1\x80\b\xbb\1\xa7\1\x9d\1\x80\5",
b"\x80\6\x9d\1\xae\2\x9d\1\xae\1\x9d\1\xae\1\x9d\1\xae\1\x87\1\x84\1\xae\25\x84\2\x9a\1\xae\23\x9d\1\x87\2\x84\1\xae\5\x9d\1\xae\2\xab\1\x80\2\x9d\a\xb4\1\xa6\a\x80\4\x84\2\x80\1\xa6\5\xb8\3\x80\16\xb8\1\x84\2\xb5\1\x8a\25\x9a\1\x84\2\x8a\2\x80\t\xc0\1\x84\1\x80\2\x9d\1\xa7\1\x9d\4\xa7\1\xbe\1\x80\4\x84\1\x87\1\x80\1\xbe\1\x91\1\x87\1\x84\a\x87\1\x84\3\x8d\1\x83\1\xa8\1\xb1\1\x8a\1\x80\5\x84\2\xb9\1\x80\4\xa7\2\x9d\1\x8a\3\xa9\1\xb1\1\x8a\3\xb1\1\x8a\6\x87\1\x84\1\x83\1\x8a\f\xb1\1\x80\1\x8a\2\x96\1\x80\3\x84\1\x87\1\xb1\1\x8a\f\x84\3\x96\1\x80\4\x8a\20\xa3\1\x84\2\x8a\f\x84\2\xa1\1\xa6\3\x80\5\xbe\1\x9d\1\xa7\1\x9d\1\xa7\1\x80\6\xa6\1\xb8\2\xab\1\x80\1\x9d\3\xa7\1\x9d\1\xc3\1\x84\1\xca\1\x80\n\x84\1\x87\2\x9d\2\xa7\1\x87\2\xc3\1\x9d\b\x87\2\xb6\1\x80\b\xa7\1\x9d\2\x80\5",
b"\x80\5\xb8\1\xae\3\x9d\2\xae\3\x9d\1\x84\2\xb5\1\xae\a\x9d\1\xae\f\x84\2\xb5\1\xae\25\x84\2\x9a\1\xae\5\x80\1\xa7\1\x80\3\x9d\a\x9f\1\xb8\1\xa6\6\xd0\1\x80\3\x84\3\xb8\1\xa6\4\xb8\3\x80\16\xa6\1\x84\2\xa7\1\x8a\26\x87\1\x84\1\x8a\1\x92\1\x80\r\xcf\1\x9d\2\xa7\3\x9d\2\xbe\1\x80\3\x84\1\x8d\1\x80\2\x8a\3\x98\1\xae\1\x85\1\x9a\2\x85\1\xae\1\x98\1\x84\3\x8a\1\x80\1\x8a\1\x96\1\x80\5\x84\2\xbf\1\x80\4\x9d\3\x8a\3\x9d\1\x90\1\x8a\2\x80\1\x8a\a\x84\2\x8a\r\x9c\1\x80\2\x8a\2\x80\2\x84\2\xa9\1\x9d\1\x8a\v\xae\1\x84\1\x87\1\x84\1\x80\4\x8a\21\x9a\1\x84\2\x8a\v\x98\1\x8d\1\x87\1\x8a\2\xa6\2\x80\6\x9d\1\xa7\2\x9d\1\xa7\1\x80\5\xa6\1\xb8\2\x80\2\xa7\3\x9d\1\xa7\1\x84\2\x80\v\x84\2\xa3\1\xa7\2\xc3\1\x87\1\x84\1\xa7\b\xc3\1\x87\1\x84\1\xa6\1\x80\b\xa7\3\x80\5",
b"\x80\a\x9d\1\xae\1\x9d\3\xae\1\x9d\1\x80\1\x84\2\xb5\1\xae\4\x9d\1\xae\16\x84\3\xae\26\x9a\1\x84\1\x87\1\xae\2\x9d\1\x80\1\xae\1\x80\5\xa7\1\x9d\2\xa7\3\x9d\1\xbb\1\xa6\4\xb8\2\xa6\2\x80\3\xc4\1\x84\1\x87\1\xb8\2\xa6\4\xb8\1\xa6\1\x80\16\xb2\1\x84\1\x87\1\xb8\1\x9c\1\x8a\24\x87\1\x84\2\x8a\1\x80\17\x9d\b\xce\1\x80\1\xad\1\x84\1\xc6\1\x80\2\x8a\v\x84\3\x80\3\x98\1\x80\5\x84\2\x80\5\x9d\1\xa7\1\x9d\1\x8a\1\xa9\1\xa7\2\x80\1\x8a\1\x92\1\x80\1\x96\1\x8a\5\x84\3\x8a\t\x92\1\x8a\3\x90\1\x80\3\x8a\1\x80\1\x84\1\x87\1\x84\1\x9d\1\x8a\2\x9d\1\x9c\1\x8a\b\x84\4\x80\4\x96\1\x8a\20\x9a\1\x84\2\x8a\t\xb1\1\x98\1\x84\1\x87\1\xb8\3\xa6\2\x80\6\xa4\1\x9d\2\xa7\1\x9d\1\xbe\1\x80\4\xa6\1\xb8\1\xa6\1\x80\2\xa7\1\x9d\2\xc3\1\x84\2\x87\1\x80\n\xc6\1\x84\2\x9d\1\xa7\2\xba\1\x87\1\x84\1\xa7\a\x9d\1\x87\2\xc0\1\xcf\1\x80\b\xa7\1\x9d\1\xa7\1\x80\5",
b"\x80\a\xbe\1\x9d\5\xa7\1\xbb\1\x84\2\xae\3\xb5\1\xae\1\xab\1\x80\2\xae\4\x9d\1\xae\a\x84\3\xae\26\xb5\1\x8d\1\x84\1\xae\2\x80\a\xa8\1\x9d\a\xbb\1\xa6\1\xb8\b\x80\3\x84\2\xb2\1\xb8\a\x80\16\x87\1\x84\1\xc5\1\xb8\1\xa1\1\x80\1\x8a\21\x98\2\x84\2\x85\1\x98\1\x80\17\xa7\2\x9d\6\xa7\1\xa4\1\x8d\1\x84\1\x80\3\x8a\1\x98\1\xa7\1\x9d\1\x8a\a\x84\3\x80\b\x84\2\xc1\1\x80\5\xa7\1\x9d\6\x80\2\xb1\1\x8a\a\x84\1\x87\1\x84\1\x8a\t\x80\1\xb1\1\x8a\3\x80\5\x84\3\x8a\2\x9d\1\x9c\2\x8a\a\xae\1\x87\1\x84\3\x80\4\xb1\1\x8a\a\xb1\1\x8a\2\xb1\1\x8a\2\xa4\1\x8a\2\x87\1\x84\1\x9b\1\x8a\b\x90\1\xb8\1\x98\1\x87\1\x8d\1\xb8\3\xa6\1\xb8\1\x80\6\xa7\1\x9d\1\xa7\2\xa4\1\x9d\1\x80\3\xa6\1\xb8\2\xa6\1\x80\2\x9d\4\x84\2\x87\1\x80\n\x84\2\xc0\1\x9d\3\x9b\1\x84\1\x87\1\x9d\b\x87\2\xa3\1\xbb\1\x80\b\x9d\3\x80\5",
b"\x80\b\xa4\1\xa7\4\x9d\2\x84\2\xab\1\xbb\1\xae\2\xc3\1\xa7\1\x80\1\xb5\1\xae\1\xb5\1\xae\1\xb5\1\x9d\1\xae\2\xb5\1\xae\4\x84\2\x87\1\xae\24\xb5\1\xae\2\x87\1\x84\1\x80\t\xb2\1\xa7\6\x9d\1\xb8\t\xa6\1\xa8\1\x80\2\x84\2\xb2\1\xa6\1\xb8\3\xa6\1\xb8\1\xa6\1\x80\16\x84\1\x87\1\xb8\2\x8a\1\x98\24\x84\2\x98\2\x80\17\xce\1\xc3\1\xa4\a\xc0\1\x87\1\x84\1\x80\2\xab\1\xb6\1\x9d\1\xa9\1\x98\b\x84\3\x80\b\x87\1\x84\1\x80\6\xa7\a\xa8\1\x80\2\x8a\a\x84\3\x8a\5\x9c\1\x8a\2\x80\2\x9c\1\xb1\1\x80\a\x84\3\xa7\1\xa4\1\xa7\1\x80\2\x9c\1\x8a\6\x9b\1\x84\3\xc5\1\x80\6\x8a\3\x80\1\x8a\b\xa7\1\x8a\2\x84\1\x87\1\x84\1\x8a\a\xaa\1\x80\1\xb8\1\xa9\1\x84\2\x8a\1\xb8\4\x80\6\xcf\1\xa4\1\xc3\1\xa4\1\x9d\1\xa4\1\xcc\1\x80\2\xb8\2\xa6\2\x80\2\x9d\2\xa7\1\x9d\1\x84\3\x80\t\x84\1\x87\1\x84\1\xa4\1\x9d\1\xa4\1\x9d\1\x84\2\x9b\1\x9d\b\x84\1\x87\1\xa3\1\xbb\1\x80\b\x9d\1\xa7\2\x80\5",
b"\x80\b\xc3\1\xa4\1\xc3\1\xa4\1\xc3\2\xba\1\x87\1\x84\1\x80\1\x9d\1\xb5\2\x80\5\xb5\1\xbb\2\x80\1\xc3\1\xb5\6\x84\3\xb5\1\xae\1\xb5\26\x9d\1\x80\t\xc3\1\xa4\6\xc3\1\xb8\v\x80\2\xa8\1\xb8\b\x80\17\x84\2\xb8\2\xa9\1\x98\1\x8a\1\x98\22\x84\2\xab\1\x80\21\xc3\b\xa3\1\x84\2\xa4\1\xa6\1\x80\1\x98\1\x9d\1\x98\t\xb4\1\x84\2\x80\b\x87\2\x80\6\xb6\1\xc3\1\xa4\5\xc3\1\x80\3\x8a\2\xab\1\xb1\2\x80\1\x84\2\x83\1\xb1\2\x8a\1\xb1\1\x80\16\xa8\1\x84\2\x9b\1\xc3\1\x9d\1\x80\3\x96\1\x8a\1\x80\3\xab\1\xb0\1\x84\3\x87\1\xc1\1\x80\t\x9c\1\x8a\3\xb0\1\x80\2\xb1\1\x8a\1\x80\1\xbe\1\xa7\1\x84\2\x88\1\x8a\4\x9d\1\x8a\2\xb1\1\x80\1\xb8\1\x87\1\x84\1\x87\1\xb8\5\x80\a\xa4\2\xc3\1\xa4\1\xc3\2\x80\1\xab\1\xa6\1\xb8\2\x80\3\xa7\1\x9d\1\xa4\1\xc3\1\x84\2\xba\1\x80\b\xc4\1\x84\1\x87\2\xa4\3\xc3\1\x84\2\xa3\1\xa4\a\xc3\1\x87\1\x84\1\xc3\1\xb2\1\x80\b\xa4\3\x80\5",
b"\x80\b\xb2\1\xc3\5\x84\2\xb9\1\x80\t\xc3\1\x80\1\xb5\t\x87\1\x84\2\xb5\31\x80\b\xcf\1\xc3\b\xb8\1\xbb\1\xb8\n\xa6\2\xb8\b\x80\17\x84\1\x87\1\xb8\1\xa9\1\x98\17\x9c\1\x98\2\x80\1\x98\2\x87\1\x84\1\x80\23\xc3\1\xa4\2\xc3\4\xc5\1\x84\1\x87\1\xc3\4\x9d\1\x98\n\x84\2\x80\b\x87\1\x84\1\x80\a\xa4\1\xc3\6\x80\b\x9b\1\x84\1\x87\1\x80\3\x8a\1\x80\17\xba\1\x87\1\x84\1\xc3\2\xa7\1\x80\2\x9c\1\x80\a\x84\2\x87\1\x84\1\xc9\1\x80\v\x92\1\x80\2\x90\1\x80\6\x84\2\x8a\1\xcf\1\xc3\1\xa9\1\x8a\1\x9d\1\xc3\4\x9f\1\x87\1\x84\1\x87\1\xb8\1\xbb\1\xb8\3\x80\a\xa4\1\xc3\5\xab\1\xb8\2\xa6\1\xbb\1\x80\3\xa6\1\xc3\2\x9b\1\x84\2\xc3\1\x80\b\x84\3\xc3\5\x84\2\x9b\1\xc3\a\x84\1\x87\1\x84\1\xc3\1\xa7\1\x80\b\xc3\3\x80\5",
b"\x80\b\xa8\1\xc3\5\x84\1\x87\1\xc9\1\x80\n\xd1\1\xb6\1\xb5\1\xa7\1\xb5\6\x87\1\x84\2\xb5\27\xc3\1\x80\t\xc3\1\xa4\1\xc3\a\xb8\f\xbb\2\xb8\b\x80\16\xd1\1\xba\1\x84\1\x87\1\x98\20\x9f\1\xb1\1\xab\1\x80\1\xd2\1\x98\1\x84\3\x80\22\xc3\b\x84\2\x9b\1\xc3\4\x98\5\xa9\2\x98\2\xc0\1\x87\1\x84\1\x80\b\xc9\1\x87\1\x84\1\xcc\1\x80\5\xc3\a\xa4\1\x80\a\x87\1\x84\1\x9b\1\x80\22\xb6\1\x9b\1\x84\2\xc3\2\x80\v\x84\4\xc0\1\x80\34\xbb\1\xa4\1\xc3\4\x84\2\xc0\1\xb8\5\x80\a\xc3\6\xbb\1\xb8\4\x80\3\xa8\1\xc3\2\x84\3\xc3\1\x80\a\xbe\1\x87\1\x84\1\xc1\1\xa4\2\xc3\3\x84\2\x87\1\xc3\a\x84\3\xc3\1\xa7\1\x80\b\xc3\3\x80\5",
b"\x80\t\xc3\5\x9b\1\x84\2\x80\n\xce\1\x80\1\xb5\1\x80\1\xb5\1\xc3\1\xb5\4\x87\1\x84\2\xb5\27\xc3\1\x80\t\xc3\b\xb2\1\xb8\2\xbb\n\xb8\1\xbb\a\xb8\1\xab\1\x80\16\xa8\1\xb8\1\x84\2\x9b\1\xa9\1\x98\r\x9d\2\x80\3\xd3\1\x80\1\xc4\1\x84\2\x80\22\xa4\1\xc3\b\x87\1\x84\1\xc5\1\xc3\3\x98\5\xa9\1\x80\1\xa9\1\xb8\1\x84\2\xc0\1\x80\t\x84\1\x87\1\x84\1\x80\5\xb2\1\xc3\a\xb6\1\x80\6\x84\2\xc9\1\x80\21\xb2\1\xc3\1\x84\2\x87\1\xc3\2\x80\v\x84\5\x80\36\xa4\1\xc3\2\xba\1\x87\1\x84\1\xa4\1\xb8\4\xbb\1\x80\a\xab\1\xc3\6\xb8\3\xab\1\x80\4\xc3\2\x84\3\xc3\1\xb2\1\x80\6\x84\2\xc5\1\x9f\1\xc3\5\x87\1\x84\2\xc3\a\x84\3\xc3\1\xa4\1\x80\b\xc3\3\x80\5",
b"\x80\t\xc3\3\xa4\1\xc3\2\x84\2\x80\16\xb6\1\xc3\4\xb5\2\x84\2\xb5\20\xc3\1\xb5\2\xc3\1\xb5\3\x80\t\xbe\1\xc3\b\xbb\1\xb8\2\xbb\6\xb8\r\x80\17\xab\1\xbb\1\x84\2\x87\1\x98\1\x80\2\x92\1\x98\t\x9d\1\xc3\2\x80\6\x84\2\xa8\1\x80\22\xc3\b\x84\2\xba\1\xc3\3\x9d\1\x98\4\xb4\1\x80\3\x84\2\x80\n\x84\3\x80\6\xc3\a\xa4\1\xc3\1\x80\5\x84\2\xc9\1\x80\21\xc3\2\x84\3\xc3\1\x80\f\xc6\1\x84\4\x80\37\xc3\2\xba\1\x84\2\xa4\1\xb8\3\xbb\1\xb8\1\x80\b\xc3\6\xb2\1\xbb\1\xb8\1\x80\5\xc3\2\x84\1\x87\1\x84\1\xc3\2\x80\5\xc4\1\x84\2\x80\1\xc3\6\xc0\1\x84\2\xc3\a\x84\1\x87\1\x84\1\xc3\2\x80\a\xb6\1\xc3\2\xa7\1\x80\5",
b"\x80\t\xb2\1\xc3\5\x84\2\xc8\1\x80\r\xb2\1\xc3\5\xb5\1\x84\2\xb5\2\xc3\1\xb5\6\xa7\1\xc3\2\xb5\1\xc3\1\xb5\2\xc3\1\xa7\1\xc3\2\x80\f\xc3\1\xa4\1\xc3\a\xb8\2\xbb\24\x80\17\xa6\1\xbb\1\x87\1\x84\1\x87\1\xb8\1\xc8\2\x98\n\xc3\3\x80\6\x84\2\xbe\1\x80\22\xc3\b\x84\2\xc0\1\xc3\3\x98\1\xc3\1\x98\3\x80\4\x84\2\x80\n\x87\1\x84\2\x80\6\xc3\b\xa4\1\xab\1\x80\4\x87\1\x84\1\xb9\1\x80\20\xa4\2\xc3\1\x84\3\xa4\1\x80\r\x84\4\x80\37\xc3\2\xc5\1\x84\2\xc0\1\xbb\2\xb8\1\xbb\1\xb8\1\x80\b\xc3\6\xa4\1\xb8\1\x92\1\x80\5\xc3\2\x84\1\x87\1\x84\1\xa4\1\xc3\1\xb2\1\x80\4\xbf\1\x84\1\x87\1\xb7\1\xa4\1\xc3\6\x84\2\xba\1\xc3\6\x84\1\x87\2\xc3\2\x80\a\xb2\1\xc3\2\xb2\1\x80\5",
b"\x80\n\xc3\1\xa4\1\xc3\2\x84\2\xc0\1\xa4\1\x80\r\xc3\6\x9b\1\x87\1\x84\1\xc3\5\xb5\1\xba\1\xc3\2\x80\1\xd3\1\x80\25\xc3\6\xa4\1\xc3\2\xbb\25\xb6\1\x80\17\xbb\3\xc5\1\xa7\1\xa8\1\x80\1\x98\v\xc3\1\x98\1\x9d\1\xcf\1\x80\5\xa8\1\xb2\1\x80\23\xc3\b\xc5\1\xc0\1\xc3\a\x98\1\x9d\1\x80\4\x84\1\x87\1\x80\v\xc1\1\xb6\1\x80\6\xa7\1\xc3\1\xa4\1\xc3\4\xa4\1\xc3\2\xa4\1\x80\3\x84\1\x87\1\x84\1\x80\17\xc3\4\xa3\1\x84\2\xc3\1\x80\r\xcf\1\x84\3\xa8\1\x80\37\xc3\2\x84\2\x9b\1\xc3\1\xbb\3\xa6\1\x80\b\xa6\1\xc3\6\xbb\1\x80\6\xc3\2\x87\1\x84\2\xc3\2\xa4\1\x80\5\x84\1\x87\1\xba\1\xc3\a\x84\3\xc3\6\x84\3\xc3\1\xa4\1\x80\a\xa4\2\xc3\1\xcf\1\x80\5",
b"\x80\n\xc3\3\xc5\1\x84\2\xc3\2\xb2\1\x80\f\xc3\6\x84\2\x87\1\xc3\t\xb2\1\x80\24\xbb\1\xc3\a\xa4\1\xc3\1\xb6\1\xab\1\xb8\1\xbb\23\x80\20\xbb\2\xb8\1\x9f\1\xa9\2\x80\1\x98\b\xae\1\x98\3\x9d\1\xc3\2\x80\32\xa6\1\xc3\17\xae\1\xc3\1\xb6\1\x80\4\x84\2\xad\1\x80\23\xc3\v\xb2\1\x80\1\xb9\1\x84\2\x80\16\xa4\1\xc3\5\x87\1\x84\1\xbb\1\x80\16\x87\1\x84\2\xc5\1\x80\37\xc3\2\x84\1\x87\1\x84\1\xc3\2\xb8\1\xbb\1\xb6\1\x80\t\xc3\6\xbb\1\x80\6\xc3\2\x9b\1\x84\1\x87\1\xc3\3\xa4\1\x80\4\x84\1\x87\1\xc5\1\xc3\a\x87\1\x84\2\xc3\6\x84\3\xc3\2\x80\a\xc3\3\xb6\1\x80\5",
b"\x80\n\xb6\1\xc3\2\xa3\1\x84\1\x87\1\xc3\3\x80\v\xcc\1\xc3\6\x84\2\xc0\1\xc3\n\xd4\1\x80\21\xd5\1\xc3\v\x80\2\xbb\22\xb8\1\xbb\1\x80\20\xbb\2\x9f\1\xa9\1\x9f\1\x98\1\xae\1\x98\4\xae\3\x98\1\x9d\1\xae\1\x98\2\xc3\3\xcc\1\x80\32\xc3\21\x80\5\x9b\1\x84\2\x80\23\xc3\r\xab\1\x84\2\xc8\1\x80\r\xc3\6\x84\2\xb9\1\x80\17\x84\3\x80\37\xc3\2\x84\2\x87\1\xc3\3\xbb\1\xab\1\x80\t\xc3\6\xa6\1\x80\6\x9f\1\xc3\1\xc5\1\x84\2\xc5\1\xc3\3\x80\5\xc5\1\xc3\b\x87\1\x84\1\x87\1\xc3\6\xc0\1\x84\2\xc3\2\x80\a\xc3\3\xa8\1\x80\5",
b"\x80\v\xc3\2\x9b\1\x87\1\x84\1\xc3\4\x80\n\xc3\a\x87\2\xc3\f\xbb\1\x80\16\xb2\1\xc3\f\xab\1\x80\2\xbb\23\x80\20\xbb\5\xb4\1\x98\2\xae\4\x98\1\xae\1\x98\1\xae\1\xa6\1\x98\1\x9d\2\xae\1\xc3\1\xa4\1\xc3\1\x80\32\xc3\21\x80\6\x84\2\xa8\1\x80\23\xc3\f\xa4\1\x87\1\x84\1\xb2\1\x80\r\xc3\6\x84\2\xc5\1\x80\20\x87\1\x84\1\x80\36\xc3\3\xc0\1\x84\2\xc3\4\xa4\1\x80\a\xa6\1\xc3\a\xa6\1\x80\a\xc3\2\x84\2\xba\1\xc3\4\x80\4\xc3\t\xba\1\x87\1\x84\1\xc3\a\x84\1\x87\1\xc3\2\x80\a\xc3\3\x80\6",
b"\x80\v\x92\1\xc3\1\x9b\1\x84\2\xc3\5\x80\t\xc3\a\x84\2\xc3\17\x80\t\xb2\1\xc3\r\xa4\1\xc3\1\x80\3\xbb\22\x92\1\x80\20\xbb\3\xb4\1\xae\1\xbb\1\xae\b\x92\1\x80\2\x9d\1\xc3\6\x80\32\xb2\1\xc3\20\x80\6\x87\1\x84\1\xcf\1\x80\23\xab\1\xc3\f\x84\2\xc3\24\x84\1\x87\1\xb6\1\x80/\xa4\1\xc3\3\x9b\1\x84\1\x87\1\xc3\24\x80\b\xc3\2\x84\2\xc3\6\xa4\1\x80\1\xc3\v\x84\2\xc0\1\xc3\5\xc5\1\x84\1\x87\1\xc3\2\x80\a\xc3\3\x80\6",
b"\x80\f\xc3\1\xa3\1\x84\1\x87\1\xc3\6\xd5\1\x80\5\xcc\1\xc3\b\x84\1\x87\1\xc3\21\xa4\1\xb2\2\xa4\1\xc3\22\x80\4\xbb\22\x80\20\xd0\1\xbb\5\xa6\1\xae\1\xa6\1\xb8\1\xae\2\x9d\1\xae\2\xb4\1\x80\2\xc3\a\xb6\1\x80\31\xcf\1\xc3\17\xbb\1\x80\6\x84\2\xcf\1\x80\24\xc3\v\xba\1\x84\2\xc3\24\x87\1\x84\1\xbe\1\x80-\xd6\1\xc3\5\x84\3\xc3\22\xa4\1\xc3\1\x80\b\xa6\1\xc0\1\x87\1\x84\1\xc3\23\x84\2\xc0\1\xc3\5\x9b\1\x84\2\xc3\2\x80\a\xc3\3\x80\6",
b"\x80\f\xc3\1\xc5\1\x87\1\x84\1\xc0\1\xc3\1\xc5\2\xc3\4\xbb\1\x80\3\xc3\t\x84\3\xc3\1\xc5\1\xc3\v\xc5\4\xc3\b\xc5\1\xc3\v\xd3\1\x80\4\xbb\22\x80\20\xbb\5\xae\2\xa6\1\x80\1\x9d\1\xa1\1\xae\2\x9d\1\xae\1\x80\3\xab\1\xc3\2\xc5\1\xc3\4\x80\31\xb2\1\xc3\17\x80\a\xb9\1\x87\1\xcf\1\x80\25\xc3\n\x84\2\xc0\1\xc3\23\xc0\1\x84\2\xc3\1\x80+\xb6\1\xc3\2\xc5\2\xc3\3\x84\1\x87\1\xba\1\xc3\1\xc5\1\xc3\17\xc5\1\xc3\1\xd3\1\x80\t\x84\3\xc3\6\xc5\2\xc3\v\x87\2\xc0\1\xc5\1\xc3\4\x84\2\x87\1\xc3\2\x80\6\xab\1\xc3\3\x80\6",
b"\x80\f\xab\1\xc5\1\xc0\1\x87\1\x84\1\xc3\b\xc5\2\xc3\1\xc5\1\xc3\b\xc0\1\x84\2\xc5\1\xc3\37\xc5\1\xc3\1\xa4\1\xc3\1\x80\6\xbb\22\x80\17\xbb\6\xb4\1\xa6\1\x80\2\xd7\1\x80\1\x96\1\xae\1\xb8\2\x80\4\xc5\1\xc3\1\xc5\6\x80\27\xcf\1\xc5\r\xc3\1\xc5\2\x80 \xc5\2\xc3\1\xc5\1\xc3\5\x84\1\x87\1\xc5\1\xc3\23\x87\2\x84\1\xc5\1\xc3\1\x80%\xa6\1\xc3\2\xc5\3\xc3\6\xc5\1\x84\2\xc3\2\xc5\1\xc3\16\xc5\2\x80\v\x84\1\x87\2\xc3\1\xc5\1\xc3\1\xc5\17\xc3\1\x9b\2\xc3\3\xc5\1\xc3\2\x84\2\xba\1\xc3\2\x80\6\xbb\1\xc3\3\x80\6",
b"\x80\r\xc5\2\x84\2\xc5\25\x87\1\x84\1\xba\1\xc5\37\xc3\2\xc5\1\xab\1\x80\6\xbb\21\x9f\1\xaa\1\x80\r\xd1\1\xbb\5\x9f\1\xd3\1\x80\5\xaa\1\xae\1\x80\6\xc5\a\xc3\2\x80\23\xd2\1\xd5\1\xc3\3\xc5\16\xcf\1\x80!\xa4\1\xc5\1\xa4\1\xc5\5\x84\1\x87\1\xc5\24\x84\2\x87\1\xc3\1\xc5\2\xd3\1\x80\37\xd4\1\xb2\1\xc5\1\xc3\1\xc5\f\xba\1\x84\2\xc3\1\xc5\21\x80\f\x84\2\xb2\1\xc5\25\xc3\1\xc5\5\x84\2\xc5\2\xc3\1\x80\6\xa4\1\xc5\3\x80\6",
b"\x80\r\xbb\1\xc5\1\x84\1\x87\1\xc5\25\x84\1\x87\1\xc0\1\xc5!\xd3\1\x80\a\xbb\1\x9f\1\xbb\21\x80\r\xbb\a\x80\6\x9d\1\x92\1\x80\6\xc5\n\xb2\1\xab\1\x80\16\x92\1\xc5\24\x80$\xab\1\xc3\1\xc5\4\x84\2\xc5\24\x84\2\x9b\1\xc5\6\x80\33\xb2\1\xc5\21\xba\1\x84\2\xc5\20\xbb\2\x80\f\x84\2\x92\1\x80\1\xa6\1\xc3\1\xc5\23\xc3\2\xc5\3\x87\1\x84\1\xc5\3\x80\6\xc5\4\x80\6",
b"\x80\16\xa4\1\x84\2\xba\1\xc5\24\x84\1\x87\1\xa3\1\xc5\37\xb6\1\x80\b\xbb\1\x9f\1\xbb\1\x9f\17\xbb\3\x80\v\xbb\1\x9f\6\xbb\1\x80\16\xaa\1\xc5-\x80'\xa4\1\xc5\3\x84\2\xc5\24\x84\2\x87\1\xc5\b\xb9\1\x80\26\xc5\25\x84\2\xc5\f\xa4\1\x9f\3\xbb\2\x80\f\x84\1\x87\1\xbb\1\x80\3\xb2\1\xc5\27\x84\2\xc5\3\xa6\1\x80\5\xc5\4\x80\6",
b"\x80\17\x84\2\xba\1\xc5\24\xba\1\x84\1\xa3\1\xc3\1\xc5\34\xbb\1\x80\n\x9f\25\xd2\1\x80\t\x9f\6\xbb\1\x9f\1\xd7\1\x80\17\xc5-\x80(\xa4\1\xc5\2\x87\1\x84\1\xc5\24\x9b\1\x84\2\xc5\a\xc3\1\xc5\2\xb7\1\x80\23\xc5\1\xb9\1\xc5\24\x84\2\xc5\t\xbb\1\x80\1\xaa\1\x9f\5\xbb\1\x80\f\x84\2\x87\1\x80\4\xa4\1\xc5\26\x84\1\x87\1\xc0\1\xc5\2\xa4\1\x80\4\xaa\1\xc5\4\x80\6",
b"\x80\17\xa6\1\xc50\xb9\1\xb2\1\xab\1\x80\16\xbb\1\x9f\1\xbb\1\x9f\23\x80\b\xbb\1\x9f\a\xbb\1\x80\20\xa4\1\xc5+\x80*\xc5\2\x9b\1\x84\2\xc5\24\x84\2\xc0\1\xc5\r\xb2\1\xaa\1\x80\r\xaa\1\xc5\26\x84\1\x87\1\x84\1\x9f\5\x80\5\xbb\1\x9f\3\xbb\2\x92\1\x80\f\xa4\1\x87\1\x84\1\x80\6\xc5\25\x84\3\xc5\3\x80\4\xa4\1\xc5\3\xa4\1\x80\6",
b"\x80\20\xc5-\xd7\1\x80\22\xaa\1\x9f\26\xbb\1\x80\5\xd7\1\xbb\1\x9f\a\xbb\1\x80\22\xbb\1\xc5(\xa4\1\x80,\xc5\2\x84\2\x9b\1\xc5\23\x84\3\xc5\22\xa4\1\xb2\2\xc5\36\x9b\1\x84\2\xbb\1\x9f\4\x80\5\x9f\4\xbb\1\x9f\1\xaa\1\x80\r\x87\1\x84\1\xc5\1\x80\6\xab\1\xc5\24\x84\1\x87\1\xc0\1\xc5\2\xd7\1\x80\3\xc5\4\xa6\1\x80\6",
b"\x80\21\xc5+\x80\24\xbb\1\x9f\27\xbb\1\xd8\1\x80\1\xd8\1\xaa\1\x9f\t\x80\24\xc5(\x80-\xc5\2\x84\3\xc5\23\x84\3\xc53\x9b\1\x87\2\x9f\5\x80\4\xaa\1\x9f\4\xbb\1\x9f\1\xd7\1\x80\r\x84\2\x9b\1\x80\b\xc5\23\x84\1\x87\1\xc0\1\xc5\2\x9f\1\x80\3\xc5\4\xaa\1\x80\6",
b"\x80\22\xc5(\xa6\1\x80\25\x9f%\x80\26\xc5%\xd9\1\x80/\xc5\1\x84\2\x87\1\xc5\23\x84\3\xc52\xb2\1\xc3\1\x84\2\x9f\1\xbb\1\x9f\3\x80\4\xbb\1\x9f\4\xbb\1\x9f\1\x80\16\x84\3\x80\a\x92\1\xc5\23\x87\2\x9b\1\xc5\3\x80\2\xd7\1\xc5\4\x80\a",
b"\x80\23\xc5'\x80\25\x92\1\x9f$\xd7\1\x80\27\xc5\"\x802\xa4\1\x84\3\xc5\23\x84\3\xc50\xa7\1\x9f\3\x87\1\x84\1\x9f\5\xd7\1\x80\3\x9f\a\x80\16\x84\3\x80\a\xc5\24\x87\2\x9b\1\xc5\3\x9f\1\x80\1\xc5\5\x80\a",
b"\x80\23\xc5&\x80\26\x96\1\x9f#\xd7\1\x80\30\xd7\1\xc5\37\xb8\1\x803\xa6\1\x9b\1\x84\2\xc5\23\xc0\1\x84\2\xc5/\xd7\1\x9f\4\x9b\1\x84\1\x9f\5\xda\1\x80\3\x9f\a\x80\16\xc5\1\x84\1\x87\1\x80\6\xd2\1\xc5\24\x87\1\x84\1\x9b\1\xc5\4\xd7\1\xc5\5\x80\a",
b'\x80\24\xc5$\x95\1\x80\26\xb8\1\x9f"\x92\1\x80\32\xa4\1\xc5\34\x9f\1\x806\xc5F\x80\3\x9f\v\x95\1\x80\2\xd7\1\x9f\a\x80\27\xa7\1\xc5 \x9f\1\x80\a',
b'\x80\25\xc5"\x80\30\xbb\1\x9f!\xbb\1\x80\34\xc5\32\xbb\1\x808\xc5D\xb2\1\x80\4\x9f\v\x96\1\x80\2\xa6\1\x9f\a\x80\27\xc5!\x95\1\x80\a',
b"\x80\25\xb2\1\xc5 \x80\31\xbb\1\x9f!\x80\35\xa4\1\xc5\30\xa4\1\x809\xc5C\x92\1\x80\5\x9f\v\x96\1\x80\2\x9f\b\x80\27\xc5!\x80\b",
b"\x80\26\xc5\37\x80\32\xa6\1\x9f \x80\36\xd7\1\xc5\27\x80;\xc5B\x80\a\x9f\v\xb8\1\x80\2\x9f\a\xb8\1\x80\27\xc5!\x80\b",
b"\x80\27\xc5\35\x80\33\x95\1\x9f\37\xb8\1\x80\37\xbb\1\xc5\25\xb8\1\x80;\xa4\1\xc5\22\xc6\1\xc5\1\xc6\1\xc5*\xb9\1\x80\b\x9f\v\xb8\1\x80\2\x9f\a\x96\1\x80\26\x95\1\xc5\35\xc6\1\xc5\2\xc6\1\x80\b",
b"\x80\27\xda\1\xc6\1\xc5\32\xa6\1\x80\33\xda\1\x9f\37\x80 \xda\1\xc5\25\x80<\xbb\1\xc5\16\xc6\2\xc5\1\xc6\1\xc5\2\xa4\1\x80\1\xc6\1\xc5(\x80\t\x9f\v\xbb\1\x80\1\xdb\1\x9f\a\x95\1\x80\26\x95\1\xc5\36\xc6\1\xc5\1\xa6\1\x80\b",
b"\x80\30\xc5\1\xc6\2\xc5\27\xc6\1\x80\35\x9f\37\x80!\xc5\25\x80=\xc5\16\xc6\1\xc5\2\x80\6\xc5&\xc6\1\x80\n\x9f\1\xb2\1\x9f\n\x80\1\x95\1\x9f\a\xda\1\x80\27\xc6\1\xc5\37\x80\t",
b"\x80\31\xc6\1\xc5\1\xc6\27\x80\1\xa4\1\xc5\2\xc6\a\x80\23\x96\1\x9f\36\x80!\xc6\25\x80=\xc6\16\xc5\2\x9f\1\x80\6\xa4\1\xc6%\x80\v\xb8\1\x9f\v\x80\1\xbb\1\x9f\a\x80\30\xc6\37\x80\n",
b'\x80\31\x9f\1\xc6\26\xc5\2\xc6\1\xc5\1\xc6\6\xc5\1\xc6\2\xa4\1\x80\23\x9f\2\xb2\1\x9f\33\x80!\xc6\23\xc5\1\xc6\1\x80=\xc6\20\xdc\1\x80\6\xda\1\xc6\1\xc5\1\xc6"\x80\f\x96\1\x9f\n\xbb\1\x80\1\x9f\b\x80\30\xc6\37\x80\n',
b"\x80\31\x95\1\xc6\26\xc5\1\xc6\1\xc5\1\xc6\f\x80\22\x9f\36\x80!\xc6\24\xc5\1\x80=\xc6\20\x80\b\xc6#\x9f\1\x80\f\x94\1\x9f\n\xb8\1\x80\1\x9f\b\x80\30\xc6\36\xc5\1\x80\n",
b"\x80\31\xdc\1\xc6%\x96\1\x80\21\x95\1\xb2\35\x80 \xdc\1\xc6\24\x80>\xb9\1\xc6\17\x80\b\xc6#\x80\r\x94\1\x9f\n\x96\1\x80\1\x9f\b\x80\30\xc6\37\x80\n",
b"\x80\31\xdc\1\xc6&\x80\22\xb2\1\x9f\1\xb2\33\x80 \x9f\1\xc6\24\x80>\xb8\1\xc6\17\x80\b\xb9\1\xc6\3\xc5\1\x80\2\xc0\1\xc6\32\xb2\1\x80\r\x96\1\x9f\n\x96\1\xdc\1\xb2\1\x9f\6\xb2\1\x80\30\xc6\1\xc5\1\xc6\34\xa4\1\x80\n",
b"\x80\32\xc6&\x80\22\xb8\1\xb2\34\x80 \xc6\24\xa1\1\x80?\xc6\17\x80\20\xc0\1\xc6\30\xc5\1\x80\16\xb8\1\x9f\1\xb2\t\x96\1\x94\1\xb2\a\xa7\1\x80\30\xc6\36\xdc\1\x80\n",
b"\x80\32\xc6\32\xc5\1\xb0\1\xda\1\xa7\1\xc6\t\x80\22\xdc\1\xb2\1\xa7\1\xb2\31\x80\37\xdd\1\xc6\24\x80@\xc6\17\xb0\1\x80\17\xb8\1\xc6\30\x80\17\x9f\1\xb2\n\xb0\2\xb2\b\x80\30\xc6\36\x80\v",
b"\x80\32\xc6\30\xc0\1\x80\6\xc6\b\x96\1\x80\22\xb2\1\x9f\1\xb2\31\x80\37\xb8\1\xc6\24\x80@\x9f\1\xc6\r\xc0\1\xa4\1\x80\20\xc6\30\x80\17\xa7\1\x9f\1\xb2\t\xb0\2\xb2\a\x9f\1\x80\27\xd2\1\xc6\36\x80\v",
b"\x80\32\xc6\30\x80\a\xa1\1\xc6\b\x80\23\xa7\1\xb2\31\x80\37\xc6\25\x80A\xc6\17\x80\20\xc6\27\xb0\1\x80\17\xb2\1\x9f\1\xb2\t\x9f\1\xb8\1\xa7\1\xb2\6\x9f\1\x80\27\xc6\36\x9f\1\x80\v",
b"\x80\32\xc6\30\x80\b\xc6\b\x80\23\xb8\1\xa7\1\xb2\6\xa7\22\x80\37\xc6\25\x80A\xc6\17\x80\20\xc6\27\x80\20\xb2\1\xa7\v\x9f\1\xa7\a\xb2\1\x80\27\xc6\36\x80\f",
b"\x80\32\xc6\30\xde\1\x80\a\xc6\b\xa1\1\x80\23\xa7\31\x80\37\xc6\25\x80A\xc6\20\x80\17\xc6\27\x80\20\xa7\f\xb2\1\xa7\b\x80\26\xd1\1\xc6\36\x80\f",
b"\x80\32\xc6\30\x94\1\x80\a\xb0\1\xc6\b\x80\23\xb4\1\xa7\30\x80\36\xdd\1\xc6\25\x80B\xc0\1\xc6\16\xb8\1\x80\16\xc6\26\xa4\1\x80\20\xa7\f\xb4\1\xa7\b\x80\26\xc6\36\x94\1\x80\f",
b"\x80\32\xc6\30\x9f\1\x80\b\xc6\b\x80\23\xdf\1\xa7\30\x80\36\xa7\1\xc6\24\xa4\1\x80B\xc6\16\xc0\1\xc6\1\xc0\1\x80\r\xc6\26\xa2\1\x80\20\xa7\25\x80\25\xb4\1\xc6\35\xa1\1\x80\r",
b"\x80\32\xc6\30\xa4\1\x80\b\xc6\b\xb0\1\x80\23\xa7\30\x80\36\xc6\25\xa7\1\x80B\xc0\1\xc6\20\xb0\1\x80\v\xb0\1\xc6\26\x80\21\xa7\25\x80\25\xc6\36\x80\16",
b"\x80\32\xa4\1\xc6\30\x80\b\xdf\1\xc6\b\x80\23\xa7\30\x80\36\xc6\25\x9f\1\x80C\xc0\1\xc6\20\xa4\1\x80\n\xc5\1\xc6\1\xc0\1\xc6\24\x80\21\xa7\25\x80\25\xc0\1\xc6\34\xb0\1\x80\16",
b"\x80\32\xa1\1\xc6\30\x80\t\xc6\b\xdf\1\x80\22\xa7\30\x80\36\xc6\25\xe0\1\x80D\xc6\21\xc0\1\x80\t\xc0\1\xc6\26\x80\21\xa7\24\xb4\1\x80\24\xc0\1\xc6\32\xc0\1\xc6\2\x80\17",
b"\x80\32\xa2\1\xc6\30\x80\t\xc6\b\xa1\1\x80\22\xa7\30\x80\36\xc6\25\x80E\xa4\1\xc6\22\xcd\1\x80\a\xc6\27\x80\21\xa7\24\xb4\1\x80\24\xc6\2\xc0\1\xc6\32\x80\20",
b"\x80\33\xc6\30\x80\t\xc6\b\xa7\1\x80\22\xa7\30\x80\36\xc6\25\x80F\xc6\23\xc0\1\x94\1\x80\4\xdf\1\xc6\27\x80\20\xe1\1\xa7\24\x9f\1\x80\23\xc6\34\xa2\1\x80\21",
b"\x80\33\xc6\30\x80\t\xc6\b\xc5\1\x80\22\xa7\30\x80\35\xe1\1\xc6\25\x80G\xa1\1\xc6\25\xa1\1\xc6\30\xb0\1\x80\20\xe1\1\xa7\24\xa1\1\x80\22\xc6\32\xad\1\xc6\2\x80\22",
b"\x80\33\xc6\30\x80\t\xc6\t\x80\22\xb4\1\xa7\27\x80\35\xa1\1\xc6\25\x80H\xc6\25\xe2\1\xc6\30\x80\21\xe1\1\xa7\24\xa1\1\x80\21\xd0\1\xc0\1\xc6\31\xc0\1\xc6\1\x80\23",
b"\x80\32\xe1\1\xc6\27\xe2\1\x80\t\xad\1\xc6\b\x80\22\x90\1\xa7\27\x80\35\xc5\1\xc6\22\xe2\2\xc6\1\x80I\xc6\21\xad\1\xc6\33\x80\21\xe1\1\xa7\24\xa1\1\x80\21\xc6\1\xe2\1\xc6\32\x80\24",
b"\x80\32\xa7\1\xc6\30\x80\t\xc6\6\xe2\1\xc6\2\x80\22\xa2\1\xa7\27\x80\35\xc6\23\xe2\1\xc6\1\xa7\1\x80K\xc6*\xb4\1\x80\22\xa7\24\x90\1\x80\20\xe2\1\xc6\30\xad\1\xc6\2\xa4\1\x80\24",
b"\x80\32\xc5\1\xc6\30\x80\b\xa1\1\xc6\t\x80\22\xe1\1\xa7\27\x80\35\xc6\25\xa1\1\x80K\xa2\1\xc6)\xe1\1\x80\b\xe3\1\x80\t\xa7\24\x90\1\x80\17\xc5\1\xc6\31\xe2\1\xc6\1\xc0\1\x80\25",
b"\x80\32\xc5\1\xad\30\xe1\1\x80\a\xe2\1\xad\a\xc6\1\xa4\1\x80\23\xa7\27\x80\35\xe2\1\xad\24\x80N\xad(\xc3\1\x80\b\xc3\1\x80\t\xa7\24\x90\1\x80\16\x90\1\xc6\34\xa1\1\x80\25",
b"\x80\32\xa4\1\xad\30\xc5\1\x80\6\xa7\1\xad\a\xe2\1\xad\1\x90\1\x80\23\xa7\27\x80\35\xad\24\xe2\1\x80O\xe2\1\xad#\xe2\2\xad\1\xc3\1\x80\a\xc3\2\x80\1\xc3\1\x80\2\xc3\1\x80\4\xa7\24\xb0\1\x80\16\xad\33\xc6\1\xa7\1\x80\26",
b"\x80\32\xa1\1\xe2\30\xc6\1\x80\1\xa2\1\x80\1\xe4\1\x80\2\xe2\1\xc0\1\xe2\b\x80\24\xa7\27\xe3\1\x80\33\xe1\1\xad\1\xe2\22\xc6\2\x80O\x90\1\xc6\1\xe2#\xc6\1\xad\1\xc3\1\xdb\1\xe5\1\xe6\1\xd0\1\xdb\1\x99\1\xa1\1\xa4\1\xc3\1\x80\1\xc3\1\xb4\1\xe7\1\xc3\1\x80\4\xa7\24\x90\1\x80\f\xe3\1\xad\1\xe2\1\xc6\1\xe2\32\x80\27",
b"\x80\32\xe1\1\xe2\30\xc6\1\x80\1\xc3\1\x80\1\xa4\1\x80\2\xad\1\xc6\1\xe2\a\xa1\1\x80\24\xa7\27\xb0\1\x80\33\xa7\1\xe2\24\x97\1\x80P\x97\1\xc6\1\xe2!\xc6\1\xe2\1\xc5\1\xc3\6\xa4\1\xc3\3\xa2\1\xc3\1\xa4\1\xc3\2\x80\4\xa7\24\xa1\1\x80\f\xe2\35\xa7\1\x80\27",
b"\x80\33\xe2\31\xa1\1\xc3\1\x80\1\xc3\1\x80\1\xa7\1\xe2\1\xad\1\xe2\3\xad\1\xe2\2\xad\1\x80\25\xa7\30\x80\33\xe2\1\xad\1\xe2\23\x80S\xe2\2\xad\1\xe2 \xc3\v\x9d\1\xc3\5\x90\1\x80\1\xe1\1\xb4\1\xa7\23\xa1\1\x80\v\xc6\1\xe2\32\xc6\1\xe2\1\xad\1\x80\30",
b'\x80\17\x9c\1\x80\2\xd2\1\x80\6\x90\1\xa4\1\xe2\31\xa7\1\xc3\3\xd0\1\xad\1\xe2\1\xad\1\xe2\6\xa4\1\x80\25\xa7\30\x80\33\xe2\25\x80T\xe2"\xc3\22\x80\1\xa4\1\xa2\1\xa7\23\xa1\1\x80\n\xe8\1\xad\3\xe2\33\x80\30',
b"\x80\17\xc3\1\x80\2\xc3\1\x80\6\xc3\2\xad\1\xe2\30\xc3\4\xc5\1\xe2\b\xad\1\x80\26\xa7\30\x80\33\xe2\24\xc6\1\x80T\xa4\1\xad\1\xe2\37\xc6\1\xc3\21\x80\1\x90\1\xc3\1\x80\1\xa4\1\xa7\22\xa1\1\x80\t\xa2\1\xe2\1\xad\1\xe2\33\xad\1\x80\31",
b"\x80\17\xc3\1\xa4\1\x9d\1\xc3\1\x80\1\xc3\2\x80\3\xc3\2\xad\1\xe2\30\xc3\3\xc6\1\xc0\1\xe2\b\xa7\1\x80\26\xa7\30\x80\33\xe2\21\xad\1\xe2\2\x80U\xe7\1\xa4\1\xe2\2\xad\1\xe2\34\xc5\1\xc3\23\x80\2\xa7\2\xc3\1\xa4\1\xa7\17\x9f\1\x80\t\xad\1\xe2\35\x80\32",
b"\x80\17\xc3\4\xb4\1\xc3\2\x80\1\xc3\1\xa1\1\xa7\1\xc3\1\xc6\1\xad\1\xe2\27\xc3\3\xad\1\xe2\t\x80\27\xa7\t\xa4\2\xa7\r\xe1\1\x80\31\xd2\1\xe2\23\xc6\1\x80O\xc3\1\x9c\1\x80\6\xad\1\xe2\36\xc3\25\x80\1\xb0\1\xc3\2\xa4\1\xa7\20\x80\b\xe2\2\xad\1\xe2\33\xad\1\x80\2\xc3\1\xe6\1\xd2\1\x80\25",
b"\x80\n\xc3\1\x80\5\xc3\6\x80\1\xb4\1\xc3\3\xc6\1\xe2\1\xad\1\xe2\26\xc3\1\xc6\1\xad\1\xe2\t\x80\30\xa4\1\xa7\26\xa4\2\x80\31\xa7\1\xe2\24\x80O\xc3\2\x9c\1\x80\5\xc6\1\xe2\36\xc3\24\xa4\1\xb0\1\xc3\3\xa7\21\x80\a\xe2\2\xad\1\xe2\34\xb0\1\x80\2\xc3\1\xa4\1\xc3\2\x80\24",
b"\x80\n\xc3\2\x80\5\xc3\5\x9d\1\xa2\1\xc3\3\xc5\1\xe2 \xad\1\xe2\2\xa4\1\x80\30\xa7\4\xa4\1\xa7\4\xc3\2\xa7\2\xa4\1\xa7\2\xa4\1\xc3\1\xa7\1\xa4\2\xa7\2\xc3\1\xa4\1\xc3\1\x80\30\xad\1\xe2\23\xb4\1\x80O\xc3\3\x80\5\xc5\1\xad\1\xe2\35\xc3\30\xa7\2\xa4\1\xa7\3\xa4\1\xa7\1\xa4\1\xa7\2\xa4\2\xa7\5\x80\6\xad\2\xe2\36\x80\4\xc3\3\x80\24",
b"\x80\n\xc3\2\x80\4\xc3\f\xad\1\xe2 \xad\1\xe2\1\xe9\1\x80\b\xe3\1\x80\t\xb7\1\xa2\1\x80\4\xa4\1\xa7\1\xa4\a\xc3\2\xa4\5\xc3\4\xa4\3\xc3\3\xa2\1\x80\27\xe2\24\x80M\xd0\1\x85\1\x80\1\xc3\3\x80\2\xe6\1\x80\1\xb4\1\xc5\1\xad\1\xe2\34\xad\1\xc5\1\xc3\27\xa4\v\xc3\2\xa4\5\x80\6\xe2\37\xc0\1\xb0\1\x80\1\xea\1\xc3\4\x80\24",
b'\x80\a\xa7\1\x90\1\x80\1\xc3\2\x80\1\xa7\1\x80\2\xc3\v\xc5\1\xe2"\xa7\1\xc3\1\x80\1\xdf\1\x90\1\x80\4\xa4\1\xb4\1\x80\1\xdf\1\x80\6\x9d\1\xa7\1\xdf\1\x80\4\xa4\1\xa7\1\xa4\2\xc3\2\xa4\3\xc3\2\xa4\5\xc3\5\xa4\2\xc3\3\x80\30\xe2\1\xad\1\xe2\21\xc5\1\x80M\xc3\3\x9d\1\xc3\3\x99\1\xc3\1\x80\1\xc3\2\xe2\1\xad\1\xe2\35\xc6\1\xc3\25\xa4\2\xc3\2\xa4\1\xc3\2\xa4\4\xc3\3\xa4\1\xc3\2\xa4\2\x80\5\xad\1\xe2\36\xad\1\xc3\3\xa4\1\xc3\3\x9d\1\x80\24',
b"\x80\5\xb4\1\xc3\3\xb4\1\xc3\3\xa4\1\xc3\1\xa1\1\xc3\v\xc5\1\xe2\1\xad\35\xe2\1\xad\2\xa7\1\x90\1\xc3\1\xe1\1\xc3\2\x80\3\xa4\1\xc3\1\xb4\1\xe1\1\xc3\1\xa2\1\x80\5\xc3\2\x80\5\xa4\4\xc3\3\xa4\1\xc3\4\xa4\2\xc3\1\xa4\1\xc3\t\xa4\2\x80\27\xad\23\x80M\xc3\r\xad\35\xe2\3\xc3\34\xa4\1\xc3\6\xa4\1\xc3\3\xa4\1\x80\1\xb0\1\xa1\1\x80\2\xe2\37\xc5\1\xc3\n\xa1\1\xc3\2\xdf\1\x80\16",
b'\x80\1\x90\1\xc3\a\xa4\2\xc3\20\xe2\1\xad\1\xe2\1\xad\34\xe2\1\xad\2\xc3\3\xa7\1\xc3\a\xa7\1\xa2\1\xc3\2\x80\2\xe1\1\x80\2\xc3\2\xa2\1\x80\4\xa4\4\xc3\3\xa4\1\xc3\4\xa4\2\xc3\r\xd2\1\xc3\1\xa7\1\xe5\1\x80\22\xdb\1\xad\22\xe2\1\x80L\xc3\16\xad\35\xe2\3\xc6\1\xc3"\xa4\1\xc3\4\x9f\1\xa4\2\x80\1\xa2\1\xad\37\xa4\1\xc3\n\x9c\1\xc3\2\x80\17',
b"\xa1\1\xc3\32\xad\1\xe2\1\xad\36\xc6\1\xc3\r\xb4\1\xc3\2\xb0\1\xa4\1\xc3\1\x80\1\xa2\1\xc3\1\xa1\1\xc3\1\xdf\1\x80\3\xa4\2\xc3\31\xa4\2\xc3\1\x80\23\xa2\1\xad\23\x80K\xc3\17\xad\35\xe2\4\xc3(\xa4\2\xc3\1\xad\37\xe2\1\xc3\f\xa7\1\x80\20",
b"\xc3\33\xc6\1\xad\1\xe2\1\xad\33\xe2\1\xc3\30\x80\1\xb4\1\xc3\1\xa2\1\x80\1\xc3\2\xa4\1\xc3\33\x80\24\xa7\1\xad\23\x80J\xc3\2\xa4\1\xc3\r\xad!\xc6\1\xc3)\xc5\1\xe2\1\xad\37\xc3\f\x80\1\xdf\1\xe1\1\x80\16",
b'\xc3\33\xc5\1\xad\36\xc3\26\xc5\2\x80\1\xb4\1\xc3\2\xb4\1\x9d\1\xc3\35\xe4\1\xa2\1\x80\22\xc6\1\xad\23\x80I\xa1\1\xa4\1\xc3\17\xad"\xc3)\xc6\1\xe2\1\xad\37\xc3\16\x80\2\xe1\1\x80\f',
b'\xc3\34\xad\36\xc3\26\xc5\2\x80\1\x9d\1\xc3"\x80\2\xa1\1\x80\20\xe2\1\xad\22\xb9\1\x80H\xc3\22\xad"\xc5\1\xc3(\xe2\1\xad\37\xe2\1\xc3\16\x80\1\xc3\2\x80\f',
b"\xc3\34\xad\36\xc3\25\xc5\3\xc3$\x80\1\xb4\1\xc3\1\x80\2\xdf\1\xc3\2\x80\v\xad\23\xb2\1\x80G\xa7\1\xc3\22\xad#\xc3(\xad!\xc3\16\x80\1\xc3\2\xa7\1\x80\1\xdf\1\xa7\1\xc3\2\x90\1\x80\5",
b"\xc3\34\xad\35\xe2\1\xc3\25\xc5\2\xc3%\x80\1\xc3\2\xe7\1\x80\1\xc3\3\x80\n\xb0\1\xe2\1\xad\22\xa1\1\x80F\xe4\1\xc3\23\xad#\xc3(\xad!\xc3\16\xdf\1\xc3\3\xe3\1\xc3\4\xdd\1\x80\5",
b"\xc3\34\xad\35\xc0\1\xa4\1\xc3\23\xc5\3\xc3%\xb4\1\xc3\3\xdd\1\xc3\3\x80\n\xc6\1\xad\23\xb8\1\x80E\xa7\1\xc3\24\xad#\xc3(\xad!\xc5\1\xc3\24\xa4\1\xc3\1\x80\6",
b"\xc3\34\xad\35\xa4\1\xc3\24\xc6\3\xc3,\x94\1\xa7\1\x80\1\xc3\1\x80\a\xad\24\xb0\1\x80D\xb4\1\xc3\24\xad#\xc3)\xad!\xe2\1\xc3\24\xa4\1\xc3\3\x80\4",
b'\xc3\34\xad\35\xc3\25\xc6\3\xc30\x80\2\xdd\1\xa1\1\x80\3\xad\24\xb8\1\x80C\xe9\1\xc3\23\xc5\1\xad#\xc5\1\xc3)\xad"\xc3\31\xa1\1\xe3\1\x80\1',
b"\xc3\34\xad\34\xc5\1\xc3\25\xc6\2\xc5\1\xc34\x80\2\xdf\1\xad\1\xe2\1\xad\22\x80C\x9d\1\xc3\23\xe2\2\xad\1\xe2\3\xad\37\xc3*\xe2\1\xad!\xc3\31\xa7\1\x80\2",
b"\xc3\33\xc5\1\xad\2\xe2\30\xad\2\xc3\25\xc6\3\xc3\4\xc5\1\xc0\1\xc6\2\xc5\1\xc3*\xa4\1\xa1\1\x80\2\xc6\1\xe2\1\xad\1\xe2\17\xad\1\xe2\1\xad\1\x80B\xc3\24\xe2%\xa4\1\xc3*\xad\2\xe2 \xc5\1\xc3\30\xb0\1\x80\2",
b"\xc3\33\xad\2\xe2\31\xad\1\xc5\1\xc3\24\xc5\1\xc6\1\xc0\2\xc3\2\xc0\1\xc6\b\xc3\23\xc6\1\xc3\23\xa4\1\xb0\1\x80\3\xe2\23\xad\2\x80A\xb4\1\xa4\1\xc3\22\xad\2\xe2!\xad\2\xc5\1\xc3+\xad\2\xe2\36\xad\1\xe2\1\xc5\1\xc3\33",
b'\xc3\33\xe2\1\xad\1\xe2\31\xad\1\xc3\25\xc6\23\xc5\1\xc3\r\xc6\1\xc0\1\xc3\24\xa1\1\x80\3\xad\1\xe2\21\xad\1\xe2\1\x9f\1\x80@\xc3\23\xa4\1\xad\1\xe2\1\xad\1\xe2"\xc5\1\xc3,\xad\1\xe2\37\xad\2\xc6\1\xc3\30\xa4\1\xc3\2',
b'\xc3\33\xad\1\xe2\1\xad\31\xe2\1\xc3\24\xad\1\xc6\27\xe2\1\xc6\b\xe2\1\xc5\1\xc3\27\xa1\1\xa7\1\xe2\24\x80?\xa7\1\xc3\23\xc5\1\xad#\xe2\1\xad\2\xc3-\xad"\xc6\1\xc3\33',
b'\xc3\33\xad\3\xe2\31\xc3\23\xc5\1\xe2\30\xad\6\xe2\1\xc6\2\xc5\1\xc3\30\x80\1\xe2\1\xad\24\x80>\xc3\25\xad\2\xe2"\xad\2\xa4\1\xc3-\xad\2\xe2\36\xad\2\xc5\1\xc3\33',
b"\xc3\33\xad\34\xc3\22\xc6\1\xe2\32\xad\2\xe2\3\xad\1\xc5\1\xc3\31\xb4\1\xc5\1\xad\24\xa1\1\x80=\xc3\25\xad\1\xe2\1\xad#\xe2\1\xc3/\xe2\1\xad!\xc3\34",
b"\xc3\33\xad\34\xc3\22\xe2\1\xad\a\xe2\2\xad\1\xe2\1\xad\3\xe2\4\xad\1\xe2\t\xc5\1\xc3\34\xb0\1\x80\1\xad\25\x80=\xa1\1\xc3\24\xad%\xeb\1\xa4\1\xc30\xe2\1\xad \xc3\34",
b"\xc3\33\xad\33\xc6\1\xc3\21\xad\2\xe2\a\xad\1\xe2\2\xad\1\xe2\1\xad\1\xe2\1\xad\1\xe2\4\xad\1\xe2\b\xc6\1\xa4\2\xc3\34\xad\25\x80<\xd0\1\xc3\24\xad\1\xe2\1\xad%\xc31\xc6\1\xad \xc3\34",
b"\xc3\33\xad\33\xc6\1\xc3\17\xa4\1\xc0\1\xad\2\xe2\1\xad\b\xc6\1\xc3\n\xc6\1\xe2\3\xad\4\xe2\1\xc5\1\xc3\34\xad\26\x80<\xc3\24\xad\1\xe2\2\xad$\xc33\xad\37\xe2\1\xc3\34",
b"\xc3\32\xad\34\xc6\1\xc3\v\xa4\1\xc3\3\xad\v\xc6\1\xc3\17\xad\a\xc0\1\xc3\33\xad\25\xa4\1\x80;\xc3\24\xad'\xa4\1\xc33\xad\37\xc6\1\xc3\34",
b"\xc3\32\xe2\1\xad\33\xc6\1\xc3\16\xad\1\xe2\1\xad\n\xc3\21\xc6\1\xad\6\xc3\33\xad\25\x80;\xea\1\xc3\23\xc6\1\xad&\xc35\xc5\1\xad\36\xe2\1\xc3\34",
b"\xc3\31\xc5\1\xad\34\xc6\1\xc3\f\xc0\1\xe2\2\xad\t\xc3\22\xa4\1\xc3\1\xad\2\xe2\1\xad\2\xe2\1\xad\1\xc3\31\xad\26\x80;\xc3\24\xad&\xc37\xad\36\xe2\1\xc3\34",
b"\xc3\31\xad\1\xec\1\xad\33\xe2\1\xc3\v\xc6\1\xad\b\xe2\1\xad\2\xc3\26\xad\1\xe2\1\xad\4\xc0\1\xc3\27\xad\1\xe2\1\xad\23\xe2\1\xad\1\x80:\xc3\24\xad%\xeb\1\xc38\xc6\1\xe2\1\xad\35\xc3\34",
b"\xc3\31\xec\1\xeb\1\xad\34\xc3\n\xa4\1\xad\v\xc6\1\xc3\26\xad\6\xeb\1\xc3\27\xeb\2\xad\25\x809\x9f\1\xc3\23\xc5\1\xeb\1\xad#\xec\1\xc5\1\xc38\xc5\1\xad\36\xc3\34",
b"\xc3\30\xe2\1\xad\36\xc3\t\xc6\1\xeb\1\xad\n\xc3\30\xad\b\xa4\1\xc3\24\xad\1\xec\1\xad\23\xe2\1\xad\2\x809\xc3\23\xc5\1\xeb\1\xad$\xc6\1\xc3:\xad\34\xe2\1\xeb\1\xe2\1\xc3\33",
b'\xc3\30\xec\1\xad\35\xe2\1\xc3\b\xc5\1\xad\1\xeb\1\xad\a\xec\1\xe2\1\xc5\1\xc3\30\xad\2\xeb\1\xec\2\xad\3\xe2\1\xc3\21\xa4\2\xc3\1\xad\26\xe2\2\x808\xc3\20\xa4\1\xc3\3\xe2\1\xad"\xeb\1\xad\1\xc0\1\xc3;\xc6\1\xad\34\xeb\1\xad\1\xc3\33',
b"\xc3\27\xc5\1\xad\36\xe2\1\xc3\b\xad\1\xe2\1\xad\b\xe2\1\xad\1\xc3\31\xad\1\xeb\1\xad\1\xc6\2\xe2\1\xad\1\xec\2\xc3\23\xad\26\xe2\2\xa4\1\x807\xc3\22\xa4\1\xc3\1\xc5\1\xec\1\xad#\xe2\1\xc3=\xad\34\xeb\1\xe2\1\xc3\33",
b"\x80\27\x87 \x80\a\x84\2\x87\t\x84\1\x80\32\x87\3\x80\3\x87\2\x84\1\x80\22\x87\30\x84\1\x80K\x87&\x80>\x84\1\x87\33\x84\1\x87\2\x80\32",
b"\x80\26\x84\1\x87 \x80\6\x84\b\x87\1\x84\3\x80\33\x84\2\x80\5\x87\1\x84\2\x80\20\x87\32\x80J\x84\1\x87%\x80?\x87\1\x84\1\x87\34\x84\1\x80\32",
b"\x80\26\x87!\x80\5\x84\1\x87\1\x84\b\x87\1\x84\1\x80\33\x84\1\x87\2\x80\a\x84\1\x87\1\x80\16\x84\1\x87\2\x84\1\x87\26\xc7\1\x80H\x8e\1\x87%\x80A\x87\2\x84\1\x87\35\x80\31",
b'\x80\25\x84\1\x87 \x80\5\x87\1\x84\f\x80\33\x84\2\x80\b\x84\2\x87\1\x80\f\x84\1\x87\31\x84\2\x80G\x88\1\x84\1\x87\2\x84\1\x87"\x80B\x84\1\x87\34\x84\1\x87\2\x80\30',
b"\x80\25\x87\36\x84\1\x87\1\x80\5\x84\v\x87\1\x84\1\x80\33\x84\2\x80\n\x87\2\x80\v\x87\35\x80F\x84\1\x87\6\x84\2\x87\33\x84\2\x87\1\x80C\x87\1\x84\1\x87\37\x80\27",
b'\x80\25\x87\37\x80\5\x87\1\x84\f\x80\33\x84\2\x87\1\x80\f\x84\1\x87\1\x80\a\x87 \x80D\x84\1\x87\2\x84\1\x87"\x80\v\xed\n\xb7\1\x80/\x84\1\x87 \x80\27',
b"\x80\24\x84 \x80\4\x88\1\x84\r\x80\33\x84\2\x80\r\x84\2\x80\6\x87\1\x84 \x80C\x84\b\x87\1\xcd\1\x87\1\x84\33\x80\t\xed\1\xd5\1\xd4\1\xd5\b\xd4\1\xd5\4\x80-\x87\1\x84\37\x87\1\x84\1\x80\26",
b"\x80\24\x84\37\x80\4\x84\r\x87\1\x80\34\x84\2\x80\16\x84\2\x80\3\xcd\1\x87\1\x84\22\x87\1\x84\2\x87\1\x84\v\x80B\x88\1\x84\b\xd5\3\x84\32\x80\6\xe8\1\xd5\26\x80*\x84\6\x87\2\x84\33\x80\25",
b'\x80\23\x87\2\x84\36\x80\3\x84\17\x80\33\x84\3\x80\17\x84\2\x80\1\x84\2\x87\1\x84"\x80A\x84\2\x87\1\x84\6\x87\1\xd5\2\xcd\1\x84\30\x80\3\xd5\35\x80(\x84$\x80\24',
b"\x80\23\x84 \x80\1\x84\16\x87\1\x84\1\x80\34\x84\3\x80\20\x84\1\x87\1\x84%\x80@\x84\v\xd5\3\xcd\1\x84\22\x87\1\x84\1\xcd\2\xd6\1\xd5!\x80'\x87\1\x84#\x87\1\x80\23",
b"\x80\23\x84\35\x87\1\x84\2\x87\1\x84\20\x80\34\x88\1\x80\22\x84'\x80?\x87\1\x84\f\xee\1\xd5\4\xcd\2\xc7\1\xcd\5\xee\2\xd6\1\xd5*\xd6\2\xd5\1\x80$\x8e\1\x84'\x80\21",
b'\x80\22\x8e\1\x84\1\x87\1\x84\35\x87\1\x80?\x84(\x87\1\x80>\x84\1\x87\1\x84\t\x87\3\xc7\1\xd6\1\xd5\3\xd6\1\xd5\t\xd6\1\xd5)\xd6\2\xef\1\xd6\1\xd4\1\x80"\x87\1\x84\1\x87\1\x84$\x87\1\x84\1\x80\20',
b"\x80\22\x87\1\x84 \x80?\x84)\x87\1\x80<\x87\1\x84\17\x87\1\xd6\2\xd5\1\xd64\xee\4\xd6\2\x80!\x84'\x87\3\x80\17",
b"\x80\22\x84\36\x87\1\x84\1\x88\1\x80>\x84*\x87\1\x80<\x84\22\x87\1\xee<\x80\37\x87\1\x84+\x80\16",
b"\x80\21\x87\1\x84 \x80>\x84\1\x87\1\x84*\x80;\x87\1\x84\22\x87\3\xee<\x80\33\x84\1\x87\2\x84,\xcd\1\x80\f",
b"\x80\21\x84\37\x87\1\x84\1\x80>\x84\1\x87\1\x84*\x80;\x84\27\x87\1\xee;\x80\32\x840\x80\f",
b"\x80\20\x84 \x87\1\x84\1\x87\1\x80<\x87\1\x84,\x80;\x84\32\x87\2\xcd\3\xee6\x80\27\x842\x80\v",
b"\x80\20\x84\1\x87\1\x84\37\x87\1\x84\1\x80<\x87\1\x84-\x809\x84\35\x87\1\xcd\1\xee\23\xcd\1\xee\2\xcd\1\xee\1\xcd\1\xee\1\xcd\2\xee\1\xcd\1\xee\2\xcd\2\xee\22\xcd\2\xee\1\xcd\1\x80\25\x844\x88\1\x80\t",
b"\x80\17\x84$\x87\1\x80;\x84.\x809\x84\36\xee\1\xcd\1\xee\31\x80\4\xe9\1\xee\1\xcd\1\xee\30\x80\24\x87\1\x843\xf0\1\x80\t",
b"\x80\17\x84$\x87\1\x80:\x84.\x80:\x84\32\x87\1\x84\2\xee\1\xcd\f\xee\1\xcd\5\x80\22\xcd\27\x80\22\x87\1\x84\1\x87\1\x843\x87\1\x80\b",
b"\x80\16\x87\1\x84%\x87\1\x808\x84/\x8e\1\x808\x84\35\xcd\20\x80\30\xcd\27\x80\20\x847\x80\b",
b"\x80\16\x87\1\x84$\x87\3\x807\x84/\xcd\1\x808\x84\33\x87\1\xcd\17\x80\33\xcd\27\x80\17\x84\1\x87\2\x843\x87\1\x84\1\x80\a",
b"\x80\r\x84)\xc7\1\x806\x84/\x88\1\x808\x84\f\xec\a\x84\b\xc7\1\xcd\r\x80\37\xcd\26\x80\r\x849\xcd\1\x80\6",
b"\x80\r\x84,\x803\x84\f\x87\3\x84\20\xec\2\x84\a\xec\a\x84\2\x807\x87\1\x84\t\xec\17\x84\2\x87\1\xcd\r\x80!\xee\1\xcd\26\x80\n\x84\4\xec\v\x84\24\xec\2\x84\r\xec\1\x84\1\xec\2\x84\5\x80\6",
b"\x80\f\x84\f\xec\20\x84\t\xec\4\x84\5\x802\x84\v\x87\5\x84\b\xec\31\x807\x84\a\xec\23\x84\1\xcd\16\x80#\xcd\25\x80\n\x84\1\xec\34\x84\4\xec\4\x84\f\xec\n\x80\6",
b"\x80\v\x88\1\x84\b\xec\27\x80\3\xf0\1\x84\2\xec\n\xdb\1\x80/\xf1\1\xec\a\x84\3\xc7\1\x87\2\x80\3\xc7\1\x84\2\xec\36\x807\xec\32\xcd\22\x80!\xcd\25\x80\t\xec%\x84\n\xec\f\x80\6",
b"\x80\v\xec \x80\6\xed\1\xec\v\x80-\xec\t\x84\1\x87\1\xc7\1\x87\1\x80\a\xec \x804\xec\34\xcd\r\xec\1\xcd\a\x80\37\xcd\25\xcc\1\x80\6\xec%\x80\n\xec\r\x80\6",
b"\x80\n\xec!\x80\a\xcd\1\xec\n\x80-\xec\t\xcd\3\x80\b\xec \x803\xec\33\xcd\17\xec\3\xcd\a\x80\36\xcd\25\x80\6\xec%\x80\v\xcd\1\xec\v\x80\6",
b'\x80\t\xec"\x80\b\xcd\1\xf1\1\xec\n\x80+\xec\t\xcd\2\x80\n\xec \x801\x9e\1\xf2\1\xec\31\xcd\17\xec\a\xcd\6\x80\35\xcd\25\x80\4\xec&\x80\f\xec\f\x80\5',
b"\x80\t\xec\17\xcd\a\xec\f\x80\b\xcd\3\xec\t\x80+\xec\b\xcd\2\x80\v\xec\25\x80\2\xec\t\x800\xec\f\xad\1\xec\2\xd5\1\xf3\1\x80\a\xec\4\xcd\17\xec\t\xcd\6\xd2\1\x80\33\xcd\25\xf4\1\x80\2\xec&\x80\r\xec\v\x80\5",
b"\x80\b\xec\r\xcd\v\xf5\1\xec\n\x80\t\xcd\3\xec\t\x80)\xb7\1\xec\a\xcd\3\x80\v\xec\24\x80\3\xec\n\x80.\xec\r\xb7\1\xcd\3\x80\t\xec\2\xcd\20\xec\v\xcd\6\x80\33\xcd\25\x80\1\xec'\x80\16\xcd\1\xec\t\x80\5",
b"\x80\b\xec\n\xcd\3\x80\2\xcc\1\xd1\1\xcd\b\xec\n\x80\t\xcd\4\xd6\1\xec\a\x80)\xec\a\xcd\3\x80\f\xec\22\x80\6\xec\t\x80-\xec\f\xcd\4\x80\v\xec\1\xcd\20\xec\16\xcd\a\x80\30\xcd\26\xec'\x80\16\xcd\1\xec\t\x80\5",
b"\x80\a\xec\t\xcd\3\x80\n\xcd\5\xec\n\x80\t\xcd\4\xec\b\x80(\xec\6\xcd\3\x80\r\xec\16\xcd\4\x80\a\xec\t\x80,\xec\v\xcd\4\x80\f\xcd\21\xec\21\xcd\t\xd2\1\x80\23\xcd\26\xec&\x80\17\xee\1\xec\b\x80\5",
b"\x80\a\xec\b\xcd\3\x80\3\xb7\1\x80\b\xcd\4\xec\n\x80\n\xcd\4\xec\b\x80&\xec\a\xcd\3\x80\r\xec\v\xee\1\xcd\6\x80\a\xec\t\x80+\xec\v\xcd\4\x80\r\xcd\21\xec\23\xcd\v\x80\21\xcd\25\xec\22\x80\2\xec\22\x80\17\xcd\1\xee\1\xec\a\x80\5",
b"\x80\a\xec\a\xcd\3\x80\1\xd0\1\x80\2\xea\1\x80\3\xe7\1\x80\4\xcd\5\xec\n\x80\t\xcd\5\xec\a\x80&\xec\a\xcd\3\x80\f\xcd\1\xec\b\xcd\3\x80\1\xcd\6\x80\b\xec\t\x80)\xec\n\xcd\5\x80\r\xcd\22\xec\26\xcd\f\x80\16\xcd\25\xec\5\x80\4\xec\a\xcd\1\xee\1\x80\4\xec\16\xef\1\xcd\2\x80\r\xcd\2\x8e\1\xec\6\x80\5",
b"\x80\6\xec\a\xcd\3\x80\5\xd4\1\x80\4\xd4\1\x80\3\xcd\6\xec\t\x80\t\xcd\6\xec\a\x80$\xec\a\xcd\4\x80\v\xcd\2\xec\6\x80\2\xcd\3\x80\2\xcd\5\x80\b\xec\t\x80(\xec\n\xcd\1\xd4\3\x80\16\xcd\23\xec\31\xcd\f\xe7\1\x80\v\xcd\25\xec\3\x80\6\xec\5\x80\1\xcd\2\x80\4\xe7\1\xee\1\xec\f\xcd\3\x80\r\xcd\2\x80\2\xec\5\x80\5",
b"\x80\6\xec\6\x80\1\xcd\3\x80\1\xe8\1\x80\3\xea\1\x80\4\xd5\1\x80\3\xcd\a\xec\t\x80\t\xcd\3\xd5\1\xcd\1\xec\a\x80 \xea\1\xe8\1\x80\2\xec\a\xcd\3\x80\v\xcd\3\xec\5\x80\3\x8e\1\xcd\2\x80\2\xcd\5\x80\t\xec\t\x80&\xec\n\xcd\3\xe8\1\xe7\1\x80\r\xea\1\xcd\23\xec\34\xcd\6\xec\1\xcd\4\x80\n\xcd\26\xec\1\x80\a\xec\5\x80\1\xcd\1\x8e\1\x80\4\xcd\2\xec\v\x80\1\xcd\4\x80\f\xcd\3\x80\2\xec\4\x80\5",
b"\x80\6\xec\6\xea\1\xcd\2\x80\2\xef\1\x80\4\xe5\1\x80\3\xef\1\x80\2\xd4\2\xcd\5\xe7\1\xe5\1\xec\b\x80\t\xcd\3\xef\1\xcd\1\xea\1\xec\a\x80#\xec\6\xcd\4\x80\2\xef\2\xd5\1\x80\6\xcd\2\xec\6\x80\4\xcd\2\x80\2\xcd\5\x80\t\xec\t\x80\v\xe9\1\x80\31\xec\n\xcd\4\x80\2\xe9\1\x80\f\xcd\f\x80\2\xcd\6\x80\1\xec\37\xcd\2\xec\2\xcd\5\xe4\1\x80\b\xcd\26\x80\6\xec\5\x80\1\xcd\2\x80\5\xcd\2\x80\1\xec\t\x80\3\xcd\3\x80\f\xcd\3\x80\2\xec\4\x80\5",
b"\x80\6\xec\5\x80\1\xcd\3\x80\1\xe4\1\x80\5\xee\1\x80\3\xee\1\x80\1\xcd\1\xd5\1\xd4\1\xcd\5\x80\2\xec\n\x80\b\xcd\2\xd4\1\xcd\2\x80\1\xec\a\x80!\xec\a\xcd\3\x80\6\xef\1\x80\5\xcd\2\xec\5\x80\5\xcd\2\x80\3\xcd\5\x80\b\xec\t\x80\v\xee\1\x80\30\xec\t\xcd\3\xd4\1\xcd\2\x80\2\xee\1\x80\2\xee\1\x80\t\xcd\r\x80\1\xcd\6\x80\2\xec\n\x80\1\x8e\1\xec\25\xee\1\xec\1\xcd\6\x80\b\xcd\26\x80\1\xe4\1\x80\3\xec\4\x80\2\xcd\1\x80\6\xcd\2\x80\2\xec\a\x80\4\xcd\3\x80\f\xee\1\xcd\1\x80\4\xec\3\x80\5",
b"\x80\5\xec\6\x80\1\xcd\3\x80\a\xee\1\xe4\1\x80\2\xe4\1\x80\1\xcd\1\xef\2\xcd\4\x80\3\xec\1\x80\1\xec\b\x80\b\xcd\5\x80\2\xec\6\x80!\xee\1\xec\6\xcd\3\x80\v\xcd\2\xd4\1\xec\1\xee\1\xec\2\x80\6\xcd\2\x80\3\xcd\5\x80\a\xe4\1\x80\1\xec\b\x80\v\xee\1\x80\27\xec\n\xcd\3\xee\1\xcd\2\x80\17\xcd\24\x80\2\xec\b\x80\3\xcd\3\x80\2\xec\20\xad\1\xee\1\xec\4\xcd\4\x80\a\xcd\26\xef\1\x80\3\xec\5\x80\1\xcd\1\x80\a\xcd\2\x80\2\xec\4\xf6\1\xec\2\x80\4\xcd\3\x80\f\xcd\1\xee\1\x80\4\xec\3\x80\5",
b"\x80\5\xec\5\x80\2\xcd\3\x80\a\xee\2\x80\3\xd4\1\xcd\1\xd5\1\xee\1\xcd\3\x80\4\xec\1\x80\2\xec\b\x80\a\xcd\2\xd4\1\xcd\2\x80\2\xec\6\x80\30\xe9\1\x80\3\xee\1\x80\4\xee\1\xec\5\xcd\4\x80\6\xee\1\x80\4\xcd\2\xec\2\xcd\1\xee\1\xec\1\x80\6\xcd\2\x80\3\xcd\5\x80\a\xee\1\x80\1\xec\t\x80\1\xee\1\x80\b\xee\1\x80\n\xee\1\x80\5\x8e\1\x80\4\xec\1\x80\1\xec\6\x80\3\xec\1\xcd\3\xee\1\xcd\2\x80\1\xee\1\x80\4\xee\1\x80\a\xcd\b\x80\1\xcd\4\x80\1\xcd\a\x80\2\xec\6\x80\4\xcd\4\x80\5\xec\r\xee\2\xec\t\xcd\1\x80\6\xcd\26\x80\2\xec\5\x80\2\xcd\1\x80\a\xcd\2\x80\3\xec\3\xf6\1\xec\1\x80\5\xcd\2\xee\1\x80\v\xee\1\xcd\2\x80\5\xec\2\x80\5",
b"\x80\5\xec\5\x80\2\xcd\3\x80\2\xef\1\x80\4\xee\2\x80\2\xcd\1\xee\1\xcd\1\xd4\1\xee\1\xcd\2\x80\a\xec\2\x80\1\xec\a\x80\a\xcd\1\xee\1\xcd\2\x80\2\xec\a\x80\f\xef\1\x80\n\xe9\1\x80\3\xee\1\x80\3\xee\1\xec\4\xee\1\xec\1\xcd\4\x80\v\xcd\2\xec\5\x80\6\xcd\2\x80\3\xcd\5\x80\a\xee\1\x80\1\xec\4\x80\2\xec\3\x80\n\xee\1\x80\v\xee\1\x80\4\xee\1\x80\4\xec\a\x80\4\xec\1\xcd\3\xd5\1\xcd\1\xe5\1\xef\2\x80\f\xcd\b\x80\1\xcd\4\x80\1\xcd\a\x80\1\xec\6\x80\5\xcd\4\x80\a\xec\b\x80\2\xe4\1\xee\1\xcd\1\xec\f\x80\5\xcd\26\xec\5\x80\3\xcd\1\x80\a\xcd\2\x80\3\xec\3\xf6\1\x80\6\xcd\2\xef\1\x80\2\xe5\1\x80\b\xee\1\xcd\2\x80\5\xec\2\x80\1\xe4\1\x80\3",
b"\x80\4\xec\6\x80\2\xcd\3\x80\2\xe4\1\x80\4\xee\1\xef\1\x80\2\xcd\1\xee\1\xcd\1\xd4\1\xee\1\xcd\1\xee\1\x80\a\xec\2\x80\1\xe4\1\xec\6\x80\a\xcd\1\xee\1\xcd\2\x80\2\xec\a\x80\f\xee\1\x80\n\xe9\1\x80\3\xee\1\x80\3\xee\1\xec\5\xe8\1\xcd\4\x80\5\xee\1\x80\5\xcd\2\xef\1\xec\4\x80\6\xcd\2\x80\4\xcd\4\x80\a\xee\1\x80\1\xec\4\x80\3\xec\3\x80\1\xef\1\x80\3\xe4\1\xee\1\xef\1\xe4\1\xee\1\x80\20\xe5\1\x80\4\xec\6\x80\5\xec\1\xcd\5\x80\1\xee\1\xef\1\x80\v\xcd\b\x80\2\xcd\4\x80\1\xcd\b\xec\5\x80\6\xcd\4\x80\b\xec\6\x80\3\xee\1\xef\1\xcd\2\x80\4\xec\n\x80\3\xcd\26\xec\3\x80\4\xcd\1\x80\a\xcd\2\x80\3\xec\4\x80\1\xef\1\xee\2\x80\3\xcd\2\x80\b\xe9\1\x80\2\xee\1\xe4\1\xcd\1\x80\5\xec\2\x80\5",
b"\x80\4\xec\6\x80\1\xcd\4\x80\6\xee\2\x80\2\xcd\2\xef\1\xcd\2\xee\1\x80\4\xee\1\x80\2\xe9\1\x80\1\xec\2\x80\3\xec\5\x80\6\xe4\1\xcd\5\x80\1\xec\1\x80\1\xec\5\x85\1\x80\v\xef\1\x80\2\xef\1\x80\a\xef\1\xe4\1\x80\5\xad\1\xee\1\xec\5\x80\1\xcd\3\xea\1\x80\5\xef\1\x80\5\xcd\2\xe8\1\xec\2\xef\1\xec\1\x80\6\xcd\2\x80\4\xcd\4\x80\a\xee\1\x80\1\xec\4\x80\2\xec\4\x80\5\xee\1\x80\3\xef\1\x80\f\xe4\1\x80\b\xec\6\x80\5\xec\1\xcd\2\xee\1\xcd\2\x80\1\xee\2\x80\t\xcd\n\x80\2\xcd\5\x80\2\xcd\6\xec\4\x80\a\xcd\4\x80\b\xec\6\x80\3\xee\2\xcd\2\x80\a\xec\b\x80\2\xcd\22\xef\1\xcd\4\xef\1\x80\5\xcd\1\x80\a\xcd\2\x80\3\xec\3\x80\4\xe4\1\xef\1\x80\2\xcd\2\x80\3\xee\1\x80\4\xef\1\x80\2\xee\1\xea\1\xcd\1\x80\5\xec\2\x80\5",
b"\x80\4\xec\5\x80\2\xcd\3\xea\1\x80\3\xef\1\x80\2\xd5\1\xef\1\x80\2\xcd\2\xef\1\xcd\2\xef\1\x80\4\xe4\1\x80\2\xef\1\x80\1\xec\2\x80\3\xec\6\x80\4\xe4\1\xe9\1\xcd\2\xef\1\xcd\2\x80\1\xe4\1\x80\2\xec\5\x80\v\xef\1\x80\n\xef\1\x80\2\xef\1\x80\3\xec\1\xad\1\xec\4\x80\2\xcd\3\xd0\1\x80\5\xef\1\x80\5\xcd\3\xec\3\xe5\1\x80\6\xcd\2\x80\4\xcd\4\x80\a\xef\1\x80\1\xec\4\x80\3\xec\4\x80\3\xd5\1\x80\21\xe9\1\xef\1\x80\2\xe9\1\x80\4\xec\5\x80\1\xec\1\x80\4\xec\1\xcd\2\xef\1\xcd\2\x80\2\xef\2\x80\b\xcd\v\x80\1\xcd\5\x80\2\xcd\6\xec\4\x80\a\xcd\4\x80\t\xec\5\x80\4\xef\1\xcd\2\x80\b\xcd\1\xec\b\x80\1\xcd\24\x80\1\xef\1\xcd\1\x80\5\xcd\1\x80\a\xcd\2\x80\3\xec\3\x80\1\xef\1\x80\3\xef\1\x80\2\xcd\2\x80\b\xef\1\x80\2\xef\1\x80\1\xcd\1\x80\5\xec\2\xad\1\xec\1\x80\3",
b"\x80\4\xec\5\x80\2\xcd\3\xe7\1\x80\3\xef\1\x80\2\xef\1\x80\3\xcd\2\xef\1\xcd\2\xef\1\x80\4\xe5\1\x80\2\xef\1\x80\1\xec\2\x80\3\xec\6\x80\4\xef\1\x80\1\xe7\1\xcd\1\xd4\1\xcd\2\x80\4\xec\5\xe4\1\x80\n\xef\2\x80\t\xef\1\x80\2\xef\1\x80\3\xec\6\xe4\1\x80\1\xcd\3\xef\1\x80\5\xef\1\x80\5\xcd\3\xec\1\xad\1\xec\1\x80\a\xcd\2\x80\4\xcd\5\x80\6\xef\1\xe5\1\xec\4\x80\3\xec\4\x80\3\xef\1\x80\3\xd5\1\x80\16\xef\1\x80\1\xef\1\x80\3\xec\a\x80\1\xec\1\x80\4\xec\1\xcd\2\xef\1\xcd\2\x80\2\xef\2\x80\2\xcd\1\x80\3\xe5\1\xcd\f\xe4\1\xcd\5\x80\2\xcd\6\xec\3\x80\b\xcd\4\x80\t\xec\5\x80\4\xd5\1\xcd\2\x80\b\xcd\3\xec\6\x80\2\xcd\24\xef\1\xcd\2\x80\4\xcd\1\x80\a\xcd\2\x80\3\xec\3\x80\1\xef\1\x80\3\xe4\1\x80\2\xcd\1\xc8\1\x80\b\xe4\1\x80\2\xef\1\xd0\1\xcd\1\x80\5\xec\3\xad\1\x80\3",
b"\x80\4\xec\5\x80\2\xcd\3\x80\4\xd5\1\x80\2\xee\1\x80\3\xcd\2\xef\1\xcd\2\xd5\1\x80\6\xd5\1\xef\1\x80\1\xec\2\x80\3\xec\6\x80\a\xcd\2\xd4\1\xcd\1\xe7\1\x80\3\xec\6\x80\n\xef\2\x80\4\xef\1\x80\4\xef\1\x80\2\xef\1\x80\2\xec\2\xad\1\xec\4\x80\2\xcd\3\xe9\1\x80\5\xd5\1\xef\1\x80\4\xcd\3\xec\1\xad\1\xec\1\x80\a\xcd\2\x80\4\xcd\5\x80\6\xef\1\xe4\1\xec\4\x80\2\xe5\1\x80\1\xec\3\x80\3\xe9\1\x80\3\xef\1\x80\r\xd5\1\x80\2\xd5\1\x80\3\xec\a\x80\6\xec\1\xcd\1\xe8\1\xef\1\xcd\1\xe9\1\x80\2\xe5\1\xef\1\x80\2\xcd\1\x80\2\xcd\v\x80\2\xcd\b\x80\1\xcd\a\xec\2\x80\b\xcd\4\x80\n\xec\4\x80\4\xd5\1\xcd\2\x80\t\xcd\3\xec\6\x80\1\xcd\21\xef\2\xcd\1\xef\1\xcd\3\x80\3\xcd\1\x80\a\xcd\2\x80\3\xec\3\x80\1\xef\1\xe9\1\x80\2\xe4\1\x80\2\xcd\1\xef\1\x80\3\xee\1\x80\5\xef\1\x80\1\xef\1\xe5\1\xcd\1\x80\5\xad\1\xec\2\xad\1\x80\3",
b"\x80\3\xec\a\x80\1\xcd\3\x80\2\xe9\1\xd6\1\xee\4\x80\2\xe7\1\xcd\2\xef\1\xcd\2\xe9\1\x80\6\xef\1\xe4\1\x80\2\xec\1\x80\3\xe5\1\xec\6\x80\6\xcd\2\xef\1\xcd\2\x80\4\xec\5\x80\n\xef\2\x80\1\xd5\1\x80\a\xef\1\x80\2\xef\1\x80\2\xec\a\x80\2\xcd\3\x80\6\xef\2\xe5\1\x80\3\xcd\3\xec\1\xad\1\xef\1\xe5\1\x80\6\xcd\2\x80\4\xcd\5\x80\6\xef\1\xec\5\x80\1\xe9\1\x80\3\xec\3\x80\5\xe9\1\xef\1\x80\3\xe5\1\x80\b\xef\1\x80\3\xe9\1\xef\1\x80\2\xec\a\x80\6\xec\1\xcd\1\xc8\1\xef\1\xcd\1\x80\4\xd5\1\x80\2\xcd\1\x80\1\xcd\f\x80\2\xcd\6\x80\2\xcd\b\xec\2\x80\b\xcd\4\x80\n\xec\5\x80\2\xef\2\xcd\2\x80\t\xcd\3\x80\2\xec\5\x80\1\xcd\17\xef\2\xcd\3\xef\1\xcd\4\x80\1\xcd\1\x80\a\xcd\2\x80\3\xec\3\x80\1\xef\2\x80\5\xcd\1\xef\1\x80\4\xee\1\x80\4\xef\1\x80\1\xe9\1\xe5\1\xcd\1\x80\3\xee\2\x80\1\xec\2\xad\1\x80\3",
b"\x80\3\xec\a\x80\1\xcd\3\x80\1\xd6\1\xee\1\xd6\1\xee\1\xd6\3\xee\1\xd6\1\xee\1\xd4\1\xcd\1\xef\1\xcd\2\xe4\1\x80\4\xef\1\x80\1\xef\1\x80\3\xec\1\x80\4\xec\6\x80\6\xcd\2\xd4\1\xcd\2\x80\4\xec\6\x80\t\xee\2\x80\1\xee\1\x80\a\xd6\1\x80\2\xee\1\x80\1\xe4\1\xec\3\xee\1\xec\2\xd6\1\x80\2\xcd\3\xef\1\x80\6\xd6\1\xef\1\x80\3\xcd\3\xec\3\xef\1\x80\6\xcd\2\x80\4\xcd\5\x80\6\xe9\1\xec\5\x80\1\xef\1\x80\3\xec\3\x80\5\xe9\1\xef\1\x80\3\xef\1\x80\b\xef\1\x80\4\xef\1\xe4\1\x80\1\xec\a\x80\6\xcd\3\xef\1\xcd\1\x80\4\xef\1\x80\2\xcd\r\x80\3\xcd\6\x80\2\xcd\t\xec\1\x80\b\xcd\4\x80\5\xee\1\x80\5\xec\4\x80\2\xd5\1\xef\1\xcd\2\x80\t\xcd\3\x80\2\xe4\1\xec\4\x80\1\xcd\17\xef\1\xcd\5\xef\1\xcd\5\x80\a\xcd\2\x80\3\xec\3\x80\1\xd5\1\xef\1\x80\2\xe4\1\x80\2\xcd\1\xef\1\xe5\1\x80\3\xef\1\x80\3\xe4\1\xee\1\x80\3\xcd\1\x80\2\xd6\1\xee\2\xd6\1\xec\2\xee\1\x80\3",
b"\x80\3\xec\a\xea\1\xcd\2\xee\17\xcd\2\x80\5\xee\1\x80\1\xef\1\x80\3\xec\1\x80\4\xec\6\x80\3\xee\1\x80\2\xcd\1\xd4\1\xcd\3\xee\1\x80\3\xe4\1\xec\5\x80\t\xee\1\x80\2\xee\2\x80\6\xe4\1\x80\2\xee\1\x80\1\xec\4\xee\1\xec\2\xee\1\xe4\1\x80\1\xcd\3\xee\1\x80\6\xee\2\x80\3\xcd\3\xec\3\xee\1\x80\6\xcd\2\x80\4\xcd\5\xe5\1\x80\6\xec\6\xee\2\x80\3\xec\3\x80\2\xe9\1\x80\1\xe4\1\xee\1\x80\f\xe9\1\x80\5\xee\1\x80\1\xec\a\x80\1\xec\1\x80\3\xd1\1\xcd\3\xee\1\xcd\1\x80\3\xef\1\xee\1\x80\1\xe9\1\xee\2\xcd\v\x80\3\xcd\6\x80\2\xcd\t\xec\1\x80\b\xcd\4\x80\3\xef\1\xcd\2\x80\5\xec\2\xee\1\x8e\1\xe9\1\x80\1\xee\2\xcd\2\x80\3\xe5\1\x80\6\xcd\1\xd4\1\xcd\1\x80\3\xec\4\x80\1\xcd\16\xee\1\xcd\5\xee\1\xcd\6\x80\6\xcd\2\x80\3\xec\3\x80\1\xee\1\xef\1\x80\2\xe9\1\x80\2\xcd\1\xee\1\x80\3\xee\2\x80\3\xef\1\xee\1\x80\2\xe4\1\xcd\1\x80\1\xee\6\xec\2\x80\3",
b"\x80\3\xec\6\x80\1\xd1\1\xed\1\xcd\22\x80\1\xee\1\x80\2\xef\1\xe9\1\xe4\1\x80\4\xec\1\x80\4\xec\6\x80\3\xee\1\x80\2\xcd\1\xee\1\xcd\3\xee\1\x80\4\xec\5\x80\t\xee\1\x80\3\xee\1\x80\1\xee\1\x80\a\xee\1\xec\4\xee\2\xec\1\x80\1\xe4\1\xef\1\x80\1\xcd\3\x80\1\xee\1\x80\5\xee\2\x80\3\xcd\3\xec\4\x80\6\xcd\2\x80\4\xcd\5\x80\1\xe9\1\x80\1\xee\1\xe5\1\xe4\1\x80\1\xec\6\xe4\1\xee\2\x80\2\xec\3\x80\1\xe9\1\xe5\1\x80\2\xee\1\xe4\1\x80\3\xe9\1\x80\a\xee\1\x80\4\xee\2\x80\1\xec\5\x80\1\xcd\4\xee\1\x80\1\xec\1\xcd\3\xee\1\x80\3\xee\3\xef\1\xee\1\xcd\r\x80\3\xcd\6\x80\2\xcd\t\xec\1\xe5\1\x80\a\xcd\4\x80\2\xcd\4\x80\5\xec\3\xee\2\x80\1\xee\2\xcd\2\x80\n\xef\1\xee\1\xcd\1\x80\4\xec\4\xcd\36\x80\3\xcd\2\x80\2\xe9\1\xec\3\x80\1\xee\1\xe9\1\x80\2\xee\1\x80\2\xcd\1\xee\1\x80\2\xe5\1\xee\2\x80\3\xee\2\xef\2\xcd\1\xd6\1\xcd\b\x8e\1\xe9\1\x80\2",
b"\x80\2\xec\a\x80\1\xee\1\xcd\25\xef\1\x80\1\xef\1\xe5\1\x80\5\xec\2\x80\3\xec\6\x80\3\xee\1\x80\2\xcd\1\xee\1\xef\1\xcd\2\xee\1\xef\1\x80\3\xef\1\xec\5\x80\b\xcd\1\x80\3\xcd\1\x80\1\xee\1\x80\3\xe9\1\x80\3\xcd\1\xad\1\xec\1\xad\1\xec\1\xcd\2\xec\1\x80\2\xee\1\x80\1\xcd\3\x80\1\xcd\1\x80\4\xcd\2\xef\1\x80\3\xcd\3\xec\3\xcd\1\x80\6\xcd\2\x80\4\xcd\5\x80\1\xcd\5\x80\1\xec\6\x80\1\x8e\1\xee\1\x80\2\xec\3\x80\1\xee\1\x80\3\xee\1\xef\1\x80\3\xe6\1\x80\a\xee\1\x80\3\xcd\1\xee\1\x80\1\xec\6\x80\1\xcd\a\xec\1\xcd\3\x80\3\xee\1\xcd\1\xee\1\xef\2\xcd\f\x80\3\xee\2\xcd\5\x80\1\xe9\1\xee\1\xcd\4\xee\1\xcd\b\xee\1\x80\3\xcd\4\x80\1\xcd\a\x80\3\xcd\1\xec\1\xad\1\xcd\2\xee\1\xcd\1\xee\1\xcd\2\xef\1\xcd\1\xef\1\x80\a\xcd\3\x80\4\xec\4\x80\1\xcd\35\x80\3\xcd\2\x80\2\xef\1\xec\3\x80\1\xee\1\x80\3\xee\1\x80\2\xcd\1\xee\1\x80\2\xee\1\xcd\1\x80\4\xcd\17\xee\1\x80\2",
b"\x80\2\xec\a\xcb!\xcd\1\x80\3\xec\6\x80\3\xcd\1\x80\2\xcd\5\x80\1\xcd\1\x80\4\xec\5\x80\a\x8e\1\xcd\1\x80\3\xe9\1\x80\1\xee\1\xe9\1\x80\2\xcd\1\x80\3\xcd\1\xec\3\xcd\3\xe6\1\x80\2\xcd\1\x80\1\xcd\3\x80\1\xcd\1\x80\3\xe6\1\xcd\2\x80\3\xe9\1\xcd\3\xec\3\xcd\1\x80\6\xcd\2\x80\3\xcd\6\x80\1\xcb\5\xe9\1\xec\6\x80\2\xcd\1\x80\3\xad\1\xec\2\xcd\1\x80\3\xcd\2\x80\f\xcd\1\x80\1\xee\1\xcd\1\x80\2\xe6\1\xec\1\xcd\1\xec\3\xcb\n\xcd\2\x80\3\xcd\2\xee\1\x8e\2\xcb\5\xcd\a\x80\3\xcd\a\x80\1\xcd\1\xe4\1\xee\1\xcb\17\x80\1\xcb\f\xcd\1\x80\2\xcd\2\xee\1\xcd\5\xd5\1\xee\1\xcd\2\x80\2\xe9\1\xee\1\xcd\1\x80\2\xcd\2\xd5\1\xcd\1\x80\5\xec\4\x80\1\xcd\6\xcb\t\xcd\a\xcb\5\xcd\1\x80\3\xcd\2\x80\2\xec\4\x80\1\xcd\1\x80\3\xef\1\x8e\1\x80\1\xcd\1\xee\1\x80\2\xcd\1\xee\1\x80\4\xcb\17\xcd\1\x80\2",
b"\x80\2\xec\4\xad\1\xcb\1\xf7\2\xf0\2\xf7\34\xf0\1\xc7\1\xf7\1\x8e\1\x80\2\xec\6\x80\3\xc7\1\x80\2\xcd\2\xcb\1\xcd\2\x80\1\xc7\1\x80\2\xe9\1\xc7\1\xec\6\x80\6\xc7\1\x80\4\x8e\1\x80\2\xe9\1\x80\1\xc7\2\x80\3\xc7\1\xcd\3\xc7\1\xcb\1\xcd\1\x80\3\xc7\1\xe4\1\xcd\3\x80\1\xc7\1\x80\3\xc7\2\xcd\1\x80\4\xcd\5\xcb\1\x80\a\xcd\2\x80\3\xc7\1\x80\1\xcd\3\xc7\1\xf0\1\xcb\1\xf7\4\xc7\1\xf0\1\xf7\1\xf0\1\xec\3\x8e\1\xcb\2\x80\3\xec\1\xcd\1\xc7\1\x80\4\xc7\1\xcb\1\x80\2\xcb\1\x80\b\xc7\1\xe6\1\x80\1\xc7\1\x80\3\xe6\1\xcd\1\xc7\1\xcd\2\xec\1\xc7\1\xf0\1\xf7\6\xcb\1\xf0\1\xf7\1\xc7\1\xf7\2\xcd\1\xc7\1\xcb\1\xcd\3\xf7\3\xf0\1\xcb\1\xf7\1\xf0\1\xcd\5\x80\3\xcb\1\xc7\1\xcd\4\x8e\1\xe6\1\xc7\1\xf7\17\xf0\1\xc7\1\xf7\2\xf0\1\xf7\v\x8e\1\x80\1\x8e\1\xcb\1\xc7\1\x8e\1\xcb\3\xc7\2\xcb\2\x80\1\xc7\2\xcb\1\xc7\1\x80\1\x8e\1\xcb\1\xc7\1\xee\1\xcd\3\x80\1\xcb\1\x80\2\xec\4\x80\1\xcd\5\xf0\1\xf7\6\xf0\1\xf7\3\xf0\2\xcb\2\xf0\1\xcb\1\xf7\4\xcb\1\xcd\1\x80\3\xcd\2\x80\2\xec\1\xc7\1\xec\2\xe6\1\xc7\1\x80\4\xcb\1\x80\1\xc8\1\xd5\1\x80\2\xcd\1\xc7\1\xcb\1\x80\3\xcb\1\xf0\1\xf7\16\xe6\1\x80\1",
b"\x80\1\xec\3\xc7\1\xf0\5\xf7\2\xf0 \x80\2\xec\6\x80\3\xc7\1\x80\2\xcd\2\xc7\1\xcd\2\x80\1\xc7\1\x80\2\xcd\1\x80\2\xec\5\x80\6\xc7\1\x80\4\xc7\1\x80\1\xe6\1\x80\2\xc7\1\x8e\1\x80\3\xc7\1\xcd\3\xc7\3\x80\3\xc7\1\xcd\4\x80\1\xc7\1\x80\3\xc7\2\x8e\1\x80\4\xcd\5\xc7\1\xf7\1\xf0\1\xf7\2\xf0\1\xc7\1\xe9\1\xcd\2\x80\3\xc7\1\x80\1\xcd\2\xf0\f\xf7\2\xec\1\xf0\1\xc7\1\xcd\1\x80\4\xcd\1\xc7\1\x80\4\xc7\2\x80\2\xc7\1\x80\b\xc7\1\x80\2\xc7\1\x80\3\x8e\1\xcd\1\xc7\1\xcd\2\xc7\1\xf7\2\xf0\6\xf7\1\xf0\a\xc7\2\xcd\1\xc7\1\xf0\a\xc7\1\xcd\4\x80\3\xc7\3\xcd\3\x80\1\xf0\1\xf7\2\xf0\1\xf7\1\xf0\r\xf7\1\xf0\16\xc7\1\xcd\1\x80\1\xc7\4\xf0\1\xc7\n\xe9\1\xc7\2\x8e\1\x80\1\xcd\3\x80\1\xcd\1\x80\3\xec\4\x80\1\xcd\2\xc7\1\xf0\27\xcd\2\x80\2\xcd\2\x80\2\xad\1\xc7\1\xad\2\x8e\1\xc7\1\xe6\1\x80\3\xc7\1\x80\1\xc8\1\xcb\1\xf0\1\xf7\1\xe6\1\xc7\2\xcd\1\xc7\1\xf0\21\xcd\1\x80\1",
b"\x80\1\xc7\1\xf0\1\xf8*\x80\1\xec\6\x80\3\xf0\1\x80\2\xcd\2\xf0\1\xcd\2\x80\1\x84\1\x80\2\xc7\1\x80\2\xf8\1\xc7\1\xec\2\xc7\2\x80\5\xf0\1\x80\4\xf0\1\x80\4\xf0\1\x80\4\xf0\1\xc7\1\x87\1\xc7\1\xf0\3\x80\3\xf0\1\xcd\4\x80\1\xf0\1\x80\3\xf0\2\xcd\1\x80\4\xcd\2\x8e\1\xcd\1\xc7\1\xf8\t\xf0\1\x80\2\xcd\1\xf0\1\x80\1\xf8\25\xc7\1\xcd\1\x80\2\xf0\1\x87\1\x80\3\xf0\2\xf8\a\xf0\1\x80\3\xf0\1\x80\2\xf0\1\xf8\3\xf0\1\xc7\1\xf0\1\xc7\2\xf8\24\xf0\1\xf8\a\xc7\1\xf0\1\xcd\2\xe9\1\x80\3\xf0\3\xc7\1\xf8#\xcd\1\x80\1\xf0\2\x87\1\xf0\v\xc7\1\x80\2\xf0\3\x80\2\xed\2\xd5\1\xf0\1\x80\4\x87\4\x80\1\xc7\1\xf0\1\xf8\30\x87\1\xc7\1\x80\2\xcd\2\x80\2\xc7\2\x87\2\x8e\1\xf0\1\xc7\1\x80\3\xf8\35\x80\1",
b"\xf9\1\xfa\2\xf9\t\xfa\1\xf9 \xfa\1\xec\6\x80\3\xf9\1\xfa\4\xf8\1\xd6\1\xee\1\xf9\1\xfa\1\xf9\1\xfa\1\xf9\1\x80\1\xf0\1\xfa\4\xf9\1\xfa\3\xf9\4\xfa\2\xf9\2\xfa\3\xf9\2\xfa\4\xf9\1\xfa\2\xf9\5\x80\2\xfb\1\x84\1\xcd\3\xef\1\xfb\1\x80\4\xfb\2\x80\5\xcd\2\x8e\1\x80\1\xf9\1\xfa\1\xf9\6\xfa\1\xf9\1\xfa\1\xf9\1\xfa\1\xf9\1\xfa\2\xf9\25\xfa\2\x80\1\x84\1\xfb\1\x84\1\x80\2\x84\1\xfa\2\xf9\t\xfa\4\xf9\1\xfa\3\xf9\1\xfa\1\xf9\1\xfb\1\xf9\1\xfa\1\xf9\1\xfa\1\xf9\20\xfa\1\xf9\t\xfa\2\xf9\2\xcd\1\x80\3\xf9\1\xf8\2\xf9!\xfa\1\xf9\1\x80\2\xf8\1\x80\1\xf8\f\xfb\1\xf8\3\xfb\1\xf8\1\xfb\1\xf0\1\x80\1\xf8\2\xf0\1\x80\5\x84\5\xf9\33\x84\1\x80\2\xd6\2\x80\2\x84\2\xfb\2\xf8\1\xf9\1\xfa\1\xf9\1\xfa\4\xf9\3\xfa\1\xf9\27\xfa\1",
b"\xfc\1\xfd\1\xfc\33\xfd\1\xfc\20\xec\4\xfa\1\xec\2\x80\1\xfc\a\xf0\1\xfe\1\xfd\1\xfc\5\xfa\1\xfd\1\xfc\r\xfd\1\xfc\t\xfd\1\xfc\5\xfd\1\xfc\4\xfa\1\xfb\1\xcd\4\xfa\1\x80\4\xfc\3\xfa\1\x80\3\xcd\2\x8e\1\xfc\v\xfd\1\xfc\33\xfd\1\x80\1\xfb\1\xfa\1\xfb\1\xfa\2\xfc\n\xfd\1\xfc\6\xfd\1\xfc\3\xfd\2\xfc \xfd\1\xfc\2\xfd\1\x80\2\xfc%\xfd\1\x80\3\xfa\30\xff\1\xfe\1\xcd\1\xfb\1\xfa\3\xfb\1\xfa\1\xfb\2\xfc\2\xfd\1\xfc\31\xfb\1\x80\2\xd6\2\x84\1\xfa\1\xfd\1\xfc\v\xfd\1\xfc\33",),
((0, 0, 0), (0, 107, 12), (0, 106, 21), (0, 67, 8), (0, 28, 0), (0, 59, 10), (6, 113, 19), (0, 33, 0), (4, 42, 0), (0, 99, 14), (0, 84, 17), (1, 91, 15), (6, 81, 6), (2, 28, 9), (2, 50, 0), (0, 91, 30), (4, 91, 43), (3, 42, 33), (0, 92, 67), (0, 76, 9), (1, 98, 60), (0, 98, 66), (1, 89, 59), (0, 100, 33), (0, 77, 18), (0, 98, 43), (0, 51, 8), (0, 34, 9), (0, 83, 31), (3, 66, 22), (63, 100, 1), (4, 73, 40), (0, 101, 24), (5, 83, 42), (0, 99, 49), (1, 42, 5), (0, 60, 33), (9, 65, 80), (5, 83, 59), (0, 67, 34), (0, 92, 82), (2, 74, 23), (9, 98, 72), (0, 91, 76), (0, 91, 23), (3, 34, 17), (0, 68, 17), (59, 91, 3), (0, 91, 49), (3, 84, 25), (0, 70, 42), (2, 89, 3), (0, 74, 34), (0, 59, 16), (0, 84, 65), (36, 84, 2), (0, 82, 47), (0, 52, 32), (0, 51, 15), (3, 77, 48), (1, 53, 44), (2, 64, 64), (0, 84, 76), (0, 65, 57), (0, 42, 13), (0, 65, 48), (6, 71, 75), (0, 57, 26), (6, 74, 67), (2, 51, 26), (2, 43, 25), (8, 34, 3), (36, 76, 0), (0, 58, 43), (0, 77, 75), (13, 36, 0), (46, 89, 0), (13, 43, 0), (0, 85, 82), (6, 75, 58), (28, 85, 2), (36, 91, 0), (40, 100, 0), (0, 98, 83), (23, 66, 2), (24, 59, 0), (25, 52, 0), (0, 110, 81), (50, 109, 0), (40, 97, 24), (0, 109, 75), (40, 115, 0), (0, 107, 67), (0, 114, 67), (40, 109, 0), (9, 107, 56), (26, 97, 30), (0, 111, 53), (1, 35, 23), (23, 108, 2), (13, 75, 1), (9, 81, 0), (2, 60, 3), (23, 99, 4), (26, 76, 3), (14, 67, 2), (25, 91, 0), (3, 28, 26), (0, 28, 16), (32, 66, 0), (13, 51, 1), (12, 58, 1), (3, 27, 0), (86, 152, 0), (41, 89, 17), (56, 130, 0), (73, 170, 0), (30, 73, 18), (8, 36, 14), (17, 28, 0), (6, 20, 0), (9, 9, 0), (2, 12, 0), (0, 17, 1), (1, 4, 0), (10, 3, 1), (24, 40, 0), (25, 36, 2))],
)

def draw_sprite_line(rle, nbits, x, y, dw, palette, **kwargs):
  '''affiche tout ou partie d'une ligne d'une image, avec :
  * arguments obligatoires :
  - rle : les donnees compressees RLE de l'image
  - nbits : le nombre de bits utilises pour la compression RLE
  - y : numero de la ligne a afficher
  - x et dw : position et longueur a afficher dans la ligne
  - palette : palette de couleurs indexee a utiliser
  * arguments nommes optionnels :
  - xmin et xmax : bornes horizontales pour tronquer l'affichage
  - itransp : index de la couleur transparente dans la palette
  - zoom : zoom a appliquer a l'affichage (entier)
  - cfond : couleur a utiliser a la place de la couleur transparente
  '''
  itransp, zoom, cfond, xmin, xmax = 0, 1, None, 0, L_ECRAN - 1
  if "xmin" in kwargs: xmin = kwargs["xmin"]
  if "xmax" in kwargs: xmax = kwargs["xmax"]
  if "itransp" in kwargs: itransp = kwargs["itransp"]
  if "zoom" in kwargs: zoom = kwargs["zoom"]
  if "cfond" in kwargs: cfond = kwargs["cfond"]
  x, y = round(x), round(y)
  dw *= zoom
  maskval, maskcnt = (1 << nbits) - 1, (255 >> nbits >> 1) << nbits
  i = 0
  while x <= xmax and dw > 0:
    v = rle[i]
    mv = v & maskval
    c = (v & maskcnt) >> nbits
    if v & 128:
      i += 1
      c |= rle[i] << (7 - nbits)
    if c:
      w = c * zoom
      if (mv != itransp or cfond) and x + w >= xmin and x <= xmax:
        xf = max(xmin, x)
        draw_horiz(floor(xf), y, ceil(min(dw, min(w - xf + x, xmax - xf + 1))), mv != itransp and palette[mv] or cfond)
      x += w
      dw -= w
    i = (i + 1) % len(rle)

#---------
# COULEURS
#---------

C_LUKE, C_YODA = (96, 184, 243), (139, 235, 162)

def rgb2hsv(r, g, b):
  '''convertit une couleur donnee en coordonnees Rouge-Vert-Bleu (RGB) vers des coordonnees Teinte-Saturation-Valeur (HSV), avec :
  - r, g, b : les coordonnees rouge/vert/bleu (entier de 0 a 255)
  '''
  cmax = max(r, g, b)
  d = cmax - min(r, g, b)
  h = d and (cmax == b and (r-g)/d+4 or cmax==g and (b-r)/d+2 or cmax==r and ((g -b)/d)%6)
  s = cmax and d/cmax
  return h/60, s, cmax/255

def hsv2rgb(h, s=1, v=1):
  '''convertit une couleur donnee en coordonnees Teinte-Saturation-Valeur (HSV) vers des coordonnees Rouge-Vert-Bleu (RGB), avec :
  - h : la teinte (sur l'intervalle [0;60[)
  - s et v : les saturation et valeur (sur l'intervalle [0;1])
  '''
  h *= 6
  c = v * s
  x = c * (1 - abs((h % 2) - 1))
  r, g, b = h < 1 and (c, x, 0) or h < 2 and (x, c, 0) or h < 3 and (0, c, x) or h < 4 and (0, x, c) or h < 5 and (x, 0, c) or (c, 0, x)
  return [round((k + v - c) * 255) for k in (r, g, b)]

def gradient(start, end, progress):
  '''calcule un degrade de couleur en coordonnees HSV, avec :
  - start : couleur HSV de depart
  - end : couleur HSV de fin
  - progress : position de la couleur intermediaire (sur l'intervalle [0;1])
  '''
  return [start[i] + (end[i] - start[i]) * progress for i in range(3)]

#--------------------
# AFFICHAGE - GENERAL
#--------------------
# extension de la bibliotheque casioplot

L_ECRAN, H_ECRAN = 384, 192 # largeur et hauteur de la zone graphique
H_POLICE = {"small":10, "medium":14, "large":20} # hauteur des caracteres des polices
L_POLICE = {"small":8, "medium":12, "large":18} # largeur des caracteres numeriques des polices

def lnum(i):
  '''calcul la largeur d'affichage du nombre i en pixels'''
  return 1 + int(log10(max(1, i)))*L_POLICE[POLICE]

def draw_horiz(x, y, w, c):
  '''trace une ligne horizontale, avec :
  - x et y : les coordonnees de la borne de gauche
  - w : la longueur
  - c : la couleur
  '''
  for dx in range(w): set_pixel(x + dx, y, c)

def fill_rect(x, y, w, h, c):
  '''trace un rectangle plein, avec :
  - x et y : les coordonnees du coin superieur gauche
  - w et h : les largeur et hauteur
  - c : la couleur
  '''
  for dy in range(h): draw_horiz(x, y + dy, w, c)

#-----------------------
# AFFICHAGE - SPECIFIQUE
#-----------------------

def draw_surface_marais(y, xmin=0, xmax = L_ECRAN - 1):
  '''trace une ligne de la surface du marais, avec :
  * parametre obligatoire :
  - y : l'ordonnee
  * parametres optionnels :
  - xmin et xmax : les bornes horizontales
  '''
  x = 0
  seed(42 * y)
  while x <= xmax:
    c = hsv2rgb(120.6/360, 1, random())
    w = randint(1, L_ECRAN // 4)
    if x + w >= xmin and x < xmax:
      xf = max(xmin, x)
      draw_horiz(floor(xf), y, ceil(min(w - xf + x, xmax - xf + 1)), c)
    x += w

#-----
# MATH
#-----
# extension de la bibliotheque math

def sign(x):
  '''retourne le signe du nombre x, sous la forme -1, 0 ou 1'''
  return (x > 0) - (x < 0)

#-----------------
# RAFRAICHISSEMENT
#-----------------
# fonction essentielle, appelee en boucle dans ce qui va suivre

def refresh(ymin=0, ymax=H_ECRAN - 1, xmin=0, xmax = L_ECRAN - 1):
  '''rafraichit l'affichage en ne redessinant que les elements necessaires, avec :
  - ymin et ymax : les bornes verticales de la zone a rafraichir
  - xmin et max : les bornes horizontales de la zone a rafraichir
  '''
  global forceon, score
  ymin, ymax = max(0, floor(ymin)), min(H_ECRAN - 1, floor(ymax))
  xmin, xmax = max(0, xmin), min(L_ECRAN - 1, xmax)
  txmin, txmax = xmin, xmax
  ly = (134,152,160,164)
  for y in range(ymin, ymax + 1):

    if y >= ly[0] and y < ly[1]: # surface du marais entre arbres et fond d'ecran
      draw_surface_marais(y, xmin, xmax)

    if y == H_ECRAN - H_BOUTON:
      if status[2] or not isinstance(status[0], str) and forceon:
        txmax = min(xmax, L_ECRAN - L_BOUTON)
      if not isinstance(status[0], str):
        txmin = max(xmin, lnum(score))

    # decor du marais
    if y < ly[1] and (isinstance(status[0], str) or y <= 1 or y >= H_BARRE + 2*M_BARRE - 2) or y >= ly[-1]:
      if y < ly[0]:
        c = gradient((205/360, 1, .565), (157.5/360, 1, .439), y / (ly[0] - 1))
        c = hsv2rgb(c[0], c[1], c[2])
      else:
        c = y >= ly[-1] and (255, 255, 255)
      draw_sprite_line(SPRITES[I_AP][S_RLE][y], SPRITES[I_AP][S_BITS], 0, y, SPRITES[I_AP][S_L], SPRITES[I_AP][S_PALETTE], itransp=SPRITES[I_AP][S_ITRANSP], cfond=c, xmin=txmin, xmax=txmax)
      for x in range(txmax + 1, xmax + 1):
        set_pixel(x, y, (0, 0, 255))
    if not isinstance(status[0], str) and y >= ly[-1]:
      for x in range(xmin, txmin):
        set_pixel(x, y, (0, 0, 255))

    # message or force bar
    if isinstance(status[0], str):
      if y == 1 + H_POLICE[POLICE] and ymin < y:
        draw_string(0, 1, status[0], status[1], POLICE)
    elif y < H_BARRE + 2*M_BARRE:
      xf = round((L_ECRAN - 1) * status[0])
      for x in range(txmin, txmax + 1):
        if abs(x - xf) <= M_CURSEUR and y >= 1 and y < 2*M_BARRE + H_BARRE - 1 or abs(x - xf) < M_CURSEUR:
          set_pixel(x, y, forceon and (255, 0, 255) or (127, 127, 127))
        elif y >= M_BARRE and y < M_BARRE + H_BARRE:
          c = gradient((0, 1, 1), (120/360, 1, 1), (x - 2) / (L_ECRAN - 2))
          set_pixel(x, y, hsv2rgb(c[0], c[1], c[2]))

    if y >= ly[1] and y < ly[2]: # surface du marais entre plateformes et arbres
      draw_surface_marais(y, txmin, txmax)

    if y >= SPRITES[I_PF_G][S_Y] and y < SPRITES[I_PF_G][S_Y] + SPRITES[I_PF_G][S_H]: # grande plateforme
      draw_sprite_line(SPRITES[I_PF_G][S_RLE][y - ceil(SPRITES[I_PF_G][S_Y])], SPRITES[I_PF_G][S_BITS], SPRITES[I_PF_G][S_X], y, SPRITES[I_PF_G][S_L], SPRITES[I_PF_G][S_PALETTE], itransp=SPRITES[I_PF_G][S_ITRANSP], xmin=xmin, xmax=xmax)

    if y >= SPRITES[I_PF_P][S_Y] and y < SPRITES[I_PF_P][S_Y] + SPRITES[I_PF_P][S_H]: # petite plateforme
      draw_sprite_line(SPRITES[I_PF_P][S_RLE][y - ceil(SPRITES[I_PF_P][S_Y])], SPRITES[I_PF_P][S_BITS], SPRITES[I_PF_P][S_X], y, SPRITES[I_PF_P][S_L], SPRITES[I_PF_P][S_PALETTE], itransp=SPRITES[I_PF_P][S_ITRANSP], xmin=xmin, xmax=xmax)

    if y >= SPRITES[I_LUKE][S_Y] and y < SPRITES[I_LUKE][S_Y] + SPRITES[I_LUKE][S_H]: # Luke
      draw_sprite_line(SPRITES[I_LUKE][S_RLE][y - ceil(SPRITES[I_LUKE][S_Y])], SPRITES[I_LUKE][S_BITS], SPRITES[I_LUKE][S_X], y, SPRITES[I_LUKE][S_L], SPRITES[I_LUKE][S_PALETTE], itransp=SPRITES[I_LUKE][S_ITRANSP], xmin=xmin, xmax=xmax)

    if y >= SPRITES[I_YODA][S_Y] and y < SPRITES[I_YODA][S_Y] + SPRITES[I_YODA][S_H]: # Yoda
      draw_sprite_line(SPRITES[I_YODA][S_RLE][y - ceil(SPRITES[I_YODA][S_Y])], SPRITES[I_YODA][S_BITS], SPRITES[I_YODA][S_X], y, SPRITES[I_YODA][S_L], SPRITES[I_YODA][S_PALETTE], itransp=SPRITES[I_YODA][S_ITRANSP], xmin=xmin, xmax=xmax)

    if y >= SPRITES[I_XWING][S_Y] and y < SPRITES[I_XWING][S_Y] + SPRITES[I_XWING][S_H]*SPRITES[I_XWING][S_ZOOM]: # X-Wing
      draw_sprite_line(SPRITES[I_XWING][S_RLE][(y - ceil(SPRITES[I_XWING][S_Y])) // SPRITES[I_XWING][S_ZOOM]], SPRITES[I_XWING][S_BITS], SPRITES[I_XWING][S_X], y, SPRITES[I_XWING][S_L], SPRITES[I_XWING][S_PALETTE], itransp=SPRITES[I_XWING][S_ITRANSP], zoom=2, xmin=xmin, xmax=xmax)

    if y >= ly[2] and y < ly[3]: # surface du marais jusqu'aux plateformes
      draw_surface_marais(y, txmin, txmax)

    if y >= ly[-1]: # sous la surface du marais
      c1a_hsv = (196.5/360, 1, .655)
      c1b_hsv = (171.1/360, 1, .396)
      c1_hsv = gradient(c1a_hsv, c1b_hsv, sqrt((y - ly[-1]) / (H_ECRAN - ly[-1])))
      c1_rgb = rgb2hsv(c1_hsv[0], c1_hsv[1], c1_hsv[2])
      for x in range(txmin, txmax + 1):
        c2_rgb = get_pixel(x, y)
        c2_hsv = rgb2hsv(c2_rgb[0], c2_rgb[1], c2_rgb[2])
        k = 2 + sqrt((y - ly[-1]) / (H_ECRAN - ly[-1]))
        c3_rgb = hsv2rgb(c1_hsv[0], (c1_hsv[1] + c2_hsv[1])/k , (c1_hsv[1] + c2_hsv[2])/k)
        set_pixel(x, y, c3_rgb)

    if status[2] and y == H_ECRAN - 1 and xmax >= L_ECRAN - 1 or not isinstance(status[0], str) and forceon:
      draw_string(L_ECRAN - L_BOUTON, H_ECRAN - H_BOUTON, "AC/ON", (255, 255, 0), "small")
    if not isinstance(status[0], str) and y == H_ECRAN - 1 and xmin <= 0:
      draw_string(0, H_ECRAN - H_BOUTON, str(round(score)), (255, 255, 0), "small")

#----------
# ANIMATION
#----------

M_HORIZ, M_VERT = tuple(range(1, 3))

def fanim(lst, mode_osc = 0, loop=True):
  '''joue une animation, avec :
  - lst : liste d'images a animer, avec pour chaque element :
  -- index de l'image principale a animer
  -- index d'une image liee a la position de l'image precedente (ou sinon None)
  -- abscisse ou deplacer l'image principale (ou None)
  -- ordonnee ou deplacer l'image principale (ou None)
  - mode_osc : masque indiquant si l'image doit subit des oscillations, pouvant alors etre horizontales (M_HORIZ), verticales (M_VERT) ou bien les deux a la fois
  - loop : indique si l'animation doit etre jouee en boucle ou bien une seule fois
  '''
  global x_c, y_c
  x_c, y_c = SPRITES[lst[-1][0]][S_X : S_Y + 1]
  ix, iy = 0, 0
  while 1:
    stop = True
    for i in range(len(lst)):
      i1_sprite, i2_sprite, destx, desty = lst[i]
      tx1, ty1 = SPRITES[i1_sprite][S_X : S_Y + 1]
      if not i2_sprite is None: tx2, ty2 = SPRITES[i2_sprite][S_X : S_Y + 1]
      if not destx is None and SPRITES[i1_sprite][S_X] != destx:
        SPRITES[i1_sprite][S_X] += sign(destx - SPRITES[i1_sprite][S_X])
        if not i2_sprite is None:
          tx2 = SPRITES[i2_sprite][S_X]
          SPRITES[i2_sprite][S_X] += SPRITES[i1_sprite][S_X] - tx1
        stop = False
        if SPRITES[i1_sprite][S_X] == destx:
          lst[i][2] = None
          x_c = SPRITES[lst[-1][0]][S_X]
      elif i + 1 == len(lst) and mode_osc & M_HORIZ:
        SPRITES[i1_sprite][S_X] = x_c - round(sin(ix*pi/180) * SPRITES[i2_sprite][S_L] / 16)
        SPRITES[i2_sprite][S_X] += SPRITES[i1_sprite][S_X] - tx1
        ix += 18
      if not desty is None and SPRITES[i1_sprite][S_Y] != desty:
        SPRITES[i1_sprite][S_Y] += sign(desty - SPRITES[i1_sprite][S_Y])
        if not i2_sprite is None:
          ty2 = SPRITES[i2_sprite][S_Y]
          SPRITES[i2_sprite][S_Y] += SPRITES[i1_sprite][S_Y] - ty1
        stop = False
        if SPRITES[i1_sprite][S_Y] == desty:
          lst[i][3] = None
          y_c = SPRITES[lst[-1][0]][S_Y]
      elif i + 1 == len(lst) and mode_osc & M_VERT:
        SPRITES[i1_sprite][S_Y] = y_c - round(sin(iy*pi/180) * SPRITES[i2_sprite][S_H] / 8)
        SPRITES[i2_sprite][S_Y] += SPRITES[i1_sprite][S_Y] - ty1
        iy += 1
      if not i2_sprite is None: refresh(min(ty2, SPRITES[i2_sprite][S_Y]), max(ty1, SPRITES[i1_sprite][S_Y]) - 1, min(tx2, SPRITES[i2_sprite][S_X]), max(tx2, SPRITES[i2_sprite][S_X]) + SPRITES[i2_sprite][S_L])
      refresh(min(ty1, SPRITES[i1_sprite][S_Y]), max(ty1, SPRITES[i1_sprite][S_Y]) + SPRITES[i1_sprite][S_H]*SPRITES[i1_sprite][S_ZOOM] - 1, min(tx1, SPRITES[i1_sprite][S_X]), max(tx1, SPRITES[i1_sprite][S_X]) + SPRITES[i1_sprite][S_L]*SPRITES[i1_sprite][S_ZOOM])
    if stop:
      if not mode_osc or not loop: break
      if not status[2]:
        status[2] = True
        refresh(H_ECRAN - H_BOUTON, H_ECRAN - 1, L_ECRAN - L_BOUTON, L_ECRAN - 1)
    show_screen()

def ac(fanim, loop=True, lmsg=None, lparams_anim=()):
  ''' lance une animation, tout en permettant a tout moment son interruption avec la touche [AC] et dans ce cas le nettoyage correct de l'affichage, avec :
  - fanim : la fonction d'animation
  - loop : indique si l'animation doit etre jouee en boucle ou bien une seule fois
  - lmsg : liste avec le message a afficher et sa couleur
  - lparams_anim : liste des parametres a passer a la fonction d'animation fanim()
  '''
  try:
    global status
    if not lmsg is None:
      status[:2] = lmsg
      refresh(1, 1 + H_POLICE[POLICE])
    fanim(*(lparams_anim + (loop,)))
  except KeyboardInterrupt:
    try:
      if loop:
        status[2] = False
        refresh(H_ECRAN - H_POLICE[POLICE], H_ECRAN - 1, 346, L_ECRAN - 1)
        fanim(False, *(lparams_anim + (loop,)))
    except: pass

#-----------------------------
# AUTRES FONCTIONS SPECIFIQUES
#-----------------------------

def force(f):
  '''fait appel a la Force, avec :
  - f l'intensite de la Force sur l'intervalle [0;1]
  '''
  global vy, forceon, score
  if forceon:
    vy += 2*f - 1
    forceon = False
    score += f*kscore/(1 - min(0, vy))*1000
    refresh(H_ECRAN - H_BOUTON, H_ECRAN - 1, 0, lnum(score))
    refresh(H_ECRAN - H_BOUTON, H_ECRAN - 1, L_ECRAN - L_BOUTON, L_ECRAN - 1)

def gameover():
  '''teste si on a gagne le jeu'''
  return SPRITES[I_XWING][S_Y] < -SPRITES[I_XWING][S_H] * SPRITES[I_XWING][S_ZOOM]

score, kscore, fscore = 0, 1, .999

def main():
  '''lance la partie jeu'''
  global vy, forceon, kscore, score
  try:
    refresh(H_ECRAN - H_BOUTON, H_ECRAN - 1, L_ECRAN - L_BOUTON, L_ECRAN - 1)
    w = 220
    t = 0
    of = -1
    while not gameover():
      try:
        try:
          f = 1 - abs(cos(t*pi/w))
          if t % w == 1 and not forceon:
            forceon = True
            refresh(H_ECRAN - H_BOUTON, H_ECRAN - 1, L_ECRAN - L_BOUTON, L_ECRAN - 1)
          status[:2] = f, None
          xf = round((L_ECRAN - 1) * f)
          refresh(0, H_BARRE + 2*M_BARRE, of >= 0 and min(xf - M_CURSEUR, oxf - M_CURSEUR), of < 0 and L_ECRAN - 1 or max(xf + M_CURSEUR, oxf + M_CURSEUR) or L_ECRAN - 1)
          show_screen()
          t, of, oxf = (t + 1) % w, f, xf
          vy = SPRITES[I_XWING][S_Y] < H_ECRAN and vy - .005*180/w
          kscore *= fscore
        except KeyboardInterrupt: force(f)
        ty, SPRITES[I_XWING][S_Y] = SPRITES[I_XWING][S_Y], min(H_ECRAN, SPRITES[I_XWING][S_Y] - vy)
        if round(ty) != round(SPRITES[I_XWING][S_Y]):
          refresh(min(ty, SPRITES[I_XWING][S_Y]), max(ty, SPRITES[I_XWING][S_Y]) + SPRITES[I_XWING][S_H]*SPRITES[I_XWING][S_ZOOM] + 1, SPRITES[I_XWING][S_X], SPRITES[I_XWING][S_X] + SPRITES[I_XWING][S_L]*SPRITES[I_XWING][S_ZOOM])
      except KeyboardInterrupt: force(f)
    score *= kscore + 1
    force(1)
  except KeyboardInterrupt:
    force(f)
    main()

#---------------
# INITIALISATION
#---------------

POLICE = "small" # police a utiliser

# reglage du zoom des differentes images
for sprite in SPRITES:
  sprite.append(1)
SPRITES[I_XWING][S_ZOOM] = 2

# positionnement des differentes images a l'ecran
SPRITES[I_XWING].extend(((L_ECRAN - SPRITES[I_XWING][S_L]*SPRITES[I_XWING][S_ZOOM])//2, 164 - SPRITES[I_XWING][S_H]))
SPRITES[I_PF_G].extend((-SPRITES[I_PF_G][S_L], 146))
SPRITES[I_PF_P].extend((L_ECRAN, 151))
SPRITES[I_YODA].extend((SPRITES[I_PF_P][S_X] + (SPRITES[I_PF_P][S_L] - SPRITES[I_YODA][S_L]) // 2, SPRITES[I_PF_P][S_Y] - SPRITES[I_YODA][S_H] + SPRITES[I_PF_P][S_H] // 4))
SPRITES[I_LUKE].extend((SPRITES[I_PF_G][S_X] + (SPRITES[I_PF_G][S_L] - SPRITES[I_LUKE][S_L]) // 2, SPRITES[I_PF_G][S_Y] - SPRITES[I_LUKE][S_H] + SPRITES[I_PF_G][S_H] // 2))

# largeurs et hauteurs de differentes elements graphiques
# - barre de Force et son curseur :
M_CURSEUR = H_POLICE[POLICE] // 4
M_BARRE = 2
H_BARRE = H_POLICE[POLICE] - M_CURSEUR - M_BARRE
# - bouton invitant a taper la touche action [AC]
H_BOUTON = H_POLICE[POLICE]
L_BOUTON = 39

status = ["", None, False]

refresh(0, H_ECRAN - 1) # 1er affichage, dessine tout l'ecran
show_screen()

# anime les differentes etapes du dialogue introductif Luke-Yoda
ac(fanim, True, ("Oh non le vaisseau, nous ne pourrons plus le recuperer...", C_LUKE), (([I_XWING, None, None, H_ECRAN], [I_PF_G, I_LUKE, (L_ECRAN - SPRITES[I_PF_G][S_L]) // 2, None]), M_VERT))
ac(fanim, True, ("Quelle certitude as-tu ? Avec toi, rien n'est jamais possible.", C_YODA), (([I_PF_G, I_LUKE, 33, None], [I_PF_P, I_YODA, (L_ECRAN - SPRITES[I_PF_P][S_L]) // 2, None]), M_VERT))
ac(fanim, True, ("Faire bouger des pierres est une chose mais la c'est different", C_LUKE), (([I_PF_G, I_LUKE, None, None],), M_VERT | M_HORIZ))
ac(fanim, True, ("Different dans ton esprit. Desapprends ce que tu as appris.", C_YODA), (([I_PF_P, I_YODA, 280, None],), M_VERT))
ac(fanim, True, ("C'est trop gros, j'y arriverai pas.", C_LUKE), (([I_PF_G, I_LUKE, None, None],), M_VERT | M_HORIZ))
ac(fanim, True, ("La taille importe peu. Par ma taille peux-tu me juger ?", C_YODA), (([I_PF_P, I_YODA, None, 64],), M_VERT))
ac(fanim, True, ("Tres bien, je vais essayer.", C_LUKE), (([I_PF_G, I_LUKE, None, None],), M_VERT))
ac(fanim, True, ("Non, fais-le. Ou ne le fais pas. Mais il n'y a pas d'essai.", C_YODA), (([I_PF_P, I_YODA, None, None],), M_VERT | M_HORIZ))

vy = 0 # vitesse verticale du X-Wing
forceon = True # indique si la Force est avec toi

main() # lance la partie jeu

# le jeu est gagne, animation de fin
ac(fanim, False, None, (([I_PF_G, I_LUKE, SPRITES[I_XWING][S_X], -SPRITES[I_PF_G][S_H]],), 0))
ac(fanim, True, ("Va Luke, la Force est avec toi, a jamais.", C_YODA), (([I_PF_P, I_YODA, None, None],), M_VERT))
print(score)
Télécharger

Merci Casio ! :favorite:

Source : https://www.casio-education.fr/actualit ... -4th-2023/
Lien vers le sujet sur le forum: Résultats concours Casio "May the 4th" 2023 (Commentaires: 0)

Casio et TI primés au Comenius EduMedia 2023 !

Nouveau messagede critor » 26 Juin 2023, 13:53

Le prix Comenius EduMedia du nom du philosophe, grammairien et pédagogue tchèque, est une récompense prestigieuse à rayonnement européen décernée chaque année depuis 1995 à des produits multimédias d'intérêt pédagogique ou didactique exceptionnel par l'allemand GPI (Gesellschaft für Pädagogik, Information und Medien; soit société pour l'éducation, l'information et les médias).

La remise des prix de l'édition 2022 vient tout juste d'avoir lieu ce jeudi 23 juin à Berlin au cinéma-théâtre Chamäleon.

Pour l'édition 2023 du Comenius Edumedia ont été attribués 161 sceaux dans diverses catégories, dont 11 dans la catégorie Mathematische und naturwissenschaftliche Bildung (enseignement mathématique et scientifique).

Casio gagne un sceau pour ses calculatrices scientifiques CW Classwiz, nouvelle génération qui a commencé à sortir pour la rentrée 2022, et dont est issue la formidablissime fx-92 Collège Classwiz à laquelle nous avons droit à notre tour en France pour cette rentrée 2023. En Allemagne, il s'agit des modèles suivants :
  • entrée de gamme fx-82/85DE CW (rentrée 2023), remplaçant les anciens modèles fx-82/85DE X
  • milieu de gamme fx-87DE CW (rentrée 2023), remplaçant l'ancien modèle fx-87DE X
  • haut de gamme fx-991DE CW (rentrée 2023), remplaçant l'ancien modèle fx-991DE X
    16895
  • modèle dédié aux épreuves d'examen sous la nouvelle réglementation de l'Abitur 2030 : fx-810DE CW (rentrée 2023), tellement bridé en fonctionnalités qu'il en est inférieur à l'entrée de gamme, remplaçant la fx-800DE CW (rentrée 2022) qui pour sa part avait été jugée pas encore assez limitée par les institutions allemandes

Texas Instruments gagne pour sa part un sceau pour le produit concurrent conçu exprès pour l'Abitur 2030, la TI-30X Prio MathPrint (rentrée 2023), bridée de façon comparable.

Casio et Texas Instruments ont donc dès maintenant le droit d'apposer le sceau ci-contre sur tout ce qui est relatif aux produits primés.

Source : https://comenius-award.de/
Lien vers le sujet sur le forum: Casio et TI primés au Comenius EduMedia 2023 ! (Commentaires: 2)

iF Design Awards 2023 pour les CW Classwiz et prototypes !

Nouveau messagede critor » 28 Juin 2023, 01:09

iF design est une organisation internationale qui se concentre sur la promotion du design. Fondée en 1953 en Allemagne, l'organisation décerne chaque année les iF Design Awards, l'un des prix de design les plus prestigieux au monde, ne récompensant que des conceptions au design exceptionnel.

Les participants doivent choisir une spécialité et une catégorie :
  • 9 spécialités sont offerts : produit, packaging, communication, design d'intérieur, concepts professionnels, design de services, architecture, expérience utilisateur (UX), interface utilisateur (UI)
  • et pas moins de 81 catégories (industrie, éclairage, branding, bicyclettes, apps, technologie de construction, jardin, mobilier, transport, informatique, audio, médecine, télécommunications, cuisine, ...)

Nous apprenons que Casio vient d'être triplement primé aux iF Design Awards 2023, dans la spécialité produit pour 3 catégories différentes !

Dans la catégorie montres / bijoux, c'est la montre G-SHOCK MR-G MRG-B5000 qui gagne, une montre de luxe commercialisée à partir de 3500€ pour les éditions les moins chères.

Dans la catégorie instruments de musique c'est encore mieux car parmi les 18 produits primés c'est Casio qui décroche le grand prix, le iF design Award 2023 Gold, avec son piano numérique Privia PX-S7000, commercialisé à partir de 2500€ pour les éditions les moins chères.

1668115990Mais fonçons plutôt vers ce qui nous intéresse, la catéogorie bureau / papeterie dans laquelle Casio décroche son troisième prix, cette fois-ci pour ses calculatrices scientifiques CW Classwiz, nouvelle génération lancée pour la rentrée 2022 en Allemagne avec un premier modèle fx-800DE CW que nous étions partis te tester juin 2022, et dont est issue la formidablissime fx-92 Collège Classwiz à laquelle nous avons droit à notre tour en France pour cette rentrée 2023.

1667316676Cette nouvelle génération changeait justement radicalement le design du boîtier. Au menu un nouveau couvercle non plus coulissant mais clipsable avec une finition façon tissu, et de simili coutures sur les ergots rajoutés à cette fin.

Mais ce n'est pas tout, car Casio a courageusement osé toucher à l'organisation des touches qui n'avait plus bougé depuis des décennies, changeant radicalement cette dernière. Nous pouvons citer entre bien d'autres choses :
  • réduction du nombre de touches du clavier, de 50 à 47
  • suppression du modificateur
    ALPHA
    qui jusqu'alors était utilisé pour bien d'autres choses que la saisie alphabétique, la quasi totalité des 50 touches du clavier ayant sa fonction secondaire "alphabétique" alors que les lettres accessibles via ce modificateur étaient limitées à 7 (A, B, C, D, E, F et M)
  • ajout de nouvelles touches permettant d'alléger le clavier et justement rendre son utilisation plus logique, intuitive et facile :
    • touche
      CONFIG
      dédiée aux réglages transversaux
    • touche
      OUTILS
      dédiée à tout ce qui est spécifique à l'application courante
    • nouvelle touche
      CATALOGUE
      listant l'ensemble des fonctions intégrées de la calculatrice
    • gestionnaire de variables accessible avec la nouvelle touche
      VARIABLE
    • gestionnaire de fonctions utilisateur via la nouvelle touche
      FONCTION
    • ajout de 2 touches de défilement en plus des 4 touches directionnelles

1598915601Lorsque nous étions donc partis te tester la fx-800DE CW en Allemagne, la calculatrice présente sur le stand de Casio portait un nom de modèle différent : fx-800DE Z.

Ce suffixe différent permettait justement de la distinguer car il s'agissait encore d'un prototype non finalisé. L' écran de diagnostic affichait justement une version logicielle différentes de celle du modèle de production que nous avons récupéré par la suite :
  • version S2 (probablement pour "sample 2" soit "échantillon 2") de somme de contrôle 8FCD sur le prototype fx-800DE Z
  • version A de somme de contrôle BC9D sur la fx-800DE CW finale

Et bien justement, les visuels publiés par iF Design dans le cadre de l'attribution du prix à Casio sont une véritable mine d'or, car illustrant des modèles non finalisés et parfois même jamais sortis ! :bj:

Voici pour commencer ce qui semble être une vraie photo avec la fx-82EZ, prototype du modèle d'entrée de gamme international fx-82CW !

Restons dans l'entrée de gamme avec la fx-350EZ, prototype du modèle international fx-350CW. Ici par contre il semble s'agir d'un rendu 3D, ce qui explique d'ailleurs l'incohérence entre le positionnement du modèle dans la gamme et le nombre d'applications présentes à l'écran d'accueil. La fx-350EZ est rendue ici avec 6 icônes d'applications affichées à l'écran (et la barre de défilement indique qu'il y en a d'autres), alors que les modèles d'entrée de gamme fx-82/350CW ne disposent que de 4 applications. Sans doute le graphiste de Casio a-t-il jugé que c'était plus intéressant d'illustrer avec l'affichage bien mieux rempli des modèles haut de gamme.

Voici maintenant un fantastique mystère, la fx-888TTG. Mais qu'est-ce que c'est ? Et bien nous ignorons totalement de quoi il s'agit, aucune calculatrice scientifique Casio sortie n'ayant jamais utilisé la numérotation fx-888 ni le suffixe TTG. On peut noter que la coque présente une teinte verte proche de celle de la nouvelle fx-92 Collège Classwiz de rentrée 2023, mais rien à voir puisque les inscriptions clavier sont ici en Anglais.

Le seul modèle de numérotation approchante serait la fx-880BTG, un modèle haut de gamme commercialisé au Vietnam, pouvant être configuré pour un affichage aussi bien en Anglais qu'en Vietnamien, et justement offert dans 4 couleurs différentes. Malheureusement, pas le moindre vert dans cet éventail. Et autre incohérence, selon le clavier la fx-888TTG utilise la virgule comme séparateur décimale exactement comme sur la fx-92 Collège Classwiz française, alors que la fx-880BTG utilise le point. Après, comme la fx-888TTG est ici encore un rendu 3D pour lequel le graphiste de Casio a pu de nouveau mélanger divers éléments visuels sans rapport pour les boîtier, écran et clavier afin de présenter le modèle sous son meilleur jour auprès d'iF Design, difficile de savoir quelles similarités et différences sont fiables ou non pour répondre à notre question.


Et nous terminons avec encore plus fort, la fx-991ID Plus. Si nous avions quelques doutes sur le modèle précédent, ici c'est simple rien ne va, le graphiste Casio semble vraiment avoir mélangé n'importe quoi n'importe comment.

La numérotation en fx-991 indique un modèle haut de gamme, alors que cette fx-991ID Plus ne présente que 4 applications exactement comme l'entrée de gamme fx-82/350CW.

Le suffixe ID Plus du rendu 3D indique ici :
  • un modèle localisé pour une commercialisation en Indonésie, alors que la dernière génération CW Classwiz n'a pas encore été déclinée pour ce pays
  • une appartenance à l'ancienne génération ES Plus (ou à son rafraîchissement ES Plus 2nd edition), alors que c'est pourtant bel et bien le clavier de génération CW Classwiz qui est ici présenté
La seule chose intéressante dans cette chimère, c'est que le graphiste semble nous avoir sorti un ancien visuel du clavier CW Classwiz. En effet l'icône de la touche
VARIABLE
est différente, la boîte dont sortent et où rentrent les valeurs étant ici fermée au lieu d'ouverte.

Précisons qu'il existe 2 modèles commercialisés en Indonésie portant précisément ce nom de modèle, les fx-991ID Plus et fx-991ID Plus 2nd edition, et qu'ils n'ont visuellement strictement rien à voir avec ce qui nous est présenté ici.

Source : https://ifdesign.com/en/winner-ranking/ ... wiz/564429 via https://www.casio.com/intl/news/2023/0512-ifdesign/
Lien vers le sujet sur le forum: iF Design Awards 2023 pour les CW Classwiz et prototypes ! (Commentaires: 2)

Découvre le prototype NumWorks en 33 touches

Nouveau messagede Admin » 30 Juin 2023, 08:22

Lancée pour la rentrée 2017, la NumWorks N0100 était une calculatrice graphique issue d'un projet lauréat de la 5ème édition du CIN (Concours d'Innovation Numérique), avec le soutien de la BPI (Banque Publique d'Investissement).

Comme tu peux le constater, le descriptif du projet était accompagné d'un rendu 3D très différent du modèle finalisé :
  • écran monochrome et non couleur
  • couleurs froides au lieu de chaudes
  • organisation clavier différente avec seulement 33 touches au lieu de 46
  • et on remarque en passant l'illustration des capacités avec une application de graphes 3D qui n'est jamais sortie
Ce rendu 3D depuis maintenant 6 ans était resté un grand mystère.

Et bien de premiers prototypes basés sur ce premier design ont bien été produits. Nous avons le plaisir aujourd'hui d'en découvrir une photo, justement partagée par la BPI.

Nous remarquons bien la matrice clavier différente adaptée à la première organisation en 33 touches. Par contre, le prototype était déjà passé à un écran couleur éclairé, extrêmement épais d'ailleurs. Au menu des tests d'affichage en écriture naturelle, pas encore tout à fait au point.

Source : https://medium.com/bpifrance-digital-ve ... 437b978589 via RapidZapper
Lien vers le sujet sur le forum: Découvre le prototype NumWorks en 33 touches (Commentaires: 1)

Mise-à-jour de MyCalcs, avec la gestion des accessoires !

Nouveau messagede Adriweb » 30 Juin 2023, 17:19

En cette fin Juin, j'ai l'honneur de présenter une grosse mise-à-jour de MyCalcs !

Qu'est-ce que MyCalcs ? J'en parle ici en détails, mais en une phrase... MyCalcs est un site gratuit permettant d'organiser/montrer sa collection de calculatrices graphiques (TI, Casio, HP...) et de leurs accessoires tout en aidant la communauté à préserver l'histoire des révisions matérielles/logicielles.

Bref, à partir d'aujourd'hui, MyCalcs gère désormais les accessoires des calculatrices graphiques (selon certain critères, cf. la page liée juste avant), et nous en avons recensé 193 (dont 76 variants) en base de données.
Ces accessoires en base de données ont aussi été dotés de 216 images associées (un gros travail, car pour la quasi totalité, il s'agit de versions HQ nettoyées et transparentisées...), dont certaines documentant les accessoires sous plusieurs angles !

Que ce soit des modules de TI-92 (y compris des prototypes), des access-point TI-Navigator, des Charging Station pour des CE, des étuis en cuir pour votre HP 49G, des faceplate de couleur, des couvercles collectors pour NumWorks, des capteurs de données pour les Casio, ou même des rétroprojecteurs pour des Sharp... on a normalement "tout" :)

Viens participer à l'amélioration de la connaissance communautaire de l'histoire du matériel EdTech, via les révisions matérielles au cours du temps, des calculatrices et accessoires ! Il suffit de te connecter sur MyCalcs, et renseigner ce que tu possèdes via le formulaire intégré, c'est simple, gratuit, et sans aucune pub ni tracking etc :) Merci d'avance !

Cf. en exemple mon profil, en choisissant "Accessories" an haut à droite :
Image

Dans le futur proche, nous allons aussi rajouter des achievements relatifs aux accessoires, de la même sorte que ceux qui existent aujourd'hui pour les calculatrices.

Autres changements récents :
  • Améliorations générales du dark mode (CSS, favicon...)
  • Améliorations du layout par ci par la
  • Améliorations des "quick facts" du profil
  • Ajout d'un flag de "marketing sample"
  • Passage en requis du remplissage du variant pour certaines calculatrices
  • Corrections de plusieurs achievements
  • Correction de la détection de la plus vieille calculatrice d'un membre dans certain cas
  • Fix de conflit entre le mode édition et un filtrage en cours du tableau du profil
  • Ajout du badge "N-year club" en haut du profil des membres
  • Mise-à-jour de plusieurs libs JS/CSS
  • Améliorations/ajouts d'outils internes de modération


Je remercie particulièrement LogicalJoe et mr womp womp pour leur feedbacks et contributions continus qui ont pu amener à toutes ces nouveautés.
For the end of the month, I have the pleasure to release a big update of MyCalcs!

What is MyCalcs? I talk about that here in details, but in one sentence... MyCalcs is a free website to organize and show your collection of graphing calculators (regardless of their brand) and their accessories, while helping the community preserve the history of their software/hardware revisions.

Anyway, starting today, MyCalcs now handles graphing calculator accessories
(according to certain criteria, see the page linked just before), and we have identified 193 of them (including 76 variants) in the database already.
The accessories in the DB have also been matched with 216 images (that was a lot of work, because almost all of them are Hi-Res, and had to be cleaned and transparentized...), and some of them even document the accessories in multiple angles!

Whether it's TI-92 modules (including prototypes), TI-Navigator, access-points Charging Stations for CEs, leather cases for your HP 49G, faceplates, collector slidecases for NumWorks, data collection device for Casio calcs, or even overhead projectors for Sharp ones... we should have "everything" :)

Come help us improving community knowledge of the history of EdTech hardware, through the gathering of hardware revisions over time, for calculators and accessories! Just log onto MyCalcs, and fill in what you have via the integrated form on your profile, it's simple, free, and without any ads or tracking etc :) Thank you in advance!

See for example my profile, by selecting "Accessories" at the top right :
Image

In the near future, we will also add achievements related to accessories, in a similar fashion as those that exist today for calculators.

Other recent changes:
  • General dark mode improvements (CSS, favicon...)
  • Layout improvements here and there
  • Profile quick facts improvements
  • Added a "marketing sample" flag
  • Set variant filling as required for some calculators
  • Fixed several achievements
  • Fixed detection of a member's oldest calculator in some cases
  • Fix conflict between edit mode and filtering of the profile table
  • Added the "N-year club" badge at the top of the member profile
  • Update of several JS/CSS libs
  • Improvements/additions of internal moderation tools


Many thanks in particular to LogicalJoe and mr womp womp for their continuous feedback and contributions that have led to all these new features.
Lien vers le sujet sur le forum: Mise-à-jour de MyCalcs, avec la gestion des accessoires ! (Commentaires: 8)

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


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