Îõ³h$ ,Ò �Uµþ      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€�‚ƒ„…†‡ˆ‰Š‹Œ�Ž��‘’“”•–—˜™š›œ�žŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉ Ê Ë Ì Í Î Ï ÐÑÒÓÔÕ Ö × ØÙ ÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ€�‚ƒ„…†‡ˆ‰Š‹Œ�Ž��‘’“”•–—˜™š›œ�žŸ ¡¢£¤¥¦§¨©ª«¬­®¯° ± ² ³ ´ µ ¶ · ¸ ¹ º » ¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ€�‚ƒ„…†‡ˆ‰Š‹Œ�Ž��‘’“”•–—˜™š›œ�žŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ€�‚ƒ„…†‡ˆ‰Š‹Œ�Ž��‘’“”•–—˜™š›œ�žŸ ¡¢£¤¥¦§¨©ª «!¬!­!®!¯"°#±#²#³#´#µ#¶#·#¸#¹#º#»#¼#½#¾#¿#À#Á#Â#Ã$Ä$Å$Æ$Ç$È$É$Ê$Ë%Ì%Í%Î%Ï%Ð%Ñ%Ò%Ó%Ô%Õ%Ö%×%Ø%Ù%Ú%Û%Ü%Ý%Þ%ß%à%á%â%ã%ä%å%æ%ç&è&é&ê&ë&ì&í&î&ï&ð&ñ&ò&ó&ô&õ&ö&÷&ø&ù&ú&û&ü&ý&þ&ÿ&€&�&‚&ƒ&„&…&†&‡&ˆ&‰&Š&‹&Œ&�&Ž&�&�&‘&’&“&”&•&–&—&˜&™&š&›&œ&�&ž&Ÿ& &¡&¢&£&¤&¥&¦&§&¨&©&ª&«&¬&­&®&¯&°&±&²&³&´&µ&¶&·&¸&¹&º&»&¼&½&¾&¿&À&Á&Â&Ã&Ä&Å&Æ&Ç&È&É&Ê&Ë&Ì&Í&Î&Ï&Ð&Ñ&Ò&Ó&Ô&Õ&Ö&×&Ø&Ù&Ú&Û&Ü&Ý&Þ&ß&à&á&â&ã&ä&å&æ&ç&è'é'ê'ë'ì'í'î'ï'ð'ñ'ò'ó'ô'õ'ö(÷(ø(ù(ú(û(ü(ý(þ(ÿ(€(�(‚(ƒ(„(…(†(‡(ˆ(‰(Š)‹)Œ)�)Ž)�)�)‘)’)“)”)•)–)—)˜)™)š*›*œ*�*ž*Ÿ* *¡*¢*£*¤*¥*¦*§*¨*©*ª*«*¬*­*®*¯*°*±*²*³*´*µ*¶*·*¸*¹*º*»*¼*½*¾*¿+À+Á+Â+Ã+Ä+ÅÆ,Ç,È,É-Ê-Ë-Ì-Í-Î-Ï-Ð-Ñ-Ò-Ó-Ô-Õ-Ö-×-Ø-Ù-Ú-Û.Ü.Ý.Þ.ß/à/á/â/ã/ä/å/æ/ç/è/é0ê0ë0ì0í0î0ï0ð0ñ0ò0ó0ô0õ0ö0÷0ø0ù0ú0û0ü0ý0þ0ÿ0€0�0‚0ƒ0„0…0†0‡0ˆ‰Š‹Œ�Ž��‘’“”•–—˜™š›1œ1�1ž1Ÿ1 1¡1¢1£1¤1¥1¦1§1¨1©1ª1«1¬1­1®1¯1°1±1²1³1´1µ1¶1·1¸1¹1º1»1¼1½1¾1¿1À1Á1Â1Ã1Ä1Å1Æ1Ç1È1É1Ê1Ë2Ì2Í2Î2Ï2Ð3Ñ3Ò3Ó3Ô3Õ3Ö3×3Ø3Ù3Ú3Û3Ü3Ý3Þ3ß3à4á4â4ã4ä4å4æ4ç4è4é4ê4ëìí5î5ï5ð5ñ5ò5ó5ô5õ5ö5÷5ø5ù5ú5û5ü5ý5þ5ÿ5€5�5‚5ƒ5„5…5†5‡6ˆ6‰6Š‹Œ�Ž��‘’“”•–—˜™š›œ�žŸ ¡¢£¤¥¦7§7¨7©7ª7«7¬7­7®7¯7°7±8²8³8´8µ8¶8·8¸8¹8º8»8¼8½8¾8¿8À8Á8Â8Ã8Ä8Å9Æ9Ç9È9É9Ê9Ë9Ì9Í9Î9Ï9Ð9Ñ9Ò9Ó9Ô9Õ9Ö9×9Ø9Ù9Ú9Û9Ü9Ý9Þ9ß à á â ã ä å æ ç è é ê ë ì í î ï ð ñ ò:ó:ô:õ:ö:÷:ø:ù:ú:û:ü:ý:þ:ÿ:€ :� :‚ :ƒ :„ :… :† :‡ :ˆ :‰ :Š :‹ :Œ :� :Ž :� :� :‘ :’ :“ :” :• :– :— :˜ :™ :š :› :œ :� :ž :Ÿ :  :¡ :¢ :£ :¤ :¥ :¦ :§ :¨ :© :ª :« :¬ :­ :® :¯ :° :± :² :³ :´ :µ :¶ :· :¸ :¹ :º :» :¼ ;½ ;¾ ;¿ ;À ;Á ; ;à ;Ä ;Å ;Æ ;Ç È É Ê Ë Ì Í Î Ï Ð Ñ Ò Ó Ô Õ Ö × Ø Ù Ú Û Ü <Ý <Þ <ß <à <á <â <ã <ä <å <æ <ç <è <é <ê <ë <ì <í <î =ï =ð =ñ =ò =ó =ô =õ =ö =÷ =ø =ù =ú =û =ü =ý =þ =ÿ =€ =� =‚ =ƒ =„ =… =† =‡ =ˆ =‰ =Š =‹ =Œ =� =Ž =� =� =‘ =’ =“ =” =• =– =— =˜ =™ =š =› =œ =� =ž Ÿ   ¡ ¢ £ ¤ ¥ ¦ § ¨ © ª « ¬ ­ ® ¯ ° ± >² >³ >´ >µ >¶ >· >¸ >¹ >º >» >¼ >½ >¾ >¿ >À >Á > >à >Ä >Å >Æ >Ç >È >É >Ê >Ë >Ì >Í >Î >Ï >Ð >Ñ >Ò >Ó >Ô >Õ >Ö >× >Ø >Ù >Ú >Û >Ü Ý Þ ß à á â ã ä å æ ç è é ê ë ì í î ï ð ñ ò ó ô õ ö ÷ ø ù ú û ü ý þ ÿ € � ‚ ƒ „ … † ‡ ˆ ?‰ ?Š ?‹ ?Œ ?� ?Ž ?� ?� ?‘ ?’ ?“ ?” ?• ?– ?— ?˜ @™ @š @› @œ @� @ž @Ÿ @  @¡ @¢ @£ @¤ @¥ @¦ @§ @¨ @© @ª @« @¬ @­ @® @¯ @° @± @² @³ @´ @µ A¶ A· A¸ A¹ Aº A» A¼ A½ A¾ A¿ AÀ AÁ A Aà AÄ AÅ AÆ AÇ AÈ AÉ AÊ AË AÌ AÍ AÎ AÏ AÐ AÑ AÒ AÓ AÔ AÕ AÖ A× AØ AÙ AÚ AÛ AÜ AÝ AÞ Aß Aà Aá Aâ Aã Aä Aå Aæ Aç Aè Aé Aê Aë Aì Aí Aî Aï Að Añ Aò Aó Aô Aõ Aö A÷ Aø Aù Aú Aû Aü Aý Aþ Aÿ A€ A� A‚ Aƒ A„ A… A† A‡ Aˆ A‰ AŠ A‹ AŒ A� AŽ A� A� A‘ A’ A“ A” A• A– A— A˜ A™ Aš A› Aœ A� Až AŸ A  A¡ A¢ A£ A¤ A¥ A¦ A§ A¨ B© Bª B« B¬ B­ B® B¯ B° B± B² B³ B´ Bµ ¶ · ¸ ¹ º » ¼ ½ ¾ ¿ À Á Â Ã Ä Å Æ Ç È É Ê Ë Ì Í Î Ï Ð Ñ Ò Ó Ô Õ Ö × Ø Ù Ú Û Ü Ý Þ ß à á â ã ä å æ ç è é Cê Cë Cì Cí Cî Cï Cð Cñ Cò Có Cô Cõ Cö C÷ Cø Cù Cú Cû Cü Cý Cþ Cÿ C€ C� C‚ Cƒ C„ C… C† C‡ Cˆ C‰ DŠ D‹ DŒ D� DŽ D� D� D‘ D’ D“ D” D• D– D— D˜ D™ Eš E› Eœ E� Ež EŸ F  F¡ F¢ F£ F¤ F¥ F¦ F§ F¨ F© Fª F« F¬ F­ F® F¯ F° F± F² F³ F´ Fµ F¶ F· F¸ F¹ Fº F» F¼ F½ F¾ F¿ FÀ FÁ F Fà FÄ FÅ FÆ FÇ FÈ GÉ GÊ GË GÌ GÍ GÎ GÏ GÐ GÑ GÒ GÓ GÔ GÕ GÖ G× GØ GÙ GÚ GÛ GÜ GÝ GÞ Gß Gà Gá Gâ Gã Gä Gå Gæ Gç Gè Gé Gê Gë Gì Gí Gî Gï Gð Gñ Gò Hó Hô Hõ Hö H÷ Hø Hù Hú Hû Hü Hý Hþ Hÿ H€H�H‚HƒH„H…H†H‡HˆH‰HŠH‹HŒH�HŽH�H�H‘H’H“H”H•H–H—H˜H™HšH›HœH�HžHŸH H¡H¢H£H¤H¥H¦H§H¨H©HªH«H¬H­H®H¯H°H±H²H³H´HµH¶H·H¸H¹HºH»H¼H½H¾H¿HÀHÁHÂHÃHÄHÅHÆHÇHÈHÉHÊHËHÌHÍHÎHÏHÐHÑHÒHÓHÔHÕHÖH×HØHÙHÚHÛHÜHÝHÞHßHàHáHâHãHäHåHæHçHèHéHêHëHìHíHîHïHðHñHòHóHôHõHöH÷HøHùHúHûHüHýHþHÿH€H�H‚HƒH„H…H†H‡HˆH‰HŠH‹HŒH�HŽH�H�H‘H’H“H”H•H–H—H˜I™IšI›IœI�IžIŸI I¡I¢I£I¤I¥I¦I§I¨I©IªI«I¬I­I®I¯I°I±I²I³I´IµI¶I·I¸I¹IºI»I¼I½I¾I¿IÀIÁIÂIÃIÄIÅIÆIÇIÈIÉIÊIËIÌIÍIÎIÏIÐIÑIÒIÓIÔIÕIÖI×IØIÙIÚIÛIÜIÝIÞIßIàIáIâIãIäIåIæIçIèIéIêIëIìIíIîIïIðIñIòIóIôIõIöI÷IøIùIúIûIüIýIþIÿI€I�I‚IƒI„I…I†I‡IˆI‰IŠI‹IŒI�IŽI�I�I‘I’I“I”I•I–I—I˜I™IšI›IœI�IžIŸI I¡I¢I£I¤I¥I¦I§I¨I©IªI«I¬I­I®I¯I°I±I²I³I´IµI¶I·I¸I¹IºI»I¼I½I¾I¿IÀIÁIÂIÃIÄIÅIÆIÇIÈIÉIÊIËIÌIÍIÎIÏIÐIÑIÒIÓIÔIÕIÖI×IØIÙIÚIÛIÜIÝIÞIßIàIáIâIãIäIåIæIçIèIéIêIëIìIíIîIïIðIñIòIóIôIõIöI÷IøIùIúIûIüIýIþIÿI€I�I‚IƒI„I…I†I‡IˆI‰IŠI‹IŒI�IŽI�I�I‘I’I“I”I•I–I—I˜I™IšI›IœI�IžIŸI I¡I¢I£I¤I¥I¦I§I¨I©IªI«I¬I­I®I¯I°I±I²I³I´IµI¶I·I¸I¹IºI»I¼I½I¾I¿IÀIÁIÂIÃIÄIÅIÆIÇIÈIÉIÊIËIÌIÍIÎIÏIÐIÑIÒIÓIÔIÕIÖI×IØIÙIÚIÛIÜIÝIÞIßIàIáIâIãIäIåIæIçIèIéIêIëIìIíIîIïIðIñIòIóIôIõIöI÷IøIùIúIûIüIýIþIÿI€I�I‚IƒI„I…I†I‡IˆI‰IŠI‹IŒI�IŽI�I�I‘I’I“I”I•I–I—I˜I™IšI›IœI�IžIŸI I¡I¢I£I¤I¥I¦I§I¨I©IªI«I¬I­I®I¯I°I±I²I³I´IµI¶I·I¸I¹IºI»I¼I½I¾I¿IÀIÁIÂIÃIÄIÅIÆIÇIÈIÉIÊIËIÌIÍIÎIÏIÐIÑIÒIÓIÔIÕIÖI×IØIÙIÚIÛIÜIÝIÞIßIàIáIâIãIäIåIæIçIèIéIêIëIìIíIîIïIðIñIòIóIôIõIöI÷IøIùIúIûIüIýIþIÿI€I�I‚IƒI„I…I†I‡IˆI‰IŠI‹IŒI�IŽI�I�I‘I’I“I”I•I–I—I˜I™IšI›IœI�IžIŸI I¡I¢I£I¤I¥I¦I§I¨I©IªI«I¬I­I®I¯I°I±I²I³I´IµI¶I·I¸I¹IºI»I¼I½I¾I¿IÀIÁIÂIÃIÄIÅIÆIÇIÈIÉIÊIËIÌIÍIÎIÏIÐIÑIÒIÓIÔIÕIÖI×IØIÙIÚIÛIÜIÝIÞIßIàIáIâIãIäIåIæIçIèIéIêIëIìIíIîIïIðIñIòIóIôIõIöI÷IøIùIúIûIüIýIþIÿI€I�I‚IƒI„I…I†I‡IˆI‰IŠI‹IŒI�IŽI�I�I‘I’I“I”I•I–I—I˜I™IšI›IœI�IžIŸI I¡I¢I£I¤I¥I¦I§I¨I©IªI«I¬I­I®I¯I°I±I²I³I´IµI¶I·I¸I¹IºI»I¼I½I¾I¿IÀIÁIÂIÃIÄIÅIÆIÇIÈIÉIÊIËIÌIÍIÎIÏIÐIÑIÒIÓIÔIÕIÖI×IØIÙIÚIÛIÜIÝIÞIßIàIáIâIãIäIåIæIçIèIéIêIëIìIíIîIïIðIñIòIóIôIõIöI÷IøIùIúIûIüIýIþIÿI€I�I‚IƒI„I…I†I‡IˆI‰IŠI‹IŒI�IŽI�I�I‘I’I“I”I•I–I—I˜I™IšI›IœI�IžIŸI I¡I¢I£I¤I¥I¦I§I¨I©IªI«I¬I­I®I¯I°I±I²I³I´IµI¶I·I¸I¹IºI»I¼I½I¾I¿IÀIÁIÂIÃIÄIÅIÆIÇIÈIÉIÊIËIÌIÍIÎIÏIÐIÑIÒIÓIÔIÕIÖI×IØIÙIÚIÛIÜIÝIÞIßIàIáIâIãIäIåIæIçIèIéIêIëIìIíIîIïIðIñIòIóIôIõIöI÷IøIùIúIûIüIýIþIÿI€I�I‚IƒI„I…I†I‡IˆI‰IŠI‹IŒI�IŽI�I�I‘I’I“I”I•I–I—I˜I™IšI›IœI�IžIŸI I¡I¢I£I¤I¥I¦I§I¨I©IªI«I¬I­I®I¯I°I±I²I³I´IµI¶I·I¸I¹IºI»I¼I½I¾I¿IÀIÁIÂIÃIÄIÅIÆIÇIÈIÉIÊIËIÌIÍIÎIÏIÐIÑIÒIÓIÔIÕIÖI×IØIÙIÚIÛIÜIÝIÞIßIàIáIâIãIäIåIæIçIèIéIêIëIìIíIîIïIðIñIòIóIôIõIöI÷IøIùIúIûIüIýIþIÿI€I�I‚IƒI„I…I†I‡IˆI‰IŠI‹IŒI�IŽI�I�I‘I’I“I”I•I–I—I˜I™IšI›IœI�IžIŸI I¡I¢I£I¤I¥I¦I§I¨I©IªI«J¬J­J®J¯J°J±J²J³J´JµJ¶J·J¸J¹JºJ»J¼J½J¾J¿JÀJÁJÂJÃJÄJÅJÆJÇJÈJÉJÊJËJÌJÍJÎJÏJÐJÑJÒJÓJÔJÕJÖJ×JØJÙJÚJÛJÜJÝKÞKßKàKáKâKãKäKåKæKçKèKéKêKëKìKíKîKïKðKñLòLóLôLõLöL÷LøLùLúLûLüLýLþLÿL€L�L‚LƒL„L…L†L‡LˆL‰LŠL‹LŒL�LŽL�L�L‘L’L“L”L•L–L—L˜L™LšL›LœL�LžLŸL L¡L¢L£L¤L¥L¦L§L¨L©LªL«L¬L­L®L¯L°L±L²L³L´LµL¶L·L¸L¹LºL»L¼L½L¾L¿MÀMÁMÂMÃMÄMÅMÆMÇMÈMÉMÊMËMÌMÍMÎMÏMÐMÑMÒMÓMÔMÕMÖM×MØMÙMÚMÛMÜMÝMÞMßMàMáMâMãMäMåMæMçMèMéMêMëMìMíMîMïMðMñMòMóMôMõMöM÷MøMùMúMûMüMýMþMÿM€M�M‚MƒM„M…M†M‡MˆM‰MŠM‹MŒM�MŽM�M�M‘M’M“M”M•M–M—M˜M™MšM›MœM�MžMŸM M¡M¢M£M¤M¥M¦M§M¨M©MªM«M¬M­M®M¯M°M±M²M³M´MµM¶M·M¸M¹MºM»M¼M½M¾M¿MÀMÁMÂMÃMÄMÅMÆMÇMÈMÉMÊMËMÌMÍMÎMÏMÐMÑMÒMÓMÔMÕMÖM×MØMÙMÚMÛMÜMÝMÞMßMàMáMâMãMäMåMæMçNèNéNêNëNìNíNîNïNðNñNòNóNôNõNöN÷NøNùNúNûNüNýNþNÿN€N�N‚NƒN„N…N†N‡NˆN‰NŠN‹NŒN�NŽN�N�N‘N’N“N”N•N–N—N˜N™NšN›NœN�NžNŸN N¡N¢N£N¤N¥N¦N§N¨N©NªN«N¬N­N®N¯N°N±N²N³N´NµO¶O·O¸O¹OºO»O¼O½O¾O¿OÀOÁOÂOÃOÄOÅOÆOÇOÈOÉOÊOËOÌOÍOÎOÏOÐOÑOÒOÓOÔOÕOÖO×OØOÙOÚOÛOÜOÝOÞOßOàOáOâPãPäPåPæPçPèPéPêPëPìPíPîPïPðPñPòPóPôPõPöP÷PøPùPúPûPüQýQþQÿQ€Q�Q‚QƒQ„Q…Q†Q‡QˆQ‰QŠQ‹QŒQ�QŽQ�Q�Q‘Q’Q“Q”Q•Q–Q—Q˜R™RšR›RœR�RžRŸR R¡R¢R£R¤R¥R¦R§R¨R©RªR«R¬R­R®R¯R°R±R²R³R´RµR¶R·R¸R¹RºR»R¼R½R¾R¿RÀRÁRÂRÃRÄRÅRÆRÇRÈRÉRÊRËRÌRÍRÎRÏRÐRÑRÒRÓRÔRÕRÖR×RØRÙRÚRÛRÜRÝRÞRßRàRáRâRãRäRåRæRçRèRéRêRëRìRíRîRïRðRñRòRóRôRõRöR÷RøRùRúRûRüRýRþRÿR€R�R‚RƒR„R…R†R‡RˆR‰RŠR‹RŒR�RŽR�R�R‘R’R“S”S•S–S—S˜S™SšS›SœS�SžSŸS S¡S¢S£T¤T¥T¦T§T¨T©TªT«T¬T­T®T¯T°T±T²T³T´TµT¶T·T¸T¹TºT»T¼T½T¾T¿TÀTÁTÂTÃTÄTÅTÆTÇTÈTÉTÊTËTÌTÍTÎTÏTÐTÑTÒTÓTÔTÕTÖT×TØTÙTÚTÛTÜTÝTÞTßTàTáTâTãTäTåTæTçTèTéTêTëTìTíTîTïTðTñTòTóTôTõTöT÷TøTùTúTûTüTýTþTÿT€T�T‚TƒT„T…T†T‡TˆT‰TŠT‹TŒT�TŽT�T�T‘T’T“T”T•T–T—T˜T™TšT›TœT�TžTŸT T¡T¢T£T¤T¥T¦T§T¨T©TªT«T¬T­T®T¯T°T±T²T³T´TµT¶T·T¸T¹TºT»T¼T½T¾T¿TÀTÁTÂTÃTÄTÅTÆTÇTÈTÉTÊTËTÌTÍTÎTÏTÐTÑTÒTÓTÔTÕTÖT×TØTÙTÚTÛTÜTÝTÞTßTàTáTâTãTäTåTæTçTèTéTêTëTìTíUîUïUðUñUòUóUôUõUöU÷UøUùUúUûUüUýUþUÿU€U�U‚UƒU„U…U†U‡UˆU‰UŠU‹UŒU�UŽU�U�U‘U’U“U”U•U–U—U˜U™UšU›UœU�UžUŸU U¡U¢U£U¤U¥U¦U§U¨U©UªU«U¬U­U®U¯U°U±U²U³U´UµU¶U·U¸U¹UºU»U¼U½U¾U¿UÀUÁUÂUÃUÄUÅUÆUÇUÈUÉUÊUËUÌUÍUÎUÏUÐUÑUÒUÓUÔUÕUÖU×UØUÙUÚUÛUÜUÝUÞUßUàUáUâUãUäUåUæUçUèUéUêUëUìUíUîUïUðVñVòVóVôVõVöV÷VøVùVúVûVüVýVþVÿV€V�V‚WƒW„W…W†W‡WˆW‰WŠW‹WŒW�WŽW�W�W‘W’W“W”W•W–W—W˜W™WšW›WœW�WžWŸW W¡W¢W£W¤W¥W¦W§W¨W©WªW«W¬W­W®W¯W°W±W²W³W´WµW¶W·W¸W¹WºW»W¼W½W¾W¿WÀWÁWÂWÃWÄWÅWÆWÇWÈWÉWÊWËWÌWÍWÎWÏWÐWÑWÒWÓWÔWÕWÖW×WØWÙWÚWÛWÜWÝWÞWßWàWáWâWãWäWåWæWçWèWéWêWëWìWíWîWïWðWñWòWóWôWõWöW÷WøWùWúWûWüWýWþWÿW€ W� W‚ Wƒ W„ W… W† W‡ Wˆ W‰ WŠ W‹ WŒ W� WŽ W� W� W‘ W’ W“ W” W• W– W— W˜ W™ Xš Y› Yœ Z� Zž ZŸ Z  Z¡ Z¢ Z£ Z¤ Z¥ Z¦ Z§ Z¨ Z© Zª Z« Z¬ Z­ Z® Z¯ Z° Z± Z² Z³ Z´ Zµ Z¶ Z· Z¸ Z¹ Zº Z» Z¼ Z½ Z¾ Z¿ ZÀ ZÁ Z Zà ZÄ ZÅ ZÆ ZÇ ZÈ ZÉ ZÊ ZË ZÌ ZÍ ZÎ ZÏ ZÐ ZÑ ZÒ ZÓ ZÔ ZÕ ZÖ Z× ZØ ZÙ ZÚ ZÛ ZÜ ZÝ ZÞ Zß Zà Zá Zâ Zã Zä Zå Zæ Zç Zè Zé Zê Zë Zì Zí Zî Zï Zð Zñ Zò Zó Zô Zõ Zö Z÷ Zø Zù Zú Zû Zü Zý Zþ Zÿ Z€!Z�!Z‚!Zƒ!Z„!Z…!Z†!Z‡!Zˆ!Z‰!ZŠ!Z‹!ZŒ!Z�!ZŽ!Z�!Z�!Z‘!Z’![“![”![•!\–!]—!]˜!]™!]š!]›!]œ!]�!]ž!]Ÿ!] !]¡!]¢!]£!]¤!]¥!]¦!]§!]¨!]©!]ª!]«!]¬!]­!]®!]¯!]°!]±!]²!]³!]´!]µ!]¶!]·!]¸!]¹!]º!]»!]¼!]½!]¾!]¿!]À!]Á!]Â!]Ã!]Ä!]Å!]Æ!]Ç!]È!]É!]Ê!]Ë!]Ì!]Í!]Î!]Ï!]Ð!]Ñ!]Ò!]Ó!]Ô!]Õ!]Ö!]×!]Ø!]Ù!]Ú!]Û!]Ü!]Ý!]Þ!]ß!]à!]á!]â!]ã!]ä!]å!]æ!]ç!]è!]é!]ê!]ë!]ì!]í!]î!]ï!]ð!]ñ!]ò!]ó!]ô!]õ!]ö!]÷!]ø!]ù!]ú!]û!]ü!]ý!]þ!]ÿ!]€"]�"]‚"]ƒ"]„"]…"]†"]‡"]ˆ"]‰"]Š"]‹"]Œ"]�"]Ž"]�"]�"]‘"]’"]“"]”"]•"]–"]—"^˜"^™"^š"^›"^œ"^�"^ž"^Ÿ"^ "^¡"^¢"^£"^¤"^¥"^¦"^§"^¨"^©"^ª"^«"^¬"^­"^®"^¯"^°"^±"^²"^³"^´"^µ"^¶"^·"^¸"^¹"^º"^»"^¼"^½"^¾"^¿"^À"^Á"^Â"^Ã"^Ä"^Å"^Æ"^Ç"^È"^É"^Ê"^Ë"^Ì"^Í"^Î"^Ï"^Ð"^Ñ"^Ò"^Ó"^Ô"^Õ"^Ö"^×"^Ø"^Ù"^Ú"^Û"^Ü"^Ý"^Þ"^ß"^à"^á"^â"^ã"^ä"^å"^æ"^ç"^è"^é"^ê"^ë"^ì"^í"^î"^ï"^ð"^ñ"^ò"^ó"^ô"^õ"_ö"_÷"_ø"_ù"_ú"_û"_ü"_ý"_þ"_ÿ"_€#_�#_‚#_ƒ#`„#`…#`†#`‡#`ˆ#`‰#`Š#`‹#`Œ#`�#`Ž#`�#`�#`‘#`’#`“#`”#`•#`–#`—#`˜#`™#`š#`›#`œ#`�#`ž#`Ÿ#` #`¡#`¢#`£#`¤#`¥#`¦#`§#`¨#`©#`ª#`«#`¬#`­#`®#`¯#`°#`±#`²#`³#`´#`µ#`¶#`·#`¸#`¹#`º#`»#`¼#`½#`¾#`¿#`À#`Á#`Â#`Ã#`Ä#`Å#`Æ#`Ç#`È#`É#`Ê#`Ë#`Ì#`Í#`Î#`Ï#`Ð#`Ñ#`Ò#`Ó#`Ô#`Õ#`Ö#`×#aØ#aÙ#aÚ#aÛ#aÜ#bÝ#bÞ#bß#bà#bá#bâ#bã#bä#bå#bæ#bç#bè#bé#bê#bë#bì#bí#bî#bï#bð#bñ#bò#bó#cô#cõ#cö#c÷#cø#cù#cú#cû#cü#cý#cþ#cÿ#c€$c�$c‚$cƒ$c„$c…$c†$c‡$cˆ$c‰$cŠ$c‹$cŒ$d�$dŽ$d�$d�$d‘$d’$d“$d”$d•$d–$d—$d˜$d™$dš$d›$dœ$d�$dž$eŸ$e $e¡$e¢$e£$e¤$e¥$e¦$e§$e¨$e©$eª$e«$e¬$e­$e®$e¯$e°$e±$e²$e³$e´$eµ$e¶$e·$e¸$e¹$eº$e»$e¼$e½$e¾$e¿$eÀ$eÁ$eÂ$eÃ$eÄ$eÅ$eÆ$eÇ$eÈ$eÉ$eÊ$eË$eÌ$eÍ$eÎ$eÏ$eÐ$eÑ$eÒ$eÓ$eÔ$eÕ$fÖ$f×$fØ$fÙ$fÚ$fÛ$fÜ$fÝ$fÞ$fß$fà$fá$fâ$fã$fä$få$fæ$fç$fè$fé$fê$fë$fì$fí$fî$fï$fð$fñ$fò$fó$fô$fõ$fö$f÷$fø$fù$fú$fû$fü$fý$fþ$fÿ$f€%f�%f‚%fƒ%f„%f…%f†%f‡%fˆ%f‰%fŠ%f‹%fŒ%f�%fŽ%f�%f�%f‘%f’%f“%f”%f•%f–%f—%f˜%f™%fš%f›%fœ%f�%gž%gŸ%g %g¡%g¢%g£%g¤%g¥%g¦%g§%g¨%g©%gª%g«%g¬%g­%g®%g¯%g°%g±%g²%g³%g´%gµ%g¶%g·%g¸%g¹%gº%g»%g¼%g½%g¾%g¿%gÀ%gÁ%gÂ%gÃ%gÄ%gÅ%gÆ%gÇ%gÈ%gÉ%gÊ%gË%gÌ%gÍ%gÎ%gÏ%gÐ%gÑ%gÒ%gÓ%gÔ%gÕ%gÖ%g×%gØ%gÙ%gÚ%gÛ%gÜ%gÝ%gÞ%gß%gà%gá%gâ%gã%gä%gå%gæ%gç%gè%gé%gê%gë%gì%gí%gî%gï%gð%gñ%gò%gó%gô%gõ%gö%g÷%gø%gù%gú%gû%gü%gý%gþ%hÿ%i€&i�&i‚&iƒ&i„&i…&i†&i‡&iˆ&i‰&iŠ&i‹&iŒ&i�&iŽ&i�&i�&i‘&i’&i“&i”&i•&i–&i—&i˜&i™&iš&i›&iœ&i�&iž&iŸ&i &i¡&i¢&i£&i¤&i¥&i¦&i§&i¨&i©&iª&i«&i¬&i­&i®&i¯&i°&i±&i²&i³&i´&iµ&i¶&i·&i¸&i¹&iº&i»&i¼&i½&i¾&i¿&iÀ&iÁ&iÂ&iÃ&iÄ&iÅ&iÆ&iÇ&iÈ&iÉ&iÊ&iË&iÌ&iÍ&iÎ&iÏ&iÐ&iÑ&iÒ&iÓ&iÔ&iÕ&iÖ&i×&iØ&iÙ&iÚ&iÛ&iÜ&iÝ&iÞ&iß&ià&iá&iâ&iã&iä&iå&iæ&iç&iè&ié&iê&ië&iì&ií&iî&iï&ið&iñ&iò&ió&iô&iõ&iö&i÷&iø&iù&jú&jû&jü&jý&jþ&jÿ&j€'j�'j‚'jƒ'j„'j…'j†'j‡'jˆ'j‰'jŠ'j‹'jŒ'j�'jŽ'j�'j�'j‘'j’'j“'j”'j•'j–'j—'j˜'j™'jš'j›'jœ'j�'jž'jŸ'j 'j¡'j¢'j£'j¤'j¥'j¦'j§'j¨'j©'jª'j«'k¬'k­'k®'k¯'k°'k±'k²'k³'k´'kµ'k¶'k·'k¸'k¹'kº'k»'k¼'k½'k¾'k¿'kÀ'kÁ'kÂ'kÃ'kÄ'kÅ'kÆ'kÇ'kÈ'kÉ'kÊ'kË'kÌ'kÍ'kÎ'kÏ'kÐ'kÑ'kÒ'kÓ'kÔ'kÕ'kÖ'k×'kØ'kÙ'kÚ'kÛ'kÜ'kÝ'kÞ'kß'kà'ká'kâ'kã'kä'kå'kæ'kç'kè'ké'kê'kë'kì'kí'kî'kï'kð'kñ'kò'kó'kô'kõ'kö'k÷'kø'kù'kú'kû'kü'ký'kþ'kÿ'k€(k�(k‚(kƒ(k„(k…(k†(k‡(kˆ(k‰(kŠ(k‹(kŒ(k�(kŽ(k�(k�(k‘(k’(k“(k”(k•(k–(k—(k˜(k™(kš(k›(kœ(k�(kž(kŸ(k (k¡(k¢(k£(k¤(k¥(k¦(k§(k¨(k©(kª(k«(k¬(k­(k®(k¯(k°(k±(k²(k³(k´(kµ(k¶(k·(k¸(k¹(kº(k»(k¼(k½(k¾(k¿(kÀ(kÁ(kÂ(kÃ(kÄ(kÅ(kÆ(kÇ(kÈ(kÉ(kÊ(kË(kÌ(kÍ(kÎ(kÏ(kÐ(kÑ(kÒ(kÓ(kÔ(kÕ(kÖ(k×(kØ(kÙ(kÚ(kÛ(kÜ(kÝ(kÞ(kß(kà(ká(kâ(kã(kä(kå(kæ(kç(kè(ké(kê(kë(kì(kí(kî(kï(kð(kñ(kò(kó(kô(kõ(kö(k÷(kø(kù(kú(kû(kü(ký(kþ(kÿ(k€)k�)k‚)kƒ)k„)k…)k†)k‡)kˆ)k‰)kŠ)k‹)kŒ)k�)kŽ)k�)k�)k‘)k’)k“)k”)k•)k–)k—)k˜)k™)kš)k›)kœ)k�)kž)kŸ)k )k¡)k¢)k£)k¤)k¥)k¦)k§)k¨)k©)kª)k«)k¬)k­)k®)k¯)k°)k±)k²)k³)k´)kµ)k¶)k·)k¸)k¹)kº)k»)k¼)k½)k¾)k¿)kÀ)kÁ)kÂ)kÃ)kÄ)kÅ)kÆ)kÇ)kÈ)kÉ)kÊ)kË)kÌ)kÍ)kÎ)kÏ)kÐ)kÑ)kÒ)kÓ)kÔ)kÕ)kÖ)k×)kØ)kÙ)kÚ)kÛ)kÜ)kÝ)kÞ)kß)kà)ká)kâ)kã)kä)kå)kæ)kç)kè)ké)kê)kë)kì)kí)kî)kï)kð)kñ)kò)kó)kô)kõ)kö)k÷)kø)kù)kú)kû)kü)ký)kþ)kÿ)k€*k�*k‚*kƒ*k„*k…*k†*k‡*kˆ*k‰*kŠ*k‹*kŒ*k�*kŽ*k�*k�*k‘*k’*k“*k”*k•*k–*k—*k˜*k™*kš*k›*kœ*k�*kž*kŸ*k *k¡*k¢*k£*k¤*k¥*k¦*k§*k¨*k©*kª*k«*k¬*k­*k®*k¯*l°*l±*l²*l³*l´*lµ*l¶*l·*l¸*l¹*lº*l»*l¼*l½*l¾*l¿*lÀ*lÁ*lÂ*lÃ*lÄ*lÅ*lÆ*lÇ*lÈ*lÉ*lÊ*lË*lÌ*lÍ*lÎ*lÏ*lÐ*lÑ*lÒ*lÓ*lÔ*lÕ*lÖ*l×*lØ*lÙ*lÚ*lÛ*lÜ*lÝ*lÞ*lß*là*lá*lâ*lã*lä*lå*læ*lç*lè*lé*lê*lë*lì*lí*lî*lï*lð*lñ*lò*ló*lô*lõ*lö*l÷*lø*lù*lú*lû*lü*lý*lþ*lÿ*l€+l�+l‚+lƒ+l„+m…+m†+m‡+mˆ+m‰+mŠ+m‹+mŒ+m�+mŽ+m�+m�+m‘+m’+m“+m”+m•+m–+m—+m˜+m™+mš+m›+mœ+m�+mž+mŸ+m +m¡+m¢+m£+m¤+m¥+m¦+m§+m¨+m©+mª+m«+m¬+m­+m®+m¯+m°+m±+m²+n³+n´+nµ+n¶+n·+n¸+n¹+nº+n»+n¼+n½+n¾+n¿+nÀ+nÁ+nÂ+nÃ+nÄ+nÅ+nÆ+nÇ+nÈ+nÉ+nÊ+nË+nÌ+nÍ+nÎ+nÏ+nÐ+nÑ+nÒ+nÓ+nÔ+nÕ+nÖ+n×+nØ+nÙ+nÚ+nÛ+nÜ+nÝ+nÞ+nß+nà+ná+nâ+nã+nä+nå+næ+nç+oè+oé+oê+oë+oì+oí+oî+oï+oð+oñ+oò+oó+oô+oõ+oö+o÷+oø+où+oú+oû+oü+oý+oþ+oÿ+o€,o�,o‚,oƒ,o„,o…,o†,o‡,oˆ,o‰,oŠ,o‹,oŒ,o�,oŽ,o�,o�,o‘,o’,o“,o”,o•,o–,o—,o˜,o™,oš,o›,oœ,o�,pž,pŸ,p ,p¡,p¢,p£,p¤,p¥,p¦,p§,p¨,p©,pª,p«,p¬,p­,p®,p¯,p°,p±,p²,p³,p´,pµ,p¶,p·,p¸,p¹,pº,p»,p¼,p½,p¾,p¿,pÀ,pÁ,pÂ,pÃ,pÄ,pÅ,pÆ,pÇ,pÈ,pÉ,pÊ,pË,pÌ,pÍ,qÎ,qÏ,qÐ,qÑ,qÒ,qÓ,qÔ,qÕ,qÖ,q×,qØ,qÙ,qÚ,qÛ,qÜ,qÝ,qÞ,qß,qà,qá,qâ,qã,qä,qå,qæ,qç,qè,qé,qê,që,qì,qí,qî,qï,qð,qñ,qò,qó,qô,rõ,rö,r÷,rø,rù,rú,rû,rü,rý,rþ,rÿ,r€-r�-r‚-rƒ-r„-r…-r†-r‡-rˆ-r‰-rŠ-r‹-rŒ-r�-rŽ-r�-r�-r‘-r’-r“-r”-r•-r–-s—-s˜-s™-sš-s›-sœ-s�-sž-sŸ-s -s¡-s¢-s£-s¤-s¥-s¦-s§-s¨-s©-tª-t«-t¬-t­-t®-t¯-t°-t±-t²-t³-t´-tµ-t¶-t·-t¸-t¹-tº-t»-t¼-t½-t¾-t¿-tÀ-tÁ-tÂ-tÃ-tÄ-tÅ-tÆ-tÇ-tÈ-tÉ-tÊ-tË-tÌ-tÍ-tÎ-tÏ-tÐ-tÑ-tÒ-tÓ-tÔ-tÕ-tÖ-t×-tØ-tÙ-tÚ-tÛ-tÜ-tÝ-tÞ-tß-tà-tá-tâ-tã-tä-tå-tæ-tç-tè-té-tê-të-tì-tí-tî-tï-tð-tñ-tò-tó-tô-tõ-tö-t÷-tø-tù-tú-tû-tü-tý-tþ-tÿ-t€.t�.t‚.tƒ.t„.t….t†.t‡.tˆ.t‰.tŠ.t‹.uŒ.u�.uŽ.u�.u�.u‘.u’.u“.u”.u•.u–.u—.u˜.u™.uš.u›.uœ.u�.už.uŸ.u .u¡.u¢.u£.u¤.u¥.u¦.u§.u¨.u©.uª.u«.u¬.u­.u®.u¯.u°.u±.u².u³.u´.uµ.u¶.u·.u¸.u¹.uº.u».u¼.u½.u¾.u¿.uÀ.uÁ.uÂ.uÃ.uÄ.uÅ.uÆ.uÇ.uÈ.uÉ.uÊ.uË.uÌ.uÍ.uÎ.uÏ.uÐ.uÑ.uÒ.uÓ.uÔ.uÕ.uÖ.u×.vØ.vÙ.vÚ.vÛ.vÜ.vÝ.vÞ.vß.và.vá.vâ.vã.vä.vå.væ.vç.vè.vé.vê.vë.vì.ví.vî.vï.vð.vñ.vò.vó.vô.võ.vö.v÷.vø.vù.vú.vû.vü.vý.vþ.vÿ.v€/v�/v‚/vƒ/v„/v…/v†/v‡/vˆ/v‰/vŠ/v‹/vŒ/v�/wŽ/w�/w�/w‘/w’/w“/w”/w•/w–/w—/w˜/w™/wš/w›/wœ/w�/wž/wŸ/w /w¡/w¢/w£/w¤/w¥/w¦/w§/w¨/w©/wª/w«/w¬/w­/x®/x¯/x°/x±/x²/x³/x´/xµ/x¶/x·/x¸/x¹/xº/x»/x¼/x½/x¾/x¿/xÀ/xÁ/xÂ/xÃ/xÄ/ Å/ Æ/ Ç/ È/ É/ Ê/ Ë/ Ì/ Í/ Î/yÏ/yÐ/yÑ/yÒ/yÓ/yÔ/yÕ/yÖ/y×/yØ/yÙ/yÚ/yÛ/yÜ/yÝ/yÞ/yß/yà/yá/yâ/yã/yä/yå/yæ/yç/yè/yé/yê/yë/yì/yí/yî/yï/yð/yñ/yò/yó/yô/yõ/yö/y÷/yø/yù/yú/yû/yü/yý/yþ/yÿ/y€0y�0y‚0yƒ0y„0y…0y†0y‡0yˆ0y‰0yŠ0y‹0yŒ0y�0yŽ0y�0y�0y‘0y’0y“0y”0y•0y–0y—0y˜0y™0yš0y›0yœ0y�0yž0yŸ0y 0y¡0y¢0y£0y¤0y¥0y¦0y§0y¨0y©0yª0y«0y¬0y­0y®0y¯0y°0y±0y²0y³0y´0yµ0y¶0y·0y¸0y¹0yº0y»0y¼0y½0y¾0y¿0yÀ0yÁ0yÂ0yÃ0yÄ0yÅ0yÆ0yÇ0yÈ0yÉ0yÊ0yË0yÌ0yÍ0yÎ0yÏ0yÐ0yÑ0yÒ0yÓ0yÔ0yÕ0yÖ0y×0yØ0yÙ0yÚ0yÛ0yÜ0yÝ0yÞ0yß0yà0yá0yâ0yã0yä0yå0yæ0yç0yè0yé0yê0yë0yì0yí0yî0yï0yð0yñ0yò0yó0yô0yõ0yö0y÷0yø0yù0yú0yû0yü0yý0yþ0yÿ0y€1y�1y‚1yƒ1y„1y…1y†1y‡1yˆ1y‰1yŠ1y‹1yŒ1y�1yŽ1y�1y�1y‘1y’1y“1y”1y•1y–1y—1y˜1y™1yš1y›1yœ1y�1yž1yŸ1y 1y¡1y¢1y£1y¤1y¥1y¦1y§1y¨1y©1yª1y«1y¬1y­1y®1y¯1y°1y±1y²1y³1y´1yµ1y¶1y·1y¸1y¹1yº1y»1y¼1y½1y¾1y¿1yÀ1yÁ1yÂ1yÃ1yÄ1yÅ1yÆ1yÇ1yÈ1yÉ1yÊ1yË1yÌ1yÍ1yÎ1yÏ1yÐ1yÑ1yÒ1yÓ1yÔ1yÕ1yÖ1y×1yØ1yÙ1yÚ1yÛ1yÜ1yÝ1yÞ1yß1yà1yá1yâ1yã1yä1yå1yæ1yç1yè1yé1yê1yë1yì1yí1yî1yï1yð1yñ1yò1yó1yô1yõ1yö1y÷1yø1yù1yú1yû1yü1yý1yþ1yÿ1y€2y�2y‚2yƒ2y„2y…2y†2y‡2yˆ2y‰2yŠ2y‹2yŒ2y�2yŽ2y�2y�2y‘2y’2y“2y”2y•2y–2y—2y˜2y™2yš2y›2yœ2z�2zž2zŸ2z 2z¡2z¢2z£2z¤2z¥2z¦2z§2z¨2z©2zª2z«2z¬2z­2z®2z¯2z°2z±2z²2z³2z´2zµ2z¶2z·2z¸2z¹2zº2z»2z¼2z½2z¾2z¿2zÀ2zÁ2zÂ2zÃ2zÄ2zÅ2zÆ2zÇ2zÈ2zÉ2zÊ2zË2zÌ2zÍ2zÎ2zÏ2zÐ2zÑ2zÒ2zÓ2zÔ2zÕ2zÖ2z×2zØ2zÙ2zÚ2zÛ2zÜ2zÝ2zÞ2zß2zà2zá2zâ2zã2zä2zå2zæ2zç2zè2zé2zê2zë2zì2zí2zî2zï2zð2zñ2zò2zó2zô2zõ2zö2z÷2zø2zù2zú2zû2zü2zý2zþ2zÿ2z€3z�3z‚3zƒ3z„3z…3z†3z‡3zˆ3z‰3zŠ3z‹3zŒ3z�3zŽ3z�3z�3z‘3z’3z“3z”3z•3z–3z—3z˜3z™3zš3z›3zœ3z�3zž3zŸ3z 3z¡3z¢3z£3z¤3z¥3z¦3z§3z¨3z©3zª3z«3z¬3z­3z®3z¯3z°3z±3z²3z³3z´3zµ3z¶3z·3z¸3z¹3zº3z»3z¼3{½3{¾3{¿3{À3{Á3{Â3{Ã3{Ä3{Å3{Æ3{Ç3{È3{É3{Ê3{Ë3{Ì3{Í3{Î3{Ï3{Ð3{Ñ3{Ò3{Ó3{Ô3{Õ3{Ö3{×3{Ø3{Ù3{Ú3{Û3{Ü3{Ý3{Þ3{ß3{à3{á3{â3{ã3{ä3{å3{æ3{ç3{è3{é3{ê3{ë3{ì3{í3{î3{ï3{ð3{ñ3{ò3{ó3{ô3{õ3{ö3{÷3{ø3{ù3{ú3{û3{ü3{ý3{þ3{ÿ3{€4{�4{‚4{ƒ4{„4{…4{†4{‡4{ˆ4{‰4{Š4{‹4{Œ4{�4{Ž4{�4{�4{‘4{’4{“4{”4{•4{–4{—4{˜4{™4{š4{›4{œ4{�4{ž4{Ÿ4{ 4{¡4{¢4{£4{¤4{¥4{¦4{§4{¨4{©4{ª4{«4{¬4{­4{®4{¯4{°4{±4{²4{³4{´4{µ4{¶4{·4{¸4{¹4{º4{»4|¼4|½4|¾4|¿4|À4|Á4|Â4|Ã4|Ä4|Å4|Æ4|Ç4|È4|É4|Ê4|Ë4|Ì4|Í4|Î4|Ï4|Ð4}Ñ4}Ò4}Ó4}Ô4}Õ4}Ö4}×4}Ø4}Ù4}Ú4}Û4}Ü4}Ý4}Þ4}ß4}à4}á4}â4}ã4}ä4}å4}æ4}ç4}è4}é4}ê4}ë4}ì4}í4}î4}ï4}ð4}ñ4}ò4}ó4}ô4}õ4}ö4}÷4}ø4}ù4}ú4}û4}ü4}ý4}þ4}ÿ4}€5}�5}‚5~ƒ5~„5~…5~†5~‡5~ˆ5~‰5~Š5~‹5~Œ5~�5~Ž5~�5~�5~‘5~’5~“5~”5~•5~–5~—5~˜5~™5~š5~›5~œ5~�5~ž5~Ÿ5~ 5~¡5¢5£5¤5¥5¦5§5¨5©5ª5«5¬5­5®5¯5°5±5²5³5´5µ5¶5·5¸5¹5º5»5¼5½5¾5¿5À5Á5Â5Ã5Ä5Å5Æ5Ç5È5É5Ê5Ë5Ì5€Í5€Î5€Ï5€Ð5€Ñ5€Ò5€Ó5€Ô5€Õ5€Ö5€×5€Ø5€Ù5€Ú5€Û5€Ü5€Ý5€Þ5€ß5€à5€á5€â5€ã5€ä5�å5�æ5�ç5�è5‚é5‚ê5‚ë5‚ì5‚í5‚î5‚ï5‚ð5‚ñ5‚ò5‚ó5‚ô5‚õ5‚ö5‚÷5‚ø5‚ù5‚ú5‚û5‚ü5‚ý5‚þ5‚ÿ5‚€6‚�6‚‚6ƒƒ6ƒ„6ƒ…6ƒ†6ƒ‡6ƒˆ6ƒ‰6ƒŠ6ƒ‹6ƒŒ6ƒ�6ƒŽ6ƒ�6ƒ�6ƒ‘6„’6„“6…”6…•6…–6…—6…˜6…™6…š6…›6…œ6…�6…ž6…Ÿ6… 6…¡6…¢6…£6…¤6…¥6…¦6…§6…¨6†©6†ª6†«6†¬6‡­6‡®6‡¯6‡°6‡±6ˆ²6ˆ³6ˆ´6ˆµ6ˆ¶6ˆ·6ˆ¸6ˆ¹6ˆº6ˆ»6ˆ¼6ˆ½6ˆ¾6‰¿6‰À6‰Á6‰Â6‰Ã6‰Ä6‰Å6‰Æ6‰Ç6‰È6‰É6…Ê6…Ë6ŠÌ6ŠÍ6ŠÎ6ŠÏ6ŠÐ6ŠÑ6ŠÒ6ŠÓ6ŠÔ6ŠÕ6ŠÖ6Š×6ŠØ6ŠÙ6ŠÚ6ŠÛ6ŠÜ6ŠÝ6ŠÞ6Šß6Šà6Šá6‹â6‹ã6‹ä6‹å6‹æ6‹ç6‹è6‹é6‹ê6‹ë6‹ì6‹í6‹î6‹ï6‹ð6‹ñ6‹ò6‹ó6‹ô6‹õ6‹ö6‹÷6Œø6Œù6Œú6Œû6Œü6Œý6Œþ6Œÿ6Œ€7Œ�7Œ‚7Œƒ7Œ„7Œ…7Œ†7Œ‡7Œˆ7Œ‰7ŒŠ7Œ‹7ŒŒ7Œ�7ŒŽ7Œ�7Œ�7Œ‘7Œ’7Œ“7Œ”7Œ•7Œ–7Œ—7Œ˜7Œ™7Œš7Œ›7Œœ7Œ�7Œž7ŒŸ7Œ 7Œ¡7Œ¢7Œ£7Œ¤7Œ¥7Œ¦7Œ§7Œ¨7Œ©7Œª7Œ«7Œ¬7Œ­7Œ®7Œ¯7Œ°7Œ±7Œ²7Œ³7Œ´7Œµ7Œ¶7Œ·7Œ¸7Œ¹7Œº7Œ»7Œ¼7Œ½7Œ¾7Œ¿7�À7�Á7�Â7�Ã7�Ä7�Å7�Æ7�Ç7�È7�É7�Ê7�Ë7�Ì7�Í7�Î7�Ï7�Ð7�Ñ7�Ò7�Ó7�Ô7�Õ7�Ö7�×7�Ø7�Ù7�Ú7�Û7�Ü7�Ý7�Þ7�ß7�à7�á7�â7�ã7�ä7�å7�æ7�ç7�è7�é7�ê7�ë7�ì7�í7�î7�ï7�ð7�ñ7�ò7�ó7�ô7�õ7�ö7�÷7�ø7�ù7�ú7�û7�ü7�ý7�þ7�ÿ7�€8��8�‚8�ƒ8�„8�…8�†8�‡8�ˆ8�‰8�Š8�‹8�Œ8��8�Ž8��8��8�‘8�’8�“8�”8�•8�–8�—8�˜8�™8�š8�›8�œ8��8�ž8�Ÿ8� 8�¡8�¢8�£8�¤8�¥8�¦8�§8�¨8�©8�ª8�«8�¬8�­8�®8�¯8�°8�±8�²8�³8�´8�µ8�¶8�·8�¸8�¹8�º8�»8�¼8�½8�¾8�¿8�À8�Á8�Â8�Ã8�Ä8�Å8�Æ8�Ç8�È8�É8�Ê8�Ë8�Ì8�Í8�Î8�Ï8�Ð8�Ñ8�Ò8�Ó8�Ô8�Õ8�Ö8�×8�Ø8�Ù8�Ú8�Û8�Ü8�Ý8�Þ8�ß8�à8�á8�â8�ã8�ä8�å8�æ8�ç8�è8�é8�ê8�ë8�ì8�í8�î8�ï8�ð8�ñ8�ò8�ó8�ô8�õ8�ö8�÷8�ø8�ù8�ú8�û8�ü8�ý8�þ8�ÿ8�€9��9�‚9�ƒ9�„9�…9�†9�‡9�ˆ9�‰9�Š9�‹9�Œ9��9�Ž9��9��9�‘9�’9�“9�”9�•9�–9�—9�˜9�™9�š9�›9�œ9��9�ž9�Ÿ9� 9�¡9�¢9�£9�¤9�¥9�¦9�§9�¨9�©9�ª9�«9�¬9�­9�®9�¯9�°9�±9�²9�³9�´9�µ9�¶9�·9�¸9�¹9�º9�»9�¼9�½9�¾9�¿9�À9�Á9�Â9�Ã9�Ä9�Å9�Æ9�Ç9�È9�É9�Ê9�Ë9�Ì9�Í9�Î9�Ï9�Ð9�Ñ9�Ò9�Ó9�Ô9�Õ9�Ö9�×9�Ø9�Ù9�Ú9�Û9�Ü9�Ý9�Þ9�ß9�à9�á9�â9�ã9�ä9�å9�æ9�ç9�è9�é9�ê9�ë9�ì9�í9�î9�ï9�ð9�ñ9�ò9�ó9�ô9�õ9�ö9�÷9�ø9�ù9�ú9�û9�ü9�ý9�þ9�ÿ9�€:��:�‚:�ƒ:�„:�…:�†:�‡:�ˆ:�‰:�Š:�‹:�Œ:��:�Ž:��:��:�‘:�’:�“:�”:�•:�–:�—:�˜:�™:�š:�›:�œ:��:�ž:�Ÿ:� :�¡:�¢:�£:�¤:�¥:�¦:�§:�¨:�©:�ª:�«:�¬:�­:�®:�¯:�°:�±:�²:�³:�´:�µ:�¶:�·:�¸:�¹:�º:�»:�¼:�½:�¾:�¿:�À:�Á:�Â:�Ã:�Ä:�Å:�Æ:�Ç:�È:�É:�Ê:�Ë:�Ì:�Í:�Î:�Ï:�Ð:�Ñ:�Ò:�Ó:�Ô:�Õ:�Ö:�×:�Ø:�Ù:�Ú:�Û:�Ü:�Ý:�Þ:�ß:�à:�á:�â:�ã:�ä:�å:�æ:�ç:�è:�é:�ê:�ë:�ì:�í:�î:�ï:�ð:�ñ:�ò:�ó:�ô:�õ:Žö:Ž÷:Žø:Žù:Žú:Žû:Žü:Žý:�þ:�ÿ:�€;��;�‚;�ƒ;�„;�…;�†;�‡;�ˆ;�‰;�Š;�‹;�Œ;��;�Ž;��;��;�‘;�’;�“;�”;�•;�–;�—;�˜;�™;�š;�›;�œ;��;�ž;�Ÿ;� ;�¡;�¢;�£;�¤;�¥;�¦;�§;�¨;�©;�ª;�«;�¬;�­;�®;�¯;�°;�±;�²;�³;�´;�µ;�¶;�·;�¸;�¹;�º;�»;�¼;�½;�¾;�¿;�À;�Á;�Â;�Ã;�Ä;�Å;�Æ;�Ç;�È;�É;�Ê;�Ë;�Ì;�Í;�Î;�Ï;�Ð;�Ñ;�Ò;�Ó;�Ô;�Õ;�Ö;�×;�Ø;�Ù;�Ú;�Û;�Ü;�Ý;�Þ;�ß;�à;�á;�â;�ã;�ä;�å;�æ;�ç;�è;�é;�ê;�ë;�ì;�í;�î;�ï;�ð;�ñ;�ò;�ó;�ô;�õ;�ö;�÷;�ø;�ù;�ú;�û;�ü;�ý;�þ;�ÿ;�€<��<�‚<�ƒ<�„<�…<�†<�‡<�ˆ<�‰<�Š<�‹<�Œ<��<�Ž<‘�<‘�<‘‘<‘’<‘“<‘”<‘•<‘–<‘—<‘˜<‘™<‘š<‘›<‘œ<‘�<‘ž<‘Ÿ<‘ <‘¡<‘¢<‘£<‘¤<‘¥<‘¦<‘§<‘¨<‘©<‘ª<‘«<‘¬<‘­<‘®<‘¯<‘°<‘±<‘²<‘³<‘´<‘µ<‘¶<‘·<’¸<’¹<’º<’»<’¼<’½<’¾<’¿<’À<’Á<’Â<’Ã<’Ä<’Å<’Æ<’Ç<’È<’É<’Ê<’Ë<’Ì<’Í<’Î<’Ï<’Ð<’Ñ<’Ò<’Ó<’Ô<’Õ<’Ö<’×<’Ø<’Ù<’Ú<’Û<’Ü<’Ý<’Þ<’ß<’à<’á<’â<’ã<’ä<“å<“æ<“ç<“è<“é<“ê<“ë<“ì<“í<“î<“ï<“ð<“ñ<“ò<“ó<“ô<“õ<“ö<“÷<“ø<“ù<“ú<“û<“ü<“ý<“þ<“ÿ<“€=“�=“‚=“ƒ=“„=“…=“†=“‡=“ˆ=“‰=“Š=“‹=“Œ=“�=“Ž=“�=“�=“‘=“’=““=“”=“•=“–=“—=“˜=“™=“š=”›=”œ=”�=”ž=”Ÿ=” =”¡=”¢=”£=”¤=”¥=”¦=”§=”¨=”©=”ª=”«=”¬=”­=”®=”¯=”°=”±=”²=”³=”´=”µ=”¶=”·=”¸=”¹=”º=”»=”¼=”½=”¾=”¿=”À=”Á=”Â=”Ã=”Ä=”Å=”Æ=”Ç=”È=”É=”Ê=”Ë=”Ì=•Í=•Î=•Ï=•Ð=•Ñ=•Ò=•Ó=•Ô=•Õ=•Ö=•×=•Ø=•Ù=•Ú=•Û=•Ü=•Ý=•Þ=•ß=•à=•á=•â=•ã=•ä=•å=•æ=•ç=–è=–é=–ê=–ë=–ì=–í=–î=–ï=–ð=–ñ=–ò=–ó=–ô=–õ=–ö=–÷=–ø=–ù=–ú=–û=–ü=–ý=–þ=–ÿ=–€>–�>–‚>–ƒ>–„>–…>–†>–‡>–ˆ>–‰>–Š>–‹>–Œ>–�>–Ž>–�>–�>–‘>–’>–“>–”>–•>––>–—>–˜>–™>–š>–›>–œ>–�>–ž>–Ÿ>– >–¡>–¢>–£>–¤>–¥>—¦>—§>—¨>—©>—ª>—«>—¬>—­>—®>—¯>—°>—±>—²>—³>—´>—µ>—¶>—·>—¸>—¹>—º>—»>˜¼>˜½>˜¾>˜¿>˜À>˜Á>˜Â>˜Ã>˜Ä>˜Å>˜Æ>˜Ç>˜È>˜É>˜Ê>˜Ë>˜Ì>˜Í>˜Î>˜Ï>˜Ð>˜Ñ>˜Ò>˜Ó>˜Ô>˜Õ>™Ö>™×>™Ø>™Ù>™Ú>™Û>™Ü>™Ý>™Þ>™ß>™à>™á>™â>™ã>™ä>™å>™æ>™ç>™è>™é>™ê>™ë>™ì>™í>™î>™ï>™ð>™ñ>™ò>™ó>™ô>™õ>™ö>™÷>™ø>™ù>™ú>™û>™ü>™ý>™þ>™ÿ>™€?™�?™‚?™ƒ?™„?™…?™†?™‡?™ˆ?™‰?™Š?™‹?™Œ?™�?™Ž?™�?™�?™‘?™’?™“?™”?™•?™–?™—?™˜?™™?™š?™›?™œ?™�?™ž?™Ÿ?™ ?™¡?™¢?™£?™¤?™¥?™¦?™§?™¨?™©?™ª?™«?™¬?™­?™®?™¯?™°?™±?™²?™³?™´?™µ?™¶?™·?™¸?™¹?™º?™»?™¼?™½?™¾?™¿?™À?™Á?™Â?™Ã?™Ä?™Å?™Æ?™Ç?™È?™É?™Ê?™Ë?™Ì?™Í?™Î?™Ï?™Ð?™Ñ?™Ò?™Ó?™Ô?™Õ?™Ö?™×?™Ø?™Ù?™Ú?™Û?™Ü?™Ý?™Þ?™ß?™à?™á?™â?™ã?™ä?™å?™æ?™ç?™è?™é?™ê?™ë?™ì?™í?™î?™ï?™ð?™ñ?™ò?™ó?™ô?™õ?™ö?™÷?™ø?™ù?™ú?™û?™ü?™ý?™þ?™ÿ?™€@™�@™‚@™ƒ@™„@™…@™†@™‡@™ˆ@™‰@™Š@™‹@™Œ@™�@™Ž@™�@™�@™‘@™’@™“@™”@™•@™–@™—@™˜@™™@™š@™›@™œ@™�@™ž@™Ÿ@™ @™¡@™¢@™£@™¤@™¥@™¦@™§@™¨@™©@™ª@™«@™¬@™­@™®@™¯@™°@™±@™²@™³@™´@™µ@™¶@™·@™¸@™¹@™º@™»@™¼@™½@™¾@™¿@™À@™Á@™Â@™Ã@™Ä@™Å@™Æ@™Ç@™È@™É@™Ê@™Ë@™Ì@™Í@™Î@™Ï@™Ð@™Ñ@™Ò@™Ó@™Ô@™Õ@™Ö@™×@™Ø@™Ù@™Ú@™Û@™Ü@™Ý@™Þ@™ß@™à@™á@™â@™ã@™ä@™å@™æ@™ç@™è@™é@™ê@™ë@™ì@™í@™î@™ï@™ð@™ñ@™ò@™ó@™ô@™õ@™ö@™÷@™ø@™ù@™ú@™û@™ü@™ý@™þ@™ÿ@™€A™�A™‚A™ƒA™„A™…A™†A™‡A™ˆA™‰A™ŠA™‹A™ŒA™�A™ŽA™�A™�A™‘A™’A™“A™”A™•A™–A™—A™˜A™™A™šA™›A™œA™�A™žA™ŸA™ A™¡A™¢A™£A™¤A™¥A™¦A™§A™¨A™©A™ªA™«A™¬A™­A™®A™¯A™°A™±A™²A™³A™´A™µA™¶A™·A™¸A™¹A™ºA™»A™¼A™½A™¾A™¿A™ÀA™ÁA™ÂA™ÃA™ÄA™ÅA™ÆA™ÇA™ÈA™ÉA™ÊA™ËA™ÌA™ÍA™ÎA™ÏA™ÐA™ÑAšÒAšÓAšÔAšÕAšÖAš×AšØAšÙAšÚAšÛAšÜAšÝAšÞAšßAšàAšáAšâAšãAšäAšåAšæAšçAšèAšéAšêAšëAšìAšíAšîAšïAšðAšñAšòAšóAšôAšõAšöAš÷AšøAšùAšúAšûAšüAšýAšþAšÿAš€Bš�Bš‚BšƒBš„Bš…Bš†Bš‡BšˆBš‰BšŠBš‹BšŒBš�BšŽBš�Bš�Bš‘Bš’Bš“Bš”Bš•Bš–Bš—Bš˜Bš™BššBš›BšœB›�B›žB›ŸBœ Bœ¡Bœ¢Bœ£Bœ¤Bœ¥Bœ¦Bœ§Bœ¨Bœ©BœªBœ«Bœ¬Bœ­Bœ®Bœ¯Bœ°Bœ±Bœ²Bœ³Bœ´BœµBœ¶Bœ·Bœ¸Bœ¹BœºBœ»Bœ¼Bœ½Bœ¾Bœ¿BœÀBœÁBœÂBœÃBœÄBœÅBœÆBœÇBœÈBœÉBœÊBœËBœÌBœÍBœÎBœÏBœÐBœÑBœÒBœÓBœÔBœÕB�ÖB�×B�ØB�ÙB�ÚB�ÛB�ÜB�ÝB�ÞB�ßB�àB�áB�âB�ãB�äB�åB�æB�çB�èB�éB�êB�ëB�ìB�íBžîBžïBžðBžñBžòBžóBžôBžõBžöBŸ÷BŸøBŸùBŸúBŸûBŸüBŸýBŸþBŸÿBŸ€CŸ�CŸ‚CŸƒCŸ„CŸ…CŸ†CŸ‡CŸˆCŸ‰CŸŠCŸ‹CŸŒCŸ�CŸŽCŸ�CŸ�CŸ‘CŸ’CŸ“CŸ”CŸ•CŸ–CŸ—CŸ˜CŸ™CŸšCŸ›C œC �C žC ŸC  C ¡C ¢C £C ¤C ¥C ¦C §C ¨C ©C ªC«C¬C¡­C¡®C¡¯C¡°C¡±C¡²C¡³C¡´C¡µC¡¶C¡·C¡¸C¡¹C¡ºC¡»C¡¼C¡½C¡¾C¡¿C¡ÀC¡ÁC¡ÂC¡ÃC¡ÄC¡ÅC¡ÆC¡ÇC¡ÈC¡ÉC¡ÊC¡ËC¡ÌC¡ÍC¡ÎC¡ÏC¡ÐC¡ÑC¡ÒC¡ÓC¡ÔC¡ÕC¡ÖC¡×C¡ØC¡ÙC¡ÚC¡ÛC¡ÜC¡ÝC¡ÞC¡ßC¡àC¡áC¡âC¡ãC¡äC¡åC¡æC¡çC¡èC¡éC¡êC¡ëC¡ìC¡íC¡îC¢ïC¢ðC¢ñC¢òC¢óC¢ôC¢õC¢öC£÷C£øC£ùC£úC£ûC£üC£ýC£þC£ÿC£€D£�D£‚D£ƒD£„D£…D£†D£‡D£ˆD¤‰D¤ŠD¤‹D¥ŒD¥�D¦ŽD¦�D¦�D¦‘D¦’D¦“D¦”D¦•D¦–D¦—D¦˜D¦™D¦šD¦›D¦œD¦�D¦žD ŸD  D ¡D ¢D £D ¤D ¥D ¦D §D ¨D ©D ªD «D ¬D ­D ®D ¯D °D ±D ²D ³D ´D µD ¶D ·D ¸D ¹D ºD »D ¼D ½D ¾D ¿D ÀD ÁD ÂD ÃD ÄD ÅD ÆD ÇD ÈD ÉD ÊD ËD ÌD ÍD ÎD ÏD ÐD ÑD ÒD ÓD ÔD ÕD ÖD ×D ØD ÙD ÚD ÛD ÜD ÝD ÞD ßD àD áD âD ãD äD åD æD çD èD éD êD ëD ìD íD îD ïD ðD ñD òD óD ôD õD öD ÷D øD ùD úD ûD üD ýD þD ÿD €E �E ‚E ƒE „E …E †E ‡E ˆE ‰E ŠE ‹E ŒE �E ŽE �E �E ‘ES’ES“ES”ES•ES–ES—ES˜ES™ESšES›ESœES�ESžESŸES ES¡ES¢ES£ES¤ES¥ES¦ES§ES¨ES©ESªES«ES¬ES­ES®ES¯ES°ES±ES²ES³ES´ESµES¶ES·ES¸ES¹ESºES»ES¼ES½ES¾ES¿ESÀESÁESÂESÃESÄESÅESÆESÇESÈESÉESÊESËESÌESÍESÎESÏESÐESÑESÒESÓESÔESÕESÖES×ESØESÙESÚESÛESÜESÝESÞESßESàESáESâESãESäESåESæESçESèESéESêESëESìESíESîESïESðESñESòESóESôESõESöES÷ESøESùESúESûESüESýESþESÿES€FS�FS‚FSƒFS„FS…FS†FS‡FSˆFS‰FSŠFS‹FSŒFS�FSŽFS�FS�FS‘FS’FS“FS”FS•FS–FS—FS˜FS™FSšFS›FSœFS�FSžFSŸFS FS¡FS¢FS£FS¤FS¥FS¦FS§FS¨FS©FSªFS«FS¬FS­FS®FS¯FS°FS±FS²FS³FS´FSµFS¶FS·FS¸FS¹FSºFS»FS¼FS½FS¾FS¿FSÀFSÁFSÂFSÃFSÄFSÅFSÆFSÇFSÈFSÉFSÊFSËFSÌFSÍFSÎFSÏFSÐFSÑFSÒFSÓFSÔFSÕFSÖFS×FSØFSÙFSÚFSÛFSÜFSÝFSÞFSßFSàFSáFSâFSãFSäFSåFSæFSçFSèFSéFSêFSëFSìFSíFSîFSïFSðFSñFSòFSóFSôFSõFSöFS÷FSøFSùFSúFSûFSüFSýFSþFSÿFS€GS�GS‚GSƒGS„GS…GS†GS‡GSˆGS‰GSŠGS‹GSŒGS�GSŽGS�GS�GS‘GS’GS“GS”GS•GS–GS—GS˜GS™GSšGS›GSœGS�GSžGSŸGS GS¡GS¢GS£GS¤GS¥GS¦GS§GS¨GS©GSªGS«GS¬GS­GS®GS¯GS°GS±GS²GS³GS´GSµGS¶GS·GS¸GS¹GSºGS»GS¼GS½GS¾GS¿GSÀGSÁGSÂGSÃGSÄGSÅGSÆGSÇGSÈGSÉGSÊGSËGSÌGSÍGSÎGSÏGSÐGSÑGSÒGSÓGSÔGSÕGSÖGS×GSØGSÙGSÚGSÛGSÜGSÝGSÞGSßGSàGSáGSâGSãGSäGSåGSæGSçGSèGSéGSêGSëGSìGSíGSîGSïGSðGSñGSòGSóGSôGSõGSöGS÷GSøGSùGSúGSûGSüGSýGSþGSÿGS€HS�HS‚HSƒHS„HS…HS†HS‡HSˆHS‰HSŠHS‹HSŒHS�HSŽHS�HS�HS‘HS’HS“HS”HS•HS–HS—HS˜HS™HSšHS›HSœHS�HSžHSŸHS HS¡HS¢HS£HS¤HS¥HS¦HS§HS¨HS©HSªHS«HS¬HS­HS®HS¯HS°HS±HS²HS³HS´HSµHS¶HS·HS¸HS¹HSºHS»HS¼HS½HS¾HS¿HSÀHSÁHSÂHSÃHSÄHSÅHSÆHSÇHSÈHSÉHSÊHSËHSÌHSÍHSÎHSÏHSÐHSÑHSÒHSÓHSÔHSÕHSÖHS×HSØHSÙHSÚHSÛHSÜHSÝHSÞHSßHSàHSáHSâHSãHSäHSåHSæHSçHSèHSéHSêHSëHSìHSíHSîHSïHSðHSñHSòHSóHSôHSõHSöHS÷HSøHSùHSúHSûHSüHSýHSþHSÿHS€IS�IS‚ISƒIS„IS…IS†IS‡ISˆIS‰ISŠIS‹ISŒIS�ISŽIS�IS�IS‘IS’IS“IS”IS•IS–IS—IS˜IS™ISšIS›ISœIS�ISžISŸIS IS¡IS¢IS£IS¤IS¥IS¦IS§IS¨IS©ISªIS«IS¬IS­IS®IS¯IS°IS±IS²IS³IS´ISµIS¶IS·IS¸IS¹ISºIS»IS¼IS½IS¾IS¿ISÀISÁISÂISÃISÄISÅISÆISÇISÈISÉISÊISËISÌISÍISÎISÏISÐISÑISÒISÓISÔISÕISÖIS×ISØISÙISÚISÛISÜISÝISÞISßISàISáISâISãISäISåISæISçISèISéISêISëISìISíISîISïISðISñISòISóISôISõISöIS÷ISøISùISúISûISüISýISþISÿIS€JS�JS‚JSƒJS„JS…JS†JS‡JSˆJS‰JSŠJS‹JSŒJS�JSŽJS�JS�JS‘JS’JS“JS”JS•JS–JS—JS˜JS™JSšJS›JSœJS�JSžJSŸJS JS¡JS¢JS£JS¤JS¥JS¦JS§JS¨JS©JSªJS«JS¬JS­JS®JS¯JS°JS±JS²JS³JS´JSµJS¶JS·JS¸JS¹JSºJS»JS¼JS½JS¾JS¿JSÀJSÁJSÂJSÃJSÄJSÅJSÆJSÇJSÈJSÉJSÊJSËJSÌJSÍJSÎJSÏJSÐJSÑJSÒJSÓJSÔJSÕJSÖJS×JSØJSÙJSÚJSÛJSÜJSÝJSÞJSßJSàJSáJSâJSãJSäJSåJSæJSçJSèJSéJSêJSëJSìJSíJSîJSïJSðJSñJSòJSóJSôJSõJSöJS÷JSøJSùJSúJSûJSüJSýJSþJSÿJS€KS�KS‚KSƒKS„KS…KS†KS‡KSˆKS‰KSŠKS‹KSŒKS�KSŽKS�KS�KS‘KS’KS“KS”KS•KS–KS—KS˜KS™KSšKS›KSœKS�KSžKSŸKS KS¡KS¢KS£KS¤KS¥KS¦KS§KS¨KS©KSªKS«KS¬KS­KS®KS¯KS°KS±KS²KS³KS´KSµKS¶KS·KS¸KS¹KSºKS»KS¼KS½KS¾KS¿KSÀKSÁKSÂKSÃKSÄKSÅKSÆKSÇKSÈKSÉKSÊKSËKSÌKSÍKSÎKSÏKSÐKSÑKSÒKSÓKSÔKSÕKSÖKS×KSØKSÙKSÚKSÛKSÜKSÝKSÞKSßKSàKSáKSâKSãKSäKSåKSæKSçKSèKSéKSêKSëKSìKSíKSîKSïKSðKSñKSòKSóKSôKSõKSöKS÷KSøKSùKSúKSûKSüKSýKSþKSÿKS€LS�LS‚LSƒLS„LS…LS†LS‡LSˆLS‰LSŠLS‹LSŒLS�LSŽLS�LS�LS‘LS’LS“LS”LS•LS–LS—LS˜LS™LSšLS›LSœLS�LSžLSŸLS LS¡LS¢LS£LS¤LS¥LS¦LS§LS¨LS©LSªLS«LS¬LS­LS®LS¯LS°LS±LS²LS³LS´LSµLS¶LS·LS¸LS¹LSºLS»LS¼LS½LS¾LS¿LSÀLSÁLSÂLSÃLSÄLSÅLSÆLSÇLSÈLSÉLSÊLSËLSÌLSÍLSÎLSÏLSÐLSÑLSÒLSÓLSÔLSÕLSÖLS×LSØLSÙLSÚLSÛLSÜLSÝLSÞLSßLSàLSáLSâLSãLSäLSåLSæLSçLSèLSéLSêLSëLSìLSíLSîLSïLSðLSñLSòLSóLSôLSõLSöLS÷LSøLSùLSúLSûLSüLSýLSþLSÿLS€MS�MS‚MSƒMS„MS…MS†MS‡MSˆMS‰MSŠMS‹MSŒMS�MSŽMS�MS�MS‘MS’MS“MS”MS•MS–MS—MS˜MS™MSšMS›MSœMS�MSžMSŸMS MS¡MS¢MS£MS¤MS¥MS¦MS§MS¨MS©MSªMS«MS¬MS­MS®MS¯MS°MS±MS²MS³MS´MSµMS¶MS·MS¸MS¹MSºMS»MS¼MS½MS¾MS¿MSÀMSÁMSÂMSÃMSÄMSÅMSÆMSÇMSÈMSÉMSÊMSËMSÌMSÍMSÎMSÏMSÐMSÑMSÒMSÓMSÔMSÕMSÖMS×MSØMSÙMSÚMSÛMSÜMSÝMSÞMSßMSàMSáMSâMSãMSäMSåMSæMSçMSèMSéMSêMSëMSìMSíMSîMSïMSðMSñMSòMSóMSôMSõMSöMS÷MSøMSùMSúMSûMSüMSýMSþMSÿMS€NS�NS‚NSƒNS„NS…NS†NS‡NSˆNS‰NSŠNS‹NSŒNS�NSŽNS�NS�NS‘NS’NS“NS”NS•NS–NS—NS˜NS™NSšNS›NSœNS�NSžNSŸNS NS¡NS¢NS£NS¤NS¥NS¦NS§NS¨NS©NSªNS«NS¬NS­NS®NS¯NS°NS±NS²NS³NS´NSµNS¶NS·NS¸NS¹NSºNS»NS¼NS½NS¾NS¿NSÀNSÁNSÂNSÃNSÄNSÅNSÆNSÇNSÈNSÉNSÊNSËNSÌNSÍNSÎNSÏNSÐNSÑNSÒNSÓNSÔNSÕNSÖNS×NSØNSÙNSÚNSÛNSÜNSÝNSÞNSßNSàNSáNSâNSãNSäNSåNSæNSçNSèNSéNSêNSëNSìNSíNSîNSïNSðNSñNSòNSóNSôNSõNSöNS÷NSøNSùNSúNSûNSüNSýNSþNSÿNS€OS�OS‚OSƒOS„OS…OS†OS‡OSˆOS‰OSŠOS‹OSŒOS�OSŽOS�OS�OS‘OS’OS“OS”OS•OS–OS—OS˜OS™OSšOS›OSœOS�OSžOSŸOS OS¡OS¢OS£OS¤OS¥OS¦OS§OS¨OS©OSªOS«OS¬OS­OS®OS¯OS°OS±OS²OS³OS´OSµOS¶OS·OS¸OS¹OSºOS»OS¼OS½OS¾OS¿OSÀOSÁOSÂOSÃOSÄOSÅOSÆOSÇOSÈOSÉOSÊOSËOSÌOSÍOSÎOSÏOSÐOSÑOSÒOSÓOSÔOSÕOSÖOS×OSØOSÙOSÚOSÛOSÜOSÝOSÞOSßOSàOSáOSâOSãOSäOSåOSæOSçOSèOSéOSêOSëOSìOSíOSîOSïOSðOSñOSòOSóOSôOSõOSöOS÷OSøOSùOSúOSûOSüOSýOSþOSÿOS€PS�PS‚PSƒPS„PS…PS†PS‡PSˆPS‰PSŠPS‹PSŒPS�PSŽPS�PS�PS‘PS’PS“PS”PS•PS–PS—PS˜PS™PSšPS›PSœPS�PSžPSŸPS PS¡PS¢PS£PS¤PS¥PS¦PS§PS¨PS©PSªPS«PS¬PS­PS®PS¯PS°PS±PS²PS³PS´PSµPS¶PS·PS¸PS¹PSºPS»PS¼PS½PS¾PS¿PSÀPSÁPSÂPSÃPSÄPSÅPSÆPSÇPSÈPSÉPSÊPSËPSÌPSÍPSÎPSÏPSÐPSÑPSÒPSÓPSÔPSÕPSÖPS×PSØPSÙPSÚPSÛPSÜPSÝPSÞPSßPSàPSáPSâPSãPSäPSåPSæPSçPSèPSéPSêPSëPSìPSíPSîPSïPSðPSñPSòPSóPSôPSõPSöPS÷PSøPSùPSúPSûPSüPSýPSþPSÿPS€QS�QS‚QSƒQS„QS…QS†QS‡QSˆQS‰QSŠQS‹QSŒQS�QSŽQS�QS�QS‘QS’QS“QS”QS•QS–QS—QS˜QS™QSšQS›QSœQS�QSžQSŸQS QS¡QS¢QS£QS¤QS¥QS¦QS§QS¨QS©QSªQS«QS¬QS­QS®QS¯QS°QS±QS²QS³QS´QSµQS¶QS·QS¸QS¹QSºQS»QS¼QS½QS¾QS¿QSÀQSÁQSÂQSÃQSÄQSÅQSÆQSÇQSÈQSÉQSÊQSËQSÌQSÍQSÎQSÏQSÐQSÑQSÒQSÓQSÔQSÕQSÖQS×QSØQSÙQSÚQSÛQSÜQSÝQSÞQSßQSàQSáQSâQSãQSäQSåQSæQSçQSèQSéQSêQSëQSìQSíQSîQSïQSðQSñQSòQSóQSôQSõQSöQS÷QSøQSùQSúQSûQSüQSýQSþQSÿQS€RS�RS‚RSƒRS„RS…RS†RS‡RSˆRS‰RSŠRS‹RSŒRS�RSŽRS�RS�RS‘RS’RS“RS”RS•RS–RS—RS˜RS™RSšRS›RSœRS�RSžRSŸRS RS¡RS¢RS£RS¤RS¥RS¦RS§RS¨RS©RSªRS«RS¬RS­RS®RS¯RS°RS±RS²RS³RS´RSµRS¶RS·RS¸RS¹RSºRS»RS¼RS½RS¾RS¿RSÀRSÁRSÂRSÃRSÄRSÅRSÆRSÇRSÈRSÉRSÊRSËRSÌRSÍRSÎRSÏRSÐRSÑRSÒRSÓRSÔRSÕRSÖRS×RSØRSÙRSÚRSÛRSÜRSÝRSÞRSßRSàRSáRSâRSãRSäRSåRSæRSçRSèRSéR§êR§ëR§ìR§íR§îR§ïR§ðR§ñR§òR§óR§ôR§õR§öR§÷R§øR§ùR§úR§ûR§üR§ýR§þR§ÿR§€S§�S§‚S§ƒS§„S§…S§†S§‡S§ˆS§‰S§ŠS§‹S§ŒS§�S§ŽS§�S§�S§‘S§’S§“S§”S§•S§–S§—S§˜S§™S§šS§›S§œS§�S§žS§ŸS§ S§¡S§¢S§£S§¤S§¥S§¦S§§S§¨S§©S§ªS§«S§¬S§­S§®S§¯S§°S§±S§²S§³S§´S§µS¨¶S¨·S¨¸S¨¹S¨ºS¨»S¨¼S©½S©¾S©¿SªÀSªÁSªÂSªÃSªÄS«ÅS«ÆS¬ÇS¬ÈS­ÉS®ÊS¯ËS¯ÌS°ÍS°ÎS°ÏS±ÐS±ÑS±ÒS±ÓS±ÔS±ÕS±ÖS±×S±ØS±ÙS±ÚS±ÛS±ÜS±ÝS±ÞS±ßS±àS²áS²âS²ãS²äS²åS²æS²çS²èS²éS²êS²ëS²ìS²íS²îS²ïS²ðS²ñS²òS²óS²ôS²õS²öS²÷S²øS²ùS³úS³ûS³üS³ýS³þS³ÿS´€T´�Tµ‚T¶ƒT¶„T…T†T‡TˆT‰TŠT‹TŒT�TŽT�T�T‘T’T“T”T•T–T—T˜T™TšT›TœT�TžTŸT T¡T¢T£T¤T¥T¦T§T¨T©TªT«T¬T­T®T¯T°T±T²T³T´TµT¶T·T¸T¹TºT»T·¼T·½T·¾T·¿T·ÀT·ÁT·ÂT·ÃT·ÄT·ÅT·ÆT·ÇT·ÈT·ÉT¸ÊT¸ËT¸ÌT¸ÍT¸ÎT¸ÏT¸ÐT¸ÑT¸ÒT¹ÓT¹ÔTºÕT»ÖT»×T»ØT»ÙT»ÚT»ÛT»ÜT»ÝT»ÞT»ßT»àT»áT»âT»ãT»äT»åT»æT¼çT½èT¾éT¾êT¾ëT¾ìT¾íT¾îT¾ïT¾ðT¾ñT¾òT¿óT¿ôTÀõTÀöTÁ÷TÂøTÂùTÂúTÂûTÂüTÂýTÂþTÂÿT€UÂ�U‚UƒU„UÂ…U†U‡UˆU‰UŠU‹UÂŒUÂ�UÂŽUÂ�UÂ�U‘UÂ’U“U”U•U–U—U˜U™UšU›UœUÂ�UžUŸU U¡UâUÄ£UŤUÅ¥UŦUŧUŨUÅ©UŪUÅ«UŬUÅ­UÅ®UůUŰUűUŲUųUÅ´UŵUŶUÅ·UŸUŹUźUÅ»UżUŽUžUÅ¿UÅÀUÆÁUÇÂUÈÃUÈÄUÈÅUÈÆUÈÇUÈÈUÈÉUÈÊUÈËUÈÌUÈÍUÈÎUÈÏUÈÐUÈÑUÈÒUÈÓUÈÔUÈÕUÈÖUÈ×UÈØUÈÙUÈÚUÈÛUÈÜUÈÝUÈÞUÈßUÈàUÈáUÈâUÈãUÈäUÈåUÈæUÈçUÈèUÈéUÈêUÈëUÈìUÈíUÈîUÈïUÈðUÈñUÈòUÈóUÈôUÈõUÈöUÈ÷UÈøUÈùUÈúUÈûUÈüUÈýUÈþUÈÿUÈ€VÈ�VÈ‚VȃVÈ„VÈ…VȆVȇVȈVȉVÈŠVÈ‹VÈŒVÈ�VÈŽVÈ�VÈ�VÈ‘VÈ’VÈ“VÈ”VÈ•VÈ–VÈ—VȘVÈ™VÈšVÈ›VÈœVÈ�VÈžVÈŸVÈ VÈ¡VÈ¢VÈ£VȤVÈ¥VȦVȧVȨVÈ©VȪVÈ«VȬVÈ­VÈ®VȯVȰVȱVȲVȳVÈ´VȵVȶVÈ·VȸVȹVȺVÈ»VȼVȽVȾVÈ¿VÈÀVÈÁVÈÂVÈÃVÈÄVÈÅVÈÆVÈÇVÈÈVÈÉVÈÊVÈËVÈÌVÈÍVÈÎVÈÏVÈÐVÈÑVÈÒVÈÓVÈÔVÈÕVÈÖVÈ×VÈØVÈÙVÈÚVÈÛVÈÜVÈÝVÈÞVÈßVÈàVÈáV|âV|ãV|äV|åV|æV|çV|èV|éV|êV|ëV|ìV|íV|îV|ïV|ðV|ñV|òV|óV|ôV|õV|öV|÷V|øV|ùV|úV|ûV|üV|ýV|þV|ÿV|€W|�W|‚W|ƒW|„W|…W|†W|‡W|ˆW|‰W|ŠW|‹W|ŒW|�W|ŽW|�W|�W|‘W|’W|“WÉ”WÉ•WÉ–WÉ—WɘWÉ™WÉšWÉ›WÉœWÉ�WÉžWÉŸWÉ WÉ¡WÉ¢WÉ£WɤWÉ¥WɦWɧWɨWÉ©WɪWÉ«WɬWÉ­WÉ®WɯWɰWɱWɲWɳWÉ´WɵWɶWÉ·WɸWɹWɺWÉ»WɼWɽWɾWÉ¿WÉÀWÉÁWÉÂWÉÃWÉÄWÉÅWÉÆWÉÇWÉÈWÉÉWÉÊWÉËWÉÌWÉÍWÉÎWÉÏWÉÐWÉÑWÉÒWÉÓWÉÔWÉÕWÉÖWÉ×WÉØWÉÙWÉÚWÉÛWÉÜWÉÝWÉÞWÉßWÊàWÊáWÊâWÊãWÊäWÊåWÊæWÊçWÊèWÊéWÊêWÊëWÊìWÊíWÊîWÊïWËðWËñWËòWËóWËôWËõWËöWË÷WÌøWÌùWÌúWÍûWÍüWÍýWÍþWÍÿWÍ€XÍ�XÍ‚X̓XÍ„XÍ…X͆X͇X͈X͉XÍŠXÍ‹XÍŒXÍ�XÍŽXÍ�XÍ�XÍ‘XÍ’XÍ“XÍ”XÍ•XÍ–XÍ—X͘XÍ™XÍšXÍ›XÍœXÍ�XÍžXÍŸXÍ XÍ¡XÍ¢XÍ£XͤXÎ¥XΦXΧXΨXΩXΪXÏ«XϬXÏ­XÏ®XϯXϰXϱXϲXϳXÏ´XϵX϶XÏ·XϸXϹXϺXÏ»XϼXϽXϾXÏ¿XÏÀXÏÁXÏÂXÏÃXÏÄXÏÅXÏÆXÏÇXÏÈXÏÉXÏÊXÏËXÏÌXÏÍXÏÎXÏÏXÏÐXÏÑXÏÒXÏÓXÏÔXÏÕXÏÖXÏ×XÏØXÏÙXÏÚXÏÛXÏÜXÏÝXÏÞXÏßXÏàXÏáXÏâXÏãXÏäXÏåXÏæXÏçXÏèXÏéXÏêXÏëXÏìXÐíXÐîXÐïXÐðXÐñXÐòXÐóXÐôXÐõXÐöXÐ÷XÐøXÐùXÐúXÐûXÐüXÐýXÐþXÐÿXЀYÐ�YЂYЃYЄYÑ…YцYчYшYщYÑŠYÑ‹YÑŒYÑ�YÑŽYÑ�YÑ�YÑ‘YÑ’YÑ“YÑ”YÑ•YÑ–YÑ—YјYÑ™YÑšYÑ›YÑœYÑ�YÑžYÑŸYÑ YÑ¡YÑ¢YÑ£YѤYÑ¥YѦYѧYѨYÑ©YѪYÑ«YѬYÑ­YÑ®YѯYѰYѱYѲYѳYÑ´YѵYѶYÑ·YѸYѹYѺYÑ»YѼYѽYѾYÑ¿YÑÀYÑÁYÑÂYÑÃYÑÄYÑÅYÑÆYÑÇYÑÈYÑÉYÑÊYÑËYÑÌYÑÍYÑÎYÑÏYÑÐYÑÑYÑÒYÑÓYÑÔYÑÕYÑÖYÑ×YÑØYÑÙYÑÚYÑÛYÑÜYÑÝYÒÞYÒßYÒàYÒáYÒâYÒãYÒäYÒåYÒæYÓçYÓèYÓéYÓêYÓëYÓìYÓíYÓîYÓïYÓðYÓñYÓòYÓóYÓôYÓõYÓöYÓ÷YÓøYÓùYÓúYÓûYÓüYÓýYÓþYÓÿYÓ€Z¯�Z¯‚Z¯ƒZ¯„Z¯…Z¯†Z¯‡Z¯ˆZ¯‰Z¯ŠZ¯‹Z¯ŒZ¯�Z¯ŽZ¯�Z¯�Z¯‘Z¯’Z¯“Z¯”Z¯•Z¯–Z¯—Z¯˜Z¯™Z¯šZ¯›Z¯œZ¯�ZÔžZÔŸZÔ ZÔ¡ZÔ¢ZÔ£ZÔ¤ZÔ¥ZÔ¦ZÔ§ZÔ¨ZÔ©ZÔªZÔ«ZÔ¬ZÔ­ZÔ®ZÔ¯ZÔ°ZÔ±ZÔ²ZÔ³ZÔ´ZÔµZÔ¶ZÔ·ZÔ¸ZÔ¹ZÔºZÔ»ZÔ¼ZÔ½ZÔ¾ZÔ¿ZÔÀZÔÁZÔÂZÔÃZÔÄZÔÅZÔÆZÔÇZÔÈZÔÉZÔÊZÔËZÔÌZÔÍZÔÎZÔÏZÔÐZÔÑZÔÒZÔÓZÔÔZÔÕZÔÖZÔ×ZÔØZÔÙZÔÚZÔÛZÔÜZÔÝZÔÞZÔßZÔàZÔáZÔâZÔãZÔäZÔåZÔæZÔçZÔèZÔéZÔêZÔëZÔìZÔíZÔîZÔïZÔðZÔñZÔòZÔóZÔôZÔõZÔöZÔ÷ZÔøZÔùZÔúZÔûZÔüZÔýZÔþZÔÿZÔ€[Ô�[Ô‚[Ôƒ[Ô„[Ô…[Ô†[Ô‡[Ôˆ[Ô‰[ÔŠ[Ô‹[ÔŒ[Ô�[ÔŽ[Ô�[Ô�[Ô‘[Ô’[Ô“[Ô”[Ô•[Ô–[Ô—[Ô˜[Ô™[Ôš[Ô›[Ôœ[Ô�[Ôž[ÔŸ[Ô [Ô¡[Ô¢[Ô£[Ô¤[Ô¥[Ô¦[Ô§[Ô¨[Ô©[Ôª[Ô«[Ô¬[Ô­[Ô®[Ô¯[Ô°[Ô±[Ô²[Ô³[Ô´[Ôµ[Ô¶[Ô·[Ô¸[Ô¹[Ôº[Ô»[Ô¼[Ô½[Ô¾[Ô¿[ÔÀ[ÔÁ[ÔÂ[ÔÃ[ÔÄ[ÔÅ[ÔÆ[ÔÇ[ÔÈ[ÔÉ[ÔÊ[ÔË[ÔÌ[ÔÍ[ÔÎ[ÔÏ[ÔÐ[ÔÑ[ÔÒ[ÔÓ[ÔÔ[ÔÕ[ÔÖ[Ô×[ÔØ[ÔÙ[ÔÚ[ÔÛ[ÔÜ[ÕÝ[ÕÞ[Õß[Õà[³á[³â[³ã[³ä[³å[³æ[³ç[³è[³é[³ê[³ë[³ì[³í[³î[³ï[³ð[³ñ[³ò[³ó[³ô[³õ[³ö[³÷[³ø[³ù[³ú[³û[³ü[³ý[³þ[³ÿ[³€\³�\³‚\³ƒ\³„\³…\³†\³‡\³ˆ\³‰\³Š\³‹\³Œ\³�\³Ž\³�\³�\³‘\³’\³“\³”\³•\³–\³—\³˜\³™\³š\³›\³œ\³�\³ž\³Ÿ\³ \³¡\³¢\³£\³¤\Ö¥\Ö¦\Ö§\Ö¨\´©\´ª\´«\´¬\´­\´®\´¯\´°\´±\´²\´³\´´\´µ\´¶\´·\´¸\´¹\´º\´»\´¼\´½\´¾\´¿\´À\´Á\´Â\´Ã\´Ä\´Å\´Æ\´Ç\´È\´É\´Ê\´Ë\´Ì\´Í\´Î\´Ï\´Ð\´Ñ\´Ò\´Ó\´Ô\´Õ\´Ö\´×\´Ø\´Ù\´Ú\´Û\´Ü\´Ý\´Þ\´ß\´à\´á\´â\´ã\´ä\´å\´æ\´ç\´è\´é\´ê\´ë\´ì\´í\´î\´ï\´ð\´ñ\´ò\´ó\´ô\´õ\´ö\´÷\´ø\´ù\´ú\´û\´ü\´ý\´þ\´ÿ\´€]´�]´‚]´ƒ]´„]´…]´†]´‡]´ˆ]´‰]´Š]´‹]´Œ]´�]´Ž]´�]´�]´‘]´’]´“]´”]´•]´–]´—]´˜]´™]´š]´›]´œ]´�]´ž]´Ÿ]´ ]´¡]´¢]´£]´¤]´¥]´¦]´§]´¨]´©]´ª]´«]´¬]´­]´®]´¯]´°]´±]´²]´³]´´]´µ]´¶]´·]´¸]´¹]´º]´»]´¼]´½]´¾]´¿]´À]´Á]´Â]´Ã]´Ä]´Å]´Æ]´Ç]´È]´É]´Ê]´Ë]´Ì]´Í]´Î]´Ï]´Ð]´Ñ]´Ò]´Ó]´Ô]´Õ]´Ö]´×]´Ø]´Ù]´Ú]´Û]´Ü]´Ý]´Þ]´ß]´à]´á]´â]´ã]´ä]´å]´æ]´ç]´è]´é]´ê]´ë]´ì]´í]´î]´ï]´ð]´ñ]´ò]´ó]´ô]´õ]´ö]´÷]´ø]´ù]´ú]´û]´ü]´ý]´þ]´ÿ]´€^´�^´‚^´ƒ^´„^´…^´†^´‡^´ˆ^´‰^´Š^´‹^´Œ^´�^´Ž^´�^´�^´‘^´’^´“^´”^´•^´–^´—^´˜^´™^´š^´›^´œ^´�^´ž^´Ÿ^´ ^´¡^´¢^´£^´¤^´¥^צ^×§^ب^Ø©^ت^Ø«^ج^Ø­^Ø®^د^ذ^ر^ز^س^Ø´^ص^ض^Ø·^ظ^ع^غ^Ø»^ؼ^ؽ^ؾ^Ø¿^ØÀ^ØÁ^ØÂ^ØÃ^ØÄ^ØÅ^ØÆ^ØÇ^ØÈ^ØÉ^ØÊ^ØË^ØÌ^ØÍ^ØÎ^ØÏ^ØÐ^ØÑ^ØÒ^ØÓ^ØÔ^ØÕ^ØÖ^Ø×^ØØ^ØÙ^ØÚ^ØÛ^ØÜ^ØÝ^ØÞ^Øß^Øà^Øá^Øâ^Øã^Øä^Øå^Øæ^Øç^Øè^Øé^Øê^Øë^Ùì^Úí^Úî^Úï^Úð^Úñ^Úò^Úó^Úô^Úõ^Úö^Ú÷^Úø^Úù^Úú^Úû^Úü^Úý^Úþ^Úÿ^Ú€_Ú�_Ú‚_Úƒ_Ú„_Ú…_Ú†_Ú‡_Úˆ_Ú‰_ÚŠ_Ú‹_ÚŒ_Ú�_ÚŽ_Ú�_Ú�_Ú‘_Ú’_Ú“_Ú”_Ú•_Ú–_Ú—_Ú˜_Ú™_Úš_Ú›_Úœ_Ú�_Úž_ÚŸ_Ú _Ú¡_Ú¢_Ú£_Ú¤_Ú¥_Ú¦_Ú§_Ú¨_Ú©_Úª_Ú«_Ú¬_Ú­_Ú®_Ú¯_Ú°_Ú±_Ú²_Ú³_Ú´_Úµ_Ú¶_Ú·_Ú¸_Ú¹_Úº_Ú»_Ú¼_Ú½_Û¾_Û¿_ÛÀ_ÛÁ_ÛÂ_ÛÃ_ÛÄ_ÛÅ_ÛÆ_ÛÇ_ÛÈ_ÛÉ_ÛÊ_ÛË_ÛÌ_ÛÍ_ÛÎ_ÛÏ_ÛÐ_ÛÑ_ÛÒ_ÛÓ_ÛÔ_ÛÕ_ÛÖ_Û×_ÛØ_ÛÙ_ÛÚ_ÛÛ_ÛÜ_ÛÝ_ÛÞ_Ûß_Ûà_Ûá_Ûâ_Ûã_Ûä_Ûå_Ûæ_Ûç_Ûè_Ûé_Ûê_Ûë_Ûì_Ûí_Ûî_Ûï_Ûð_Ûñ_Ûò_Ûó_Ûô_Ûõ_Ûö_Û÷_Ûø_Ûù_Ûú_Ûû_Ûü_Ûý_Ûþ_Ûÿ_Û€`Û�`Û‚`Ûƒ`Û„`Û…`Û†`Û‡`Ûˆ`Û‰`ÛŠ`Û‹`ÛŒ`Û�`ÛŽ`Ü�`Ü�`Ü‘`Ü’`Ü“`Ý”`Ý•`Ý–`Ý—`ݘ`Ý™`Ýš`Ý›`Þœ`Þ�`Þž`ÞŸ`Þ `Þ¡`Þ¢`Þ£`Þ¤`Þ¥`ߦ`ß§`ߨ`ß©`ߪ`ß«`߬`ß­`ß®`߯`ß°`ß±`ß²`ß³`ß´`ßµ`ß¶`ß·`߸`ß¹`ߺ`ß»`ß¼`ß½`ß¾`ß¿`ßÀ`ßÁ`ßÂ`ßÃ`ßÄ`ßÅ`߯`ßÇ`ßÈ`ßÉ`ßÊ`ßË`ßÌ`ßÍ`ßÎ`ßÏ`ßÐ`àÑ`áÒ`âÓ`¸Ô`¸Õ`¸Ö`¸×`¸Ø`¸Ù`¸Ú`¸Û`¸Ü`¸Ý`¸Þ`¸ß`¸à`¸á`¸â`¸ã`¸ä`¸å`¸æ`¸ç`¸è`¸é`¸ê`¸ë`¸ì`¸í`¸î`¸ï`¸ð`¸ñ`¸ò`¸ó`¸ô`¸õ`¸ö`¸÷`¸ø`¸ù`¸ú`¸û`¸ü`¸ý`¸þ`¸ÿ`¸€a¸�a¸‚a¸ƒa¸„a¸…a¸†a¸‡a¸ˆa¸‰a¸Ša¸‹a¸Œa¸�a¸Ža¸�a¸�a¸‘a¸’a¸“a¸”a¸•a¸–a¸—a¸˜a¸™a¸ša¸›a¸œa¸�a¸ža¸Ÿa¸ a¸¡a¸¢a¸£a¸¤a¸¥a¸¦a¸§a¸¨a¸©a¸ªa¸«a¸¬a¸­a¸®a¸¯a¸°a¸±a¸²a¸³aº´aºµaº¶aº·aº¸aº¹aººaº»aº¼aã½aã¾a°¿a°Àa°Áa°Âa°Ãa°Äa°Åa°Æa°Ça°Èa°Éa°Êa°Ëa°Ìa°Ía°Îa°Ïa°Ða°Ña°Òa°Óa°Ôa°Õa°Öa°×a°Øa°Ùa°Úa°Ûa°Üa°Ýa°Þa°ßa°àa°áa°âa°ãa°äa°åa°æa°ça°èa°éa°êa°ëa°ìa°ía°îa°ïa°ða°ña°òa°óa°ôa°õa°öa°÷a°øa°ùa°úa°ûa°üa°ýa°þa°ÿa°€b°�b°‚b°ƒb°„b°…b°†b°‡b°ˆb°‰b°Šb°‹b°Œb°�b°Žb°�b°�b°‘b°’b°“b°”b°•b°–b°—b°˜b°™b°šb°›b°œb°�b°žb°Ÿb° b°¡b°¢b°£b°¤b°¥bä¦bä§bä¨bä©bäªbä«bä¬bä­bä®bä¯bä°bä±bä²bå³bå´bæµbæ¶bç·bç¸bç¹bçºbç»bç¼bç½bç¾bç¿bçÀbçÁbçÂbçÃbçÄbçÅbçÆbçÇbçÈbçÉbçÊbçËbçÌbçÍbçÎbçÏbçÐbçÑbçÒbçÓbçÔbçÕbçÖbç×bçØbçÙbçÚbçÛbçÜbçÝbçÞbçßbçàbçábçâbçãbçäbçåbçæbççbçèbçébçêbçëbçìbçíbçîbçïbèðbèñbèòbèóbèôbèõbèöbè÷bèøbèùbèúbèûbèübèýbèþbèÿbè€cé�cê‚cêƒcê„cê…cê†cê‡cêˆcë‰cëŠcë‹cëŒcì�cìŽcì�cì�cì‘cì’cí“cí”cí•cí–cí—cí˜cí™cíšcí›cíœcí�cîžcîŸcî cî¡cî¢cî£cî¤cï¥cï¦cð§cð¨cð©cðªcð«cð¬cñ­cñ®cñ¯cñ°cñ±cñ²cñ³cñ´còµcò¶cò·cò¸cò¹còºcò»cò¼cò½cò¾có¿cóÀcóÁcóÂcóÃcóÄcóÅcóÆcóÇcóÈcóÉcóÊcóËcóÌcóÍcóÎcóÏcóÐcóÑcóÒcóÓcóÔcóÕcóÖcó×cóØcóÙcóÚcóÛcóÜcóÝcóÞcóßcóàcóácóâcóãcôäcôåcôæcôçcôècôécôêcôëcôìcôícôîcôïcôðcôñcôòcôócôôcôõcôöcô÷côøcôùcõúcõûcõücõýcõþcõÿcõ€dõ�d­‚d­ƒd­„d­…d­†d­‡d­ˆd­‰d­Šd­‹d­Œd­�d­Žd­�d­�d­‘d­’d­“d­”d­•d­–d­—d­˜d­™d­šd­›d­œd­�d­žd­Ÿd­ d­¡d­¢d­£d­¤d­¥d­¦d­§d­¨d­©d­ªd­«d­¬d­­d­®d­¯d­°d­±d­²d­³d­´d­µd­¶d­·d­¸d­¹d­ºd­»d­¼d­½d­¾d­¿d­Àd­Ád­Âd­Ãd­Äd­Åd­Æd­Çd­Èd­Éd­Êd­Ëd­Ìd­Íd­Îd­Ïd­Ðd­Ñd­Òd­Ód­Ôd­Õd­Öd­×d­Ød­Ùd­Úd­Ûd­Üd­Ýd­Þd­ßd­àd­ád­âd­ãd­äd­åd­æd­çd­èd­éd­êd­ëd­ìd­íd­îd­ïd­ðd­ñd­òd­ód­ôd­õd­öd­÷d­ød­ùd­úd­ûd­üd­ýd­þd­ÿd­€e­�e­‚e­ƒe­„e­…e­†e­‡e­ˆe­‰e­Še­‹e­Œe­�e­Že­�e­�e­‘e­’e­“e­”e­•e­–e­—e­˜e­™e­še­›e­œe­�e­že­Ÿe­ e­¡e­¢e­£e­¤e­¥e­¦e­§e­¨e­©e­ªe­«e­¬e­­e­®e­¯e­°e­±e­²e­³e­´e­µe­¶e­·e­¸e­¹e­ºe­»e­¼e­½e­¾e­¿e­Àe­Áe­Âe­Ãe­Äe­Åe­Æe­Çe­Èe­Ée­Êe­Ëe­Ìe­Íe­Îe­Ïe­Ðe­Ñe­Òe­Óe­Ôe­Õe­Öe­×e­Øe­Ùe­Úe­Ûe­Üe­Ýe­ÞeÖßeÖàeÖáeÖâeÖãeÖäeÖåeÖæeÖçeÖèeÖéeÖêeÖëeÖìeÖíeÖîeÖïeÖðeÖñeÖòeÖóeÖôeÖõeÖöeÖ÷eÖøeÖùeÖúeÖûeÖüeÖýeÖþeÖÿeÖ€fÖ�fÖ‚fÖƒfÖ„fÖ…fÖ†fÖ‡fÖˆfÖ‰fÖŠfÖ‹fÖŒfÖ�fÖŽfÖ�fÖ�fÖ‘fÖ’fÖ“fÖ”fÖ•fÖ–fÖ—fÖ˜fÖ™fÖšfÖ›fÖœfÖ�fÖžfÖŸfÖ fö¡fö¢fö£fö¤fö¥fö¦fö§fö¨fö©föªfö«fö¬fö­fö®fö¯f÷°f÷±f÷²f÷³f÷´f÷µf÷¶fÙ·fÙ¸fÙ¹fÙºfÙ»fÙ¼fÙ½fÙ¾fÙ¿fÙÀfÙÁfÙÂfÙÃfÙÄfÙÅfÙÆfÙÇfÙÈfÙÉfÙÊfÙËfÙÌfÙÍfÙÎfÙÏfÙÐfÙÑfÙÒfÙÓfÙÔfÙÕfÙÖfÙ×fÙØfÙÙfÙÚfÙÛfÙÜfÙÝfÙÞfÙßfÙàfÙáføâføãføäfùåfùæfúçfúèfúéfúêfúëfúìfúífúîfúïfúðfúñfúòfúófúôfúõfúöfú÷fûøfûùfûúfûûfûüfûýfûþfüÿfü€gü�gü‚gýƒgý„gý…gý†gý‡gýˆgý‰gýŠgý‹gýŒgý�gýŽgý�gþ�gÿ‘gÿ’gÿ“gÿ”gÿ•gÿ–gÿ—gÿ˜gÿ™gÿšgÿ›gÿœgÿ�gÿžgÿŸgÿ gÿ¡gÿ¢gÀ£gÀ¤gÀ¥g€¦g€§g€¨g€©g€ªg€«g€¬g€­g€®g€¯g�°g�±g‚²g‚³g‚´g‚µg‚¶g‚·g‚¸g‚¹g‚ºg‚»g‚¼g‚½g‚¾g‚¿g‚Àg‚Ág‚Âg‚Ãg‚Äg‚Åg‚Æg‚Çg‚Èg‚Ég‚Êg‚Ëg‚Ìg‚Íg‚Îg‚Ïg‚Ðg‚Ñg‚Òg‚ÓgƒÔgƒÕgƒÖgƒ×gƒØgƒÙgƒÚgƒÛgƒÜgƒÝgƒÞgƒßgƒàgƒágƒâgƒãgƒägƒågƒægƒçgƒègƒégƒêgƒëgƒìgƒígƒîgƒïgƒðgƒñgƒògƒógƒôgƒõgƒögƒ÷gƒøgƒùgƒúgƒûgƒügƒýgƒþgƒÿgƒ€hƒ�hƒ‚hƒƒhƒ„hƒ…hƒ†hƒ‡hƒˆhƒ‰hƒŠhƒ‹hƒŒhƒ�hƒŽhƒ�hƒ�hƒ‘hƒ’hƒ“hƒ”hƒ•hƒ–hƒ—h»˜h»™h»šh»›h»œh»�h»žh»Ÿh» h»¡h»¢h»£h»¤h»¥h»¦h»§h»¨h»©h»ªh»«h»¬h»­h»®h»¯h»°h»±h»²h»³h»´h»µh»¶h»·h»¸h»¹h»ºh»»h»¼h»½h»¾h»¿h»Àh»Áh»Âh»Ãh»Äh»Åh»Æh»Çh»Èh»Éh»Êh»Ëh»Ìh»Íh»Îh»Ïh»Ðh»Ñh»Òh»Óh»Ôh»Õh»Öh»×h»Øh»Ùh»Úh»Ûh»Üh»Ýh»Þh»ßh»àh»áh»âh»ãh»äh»åh»æh»çh»èh»éh»êh»ëh»ìh»íh»îh»ïh»ðh»ñh»òh»óh»ôh»õh»öh»÷h»øh»ùh»úh»ûh»üh»ýh»þh„ÿh„€i„�i„‚i„ƒi…„i†…i††i†‡i†ˆi†‰i†Ši†‹i†Œi†�i†Ži†�i†�i†‘i†’i†“i†”i†•i†–i†—i†˜i†™i†ši†›i†œi†�i†ži†Ÿi† i†¡i†¢i†£i†¤i†¥i†¦i†§i†¨i†©i†ªi†«i†¬i†­i†®i†¯i†°i†±i†²i†³i‡´i‡µi‡¶i‡·i‡¸i‡¹i‡ºi‡»i‡¼i‡½i‡¾i‡¿i‡Ài‡Ái‡Âi‡Ãi‡Äi‡Åi‡ÆiˆÇiˆÈiˆÉiˆÊiˆËiˆÌiˆÍiˆÎiˆÏiˆÐiˆÑiˆÒiˆÓiˆÔiˆÕiˆÖiˆ×iˆØiˆÙiˆÚiˆÛiˆÜiˆÝiˆÞiˆßiˆàiˆáiˆâiˆãiˆäiˆåiˆæiˆçiˆèiˆéiˆêiˆëiˆìiˆíiˆîiˆïiˆðiˆñiˆòiˆóiˆôiˆõiˆöiˆ÷iˆøiˆùiˆúiˆûiˆüiˆýiˆþiˆÿi®€j®�j®‚j®ƒj®„j®…j®†j®‡j®ˆj®‰j®Šj®‹j®Œj®�j®Žj®�j®�j®‘j®’j®“j®”j®•j®–j®—j®˜j®™j®šj®›j®œj®�j®žj®Ÿj® j®¡j®¢j®£j®¤j®¥j®¦j®§j®¨j®©j®ªj®«j®¬j®­j®®j®¯j®°j®±j®²j®³j®´j®µj®¶j®·j®¸j®¹j®ºj®»j®¼j®½j®¾j®¿j®Àj®Áj®Âj®Ãj®Äj®Åj®Æj®Çj®Èj®Éj®Êj®Ëj®Ìj®Íj®Îj®Ïj®Ðj®Ñj®Òj®Ój®Ôj®Õj®Öj®×j®Øj®Ùj®Új®Ûj®Üj®Ýj®Þj®ßj®àj®áj®âj®ãj®äj®åj®æj®çj®èj®éj®êj®ëj®ìj®íj®îj®ïj®ðj®ñj®òj®ój®ôj®õj®öj®÷j®øj®ùj®új®ûj‰üj‰ýj½þj½ÿj½€kã�kã‚kãƒkã„kã…kã†kã‡kãˆkã‰kãŠkã‹kãŒkã�kãŽkã�kã�kã‘kã’kã“kã”kã•kã–kã—kã˜kã™kãškã›kãœkã�kãžkãŸkã kã¡kã¢kã£kã¤kã¥kã¦kã§kã¨kã©kãªkã«kã¬kã­kã®kð¯kð°kð±kð²kð³kð´kðµkð¶kð·kð¸kð¹kðºkð»kð¼kð½kð¾kð¿kðÀkðÁkðÂkðÃkðÄkðÅkðÆkðÇkðÈkðÉkðÊkðËkðÌkðÍkðÎkðÏkðÐkðÑkðÒkðÓkðÔkðÕkðÖkð×kðØkðÙkðÚkðÛkðÜkðÝkðÞkðßkðàkðákðâkðãkðäkðåkðækðçkðèkðékðêkðëkŠìkŠíkŠîkŠïkŠðkŠñkŠòkŠókŠôkŠõkŠökŠ÷kŠøkŠùkŠúkŠûkŠükŠýkŠþkŠÿkŠ€lŠ�lŠ‚lŠƒlŠ„lŠ…lІlЇlŠˆlЉlŠŠlŠ‹lŠŒlŠ�lŠŽlŠ�lŠ�lŠ‘lŠ’lŠ“lŠ”lŠ•lŠ–lŠ—lŠ˜lŠ™lŠšlŠ›lŠœlŠ�lŠžlŠŸlŠ lŠ¡lŠ¢lŠ£lФlŠ¥lЦlЧlЍlŠ©lŠªlŠ«lЬlŠ­lŠ®lНlаlбlвlгlŠ´lеlжlŠ·lЏlйlŠºlŠ»lмlнlоlŠ¿lŠÀlŠÁlŠÂlŠÃlŠÄlŠÅlŠÆlŠÇlŠÈlŠÉlŠÊlŠËlŠÌlŠÍlŠÎlŠÏlŠÐlŠÑlŠÒlñÓlñÔlñÕlñÖlñ×lñØlñÙlñÚlñÛlñÜlñÝlñÞlñßlñàl‹ál‹âl‹ãl‹äl‹ål‹æl‹çl‹èl‹él‹êl‹ël‹ìl‹íl‹îlŒïlŒðlŒñlŒòl�ól�ôl�õl�öl�÷l�ølŽùlŽúlåûlåülåýlåþlåÿlå€må�må‚måƒmå„må…må†må‡måˆmå‰måŠmå‹m�Œm��m�Žm��m��m�‘m�’m�“m�”m�•m�–m�—m�˜m�™m�šm�›m�œm��m�žm�Ÿm� m�¡m�¢m�£m�¤m�¥m�¦m�§m�¨m�©m�ªm�«m�¬m�­m�®m�¯m�°m�±m�²m�³m�´m�µm�¶m�·m�¸m�¹m�ºm�»m�¼m�½m�¾m�¿m�Àm�Ám�Âm�Ãm�Äm�Åm�Æm�Çm�Èm�Ém�Êm�Ëm�Ìm‘Ím‘Îm‘Ïm‘Ðm‘Ñm‘Òm‘Óm‘Ôm‘Õm‘Öm‘×m‘Øm‘Ùm‘Úm‘Ûm‘Üm‘Ým‘Þm‘ßm‘àm‘ám‘âm‘ãm‘äm‘åm‘æm‘çm‘èm‘ém‘êm‘ëm‘ìm‘ím‘îm‘ïm‘ðm‘ñm‘òm‘óm‘ôm‘õm‘öm‘÷m‘øm‘ùm‘úm‘ûm‘üm‘ým‘þm‘ÿm‘€n‘�n‘‚n‘ƒn‘„n‘…n‘†n‘‡n‘ˆn‘‰n‘Šn‘‹n‘Œn‘�n‘Žn‘�n‘�n‘‘n‘’n¹“n¹”n¹•n¹–n¹—n¹˜n¹™n¹šn¹›n¹œn¹�n¹žn¹Ÿn¹ n¹¡n¹¢n’£n’¤n’¥n’¦n’§n’¨n’©n’ªn’«n’¬n’­n’®n’¯n’°n¼±n¼²n¼³n¼´n¼µn¼¶n¼·n¼¸n¼¹n¼ºn¼»n¼¼n¼½n¼¾n¼¿n¼Àn“Án“Ân“Ãn“Än“Ån“Æn“Çn“Èn“Én“Ên“Ën“Ìn“Ín“În“Ïn“Ðn“Ñn“Òn“Ón“Ôn“Õn“Ön“×n“Øn“Ùn“Ún“Ûn“Ün“Ýn“Þn“ßn“àn“án“ân“ãn“än“ån“æn“çn“èn“én“ên“ën“ìn“ín”în”ïn”ðn”ñn”òn”ón”ôn”õn”ön”÷n”øn”ùn”ún”ûn”ün”ýn”þn”ÿn”€o”�o”‚o”ƒo”„o”…o”†o”‡o”ˆo”‰o”Šo”‹o”Œo”�o”Žo”�o”�o”‘o”’o”“o””o”•o”–o•—o•˜o•™o•šo•›o•œo•�o•žo•Ÿo• o•¡o•¢o•£o•¤o•¥o•¦o•§o•¨o•©o•ªo•«o•¬o•­o•®o•¯o•°o•±o•²o•³o•´o•µo•¶o•·o•¸o•¹o•ºo•»o•¼o•½o•¾o•¿o•Ào•Áo•Âo•Ão•Äo•Åo•Æo•Ço•Èo•Éo•Êo•Ëo•Ìo•Ío–Îo–Ïo–Ðo–Ño–Òo–Óo–Ôo–Õo–Öo–×o–Øo–Ùo–Úo–Ûo–Üo–Ýo–Þo–ßo–ào–áo–âo–ão–äo–åo–æo–ço–èo–éo–êo–ëo–ìo–ío–îo–ïo–ðo–ño–òo–óo–ôo–õo–öo–÷o–øo–ùo–úo–ûo–üo–ýo–þo–ÿo–€p–�p–‚p–ƒp–„p–…p–†p–‡p–ˆp–‰p–Šp–‹p–Œp–�p–Žp–�p–�p–‘p–’p–“p–”p–•p––p–—p–˜p–™p–šp–›p–œp–�p–žp–Ÿp– p–¡p–¢p–£p–¤p–¥p–¦p–§p–¨p–©p–ªp–«p–¬p–­p–®p–¯p–°p–±p–²p–³p–´p–µp–¶p–·p–¸p–¹p–ºp–»p–¼p–½p–¾p–¿p–Àp–Áp–Âp–Ãp–Äp–Åp–Æp–Çp–Èp–Ép¶Êp¶Ëp¶Ìp¶Íp¶Îp¶Ïp¶Ðp¶Ñp¶Òp¶Óp¶Ôp¶Õp¶Öp¶×p¶Øp‰Ùp‰Úp‰Ûp—Üp—Ýp—Þp—ßp—àp—áp—âp—ãp—äp—åp—æp—çp—èp—ép—êp—ëp—ìp—íp—îp—ïp—ðp—ñp—òp—óp—ôp—õp—öp—÷p—øp—ùp—úp—ûp—üp—ýp—þp—ÿp—€q—�q—‚q—ƒqׄq×…q׆qׇq׈q׉q׊q׋q׌q×�q׎q×�q×�qבq×’qדq˜”q˜•q˜–q˜—q˜˜q˜™q˜šq˜›q˜œq˜�q˜žq˜Ÿq˜ q˜¡q˜¢q˜£q™¤q™¥q™¦q™§q™¨qΩqΪqΫqάqέqήqίqΰqαqβqγqδqεqζqηqθqš¹qšºqš»qš¼qš½qš¾qš¿qšÀqšÁqšÂqšÃqšÄqšÅqšÆqšÇqšÈqšÉqšÊqšËqšÌqšÍq›Îq›Ïq›Ðq›Ñq›Òq›Óq›Ôq›Õq›Öq›×q›Øq›Ùq›Úq›Ûq›Üq›Ýq›Þq›ßq›àq›áq›âq›ãq›äq›åq›æq›çq›èq›éq›êq›ëq›ìq›íq›îq›ïq›ðq›ñq›òq›óq›ôq›õq›öq›÷q›øq›ùq›úq›ûq›üq›ýq›þq›ÿq›€r›�r›‚r›ƒr›„r›…r›†r›‡r›ˆr›‰r›Šr›‹r›Œr›�r›Žr›�r›�r›‘r›’r›“r›”r›•r›–r›—r›˜r›™r›šr››r›œr›�r›žrµŸrµ rµ¡rä¢rä£rä¤rä¥rä¦rä§rä¨rä©räªrä«rä¬rä­rä®rä¯rä°rä±rä²rä³rä´räµrä¶rä·rä¸rä¹räºrä»rä¼rä½rä¾rä¿räÀräÁräÂräÃräÄräÅräÆräÇräÈräÉräÊräËräÌräÍräÎräÏräÐräÑräÒräÓräÔräÕräÖrä×räØräÙräÚräÛräÜräÝräÞräßräàrœárœârœãrœärœårœærœçrœèrœérœêrœërœìrœírœîrœïrœðrœñrœòrœórœôrœõrœörœ÷rœørœùrœúrœûrœürœýrœþrœÿrœ€sœ�sœ‚sœƒsœ„sœ…sœ†sœ‡sœˆsœ‰sœŠsœ‹sœŒsœ�sœŽsœ�sœ�sœ‘sÿ’sÿ“sÿ”sÿ•sÿ–sÿ—sÿ˜sÿ™sÿšsÿ›sÿœsÿ�sÿžsÿŸsÿ sÿ¡sÿ¢sÿ£sÿ¤sÿ¥sÿ¦sÿ§sÿ¨sÿ©sÿªsÿ«sÿ¬sÿ­sÿ®sÿ¯sÿ°sÿ±sÿ²sÿ³s�´s�µs�¶s�·s�¸s�¹s�ºs�»s�¼s�½s�¾s�¿s�Às�Ás�Âs�Ãs�Äs�Ås�Æs�Çs�Ès�És�Ês�Ës�Ìs�Ís�Îs�Ïs�Ðs�Ñs�Òs�Ós�Ôs�Õs�Ös�×s�Øs«Ùs«Ús«Ûs«Üs«Ýs«Þs«ßs«às«ás«âs«ãs«äs¬ås¬æs¬çs¬ès¬és¬ês¬ës¬ìs¬ís¬îs¬ïs¬ðs¬ñs¬òs¬ós¬ôs¬õs¬ösž÷sžøsžùsžúsŸûsŸüsŸýs þs ÿs €t �t ‚t ƒt „t …t †t ‡t ˆt ‰t Št ‹t Œt �t Žt �t �t ‘t ’t “t ”t •t –t —t ˜t ™t št ›t œt �t žt Ÿt  t ¡t ¢t £t€¤t€¥t€¦t€§t€¨t€©t€ªt¡«t¡¬t¡­t¡®t¡¯t¡°t¡±t¢²t¢³t¢´t¢µt¢¶t¢·t¢¸t¢¹t¢ºt¢»t¢¼t¢½t¢¾t¢¿t¢Àt¢Át¢Ât¢Ãt¢Ät¢Åt¢Æt¢Çt¢Èt¢Ét¢Êt¢Ët¢Ìt¢Ít¢Ît¢Ït¢Ðt¢Ñt¢Òt¢Ót¢Ôt¢Õt¢Öt¢×t¢Øt¢Ùt¢Út¢Ût¢Üt¢Ýt¢Þt¢ßt¢àt¢át¢ât¢ãt¢ät¢åt¢æt¢çt¢èt¢ét¢êt¢ët¢ìt¢ít¢ît¢ït¢ðt¢ñt¢òt¢ót¢ôt¢õt¢öt¢÷t¢øt£ùt£út£ût¤üt¤ýt¤þt¤ÿt¤€u¤�u¤‚u¤ƒu¤„u¤…u¤†u¤‡u¤ˆu¤‰u¤Šu¤‹u¤Œu¤�u¤Žu¤�u¤�u¤‘u¤’u¤“u¤”u¤•u¤–u¤—u¤˜u¤™u¤šu¤›u¤œu¤�u¤žu¤Ÿu¤ u¥¡u¥¢u¥£u¥¤u¥¥u¥¦u¥§u¥¨u¦©u¦ªu¦«u¦¬u¦­u¦®u¦¯u¦°u¦±u¦²u¦³u¦´u¦µu¦¶u¦·u¦¸u¦¹u¦ºu¦»u¦¼u¦½u¦¾u¦¿u§Àu§Áu¨Âu©ÃuªÄuªÅuªÆuªÇuªÈuªÉuªÊuªËuªÌuªÍuªÎuªÏuªÐuÑuÒuÓuÔuÕuÖu×uØuÙuÚuÛuÜuÝuÞußuàuáuâu«ãu«äu«åu«æu«çu«èu«éu«êu¬ëu¬ìu¬íu¬îu¬ïu¬ðu¬ñu¬òu¬óu¬ôu¬õu¬öu¬÷u¬øu¬ùu¬úu¬ûu¬üu¬ýu¬þu¬ÿu¬€v¬�v¬‚v¬ƒv¬„v¬…v¬†v¬‡v¬ˆv¬‰v¬Šv¬‹v¬Œv¬�v¬Žv¬�v¬�v¬‘v¬’v¬“v¬”v¬•v¬–v¬—v¬˜v¬™v¬šv¬›v¬œvÄ�vÄžvÄŸvÄ vÄ¡vÄ¢vÄ£vĤvÄ¥vĦvħvĨvÄ©vĪvÄ«vĬvÄ­vÄ®vįvİv­±v­²v­³v­´v­µv­¶v­·v­¸v­¹v­ºv­»v­¼v­½v­¾v­¿v­Àv­Áv­Âv­Ãv­Äv­Åv­Æv­Çv­Èv­Év­Êv­Ëv­Ìv¨Ív¨Îv¨Ïv¨Ðv¨Ñv¨Òv¨Óv¨Ôv¨Õv¨Öv¨×v¨Øv¨Ùv¨Úv¨Ûv¨Üv¨Ýv¨Þv¨ßv¨àv¨áv¨âv¨ãv¨äv¨åv¨æv¨çv¨èv¨év¨êv¨ëv¨ìv¨ív¨îv¨ïv¨ðv¨ñv¨òv¨óv¨ôv¨õv¨öv¨÷v¨øv¨ùv¨úv¨ûv¨üv¨ýv¨þv¨ÿv¨€w¨�w¨‚w¨ƒw¨„w®…w®†w®‡w®ˆw®‰w®Šw¯‹w¯Œw¯�w¯Žw¯�w¯�w¯‘w¯’w¯“w¯”w¯•w¯–w¯—w¯˜w¯™w¯šw¯›w¯œw¯�w¯žw¯Ÿw¯ w¯¡w¯¢wü£wü¤wÁ¥wÁ¦wÁ§wÁ¨wÁ©wÁªwÁ«wÁ¬wÁ­wÁ®wÁ¯wÁ°wÁ±wÁ²wÁ³wÁ´wÁµwÁ¶wÁ·wÁ¸wÁ¹wÁºwÁ»wÁ¼w°½w°¾w°¿w°Àw°ÁwëÂwëÃwëÄwëÅwëÆwëÇwëÈwëÉwëÊwëËwëÌwëÍwëÎwëÏwëÐwëÑwëÒwëÓwëÔwëÕwëÖwë×wëØwëÙwëÚwëÛwëÜwëÝwëÞwëßwëàwëáwëâwëãwëäwëåwëæwëçwëèwëéwëêw©ëw©ìw©íw©îw©ïw©ðw©ñw©òw©ów©ôw©õw©öw©÷w©øw©ùw©úw©ûw©üw©ýw©þw©ÿw©€x©�x©‚x©ƒx©„x©…x©†x©‡x©ˆx©‰x©Šx©‹x©Œx©�x±Žx±�x²�x²‘x²’x³“x³”x´•x´–xµ—xµ˜xµ™xµšx¶›x·œx·�xÆžxÆŸxÆ xÆ¡x¸¢x¸£x¸¤x¸¥x¸¦x¸§x¹¨xº©x»ªx»«x¼¬x¼­x½®x½¯x¾°x¾±x¾²x¾³x¾´x¾µx¾¶x¾·x¾¸x¾¹x¾ºx¾»x¾¼x¾½x¾¾x¾¿x¾Àx¾Áx¾Âx¾Ãx¾Äx¾Åx¾Æx¾Çx¾Èx¾Éx¾Êx¾Ëx¾Ìx¾Íx¾Îx¾Ïx¾Ðx¾Ñx¾Òx¾Óx¾Ôx¾Õx¾Öx¾×x¾Øx¾Ùx¾Úx¾Ûx¾Üx¾Ýx¾Þx¾ßx¾àx¾áx¾âx¾ãx¾äx¾åx¾æx¾çx¾èx¾éx¾êx¾ëx¾ìx¾íx¾îx¾ïx¾ðx¾ñx¾òx¾óx¾ôx¾õx¾öx¾÷x¾øx¾ùx¾úx¾ûx¾üx¾ýx¾þx¾ÿx¾€y¾�y¾‚y¾ƒy¾„y¾…y¿†y¿‡y¿ˆy¿‰y¿Šy¿‹y¿Œy¿�y¿Žy¿�y¿�y¿‘y¿’y¿“y¿”y¿•y¿–y¿—y¿˜y¿™y¿šy¿›y¿œy¿�y¿žy¿Ÿy¿ y¿¡y¿¢y¿£y¿¤y¿¥y¿¦y¿§y¿¨y¿©y¿ªy¿«y¿¬y¿­y¿®y¿¯y¿°y¿±y¿²y¿³y¿´y¿µy¿¶y¿·y¿¸y¿¹y¿ºy¿»y¿¼y¿½y¿¾yÀ¿yÁÀyÁÁyÁÂyÁÃyÁÄyÁÅyÁÆyÁÇyÁÈyÁÉyÁÊyÂËyÂÌyÂÍyÂÎyÂÏyÂÐyÂÑyÂÒyÂÓyÂÔyÂÕyÂÖyÂ×yÂØyÂÙyÂÚyÂÛyÂÜyÂÝyÂÞyÂßyÂàyÂáyÂâyÂãyÂäyÂåyÂæyÂçyÂèyÂéyÂêyÂëyÂìyÂíyÂîyÂïyÂðyÂñyÂòyÂóyÂôyÂõyÂöyÂ÷yÂøyÂùyÂúyÂûyÂüyÂýyÂþyÂÿy€zÂ�z‚zƒz„zÃ…zÆzÇzÈzÉzÊzËzÃŒzÃ�zÃŽzÃ�zÃ�zÑzÃ’zÓzÔzÕzÖz×zØzÙzÚzÛzÜzÃ�zÞzßzàzázâzãzäzÃ¥zæzħzĨzÄ©zĪzÄ«zĬzÄ­zÄ®zįzİzızIJzijzÅ´zŵzŶzÅ·zŸzŹzźzÅ»zżzŽzžzÅ¿zÅÀzÅÁzÅÂzÅÃzÅÄzÅÅzÆÆzÆÇzÆÈzÆÉzÆÊzÆËzÆÌzÆÍzÆÎzÆÏzÆÐzÆÑzÆÒzÆÓzÆÔzÆÕzÆÖzÆ×zÆØzÆÙzÆÚzÆÛzÆÜzÆÝzÆÞzÆßzÆàzÆázÆâzÆãzÆäzÆåzÆæzÆçzÆèzÆézÆêzÆëzÆìzÆízÆîzÆïzÆðzÆñzÆòzÆózÆôzÆõzÆözÆ÷zÆøzÆùzÆúzÆûzÆüzÆýzÆþzÆÿzÆ€{Æ�{Æ‚{ƃ{Æ„{Æ…{Ɔ{Ƈ{ƈ{Ɖ{ÆŠ{Æ‹{ÆŒ{Æ�{ÆŽ{Æ�{Æ�{Æ‘{Æ’{Æ“{Æ”{Æ•{Æ–{Æ—{Ƙ{Æ™{Æš{Æ›{Æœ{Æ�{Æž{ÆŸ{Æ {Æ¡{Æ¢{Æ£{Ƥ{Æ¥{Ʀ{Ƨ{ƨ{Æ©{ƪ{Æ«{Ƭ{Æ­{Æ®{Ư{ư{Ʊ{Ʋ{Ƴ{Æ´{Ƶ{ƶ{Æ·{Ƹ{ƹ{ƺ{Æ»{Ƽ{ƽ{ƾ{Æ¿{ÆÀ{ÆÁ{ÆÂ{ÆÃ{ÆÄ{ÆÅ{ÆÆ{ÆÇ{ÆÈ{ÆÉ{ÆÊ{ÆË{ÇÌ{ÇÍ{ÇÎ{ÇÏ{ÇÐ{ÇÑ{ÇÒ{ÇÓ{ÇÔ{ÇÕ{ÇÖ{Ç×{ÇØ{ÇÙ{ÇÚ{ÇÛ{ÇÜ{ÇÝ{ÇÞ{Çß{Çà{Çá{Çâ{Çã{Èä{Éå{Éæ{Éç{Éè{Éé{Éê{Éë{Éì{Éí{Éî{Éï{Éð{Éñ{Éò{Éó{Éô{Éõ{Éö{É÷{Éø{Éù{Éú{Éû{Éü{Éý{Éþ{Éÿ{Ê€|Ê�|Ê‚|ʃ|Ê„|Ê…|ʆ|ʇ|ʈ|ʉ|ÊŠ|Ê‹|ÊŒ|Ê�|ÊŽ|Ê�|Ë�|Ë‘|Ë’|Ë“|Ë”|[•|[–|[—|[˜|[™|[š|[›|[œ|[�|[ž|[Ÿ|[ |[¡|[¢|[£|[¤|[¥|[¦|[§|[¨|[©|[ª|[«|[¬|[­|Ì®|̯|̰|̱|̲|̳|Ì´|̵|̶|Ì·|̸|̹|̺|Ì»|̼|̽|̾|Ì¿|ÌÀ|ÌÁ|ÌÂ|ÌÃ|ÌÄ|ÌÅ|ÌÆ|ÌÇ|ÌÈ|ÌÉ|ÌÊ|ÌË|ÌÌ|ÌÍ|ÌÎ|ÌÏ|ÌÐ|ÌÑ|ÌÒ|ÌÓ|ÌÔ|ÌÕ|ÌÖ|Ì×|ÌØ|ÌÙ|ÌÚ|ÌÛ|ÌÜ|ÍÝ|ÎÞ|Îß|Îà|Îá|Ïâ|Ïã|Ïä|Ïå|Ïæ|Ïç|Ïè|Ïé|Ïê|Ïë|Ïì|Ïí|Ïî|Ïï|Ïð|Ïñ|Ïò|Ïó|Ïô|Ïõ|Ïö|Ï÷|Ïø|Ïù|Ïú|Ïû|Ïü|Ïý|Ïþ|Ïÿ|Ï€}Ï�}Ï‚}σ}Ï„}Ï…}φ}χ}ψ}Љ}ÑŠ}Ò‹}ÓŒ}Ó�}ÓŽ}Ó�}Ó�}Ó‘}Ó’}Ó“}Ó”}Ó•}Ó–}Ó—}Ó˜}Ó™}Óš}Ó›}Óœ}Ó�}Óž}ÓŸ}Ó }Ó¡}Ó¢}Ó£}Ó¤}Ó¥}Ó¦}Ó§}Ó¨}Ó©}Óª}Ó«}Ó¬}Ó­}Ó®}Ó¯}Ó°}Ó±}Ó²}Ó³}Ó´}Óµ}Ó¶}Ó·}Ó¸}Ó¹}Óº}Ó»}Ó¼}Ó½}Ó¾}Ó¿}ÓÀ}ÓÁ}ÓÂ}ÓÃ}ÓÄ}ÓÅ}ÓÆ}ÓÇ}ÓÈ}ÓÉ}ÓÊ}ÓË}ÓÌ}ÓÍ}ÓÎ}ÓÏ}ÓÐ}ÓÑ}ÓÒ}ÓÓ}ÓÔ}ÓÕ}ÓÖ}Ó×}ÓØ}ÓÙ}ÓÚ}ÓÛ}ÓÜ}ÓÝ}ÓÞ}Óß}Óà}Óá}Óâ}Óã}Óä}Óå}Óæ}Óç}Óè}Ôé}Ôê}Ôë}Ôì}Ôí}Ôî}Ôï}Ôð}Ôñ}Ôò}Ôó}Ôô}Ôõ}Ôö}Ô÷}Ôø}Ôù}Ôú}Ôû}Ôü}Ôý}Ôþ}Ôÿ}Ô€~Ô�~Ô‚~Ôƒ~Ô„~Ô…~Ô†~Ô‡~Ôˆ~Ô‰~ÔŠ~Ô‹~ÔŒ~Ô�~ÔŽ~Ô�~Ô�~Ô‘~Ô’~Ô“~Ô”~Ô•~Ô–~Ô—~Ô˜~Ô™~Ôš~Ô›~Ôœ~Õ�~Õž~ÕŸ~Õ ~Õ¡~Õ¢~Õ£~Õ¤~Õ¥~Õ¦~Õ§~Õ¨~Õ©~Õª~Õ«~Õ¬~Õ­~Õ®~Õ¯~Õ°~Õ±~Õ²~Õ³~Õ´~Õâ None! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×ÙàáèX÷±Agda1²Agda42³Agda71´Agda154µAgdaÇReturn the error corresponding to an exit code from the Agda process ϰ±²³´µ¶· °±²³´µ¶Ï·ÖNone# #$%'(-02356789>?ÀÁÂÄÆÉÎÑÔ×ÙàáèYàµ~AgdaNames connected to an entity¶~Agda'Rendering that entity's name to a label·~AgdaGraph structure ¸~¹~µ~¶~·~º~»~¼~½~¾~¿~None! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáè[ ¼AgdaÉCut off structural order comparison at some depth in termination checker?½Agdac >= 0( means: record decrease up to including c+1.¿AgdaThe default termination depth.¼½¾¿¼½¾¿None! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáè]�ÄAgda Semirings.ÆAgda Addition.ÇAgdaMultiplication.ÈAgda×Zero. The one is never used in matrix multiplication , one :: a -- ^ One.ÉAgdaHasZero€ is needed for sparse matrices, to tell which is the element that does not have to be stored. It is a cut-down version of SemiRing, which is definable without the implicit ?cutoff.ÍAgdaThe standard semiring on À~s.ÎAgdaThe standard semiring on Á~s.ÏAgdaThe standard semiring on Â~s. ÄÅÈÇÆÉÊËÌÍ ÉÊÄÅÈÇÆËÌÍNone! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáè^zÒAgdaA constant term.ÓAgda,A term with one hole and the (old) contents.ÔAgda%A term with many holes (error value).ÑÔÓÒÑÔÓÒNone! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáè`!×AgdaBetter name for Ã~.ØAgdaGuard: return the action f only if the boolean is TrueÙAgdaGuard: return the value a only if the boolean is TrueÚAgdaBranch over a Ä~ collection of values.ÛAgdaBranch over a Ä~3 collection of values using the supplied action.רÙÚÛØÙÚÛ××None! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×ÙàáèfeÜAgdaType of a filter for CallSiteÝAgdaType of an entry in a  CallStackÞAgdaType of a column of a SrcLocßAgdaType of a line number of a SrcLocàAgdaType of a filename of a SrcLoc | e.g. `srcfullAgdaUtilsFoo.hs`áAgda$Type of the name of a function in a CallSite | e.g. proveEverythingâAgdaType of the module name of a SrcLoc | e.g. ØÙãAgdaType of the package name of a SrcLoc | e.g. `Agda-2.¦@`äAgda1The same as the un-exported internal function in %GHC.Exceptions (prettyCallStackLines) Prints like: +doFoo, called at foo.hs:190:24 in main:MainåAgdaPretty-print a  CallStack". This has a few differences from GHC.Stack.prettyCallStackLines–. We omit the "CallStack (from GetCallStack)" header line for brevity. If there is only one entry (which is common, due to the manual nature of the  HasCallStacké constraint), shows the entry on one line. If there are multiple, then the following lines are indented.æAgdaGet the most recent CallSite in a  CallStack, if there is one.çAgda CallStack! comprising only the most recent CallSiteèAgda Transform a  CallStack by transforming its list of CallSiteéAgda Transform a  CallStack by filtering each CallSiteêAgdaPops n entries off a  CallStack using  popCallStack.. Note that frozen callstacks are unaffected.!ÓÔÝÞßçæåäãâáàÜÝÞßàáâãäåæçèéêëìíNone! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáèh-îAgda%The unicode replacement character ýÿ .ïAgda&Is a character a surrogate code point.ðAgda?Map surrogate code points to the unicode replacement character.ñAgdaðTotal function to convert an integer to a character. Maps surrogate code points to the replacement character U+FFFD.îïðñîïðñNone! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáèh‰òòNone! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×ÙàáèhÙõö÷øõö÷øNone! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáèr‰ýAgdaRepeat a state transition f :: a -> (b, a) with output b while condition condÙ on the output is true. Return all intermediate results and the final result where cond is False.(Postconditions (when it terminates): (fst (last (iterWhile cond f a)) == False. $all fst (init (interWhile cond f a)).þAgda®Repeat something while a condition on some state is true. Return the last state (including the changes of the last transition, even if the condition became false then).ÿAgdaMonadic version of þ.€Agda%A version of the trampoline function.The usual function iterates f :: a -> Maybe a as long as Just{}, is returned, and returns the last value of a upon Nothing.ÉusualTrampoline f = trampolineWhile $ a -> maybe (False,a) (True,) (f a).trampolineWhile is very similar to  repeatWhileÁ, only that it discards the state on which the condition went False;, and returns the last state on which the condition was True.�AgdaMonadic version of €.‚AgdaÕMore general trampoline, which allows some final computation from iteration state a into result type b.ƒAgdaMonadic version of ‚.„AgdaIteration to fixed-point.iterateUntil r f a0 iterates endofunction f, starting with a0 , until r( relates its result to its input, i.e., f a r a.9This is the generic pattern behind saturation algorithms.If f is monotone with regard to r , meaning a r b implies f a r f b , and f-chains starting with a09 are finite then iteration is guaranteed to terminate.*A typical instance will work on sets, and r could be set inclusion, and a0 the empty set, and f- the step function of a saturation algorithm.…AgdaMonadic version of „.†Agda† n f x applies f to x n times and returns the result.)The applications are calculated strictly.‡AgdaapplyWhen b f a applies f to a when b.ˆAgdaapplyUnless b f a applies f to a unless b.‰AgdaMonadic version of  applyWhenŠAgdaMonadic version of  applyUnlessýþÿ€�‚ƒ„…†‡ˆ‰Šýþÿ€�‚ƒ„…†‡ˆ‰ŠNone! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáès‘‹AgdaSemiring with idempotent Å~ == dioidŒAgdaE.g. +�Agdaneutral element of compose , e.g. zero‹�ŒŽ��‘’”“•–—˜•–—˜’”“�‘Ž�‹�ŒNone! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáèx) šAgda?A decoration is a functor that is traversable into any functor.The Æ~Ó superclass is given because of the limitations of the Haskell class system.  traverseF actually implies functoriality.Minimal complete definition:  traverseF or  distributeF.›Agda traverseF is the defining property.œAgda%Decorations commute into any functor.�Agda?Composition: pure function after functorial (monadic) function.žAgdaThe true pure for loop. ÚÛ is a misnomer, it should be forA.ŸAgdaInfix version of ž. Agda#Any decoration is traversable with traverse = traverseF. Just like any Ç~6 is a functor, so is any decoration, given by just  traverseF , a functor.¡AgdaAny decoration is a lens. set is a special case of dmap.¢Agda0A typical decoration is pairing with some stuff.£Agda3Decorations compose. (Thus, they form a category.)¤Agda%The identity functor is a decoration. Øš›œ�žŸ ¡ �žš›œ ¡ØŸ�9 Ÿ1None! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×ÙàáèyeïAgdaShould not be used when ð could be used.ðAgdaShould only be used in let or where.ýAgda7Unstructured pragma (Andreas, 2017-08-23, issue #2712).Ü¥¦§¨©ª«¬®­¯°±³µ²´¶·¸ÅÄÃÂÀ½¼¿»¾ºÁ¹ÆÈÇÉÑÐÏÎÍÌËÊÒØ×ÖÔÓÕÙÚÛÜÝßÞàáâãäåæçèêéëòðìîíïóñôõö÷úùøûýüþÿ€Üþÿûýüö÷úùøôõëòðìîíïóñèêéæçãäåâàáÝßÞÛÜÙÚÒØ×ÖÔÓÕÉÑÐÏÎÍÌËÊÆÈǸÅÄÃÂÀ½¼¿»¾ºÁ¹¶·±³µ²´¯°¬®­©ª«§¨¥¦€None! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáè|<•Agda The function –Á makes every function argument, case and generator pattern, and ðß binding strict (except for those patterns that are marked as irrefutable, and anything in a ò or Å:). Note that only the outermost patterns are made strict.•–•–None! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáè}A£AgdaCatch È~s.¥Agda#Upon exception, the state is reset.¦Agda+Upon exception, the written output is lost.§Agda Alias of É~ for the IO monad.£¤£¤None! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáè}ã¨AgdaÁReturns a close function for the file together with the contents.¨¨None! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáè„©AgdacopyDirContent src dest recursively copies directory src onto dest.×First, a to-do list of copy actions is created. Then, the to-do list is carried out.ÍThis avoids copying files we have just created again, which can happen if src and dest( are not disjoint. (See issue #2705.)©© None! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáè€&ªAgdaÅCreates a temporary file, writes some stuff, and returns the filepathªª!None! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáè‚^«Agda‰Reads a UTF8-encoded text file and converts many character sequences which may be interpreted as line or paragraph separators into 'n'.¬Agda‰Reads a UTF8-encoded text file and converts many character sequences which may be interpreted as line or paragraph separators into 'n'.­AgdaÑWrites a UTF8-encoded text file. The native convention for line endings is used.®AgdaÑWrites a UTF8-encoded text file. The native convention for line endings is used.«¬­®«¬­®"None! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáè‚þ¯AgdaRead Ê~+, modify it strictly, and return old value. Ë~Ì~Í~Î~Ï~Ð~Ñ~Ò~Ó~Ê~¯¯#None! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáèˆ5 °AgdaÀMonads in which we can catch an "impossible" error, if possible.±Agda Catch any µ exception.²Agda Catch only µ# exceptions selected by the filter.³Agda Version of ±, with argument order suiting short handlers.´Agda Version of ², with argument order suiting short handlers.µAgdaú"Impossible" errors, annotated with a file name and a line number corresponding to the source code location of the error.¶Agda7We reached a program point which should be unreachable.·Agda Impossible‡ with a different error message. Used when we reach a program point which can in principle be reached, but not for a certain run.¸AgdaàWe reached a program point without all the required primitives or BUILTIN to proceed forward. (ImpMissingDefinitions neededDefs forThis¹AgdaáAbort by throwing an "impossible" error. You should not use this function directly. Instead use  IMPOSSIBLEºAgda Throw an  Impossible* error reporting the *caller's* call site.¼Agda Throw an  UnreachableŽ error reporting the *caller's* call site. Note that this call to "withFileAndLine" will be filtered out due its filter on the srcLocModule. °³´²±µ¸·¶¹º»¼ µ¸·¶¹°³´²±º»¼$None! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàá芃ÅAgdatoImpossible e extracts the  Impossible value raised via  IMPOSSIBLE to create the element e of type Empty. It proceeds by evaluating eÞ to weak head normal form and catching the exception. We are forced to wrap things in a Maybe because of catchImpossible's type.ÉAgdaValues of type à are not forced, because Ã' is used as a constructor argument in �Ü.ÃÄÅÃÄÅ%None! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×ÙàáèŽiËAgdaÙA set with duplicates. Faithfully stores elements which are equal with regard to (==).ÍAgda%The list contains all occurrences of aÎ (not just the duplicates!). Hence, the invariant: the list is never empty.ÎAgdaIs the bag empty?ÏAgda7Number of elements in the bag. Duplicates count. O(n).ÐAgda (bag ! a) finds all elements equal to a(. O(log n). Total function, returns [] if none are.ÑAgda O(log n).ÒAgda O(log n).ÓAgdaÃReturn the multiplicity of the given element. O(log n + count _ _).ÔAgdaO(1)ÕAgdaO(1)ØAgda "insert a b = union b (singleton a)ÙAgda !fromList = unions . map singletonÚAgda:Returns the elements of the bag, grouped by equality (==).ÛAgda!Returns the bag, with duplicates.ÜAgda#Returns the bag without duplicates.ÝAgda!Returns the bag, with duplicates.ËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßà&None! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáè’ÿšAgdaAgsy's meta variables.aÅ the type of the metavariable (what it can be instantiated with). blk= the search control information (e.g. the scope of the meta).œAgdaþMaybe an instantiation (refinement). It is usually shallow, i.e., just one construct(or) with arguments again being metas.�AgdaÒDoes this meta block a principal constraint (i.e., a type-checking constraint).žAgda:List of observers, i.e., constraints blocked by this meta.ŸAgda4Used for experiments with independence of subproofs. Agda Experimental.¥AgdaResult of type-checking.¦AgdaSuccess.§AgdaDefinite failure.¨Agda Experimental.©Agda$Parallel conjunction of constraints.ªAgdaExperimental, related to Ÿ. First arg is sidecondition.«AgdaìForking proof on something that is not part of the term language. E.g. whether a term will reduce or not.¬Agda Obsolete.¯AgdaTrav instance a with block type blkóçéèêëìîíïòñðóöõô÷øùúûüýþÿ�€‚ƒ„…†‡ˆ‰Š‹�ŒŽ�“’‘�”•™˜—–š› Ÿž�œ¡¢£¤¥¬ª¨¦«©§­®¯°²±³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙó³´µ°²±¯­®¥¬ª¨¦«©§£¤¢¡š› Ÿž�œ¶·¸”•™˜—–Ž�“’‘�¹º‹�Œ‰Šˆ»¼½¾¿…†‡‚ƒ„þÿ�€üýÀÁÂûøùúÃ÷óöõôïòñðìîíÄÅÆÇÈÉÊËÌÍÎÏëêÐÑÒÓÔÕÖרçéèÙ'None" #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáè—f èAgdaÒRepresents a set of integers. Invariants: - All cannot be the argument to Ô~ or Õ~ - at most one  IntsBelow - at most one  IntsAbove¦ - if `Below lo` and `Below hi`, then `lo < hi` - if `Below lo .. (Some xs)` then `all (> lo) xs` - if `Above hi .. (Some xs)` then `all (< hi - 1) xs`êAgda MembershipëAgdaAll integers `< n`ìAgdaAll integers `>= n`íAgdaA single integer.îAgda No integers.ïAgda All integers.ðAgda'If finite, return the list of elements.ñAgda Invariant. èéêëìíîïðñ èîïëìíéêðñ(None! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáè› ùAgdaÇVan Laarhoven style homogeneous lenses. Mnemoic: "Lens inner outer".üAgdaGet inner part i of structure o as designated by  Lens' i o.ýAgdaSet inner part i of structure o as designated by  Lens' i o.þAgdaModify inner part i of structure o using a function i -> i.ÿAgda8Focus on a part of the state for a stateful computation.€AgdaRead a part of the state.�AgdaWrite a part of the state.‚AgdaModify a part of the state.ƒAgda'Modify a part of the state monadically.„Agda?Modify a part of the state monadically, and return some result.…Agda#Modify a part of the state locally.†Agda Ask for part of read-only state.‡Agda/Modify a part of the state in a subcomputation.Ÿö÷øùúûüýþÿ€�‚ƒ„…†‡ˆ‰ö÷øùúûüýþÿ€�‚ƒ„…†‡ˆ‰Ÿü8�4‚4ƒ4„4)None& #$%'(-./02356789>?ÀÁÂÄÆÉÎÑÔÖ×Ùàáèžl ŠAgda An index into a type-level list.�Agda4Lists indexed by a type-level list. A value of type All p [x�A..x™A]% is a sequence of values of types p x�A, .., p x™A.�Agda&Existential wrapper for indexed types.’AgdaUnpacking a wrapped value.“Agda/Constructing an indexed list from a plain list.”Agda/Turning an indexed list back into a plain list.•Agda!Indices are just natural numbers.–AgdaMapping over an indexed list.—Agda>If you have an index you can get a lens for the given element.˜Agda)Looking up an element in an indexed list.™Agda!All indices into an indexed list.ŠŒ‹��Ž�‘’“”•–—˜™�‘’��Ž“”ŠŒ‹•–—˜™*None! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×ÙàáèŸgšAgdaTokenising the input (makes ½ cleaner)£Agda*Options for Auto, default value and lenses$š› Ÿ¢¡œž�£¤©¨§¦¥ª«¬­®°¯±´³²µ¶·¸¹º»¼½$±´³²®°¯­ª«¬£¤©¨§¦¥µ¶·¸¹ºš› Ÿ¢¡œž�»¼½+None! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáè “ÃAgdaÃ(View source:) This is how you implement a lens for a record field.¿ÀÂÁÃÄ¿ÀÂÁÃÄ,None" #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáè¡›ÆAgda;Update monadically the value at one position (must exist!).ÇAgda Wrapper for Æ for convenience.ÈAgdaFilter a map based on the keys.ÆÇÈÆÇÈ-None! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáè§aÉAgdaRetain object when tag is Ö~.ÊAgda unionWith for collections of size <= 1.ËAgda unionsWith for collections of size <= 1.ÌAgda Unzipping a list of length <= 1.ÍAgdaFiltering a singleton list. filterMaybe p a = ×~ (Ø~ p [a])ÎAgda Version of Ù~" with different argument ordering.ÏAgda Version of Ú~ with different argument ordering. Often, we want to case on a Û~%, do something interesting in the Ü~( case, but only a default action in the Ý~* case. Then, the argument ordering of  caseMaybe is preferable. $caseMaybe m d f = flip (maybe d) m fÐAgdaÏ with flipped branches.ÑAgdaMonadic version of Ú~.ÒAgdaMonadic version of Þ~.ÓAgdaMonadic version of Ï. That is, Ñ$ with a different argument ordering.ÔAgdaÓ with flipped branches.ÕAgdaA more telling name for ÝÞ for the Û~ collection type. Or: Ï without the Ý~ case.ÖAgdaÏ without the Ü~ case.×AgdaÓ without the Ý~ case.ØAgdaÓ without the Ü~ case.ÙAgdaLazy version of allJust  . sequence. (allJust = mapM for the Maybe/ monad.) Only executes monadic effect while isJust.ÚAgdaLift a maybe to an Alternative.Û~Ý~Ü~Ù~ß~×~à~Þ~á~â~ã~Ú~ÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚ.None! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàá訚ÛAgda"Simple, non-reentrant memoisation.ÜAgdaÒRecursive memoisation, second argument is the value you get on recursive calls.ÛÜÝÞÛÜÝÞ/None" #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáè©2ßAgda/Maximum of on-negative (small) natural numbers.ßàáßàá0None! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×ÙàáèªëAgda Satisfying null empty == True.÷AgdaA Û~ is ë' when it corresponds to the empty list. éëêìíîïðñòó éëêìíîïðñòóNone" #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáè°SŠAgda Analogous to ßà in  Data.Maybe.‹Agda Analogous to ßá in  Data.Maybe.ŒAgda Analogous to ßâ in  Data.Maybe.�Agda Analogous to ßã in  Data.Maybe.ŽAgda unionWith for collections of size <= 1.�Agda Unzipping a list of length <= 1.�AgdaFiltering a singleton list. filterMaybe p a = Š (Ø~ p [a])‘Agda Version of �" with different argument ordering.’Agda Version of ¨ with different argument ordering. Often, we want to case on a ¯%, do something interesting in the ­( case, but only a default action in the ®* case. Then, the argument ordering of  caseMaybe is preferable. (caseMaybe m err f = flip (maybe err) m f“AgdaMonadic version of ¨.”AgdaMonadic version of ©.•AgdaMonadic version of ’. That is, “$ with a different argument ordering.–Agda• with flipped branches.—AgdaA more telling name for Ýä for the ¯ collection type. Or: ’ without the ® case.˜Agda• without the ® case.šAgdaNote that strict Maybe is an ä~Ï only modulo strictness. The laws only hold in the strict semantics. Eg. pure f  * pure _|_ = _|_#, but according to the laws for ä~ it should be  pure (f _|_)3. We ignore this issue here, it applies also to Ä~ and Ç~.¨©ª«¬¯®­ˆ‰Š‹Œ�Ž��‘’“”•–—˜¨©ª«¬¯®­ˆ‰Š‹Œ�Ž��‘’“”•–—˜1None" #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáè¹q›AgdaInclusion comparison wrapper.žAgdaPointwise comparison wrapper.¡AgdaDecidable partial orderings.¤Agda6The result of comparing two things (of the same type).¥Agda Less than.¦AgdaLess or equal than.§AgdaEqual¨AgdaGreater or equal.©Agda Greater than.ªAgdaNo information (incomparable).«Agda8Comparing the information content of two elements of ¤'. More precise information is smaller.Includes equality: x « x == True.¬Agda Opposites.related a po b iff related b (oppPO po) a.­AgdaòCombining two pieces of information (picking the least information). Used for the dominance ordering on tuples.orPO1 is associative, commutative, and idempotent. orPO has dominant element POAny, but no neutral element.®AgdaChains (transitivity)  x R y S z.seqPO1 is associative, commutative, and idempotent. seqPO has dominant element POAny and neutral element (unit) POEQ.¯AgdaEmbed å~.°Agda%Represent a non-empty disjunction of å~s as ¤.±AgdaA ¤! information is a disjunction of å~ informations.²AgdaAny æ~ is a ¡.³Agda+Are two elements related in a specific way? related a o b holds iff comparable a b is contained in o.µAgda1Partial ordering forms a monoid under sequencing.¶Agda.Less is ``less general'' (i.e., more precise).·Agda&Pointwise partial ordering for tuples.related (x1,x2) o (y1,y2) iff related x1 o x2 and related y1 o y2.¸Agda$Partial ordering for disjoint sums: Left _ and Right _ are unrelated.¹AgdaÝ~ and Ü~ _ are unrelated.Partial ordering for Maybe a is the same as for  Either () a.½Agda4The pointwise ordering for lists of the same length.ñThere are other partial orderings for lists, e.g., prefix, sublist, subset, lexicographic, simultaneous order.¾Agda(Sets are partially ordered by inclusion.¿AgdaSublist for ordered lists.›œ�žŸ ¡¢£¤ª©¨§¦¥«¬­®¯°±²³¤ª©¨§¦¥«¬­®¯°±£¡¢²³žŸ ›œ�2None" #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáè¼ÙËAgda?Completing POMonoids with inverses to form a Galois connection.ÂLaw: composition and inverse composition form a Galois connection. & related (inverseCompose p x) POLE y  == related x POLE (p <> y) ÍAgdaPartially ordered monoid."Law: composition must be monotone. Ð related x POLE x' && related y POLE y' ==> related (x <> y) POLE (x' <> y') ÎAgdaPartially ordered semigroup."Law: composition must be monotone. Ð related x POLE x' && related y POLE y' ==> related (x <> y) POLE (x' <> y') ÏAgdahasLeftAdjoint x checks whether  x^-1 := x Ì mempty is such that x Ì y == x^-1 <> y for any y.ËÌÍÎÏÎÍËÌÏ3None! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáè¾ ÕAgdaIf f a contains many copies of a™ they will all be the same pointer in the result. If the function is well-behaved (i.e. preserves the implicit equivalence, this shouldn't matter).ÐÑÒÓÔÕÐÑÒÔÓÕ4None! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáè¿àAgdaStar semirings ( 5https://en.wikipedia.org/wiki/Semiring#Star_semirings).âAgda Semirings ( &https://en.wikipedia.org/wiki/Semiring).àáâæåäãâæåäãàáNone! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáè¿z5None! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×ÙàáèÀzíAgda Overloaded  singleton constructor for collections.ïAgdaßA create-only possibly empty collection is a monoid with the possibility to inject elements.íîïðïðíî6None" #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×ÙàáèÇAgdaCharacteristic identifiers.ˆAgdaGiven a function f :: a -> NonEmpty C6 which returns a non-empty list of characteristics C of a, partition a list of a†s into groups such that each element in a group shares at least one characteristic with at least one other element of the group.‰AgdaPartition a list of a5s paired with a non-empty list of characteristics C… into groups such that each element in a group shares at least one characteristic with at least one other element of the group.‡ˆ‰‡ˆ‰None! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×ÙàáèÅ’‹Agda Time O(n)!ŒAgda Time O(1).�Agdanot . member a . Time O(1).ŽAgda Time O(n).�AgdaThe empty set. Time O(n).�AgdaThe full set. Time O(n).‘AgdaA singleton set. Time O(n).’Agda Time O(n).“Agda Time O(n).”Agda Time O(n).•Agda Time O(n).–Agda Time O(n).—Agda Time O(n).˜Agda Time O(n).™Agda Time O(n).šAgda Time O(n).›Agda Time O(n).œAgda Time O(n).�Agda Time O(n).žAgda Time O(n).ŸAgda Time O(n). Agda Time O(n).Š‹Œ�Ž��‘’“”•–—˜™š›œ�žŸ Š–”“•›�žŸ ’—Ž™Œ�‹‘œ��˜š7None! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×ÙàáèÈÅ ¦Agda&Classification of identifier variants.§AgdaIdentifier ends in Integer many primes.¨AgdaIdentifier ends in number Integer (ordinary digits).©AgdaIdentifier ends in number Integer (subscript digits).ªAgda'Is the character one of the subscripts '€A'-'‰A'?«Agda Converts '0'-'9' to '€A'-'‰A'-Precondition: The digit needs to be in range.¬Agda Converts '€A'-'‰A' to '0'-'9'.-Precondition: The digit needs to be in range.­AgdaIncrease the suffix by one.®Agda Parse suffix.¯Agda Print suffix. ¦©§¨ª«¬­®¯° ª«¬¦©§¨­®¯°8None! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×ÙàáèÊ5±AgdaDisjoint sum of three.µAgdaEnum type with 3 elements.¹AgdaPartition a list into 3 groups.)Preserves the relative order or elements.ºAgdaPartition a list into 3 groups.)Preserves the relative order or elements. ±´³²µ¸·¶¹º»¼ µ¸·¶¹±´³²º»¼9None! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×ÙàáèÏ—ÅAgdaFinite map from [k] to v.With the strict Û~ type, Å is also strict in v.ÇAgdaSingleton trie.ÈAgdaeveryPrefix k v! is a trie where every prefix of k (including k itself) is mapped to v.ÉAgdaLeft biased union.#union = unionWith ( new old -> new).ÊAgda/Pointwise union with merge function for values.ËAgda.Insert. Overwrites existing value if present. %insert = insertWith ( new old -> new)ÌAgda6Insert with function merging new value with old value.ÍAgda.Delete value at key, but leave subtree intact.ÎAgda*Adjust value at key, leave subtree intact.ÏAgdaConvert to ascending list.ÐAgdaConvert to ascending list.ÑAgdaÝConvert to list where nodes at the same level are ordered according to the given ordering.ÒAgda×Create new values based on the entire subtrie. Almost, but not quite comonad extend.ÓAgda8Returns the value associated with the given key, if any.ÔAgda%Is the given key present in the trie?ÕAgda&Collect all values along a given path.ÖAgda(Get the subtrie rooted at the given key.×AgdaFilter a trie.ØAgda Key lens.ÙAgda Empty trie.êÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרůêÇÈËÌÉÊÎÍÏÐÑÓÔÕÖÒר None! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×ÙàáèÑáAgdaBifunctoriality for pairs.âAgda mapFst f = f -*- idãAgda mapSnd g = id -*- gäAgdaLifted pairing.êAgdaMonadic version of á.ëAgdaMonadic â.ìAgdaMonadic ã.ÙßàáâãäåæçèéêëìáâãäåæçÙèéêëìßàá2ä3:None! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáèð¶ÅòAgda$Internal state for stripping suffix.óAgdaError.ôAgda8"Negative string" to remove from end. List may be empty.õAgda+"Positive string" (result). Non-empty list.ùAgdaÐAppend a single element at the end. Time: O(length); use only on small lists.úAgda5Case distinction for lists, with list first. O(1).Cf. 0å.ûAgda5Case distinction for lists, with list first. O(1).Cf. 0å.üAgda4Case distinction for lists, with list last. O(1).ýAgdaÆHead function (safe). Returns a default value on empty lists. O(1). >headWithDefault 42 [] = 42 headWithDefault 42 [1,2,3] = 1þAgdaTail function (safe). O(1).ÿAgdaÆTail function (safe). Returns a default list on empty lists. O(1).€ AgdaLast element (safe). O(n).� AgdaÅLast element (safe). Returns a default list on empty lists. O(n).‚ Agda3Last element of non-empty list (safe). O(n). last1 a as = last (a : as)ƒ Agda"Last two elements (safe). O(n).„ AgdaOpposite of cons (:), safe. O(1).… AgdaMaybe cons. O(1). "mcons ma as = maybeToList ma ++ as† Agdaç~ and è~ in one go, safe. O(n).‡ Agdaç~ and è~& of non-empty list, safe. O(n). *initLast1 a as = (init (a:as), last (a:as)ˆ Agdaç~& of non-empty list, safe. O(n). init1 a as = init (a:as)‰ Agdainit, safe. O(n).Š Agdainit, safe. O(n).‹ Agda4Lookup function (partially safe). O(min n index).Œ AgdaÍLookup function with default value for index out of range. O(min n index).The name is chosen akin to æç.� AgdaåFind an element satisfying a predicate and return it with its index. O(n) in the worst case, e.g. findWithIndex f xs = Nothing.%TODO: more efficient implementation!?Ž AgdaA generalised variant of  elemIndex. O(n).� AgdadownFrom n = [n-1,..1,0] . O(n).� Agda:Update the first element of a list, if it exists. O(1).‘ Agda9Update the last element of a list, if it exists. O(n).’ Agda/Update nth element of a list, if it exists. O(min index n). Precondition: the index is >= 0.“ Agda#splitExactlyAt n xs = Just (ys, zs) iff  xs = ys ++ zs and genericLength ys = n.” Agda*Drop from the end of a list. O(length). &dropEnd n = reverse . drop n . reverseForces the whole list even for n==0.• AgdaÉSplit off the largest suffix whose elements satisfy a predicate. O(n).spanEnd p xs = (ys, zs) where  xs = ys ++ zs and all p zs and #maybe True (not . p) (lastMaybe yz).– AgdaBreaks a list just after1 an element satisfying the predicate is found. breakAfter1 even 1 [3,5,2,4,7,8]([1,3,5,2],[4,7,8])— AgdaBreaks a list just after1 an element satisfying the predicate is found.breakAfter even [1,3,5,2,4,7,8]([1,3,5,2],[4,7,8])˜ AgdaA generalized version of  takeWhile . (Cf. mapMaybe vs. filter#). @O(length . takeWhileJust f)."takeWhileJust f = fst . spanJust f.™ AgdaA generalized version of span. O(length . fst . spanJust f).š AgdaPartition a list into Ý~s and Ü~ s. O(n). ÌpartitionMaybe f = partitionEithers . map ( a -> maybe (Left a) Right (f a))Note: Ù~ f = snd . partitionMaybe f.› AgdaLike Ø~Ó, but additionally return the last partition of the list where the predicate is False everywhere. O(n).œ AgdaLike Ù~Þ, but additionally return the last partition of the list where the function always returns Nothing . O(n).� AgdaSublist relation.ž Agda7All ways of removing one element from a list. O(n²).Ÿ Agda6Compute the common prefix of two lists. O(min n m).  AgdaÌDrops from both lists simultaneously until one list is empty. O(min n m).¡ AgdaäCheck if a list has a given prefix. If so, return the list minus the prefix. O(length prefix).¢ Agda4Compute the common suffix of two lists. O(n + m).£ AgdastripSuffix suf xs = Just pre iff xs = pre ++ suf. O(n).¤ Agda&stripReversedSuffix rsuf xs = Just pre iff xs = pre ++ reverse suf . O(n).¥ Agda"Find out whether the first string xs7 has a suffix that is a prefix of the second string ysœ. So, basically, find the overlap where the strings can be glued together. Returns the index where the overlap starts and the length of the overlap. The length of the overlap plus the index is the length of the first string. Note that in the worst case, the empty overlap  (length xs,0) is returned.¦ Agda¦  f = groupBy ((é~ ) `on` f) ê~ ë~ (ì~ `on` f). O(n log n).§ Agda A variant of í~Ó which applies the predicate to consecutive pairs. O(n). DEPRECATED in favor of è.¨ AgdaÆSplit a list into sublists. Generalisation of the prelude function words . O(n). words xs == wordsBy isSpace xs© Agda2Chop up a list in chunks of a given length. O(n).ª AgdaÆChop a list at the positions when the predicate holds. Contrary to ¨ Û, consecutive separator elements will result in an empty segment in the result. O(n). *intercalate [x] (chopWhen (== x) xs) == xs« AgdaåCheck membership for the same list often. Use partially applied to create membership predicate hasElem xs :: a -> Bool. First time:  O(n log n) in the worst case.Subsequently: O(log n).Specification: hasElem xs == (î~ xs).¬ Agda&Check whether a list is sorted. O(n).Assumes that the æ~% instance implements a partial order.­ Agda×Check whether all elements in a list are distinct from each other. Assumes that the ï~- instance stands for an equivalence relation.O(n²) in the worst case distinct xs == True.® AgdaAn optimised version of ­ . O(n log n)./Precondition: The list's length must fit in an Á~.¯ AgdaéReturns an (arbitrary) representative for each list element that occurs more than once. O(n log n).° AgdaìRemove the first representative for each list element. Thus, returns all duplicate copies. O(n log n).&allDuplicates xs == sort $ xs \ nub xs.± AgdaûPartition a list into first and later occurrences of elements (modulo some quotient given by a representation function).Time: O(n log n).Specification: ÅnubAndDuplicatesOn f xs = (ys, xs List.\\ ys) where ys = nubOn f xs² AgdaEfficient variant of nubByà for lists, using a set to store already seen elements. O(n log n)Specification: )nubOn f xs == 'nubBy' ((==) `'on'` f) xs.³ AgdaEfficient variant of nubBy for finite lists. O(n log n). ÆuniqOn f == 'List.sortBy' (compare `'on'` f) . 'nubBy' ((==) `'on'` f),If there are several elements with the same f--representative, the first of these is kept.´ AgdaÆChecks if all the elements in the list are equal. Assumes that the ï~6 instance stands for an equivalence relation. O(n).µ AgdaNon-efficient, monadic nub . O(n²).¶ Agda5Requires both lists to have the same length. O(n). Otherwise, Nothing is returned.· AgdaLike ð~Ú but keep the rest of the second list as-is (in case the second list is longer). O(n). Ä zipWithKeepRest f as bs == zipWith f as bs ++ drop (length as) bs ¹ AgdaÊImplemented using tree recursion, don't run me at home! O(3^(min n m)).º Agda*Implemented using dynamic programming and  Data.Array . O(n*m).÷AgdaThe list after the split point.øAgda The list before the split point.Êòõóôö÷øùúûüýþÿ€ � ‚ ƒ „ … † ‡ ˆ ‰ Š ‹ Œ � Ž � � ‘ ’ “ ” • – — ˜ ™ š › œ � ž Ÿ   ¡ ¢ £ ¤ ¥ ¦ § ¨ © ª « ¬ ­ ® ¯ ° ± ² ³ ´ µ ¶ · ¸ ¹ º » Êùúûüýþÿ€ � ‚ ƒ „ … † ‡ ˆ ‰ Š ‹ Œ � Ž � � ‘ ’ ø÷“ ” • – — ˜ ™ š › œ � ž Ÿ   ¡ ¢ £ ö¤ òõóô¥ ¦ § ¨ © ª « ¬ ­ ® ¯ ° ± ² ³ ´ µ ¶ · ¸ ¹ º » ;None! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáèõú ¼ Agda¼ É adds double quotes around the string, replaces newline characters with nè, and escapes double quotes and backslashes within the string. This is different from the behaviour of ñ~: > ò~ $ ñ~ "\x2200" "\8704" > ò~ $ ¼  "\x2200" "€D" Ö(The code examples above have been tested using version 4.2.0.0 of the base library.)½ AgdaÇTurns the string into a Haskell string literal, avoiding escape codes.¾ Agda$Adds hyphens around the given stringputStrLn $ delimiter "Title"<”@”@”@”@ Title ”@”@”@”@”@”@”@”@”@”@”@”@”@”@”@”@”@”@”@”@”@”@”@”@”@”@”@”@”@”@”@”@”@”@”@”@”@”@”@”@”@”@”@”@”@”@”@”@”@¿ Agda1Adds a final newline if there is not already one.À Agda-Indents every line the given number of steps.Á Agda6Show a number using comma to separate powers of 1,000. AgdaRemove leading whitespace.à AgdaRemove trailing whitespace.Ä Agda'Remove leading and trailing whitesapce. ¼ ½ ¾ ¿ À Á Â Ã Ä ¼ ½ ¾ ¿ À Á Â Ã Ä None" #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×ÙàáèúxÇ Agda%Return the last element and the rest.È AgdaBuild a list with one element.É Agda"Append a list to a non-empty list.Ê Agda#Prepend a list to a non-empty list.Ë AgdaMore precise type for snoc.Ì AgdaMore precise type for :è. A variant of í~: which applies the predicate to consecutive pairs. O(n).Í AgdaBreaks a list just after1 an element satisfying the predicate is found.breakAfter even [1,3,5,2,4,7,8]([1,3,5,2],[4,7,8])Î Agda(Concatenate one or more non-empty lists.Ï AgdaLike æé8. Duplicates in the first list are not removed. O(nm).Ó AgdaÆChecks if all the elements in the list are equal. Assumes that the ï~6 instance stands for an equivalence relation. O(n).Ô AgdaLike ß~.Õ AgdaLike ¤.Ö AgdaLike êë.× AgdaLike êì.Ø AgdaLike êí.Ù AgdaNon-efficient, monadic • . O(n²).Ú AgdaLike îï.Û AgdaLike îï.Ï‘’“”•–—˜™š›œ�žŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÜÅÇ È É Ê Ë Ì Í Î Ï Ð Ñ Ò Ó Ô Õ Ö × Ø Ù Ú Û ÏÅÇ È É Ê Ë Ì Í Î Ï Ð Ñ Ò Ó Ô Õ Ö × Ø Ù Ú Û ‘’“”•–—˜™š›œ�žŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÜ<None! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×ÙàáèüûÜ AgdaÞThing decorated with its size. The thing should fit into main memory, thus, the size is an Int.à Agda,The size of a collection (i.e., its length).â AgdaCache the size of an object.í AgdaReturn the cached size.Ü Ý Þ ß à á â à á Ü Ý Þ ß â =None! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáè Bî Agda%Things that support delayed dropping.ò Agda)Delayed dropping which allows undropping.ô Agda&Non-negative number of things to drop.õ AgdaWhere to drop from.ö Agda3Invert a Permutation on a partial finite int map. inversePermute perm f = f' such that permute perm f' = f!Example, with map represented as  [Maybe a]: ò f = [Nothing, Just a, Just b ] perm = Perm 4 [3,0,2] f' = [ Just a , Nothing , Just b , Nothing ]  Zipping perm with f gives  [(0,a),(2,b)], after compression with  catMaybes. This is an IntMap9 which can easily written out into a substitution again.ø AgdaPartial permutations. Examples:)permute [1,2,0] [x0,x1,x2] = [x1,x2,x0] (proper permutation).&permute [1,0] [x0,x1,x2] = [x1,x0] (partial permuation).,permute [1,0,1,2] [x0,x1,x2] = [x1,x0,x1,x2]- (not a permutation because not invertible).Agda typing would be: 9Perm : {m : Nat}(n : Nat) -> Vec (Fin n) m -> Permutation m is the á  of the permutation.ü Agda'permute [1,2,0] [x0,x1,x2] = [x1,x2,x0] More precisely, permute indices list = sublist , generates sublist from list1 by picking the elements of list as indicated by indices. *permute [1,3,0] [x0,x1,x2,x3] = [x1,x3,x0]Agda typing: ,permute (Perm {m} n is) : Vec A m -> Vec A nþ AgdaIdentity permutation.ÿ Agda"Restrict a permutation to work on n elements, discarding picks >=n.€ Agda9Pick the elements that are not picked by the permutation.� AgdaliftP k takes a  Perm {m} n to a Perm {m+k} (n+k). Analogous to ðñ?, but Permutations operate on de Bruijn LEVELS, not indices.‚ Agda 2permute (compose p1 p2) == permute p1 . permute p2ƒ Agda invertP err p is the inverse of p) where defined, otherwise defaults to err. composeP p (invertP err p) == p„ AgdaÉTurn a possible non-surjective permutation into a surjective permutation.… Agda ?permute (reverseP p) xs == reverse $ permute p $ reverse xs Example: Ñ permute (reverseP (Perm 4 [1,3,0])) [x0,x1,x2,x3] == permute (Perm 4 $ map (3-) [0,3,1]) [x0,x1,x2,x3] == permute (Perm 4 [3,0,2]) [x0,x1,x2,x3] == [x3,x0,x2] == reverse [x2,x0,x3] == reverse $ permute (Perm 4 [1,3,0]) [x3,x2,x1,x0] == reverse $ permute (Perm 4 [1,3,0]) $ reverse [x0,x1,x2,x3] With reversePã, you can convert a permutation on de Bruijn indices to one on de Bruijn levels, and vice versa.† Agda8permPicks (flipP p) = permute p (downFrom (permRange p)) or Çpermute (flipP (Perm n xs)) [0..n-1] = permute (Perm n xs) (downFrom n)äCan be use to turn a permutation from (de Bruijn) levels to levels to one from levels to indices.See òó.‡ Agda expandP i n À in the domain of À replace the ith element by n elements.ˆ AgdaþStable topologic sort. The first argument decides whether its first argument is an immediate parent to its second argument.ï AgdaPerform the dropping.ð Agda Drop more.ñ AgdaPick up dropped stuff.î ñ ð ï ò ó ô õ ö ÷ ø ù û ú ü ý þ ÿ € � ‚ ƒ „ … † ‡ ˆ ‰ ø ù û ú ü ý ö ÷ þ ÿ € � ‚ ƒ „ … † ‡ ˆ ‰ ò ó ô õ î ñ ð ï None! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáè »ž AgdaLists of length åD2.  Agda Safe. O(1).¡ Agda Safe. O(1).¢ Agda Safe. O(n).£ Agda Safe. O(1).¤ Agda Safe. O(1).¥ Agda Safe. O(1).¦ AgdaUnsafe! ž Ÿ   ¡ ¢ £ ¤ ¥ ¦ § ž Ÿ   ¡ ¢ £ ¤ ¥ ¦ § >None" #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáè Ó AgdaÊDenotational equality for floating point numbers, checks bitwise equality.ÕNOTE: Denotational equality distinguishes NaNs, so its results may vary depending on the architecture and compilation flags. Unfortunately, this is a problem with floating-point numbers in general.Ô Agda²I guess "denotational orderings" are now a thing? The point is that we need an Ord instance which provides a total ordering, and is consistent with the denotational equality.NOTE: The ordering induced via Ò * is total, and is consistent with Ó ý. However, it is *deeply* unintuitive. For one, it considers all negative numbers to be larger than positive numbers.Õ AgdaÀReturn Just x if it's a finite number, otherwise return Nothing.Ö AgdaRemove suffix .0$ from printed floating point number.× Agda$Decode a Double to an integer ratio.Ø Agda$Encode an integer ratio as a double.Ù Agda�Decode a Double to its mantissa and its exponent, normalised such that the mantissa is the smallest possible number without loss of accuracy.Ú AgdaÅChecks whether or not the Double is within a safe range of operation.Û Agda.Encode a mantissa and an exponent as a Double.+± ² ³ ´ µ ¶ · ¸ ¹ º » ¼ ½ ¾ ¿ À Á Â Ã Ä Å Æ Ç È É Ê Ë Ì Í Î Ï Ð Ñ Ò Ó Ô Õ Ö × Ø Ù Ú Û +Õ Ë Ì Í Î Ú ± ² ³ ´ µ ¶ · ¸ ¹ º » ¼ ½ ¾ ¿ À Á Â Ã Ä Å Æ Ç È É Ê Ï Ð Ñ Ó Ô Ò × Ø Ù Û Ö None! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×ÙàáèÜ AgdaWhile ó~- is for rendering data in Haskell syntax, Ü Ì is for displaying data to the world, i.e., the user and the environment.ÂAtomic data has no inner document structure, so just implement Ý  as pretty a = text $ ... a ....à AgdaUse instead of ñ~ when printing to world.é Agda1Separate, but only if both separees are not null.ê Agda+Comma separated list, without the brackets.ë AgdaPretty print a set.ì Agda!Pretty print an association list.í Agda"Pretty print a single association.î AgdaApply � to š if boolean is true.ï AgdaOnly wrap in parens if not êð Agdaalign max rows lays out the elements of rowsð in two columns, with the second components aligned. The alignment column of the second components is at most max2 characters to the right of the left-most column.Precondition: max > 0.ñ Agda?Handles strings with newlines properly (preserving indentation)ò Agda a  ? b = hang a 2 bó Agda pshow = text . showõ AgdaUsed for with-like  telescopesÎõö÷øùúûüýþÿ€�‚ƒ„…†‡ˆ‰Š‹Œ�Ž��‘’“”•–—˜™š›�œ¢¡ž Ÿ§£¤¦¥Ü ß Ý Þ à á â ã ä å æ ç è é ê ë ì í î ï ð ñ ò ó ô õ ÎÜ ß Ý Þ à á â ã ä å æ ç è é ê ë ì í î ï ð ñ ò ó ô õ õö÷øùúûüýþÿ€�‚ƒ„…†‡ˆ‰Š‹Œ�Ž��‘’“”•–—˜™š›�œ¢¡ž Ÿ§£¤¦¥ò 6?None! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáèüˆ Agda"CPU time in pico (10^-12) seconds.Š Agda Timestamps.‹ AgdaThe current time.Ž AgdaÏMeasure the time of a computation. Of course, does not work with exceptions.� Agda(Print CPU time in milli (10^-3) seconds.ˆ ‰ Š ‹ Œ � Ž Š ‹ � Ž ˆ ‰ Œ @None! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàá趘 Agda(Documents paired with precedence levels.™ AgdaÀAn extended parser type, with some support for printing parsers.› AgdaRuns the parser.œ Agda&Tries to print the parser, or returns ô~Æ, depending on the implementation. This function might not terminate.� AgdaÏParses a token satisfying the given predicate. The computed value is returned.ž AgdaÛUses the given function to modify the printed representation (if any) of the given parser.Ÿ AgdaMemoises the given parser./Every memoised parser must be annotated with a uniqueÊ key. (Parametrised parsers must use distinct keys for distinct inputs.)  AgdaÁMemoises the given parser, but only if printing, not if parsing./Every memoised parser must be annotated with a uniqueÊ key. (Parametrised parsers must use distinct keys for distinct inputs.)¡ AgdaThe parser type.The parameters of the type Parser k r tok a have the following meanings: kType used for memoisation keys.rÔThe type of memoised values. (Yes, all memoised values have to have the same type.)tokThe token type.aThe result type.¢ AgdaõUses the given document as the printed representation of the given parser. The document's precedence is taken to be ª .£ Agda.Parses a token satisfying the given predicate.¤ AgdaParses a single token.¥ AgdaParses a given token.¦ AgdaPrecedence of >>=.§ AgdaPrecedence of  |.¨ AgdaPrecedence of  *.© AgdaPrecedence of ÆE and +.ª AgdaPrecedence of atoms.˜ ™ š › ž � Ÿ   œ ¡ ¢ £ ¤ ¥ ¦ § ¨ © ª š › ž � Ÿ   œ £ ¤ ¥ ¢ ˜ ¦ § ¨ © ª ¡ ™ ôNone! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáè ONone! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáè œ!ÓÔÝÞßçàáâãäæåÜÝÞßàáâãäåæçèéêëìí!ÓÔÝÞßçàáâãäæåÜÝÞßàáâãäåæçèéêëìíANone! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáè&Úµ Agda4The flexibe variables contained in a pice of syntax.¸ Agda2The rigid variables contained in a pice of syntax.» Agda)Make offsets non-negative by rounding up.½ AgdaOffsets + n must be non-negativeÀ AgdaExecuting a substitution. AgdaÀPartial substitution from flexible variables to size expression.Å Agda*Type of solution wanted for each flexible.Æ Agda,Assigning a polarity to a flexible variable.È Agda)What type of solution are we looking for?Ì Agda= 0.ç AgdaDefault polarity is É .é Agda?Returns an error message if we have a contradictory constraint.ê AgdaÓ  acts as Ö~, Ò  as õ~.ë Agda Interpret Ñ  as relation on ã .õ AgdaAdd offset to size expression.ù AgdaComparison operator is ordered Ò  < Ó .7µ · ¶ ¸ º ¹ » ¼ ½ ¾ ¿ À Á Â Ã Ä Å Æ Ç È Ê É Ë Ì Í Ð Î Ï Ñ Ó Ò Ô Õ Ø Ù × Ö Ú Ü Û Ý Þ ß à á â ã ä å æ ç è é ê ë 7ã ä à á â Ý Þ ß Õ Ø Ù × Ö Ú Ü Û Ô Ñ Ó Ò Ì Í Ð Î Ï Ë È Ê É Æ Ç Å å æ ç Â Ã Ä è À Á ¿ é ê ë ½ ¾ » ¼ ¸ º ¹ µ · ¶ BNone! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáè)ž¨ AgdaSimple Emacs Lisp expressions.© AgdaAtom.« AgdaList.­ AgdaFormats a response command. Replaces 'n'= with spaces to ensure that each command is a single line.® Agda-Writes a response command to standard output.° AgdaClear the running info buffer.± AgdaClear the warning buffer² AgdaÁDisplay running information about what the type-checker is up to. ¨ ¬ © « ª ­ ® ¯ ° ± ² ¨ ¬ © « ª ­ ® ¯ ° ± ² None! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáè.˵ Agda Loop while we have an exception.¶ AgdaMonadic version of ö~$ with a different argument ordering.· Agda'Either _ b' is a functor.¸ Agda'Either a' is a functor.¹ Agda÷~ is bitraversable. Note: From base >= 4.10.0.0 already present in õö.º Agda Analogue of ÷ø.» Agda Analogue of ÷ø.¼ Agda Analogue of -ù.½ Agda Analogue of -ù.¾ AgdaSafe projection from ø~. 8maybeLeft (Left a) = Just a maybeLeft Right{} = Nothing¿ AgdaSafe projection from ù~.  x) xs) else Nothing  Agda)Groups a list into alternating chunks of ø~ and ù~ valuesà AgdaConvert Û~ to ÷~ e, given an error e for the Ý~ case.Ä Agda Swap tags ø~ and ù~.ÕÖµ ¶ · ¸ ¹ º » ¼ ½ ¾ ¿ À Á Â Ã Ä µ ¶ · ¸ ¹ ÖÕº » ¼ ½ ¾ ¿ À Á Â Ã Ä None! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáè8[Å Agda Binary bind.È AgdaMonadic guard.É AgdaMonadic if-then-else.Ê Agda ifNotM mc = ifM (not  $ mc)Ë AgdaLazy monadic conjunction.Î AgdaLazy monadic disjunction.Ñ AgdaLazy monadic disjunction with Either> truth values. Returns the last error message if all fail.Ò AgdaèLazy monadic disjunction with accumulation of errors in a monoid. Errors are discarded if we succeed.Ó AgdaGeneralized version of 8traverse_ :: Applicative m => (a -> m ()) -> [a] -> m ()î Executes effects and collects results in left-to-right order. Works best with left-associative monoids.!Note that there is an alternative !mapM' f t = foldr mappend mempty  $ mapM f t‡that collects results in right-to-left order (effects still left-to-right). It might be preferable for right associative monoids.Ô AgdaGeneralized version of 3for_ :: Applicative m => [a] -> (a -> m ()) -> m ()Ù AgdaA monadic version of Ù~ :: (a -> Maybe b) -> [a] -> [b].Ú Agda A version of Ù ' with a computation for the input list.Û AgdaThe for version of Ù .Ü AgdaThe for version of Ú .Ý AgdaA monadic version of ú~ :: (a -> Bool) -> [a] -> [a].Þ AgdaA monadic version of  dropWhileEnd :: (a -> Bool) -> [a] -> m [a]:. Effects happen starting at the end of the list until p becomes false.ß AgdaA `monadic' version of @ partition# :: (a -> Bool) -> [a] -> ([a],[a])à Agda Translates Û~ to �.á AgdaGeneralises the ß~& function from lists to an arbitrary �.â Agda"Branch over elements of a monadic Ä~ data structure.ã AgdaFinally for the ErrorÆ class. Errors in the finally part take precedence over prior errors.ä AgdaTry a computation, return Ý~ if an Error occurs.å Agda1Run a command, catch the exception and return it.æ AgdaLike û~-, but raise given error when condition fails.ç Agda;Bracket without failure. Typically used to preserve state.è Agda Restore state after computation.ç AgdaAcquires resource. Run first.AgdaReleases resource. Run last.Agda Computes result. Run in-between.,Û��ŽÐÚÅ Æ Ç È É Ê Ë Ì Í Î Ï Ð Ñ Ò Ó Ô Õ Ö × Ø Ù Ú Û Ü Ý Þ ß à á â ã ä å æ ç è ,Å Æ Ç È É Ê Ë Ì Í Î Ï Ð Ñ Ò Ó Ô Õ Ö × Ø Ù Ú Û Ü Ý Þ ß à á â ã ä å æ ç è ÚÐ��ŽÛCNone# #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáè=é Agda.Lazy monadic computation of a list of results.ì AgdaBoilerplate function to lift ü~ through the é  transformer.í Agda Inverse to ì .î AgdaThe empty lazy list.ï AgdaConsing a value to a lazy list.ð AgdaSingleton lazy list.ñ Agda Case distinction over lazy list.ò Agda+Folding a lazy list, effects left-to-right.ó AgdaÄLazy monadic disjunction of lazy monadic list, effects left-to-rightô AgdaÄLazy monadic conjunction of lazy monadic list, effects left-to-rightõ Agda8Force all values in the lazy list, effects left-to-rightö AgdaThe join operation of the ListT m monad.÷ AgdaWe can `run' a computation of a é  as it is monadic itself.ø Agda Monadic cons.ù AgdaMonadic singleton.ú Agda Extending a monadic function to é .û Agda!Alternative implementation using ò .ü Agda Change from one monad to anotheré ê ë ì í î ï ð ñ ò ó ô õ ö ÷ ø ù ú û ü é ê ë ì í î ï ð ñ ò ó ô õ ö ÷ ø ù ú û ü DNone" #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×ÙàáèA¹‰ Agda%Paths which are known to be absolute.Note that the ï~ and æ~Ó instances do not check if different paths point to the same files or directories.‹ Agda Extract the ‰  to be used as ý~.Œ Agda Constructs ‰ s.2Precondition: The path must be absolute and valid.� AgdaMakes the path absolute.This function may raise an __IMPOSSIBLE__ error if þ~" does not return an absolute path.Ž Agda!Resolve symlinks etc. Preserves � .� AgdaÐTries to establish if the two file paths point to the same file (or directory).� AgdaCase-sensitive ÿ~ for Windows.÷This is case-sensitive only on the file name part, not on the directory part. (Ideally, path components coming from module name components should be checked case-sensitively and the other path components should be checked case insensitively.)‘ AgdaõTrue if the first file is newer than the second file. If a file doesn't exist it is considered to be infinitely old. ‰ Š ‹ Œ � Ž � � ‘ ‰ Š ‹ Œ � Ž � � ‘ ENone! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×ÙàáèB‰œ AgdaHashes a piece of €.ž Agda-Hashing a module name for unique identifiers.™ š › œ � ž ™ š › œ � ž FNone! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×ÙàáèHŸ Agda'Monad with access to benchmarking data.¤ AgdaÅWe need to be able to terminate benchmarking in case of an exception.¥ AgdañBenchmark structure is a trie, mapping accounts (phases and subphases) to CPU time spent on their performance.§ AgdaAre we benchmarking at all?¨ Agda!What are we billing to currently?© Agda/The accounts and their accumulated timing bill.¯ Agda3Record when we started billing the current account.° Agda(Account we can bill computation time to.² AgdaSemantic editor combinator.³ AgdaSemantic editor combinator.´ AgdaSemantic editor combinator.µ Agda"Add to specified CPU time account.· AgdaTurn benchmarking on/off.¸ AgdaãBill current account with time up to now. Switch to new account. Return old account (if any).¹ Agda.Resets the account and the timing information.º AgdaæBill a computation to a specific account. Works even if the computation is aborted by an exception.» Agda;Bill a CPS function to an account. Can't handle exceptions.¼ Agda.Bill a pure computation to a specific account.¿ Agda2Print benchmark as three-column table with totals.À Agda$Initial benchmark structure (empty).¸ AgdaMaybe new account.AgdaMaybe old account.Ÿ £ ¢ ¡ ¤   ¥ ¦ © ¨ § ª ­ « ¬ ® ¯ ° ± ² ³ ´ µ ¶ · ¸ ¹ º » ¼ ° ¯ ® ª ­ « ¬ ± ¥ ¦ © ¨ § ² ³ ´ µ Ÿ £ ¢ ¡ ¤   ¶ · ¸ ¹ º » ¼ GNone! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×ÙàáèZôÈ AgdaFinite maps from k to v!, with a way to quickly get from v to k for certain values of type v (those for which Î  is defined).&Every value of this type must satisfy Ð .Ì Agda0Partial injections from a type to some tag type.The idea is that Î ( should be injective on its domain: if Î  x = Î  y = Ü~ i, then x = yÔ. However, this property does not need to hold globally. The preconditions of the È 3 operations below specify for which sets of values Î  must be injective.Ï AgdaChecks if the function Î Ò is injective for the values in the given list for which the function is defined.Ð AgdaThe invariant for È .Ñ AgdaLookup. O(log n).Ò AgdaInverse lookup. O(log n).Ó AgdaSingleton map. O(1).Ô Agda0Insertion. Overwrites existing values. O(log n).Precondition: See Õ .Õ AgdaThe precondition for Ô  k v m: If v has a Î  (Î  v àD Ý~), then m must not contain any mapping k' ¦C v' for which k àD k' and Î  v = Î  v'.Ö AgdaËModifies the value at the given position, if any. If the function returns Ý~&, then the value is removed. O(log n).The precondition for Ö  f k m is that, if the value v is inserted into m, and Î  v% is defined, then no key other than k may map to a value v' for which Î  v' = Î  v.× AgdaËModifies the value at the given position, if any. If the function returns Ý~&, then the value is removed. O(log n).Precondition: See Ø .Ø AgdaThe precondition for ×  f k m is that, if the value v is inserted into m, and Î  v% is defined, then no key other than k may map to a value v' for which Î  v' = Î  v.Ù AgdaËModifies the value at the given position, if any. If the function returns Ý~&, then the value is removed. O(log n).Precondition: See Ú .Ú AgdaThe precondition for Ù  f k m is that, if the value v is inserted into m, and Î  v% is defined, then no key other than k may map to a value v' for which Î  v' = Î  v.Û Agda;Modifies the value at the given position, if any. O(log n).Precondition: See Ü .Ü AgdaThe precondition for Û  f k m is that, if the value v is inserted into m, and Î  v% is defined, then no key other than k may map to a value v' for which Î  v' = Î  v.Ý AgdaÔInserts a binding into the map. If a binding for the key already exists, then the value obtained by applying the function to the key, the new value and the old value is inserted, and the old value is returned.Precondition: See Þ .Þ AgdaThe precondition for Ý  f k v m is that, if the value v' is inserted into m, and Î  v'% is defined, then no key other than k may map to a value v'' for which Î  v'' = Î  v'.ß AgdaáChanges all the values using the given function, which is also given access to keys. O(n log n).Precondition: See à .à AgdaThe precondition for ß  f m!: For any two distinct mappings k�A ¦C v�A, k‚A ¦C v‚A in m for which the tags of f k�A v�A and f k‚A v‚A are defined the values of f must be distinct (f k�A v�A àD f k‚A v‚A). Furthermore Î  must be injective for { f k v | (k, v) ˆD m }.á AgdaÛChanges all the values using the given function, which is also given access to keys. O(n).Precondition: See â ". Note that tags must not change.â AgdaThe precondition for á  f m is that, if m maps k to v, then Î  (f k v) == Î  v.ã Agda0Left-biased union. For the time complexity, see �.Precondition: See ä .å AgdaÝConversion from lists of pairs. Later entries take precedence over earlier ones. O(n log n).Precondition: See æ .ç AgdaÆConversion to lists of pairs, with the keys in ascending order. O(n).è Agda#The keys, in ascending order. O(n).é Agda>The values, ordered according to the corresponding keys. O(n).ê AgdaèConversion from two lists that contain distinct keys/tags, with the keys/tags in ascending order. O(n).Precondition: See ë .ì AgdaGenerates input suitable for ê . O(n).%È É Ë Ê Ì Î Í Ï Ð Ñ Ò Ó Ô Õ Ö × Ø Ù Ú Û Ü Ý Þ ß à á â ã ä å æ ç è é ê ë ì %Ì Î Í Ï È É Ë Ê Ð Ñ Ò Ó Ô Õ Ö × Ø Ù Ú Û Ü Ý Þ ß à á â ã ä å æ ç è é ê ë ì HNone! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×ÙàáèqË8ó Agda=Killing the range of an object sets all range information to °.õ Agda;If it is also possible to set the range, this is the class.Instances should satisfy ø  (ö  r x) == r.÷ Agda5Things that have a range are instances of this class.ù Agda1Wrapper to indicate that range should be printed.ü AgdaŽA range is a file name, plus a sequence of intervals, assumed to point to the given file. The intervals should be consecutive and separated.1Note the invariant which ranges have to satisfy: —.�AgdaAn interval. The iEnd* position is not included in the interval.4Note the invariant which intervals have to satisfy: �.ˆAgda Represents a point in the input.If two positions have the same Š and ‹ï components, then the final two components should be the same as well, but since this can be hard to enforce the program should not rely too much on the last two components; they are mainly there to improve error messages for the user.4Note the invariant which positions have to satisfy: Ž.ŠAgdaFile.‹AgdaPosition, counting from 1.ŒAgdaLine number, counting from 1.�AgdaColumn number, counting from 1.�Agda Sets the Š components of the interval.‘Agda Gets the ŠÐ component of the interval. Because of the invariant, they are both the same.’Agda6Converts a file name and two positions to an interval.“AgdaThe length of an interval.”AgdaÔThe intervals that make up the range. The intervals are consecutive and separated (–).•Agda8Turns a file name plus a list of intervals into a range.Precondition: –.–AgdaýAre the intervals consecutive and separated, do they all point to the same file, and do they satisfy the interval invariant?—AgdaRange invariant.˜Agda"The file the range is pointing to.™Agda%Conflate a range to its right margin.šAgda*Remove ranges in keys and values of a map.®Agda;The first position in a file: position 1, line 1, column 1.¯Agda;The first position in a file: position 1, line 1, column 1.°Agda$Ranges between two unknown positions±Agda?Advance the position by one character. A newline character ('n'þ) moves the position to the first character in the next line. Any other character moves the position to the next column.²Agda!Advance the position by a string.  movePosByString = foldl' movePos³Agda%Backup the position by one character.(Precondition: The character must not be 'n'.´Agda2Converts a file name and two positions to a range.µAgda"Converts two positions to a range.;Precondition: The positions have to point to the same file.¶Agda0Converts a file name and an interval to a range.·Agda-Converts a range to an interval, if possible.¸AgdaçConverts a range to an interval, if possible. Note that the information about the source file is lost.¹Agda?Returns the shortest continuous range containing the given one.ºAgda0Removes gaps between intervals on the same line.»Agda*The initial position in the range, if any.¼Agda*The initial position in the range, if any.½Agda;The position after the final position in the range, if any.¾Agda;The position after the final position in the range, if any.¿Agda4Finds the least interval which covers the arguments.8Precondition: The intervals must point to the same file.ÀAgdafuseRanges r r' unions the ranges r and r'.!Meaning it finds the least range r0 that covers r and r'.ÃPrecondition: The ranges must point to the same file (or be empty).ÁAgdaÄPrecondition: The ranges must point to the same file (or be empty).ÂAgda beginningOf rÎ is an empty range (a single, empty interval) positioned at the beginning of r. If r" does not have a beginning, then ° is returned.ÃAgdabeginningOfFile rà is an empty range (a single, empty interval) at the beginning of rÜ's starting position's file. If there is no such position, then an empty range is returned.ÄAgdax `withRangeOf` y sets the range of x to the range of y.ÅAgda*Interleaves two streams of ranged elementsªIt will report the conflicts as a list of conflicting pairs. In case of conflict, the element with the earliest start position is placed first. In case of a tie, the element with the earliest ending position is placed first. If both tie, the element from the first list is placed first.ÆAgdaTo get  û #, we need a semigroup instance for ‰ .×AgdaÚPrecondition: The ranges of the tuple elements must point to the same file (or be empty).ØAgdaÚPrecondition: The ranges of the tuple elements must point to the same file (or be empty).ÙAgdaÚPrecondition: The ranges of the tuple elements must point to the same file (or be empty).ÚAgdaÚPrecondition: The ranges of the tuple elements must point to the same file (or be empty).ÛAgdaÚPrecondition: The ranges of the tuple elements must point to the same file (or be empty).ÜAgdaÚPrecondition: The ranges of the tuple elements must point to the same file (or be empty).ßAgdaÙPrecondition: The ranges of the list elements must point to the same file (or be empty).àAgdaÙPrecondition: The ranges of the list elements must point to the same file (or be empty).ôAgdaOverlaps with  KillRange [a].Ôò ó ô õ ö ÷ ø ù ú û ü þ ý ÿ €�‚ƒ„…†‡ˆ‰Š‹Œ�Ž��‘’“”•–—˜™š›œ�žŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÔ†…ˆ‰Š‹Œ�‡Ž¯±²³®€ÿ �‚ƒ„�’‘“¿�û ü þ ý —–•¶”˜™°µ´¼»¾½¸·¹ºù ú ÷ ø õ ö ó ô ò š›œ�žŸ ¡¢£¤¥¦§¨©ª«¬­ÄÁÀÂÃÅINone" #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáè¼tó˜AgdaPart of a Notation™Agda�Argument is the position of the hole (with binding) where the binding should occur. First range is the rhs range and second is the binder.šAgda+Argument is where the expression should go.›Agda"An underscore in binding position.�AgdaNotation as provided by the syntax declaration.£AgdaRewriteEqn' qn p e represents the rewrite and irrefutable with clauses of the LHS. qnÖ stands for the QName of the auxiliary function generated to implement the feature nm/ is the type of names for pattern variables p is the type of patterns e is the type of expressions¤Agda  rewrite e¥Agda with p <- e in eq¦Agda!Coverage check? (Default is yes).©Agda!Universe check? (Default is yes).¬Agda#Positivity check? (Default = True).¯Agda0Termination check? (Default = TerminationCheck).°AgdaRun the termination checker.±Agda#Skip termination checking (unsafe).²AgdaTreat as non-terminating.³Agda/Treat as terminating (unsafe). Same effect as ±.´Agda2Skip termination checking but use measure instead.·AgdaRename from this name.¸Agda#To this one. Must be same kind as ·.¹AgdaNew fixity of ¸ (optional).ºAgdaÃThe range of the "to" keyword. Retained for highlighting purposes.»Agda3An imported name can be a module or a defined name.¼AgdaImported module name of type m.½AgdaImported name of type n.¾AgdaThe using clause of import directive.¿AgdaNo using clause given.ÀAgdausing the specified names.ÃAgdaÙThe things you are allowed to say when you shuffle names between name spaces (i.e. in import,  namespace, or open declarations).ÉAgda Only for open3. Exports the opened names from the current module.ÎAgdaçThe notation is handled as the fixity in the renamer. Hence, they are grouped together in this type.ÒAgdaàRange of the name in the fixity declaration (used for correct highlighting, see issue #2140).ÓAgdaFixity of operators.ÕAgda&Range of the whole fixity declaration.ØAgdaAssociativity.ÝAgdaNo fixity declared.ÞAgda$Fixity level declared as the number.ßAgda Precedence levels for operators.ãAgdaÀPlaceholders are used to represent the underscores in a section.åAgdaÙThe second argument is used only (but not always) for name parts other than underscores.æAgda4The position of a name part or underscore in a name.çAgda;The following underscore is at the beginning of the name: _foo.èAgda8The following underscore is in the middle of the name: foo_bar.éAgda4The following underscore is at the end of the name: foo_.êAgdaéA "problem" consists of a set of constraints and the same constraint can be part of multiple problems.îAgda4A meta variable identifier is just a natural number.ñAgda×The unique identifier of a name. Second argument is the top-level module identifier.õAgdaIs this a macro definition?øAgda0Is this definition eligible for instance search?ùAgda Range of the instance keyword.ûAgda"Is any element of a collection an €.ÿAgdaAbstract or concrete.‚AgdaAccess modifier.ƒAgda Store the Ãð of the private block that lead to this qualifier. This is needed for more faithful printing of declarations.…AgdaÀFunctions can be defined in both infix and prefix style. See kú.ˆAgda"Where does a projection come from?‰AgdaUser wrote a prefix projection.ŠAgda User wrote a postfix projection.‹Agda'Projection was generated by the system.ŒAgdaWhere does the ConP or Con come from?�Agda8Inserted by system or expanded from an implicit pattern.ŽAgda#User wrote a constructor (pattern).�AgdaUser wrote a record (pattern).�Agda(Generated by interactive case splitting.‘AgdaString with range info.’AgdaA RawName is some sort of string.“AgdaThing with range info.—AgdaNames in binders and arguments.˜AgdaOnly ” arguments can have names.™AgdaAccessor/editor for the   component.šAgdaThe type of the nameœAgdaStandard argument names.�AgdaStandard naming.žAgda&Something potentially carrying a name.­Agda4A function argument can be hidden and/or irrelevant.³AgdaÚSometimes we want a different kind of binder/pi-type, without it supporting any of the Modality interface.´AgdaA lens to access the ¸: attribute in data structures. Minimal implementation: getFreeVariables and mapFreeVariables or  LensArgInfo.»AgdaA lens to access the Ã: attribute in data structures. Minimal implementation:  getOrigin and  mapOrigin or  LensArgInfo.¿AgdaDecorating something with à information.ÃAgdaOrigin of arguments.ÄAgda/From the source file / user input. (Preserve!)ÅAgdaE.g. inserted hidden arguments.ÆAgda%Produced by the reflection machinery.ÇAgda&Produced by an interactive case split.ÈAgdaÛNamed application produced to represent a substitution. E.g. "?0 (x = n)" instead of "?0 n"ÉAgdaA lens to access the Í: attribute in data structures. Minimal implementation:  getCohesion and  mapCohesion or  LensModality.ÍAgdaÎCohesion modalities see "Brouwer's fixed-point theorem in real-cohesive homotopy type theory" (arXiv:1509.07584) types are now given an additional topological layer which the modalities interact with.ÎAgda=same points, discrete topology, idempotent comonad, box-like.ÏAgdaåidentity modality. | Sharp -- ^ same points, codiscrete topology, idempotent monad, diamond-like.ÐAgdaÁsingle point space, artificially added for Flat left-composition.×AgdaÚIn the future there might be different kinds of them. For now we assume lock weakening.ÜAgdaÄWe have a tuple of annotations, which might not be fully orthogonal.ÞAgdaøFitch-style dependent right adjoints. See Modal Dependent Type Theory and Dependent Right Adjoints, arXiv:1804.05236.ßAgdaA lens to access the ã: attribute in data structures. Minimal implementation:  getRelevance and  mapRelevance or  LensModality.ãAgda:A function argument can be relevant or irrelevant. See Agda.TypeChecking.Irrelevance.äAgda4The argument is (possibly) relevant at compile-time.åAgda—The argument may never flow into evaluation position. Therefore, it is irrelevant at run-time. It is treated relevantly during equality checking.æAgda3The argument is irrelevant at compile- and runtime.çAgdaA special case of î: erased or not.îAgdaQuantity for linearity.íA quantity is a set of natural numbers, indicating possible semantic uses of a variable. A singleton set {n}= requires that the corresponding variable is used exactly n times.ïAgda Zero uses {0}, erased at runtime.ðAgda Linear use {1}ó (could be updated destructively). Mostly TODO (needs postponable constraints between quantities to compute uses).ñAgdaUnrestricted use •B.òAgda Origin of ñ.óAgdaUser wrote nothing.ôAgdaUser wrote "@É".õAgdaUser wrote "@plenty".öAgda Origin of ð.÷AgdaUser wrote nothing.øAgdaUser wrote "@1".ùAgdaUser wrote "@linear".úAgda Origin of ï.ûAgdaUser wrote nothing.üAgdaUser wrote "@0".ýAgdaUser wrote "@erased".‚Agda‚We have a tuple of modalities, which might not be fully orthogonal. For instance, irrelevant stuff is also run-time irrelevant.„Agda4Legacy irrelevance. See Pfenning, LiCS 2001; AbelVezzosiWinterhalter, ICFP 2017.…Agda­Cardinality / runtime erasure. See Conor McBride, I got plenty o' nutting, Wadlerfest 2016. See Bob Atkey, Syntax and Semantics of Quantitative Type Theory, LiCS 2018.†Agda­Cohesion/what was in Agda-flat. see "Brouwer's fixed-point theorem in real-cohesive homotopy type theory" (arXiv:1509.07584) Currently only the comonad is implemented.‡AgdaÐType wrapper to indicate composition or multiplicative monoid/semigroup context.‰Agda;Type wrapper to indicate additive monoid/semigroup context.‹AgdaA lens to access the “: attribute in data structures. Minimal implementation:  getHiding and  mapHiding or  LensArgInfo.�AgdaDecorating something with “ information.šAgda Inductive < Coinductive�Agda0Can we construct a record by copattern matching?ŸAgda/Can we pattern match on the record constructor?¡Agda=For a record without eta, which type of matching do we allow?¢Agda$Can match on the record constructor.£Agda5Can copattern match using the projections. (Default.)¥AgdaÁPattern and copattern matching is allowed in the presence of eta.ÑIn the absence of eta, we have to choose whether we want to allow matching on the constructor or copattern matching with the projections. Having both leads to breakage of subject reduction (issue #4560).¦Agda%Does a record come with eta-equality?¯AgdaAgda variants.Only some variants are tracked.³AgdaVariants of Cubical Agda.¼Agda4Used to specify whether something should be delayed.ÂAgdaMonoidal composition of “ information in some data.ÃAgda– arguments are visible.ÄAgda• and ” arguments are  notVisible.ÅAgda” arguments are hidden.ÌAgdaIgnores —.ÍAgdam Í m' means that an m can be used where ever an m' is required.ÏAgda(Multiplicative monoid (standard monoid).ÐAgdaƒCompose with modality flag from the left. This function is e.g. used to update the modality information on pattern variables a- after a match against something of modality q.ÑAgdainverseComposeModality r x returns the least modality y such that forall x, y we have .x `moreUsableModality` (r `composeModality` y) iff 5(r `inverseComposeModality` x) `moreUsableModality` y (Galois connection).ÒAgdaLeft division by a ‚3. Used e.g. to modify context when going into a m argument.3Note that this function does not change quantities.ÓAgda‚# forms a pointwise additive monoid.ÔAgdaIdentity under additionÕAgdaIdentity under compositionÖAgda"Absorptive element under addition.×Agda‹The default Modality Beware that this is neither the additive unit nor the unit under composition, because the default quantity is É.ØAgdaEquality ignoring origin.åAgdaEquality ignoring origin.æAgdaî. forms an additive monoid with zero Quantity0.çAgdaIdentity element under additionèAgdaìAbsorptive element! This differs from Relevance and Cohesion whose default is the multiplicative unit.éAgda"Identity element under compositionêAgdaAbsorptive element is É.ëAgdam moreUsableQuantity m' means that an m can be used where ever an m' is required.ìAgda+Composition of quantities (multiplication).ï is dominant. ð is neutral.Right-biased for origin.íAgdaƒCompose with quantity flag from the left. This function is e.g. used to update the quantity information on pattern variables a- after a match against something of quantity q.îAgdainverseComposeQuantity r x returns the least quantity y such that forall x, y we have (x `moreQuantity` (r `composeQuantity` y) iff /(r `inverseComposeQuantity` x) `moreQuantity` y (Galois connection).ïAgdaLeft division by a î3. Used e.g. to modify context when going into a q argument.ðAgda Check for ï.ñAgda Check for ð.òAgda Check for ñ.óAgda*Did the user supply a quantity annotation?ôAgda9A thing of quantity 0 is unusable, all others are usable.õAgdaThe default value of type ç : not erased.öAgdaç can be embedded into î.÷Agdaî can be projected onto ç.øAgdaEquality ignoring origin.ùAgdaIs the value "erased"?úAgdaComposition of values of type ç.ç is dominant. é is neutral.Right-biased for the origin.ÿAgdaInformation ordering. ÀRelevant `moreRelevant` NonStrict `moreRelevant` Irrelevant€AgdaEquality ignoring origin.�AgdausableRelevance rel == False! iff we cannot use a variable of rel.‚Agdaã composition. æ is dominant, ä+ is neutral. Composition coincides with ‚.ƒAgda…Compose with relevance flag from the left. This function is e.g. used to update the relevance information on pattern variables a! after a match against something rel.„AgdainverseComposeRelevance r x returns the most irrelevant y such that forall x, y we have )x `moreRelevant` (r `composeRelevance` y) iff 0(r `inverseComposeRelevance` x) `moreRelevant` y (Galois connection).…AgdaLeft division by a ã3. Used e.g. to modify context when going into a rel argument.†AgdaCombine inferred ã. The unit is æ.‡Agdaã4 forms a monoid under addition, and even a semiring.ˆAgda"Identity element under composition‰Agda"Absorptive element under addition.ŠAgda;Default Relevance is the identity element under composition‹AgdaËIrrelevant function arguments may appear non-strictly in the codomain type.ŒAgdaÂApplied when working on types (unless --experimental-irrelevance).‘AgdaInformation ordering. ÐFlat `moreCohesion` Continuous `moreCohesion` Sharp `moreCohesion` Squash’AgdaEquality ignoring origin.“AgdausableCohesion rel == False! iff we cannot use a variable of rel.”AgdaÍ composition. Ð is dominant, Ï is neutral.•AgdaƒCompose with cohesion flag from the left. This function is e.g. used to update the cohesion information on pattern variables a- after a match against something of cohesion rel.–AgdainverseComposeCohesion r x returns the least y such that forall x, y we have (x `moreCohesion` (r `composeCohesion` y) iff /(r `inverseComposeCohesion` x) `moreCohesion` y1 (Galois connection). The above law fails for  r = Squash.—AgdaLeft division by a Í3. Used e.g. to modify context when going into a rel argument.˜AgdaCombine inferred Í. The unit is Ð.™AgdaÍ4 forms a monoid under addition, and even a semiring.šAgdaIdentity under composition›Agda"Absorptive element under addition.œAgda:Default Cohesion is the identity element under composition±Agdaxs `withArgsFrom` args translates xs into a list of ¥s, using the elements in args to fill in the non-¨ fields.5Precondition: The two lists should have equal length.³Agda,Equality of argument names of things modulo û  and Ã.½Agda,Equality of argument names of things modulo û  and Ã.¾AgdaDoes an argument arg fit the shape dom of the next expected argument?ãThe hiding has to match, and if the argument has a name, it should match the name of the domain.Ý~ should be º, so use as @ fromMaybe  IMPOSSIBLE $ fittingNamedArg arg dom @¿AgdaGet the content of a ˜.ÂAgdaThe functor instance for ˜8 would be ambiguous, so we give it another name here.ÄAgda ,setNamedArg a b = updateNamedArg (const b) aÈAgdaThing with no range info.ËAgda)Prefer user-written over system-inserted.ÍAgdaAn abbreviation: noPlaceholder = å ®.ÓAgdaDefault is directive is private% (use everything, but do not export).ÔAgdaisDefaultImportDir implies null, but not the other way round.ØAgdaLike partitionEithers.òAgda Just for the “9 instance. Should never combine different overlapping.÷Agda“, is an idempotent partial monoid, with unit –. • and – are incompatible.‡AgdaèRight-biased composition, because the left quantity acts as context, and the right one as occurrence.ŽAgdaèRight-biased composition, because the left quantity acts as context, and the right one as occurrence.•AgdaèRight-biased composition, because the left quantity acts as context, and the right one as occurrence.šAgdaNote that the order is É äD 0,1, more options is smaller.¢AgdaÚIn the absense of finite quantities besides 0, É is the unit. Otherwise, 1 is the unit.£Agda+Composition of quantities (multiplication).ï is dominant. ð is neutral.Right-biased for origin.¯Agdaä is the unit under composition.°Agdaã% forms a semigroup under composition.±AgdaMore relevant is smaller.²AgdaMore relevant is smaller.¾AgdaÐ is the additive unit.¿AgdaÍ" forms a semigroup under addition.ÃAgda Continous is the multiplicative unit.ÄAgdaÍ% forms a semigroup under composition.ÅAgdaFlatter is smaller.ÆAgda2Order is given by implication: flatter is smaller.ÐAgdaPointwise additive unit.ÑAgdaPointwise addition.ÕAgdaPointwise composition unit.ÖAgdaPointwise composition.×AgdaDominance ordering.šAgdaRanges are not forced.žAgdaIgnores range.ŸAgdaIgnores range. AgdaIgnores range.®Agda Default is �.¯Agda+Semigroup computes if any of several is an €.ÂAgda(Show non-record version of this newtype.ÝAgdaRanges are not forced.àAgdaRanges are not forced.åAgdanullç for import directives holds when everything is imported unchanged (no names are hidden or renamed).˜œ›š™�ž Ÿ¢¡£¥¤¦¨§©«ª¬®­¯´³²±°µ¶º¹¸·»¼½¾¿ÀÁÂÃÄÉÈÅÇÆÊËÌÍÎÏÒÑÐÓÔ×ÖÕØÛÚÙÜÞÝßàáâãåäæèçéêëìíîïðñòóôõ÷öøúùûüýþÿ�€‚„ƒ…‡†ˆ‹Š‰Œ��Ž�‘’“”•–—˜™›šœ�žŸ ¡¢¤£¥¦¨§©«¬ª­®²±³°¯´·¶µ¸º¹»¾½¼¿ÀÂÁÃÅÄÆÈÇÉÌËÊÍÐÏÎÑÔÓÒÕ×ÖØÛÚÙÜÝÞßâáàãæåäçéèêíëìîñïðòõôóöù÷øúýüûþ€�ÿ‚ƒ†…„‡ˆ‰Š‹Ž�Œ��’‘“–•”—™˜šœ›�žŸ ¡£¢¤¥¦¨§©ª®­¬«¯±°²³µ´¶»º¹¸·¼¾½¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ€�‚ƒ„…†‡ˆ‰Š‹Œ�Ž��‘’“”•–—˜™š›œ�žŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÂÀ¿¼¾½¶»º¹¸·³µ´¯±°²©ª®­¬«Á¦¨§¥¤¡£¢Ÿ �žšœ›—™˜“–•”��’‘‹Ž�ŒÂÃÄÅÆÇÈÉÊËÌ‰Š‡ˆ‚ƒ†…„ÍÎÏÐÑÒÓÔÕÖרÙÚÛþ€�ÿÜÝÞßàáâãäúýüûöù÷øòõôóîñïðåæçèéêëìíîïðñòóôêíëìçéèõö÷øùúãæåäûßâáàüýþÿ€�‚ƒ„…†‡ˆ‰Š‹Œ�ÜÝÞŽØÛÚÙÕ×Ö�ÑÔÓÒÍÐÏÎ�ÉÌËÊ‘’“”•–—˜™š›œÃÅÄÆÈÇ¿ÀÂÁ»¾½¼¸º¹�žŸ ´·¶µ¡­®²±³°¯©«¬ª¢£¤¥¦§¨©ª«¬­®¯¥¦¨§°±²¢¤£žŸ ¡�œ³´µ¶·™›š¸¹º»¼½¾˜¿ÀÁÂÃÄ—ÅÆÇ“”•–È’ÉÊ‘Œ��Ž�ˈ‹Š‰…‡†‚„ƒÿ�€ýþûüøúùõ÷öóôÌñòîïðìíêëæèçéãåäÍàáâßÜÞÝØÛÚÙÓÔ×ÖÕÎÏÎÏÒÑÐÐÑÒÌÍÊËÃÄÉÈÅÇÆÂÁÓÔ¾¿ÀÕ»¼½Öרµ¶º¹¸·¯´³²±°¬®­©«ª¦¨§£¥¤ž Ÿ¢¡�Ù˜œ›š™JNone! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×ÙàáèÈÓ «Agda°When printing we keep track of a stack of precedences in order to be able to decide whether it's safe to leave out parens around lambdas. An empty stack is equivalent to ­. Invariant: `notElem TopCtx`.¬Agda(Precedence is associated with a context.·Agda*Do we prefer parens around arguments like » x ’C x or not? See Ã.ºAgdaDecorating something with Fixity'.ÀAgda#Argument context preferring parens.ÁAgdaìDo we need to bracket an operator application of the given fixity in a context with the given precedence.ÂAgdaìDo we need to bracket an operator application of the given fixity in a context with the given precedence.ÃAgda›Does a lambda-like thing (lambda, let or pi) need brackets in the given context? A peculiar thing with lambdas is that they don't need brackets in certain right operand contexts. To decide we need to look at the stack of precedences and not just the current precedence. Example: m�A >>= (» x ’C x) >>= m‚A (for _>>=_ left associative).ÄAgda*Does a function application need brackets?ÅAgda*Does a function application need brackets?ÆAgda&Does a with application need brackets?ÇAgda$Does a function space need brackets?«¬¶µ´³²±°¯®­·¹¸º»¼½¾¿ÀÁÂÃÄÅÆÇȺ»·¹¸¼½¬¶µ´³²±°¯®­«¾¿ÀÁÂÃÄÅÆÇÈKNone" #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×ÙàáèÍ ÝAgdaThe parser monad.ßAgdaMemoisation keys.æAgdaRuns the parser.çAgdaÏParses a token satisfying the given predicate. The computed value is returned.èAgda.Parses a token satisfying the given predicate.éAgdaõUses the given document as the printed representation of the given parser. The document's precedence is taken to be atomP.êAgdaMemoises the given parser./Every memoised parser must be annotated with a uniqueÉ key. (Parametrised parsers must use distinct keys for distinct inputs.)ëAgdaÀMemoises the given parser, but only if printing, not if parsing./Every memoised parser must be annotated with a uniqueÉ key. (Parametrised parsers must use distinct keys for distinct inputs.)ìAgda&Tries to print the parser, or returns ô~Æ, depending on the implementation. This function might not terminate.ÝÞßàáâãäåæçèéêëìßàáâãäåÞÝæçèéêëìLNone! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×ÙàáèÍÅœAgdaArbitrary JS code.,ñòóôõöøùú÷ûüýÿþ€�‚„ƒ…†‡ˆ‰šœ™—“�Œ‹Š–›˜Ž•”�‘’�,‰šœ™—“�Œ‹Š–›˜Ž•”�‘’�‡ˆ…†‚„ƒ€�üýÿþûõöøùú÷óôñòMNone! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáèر'ËAgda"Entry of an explicit substitution.&An explicit substitution is a list of CAction"Maybe expression": Expression or reference to meta variable.íAgdaAgsy's internal syntax.ïAgdaLambda with hiding information.ðAgdaTrue8 if possibly dependent (var not known to not occur). False if non-dependent.òAgda&Absurd lambda with hiding information.óAgdaUnique identifier of the head.ôAgda'This application has been type-checked.õAgdaHead.öAgda Arguments.ûAgda"Head of application (elimination).‚Agda Dot pattern.„AgdaConstant definitions.‰AgdaConstant signatures.‹AgdaFor debug printing.ŒAgdaReference to the Agda constant.�AgdaType of constant.ŽAgdaConstant definition.�Agda7Free vars of the module where the constant is defined..�AgdaAbstraction with maybe a name.ÎDifferent from Agda, where there is also info whether function is constant.˜AgdaThe concrete instance of the blk parameter in š8. I.e., the information passed to the search control.¦AgdaÛNat - deffreevars (to make cost of using module parameters correspond to that of hints).¨Agda1Size of typing context in which meta was created.©Agda!Head normal form of type of meta.ªAgda�True if iota steps performed when normalising target type (used to put cost when traversing a definition by construction instantiation).¼Agda;Unique identifiers for variable occurrences in unification.ÉAgdaSubstituting for a variable.ÊAgdaFreeVars class and instancesËAgda Renaming Typeclass and instances�¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕ×ÖØÛÚÙÜàßÞÝáâãåäæçëêéèìíòðïñîöõôó÷ùøúûýüþÿ‚�€ƒ„…ˆ‡†‰Š�Ž�Œ‹�‘’”“•–—˜¤£¢¡ Ÿž�œ›š™ª©¨§¦¥«°¯®­¬±²¸·¶µ´³¹»º¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊË�¼¹»º±²¸·¶µ´³«°¯®­¬˜¤£¢¡ Ÿž�œ›š™ª©¨§¦¥—–•’”“�‘‰Š�Ž�Œ‹„…ˆ‡†ƒÿ‚�€þûýü½¾÷ùøúíòðïñîöõôó¿ìçëêéèæâãåäáÜàßÞÝØÛÚÙÕ×ÖÔÒÓÑÏÐËÌÍÎÊÉÀÁÂÇÈÃÅÆÄÅÆÇÈÃÄÉÊÁÂË¿ÀNNone! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×ÙàáèÞõçAgda!Moves A move is composed of a Cost: together with an action computing the refined problem.ôAgda univar sub v figures out what the name of v" "outside" of the substitution sub ought to be, if anything.õAgda6List of the variables instantiated by the substitutionöAgdaªNew constructors Taking a step towards a solution consists in picking a constructor and filling in the missing parts with placeholders to be discharged later on.úAgda5New spine of arguments potentially using placeholdersüAgdaNew App?lication node using a new spine of arguments respecting the Hiding annotationþAgda˜Equality reasoning steps The begin token is accompanied by two steps because it does not make sense to have a derivation any shorter than that.ƒAgdaëPick the first unused UId amongst the ones you have seen (GA: ??) Defaults to the head of the seen ones.Åçèéñðïîíìëêòóôõö÷øùúûüýþÿ€�‚ƒ„…†‡ˆ‰Š‹Œ�Ž��‘’“”•–—˜™š›œ�žŸ ¡¢£¤¥¦§¨©ª«Åèéñðïîíìëêòóôõçö÷øùúûüýþÿ€�‚ƒ„†‡ˆ‰Š‹Œ�Ž��‘’“”•–—˜…™š›œ�žŸ ¡¢§£¤¥¦¨©ª«ONone! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×ÙàáèàŒÃAgda)Typechecker drives the solution of metas.-µ¸·¶¹»º¼¾½¿ÁÀÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàá-ÃÄÅÆÇÈÉÊËÂÌÍÎÏÐÑÒ¿ÁÀÓÔÕÖ¼¾½×ØÙ¹»ºµ¸·¶ÚÛÜÝÞßàáPNone" #$%&-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáèå÷ âAgda/Type of a literate preprocessor: Invariants:  f : Processor f pos s /= []f pos s >>= layerContent == sãAgdaA list of contiguous layers.äAgda9A sequence of characters in a file playing the same role.éAgda Role of a character in the file.ïAgdaÛList of valid extensions for literate Agda files, and their corresponding preprocessors.ùIf you add new extensions, remember to update test/Utils.hs so that test cases ending in the new extensions are found.ðAgdaReturns True& if the role corresponds to Agda code.ñAgdaReturns True! if the layer contains Agda code.òAgdaØBlanks the non-code parts of a given file, preserving positions of characters corresponding to code. This way, there is a direct correspondence between source positions and positions in the processed result.óAgdaÊShort list of extensions for literate Agda files. For display purposes.ôAgdaPreprocessor for literate TeX.õAgdaPreprocessor for Markdown.öAgda"Preprocessor for reStructuredText.÷Agda$Preprocessor for Org mode documents.âãäåæçèéêëìíîïðñòóôõö÷ïóîôöõ÷òíâãäåæçèéêëìðñQNone! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×ÙàáèçÛüAgda‹Picking the appropriate set of special characters depending on whether we are allowed to use unicode or have to limit ourselves to ascii.…AgdaËWe want to know whether we are allowed to insert unicode characters or not.‰AgdaÃReturn the glyph set based on a given (unicode or ascii) glyph modeüýþÿ€�‚ƒ„…†‡ˆ‰Š‹Œ�Ž��‘…†‡ˆ‰Š‹Œ�Ž��‘üýþÿ€�‚ƒ„RNone! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáè÷Î(˜Agda+Check whether a name is the empty name "_".šAgda3Method by which to generate fresh unshadowed names.›Agda1Append an integer Unicode subscript: x, x�A, x‚A, ¦@œAgda-Append an integer ASCII counter: x, x1, x2, ¦@¦AgdaNumber of holes in a ³$ (i.e., arity of a mixfix-operator).¨AgdaÁTop-level module names. Used in connection with the file system.&Invariant: The list must not be empty.¬AgdaQNameå is a list of namespaces and the name of the constant. For the moment assumes namespaces are just Name�s and not explicitly applied modules. Also assumes namespaces are generative by just using derived equality. We will have to define an equality instance to non-generative namespaces (as well as having some sort of lookup table for namespace names).­AgdaA.rest.®Agdax.¯Agda?ÀÁÂÄÆÉÎÑÔ×Ùàáèú‹êAgda•Builtins that come without a definition in Agda syntax. These are giving names to Agda internal concepts which cannot be assigned an Agda type.,An example would be a user-defined name for Set.{- BUILTIN TYPE Type -} The type of Type would be Type : Level ’C SetÉ which is not valid Agda.Ê£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ€�‚ƒ„…†‡ˆ‰Š‹Œ�Ž��‘’“”•–—˜™š›œ�žŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìÊ£¤¥¦§¨©ª«¬®¯°­±²³´µ¶·¸¹º»¼À½¾¿ÄÅÆÊËÌÍÇÈÉÎÏÚÛÜÝÞßàáâãÐÑÒÓÔÕÖרÙÁÂÃäåæçèéêëìíîïðñòóôõöùø÷úûüýþÿ€�‚ƒ„…†‡ˆ‰Š‹Œ�Ž��‘’“”•–—˜™›œš�žŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÞßàÜÝáâãäåæçèéêëìUNone! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáè "íAgdaMake a ƒ from some kind of string.îAgdaThe û  sets the definition site of the name, not the use site.ðAgda*Check whether we are a projection pattern.òAgda A name suffixõAgda?ÀÁÂÄÆÉÎÑÔ×Ùàáè ¬ûAgdaRanges are not forced. ð÷öõôóòñøùú øð÷öõôóòñùúWNone! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×ÙàáèeƒAgda5Checks if the given expression is unreachable or not.…Agda‹Code which is unreachable. E.g. absurd branches or missing case defaults. Runtime behaviour of unreachable code is undefined, but preferably the program will exit with an error message. The compiler is free to assume that this code is unreachable and to remove it.†Agda´Code which could not be obtained because of a hole in the program. This should throw a runtime error. The string gives some information about the meta variable that got compiled.ˆAgda³Matches on the given constructor. If the match succeeds, the pattern variables are prepended to the current environment (pushes all existing variables aArity steps further away)‰AgdaBinds no variablesœAgdaÃCompiler-related primitives. This are NOT the same thing as primitives in Agda's surface or internal syntax! Some of the primitives have a suffix indicating which type of arguments they take, using the following naming convention: Char | Type C | Character F | Float I | Integer Q | QName S | String¼AgdaÒintroduces a new local binding. The bound term MUST only be evaluated if it is used inside the body. Sharing may happen, but is optional. It is also perfectly valid to just inline the bound term in the body.½AgdaÏCase scrutinee (always variable), case type, default value, alternatives First, all TACon alternatives are tried; then all TAGuard alternatives in top to bottom order. TACon alternatives must not overlap.ÁAgdaUsed by the GHC backendÂAgda,A runtime error, something bad has happened.ÄAgda The treeless compiler can behave differently depending on the target language evaluation strategy. For instance, more aggressive erasure for lazy targets.ÇAgda4Usage status of function arguments in treeless code.ÍAgdaÝ~, if treeless usage analysis has not run yet.ÑAgda=Strip leading coercions and indicate whether there were some.ÔAgdaExpose the format  coerce f args.÷We fuse coercions, even if interleaving with applications. We assume that coercion is powerful enough to satisfy / coerce (coerce f a) b = coerce f a b ØAgdaIntroduces a new bindingãAgdafilterUsed used args drops those args which are labelled  ArgUnused in list used.Specification: Ó filterUsed used args = [ a | (a, ArgUsed) <- zip args $ used ++ repeat ArgUsed ]  Examples: ø filterUsed [] == id filterUsed (repeat ArgUsed) == id filterUsed (repeat ArgUnused) == const [] «˜™š›œíîïðñòôóõö÷øùúûüýþÿ€‚�ƒ„Šˆ‡†…‰‹Œ�Ž��‘’“”•–—˜™š›œ�žŸ ¡¢£¤¥¦§¨©ª«¬­®¯°‚ƒ„…†‡Šˆ‰�Ž�‹Œ�‘’“”›š™˜—•–œ³²±°¯®­¬«ª©¨§¦¥¤£¢¡ Ÿ�ž´ÂÁÀ¿¾½¼»º¹¸·µ¶ÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâã₃„…†‡Šˆ‰�Ž�‹Œ�‘’“”›š™˜—•–œ³²±°¯®­¬«ª©¨§¦¥¤£¢¡ Ÿ�ž´ÂÁÀ¿¾½¼»º¹¸·µ¶ÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãXNone! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×ÙàáèÍ™ ™ YNone! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáèzš AgdaÐWe lose track of @-patterns in the internal syntax. This pass puts them back.š š ZNone! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×ÙàáèÌ¢ AgdaÂArbitrary string (not enclosed in double quotes), used in pragmas.à AgdaA misplaced end-comment "-}".Š!AgdaUnconditional layout keywords.ÛSome keywords introduce layout only in certain circumstances, these are not included here.ïœ � ž Ÿ   ¡ ¢ £ ¤ ¥ ¦ § ¨ © ª « ¬ ­ ® ¯ ° ± ² ³ ´ µ ¶ · ¸ ¹ º » ¼ ½ ¾ ¿ À Á Â Ã Ä Ð Å Æ Ç È É Ê Ë Ì Í Î Ï Ñ Ò Ó Ô Õ Ö × Ø Ù Ú Û Ü Ý Þ ß à á â ã ä å æ ç è é ê ë ì í î ï ð ñ ò ó ô õ ö ÷ ø ù ú û ü ý þ ÿ €!�!‚!ƒ!„!…!†!‡!ˆ!‰!Š!ïœ � ž Ÿ   ¡ ¢ £ ¤ ¥ ¦ § Ä Ð Å Æ Ç È É Ê Ë Ì Í Î Ï Ñ Ò Ó Ô Õ Ö × Ø Ù Ú Û Ü Ý Þ ß à á â ã ä å æ ç è é ê ë ì í î ï ð ñ ò ó ô õ ö ÷ ø ù ú û ü ý þ ÿ €!�!‚!ƒ!„!…!†!‡!ˆ!‰!Š!¨ © ª « ¬ ­ ® ¯ ° ± ² ³ ´ µ ¶ · ¸ ¹ º » ¼ ½ ¾ ¿ À Á  à ]None! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáè"„–!AgdaThe  WarningNameå data enumeration is meant to have a one-to-one correspondance to existing warnings in the codebase.ô!Agda2Some warnings are errors and cannot be turned off.÷!AgdaA  WarningModeÿ has two components: a set of warnings to be displayed and a flag stating whether warnings should be turned into fatal errors.ý!AgdaThe defaultWarningModeÙ is a curated set of warnings covering non-fatal errors and disabling style-related ones€"AgdawarningModeUpdate str computes the action of str over the current  WarningModeõ: it may reset the set of warnings, add or remove a specific flag or demand that any warning be turned into an error�"AgdaCommon sets of warningsˆ"AgdaìThe flag corresponding to a warning is precisely the name of the constructor minus the trailing underscore.Š"Agda warningUsage generated using warningNameDescriptionõ–!è!ç!æ!Â!Ç!°!¯!±!Ò!—!µ!à!á!Ü!â!ã!Ý!ß!Þ!Ù!Ú!Û!ä!ñ!ð!Ö!Õ!×!Ø!¸!Ã!·!˜!™!š!›!œ!�!ž!Ÿ! !¡!¢!£!¤!¥!¦!§!¨!©!ª!«!¬!­!®!²!³!´!¶!¹!º!»!¼!½!¾!¿!À!Á!Ä!Å!Æ!È!É!Ê!Ë!Ì!Í!Î!Ï!Ð!Ñ!Ó!Ô!å!é!ê!ë!ì!í!î!ï!ò!ó!ô!õ!ö!÷!ø!ù!ú!û!ü!ý!þ!ÿ!€"�"‚"ƒ"„"…"†"‡"ˆ"‰"Š"õ÷!ø!ù!ú!û!ü!ý!†"‡"‚"ƒ"„"…"þ!ô!õ!ö!ÿ!€"�"–!è!ç!æ!Â!Ç!°!¯!±!Ò!—!µ!à!á!Ü!â!ã!Ý!ß!Þ!Ù!Ú!Û!ä!ñ!ð!Ö!Õ!×!Ø!¸!Ã!·!˜!™!š!›!œ!�!ž!Ÿ! !¡!¢!£!¤!¥!¦!§!¨!©!ª!«!¬!­!®!²!³!´!¶!¹!º!»!¼!½!¾!¿!À!Á!Ä!Å!Æ!È!É!Ê!Ë!Ì!Í!Î!Ï!Ð!Ñ!Ó!Ô!å!é!ê!ë!ì!í!î!ï!ò!ó!‰"ˆ"Š"^None! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáè5d6—"Agda The result of parsing something.š"AgdaWarnings for parsing.›"Agda,Parse errors that concern a range in a file.œ"AgdaUnsupported attribute.�"AgdaMultiple attributes.ž"Agda)The range of the bigger overlapping tokenŸ"Agda,Parse errors: what you get if parsing fails. "Agda4Errors that arise at a specific position in the file¡"Agda,Parse errors that concern a range in a file.¢"Agda'Parse errors that concern a whole file.¤"Agda%The file in which the error occurred.¥"AgdaWhere the error occurred.¦"AgdaThe remaining input.§"AgdaThe previous token.¨"Agda*Hopefully an explanation of what happened.©"Agda)The range of the bigger overlapping tokenª"Agda"The file which the error concerns.­"Agda Parser flags.¯"Agda/Should comment tokens be returned by the lexer?°"Agda=Status of a layout column (see #1145). A layout column is ±"Ë until we encounter a new line. This allows stacking of layout keywords. Inside a  LayoutContext the sequence of ²"Ë columns needs to be strictly increasing. 'Tentative columns between ²"3 columns need to be strictly increasing as well.±"Agda÷The token defining the layout column was on the same line as the layout keyword and we have not seen a new line yet.²"AgdaùWe have seen a new line since the layout keyword and the layout column has not been superseded by a smaller column.³"AgdaA (layout) column.´"Agda†We need to keep track of the context to do layout. The context specifies the indentation columns of the open layout blocks. See Agda.Syntax.Parser.Layout for more informaton.µ"AgdaLayout at specified ³", introduced by Ä .¶"AgdaThe stack of layout blocks..When we encounter a layout keyword, we push a ±" block with noColumnÆ. This is replaced by aproper column once we reach the next token.·"Agda:For context sensitive lexing alex provides what is called  start codesð in the Alex documentation. It is really an integer representing the state of the lexer, so we call it LexState instead.¸"AgdaÒThe parser state. Contains everything the parser and the lexer could ever need.»"Agda"position at current input location¼"Agdaposition of last token½"Agdathe current input¾"Agdathe character before the input¿"Agdathe previous tokenÀ"Agdathe stack of layout blocksÁ"Agda%the status of the coming layout blockÂ"Agda'the keyword for the coming layout blockÃ"AgdaÃthe state of the lexer (states can be nested so we need a stack)Ä"Agdaparametrization of the parserÅ"AgdaIn reverse order.Æ"AgdaThe parse monad.È"Agda,Throw a parse error at the current position.É"AgdaRecords a warning.Ê"Agda—Constructs the initial state of the parser. The string argument is the input string, the file path is only there because it's part of a position.Ë"AgdaThe default flags.Ì"Agda.The most general way of parsing a string. The Agda.Syntax.Parser; will define more specialised functions that supply the ­" and the ·".Í"Agda.The even more general way of parsing a string.Î"AgdaåParses a string as if it were the contents of the given file Useful for integrating preprocessors.Ò"AgdaÉThe parse interval is between the last position and the current position.×"AgdaèFake a parse error at the specified position. Used, for instance, when lexing nested comments, which when failing will always fail at the end of the file. A more informative position is the beginning of the failing comment.Ø"AgdaUse ×" or È" as appropriate.Ù"Agda3Report a parse error at the beginning of the given û .Ú"AgdaüFor lexical errors we want to report the current position as the site of the error, whereas for parse errors the previous position is the one we're interested in (since this will be the position of the token we just lexed). This function does ×" the current position.Þ"Agda Return the current layout block.á"Agda5When we see a layout keyword, by default we expect a ±" block.Ë—"˜"™"š"›"œ"�"ž"Ÿ" "¡"¢"£"¤"¥"¦"§"¨"©"ª"«"¬"­"®"¯"°"±"²"³"´"µ"¶"·"¸"¹"Ä"º"»"¼"½"¾"¿"À"Á"Â"Ã"Å"Æ"Ç"È"É"Ê"Ë"Ì"Í"Î"Ï"Ð"Ñ"Ò"Ó"Ô"Õ"Ö"×"Ø"Ù"Ú"Û"Ü"Ý"Þ"ß"à"á"ËÆ"—"˜"™"¸"¹"Ä"º"»"¼"½"¾"¿"À"Á"Â"Ã"Å"Ÿ" "¡"¢"£"¤"¥"¦"§"¨"©"ª"«"¬"š"›"œ"�"ž"·"´"µ"¶"°"±"²"³"­"®"¯"Ê"Ë"Ì"Í"Î"Ï"Ð"Ò"Ñ"Ö"Ó"Ô"Õ"Þ"ß"à"Û"Ü"Ý"á"É"Ç"È"×"Ø"Ù"Ú"_None! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáè7¼õ"AgdaInterface to the help functionö"AgdaGeneral usage information÷"Agda)Specialised usage information about TOPICù"AgdaUsage information generationú"AgdaConversion functions to stringsõ"÷"ö"ø"ù"ú"õ"÷"ö"ù"ú"ø"`None! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáè>žƒ#AgdaThrows š exceptions, still collects Ž#s.„#Agda Collects Š#s and Ž#s.…#AgdaÄCache locations of project configurations and parsed .agda-lib files†#Agda0Collected errors while processing library files.‡#AgdaÇRaised when a library name could not successfully be resolved to an  .agda-lib file.ˆ#Agda1Raised when a library name is defined in several .agda-lib files.‰#AgdaGeneric error.Œ#AgdaLibrary Warnings.’#AgdaName of  libraries file“#AgdaLine number in  libraries file.”#Agda Library file–#Agda Content of a  .agda-lib file.˜#Agda!The symbolic name of the library.™#Agda Path to this  .agda-lib file (not content of the file).š#Agda3Roots where to look for the modules of the library.›#Agda Dependencies.œ#Agda4Default pragma options for all files in the library.�#AgdaŽA file can either belong to a project located at a given root containing one or more .agda-lib files, or be part of the default project.¤#AgdaE.g. ~.agda executables.¥#AgdaáThe executables file might not exist, but we may print its assumed location in error messages.¦#AgdaA symbolic executable name.©#AgdaE.g. ~.agda libraries.ª#AgdaßThe libraries file might not exist, but we may print its assumed location in error messages.«#AgdaA symbolic library name.¬#AgdaThe special name "."Ó is used to indicated that the current directory should count as a project root.®#AgdaLenses for AgdaLibFile½#Agda Pretty-print Š#.;ƒ#„#…#†#ˆ#‡#‰#Š#‹#Œ#�#Ž#�#�#‘#”#“#’#•#–#—#œ#›#š#™#˜#�#Ÿ#ž#¡# #¢#£#¥#¤#¦#§#¨#ª#©#«#¬#­#®#¯#°#±#²#³#´#µ#¶#·#¸#¹#º#»#¼#½#;«#§#¨#ª#©#¦#¢#£#¥#¤#¬#�#Ÿ#ž#¡# #–#—#œ#›#š#™#˜#­#®#¯#°#±#²#•#�#‘#”#“#’#Ž#�#Œ#�#Š#‹#³#†#ˆ#‡#‰#…#„#ƒ#´#µ#¶#·#¸#¹#º#»#¼#½#aNone! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×ÙàáèAØ#AgdaParse  .agda-lib file.Sets ¯#× name and turn mentioned include directories into absolute pathes (provided the given ý~ is absolute).Ù#Agda+Remove leading whitespace and line comment.Ú#Agda4Break a comma-separated string. Result strings are trimmed.×#Ø#Ù#Ú#Ø#Ú#Ù#×#bNone! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×ÙàáèD¿ Ü#Agda.Zero or more consecutive and separated ranges.Þ#AgdaÑCharacter ranges. The first character in the file has position 1. Note that the á#4 position is considered to be outside of the range. Invariant: à# ƒ á#.â#AgdaThe Þ# invariant.ã#AgdaThe Ü# invariant.ä#AgdaÖ~ iff the ranges overlap.)The ranges are assumed to be well-formed.æ#Agda(Converts a range to a list of positions.ç#Agda/Converts several ranges to a list of positions.è#Agda Converts a û  to a Ü#.é#Agda Converts a û #, seen as a continuous range, to a Þ#.ê#Agda minus xs ys! computes the difference between xs and ys<: the result contains those positions which are present in xs but not in ys.*Linear in the lengths of the input ranges.êÜ#Ý#Þ#ß#à#á#â#ã#ä#å#æ#ç#è#é#ê#Þ#ß#à#á#â#Ü#Ý#ã#ä#å#êæ#ç#è#é#ê#cNone! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×ÙàáèNÑó#Agda*Maps containing non-overlapping intervals.éThe implementation does not use IntMap, because IntMap does not come with a constant-time size function.Note the invariant which ó#s should satisfy (þ#).õ#AgdaÔThe keys are starting points of ranges, and the pairs contain endpoints and values.ö#Agda7A strict pair type where the first argument must be an Á~.*This type is included because there is no „ instance for … in the package strict before version 4.ø#AgdaÞA class that is intended to make it easy to swap between different range map implementations.Note that some ó#, operations are not included in this class.ù#AgdaThe map ù# rs x contains the ranges from rs9, and every position in those ranges is associated with x.ú#AgdaConverts range maps to †s from positions to values.û#AgdaýConverts the map to a list. The ranges are non-overlapping and non-empty, and earlier ranges precede later ones in the list.ü#Agda?Returns the smallest range covering everything in the map (or Ý~, if the range would be empty).ÍNote that the default implementation of this operation might be inefficient.ý#AgdaLike ù#, but with several Ü# instead of only one.þ#AgdaInvariant for ó#.8The ranges must not be empty, and they must not overlap.ÿ#Agda3Converts a list of pairs of ranges and values to a ó#ç. The ranges have to be non-overlapping and non-empty, and earlier ranges have to precede later ones.€$Agda,Inserts a value, along with a corresponding Þ# , into a ó#Á. No attempt is made to merge adjacent ranges with equal values.ôThe function argument is used to combine values. The inserted value is given as the first argument to the function.�$Agda The value of �$ p f is a pair (f1, f2)! which contains everything from f. All the positions in f1 are less than p, and all the positions in f2 are greater than or equal to p.‚$Agda Returns a ó#> overlapping the given range, as well as the rest of the map.ƒ$AgdaRestricts the ó# to the given range.…$AgdaMerges ó#Ås by inserting every "piece" of the smaller one into the larger one.†$AgdaMerges ó#Ås by inserting every "piece" of the smaller one into the larger one.ó#ô#õ#ö#÷#ø#û#ù#ú#ü#ý#þ#ÿ#€$�$‚$ƒ$ø#û#ù#ú#ü#ý#ö#÷#ó#ô#õ#þ#ÿ#€$�$‚$ƒ$dNone! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×ÙàáèOaŒ$�$Ž$�$�$‘$’$“$”$•$–$—$˜$™$š$›$œ$�$Œ$�$Ž$�$�$‘$’$“$”$•$–$—$˜$™$š$›$œ$�$eNone! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×ÙàáèQî$AgdaSeparate by blank line.¯$Agda1Separate by space that will be removed by minify.For non-removable space, use d <> " " <> d'.¸$Agda1Concatenate vertically, separated by blank lines.½$AgdaApply º$ to ¢$ if boolean is true.Å$Agda³Check if a string is a valid JS identifier. The check ignores keywords as we prepend z_ to our identifiers. The check is conservative and may not admit all valid JS identifiers.(ž$Ÿ$ $¡$¢$¨$¥$¤$¦$§$£$©$ª$«$¬$­$®$¯$°$±$²$³$´$µ$¶$·$¸$¹$º$»$¼$½$¾$¿$À$Á$Â$Ã$Ä$Å$(¢$¨$¥$¤$¦$§$£$©$ª$«$¬$­$®$¯$°$±$²$³$´$µ$¶$·$¸$¹$º$»$¼$½$¾$¿$ $¡$À$ž$Ÿ$Á$Â$Ã$Ä$Å$­$5®$5¯$6fNone! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×ÙàáèS‹Õ$AgdaäSpeculation: Type class computing the size (?) of a pattern and collecting the vars it introduces†%AgdaÉTake a list of patterns and returns (is, size, vars) where (speculation):4Õ$Ö$×$Ø$Ù$Ü$Û$Ú$Ý$Þ$à$ß$á$â$è$ç$æ$å$ä$ã$é$ê$ë$ì$í$î$ï$ð$ñ$ò$ó$ô$õ$ö$÷$ø$ù$ú$û$ü$ý$þ$ÿ$€%�%‚%ƒ%„%…%†%‡%ˆ%4í$î$ï$ð$ñ$ë$ì$ò$ê$é$â$è$ç$æ$å$ä$ã$á$ó$ô$õ$Þ$à$ß$ö$÷$ø$ù$Ý$Ù$Ü$Û$Ú$ú$û$ü$ý$×$Ø$þ$ÿ$€%�%‚%ƒ%„%…%Õ$Ö$†%‡%ˆ%gNone! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáè…àÉ�%Agda SCC DAGs.0The maps map SCC indices to and from SCCs/nodes.¢%AgdaWithUniqueInt n consists of pairs of (unique) Á~s and values of type n.2Values of this type are compared by comparing the Á~s.¦%AgdaVarious kinds of nodes.¨%AgdaNodes with outgoing edges.©%AgdaNodes with incoming edges.ª%Agda!All nodes, with or without edges.«%AgdaEdges.­%AgdaOutgoing node.®%AgdaIncoming node.¯%AgdaEdge label (weight).°%Agda Graph n e, is a type of directed graphs with nodes in n and edges in e.ìAt most one edge is allowed between any two nodes. Multigraphs can be simulated by letting the edge type e be a collection type.ËThe graphs are represented as adjacency maps (adjacency lists, but using finite maps instead of arrays and lists). This makes it possible to compute a node's outgoing edges in logarithmic time (O(log n)Â). However, computing the incoming edges may be more expensive.ÌNote that neither the number of nodes nor the number of edges may exceed ‡ :: Á~.²%AgdaForward edges.³%AgdaInternal invariant.´%AgdaIf there is an edge from s to t, then  lookup s t g is Ü~ e, where e is the edge's label. O(log n).µ%AgdaThe graph's edges. O(n + e).¶%Agdaneighbours u g consists of all nodes v" for which there is an edge from u to v in g-, along with the corresponding edge labels.  O(log n + |neighbours u g|).·%AgdaneighboursMap u g consists of all nodes v" for which there is an edge from u to v in g-, along with the corresponding edge labels. O(log n).¸%AgdaedgesFrom g nsô is a list containing all edges originating in the given nodes (i.e., all outgoing edges for the given nodes). If nsÔ does not contain duplicates, then the resulting list does not contain duplicates. O(|ns| log |n| + |edgesFrom g ns|).¹%Agda edgesTo g nsî is a list containing all edges ending in the given nodes (i.e., all incoming edges for the given nodes). If nsÕ does not contain duplicates, then the resulting list does not contain duplicates. O(|ns | n log n).º%AgdaAll self-loops.  O(n log n).»%Agda All nodes. O(n).¼%AgdaNodes with outgoing edges. O(n).½%AgdaNodes with incoming edges. O(n + e log n).¾%Agda Constructs a ¦% structure. O(n + e log n).¿%Agda*Nodes without incoming or outgoing edges. O(n + e log n).À%AgdaÆChecks whether the graph is discrete (containing no edges other than ë edges). O(n + e).Á%AgdaReturns True iff the graph is acyclic.Â%AgdaÊConstructs a completely disconnected graph containing the given nodes.  O(n log n).Ã%AgdaÊConstructs a completely disconnected graph containing the given nodes. O(n).Ä%Agda fromEdges es$ is a graph containing the edges in es=, with the caveat that later edges overwrite earlier edges. O(|es| log n).Å%AgdafromEdgesWith f es$ is a graph containing the edges in esÍ. Later edges are combined with earlier edges using the supplied function. O(|es| log n).Æ%Agda"Empty graph (no nodes, no edges). O(1).Ç%Agda5A graph with two nodes and a single connecting edge. O(1).È%Agda Inserts an edge into the graph. O(log n).É%Agda Inserts an edge into the graph. O(log n).Ê%AgdainsertWith f s t new inserts an edge from s to t3 into the graph. If there is already an edge from s to t with label old6, then this edge gets replaced by an edge with label  f new old%, and otherwise the edge's label is new. O(log n).Ë%Agda A variant of Ê%. O(log n).Ì%AgdaLeft-biased union.Time complexity: See Í%.Í%Agda§Union. The function is used to combine edge labels for edges that occur in both graphs (labels from the first graph are given as the first argument to the function).Time complexity:  O(n�A log (n‚An�A + 1) + e�A log e‚A), where Ðn�A/ is the number of nodes in the graph with the smallest number of nodes and n‚A0 is the number of nodes in the other graph, and e�AÍ is the number of edges in the graph with the smallest number of edges and e‚A+ is the number of edges in the other graph."Less complicated time complexity: O((n + e) log n (where n and e refer to the resulting graph).Î%AgdaUnion. O((n + e) log n (where n and e refer to the resulting graph).Ï%AgdaÜUnion. The function is used to combine edge labels for edges that occur in several graphs. O((n + e) log n (where n and e refer to the resulting graph).Ð%Agda A variant of ˆ< that provides extra information to the function argument. O(n + e).Ñ%AgdaReverses an edge. O(1).Ò%Agda.The opposite graph (with all edges reversed). O((n + e) log n).Ó%AgdaRemoves ë edges. O(n + e).Ô%Agda The graph filterNodes p g# contains exactly those nodes from g that satisfy the predicate p=. Edges to or from nodes that are removed are also removed. O(n + e).Õ%AgdaremoveNodes ns g removes the nodes in ns% (and all corresponding edges) from g. O((n + e) log |ns|).Ö%AgdaremoveNode n g removes the node n% (and all corresponding edges) from g. O(n + e).×%AgdaremoveEdge s t g removes the edge going from s to t , if any. O(log n).Ø%Agda0Keep only the edges that satisfy the predicate. O(n + e).Ù%AgdaóRemoves the nodes that do not satisfy the predicate from the graph, but keeps the edges: if there is a path in the original graph between two nodes that are retained, then there is a path between these two nodes also in the resulting graph.(Precondition: The graph must be acyclic.Worst-case time complexity:  O(e n log n)) (this has not been verified carefully).Ú%AgdaRenames the nodes.6Precondition: The renaming function must be injective.Time complexity: O((n + e) log n).Û%AgdaRenames the nodes.$Precondition: The renaming function ren" must be strictly increasing (if x ‰ y then ren x ‰ ren y).Time complexity: O(n + e).Ü%Agda'Combines each node label with a unique Á~.ÈPrecondition: The number of nodes in the graph must not be larger than ‡ :: Á~.Time complexity: O(n + e log n).Ý%AgdaUnzips the graph. O(n + e).Þ%AgdacomposeWith times plus g g' finds all edges s --c_i--> t_i --d_i--> u) and constructs the result graph from !edge(s,u) = sum_i (c_i times d_i).Complexity: For each edge s --> t in g' we look up all edges starting with t in g'.>Precondition: The two graphs must have exactly the same nodes.ß%AgdaÉThe graph's strongly connected components, in reverse topological order.The time complexity is likely O(n + e log n)Õ (but this depends on the, at the time of writing undocumented, time complexity of Š).à%AgdaÉThe graph's strongly connected components, in reverse topological order.The time complexity is likely O(n + e log n)Õ (but this depends on the, at the time of writing undocumented, time complexity of Š).á%Agda�% invariant.â%AgdaThe opposite DAG.ã%Agda'The nodes reachable from the given SCC.ä%AgdaÇConstructs a DAG containing the graph's strongly connected components.å%AgdaÇConstructs a DAG containing the graph's strongly connected components.æ%AgdareachableFrom g n/ is a map containing all nodes reachable from n in g¨. For each node a simple path to the node is given, along with its length (the number of edges). The paths are as short as possible (in terms of the number of edges).Precondition: n must be a node in g<. The number of nodes in the graph must not be larger than ‡ :: Á~.ËAmortised time complexity (assuming that comparisons take constant time):  O(e log n)ê, if the lists are not inspected. Inspection of a prefix of a list is linear in the length of the prefix.ç%AgdareachableFromSet g ns/ is a set containing all nodes reachable from ns in g.Precondition: Every node in ns must be a node in g<. The number of nodes in the graph must not be larger than ‡ :: Á~.ËAmortised time complexity (assuming that comparisons take constant time): O((|ns | + e) log n).è%Agda#walkSatisfying every some g from to% determines if there is a walk from from to to in g/, in which every edge satisfies the predicate every(, and some edge satisfies the predicate someç. If there are several such walks, then a shortest one (in terms of the number of edges) is returned.Precondition: from and to must be nodes in g<. The number of nodes in the graph must not be larger than ‡ :: Á~.éAmortised time complexity (assuming that comparisons and the predicates take constant time to compute): O(n + e log n).é%AgdaConstructs a graph g', with the same nodes as the original graph g. In g' there is an edge from n1 to n2> if and only if there is a (possibly empty) simple path from n1 to n2 in gï. In that case the edge is labelled with all of the longest (in terms of numbers of edges) simple paths from n1 to n2 in g), as well as the lengths of these paths.ãPrecondition: The graph must be acyclic. The number of nodes in the graph must not be larger than ‡ :: Á~.>Worst-case time complexity (if the paths are not inspected):  O(e n log n)( (this has not been verified carefully).1The algorithm is based on one found on Wikipedia.ê%AgdaTransitive closure ported from Agda.Termination.CallGraph.%Relatively efficient, see Issue 1560.ë%Agda Version of ê%þ that produces a list of intermediate results paired to the left with a difference that lead to the new intermediat result.ÔThe last element in the list is the transitive closure, paired with the empty graph. (complete g = snd $ last $ completeIter gì%Agda-Computes the transitive closure of the graph.�Uses the Gauss-Jordan-Floyd-Warshall-McNaughton-Yamada algorithm (as described by Russell O'Connor in "A Very General Method of Computing Shortest Paths"  'http://r6.ca/blog/20110808T035622Z.html), implemented using matrices.4The resulting graph does not contain any zero edges.ÊThis algorithm should be seen as a reference implementation. In practice í%! is likely to be more efficient.í%Agda-Computes the transitive closure of the graph.�Uses the Gauss-Jordan-Floyd-Warshall-McNaughton-Yamada algorithm (as described by Russell O'Connor in "A Very General Method of Computing Shortest Paths"  'http://r6.ca/blog/20110808T035622Z.html), implemented using °%, and with some shortcuts:ÓZero edge differences are not added to the graph, thus avoiding some zero edges.ÍStrongly connected components are used to avoid computing some zero edges.ùThe graph's strongly connected components (in reverse topological order) are returned along with the transitive closure.î%AgdaThe transitive closure. Using í%�. NOTE: DO NOT USE () AS EDGE LABEL SINCE THIS MEANS EVERY EDGE IS CONSIDERED A ZERO EDGE AND NO NEW EDGES WILL BE ADDED! Use 'Maybe ()' instead.ï%Agda…The transitive reduction of the graph: a graph with the same reachability relation as the graph, but with as few edges as possible.ãPrecondition: The graph must be acyclic. The number of nodes in the graph must not be larger than ‡ :: Á~.Worst-case time complexity:  O(e n log n)) (this has not been verified carefully).1The algorithm is based on one found on Wikipedia.ä%Agda*The graph's strongly connected components.Ó�%ž%Ÿ% %¡%¢%£%¤%¥%¦%§%¨%©%ª%«%¬%¯%®%­%°%±%²%³%´%µ%¶%·%¸%¹%º%»%¼%½%¾%¿%À%Á%Â%Ã%Ä%Å%Æ%Ç%È%É%Ê%Ë%Ì%Í%Î%Ï%Ð%Ñ%Ò%Ó%Ô%Õ%Ö%×%Ø%Ù%Ú%Û%Ü%Ý%Þ%ß%à%á%â%ã%ä%å%æ%ç%è%é%ê%ë%ì%í%î%ï%Ó°%±%²%³%«%¬%¯%®%­%´%µ%¶%·%¸%¹%º%»%¼%½%¿%¦%§%¨%©%ª%¾%À%Á%Â%Ã%Ä%Å%Æ%Ç%È%Ê%É%Ë%Ì%Í%Î%Ï%Ð%Ñ%Ò%Ó%Ö%Õ%×%Ô%Ø%Ù%Ú%Û%¢%£%¤%¥%Ü%Ý%Þ%ß%à%�%ž%Ÿ% %¡%á%â%ã%ä%å%æ%ç%è%é%í%ì%î%ï%ê%ë%hNone! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáè‰þ%Agdaùtopoligical sort with smallest-numbered available vertex first | input: nodes, edges | output is Nothing if the graph is not a DAG Note: should be stable to preserve order of generalizable variables. Algorithm due to Richard Eisenberg, and works by walking over the list left-to-right and moving each node the minimum distance left to guarantee topological ordering.þ%þ%iNone! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáè™%ƒ&AgdaThese metas are < žD.„&Agda,Lower or upper bound for a flexible variableŒ&AgdaA graph forest.’&Agda Going from Lt to Le is pred , going from Le to Lt is succ.X --(R,n)--> Y means  X (R) Y + n#. [ ... if n positive and X + (-n) (R) Y if n negative. ]”&AgdaNodes not connected.—&Agda4Test for negativity, used to detect negative cycles.§&Agda1Compute list of edges that start in a given node.¨&Agda/Compute list of edges that target a given node.9Note: expensive for unidirectional graph representations.©&Agda Set.foldl* does not exist in legacy versions of the  containers package.ª&AgdaFloyd-Warshall algorithm.«&Agda5Convert a label to a weight, decrementing in case of Ò .±&AgdaSplit a list of graphs gs into those that mention node n and those that do not. If n6 is zero or infinity, we regard it as "not mentioned".²&AgdaÔAdd an edge to a graph forest. Graphs that share a node with the edge are joined.³&AgdaReflexive closure. Add edges 0 -> n -> n -> oo for all nodes n.´&Agdah ´& g if any edge in gÇ between rigids and constants is implied by a corresponding edge in h", which means that the edge in g/ carries at most the information of the one in h.ÓApplication: Constraint implication: Constraints are compatible with hypotheses.·&Agda2Build a graph from list of simplified constraints.¸&Agda2Build a graph from list of simplified constraints.¾&AgdaIf we have an edge  X + n <= X (with n >= 0), we must set X = oo.À&Agda2Compute a lower bound for a flexible from an edge.Á&Agda3Compute an upper bound for a flexible from an edge.Â&Agda6Compute the lower bounds for all flexibles in a graph.Ã&Agda6Compute the upper bounds for all flexibles in a graph.Ä&Agda0Compute the bounds for all flexibles in a graph.Å&AgdaãCompute the relative minima in a set of nodes (those that do not have a predecessor in the set).Æ&AgdaáCompute the relative maxima in a set of nodes (those that do not have a successor in the set).Ç&AgdaûGiven source nodes n1,n2,... find all target nodes m1,m2, such that for all j, there are edges n_i --l_ij--> m_j for all i. Return these edges as a map from target notes to a list of edges. We assume the graph is reflexive-transitive.È&AgdaûGiven target nodes m1,m2,... find all source nodes n1,n2, such that for all j, there are edges n_i --l_ij--> m_j for all i. Return these edges as a map from target notes to a list of edges. We assume the graph is reflexive-transitive.É&AgdaÂCompute the sup of two different rigids or a rigid and a constant.Ê&AgdaÂCompute the inf of two different rigids or a rigid and a constant.Ë&Agda$Compute the least upper bound (sup).Ì&AgdaÝCompute the greatest lower bound (inf) of size expressions relative to a hypotheses graph.Ï&AgdaèSolve a forest of constraint graphs relative to a hypotheses graph. Concatenate individual solutions.Ð&AgdaØCheck that after substitution of the solution, constraints are implied by hypotheses.Ñ&Agda1Iterate solver until no more metas can be solved.óThis might trigger a (wanted) error on the second iteration (see Issue 2096) which would otherwise go unnoticed.Ø&AgdaPartial implementation of Num.í&Agda$An edge is negative if its label is.î&Agda A graph is ˜&Õ if it contains a negative loop (diagonal edge). Makes sense on transitive graphs.Ñ&Agda;Meta variable polarities (prefer lower or upper solution?).AgdaÂHypotheses (assumed to have no metas, so, fixed during iteration).AgdaConstraints to solve.Agda7Previous substitution (already applied to constraints).AgdaAccumulated substition.Õÿ%€&ƒ&‚&�&„&…&†&‡&ˆ&‰&Š&‹&Œ&�&‘&�&�&Ž&’&”&“&–&•&—&˜&™&›&š&œ&�&ž&Ÿ& &¡&¢&£&¤&¥&¦&§&¨&©&ª&«&¬&­&®&¯&°&±&²&³&´&µ&¶&·&¸&¹&º&»&¼&½&¾&¿&À&Á&Â&Ã&Ä&Å&Æ&Ç&È&É&Ê&Ë&Ì&Í&Î&Ï&Ð&Ñ&Ò&Ó&Õ &Ÿ&ž&�&œ&¡&¢&£&¤&¥&¦&§&¨&©&ª&™&›&š&—&˜&’&”&“&–&•&«&�&‘&�&�&Ž&¬&­&®&¯&Œ&°&±&²&³&´&µ&¶&·&¸&‹&Š&‰&¹&º&»&ˆ&¼&‡&½&¾&…&†&„&¿&ÿ%€&ƒ&‚&�&À&Á&Â&Ã&Ä&Å&Æ&Ç&È&É&Ê&Ë&Ì&Í&Î&Ï&Ð&Ñ&Ò&Ó&jNone! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàá褅ù&Agda÷Subterm occurrences for positivity checking. The constructors are listed in increasing information they provide: 3Mixed <= JustPos <= StrictPos <= GuardPos <= Unused Mixed <= JustNeg <= Unused.ú&Agda-Arbitrary occurrence (positive and negative).û&AgdaNegative occurrence.ü&Agda/Positive occurrence, but not strictly positive.ý&AgdaStrictly positive occurrence.þ&AgdaÖGuarded strictly positive occurrence (i.e., under žD). For checking recursive records.€'Agda-One part of the description of an occurrence.‚'Agda(in the nth argument of a define constantƒ'Agda'in the principal argument of built-in žD„'Agda"as an argument to a bound variable…'Agda as an argument of a metavariable†'Agdain the type of a constructor‡'Agda$in a datatype index of a constructorˆ'Agda'in the nth clause of a defined function‰'Agda1matched against in a clause of a defined functionŠ'Agda"is an index of an inductive family‹'Agdain the definition of a constantŒ'AgdaDescription of an occurrence.�'AgdaƒThe elements of the sequences, read from left to right, explain how to get to the occurrence. The second sequence includes the main information, and if the first sequence is non-empty, then it includes information about the context of the second sequence.Ž'Agda&The map contains bindings of the form  bound |-> ess?, satisfying the following property: for every non-empty list w, ‹ æ w ƒ bound iff Œ [ � every w Ž � some w | (every, some) <- ess ].�'Agda+productOfEdgesInBoundedWalk occ g u v bound returns a value distinct from Ý~ iff there is a walk c (a list of edges) in g, from u to v, for which the product ‹ æ (� occ c) ƒ bound&. In this case the returned value is Ü~ (‹ æ c) for one such walk c.Preconditions: u and v must belong to g, and bound must belong to the domain of boundToEverySome.—'Agdaù&* is a complete lattice with least element ú& and greatest element ÿ&.&It forms a commutative semiring where å is meet (glb) and æ0 is composition. Both operations are idempotent.For å, ÿ& is neutral (zero) and ú& is dominant. For æ, ý& is neutral (one) and ÿ& is dominant.ù&ÿ&ý&ú&û&ü&þ&€'�'‚'ƒ'„'…'†'‡'ˆ'‰'Š'‹'Œ'�'Ž'�'ù&ÿ&ý&ú&û&ü&þ&Œ'�'€'�'‚'ƒ'„'…'†'‡'ˆ'‰'Š'‹'Ž'�'kNone# #$%-012356789>?ÀÁÂÄÆÉÎÑÔ×ÙàáèÊî•«'AgdaThe Ô( is not an application.®'Agda(Extended content of an interaction hole.¯'Agda e°'Agda  (rewrite | invert) e0 | ... | en±'Agda=Modules: Top-level pragmas plus other top-level declarations.¸'Agda$Second Range is for REWRITE keyword.¹'Agdafirst string is backend nameº'Agdafirst string is backend name¼'AgdaINLINE or NOINLINE½'Agda6Throws an internal error in the scope checker. The ‘+s are words to be displayed with the error.¾'Agda:For coinductive records, use pragma instead of regular  eta-equality, definition (as it is might make Agda loop).¿'AgdaApplies to the named functionÀ'AgdaApplies to the current moduleÁ'AgdaÀMark a definition as injective for the pattern matching unifier.Â'Agda*Display lhs as rhs (modifies the printer).Ã'Agda)Applies to the following function clause.Ä'Agda…Applies to the following function (and all that are mutually recursive with it) or to the functions in the following mutual block.Å'Agda…Applies to the following function (and all that are mutually recursive with it) or to the functions in the following mutual block.Æ'Agda:Applies to the following data/record type or mutual block.È'Agda*Applies to the following data/record type.Í'Agda  tel. M argsÎ'Agda  M {{...}}Ï'AgdaþThe representation type of a declaration. The comments indicate which type in the intended family the constructor targets.Ð'AgdaÄAxioms and functions can be irrelevant. (Hiding should be NotHidden)Ò'Agda=Variables to be generalized, can be hidden and/or irrelevant.Õ'Agda#lone data signature in mutual blockØ'Agda%lone record signature in mutual blockÛ'Agda$Should not survive beyond the parserÝ'Agdanotation declaration for a nameâ'AgdaIn  Agda.Syntax.Concrete.Definitionsþ we generate private blocks temporarily, which should be treated different that user-declared private blocks. Thus the Ã.ã'AgdaThe û 9 here (exceptionally) only refers to the range of the instance( keyword. The range of the whole block InstanceB r ds is fuseRange r ds.ð'Agda1Isolated record directives parsed as Declarationsñ'AgdaRange of keyword  [co]inductive.ó'Agda Range of [no-]eta-equality keyword.ô'AgdaIf declaration pattern is present, give its range.õ'Agda(Just type signatures or instance blocks.ö'AgdaJust type signatures.÷'Agda.From the parser, we get an expression for the as-³#, which we have to parse into a ³.ø'AgdaThe content of the as -clause of the import statement.ú'AgdaThe "as" name.û'AgdaÃThe range of the "as" keyword. Retained for highlighting purposes.ü'Agda3An imported name can be a module or a defined name.�(AgdaÙThe things you are allowed to say when you shuffle names between name spaces (i.e. in import,  namespace, or open declarations).‚(AgdaöAn expression followed by a where clause. Currently only used to give better a better error message in interaction.†(AgdaPossibly empty sequence.Š(AgdaNo where clauses.‹(Agda Ordinary where. û  of the where/ keyword. List of declarations can be empty.Œ(Agda Named where: module M where ds. û  of the keywords module and where . The ‚ flag applies to the ³ð (not the module contents!) and is propagated from the parent function. List of declarations can be empty.�(Agdawhere block following a clause.�(Agda+No right hand side because of absurd match.’(Agda:Processed (operator-parsed) intermediate form of the core f ps of ¢(. Corresponds to ¤(.—(Agda f˜(Agda ps™(AgdaRecord projection.š(Agda-Patterns for record indices (currently none).›(AgdaMain argument.�(AgdaNon-empty; at least one (| p).Ÿ(Agda+Pattern that was expanded from an ellipsis ....¢(Agda;Left hand sides can be written in infix style. For example: +n + suc m = suc (n + m) (f ˜D g) x = f (g x)ÀWe use fixity information to see which name is actually defined.£(AgdaÓOriginal pattern (including with-patterns), rewrite equations and with-expressions.¤(Agdae.g.  f ps | wps¥(Agda(rewrite e | with p <- e in eq) (many)¦(Agdawith e1 in eq | {e2} | ... (many)¨(AgdaÜA telescope is a sequence of typed bindings. Bound variables are in scope in later types.ª(AgdaBinding (x1@p1 ... xn@pn : A).«(Agda Let binding (let Ds) or  (open M args).¬(AgdaA typed binding.´(Agda. x or {x} or .x or .{x} or {.x} or x@p or (p)µ(Agda. (xs : e) or {xs : e}¶(Agda0A lambda binding is either domain free or typed.¸(Agda A Binder x@p, the pattern is optional½(Agda p �C e where csÀ(Agda9Concrete patterns. No literals in patterns at the moment.Á(Agdac or xÂ(Agda quoteÃ(Agdap p' or  p {x = p'}Ä(Agdap1..pn before parsing operatorsÅ(Agdaeg: p => p' for operator _=>_ The ¬Ñ is possibly ambiguous, but it must correspond to one of the names in the set.Æ(Agda{p} or {x = p}Ç(Agda{{p}} or  {{x = p}}È(Agda (p)É(Agda _Ê(Agda ()Ë(Agdax@p unusedÌ(Agda .eÍ(Agda0, 1, etc.Î(Agda record {x = p; y = q}Ï(Agdai = i1$ i.e. cubical face lattice generatorÐ(Agda...., only as left-most pattern. Second arg is Nothing before expansion, and Just p after expanding ellipsis to p.Ñ(Agda| p, for with-patterns.Ô(AgdaÃConcrete expressions. Should represent exactly what the user wrote.Õ(Agdaex: xÖ(Agdaex: 1 or "foo"×(Agdaex: ? or  {! ... !}Ø(Agdaex: _ or _A_5Ù(Agdabefore parsing operatorsÚ(Agdaex: e e, e {e}, or  e {x = e}Û(Agdaex: e + e The ¬Ï is possibly ambiguous, but it must correspond to one of the names in the set.Ü(Agdaex: e | e1 | .. | enÝ(Agdaex: {e} or {x=e}Þ(Agdaex: {{e}} or {{x=e}}ß(Agdaex:  \x {y} -> e or \(x:A){y:B} -> eà(Agdaex: \ ()á(Agdaex: .\ { p11 .. p1a -> e1 ; .. ; pn1 .. pnz -> en }â(Agdaex: e -> e or .e -> e (NYI: {e} -> e)ã(Agdaex:  (xs:e) -> e or  {xs:e} -> eä(Agdaex: record {x = a; y = b}, or record { x = a; M1; M2 }å(Agdaex: record e {x = a; y = b}æ(Agdaex:  let Ds in e+, missing body when parsing do-notation letç(Agdaex: (e)è(Agdaex: (| e1 | e2 | .. | en |) or (|)é(Agdaex: do x <- m1; m2ê(Agdaex: () or {}, only in patternsë(Agdaex: x@p, only in patternsì(Agdaex: .p, only in patternsí(Agdaex: ..A, used for parsing ..A -> Bî(Agda!only used for printing telescopesï(Agdaex: quote, should be applied to a nameð(Agdaex:  quoteTerm, should be applied to a termñ(Agdaex:  @(tactic t)", used to declare tactic argumentsò(Agdaex: unquote&, should be applied to a term of type Termó(Agdato print irrelevant thingsô(Agdaex: a = b, used internally in the parserõ(Agda...$, used internally to parse patterns.„)AgdaÜAn abstraction inside a special syntax declaration (see Issue 358 why we introduce this).‹)Agda-Drop type annotations and lets from bindings.Ž)AgdaWe can try to get a  Telescope from a  [LamBinding]ý. If we have a type annotation already, we're happy. Otherwise we manufacture a binder with an underscore for the type.�)AgdaSmart constructor for Pi: check whether the  Telescope is empty�)AgdaSmart constructor for Lam: check for non-zero bindings.‘)AgdaSmart constructor for Let": check for non-zero let bindings.’)AgdaSmart constructor for TLet": check for non-zero let bindings.“)AgdaExtract a record directive”)Agda#Computes the top-level module name.Precondition: The ±'— has to be well-formed. This means that there are only allowed declarations before the first module declaration, typically import declarations. See •).•)Agda¹Splits off allowed (= import) declarations before the first non-allowed declaration. After successful parsing, the first non-allowed declaration should be a module declaration.œ)Agda*Observe the hiding status of an expression�)Agda-Observe the relevance status of an expressionž)Agda2Observe various modifiers applied to an expression )AgdaÕTurn an expression into a pattern. Fails if the expression is not a valid pattern.¡)AgdaËTurn an expression into a pattern, turning non-pattern subexpressions into É(.©)AgdaA �( is ë when the whereÇ keyword is absent. An empty list of declarations does not count as ë here.ª)AgdaRanges are not forced.´)AgdaRanges are not forced.µ)AgdaRanges are not forced.¶)AgdaRanges are not forced.·)AgdaRanges are not forced.¸)AgdaRanges are not forced.¹)AgdaRanges are not forced.»)AgdaRanges are not forced.¼)AgdaRanges are not forced.Àº»˜™š›œ�¢¡ žŸ£¤¥¦§¨©«ª¬®­¯±°²³´µ¸·¹¶º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜ«'¬'­'®'¯'°'±'²'³'´'µ'¶'·'¸'¹'º'»'¼'½'¾'¿'À'Á'Â'Ã'Ä'Å'Æ'Ç'È'É'Ê'Ë'Ì'Í'Î'Ï'ë'Ö'Ü'ç'î'á'Ý'è'Ú'æ'Û'Ò'ß'Ð'Ó'Ñ'Ô'Õ'×'Ø'Ù'Þ'à'â'ã'ä'å'é'ê'ì'í'ï'ð'ò'ñ'ô'ó'õ'ö'÷'ø'ù'ú'û'ü'ý'þ'ÿ'€(�(‚(ƒ(„(…(†(‡(ˆ(‰(Š(‹(Œ(�(Ž(�(�(‘(’(“(”(•(–(—(˜(™(š(›(œ(�(ž(Ÿ( (¡(¢(£(¤(¥(¦(§(¨(©(«(ª(¬(­(®(¯(°(±(²(³(´(µ(¶(·(¸(¹(º(»(¼(½(¾(¿(À(Í(Ë(É(Î(Á(Â(Ã(Ä(Å(Æ(Ç(È(Ê(Ì(Ï(Ð(Ñ(Ò(Ó(Ô(â(Õ(Ú(Ö(ï(ä(ì(Û(è(ò(æ(Ø(ß(ã(×(Ù(Ü(Ý(Þ(à(á(å(ç(é(ê(ë(í(î(ð(ñ(ó(ô(õ(ö(÷(ø(ù(ú(û(ü(ý(þ(ÿ(€)�)‚)ƒ)„)…)†)‡)ˆ)‰)Š)‹)Œ)�)Ž)�)�)‘)’)“)”)•)–)—)˜)™)š)›)œ)�)ž)Ÿ) )¡)¢)£)ûÔ(â(Õ(Ú(Ö(ï(ä(ì(Û(è(ò(æ(Ø(ß(ã(×(Ù(Ü(Ý(Þ(à(á(å(ç(é(ê(ë(í(î(ð(ñ(ó(ô(õ(ö(ƒ)„)…)†)Ó(Ò(«'¬'˜)™)–)—)š)›) )¢)£)¡)Ÿ)¸(¹(º(»(·(‰)Š)¶(³(´(µ(‹)¬(©(«(ª(ø(÷(þ(ÿ(€)�)‚)‡)ˆ)ù(ú(û(ü(ý(®(¯(°(±(²(Œ)�)­(§(¨(Ž)�)�)‘)’)ð'ò'ñ'ô'ó'“)ï'Ï'ë'Ö'Ü'ç'î'á'Ý'è'Ú'æ'Û'Ò'ß'Ð'Ó'Ñ'Ô'Õ'×'Ø'Ù'Þ'à'â'ã'ä'å'é'ê'ì'í'Ì'Í'Î'ö'õ'�(€(ü'ÿ'þ'ý'ø'ù'ú'û'÷'É'Ê'Ë'¡( (¢(£(¤(¥(¦(À(Í(Ë(É(Î(Á(Â(Ã(Ä(Å(Æ(Ç(È(Ê(Ì(Ï(Ð(Ñ(’(“(”(•(–(—(˜(™(š(›(œ(�(ž(Ÿ(œ)�)ž)„(…(†(‡(ˆ(‘(Ž(�(�(�(‰(Š(‹(Œ(‚(ƒ(¼(½(¾(¿(µ'¶'·'¸'¹'º'»'¼'½'¾'¿'À'Á'Â'Ã'Ä'Å'Æ'Ç'È'±'²'³'´'º»­'®'¯'°'”)•)lNone! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×ÙàáèÐq¶*AgdaprettyHiding info visible doc# puts the correct braces around doc according to info info and returns  visible doc% if the we deal with a visible thing.*üý„ƒ‚�€þÿ…†‡ˆ‰Š‹Œ�Ž��‘¯*°*±*²*³*´*µ*¶*·*¸*¹*º*»*¼*½*¾*¿*À*Á*Â*¯*°*±*²*³*´*µ*¶*·*¸*¹*º*»*¼*½*¾*¿*À*Á*Â*mNone! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×ÙàáèÔd †+AgdaÝ~ for root of split treeŠ+Agda¿Tag for labeling branches of a split tree. Each branch is associated to either a constructor or a literal, or is a catchall branch (currently only used for splitting on a literal type).Ž+AgdaáSplit tree branching. A finite map from constructor names to splittrees A list representation seems appropriate, since we are expecting not so many constructors per data type, and there is no need for random access.’+AgdaAbstract case tree shape.“+AgdaÀNo more splits coming. We are at a single, all-variable clause.”+AgdaA split is necessary.•+Agda+The number of variables bound in the clause–+AgdaArg. no to split at.˜+AgdaSub split trees.›+AgdaConvert a split tree into a õû (for printing).„+…+‰+ˆ+‡+†+Š+�+Œ+‹+Ž+�+‘+�+’+”+“+˜+—+–+•+™+š+›+œ+š+™+’+”+“+˜+—+–+•+�+‘+�+Ž+Š+�+Œ+‹+„+…+‰+ˆ+‡+†+›+œ+nNone! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáèá´ ²+Agda-Sections, as well as non-sectioned operators.µ+Agda>For non-sectioned operators this should match the notation's Ð+.¶+AgdaEffective precedence level. Ý~ for closed notations.·+Agdaõ~ for non-sectioned operators.¸+Agda/All the notation information related to a name.»+Agda-The names the syntax and/or fixity belong to.ÁInvariant: The set is non-empty. Every name in the list matches º+.¼+Agda3Associativity and precedence (fixity) of the names.½+Agda!Syntax associated with the names.¾+AgdaÐTrue if the notation comes from an operator (rather than a syntax declaration).¿+AgdaClassification of notations.À+AgdaEx:  _bla_blub_.Á+AgdaEx:  _bla_blub.Â+AgdaEx:  bla_blub_.Ã+AgdaEx: bla_blub.Å+Agda8Data type constructed in the Happy parser; converted to ˜$ before it leaves the Happy code.Æ+Agda x -> y2; 1st argument is the bound name (unused for now).Ç+AgdaSimple named hole with hiding.Ê+AgdaIs the hole a binder?Ë+Agda2Get a flat list of identifier parts of a notation.Ì+AgdaÁTarget argument position of a part (Nothing if it is not a hole).Í+AgdaåIs the part a hole? WildHoles don't count since they don't correspond to anything the user writes.Î+AgdaIs the part a normal hole?Ï+AgdaIs the part a binder?Ð+Agda?ÀÁÂÄÆÉÎÑÔ×ÙàáèéÁ(é+AgdaPhases to allocate CPU time to.ê+Agda#Happy parsing and operator parsing.ë+AgdaImport chasing.ì+AgdaReading interface files.í+Agda2Scope checking and translation to abstract syntax.î+Agda1Type checking and translation to internal syntax.ï+AgdaTermination checking.ð+Agda-Positivity checking and polarity computation.ñ+AgdaInjectivity checking.ò+Agda!Checking for projection likeness.ó+Agda0Coverage checking and compilation to case trees.ô+AgdaGenerating highlighting info.õ+AgdaWriting interface files.ö+AgdaDeac code elimination.÷+Agda Subphase for ï+.ø+Agda Subphase for ï+.ù+Agda Subphase for ï+.ú+Agda Subphase for ï+.û+Agda Subphase for ï+.ü+Agda Subphase for ï+.ý+Agda Subphase for ë+.þ+Agda Subphase for ì+: compacting interfaces.ÿ+Agda Subphase for õ+.€,Agda Subphase for õ+.�,Agda Subphase for õ+.‚,Agda Subphase for õ+.ƒ,Agda Subphase for ê+.„,Agda Subphase for ê+.…,Agda Subphase for î+: free variable computation.†,Agda Subphase for î+!: occurs check for solving metas.‡,Agda Subphase for î+: checking the LHSˆ,Agda Subphase for î+: checking the RHS‰,Agda Subphase for î+: checking a type signatureŠ,Agda Subphase for î+: generalizing over variables‹,Agda Subphase for î+: solving instance goalsŒ,Agda Subphase for ‡,: unification of the indices�,AgdaPretty printing names.“,Agda.Global variable to store benchmark statistics.”,Agda=Benchmark an IO computation and bill it to the given account.•,Agda>Benchmark a pure computation and bill it to the given account./ç+è+é+Ž,�,Œ,‹,ˆ,‡,†,„,ƒ,‚,�,ÿ+þ+õ+ò+í+ì+ê+ë+‰,�,ô+ð+î+Š,ñ+€,ï+ø+ö+ü+û+ý+…,ú+ù+÷+ó+�,‘,’,“,”,•,/é+Ž,�,Œ,‹,ˆ,‡,†,„,ƒ,‚,�,ÿ+þ+õ+ò+í+ì+ê+ë+‰,�,ô+ð+î+Š,ñ+€,ï+ø+ö+ü+û+ý+…,ú+ù+÷+ó+è+ç+�,‘,’,“,”,•,pNone! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáèô»�,AgdaGeneric pattern traversal.See œü.ž,Agda Fold pattern.Ÿ,AgdaCombine a pattern and the value computed from its subpatterns.Ÿ,Agda;Combine a pattern and the its recursively computed version. ,Agdapre : Modification before recursion.Agdapost: Modification after recursion.²,Agdapre : Modification before recursion.³,Agdapost: Modification after recursion.!�, ,Ÿ,ž,¡,£,¢,¤,¥,¦,§,¨,©,ª,«,¬,­,®,¯,°,±,²,³,´,µ,¶,·,¸,¹,º,»,¼,½,!¨,©,¦,§,¤,¥,¡,£,¢,ª,«,¬,­,®,¯,°,�, ,Ÿ,ž,±,²,³,´,µ,¶,·,¸,¹,º,»,¼,½,qNone$ #$%'(-/02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáèùá Í,AgdaA singleton type for ¿+ (except for the constructor Ä+).Ò,Agda"Used to define the return type of ë,.Ó,AgdaShould sections be parsed?ß,AgdaThe ¬Ï is possibly ambiguous, but it must correspond to one of the names in the set.ç,Agda†Runs a parser. If sections should be parsed, then identifiers with at least two name parts are split up into multiple tokens, using æÏ to record the tokens' original positions within their respective identifiers.è,Agda)Parse a specific identifier as a NameParté,AgdaËParses a split-up, unqualified name consisting of at least two name parts.«The parser does not check that underscores and other name parts alternate. The range of the resulting name is the range of the first name part that is not an underscore.ê,Agda,Parses a potentially pattern-matching binderë,Agda0Parse the "operator part" of the given notation.ÅNormal holes (but not binders) at the beginning and end are ignored.ÒIf the notation does not contain any binders, then a section notation is allowed."Í,Ñ,Ð,Ï,Î,Ò,Ó,Õ,Ô,Ö,Ù,Ø,×,Ú,ã,â,á,à,ß,Þ,Ý,Ü,Û,ä,å,æ,ç,è,é,ê,ë,ì,í,î,"ä,å,æ,Ú,ã,â,á,à,ß,Þ,Ý,Ü,Û,Ö,Ù,Ø,×,Ó,Õ,Ô,ç,è,é,ê,Ò,Í,Ñ,Ð,Ï,Î,ë,ì,í,î,rNone! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×ÙàáèûŒô,Agda,Generic traversals for concrete expressions. Note: does not go into patterns!õ,AgdaThis corresponds to �.ö,AgdaThis corresponds to ’.÷,AgdaThis corresponds to “.ô,÷,ö,õ,ô,÷,ö,õ,sNone" #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáèý ¢-Agda”Get the fixities and polarity pragmas from the current block. Doesn't go inside modules and where blocks. The reason for this is that these declarations have to appear at the same level (or possibly outside an abstract or mutual block) as their target declaration. –-˜-—-™-š-›-œ-�-ž-Ÿ- -¡-¢- ¡- -™-š-›-œ-�-ž-Ÿ-–-˜-—-¢-tNone! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáè Ø©-Agda$The kind of the forward declaration.ª-AgdaName of a data type«-AgdaName of a record type¬-AgdaName of a function.°-Agdawe are nicifying a mutual block±-Agda,we are nicifying decls not in a mutual block²-AgdaÑSeveral declarations expect only type signatures as sub-declarations. These are:³-Agda  postulate´-Agda primitive. Ensured by parser.µ-AgdainstanceÅ. Actually, here all kinds of sub-declarations are allowed a priori.¶-Agdafield. Ensured by parser.·-Agdadata ... where=. Here we got a bad error message for Agda-2.5 (Issue 1698).¸-Agda constructor, in interleaved mutual.¹-AgdaNumbering declarations in an interleaved mutual block.½-Agda&Internal number of the data signature.¾-AgdaThe data signature.¿-Agda.Constructors associated to the data signature.À-Agda6Function clauses associated to the function signature.Á-Agda–In an `interleaved mutual' block we collect the data signatures, function signatures, as well as their associated constructors and function clauses respectively. Each signature is given a position in the block (from 0 onwards) and each set of constructor / clauses is given a *distinct* one. This allows for interleaved forward declarations similar to what one gets in a new-style mutual block.Â-AgdaIn an inferred mutualí block we keep accumulating nice declarations until all of the lone signatures have an attached definition. The type is therefore a bit span-like: we return an initial segment (the inferred mutual block) together with leftovers.Ç-AgdaëWhen processing a mutual block we collect the various checks present in the block before combining them.Ì-AgdaÄOne clause in a function definition. There is no guarantee that the ¢( actually declares the ³#. We will have to check that later.Î-AgdaOnly Ô-s.Ï-AgdaOnly Ô-s.Ñ-Agda1Termination measure is, for now, a variable name.Ó-Agda´The nice declarations. No fixity declarations and function definitions are contained in a single constructor instead of spread out between type signatures and clauses. The private,  postulate, abstract and instanceÄ modifiers have been distributed to the individual declarations. Observe the order of components:ïRange Fixity' Access IsAbstract IsInstance TerminationCheck PositivityCheckfurther attributes(Q)Namecontent (Expr, Declaration ...)Ô-Agdaÿ: argument: We record whether a declaration was made in an abstract block.­À argument: Axioms and functions can be declared irrelevant. (“ should be –.)ß-Agda‹An uncategorized function clause, could be a function clause without type signature or a pattern lhs (e.g. for irrefutable let). The Ï' is the actual Ô'.á-AgdaËBlock of function clauses (we have seen the type signature before). The Ï'Ás are the original declarations that were processed into this á- and are only used in notSoNiceDeclaration9. Andreas, 2017-01-01: Because of issue #2372, we add ø6 here. An alias should know that it is an instance.ä-Agda (Maybe Range) gives range of the  'pattern' declaration.Ì©-¬-«-ª-®-­-¯-±-°-²-¸-·-¶-µ-´-³-¹-º-¼-»-À-¿-¾-½-Á-Â-Ã-Æ-Å-Ä-Ç-È-Ë-Ê-É-Ì-Í-Î-Ï-Ð-Ñ-Ò-Ó-è-ç-æ-å-ä-ã-â-á-à-ß-Þ-Ý-Ü-Û-Ú-Ù-Ø-×-Ö-Õ-Ô-é-ê-ë-ì-í-î-ï-ð-ñ-ò-ó-ô-ÌÓ-è-ç-æ-å-ä-ã-â-á-à-ß-Þ-Ý-Ü-Û-Ú-Ù-Ø-×-Ö-Õ-Ô-Ò-Ñ-Ð-Ï-Î-Ì-Í-Ç-È-Ë-Ê-É-Â-Ã-Æ-Å-Ä-é-Á-º-¼-»-À-¿-¾-½-¹-ê-ë-ì-²-¸-·-¶-µ-´-³-í-¯-±-°-©-¬-«-ª-®-­-î-ï-ð-ñ-ò-ó-ô-uNone! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáè�"‹.Agda-Non-fatal errors encountered in the Nicifier.Œ.AgdaEmpty abstract block.�.AgdaEmpty  constructor block.Ž.AgdaEmpty field block.�.AgdaEmpty variable block.�.AgdaEmpty instance block‘.AgdaEmpty macro block.’.AgdaEmpty mutual block.“.AgdaEmpty  postulate block.”.AgdaEmpty private block.•.AgdaEmpty  primitive block.–.AgdaÅA {-# CATCHALL #-} pragma that does not precede a function clause.—.Agda)Invalid definition in a constructor block˜.AgdaÂInvalid constructor block (not inside an interleaved mutual block)™.AgdaÂA {-# NON_COVERING #-} pragma that does not apply to any function.š.Agda×A {-# NO_POSITIVITY_CHECK #-} pragma that does not apply to any data or record type.›.AgdaÓA {-# NO_UNIVERSE_CHECK #-} pragma that does not apply to a data or record type.œ.Agda?A record directive outside of a record / below existing fields.�.AgdaàA {-# TERMINATING #-} and {-# NON_TERMINATING #-} pragma that does not apply to any function.ž.AgdaÃDefinitions (e.g. constructors or functions) without a declaration.Ÿ.Agda9Declarations (e.g. type signatures) without a definition.¡.Agdaprivate has no effect on  open public!. (But the user might think so.)¢.Agdaabstract has no effect on  open public!. (But the user might think so.)¤.AgdaPragma {-# NO_TERMINATION_CHECK #-} has been replaced by {-# TERMINATING #-} and {-# NON_TERMINATING #-}.¥.AgdaCOMPILE% pragmas are not allowed in safe modeª.Agdaabstract6 block with nothing that can (newly) be made abstract.«.Agdainstance8 block with nothing that can (newly) become an instance.¬.Agdaprivate5 block with nothing that can (newly) be made private.±.AgdaThe exception type.º.AgdaËIn a mutual block, a clause could belong to any of the åD2 type signatures (³).».AgdaÚIn an interleaved mutual block, a constructor could belong to any of the data signatures (³)¼.AgdaÒIn a mutual block, all or none need a MEASURE pragma. Range is of mutual block.¿.Agda-Exception with internal source code callstackÅ.Agda(Nicifier warnings turned into errors in --safe mode.<‹.¬.«.ª.©.¨.§.¦.¥.¤.£.¢.¡. .Ÿ.ž.�.œ.›.š.™.˜.—.–.•.”.“.’.‘.�.�.Ž.�.Œ.­.®.¯.°.±.¾.½.¼.».º.¹.¸.·.¶.µ.´.³.².¿.À.Â.Á.Ã.Ä.Å.Æ.<¿.À.Â.Á.±.¾.½.¼.».º.¹.¸.·.¶.µ.´.³.².­.®.¯.°.‹.¬.«.ª.©.¨.§.¦.¥.¤.£.¢.¡. .Ÿ.ž.�.œ.›.š.™.˜.—.–.•.”.“.’.‘.�.�.Ž.�.Œ.Ã.Ä.Å.Æ.vNone! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×ÙàáèÚÜ.AgdaIf ™!, this name can have a different ñ than the key of Ø. pointing to it.Þ.AgdaNicifier state.à.Agda4Lone type signatures that wait for their definition.á.Agda5Termination checking pragma waiting for a definition.â.Agda4Positivity checking pragma waiting for a definition.ã.AgdaÈUniverse checking pragma waiting for a data/rec signature or definition.ä.Agda.Catchall pragma waiting for a function clause.å.Agda)Coverage pragma waiting for a definition.æ.Agda(Stack of warnings. Head is last warning.ç.AgdaWe distinguish different µ&s (anonymous definitions) by a unique ñ.è.AgdaÁNicifier monad. Preserve the state when throwing an exception.ë.AgdaÓRun a Nicifier computation, return result and warnings (in chronological order).ì.AgdaInitial nicifier state.ï.AgdaLens for field à..ð.AgdaÒAdding a lone signature to the state. Return the name (which is made unique if ™).ñ.Agda'Remove a lone signature from the state.ò.Agda"Search for forward type signature.ó.Agda4Check that no lone signatures are left in the state.ô.AgdaÂEnsure that all forward declarations have been given a definition.ö.Agda?Get names of lone function signatures, plus their unique names.÷.Agda Create a Ø. map from an association list.ø.AgdaLens for field á..ü.AgdaLens for field â..þ.AgdaLens for field ã..€/AgdaÄGet universe check pragma from a data/rec signature. Defaults to ª.�/AgdaLens for field ä..‚/Agda>Get current catchall pragma, and reset it for the next clause.„/AgdaAdd a new warning.×.Agda(Stack of warnings. Head is last warning.Ø.AgdaWe retain the ³ also in the codomain since ³ as a key is up to Eq Name© which ignores the range. However, without range names are not unique in case the user gives a second definition of the same name. This causes then problems in  replaceSigs, which might replace the wrong signature.ÊAnother reason is that we want to distinguish different occurrences of µ) in a mutual block (issue #4157). The µ$ in the codomain will have a unique ñ.1×.Ø.Ù.Ú.Ý.Ü.Û.Þ.ß.ç.å.ä.ã.â.á.à.æ.è.é.ê.ë.ì.í.î.ï.ð.ñ.ò.ó.ô.õ.ö.÷.ø.ù.ú.û.ü.ý.þ.ÿ.€/�/‚/ƒ/„/…/†/‡/1è.é.ê.ë.Þ.ß.ç.å.ä.ã.â.á.à.æ.Ù.Ú.Ý.Ü.Û.Ø.×.ì.í.î.ï.ð.ñ.ò.ó.ô.õ.ö.÷.ø.ù.ú.û.ü.ý.þ.ÿ.€/�/‚/ƒ/„/…/†/‡/wNone! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáè#ú�/Agda(Conjunctive constraint.)Ž/AgdaAn attribute is a modifier for ­.”/AgdaModifiers for ã.•/AgdaModifiers for î.—/AgdaModifiers for î.˜/Agda#Concrete syntax for all attributes.™/Agda#Parsing a string into an attribute.š/Agda(Parsing an expression into an attribute.›/Agda!Setting an attribute (in e.g. an ¥). Overwrites previous value.œ/AgdaØSetting some attributes in left-to-right order. Blindly overwrites previous settings.�/AgdaSetting ã if unset.ž/AgdaSetting î if unset.Ÿ/AgdaSetting Í if unset. /AgdaSetting Õ if unset.¡/Agda'Setting an unset attribute (to e.g. an ¥).¢/Agda#Setting a list of unset attributes.�/Ž/“/’/�/�/‘/”/•/–/—/˜/™/š/›/œ/�/ž/Ÿ/ /¡/¢/£/¤/¥/¦/§/¨/Ž/“/’/�/�/‘/�/”/•/–/—/˜/™/š/›/œ/�/ž/Ÿ/ /¡/¢/£/¤/¥/¦/§/¨/xNone" #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáè+j ­/Agda;Result of comparing a candidate with the current favorites.®/AgdaøGreat, you are dominating a possibly (empty list of favorites) but there is also a rest that is not dominated. If null dominated, then  notDominated2 is necessarily the complete list of favorites.¯/Agda.Sorry, but you are dominated by that favorite.³/Agda!A list of incomparable favorites.¶/AgdaGosh, got some pretty aö here, compare with my current favorites! Discard it if there is already one that is better or equal. (Skewed conservatively: faithful to the old favorites.) If there is no match for it, add it, and dispose of all that are worse than a.ÆWe require a partial ordering. Less is better! (Maybe paradoxically.)·/Agda¾Compare a new set of favorites to an old one and discard the new favorites that are dominated by the old ones and vice verse. (Skewed conservatively: faithful to the old favorites.) 'compareFavorites new old = (new', old')¹/Agda)After comparing, do the actual insertion.º/Agda%Compare, then insert accordingly. :insert a l = insertCompared a l (compareWithFavorites a l)»/Agda=Insert all the favorites from the first list into the second.¼/AgdaùConstruct favorites from elements of a partial order. The result depends on the order of the list if it contains equal elements, since earlier seen elements are favored over later seen equals. The first element of the list is seen first.¾/Agda³/ forms a ” under ê and 'union.¿/AgdaÌEquality checking is a bit expensive, since we need to sort! Maybe use a Set! of favorites in the first place?­/¯/®/²/±/°/³/´/µ/¶/·/¸/¹/º/»/¼/³/´/µ/­/¯/®/²/±/°/¶/·/¸/¹/º/»/¼/ None! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáè1E Ä/Agda,A finite map, represented as a set of pairs.%Invariant: at most one value per key.Å/AgdaçLookup keys in the same association list often. Use partially applied to create partial function apply m :: k -> Maybe v. First time:  O(n log n) in the worst case.Subsequently: O(log n).Specification:  apply m == (× m).Æ/Agda9O(n). Get the domain (list of keys) of the finite map.Ç/AgdaÊO(1). Add a new binding. Assumes the binding is not yet in the list.È/Agda‚O(n). Update the value at a key. The key must be in the domain of the finite map. Otherwise, an internal error is raised.É/AgdaùO(n). Delete a binding. The key must be in the domain of the finite map. Otherwise, an internal error is raised.Ê/AgdašO(n). Update the value at a key with a certain function. The key must be in the domain of the finite map. Otherwise, an internal error is raised.Ë/Agda?ÀÁÂÄÆÉÎÑÔ×ÙàáèWáƒÎ/AgdaSet the ˆ in an abstract name.Ñ/AgdaîUsed for instance arguments to check whether a name is in scope, but we do not care whether is is ambiguousÒ/Agda9Ambiguous constructors, projections, or pattern synonyms.Ô/Agda%When we get here we cannot have both using and hiding.Ø/Agda9Local variable bound by »,  , module telescope, pattern, let.Ù/Agda&Function, data/record type, postulate.Ú/AgdaÂRecord field name. Needs to be distinguished to parse copatterns.Û/Agda Data or record constructor name.Ü/AgdaName of pattern synonym.Ý/Agda Unbound name.ß/AgdaWhat kind of binder?à/Agda-A decoration of abstract syntax module names.â/AgdaThe resolved module name.ã/Agda&Explanation where this name came from.ç/AgdaA decoration of Uÿ.é/AgdaThe resolved qualified name.ê/Agda6The kind (definition, constructor, record field etc.).ë/Agda&Explanation where this name came from.ì/AgdaêAdditional information needed during scope checking. Currently used for generalized data/record params.í/AgdaWhere does a name come from?=This information is solely for reporting to the user, see Ì€.î/AgdaDefined in this module.ï/AgdaImported from another module.ð/Agda!Imported by a module application.ñ/AgdaDecorate something with ù/õ/Agda A set of ù/, for the sake of æ0.÷/AgdaOnly these kinds.ø/AgdaAll but these Kinds.ù/AgdañFor the sake of parsing left-hand sides, we distinguish constructor and record field names from defined names.ú/AgdaConstructor name (› or don't know).û/AgdaConstructor name (definitely œ).ü/AgdaRecord field name.ý/AgdaName of a pattern synonym.þ/AgdaName to be generalizedÿ/Agda&Generalizable variable from a let open€0AgdaName of a macro�0Agda3A name that can only be quoted. Previous category DefNameÅ: (Refined in a flat manner as Enum and Bounded are not hereditary.)‚0Agda Name of a data.ƒ0Agda Name of a record.„0AgdaName of a defined function.…0Agda Name of a  postulate.†0Agda Name of a  primitive.‡0AgdaA DefName7, but either other kind or don't know which kind. End DefName0. Keep these together in sequence, for sake of  isDefName!ˆ0Agda%Non-dependent tag for name or module.‹0Agda-Type class for some dependent-types trickery.�0Agda#Set of types consisting of exactly ç/ and à/..A GADT just for some dependent-types trickery.”0AgdaA  NameSpace“ contains the mappings from concrete names that the user can write to the abstract fully qualified names that the type checker wants to read.–0Agda0Maps concrete names to a list of abstract names.—0Agda>Maps concrete module names to a list of abstract module names.˜0AgdaÈAll abstract names targeted by a concrete name in scope. Computed by û0.™0Agda‚A local variable can be shadowed by an import. In case of reference to a shadowed variable, we want to report a scope error.›0AgdaUnique ID of local variable.œ0Agda/Kind of binder used to introduce the variable (», let, ...).�0AgdaÔIf this list is not empty, the local variable is shadowed by one or more imports.ž0AgdaêFor each bound variable, we want to know whether it was bound by a »,  , module telescope, pattern, or let.Ÿ0Agda» (currently also used for   and module parameters) 0Agda f ... =¡0Agda  let ... in¢0Agda  | ... in q£0AgdaLocal variables.¦0Agda"For the sake of highlighting, the ±0 map also stores the ù/ of an A.QName.¨0AgdaThe ê/.©0Agda)Possible renderings of the abstract name.ª0Agda”The complete information about the scope at a particular program point includes the scope stack, the local variables, and the context precedence.®0AgdaéThe variables that will be bound at the end of the current block of variables (i.e. clause). We collect them here instead of binding them immediately so we can avoid shadowing between variables in the same variable block.´0Agda&Maps concrete names C.Name to fixitiesµ0Agda(Maps concrete names C.Name to polarities·0AgdaSee ‚.¸0Agda#Things not exported by this module.¹0Agda+Things defined and exported by this module.º0Agda1Things from open public, exported by this module.¾0AgdaÔA scope is a named collection of names partitioned into public and private names.È0AgdaGet a ”0 from ¾0.É0Agda A lens for Â0Ê0Agda`Monadic' lens (Functor sufficient).Ë0Agda3Shadow a local name by a non-empty list of imports.Ì0Agda1Treat patternBound variable as a module parameterÍ0Agda*Project name of unshadowed local variable.Î0Agda%Get all locals that are not shadowed  by imports.Ï0AgdaLenses for ScopeInfo componentsÚ0Agda Lens for Ñ0.Ü0Agda Lens for Ò0.Þ0Agda inNameSpace> selects either the name map or the module name map from a ”0Ø. What is selected is determined by result type (using the dependent-type trickery).â0Agda?For ambiguous constructors, we might have both alternatives of š!. In this case, we default to ú/.ã0Agda?For ambiguous constructors, we might have both alternatives of š!. In this case, we default to ›.å0Agda Only return  [Co]ConName if no ambiguity.ê0AgdaVan Laarhoven lens on é/.ë0AgdaVan Laarhoven lens on â/.î0AgdaThe empty name space.ï0Agda9Map functions over the names and modules in a name space.ð0AgdaZip together two name spaces.ñ0Agda&Map monadic function over a namespace.ò0AgdaThe empty scope.ó0AgdaThe empty scope info.ô0Agda4Map functions over the names and modules in a scope.õ0AgdaSame as ô02 but applies the same function to all name spaces.ö0AgdaSame as ô07 but applies the function only on the given name space.÷0Agda Maybe C.NameŠ for defined names and module names. However, the penalty of doing it in two passes should not be too high. (Doubling the run time.)�1Agda Version of Œ1É that also returns sets of name and module name clashes introduced by renaming0 to identifiers that are already imported by using or lack of hiding.Ž1Agda%Rename the abstract names in a scope.�1Agda%Remove private name space of a scope.Should be a right identity for ÿ0. >exportedNamesInScope . restrictPrivate == exportedNamesInScope.�1Agda9Remove private things from the given module from a scope.‘1AgdaFilter privates out of a ª0’1Agda3Disallow using generalized variables from the scope“1Agda.Add an explanation to why things are in scope.”1Agda5Get the public parts of the public modules of a scope˜1AgdaïCompute a flattened scope. Only include unqualified names or names qualified by modules in the first argument.™1Agda:Get all concrete names in scope. Includes bound variables.š1AgdaLook up a name in the scopež1AgdaœFind the concrete names that map (uniquely) to a given abstract qualified name. Sort by number of modules in the qualified name, unqualified names first. 1Agda A version of ž1 that also delivers the ù/. Used in highlighting.¡1AgdaïFind the concrete names that map (uniquely) to a given abstract module name. Sort by length, shortest first.¥1Agda+Add first string only if list is non-empty.¯1AgdaInvariant: the ù/Û components should be equal whenever we have to concrete renderings of an abstract name.º1AgdaÁWe show shadowed variables as prefixed by a ".", as not in scope.Ñ1Agda/Sets the binding site of all names in the path.�1Agda4Merged scope, clashing names, clashing module names.ØÎ/Ï/Ð/Ó/Ò/Ñ/Ô/Ö/Õ/×/Ý/Ü/Û/Ú/Ù/Ø/ß/Þ/à/á/ã/â/ä/æ/å/ç/è/ì/ë/ê/é/í/ï/î/ð/ñ/ò/ô/ó/õ/ø/÷/ö/ù/‡0†0…0�0€0ÿ/þ/ý/ü/û/ú/„0ƒ0‚0ˆ0Š0‰0‹0Œ0�0�0Ž0�0‘0’0“0”0•0˜0—0–0™0š0�0œ0›0ž0¢0¡0 0Ÿ0£0¤0¥0¦0§0©0¨0ª0«0µ0´0³0²0±0°0¯0®0­0¬0¶0·0º0¹0¸0»0½0¼0¾0¿0Ä0Ã0Â0Á0À0Å0Æ0Ç0È0É0Ê0Ë0Ì0Í0Î0Ï0Ð0Ñ0Ò0Ó0Ô0Õ0Ö0×0Ø0Ù0Ú0Û0Ü0Ý0Þ0ß0à0á0â0ã0ä0å0æ0ç0è0é0ê0ë0ì0í0î0ï0ð0ñ0ò0ó0ô0õ0ö0÷0ø0ù0ú0û0ü0ý0þ0ÿ0€1�1‚1ƒ1„1…1†1‡1ˆ1‰1Š1‹1Œ1�1Ž1�1�1‘1’1“1”1•1–1—1˜1™1š1›1œ1�1ž1Ÿ1 1¡1¢1£1¤1¥1ؾ0¿0Ä0Ã0Â0Á0À0»0½0¼0·0º0¹0¸0Å0¶0Æ0Ç0È0É0Ê0ª0«0µ0´0³0²0±0°0¯0®0­0¬0¦0§0©0¨0¥0¤0£0ž0¢0¡0 0Ÿ0™0š0�0œ0›0Ë0Ì0Í0Î0Ï0Ð0Ñ0Ò0Ó0Ô0Õ0Ö0×0Ø0Ù0Ú0Û0Ü0Ý0”0•0˜0—0–0“0’0‘0�0�0�0Ž0‹0Œ0Þ0ˆ0Š0‰0ù/‡0†0…0�0€0ÿ/þ/ý/ü/û/ú/„0ƒ0‚0ß0à0á0â0ã0ä0å0õ/ø/÷/ö/æ0ç0è0é0ñ/ò/ô/ó/í/ï/î/ð/ç/è/ì/ë/ê/é/ä/æ/å/à/á/ã/â/ê0ë0×/Ý/Ü/Û/Ú/Ù/Ø/ß/Þ/ì0í0î0ï0ð0ñ0ò0ó0ô0õ0ö0÷0ø0ù0ú0û0ü0ý0þ0ÿ0€1�1‚1ƒ1„1…1†1‡1ˆ1‰1Š1Ô/Ö/Õ/‹1Œ1�1Ž1�1�1‘1’1“1”1•1–1—1˜1™1š1›1Ð/Ó/Ò/Ñ/œ1�1ž1Ÿ1 1¡1¢1£1Î/Ï/¤1¥1zNone! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáè_0œ2Agda:Has the constructor pattern a dotted (forced) constructor?�2AgdaDotted constructor.ž2AgdaOrdinary constructor.Ÿ2AgdaConstructor pattern info.¡2AgdaÅDoes this pattern come form the eta-expansion of an implicit pattern?¤2Agda;For a general pattern we remember the source code position.Â2AgdaÕThe range of the "as" and "to" keywords, if any. Retained for highlighting purposes.Ã2AgdaÁThe "as" module name, if any. Retained for highlighting purposes.Å2Agda Retained for abstractToConcrete of ê'.Æ2AgdaInformation about applicationÊ2Agda6Do we prefer a lambda argument with or without parens?Õ2Agda-Default is system inserted and prefer parens.Ö2AgdaÆ2 with no range information.Ø2AgdaSame as  mkDefInfo but where we can also give the  IsInstanceÙ2AgdaEmpty range for patterns.ö2AgdaDefault value for ª2.>œ2ž2�2Ÿ2 2£2¢2¡2¤2¥2¦2§2©2¨2ª2«2¯2®2­2¬2°2±2³2²2´2µ2¼2»2º2¹2·2¶2¸2½2¾2¿2À2Å2Ä2Ã2Â2Á2Æ2Ç2Ê2É2È2Ë2Ì2Í2Î2Ò2Ñ2Ð2Ï2Ó2Ô2Õ2Ö2×2Ø2Ù2>Í2Î2Ò2Ñ2Ð2Ï2Ó2Ë2Ì2Ô2Æ2Ç2Ê2É2È2Õ2Ö2¿2À2Å2Ä2Ã2Â2Á2½2¾2´2µ2¼2»2º2¹2·2¶2¸2×2Ø2°2±2³2²2ª2«2¯2®2­2¬2¦2§2©2¨2¤2¥2Ù2Ÿ2 2£2¢2¡2œ2ž2�2{None! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáèq§0¼3Agda#Conversion between different types.¾3AgdaÏA type that is intended to be used when constructing highlighting information.>Note the invariant which values of this type should satisfy („4).ÕThis is a type synonym in order to make it easy to change to another representation."The type should be an instance of ø# Ñ3,  and ”&, and there should be an instance of ¼3 ¾3 ¿3.¿3AgdaHighlighting information.>Note the invariant which values of this type should satisfy (ƒ4).ÕThis is a type synonym in order to make it easy to change to another representation.À3Agda'Highlighting info with delayed merging.½Merging large sets of highlighting info repeatedly might be costly. The idea of this type is to accumulate small pieces of highlighting information, and then to merge them all at the end.>Note the invariant which values of this type should satisfy (‚4).Â3AgdaÈSyntax highlighting information, represented by maps from positions to Ñ3.,The first position in the file has number 1.Å3AgdaÉA limited kind of syntax highlighting information: a pair consisting of Ü# and Ñ3.Note the invariant which Å3s should satisfy (�4).È3AgdaÒIs the highlighting "token-based", i.e. based only on information from the lexer?Í3AgdaThe defining module.Î3AgdaÅThe file position in that module. File positions are counted from 1.Ï3Agda Has this DefinitionSite/ been created at the defining site of the name?Ð3Agda#A pretty name for the HTML linking.Ñ3AgdaËMeta information which can be associated with a character/character range.Õ3Agda×This note, if not null, can be displayed as a tool-tip or something like that. It should contain useful information about the range (like the module containing a certain identifier, or the fixity of an operator).Ö3AgdaÇThe definition site of the annotated thing, if applicable and known.×3AgdaIs this entry token-based?Ø3AgdaÚOther aspects, generated by type checking. (These can overlap with each other and with õ3s.)Ú3Agda.A warning that is considered fatal in the end.Ý3AgdaèUnsolved constraint not connected to meta-variable. This could for instance be an emptyness constraint.à3AgdaàUsed for highlighting unreachable clauses, unreachable RHS (because of an absurd pattern), etc.á3Agda8Used for shadowed repeated variable names in telescopes.ã3AgdaÇWhen this constructor is used it is probably a good idea to include a Õ3* explaining why the pattern is incomplete.ä3Agda!Code which is being type-checked.å3Agda Function declaration without matching definition NB: We put CatchallClause last so that it is overwritten by other, more important, aspects in the emacs mode.è3AgdaNameKind(s are figured out during scope checking.é3AgdaBound variable.ê3AgdaäGeneralizable variable. (This includes generalizable variables that have been generalized).ë3Agda%Inductive or coinductive constructor.í3Agda Record field.ï3Agda Module name.ñ3Agda Primitive.ò3Agda Record type.ó3Agda!Named argument, like x in {x = v}ô3AgdaMacro.õ3Agda6Syntactic aspects of the code. (These cannot overlap.)û3Agda Symbols like forall, =, ->, etc.ü3AgdaThings like Set and Prop.ý3AgdaIs the name an operator part?þ3AgdaÊText occurring in pragmas that does not have a more specific aspect.ÿ3Agda"Non-code contents in literate Agda€4AgdaÚDelimiters used to separate the Agda code blocks from the other contents in literate Agda�4AgdaInvariant for Å3.‚4AgdaInvariant for À3 hl%, parametrised by the invariant for hl.?Additionally the endofunction should be extensionally equal to (fs •) for some list fs.ƒ4AgdaThe invariant for ¿3.„4AgdaThe invariant for ¾3.?Additionally the endofunction should be extensionally equal to (fs •) for some list fs.…4Agda A variant of – with ×3 set to Ê3.†4Agda4Conversion from classification of the scope checker.ˆ4AgdaSome è3#s are more informative than others.Š4AgdaNameKind in Name can get more precise.Óø#û#ù#ú#ü#ý#‚$ƒ$¼3½3¾3¿3À3Á3Â3Ã3Ä3Å3Æ3Ç3È3É3Ê3Ë3Ì3Í3Î3Ï3Ð3Ñ3Ò3Ó3Ô3Õ3Ö3×3Ø3Ù3á3Ú3Û3Ü3Ý3Þ3ß3à3â3ã3ä3å3æ3ç3è3ï3ì3ë3î3ñ3ò3ð3í3é3ô3ê3ó3õ3ý3û3ø3ù3€4ö3þ3÷3ú3ü3ÿ3�4‚4ƒ4„4…4†4Óõ3ý3û3ø3ù3€4ö3þ3÷3ú3ü3ÿ3è3ï3ì3ë3î3ñ3ò3ð3í3é3ô3ê3ó3Ø3Ù3á3Ú3Û3Ü3Ý3Þ3ß3à3â3ã3ä3å3æ3ç3Ñ3Ò3Ó3Ô3Õ3Ö3×3Ë3Ì3Í3Î3Ï3Ð3È3É3Ê3Å3Æ3Ç3�4Â3Ã3Ä3À3Á3‚4¿3ƒ4¾3„4…4†4ø#û#ù#ú#ü#ý#¼3½3‚$ƒ$}None! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáè…YÑ4AgdaÒ4 m extracts the diagonal of m.æFor non-square matrices, the length of the diagonal is the minimum of the dimensions of the matrix.Ó4Agda6Type of matrices, parameterised on the type of values.áSparse matrices are implemented as an ordered association list, mapping coordinates to values.Õ4AgdaDimensions of the matrix.Ö4Agda!Association of indices to values.×4Agda%Type of matrix indices (row, column).Ù4Agda Row index, 1 <= row <= rows.Ú4Agda Column index 1 <= col <= cols.Û4AgdaSize of a matrix.Ý4AgdaNumber of rows, >= 0.Þ4AgdaNumber of columns, >= 0.ß4AgdaÖ~ iff the matrix is square.à4AgdaReturns Ö~ iff the matrix is empty.á4Agda5Compute the matrix size of the union of two matrices.â4Agda#Constructs a matrix from a list of (index, value) -pairs. O(n) where n is size of the list.!Precondition: indices are unique.ã4Agdaã4 sz rsÌ constructs a matrix from a list of lists of values (a list of rows). O(size) where size = rows × cols.Precondition: — rs é~ Ý4 sz and � ((Þ4 sz é~) . —) rs.ä4Agda6Converts a sparse matrix to a sparse list of rows. O(n) where n1 is the number of non-zero entries of the matrix."Only non-empty rows are generated.å4Agda-Converts a matrix to a list of row lists. O(size) where size = rows × cols.æ4Agda (i,)  $ f a), and same for gs and g.è4Agda?General pointwise combination function for sparse matrices.  O(n1 + n2).é4Agdaé4 (+) m1 m2 adds m1 and m2, using (+) to add values.  O(n1 + n2).Returns a matrix of size á4 m1 m2.ê4Agdaê4 f m1 m2! build the pointwise conjunction m1 and m2 . Uses f to combine non-zero values.  O(n1 + n2).Returns a matrix of size  infSize m1 m2.ë4Agda"Association list intersection.  O(n1 + n2). ÁinterAssocWith f l l' = { (i, f a b) | (i,a) ˆD l and (i,b) ˆD l' }ÈUsed to combine sparse matrices, it might introduce zero elements if f( can return zero for non-zero arguments.ì4Agdaì4 semiring m1 m2 multiplies matrices m1 and m2). Uses the operations of the semiring semiring" to perform the multiplication.0O(n1 + n2 log n2 + £(i <= r1) £(j <= c2) d(i,j)) where r1$ is the number of non-empty rows in m1 and c2' is the number of non-empty columns in m2 and d(i,j)Ñ is the bigger one of the following two quantifies: the length of sparse row i in m1$ and the length of sparse column j in m2.Given dimensions  m1 : r1 × c1 and  m2 : r2 × c2, a matrix of size r1 × c2* is returned. It is not necessary that c1 == r2…, the matrices are implicitly patched with zeros to match up for multiplication. For sparse matrices, this patching is a no-op.í4Agdaí4 x m adds a new column to mà, after the columns already existing in the matrix. All elements in the new column get set to x.î4Agdaî4 x m adds a new row to mÙ, after the rows already existing in the matrix. All elements in the new row get set to x.ð4AgdaÎPointwise comparison. Only matrices with the same dimension are comparable.ñ4AgdaDiagonal of sparse matrix.O(n) where n2 is the number of non-zero elements in the matrix.ó4AgdaMatrix transposition. O(n log n) where n2 is the number of non-zero elements in the matrix.ô4AgdaTransposing coordinates.õ4AgdaSize of transposed matrix.ç4AgdaOnly left map remaining.AgdaOnly right map remaining.Agda!Element only present in left map.Agda"Element only present in right map.AgdaElement present in both maps.è4Agda$Element only present in left matrix.Agda%Element only present in right matrix.Agda!Element present in both matrices.AgdaResult counts as zero?Ð4Ñ4Ò4Ó4Ô4Ö4Õ4×4Ø4Ú4Ù4Û4Ü4Þ4Ý4ß4à4á4â4ã4ä4å4æ4ç4è4é4ê4ë4ì4í4î4Ó4Ô4Ö4Û4Ü4Þ4Ý4×4Ø4Ú4Ù4ã4â4å4Õ4ß4à4æ4è4é4ê4ë4ì4Ð4Ñ4Ò4ä4á4ç4î4í4~None" #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáè“U‚5AgdaÜA partial order, aimed at deciding whether a call graph gets worse during the completion.„5Agda:In the paper referred to above, there is an order R with †5 ƒ Le ƒ Lt.This is generalized to †5 ƒ 'Decr k' where Decr 1 replaces Lt and Decr 0 replaces LeÖ. A negative decrease means an increase. The generalization allows the termination checker to record an increase by 1 which can be compensated by a following decrease by 2 which results in an overall decrease.´However, the termination checker of the paper itself terminates because there are only finitely many different call-matrices. To maintain termination of the terminator we set a cutoff€ point which determines how high the termination checker can count. This value should be set by a global or file-wise option.See Call for more information.9TODO: document orders which are call-matrices themselves.…5Agda2Decrease of callee argument wrt. caller parameter.The Bool€ indicates whether the decrease (if any) is usable. In any chain, there needs to be one usable decrease. Unusable decreases come from SIZELT constraints which are not in inductive pattern match or a coinductive copattern match. See issue #2331.ÝUPDATE: Andreas, 2017-07-26: Feature #2331 is unsound due to size quantification in terms. While the infrastructure for usable/unusable decrease remains in place, no unusable decreases are generated by TermCheck.†5AgdaÅNo relation, infinite increase, or increase beyond termination depth.‡5Agda&Matrix-shaped order, currently UNUSED.ˆ5Agda$Raw increase which does not cut off.‰5Agda$Raw decrease which does not cut off.‹5AgdaSmart constructor for Decr k :: Order which cuts off too big values.Possible values for k:  - ?cutoff ƒ k ƒ ?cutoff + 1.Œ5AgdaÒSmart constructor for matrix shaped orders, avoiding empty and singleton matrices.Ž5Agdale, lt,  decreasing, unknown4: for backwards compatibility, and for external use.�5AgdaUsable decrease.’5AgdaDecreasing and usable?“5AgdaÈMatrix-shaped order is decreasing if any diagonal element is decreasing.”5AgdaMultiplication of „5.s. (Corresponds to sequential composition.)–5Agda+The supremum of a (possibly empty) list of „5;s. More information (i.e., more decrease) is bigger. †5# is no information, thus, smallest.—5Agda%The infimum of a (non empty) list of „5$s. Gets the worst information. †5& is the least element, thus, dominant.˜5AgdaÿWe use a record for semiring instead of a type class since implicit arguments cannot occur in instance constraints, like +instance (?cutoff :: Int) => SemiRing Order.š5AgdaInformation order: †5Í is least information. The more we decrease, the more information we have.®When having comparable call-matrices, we keep the lesser one. Call graph completion works toward losing the good calls, tending towards Unknown (the least information).œ5Agda/We assume the matrices have the same dimension.�5AgdaIt does not get worse then ` increase'Ã. If we are still decreasing, it can get worse: less decreasing.‚5ƒ5„5†5…5‡5ˆ5‰5Š5‹5Œ5�5Ž5�5�5‘5’5“5”5•5–5—5˜5„5†5…5‡5‹5ˆ5‰5Š5”5–5—5˜5Ž5�5�5Œ5•5‘5’5“5‚5ƒ5�5None# #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×ÙàáèŸÇ¡5AgdaÖSets of incomparable call matrices augmented with path information. Use overloaded ë, ê, î, ˜.¤5Agda,Call matrix augmented with path information.¦5Agda"The matrix of the (composed call).§5AgdaMeta info, like call path.¨5Agda0Call matrix multiplication and call combination.«5AgdaCall matrices.A call matrix for a call f --> g has dimensions  ar(g) × ar(f).9Each column corresponds to one formal argument of caller f9. Each row corresponds to one argument in the call to g.ÆIn the presence of dot patterns, a call argument can be related to several different formal arguments of f. See e.g. testsucceedDotPatternTermination.agda: … data D : Nat -> Set where cz : D zero c1 : forall n -> D n -> D (suc n) c2 : forall n -> D n -> D n f : forall n -> D n -> Nat f .zero cz = zero f .(suc n) (c1 n d) = f n (c2 n d) f n (c2 .n d) = f n d 'Call matrices (without guardedness) are à -1 -1 n < suc n and n < c1 n d ? = c2 n d <= c1 n d = -1 n <= n and n < c2 n d ? -1 d < c2 n d àHere is a part of the original documentation for call matrices (kept for historical reasons):€This datatype encodes information about a single recursive function application. The columns of the call matrix stand for sourceÄ function arguments (patterns). The rows of the matrix stand for target function arguments. Element (i, j)0 in the matrix should be computed as follows:�5 (less than) if the j-th argument to the target; function is structurally strictly smaller than the i-th pattern.Ž5 (less than or equal) if the j-th argument to the target+ function is structurally smaller than the i-th pattern.�5 otherwise.®5Agda0Call matrix indices = function argument indices.Machine integer Á~Þ is sufficient, since we cannot index more arguments than we have addresses on our machine.¯5AgdaNon-augmented call matrix.°5AgdaInsert into a call matrix set.±5AgdaUnion two call matrix sets.²5Agda/Convert into a list of augmented call matrices.µ5AgdaCall matrix multiplication.f --(m1)--> g --(m2)--> h is combined to f --(m2 ì4 m1)--> h9Note the reversed order of multiplication: The matrix c1 of the second call g-->h in the sequence  f-->g-->h is multiplied with the matrix c2 of the first call.Preconditions: m1 has dimensions  ar(g) × ar(f). m2 has dimensions  ar(h) × ar(g).Postcondition:  m1 >*< m2 has dimensions  ar(h) × ar(f).·5Agda%Augmented call matrix multiplication.¼5Agda1Call matrix set product is the Cartesian product.¡5¢5£5¤5¥5§5¦5¨5©5ª5«5¬5­5®5¯5°5±5²5®5«5¬5­5ª5¨5©5¤5¥5§5¦5¯5¡5¢5£5°5±5²5€None# #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáè§y Ì5AgdaçA call graph is a set of calls. Every call also has some associated meta information, which should be ”âal so that the meta information for different calls can be combined when the calls are combined.Ï5Agda�Calls are edges in the call graph. It can be labelled with several call matrices if there are several pathes from one function to another.Ð5AgdaCall graph nodes.Machine integer Á~Ô is sufficient, since we cannot index more than we have addresses on our machine.Ò5Agda!Make a call with a single matrix.Ó5AgdaMake a call with empty cinfo.Ô5AgdaÀReturns all the nodes with incoming edges. Somewhat expensive. O(e).Õ5AgdaÍConverts a call graph to a list of calls with associated meta information.Ö5Agda#Takes the union of two call graphs.×5Agda!Inserts a call into a call graph.Ø5Agda"Call graph comparison. A graph cs' is `worse' than csù if it has a new edge (call) or a call got worse, which means that one of its elements that was better or equal to Le moved a step towards Un.†A call graph is complete if combining it with itself does not make it any worse. This is sound because of monotonicity: By combining a graph with itself, it can only get worse, but if it does not get worse after one such step, it gets never any worse.Ø5 cs completes the call graph csÂ. A call graph is complete if it contains all indirect calls; if f -> g and g -> h are present in the graph, then f -> h should also be present.Ú5Agda?Displays the recursion behaviour corresponding to a call graph.Þ5AgdaÌ5 is a monoid under Ö5.ß5Agdaë: checks whether the call graph is completely disconnected.ð­%®%©5Ì5Í5Î5Ï5Ð5Ñ5Ò5Ó5Ô5Õ5Ö5×5Ø5Ù5Ð5Ï5Ò5Ó5­%®%Ñ5©5Ì5Í5Î5Ô5ðÕ5Ö5×5Ø5Ù5�None" #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáè­ä5Agda2TODO: This comment seems to be partly out of date.ä5 cs( checks if the functions represented by cs terminate. The call graph cs should have one entry (Ï5&) per recursive function application.ù~ perms: is returned if the functions are size-change terminating.,If termination can not be established, then ø~ problems is returned instead. Here problemsÇ contains an indication of why termination cannot be established. See lexOrder for further details.ËNote that this function assumes that all data types are strictly positive.ÖThe termination criterion is taken from Jones et al. In the completed call graph, each idempotent call-matrix from a function to itself must have a decreasing argument. Idempotency is wrt. matrix multiplication.ƒThis criterion is strictly more liberal than searching for a lexicographic order (and easier to implement, but harder to justify).ç5AgdaA call c! is idempotent if it is an endo (­% == ®%–) of order 1. (Endo-calls of higher orders are e.g. argument permutations). We can test idempotency by self-composition. Self-composition c >*< c: should not make any parameter-argument relation worse.ä5å5æ5ç5ä5å5æ5ç5‚None! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáè³Gè5Agda£Sometimes regular expressions aren't enough. Alex provides a way to do arbitrary computations to see if the input matches. This is done with a lex predicate.é5AgdaîIn the lexer, regular expressions are associated with lex actions who's task it is to construct the tokens.ï5Agda#This is what the lexer manipulates.ñ5AgdaFile.ò5AgdaCurrent position.ó5AgdaCurrent input.ô5AgdaPreviously read character.õ5Agda A lens for ó5.ö5Agda,Get the previously lexed character. Same as ô5Ì. Alex needs this to be defined to handle "patterns with a left-context".÷5Agda,Returns the next character, and updates the ï5 value.ÝThis function is not suitable for use by Alex 2, because it can return non-ASCII characters.ø5Agda'Returns the next byte, and updates the ï5 value.˜A trick is used to handle the fact that there are more than 256 Unicode code points. The function translates characters to bytes in the following way:ÈWhitespace characters other than '\t' and '\n' are translated to ' '.8Non-ASCII alphabetical characters are translated to 'z'.;Other non-ASCII printable characters are translated to '+'.&Everything else is translated to '\1'.×Note that it is important that there are no keywords containing 'z', '+', ' ' or '\1'.*This function is used by Alex (version 3).û5AgdaConjunction of è5s.ü5AgdaDisjunction of è5s.ý5Agda Negation of è5s.è5é5ê5ë5ì5í5î5ï5ð5ñ5ò5ó5ô5õ5ö5÷5ø5ù5ú5û5ü5ý5ï5ð5ñ5ò5ó5ô5õ5ö5÷5ø5é5ê5ë5è5û5ü5ý5î5í5ì5ù5ú5ƒNone! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàá踲 ‚6AgdaÉThe LookAhead monad is basically a state monad keeping with an extra ï5, wrapped around the Æ" monad.ƒ6Agda8Throw an error message according to the supplied method.„6Agda$Get the current look-ahead position.…6AgdaSet the look-ahead position.†6AgdaLift a computation in the Æ" monad to the ‚6 monad.‡6AgdaÂLook at the next character. Fails if there are no more characters.ˆ6AgdaÁConsume all the characters up to the current look-ahead position.‰6Agda-Undo look-ahead. Restores the input from the ¸".Š6Agda!Consume the next character. Does ‡6 followed by ˆ6.‹6Agda”Do a case on the current input string. If any of the given strings match we move past it and execute the corresponding action. If no string matches, we execute a default action, advancing the input one character. This function only affects the look-ahead position.Œ6AgdaSame as ‹6¤ but takes the initial character from the first argument instead of reading it from the input. Consequently, in the default case the input is not advanced.�6AgdaRun a ‚67 computation. The first argument is the error function. ‚6ƒ6„6…6†6‡6ˆ6‰6Š6‹6Œ6�6 ‚6�6ƒ6„6…6†6‡6Š6ˆ6‰6‹6Œ6„None! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàá軑6AgdaÁLex a string literal. Assumes that a double quote has been lexed.’6AgdaúLex a character literal. Assumes that a single quote has been lexed. A character literal is lexed in exactly the same way as a string literal. Only before returning the token do we check that the lexed string is of length 1. This is maybe not the most efficient way of doing things, but on the other hand it will only be inefficient if there is a lexical error.‘6’6‘6’6‡None! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáè½c¬6Agda Should comment tokens be output?­6Agda Should comment tokens be output?®6Agda,Manually lexing a block comment. Assumes an  open comment< has been lexed. In the end the comment is discarded and §6" is called to lex a real token.¯6Agda Lex a hole ( {! ... !}#). Holes can be nested. Returns ¡  ² .°6Agda–Skip a block of text enclosed by the given open and close strings. Assumes the first open string has been consumed. Open-close pairs may be nested.¬6­6®6¯6°6¬6­6®6¯6°6ˆNone# #$%-02356789>?ÀÁÂÄÆÇÉÎÑÔ×ÙàáèÔ¶6AgdaÃThis is the initial state for parsing a regular, non-literate file.·6Agda8The layout state. Entered when we see a layout keyword (£6$) and exited at the next token (ª6).¸6AgdaWe enter this state from ª6„ when the token following a layout keyword is to the left of (or at the same column as) the current layout context. Example: )data Empty : Set where foo : Empty -> Nat(Here the second line is not part of the where8 clause since it is has the same indentation as the dataÄ definition. What we have to do is insert an empty layout block {} after the where;. The only thing that can happen in this state is that ©6Ý is executed, generating the closing brace. The open brace is generated when entering by ª6.¹6AgdašThis state is entered at the beginning of each line. You can't lex anything in this state, and to exit you have to check the layout rule. Done with «6.º6AgdaÝThis state can only be entered by the parser. In this state you can only lex the keywords using, hiding, renaming and to•. Moreover they are only keywords in this particular state. The lexer will never enter this state by itself, that has to be done in the parser.»6AgdaÈReturn the next token. This is the function used by Happy in the parser.  lexer k = §6 >>= k½6Agda3This is the main lexing function generated by Alex. ±6²6³6´6µ6¶6·6¸6¹6º6»6¼6½6 »6¶6¼6·6¸6¹6º6±6²6³6´6µ6½6‰None$ #$%-02356789>?ÀÁÂÄÆÇÉÎÑÔ×ÙàáèéÆf¾6Agda1Parse the token stream. Used by the TeX compiler.¿6Agda3Parse an expression. Could be used in interactions.À6AgdaÎParse an expression followed by a where clause. Could be used in interactions.Á6AgdaParse a module.Ä6AgdaðBreaks up a string into substrings. Returns every maximal subsequence of zero or more characters distinct from ê~. ÎsplitOnDots "" == [""] splitOnDots "foo.bar" == ["foo", "bar"] splitOnDots ".foo.bar" == ["", "foo", "bar"] splitOnDots "foo.bar." == ["foo", "bar", ""] splitOnDots "foo..bar" == ["foo", "", "bar"]¾6¿6À6Á6Â6Ã6Ä6Á6Â6¿6À6¾6Ã6Ä6™9 š9 …None! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×ÙàáèÌ¢“6Agda?ÀÁÂÄÆÉÎÑÔ×ÙàáèÔS¨6Agda•At a new line, we confirm either existing tentative layout columns, or, if the last token was a layout keyword, the expected new layout column.©6Agda&This action is only executed from the ¸6/ state. It will exit this state, enter the ¹6Ü state, and return a virtual close brace (closing the empty layout block started by ª6).ª6Agda?ÀÁÂÄÆÉÎÑÔ×Ùàáè×Á Ë6AgdaWrapped Parser type.Ì6Agda/A monad for handling parse errors and warnings.Ï6AgdaRun a Ì6ò computation, returning a list of warnings in first-to-last order and either a parse error or the parsed thing.Ð6Agda'Returns the contents of the given file.Ñ6AgdaParse without top-level layout.Ó6AgdaExtensions supported by Ô6.Õ6AgdaParses a module.Ö6AgdaParses a module name.×6AgdaParses an expression.Ø6Agda0Parses an expression followed by a where clause.Ù6AgdaÂParses an expression or some other content of an interaction hole.Ú6Agda3Gives the parsed token stream (including comments).Ô6AgdaThe path to the file.Agda)The file contents. Note that the file is not read from disk.#š"›"œ"�"ž"Ÿ" "¡"¢"£"¤"¥"¦"§"¨"©"ª"«"¬"Ë6Ì6Í6Î6Ï6Ð6Ñ6Ò6Ó6Ô6Õ6Ö6×6Ø6Ù6Ú6#Ë6Ñ6Ò6Ô6Õ6Ö6Ó6×6Ø6Ù6Ú6Ð6Ÿ" "¡"¢"£"¤"¥"¦"§"¨"©"ª"«"¬"š"›"œ"�"ž"Ì6Í6Î6Ï6‹None! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×ÙàáèÚÛ ã6Agda5Eliminations, subsuming applications and projections.ä6Agda Application.å6Agda Projection. ÿ is name of a record projection.æ6Agda'IApply x y r, x and y are the endpointsç6AgdaDrop ä6 constructor. (Safe)é6AgdaDrop ä6 constructors. (Safe)ê6AgdaSplit at first non-ä6ë6Agda Discards Proj f entries.ì6AgdaDrop å6 constructors. (Safe)ð6AgdaThis instance cheats on å6, use with care. å6s are always assumed to be Ä, since they have no ­. Same for IApply á6â6ã6æ6å6ä6ç6è6é6ê6ë6ì6 ã6æ6å6ä6ç6è6é6ê6á6â6ë6ì6ŒNone! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×ÙàáèåV ÷6AgdaÊShould a constraint wake up or not? If not, we might refine the unblocker.ú6Agda˜Something where a meta variable may block reduction. Notably a top-level meta is considered blocking. This did not use to be the case (pre Aug 2020).€7Agda‹What is causing the blocking? Or in other words which metas or problems need to be solved to unblock the blocked computation/constraint.ƒ7AgdaUnblock if meta is instantiated…7Agda„Even if we are not stuck on a meta during reduction we can fail to reduce a definition by pattern matching for another reason.†7AgdaThe Elim' is neutral and blocks a pattern match.‡7Agda?ÀÁÂÄÆÉÎÑÔ×Ùàáè+†¿7AgdaÛThe size of a term is roughly the number of nodes in its syntax tree. This number need not be precise for logical correctness of Agda, it is only used for reporting (and maybe decisions regarding performance).'Not counting towards the term size are:sort and color annotations, projections.Ä7Agda2Suggest a name if available (i.e. name is not "_")Æ7Agda#Constructing a singleton telescope.È7Agda Drop the types from a telescope.Ë7AgdaTelescope as list.Ô7AgdaView type as path type.Ö7Agdareduced×7AgdaSort of this type.Ø7Agda Builtin PATH.Ù7AgdaHiddenÚ7AgdaHiddenÛ7Agda NotHiddenÜ7Agda NotHiddenÝ7AgdaView type as equality type.ß7Agdareducedà7Agdareducedá7AgdaSort of this type.â7AgdaBuiltin EQUALITY.ã7AgdaHidden. Empty or Level.ä7AgdaHiddenå7Agda NotHiddenæ7Agda NotHiddené7AgdaSubstitutions.ê7AgdaIdentity substitution.  “ ¢E IdS : “ë7AgdaÄEmpty substitution, lifts from the empty context. First argument is  IMPOSSIBLEË. Apply this to closed terms you want to use in a non-empty context. “ ¢E EmptyS : ()ì7AgdaSubstitution extension, `cons'. Ó “ ¢E u : AÁ “ ¢E Á : ” ---------------------- “ ¢E u :# Á : ”, A í7Agda/Strengthening substitution. First argument is  IMPOSSIBLEé. Apply this to a term which does not contain variable 0 to lower all de Bruijn indices by one. Ù “ ¢E Á : ” --------------------------- “ ¢E Strengthen Á : ”, A î7Agda9Weakening substitution, lifts to an extended context. É “ ¢E Á : ” ------------------- “, ¨ ¢E Wk |¨| Á : ” ï7Agda9Lifting substitution. Use this to go under a binder. Lift 1 Á == var 0 :# Wk 1 Á. Ø “ ¢E Á : ” ------------------------- “, ¨Á ¢E Lift |¨| Á : ”, ¨ ð7Agda7Extract pattern variables in left-to-right order. A ‚8+ is also treated as variable (see docu for —8).ó7AgdaThe ConPatternInfo= states whether the constructor belongs to a record type (True) or data type (False). In the former case, the  PatOrigin of the conPInfoã says whether the record pattern orginates from the expansion of an implicit pattern. The Type… is the type of the whole record pattern. The scope used for the type is given by any outer scope plus the clause's telescope (›8).õ7Agda)Information on the origin of the pattern.ö7AgdaFalse if data constructor. True if record constructor.÷7AgdaÛShould the match block on non-canonical terms or can it proceed to the catch-all clause?ø7AgdaÁThe type of the whole constructor pattern. Should be present (JustÝ) if constructor pattern is is generated ordinarily by type-checking. Could be absent (NothingÝ) if pattern comes from some plugin (like Agsy). Needed e.g. for with-clause stripping.ù7AgdaÊLazy patterns are generated by the forcing translation in the unifier (š�À) and are dropped by the clause compiler (TODO: not yet) (Á‚ƒ) when the variables they bind are unused. The GHC backend compiles lazy matches to lazy patterns in Haskell (TODO: not yet).û7Agda+Type used when numbering pattern variables.€8Agda7Patterns are variables, constructors, or wildcards. QName is used in ConP rather than Nameª since a constructor might come from a particular namespace. This also meshes well with the fact that values (i.e. the arguments we are matching with) use QName.�8Agda x‚8Agda .tƒ8Agdac ps= The subpatterns do not contain any projection copatterns.„8AgdaE.g. 5, "hello".…8Agda1Projection copattern. Can only appear by itself.†8AgdaPath elimination pattern, like VarP but keeps track of endpoints.‡8Agda:Used for HITs, the QName should be the one from primHComp.ˆ8AgdaÀOrigin of the pattern: what did the user write in this position?‰8AgdaPattern inserted by the systemŠ8AgdaPattern generated by case split‹8AgdaUser wrote a variable patternŒ8AgdaUser wrote a dot pattern�8AgdaUser wrote a wildcard patternŽ8Agda User wrote a constructor pattern�8AgdaUser wrote a record pattern�8AgdaUser wrote a literal pattern‘8AgdaUser wrote an absurd pattern–8AgdaPattern variables.—8Agda3A clause is a list of patterns and the clause body.�The telescope contains the types of the pattern variables and the de Bruijn indices say how to get from the order the variables occur in the patterns to the order they occur in the telescope. The body binds the variables in the order they appear in the telescope. A level is a maximum expression of a closed level and 0..n ¬84 expressions each of which is an atom plus a number.³8AgdaSorts.´8AgdaSet “B.µ8AgdaProp “B.¶8AgdaSetÉâ:.·8AgdaSSet “B.¸8AgdaSizeUniv, a sort inhabited by type Size.¹8AgdaLockUniv, a sort for locks.º8AgdaSort of the pi type.»8Agda(Sort of a (non-dependent) function type.¼8AgdaSort of another sort.¾8AgdaA postulated sort.¿8AgdaÞA (part of a) term or type which is only used for internal purposes. Replaces the abuse of Prop for a dummy sort. The Stringë typically describes the location where we create this dummy, but can contain other information as well.Ä8AgdaÖSequence of types. An argument of the first type is bound in later types and so on.Æ8AgdaÐ8 is never Ò8.Ì8Agda'Types are terms with a sort annotation.Ð8AgdaBinder.Ð82: The bound variable might appear in the body. Ò8Ð is pseudo-binder, it does not introduce a fresh variable, similar to the const of Haskell.Ñ8Agda6The body has (at least) one free variable. Danger: Ô8! doesn't shift variables properlyØ8Agda Raw values.Def» is used for both defined and undefined constants. Assume there is a type declaration and a definition for every constant, even if the definition is an empty list of clauses.Ù8Agdax es neutralÚ8Agda+Terms are beta normal. Relevance is ignoredÜ8Agdaf es, possibly a delta/iota-redexÝ8Agdac es or record { fs = es } esÕ allows only Apply and IApply eliminations, and IApply only for data constructors.Þ8Agda)dependent or non-dependent function spaceâ8AgdaŒIrrelevant stuff in relevant position, but created in an irrelevant context. Basically, an internal version of the irrelevance axiom .irrAx : .A -> A.ã8AgdaÕA (part of a) term or type which is only used for internal purposes. Replaces the  Sort Prop hack. The StringÀ typically describes the location where we create this dummy, but can contain other information as well. The second field accumulates eliminations in case we apply a dummy term to more of them. Dummy terms should never be used in places where they can affect type checking, so syntactic checks are free to ignore the eliminators, which are only there to ease debugging when a dummy term incorrectly leaks into a relevant position.è8Agda­Store the names of the record fields in the constructor. This allows reduction of projection redexes outside of TCM. For instance, during substitution and application.ê8AgdaThe name of the constructor.ë8AgdaData or record constructor?ì8Agda'Record constructors can be coinductive.í8Agda"The name of the record fields. ¥î is stored since the info in the constructor args might not be accurate because of subtyping (issue #2170).ò8AgdaType of argument lists.ô8Agda Similar to ¥˜, but we need to distinguish an irrelevance annotation in a function domain (the domain itself is not irrelevant!) from an irrelevant argument.Dom is used in Þ8 of internal syntax, in Context and Ã8. ¥ is used for actual arguments (Ù8, Ý8, Ü8 etc.) and in Abstract syntax and other situations.  cubical When domFinite = True for the domain of a Þ8¸ type, the elements should be compared by tabulating the domain type. Only supported in case the domain type is primIsOne, to obtain the correct equality for partial elements.ø8Agdae.g. x in {x = y : A} -> B.ù8Agda "@tactic e".û8AgdaConstant level nŒ9Agda6Make an absurd pattern with the given de Bruijn index.Ž9AgdaBuild partial ó7 from ×8�9AgdaBuild ×8 from ó7.�9Agda'Retrieve the PatternInfo from a pattern‘9Agda Retrieve the origin of a pattern’9Agda1Does the pattern perform a match that could fail?—9AgdaÑAbsurd lambdas are internally represented as identity with variable name "()".›9AgdaAn unapplied variable.œ9AgdaAdd â8 is it is not already a DontCare.�9AgdaËConstruct a string representing the call-site that created the dummy thing.ž9Agda,Aux: A dummy term to constitute a dummy termlevel sort/type.Ÿ9AgdaÑA dummy level to constitute a level/sort created at location. Note: use macro  DUMMY_LEVEL ! 9Agda5A dummy term created at location. Note: use macro  DUMMY_TERM !£9Agda5A dummy sort created at location. Note: use macro  DUMMY_SORT !¥9Agda5A dummy type created at location. Note: use macro  DUMMY_TYPE !§9AgdaÈContext entries without a type have this dummy type. Note: use macro  DUMMY_DOM !­9AgdaGiven a constant m and level l , compute m + l´9Agda)A traversal for the names in a telescope.¸9Agda(Convert a list telescope to a telescope.¹9Agda%Convert a telescope to its list form.º9AgdaLens to edit a Ã8 as a list.»9AgdaRemoving a topmost â8 constructor.¼9AgdaDoesn't do any reduction.¾9Agda>Convert top-level postfix projections into prefix projections.¿9AgdaConvert å6/ projection eliminations according to their ˆ into Ü8 projection applications.À9Agda#A view distinguishing the neutrals Var, Def, and MetaV which can be projected.Î9AgdaIgnores à and ¸ and tactic.ä9Agda2The size of a telescope is its length (as a list).Ž:AgdaA ëÌ clause is one with no patterns and no rhs. Should not exist in practice.ÿ7AgdaThe  PatVarName is a name suggestion.Õ8Agda#eliminations ordered left-to-right.“9Agda-Should absurd patterns count as proper match?Agda1Should projection patterns count as proper match?Agda The pattern.‹êëîï𘙚›œíîïðñòôóõö÷øùúûüýþÿ€‚�ƒ„Šˆ‡†…‰‹Œ�Ž��‘’“”•–—˜™š›œ�žŸ ¡¢£¤¥¦§¨©ª«¬­®¯°á6â6ã6æ6ä6å6ç6è6é6ê6ë6ì6÷6ø6ù6ú6û6ü6ÿ6ý6þ6€7„7ƒ7�7‚7…7Š7‰7ˆ7†7‡7‹7Œ7�7Ž7�7�7‘7’7“7”7•7–7—7˜7™7š7›7œ7�7ž7Ÿ7 7¡7¢7¿7À7Á7Â7Ã7Ä7Å7Æ7Ç7È7É7Ê7Ë7Ì7Í7Ó7Ò7Ñ7Ð7Î7Ï7Ô7Õ7Ö7Ü7Û7Ú7Ù7×7Ø7Ý7à7Þ7ß7æ7å7ä7ã7á7â7ç7è7é7î7í7ì7ë7ï7ê7ð7ñ7ò7ñ7ó7ô7ù7ø7÷7õ7ö7ú7û7ü7ý7þ7ÿ7€8‡8†8…8‚8ƒ8„8�8ˆ8‘8�8�8Ž8�8Œ8‹8‰8Š8’8“8”8•8–8—8˜8£8¢8¡8 8Ÿ8ž8�8œ8›8™8š8¤8¥8¦8§8¨8©8ª8«8¬8­8®8¯8°8±8²8³8¿8¾8½8¼8»8º8¹8¸8·8¶8´8µ8À8Á8Â8Ã8Ä8Å8Æ8Ç8È8É8Ê8Ë8Ì8Í8Î8Ï8Ð8Ñ8Ò8Ó8Ô8Õ8Ö8×8Ø8ã8á8â8Þ8Ú8ß8Ü8à8Û8Ù8Ý8ä8æ8ç8å8è8é8í8ì8ê8ë8î8ð8ï8ñ8ò8ó8ô8õ8ù8ø8÷8ö8ú8û8ü8ý8þ8ÿ8€9�9‚9ƒ9„9…9†9‡9ˆ9‰9Š9‹9Œ9�9Ž9�9�9‘9’9“9”9•9–9—9˜9™9š9›9œ9�9ž9Ÿ9 9¡9¢9£9¤9¥9¦9§9¨9©9ª9«9¬9­9®9¯9°9±9²9³9´9µ9¶9·9¸9¹9º9»9¼9½9¾9¿9À9Á9Â9‰¿7À7Á7Â7Ã7Ä7Å7Æ7Ç7È7É7Ê7Ë7Ì7Í7Ó7Ò7Ñ7Ð7Î7Ï7Ô7Õ7Ö7Ü7Û7Ú7Ù7×7Ø7Ý7à7Þ7ß7æ7å7ä7ã7á7â7ç7è7é7î7í7ì7ë7ï7ê7ð7ñ7ò7ó7ô7ù7ø7÷7õ7ö7ú7û7ü7ý7þ7ÿ7€8‡8†8…8‚8ƒ8„8�8ˆ8‘8�8�8Ž8�8Œ8‹8‰8Š8’8“8”8•8–8—8˜8£8¢8¡8 8Ÿ8ž8�8œ8›8™8š8¤8¥8¦8§8¨8©8ª8«8¬8­8®8¯8°8±8²8³8¿8¾8½8¼8»8º8¹8¸8·8¶8´8µ8À8Á8Â8Ã8Ä8Å8Æ8Ç8È8É8Ê8Ë8Ì8Í8Î8Ï8Ð8Ñ8Ò8Ó8Ô8Õ8Ö8×8Ø8ã8á8â8Þ8Ú8ß8Ü8à8Û8Ù8Ý8ä8æ8ç8å8è8é8í8ì8ê8ë8î8ð8ï8ñ8ò8ó8ô8õ8ù8ø8÷8ö8ú8û8ü8ý8þ8ÿ8€9�9‚9ƒ9„9…9†9‡9ˆ9‰9Š9‹9Œ9�9Ž9�9�9‘9’9“9”9•9–9—9˜9™9š9›9œ9�9ž9Ÿ9 9¡9¢9£9¤9¥9¦9§9¨9©9ª9«9¬9­9®9¯9°9±9²9³9´9µ9¶9·9¸9¹9º9»9¼9½9¾9¿9À9Á9Â9îïðêëì74ŽNone! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáè õ:AgdaùThings we can substitute for a variable. Needs to be able to represent variables, e.g. for substituting under binders.ö:Agda+Produce a variable without name suggestion.÷:Agda(Produce a variable with name suggestion.ø:Agda=Are we dealing with a variable? If yes, what is its index?ü:AgdaWe can substitute Terms for variables.õ:ø:÷:ö:õ:ø:÷:ö:�None! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáè yý:þ:ÿ:€;ý:þ:€;ÿ:�None! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáè7>.�;Agda&Gather free variables in a collection.”;AgdaThe current context.–;AgdaÄAdditional context, e.g., whether to ignore free variables in sorts.—;AgdaAre we flexible or rigid?˜;Agda+What is the current relevance and quantity?™;Agda#Method to return a single variable.š;Agda5Where should we skip sorts in free variable analysis?›;Agda Do not skip.œ;AgdaSkip when annotation to a type.�;AgdaSkip unconditionally.¡;AgdaKeep track of ±;7 for every variable, but forget the involved meta vars.§;AgdaÅRepresentation of a variable set as map from de Bruijn indices to ª;.¨;AgdaAny representation cî of a set of variables need to be able to be modified by a variable occurrence. This is to ensure that free variable analysis is compositional. For instance, it should be possible to compute `fv (v [u/x])` from `fv v` and `fv u`.)In algebraic terminology, a variable set a; needs to be (almost) a left semimodule to the semiring ª;.©;AgdaÜLaws * Respects monoid operations: ``` withVarOcc o mempty == mempty withVarOcc o (x <> y) == withVarOcc o x <> withVarOcc o y ``` * Respects VarOcc composition: ``` withVarOcc oneVarOcc = id withVarOcc (composeVarOcc o1 o2) = withVarOcc o1 . withVarOcc o2 ``` * Respects VarOcc aggregation: ``` withVarOcc (o1 <> o2) x = withVarOcc o1 x <> withVarOcc o2 x ``` Since the corresponding unit law may fail, ``` withVarOcc mempty x = mempty ``` it is not quite a semimodule.«;AgdaØOccurrence of free variables is classified by several dimensions. Currently, we have ±; and ‚.²;AgdaŠDepending on the surrounding context of a variable, it's occurrence can be classified as flexible or rigid, with finer distinctions.ËThe constructors are listed in increasing order (wrt. information content).³;Agda7In arguments of metas. The set of metas is used by '«ƒñ to generate the right blocking information. The semantics is that the status of a variable occurrence may change if one of the metas in the set gets solved. We may say the occurrence is tainted by the meta variables in the set.´;Agda*In arguments to variables and definitions.µ;AgdaÄIn top position, or only under inductive record constructors (unit).¶;Agda3Under at least one and only inductive constructors.·;Agda5A set of meta variables. Forms a monoid under union.À;Agda±;‘ aggregation (additive operation of the semiring). For combining occurrences of the same variable in subterms. This is a refinement of the ‚ operation for ±; which would work if ³; did not have the ·;* as an argument. Now, to aggregate two ³;$ occurrences, we union the involved ·;s.Á;Agda Unit for À;.Â;AgdaAbsorptive for À;.Ã;Agda±;ç composition (multiplicative operation of the semiring). For accumulating the context of a variable.³;˜ is dominant. Once we are under a meta, we are flexible regardless what else comes. We taint all variable occurrences under a meta by this meta.´;0 is next in strength. Destroys strong rigidity.¶; is still dominant over µ;.µ;0 is the unit. It is the top (identity) context.Ä;Agda Unit for Ã;.Å;AgdaÝThe absorptive element of variable occurrence under aggregation: strongly rigid, relevant.Æ;Agda–First argument is the outer occurrence (context) and second is the inner. This multiplicative operation is to modify an occurrence under a context.Ë;AgdaIgnore free variables in sorts.Ì;AgdaThe initial context.Í;AgdaRun function for FreeM.Î;AgdaBase case: a variable.Ï;Agda3Subtract, but return Nothing if result is negative.Ð;AgdaGoing under a binder.Ñ;Agda Going under n binders.Ò;Agda Changing the ‚.Ó;Agda Changing the ã.Ô;Agda Changing the ±; context.Õ;Agda?ÀÁÂÄÆÉÎÑÔ×Ùàáè>í‘<AgdaÌCollect all free variables together with information about their occurrence.ÜDoesn't go inside solved metas, but collects the variables from a metavariable application X ts as  flexibleVars.“<AgdaCompute free variables.”<Agda7Get the full occurrence information of a free variable.•<Agda7Get the full occurrence information of a free variable.˜<Agda7Is the variable bound by the abstraction actually used?›<Agda0Is the term entirely closed (no free variables)?œ<AgdaCollect all free variables.�<Agda=Collect all relevant free variables, possibly ignoring sorts.ž<AgdaÁCollect all relevant free variables, excluding the "unused" ones.¡<Agda?Variables under only and at least one inductive constructor(s).¢<AgdaòVariables at top or only under inductive record constructors »s and  s. The purpose of recording these separately is that they can still become strongly rigid if put under a constructor whereas weakly rigid ones stay weakly rigid.£<AgdaÃRigid variables: either strongly rigid, unguarded, or weakly rigid.¤<AgdaÕVariables occuring in arguments of metas. These are only potentially free, depending how the meta variable is instantiated. The set contains the id's of the meta variables that this variable is an argument to.°<Agda"Hereditary Semigroup instance for Û~. (The default instance for Û~ may not be the hereditary one.)³<Agda"Hereditary Semigroup instance for Û~. (The default instance for Û~ may not be the hereditary one.)4�;Ž;š;�;›;œ;¨;©;ª;«;¬;­;®;¯;°;±;²;³;´;µ;¶;·;º;»;¼;½;¾;¿;Ž<�<�<‘<’<“<”<•<–<—<˜<™<š<›<œ<�<ž<Ÿ< <¡<¢<£<¤<¥<4Ž<�<�<�;¨;©;š;�;›;œ;‘<Ž;Ÿ< <“<£<¡<¢<¥<¤<œ<ž<�<’<–<—<˜<š<™<²;³;´;µ;¶;±;¯;°;¼;½;¿;¾;«;¬;­;®;ª;”<•<›<·;º;»;’None! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×ÙàáèJ„·<Agdaº<! instance whose argument type is Ø8¸<Agdaº<& instance whose agument type is itself¹<AgdaSimple constraint alias for a º< instance a with arg type t.º<AgdaApply a substitution.½<Agda(abstract args v) À< args --> v[args].¿<AgdaíApply something to a bunch of arguments. Preserves blocking tags (application can never resolve blocking).Â<Agda Apply to some default arguments.Ã<Agda#Apply to a single default argument.Ä<Agda%Raise de Bruijn index, i.e. weakeningÆ<AgdaReplace de Bruijn index i by a Ø8 in something.È<AgdaÂReplace what is now de Bruijn index 0, but go under n binders. %substUnder n u == subst n (raise n u).Í<AgdaTo replace index n by term u, do applySubst (singletonS n u). ì “, ” ¢E u : A --------------------------------- “, ” ¢E singletonS |”| u : “, A, ” Î<AgdaÀSingle substitution without disturbing any deBruijn indices. í “, A, ” ¢E u : A --------------------------------- “, A, ” ¢E inplace |”| u : “, A, ” Ï<Agda$Lift a substitution under k binders.Ð<Agda É “ ¢E Á : ”, ¨ ------------------- “ ¢E dropS |¨| Á : ” Ñ<Agda applySubst (Á Ñ<& Ã) v == applySubst Á (applySubst à v)Ô<Agda Ž “ ¢E Á : ” “ ¢E reverse vs : ˜ ----------------------------- (treating Nothing as having any type) “ ¢E prependS vs Á : ”, ˜ ×<Agda“ ¢E (strengthenS ¥E |”|) : “,”Ù<AgdaÂlookupS (listS [(x0,t0)..(xn,tn)]) xi = ti, assuming x0 < .. < xn.Ú<Agda #“, ž, ” ¢E raiseFromS |”| |ž| : “, ”Û<Agda/Instantiate an abstraction. Strict in the term.Ü<AgdaÆInstantiate an abstraction. Lazy in the term, which allow it to be  IMPOSSIBLEÇ in the case where the variable shouldn't be used but we cannot use Ý<. Used in Apply.Ý<Agda9Instantiate an abstraction that doesn't use its argument.á<AgdaunderAbs k a b applies k to a# and the content of abstraction b# and puts the abstraction back. aÍ is raised if abstraction was proper such that at point of application of k and the content of b. are at the same context. Precondition: a and b& are at the same context at call time.â<AgdaunderLambdas n k a b drops n initial Ú8s from b, performs operation k on a and the body of b, and puts the Ú8 s back. aÀ is raised correctly according to the number of abstractions.,·<¸<¹<º<¼<»<½<¾<¿<Á<À<Â<Ã<Ä<Å<Æ<Ç<È<É<Ê<Ë<Ì<Í<Î<Ï<Ð<Ñ<Ò<Ó<Ô<Õ<Ö<×<Ø<Ù<Ú<Û<Ü<Ý<Þ<ß<à<á<â<,¿<Á<À<Â<Ã<½<¾<º<¼<»<¹<¸<·<Ä<Å<Æ<Ç<È<É<Ê<Ë<Ì<Í<Î<Ï<Ð<Ñ<Ò<Ó<Ô<Õ<Ö<×<Ø<Ù<Ú<Û<Ü<Ý<Þ<ß<à<á<â<Ó<4“None! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×ÙàáèKˆ/ä<è<å<é<ç<æ<ê<ë<í<ì<ð<ï<î<ñ<÷<ó<ö<ò<ô<õ<ø<þ<ý<ü<û<ú<ù<ÿ<€=†=‡=…=ˆ=ƒ=Š=‰=‚=„=�=‹=Œ=�=Ž=�=�=‘=’=/‘=�=�=Ž=�=’=‹=Œ=€=†=‡=…=ˆ=ƒ=Š=‰=‚=„=�=ÿ<ø<þ<ý<ü<û<ú<ù<ñ<÷<ó<ö<ò<ô<õ<ë<í<ì<ð<ï<î<ä<è<å<é<ç<æ<ê<”None! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×ÙàáèVóœ=Agda State [i] (f (Pattern' (i,x)))¨=Agda+Arity of a function, computed from clauses.ª=AgdaÜTranslate the clause patterns to terms with free variables bound by the clause telescope.%Precondition: no projection patterns.«=AgdaëTranslate the clause patterns to an elimination spine with free variables bound by the clause telescope.¬=Agda5Augment pattern variables with their de Bruijn index.¯=AgdaÏComputes the permutation from the clause telescope to the pattern variables.Use as  fromMaybe  IMPOSSIBLE . dbPatPermË to crash in a controlled way if a de Bruijn index is out of scope here.ÏThe first argument controls whether dot patterns counts as variables or not.°=AgdaÏComputes the permutation from the clause telescope to the pattern variables.Use as  fromMaybe  IMPOSSIBLE . clausePermË to crash in a controlled way if a de Bruijn index is out of scope here.±=Agda…Turn a pattern into a term. Projection patterns are turned into projection eliminations, other patterns into apply elimination.´=AgdaÆCompute from each subpattern a value and collect them all in a monoid.µ=AgdaÅTraverse pattern(s) with a modification before the recursive descent.¶=AgdaÄTraverse pattern(s) with a modification after the recursive descent.·=Agda!Get the number of common initial ä6 patterns in a list of clauses.¸=AgdaGet the number of initial ä6 patterns in a clause.¹=AgdaGet the number of initial ä6 patterns.¿=AgdaModify the content of VarP, and the closest surrounding NamedArg. Note: the  mapNamedArg for Pattern'! is not expressible simply by fmap or traverse etc., since ConP has NamedArg1 subpatterns, which are taken into account by  mapNamedArg. =Agda>Combine a pattern and the value computed from its subpatterns.¡=Agdapre : Modification before recursion.Agdapost: Modification after recursion.µ=Agdapre : Modification before recursion.¶=Agdapost: Modification after recursion.š=œ=›=�=ž=Ÿ=¡= =¢=£=¤=§=¦=¥=¨=©=ª=«=¬=­=®=¯=°=±=²=³=´=µ=¶=ª=«=¨=©=¤=§=¦=¥=¬=­=®=¯=°=±=²=³=¢=£=Ÿ=¡= =´=µ=¶=�=ž=š=œ=›=•None" #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×ÙàáèXáÌ=AgdaGeneric term traversal.ÏNote: ignores sorts in terms! (Does not traverse into or collect from them.)Í=Agda?Generic traversal with post-traversal action. Ignores sorts.Î=AgdaGeneric fold, ignoring sorts.Ï=Agda5Put it in a monad to make it possible to do strictly.Ì=Î=Í=Ï=Ì=Î=Í=Ï=–None! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáè_Sè=AgdaCase tree with bodies.é=Agda Case n bs stands for a match on the n(-th argument (counting from zero) with bs as the case branches. If the n+-th argument is a projection, we have only ï= with arity 0.ê=Agda Done xs b stands for the body b where the xs® contains hiding and name suggestions for the free variables. This is needed to build lambdas on the right hand side for partial applications which can still reduce.ë=AgdaúAbsurd case. Add the free variables here as well so we can build correct number of lambdas for strict backends. (#4280)ì=AgdaBranches in a case tree.î=Agda3We are constructing a record here (copatterns). ï= lists projections.ï=AgdaïMap from constructor (or projection) names to their arity and the case subtree. (Projections have arity 0.)ð=AgdaþEta-expand with the given (eta record) constructor. If this is present, there should not be any conBranches or litBranches.ñ=Agda!Map from literal to case subtree.ò=Agda'(Possibly additional) catch-all clause.ó=Agda?(if True) In case of non-canonical argument use catchAllBranch.ô=AgdaäLazy pattern match. Requires single (non-copattern) branch with no lit branches and no catch-all.þ=AgdañCheck that the requirements on lazy matching (single inductive case) are met, and set lazy to False otherwise.ÿ=Agda1Check whether a case tree has a catch-all clause.€>Agda5Check whether a case tree has any projection patternsç=è=é=ê=ë=ì=í=ô=ó=ò=ñ=ð=ï=î=õ=ö=÷=ø=ù=ú=û=ü=ý=þ=ÿ=€>�>õ=ö=÷=ø=ì=í=ô=ó=ò=ñ=ð=ï=î=è=é=ê=ë=ç=ù=ú=û=ü=ý=þ=ÿ=€>�>—None! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáèbó¥>AgdaéReturns every meta-variable occurrence in the given type, except for those in sort annotations on types.¨>AgdaReturns ¦> in a list. allMetasList = allMetas (:[]).—Note: this resulting list is computed via difference lists. Thus, use this function if you actually need the whole list of metas. Otherwise, use ¦> with a suitable monoid.©>AgdaÖ~ if thing contains no metas. noMetas = null . allMetasList.ª>Agda8Returns the first meta it find in the thing, if any. 'firstMeta == listToMaybe . allMetasList.«>AgdaÁA blocker that unblocks if any of the metas in a term are solved.¬>AgdaÁA blocker that unblocks if any of the metas in a term are solved.¥>¦>§>¨>©>ª>«>¬>¥>¦>§>¨>©>ª>«>¬>˜None! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáèf0»>AgdaGetting the used definitions.Note: in contrast to •„ getDefsÆ also collects from sorts in terms. Thus, this is not an instance of foldTerm.½>Agda*What it takes to get the used definitions.Ä>AgdaInputs to and outputs of getDefs' are organized as a monad.Å>AgdagetDefs' lookup emb aÆ extracts all used definitions (functions, data/record types) from a, embedded into a monoid via emb7. Instantiations of meta variables are obtained via lookup."Typical monoid instances would be [QName] or  Set QName. Note that embÖ can also choose to discard a used definition by mapping to the unit of the monoid. »>¼>½>¿>¾>À>Á>Ã>Â>Ä>Å> Å>Ä>À>Á>Ã>Â>½>¿>¾>»>¼>™None! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáè‰5îÙ>AgdaTurn a name into an expression.Û>AgdaAre we in an abstract block?)In that case some definition is abstract.â>Agda,Parameterised over the type of dot patterns.å>AgdaDestructor pattern d.æ>Agda%Defined pattern: function definition f ps÷. It is also abused to convert destructor patterns into concrete syntax thus, we put AmbiguousQName here as well.ç>AgdaÜUnderscore pattern entered by user. Or generated at type checking for implicit arguments.é>Agda Dot pattern .eï>Agda| p, for with-patterns.ð>AgdaPattern with type annotationò>AgdaØThe lhs in projection-application and with-pattern view. Parameterised over the type e of dot patterns.ó>Agda&The head applied to ordinary patterns.ô>Agda Projection.õ>AgdaWith patterns.ö>AgdaHead f.÷>AgdaApplied to patterns ps.ø>AgdaRecord projection identifier.ù>AgdaMain argument of projection.ú>Agda E.g. the ó>.û>AgdaApplied to with patterns | p1 | ... | pn*. These patterns are not prefixed with WithP!ü>AgdaôThe lhs of a clause in focused (projection-application) view (outside-in). Projection patters are represented as ô>s.þ>AgdaRange.ÿ>Agda Copatterns.€?AgdaØThe lhs of a clause in spine view (inside-out). Projection patterns are contained in  spLhsPats, represented as ProjP d.‚?AgdaRange.ƒ?Agda!Name of function we are defining.„?Agda3Elimination by pattern, projections, with-patterns.ˆ?AgdaThe ÿ" is the name of the with function.‹?AgdaóWe store the original concrete expression in case we have to reproduce it during interactive case splitting. Ý~ for internally generated rhss.Œ?AgdaThe ÿÁs are the names of the generated with functions, one for each ô?.�?AgdaãThe patterns stripped by with-desugaring. These are only present if this rewrite follows a with.Ž?AgdaThe RHS should not be another  RewriteRHS.�?Agda&The where clauses are attached to the  RewriteRHS by˜?AgdaThe declaration is a Ü?.™?AgdaWe could throw away where0 clauses at this point and translate them to let,. It's not obvious how to remember that the let was really a where6 clause though, so for the time being we keep it here.œ?Agda–Only in with-clauses where we inherit some already checked patterns from the parent. These live in the context of the parent clause left-hand side. ?Agda†A user pattern together with an internal term that it should be equal to after splitting is complete. Special cases: * User pattern is a variable but internal term isn't: this will be turned into an as pattern. * User pattern is a dot pattern: this pattern won't trigger any splitting but will be checked for equality after all splitting is complete and as patterns have been bound. * User pattern is an absurd pattern: emptiness of the type will be checked after splitting is complete. * User pattern is an annotated wildcard: type annotation will be checked after splitting is complete.§?AgdaõWe don't yet know the position of generalized parameters from the data sig, so we keep these in a set on the side.«?AgdaêMaps generalize variables to the corresponding bound variable (to be introduced by the generalisation).¯?Agda¾A typed binding. Appears in dependent function spaces, typed lambdas, and telescopes. It might be tempting to simplify this to only bind a single name at a time, and translate, say,  (x y : A) to (x : A)(y : A)Ç before type-checking. However, this would be slightly problematic: $We would have to typecheck the type A several times.If AØ contains a meta variable or hole, it would be duplicated by such a translation.ÓWhile 1. is only slightly inefficient, 2. would be an outright bug. Duplicating Aþ could not be done naively, we would have to make sure that the metas of the copy are aliases of the metas of the original.°?AgdaAs in telescope  (x y z : A) or type (x y z : A) -> B.±?AgdaE.g.  (let x = e) or  (let open M).²?Agda0A lambda binding is either domain free or typed.³?Agda. x or {x} or .x or {x = y} or x@p or (p)´?Agda. (xs:e) or {xs:e} or (let Ds)½?AgdaOnly ×?s.¾?AgdaBindings that are valid in a let.¿?Agda LetBind info rel name type defnÀ?AgdaIrrefutable pattern binding.Á?Agda*LetApply mi newM (oldM args) renamings dir. The ImportDirective is for highlighting purposes.Â?Agda,only for highlighting and abstractToConcreteÃ?Agda?Only used for highlighting. Refers to the first occurrence of x in let x : A; x = e(. | LetGeneralize DefInfo ArgInfo ExprÆ?Agda×/ is not Ý/:. Name can be ambiguous e.g. for built-in constructors.Ç?Agda×Builtins that do not come with a definition, but declare a name for an Agda concept.È?Agda"Range is range of REWRITE keyword.Ë?Agda:For coinductive records, use pragma instead of regular  eta-equality, definition (as it is might make Agda loop).Ð?Agda tel. M args : applies M to args and abstracts tel.Ñ?Agda  M {{...}}×?Agda3Type signature (can be irrelevant, but not hidden).ÐThe fourth argument contains an optional assignment of polarities to arguments.Ø?AgdaÂFirst argument is set of generalizable variables used in the type.Ù?Agda record fieldÚ?Agdaprimitive functionÛ?Agda)a bunch of mutually recursive definitionsÝ?AgdaThe ImportDirective is for highlighting purposes.Þ?AgdaThe ImportDirective is for highlighting purposes.à?Agda'only retained for highlighting purposesá?Agdasequence of function clausesâ?Agdalone data signatureä?Agdalone record signatureå?AgdaThe ô?' gives the constructor type telescope, (x1 : A1)..(xn : An) -> PropÆ, and the optional name is the constructor's name. The optional û  is for the pattern attribute.æ?AgdaOnly for highlighting purposesé?Agdascope annotationï?AgdaRenaming (generic).ó?AgdaRecord field assignment f = e.ô?AgdaÄExpressions after scope checking (operators parsed, names resolved).õ?AgdaBound variable.ö?AgdaÊConstant: axiom, function, data or record type, with a possible suffix.÷?AgdaProjection (overloaded).ø?AgdaConstructor (overloaded).ù?AgdaPattern synonym.ú?AgdaMacro.û?AgdaLiteral.ü?Agda&Meta variable for interaction. The à" is usually identical with the Ñ2 of Í2Â. However, if you want to print an interaction meta as just ? instead of ?n, you should set the Ñ2 to Ý~ while keeping the à.ý?Agda=Meta variable for hidden argument (must be inferred locally).þ?Agda.e, for postfix projection.ÿ?AgdaOrdinary (binary) application.€@AgdaWith application.�@Agda» bs ’C e.‚@Agda»() or »{}.„@AgdaDependent function space “ ’C A.…@Agda(Like a Pi, but the ordering is not known†@AgdaNon-dependent function space.‡@Agda let bs in e.ˆ@Agda#Only used when printing telescopes.‰@AgdaRecord construction.Š@AgdaRecord update.‹@AgdaScope annotation.Œ@AgdaQuote an identifier ÿ.�@Agda Quote a term.Ž@Agda#The splicing construct: unquote ...�@Agda For printing DontCare from Syntax.Internal.‘@AgdaèA name in a binding position: we also compare the nameConcrete when comparing the binders for equality.With  --caching¿ on we compare abstract syntax to determine if we can reuse previous typechecking results: during that comparison two names can have the same nameId but be semantically different, e.g. in  {_ : A} -> .. vs.  {r : A} -> ...”@AgdaPattern synonym for regular Def–@Agda!Smart constructor for Generalized¡@Agda$The name defined by the given axiom.3Precondition: The declaration has to be a (scoped) ×?.ß@AgdaDoes not compare ª0 fields.à@AgdaDoes not compare ª0È fields. Does not distinguish between prefix and postfix projections.â@AgdaIgnore û  when comparing ü>s.ã@AgdaIgnore ‹? when comparing …?s.ë@AgdaTurn a ×/ into an expression.Assumes name is not Ý/.ì@AgdaTurn an ç/ into an expression.›˜™š›œíîïðñòôóõö÷øùúûüýþÿ€‚�ƒ„Šˆ‡†…‰‹Œ�Ž��‘’“”•–—˜™š›œ�žŸ ¡¢£¤¥¦§¨©ª«¬­®¯°Õ>Ö>×>Ø>Ù>Ú>Û>Ü>Ý>Þ>ß>à>á>â>ì>æ>å>ï>î>é>ê>í>ç>è>ä>ã>ð>ë>ñ>ò>õ>ó>ô>û>ú>ù>ø>ö>÷>ü>ý>þ>ÿ>€?�?„?‚?ƒ?…?‰?ˆ?†?‡?�?Ž?�?Œ?Š?‹?�?‘?’?“?”?•?–?—?˜?™?š?ž?œ?›?Ÿ?�? ?¡?¤?¢?£?¥?¦?§?¨?©?ª?«?¬?­?®?¯?±?°?²?³?´?µ?¶?·?¸?¹?º?»?¼?½?¾?Ã?Â?Á?¿?À?Ä?Ç?Î?Ì?Ë?Í?Ê?É?È?Å?Æ?Ï?Ð?Ñ?Ò?Ó?Ô?Õ?Ö?é?æ?å?ä?Ü?á?×?è?ç?Þ?ã?â?Ù?Û?Ø?à?ß?Ú?Ý?ê?ë?ì?í?î?ï?ð?ñ?ò?ó?ô?‹@ö?÷?ú?ù?…@�@�@ˆ@Š@ƒ@‚@€@ü?„@�@ý?‡@Ž@þ?‰@Œ@û?ÿ?ø?õ?†@�@‘@’@“@”@•@–@—@˜@™@š@›@œ@�@ž@Ÿ@ @¡@¢@£@¤@¥@¦@ÒÕ>Ö>×>Ø>Ù>Ú>Û>Ü>Ý>Þ>ß>à>á>â>ì>æ>å>ï>î>é>ê>í>ç>è>ä>ã>ð>ë>ñ>ò>õ>ó>ô>û>ú>ù>ø>ö>÷>ü>ý>þ>ÿ>€?�?„?‚?ƒ?…?‰?ˆ?†?‡?�?Ž?�?Œ?Š?‹?�?‘?’?“?”?•?–?—?˜?™?š?ž?œ?›?Ÿ?�? ?¡?¤?¢?£?¥?¦?§?¨?©?ª?«?¬?­?®?¯?±?°?²?³?´?µ?¶?·?¸?¹?º?»?¼?½?¾?Ã?Â?Á?¿?À?Ä?Ç?Î?Ì?Ë?Í?Ê?É?È?Å?Æ?Ï?Ð?Ñ?Ò?Ó?Ô?Õ?Ö?é?æ?å?ä?Ü?á?×?è?ç?Þ?ã?â?Ù?Û?Ø?à?ß?Ú?Ý?ê?ë?ì?í?î?ï?ð?ñ?ò?ó?ô?‹@ö?÷?ú?ù?…@�@�@ˆ@Š@ƒ@‚@€@ü?„@�@ý?‡@Ž@þ?‰@Œ@û?ÿ?ø?õ?†@�@‘@’@“@”@•@–@—@˜@™@š@›@œ@�@ž@Ÿ@ @¡@¢@£@¤@¥@¦@šNone! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáè�ÊÑAAgda-Extracts "all" names which are declared in a Ö?.Includes: local modules and where clauses. Excludes:  open public, let, with" function names, extended lambdas.ÔAAgdaÉApply an expression rewriting to every subexpression, inside-out. See Agda.Syntax.Internal.Generic.ÕAAgdaÅThe first expression is pre-traversal, the second one post-traversal.ßAAgdaCollects plain lambdas.äAAgda-Gather applications to expose head and spine.ÅNote: everything is an application, possibly of itself to 0 argumentséAAgdaGather top-level è> atterns and ð>%atterns to expose underlying pattern.êAAgda Remove top ‹@ wrappers.ëAAgdaRemove ‹@ wrappers everywhere.!NB: Unless the implementation of ÔAÆ for clauses has been finished, this does not work for clauses yet.ÑAÒAÓAÔAÕA×AÖAØAÙAÚAÛAÜAÝAÞAßAàAáAâAãAäAåAæAçAèAéAêAëAìAíAâAãAáAäAåAæAçAßAàAèAéAêAëAìAíAÞAÝAÜAÛAÚAÙAÔAÕA×AÖAØAÓAÑAÒA›None! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáè’«œBAgda£Merge a list of pattern synonym definitions. Fails unless all definitions have the same shape (i.e. equal up to renaming of variables and constructor names).�BAgda.Match an expression against a pattern synonym.žBAgda*Match a pattern against a pattern synonym.œB�BžB�BžBœBœNone! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×ÙàáèœÙŸBAgda-Convert a focused lhs to spine view and back.¢BAgdaThe next patterns are ...(This view discards ¤2.)£BAgda&Application patterns (non-empty list).¤BAgda6A projection pattern. Is also stored unmodified here.¥BAgdaÈWith patterns (non-empty list). These patterns are not prefixed with ï>.¦BAgdaGeneric pattern traversal.¨BAgda Fold pattern.©BAgdaTraverse pattern.­BAgdaÆCompute from each subpattern a value and collect them all in a monoid.®BAgdaÅTraverse pattern(s) with a modification before the recursive descent.¯BAgdaÄTraverse pattern(s) with a modification after the recursive descent.°BAgda?Map pattern(s) with a modification after the recursive descent.±BAgda9Collect pattern variables in left-to-right textual order.²BAgda4Check if a pattern contains a specific (sub)pattern.³BAgdaÀCheck if a pattern contains an absurd pattern. For instance, suc () , does so.+Precondition: contains no pattern synonyms.´BAgda)Check if a pattern contains an @-pattern.µBAgdaêCheck if any user-written pattern variables occur more than once, and throw the given error if they do.¶BAgdaPattern substitution.çFor the embedded expression, the given pattern substitution is turned into an expression substitution.·BAgdaÕPattern substitution, parametrized by substitution function for embedded expressions.¸BAgda7Split patterns into (patterns, trailing with-patterns).¹BAgda1Get the tail of with-patterns of a pattern spine.ºBAgdaConstruct the ¢B" of the given list (if not empty).+Return the view and the remaining patterns.½BAgdaËAdd applicative patterns (non-projection / non-with patterns) to the right.¾BAgdaAdd with-patterns to the right.ÀBAgda.ÄBAgdaCheck for with-pattern.ÑBAgda LHS instance.ÒBAgdaList instance (for clauses).ÓBAgdaClause instance.¨BAgda>Combine a pattern and the value computed from its subpatterns.©BAgdapre : Modification before recursion.Agdapost: Modification after recursion.®BAgdapre : Modification before recursion.¯BAgdapost: Modification after recursion.·BAgda&Substitution function for expressions.Agda(Parallel) substitution.AgdaInput pattern.%ŸB¡B B¢B¤B¥B£B¦B©B¨B§BªB«B¬B­B®B¯B°B±B²B³B´BµB¶B·B¸B¹BºB»B¼B½B¾B¿BÀBÁBÂBÃB%¬BªB«B¦B©B¨B§B­B®B¯B°B±B²B³B´BµB¶B·B¸B¹B¢B¤B¥B£BºBŸB¡B B»B¼B½B¾B¿BÀBÁBÂBÃB�None' #$%'(-./02356789>?ÀÁÂÄÆÉÎÑÔÖ×Ùàáè¢ÙBAgda Currying as b# witnesses the isomorphism between  Arrows as b and Products as -> bÏ. It is defined as a type class rather than by recursion on a singleton for asØ so all of that these conversions are inlined at compile time for concrete arguments.ßBAgdaUsing IsBase we can define notions of Domains and  CoDomains. which *reduce* under positive information IsBase t ~ 'True even though the shape of t is not formally exposedàBAgdaIsBase t is 'True whenever t is *not* a function space.âBAgdaArrows [a1,..,an] r corresponds to a1 -> .. -> an -> r | Products [a1,..,an] corresponds to (a1, (..,( an, ())..))çBAgda Version of FoldrÖ taking a defunctionalised argument so that we can use partially applied functions.èBAgdaOn ListséBAgda On BooleansêBAgdaAll p as ensures that the constraint p is satisfied by all the types in asÚ. (Types is between scare-quotes here because the code is actually kind polymorphic)ÕBÖB×BØBÙBÛBÚBÜBÝBÞBßBàBáBâBãBäBåBæBçBèBéBêBêBéBèBçBæBåBäBãBâBáBàBßBÞBÝBÜBÙBÛBÚBØB×BÖBÕBžNone$ #$%'(-/02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáè£^íBAgdaÝA known boolean is one we can obtain a singleton for. Concrete values are trivially known.ïBAgda"Singleton for type level booleans.íBîBïBñBðBòBóBïBñBðBòBíBîBóBŸNone! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáè¦Ã öBAgdaLike  Bifunctor, but preserving sharing.úBAgdaLike Æ~, but preserving sharing.�CAgdaThe ChangeT monad transformer.‚CAgdaThe class of change monads.…CAgdaRun a �C0 computation, returning result plus change flag.†CAgdaMap a �C( computation (monad transformer action).‡CAgdaBlindly run an updater.ˆCAgdaRun a ÿB0 computation, returning result plus change flag.‰CAgdaBlindly run an updater.ŠCAgdaMark a computation as dirty.ŒCAgdaÆReplace result of updating with original input if nothing has changed.ŽCAgda8A mock change monad. Always assume change has happened.üBAgda = sharing . updater1ƒCAgda-Mark computation as having changed something.öB÷BøBùBúBûBüBýBþBÿB€C�C‚CƒC„C…C†C‡CˆC‰CŠC‹CŒC�C…C†C€C‡CÿB‚CƒC„CˆCþBŒC‰CŠC‹CúBûBüBýBöB÷BøBùB None# #$%'(-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàá設›CAgdaäMain. Fixities (or more precisely syntax declarations) are needed when grouping function clauses.œCAgda(Approximately) convert a Ó- back to a list of Ï's.�CAgdaHas the Ó- a field of type ÿ?žCAgdaContents of a where& clause are abstract if the parent is.ÌÌ-Í-Î-Ï-Ñ-Ó-Ô-Õ-Ö-×-Ø-Ù-Ú-Û-Ü-Ý-Þ-ß-à-á-â-ã-ä-å-æ-ç-è-‹.Œ.�.Ž.�.�.‘.’.“.”.•.–.—.˜.™.š.›.œ.�.ž.Ÿ. .¡.¢.£.¤.¥.¦.§.¨.©.ª.«.¬.­.®.°.¯.¿.À.Á.Â.Ã.Å.è.ë.›CœC�CÌÓ-Ô-Õ-Ö-×-Ø-Ù-Ú-Û-Ü-Ý-Þ-ß-à-á-â-ã-ä-å-æ-ç-è-Ï-Î-Ì-Í-¿.À.Á.Â.­.®.°.¯.‹.Œ.�.Ž.�.�.‘.’.“.”.•.–.—.˜.™.š.›.œ.�.ž.Ÿ. .¡.¢.£.¤.¥.¦.§.¨.©.ª.«.¬.Å.è.ë.›CœC�CÑ-Ã.None! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáèª+èéêëìíîïðñòóôªC«CªCîïóòðñèêéëôìí«C¡None! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáè²C­CAgda e.g. x + 5®CAgdaa number or infinity¯CAgdaâA solution assigns to each flexible variable a size expression which is either a constant or a v + n for a rigid variable v.°CAgda"A matrix with row descriptions in b and column descriptions in c.µCAgda6The Graph Monad, for constructing a graph iteratively.¸CAgdaScope for each flexible var.¹CAgdaNode labels to node numbers.ºCAgdaNode numbers to node labels.»CAgdaNumber of nodes n.¼CAgdaThe edges (restrict to [0..n[).¾CAgda%A constraint is an edge in the graph.ÀCAgdaFor  Arc v1 k v2 at least one of v1 or v2 is a MetaV+ (Flex), the other a MetaV or a Var (Rigid). If k <= 0 this means suc^(-k) v1 <= v2 otherwise v1 <= suc^k v3.ÁCAgda3Which rigid variables a flex may be instatiated to.ÈCAgdaÑNodes of the graph are either - flexible variables (with identifiers drawn from Int*), - rigid variables (also identified by Intn2 to be at most k(. Also adds nodes if not yet present.ßCAgda sizeRigid r n. returns the size expression corresponding to r + n5¬C®C­C¯C°C±C´C³C²CµC¶C·C»CºC¸C¹C¼C½C¾CÀC¿CÁCÂCÃCÄCÅCÇCÆCÈCÊCÉCËCÍCÌCÎCÏCÐCÑCÒCÓCÔCÕCÖC×CØCÙCÚCÛCÜCÝCÞCßCàC5ÏCÐCÎCÑCËCÍCÌCÒCÈCÊCÉCÅCÇCÆCÄCÃCÂCÁCÓCÔC¾CÀC¿C½CÕC¶C·C»CºC¸C¹C¼CÖCµC×CØCÙCÚCÛCÜC°C±C´C³C²C¯CÝCÞC¬C®C­CßCàC¢None" #$%-/02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáè³eîCïCðCñCòCîCïCðCñCòC£None! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáè³Æ öC÷CøCùCúCÿCþCýCüCûC úCÿCþCýCüCûCøCùCöC÷C‡None" #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáè´<›œ�žŸ ¡¢¤None! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×ÙàáèµrˆDAgdaThe version of Agda.‰DAgda‚This package name. This is mainly intended for use in the test suites to filter ephemeral hash-fingerprinted package names like !Agda-2.6.2-5ceeWeguf1QFMaHLput4zw.ˆD‰DˆD‰D¥None$ #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáè¶ŒDAgda?Information about current git commit, generated at compile time‹DŒD‹DŒD¦None! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×ÙàáèÀº�DAgdaÙLibrary names are structured into the base name and a suffix of version numbers, e.g.  mylib-1.2.3". The version suffix is optional.�DAgdaActual library name.�DAgda�Major version, minor version, subminor version, etc., all non-negative. Note: a priori, there is no reason why the version numbers should be Ints.‘DAgdaRaise collected  LibErrors as exception.’DAgdaßReturns the absolute default lib dir. This directory is used to store the Primitive.agda file.“DAgdaGet project root”DAgdaGet the contents of  .agda-lib! files in the given project root.•DAgda:Get dependencies and include paths for given project root: Look for  .agda-lib files according to findAgdaLibFiles?. If none are found, use default dependencies (according to defaults/ file) and current directory (project root).–DAgda9Parse the descriptions of the libraries Agda knows about.Returns none if there is no  libraries file.—DAgda0Return the trusted executables Agda knows about.Returns none if there is no  executables file.˜DAgda6Get all include pathes for a list of libraries to use.™DAgdaGeneralized version of £ for testing. ÄfindLib' id "a" [ "a-1", "a-02", "a-2", "b" ] == [ "a-02", "a-2" ] †findLib' id "a" [ "a", "a-1", "a-01", "a-2", "b" ] == [ "a" ] findLib' id "a-1" [ "a", "a-1", "a-01", "a-2", "b" ] == [ "a-1", "a-01" ] findLib' id "a-2" [ "a", "a-1", "a-01", "a-2", "b" ] == [ "a-2" ] findLib' id "c" [ "a", "a-1", "a-01", "a-2", "b" ] == []šDAgdaÁSplit a library name into basename and a list of version numbers. óversionView "foo-1.2.3" == VersionView "foo" [1, 2, 3] versionView "foo-01.002.3" == VersionView "foo" [1, 2, 3]$Note that because of leading zeros,  versionView is not injective. (unVersionView . versionView would produce a normal form.)›DAgdaPrint a  VersionView , inverse of  versionView (modulo leading zeros).•DAgda Project root.AgdaUse defaults if no  .agda-lib file exists for this project?Agda The returned LibNames are all non-empty strings.–DAgdaOverride the default  libraries file?Agda-Content of library files. (Might have empty LibNames.)—DAgda Content of  executables files.˜DAgda libraries file (error reporting only).AgdaLibraries Agda knows about.Agda>(Non-empty) library names to be resolved to (lists of) pathes.Agda2Resolved pathes (no duplicates). Contains "." if  [LibName] does.&ƒ#Ž#�#�#‘#’#“#”#–#—#˜#™#š#›#œ#�#ž#Ÿ# #¡#¦#«#³#�DŽD�D�D‘D’D“D”D•D–D—D˜D™DšD›D&“D•D–D—D˜D”D’D«#–#—#˜#™#š#›#œ#¦#ƒ#‘DŽ#�#�#‘#’#“#”#³#�#ž#Ÿ# #¡#�DŽD�D�DšD›D™DˆNone# #$%-/02356789>?ÀÁÂÄÆÉÎÑÔ×ÙàáèÑô,žDAgdaf :: Flag optsÏ is an action on the option record that results from parsing an option. f optsà produces either an error message or an updated options record DAgdaThe options from an OPTIONS pragma.±In the future it might be nice to switch to a more structured representation. Note that, currently, there is not a one-to-one correspondence between list elements and options.¤DAgda%Options which can be set in a pragma.°DAgdaÉCut off structural order comparison at some depth in termination checker?»DAgda+irrelevant levels, irrelevant data matching½DAgda(Allow definitions by copattern matching?¾DAgda0Is pattern matching allowed in the current file?ÁDAgda2Perform the forcing analysis on data constructors?ÂDAgda6Perform the projection-likeness analysis on functions?ÃDAgda$Can rewrite rules be added and used?ÆDAgdaÎShould we speculatively unify function applications as if they were injective?ÇDAgda$Should system generated projections  ProjSystem0 be printed postfix (True) or prefix (False).ÈDAgdaæShould case splitting replace variables with dot patterns (False) or keep them as variables (True).ËDAgda?Should instance search consider instances with qualified names?ÏDAgda:Should conversion checker use syntactic equality shortcut?ÓDAgdaÐCount extended grapheme clusters rather than code points when generating LaTeX.ÔDAgdaÓAutomatic compile-time inlining for simple definitions (unless marked NOINLINE).ÖDAgda+Use the Agda abstract machine (fastReduce)?×DAgda(Use call-by-name instead of call-by-needØDAgda"Check confluence of rewrite rules?ÙDAgda)Can we split on a (@flat x : A) argument?ÚDAgdaÂShould every top-level module start with an implicit statement ,open import Agda.Primitive using (Set; Prop)?ÜDAgdaìShow identity substitutions when pretty-printing terms (i.e. always show all arguments of a metavariable)âDAgda'The list should not contain duplicates.äDAgda-Use this (if Just) instead of .agda/librariesåDAgdaUse ~.agdadefaultsæDAgdalook for .agda-lib filesçDAgda2Map names of trusted executables to absolute pathsëDAgdaAgda REPL (-I).ïDAgda2In the absence of a path the project root is used.õDAgdaËShould the top-level module only be scope-checked, and not type-checked?ùDAgdaƒMap a function over the long options. Also removes the short options. Will be used to add the plugin name to the plugin options.ÿDAgda-Checks that the given options are consistent.€EAgda?ÀÁÂÄÆÉÎÑÔ×ÙàáèÓÏ�EAgda9Returns the pragma options which are currently in effect.�EAgda?Returns the command line options which are currently in effect.ŽE�E�E None! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×ÙàáèÔ"�ÊÉÎËÍÌ¿…†‡÷!ø!ù!ú!žDŸD D¡D¢D£D¤D¥DÜDÚDÙDØD×DÖDÕDÔDÒDÑDÐDÎDÍDÌDÉDÈDÇDÆDÂDÁDÀD¿D¾D½D¼D»DºD¹D·D¶D´D³D²D±D¯D®D­D¬D«DªD©D§D¦DÓDÛDÏDµD¸DÄDÅDËDÊDÃD¨D°DÝDÞDõDòDñDðDïDîDíDëDêDéDèDæDäDãDâDáDàDßDåDôDìDóDçDöD÷DøDùDúDûDüDýDþDÿD€E�E‚EƒE„E…E†E‡EˆE‰EŠE‹EŒE�EŽE�E�E�ÝDÞDóDçDìDôDåDßDàDáDâDãDäDæDèDéDêDëDíDîDïDðDñDòDõD¤D¥D¨D°DÃDÊDËDÅDÄD¸DµDÏDÛDÓD¦D§D©DªD«D¬D­D®D¯D±D²D³D´D¶D·D¹DºD»D¼D½D¾D¿DÀDÁDÂDÆDÇDÈDÉDÌDÍDÎDÐDÑDÒDÔDÕDÖD×DØDÙDÚDÜD DžDŸDþDÊÉÎÍÌËöDøD÷D÷!ø!ù!ú!¡D¢D£D…†‡ÿDŠE‹E�EüDûDúD¿ýDˆE€E�E‚EƒE…EùDŒE„E†E‡E‰EŽE�E�ESNone" #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×ÙàáèŒhé“Agda+Polarity for equality and subtype checking.–AgdaÄMaps top-level module names to the corresponding source file names.—AgdaType checking monad.˜Agda4The type checking monad transformer. Adds readonly œ and mutable ›.�Agda;How much highlighting should be sent to the user interface?žAgda6How should highlighting be sent to the user interface?ŸAgda8For printing, we couple a meta with its name suggestion.¡AgdaType-checking errors.¢AgdaúA non-fatal error is an error which does not prevent us from checking the document further and interacting with the user.‘EAgdaThe constraints needed for ¶N and similar.’EAgdaEmbedding a TCM computation.˜EAgda3`patternViolation b` aborts the current computation™EAgdaÈ`catchPatternErr handle m` runs m, handling pattern violations with handle (doesn't roll back the state)šEAgda MonadTCStateÅ made into its own dedicated service class. This allows us to use ¤ for ¥ extensions of TCM.žEAgda MonadTCEnvÅ made into its own dedicated service class. This allows us to use ü~ for ¦ extensions of TCM.¦EAgda Environment of the reduce monad.¨EAgda Read only access to environment.©EAgda0Read only access to state (signature, metas...).¬EAgda?The first argument is the state in which the error was raised.­EAgdaÜThe exception which is usually caught. Raised for pattern violations during unification (assignVŒ) but also in other situations where we want to backtrack. Contains an unblocker to control when the computation should be retried.®EAgdaÄLocation in the internal Agda source code where the error was raised¯EAgda(The state in which the error was raised.°EAgdaExpected a type to be an application of a particular datatype.¾EAgdaconstructor, datatype¿EAgdaDatatype, constructors.ÀEAgdaconstructor, typeÁEAgdaåThe left hand side of a function definition has a hidden argument where a non-hidden was expected.ÂEAgda9Expected a non-hidden function and found a hidden lambda.ÃEAgdaËA function is applied to a hidden argument where a non-hidden was expected.ÄEAgda‡A function is applied to a hidden named argument it does not have. The list contains names of possible hidden arguments at this point.ÅEAgda0Wrong user-given relevance annotation in lambda.ÆEAgda/Wrong user-given quantity annotation in lambda.ÇEAgda/Wrong user-given cohesion annotation in lambda.ÈEAgdaÀThe given quantity does not correspond to the expected quantity.ÉEAgdaFailed to apply injectivity to constructor of indexed datatypeËFAgda=Can't solve equation because variable occurs in (type of) lhsÌFAgda=Can't solve reflexive equation because --without-K is enabledÍFAgda?Can't solve equation because solution modality is less "usable"ÑFAgdaËError when splitting a pattern variable into possible constructor patterns.ÒFAgdaNeither data type nor record.ÓFAgda'Type could not be sufficiently reduced.ÔFAgda8Data type, but in erased position. If the boolean is Ö~Ê, then the reason for the error is that the K rule is turned off.ÕFAgdaôSplit on codata not allowed. UNUSED, but keep! -- | NoRecordConstructor Type -- ^ record type, but no constructor×FAgdaCopattern split with a catchallØFAgda-We do not know the target type of the clause.ÙFAgda!Target type is not a record type.ÜFAgdaBlocking metavariable (if any)ÝFAgda Constructor.ÞFAgdaContext for indices.ßFAgda,Inferred indices (from type of constructor).àFAgda)Expected indices (from checking pattern).áFAgda$Reason(s) why unification got stuck.âFAgdaÍInformation about a mutual block which did not pass the termination checker.äFAgdaÚThe functions which failed to check. (May not include automatically generated functions.)åFAgdaThe problematic call sites.æFAgdaInformation about a call.èFAgdaTarget function name.éFAgdaRange of the target function.êFAgda+To be formatted representation of the call.ìFAgdaÉLocation in the internal Agda source code location where the error raisedíFAgda"Range where the warning was raisedîFAgdaThe warning itselfïFAgdaÄThe warning printed in the state and environment where it was raisedðFAgda*Should the warning be affected by caching.òFAgdaÀEach redundant field comes with a range of associated dead code.óFAgda…Record type, fields not supplied by user, non-fields but supplied. The redundant fields come with a range of associated dead code.öFAgda4`UnreachableClauses f rs` means that the clauses in f' whose ranges are rs are unreachable÷FAgda!`CoverageIssue f pss` means that pss are not covered in fúFAgdaDo not use directly with warningûFAgdaDo not use directly with warningüFAgdaDo not use directly with warningÿFAgdaÁIn `OldBuiltin old new`, the BUILTIN old has been replaced by new€GAgdaIf the user wrote just {-# REWRITE #-}.�GAgda An empty where block is dead code.‚GAgdaÅIf the user wrote something other than an unqualified name in the as clause of an import statement. The ‘$ gives optionally extra explanation.ƒGAgdaIf a renamingô import directive introduces a name or module name clash in the exported names of a module. (See issue #4154.)„GAgdaThe  'pattern'5 declaration is useless in the presence of either  coinductive or  eta-equality. Content of ‘! is "coinductive" or "eta", resp.…GAgdaÑIf the user opens a module public before the module header. (See issue #2377.)†GAgda Names in Ç5 directive that don't hide anything imported by a Æ directive.‰GAgdaûAn instance was declared with an implicit argument, which means it will never actually be considered by instance search.ŠGAgdaýThe type of an instance argument doesn't end in a named or variable type, so it will never be considered by instance search.‹GAgdaÖAs InstanceWithExplicitArg, but for local bindings rather than top-level instances.ŒGAgda&The --inversion-max-depth was reached.�GAgdaÜA coinductive record was declared but neither --guardedness nor --sized-types is enabled.ŽGAgda'Harmless generic warning (not an error)�GAgda=Generic error which doesn't abort proceedings (not a warning)�GAgda:Generic warning when code is useless and thus ignored. û  is for dead code highlighting.’GAgdaUnsafe OPTIONS.œGAgdaETA pragma is unsafe.ŸGAgda)`DeprecationWarning old new version`: old is deprecated, use new( instead. This will be an error in Agda version. GAgdaÀUser-defined warning (e.g. to mention that a name is deprecated)¡GAgda'Duplicate mentions of the same name in using directive(s).¢GAgdaÐFixity of modules cannot be changed via renaming (since modules have no fixity).£GAgdaÂSome imported names are not actually exported by the source module. The second argument is the names that could be exported. The third argument is the module names that could be exported.¤GAgdaÁImporting a file using an infective option into one which doesn't¥GAgdaÃImporting a file not using a coinfective option from one which does¦GAgdaØConfluence checker found critical pair and equality checking resulted in a type error§GAgdaÎConfluence checker got stuck on computing overlap between two rewrite rules¨GAgda+The global confluence checker found a term u that reduces to both v1 and v22 and there is no rule to resolve the ambiguity.©GAgda+The global confluence checker found a term u that reduces to v, but v does not reduce to rho(u).ªGAgda&COMPILE directive for an erased symbol«GAgda&Out of scope error we can recover from¬GAgda;The as-name in an as-pattern may not shadow a constructor (False) or pattern synonym name (True,), because this can be confusing to read.°GAgdaêRanges of checked arguments, where present. e.g. inserted implicits have no correponding abstract syntax.±GAgda&Checked and inserted arguments so far.²GAgdaÍConstraints for the head so far, i.e. before applying the correponding elim.³GAgda%Type for the rest of the application.µGAgdaºA candidate solution for an instance meta is a term with its type. It may be the case that the candidate is not fully applied yet or of the wrong type, hence the need for the type.¿GAgdaÁAdd implicit arguments in the end until type is no longer hidden Þ8.ÀGAgda!Do not append implicit arguments.ÁGAgdaMakes  doExpandLastÐ have no effect. Used to avoid implicit insertion of arguments to metavariables.ÃGAgda6Abstract things in the current module can be accessed.ÄGAgda#No abstract things can be accessed.ÅGAgda$All abstract things can be accessed.ÈGAgdaThe Context is a stack of ÇGs.ÒGAgda=The path to the file that is currently being type-checked. Ý~9 if we do not have a file (like in interactive mode see  CommandLine).ÓGAgda4anonymous modules and their number of free variablesÔGAgdažThe module stack with the entry being the top-level module as Agda chases modules. It will be empty if there is no main module, will have a single entry for the top level module, or more when descending past the main module. This is used to detect import cycles and in some cases highlighting behavior. The level of a given module is not necessarily the same as the length, in the module dependency graph, of the shortest path from the top-level module; it depends on in which order Agda chooses to chase dependencies.ÕGAgda!the current (if any) mutual blockÖGAgda/are we inside the scope of a termination pragma×GAgda,are we inside the scope of a coverage pragmaØGAgdaÅare we inside a make-case (if so, ignore forcing analysis in unifier)ÙGAgda>Are we currently in the process of solving active constraints?ÚGAgdaÏHave we stepped into the where-declarations of a clause? Everything under a where# will be checked with this flag on.ÛGAgda&Are we working on types? Turned on by  workOnTypes.ÜGAgdaAre we allowed to assign metas?ÞGAgda¿When checking the typesignature of a public definition or the body of a non-abstract definition this is true. To prevent information about abstract things leaking outside the module.ßGAgdaã7 component: Are we checking an irrelevant argument? (= IrrelevantÅ) Then top-level irrelevant declarations are enabled. Other value: Relevant*, then only relevant decls. are available.î; component: Are we checking a runtime-irrelevant thing? (=ï<) Then runtime-irrelevant things are usable. Other value:  Quantity1, runtime relevant.  QuantityÉ/ is not allowed here, see Bob Atkey, LiCS 2018.àGAgda£Are we currently case-splitting on a strict datatype (i.e. in SSet)? If yes, the pattern-matching unifier will solve reflexive equations even --without-K.áGAgda+Sometimes we want to disable display forms.ãGAgda8Interactive highlighting uses this range rather than âG.äGAgdaêWhat is the current clause we are type-checking? Will be recorded in interaction points in this clause.åGAgdawhat we're doing at the momentæGAgdaSet to �H+ when imported modules are type-checked.èGAgda‚When type-checking an alias f=e, we do not want to insert hidden arguments in the end, because these will become unsolved metas.éGAgdaÝWe are reducing an application of this function. (For debugging of incomplete matches only.)êGAgdaÙDid we encounter a simplification (proper match) during the current reduction process?îGAgdaÄInjectivity can cause non-termination for unsolvable contraints (431, À3067). Keep a limit on the nesting depth of injectivity uses.ïGAgdaWhen TrueÔ, the conversion checker will consider all term constructors as injective, including blocked function applications and metas. Warning: this should only be used when not assigning any metas (e.g. when envAssignMetas is False or when running pureEqualTerms.) or else we get non-unique meta solutions.ðGAgdaWhen TrueÉ, types will be omitted from printed pi types if they can be inferred.ñGAgdaWhen True›, throw away meta numbers and meta elims. This is used for reifying terms for feeding into the user's source code, e.g., for the interaction tactics solveAll.òGAgda–Used by the scope checker to make sure that certain forms of expressions are not used inside dot patterns: extended lambdas and let-expressions.ôGAgdaòUntil we get a termination checker for instance search (#1743) we limit the search depth to ensure termination.öGAgdaÿ#3004: pattern lambdas with copatterns may refer to themselves. We don't have a good story for what to do in this case, but at least printing shouldn't loop. Here we keep track of which pattern lambdas we are currently in the process of printing.÷GAgda+Use call-by-need evaluation for reductions.øGAgdaèCheckpoints track the evolution of the context as we go under binders or refine it by pattern matching.ùGAgdaÏKeeps the substitution from each previous checkpoint to the current context.úGAgda"Should new metas generalized over.ûGAgda(Values for used generalizable variables.üGAgdaÒIs some backend active at the moment, and if yes, which? NB: we only store the • here, otherwise instance Data TCEnvË is not derivable. The actual backend can be obtained from the name via ØL.ýGAgdaëAre we currently computing the overlap between two rewrite rules for the purpose of confluence checking?þGAgdaÚAre we currently in the process of executing an elaborate-and-give interactive command?ÿGAgda Via stdout.€HAgdaBoth via files and via stdout.ƒHAgda†This includes both non-interactive highlighting and interactive highlighting of the expression that is currently being type-checked.’HAgda-Builtin of any kind. Type can be checked (Just t) or inferred (NothingÄ). The second argument is the hook for the verification function.“HAgda2When typechecking something of the following form:"instance x : _ x = y it's not yet known where to add xÑ, so we add it to a list of unresolved instances and we'll deal with it later.”HAgdaThe instance table is a Map' associating to every name of record data typepostulate its list of instances«HAgda8Highlight (interactively) if and only if the boolean is Ö~.·HAgda*Interaction command: show module contents.¸HAgdaused by setCurrentRangeÌHAgda PrimitivesÒHAgda Controlling reduce.ÓHAgda:(Projection and) projection-like functions may be reduced.ÔHAgda'Functions marked INLINE may be reduced.ÕHAgda%Copattern definitions may be reduced.ÖHAgda6Non-recursive functions and primitives may be reduced.×HAgda(Even recursive functions may be reduced.ØHAgdaReduce ¯8 terms.ÙHAgdaAllow  allReductionsÏ in types, even if not allowed at term level (used by confluence checker)ÚHAgda9Functions whose termination has not (yet) been confirmed.ÛHAgda0Functions that have failed termination checking.âHAgdaÎThree cases: 1. not reduced, 2. reduced, but blocked, 3. reduced, not blocked.èHAgda¢Did we encounter a simplifying reduction? In terms of CIC, that would be a iota-reduction. In terms of Agda, this is a constructor or literal pattern that matched. Just beta-reduction (substitution) or delta-reduction (unfolding of definitions) does not count as simplifying?îHAgda PostulateïHAgdaÀData or record type signature that doesn't yet have a definitionðHAgda&Generalizable variable (introduced in  generalize block)ñHAgda Returned by  getConstInfo if definition is abstract.öHAgdaPrimitive or builtin functions.øHAgda5Can transp for this postulate be constant? Set to True for bultins like String.ûHAgdaÝ~* while function is still type-checked. Just ccà after type and coverage checking and translation to case trees.üHAgdaõThe split tree constructed by the coverage checker. Needed to re-compile the clauses after forcing translation.ýHAgda2Intermediate representation for compiler backends.þHAgdaÜCovering clauses computed by coverage checking. Erased by (IApply) confluence checking(?)€IAgdaMutually recursive functions, datas and recordÅs. Does include this function. Empty list if not recursive. Nothing- if not yet computed (by positivity checker).‚IAgda+Are the clauses of this definition delayed?ƒIAgda¨Is it a record projection? If yes, then return the name of the record type and index of the record argument. Start counting with 1, because 0 means that it is already applied to the record. (Can happen in module instantiation.) This information is used in the termination checker.…IAgda9Has this function been termination checked? Did it pass?†IAgda†Is this function generated from an extended lambda? If yes, then return the number of hidden and non-hidden lambda-lifted arguments‡IAgdaÚIs this a generated with-function? If yes, then what's the name of the parent function.ˆIAgdaNumber of parameters.‰IAgdaNumber of indices.ŠIAgda(This might be in an instantiated module.‹IAgdaÇConstructor names , ordered according to the order of their definition.�IAgdaMutually recursive functions, datas and recordÁs. Does include this data type. Empty if not recursive. Nothing- if not yet computed (by positivity checker).�IAgda+Path constructor names (subset of dataCons)�IAgdaNumber of parameters.‘IAgda‰Was this record type created by a module application? If yes, the clause is its definition (linking back to the original record type).’IAgdaConstructor name and fields.“IAgdaDoes this record have a  constructor?”IAgdaThe record field names.•IAgdaÃThe record field telescope. (Includes record parameters.) Note: $TelV recTel _ == telView' recConType . Thus, recTel is redundant.–IAgdaMutually recursive functions, datas and record>s. Does include this record. Empty if not recursive. Nothing- if not yet computed (by positivity checker).—IAgda#Eta-expand at this record type? Falseà for unguarded recursive records and coinductive records unless the user specifies otherwise.˜IAgdaîIn case eta-equality is off, do we allow pattern matching on the constructor or construction by copattern matching? Having both loses subject reduction, see issue #4560. After positivity checking, this field is obsolete, part of ´I.™IAgda› or œ*? Matters only for recursive records. Ý~Ô means that the user did not specify it, which is an error for recursive records.œIAgdaNumber of parameters.�IAgda+Number of arguments (excluding parameters).žIAgdaÐName of (original) constructor and fields. (This might be in a module instance.)ŸIAgda Name of datatype or record type.¡IAgdaInductive or coinductive?¢IAgdaCubical composition.£IAgda Projections. Ý~ if not yet computed.¤IAgda Which arguments are forced (i.e. determined by the type of the constructor)? Either this list is empty (if the forcing analysis isn't run), or its length is conArity.¥IAgdaÔWhich arguments are erased at runtime (computed during compilation to treeless)? Ö~ means erased, õ~ means retained. Ý~Í if no erasure analysis has been performed yet. The length of the list is conArity.¨IAgdaë for primitive functions, not null for builtin functions.©IAgdaËBuiltin functions can have inverses. For instance, natural number addition.ªIAgdaÝ~ for primitive functions, Ü~ something for builtin functions.±IAgda r .p2 (Invariant: the number of abstractions equals ÀIØ.) In case of a projection-like function, just the function symbol is returned as Ü8: t = pars -> f.ÂIAgda,Additional information for extended lambdas.ÄIAgda®For complicated reasons the scope checker decides the QName of a pattern lambda, and thus its module. We really need to decide the module during type checking though, since if the lambda appears in a refined context the module picked by the scope checker has very much the wrong parameters.ÅIAgda2Was this definition created from an absurd lambda » ()?ÇIAgda¹An alternative representation of partial elements in a telescope: “ ¢E » ”. [Æ�A u�A, ... , Æ™A u™A] : ” ’C PartialP (¨D_â: Æâ:) T see cubicaltt paper (however we do not store the type T).ÉIAgda4the telescope ”, binding vars for the clauses, “ ¢E ”ÊIAgda?a system [Æ�A u�A, ... , Æ™A u™A] where “, ” ¢E Æâ: and “, ”, Æâ: ¢E uâ:ÍIAgda;The backends are responsible for parsing their own pragmas.ÏIAgdaÊInformation about whether an argument is forced by the type of a function.ÒIAgdamonotoneÓIAgdaantitoneÔIAgdano information (mixed variance)ÕIAgdaconstantØIAgda5When lambda-lifting new args are generalizable if ØI, also when the number is zero.ÛIAgdaHiding should not be used.ÜIAgda-The canonical name, used e.g. in compilation.ÝIAgdaType of the lifted definition.ÞIAgda˜Variance information on arguments of the definition. Does not include info for dropped parameters to projection(-like) functions and constructors.ßIAgdašPositivity information on arguments of the definition. Does not include info for dropped parameters to projection(-like) functions and constructors.àIAgda)How many arguments should be generalised.áIAgdaäGives the name of the (bound variable) parameter for named generalized parameters. This is needed to bring it into scope when type checking the data/record definition corresponding to a type with generalized parameters.åIAgdaJust q/ when this definition is an instance of class qæIAgda:Has this function been created by a module instantiation?çIAgdaÄThe set of symbols with rewrite rules that match against this symbolèIAgda8should compilers skip this? Used for e.g. cubical's compéIAgdaÇShould the def be treated as injective by the pattern matching unifier?êIAgda)Is this a function defined by copatterns?ëIAgda‰What blocking tag to use when we cannot reduce this def? Used when checking a function definition is blocked on a meta in the type.ìIAgda%The language used for the definition.îIAgda?Rewrite rules can be added independently from function clauses.ðIAgdaName of rewrite rule q : “ ’C f ps áD rhs where áD is the rewrite relation.ñIAgda“.òIAgdaf.óIAgda “ ¢E f ps : t.ôIAgda “ ¢E rhs : t.õIAgda“ ¢E t.öIAgdaÎWas this rewrite rule created from a clause in the definition of the function?ƒJAgda1Non-linear (non-constructor) first-order pattern.„JAgdaðMatches anything (modulo non-linearity) that only contains bound variables that occur in the given arguments.…JAgdaMatches f es†JAgdaMatches » x ’C t‡JAgdaMatches  (x : A) ’C BˆJAgda"Matches a sort of the given shape.‰JAgdaMatches x es# where x is a lambda-bound variableŠJAgda'Matches the term modulo ² (ideally ²·).‹JAgdaA structured presentation of a Ø8 for reification into Š‹.ŒJAgda(f vs | ws) es. The first ‹J is the parent function f with its args vs. The list of ‹Js are the with expressions ws . The Õ8 are additional arguments esì (possible in case the with-application is of function type) or projections (if it is of record type).�JAgdac vs.ŽJAgdad vs.�JAgda.v.�JAgdav.’JAgdaA  DisplayForm is in essence a rewrite rule  q ts --> dt: for a defined symbol (could be a constructor as well) q. The right hand side is a ‹J which is used to reify to a more readable Š‹. The patterns ts are just terms, but the first  dfPatternVars: variables are pattern variables that matches any term.”JAgdaNumber n of pattern variables in •J.•JAgdaLeft hand side patterns, the nÄ first free variables are pattern variables, any variables above n© are fixed and only match that particular variable. This happens when you have display forms inside parameterised modules that match on the module parameters. The ­ is ignored in these patterns.–JAgdaRight hand side.¢JAgda'The rewrite rules defined in this file.£JAgda0Which clause is an interaction point located in?¥JAgda4The interaction point is not in the rhs of a clause.¦JAgdaThe name of the function.§JAgda*The number of the clause of this function.¨JAgdaThe type of the function©JAgdaModule parameter substitutionªJAgdaThe original AST clause.«JAgda&Environment for rechecking the clause.¬JAgda The boundary imposed by the LHS.®JAgdaÛDatatype representing a single boundary condition: x_0 = u_0, ... ,x_n = u_n ¢E t = ?n es°JAgda x_0 = u_0, ... ,x_n = u_n±JAgda t²JAgda ?n es³JAgdaIs ?n overapplied in ?n es ?´JAgdaÐFlag to indicate whether the meta is overapplied in the constraint. A meta is overapplied if it has more arguments than the size of the telescope in its creation environment (as stored in MetaInfo).·JAgda/Data structure managing the interaction points.ÄWe never remove interaction points from this map, only set their ¼J to True. (Issue #2368)¸JAgda«Interaction points are created by the scope checker who sets the range. The meta variable is created by the type checker and then hooked up to the interaction point.ºJAgda&The position of the interaction point.»JAgda0The meta variable, if any, holding the type etc.¼JAgda/Has this interaction point already been solved?½JAgdaÉThe clause of the interaction point (if any). Used for case splitting.ÂJAgdaÅName suggestion for meta variable. Empty string means no suggestion.ÃJAgdaMetaInfo4 is cloned from one meta to the next during pruning.ÆJAgda-Instantiable with irrelevant/erased solution?ÇJAgda7Run the extended occurs check that goes in definitions?ÈJAgdaUsed for printing. Just x8 if meta-variable comes from omitted argument with name x.ÉJAgdaÄShould this meta be generalized if unsolved? If so, at what ArgInfo?ÍJAgdaðMeta variable priority: When we have an equation between meta-variables, which one should be instantiated?6Higher value means higher priority to be instantiated.ÓJAgda(» (xs : t€A) ’C e) : t This is not an instance of ÐJÔ as the domain type has already been checked. For example, when checking '(» (x y : Fin _) ’C e) : (x : Fin n) ’C ? we want to postpone (» (y : Fin n) ’C e) : ? where Fin n is a Ê8 rather than an ô?.ÔJAgda,Quote the given term and check type against Ø8×JAgdaÓmetas created for hidden and instance arguments in the principal argument's typeØJAgdaÇprincipal argument's type, stripped of hidden and instance argumentsÙJAgda Solving a ÑJð constraint may or may not check the target type. If it did, it returns a handle to any unsolved constraints.ÝJAgda4solved by term (abstracted over some free variables)ÞJAgdaunsolvedßJAgda+open, to be instantiated by instance searchàJAgda(solution blocked by unsolved constraintsâJAgda¿Frozen meta variable cannot be instantiated by unification. This serves to prevent the completion of a definition by its use outside of the current block. (See issues 118, 288, 399).ãJAgdaDo not instantiate.ëJAgda4some metavariables are more eager to be instantiatedìJAgdaŽa metavariable doesn't have to depend on all variables in the context, this "permutation" will throw away the ones it does not depend onïJAgdaÂmeta variables scheduled for eta-expansion but blocked by this oneðJAgdaÂare we past the point where we can instantiate this meta variable?ñJAgdaJust m3 means that this meta-variable will be equated to m$ when the latter is unblocked. See äŒ.òJAgda€The value of a generalizable variable. This is created to be a generalizable meta before checking the type to be generalized.øJAgda2Generalize because it is a generalizable variable.ùJAgda—Generalize because it is a metavariable and we're currently checking the type of a generalizable variable (this should get the default modality).úJAgdaDon't generalize.ûJAgdaÆParametrized since it is used without MetaId when creating a new meta.ÿJAgdaare we checking (CmpLeq) or inferring (CmpEq ) the type?�KAgdaµA thing tagged with the context it came from. Also keeps the substitution from previous checkpoints. This lets us handle the case when an open thing was created in a context that we have since exited. Remember which module it's from to make sure we don't get confused by checkpoints from other files.‡KAgda÷We can either compare two terms at a given type, or compare two types without knowing (or caring about) their sorts.ˆKAgdaType should not be Size5. But currently, we do not rely on this invariant.‰KAgda Replaces AsTermsOf Size.‹KAgdaAn extension of ” to >=.›KAgdaåMeta created for a term blocked by a postponed type checking problem or unsolved constraints. The ÜJ( for the meta (when unsolved) is either àJ or áJ.œKAgda+The range is the one of the absurd pattern.�KAgdaCheck that the Ø8. is either not a SIZELT or a non-empty SIZELT.žKAgdaœthe first argument is the instance argument and the second one is the list of candidates (or Nothing if we haven™@t determined the list of candidates yet)ŸKAgda2Last argument is the error causing us to postpone. KAgdaÃFirst argument is computation and the others are hole and goal type¡KAgdaCheckLockedVars t ty lk lk_ty with t : ty,  lk : lk_ty and t lk well-typed.¢KAgda)is the term usable at the given modality?´KAgdaHash of the source code.µKAgda¬The source code. The source code is stored so that the HTML and LaTeX backends can generate their output without having to re-read the (possibly out of date) source code.¶KAgda4Source file type, determined from the file extension·KAgda"Imported modules and their hashes.¸KAgdaModule name of this interface.¹KAgdaScope defined by this module.ùAndreas, AIM XX: Too avoid duplicate serialization, this field is not serialized, so if you deserialize an interface, iScope will be empty. But constructIScope constructs ¹K from ºK.ºKAgda1Scope after we loaded this interface. Used in ¿� and ÄŽ.¼KAgda-Display forms added for imported identifiers.½KAgda&User warnings for imported identifiers¾KAgda8Whether this module should raise a warning when importedÂKAgda$Pragma options set in library files.ÃKAgdaPragma options set in the file.ÄKAgdaéOptions/features used when checking the file (can be different from options set directly in the file).ÏKAgda³Warnings were encountered when the module was type checked. These might include warnings not stored in the interface itself, specifically unsolved interaction metas. See Agda.Interaction.ImportsÐKAgdaÖ~É if the module is a primitive module, which should always be importable.ÑKAgdaThe ÒK used to create the ²KÒKAgdaÝDistinguishes between type-checked and scope-checked interfaces when stored in the map of ËK.ÕKAgdaóA monad that has read and write access to the stConcreteNames part of the TCState. Basically, this is a synonym for `MonadState ConcreteNames m` (which cannot be used directly because of the limitations of Haskell's typeclass system).ÙKAgdaÄMaps source file names to the corresponding top-level module names.ÚKAgdaCreate a fresh name from a.ãKAgda0A complete log for a module will look like this:çKäK, entering the main module.æKäKåK*, for declarations and nested modulesåK, leaving the main module.æKAgdaNever a Section or ScopeDeclèKAgdaLike éKù, but storing the log for an ongoing type checking of a module. Stored in reverse order (last performed action first).éKAgda‰A log of what the type checker does and states after the action is completed. The cached version is stored first executed action first.îKAgdaÙA part of the state which is not reverted when an error is thrown or the state is reset.òKAgda÷Callback function to call when there is a response to give to the interactive frontend. See the documentation of »4.óKAgda÷Structure to track how much CPU time was spent on which Agda phase. Needs to be a strict field to avoid space leaks!ôKAgdaShould be strict field.õKAgdaÂCached typechecking state from the last loaded file. Should be Nothing when checking imports.öKAgda#Current backends with their options÷KAgda)A mutual block of names in the signature.ùKAgda&The original info of the mutual block.ýKAgdaHighlighting info.þKAgdaêDisambiguation carried out by the type checker. Maps position of first name character to disambiguated ÿ for each õ$ already passed by the type checker.ƒLAgdaÔDirty when a constraint is added, used to prevent pointer update. Currently unused.„LAgdaËDefinitions to be considered during occurs check. Initialized to the current mutual block before the check. During occurs check, we remove definitions from this set as soon we have checked them.…LAgdaåDeclared identifiers of the current file. These will be serialized after successful type checking.†LAgdaéFor each module remember the checkpoint corresponding to the orignal context of the module parameters.‡LAgda-Display forms we add for imported identifiersˆLAgdaÀThe current module is available after it has been type checked.ŠLAgdaƒMap keeping track of concrete names assigned to each abstract name (can be more than one name in case the first one is shadowed)‹LAgda²Map keeping track for each name root (= name w/o numeric suffixes) what names with the same root have been used during a TC computation. This information is used to build the ShadowingNames map.ŒLAgdaëMap keeping track for each (abstract) name the list of all (raw) names that it could maybe be shadowed by.�LAgdaÚCounters to collect various statistics about meta variables etc. Only for current file.šLAgdaÓShould we instantiate away blocking metas? This can produce ill-typed terms but they are often more readable. See issue #3606. Best set to True only for calls to pretty*/reify to limit unwanted reductions.›LAgda/Local partial definitions, to be stored in the  InterfacežLAgda1Name disambiguation for the sake of highlighting.¢LAgdaýHighlighting info for tokens and Happy parser warnings (but not for those tokens/warnings for which highlighting exists in ýK).£LAgda?Imported declared identifiers. Those most not be serialized!¨LAgda2Pattern synonyms of the current file. Serialized.©LAgda3Imported pattern synonyms. Must not be serialized!ªLAgdaÆCollected generalizable variables; used during scope checking of terms«LAgda&Options applying to the current file. OPTIONS! pragmas only affect this field.­LAgda;Display forms added by someone else to imported identifiers¯LAgda{-# FOREIGN #-}â code that should be included in the compiled output. Does not include code for imported modules.±LAgda Imported  UserWarnings, not to be stored in the  Interface²LAgdaLocally defined  UserWarnings, to be stored in the  Interface³LAgda=Whether the current module should raise a warning when opened´LAgda6Imported partial definitions, not to be stored in the  InterfaceµLAgdaÊMap from directories to paths of closest enclosing .agda-lib files (or Nothing if there are none).¶LAgda:Contents of .agda-lib files that have already been parsed.¼LAgda/The state which is frozen after scope checking.½LAgda1The state which is modified after scope checking.¾LAgda'State which is forever, like a diamond.¿LAgdaEmpty persistent state.ÀLAgdaEmpty state of type checker.�MAgda Creates a ÙK map based on ÆL. O(n log n).For a single reverse lookup in ÆL, rather use lookupModuleFromSourse.‚MAgda Lookup an ‰  in �M.O(n).ƒMAgdaÇCombines the source hash and the (full) hashes of the imported modules.„MAgdaA lens for the »K field of the ²K type.†MAgdaEmbed ” into ‹K.‡MAgda!Flip the direction of comparison.ˆMAgdaTurn a ” function into a ‹K function. Property:  dirToCmp f (fromCmp cmp) = f cmp™MAgda$By default, we have no display form.›MAgda+Create a definition with sensible defaults. MAgda>Building the projection function (which drops the parameters).¡MAgda,The info of the principal (record) argument.¢MAgda3Make sure we do not overwrite a user specification.¦MAgdaIs the record type recursive?¨MAgdaA template for creating òH% definitions, with sensible defaults.®MAgdaÂChecking whether we are dealing with a function yet to be defined.µMAgdaConceptually: 2redBind m f k = either (return . Left . f) k =<< m¸MAgda:Not quite all reductions (skip non-terminating reductions)ÆMAgda+Are the clauses of this definition delayed?ÇMAgda2Has the definition failed the termination checker?ÈMAgdaÁHas the definition not termination checked or did the check fail?ËMAgda&ifTopLevelAndHighlightingLevelIs l b m runs mû when we're type-checking the top-level module (or before we've started doing this) and either the highlighting level is at least l or b is Ö~.ÌMAgda$ifTopLevelAndHighlightingLevelIs l m runs mô when we're type-checking the top-level module (or before we've started doing this) and the highlighting level is at least l.žNAgda&Modify the lens-indicated part of the TCEnv in a subcomputation. NAgda A variant of �E6 in which the computation is strict in the new state.¢NAgdaOverwrite the part of the › focused on by the lens.£NAgdaModify the part of the › focused on by the lens.¤NAgda'Modify a part of the state monadically.¥NAgdaModify the part of the ›0 focused on by the lens, and return some result.¦NAgda?Modify a part of the state monadically, and return some result.¯NAgda.Preserve the state of the failing computation.°NAgdaÌExecute a finalizer even when an exception is thrown. Does not catch any errors. In case both the regular computation and the finalizer throw an exception, the one of the finalizer is propagated.²NAgdaÃUtility function for 1-arg constructed type errors. Note that the  HasCallStack+ constraint is on the *resulting* function.¹NAgda4Running the type checking monad (most general form).ºNAgdaÁRunning the type checking monad on toplevel (with initial state).¼NAgda¼N runs a safe — action (a —9 action which cannot fail, except that it might raise ¬E!s) in the initial environment.½NAgda6Runs the given computation in a separate thread, with a copy' of the current state and environment.ÒNote that Agda sometimes uses actual, mutable state. If the computation given to forkTCM tries to modifyÜ this state, then bad things can happen, because accesses are not mutually exclusive. The forkTCM8 function has been added mainly to allow the thread to read7 (a snapshot of) the current state in a convenient way.ŒNote also that exceptions which are raised in the thread are not propagated to the parent, so the thread should not do anything important.¾NAgda$Base name for patterns in telescopes¿NAgda&Base name for extended lambda patternsÀNAgda?ÀÁÂÄÆÉÎÑÔÖ×Ùàá讉)ìRAgdaicodeArgs proxy (a1, ..., an) maps icode over a1, ..., an* and returns the corresponding list of Int32.òRAgdaMonad used by the decoder.TCMÊ is not used because the associated overheads would make decoding slower.óRAgdaMonad used by the encoder.ôRAgdaState of the decoder.öRAgdaObtained from interface file.÷RAgdaObtained from interface file.øRAgdaObtained from interface file.ùRAgdaObtained from interface file.úRAgdaObtained from interface file.ûRAgdaObtained from interface file.üRAgdaÚCreated and modified by decoder. Used to introduce sharing while deserializing objects.ýRAgda?ÀÁÂÄÆÉÎÑÔ×Ùàáè°\ßSAgda×Assumes that the first module in the import path is the module we are worried about.ÏSÐSÑSÒSÓSÔSÕSÖS×SØSÙSÚSÛSÜSÝSÞSßSÏSÐSßSÝSÛSÙSÓSÑS×SØSÖSÒSÚSÕSÜSÔSÞS²None! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×ÙàáèµàSAgda+Get the name of the current module, if any.áSAgda#Set the name of the current module.âSAgda*Get the path of the currently checked fileãSAgda7Get the number of variables bound by anonymous modules.äSAgda+Add variables bound by an anonymous module.åSAgda(Set the current environment to the givenæSAgdaGet the current environmentçSAgdaSet highlighting levelèSAgdaRestore setting for ¿G to default.ëSAgdaïIf the reduced did a proper match (constructor or literal pattern), then record this as simplification step.îSAgda Lens for ÑH.ñSAgdaReduce Def f vs only if f is a projection.òSAgdaÄAllow all reductions except for non-terminating functions (default).óSAgda9Allow all reductions including non-terminating functions.ôSAgdaãAllow all reductions when reducing types. Otherwise only allow inlined functions to be unfolded.õSAgda/Update allowed reductions when working on typesøSAgda?ÀÁÂÄÆÉÎÑÔ×Ùàáè¼Ì„TAgda?Debug print some lines if the verbosity level for the given øD is at least ÷D.Note: In the presence of OverloadedStrings , just @( traceS key level "Literate string"  gives an Ambiguous type variable error in  GHC@. Use the legacy functions ˜T and ™T instead then.†TAgda?Debug print some lines if the verbosity level for the given øD is at least ÷D.Note: In the presence of OverloadedStrings , just @) reportS key level "Literate string"  gives an Ambiguous type variable error in  GHC@. Use the legacy functions “T and •T instead then.ŠTAgda=Print brackets around debug messages issued by a computation.ŒTAgda.Check whether we are currently debug printing.�TAgda;Flag in a computation that we are currently debug printing.‘TAgda%Print a debug message if switched on.’TAgda/During printing, catch internal errors of kind µ and print them.“TAgda#Conditionally println debug string.•TAgdaConditionally render debug š and print it.–TAgda(Debug print the result of a computation.™TAgdaConditionally render debug š, print it, and then continue.žTAgda5Check whether a certain verbosity level is activated.-Precondition: The level must be non-negative.ŸTAgdaÃCheck whether a certain verbosity level is activated (exact match). TAgdaÊRun a computation if a certain verbosity level is activated (exact match).¢TAgda?ÀÁÂÄÆÉÎÑÔ×Ùàáè¿ ½TAgdaGet the statistics.¾TAgda)Modify the statistics via given function.¿TAgdaIncrease specified counter by 1.ÀTAgdaIncrease specified counter by n.ÁTAgdaÂSet the specified counter to the maximum of its current value and n.ÂTAgdaÁPrint the given statistics if verbosity "profile.ticks" is given.»T¼T½T¾T¿TÀTÁTÂT»T¼T¿TÀTÁT½T¾TÂT¾None! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×ÙàáèÂ|èTAgda/To be called before any write or restore calls.êTAgda Writes a ãK( to the current log, using the current ûKìTAgdaÀRuns the action and restores the current cache at the end of it.íTAgdaÏRuns the action without cache and restores the current cache at the end of it.îTAgda>Reads the next entry in the cached type check log, if present.ïTAgdaÃEmpties the "to read" CachedState. To be used when it gets invalid.ðTAgdaMakes sure that the ×L is Ü~(, with a clean current log. Crashes is ×Lå is already active with a dirty log. Should be called when we start typechecking the current file.ñTAgdaãCaches the current type check log. Discardes the old cache. Does nothing if caching is inactive. èTéTêTëTìTíTîTïTðTñT êTîTïTñTðTèTéTìTíTëT¿None! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×ÙàáèõòTAgdaÉWhen verbosity is set or changes, we need to turn benchmarking on or off.óTAgdaáPrints the accumulated benchmark results. Does nothing if profiling is not activated at level 2.8Ÿ   ¡ ¹ º » ¼ ç+è+é+Ž,�,Œ,‹,ˆ,‡,†,„,ƒ,‚,�,ÿ+þ+õ+ò+í+ì+ê+ë+‰,�,ô+ð+î+Š,ñ+€,ï+ø+ö+ü+û+ý+…,ú+ù+ó+÷+�,‘,’,“,”,•,òTóT Ÿ   ¡ òTº ¼ » ¹ óTÂNone! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×ÙàáèÄ„÷TøTùTúTûTûTùTúT÷TøTÅNone! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×ÙàáèÇ£UAgda8Assorted warnings and errors to be displayed to the user¦UAgdaÄClassifying warnings: some are benign, others are (non-fatal) errors§UAgda(warnings that will be turned into errors¨UAgdaõall warnings, including errors and benign ones Note: order of constructors is important for the derived Ord instanceªUAgda2Store a warning and generate highlighting from it.²UAgda Raise every WARNING_ON_USAGE connected to a name.¸UAgda;The only way to construct a empty WarningsAndNonFatalErrorsºUAgdarunning the Parse monad£U¤U¥U¦U§U¨U©UªU«U¬U­U®U¯U°U±U²U³U´UµU¶U·U¸U¹UºU©UªU«U¬U­U®U°U±U¯U²U³U´UµU¶U¦U§U¨U·U£U¤U¥U¸U¹UºUÇNone! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×ÙàáèÈÁUAgdaÇMark a definition to be inlined if it satisfies the inlining criterion.ÁUÁUÈNone! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×ÙàáèßÏ8ÅUAgda A subset of ÉU.àUAgda8Ignore additional checks, like termination/positivity...áUAgdaDon't ignore any checks.çUAgda/Ordered ascendingly by degree of normalization.íUAgdaAvailable backends.ñUAgdaThe ñU monad. ¥! state holds the remaining input.òUAgda?ÀÁÂÄÆÉÎÑÔ×Ùàáè쉻4AgdaÙCallback fuction to call when there is a response to give to the interactive frontend.ƒNote that the response is given in pieces and incrementally, so the user can have timely response even during long computations.Typical »4 functions:Convert the response into a ‘ç representation and print it on standard output (suitable for inter-process communication).ÌPut the response into a mutable variable stored in the closure of the »4< function. (suitable for intra-process communication).¼4AgdaStatus information.½4AgdaGive action result"Comment derived from agda2-mode.elIf ½42 is 'Give_String s', then the goal is replaced by sÍ, and otherwise the text inside the goal is retained (parenthesised if ½4 is âV).¾4AgdaŽShould token-based highlighting be removed in conjunction with the application of new highlighting (in order to reduce the risk of flicker)?¿4Agda4Info to display at the end of an interactive commandÀ4Agda,There are two kinds of "make case" commands.Á4Agda'Responses for any interactive interfaceƒNote that the response is given in pieces and incrementally, so the user can have timely response even during long computations.Ç4Agda$Response is list of printed clauses.È4Agda(Solution for one or more meta-variables.Ê4Agda)The integer is the message's debug level.Ì4Agda%Clear highlighting of the given kind.Í4AgdaÁA command sent when an abort command has completed successfully.Î4Agda>A command sent when an exit command is about to be completed.Ï4Agda The default »4Ó function prints certain things to stdout (other things generate internal errors).åVAgda!Are implicit arguments displayed?æVAgda#Are irrelevant arguments displayed?çVAgda.Has the module been successfully type checked?èVAgdaEntry in context.êVAgdaThe original concrete name.ëVAgda&The name reified from abstract syntax.ìVAgda The type.íVAgda)The value (if it is a let-bound variable)îVAgda Whether the ëV is in scope.ïVAgda/Auxiliary information that comes with Goal TypeóVAgda Errors that goes into Info_ErrorÖWhen an error message is displayed this constructor should be used, if appropriate.øVAgdaGoals & WarningsƒWAgdaÔWhen an error message is displayed this constructor should be used, if appropriate.†WAgda†W, denotes either an error or a success (when Æ4< is present) TODO: split these into separate constructors‘WAgda7Yes, remove all token-based highlighting from the file.’WAgdaNo.È»4¼4äVåVæVçV½4áVâVãV¾4’W‘W¿4ƒWÿV€W�W‚W„W…W†W‡WˆW‰WŠW‹WŒW�WŽWÀ4�W�WÁ4Â4Ã4Ä4Å4Æ4Ç4È4É4Ê4Ë4Ì4Í4Î4Ï4£UèVéVêVëVìVíVîVïVðVñVòVóVôVõVöV÷VøVùVúVûVüVýVþVÈÁ4Â4Ã4Ä4Å4Æ4Ç4È4É4Ê4Ë4Ì4Í4Î4¾4’W‘WÀ4�W�W¿4ƒWÿV€W�W‚W„W…W†W‡WˆW‰WŠW‹WŒW�WŽWùVúVûVüVýVþVøV£UóVôVõVöV÷VïVðVñVòVèVéVêVëVìVíVîV¼4äVåVæVçV½4áVâVãV»4Ï4ÉNone! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáèø?"–WAgda:Resets the non-persistent part of the type checking state.—WAgda&Resets all of the type checking state. Keep only è+ and backend information.˜WAgdaRestore ›! after performing subcomputation.In contrast to �, the è+* info from the subcomputation is saved.™WAgdaSame as ˜WÉ but also returns the state in which we were just before reverting it.šWAgdaSame as ˜W but keep all warnings.›WAgda:Allow rolling back the state changes of a TCM computation.�WAgdaA fresh TCM instance.ÏThe computation is run in a fresh state, with the exception that the persistent state is preserved. If the computation changes the state, then these changes are ignored, except for changes to the persistent state. (Changes to the persistent state are also ignored if errors other than type errors or IO exceptions are encountered.)¡WAgda Lens for ôK.£WAgdaGet the current scope.¤WAgdaSet the current scope.¥WAgda;Modify the current scope without updating the inverse maps.¦WAgdaModify the current scope.§WAgda Get a part of the current scope.¨WAgda&Run a computation in a modified scope.©WAgda#Run a computation in a local scope.ªWAgdaSame as ©W-, but discard the scope from the computation.«WAgda2Discard any changes to the scope by a computation.¬WAgda Scope error.®WAgdaDebug print the scope.²WAgda‰Update a possibly imported definition. Warning: changes made to imported definitions (during type checking) will not persist outside the current module. This function is currently used to update the compiled representation of a function during compilation.´WAgdaÊRun some computation in a different signature, restore original signature.ÅWAgdaÚSet the top-level module. This affects the global module id of freshly generated names.ÆWAgdaçUse a different top-level module for a computation. Used when generating names for imported modules.ÎWAgda Lens for ÉL.ÐWAgda,Get both local and imported pattern synonymsÓWAgdaLens getter for è+ from ›.ÔWAgda Lens map for è+.ÕWAgdaLens getter for è+ from —.ÖWAgdaLens modify for è+.×WAgda>Look through the signature and reconstruct the instance table.ØWAgda Lens for êL.ÜWAgda4Remove all instances whose type is still unresolved.ÝWAgda/Add an instance whose type is still unresolved.ÞWAgdaAdd instance to some `class'.ÞWAgdaName of the instance.AgdaName of the class.Ì“W•W”W–W—W˜W™WšW›WœW�WžWŸW W¡W¢W£W¤W¥W¦W§W¨W©WªW«W¬W­W®W¯W°W±W²W³W´WµW¶W·W¸W¹WºW»W¼W½W¾W¿WÀWÁWÂWÃWÄWÅWÆWÇWÈWÉWÊWËWÌWÍWÎWÏWÐWÑWÒWÓWÔWÕWÖW×WØWÙWÚWÛWÜWÝWÞWÌ–W—W˜W™WšW“W•W”W›WœW�WžWŸW W¡W¢W£W¤W¥W¦W§W¨W©WªW«W¬W­W®W¯W°W±W²W³W´WµW¶W·W¸W¹WºW»W¼W½W¾W¿WÀWÁWÂWÃWÄWÅWÆWÇWÈWÉWÊWËWÌWÍWÎWÏWÐWÑWÒWÓWÔWÕWÖW×WØWÙWÚWÛWÜWÝWÞWÊNone! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×ÙàáèþàWAgda$Record a function call in the trace.âWAgdaReset åG' to previous value in the continuation.Caveat: if the last àW did not set an åW, for example, only set the û  with õ /, we will revert to the last interesting call.äWAgda5Lispify and print the given highlighting information.çWAgda€Sets the current range (for error messages etc.) to the range of the given object, if it has a range (i.e., its range is not °).èWAgdahighlightAsTypeChecked rPre r m runs mÇ and returns its result. Additionally, some code may be highlighted:If r% is non-empty and not a sub-range of rPre (after º has been applied to both): r/ is highlighted as being type-checked while m0 is running (this highlighting is removed if m completes  successfully).'Otherwise: Highlighting is removed for rPre - r before m runs, and if m completes successfully, then rPre - r) is highlighted as being type-checked.èWAgda rPreAgda r ßWâWáWãWàWäWåWæWçWèW åWßWâWáWãWàWäWæWçWèWËNone! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×ÙàáèRðWAgdaáPass the current mutual block id or create a new mutual block if we are not already inside on.ñWAgdaÐSet the mutual block info for a block, possibly overwriting the existing one.òWAgda6Set the mutual block info for a block if non-existing.óWAgda&Set the mutual block for a definition.ôWAgdaÒGet the current mutual block, if any, otherwise a fresh mutual block is returned.öWAgda0Reverse lookup of a mutual block id for a names.ïWðWñWòWóWôWõWöWïWðWñWòWóWôWõWöWÌNone! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáè¿÷WøWùW÷WøWùWÍNone! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáèi úWAgdaÌMonad service class containing methods for adding and solving constraintsûWAgda#Unconditionally add the constraint.üWAgda#Add constraint as awake constraint.þWAgdaôSolve awake constraints matching the predicate. If the second argument is True solve constraints even if already �X.ŠXAgdaGet the awake constraintsŒXAgdaÿTakes out all constraints matching given filter. Danger! The taken constraints need to be solved or put back at some point.�XAgdaÊSuspend constraints matching the predicate during the execution of the second argument. Caution: held sleeping constraints will not be woken up by events that would normally trigger a wakeup call.™XAgdaAdd new a constraintœXAgdaStart solving constraintsžXAgda7Add constraint if the action raises a pattern violation'úW€XþWýWüW�X‚XÿWûWƒX…X„X†X‡XˆX‰XŠX‹XŒX�XŽX�X�X‘X’X“X”X•X–X—X˜X™XšX›XœX�XžXŸX X'†X‡XˆX‰XŠX‹XŒX�XŽXƒX…X„X�X�X‘X’X“X”X•X–XúW€XþWýWüW�X‚XÿWûW—X˜X™XšX›XœX�XžXŸX XÏNone! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáè2ÎXAgdaÂThese builtins may use postulates, and are still considered --safeÏXAgda„These builtins may not use postulates under --safe. They are not automatically unsafe, but will be if they use an unsafe feature.1ªX­X¬X«X®X¯XµX´X³X²X±X°X¶X¹X¸X·XºX»X¾X¼X½X¿XÂXÁXÀXÃXÆXÅXÄXÇXÈXÉXÊXËXÌXÍXÎXÏXÐXÑXÒXÓXÔXÕXÖX×XØXÙXÚX1ÃXÆXÅXÄXÇXÈX¿XÂXÁXÀXÉXÊX»X¾X¼X½XËXºX¶X¹X¸X·XÌXÍXÎXÏXÐXÑXÒXÓXÔX¯XµX´X³X²X±X°XÕXÖX×XØX®XªX­X¬X«XÙXÚXÐNone! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×ÙàáèXìXAgda9Errors which can arise when trying to find a source file."Invariant: All paths are absolute.íXAgdaÈThe file was not found. It should have had one of the given file names.îXAgda"Several matching files were found.ÁInvariant: The list of matching files has at least two elements.ñXAgda Type aliases for source files and interface files. We may only produce one of these if we know for sure that the file does exist. We can always output an  AbsolutePath if we are not sure.ôXAgdaîMakes an interface file from an AbsolutePath candidate. If the file does not exist, then fail by returning Nothing.õXAgdaûConverts an Agda file name to the corresponding interface file name. Note that we do not guarantee that the file exists.÷XAgdaËGiven the module name which the error applies to this function converts a ìX to a ´E.øXAgdaçFinds the source file corresponding to a given top-level module name. The returned paths are absolute.,Raises an error if the file cannot be found.ùXAgdañTries to find the source file corresponding to a given top-level module name. The returned paths are absolute.SIDE EFFECT: Updates ÆL.úXAgda A variant of ùX which does not require —.ûXAgdaêFinds the interface file corresponding to a given top-level module file. The returned paths are absolute.Raises Ý~+ if the the interface file cannot be found.üXAgdaêFinds the interface file corresponding to a given top-level module file. The returned paths are absolute.ÁRaises an error if the source file cannot be found, and returns Ý~= if the source file can be found but not the interface file.ýXAgdaªEnsures that the module name matches the file name. The file corresponding to the module name (according to the include path) has to be the same as the given file name.þXAgdaÄComputes the module name of the top-level module in the given file.åIf no top-level module name is given, then an attempt is made to use the file name as a module name.ôXAgda$Path to the candidate interface fileAgdaInterface file iff it existsúXAgdaInclude paths.AgdaCached invocations of úX. An updated copy is returned.ûXAgdaPath to the source fileAgda Maybe path to the interface fileýXAgdaThe name of the module.Agda"The file from which it was loaded.Agda3The expected name, coming from an import statement.þXAgdaThe path to the file.AgdaThe parsed module.ìXíXîXïXðXñXòXóXôXõXöX÷XøXùXúXûXüXýXþXÿXñXòXóXïXðXõXôXìXíXîX÷XøXùXúXûXüXýXþXÿXöXÑNone" #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáèc„YAgda*Ranges that should be serialised properly.·YAgda"Ranges are always deserialised as °.„Y…Y†Y„Y…Y†YÒNone! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáè¼ÓNone! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáè æYçYèYéYæYçYèYéY¯None! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáè½ ÊSAgdaGets the include directories.Precondition: âD must be nonempty (i.e. �Z must have run).€ZAgdaSets the pragma options.�ZAgdaÐSets the command line options (both persistent and pragma options are updated).˜Relative include directories are made absolute with respect to the current working directory. If the include directories have changed (thus, they are ø~ now, and were previously ù~ something>), then the state is reset (completely, see setIncludeDirs) ./An empty list of relative include directories (ø~ []) is interpreted as ["."].ŠZAgdaDisable display forms.‹ZAgdaDisable display forms.ŒZAgda#Check if display forms are enabled.�ZAgdaÍMakes the given directories absolute and stores them as include directories.„If the include directories change, then the state is reset (completely, except for the include directories and some other things). An empty list is interpreted as ["."].”ZAgdaíSwitch on printing of implicit and irrelevant arguments. E.g. for reification in with-function generation. Restores all ¤D> after completion. Thus, do not attempt to make persistent ¤D changes in a ”Z bracket.–ZAgdaChange ¤D* for a computation and restore afterwards.œZAgda Returns the ¯ currently in effect.‚ZAgda%The base directory of relative paths.…ZAgda%The base directory of relative paths.‡ZAgda%The base directory of relative paths.�ZAgdaNew include directories.Agda%The base directory of relative paths.ÊSËS€Z�Z‚ZƒZ„Z…Z†Z‡ZˆZ‰ZŠZ‹ZŒZ�ZŽZ�Z�Z‘Z’Z“Z”Z•Z–Z—Z˜Z™ZšZ›ZœZ€Z�Z‚ZËSƒZ„Z…Z†Z‡ZˆZ‰ZŠZ‹ZŒZÊS�ZŽZ�Z�Z‘Z’Z“Z”Z•Z–Z—Z˜Z™ZšZ›ZœZÔNone# #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáèì*�ZAgdaPerforms void (noAbs) abstraction over telescope.¤ZAgdaApply Elims× while using the given function to report ill-typed redexes. Recursive calls for applyE and  applySubst happen at type t/ to propagate the same strategy to subtrees.¥ZAgdaIf $v$ is a record value, canProject f v returns its field f.¦ZAgdaEliminate a constructed term.§ZAgdadefApp f us vs applies Def f us to further arguments vs/, eliminating top projection redexes. If usà is not empty, we cannot have a projection redex, since the record argument is the first one.ªZAgda  (x:A)->B(x) ªZ [u] = B(u)çPrecondition: The type must contain the right number of pis without having to perform any reduction.piApply$ is potentially unsafe, the monadic piApplyM is preferable.®ZAgdaIf permute À : [a]“ -> [a]”, then ,applySubst (renaming _ À) : Term “ -> Term ”¯ZAgdaIf permute À : [a]“ -> [a]”, then +applySubst (renamingR À) : Term ” -> Term “°ZAgdaÎThe permutation should permute the corresponding context. (right-to-left list)¸ZAgda  projDropParsApply proj o args =  M proj o `À<` argsóThis function is an optimization, saving us from construction lambdas we immediately remove through application.¹ZAgdaìTakes off all exposed function domains from the given type. This means that it does not reduce to expose Pi-types.ºZAgdatelView'UpTo n t takes off the first n exposed function types of t#. Takes off all (exposed ones) if n < 0.»ZAgdaTurn a typed binding (x1 .. xn : A) into a telescope.¿ZAgdaTurn a typed binding (x1 .. xn : A) into a telescope.ÃZAgda )mkPi dom t = telePi (telFromList [dom]) tÈZAgda)Uses free variable analysis to introduce Ò8 bindings.ÉZAgdaEverything will be an Ð8.ÊZAgdaîOnly abstract the visible components of the telescope, and all that bind variables. Everything will be an Ð8! Caution: quadratic time!ËZAgdaÝAbstract over a telescope in a term, producing lambdas. Dumb abstraction: Always produces Ð8, never Ò8.$The implementation is sound because Ã8 does not use Ò8.ÌZAgdaGiven arguments vs : tel= (vector typing), extract their individual types. Returns Nothing is tel is not long enough.ÍZAgda˜In compiled clauses, the variables in the clause body are relative to the pattern variables (including dot patterns) instead of the clause telescope.ÎZAgdaunivSort' univInf s gets the next higher sort of s), if it is known (i.e. it is not just  UnivSort s).Precondition: s is reducedÒZAgdaReturns Nothing4 for unknown (meta) sorts, and otherwise returns  Just (b,f) where b indicates smallness and f fibrancy. I.e., b is True# for (relatively) small sorts like Set l and Prop l, and instead b is False for large sorts such as SetÉ.ÔZAgdaÑCompute the sort of a function type from the sorts of its domain and codomain.ÖZAgdaËCompute the sort of a pi type from the sorts of its domain and codomain.ÙZAgdaGiven two levels a and b , compute a ”E b" and return its canonical form.ÞZAgdaúEquality of binders relies on weakening which is a special case of renaming which is a special case of substitution.áZAgda Syntactic Ø8 equality, ignores stuff below DontCare and sharing.ãZAgda Syntactic Ê8$ equality, ignores sort annotations.Ÿ[Agdatel ¢E (“ ¢E lhs ¦C rhs : t) becomes tel, “ ¢E lhs ¦C rhs : t)Ü we do not need to change lhs, rhs, and t since they live in “. See 'Abstract Clause'.½[Agda)Make sure we only drop variable patterns.÷è7é7ï7ê7ë7ì7í7î7õ:ø:ö:÷:·<¸<¹<º<»<¼<»<½<¾<¿<À<Á<Â<Ã<Ä<Å<Æ<Ç<È<É<Ê<Ë<Ì<Í<Î<Ï<Ð<Ñ<Ò<Ó<Ô<Õ<Ö<×<Ø<Ù<Ú<Û<Ü<Ý<Þ<ß<à<á<â<�ZžZŸZ Z¡Z¢Z£Z¤Z¥Z¦Z§Z¨Z©ZªZ«Z¬Z­Z®Z¯Z°Z±Z²Z³Z´ZµZ¶Z·Z¸Z¹ZºZ»Z¼Z½Z¾Z¿ZÀZÁZÂZÃZÄZÅZÆZÇZÈZÉZÊZËZÌZÍZÎZÏZÐZÑZÒZÓZÔZÕZÖZ×ZØZÙZÚZÆ�ZžZŸZ Z¡Z¢Z£Z¤Z¥Z¦Z§Z¨Z©ZªZ«Z¬Z­Z®Z¯Z°Z±Z²Z³Z´ZµZ¶Z·Z¸Z¹ZºZ»Z¼Z½Z¾Z¿ZÀZÁZÂZÃZÄZÅZÆZÇZÈZÉZÊZËZÌZÍZÎZÏZÐZÑZÒZÓZÔZÕZÖZ×ZØZÙZÚZé7ï7ê7ë7ì7í7î7è7ÕNone! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáè-ÏÜ[Agda+Create an open term in the current context.Ý[AgdaàExtract the value from an open term. The checkpoint at which it was created must be in scope.Þ[Agda…Extract the value from an open term. If the checkpoint is no longer in scope use the provided function to pull the object to the most recent common checkpoint. The function is given the substitution from the common ancestor to the checkpoint of the thing.ß[AgdaAn �K" is closed if it has checkpoint 0.Ü[Ý[Þ[ß[Ü[Ý[Þ[ß[³None! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáè9úúSAgdaaddCtx x arg cont add a variable to the context.Chooses an unused ƒ.7Warning: Does not update module parameter substitution!ûSAgda'Add a let bound variable to the contextüSAgdaîUpdate the context. Requires a substitution that transports things living in the old context to the new.þSAgdaÓGet the substitution from the context at a given checkpoint to the current context.à[AgdaWrapper to tell ã[ not to mark names as šFÚ. Used when adding a user-provided, but already type checked, telescope to the context.â[AgdaVarious specializations of addCtx.å[Agda Modify a ÈGÅ in a computation. Warning: does not update the checkpoints. Use  updateContext instead.æ[Agda Modify the ó8 part of context entries.ç[Agda7Change to top (=empty) context. Resets the checkpoints.è[AgdaÖChange to top (=empty) context, but don't update the checkpoints. Totally not safe!é[AgdaDelete the last n bindings from the context. Doesn't update checkpoints! Use ê[Í or `updateContext rho (drop n)` instead, for an appropriate substitution rho.ê[AgdaDelete the last nÜ bindings from the context. Any occurrences of these variables are replaced with the given err.ë[Agda*Add a new checkpoint. Do not use directly!ì[AgdaÓGet the substitution from the context at a given checkpoint to the current context.í[AgdaGet substitution  “ ¢E Á : “m where “ is the current context and “m- is the module parameter telescope of module m.Returns Nothing, in case the we don't have a checkpoint for m.î[Agda:Default implementation of addCtx in terms of updateContextð[Agda«Run the given TCM action, and register the given variable as being shadowed by all the names with the same root that are added to the context during this TCM action.ò[Agda;Go under an abstraction. Do not extend context in case of Ò8.ô[Agda"Go under an abstraction, treating Ò8 as Ð8.ö[AgdaËGo under an abstract without worrying about the type to add to the context.÷[AgdaìMap a monadic function on the thing under the abstraction, adding the abstracted variable to the context.ù[AgdaAdd a let bound variableú[AgdaAdd a let bound variableû[AgdaGet the current context.ü[Agda$Get the size of the current context.ý[Agda Generate [var (n - 1), ..., var 0]% for all declarations in the context.þ[Agda Generate [var (n - 1), ..., var 0]% for all declarations in the context.ÿ[AgdaGet the current context as a Ã8.€\Agda1Get the names of all declarations in the context.�\Agda0get type of bound variable (i.e. deBruijn index)‡\Agda³Get the term corresponding to a named variable. If it is a lambda bound variable the deBruijn index is returned and if it is a let bound variable its definition is returned..ùSýSüSûSúSþSà[á[â[ä[ã[å[æ[ç[è[é[ê[ë[ì[í[î[ï[ð[ñ[ò[ó[ô[õ[ö[÷[ø[ù[ú[û[ü[ý[þ[ÿ[€\�\‚\ƒ\„\…\†\‡\.å[æ[ç[è[é[ê[ë[þSì[í[ùSýSüSûSúSî[ï[ð[ñ[â[ä[ã[à[á[ò[ó[ô[õ[ö[÷[ø[ù[ú[û[ü[ý[þ[ÿ[€\�\‚\ƒ\„\…\†\‡\´None! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáè>œ ¨\AgdaSort primitives.®\AgdaThe coinductive primitives.¿\AgdagetTerm use name looks up nameÁ as a primitive or builtin, and throws an error otherwise. The useÌ argument describes how the name is used for the sake of the error message.À\Agda2Rewrite a literal to constructor form if possible.‡^AgdaTries to build a ®\.’^AgdaßCheck whether the type is actually an path (lhs áD rhs) and extract lhs, rhs, and their type.Precondition: type is reduced.”^AgdaNon dependent Path–^Agda Revert the Ô7.Postcondition: type is reduced.—^Agda"Get the name of the equality type.˜^AgdaãCheck whether the type is actually an equality (lhs áD rhs) and extract lhs, rhs, and their type.Precondition: type is reduced.™^Agda Revert the Ý7.Postcondition: type is reduced.š^Agda(Primitives with typechecking constrants.À£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ€�‚ƒ„…†‡ˆ‰Š‹Œ�Ž��‘’“”•–—˜™š›œ�žŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìÿS€T¨\©\­\¬\ª\«\®\¯\²\°\±\³\´\µ\¶\·\¸\¹\º\»\¼\½\¾\¿\À\Á\Â\Ã\Ä\Å\Æ\Ç\È\É\Ê\Ë\Ì\Í\Î\Ï\Ð\Ñ\Ò\Ó\Ô\Õ\Ö\×\Ø\Ù\Ú\Û\Ü\Ý\Þ\ß\à\á\â\ã\ä\å\æ\ç\è\é\ê\ë\ì\í\î\ï\ð\ñ\ò\ó\ô\õ\ö\÷\ø\ù\ú\û\ü\ý\þ\ÿ\€]�]‚]ƒ]„]…]†]‡]ˆ]‰]Š]‹]Œ]�]Ž]�]�]‘]’]“]”]•]–]—]˜]™]š]›]œ]�]ž]Ÿ] ]¡]¢]£]¤]¥]¦]§]¨]©]ª]«]¬]­]®]¯]°]±]²]³]´]µ]¶]·]¸]¹]º]»]¼]½]¾]¿]À]Á]Â]Ã]Ä]Å]Æ]Ç]È]É]Ê]Ë]Ì]Í]Î]Ï]Ð]Ñ]Ò]Ó]Ô]Õ]Ö]×]Ø]Ù]Ú]Û]Ü]Ý]Þ]ß]à]á]â]ã]ä]å]æ]ç]è]é]ê]ë]ì]í]î]ï]ð]ñ]ò]ó]ô]õ]ö]÷]ø]ù]ú]û]ü]ý]þ]ÿ]€^�^‚^ƒ^„^…^†^‡^ˆ^‰^Š^‹^Œ^�^Ž^�^�^‘^’^“^”^•^–^—^˜^™^š^›^öÿS€T¨\©\­\¬\ª\«\®\¯\²\°\±\³\´\µ\¶\·\¸\¹\º\»\¼\½\¾\¿\À\Á\Â\Ã\Ä\Å\Æ\Ç\È\É\Ê\Ë\Ì\Í\Î\Ï\Ð\Ñ\Ò\Ó\Ô\Õ\Ö\×\Ø\Ù\Ú\Û\Ü\Ý\Þ\ß\à\á\â\ã\ä\å\æ\ç\è\é\ê\ë\ì\í\î\ï\ð\ñ\ò\ó\ô\õ\ö\÷\ø\ù\ú\û\ü\ý\þ\ÿ\€]�]‚]ƒ]„]…]†]‡]ˆ]‰]Š]‹]Œ]�]Ž]�]�]‘]’]“]”]•]–]—]˜]™]š]›]œ]�]ž]Ÿ] ]¡]¢]£]¤]¥]¦]§]¨]©]ª]«]¬]­]®]¯]°]±]²]³]´]µ]¶]·]¸]¹]º]»]¼]½]¾]¿]À]Á]Â]Ã]Ä]Å]Æ]Ç]È]É]Ê]Ë]Ì]Í]Î]Ï]Ð]Ñ]Ò]Ó]Ô]Õ]Ö]×]Ø]Ù]Ú]Û]Ü]Ý]Þ]ß]à]á]â]ã]ä]å]æ]ç]è]é]ê]ë]ì]í]î]ï]ð]ñ]ò]ó]ô]õ]ö]÷]ø]ù]ú]û]ü]ý]þ]ÿ]€^�^‚^ƒ^„^…^†^‡^ˆ^‰^Š^‹^Œ^�^Ž^�^�^‘^’^“^”^•^–^—^˜^™^š^›^ØNone! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×ÙàáèK­^AgdaA deep view on sizes.³^Agda)A de Bruijn index under some projections.·^AgdaA useful view on sizes.»^AgdaCheck if a type is the ‚] type. The argument should be reduced.½^Agda)Result of querying whether size variable i is bounded by another size.¾^Agdayes  i : Size< tÅ^AgdaÑTest whether OPTIONS --sized-types and whether the size built-ins are defined.Æ^Agda+Test whether the SIZELT builtin is defined.Ç^Agda$Add polarity info to a SIZE builtin.È^AgdaThe sort of built-in types SIZE and SIZELT.É^AgdaThe type of built-in types SIZE and SIZELT.Ê^AgdaThe built-in type SIZE with user-given name.Ë^AgdaThe built-in type SIZE.Ì^Agda The name of SIZESUC.Ï^Agda>Transform list of terms into a term build from binary maximum.Ð^AgdaExpects argument to be reduced.Ó^AgdasizeViewComparable v w checks whether v >= w (then Left) or v <= w (then Right ). If uncomparable, it returns  NotComparable.Õ^AgdasizeViewPred k v decrements v by k (must be possible!).Ö^AgdasizeViewOffset v8 returns the number of successors or Nothing when infty.×^Agda'Remove successors common to both sides.Ø^AgdaTurn a size view into a term.Û^AgdamaxViewCons v ws = max v ws. It only adds v to ws+ if it is not subsumed by an element of ws.Ü^AgdasizeViewComparableWithMax v ws tries to find w in ws that compares with v+ and singles this out. Precondition:  v /= DSizeInv.ä^AgdaIgnore ˆ in equality test.8§^¨^©^¬^«^ª^­^±^°^¯^®^²^³^´^¶^µ^·^º^¹^¸^»^¼^½^¿^¾^À^Á^Â^Ã^Ä^Å^Æ^Ç^È^É^Ê^Ë^Ì^Í^Î^Ï^Ð^Ñ^Ò^Ó^Ô^Õ^Ö^×^Ø^Ù^Ú^Û^Ü^Ý^Þ^8½^¿^¾^»^¼^À^Á^Â^Ã^Ä^Å^Æ^Ç^È^É^Ê^Ë^Ì^Í^Î^Ï^·^º^¹^¸^Ð^³^´^¶^µ^Ñ^Ò^²^­^±^°^¯^®^©^¬^«^ª^Ó^Ô^Õ^Ö^×^Ø^Ù^¨^§^Ú^Û^Ü^Ý^Þ^ÚNone" #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×ÙÝàáè`b+ï^AgdaA finite map for  ImportedNames.ö^AgdaÉBool: did we copy recursively? We need to track this because we don't copy recursively when creating new modules for reexported functions (issue1985), but we might need to copy recursively later.ø^Agda€To simplify interaction between scope checking and type checking (in particular when chasing imports), we use the same monad.ƒ_AgdaÕCreate a new module with an empty scope. If the module is not new (e.g. duplicate import$), don't erase its contents. (Just' if it is a datatype or record module.)„_Agda"Apply a function to the scope map.…_Agda$Apply a function to the given scope.‡_Agda*Apply a monadic function to the top scope.ˆ_Agda&Apply a function to the current scope.Š_Agda5Apply a function to the public or private name space.�_Agda7Run a computation without changing the local variables.‘_AgdaÐRun a computation outside some number of local variables and add them back afterwards. This lets you bind variables in the middle of the context and is used when binding generalizable variables (#3735).’_Agda6Check that the newly added variable have unique names.–_AgdaÝAfter collecting some variable names in the scopeVarsToBind, bind them all simultaneously.™_Agda2Create a fresh abstract name from a concrete name.ÍThis function is used when we translate a concrete name in a binder. The û ) of the concrete name is saved as the ˆ of the abstract name.š_Agda 0freshAbstractName_ = freshAbstractName noFixity'›_Agda'Create a fresh abstract qualified name.�_Agda>Create a concrete name that is not yet in scope. | NOTE: See  chooseName in *Agda.Syntax.Translation.AbstractToConcrete! for similar logic. | NOTE: See withName in +Agda.Syntax.Translation.ReflectedToAbstract for similar logic.ž_Agda?Look up the abstract name referred to by a given concrete name.Ÿ_AgdaÖLook up the abstract name corresponding to a concrete name of a certain kind and/or from a given set of names. Sometimes we know already that we are dealing with a constructor or pattern synonym (e.g. when we have parsed a pattern). Then, we can ignore conflicting definitions of that name of a different kind. (See issue 822.)¡_AgdaîTest if a given abstract name can appear with a suffix. Currently only true for the names of builtin sorts Set and Prop.¢_AgdaLook up a module in the scope.£_Agda'Get the fixity of a not yet bound name.¤_Agda+Get the polarities of a not yet bound name.¥_AgdaùCollect the fixity/syntax declarations and polarity pragmas from the list of declarations and store them in the scope.¦_Agda?Get the notation of a name. The name is assumed to be in scope.§_AgdaBind a variable.¨_Agda;Temporarily unbind a variable. Used for non-recursive lets.©_Agda.Bind a defined name. Must not shadow anything.«_AgdaBind a name. Returns the ´E" if exists, but does not throw it.¬_AgdaýRebind a name. Use with care! Ulf, 2014-06-29: Currently used to rebind the name defined by an unquoteDecl, which is a �0 in the body, but a Ù/ later on.­_AgdaBind a module name.®_AgdaÈBind a qualified module name. Adds it to the imports field of the scope.¯_Agda Clear the scope of any no names.±_Agda–Create a new scope with the given name from an old scope. Renames public names in the old scope to match the new name and returns the renamings.²_Agda*Warn about useless fixity declarations in renaming8 directives. Monadic for the sake of error reporting.³_Agda>Check that an import directive doesn't contain repeated names.´_AgdaÓApply an import directive and check that all the names mentioned actually exist.(Monadic for the sake of error reporting.µ_AgdaTranslation of ImportDirective.¶_Agda Create a ï^.·_AgdaApply a ï^.¸_AgdaTranslation of Renaming.º_AgdaOpen a module.»_Agda>Open a module, possibly given an already resolved module name.“_AgdaOld local scopeAgdaNew local scope _Agda(Restrict search to these kinds of names.AgdaUnless Ý~., restrict search to match any of these names.AgdaName to be resolvedAgda?ÀÁÂÄÆÉÎÑÔ×ÙàáècyÄ_AgdaŒWe need: - Read access to the AbsToCon environment - Read access to the TC environment - Read access to the TC state - Read and write access to the stConcreteNames part of the TC state - Read access to the options - Permission to print debug messagesÏ_Agda9Translate something in a context of the given precedence.î_AgdaAssumes name is not Ý/.½_¾_¿_À_Á_Â_Ã_Ä_Å_Æ_Ç_È_É_Ê_Ë_Ì_Í_Î_Ï_¿_À_Á_Â_Ï_Ì_Ê_Í_É_½_¾_Ë_Ç_Æ_Ä_Ã_Å_È_Î_ÜNone! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáèdª‘`Agda Variant of Ž`- which does not insert outermost parentheses.’`Agda Variant of �`- which does not insert outermost parentheses.Ž`�`�`‘`’`Ž`�`�`‘`’`ÝNone# #$%'(-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáèf@“`AgdaÊParses a left-hand side, and makes sure that it defined the expected name.”`AgdaParses a pattern.–`Agda.Parse a list of expressions (typically from a Ù() into an application.—`AgdaÚParse an expression into a module application (an identifier plus a list of arguments).“`”`•`–`—`–`—`“`”`•`ÞNone! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáèi›`Agda:When making a function projection-like, we drop the first n arguments.ž`AgdaTo drop the first nÌ arguments in a compiled clause, we reduce the split argument indices by n and drop n� arguments from the bodies. NOTE: this only works for non-recursive functions, we are not dropping arguments to recursive calls in bodies.Ÿ`AgdaíUse for dropping initial lambdas in clause bodies. NOTE: does not reduce term, need lambdas to be present.¡`Agda,NOTE: does not work for recursive functions.£`Agda=NOTE: This creates telescopes with unbound de Bruijn indices.›`œ`›`œ`ßNone! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáèiˆ¶`AgdaStrenghtening.¥`¦`§`¨`©`ª`«`¬`­`®`¯`°`±`²`³`´`µ`¶`¯`°`­`®`«`¬`±`²`³`©`ª`´`µ`§`¨`¥`¦`¶`àNone! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×ÙàáèjáNone! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×ÙàáèjjÑ`Ñ`âNone! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáèj»Ò`Ò`¸None" #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×ÙÝàáè†áÁÊTAgdaïLookup the definition of a name. The result is a closed thing, all free variables have been abstracted over.ËTAgda Version that reports exceptions:ÌTAgda4Lookup the rewrite rules with the given head symbol.ÍTAgdaSignature lookup errors.ÎTAgda8The name is not in the signature; default error message.ÏTAgda0The name is not available, since it is abstract.ÐTAgdaLookup a section telescope.ßIf it doesn't exist, like in hierarchical top-level modules, the section telescope is empty.ÑTAgdaÂUnless all variables in the context are module parameters, create a fresh module to capture the non-module parameters. Used when unquoting to make sure generated definitions work properly.Ó`AgdaÃAdd a constant to the signature. Lifts the definition to top level.Ô`AgdaA combination of Ó` and ›M. The ¯ does not need to be supplied.Õ`Agda2Set termination info of a defined function symbol.Ö`Agda1Set CompiledClauses of a defined function symbol.×`Agda+Set SplitTree of a defined function symbol.Ø`Agda!Modify the clauses of a function.Ù`AgdaÐLifts clauses to the top-level and adds them to definition. Also adjusts the funCopatternLHS field if necessary.Û`Agda#Add a compiler pragma `{-# COMPILE  backend  name  text #-}`â`AgdaAdd a section to the signature.ÛThe current context will be stored as the cumulative module parameters for this section.ã`AgdaÃSets the checkpoint for the given module to the current checkpoint.ä`AgdaGet a section.³Why Maybe? The reason is that we look up all prefixes of a module to compute number of parameters, and for hierarchical top-level modules, A.B.C say, A and A.B do not exist.å`AgdaAdd display forms for a name f0 copied by a module application. Essentially if f can reduce to » xs ’C A.B.C.f vs (by unfolding module application copies (æI), then we add a display form A.B.C.f vs ==> f xs æ`Agda>Module application (followed by module parameter abstraction).è`AgdaÌAdd a display form to a definition (could be in this or imported signature).ë`AgdaÃFind all names used (recursively) by display forms of a given name.ì`Agda#Check if a display form is looping.ï`AgdaÎCan be called on either a (co)datatype, a record type or a (co)constructor.ð`Agda?Does the given constructor come from a single-constructor type?5Precondition: The name has to refer to a constructor.ñ`AgdaStandard eliminator for ÍT.ò`AgdaThe computation ÊT sometimes tweaks the returned ÙI, depending on the current ¯ and the ¯ of the ÙI. This variant of ÊT does not perform any tweaks.ô`AgdaàGet the original name of the projection (the current one could be from a module application).÷`Agda%Look up the polarity of a definition.ø`AgdaÍLook up polarity of a definition and compose with polarity represented by ”.ù`Agda!Set the polarity of a definition.ú`Agda-Look up the forced arguments of a definition.û`Agda*Get argument occurrence info for argument i of definition d (never fails).ü`Agda Sets the ßIÉ for the given identifier (which should already exist in the signature).�aAgdaReturns a list of length �IË. If no erasure analysis has been performed yet, this will be a list of õ~s.…aAgda#add data constructors to a datatype†aAgdaÆGet the mutually recursive identifiers of a symbol from the signature.‡aAgda.Get the mutually recursive identifiers from a ÙI.ˆaAgda'Set the mutually recursive identifiers.‰aAgda5Check whether two definitions are mutually recursive.ŠaAgda A functiondataÖrecord definition is nonRecursive if it is not even mutually recursive with itself.‹aAgda3Get the number of parameters to the current module.�aAgda×Compute the number of free variables of a defined name. This is the sum of number of parameters shared with the current module and the number of anonymous variables (if the name comes from a let-bound module).�aAgda7Compute the context variables to apply a definition to.±We have to insert the module telescope of the common prefix of the current module and the module where the definition comes from. (Properly raised to the current context.) Example: � module M�A “ where module M�A ” where f = ... module MƒA ˜ where ... M�A.M‚A.f [insert “ raised by ˜] ‘aAgdaÐInstantiate a closed definition with the correct part of the current context.”aAgda'Give the abstract view of a definition.•aAgdaÏEnter abstract mode. Abstract definition in the current module are transparent.–aAgda:Not in abstract mode. All abstract definitions are opaque.—aAgda?Ignore abstract mode. All abstract definitions are transparent.˜aAgdaåEnter concrete or abstract mode depending on whether the given identifier is concrete or abstract.™aAgdaÍCheck whether a name might have to be treated abstractly (either if we're •aä or it's not a local name). Returns true for things not declared abstract as well, but for those ”a will have no effect.šaAgdaAndreas, 2015-07-01: If the currentþ module is a weak suffix of the identifier module, we can see through its abstract definition if we are abstract. (Then treatAbstractly' returns False).?ÀÁÂÄÆÉÎÑÔ×Ùàá般ÔTÔT°None" #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×ÙÝàáèšb0¾aAgdaãUnfreeze meta and its type if this is a meta again. Does not unfreeze deep occurrences of metas.ÀaAgdaðCheck whether all metas are instantiated. Precondition: argument is a meta (in some form) or a list of metas.ÂaAgdaÐMonad service class for creating, solving and eta-expanding of metavariables.ÃaAgdaêGenerate a new meta variable with some instantiation given. For instance, the instantiation could be a áJ.ÄaAgdaŸAssign to an open metavar which may not be frozen. First check that metavar args are in pattern fragment. Then do extended occurs check on given thing.$Assignment is aborted by throwing a  PatternErr via a call to patternViolation. This error is caught by catchConstraint during equality checking ( compareAtom:) and leads to restoration of the original constraints.ÅaAgda€Directly instantiate the metavariable. Skip pattern check, occurs check and frozen check. Used for eta expanding frozen metas.ÆaAgdaöEta expand a metavariable, if it is of the specified kind. Don't do anything if the metavariable is a blocked term.ÇaAgda%Update the status of the metavariableÈaAgda/'speculateMetas fallback m' speculatively runs m, but if the result is Ëa6 any changes to metavariables are rolled back and fallback is run instead.ÌaAgdaVarious kinds of metavariables.ÍaAgdaMeta variables of record type.ÎaAgda7Meta variables of "hereditarily singleton" record type.ÏaAgda;Meta variables of level type, if type-in-type is activated.ÐaAgda All possible metavariable kinds.ÑaAgdaSwitch off assignment of metas.ÒaAgdaGet the meta store.ÔaAgda8Run a computation and record which new metas it created.ÕaAgdaLookup a meta variable.×aAgdaType of a term or sort meta.ØaAgda7Update the information associated with a meta variable.ÙaAgdaËInsert a new meta variable with associated information into the meta store.ÞaAgdaÚCompute the context variables that a meta should be applied to, accounting for pruning.ßaAgda=Given a meta, return the type applied to the current context.àaAgda'Is it a meta that might be generalized?âaAgda‡Returns all metavariables in a constraint. Slightly complicated by the fact that blocked terms are represented by two meta variables. To find the second one we need to look up the meta listeners for the one in the UnBlock constraint. This is used for the purpose of deciding if a metavariable is constrained or if it can be generalized over (see Agda.TypeChecking.Generalize).ãaAgdaCreate ÃJ in the current environment.èaAgdaÆChange the ArgInfo that will be used when generalizing over this meta.ëaAgdaæRegister an interaction point during scope checking. If there is no interaction id yet, create one.ìaAgdaFind an interaction point by û Õ by searching the whole map. Issue 3000: Don't consider solved interaction points.?ÀÁÂÄÆÉÎÑÔ×Ùàáè›ù«Ð�TŒT‹TŠTˆT‰T“ÕIÔIÓIÒI”�K�K•–—˜™š›»L¾L¼L½LœÎGþGýGüGûGúGùGøG÷GöGõGôGóGòGñGðGïGîGëGêGéGèGçGåGäGãGâGáGàGßGÝGÜGÛGÚGÙGØG×GÖGÕGÓGÒGÑGÐGÔGæGíGìGÏGÞG�ƒH�H‚HžÿG€HŸ¿JÀJÁJ ëFðFïFîFìFíF¡­E¬E«EªE°E®E¯E¢­G¬G«GªG©G¨G§G¦G¥G¤G£G¢G¡G GŸGžGœG›GšG™G˜G—G–G•G”G“G’G‘G�G�GŽG�GŒG‹GŠG‰GˆG‡G†G…G„GƒG‚G�G€GÿFþFýFüFûFúFùFøF÷FöFõF�GôF£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ€�‚ƒ„…†‡ˆ‰Š‹Œ�Ž��‘’“”•–—˜™š›œ�žŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìöD÷DøDŽE�E�E‘E’E“E”E•E–E—E˜E™EšE�E›EœEžEŸE E¡E¢E£E¤E¥E¦E§E¨E©E±E²E³E´EÁFÀF¿F¾F½F¼F»FºF¹F¸F·F¶FµF´F³F²F±F°F¯F®F­F¬F«FªF©F¨F§F¦F¥F¤F£F¢F¡F FŸFžF�FœF›F™F˜F—F–F•F”F“F’F‘F�F�FŽF�FŒFŠF‰FˆF‡F†F…F„FƒF€FÿEþEýEüEûEúEùEøE÷EöEõEôEóEñEðEïEîEíEìEëEêEéEèEçEæEåEäEãEâEáEàEßEÞEÝEÜEÛEÚEÙEØE×EÖEÕEÔEÓEÒEÑEÐEÏEÎEÍEÌEËEÊEÉEÈEÇEÆEÅEÄEÃEÂEÁEÀE¿E¾E½E¼E»EºE¹E¸E·E¶EµE‹F�F‚FòEšFÂFÈFÇFÆFÅFÃFÄFÉFÍFÌFÊFËFÎFÏFÐFÑFÛFÚFÙFØF×FÖFÕFÔFÒFÓFáFàFßFÞFÜFÝFâFãFäFåFæFçFêFèFéFñFòFóF®G¯G´G³G²G°G±GµG¶GºG¹G·G¸G»G¼G½G¾GÁG¿GÀGÂGÅGÃGÄGÆGÇGÈGÉGÊGËGÌGÍG„H†H…H‡HˆH‰HŠH‹HŒH’H‘H�H�H�HŽH“H”H•H·H¶HµH´H³H²H±H°H¯H®H­H¬H«HªH©H¨H§H¦H¥H¤H£H¢H¡H HŸHžH�HœH›HšH™H˜H–H¸H—H¹HºH»H¼HÁHÀH¿H½H¾HÂHÃHÄHÅHÆHÇHÈHËHÉHÊHÌHÍHÎHÏHÐHÑHÒHÛHÚHÙHØH×HÖHÕHÓHÔHÜHÝHÞHßHàHáHâHäHãHåHæHçHèHéHêHëHìHíH÷HñHðHïHîHôHöHòHóHõH«IªI©I¨I§I¦I¥I¤I£I¢I¡I IŸIžI�IœI›IšI™I˜I—I–I•I”I“I’I‘I�I�IŽI�IŒI‹IŠI‰IˆI‡I†I…I„IƒI‚I�I€IÿHþHýHüHûHúHøHùH¬I­I®I¯I°I³I±I²I´IµI¶I·I¸I¹IºI»I¼IÁIÀI¿I½I¾IÂIÃIÆIÄIÅIÇIÈIÉIÊIËIÌIÍIÎIÏIÐIÑIÖI×IØIÙIÚIíIìIëIêIéIèIçIæIäIãIâIáIàIßIÞIÝIÜIåIÛIîIïIöIõIôIóIòIðIñI÷IøIýIüIûIùIúIþIÿI€J�J‚JƒJŠJ‰JˆJ‡J†J„J…J‹J�J�JŽJŒJ�J‘J’J“J–J”J•J—J˜J™JšJ›JœJ�JžJŸJ¢J J¡J£J¤J¥J¬J«JªJ©J¨J¦J§J­J®J¯J³J²J°J±J´JµJ¶J·J¸J¹J½J¼JºJ»J¾JÂJÃJÄJÉJÈJÇJÅJÆJÊJËJÌJÍJÎJÏJÔJÓJÒJÐJÑJÕJÖJ×JØJÙJÚJÛJÜJáJàJßJÞJÝJâJãJäJåJæJçJèJéJñJðJïJîJëJêJíJìJòJóJöJôJõJ÷JúJøJùJûJüJýJ€KþJÿJ�K‚K†K…KƒK„K‡KŠKˆK‰K‹KŽKŒK�K‘K¢K¡K KŸKžK�K›KšK™K˜K—K–K•K”K“KœK’K£K¤K§K¥K¦K¨K©KªK«K¬K±K°K¯K®K­K²K³KÇKÆKÅKÄKÃKÂKÁKÀK¿K¾K½K¼K»KºK¹K¶KµK´K·K¸KÈKÉKÊKËKÌKÍKÑKÐKÎKÏKÒKÓKÔKÕKØKÖK×KÙKÚKÛKÜKÝKÞKßKàKáKâKãKåKäKçKæKèKéKêKëKìKíKîKïKöKõKôKóKòKðKñK÷KøKùKúKûKüK›LšL™L˜L—L–L•L”L“L’L‘L�L�LŽL�LŒL‹LŠL‰LˆL‡L†L…L„LƒL‚L�L€LÿKýKþKœL�LžLŸL L¡L¶LµL´L³L²L±L°L¯L®L­L¬L«LªL©L¨L§L¦L¥L¤L¢L£L·LºL¸L¹L¿LÀLÁLÂLÃLÄLÅLÆLÇLÈLÉLÊLËLÌLÍLÎLÏLÐLÑLÒLÓLÔLÕLÖL×LØLÙLÚLÛLÜLÝLÞLßLàLáLâLãLäLåLæLçLèLéLêLëLìLíLîLïLðLñLòLóLôLõLöL÷LøLùLúLûLüLýLþLÿL€M�M‚MƒM„M…M†M‡MˆM‰MŠM‹MŒM�MŽM�M�M‘M’M“M”M•M–M—M˜M™MšM›MœM�MžMŸM M¡M¢M£M¤M¥M¦M§M¨M©MªM«M¬M­M®M¯M°M±M²M³M´MµM¶M·M¸M¹MºM»M¼M½M¾M¿MÀMÁMÂMÃMÄMÅMÆMÇMÈMÉMÊMËMÌMÍMÎMÏMÐMÑMÒMÓMÔMÕMÖM×MØMÙMÚMÛMÜMÝMÞMßMàMáMâMãMäMåMæMçMèMéMêMëMìMíMîMïMðMñMòMóMôMõMöM÷MøMùMúMûMüMýMþMÿM€N�N‚NƒN„N…N†N‡NˆN‰NŠN‹NŒN�NŽN�N�N‘N’N“N”N•N–N—N˜N™NšN›NœN�NžNŸN N¡N¢N£N¤N¥N¦N§N¨N©NªN«N¬N­N®N¯N°N±N²N³N´NµN¶N·N¸N¹NºN»N¼N½N¾N¿NÀNÁNÂNÃNÄNÊSËSÌSÍSÎSÏSÐSÑSÒSÓSÔSÕSÖS×SØSÙSÚSÛSÜSÝSÞSßSàSáSâSãSäSåSæSçSèSéSêSëSìSíSîSïSðSñSòSóSôSõSöS÷SøSùSýSüSúSûSþSÿS€T„T…T†T‡TŽT�T�T‘T’T“T”T•T–T—T˜T™TšT›TœT�TžTŸT T¡T¢T£T¤T»T¼T½T¾T¿TÀTÁTÂTÉTÌTÊTËTÍTÎTÏTÐTÑTÔTèTéTêTëTìTíTîTïTðTñT“W”W•W–W—W˜W™WšW›WœW�WžWŸW W¡W¢W£W¤W¥W¦W§W¨W©WªW«W¬W­W®W¯W°W±W²W³W´WµW¶W·W¸W¹WºW»W¼W½W¾W¿WÀWÁWÂWÃWÄWÅWÆWÇWÈWÉWÊWËWÌWÍWÎWÏWÐWÑWÒWÓWÔWÕWÖW×WØWÙWÚWÛWÜWÝWÞWßWâWáWãWäWàWåWæWçWèWïWðWñWòWóWôWõWöW÷WøWùWúW€XþWýWüW�X‚XûWÿWƒX„X…X†X‡XˆX‰XŠX‹XŒX�XŽX�X�X‘X’X“X”X•X–X—X˜X™XšX›XœX�XžXŸX X€Z�Z‚ZƒZ„Z…Z†Z‡ZˆZ‰ZŠZ‹ZŒZ�ZŽZ�Z�Z‘Z’Z“Z”Z•Z–Z—Z˜Z™ZšZ›ZœZÜ[Ý[Þ[ß[à[á[â[ã[ä[å[æ[ç[è[é[ê[ë[ì[í[î[ï[ð[ñ[ò[ó[ô[õ[ö[÷[ø[ù[ú[û[ü[ý[þ[ÿ[€\�\‚\ƒ\„\…\†\‡\¨\©\­\¬\ª\«\®\¯\²\°\±\³\´\µ\¶\·\¸\¹\º\»\¼\½\¾\¿\À\Á\Â\Ã\Ä\Å\Æ\Ç\È\É\Ê\Ë\Ì\Í\Î\Ï\Ð\Ñ\Ò\Ó\Ô\Õ\Ö\×\Ø\Ù\Ú\Û\Ü\Ý\Þ\ß\à\á\â\ã\ä\å\æ\ç\è\é\ê\ë\ì\í\î\ï\ð\ñ\ò\ó\ô\õ\ö\÷\ø\ù\ú\û\ü\ý\þ\ÿ\€]�]‚]ƒ]„]…]†]‡]ˆ]‰]Š]‹]Œ]�]Ž]�]�]‘]’]“]”]•]–]—]˜]™]š]›]œ]�]ž]Ÿ] ]¡]¢]£]¤]¥]¦]§]¨]©]ª]«]¬]­]®]¯]°]±]²]³]´]µ]¶]·]¸]¹]º]»]¼]½]¾]¿]À]Á]Â]Ã]Ä]Å]Æ]Ç]È]É]Ê]Ë]Ì]Í]Î]Ï]Ð]Ñ]Ò]Ó]Ô]Õ]Ö]×]Ø]Ù]Ú]Û]Ü]Ý]Þ]ß]à]á]â]ã]ä]å]æ]ç]è]é]ê]ë]ì]í]î]ï]ð]ñ]ò]ó]ô]õ]ö]÷]ø]ù]ú]û]ü]ý]þ]ÿ]€^�^‚^ƒ^„^…^†^‡^ˆ^‰^Š^‹^Œ^�^Ž^�^�^‘^’^“^”^•^–^—^˜^™^š^›^§^¨^©^¬^ª^«^­^±^°^®^¯^²^³^´^µ^¶^·^º^¸^¹^»^¼^½^¾^¿^À^Á^Â^Ã^Ä^Å^Æ^Ç^È^É^Ê^Ë^Ì^Í^Î^Ï^Ð^Ñ^Ò^Ó^Ô^Õ^Ö^×^Ø^Ù^Ú^Û^Ü^Ý^Þ^Ó`Ô`Õ`Ö`×`Ø`Ù`Ú`Û`Ü`Ý`Þ`ß`à`á`â`ã`ä`å`æ`ç`è`é`ê`ë`ì`í`î`ï`ð`ñ`ò`ó`ô`õ`ö`÷`ø`ù`ú`û`ü`ý`þ`ÿ`€a�a‚aƒa„a…a†a‡aˆa‰aŠa‹aŒa�aŽa�a�a‘a’a“a”a•a–a—a˜a™aša›aœa�ažaŸa a¡a¢a£a¤a¥a¦a§a¨a¾a¿aÀaÁaÂaÈaÇaÆaÅaÄaÃaÉaÊaËaÌaÏaÍaÎaÐaÑaÒaÓaÔaÕaÖa×aØaÙaÚaÛaÜaÝaÞaßaàaáaâaãaäaåaæaçaèaéaêaëaìaíaîaïaðañaòaóaôaõaöa÷aøaùaúaûaüaýaþaÿa€b�b‚bƒb„b…b†b‡bˆb‰bŠb‹bŒbæNone! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáè­�çNone! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáè­êèNone! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáè®7éNone! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàá讄êNone" #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàá豇�cAgdaäEncodes something. To ensure relocatability file paths in positions are replaced with module names.‚cAgdaôDecodes an uncompressed bytestring (without extra hashes or magic numbers). The result depends on the include path.Returns Ý~$ if a decoding error is encountered.„cAgdaçEncodes an interface. To ensure relocatability file paths in positions are replaced with module names.ÏAn uncompressed bytestring corresponding to the encoded interface is returned.…cAgda=Decodes an interface. The result depends on the include path.Returns Ý~å if the file does not start with the right magic number or some other decoding error is encountered.îR�c‚cƒc„c…c†c‡c�c„cƒc‚c‡c…c†cîRíNone! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáè³�”cAgdaÉGet all the clauses of a definition and convert them to rewrite rules.•cAgda-Generate a sensible name for the given clause–cAgdaclauseToRewriteRule f q cl converts the clause cl of the function f to a rewrite rule with name q . Returns Nothing if  clauseBody cl is Nothing. Precondition:  clauseType cl is not Nothing.’c“c”c•c–c”c•c–c’c“cîNone! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáè³ðšN£TÊT�cžc�cžcÊTšN£TïNone! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáè´Ù¤cAgdaÏIf the given list of words is non-empty, print them as debug message (using ”T$) before raising the internal error.¤c¥c¤c¥còNone! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×ÙàáèµÀ¶cAgdaÂExpand literal integer pattern into suc/zero constructor patterns.·cAgda7Expand away (deeply) all pattern synonyms in a pattern.´cµc¶c·c¶c·c´cµcóNone! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáè¶¾c¿cÀcÁcÂcÃcÄcÅcÆcÇcÈcÉcÊcËcÌcÍcÎcÏc¿cÀcÁc¾cÂcÃcÄcÅcÆcÇcÈcÉcÊcËcÌcÍcÎcÏcôNone! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáè¶²ãcäcåcãcäcåcõNone! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàá蹘ýcAgda3Contracts all eta-redexes it sees without reducing.ÿcAgda5If record constructor, call eta-contraction function.€dAgda%Try to contract a lambda-abstraction Lam i (Abs x b).ÿcAgdaConstructor name c.AgdaConstructor info ci.AgdaConstructor arguments args.Agda9Eta-contraction workhorse, gets also name of record type.AgdaReturns  Con c ci args or its eta-contraction.€dAgdaInfo i of the Ú8.AgdaName x of the abstraction.AgdaBody (Ø8) b of the Ð8.AgdaLam i (Abs x b), eta-contracted if possible.ùcûcúcücýcþcÿc€dùcûcúcücýcþcÿc€d­None" #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×ÙÝàáèÁ�ÈSAgda(Specialized version to put in boot file.�dAgdainstantiateFull' Žd5s metas everywhere (and recursively) but does not �d.…dAgdaÉOnly unfold definitions if this leads to simplification which means that a constructor/literal pattern is matched. We include reduction of IApply patterns, as `p i0` is akin to matcing on the i0 constructor of interval.ŠdAgdaÕIs something (an elimination of) a meta variable? Does not perform any reductions.ŒdAgda­Instantiate something. Results in an open meta variable or a non meta. Doesn't do any reduction, and preserves blocking tags (when blocking meta is uninstantiated).•dAgdaíNormalise the given term but also preserve blocking tags TODO: implement a more efficient version of this.—dAgda+Meaning no metas left in the instantiation.˜dAgdaBlocking on all blockers.™dAgdaBlocking on any blockers.šdAgda€Case on whether a term is blocked on a meta (or is a meta). That means it can change its shape when the meta is instantiated.›dAgda-Throw pattern violation if blocked or a meta.¤dAgdaIf the first argument is Ö~0, then a single delayed clause may be unfolded.¨dAgdaÉReduce a non-primitive definition if it is a copy linking to another def.©dAgda*Reduce simple (single clause) definitions.ªdAgda!Unfold a single inlined function.«dAgdaðApply a definition using the compiled clauses, or fall back to ordinary clauses if no compiled clauses exist.­dAgdaˆApply a defined function to it's arguments, using the compiled clauses. The original term is the first argument applied to the third.¯dAgdaÇApply a defined function to it's arguments, using the original clauses.³dAgdaÀInstantiates everything except for definitions in the signature.´dAgdaÀInstantiates everything except for definitions in the signature.5ÈS�d‚dƒd„d…d†d‡d‰dˆdŠd‹dŒd�dŽd�d�d‘d’d“d”d•d–d—d˜d™dšd›dœd�dždŸd d¡d¢d£d¤d¥d¦d§d¨d©dªd«d¬d­d®d¯d°d±d²d³d´d5Žd�d�d‘d’d“d”d•d–d—d˜d™dŒd�dŠd‹dšd›dœd‡d‰dˆd�dždŸd d¡d¢d£d¤d¥d¦d§dÈS¨d©dªd«d¬d­d®d¯d°d…d†d±dƒd„d²d�d‚d³d´dÖNone! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×ÙàáèÛ $¤\AgdaA safe variant of ªZ.§\Agda+Gather leading  s of a type in a telescope.åeAgda  [ (i,(x,y)) ] = [(i=0) -> x, (i=1) -> y]æeAgdaA telescope split in two.êeAgda;The permutation takes us from the original telescope to firstPart ++ secondPart.ëeAgda(Flatten telescope: (“ : Tel) -> [Type “]ìeAgdaÙOrder a flattened telescope in the correct dependeny order: “ -> Permutation (“ -> “~)Since reorderTel tel( uses free variable analysis of type in tel, the telescope should be ”dd.îeAgdaÜUnflatten: turns a flattened telescope into a proper telescope. Must be properly ordered.ïeAgdaÊRename the variables in the telescope to the given names Precondition: size xs == size tel.ðeAgda(Get the suggested names from a telescopeõeAgda A variant of ôe… which takes the argument names (and the argument info) from the first telescope and the variable names from the second telescope.6Precondition: the two telescopes have the same length.öeAgda.Split the telescope at the specified position.÷eAgda³Permute telescope: permutes or drops the types in the telescope according to the given permutation. Assumes that the permutation preserves the dependencies in the telescope.3For example (Andreas, 2016-12-18, issue #2344): ø tel = (A : Set) (X : _18 A) (i : Fin (_m_23 A X)) tel (de Bruijn) = 2:Set, 1:_18 0, 0:Fin(_m_23 1 /0) flattenTel tel = 2:Set, 1:_18 0, 0:Fin(_m_23 1 0) |- [ Set, _18 2, Fin (_m_23 2 •1) ] perm = 0,1,2 -> 0,1 (picks the first two) renaming _ perm = [var 0, var 1, error] -- THE WRONG RENAMING! renaming _ (flipP perm) = [error, var 1, var 0] -- The correct renaming! apply to flattened tel = ... |- [ Set, _18 1, Fin (_m_23 1 60) ] permute perm it = ... |- [ Set, _18 11 ] unflatten (de Bruijn) = 1:Set, 0: _18 90 unflatten = (A : Set) (X : _18 A) øeAgda‡Recursively computes dependencies of a set of variables in a given telescope. Any dependencies outside of the telescope are ignored.ùeAgdaËComputes the set of variables in a telescope whose type depend on one of the variables in the given set (including recursive dependencies). Any dependencies outside of the telescope are ignored.úeAgdaÞSplit a telescope into the part that defines the given variables and the part that doesn't.See ‘’.ûeAgdaüAs splitTelescope, but fails if any additional variables or reordering would be needed to make the first part well-typed.üeAgda‚Try to instantiate one variable in the telescope (given by its de Bruijn level) with the given value, returning the new telescope and a substitution to the old one. Returns Nothing if the given value depends (directly or indirectly) on the variable.ýeAgdaÑTry to eta-expand one variable in the telescope (given by its de Bruijn level)þeAgdatelViewUpTo n t takes off the first n function types of t. Takes off all if n < 0.ÿeAgdatelViewUpTo' n p t takes off $t$ the first n (or arbitrary many if n < 0-) function domains as long as they satify p.�fAgdatelViewUpToPath n t takes off $t$ the first n (or arbitrary many if n < 0!) function domains or Path types.‚fAgdaLike telViewUpToPath but also returns the Boundaryá expected by the Path types encountered. The boundary terms live in the telescope given by the TelViewã. Each point of the boundary has the type of the codomain of the Path type it got taken from, see  fullBoundary.„fAgda8(TelV “ b, [(i,t_i,u_i)]) <- telViewUpToPathBoundary n aè Input: ” ¢E a Output: ”“ ¢E b ”“ ¢E i : I ”“ ¢E [ (i=0) -> t_i; (i=1) -> u_i ] : b…fAgda9(TelV “ b, [(i,t_i,u_i)]) <- telViewUpToPathBoundaryP n aç Input: ” ¢E a Output: ”.“ ¢E b ”.“ ¢E T is the codomain of the PathP at variable i ”.“ ¢E i : I ”.“ ¢E [ (i=0) -> t_i; (i=1) -> u_i ] : T Useful to reconstruct IApplyP patterns after teleNamedArgs “.‡fAgdateleElimsB args bs = esË Input: ”.“ ¢E args : “ ”.“ ¢E T is the codomain of the PathP at variable i ”.“ ¢E i : I ”.“ ¢E bs = [ (i=0) -> t_i; (i=1) -> u_i ] : T Output: ”.“ | PiPath “ bs A ¢E es : A‹fAgda'returns Left (a,b) in case the type is Pi a b or  PathP b _ _ assumes the type is in whnf.‘fAgdaDecomposing a function type.’fAgdaIf the given type is a Piõ, pass its parts to the first continuation. If not (or blocked), pass the reduced type to the second continuation.“fAgdaIf the given type is a Piõ, pass its parts to the first continuation. If not (or blocked), pass the reduced type to the second continuation.”fAgda&If the given type is blocked or not a Pi;, pass it reduced to the first continuation. If it is a Pi,, pass its parts to the second continuation.•fAgda&If the given type is blocked or not a Pi;, pass it reduced to the first continuation. If it is a Pi,, pass its parts to the second continuation.—fAgdaCompute type arity˜fAgdaïStrips all hidden and instance Pi's and return the argument telescope and head definition name, if possible.™fAgda:Register the definition with the given type as an instance›fAgda‘Try to solve the instance definitions whose type is not yet known, report an error if it doesn't work and return the instance table otherwise.úeAgdaA set of de Bruijn indices.AgdaOriginal telescope.Agda firstPart mentions the given variables,  secondPart not.ûeAgdaA list of de Bruijn indicesAgdaThe telescope to splitAgda firstPart5 mentions the given variables in the given order,  secondPart contains all other variablesüeAgda¢E “Agda!“ ¢E var k : A de Bruijn _level_Agda “ ¢E u : A¤\¥\¦\§\Þeãeâeáeàeßeäeåeæeçeêeéeèeëeìeíeîeïeðeñeòeóeôeõeöe÷eøeùeúeûeüeýeþeÿe€f�f‚fƒf„f…f†f‡fˆf‰fŠf‹fŒf�fŽf�f�f‘f’f“f”f•f–f—f˜f™fšf›fÂëeìeíeîeïeðeñeòeóeôeõeöe÷eøeùeæeçeêeéeèeúeûeüeýe§\þeÿe€f�fåeäe‚fƒf„f…f†f‡fˆf‰fŠf‹fŒf�fŽf�f�f‘f’f“f”f•f–f¤\¥\¦\—fÞeãeâeáeàeße˜f™fšf›föNone! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×ÙàáèÞ~ fAgda,Instantiate full as long as things are equal¡fAgda'Syntactic equality check for terms. ÷ checkSyntacticEquality v v' = do (v, v') <- instantiateFull (v, v') return ((v, v'), v==v')  only that v, v' are only fully instantiated to the depth where they are equal.+This means in particular that the returned v,v' cannot be MetaVs that are instantiated.©fAgda!Syntactic equality ignores sorts.­fAgda Syntactic term equality ignores â8 stuff. f¡f f¡f÷None# #$%'(-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáè߯fAgda:Convert a term (from a dot pattern) to a DeBruijn pattern.¯f°f±f¯f°f±fÙNone! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×ÙàáèâÐ ·fAgdaA  SingleLevel is a Level3 that cannot be further decomposed as a maximum a ”E b.ÄfAgdaGet the �] as a Ê8.ÈfAgda-Raises an error if no level kit is available.ÉfAgda,Checks whether level kit is fully available.ÒfAgdaGiven a level l, find the maximum constant n such that  l = n + l'ÓfAgdaGiven a level l, find the biggest constant n such that n <= lÔfAgdaGiven a constant n and a level l, find the level l' such that  l = n + l'Ñ (or Nothing if there is no such level). Operates on levels in canonical form.ÕfAgdaGiven two levels a and b%, try to decompose the first one as  a = a' ”E b (for the minimal value of a').×fAgda Return the maximum of the given  SingleLevels%ë^¶f·f¹f¸fºf»fÃfÂfÁfÀf¿f¾f½f¼fÄfÅfÆfÇfÈfÉfÊfËfÌfÍfÎfÏfÐfÑfÒfÓfÔfÕfÖf×fØfÙf%ºf»fÃfÂfÁfÀf¿f¾f½f¼fÄfÅfÆfÇfÈfÉfÊfë^ËfÌfÍfÎfÏfÐfÑfÒfÓfÔfÕf·f¹f¸f¶fÖf×fØfÙføNone! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×ÙàáèæáfAgdasimplifyLevelConstraint c cs turns an cð into an equality constraint if it is an inequality constraint and the reverse inequality is contained in cs.ÓThe constraints don't necessarily have to live in the same context, but they do need to be universally quanitfied over the context. This function takes care of renaming variables when checking for matches.áfAgda Constraint c to simplify.Agda)Other constraints, enable simplification.AgdaJust,: list of constraints equal to the original c. Nothing: no simplification possible.áfáfùNone! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáèç0äfAgda·Run the given action. At the end take all new metavariables of type level for which the only constraints are upper bounds on the level, and instantiate them to the lowest level.äfåfäfåfúNone! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáèé=çfAgda!A variable can either not occur (éf) or it does occur (èfì). In the latter case, the occurrence may disappear depending on the instantiation of some set of metas.êfAgdaêTry to enforce a set of variables not occurring in a given type. Returns a possibly reduced version of the type and for each of the given variables whether it is either not free, or maybe free depending on some metavariables.æfçfèféfêfæfêfçfèféfûNone! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáèê¤÷fAgda‹Given the type of a constructor (excluding the parameters), decide which arguments are forced. Precondition: the type is of the form “ ’C D vs and the vs are in normal form.úfAgda(Assumes that the term is in normal form.÷føfùf÷føfùfýNone" #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáèëß‚gAgda!Find a matching display form for q es&. In essence this tries to rewrite q es with any display form  q ps --> dt! and returns the instantiated dt" if successful. First match wins.‚g‚gþNone! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáèì²�gAgdaõRun before serialisation to remove any definitions that are not reachable from the public interface to the module.�g�gÀNone! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáèñ$ôTAgdamatchCompiledE c es% takes a function given by case tree c and and a spine es$ and tries to apply the function to es.£gAgdaêA stack entry is a triple consisting of 1. the part of the case tree to continue matching, 2. the current argument vector, and 3. a patch function taking the current argument vector back to the original argument vector.¤gAgdamatch'- tries to solve the matching problems on the Stack?. In each iteration, the top problem is removed and handled.If the top problem was a Done , we succeed.If the top problem was a Case n and the nØth argument of the problem is not a constructor or literal, we are stuck, thus, fail.ÒIf we have a branch for the constructor/literal, we put it on the stack to continue. If we do not have a branch, we fall through to the next problem, which should be the corresponding catch-all branch.ÜAn empty stack is an exception that can come only from an incomplete function definition.ôTõT¢g£g¤gõTôT£g¢g¤g�None! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáèó&¯gAgdaÊGiven a list of formally mutually recursive functions, check for actual recursive calls in the bodies of these functions. Returns the actually recursive functions as strongly connected components.As a side effect, update the ¡8: field in the clauses belonging to the given functions.°gAgdaanysDef names a returns all definitions from names that are used in a.¯g°g¯g°g‚None! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáè÷¶gAgda?ÀÁÂÄÆÉÎÑÔ×ÙÝàáèûÔgAgdaÊAlso tracks whether module parameters should be dropped from the patterns.ÚgAgdaLike reify7 but instantiates blocking metas, useful for reporting.ÛgAgdareifyDisplayFormP; tries to recursively rewrite a lhs with a display form.=Note: we are not necessarily in the empty context upon entry!ÜgAgdablankNotInScope e" replaces variables in expression e with _% if they are currently not in scope.ÝgAgdaôAssumes that pattern variables have been added to the context already. Picks pattern variable names from context.êgAgdaÂSkip reification of implicit and irrelevant args if option is off.ÛgAgdaLHS head symbolAgda7Patterns to be taken into account to find display form.Agda.Remaining trailing patterns ("with patterns").Agda!New head symbol and new patterns. ÓgÔgÕgÖg×gØgÙgÚgÛgÜgÝg ÕgÖg×gØgÙgÓgÔgÝgÚgÜgÛg»None! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×ÙàáèýuÚTAgda®h without the brackets.—hAgdaûPretty-print something paired with a (printable) node. | This intermediate typeclass exists to avoid UndecidableInstances.™hAgda2Pairing something with a node (for printing only).®hAgda!Comma-separated list in brackets.°hAgda,Pretty print with a given context precedence²hAgda#Proper pretty printing of patterns:´hAgda8This instance is more specific than a generic instance  Semigroup a => Semigroup (TCM a).1ÕTÖT×TØTÙTÚTÛTÜTÝTÞTßTàTáTâTãTäTåTÄ_—h˜h™hšh›hœh�hžhŸh h¡h¢h£h¤h¥h¦h§h¨h©hªh«h¬h­h®h¯h°h±h²h³h1ÕTÖT×TØTÙTÚTÛTÜTÝTÞTßTàTáTâTãTäTåT—h˜h™hšh›hœh�hžhŸh h¡h¢h£h¤h¥h¦h§h¨h©hªh«h¬h­h®h¯h°h±h²h³hÄ_ÝT5ÞT6ßT6¥h5„None" #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×ÙÝàáè¨þhAgdaIn an ambient context “, telePiPath f lams ” t bs builds a type that can be telViewPathBoundaryP'ed¿ into (TelV ” t, bs'). “.” ¢E t bs = [(i,u_i)] ” = ”0,(i : I),”1 €D b ˆD {0,1}. “.”0 | lams ”1 (u_i .b) : (telePiPath f ”1 t bs)(i = b) -- kinda: see lams “ ¢E telePiPath f ” t bsÿhAgdatelePiPath_ ” t [(i,u)]1 ” ¢E t i ˆD ” ” ¢E u_b : t for b ˆD {0,1}€iAgdaËarity of the type, including both Pi and Path. Does not reduce the type.þhÿh€i�i‚iþhÿh€i�i‚i…None! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáè ƒiƒi†None" #$%-012356789>?ÀÁÂÄÆÉÎÑÔ×ÙàáèÒ¨iAgdaAbbreviation: argN = ¥ ¢.ªiAgdaAbbreviation: argH = Æ ¥ ¢.-„i…i‰iˆi‡i†iŠi‹iŒi�iŽi�i�i‘i’i“i”i•i–i—i˜i™iši›iœi�ižiŸi i¡i¢i£i¤i¥i¦i§i¨i©iªi«i¬i­i®i¯i°i-Ši‹iŒi�iŽi�i�i‘i’i“i”i•i–i—i˜i™iši›iœi�ižiŸi i¡i¢i£i¤i¥i¦i§i¨i©iªi«i¬i­i®i¯i„i…i‰iˆi‡i†i°iŠi4‹i4Œi4œi9 �i9 ‡None! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×ÙàáèºiAgdaParse quote.³i´i¹i¸i·i¶iµiºi»i¼i½i¾i¿iÀiÁiÂiÃiÄiÅiºi³i´i¹i¸i·i¶iµi»i¼i½i¾i¿iÀiÁiÂiÃiÄiÅiˆNone" #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×ÙÝàáè6ÐiAgdaÉChecks that the correct variant of Cubical Agda is activated. Note that --erased-cubical "counts as"  --cubical in erased contexts.äiAgda;Define a "ghcomp" version of gcomp. Normal comp looks like:Ócomp^i A [ phi -> u ] u0 = hcomp^i A(1/i) [ phi -> forward A i u ] (forward A 0 u0)So for "gcomp" we compute:ígcomp^i A [ phi -> u ] u0 = hcomp^i A(1/i) [ phi -> forward A i u, ~ phi -> forward A 0 u0 ] (forward A 0 u0)òThe point of this is that gcomp does not produce any empty systems (if phi = 0 it will reduce to "forward A 0 u".óiAgda Tries to  primTranspø a whole telescope of arguments, following the rule for £ types. If a type in the telescope does not support transp,  transpTel throws it as an exception.ôiAgdaLike  transpTel but performing a transpFill.ÐiAgda*Which variant of Cubical Agda is required?/ÆiÈiÇiÉiËiÊiÌiÍiÏiÎiÐiÑiÒiÓiÔiÕiÖi×iØiÙiÚiÛiÜiÝiÞißiàiáiâiãiäiåiæiçièiéiêiëiìiíiîiïiðiñiòióiôi/ÐiÑiÒiÓiÔiÕiÖi×iØiÙiÚiÛiÜiÝiÞißiàiáiâiÍiÏiÎiãiÉiËiÊiÌiäiåiÆiÈiÇiæiçièiéiêiëiìiíiîiïiðiñiòióiôi®None! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáè c“jAgdabuildList A ts builds a list of type List A. Assumes that the terms ts all have type A.–jAgdamkPrimInjective takes two Set0 a and b and a function f of type a -> b5 and outputs a primitive internalizing the fact that f is injective.ŸjAgda ÇprimEraseEquality : {a : Level} {A : Set a} {x y : A} -> x áD y -> x áD y jAgdaGet the ­+ of the principal argument of BUILTIN REFL.Returns Nothing for e.g. Ð data Eq {a} {A : Set a} (x : A) : A ’C Set a where refl : Eq x x Returns Just ... for e.g. Ö data Eq {a} {A : Set a} : (x y : A) ’C Set a where refl : €D x ’C Eq x x ¡jAgdaUsed for both  primForce and primForceLemma.ŒÉS„i…i‰iˆi†i‡iŠi‹iŒi�iŽi�i�i‘i’i“i”i•i–i—i˜i™iši›iœi�ižiŸi i¡i¢i£i¤i¥i¦i§i¨i©iªi«i¬i­i®i¯i°iÆiÇiÈiÉiÊiËiÌiÍiÎiÏiÐiÑiÒiÓiÔiÕiÖi×iØiÙiÚiÛiÜiÝiÞißiàiáiâiãiäiåiæiçièiéiêiëiìiíiîiïiðiñiòióiôiÿi€j�j‚jƒj„j…j†j‡jˆj‰jŠj‹jŒj�jŽj�j�j‘j’j“j”j•j–j—j˜j™jšj›jœj�jžjŸj j¡j¢j£j¤j¥j¦j§j¨j©jªj«j¬j­j0ÉSÿi€j�j‚jƒj„j…j†j‡jˆj‰jŠj‹jŒj�jŽj�j�j‘j’j“j”j•j–j—j˜j™jšj›jœj�jžjŸj j¡j¢j£j¤j¥j¦j§j¨j©jªj«j¬j­j½None! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáè )çTýjýjçTãNone" #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×ÙÝàáè+¼aAgda,Is a type a proposition? (Needs reduction.)½aAgdaóModify the context whenever going from the l.h.s. (term side) of the typing judgement to the r.h.s. (type side).€kAgdaÈCheck whether something can be used in a position of the given modality.êThis is a substitute for double-checking that only makes sure modalities are correct. See issue #2640.Used in unifier ( unifyStep Solution{}).ÉThis uses McBride-style modality checking. It does not differ from Pfenning-style if we are only interested in the modality of the free variables, used meta-variables, and used definitions.‚kAgdaÉCheck whether something can be used in a position of the given relevance.êThis is a substitute for double-checking that only makes sure relevances are correct. See issue #2640.Used in unifier ( unifyStep Solution{}).½At the moment, this implements McBride-style irrelevance, where Pfenning-style would be the most accurate thing. However, these two notions only differ how they handle bound variables in a term. Here, we are only concerned in the free variables, used meta-variables, and used (irrelevant) definitions.„kAgdaÚPrepare parts of a parameter telescope for abstraction in constructors and projections.…kAgdaÔInternal workhorse, expects value of --experimental-irrelevance flag as argument.†kAgdaà(Conditionally) wake up irrelevant variables and make them relevant. For instance, in an irrelevant function argument otherwise irrelevant variables may be used, so they are awoken before type checking the argument.-Also allow the use of irrelevant definitions.‡kAgdaà(Conditionally) wake up irrelevant variables and make them relevant. For instance, in an irrelevant function argument otherwise irrelevant variables may be used, so they are awoken before type checking the argument.Precondition: Relevance /= RelevantˆkAgdaApply relevance relö the the relevance annotation of the (typing/equality) judgement. This is part of the work done when going into a rel -context.Precondition: Relevance /= Relevant‰kAgdaLike †k , but only act on context if --irrelevant-projections. See issue #2170.ŠkAgda;Sets the current quantity (unless the given quantity is 1).‹kAgdaApply quantity qõ the the quantity annotation of the (typing/equality) judgement. This is part of the work done when going into a q -context.Precondition: Quantity /= Quantity1ŒkAgdaÈApply inverse composition with the given cohesion to the typing context.ŽkAgda0Can we split on arguments of the given cohesion?�kAgdaà(Conditionally) wake up irrelevant variables and make them relevant. For instance, in an irrelevant function argument otherwise irrelevant variables may be used, so they are awoken before type checking the argument.-Also allow the use of irrelevant definitions.;This function might also do something for other modalities.�kAgdaã(Conditionally) wake up irrelevant variables and make them relevant. For instance, in an irrelevant function argument otherwise irrelevant variables may be used, so they are awoken before type checking the argument.ÖThis function might also do something for other modalities, but not for quantities.Precondition: Modality /= Relevant‘kAgdaApply modality mõ the the modality annotation of the (typing/equality) judgement. This is part of the work done when going into a m -context.Precondition: Modality /= Relevant’kAgdaLike �k0, but only act on context (for Relevance) if --irrelevant-projections. See issue #2170.“kAgdaŒWake up irrelevant variables and make them relevant. This is used when type checking terms in a hole, in which case you want to be able to (for instance) infer the type of an irrelevant variable. In the course of type checking an irrelevant function argument †k> is used instead, which also sets the context relevance to æ¯. This is not the right thing to do when type checking interactively in a hole since it also marks all metas created during type checking as irrelevant (issue #2568).#Also set the current quantity to 0.—kAgda$Is a type fibrant (i.e. Type, Prop)?˜kAgdaãCofibrant types are those that could be the domain of a fibrant pi type. (Notion by C. Sattler).¼a½a€k�k‚kƒk„k…k†k‡kˆk‰kŠk‹kŒk�kŽk�k�k‘k’k“k”k•k–k—k˜k„k½a…k†k‡kˆk‰kŠk‹kŒk�kŽk�k�k‘k’k“k‚kƒk€k�k”k•k¼a–k—k˜kðNone" #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×ÙÝàáèAB1¦cAgdaÔCheck if a name refers to a record constructor. If yes, return record definition.§cAgdaËCheck if a constructor name is the internally generated record constructor.%Works also for abstract constructors.¨cAgda,The fields should be eta contracted already."We can eta contract if all fields f = ...! are irrelevant or all fields f are the projection f v of the same value v?, but we need at least one relevant field to find the value v.1If all fields are erased, we cannot eta-contract.ªcAgda3Check if a name refers to an eta expandable record.«cAgdaÈCheck if a name refers to a record. If yes, return record definition.®kAgda8Replace projection patterns by the original projections.°kAgdaTyping of an elimination.±kAgdaType of the argument.³kAgda+The type of the record which is eliminated.´kAgdaThe type of the field.¶kAgda*Order the fields of a record construction.·kAgdaRaise generated ñFs as warnings.¸kAgdaRaise generated ñF s as errors.¹kAgda>Order the fields of a record construction. Raise generated ñFs as warnings.ºkAgda>Order the fields of a record construction. Raise generated ñF s as errors.»kAgdaA record field assignment record{xs = es}+ might not mention all visible fields. insertMissingFieldsƒ inserts placeholders for the missing visible fields and returns the values in order of the fields in the record declaration.¼kAgdaA record field assignment record{xs = es}+ might not mention all visible fields. insertMissingFieldsƒ inserts placeholders for the missing visible fields and returns the values in order of the fields in the record declaration.½kAgdaA record field assignment record{xs = es}+ might not mention all visible fields. insertMissingFieldsƒ inserts placeholders for the missing visible fields and returns the values in order of the fields in the record declaration.¾kAgdaùGet the definition for a record. Throws an exception if the name does not refer to a record or the record is abstract.¿kAgda.Get the record name belonging to a field name.ÀkAgda Get the field names of a record.ÂkAgda0Find all records with at least the given fields.ÃkAgda Get the field types of a record.ÄkAgda/Get the field names belonging to a record type.ÅkAgdaÈReturns the given record type's constructor name (with an empty range).ÆkAgda£Reduce a type and check whether it is a record type. Succeeds only if type is not blocked by a meta var. If yes, return its name, parameters, and definition.ÇkAgdaÝReduce a type and check whether it is a record type. Succeeds only if type is not blocked by a meta var. If yes, return its name, parameters, and definition. If no, return the reduced type (unless it is blocked).ÈkAgda*Get the original projection info for name.ÉkAgdagetDefType f t? computes the type of (possibly projection-(like)) function f whose first argument has type t . The  parameters for f are extracted from t. Nothing if f is projection(like) but t is not a datarecord axiom type.Precondition: t is reduced. See also: å“ÊkAgdaThe analogue of ªZ. If v is a value of record type t with field f, then projectTyped v t f returns the type of f v0. And also the record type (as first result).+Works also for projection-like definitions f9. In this case, the first result is not a record type.Precondition: t is reduced.ËkAgdaÁGiven a head and its type, compute the types of the eliminations.ÍkAgdaÚGoing under one of these does not count as a decrease in size for the termination checker.ÎkAgdaäCheck if a name refers to a record which is not coinductive. (Projections are then size-preserving)ÏkAgdaàCheck if a type is an eta expandable record and return the record identifier and the parameters.ÐkAgdaÙTurn off eta for unguarded recursive records. Projections do not preserve guardedness.ÑkAgdaàTurn on eta for inductive guarded recursive records. Projections do not preserve guardedness.ÒkAgdaÅTurn on eta for non-recursive record, unless user declared otherwise.ÓkAgda1Check whether record type is marked as recursive.9Precondition: record type identifier exists in signature.ÔkAgda etaExpandBoundVar i = (”, Ã, Ä)%Precondition: The current context is “ = “�A, x:R pars, “‚A where |“‚A| = i and R4 is a eta-expandable record type with constructor c and fields “'.Postcondition: ” = “�A, “', “‚A[c “'] and  “ ¢E à : ” and  ” ¢E Ä : “.ÕkAgda #expandRecordVar i “ = (”, Ã, Ä, “')Precondition: “ = “�A, x:R pars, “‚A where |“‚A| = i and R7 is a eta-expandable record type with constructor c and fields “'.Postcondition: ” = “�A, “', “‚A[c “'] and  “ ¢E à : ” and  ” ¢E Ä : “.ÖkAgdaÃPrecondition: variable list is ordered descendingly. Can be empty.×kAgda ¿curryAt v (“ (y : R pars) -> B) n = ( v -> » “ ys ’C v “ (c ys) {- curry -} , v -> » “ y ’C v “ (p1 y) ... (pm y) {- uncurry -} , “ (ys : As) ’C B[c ys / y] )where  n = size “.ØkAgdaetaExpand r pars u, computes the eta expansion of record value u at record type r pars.The first argument r? should be the name of an eta-expandable record type. Given /record R : Set where field x : A; y : B; .z : Cand r : R, /etaExpand R [] r = (tel, [R.x r, R.y r, R.z r])where tel8 is the record telescope instantiated at the parameters pars.ÙkAgdaÄEta expand a record regardless of whether it's an eta-record or not.ÞkAgdaÖIs the type a hereditarily singleton record type? May return a blocking metavariable.îPrecondition: The name should refer to a record type, and the arguments should be the parameters to the type.àkAgdaˆReturn the unique (closed) inhabitant if exists. In case of counting irrelevance in, the returned inhabitant contains dummy terms.ákAgdaÛCheck whether a type has a unique inhabitant and return it. Can be blocked by a metavar.âkAgdaèCheck whether a type has a unique inhabitant (irrelevant parts ignored). Can be blocked by a metavar.äkAgda®Checks whether the given term (of the given type) is beta-eta-equivalent to a variable. Returns just the de Bruijn-index of the variable if it is, or nothing otherwise.¶kAgda(Name of record type (for error message).AgdaHow to fill a missing field.AgdaField names of the record type.Agda6Provided fields with content in the record expression.Agda#Content arranged in official order.¹kAgda(Name of record type (for error message).AgdaHow to fill a missing field.AgdaField names of the record type.Agda6Provided fields with content in the record expression.Agda#Content arranged in official order.ºkAgda(Name of record type (for error message).AgdaHow to fill a missing field.AgdaField names of the record type.Agda6Provided fields with content in the record expression.Agda#Content arranged in official order.»kAgda*Name of record type (for error reporting).Agda=Function to generate a placeholder for missing visible field.Agda Given fields.AgdaAll record field names with ­.AgdaÂGiven fields enriched by placeholders for missing explicit fields.¼kAgda*Name of record type (for error reporting).Agda=Function to generate a placeholder for missing visible field.Agda Given fields.AgdaAll record field names with ­.AgdaÂGiven fields enriched by placeholders for missing explicit fields.½kAgda*Name of record type (for error reporting).Agda=Function to generate a placeholder for missing visible field.Agda Given fields.AgdaAll record field names with ­.AgdaÂGiven fields enriched by placeholders for missing explicit fields.ÄkAgda"Record type. Need not be reduced.ÊkAgdaHead (record value).Agda Its type.Agda Projection.=¦c§c¨c©cªc«c®k¯k°k²k±k´k³kµk¶k·k¸k¹kºk»k¼k½k¾k¿kÀkÁkÂkÃkÄkÅkÆkÇkÈkÉkÊkËkÌkÍkÎkÏkÐkÑkÒkÓkÔkÕkÖk×kØkÙkÚkÛkÜkÝkÞkßkàkákâkãkäk=µk¶k·k¸k¹kºk»k¼k½k¾k¿kÀk©cÁkÂkÃkÄkÅk«cÆkÇkÈkÉkÊk°k²k±k´k³kËkªcÌkÍkÎkÏk¦c§cÐkÑkÒkÓkÔkÕkÖk×kØkÙkÚkÛkÜkÝk¨cÞkßkàkákâkãkäk®k¯kŠNone! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×ÙàáèLÖókAgda×State worked on during the main loop of checking a lhs. [Ulf Norell's PhD, page. 35]õkAgda#The types of the pattern variables.ökAgda§Patterns after splitting. The de Bruijn indices refer to positions in the list of abstract syntax patterns in the problem, counted from the back (right-to-left).÷kAgdaUser patterns of supposed type delta.økAgdaType eliminated by �l in the problem. Can be æø to indicate that we came by an irrelevant projection and, hence, the rhs must be type-checked in irrelevant mode.ùkAgda%have we splitted with a PartialFocus?‚lAgda,The user patterns we still have to split on.„lAgdaØUser patterns which are typed (including the ones generated from implicit arguments).…lAgdaÃList of user patterns which could not yet be typed. Example: Ž f : (b : Bool) -> if b then Nat else Nat -> Nat f true = zero f false zero = zero f false (suc n) = n Ç In this sitation, for clause 2, we construct an initial problem Ç problemEqs = [false = b] problemRestPats = [zero]  As we instantiate b to false, the  targetType reduces to  Nat -> Nat and we can move pattern zero over to  problemEqs.†lAgdaThe code that checks the RHS.ŽlAgda—Flexible variables are equipped with information where they come from, in order to make a choice which one to assign when two flexibles are unified.•lAgda¿When we encounter a flexible variable in the unifier, where did it come from? The alternatives are ordered such that we will assign the higher one first, i.e., first we try to assign a DotFlex , then...–lAgdaFrom a record pattern (ƒ8). Saves the •l of its subpatterns.—lAgda-From a hidden formal argument or underscore (WildP).˜lAgdaFrom a dot pattern (‚8).™lAgda*From a non-record constructor or literal (ƒ8 or „8).¤lAgda»Classify remaining patterns after splitting is complete into pattern variables, as patterns, dot patterns, and absurd patterns. Precondition: there are no more constructor patterns.¥lAgdažBuild a renaming for the internal patterns using variable names from the user patterns. If there are multiple user names for the same internal variable, the unused ones are returned as as-bindings. Names that are not also module parameters are preferred over those that are.¥lAgda"The telescope of pattern variablesAgda0The list of user names for each pattern variableÀ ?¡?¢?£?¤?ëkìkíkîkïkðkñkòkókôkõkök÷køkùkúkûkükýkþkÿk€l�l‚lƒl„l…l†l‡lˆl‰lŠl‹lŒl�lŽl�l�l‘l’l“l”l•l–l—l˜l™lšl›lœl�lžlŸl l¡l¢l£l¤l¥lÀšl•l–l—l˜l™lŽl�l�l‘l’l“l”l›l‰lŠl‹lŒl�l‡lˆl ?¡?¢?£?¤?‚lƒl„l…l†lœl�lžlŸl€l�lþkÿkükýkúkûkókôkõkök÷køkùk l¡l¢l£lëkìkíkîkïkðkñkòk¤l¥lñNone" #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×ÙÝàáèR ­cAgdaIf matching is inconclusive (DontKnowÅ) we want to know whether it is due to a particular meta variable.±cAgdamatchCopatterns ps es matches spine es against copattern spine ps.Returns ®cå and a substitution for the pattern variables (in form of IntMap Term) if matching was successful.Returns ¯c3 if there was a constructor or projection mismatch.Returns °câ if an argument could not be evaluated to constructor form because of a blocking meta variable. In any case, also returns spine esï in reduced form (with all the weak head reductions performed that were necessary to come to a decision).³cAgdaÉBuilds a proper substitution from an IntMap produced by match(Co)patternsÔlAgda Instead of ¬Ñ, we need to use this lazy version of combining pattern matching computations.×lAgdaMatch a single copattern.ØlAgdaMatch a single pattern.ÚlAgdaMatch a single pattern.¬c­c°c¯c®c±c²c³cÒlÓlÔlÕlÖl×lØlÙlÚlÛl­c°c¯c®cÒlÓl³cÔlÕlÖl¬c±c×l²cØlÙlÚlÛl‹None! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáè^ àlAgdaPossible results of ël.álAgdaÅSuccess: this many implicits have to be inserted (list can be empty).âlAgdaÊError: hidden argument where there should have been a non-hidden argument.ãlAgdaError: bad named argument.ålAgdaÁInsert implicit binders in a list of binders, but not at the end.ælAgdaÁInsert implicit binders in a list of binders, but not at the end.çlAgdaimplicitArgs n expand t generates up to n* implicit argument metas (unbounded if n<0), as long as t is a function type and expand( holds on the hiding info of its domain.èlAgdaimplicitNamedArgs n expand t generates up to n1 named implicit arguments metas (unbounded if n<0), as long as t is a function type and expand1 holds on the hiding and name info of its domain.élAgda'Create a metavariable according to the “ info.êlAgda'Create a questionmark according to the “ info.ëlAgdaIf the next given argument is a and the expected arguments are ts insertImplicit' a ts returns the prefix of ts that precedes a.If a+ is named but this name does not appear in ts, the ãl exception is thrown.ìlAgdaIf the next given argument is a and the expected arguments are ts insertImplicit' a ts returns the prefix of ts that precedes a.If a+ is named but this name does not appear in ts, the ãl exception is thrown.ålAgda/Should be non-empty, otherwise nothing happens.Agda7Function type eliminated by arguments given by binders.AgdaPadded binders.ælAgda Non-empty.Agda7Function type eliminated by arguments given by binders.AgdaPadded binders.çlAgdan0, the maximum number of implicts to be inserted.Agdaexpand9, the predicate to test whether we should keep inserting.AgdaThe (function) type t we are eliminating.Agda1The eliminating arguments and the remaining type.èlAgdan0, the maximum number of implicts to be inserted.Agdaexpand9, the predicate to test whether we should keep inserting.AgdaThe (function) type t we are eliminating.Agda1The eliminating arguments and the remaining type.élAgdaKind/relevance of meta.AgdaName suggestion for meta.AgdaCheck (CmpLeq ) or infer (CmpEq ) the type.Agda Type of meta.Agda#The created meta as id and as term.êlAgdaKind/relevance of meta.AgdaName suggestion for meta.AgdaCheck (CmpLeq ) or infer (CmpEq ) the type.Agda Type of meta.Agda#The created meta as id and as term.ëlAgdaNext given argument a.AgdaExpected arguments ts.ìlAgdaNext given argument a.AgdaExpected arguments ts. àlálãlâlälålælçlèlélêlëlìl ålælçlèlélêlàlálãlâlälëlìlŒNone! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáè_¸ïlAgda;Insert implicit patterns in a list of patterns. Even if ÀG(, trailing SIZELT patterns are inserted.ðlAgda(Insert trailing SizeLt patterns, if any.ñlAgda;Insert implicit patterns in a list of patterns. Even if ÀG(, trailing SIZELT patterns are inserted.îlïlðlñlîlïlðlñl�None! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáèf®òlAgdaÉRename the variables in a telescope using the names from a given pattern.×If there are not at least as many patterns as entries as in the telescope, the names of the remaining entries in the telescope are unchanged. If there are too many patterns, there should be a type error later.õlAgda)Are there any untyped user patterns left?ölAgdaConstruct an initial ók% from user patterns. Example: @äCase : {A : Set} ’C Maybe A ’C Set ’C Set ’C Set Case nothing B C = B Case (just _) B C = C¶sample : {A : Set} (m : Maybe A) ’C Case m Bool (Maybe A ’C Bool) sample (just a) (just b) = true sample (just a) nothing = false sample nothing = true 2 The problem generated for the first clause of sample with patterns just a, just b would be: Å lhsTel = [A : Set, m : Maybe A] lhsOutPat = [A&, "m"] lhsProblem = Problem [Aª = _, "just a" = "a"] ["_", "just a"] ["just b"] [] lhsTarget = "Case m Bool (Maybe A -> Bool)" @÷lAgda…Try to move patterns from the problem rest into the problem. Possible if type of problem rest has been updated to a function type.ölAgdaThe initial telescope delta of parameters.AgdaÂThe problem equations inherited from the parent clause (living in delta).AgdaThe user patterns.Agda0The type the user patterns eliminate (living in delta).Agda8Continuation for when checking the patterns is complete.Agda9The initial LHS state constructed from the user patterns.òlólôlõlöl÷lòlólôlõlöl÷lŽNone! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×ÙàáèhølAgdaëExpand a clause to the maximal arity, by inserting variable patterns and applying the body to variables.ùlAgdaÍGet the name of defined symbol of the head normal form of a term. Returns Ý~ if no such head exists.ølùlølùlåNone! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáès0²bAgdaúGet the name of the datatype constructed by a given constructor. Precondition: The argument must refer to a constructor³bAgda(Get true constructor with record fields.ûlAgdaArity.ülAgdaList of field names.ýlAgdaÔGet true constructor with fields, expanding literals to constructors if possible.þlAgdaóAugment constructor with record fields (preserve constructor name). The true constructor might only surface via reduce.ÿlAgda�Is the datatype of this constructor a Higher Inductive Type? Precondition: The argument must refer to a constructor of a datatype or record.€mAgdagetConType c t/ computes the constructor parameters from type t? and returns them plus the instantiated type of constructor c. This works also if tÉ is a function type ending in a data/record type; the term from which c comes need not be fully appliedNothing if t= is not a data/record type or does not have a constructor c.�mAgdagetFullyAppliedConType c t7 computes the constructor parameters from data type t? and returns them plus the instantiated type of constructor c.Nothing if t= is not a data/record type or does not have a constructor c.Precondition: t is reduced.‚mAgdaòReturn the number of non-parameter arguments to a data constructor, or the field names of a record constructor.*For getting just the arity of constructor c , use either id size  $ getConstructorArity c.ƒmAgdaÊCheck if a name refers to a datatype or a record with a named constructor.„mAgda1Check if a name refers to a datatype or a record.…mAgda Precodition: Ø8 is reduced.ˆmAgda,Precondition: Name is a data or record type.‰mAgdaÝ~! if not data or record type name.ŠmAgdaÝ~" if not data or record definition.€mAgda Constructor.AgdaEnding in data/record type.AgdaNothing$ if not ends in data or record type.Just ((d, dt, pars), ct) otherwise, where d* is the data or record type name, dt0 is the type of the data or record name, pars( are the reconstructed parameters, ctÁ is the type of the constructor instantiated to the parameters.�mAgda Constructor.Agda.Reduced type of the fully applied constructor.AgdaNothing if not data or record type.Just ((d, dt, pars), ct) otherwise, where d* is the data or record type name, dt0 is the type of the data or record name, pars( are the reconstructed parameters, ctÁ is the type of the constructor instantiated to the parameters.²b³búlülûlýlþlÿl€m�m‚mƒm„m…m†m‡mˆm‰mŠm³býlþl²bÿl€m�múlülûl‚mƒm„m…m†m‡mˆm‰mŠm�None" #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×ÙÝàáèvt‹mAgda9Get all symbols that a non-linear pattern matches against�mAgda;Gather the set of pattern variables of a non-linear pattern�mAgda,Convert from a non-linear pattern to a term.’mAgdaïTurn a term into a non-linear pattern, treating the free variables as pattern variables. The first argument indicates the relevance we are working under: if this is Irrelevant, then we construct a pattern that never fails to match. The second argument is the number of bound variables (from pattern lambdas). The third argument is the type of the term.–mAgda5Only computes free variables that are not bound (see �m), i.e., those in a ŠJ. ‹mŒm�m�mŽm�m‘m’m“m ’m“m�m‘m�m�mŽm‹mŒm�None! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×ÙàáèyÁ¹mAgdaTake a record pattern pß and yield a list of projections corresponding to the pattern variables, from left to right. E.g. for  (x , (y , z)) we return [ fst, fst . snd, snd . snd ].%If it is not a record pattern, error ÕE is raised.»mAgda›Split tree annotated for record pattern translation. type RecordSplitTree = SplitTree' RecordSplitNode type RecordSplitTrees = SplitTrees' RecordSplitNode;Bottom-up procedure to record-pattern-translate split tree.¼mAgdaÑReplaces pattern matching on record constructors with uses of projection functions. Does not remove record constructor patterns which have sub-patterns containing non-record constructor or literal patterns.¹mºm»m¼m¼mºm»m¹m‘None! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáè…«ÌmAgda%Edge labels for the positivity graph.ÓmAgda Monad for computing occurrences.ÔmAgda"Context for computing occurrences.ÖmAgda*Items corresponding to the free variables.=Potential invariant: It seems as if the list has the form genericReplicate n Ý~ ++ � (Ü~ . ãm) is, for some n and is, where is! is decreasing (non-strictly).×mAgdaName for žD builtin.ØmAgdaUsed to build ám and occurrence graphs.ÜmAgdaUsed to build ám and occurrence graphs.àmAgdaOnlyVarsUpTo n occs* discards occurrences of de Bruijn index >= n.æmAgdaèCheck that the datatypes in the mutual block containing the given declarations are strictly positive.ÕAlso add information about positivity and recursivity of records to the signature.èmAgdaRemoves àm entries.émAgdaAn interpreter for Üm.=WARNING: There can be lots of sharing between the generated Œ'Ä entries. Traversing all of these entries could be expensive. (See ñm for an example.)ìmAgdaRunning the monadímAgda0Computes the number of occurrences of different âms in the given definition.2WARNING: There can be lots of sharing between the Œ'Å entries. Traversing all of these entries could be expensive. (See ñm for an example.)îmAgda1Computes the occurrences in the given definition.ïmAgda4Merges two edges between the same source and target.ðmAgda2WARNING: There can be lots of sharing between the Œ'Ò entries in the edges. Traversing all of these entries could be expensive. (See ñm for an example.)ñmAgdaComputes all non-ã2 occurrence graph edges represented by the given Üm.2WARNING: There can be lots of sharing between the Œ'ì entries in the edges. Traversing all of these entries could be expensive. For instance, for the function F in  benchmarkmiscSlowOccurrences.agda, a large number of edges from the argument X to the function F* are computed. These edges have polarity ý&, û& or ü&, and contain the following Œ' elements:Œ' _ ­ (® [‹' F, ˆ' 0]),Œ' _ ­ (® [‹' F, ˆ' 0, �']),Œ' _ ­ (® [‹' F, ˆ' 0, �', �']),Œ' _ ­ (® [‹' F, ˆ' 0, �', �', �']), and so on.õmAgda.The monoid laws only hold up to flattening of Ým.ömAgda1The semigroup laws only hold up to flattening of Ým.ˆnAgdaÆThese operations form a semiring if we quotient by the relation "the ù& components are equal".ìmAgdaExtension of the Ôm#, usually a local variable context.ñmAgda&The names in the current mutual block.AgdaThe current name.&ÌmÍmÎmÐmÏmÑmÒmÓmÔmÕm×mÖmØmÛmÚmÙmÜmàmßmÞmÝmámâmämãmåmæmçmèmémêmëmìmímîmïmðmñm&åmæmçmâmämãmámÜmàmßmÞmÝmØmÛmÚmÙmèmémÔmÕm×mÖmÓmêmëmìmÑmÒmímîmÎmÐmÏmÌmÍmïmðmñm¹None! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáè’P ÒTAgdaWhich DefÏtypes are eligible for the principle argument of a projection-like function?ÓTAgdaÂTurn a definition into a projection if it looks like a projection.&Conditions for projection-likeness of f:  The type of f must be of the shape  “ ’C D “ ’C C for D a name (Def ) which is ÒT: data  record   postulate.éThe application of f should only get stuck if the principal argument is inferable (neutral). Thus:a. fç cannot have absurd clauses (which are stuck even if the principal argument is a constructor).b. fÚ cannot be abstract as it does not reduce outside abstract blocks (always stuck).c. f= cannot match on other arguments than the principal argument.d. f cannot match deeply.e. f&s body may not mention the parameters. f. A rhs of f˜ cannot be a record expression, since this will be translated to copatterns by recordExpressionsToCopatterns. Thus, an application of fâ waiting for a projection can be stuck even when the principal argument is a constructor.g. fä cannot be an irrelevant definition (Andreas, 2022-03-07, #5809), as those are not reduced.For internal reasons: f cannot be constructor headedfê cannot be recursive, since we have not implemented a function which goes through the bodies of the fÞ and the mutually recursive functions and drops the parameters from all applications of f.$Examples for these reasons: see testSucceedNotProjectionLike.agda–nAgda View for a Def f (Apply a : es) where isRelevantProjection f. Used for projection-like fs.—nAgdaÎA projection or projection-like function, applied to its principal argument˜nAgdaóJust a lone projection-like function, missing its principal argument (from which we could infer the parameters).™nAgda*Not a projection or projection-like thing.�nAgda Semantics of –n.žnAgda Top-level –n (no reduction).ŸnAgda®Reduce away top-level projection like functions. (Also reduces projections, but they should not be there, since Internal is in lambda- and projection-beta-normal form.) nAgda¾Turn prefix projection-like function application into postfix ones. This does just one layer, such that the top spine contains the projection-like functions as projections. Used in  compareElims in TypeChecking.Conversion and in Agda.TypeChecking.CheckInternal.If the À~ is Ö~û, a lone projection like function will be turned into a lambda-abstraction, expecting the principal argument. If the À~ is õ~ , it will be returned unaltered.…No precondition. Preserves constructorForm, since it really does only something on (applications of) projection-like functions.ÒTÓT’n•n”n“n–n™n˜n—nœn›nšn�nžnŸn n–n™n˜n—nœn›nšn�nžnŸn’n•n”n“n nÒTÓT’None! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáè–@¢nAgdaóInfer the sort of another sort. If we can compute the bigger sort straight away, return that. Otherwise, return  UnivSort sÆ and add a constraint to ensure we can compute the sort eventually.¥nAgdaéInfer the sort of a pi type. If we can compute the sort straight away, return that. Otherwise, return  PiSort a s2Æ and add a constraint to ensure we can compute the sort eventually.¦nAgdaAs  inferPiSort', but for a nondependent function type.¨nAgda Non-dependent version of ptsRuleªnAgdaÀRecursively check that an iterated function type constructed by telePi is well-sorted.­nAgdaResult is in reduced form.®nAgdaReconstruct the sort of a term./Precondition: given term is a well-sorted type.¯nAgdaÆReconstruct the minimal sort of a type (ignoring the sort annotation).¢n£n¤n¥n¦n§n¨n©nªn«n¬n­n®n¯n¢n£n¤n¥n¦n§n¨n©nªn«n¬n­n®n¯n¼None! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàá虑³nAgda/Report a number of names that are not in scope.´nAgda.Suggest some corrections to a misspelled name.·nAgdaýIf there are several warnings, remove the unsolved-constraints warning in case there are no interesting constraints to list.¸nAgda$Turns warnings, if any, into errors.¹nAgdaÅDepending which flags are set, one may happily ignore some warnings.¼nAgda8Collect all warnings that have accumulated in the state.³nAgda Print range?Agda Correction suggestion generator.AgdaNames that are not in scope.´nAgdaNames in scope.Agda,Canonization function for similarity search.AgdaA name which is not in scope.Agda"did you mean" hint.æT°n±n²n³n´nµn¶n·n¸n¹nºn»n¼n½n¾næT°n±n²n³n´nµn¶n·n¸n¹nºn»n¼n½n¾n“None! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáè¡ÁnAgda†For each variable in the patterns of a split clause, we remember the de Bruijn-index and the literals excluded by previous matches.ÇnAgdaVariable blocking a match.ÉnAgda/De Bruijn index of variable blocking the match.ÊnAgdaConstructors in this position.ËnAgdaLiterals in this position.ÌnAgdaÇTrue if at least one clause has a variable pattern in this position.ÍnAgdaÀTrue if at least one clause has a lazy pattern in this position.ÑnAgda%Missing elimination blocking a match.ÒnAgdaBlocked on unsplit projection.ÓnAgda!Blocked on unintroduced argument.ÕnAgdaÆTrue if there are also matching clauses without an unsplit copattern.ÖnAgda Is the unintroduced argument an æ6 pattern?×nAgdaIf matching is inconclusive (BlockË) we want to know which variables or projections are blocking the match.ØnAgdaMatches unconditionally.ÙnAgdaDefinitely does not match.ÛnAgdaBlockedOnProj o" if the clause has a result split.ÜnAgdaBlockingVar i cs ls o means variable i is blocked on constructors cs and literals ls.ÝnAgda3Match the given patterns against a list of clauses.7If successful, return the index of the covering clause.ânAgda-A pattern that matches anything (modulo eta).änAgdamatchClause qs i c checks whether clause c( covers a split clause with patterns qs.ÝnAgda+Search for clause that covers the patterns.AgdaPatterns of the current  SplitClause.änAgdaSplit clause patterns qs.AgdaClause c to cover split clause.AgdaResult. If Øn the instantiation rs such that (namedClausePats c)[rs] == qs.%ÀnÁnÂnÃnÄnÅnÆnÇnÈnÉnÊnËnÌnÍnÎnÏnÐnÑnÒnÓnÔnÕnÖn×nÚnØnÙnÛnÜnÝnÞnßnànánânãnän%×nÚnØnÙnÛnÜnÝnänÀnÁnÂnÃnÄnÅnßnÞnànánânÇnÈnÉnÊnËnÌnÍnÆnÑnÒnÓnÔnÕnÖnãnÎnÏnÐn”None! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáè¡ä ínînïnðnñnônónònõnön÷nøn ðnñnônónònínînïnõnön÷nøn•None" #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×ÙÝàáè§1 –oAgdaÏMatch a non-linear pattern against a neutral term, returning a substitution.™oAgda�Matching against a term produces a constraint which we have to verify after applying the substitution computed by matching.›oAgda+Telescope of free variables in the equationœoAgda8Type of the equation, living in same context as the rhs.�oAgda-Term from pattern, living in pattern context.žoAgdaÂTerm from scrutinee, living in context where matching was invoked.¤oAgdaMonad for non-linear matching.«oAgdaAdd substitution  i |-> v : a to result of matching.±oAgda?Typed ²·-equality, also handles empty record types. Returns Ý~ˆ if the terms are equal, or `Just b` if the terms are not (where b contains information about possible metas blocking the comparison)²oAgdaÉUtility function for getting the name and type of a head term (i.e. a Ü8 or Ý8 with no arguments)—oAgda3Are we currently matching in an irrelevant context?Agda"The telescope of pattern variablesAgda'The telescope of lambda-bound variablesAgdaThe type of the patternAgdaThe pattern to matchAgda*The term to be matched against the pattern–o—o˜o™ošožo�oœo›oŸo o¡o£o¢o¤o¥o¦o§o¨o©oªo«o¬o­o®o¯o°o±o²o¤o¥o¦o o¡o£o¢o§o¨o©oªo«o¬oŸo™ošožo�oœo›o˜o–o—o­o®o¯o°o±o²o–None! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáè»A,ÍoAgda6The call information is stored as free monoid over æFß. As long as we never look at it, only accumulate it, it does not matter whether we use Set, (nub) list, or TreeÃ. Internally, due to lazyness, it is anyway a binary tree of ˜; nodes and singleton leafs. Since we define no order on æF! (expensive), we cannot use a SetÕ or nub list. Performance-wise, I could not see a difference between Set and list.ÒoAgda2True if thing not eligible for structural descent.ÓoAgdaThing.ÕoAgdaExtract variables from ú7;s that could witness a decrease via a SIZELT constraint.«These variables must be under an inductive constructor (with no record constructor in the way), or after a coinductive projection (with no inductive one in the way).×oAgdaTermination monad.ÚoAgda Termination monad service class.ÞoAgdaThe termination environment.àoAgdaÁAre we mining dot patterns to find evindence of structal descent?áoAgda#The name of size successor, if any.âoAgda2The name of the delay constructor (sharp), if any.ãoAgda/Depth at which to cut off the structural order.äoAgda3The name of the function we are currently checking.åoAgda›The names of the functions in the mutual block we are checking. This includes the internally generated functions (with, extendedlambda, coinduction).æoAgdaòThe list of name actually appearing in the file (abstract syntax). Excludes the internally generated functions.çoAgdaÓDoes the actual clause result from with-inlining? (If yes, it may be ill-typed.)èoAgdaßTarget type of the function we are currently termination checking. Only the constructors of óo are considered guarding.éoAgda%Are we checking a delayed definition?êoAgdaOnly consider the ¡p õ~< arguments for establishing termination. See issue #1023.ëoAgdaOnly consider guardedness if õ~ (not masked).ìoAgda How many SIZELTù relations do we have in the context (= clause telescope). Used to approximate termination for metas in call args.íoAgda+The patterns of the clause we are checking.îoAgda¬Number of additional binders we have gone under (and consequently need to raise the patterns to compare to terms). Updated during call graph extraction, hence strict.ïoAgdaþThe current guardedness status. Changes as we go deeper into the term. Updated during call graph extraction, hence strict.ðoAgda�When extracting usable size variables during construction of the call matrix, can we take the variable for use with SIZELT constraints from the context? Yes, if we are under an inductive constructor. No, if we are under a record constructor. (See issue #1015).ñoAgdaÊPattern variables that can be compared to argument variables using SIZELT.òoAgdaThe current guardedness level.óoAgda+The target of the function we are checking.ôoAgda!The mutual block we are checking.ÒThe functions are numbered according to their order of appearance in this list.õoAgda!An empty termination environment.ÂValues are set to a safe default meaning that with these initial values the termination checker will not miss termination errors it would have seen with better settings of these values.5Values that do not have a safe default are set to  IMPOSSIBLE.öoAgda)Generic run method for termination monad.÷oAgdaÃRun TerM computation in default environment (created from options).’pAgda Lens for ìo.“pAgda Lens for ño.–pAgda Lens for ðo.™pAgda9Compute usable vars from patterns and run subcomputation.špAgdaSet ðo when going under constructor c.›pAgdaSet ðo$ for arguments following projection qø. We disregard j j > k: in context. Returns 3 in this case. Overapproximates.£pAgda*Print masked things in double parentheses.­pAgda*Only show intermediate nodes. (Drop last æF).ÖÍoÎoÏoÐoÑoÓoÒoÔoÕoÖo×oØoÙoÚoÝoÜoÛoÞoßoñoðoïoîoíoìoëoêoéoèoçoæoåoäoãoâoáoàoòoóoôoõoöo÷oøoùoúoûoüoýoþoÿo€p�p‚pƒp„p…p†p‡pˆp‰pŠp‹pŒp�pŽp�p�p‘p’p“p”p•p–p—p˜p™pšp›pœp�pžpŸp p¡p¢pÖôoóoòoÞoßoñoðoïoîoíoìoëoêoéoèoçoæoåoäoãoâoáoàoõoÚoÝoÜoÛo×oØoÙoöo÷oøoùoúoûoüoýoþoÿo€p�p‚pƒp„p…p†p‡pˆp‰pŠp‹pŒp�pŽp�p�p‘p’p“p”p•p–p—p˜p™pšp›pœp�pžpŸpÕoÖoÔoÐoÑoÓoÒo p¡pÍoÎoÏo¢p¶None" #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×ÙÝàá轃‚TAgdaÍProduces a function which drops the filename component of the qualified name.ËpAgda3Drops the filename component of the qualified name.‚TƒTµn¶n¸n¹nºn»n¼n½n¾nÉpÊpËpƒTÉp¶nµn¸n¹nºn»n½n¼n¾nËp‚TÊp‰None! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáè¾ûjüjØpØpûjüj—None" #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×ÙÝàáèÌôÛpAgdaSize constraints we can solve.ÜpAgda Leq a +n b represents  a =< b + n.  Leq a -n b represents  a + n =< b.ÝpAgdaAtomic size expressions.ÞpAgda)A size meta applied to de Bruijn indices.ßpAgdaA de Bruijn index.àpAgdaÊCheck whether a type is either not a SIZELT or a SIZELT that is non-empty.ápAgda;Precondition: Term is reduced and not blocked. Throws a ˜E if undecidedâpAgda-Checks that a size variable is ensured to be > 0. E.g. variable i cannot be zero in context 9(i : Size) (j : Size< ‘C ‘C i) (k : Size< j) (k' : Size< k). Throws a ˜E if undecided.ãpAgdaÏCheck whether a variable in the context is bounded by a size expression. If  x : Size< a, then a is returned.æpAgdaÿWhenever we create a bounded size meta, add a constraint expressing the bound. First argument is the new meta and must be a MetaV{}. In boundedSizeMetaHook v tel a, tel includes the current context.çpAgda#trySizeUniv cmp t m n x els1 y els28 is called as a last resort when conversion checking m cmp n : t failed for definitions  m = x els1 and  n = y els2, where the heads x and y are not equal. trySizeUniv9 accounts for subtyping between SIZELT and SIZE, like Size< i =< Size.>If it does not succeed it reports failure of conversion check.èpAgdaÏCompute the deep size view of a term. Precondition: sized types are enabled.êpAgdaCompare two sizes.ëpAgdaCompare two sizes in max view.ìpAgdacompareBelowMax u vs checks  u <= max vs. Precondition:  size vs >= 2îpAgdaIf ÜGù then postpone as constraint, otherwise, fail hard. Failing is required if we speculatively test several alternatives.ïpAgda3Checked whether a size constraint is trivial (like X <= X+1).ðpAgda9Test whether a problem consists only of size constraints.ñpAgda-Test whether a constraint speaks about sizes.ôpAgda?Take out all size constraints of the given direction (DANGER!).õpAgda4Find the size constraints of the matching direction.öpAgda.Return a list of size metas and their context.÷pAgda—Compute a set of size constraints that all live in the same context from constraints over terms of type size that may live in different contexts.cf. ø”øpAgdaÀTurn a constraint over de Bruijn indices into a size constraint.ùpAgdaÆTurn a term with de Bruijn indices into a size expression with offset. Throws a ˜E, if the term isn't a proper size expression.úpAgdaÕCompute list of size metavariables with their arguments appearing in a constraint.ûpAgdaËConvert size constraint into form where each meta is applied to indices  0,1,..,n-1 where n is the arity of that meta. X[Ã] <= t becomes X[id] <= t[Ã^-1] X[Ã] äD Y[Ä] becomes X[id] äD Y[Ä[Ã^-1]] or X[Ã[Ä^1]] äD Y[id]: whichever is defined. If none is defined, we give up.üpAgdaÁMain function. Uses the old solver for size constraints using Agda.Utils.Warshall6. This solver does not smartly use size hypotheses  j : Size< i<. It only checks that its computed solution is compatibleýpAgda&Old solver for size constraints using Agda.Utils.Warshall6. This solver does not smartly use size hypotheses  j : Size< i.ópAgdaTest for being a sized typeAgda Restriction to these directions.ýpAgdaSize metas and their arity.Agda(Size constraints (in preprocessed form).AgdaReturns False if solver fails.#ÛpÜpÝpÞpßpàpápâpãpäpåpæpçpèpépêpëpìpípîpïpðpñpòpópôpõpöp÷pøpùpúpûpüpýp#àpápâpãpäpåpæpçpèpépêpëpìpípîpïpðpñpòpópôpõpöpÝpÞpßpÛpÜp÷pøpùpúpûpüpýp×None! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×ÙàáèÎþ¥^Agda/What is the polarity of a function composition?¦^AgdaMain function of this module.„qAgda#Get the next polarity from a list, ÔI if empty.…qAgdaReplace ÕI by ÒI&. (Arbitrary bias, but better than ÔI, see issue 1596).ŒqAgdaDoes not look into sort.¥^¦^ƒq„q…q¦^¥^„q…qƒq˜None! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×ÙàáèÔ" —qAgdaÿDo a full whnf and treat neutral terms as rigid. Used on the arguments to an injective functions and to the right-hand side.˜qAgdaêDoes deBruijn variable i correspond to a top-level argument, and if so which one (index from the left).™qAgdaJoin a list of inversion maps.šqAgda%Update the heads of an inversion map.œqAgdaÎPrecondition: all the given clauses are non-absurd and contain a proper match.�qAgdaÄIf a clause is over-applied we can't trust the head (Issue 2944). For instance, the clause might be `f ps = u , v` and the actual call `f vs .fst`. In this case the head will be the head of u rather than `_,_`.žqAgdaëTurn variable heads, referring to top-level argument positions, into proper heads. These might still be ÀHû, but in that case they refer to deBruijn variables. Checks that the instantiated heads are still rigid and distinct.ŸqAgda,Argument should be in weak head normal form. qAgdaÞPrecondition: The first term must be blocked on the given meta and the second must be neutral.¡qAgdaòThe second argument should be a blocked application and the third argument the inverse of the applied function.“q”q•q–q—q˜q™qšq›qœq�qžqŸq q¡q¢q–q—q˜q™qšq›qœq�qžqŸq“q”q•q q¡q¢q™None" #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×ÙÝàáèÖ¶£qAgdafindInstance m (v,a)s& tries to instantiate on of the types as of the candidate terms vs to the type t of the metavariable m. If successful, meta m% is solved with the instantiation of vƒ. If unsuccessful, the constraint is regenerated, with possibly reduced candidate set. The list of candidates is equal to Nothingú when the type of the meta wasn't known when the constraint was generated. In that case, try to find its type again.£q¤q¥q¦q£q¤q¥q¦qÎNone" #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×ÙÝàáèÛ… ¥XAgdaguardConstraint c blocker tries to solve blockerà first. If successful without constraints, it moves on to solve c, otherwise it adds a c= to the constraint pool, blocked by the problem generated by blocker.¨XAgda=Don't allow the argument to produce any blocking constraints.ŠWARNING: this does not mean that the given computation cannot constrain the solution space further. It can well do so, by solving metas.ªqAgdaÍAdd all constraints belonging to the given problem to the current problem(s).«qAgda†Run a computation that should succeeds without constraining the solution space, i.e., not add any information about meta-variables.¬qAgda,Create a fresh problem for the given action.¯qAgdaÕWake constraints matching the given predicate (and aren't instance constraints if ¥q).°qAgda4Wake up the constraints depending on the given meta.±qAgda1Wake up all constraints not blocked on a problem.³qAgdaôSolve awake constraints matching the predicate. If the second argument is True solve constraints even if already �X.¤X¥X¦X§X¨X©X¨q©qªq«q¬q­q®q¯q°q±q²q³q´qµq¶q¨q©qªq¨X«q¬q­q¦X§X¥X®q¯q°q±q²q©X³q´qµq¶q¤XšNone" #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×ÙÝàáèßùqAgdaUnification succeeded.ºqAgdaTerms are not unifiable.»qAgda)Unification got blocked on a metavariable¼qAgda1Some other error happened, unification got stuck.½qAgda Result of ¾q.¾qAgdaUnify indices.In unifyIndices gamma flex a us vs,us and vs3 are the argument lists to unify, eliminating type a.gamma' is the telescope of free variables in us and vs.flex3 is the set of flexible (instantiable) variabes in us and vs.*The result is the most general unifier of us and vs.ÁqAgdaDon't ever reduce the whole ¯§, as it will destroy readability of the context in interactive editing! To make sure this insight is not lost, the following dummy instance should prevent a proper ‡d instance for °.¾qAgda gammaAgda flexAgda aAgda usAgda vs¸q¹qºq»q¼q½q¾q½q¸q¹qºq»q¼q¾q›None" #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×ÙÝàáèðJÎqAgdathe kill list is empty or only FalsesÏqAgda0there is no possible kill (because of type dep.)ÐqAgda%managed to kill some args in the listÑqAgda$all prescribed kills where performedÒqAgdaòCollect the *definitely* rigid variables in a monoid. We need to successively reduce the expression to do this.ÔqAgdaExtended occurs check.×qAgdaåUnfold definitions during occurs check? This effectively runs the occurs check on the normal form.ÚqAgda6The passed modality is the one of the current context.ÝqAgda6Extra environment for the occurs check. (Complements ‘;.)àqAgda*The allowed variables with their variance.áqAgdaThe meta we want to solve.âqAgda/The size of the typing context upon invocation.äqAgdaØSet the names of definitions to be looked at to the defs in the current mutual block.åqAgda,Is a def in the list of stuff to be checked?æqAgda3Remove a def from the list of defs to be looked at.çqAgdaØCheck whether a free variable is allowed in the context as specified by the modality.èqAgdaïOccurs check fails if a defined name is not available since it was declared in irrelevant or erased context.êqAgdaÏConstruct a test whether a de Bruijn index is allowed or needs to be pruned.ìqAgda×For a path constructor `c : ... -> Path D a b`, we have that e.g. `c es i0` reduces to aÕ. So we have to consider its arguments as flexible when we do not actually unfold.ïqAgda"Leave the strongly rigid position.ôqAgdaWhen assigning  m xs := v , check that m does not occur in v# and that the free variables of v are contained in xs.öqAgdaprune m' vs xs' attempts to remove all arguments from vs. whose free variables are not contained in xs. If successful, m'= is solved by the new, pruned meta variable and we return True else False.'Issue 1147: If any of the meta args vs³ is matchable, e.g., is a constructor term, we cannot prune, because the offending variables could be removed by reduction for a suitable instantiation of the meta variable.÷qAgdahasBadRigid xs v = Just True# iff one of the rigid variables in v is not in xs�. Actually we can only prune if a bad variable is in the head. See issue 458. Or in a non-eliminateable position (see succeed/PruningNonMillerPattern).hasBadRigid xs v = Nothingà means that we cannot prune at all as one of the meta args is matchable. (See issue 1147.)øqAgdaCheck whether a term Def f esÄ is finally stuck. Currently, we give only a crude approximation.ùqAgdaØCheck whether any of the variables (given as de Bruijn indices) occurs *definitely* in the term in a rigid position. Reduces the term successively to remove variables in dead subterms. This fixes issue 1386.úqAgdakillArgs [k1,...,kn] X prunes argument i from metavar X if ki==TrueÁ. Pruning is carried out whenever > 0 arguments can be pruned.ûqAgda;killedType [((x1,a1),k1)..((xn,an),kn)] b = ([k'1..k'n],t') (ignoring Dom). Let t' = (xs:as) -> b. Invariant:  k'i == True iff  ki == True and pruning the ith argument from type b4 is possible without creating unbound variables. t' is type t after pruning all  k'i==True.ýqAgdaäInstantiate a meta variable with a new one that only takes the arguments which are not pruneable.öqAgdaMeta to prune.AgdaArguments to meta variable.Agda,Test for allowed variable (de Bruijn index).÷qAgda,Test for allowed variable (de Bruijn index).AgdaArgument of meta variable.Agda#Exception if argument is matchable.ùqAgda,Test for allowed variable (de Bruijn index).ýqAgda9Arguments to old meta var in left to right order with Bool' indicating whether they can be pruned.Agda$The old meta var to receive pruning.Agda$The pruned type of the new meta var.1ÍqÐqÎqÏqÑqÒqÓqÔqÖqÕq×qÙqØqÚqÛqÜqÝqÞqâqáqàqßqãqäqåqæqçqèqéqêqëqìqíqîqïqðqñqòqóqôqõqöq÷qøqùqúqûqüqýq1ãqäqåqæqÝqÞqâqáqàqßqÜqÛqÚqçqèqéqêq×qÙqØqëqìqíqîqïqðqñqòqóqÔqÖqÕqôqõqöq÷qøqùqÒqÓqÍqÐqÎqÏqÑqúqûqüqýqµNone" #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×ÙÝàáèñ¹�TAgda term to checkAgdaits typeAgdathe lockAgdatype of the lock�TžrŸr rŸr�T ržräNone$ #$%'(-02356789>?ÀÁÂÄÆÉÎÑÔ×ÙÝàáè T*¦bAgda¿Check that the instantiation of the given metavariable fits the type of the metavariable. If the metavariable is not yet instantiated, add a constraint to check the instantiation later.§bAgda1Create a sort meta that may be instantiated with ¶8 (SetÉ).©bAgdaÇCreate a new value meta with specific dependencies without ·-expanding.ªbAgdaØCreate a new value meta with specific dependencies, possibly ·-expanding in the process.«bAgda?Create a new metavariable, possibly ·-expanding in the process.¬bAgdanewInstanceMeta s t candsà creates a new instance metavariable of type the output type of t with name suggestion s.­bAgdaMiller pattern unification:assign dir x vs v a solves problem x vs <=(dir) v : a for meta x if vs1 are distinct variables (linearity check) and v9 depends only on these variables and does not contain x itself (occurs check).9This is the basic story, but we have added some features: Pruning.Benign cases of non-linearity.vs may contain record patterns.éFor a reference to some of these extensions, read Andreas Abel and Brigitte Pientka's TLCA 2011 paper.®bAgda!Do safe eta-expansions for meta (SingletonRecords,Levels).¯bAgda(Performing the meta variable assignment.#The instantiation should not be an ÝJ and the î should point to something �K or a àJ+. Further, the meta variable may not be âJ.¡rAgda7Exceptions raised when substitution cannot be inverted.¢rAgdaCannot recover.£rAgda=A potentially neutral arg: can't invert, but can try pruning.¤rAgda&Try to eta-expand var to remove projs.¨rAgda?Normalize just far enough to be able to eta-contract maximally.ªrAgda6Check whether one of the meta args is a projected var.¬rAgdaáFind position of a value in a list. Used to change metavar argument indices during assignment.reverseÀ is necessary because we are directly abstracting over the list.®rAgdaÃCheck whether a meta variable is a place holder for a blocked term.°rAgda8Skip frozen check. Used for eta expanding frozen metas.±rAgda4Create a sort meta that cannot be instantiated with ¶8 (SetÉ).²rAgda1Create a sort meta that may be instantiated with ¶8 (SetÉ).¹rAgda,Create a new value meta without ·-expanding.¾rAgdaÚCreate a metavariable of record type. This is actually one metavariable for each field.ÂrAgda6Construct a blocked constant if there are constraints.ÅrAgdaunblockedTester t returns a €7 for t.ÈAuxiliary function used when creating a postponed type checking problem.ÆrAgda)Create a postponed type checking problem e : t that waits for type tÁ to unblock (become instantiated or its constraints resolved).ÇrAgda)Create a postponed type checking problem e : t that waits for conditon unblockö. A new meta is created in the current context that has as instantiation the postponed type checking problem. An ›KÀ constraint is added for this meta, which links to this meta.ÈrAgda1Type of the term that is produced by solving the ÏJ.ÉrAgda7Eta expand metavariables listening on the current meta.ÊrAgda/Wake up a meta listener and let it do its thingËrAgdaöEta expand a metavariable, if it is of the specified kind. Don't do anything if the metavariable is a blocked term.ÌrAgdaÐEta expand blocking metavariables of record type, and reduce the blocked thing.ÎrAgdaassignMeta m x t ids u solves  x ids = u for meta x of type t, where term u lives in a context of length m. Precondition: ids is linear.ÏrAgdaassignMeta' m x t ids u solves  x = [ids]u for meta x of type t, where term u lives in a context of length m , and ids is a partial substitution.ÐrAgdaÖCheck that the instantiation of the metavariable with the given term is well-typed.ÑrAgdaGiven two types a and b with a <: b , check that a == b.ÒrAgdaTurn the assignment problem _X args <= SizeLt u into _X args = SizeLt (_Y args) and constraint  _Y args <= u.ÓrAgda Eta-expand bound variables like z in  X (fst z).ÔrAgdaÊEta-expand a de Bruijn index of record type in context and passed term(s).ÕrAgdaßTurn non-det substitution into proper substitution, if possible. Otherwise, raise the error.ÖrAgdaCheck that arguments args‚ to a metavar are in pattern fragment. Assumes all arguments already in whnf and eta-reduced. Parameters are represented as Vars so  checkArgs$ really checks that all args are VarÞs and returns the "substitution" to be applied to the rhs of the equation to solve. (If args8 is considered a substitution, its inverse is returned.)‡The returned list might not be ordered. Linearity, i.e., whether the substitution is deterministic, has to be checked separately.×rAgda Turn open metas into postulates.Preconditions: We are ç[.ÑG is set to the top-level module.ØrAgdaSort metas in dependency order.¦rAgda)a possibly non-deterministic substitution¿rAgda"Should the meta be created frozen?AgdaName of record typeAgdaParameters of record type.ÒrAgda dirAgdaThe meta variable x.AgdaIts associated information mvar <- lookupMeta x.Agda Its type  t = jMetaType $ mvJudgement mvarAgdaIts arguments.AgdaIts to-be-assigned value v , such that x args dir v.Agda0Continuation taking its possibly assigned value.ÓrAgdaMeta variable arguments.AgdaRight hand side.Å¥b¦b§b¨b©bªb«b¬b­b®b¯b°b±b¡r¤r£r¢r¥r¦r§r¨r©rªr«r¬r­r®r¯r°r±r²r³r´rµr¶r·r¸r¹rºr»r¼r½r¾r¿rÀrÁrÂrÃrÄrÅrÆrÇrÈrÉrÊrËrÌrÍrÎrÏrÐrÑrÒrÓrÔrÕrÖr×rØrŬr­r®r¯r¯b°r±r§b²r³r´rµr¶r¬b·rªb©b«b¸r¹rºr¨b¥b»r°b±b¼r½r¾r¿rÀrÁrÂrÃrÄrÅrÆrÇrÈrÉrÊr®bËrÌrÍr­bÎrÏr¦bÐrÑrÒrÓrÔrªr«r¨r©r§r¦rÕr¥r¡r¤r£r¢rÖr×rØrœNone" #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×ÙÝàáè {àrAgda'Size constraint with de Bruijn indices.ãrAgdaDeBruijn indicesärAgda Living in Context.årAgda Living in Context.çrAgda'Size expression with de Bruijn indices.èrAgdaSize metas in size expressions.ërAgdaDe Bruijn indices.ìrAgda Identifiers for rigid variables.îrAgda$Name for printing in debug messages.ïrAgdaDe Bruijn index.ðrAgda,Flag to control the behavior of size solver.ñrAgda2Instantiate all unconstrained size variables to žD.òrAgda,Leave unconstrained size variables unsolved.ôrAgda,Solve size constraints involving hypotheses.õrAgda"TODO: this does not actually work!"We would like to use a constraint c created in context ” from module N in the current context “ and current module M.” is module tel ”�A of N! extended by some local bindings ”‚A. “Ë is the current context. The module parameter substitution from current M to N be  “ ¢E à : ”�A.If M == N=, we do not need the parameter substitution. We try raising.We first strengthen ” ¢E c to live in ”�A and obtain c�A = strengthen ”‚A c. We then transport c�A to “ and obtain c‚A = applySubst à c�A.)This works for different modules, but if M == N† we should not strengthen and then weaken, because strengthening is a partial operation. We should rather lift the substitution à by ”‚A and then raise by “‚A - ”‚A0. This "raising" might be a strengthening if “‚A is shorter than ”‚A.:(TODO: If the module substitution does not exist, because N is not a parent of MÓ, we cannot use the constraint, as it has been created in an unrelated context.)örAgda0A hazardous hack, may the Gods have mercy on us.ÓTo cast to the current context, we match the context of the given constraint by CtxId,, and as fallback, by variable name (douh!).%This hack lets issue 2046 go through.÷rAgdaÔReturn the size metas occurring in the simplified constraints. A constraint like ‘C _j =< žD : Size simplifies to nothing, so _j would not be in this set.ørAgda2Solve a cluster of constraints sharing some metas.ùrAgdaÉCollect constraints from a typing context, looking for SIZELT hypotheses.úrAgdaËConvert size constraint into form where each meta is applied to indices  n-1,...,1,0 where n is the arity of that meta. X[Ã] <= t becomes X[id] <= t[Ã^-1] X[Ã] äD Y[Ä] becomes X[id] äD Y[Ä[Ã^-1]] or X[Ã[Ä^1]] äD Y[id]: whichever is defined. If none is defined, we give up.Cf. (SizedTypes.oldCanonicalizeSizeConstraint.ðFixes (the rather artificial) issue 300. But it is unsound when pruned metas occur and triggers issue 1914. Thus we deactivate it. This needs to be properly implemented, possibly using the metaPermuatation of each meta variable.ûrAgdaÀTurn a constraint over de Bruijn indices into a size constraint.ürAgda#Turn a term into a size expression.Returns Ý~, if the term isn't a proper size expression.ýrAgda&Turn a de size expression into a term.‚sAgda Only for Ä<.†sAgda*An order which ignores the meta arguments.‡sAgda-An equality which ignores the meta arguments.ˆsAgda$Assumes we are in the right context.àrárårärãrârærçrèrérërêrìrírîrïrðròrñrórôrõrör÷rørùrúrûrürýrórðròrñrôrõrör÷rørùrúrìrírîrïrèrérërêrçræràrárårärãrârûrürýrÿNone" #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×ÙÝàáè )°‘gAgda9Check that the first sort is less or equal to the second. We can put SizeUniv below Inf;, but otherwise, it is unrelated to the other universes.•gAgda.Check that the first sort equal to the second.—gAgda+equalTermOnFace Æ A u v = _ , Æ ¢E u = v : A›gAgdaEquality on TypesœgAgdacompareElims pols a v els1 els2: performs type-directed equality on eliminator spines. t is the type of the head v.�gAgda(Type-directed equality on argument listsžgAgda)Syntax directed equality on atomic values gAgda)Type directed equality on terms or types.¡gAgda!Type directed equality on values.’sAgdaƒTry whether a computation runs without errors or new constraints (may create new metas, though). Restores state upon failure.“sAgdaîTry whether a computation runs without errors or new constraints (may create new metas, though). Return Ü~$ the result upon success. Return Ý~ and restore state upon failure.”sAgdañCheck if to lists of arguments are the same (and all variables). Precondition: the lists have the same length.•sAgdaintersectVars us vs) checks whether all relevant elements in us and vs? are variables, and if yes, returns a prune list which says True8 for arguments which are different and can be pruned.–sAgdaÞRun the given computation but turn any errors into blocked computations with the given blocker˜sAgda$Ignore errors in irrelevant context.™sAgdaßTry to assign meta. If meta is projected, try to eta-expand and run conversion check again.žsAgda…Compute the head type of an elimination. For projection-like functions this requires inferring the type of the principal argument.ŸsAgdaCheck whether a1 cmp a2% and continue in context extended by a1.£sAgdaÁWhen comparing argument spines (in compareElims) where the first arguments don't match, we keep going, substituting the anti-unification of the two terms in the telescope. More precisely:@³ (u = v : A)[pid] w = antiUnify pid A u v us = vs : ”[w/x] ------------------------------------------------------------- u us = v vs : (x : A) ” @¸The simplest case of anti-unification is to return a fresh metavariable (created by blockTermOnProblem), but if there's shared structure between the two terms we can expose that.œThis is really a crutch that lets us get away with things that otherwise would require heterogenous conversion checking. See for instance issue #2384.§sAgdaCompareÔ two terms in irrelevant position. This always succeeds. However, we can dig for solutions of irrelevant metas in the terms we compare. (Certainly not the systematic solution, that'd be proof search...)ªsAgda coerce v a b coerces v : a to type b, returning a v' : bÀ with maybe extra hidden applications or hidden abstractions.ƒIn principle, this function can host coercive subtyping, but currently it only tries to fix problems with hidden function types.«sAgdaAccount for situations like k : (Size< j) <= (Size< k + 1)Actually, the semantics is (Size<= k) ©D (Size< j) †E rhsÊ which gives a disjunctive constraint. Mmmh, looks like stuff TODO."For now, we do a cheap heuristics.¯sAgdaÖleqInterval r q = r äD q in the I lattice. (¨D r_i) äD (¨D q_j) iff €D i. ƒD j. r_i äD q_j°sAgda×leqConj r q = r äD q in the I lattice, when r and q are conjuctions. ' (§D r_i) äD (§D q_j) iff ' (§D r_i) §D (§D q_j) = (§D r_i) iff ' {r_i | i} ªD {q_j | j} = {r_i | i} iff ' {q_j | j} †E {r_i | i}Ÿs Agdacmp The comparison directionAgdaa1 The smaller domain.Agdaa2 The other domain.Agdab1 The smaller codomain.Agdab2 The bigger codomain.AgdaContinuation if mismatch in “.AgdaContinuation if mismatch in ã.AgdaContinuation if mismatch in î.AgdaContinuation if mismatch in Í. Agda)Continuation if comparison is successful.4�g‘g’g“g”g•g–g—g˜g™gšg›gœg�gžgŸg g¡g‘s’s“s”s•s–s—s˜s™sšs›sœs�sžsŸs s¡s¢s£s¤s¥s¦s§s¨s©sªs«s¬s­s®s¯s°s±s²s4�g’s“s”s•s–s˜g—s–g˜s¡g g™sšs›sœs�sžsžgŸs s¡s¢s£s¤s¥s¦sœg§s¨s©s�g›g“gªs«s™gšg‘g’g”g•g¬s­s‘s®s¯s°s—gŸg±s²s�None" #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×ÙÝàáè +µ³sAgdaåCheck confluence of the given rewrite rules wrt all other rewrite rules (also amongst themselves).ïCheck confluence of the clauses of the given function wrt rewrite rules of the constructors they match against³s´sµs´s³sµs«None$ #$%'(-02356789>?ÀÁÂÄÆÉÎÑÔ×ÙÝàáè 1 ÄSAgdarewrite b v rules es tries to rewrite v applied to es with the rewrite rules rules. b is the default blocking tag.ÅSAgdaûCheck that the name given to the BUILTIN REWRITE is actually a relation symbol. I.e., its type should be of the form ” ’C (lhs : A) (rhs : B) ’C Set “BÁ. Note: we do not care about hiding/non-hiding of lhs and rhs.ØsAgdaDeconstructing a type into ” ’C t ’C t' ’C core.ÚsAgdaThe whole telescope ”, t, t'.ÛsAgda”.ÜsAgdat.ÝsAgdat'.ÞsAgdacore.àsAgdaDeconstructing a type into ” ’C t ’C t' ’C core . Returns Nothing if not enough argument types.ásAgda?ÀÁÂÄÆÉÎÑÔ×Ùàáè 1¼ÇSAgda)The entry point to the reduction machine.ÆSÇSÇSÆS±2²2žNone" #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×ÙÝàáè 3å÷sAgda+addClause f (Clause {namedClausePats = ps}) checks that f ps$ reduces in a way that agrees with IApply reductions.øsAgda"current context is of the form “.”ùsAgdaLike  unifyElims but “ is from the the meta's MetaInfo and the context extension ” is taken from the Closure.øsAgda&variables to keep “ ¢E x_n .. x_0 : “Agda variables to solve “.” ¢E ts : “ös÷søsùsös÷søsùsŸNone! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáè 5(úsAgda=Generalize a telescope over a set of generalizable variables.ûsAgda?Generalize a type over a set of (used) generalizable variables.üsAgdaÅAllow returning additional information from the type checking action.úsûsüsûsüsús None" #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×ÙÝàáè B¥ ýsAgda‹Return the parameters that share variables with the indices nonLinearParameters :: Int -> Type -> TCM [Int] nonLinearParameters nPars t =€tAgdaA Type that either has sort Type l€ or is a closed definition. Such a type supports some version of transp. In particular we want to allow the Interval as a  ClosedType.ƒtAgdaA Type with sort Type l/ Such a type supports both hcomp and transp.…tAgdaÔType check a datatype definition. Assumes that the type has already been checked.†tAgdaÑEnsure that the type is a sort. If it is not directly a sort, compare it to a ±r.‡tAgdaªType check a constructor declaration. Checks that the constructor targets the datatype and that it fits inside the declared sort. Returns the non-linear parameters.‰tAgdaŠDefine projections for non-indexed data types (families don't work yet). Of course, these projections are partial functions in general.ÂPrecondition: we are in the context “ of the data type parameters.”tAgda&Bind the named generalized parameters.•tAgda"Bind the parameters of a datatype.ÎWe allow omission of hidden parameters at the definition site. Example: Ð data D {a} (A : Set a) : Set a data D A where c : A -> D A —tAgda…Check that the arguments to a constructor fits inside the sort of the datatype. The third argument is the type of the constructor.When  --without-Kø is active and the type is fibrant the procedure also checks that the type is usable at the current modality. See  4784 and 5434.6As a side effect, return the arity of the constructor.˜tAgdaôWhen --without-K is enabled, we should check that the sorts of the index types fit into the sort of the datatype.™tAgdaïCheck that a type constructs something of the given datatype. The first argument is the number of parameters to the datatype and the second the number of additional non-parameters in the context (1 when generalizing, 0 otherwise).štAgda!Is the type coinductive? Returns Ý~% if the answer cannot be determined.‡tAgdaName of data type.AgdaCheck universes?AgdaParameter telescope.Agda#Number of indices of the data type.AgdaSort of the data type.Agda)Constructor declaration (type signature).�tAgdaPathCons, ”.¦ ¢E u : R ´Agda%how to apply a "projection" to a termAgdasome name, e.g. record nameAgda param types ”Agdafields' types ” ¢E ¦Agda fields' namesAgdarecord type ” ¢E T‘tAgdaPathCons, ”.¦ ¢E u : R ´Agda%how to apply a "projection" to a termAgdasome name, e.g. record nameAgda param types ”Agdafields' types ” ¢E ¦Agda fields' namesAgdarecord type ” ¢E T’tAgda%how to apply a "projection" to a termAgdasome name, e.g. record nameAgda param types ”Agdafields' types ” ¢E ¦Agda fields' namesAgdarecord type (´ : ”) ¢E R[´]•tAgdaNumber of parametersAgdaBindings from definition site.Agda/Pi-type of bindings coming from signature site.AgdaŠContinuation, accepting parameter telescope and rest of type. The parameters are part of the context when the continutation is invoked.ýsÿsþs€t�t‚tƒt„t…t†t‡tˆt‰tŠt‹tŒt�tŽt�t�t‘t’t“t”t•t–t—t˜t™tšt…t†t‡tˆt‰tŠtƒt„t‹tŒt�t€t�t‚tŽt�t�t‘t’t“t”t•t–t—t˜týsÿsþs™tšt€None! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáè GÖ ¥gAgda©g traverses the whole Ø86, and we can use this traversal to modify the term.§gAgdaInfer type of a neutral term.©gAgdaEntry point for term checking.ªgAgdaCheck if sort is well-formed.«gAgda Check a type and infer its sort.Necessary because of PTS rule (SizeUniv, Set i, Set i) but SizeUniv is not included in any Set i.‚This algorithm follows Abel, Coquand, Dybjer, MPC 08, Verifying a Semantic ²·-Conversion Test for Martin-Löf Type Theory¬gAgda/Entry point for e.g. checking WithFunctionType.®gAgda(The default action is to not change the Ø8 at all.¤tAgda/Called on each subterm before the checker runs.¥tAgda/Called on each subterm after the type checking.¦tAgdaCalled for each ArgInfo. The first ‚/ is from the type, the second from the term.§tAgda9Called for bringing projection-like funs in post-fix form©tAgda¢Returns both the real term (first) and the transformed term (second). The transformed term is not necessarily a valid term, so it must not be used in types.¥g£t¤t¥t¦t§t¦g§g¨g©gªg«g¬g­g®g­n¨t©t¦g¬g«gªg©g¨g¨t¥g£t¤t¥t¦t§t®g­g§g©t­n¡None! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáè Hkªt«t¬t­t®t¯t°tªt«t¬t­t®t¯t°t¢None! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáè L ÔtAgdaÕWe do a little bit of work here to make it possible to generate nice layout for multi-line error messages. Specifically we split the parts into lines (indicated by n in a string part) and vcat all the lines.ÕtAgda"Argument should be a term of type  Term ’C TCM A3 for some A. Returns the resulting term of type A‰. The second argument is the term for the hole, which will typically be a metavariable. This is passed to the computation (quoted).×tAgdaRaise an error if the  --allow-exec option was not specified.ØtAgda Convert an ExitCode to an Agda natural number.ÙtAgda=Call a trusted executable with the given arguments and input.*Returns the exit code, stdout, and stderr.ÚtAgda9Raise an error if the trusted executable cannot be found.,±t²t³t´tµt·t¶t¸t¹tºt»t¼t½t¾tÀt¿tÁtÂtÃtÄtÅtÆtÇtÈtÉtÊtËtÌtÍtÎtÏtÐtÑtÒtÓtÔtÕtÖt×tØtÙtÚtÛtÜt,ÁtÂtÃt¾tÀt¿t½t¼t»tÄtÅtÆtÇtÈtÉtÊtËtÌt¹tºtÍtÎtÏtÐtÑtÒtÓtµt·t¶t¸tÔtÕtÖt´t³t²t±t×tØtÙtÚtÛtÜt£None! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáè M²øtAgdaÇEta-expand a term if its type is a function type or an eta-record type.ùtAgdaËEta-expand functions and expressions of eta-record type wherever possible.øtùtútøtùtút¤None! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáè Q{ þtAgda subst u . absTerm u == idÿtAgdaisPrefixOf u v = Just es if v == u Á< es.�uAgdaabstractType a v b[v] = b where a : v.‚uAgda3piAbstractTerm NotHidden v a b[v] = (w : a) -> b[w] 3piAbstractTerm Hidden v a b[v] = {w : a} -> b[w]ƒuAgda (piAbstract (v, a) b[v] = (w : a) -> b[w]îFor the inspect idiom, it does something special: @piAbstract (v, a) b[v] = (w : a) {w' : Eq a w v} -> b[w]For rewrite , it does something special: ÊpiAbstract (prf, Eq a v v') b[v,prf] = (w : a) (w' : Eq a w v') -> b[w,w']…uAgda This swaps var 0 and var 1.’uAgdaÚIgnores irrelevant arguments and modality. (And, of course, origin and free variables).“uAgdaIgnore the tactic.”uAgda!Ignore origin and free variables.•uAgdaIgnores Ó8.—uAgdaIgnores sorts. ûtütýtþtÿt€u�u‚uƒu„u…u �u‚uƒuÿt€u„uýtþt…uûtüt¥None" #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×ÙÝàáè dø uAgda6Split pattern variables according to with-expressions.¡uAgdaAbstract with-expressions vs+ to generate type for with-helper function.Each  EqualityType, coming from a rewrite , will turn into 2 abstractions.£uAgdaFrom a list of with and rewrite; expressions and their types, compute the list of final with" expressions (after expanding the rewrites).¤uAgdaÆCompute the clauses for the with-function given the original patterns.¥uAgda >stripWithClausePatterns cxtNames parent f t ” qs np À ps = ps'Example: Õ record Stream (A : Set) : Set where coinductive constructor delay field force : A × Stream A record SEq (s t : Stream A) : Set where coinductive field ~force : let a , as = force s b , bs = force t in a áD b × SEq as bs test : (s : Nat × Stream Nat) (t : Stream Nat) ’C SEq (delay s) t ’C SEq t (delay s) ~force (test (a , as) t p) with force t ~force (test (suc n , as) t p) | b , bs = ? With function: À f : (t : Stream Nat) (w : Nat × Stream Nat) (a : Nat) (as : Stream Nat) (p : SEq (delay (a , as)) t) ’C (fst w áD a) × SEq (snd w) as ” = t a as p -- reorder to bring with-relevant (= needed) vars first À = a as t p ’C ” qs = (a , as) t p ~force ps = (suc n , as) t p ~force ps' = (suc n) as t p "Resulting with-function clause is:  f t (b , bs) (suc n) as t p &Note: stripWithClausePatterns factors ps through qs, thus  ps = qs[ps'] where [..]Ñ is to be understood as substitution. The projection patterns have vanished from ps' (as they are already in qs).¦uAgdaŸConstruct the display form for a with function. It will display applications of the with function as applications to the original function. For instance,  aux a b c as  f (suc a) (suc b) | c  uAgda”1 context of types and with-arguments.Agda” ¢E t type of rhs.Agda ” ¢E vs : as+ with arguments and their types. Output:Agda(”�A,”‚A,À,t',vtys') where ”�A:part of context needed for with arguments and their types.”‚A>part of context not needed for with arguments and their types.À*permutation from ” to ”�A”‚A as returned by úe. ”�A”‚A ¢E t'type of rhs under À ”�A ¢E vtys'%with-arguments and their types under À.¡uAgda”�A8 context for types of with types.Agda”�A,”‚A ¢E vs : raise ”‚A as. with and rewrite-expressions and their type.Agda”�A ¢E ”‚A> context extension to type with-expressions.Agda ”�A,”‚A ¢E b type of rhs.Agda%@”�A,”‚A ¢E [(i,(u0,u1))] : b boundary.Agda”�A ’C wtel ’C ”‚A²@ ’C b²@ such that [vs/wtel]wtel = as and [vs/wtel]”‚A²@ = ”‚A and [vs/wtel]b²@ = b+. Plus the final number of with-arguments.¤u Agda6Names of the module parameters of the parent function.AgdaName of the parent function.AgdaName of the with-function.AgdaTypes of the parent function.AgdaContext of parent patterns.AgdaParent patterns.Agda.Number of module parameters in parent patternsAgda1Substitution from parent lhs to with function lhsAgdaFinal permutation. AgdaNumber of needed vars. AgdaNumber of with expressions. Agda With-clauses. Agda,With-clauses flattened wrt. parent patterns.¥u AgdacxtNames6 names of the module parameters of the parent functionAgdaparent name of the parent function.Agdaf name of with-function.Agdat+ top-level type of the original function.Agda”* context of patterns of parent function.Agdaqs* internal patterns for original function.Agdanpars number of module parameters in qs.AgdaÀ permutation taking vars(qs) to  support(”).Agdaps, patterns in with clause (eliminating type t). Agdaps'0 patterns for with function (presumably of type ”).¦uAgdaThe name of parent function.AgdaThe name of the with -function.Agda”�A The arguments of the with function before the with expressions.Agda”‚A The arguments of the with function after the with expressions.Agdan The number of with expressions.Agdaqs The parent patterns.Agdaperm7 Permutation to split into needed and unneeded vars.AgdalhsPerm9 Permutation reordering the variables in parent patterns. u¡u¢u£u¤u¥u¦u§u u¡u¢u£u¤u¥u¦u§u¦None% #$%'(-02356789>?ÀÁÂÄÆÉÎÑÔ×ÙÝàáè hr¨uAgda:The result of termination checking a module. Must be a ” and have í.©uAgda4Entry point: Termination check a single declaration.Precondition: ÕG must be set correctly.ªuAgda8Entry point: Termination check the current mutual block.°uAgda/Extract recursive calls from level expressions.±uAgda$Extract recursive calls from a term.²uAgda$Extract recursive calls from a type.³uAgda*Sorts can contain arbitrary terms of type Level<, so look for recursive calls also in sorts. Ideally, ²8; would not be its own datatype but just a subgrammar of Ø8*, then we would not need this boilerplate.ªuAgdaÕThe function names defined in this block on top-level. (For error-reporting only.)¨u©uªu©uªu¨u§None! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáè h÷ÀuAgda Check that  “ ¢E Á : ”.¿uÀu¿uÀu¨None! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáè iLÁuÁu©None! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáè i�ÂuÂuªNone" #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáè j_ÃuAgdaInteraction monad.ÅuAgdaÅLine reader. The line reader history is not stored between sessions.ÃuÄuÅuÃuÄuÅuNone" #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáè lFÐuAgdaThe JSON version of PrettyTCM , for encoding JSON value in TCMÒuAgdaTCM monadic version of objectÓuAgda,A key-value pair for encoding a JSON object.ÔuAgda'Pairs a key with a value wrapped in TCMÕuAgda"Abbreviation of `_ #= encodeTCM _`ÖuAgdaA handy alternative of Òu with kind specified×uAgdaA handy alternative of k with kind specified�  !"#($%'&),+*/.-051243:6798;<=>?@ABCDEFGHIJKLMNOPQTSRWVU\XY[Z]`_^cbadefghijklmnuoqstprxwv�yz{|}~€ˆ„…‡†ƒ‚Љ‹Œ�ÑÒÐuÑuÒuÓuÔuÕuÖu×u�  !"#($%'&),+*/.-051243:6798;<=>?@ABCDEFGHIJKLMNOPQTSRWVU\XY[Z]`_^cbadefghijklmnuoqstprxwv�yz{|}~€ˆ„…‡†ƒ‚Љ‹Œ�ÑÒÐuÑuÒuÖu×uÓuÕuÔu«None! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáè måâuãuäuåuæuçuèuéuâuãuäuåuæuçuèuéu¬None! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáè ~8êuAgda?ÀÁÂÄÆÉÎÑÔ×Ùàáè †m ¢UAgda�Highlight a warning. We do not generate highlighting for unsolved metas and constraints, as that gets handled in bulk after typechecking.œvAgdaHighlighting levels.�vAgdaØFull highlighting. Should only be used after typechecking has completed successfully.žvAgdaÂHighlighting without disambiguation of overloaded constructors.ŸvAgda÷Generate syntax highlighting information for the given declaration, and (if appropriate) print it. If the boolean is Ö~Š, then the state is additionally updated with the new highlighting info (in case of a conflict new info takes precedence over old info).ËThe procedure makes use of some of the highlighting info corresponding to ÃLÕ (that corresponding to the interval covered by the declaration). If the boolean is Ö~Õ, then this highlighting info is additionally removed from the data structure that ÃL refers to. vAgdaÚGenerate and return the syntax highlighting information for the tokens in the given file.¡vAgdaÚGenerate and return the syntax highlighting information for the tokens in the given file.¢vAgda�Generate and return the syntax highlighting information for the tokens in the given string, which is assumed to correspond to the given range.¤vAgda-Prints syntax highlighting info for an error.¥vAgda Generate highlighting for error.¦vAgda*Generate syntax highlighting for warnings.§vAgdaóGenerates and prints syntax highlighting information for unsolved meta-variables and certain unsolved constraints.«vAgdaÌStore a disambiguation of record field tags for the purpose of highlighting.ŸvAgdaDeclaration to highlight.AgdaAmount of highlighting.AgdaUpdate the state?¡vAgdaThe module to highlight.Agda)The file contents. Note that the file is not read from disk.«vAgda*Record field names in a record expression.Agda>Record field names in the corresponding record type definition¢UäWèWœvžv�vŸv v¡v¢v£v¤v¥v¦v§v¨v©vªv«vœvžv�vŸv v¡v¢v£v¤v¥v§väWèW¢U¦v¨vªv©v«v­None" #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×ÙÝàáè �æ µvAgda'Result of checking the LHS of a clause.·vAgdaÑThe number of original module parameters. These are present in the the patterns.¸vAgdaÖ” : The types of the pattern variables, in internal dependency order. Corresponds to ›8.¹vAgda The patterns in internal syntax.ºvAgda0Whether the LHS has at least one absurd pattern.»vAgdaThe type of the body. Is bà if “ is defined. æ8 to indicate the rhs must be checked in irrelevant mode.¼vAgdaSubstitution version of  lhsPatterns,, only up to the first projection pattern. ” |- lhsPatSubst : “. Where “õ is the argument telescope of the function. This is used to update inherited dot patterns in with-function clauses.½vAgda˜As-bindings from the left-hand side. Return instead of bound since we want them in where's and right-hand sides, but not in with-clauses (Issue 2303).¾vAgdahave we done a partial split?¿vAgdaéA pattern is flexible if it is dotted or implicit, or a record pattern with only flexible subpatterns.ÂvAgdaBind as patternsÃvAgdaCheck a LHS. Main function.checkLeftHandSide a ps a ret checks that user patterns ps eliminate the type a1 of the defined function, and calls continuation ret if successful.ÇvAgdaLists of flexible patterns are –l.ÃvAgda Trace, e.g. —H or ˜H.Agda+The name of the definition we are checking.Agda The patterns.AgdaThe expected type  a = “ ’C b.Agda4Module parameter substitution from with-abstraction.AgdaéPatterns that have been stripped away by with-desugaring. ^ These should not contain any proper matches.Agda Continuation.°v²v±v³v´vµv¶v·v¸v¹vºv»v¼v½v¾v¿vÀvÁvÂvÃvÄvÃvµv¶v·v¸v¹vºv»v¼v½v¾vÂv¿vÀvÁv°v²v±v³v´vÄv¨None" #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×ÙÝàáè ¬è,µSAgda�Run a tactic `tac : Term ’C TC ¤E` in a hole (second argument) of the type given by the third argument. Runs the continuation if successful.·SAgda=Checking a lambda whose domain type has already been checked.¸SAgda“Infer the type of an expression. Implemented by checking against a meta variable. Except for neutrals, for them a polymorphic type is inferred.ºSAgdaType check an expression.»SAgdaÀCheck that an expression is a type and infer its (minimal) sort.ÌvAgda(Flag to control resurrection on domains.ÍvAgda‚We are checking a module telescope. We pass into the type world to check the domain type. This resurrects the whole context.ÎvAgda´We are checking a telescope in a Pi-type. We stay in the term world, but add resurrected domains to the context to check the remaining domains and codomain of the Pi-type.ÏvAgda#Check that an expression is a type.ÐvAgda,Check that an expression is a type. * If  c == CmpEq3, the given sort must be the minimal sort. * If  c == CmpLeq(, the given sort may be any bigger sort.ÒvAgda?Ensure that a (freshly created) function type does not inhabit ¸8. Precondition: When noFunctionsIntoSize t tBlame( is called, we are in the context of tBlame< in order to print it correctly. Not being in context of tË should not matter, as we are only checking whether its sort reduces to ¸8.;Currently UNUSED since SizeUniv is turned off (as of 2016).ÂCheck that an expression is a type which is equal to a given type.ÕvAgdaÑType check a (module) telescope. Binds the variables defined by the telescope.ÖvAgda®Type check the telescope of a dependent function type. Binds the resurrected variables defined by the telescope. The returned telescope is unmodified (not resurrected).×vAgdaÅType check a telescope. Binds the variables defined by the telescope.ØvAgda0Check the domain of a function type. Used in checkTypedBindings and to typecheck A.Fun cases.ÚvAgda•Check a typed binding and extends the context with the bound variables. The telescope passed to the continuation is valid in the original context.æParametrized by a flag wether we check a typed lambda or a Pi. This flag is needed for irrelevance.ÛvAgdaÁAfter a typed binding has been checked, add the patterns it bindsÜvAgda7Check a tactic attribute. Should have type Term ’C TC ¤E.ßvAgdaÐType check a lambda expression. "checkLambda bs e ty" means ( bs -> e) : tyávAgda¥Check that modality info in lambda is compatible with modality coming from the function type. If lambda has no user-given modality, copy that of function type.âvAgda¬Check that irrelevance info in lambda is compatible with irrelevance coming from the function type. If lambda has no user-given relevance, copy that of function type.ãvAgda¥Check that quantity info in lambda is compatible with quantity coming from the function type. If lambda has no user-given quantity, copy that of function type.åvAgda¥Check that cohesion info in lambda is compatible with cohesion coming from the function type. If lambda has no user-given cohesion, copy that of function type.èvAgdaíInsert hidden lambda until the hiding info of the domain type matches the expected hiding info. Throws ÂEévAgdacheckAbsurdLambda i h e t# checks absurd lambda against type t. Precondition: e = AbsurdLam i hêvAgda,checkExtendedLambda i di erased qname cs e t/ check pattern matching lambda. Precondition: $e = ExtendedLam i di erased qname csëvAgdaRun a computation.&If successful, that's it, we are done.If NotADatatype a or CannotEliminateWithPattern p a is thrown and type a is blocked on some meta x?, reset any changes to the state and pass (the error and) x to the handler.If +SplitError (UnificationStuck c tel us vs _), is thrown and the unification problem us =?= vs : tel is blocked on some meta x pass x to the handler.(If another error was thrown or the type a# is not blocked, reraise the error.îNote that the returned meta might only exists in the state where the error was thrown, thus, be an invalid î in the current state.ìvAgda÷Picks up record field assignments from modules that export a definition that has the same name as the missing field.ívAgdacheckRecordExpression fs e t) checks record construction against type t. Precondition  e = Rec _ fs.îvAgda 'checkRecordUpdate cmp ei recexpr fs e tPreconditions: e = RecUpdate ei recexpr fs and t is reduced.ðvAgdaÖRemove top layers of scope info of expression and set the scope accordingly in the ›.ñvAgda*Unquote a TCM computation in a given hole.òvAgda-Check an interaction point without arguments.óvAgda&Check an underscore without arguments.ôvAgdaType check a meta variable.õvAgdaÜInfer the type of a meta variable. If it is a new one, we create a new meta for its type.övAgdaÐType check a meta variable. If its type is not given, we return its type, or a fresh one, if it is a new meta. If its type is given, we check that the meta has this type, and we return the same type.÷vAgdaôTurn a domain-free binding (e.g. lambda) into a domain-full one, by inserting an underscore for the missing type.øvAgda,Check arguments whose value we already know.åThis function can be used to check user-supplied parameters we have already computed by inference.Precondition: The type t of the head has enough domains.ùvAgda.Check an argument whose value we already know.úvAgdaCheck a single argument.ývAgdaUsed to check aliases f = e. Switches off ¿G+ for the checking of top-level application.þvAgda?Check whether a de Bruijn index is bound by a module telescope.ÿvAgda=Infer the type of an expression, and if it is of the form  {tel} -> D vs for some datatype DÍ then insert the hidden arguments. Otherwise, leave the type polymorphic. ¹SAgda Unreduced!àvAgda cmpAgda TBind _ _ xps typAgda xpsAgda typAgda bodyAgda targetèvAgdaExpected hiding.AgdaExpected to be a function type.AgdaContinuation on blocked type.AgdaÑContinuation when expected hiding found. The continuation may assume that the Type is of the form (El _ (Pi _ _)).Agda!Term with hidden lambda inserted.ìvAgdaModules and field assignments.Agda#Names of fields of the record type.Agda)Completed field assignments from modules.ívAgdaíHow do we related the inferred type of the record expression to the expected type? Subtype or equal type?Agdamfs : modules and field assignments.AgdaMust be  A.Rec _ mfs.Agda#Expected type of record expression.Agda Record value in internal syntax.îvAgda cmpAgda eiAgda recexprAgda fsAgda e = RecUpdate ei recexpr fsAgdaNeed not be reduced.òvAgda Not reduced!øvAgda5User-supplied arguments (hidden ones may be missing).Agda+Inferred arguments (including hidden ones).Agda7Type of the head (must be Pi-type with enough domains).Agda-Remaining inferred arguments, remaining type.ùvAgdaUser-supplied argument.Agda+Inferred arguments (including hidden ones).Agda7Type of the head (must be Pi-type with enough domains).Agda-Remaining inferred arguments, remaining type.=µS¶S·S¸S¹SºS»SÌvÎvÍvÏvÐvÑvÒvÓvÔvÕvÖv×vØvÙvÚvÛvÜvÝvÞvßvàvávâvãvävåvævçvèvévêvëvìvívîvïvðvñvòvóvôvõvöv÷vøvùvúvûvüvývþvÿv€w�w=ÏvÐv»SÑvÒvÓvÔvÕvÖvÌvÎvÍv×vØvÙvÚvÛvÜvÝvÞvßvàvávâvãvävåvæv·SçvèvévêvëvìvívîvïvðvºS¹S¶SñvµSòvóvôvõvöv÷vøvùvúv¸Sûvüvývþvÿv€w�w®None" #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×ÙÝàáè ¯ó„wAgdabindPostulatedName builtin q m checks that q. is a postulated name, and binds the builtin builtin to the term m q def , where def is the current ÙI of q.…wAgda&Bind a builtin thing to an expression.ˆwAgda#Bind a builtin thing to a new name.�Since their type is closed, it does not matter whether we are in a parameterized module when we declare them. We simply ignore the parameters.„w…w†w‡wˆw‰w…wˆw‰w„w†w‡wìNone! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáè ±«ŒcAgda3Binds the FLAT builtin, and changes its definition.�cAgdaÌBinds the SHARP builtin, and changes the definitions of INFINITY and SHARP.ŽcAgdaÇBinds the INFINITY builtin, but does not change the type's definition.�cAgda The type of íL.�cAgda The type of ïL_.‘cAgda The type of žD.Œc�cŽc�c�c‘c‘c�c�cŽc�cŒc¯None" #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×ÙÝàáè »mŠwAgdaA Covering is the result of splitting a Žw.ŒwAgdaÀDe Bruijn level (counting dot patterns) of argument we split on.�wAgdaÅCovering clauses, indexed by constructor/literal these clauses share.�wAgdaType of variables in scPats.‘wAgdaÍThe patterns leading to the currently considered branch of the split tree.’wAgdaSubstitution from �wÑ to old context. Only needed directly after split on variable: * To update ”wÔ * To rename other split variables when splitting on multiple variables. scSubst is not ` transitive'É, i.e., does not record the substitution from the original context to �wÌ over a series of splits. It is freshly computed after each split by computeNeighborhood ; also œwÉ, which does not split on a variable, should reset it to the identity É<, lest it be applied to ”w again, leading to Issue 1294.“wAgda€We need to keep track of the module parameter checkpoints for the clause for the purpose of inferring missing instance clauses.”wAgda'The type of the rhs, living in context �w. ³ computes the new ”w by applying substitution ’w.•wAgda,Project the split clauses out of a covering.–wAgdaÊCreate a split clause from a clause in internal syntax. Used by make-case.—wAgda1Top-level function for checking pattern coverage.Effects:3Marks unreachable clauses as such in the signature.0Adds missing instances clauses to the signature.˜wAgdaØTop-level function for eliminating redundant clauses in the interactive case splitter™wAgdaþAdd more patterns to split clause if the target type is a function type. Returns the domains of the function type (if any).šwAgdaEntry point from Interaction.MakeCase.›wAgdaEntry point from TypeChecking.Empty and Interaction.BasicOps. splitLast CoInductive is used in the refine tactics.œwAgdaÇsplitResult for MakeCase, tries to introduce IApply or ProjP copatterns�wAgdaFor debugging only.—wAgdaName f of definition.Agda7Absolute type (including the full parameter telescope).Agda Clauses of f!. These are the very clauses of f in the signature.™wAgda%Force insertion even when there is a ù8?¯kŠw‹wŒw�wŽw�w�w‘w’w“w”w•w–w—w˜w™wšw›wœwŽw�w�w‘w’w“w”w–w™wŠw‹wŒw�w•w—w˜wšw›wœw¯küNone! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáè ½æþfAgdaŠCheck whether one of the types in the given telescope is constructor-less and if yes, return its index in the telescope (0 = leftmost).ÿfAgdaÔEnsure that a type is empty. This check may be postponed as emptiness constraint.€gAgda0Check whether some type in a telescope is empty.�gAgdaCheck whether a type is empty.ÿfAgdaRange of the absurd pattern.AgdaÈType that should be empty (empty data type or iterated product of such).þfÿf€g�g�g€gÿfþfÁNone! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáè ÉL öTAgda¥Process function clauses into case tree. This involves: 1. Coverage checking, generating a split tree. 2. Translation of lhs record patterns into rhs uses of projection. Update the split tree. 3. Generating a case tree from the split tree. Phases 1. and 2. are skipped if Nothing.¥wAgdaStripped-down version of —8 used in clause compiler.§wAgda8Pattern variables are considered in left-to-right order.­wAgdaÓStrip down a clause. Don't forget to apply the substitution to the dot patterns!°wAgdaýGet the index of the next argument we need to split on. This the number of the first pattern that does a (non-lazy) match in the first clause. Or the first lazy match where all clauses agree on the constructor, if there are no non-lazy matches.±wAgdaÝIs is not a variable pattern? And if yes, is it a record pattern and/or a fallThrough one?²wAgdaIs this a variable pattern?Maintain invariant: isVar = isNothing . properSplit!³wAgdasplitOn single n cs* will force expansion of catch-alls if single.µwAgda4Expand catch-alls that appear before actual matches.Example: % true y x false false y will expand the catch-all x to false.¢Catch-alls need also to be expanded if they come before/after a record pattern, otherwise we get into trouble when we want to eliminate splits on records later.#Another example (see Issue 1650): 8 f (x, (y, z)) true = a f _ false = b  Split tree: ™ 0 (first argument of f) - 1 (second component of the pair) - 3 (last argument of f) -- true -> a - false -> b 1 We would like to get the following case tree: ¹ case 0 of _,_ -> case 1 of _,_ -> case 3 of true -> a; false -> b _ -> case 3 of true -> a; false -> b _ -> case 3 of true -> a; false -> b Example from issue #2168: Ç f x false = a f false = _ -> b f x true = c  case tree: ã f x y = case y of true -> case x of true -> c false -> b false -> a Example from issue #3628: È f i j k (i = i0)(k = i1) = base f i j k (j = i1) = base  case tree: ² f i j k o = case i of i0 -> case k of i1 -> base _ -> case j of i1 -> base _ -> case j of i1 -> base ¶wAgda?ÀÁÂÄÆÉÎÑÔ×ÙÝàáè Ï_¼wAgda 'checkRecDef i name con ps contel fields nameRecord type identifier.con Maybe constructor name and info.psRecord parameters.contel!Approximate type of constructor (fields> -> Set). Does not include record parameters.fieldsList of field signatures.ÀwAgda(checkRecordProjections m r q tel ftel fs. m name of the generated moduler name of the record typecon name of the record constructortel )parameters and record variable r ("self")ftel telescope of fieldsfs the fields to be checked¼wAgdaPosition and other info.AgdaRecord type identifier.AgdaCheck universes?Agda1(Co)Inductive, (No)Eta, (Co)Pattern, Constructor?AgdaRecord parameters.Agda!Approximate type of constructor (fields0 -> Set). Does not include record parameters.AgdaField signatures.½wAgdaDatatype name.Agda“ parameters.AgdaProjection names.Agda“ ¢E ¦ field types.Agda“ ¢E T target type.¾wAgdasome name, e.g. record nameAgda param types ”Agdafields' types ” ¢E ¦Agda fields' namesAgdarecord type ” ¢E T¿wAgdasome name, e.g. record nameAgda param types ”Agdafields' types ” ¢E ¦Agda fields' namesAgdarecord type ” ¢E T¼w½w¾w¿wÀw¼w½w¾w¿wÀwëNone" #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×ÙÝàáè ÞÄ"ˆcAgdaSet …I" according to termination info in œ4, which comes from a possible termination pragma.‰cAgda)Enter a new section during type-checking.ŠcAgda,Type check a definition by pattern matching.ÃwAgda,Which argument indexes have a partial split.ÄwAgdaParameters for creating a with -function.ÇwAgdaParent function name.ÈwAgdaWith function name.ÉwAgdaType of the parent function.ÊwAgdaContext of the parent patterns.ËwAgdaÒTypes of arguments to the with function before the with expressions (needed vars).ÌwAgdaÓTypes of arguments to the with function after the with expressions (unneeded vars).ÍwAgda-With and rewrite expressions and their types.ÎwAgdaType of the right hand side.ÏwAgdaParent patterns.ÐwAgda.Number of module parameters in parent patternsÑwAgdaÑPermutation resulting from splitting the telescope into needed and unneeded vars.ÒwAgda;Permutation reordering the variables in the parent pattern.ÓwAgdaÀFinal permutation (including permutation for the parent clause).ÔwAgda'The given clauses for the with functionÕwAgda-Subtsitution to generate call for the parent.×wAgdaÉA single clause without arguments and without type signature is an alias.ØwAgda'Check a trivial definition of the form f = eÙwAgda,Type check a definition by pattern matching.ÚwAgdaÇModify all the LHSCore of the given RHS. (Used to insert patterns for rewrite or the inspect idiom)ÛwAgdaÛInsert some names into the with-clauses LHS of the given RHS. (Used for the inspect idiom)ÝwAgdaÑInsert some with-patterns into the with-clauses LHS of the given RHS. (Used for rewrite)ÞwAgdaåInsert with-patterns before the trailing with patterns. If there are none, append the with-patterns.àwAgdaThe LHS part of checkClause.áwAgdaType check a function clause.âwAgda3Generate the abstract pattern corresponding to ReflãwAgdaType check the with and rewrite lhss and/or the rhs.åwAgdaInvoked in empty context.æwAgdaType check a where clause.çwAgdaSet the current clause number.ŠcAgda'the type we expect the function to haveAgdais it irrelevant (for instance)Agda2are the clauses delayed (not unfolded willy-nilly)Agdaðdoes the definition come from an extended lambda (if so, we need to know some stuff about lambda-lifted args)AgdaÅis it a with function (if so, what's the name of the parent function)Agda range infoAgdathe name of the functionAgdathe clauses to checkÙw Agda'the type we expect the function to haveAgdais it irrelevant (for instance)Agda2are the clauses delayed (not unfolded willy-nilly)Agdaðdoes the definition come from an extended lambda (if so, we need to know some stuff about lambda-lifted args)AgdaÅis it a with function (if so, what's the name of the parent function)Agda range infoAgdathe name of the functionAgdaÒsubstitution (from with abstraction) that needs to be applied to module parametersAgdathe clauses to checkáwAgda(Type of function defined by this clause.Agda?ÀÁÂÄÆÉÎÑÔ×ÙÝàáè ä1¿SAgdaÂChecking the type of an overloaded projection application. See ´.ÀSAgdaPrecondition: Application hd args = appView e.ÁSAgdacheckApplication hd args e t) checks an application. Precondition: Application hs args = appView echeckApplication1 disambiguates constructors (and continues to µ#) and resolves pattern synonyms.ÂSAgda�Check that a list of arguments fits a telescope. Inserts hidden arguments as necessary. Returns the type-checked arguments and the remaining telescope.ÃSAgda%checkArguments cmp exph r args t0 t k tries checkArgumentsE exph args t0 t . If it succeeds, it continues k† with the returned results. If it fails, it registers a postponed typechecking problem and returns the resulting new meta variable.Checks e := ((_ : t0) args) : t.ÂSAgdaComparison for targetAgda)Eagerly insert trailing hidden arguments?AgdaRange of application.AgdaArguments to check.Agda%Telescope to check arguments against.Agda8Checked arguments and remaining telescope if successful.¿SÀSÁSÂSÃSÃSÂSÁSÀS¿S©None" #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×ÙÝàáè ò|¼SAgda"Check an application of a section.½SAgda Type check a single declaration.¾SAgda&Type check a sequence of declarations.ðwAgdaCached checkDeclòwAgdaÉCheck if there is a inferred eta record type in the mutual block. If yes, repeat the record pattern translation for all function definitions in the block. This is necessary since the original record pattern translation will have skipped record patterns of the new record types (as eta was off for them). See issue  2308 (and 2197).õwAgdaÎRun a reflected TCM computatation expected to define a given list of names.öwAgdaInstantiate all metas in ÙI associated to ÿß. Makes sense after freezing metas. Some checks, like free variable analysis, are not in —‡, so they will be more precise (see issue 1099) after meta instantiation. Precondition: name has been added to signature already.÷wAgda†Highlight a declaration. Called after checking a mutual block (to ensure we have the right definitions for all names). For modules inside mutual blocks we haven't highlighted their contents, but for modules not in a mutual block we have. Hence the flag.øwAgda Termination check a declaration.ùwAgda+Check a set of mutual names for positivity.úwAgdaœCheck that all coinductive records are actually recursive. (Otherwise, one can implement invalid recursion schemes just like for the old coinduction.)ûwAgda7Check a set of mutual names for constructor-headedness.üwAgda4Check a set of mutual names for projection likeness.æOnly a single, non-abstract function can be projection-like. Making an abstract function projection-like would break the invariant that the type of the principle argument of a projection-like function is always inferable.ýwAgda>Freeze metas created by given computation if in abstract mode.ÿwAgdaType check an axiom.€xAgda½Data and record type signatures need to remember the generalized parameters for when checking the corresponding definition, so for these we pass in the parameter telescope separately.�xAgda,Type check a primitive function declaration.‚xAgdaCheck a pragma.ƒxAgda=Type check a bunch of mutual inductive recursive definitions.ØAll definitions which have so far been assigned to the given mutual block are returned.„xAgdaÆType check the type signature of an inductive or recursive definition.†xAgdaType check a module.‡xAgda Helper for ¼S.ÎMatches the arguments of the module application with the module parameters.äReturns the remaining module parameters as an open telescope. Warning: the returned telescope is notÏ the final result, an actual instantiation of the parameters does not occur.ˆxAgdaÐCheck an application of a section. (Do not invoke this procedure directly, use ¼S.)‰xAgdaòType check an import declaration. Actually doesn't do anything, since all the work is done when scope checking.¼SAgdaName m1' of module defined by the module macro.AgdaThe module macro » tel ’C m2 args.AgdaImported names and modules‡xAgdaName of applied module.AgdaThe module parameters.Agda(The arguments this module is applied to.Agda>The remaining module parameters (has free de Bruijn indices!).ˆxAgdaName m1' of module defined by the module macro.AgdaThe module macro » tel ’C m2 args.AgdaImported names and modules$¼S½S¾Sêwëwìwîwíwïwðwñwòwówôwõwöw÷wøwùwúwûwüwýwþwÿw€x�x‚xƒx„x…x†x‡xˆx‰xŠx$ðw¾S½Sñwòwïwówôwõwöwìwîwíw÷wøwùwúwûwüwýwþwÿw€x�x‚xƒx„x…x†x‡x¼Sˆx‰xêwëwŠx•None! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáè óY¸SºS½S¾Sðw¾S½Sðw¸SºS±None! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáè ôq�xAgda Converts the Ó3 and Ô31 fields to strings that are friendly to editors.ŽxAgdaËChoose which method to use based on HighlightingInfo and HighlightingMethod�xŽx�xŽx²None! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáè õQ�xAgda7Turns syntax highlighting information into a JSON value�xAgda:Must contain a mapping for every definition site's module.�x�x³None! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáè öŒ’xAgda Formats the È31 tag for the Emacs backend. No quotes are added.“xAgdaÄTurns syntax highlighting information into a list of S-expressions.“xAgda:Must contain a mapping for every definition site's module.’x“x“x’x´None! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáè öá”x•x”x•xµNone! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáè ÷6–x–x¶None! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáè ÷‡šxšx·None! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáè ÷Ø›x›xÆNone! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáè ø\�xAgda'Takes the name of the data/record type.ÀU�xžxžx�xÀU¸None! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáè øµ¡x¢x£x¤x¥x¦x¥x¡x¢x£x¤x¦x¹None! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáè ù§x§xºNone! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáè ùk¨x¨x»None! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáè úµ©xAgda-Converts compiled clauses to treeless syntax.»Note: Do not use any of the concrete names in the returned term for identification purposes! If you wish to do so, first apply the Agda.Compiler.Treeless.NormalizeNames transformation.©xªx©xªx¼None! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáè ûÁ«xAgda$Insert unsafeCoerce (in the form of ÁÃ) everywhere it's needed in the right-hand side of a definition.¬xAgda/The number of retained arguments after erasure.«x¬x«x¬x½None! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáè ÿA­xAgdaCalls a compiler:§Checks the exit code to see if the compiler exits successfully. If not, then an exception is raised, containing the text the compiler printed to stderr (if any).åUses the debug printout machinery to relay any progress information the compiler prints to stdout.®xAgdaGeneralisation of  callCompiler) where the raised exception is returned.­xAgda$Should we actually call the compilerAgdaThe path to the compilerAgdaCommand-line arguments.AgdaãUse the given text encoding, if any, when reading the output from the process (stdout and stderr).®xAgdaThe path to the compilerAgdaCommand-line arguments.AgdaãUse the given text encoding, if any, when reading the output from the process (stdout and stderr).­x®x­x®x¾None! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáè  ³xAgdaas seen from inside the module´xAgda*Temporary data type to scope check a file.¶xAgda/The file path from which we loaded this module.·xAgdaçThe expected module name (coming from the import statement that triggered scope checking this file).¸xAgdaThe file content.ÁxAgdaÐThings that can be translated to abstract syntax are instances of this class.ÆxAgdaáThis operation does not affect the scope, i.e. the original scope is restored upon completion.ÇxAgdaThe top-level module name.ÈxAgda Declaration ,open import Agda.Primitive using (Set; Prop) when ÚD.ÉxAgdaContent of interaction hole.òxAgda%Top-level declarations are always ‡ (import|open)* -- a bunch of possibly opened imports module ThisModule ... -- the top-level module of this file ôxAgdaScope check an expression.¯x°x±x²x³x´xµx¶x·x¸x¹xºx»x¼x½x¾x¿xÀxÁxÂxÃxÄxÅxÆxÇxÈxÁxÂxÃxÆxÄxÅxºx»x´xµx¶x·x¸x°x±x²x³xÇx¯x¼x¹xÀx¿x¾x½xÈx¿None" #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×ÙÝàáè g…yAgdaParses an expression.ˆyAgdaÏAfter a give, redo termination etc. checks for function which was complemented.‰yAgdaTry to fill hole by expression.ÌReturns the given expression unchanged (for convenient generalization to ‹y).ŠyAgda*Try to fill hole by elaborated expression.‹yAgda!Try to refine hole by expression e.)This amounts to successively try to give e, e ?, e ? ?3, ... Returns the successfully given expression.ŒyAgda9Evaluate the given expression in the current environment ŽyAgdaÛModifier for interactive commands, specifying the amount of normalization in the output.�yAgdaëModifier for the interactive computation command, specifying the mode of computation and result display.’yAgdaÙModifier for interactive commands, specifying whether safety checks should be ignored.›yAgdaGoals and Warnings�yAgdaPrint open metas nicely.ŸyAgda2Collecting the context of the given meta-variable. yAgdagetSolvedInteractionPoints TrueÐ returns all solutions, even if just solved by another, non-interaction meta. getSolvedInteractionPoints False5 only returns metas that are solved by a non-meta.¦yAgdaÌCreate type of application of new helper function that would solve the goal.§yAgda†Gives a list of names and corresponding types. This list includes not only the local variables in scope, but also the let-bindings.¨yAgda¯Returns the type of the expression in the current environment We wake up irrelevant variables just in case the user want to invoke that command in an irrelevant context.ªyAgdaThe intro tactic.ŒReturns the terms (as strings) that can be used to refine the goal. Uses the coverage checker to find out which constructors are possible.«yAgdaÜRuns the given computation as if in an anonymous goal at the end of the top-level module.+Sets up current module, scope, and context.¬yAgda Parse a name.­yAgda8Check whether an expression is a (qualified) identifier.¯yAgda3Returns the contents of the given module or record.°yAgda4Returns the contents of the given record identifier.±yAgda)Returns the contents of the given module.‰yAgdaSkip safety checks?AgdaHole.AgdaThe expression to give.Agda9If successful, the very expression is returned unchanged.ŠyAgdaNormalise result?AgdaSkip safety checks?AgdaHole.AgdaThe expression to give.Agda0If successful, return the elaborated expression.‹yAgdaSkip safety checks when giving?AgdaHole.Agda'The expression to refine the hole with.Agda"The successfully given expression.œyAgda!Degree of normalization of goals.Agda(Degree of normalization of hidden goals.ŸyAgda Normalise?¯yAgda"How should the types be presented?AgdaThe range of the next argument.AgdaThe module name.AgdaæModule names, context extension needed to print types, names paired up with corresponding types.°yAgda!Amount of normalization in types.Agda%Expression presumably of record type.AgdaÐModule names, context extension, names paired up with corresponding types.±yAgda!Amount of normalization in types.Agda Module name, Nothing if top-level module.AgdaÐModule names, context extension, names paired up with corresponding types..…y†y‡yˆy‰yŠy‹yŒy�yŽy�y�y‘y’y“y”y•y–y—y˜y™yšy›yœy�yžyŸy y¡y¢y£y¤y¥y¦y§y¨y©yªy«y¬y­y®y¯y°y±y²y.…y†y‡yˆy‰yŠy‹yŒy�yŽy�y�y‘y’y“y”y•y–y—y˜y™yšy›yœy�yžyŸy y¡y¢y£y¤y¥y¦y§y¨y©yªy«y¬y­y®y¯y°y±y²yÀNone! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáè l¾y¾yÁNone" #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×ÙÝàáè R¿yAgda¦Lookup the clause for an interaction point in the signature. Returns the CaseContext, the previous clauses, the clause itself, and a list of the remaining ones.ÁyAgdaÓParse variables (visible or hidden), returning their de Bruijn indices. Used in Äy.ÄyAgda&Entry point for case splitting tactic.ÅyAgdaÇMake the given pattern variables visible by marking their origin as Ç and pattern origin as Š8 in the Žw.ÆyAgdaðIf a copattern split yields no clauses, we must be at an empty record type. In this case, replace the rhs by record{}ÇyAgda2Make clause with no rhs (because of absurd match).ÈyAgda*Make a clause with a question mark as rhs.ÁyAgdaThe function name.Agda6The context of the RHS of the clause we are splitting.Agda.The as-bindings of the clause we are splittingAgda,The hole of this function we are working on.AgdaThe range of this hole.Agda9The words the user entered in this hole (variable names).AgdaùThe computed de Bruijn indices of the variables to split on, with information about whether each variable is in scope. ¿yÀyÁyÂyÃyÄyÅyÆyÇyÈyÉy ÀyÁy¿yÂyÃyÄyÅyÆyÇyÈyÉyÂNone! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáè Ë.ÊyËyÌyÍyÎyÏyÔyÓyÒyÑyÐyÕyÖy×yØyÙyÚyÜyÛyÝyÞyßyàyáyâyãyäyåyæyçyèyéyêyëyìyíyîyïyðyñyòyóyôyõyöy÷y.ÙyÚyÜyÛyØyÖy×yÕyÝyÞyÎyÏyÔyÓyÒyÑyÐyÍyÌyßyàyáyâyãyäyåyæyÊyËyçyèyéyêyëyìyíyîyïyðyñyòyóyôyõyöy÷yÃNone! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáè ©ˆzAgda6Result type: Progress & potential Message for the user:The of the Auto tactic can be one of the following three: Solutions [(ii,s)] A list of solutions s for interaction ids ii. In particular,  Solutions [] means Agsy found no solution. FunClauses cs0 A list of clauses for the interaction id ii? in which Auto was invoked with case-splitting turned on. Refinement s+ A refinement for the interaction id ii in which Auto was invoked.ŒzAgda#Entry point for Auto tactic (Agsy).If the  autoMessage part of the result is set to Just msg, the message msg2 produced by Agsy should be displayed to the user. „z…z†z‡zˆz‰zŠz‹zŒz Œz„z…z†z‡zˆz‰zŠz‹zÃNone" #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáè "u¡UAgdaðScope checks the given module. A proper version of the module name (with correct definition sites) is returned.�zAgda¡The result and associated parameters of a type-checked file, when invoked directly via interaction or a backend. Note that the constructor is not exported.�zAgdaÊIs the aim to type-check the top-level module, or only to scope-check it?’zAgdaThe decorated source code.”zAgda Source code.•zAgdaSource file type–zAgda*Source location at the time of its parsing—zAgdaThe parsed module.˜zAgdaThe top-level module name.™zAgda:The .agda-lib file(s) of the project this file belongs to.šzAgda%Flattened unidirectional pattern for �z! for destructuring inside the ÌK field.ŸzAgda&Parses a source file and prepares the ’z record. zAgdaœType checks the main file of the interaction. This could be the file loaded in the interacting editor (emacs), or the file passed on the command line.4First, the primitive modules are imported. Then,  getInterface is called to do the main work.If the �z is �zÅ, then type-checking is not performed, only scope-checking. (This may include type-checking of imported modules.) In this case the generated, partial interface is not stored in the state (ðKî). Note, however, that if the file has already been type-checked, then a complete interface is returned.¡zAgda.Read interface file corresponding to a module. zAgda7Should the file be type-checked, or only scope-checked?AgdaThe decorated source code.¡U�zšzŽz�z�z‘z’z“z”z•z–z—z˜z™z›zœz�zžzŸz z¡z�z�z‘z�zšzšzŽz›zœz�zžz’z“z”z•z–z—z˜z™z¡UŸz z¡zÄNone! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáè #¦z¦zÅNone" #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáè #Ø¿zAgda$Sets up the compilation environment.ÂzAgdaConjunctive semigroup (µz is absorbing).³zµz´z¶z·z¸z¹zºz»z¼z½z¾z¿zÀz³zµz´z¶z·z¸z¹zºz»z¼z½z¾z¿zÀzÆNone" #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáè .ˆÅzAgdaDifferent kinds of names.ÆzAgdaTypes.ÇzAgda Constructors.ÈzAgda Variables.ÉzAgdaUsed for coverage checking.ÊzAgda#Used for constructor type checking.ËzAgdaOther functions.ÌzAgda2Different kinds of variables: those starting with a, those starting with v, and those starting with x.ÐzAgdaùThere are two kinds of functions: those definitely without unused arguments, and those that might have unused arguments.ÓzAgdaÜThe default compilation monad is the entire TCM (¹L�ü) enriched with our state and module infoÔzAgdaÏTransformer adding read-only module info and a writable set of imported modulesØzAgdaMonads that can produce a Üz.ÜzAgda…Module compilation environment, bundling the overall backend session options along with the module's basic readable properties.àzAgdaÛA static part of the GHC backend's environment that does not change from module to module.ÿzAgdaIs the given name a TC builtin (except for TC itself)?€{AgdaThe options derived from Ó– and other shared options.ƒ{Agda)Use the compiler at PATH instead of "ghc"†{Agda#Make inductive constructors strict?‡{AgdaMake functions strict?Š{AgdaThe name of the Agda module‹{AgdaÃWhether this is the compilation root and therefore should have the main& function. This corresponds to the IsMainÏ flag provided to the backend, not necessarily whether the GHC module has a main function defined.Ž{Agda3Whether the current module is expected to have the main& function. This corresponds to the IsMainØ flag provided to the backend, not necessarily whether the GHC module actually has a main function defined.�{AgdaThis is the same value as curMName,, but does not rely on the TCM's state. (curMName, and co. should be removed, but the current Backend2 interface is not sufficient yet to allow that)�{AgdaÀGet the Haskell module name of the currently-focused Agda module‘{Agda-Turns strings into valid Haskell identifiers.ÝIn order to avoid clashes with names of regular Haskell definitions (those not generated from Agda definitions), make sure that the Haskell names are always used qualified, with the exception of names from the prelude.›{Agda0Name for definition stripped of unused argumentsÂ{Agda:Can the character be used in a Haskell module name part (conidÊ)? This function is more restrictive than what the Haskell report allows.þÅzËzÊzÉzÈzÇzÆzÌzÎzÏzÍzÐzÒzÑzÓzÔzÕzÖz×zØzÛzÚzÙzÜzÝzßzÞzàzázÿzþzýzüzûzúzùzøz÷zözõzôzózòzñzðzïzîzízìzëzêzézèzçzæzåzäzãzâz€{�{‡{†{…{„{ƒ{‚{ˆ{‰{‹{Š{Œ{�{Ž{�{�{‘{’{“{”{•{–{—{˜{™{š{›{œ{�{ž{Ÿ{ {¡{¢{£{¤{¥{¦{§{¨{©{ª{«{¬{­{®{¯{°{±{²{³{´{µ{¶{·{¸{¹{º{»{¼{½{¾{¿{À{Á{Â{þˆ{‰{‹{Š{€{�{‡{†{…{„{ƒ{‚{àzázÿzþzýzüzûzúzùzøz÷zözõzôzózòzñzðzïzîzízìzëzêzézèzçzæzåzäzãzâzÜzÝzßzÞzØzÛzÚzÙzÕzÖz×zÔzÓzŒ{�{Ž{�{�{ÐzÒzÑzÌzÎzÏzÍzÅzËzÊzÉzÈzÇzÆz‘{’{“{”{•{–{—{˜{™{š{›{œ{�{ž{Ÿ{ {¡{¢{£{¤{¥{¦{§{¨{©{ª{«{¬{­{®{¯{°{±{²{³{´{µ{¶{·{¸{¹{º{»{¼{½{¾{¿{À{Á{Â{ÇNone! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáè 3‚ Ë{Agda Classify FOREIGN Haskell code.Ì{Agda3A pragma that must appear before the module header.Í{AgdaÀAn import statement. Must appear right after the module header.Î{Agda1The rest. To appear after the import statements.Ï{Agda GHC backend translation pragmas.Ò{Agda'@COMPILE GHC X = data D (c�A | ... | c™A)Ó{Agda COMPILE GHC x as fÛ{AgdaGet content of  FOREIGN GHC pragmas, sorted by Ë{2: file header pragmas, import statements, rest.Ü{Agda Classify a  FOREIGN GHC declaration.Ý{AgdaÉClassify a Haskell pragma into whether it is a file header pragma or not.Þ{AgdaPartition a list by Ë{ attribute.Ë{Î{Í{Ì{Ï{Ó{Ò{Ð{Ñ{Ô{Õ{Ö{×{Ø{Ù{Ú{Û{Ü{Ý{Þ{Õ{Ô{Ï{Ó{Ò{Ð{Ñ{Ö{×{Ø{Ù{Ú{Û{Ë{Î{Í{Ì{Ü{Ý{Þ{ÈNone! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáè 6 ã{AgdaùHaskell module names have to satisfy the Haskell (including the hierarchical module namespace extension) lexical syntax: 4modid -> [modid.] large {small | large | digit | ' }ã{à is an injective function into the set of module names defined by modid. The function preserves .Äs, and it also preserves module names whose first name part is not ¨{.3Precondition: The input must not start or end with ., and no two .s may be adjacent.ã{ã{ÉNone! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáè 6]ä{å{æ{ç{è{é{ä{å{æ{ç{è{é{ÊNone! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáè 7r‡|Agda7Check that the main function has type IO a, for some a.Š|Agda,Haskell modules to be imported for BUILT-INsŒ|Agda)Definition bodies for primitive functionsÿ{€|‚|�|ƒ|„|…|†|‡|ˆ|‰|Š|‹|Œ|�|Ž|ƒ|„|ÿ{€|‚|�|…|†|‡|ˆ|‰|Š|‹|Œ|�|Ž|ËNone! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáè 7ÿ�|�|‘|’|�|�|‘|’|[None$ #$%'(-.02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáè >6“!Agda%Look for a backend of the given name.”!AgdaÈAsk the active backend whether a type may be erased. See issue #3732.š|Agda0Optional version information to be printed with  --version.›|AgdaDefault optionsœ|AgdaßBackend-specific command-line flags. Should at minimum contain a flag to enable the backend.�|Agda%Unless the backend has been enabled, runAgda- will fall back to vanilla Agda behaviour.ž|AgdaÄCalled after type checking completes, but before compilation starts.Ÿ|Agda3Called after module compilation has completed. The IsMain argument is NotMain if the  --no-main flag is present. |AgdaÂCalled before compilation of each module. Gets the path to the .agdaiß file to allow up-to-date checking of previously written compilation results. Should return Skip m, if compilation is not required. Will be Nothing if only scope checking.¡|Agda?ÀÁÂÄÆÉÎÑÔ×ÙÝàáè sÌ ²|Agda Restore both › and ±V.³|AgdaRestore ›, do not touch ±V.´|AgdaBuild an opposite action to · for state monads.¶|Agda Opposite of ¸ for ¯V.îThis function should only be applied to computations that are guaranteed not to raise any errors (except for ¬Es).·|Agda?Lift a TCM action transformer to a CommandM action transformer.¸|AgdaDitto, but restore state.¹|Agda1Put a response by the callback function given by òK.º|Agda A Lens for ³V.»|Agda A Lens for ¶V.¿|Agda*Do setup and error handling for a command.Á|AgdaRun an ÷U) value, catch the exceptions, emit output!If an error happens the state of ¯Vð does not change, but stPersistent may change (which contains successfully loaded interfaces for example).Â|AgdaìIf the next command from the command queue is anything but an actual command, then the command is returned.If the command is an ÷Uæ command, then the following happens: The given computation is applied to the command and executed. If an abort command is encountered (and acted upon), then the computation is interrupted, the persistent state and all options are restored, and some commands are sent to the frontend. If the computation was not interrupted, then its result is returned.Ã|AgdaæCreates a command queue, and forks a thread that writes commands to the queue. The queue is returned.Ä|AgdaÔCan the command run even if the relevant file has not been loaded into the state?Å|AgdaShould Å4& be issued after the command has run?Æ|AgdaInterpret an interactionÇ|AgdaíSolved goals already instantiated internally The second argument potentially limits it to one specific goal.È|Agda"cmd_load' file argv unsolvedOk cmd loads the module in file file , using argv as the command-line options.ÜIf type checking completes without any exceptions having been encountered then the command cmd r is executed, where r is the result of  z.É|AgdaSet ÒG to ´V , if any.Ë|Agda)A "give"-like action (give, refine, etc).*give_gen force ii rng s give_ref mk_newtxt acts on interaction point ii occupying range rng-, placing the new content given by string s, and replacing ii× by the newly created interaction points in the state if safety checks pass (unless force is applied).Í|Agda/Sorts interaction points based on their ranges.Î|AgdaÊDisplays the current goal, the given document, and the current context.Should not modify the state.Ï|AgdaËShows all the top-level names in the given module, along with their types.Ð|AgdaÞShows all the top-level names in scope which mention all the given identifiers in their type.Ñ|Agda"Explain why something is in scope.Ò|AgdaÁSets the command line options and updates the status information.Ó|Agda!Computes some status information.Does not change the state.Ô|Agda'Displays or updates status information.Does not change the state.Õ|Agda display_info does what  display_info' FalseÁ does, but additionally displays some status information (see Ó| and Ô|).Ö|Agda·Parses and scope checks an expression (using the "inside scope" as the scope), performs the given command with the expression as input, and returns the result and the time it takes.Ø|AgdaÌTell to highlight the code using the given highlighting info (unless it is Nothing).Ù|AgdaÀTells the Emacs mode to go to the first error position (if any).´|AgdarunAgdaliftAgda(reverse lift in double negative positionµ|AgdarunAgdaliftAgda(reverse lift in double negative positionÃ|AgdaReturns the next command.È|AgdaFile to load into interaction.Agda'Arguments to Agda for loading this fileAgdaAllow unsolved meta-variables?Agda+Full type-checking, or only scope-checking?Agda&Continuation after successful loading.Ë|Agda Should safety checks be skipped?Ö|AgdaThe command to perform.AgdaThe expression to parse.-­|±|°|¯|®|²|³|´|µ|¶|·|¸|¹|º|»|¼|½|¾|¿|À|Á|Â|Ã|Ä|Å|Æ|Ç|È|É|Ê|Ë|Ì|Í|Î|Ï|Ð|Ñ|Ò|Ó|Ô|Õ|Ö|×|Ø|Ù|-­|±|°|¯|®|²|³|´|µ|¶|·|¸|¹|º|»|¼|½|¾|¿|À|Á|Â|Ã|Ä|Å|Æ|Ç|È|É|Ê|Ë|Ì|Í|Î|Ï|Ð|Ñ|Ò|Ó|Ô|Õ|Ö|×|Ø|Ù|ÍNone! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáè uÜ|AgdaÜ|À is a fake ghci interpreter for both the Emacs the JSON frontendÜ|Ü|ÎNone! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáè v™Ý|AgdaÝ|Ð is a fake ghci interpreter for the Emacs frontend and for interaction tests.Ý|ã reads the Emacs frontend commands from stdin, interprets them and print the result into stdout.Þ|AgdaSerializing Info_Errorà|Agda,Pretty-prints the type of the meta-variable.–y�yÝ|Þ|ß|à|Ý|–y�yÞ|ß|à|ÏNone! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáè wãá|Agdaá| is a interpreter like Ý|#, but outputs JSON-encoded strings.á|( reads Haskell values (that starts from IOTCMÔ ...) from stdin, interprets them, and outputs JSON-encoded strings. into stdout.á|á|—None! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáè x4ˆ}ÐNone! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáè x„ˆ}ˆ}˜None# #$%&-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáè |ȹAgdaThe parser uses a Positionô which includes a source filename for error reporting and such. We don't actually get the source filename with an  InterfaceÌ, and it isn't necessary to look it up. This is a "nice-to-have" parameter.ºAgdaÐCount extended grapheme clusters rather than code points when generating LaTeX.»Agda Output items.¼Agda+Log LaTeX messages using a provided action.¿This could be accomplished by putting logs into the RWST output and splitting it into a WriterT, but that becomes slightly more complicated to reason about in the presence of IO exceptions.§We want the logging to be reasonably polymorphic, avoid space leaks that can occur with WriterT, and also be usable during outer phases such as directory preparation.?ÀÁÂÄÆÉÎÑÔ×Ùàáè }0‰}ÑNone! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáè }€‰}‰}šNone! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáè ~dÆAgdaOptions for HTML generationÇAgda#Determine how to highlight the fileÈAgda1Bundle up the highlighting info for a source fileÉÊËÆÌÍÎÏÐÇÑÒÓÈÔÕÖ›None! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáè ~ÔŠ}ÒNone! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáè $Š}Š}ÓNone! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáè …)Œ}AgdaConstructor coverage monad�}Agda&Constructor coverage monad transformer�}Agda9Environment for naming of local variables. Invariant: reverse ccCxt ++ ccNameSupply’}AgdaSupply of fresh names“}AgdaNames currently in scope }AgdaThe main6 function definition(s), if both the module is the IsMain& module (root/focused) and a suitable main function was defined.¡}AgdaMonads that can read  GHCOptions§}Agda)Use the compiler at PATH instead of "ghc"©}Agda#Make inductive constructors strict?ª}AgdaMake functions strict?·}Agda"We do not erase types that have a Ò{Å pragma. This is to ensure a stable interface to third-party code.¾}Agda.Initial environment for expression generation.¿}Agda%Term variables are de Bruijn indices.Â}Agda'Introduce n variables into the context.È}AgdaÎExtract Agda term to Haskell expression. Erased arguments are extracted as (). Types are extracted as ().É}AgdaÐTranslate a non-application, non-coercion, non-constructor, non-definition term.´}Agda"Are we looking at the main module?Agda Path to the .agdai file.Agda2Could we confirm the existence of a main function?µ}Agda"Are we looking at the main module?AgdaCompiled module content.Ó}Agda(The constructor's arity (after erasure).Õ}Agda%Is the type inductive or coinductive?Ò‹}Œ}�}Ž}�}�}‘}“}’}”}•}–}—}œ}›}š}™}˜}�}ž} }Ÿ}¡}¢}£}¤}ª}©}¨}§}¦}¥}«}¬}­}®}¯}°}±}²}³}´}µ}¶}·}¸}¹}º}»}¼}½}¾}¿}À}Á}Â}Ã}Ä}Å}Æ}Ç}È}É}Ê}Ë}Ì}Í}Î}Ï}Ð}Ñ}Ò}Ó}Ô}Õ}Ö}×}Ø}Ù}Ú}Û}Ü}Ò­}®}£}¤}ª}©}¨}§}¦}¥}¯}°}±}¡}¢}�}ž} }Ÿ}–}—}œ}›}š}™}˜}²}³}´}µ}¶}·}¸}”}•}¬}«}¹}º}»}�}‘}“}’}�}Ž}¼}½}¾}¿}�}Œ}À}Á}Â}Ã}Ä}Å}Æ}Ç}È}É}Ê}Ë}Ì}Í}Î}Ï}Ð}Ñ}Ò}Ó}Ô}Õ}Ö}‹}×}Ø}Ù}Ú}Û}Ü}ÔNone! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáè ‰Cì}AgdaShould this module be compiled?ñ}AgdaRemove spaces etc. See  8https://en.wikipedia.org/wiki/Minification_(programming).ò}Agda'Run generated code through interpreter.ø}AgdaÓAfter all modules have been compiled, copy RTE modules and verify compiled modules.‰~Agda3Ensure that there is at most one pragma for a name.™~Agda*Primitives implemented in the JS Agda RTS.?TODO: Primitives that are not part of this set, and for which Š~5 does not return anything, are silently compiled to �Û. A better approach might be to list exactly those primitives which should be compiled to �.2è}é}ê}ì}ë}í}î}ò}ñ}ð}ï}ó}ô}õ}ö}÷}ø}ù}ú}û}ü}ý}þ}ÿ}€~�~‚~ƒ~„~…~†~‡~ˆ~‰~Š~‹~Œ~�~Ž~�~�~‘~’~“~”~•~–~—~˜~™~2ó}ô}í}î}ò}ñ}ð}ï}õ}ö}÷}ø}ù}é}ê}ì}ë}ú}û}ü}ý}þ}ÿ}€~�~‚~ƒ~„~…~†~‡~è}ˆ~‰~Š~‹~Œ~�~Ž~�~�~‘~’~“~”~•~–~—~˜~™~\None! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáè ŠW•!•!ÕNone! #$%-02356789>?ÀÁÂÄÆÉÎÑÔ×Ùàáè Œí ¡~AgdaMain execution mode¦~AgdaThe main function§~Agda5The main function without importing built-in backends¨~AgdaõDetermine the main execution mode to run, based on the configured backends and command line options. | This is pure.®~Agda)Run Agda with parsed command line options¯~AgdaPrint usage information.±~AgdaPrint version information.³~AgdaWhat to do for bad options.´~Agda6Run a TCM action in IO; catch and pretty print errors.®~AgdaBackend interactionAgda program nameAgdaparsed command line optionsœ~Ÿ~ž~�~ ~¡~¢~¥~¤~£~¦~§~¨~©~ª~«~¬~­~®~¯~°~±~²~³~´~¦~§~¡~¢~¥~¤~£~¨~ ~œ~Ÿ~ž~�~©~ª~«~¬~­~®~¯~°~±~²~³~´~×ÿœ�žœŸ œŸ¡œ¢£œŸ¤œ¥¦œ¥§œ¨©ª«¬ª«­ª«®ª«¯ª«°ª«±ª«²ª«³ª«´ª«µª«¶ª«·ª«¸ª«¹ªº»ª¼½ª¼¾ª¿Àª¿Áª¿Âª¿Ãª¿Äª¿Åª¿Æª¿Çª¿Èª¿Éª¿Êª¿Ëª¿Ìª¿Íª¿Îª¿Ïª¿Ðª¿Ñª¿Òª¿Óª¿Ôª¿Õª¿Öª¿×ª¿Øª¿Ùª¿Úª¿Ûª¿Üª¿Ýª¿Þª¿ßª¿àª¿áªâãªâäªâåªâæªçèªçéªçêªçëªçìªçíªçîªçïªçðªçñªçòªçóªçôªçõªçöªç÷ªçøªçùªçúªçûªçüªçýªçþªçÿªç€ªç�ªç‚ªçƒªç„ªç…ªç†ªç‡ªçˆªç‰ªçŠªç‹ªçŒª�Žª��ª�‘ª�’ª�“ª�”ª�•ª�–ª�—ª�˜ª�™ª�šª�›ª�œª��ª�™ª�˜ª�žª�Ÿª� ª� ª�¡ª�¢ª�£ª�¤ª�¥ª�¦ª�§ª�¨ª�©ª�ªª�«ª�¬ª�­ª�®ª�¯ª�°ª�±ª�²ª³´ª³µª¶·œŸ¸œŸ¹œŸºœ»¼œ»½œ»¾œ»¿œ»Àœ»Áœ»Âœ»Ãœ»Äœ»Åœ»Æœ»Çœ»Èœ»Éœ»Êœ»Ëœ»Ìœ»Íœ»Îœ»Ïœ»Ðœ»Ñœ»Òœ»Óœ»Ôœ»Õœ»Öœ»×œ»Øœ»Ùœ»Úœ»Ûœ»Üœ»Ýœ»Þœ»ßœ»àœ»áœ»âœ»ãœ»äœ»žœ»åœ»æœ»çœ»èœ»éœ»êœ»ëœ»ìœ»íœ»îœ»ïœ»ðœ»ñœ»òœóôœóõœóöœó÷œóøœóùœúûœîüœîýœîþœÿ€œ�‚œêƒœê„œ…†œ¨‡œˆ‰œŸŠœŸ‹œŸŒœ¥�œ¥Žœ¥�œ¥�œ¥‘œ¥’œ¥“œ¥”œ¥•œ¥–œ¥§—˜å—˜™—˜ž—˜š—˜›—˜œ—˜é—˜�—˜ž—˜Ÿ—˜ —˜¡—˜¢£¤¥£¤¦£¤§£¤¨£¤©£¤ª£¤«£¤¬£¤­£¤®£¤¯£¤°£¤±£¤²£¤³£¤´£¤µ£¤¶£¤·£¤¸£¤¹£¤º£¤»£¤¼£¤½£¤¾£¤¿£¤À£¤Á£¤Â£¤Ã£¤Ä£¤Å£¤Æ£¤Ç£¤È£¤É£¤Ê£ËÌ£ËÍ£ËΣËÏ£ËУËÑ£ËÒ£ËÒ£ËÓ£ËÔ£ËÕ£ËÖ£ËרÙÚØÙøØÙÛØÙÜØÙÝØÙÞØÙߨÙà á â ã ä å æ ç è é ê ë ìííîïðñòóôôõö÷øùúûüýþÿ€�‚ƒ„…†‡ˆ‰Š×‹×Œ×�׎×�×�בגדהוזחטיךכל�žŸ ¡¢£¤¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÛÌÍÎÏÐÑÒÓÔÕÖרÿÙÚÛÛÜÝÞß�ààáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ€�‚‚ƒƒ„…†‡ˆ‰Šß‹ŒŒ�Ž��‘’“”•–—˜™š››œ�žŸ ¡¢¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌ Í!Î!Ï!Ð!Ñ"Ò#Ó#Ô#Õ#Ö#×#Ø#Ø#Ù#Ú#Û#Ü#Ý#Þ#ß#à#á#â#ã#ä$å$æ$ç$è$é$ê$ë$ì%í%í%î%¢%ï%ð%¡%ñ%ò% %Ÿ%é%�%á%å%ó%ž%ô%õ%ö%ä%÷%ø%ù%ú%û%ü%ý&þ&ÿ&€&�&‚&ƒ&„&…&†&‡&ˆ&‰&Š&‹&Œ&�&Ž&�&�&‘&’&“&”&•&–&—&˜&™&™&š&›&›&œ&�&ž&ž&Ÿ&Ÿ& &¡&¡&¢&£&¤&¥&¦&¦&§&¨&©&ª&«&«&¬&­&®&¯&°&±&²&³&³&´&µ&¶&·&¸&¹&º&»&¼&¼&½&¾&¿&À&Á&Á&Â&Ã&Ä&Å&Æ&Ç&È&É&Ê&Ë&Ì&Í&Î&Ï&Ð&Ñ&Ò&Ó&Ô&Õ&Ö&×&Ø&Ù&Ú&Û&Ü&Ý&Þ&ß&à&á&â&ã&ä&å&æ&ç&è&é&ê&ë&ì&í&î&ï&ð&ñ&ò&ó&ô'õ'œ'¡'ö'÷'Ÿ' 'ø'ù'ú'û'ü'ý'þ(ÿ(€ (� (‚ (ƒ („ (… († (‡ (ˆ (‰ (Š (‹ (Œ (� (Ž (� (� (‘ (’ )“ )´)” )• )– )— )˜ )˜ )™ )š )› )œ )� )ž )Ÿ )  *¡ *¢ *£ *¤ *¥ *¦ *§ *¨ *© *ª *ª *« *¬ *­ *® *¯ *° *° *± *² *³ *´ *µ *×*¶ *· *¸ *¹ *º *» *¼ *½ *¾ *¿ *À *Á * +à +à +Ä +Å +Æ +Ç È ,É ,Ê ,Ë -Ì -Í -Î -Ï -Ð -Ñ -Ò -Ó -Ô -ù-Õ -Ö -× -Ø -Ù -Ú -Û -Ü .Ý .Þ .ß .à /á /á /â /ã /ä /å /æ /ç /è /é 0š0 0¢0å0ê 0ë 0ì 0í 0î 0ï 0ð 0ñ 0ò 0ó 0ô 0õ 0ö 0÷ 0ø 0ù 0ú 0û 0ü 0ý 0þ 0ÿ 0€ 0� 0‚ 0ƒ 0„ … † àáâãÍ Ï Ð Ñ Ò Ô ùÕ Ö × Ù ô ‡ 1ˆ 1ˆ 1‰ 1Š 1Š 1‹ 1Œ 1� 1Ž 1� 1� 1‘ 1’ 1“ 1” 1• 1– 1— 1˜ 1™ 1š 1› 1œ 1� 1ž 1Ÿ 1  1¡ 1¢ 1£ 1¤ 1¥ 1¦ 1§ 1¨ 1© 1ª 1« 1¬ 1­ 1® 1¯ 1° 1± 1² 1³ 1´ 1µ 2¶ 2· 2¸ 2¹ 2º 3» 3¼ 3½ 3¾ 3¿ 3À 3Á 3 3à 3Ä 3Å 3Æ 3Ç 3È 3É 3Ê 4Ë 4Ì 4Í 4Î 4Ï 4Ð 4Ñ 4Ò 4Ó 4Ô 4Õ Ö × 5Ø 5Ÿ5Ù 5å5Ú 5Û 5Ü 5Ý 5Þ 5ß 5à 5á 5â 5ã 5ä 5å 5æ 5ç 5è 5é 5ê 5ë 5ì 5í 5î 5ï 6£ 6ð 6ñ ò ¢¡ñš ó Ÿážô œõ ›éö ÷ õžöåø ù ú û ü ý þ 7ÿ 7€ 7“ 7� 7‚ 7ƒ 7„ 7… 7† 7‡ 7ˆ 8‰ 8Š 8‹ 8Œ 8� 8µ8Ž 8� 8� 8� 8‘ 8’ 8“ 8” 8• 8– 8— 8˜ 8™ 8š 9› 9› 9Ÿ9œ 9é9� 9á9ž 9ž9Ÿ 9ž9ö9  9¡ 9†9¡9¢ 9£ 9Ï9¤ 9¥ 9¦ 9§ 9¨ 9© 9ª « « ¬ ­ ® ¯ ° ± ² ³ ´ µ ¶ · ¸ ¹ º » ¼ :½ :¾ :¿ :À :Á :ÿ : :à :Ä :Å :Æ :Ç :È :É :Ê :Ë :Ì :Í :î:Î :Ï :Ð :Ñ :Ò :Ó :Ô :Õ :Ö :× :Ø :Ù :Ú :Û :Ü :Ý :Þ :ß :à :á :â :ã :ä :å :æ :ç :è :é :ê :ë :ì :í :î :ï :è:ð :ñ :ò :ó :ô :õ :ö :÷ :ø :ù :ú :û :ü :ý :þ :ÿ :€ :� :‚ :ƒ ;„ ;… ;† ;‡ ;ˆ ;‰ ;Š ;‹ ;Œ ;� ;Ž Ï Ÿ� � à èà ‘ éåê î ü âãëìíý ï’ <“ <“ <” <• <– <ï<— <˜ <™ <š <› <œ <� <ž <Ÿ <  <¡ <¢ =£ =¤ =¥ =¦ =§ =§ =¨ =© =ª =« =¬ =­ =® =¯ =° =± =² =³ =´ =µ =¶ =· =¸ =¹ =º =» =¼ =½ =¾ =¿ =À =Á = =à =Ä =Å =Æ =Ç =È =É =Ê =Ë =Ì =Í =Î =Ï =Ð =Ñ Ò Ò ìëéÓ Ô Õ Ö Ð× Ø Ù Ú Û Ü Ý Þ ß >à >á >â >ã >ä >å >æ >ç >è >é >ê >ë >ì >í >î >ï >ð >ñ >ò >ó >ô >õ >ö >÷ >ø >ù >ú >û >ü >ý >þ >ÿ >€ >� >‚ >ƒ >„ >… >† >‡ >ˆ >‰ >Š ‹ Œ � Ž � � ‘ ’ “ ” • – — ˜ ™ š › œ � ž Ÿ   •¡ ¢ £ ¤ ¥ ¦ § ¨ © ª « ¬ ­ ® ¯ ° ± ² ³ ´ µ ?¶ ?¶ ?· ?¸ ?¹ ?º ?» ?¼ ?½ ?¾ ?¿ ?À ?Á ? ?à ?Ä @Å @Æ @Ç @È @É @Ê @Ë @Ì @Í @Î @Ï @Ð @Ñ @Ò @Ó @Ô @Õ @Ö @× @Ø @Ù @Ú @Û @Ü @Ý @Þ @ß @à @á Aâ Aã Aä Aå Aæ Aç Aè Aé Aê Aë Aì Aí Aî Aï Aï Að Añ Aò Aò Aó Aô Aõ Aö A÷ Aö Aø Aù Aú Aû Aü Aý Aþ Aÿ A€A�A‚AƒA„A…A†AƒA‡AˆA�A‰AŠA‹AŒA�AŽA�A�A‘A’A“A”A•A–A—A˜A™AšA›AœA�AžAŸA A¡A¢A£A¤A¥A¦A§A¨A©AªA«A¬A­A®A¯A°A±A²A³A´AµA¶A·A¸A¹AºA»A¼A½A¾A¿AÀAÁAÂAÃAÄAÅAÆAÇAÈAÉAÊAËAÌAÍAÎAÏBÐBÑB— B¦ BÒBÓBÔBÕBÖB×BØBÙBÚ Û Ü Ý Þ ß à á â ã ä å æ ç è é êëìíîïðñòóôõö÷øùúûüýþÿ€�‚ƒ„…†‡ˆ‰Š‹Œ��CŽCŽC�C�C‘C’C“C”C•C–C—C˜C™CšC›CœC�CžCŸC C¡C¢C£C¤C¥C¦C§C¨C©CªC«C¬D­D­D®D¯D°D±D²D³D´DµD¶D·D¸D¹DºD»E¼E½E¾E¿EÀEÁFÂFÃFÄFÅFÆF‰FÇFÇFÈFÉFÊFËFÌFËFÍFÎFÏFÐFÑFÒFÓFÔFÕFÖF×FØFÙFÚFÛFÜFÝFÞFßFàFáFâFãFäFåFæFçGèGèGéGêGëGìGíGîGïG†GðGŸGáGñGòGóGôGõGöGŸ G÷GøGùGúGûGüGýGéGþGåGÿGžGôGõG€G�G‚GƒG„G…G†G‡HˆH‰HŠH‹HŒH�HŽH�H�H�H‘H’H�H“H”H•H”H–H—H˜H™HšH›HœH�HžHŸH H¡H¢H£H¤H¥H¦H§H¨H©HªH«H¬H­H®H¯H°H±H²H³H´HµH¶H·H¸H¹HºH»H¼H½H¾H¿HÀHÁHÂHÃHÄHÅHÆHÇHÈHÉHÊHËHÌHÍHÎHÏHÐHÑHÒHÓHÔHÕHÖH×HØHÙHÚHÛHÜHÝHÞHßHàHáHâHãHäHåHæHçHèHéHêHëHìHíHîHïHðHñHòHóHôHõHöH÷HøHùHúHûHüHýHþHÿH€H�H‚HƒH„H…H†H‡HˆH‰HŠH‹HŒH�HŽH�H�H‘H’H“H”H•H–H—H˜H™HšH›HœH�HžHŸH H¡H¢H£H¤H¥H¦H§H¨H©HªI«I¬I­I®I¯I°I±I±I²I³I´IµI¶I·I¸I¹IºI»I¼I½I¾I¿IÀIÁIÁIÂIÃIÄIÅIÆIÇIÈIÉIÊIËIÌIÍIÎIÏIÐIÑIÒIÓIÔIÕIÖI×IØIÙIÚIÛIÜIÝIÞIßIßIàIáIâIãIãIäIåIæIçIèIéIêIëIìIíIîIïIïIðIñIòIóIôIõIöI÷IøIøIùIùIúIúIûIüIüIýIýIþIÿI€I�I‚IƒI„I…I†I‡IˆI‰IŠI‹IŒI�IŽI�I�I‘I’I“I”I•I–I—I˜I™IšI›IœIœI�IžIŸI I¡I¢I£I¤I¥I¦I¦I§I¨I©IªI«I¬I¬I­I®I¯I°I±I²I³I³I´IµI¶I·I¸I¹IºI»I¼I½I¾I¿IÀIÁIÂIÃIÄIÄIÅIÆIÇIÈIÉIÊIËIÌIÍIÎIÏIÐIÑIÒIÓIÔIÕIÖI×IØIÙIÚIÛIÜIÝIÞIßIàIàIáIâIãIäIåIæIçIèIéIêIêIëIìIíIîIïIðIñIòIóIôIõIöI÷IøIùIúIûIüIýIþIÿI€I�I‚IƒI„I„I…I†I‡IˆIˆI‰I‰IŠI‹IŒI�IŽIŽI�I�I‘I’I“I”I•I–I—I˜I™IšI›IœI�IžIŸI I¡I¢I£I¤I¥I¦I§I¨I©IªI«I¬I­I®I¯I°I°I±I²I³I´IµI¶I·I¸I¹I¹IºI»I¼I½I¾I¿IÀIÁIÂIÃIÄIÅIÆIÇIÈIÉIÊIËIÌIÍIÎIÏIÐIÑIÒIÓIÔIÕIÖI×IØIÙIÚIÛIÜIÝIÞIßIàIáIâIãIäIåIæIçIèIéIêIëIìIíIîIïIðIñIòIóIôIõIöI÷IøIùIúIûIüIýIþIÿI€I�I‚IƒI„I…I†I‡IˆI‰IŠI‹IŒI�IŽI�I�I‘I’I“I”I•I–I—I˜I™IšI›IœI�IžIŸI I¡I¢I£I¤I¥I¦I§I¨I©IªI«I¬I­I®I¯I°I±I²I³I´IµI¶I·I¸I¹IºI»I¼I½I¾I¿IÀIÁIÂIÃIÄIÅIÆIÇIÈIÉIÊIËIÌIÍIÎIÏIÐIÑIÒIÓIÔIÕIÖI×IØIÙIÚIÛIÜIÝIÞIßIàIáIâIãIäIåIæIçIèIéIêIëIìIíIîIïIðIñIòIóIôIõIöI÷IøIùIúIûIüIýIþIÿI€I�I‚IƒI„I…I†I‡IˆI‰IŠI‹IŒI�IŽI�I�I‘I’I“I”I•I–I—I˜I™IšI›IœI�IžIŸI I¡I¢I£I¤I¥I¦I§I¨I©IªI«I¬I­I®I¯I°I±I²I³I´IµI¶I·I¸I¹IºI»I¼I½I¾I¿IÀIÁIÂIÃIÄIÅIÆIÇIÈIÉIÊIËIÌIÍIÎIÏIÐIÑIÒIÓIÔIÕIÖI×IØIÙIÚIÛIÜIÝIÞIßIàIáIâIãIäIåIæIçIèIéIêIëIìIíIîIïIðIñIòIóIôIõIöI÷IøIùIúIûIüIýIþIÿI€I�I‚IƒI„I…I†I‡IˆI‰IŠI‹IŒI�IŽI�I�I‘I’I“I”I•I–I—I˜I™IšI›IœI�IžIŸI I¡I¢I£I¤I¥I¦I§I¨I©IªI«I¬I­I®I¯I°I±I²I³I´IµI¶I·I¸I¹IºI»I¼I½I¾I¿IÀIÁIÂIÃIÄIÅIÆIÇIÈIÉIÊIËIÌIÍIÎIÏIÐIÑIÒIÓIÔIÕIÖI×IØIÙIÚIÛIÜIÝIÞIßIàIáIâIãIäIåIæIçIèIéIêIëIìIíIîIïIðIñIòIóIôIõIöI÷IøIùIúIûIüIýIþIÿI€I�I‚IƒI„I…I†I‡IˆI‰IŠI‹IŒI�IŽI�I�I‘I’I“I”I•I–I—I˜I™IšI›IœI�IžIŸI I¡I¢I£I¤I¥I¦I§I¨I©IªI«I¬I­I®I¯I°I±I²I³I´IµI¶I·I¸I¹IºI»I¼I½I¾I¿IÀIÁIÂIÃIÄIÅIÆIÇIÈIÉIÊIËIÌIÍIÎIÏIÐIÑIÒIÓIÔIÕIÖI×IØIÙIÚIÛIÜIÝIÞIßIàIáIâIãIäIåIæIçIèIéIêIëIìIíIîIïIðIñIòIóIôIõIöI÷IøIùIúIûIüIýIþIÿI€I�I‚IƒI„I…I†I‡IˆI‰IŠI‹IŒI�IŽI�I�I‘I’I“I”I•I–I—I˜I™IšI›IœI�IžIŸI I¡I¢I£I¤I¥I¦I§I¨I©IªI«I¬I­I®I¯I°I±I²I³I´IµI¶I·I¸I¹IºI»I¼I½I¾I¿IÀIÁIÂIÃIÄIÅIÆIÇIÈIÉIÊIËIÌIÍIÎIÏIÐIÑIÒIÓIÔIÕIÖI×IØIÙIÚIÛIÜIÝIÞIßIàIáIâIãIäIåIæIçIèIéIêIëIìIíIîIïIðIñIòIóIôIõIöI÷IøIùIúIûIüIýIþIÿI€I�I‚IƒI„I…I†I‡IˆI‰IŠI‹IŒI�IŽI�I�I‘I’I“I”I•I–I—I˜I™IšI›IœI�IžIŸI I¡I¢I£I¤I¥I¦J§J¨J©JªJ«J¬J­J®J¯J°J±J²J³J´JµJ¶J¶J·J¸J¹JºJ»J¼J½J¾J¿JÀJÁJÂJÃJÄJÅJÆJÇJÈJÉJÊJËJÌJÍJÎJÏJÐJÑJÒJÓJÔJÕJÖJ×KÎ KØKÙKÚKÛKÜKÝKÞKßKÈ KÊ KÐ KÏ KÌ KÍ KÉ KàKáKâKãLäLåLæLçL¢L¢LèLéLêLëLìLíLíLîLïL˜L˜LðLðLñLòLòLóLóLáLôLõLöL÷LšL�LßLøLùLèL˜L™LúLûLêLüLýL€LþLÿL€L�L‚LƒL„L…L†L‡LˆL‰LŠL‹LŒL�LŽL�L�L‘L’L“L§L”L•L–L—L˜L™LšL›LœL�LžLŸMÇM M¡M¢M£M¤M¥M¦M§M¨M©MªM«M¬M­M®M¯M¯M°M±M±M²M³M´MµM¶M·M¸M¹MºM»M¼M½M¾M¿MÀMÀMÁMÂMÃMÄMÅMÆMÇMÈMÉMáMçMÊMËMÌMÍMÎMÏMÐMÑMÌMÒMÓMûMÔMâM€MÕMòMÖM×MØMÙMÚMÛMÜMÝMÞMßMßMàMáMâMãMäMåMåMæMçMèM¼MéMêMëMìMíMîMïMðMñMòMóMôMõMöM÷MøMùMúMûMüMýMþMÿM€M�M‚MƒM„M„M…M†M‡MˆM‰MŠM‹MŒM�MŽM�M�M‘M’M“M”M•M–M—M˜M™MšM›MœM�MžMŸM M¡M¢M£M¤M¥M¦M§M¨M©MªM«M¬M­M®M¯M°M±M²M³M´MµM¶M·M¸N–N¹N¹NºN»N¼N½N¾N¿NÀNÁNÂNÃNÄNÅNÆNÇNÈNÉNÊNËNÌNÍNÎNÏNÐNÑNÒNÓNÔNÕNÖN×NØNÙNÚNÛNÜNÝNÞNßNàNáNâNãNäNåNæNçNèNéNêNëNìNíNîNïNðNñNòNóNôNõNöN÷NøNùNúNûNüNýNþNÿN€N�N‚NƒN„O…O†O‡OˆO‰OŠO…O‹OŒO�OŽO�O�O‘O’O“O”O•O–O—O˜O™OšO›OœO�OžOŸO O¡O¢O£O¤O¥O¦O§O¨O©OªO«O¬O­O®O¯O°P±P²P³P³P´PµP¶P·P¸P˜P¹PºP»P¼P½P¾P¿PÀPÁPÂPÃPÄPÅPÆPÇPÈQÉQÉQÊQËQÌQÍQÎQÏQÐQÑQÒQÓQÔQÕQÖQ×QØQÙQÚQÛQÜQÝQÞQßQàQáQâQãRäRåRæRçRèRéRêRëRìRíRîRïRðRñRòRóRôRôRõRöRÿRÙRÿR÷RøRçRùRÖRÖRúRûRüRýRþRÿR€R�R‚RƒR„R…R†R‡RˆR‰RŠR‹RŒR�RŽR�R�R‘R’R“R”R•R–R—R˜R™RšR›RœR�RžRŸR R¡R¢R£R¤R¥R¦R§R¨R©RªR«R¬R­R®R¯R°R±R²R³R´RµR¶R²R·R¸R¹RºR»R¼R½R¾R¿RÀRÁRÂRÃRÄRÅRÆRÇRÈR±RÉRÊRËRÌRÍRÎRÏRÐRÑRÒRÓRÔRÕSó SÖS×SØSÙSÚSÙSÛSÜSÝSÞSßSàSáSâSãTäTåTæTçTèTéTêTëTìTíTîTïTðTñTòTóTôTõTöT÷TøTùTúTûTüTýTþTÿT€T�T‚TƒT„T…T†T‡TˆT‰TŠT‹TŒT�TŽT�T�T‘T’T“T”T•T–T—T˜T™TšT›TœT�TžTŸT T¡T¢T£T¤T¥T¦T§T¨T©TªT«T¬T­T®T¯T°T±T²T³T´TµT¶T·T¸T¹TºT»T¼T½T¾T¿TÀTÁTÂTÃTÄTÅTÆTÇTÈTÉTÊTËTÌTÍTÎTÏTÐTÑTÒTÓTÔTÕTÖT×TØTÙTÚTÛTÜTÝTÞTßTàTáTâTãTäTåTæTçTèTéTêTëTìTíTîTïTðTñTòTóTôTõTöT÷TøTùTúTûTüTýTþTÿT€T�T‚TƒT„T…T†T‡TˆT‰TŠT‹TŒT�TŽT�T�T‘T’T“T”T•T–T—T˜T™TšT›TœT�TžTŸT T¡T¢T£T¤T¥T¦T§T¨T©TªT«T¬T­U®U¯U°U±U²Uÿ U³Uÿ U´UµU¶UÛU·U¸U¹U¹UºU»UÿUÿU¼U½UÖUÖUþU¾U¿UÀUÁUÂUÃUÄUÅUÆUÇUÈUÉUÊUËUÌUÍUÎUÏUÐUÑUÒUÓUÔUÕUÖU×UØU�UÙUÚU˜UÛUˆUÜUÝUÞUßUàU�U–U—UáUâU°U±U²U³U´UÀUãUäUµUÅUåU¶U²UæUçUèUéUêUëU¸UìU¹UºU»U¼U¿UíUîU½UïUÉU±UðUñUòUóUôUõUöU÷UøUùUúUûUüUýUþUÿU€ U� U‚ Uƒ U„ UÈU³U´U… UÊU† U‡ UÓUˆ UÕVÜV‰ VŠ V‹ VŒ V� VŽ V� V� V‘ V’ V“ V” V• VµV– V— V˜ WÙW™ Wš W› Wœ W� Wž WŸ W  W¡ W¢ W£ W¤ W¥ W¦ W¦ W§ W¨ W© Wª W« W¬ W­ W® W¯ W° W± W² W³ W´ Wµ W¶ W· W¸ W¹ Wº W» W¼ W½ W¾ W¿ WÀ WÁ W Wà WÄ WÅ WÆ WÇ WÈ WÉ WÊ W± WË WÌ WÍ WÎ WÏ WÐ WÑ WÒ WÓ WÔ WÕ Wš WÖ W× WØ WÙ WÚ WÛ WÜ WÝ WÝ WÞ Wß Wà Wá Wâ Wã Wä Wå Wæ Wç Wè Wé Wê Wë Wì Wí Wî Wï Wð Wñ Wò Wó Wô Wõ Wö W÷ Wø Wù Wú Wû Wü Wý Wþ Wÿ W€!W�!W‚!Wƒ!W„!W…!W†!W‡!Wˆ!W‰!WŠ!W‹!WŒ!W�!WŽ!W�!W�!W‘!W’!W“!W”!W•!W–!W—!W˜!W™!Wš!W›!Wœ!W�!Wž!WŸ!W !W¡!W¢!W£!W¤!W¥!W¦!W§!W¨!W©!Wª!X«!Y¬!Y­!Z®!Z¯!Z°!Z±!Z²!Z³!Z´!Zµ!Z¶!Z·!Z¸!Z¹!ZØZº!Z»!Z¼!Z½!Z¾!Z¿!ZÀ!ZÁ!ZÂ!ZÃ!ZÄ!ZÅ!ZÆ!ZÇ!ZÈ!ZÉ!ZÊ!ZË!ZÌ!ZÍ!ZÎ!ZÏ!ZÐ!ZÑ!ZÒ!ZÓ!ZÔ!ZÕ!ZÖ!Z×!ZØ!ZÙ!ZÚ!ZÛ!ZÜ!ZÝ!ZÞ!Zß!Zà!Zá!Zâ!Zã!Zä!Zå!Zæ!Zç!Zè!Zé!Zê!Zë!Zì!Zí!Zî!Zï!Zð!Zñ!Zò!Zó!Zô!Zõ!Zö!Z÷!Zø!Zù!Zú!Zû!Zü!Zý!Zþ!Zÿ!Z€"Z�"Z‚"Zƒ"Z„"Z…"Z†"Z‡"Zˆ"Z‰"ZŠ"Z‹"ZŒ"Z�"ZŽ"Z�"Z�"Z‘"Z’"Z“"Z”"Z•"Z–"Z—"Z˜"Z™"Zš"Z›"Zœ"Z¢Z£Z�"Zž"ZŸ"Z "[¡"[¢"[£"\¤"]¥"]¦"]§"]¨"]©"]ª"]«"]¬"]­"]®"]¯"]°"]±"]²"]³"]´"]µ"]¶"]·"]¸"]¹"]º"]»"]¼"]½"]¾"]¿"]À"]Á"]Â"]Ã"]Ä"]Å"]Æ"]Ç"]È"]É"]Ê"]Ë"]Ì"]Í"]Î"]Ï"]Ð"]Ñ"]Ò"]Ó"]Ô"]Õ"]Ö"]×"]Ø"]Ù"]Ú"]Û"]Ü"]Ý"]Þ"]ß"]à"]á"]â"]ã"]ä"]å"]æ"]ç"]è"]é"]ê"]ë"]ì"]í"]î"]ï"]ð"]ñ"]ò"]ó"]ô"]õ"]ö"]÷"]ø"]ù"]ú"]û"]ü"]ý"]þ"]ÿ"]€#]�#]‚#]ƒ#]„#]…#]†#]†#]‡#]ˆ#]‰#]Š#]‹#]Œ#]�#]Ž#]�#]�#]‘#]’#]“#]”#]•#]–#]—#]˜#]™#]š#]›#]œ#]�#]ž#]Ÿ#] #]¡#]¢#]£#]¤#^¥#^¦#^§#^¨#^©#^ª#^«#^¬#^­#^­#^®#^¯#^°#^±#^²#^³#^´#^µ#^¶#^·#^¸#^¹#^º#^º#^»#^¼#^½#^¾#^¿#^À#^Á#^Â#^Ã#^Ä#^Å#^Æ#^Ç#^È#^É#^Ê#^Ë#^Ì#^Í#^Î#^Ï#^Ð#^Ñ#^Î ^Ò#^Ó#^Ô#^Õ#^Ö#^È ^×#^Ø#^Ù#^Ú#^Û#^Ü#^Ý#^Þ#^ß#^à#^á#^â#^ã#^ä#^å#^æ#^ç#^è#^é#^ê#^ë#^ì#^í#^î#^ï#^ð#^ñ#^Ú ^Ù ^Û ^ò#^ó#^ô#^õ#^ö#^÷#^ø#^ù#^ú#^û#_ü#_ý#_þ#_ÿ#_€$_�$_‚$_ƒ$_„$_…$_†$_‡$_ˆ$_‰$`Š$`‹$`Œ$`�$`Ž$`�$`�$`‘$`‘$`’$`“$`”$`”$`•$`•$`–$`—$`˜$`™$`š$`š$`›$`œ$`�$`ž$`Ÿ$` $` $`¡$`¢$`£$`¤$`¤$`¥$`¦$`§$`¨$`¨$`©$`ª$`«$`¬$`­$`®$`¯$`°$`±$`²$`³$`´$`µ$`¶$`·$`¸$`¹$`º$`»$`¼$`½$`¾$`¿$`À$`Á$`Â$`Ã$`Ä$`Å$`Æ$`Ç$`È$`É$`Ê$`Ë$`Ì$`Í$`Î$`Ï$`Ð$`Ñ$`Ò$`Ó$`Ô$`Õ$`Ö$a×$aØ$aÙ$aÚ$aÛ$bÜ$bÜ$b�b�bÝ$bÞ$bªbß$bà$bá$bâ$bã$bä$bå$bæ$bç$bè$bé$bê$bë$bì$bí$bî$cï$cï$cð$cñ$cñ$cò$cŸcó$cžcô$cõ$cö$c÷$cácÔcø$cù$cú$cû$cü$cý$cþ$cÿ$c€%c�%däd‚%dƒ%d„%dî d…%d†%d‡%dˆ%d†d‰%dŠ%d‹%dŒ%d�%dédŽ%d–e�%e�%e‹ eŒ eÊeÊe‘%e’%e“%e”%e•%e–%eåe—%e§e«e˜%eªeÈeÍe™%eš%eÀeˆ e“ e” e›%e• e±e°e¯e� eœ%e�%e� ež%eŸ%eêe %e¡%e¢%e£%e¤%e¥%e¦%e§%e¨%e©%eª%e« eª e«%e¬%e­%e®%f¯%f°%f±%f²%f³%f´%fµ%f¶%f·%f¸%f¹%fº%f»%f¼%f½%f¾%f¿%fÀ%fÁ%fÂ%fÃ%fÄ%fÅ%fÅ%fÆ%fÇ%fÈ%fÉ%fÊ%fË%fÌ%fÍ%fÎ%fÏ%fÐ%fÑ%fÒ%fÓ%fÔ%fÕ%fÖ%f×%fØ%fÙ%fÚ%fÛ%fÜ%fÝ%fÞ%fß%fà%fá%fâ%fã%fä%få%fæ%fç%fè%fé%fê%fë%fì%fí%fî%fï%fð%fñ%fò%fó%fô%fõ%gö%gö%g÷%gø%gù%gú%gú%gû%gü%gý%gý%gþ%gÿ%g€&g�&g�&g‚&gƒ&g„&g…&g…&g†&gúg†g‡&gˆ&g‰&gŠ&g‹&gŒ&g�&gŽ&g�&g�&g‘&g’&g“&g”&g•&g–&g—&g gŸgág˜&gž g™&gég� g�gš&g›&gœ&g¾g�&gž&gŸ&g &g¡&g¢&g£&g¤&g¥&g¦&gÁg§&g¨&g©&gª&g«&g¬&g­&g®&g¯&g°&g±&g²&g³&g´&gµ&g¶&g·&g¸&g¹&gº&g»&g¼&g½&g¾&g¿&gÀ&gÁ&gÂ&gÃ&gÄ&gÅ&gÆ&hÇ&iÈ&iÈ&iÉ&iÊ&iË&iÌ&iÍ&iÎ&iÏ&iÐ&iÑ&iÒ&iÓ&iÔ&iÕ&iÖ&i×&iØ&iÙ&iÚ&iÚ&iÛ&iÜ&iÝ&iÞ&iß&ià&i‹iá&iâ&iý%i·iã&i…&iä&iå&iæ&iç&iè&i˜&ié&iê&ië&iì&ií&iî&iï&ið&iñ&iò&ió&iô&iõ&iö&i÷&iø&iù&iú&iû&iü&iý&iþ&iÿ&i€'i�'i‚'iƒ'i„'i…'i†'i‡'iˆ'i‰'iŠ'i‹'iŒ'i�'iŽ'i�'i�'i‘'i’'i“'i”'i•'i–'i—'i˜'i™'iš'i›'iœ'i�'iž'iŸ'i 'i¡'i¢'i£'i¤'i¥'i¦'i§'i¨'i©'iª'i«'i¬'i­'i®'i¯'i°'i±'i²'i³'i´'iµ'i¶'i·'i¸'i¹'iº'j»'j¼'j½'j¾'j¿'jÀ'jÁ'jÂ'jÃ'jÄ'jÅ'jÆ'jÇ'jÈ'jÉ'jÊ'jË'jÌ'jÍ'jÎ'jÎ'jÏ'jÐ'jÑ'jÒ'jÓ'jÔ'jÕ'jÖ'j×'jØ'jÙ'jÚ'jÛ'jÜ'jÝ'jÞ'jß'jà'já'jâ'jã'jä'jå'jæ'jç'jè'jé'jê'jë'kì'kì'kí'kî'kï'kð'k¢kñ'kò'kó'kô'kõ'kö'k÷'kø'kù'kú'kû'kü'ký'kþ'kÿ'k€(k�(k‚(kƒ(k„(k…(k†(k‡(kˆ(k‰(kŠ(k‹(kŒ(k�(kŽ(k“k�(k�(k‘(k’(k“(kõk”(k•(k–(kà k—(k˜(k‹k™(kš(k›(kŠkœ(k�(kž(kŸ(kÞk (k¡(k¢(k£(k¢k¤(k¥(kô'k¨k—(k˜kÝk¦(kŸk§(k¨(k©(kª(k©(k«(k¬(kÎk­(k®(kÇkÑkÕk¯(k¯(k°(k°(k±(k²(k³(k´(kµ(k¶(k·(k¸(k¹(kº(k»(k»(k¼(k½(k¾(k¿(kÀ(kÁ(kÂ(kÃ(kÄ(kÅ(kÆ(kÇ(kÈ(kÉ(kÊ(kË(kúkúkÌ(kÍ(kÎ(kÏ(kÐ(kÑ(kÒ(kÐ kÓ(kÔ(kÕ(kÖ(k×(kØ(kÙ(kÚ(kÛ(kÜ(kÝ(kÞ(kß(kÞ(kà(ká(kâ(kã(kä(kå(kæ(kç(kè(ké(kê(kë(kì(kí(kî(kï(kð(kñ(kò(kó(kô(kõ(kö(k÷(kø(kù(kú(k×käkû(k©kü(kçký(kþ(kÿ(k€)kÊk�)k‚)kƒ)kËk„)k…)kék†)k‡)kˆ)k‰)kŠ)k‹)kŒ)k�)kŽ)k�)k�)k‘)k’)k“)k”)k•)k–)k—)k˜)k˜)k™)kš)k›)kœ)k�)kœ)kž)kŸ)ký(k )k¡)k¢)k£)k¤)k¥)k¦)k§)k¨)k©)kª)k«)k¬)kê k­)k®)k¯)k°)k±)k²)k³)k´)kµ)k¶)k·)k¸)k¹)kº)k»)k¼)k½)k¾)k¿)kÀ)kÁ)kÂ)kÃ)kÄ)kÅ)kÆ)kÇ)kÈ)kÉ)kÊ)kË)kÌ)kÍ)kÎ)kÏ)kÐ)kÑ)kÒ)kÓ)kÔ)kÕ)kÖ)k×)kØ)kÙ)kÚ)kÛ)kÜ)kÝ)kÞ)kß)kà)ká)kâ)kã)kä)kå)kæ)kç)kè)ké)kê)kë)kì)kí)kî)kï)kð)kñ)kò)kó)kô)kõ)kö)k÷)kø)kù)kú)kû)kü)ký)kþ)kÿ)k€*k�*k‚*kƒ*k„*k…*k†*k‡*kˆ*k‰*kŠ*k‹*kŒ*k�*kŽ*k�*k�*k‘*k’*k“*k”*k•*k–*k—*k˜*k™*kš*k›*kœ*k�*kž*kŸ*k *k¡*k¢*k£*k¤*k¥*k¦*k§*k¨*k©*kª*k«*k¬*k­*k®*k¯*k°*k±*k²*k³*k´*kµ*k¶*k·*k¸*k¹*kº*k»*k¼*k½*k¾*k¿*kÀ*kÁ*kÂ*kÃ*kÄ*kÅ*kÆ*kÇ*kÈ*kÉ*lÊ*lÊ*lË*lË*lÌ*lÍ*lÎ*lÏ*lÐ*lÑ*lÒ*lÓ*lÔ*lÕ*lÖ*l×*lØ*lÙ*lÚ*lÛ*lÜ*lÝ*lÞ*lß*là*lá*lâ*lã*lä*lå*læ*lç*lè*lé*lê*lë*lì*lí*lî*lï*lð*lñ*lò*ló*lô*lõ*lö*l÷*lø*lù*lú*lû*lü*lý*lþ*lÿ*l€+l�+lª%l‚+lƒ+l„+l…+l†+l‘l‡+lˆ+l‰+lŠ+l‹+lŒ+l�+lŽ+l�+l�+l‘+l’+l“+l”+l•+l–+l—+l˜+l™+lš+m›+m›+mœ+m�+mž+mŸ+m +m¡+m¢+m£+m¤+m¥+m¥+m¦+m§+m¨+m©+mª+m«+m¬+m­+m®+m¯+m°+m±+m²+m³+m´+mµ+m¶+m·+m¸+m¹+mº+m»+m¼+m½+m¾+m¿+mÀ+mÁ+mÂ+mÃ+mÄ+mÅ+mÆ+nÇ+nÇ+nÈ+nÉ+nÊ+nË+nÌ+nÌ+nÍ+nÎ+nÏ+nÐ+nÑ+nÒ+nÓ+nÔ+nÕ+nÖ+n×+nØ+nÙ+nÚ+nÛ+nÜ+nÝ+nÞ+nß+nà+ná+nâ+nã+nä+nå+næ+nç+nè+né+nê+në+nì+ní+nî+nï+nð+nñ+nò+nó+nô+nõ+nö+n÷+nø+nù+oÐoÇoú+oû+o¢(oü+oý+oþ+oÿ+o€,o�,o‚,oƒ,o„,o…,o†,o…&o‡,oˆ,o‰,oŠ,o‹,oÛoŒ,o�,oÌoŽ,o�,o�,o‘,o’,o“,o”,o•,o“o�(o–,o—,o˜,o™,oš,o›,oœ,o�,ož,oŸ,o ,o¡,o¢,o£,o¤,o¥,o¦,o§,p¨,p©,pª,p«,p¬,p­,p®,p¯,p°,p±,p²,p³,p´,pµ,p¶,p·,p¸,p¹,pº,p»,p¼,p½,p¾,p¿,pÀ,pÁ,pÂ,pÃ,pÄ,pÅ,pÆ,pÇ,pÈ,pÉ,pÊ,pË,pÌ,pÍ,pÎ,pÏ,pÐ,pÑ,pÒ,pÓ,pÔ,pÕ,pÖ,p×,qØ,qÙ,qÚ,qÛ,qÜ,qÝ,qÞ,qÞ,qß,qà,qá,qâ,qã,qä,qå,qæ,qç,qè,qé,qê,që,qì,qí,qî,qï,qð,qÈ qñ,qò,qó,qô,qõ,qö,q× q÷,qø,qù,qú,qû,rü,rý,rþ,rÿ,r€-r�-r‚-rƒ-r„-r…-r†-r‡-rˆ-r‰-rŠ-r‹-rŒ-r�-rŽ-r�-r�-r‘-r’-r“-r”-r•-r–-r—-r˜-r™-rš-r›-rœ-r�-sž-sŸ-sž-s -s¡-s¢-s£-s¤-s¥-s¦-sñ s§-s¨-s©-sª-s«-s¬-s­-s®-t¯-t°-t±-t²-t³-t´-tµ-tµ-t¶-t·-t¸-t¹-tº-t»-t¼-t½-t¾-t¿-tÀ-tÁ-tÂ-tÃ-tÄ-tÅ-t›(tÆ-tÆ-tÇ-tÈ-tÉ-tÊ-tÊ-tË-tÌ-tÍ-tÙtÙtÎ-tÏ-tÐ-tÑ-tÁtÒ-tÓ-tÔ-tÕ-tÖ-t×-tØ-tÙ-tÚ-tÛ-tÜ-tÝ-tÞ-tß-tà-tá-tâ-tã-tä-tå-tæ-tç-tè-té-tê-të-tì-tí-tî-tï-tð-tñ-tò-tó-tô-tõ-tö-t÷-tø-tù-tú-tû-tü-tý-tþ-tÿ-t€.t�.t‚.tƒ.t„.t….t†.t‡.tˆ.t‰.uŠ.u‹.uŒ.u�.uŽ.u�.u�.u‘.u’.u“.u”.u•.u–.u—.u˜.u™.uš.u›.uœ.u�.už.uŸ.u .u¡.u¢.u£.u¤.u¥.u¦.u§.u¨.u©.uª.u«.u¬.u¬.u­.u®.u¯.u°.u±.u².u³.u´.uµ.u¶.u·.u¸.u¹.uº.u».u¼.u½.u½.u¾.u¿.uÀ.uÁ.uÂ.uÃ.uÄ.uÅ.uÆ.uÇ.uÈ.uÉ.uÊ.uË.uÌ.uÍ.uÎ.uÏ.uÐ.uÑ.uÒ.uÓ.vÔ.vÕ.vÖ.vÖ.v×.vØ.vÙ.vÚ.vÚ.vÛ.vÜ.vÝ.vÞ.vß.và.vá.vâ.vã.vã.vä.vå.væ.vç.vè.vé.vê.vë.vì.ví.vî.vï.vð.vñ.vò.vó.vô.võ.vö.v÷.vø.vù.vú.vû.vü.vý.vþ.vÿ.v€/v�/v‚/vƒ/v„/v…/v†/w‡/wˆ/w‰/wŠ/wÔ(w‹/wŒ/w�/wŽ/w�/w�/w‘/w’/w“/w”/w•/w–/w—/w˜/w™/wš/w›/wœ/w�/wž/wŸ/w /w¡/w¢/w£/w¤/w¥/x¦/x§/x¨/x©/xª/x«/x¬/x¬/xžx­/x®/x¯/x°/xáxéxåx±/x²/x³/x´/xµ/x¶/x·/ ¸/ ˆ% ô á õ ž Û ú ¹/ þyº/y»/y¼/y½/y¾/y¿/yÀ/yÁ/yÂ/yÃ/yÄ/yÅ/yÆ/yÇ/yÈ/yÉ/yÊ/yË/yÌ/yÍ/yÎ/yÏ/yÐ/yÑ/yÒ/yÓ/yÔ/yÕ/yÖ/y×/yØ/yÙ/yÚ/yÛ/yÜ/yÝ/yÝ/yÞ/yß/yà/yá/yâ/yã/yä/yå/yæ/yç/yè/yé/yê/yë/yì/y°-y±-y²-yí/yî/yï/yð/yñ/yò/yðyó/yô/yõ/yö/y÷/yø/yù/yú/yû/yû/yü/yý/yþ/yÿ/yÿ/y€0y�0y‚0yƒ0y„0y…0y†0y‡0yˆ0y‰0yŠ0y‹0y‹0yŒ0y�0yŽ0yŽ0y�0y�0y‘0y’0y“0y”0y•0y–0y—0y˜0y™0yš0y›0yœ0y�0yž0yŸ0y 0y¡0y¡0y¢0y£0y¤0y¥0y¦0y§0y¨0y©0yª0y«0y¬0y­0y®0y¯0y°0y±0y²0y³0y´0yµ0y¶0y·0y¸0y¹0yº0y»0y¼0y½0y¾0y¿0yÀ0yÁ0yÂ0yÃ0yÄ0yÅ0yÆ0yÇ0yÈ0yÉ0yÊ0yË0yÌ0yÍ0yÎ0yÏ0yÐ0yÑ0yÒ0yÓ0yÔ0yÕ0yÖ0y×0yØ0yÙ0yÚ0yÛ0yÜ0yÝ0yÞ0yß0yà0yá0yâ0yã0yä0yå0yæ0yç0yè0yé0yê0yë0yì0yí0yî0yï0yð0yñ0yò0yó0yô0yõ0yö0y÷0yø0yù0yú0yû0yü0yý0yþ0yÿ0y€1y�1y‚1yƒ1y„1y…1y†1y‡1yˆ1y‰1yŠ1y‹1yŒ1y�1yŽ1y�1y�1y‘1y’1y“1y”1y•1y–1y—1y˜1y™1yš1y›1yœ1y�1yž1yŸ1y 1y¡1y¢1y£1y¤1y¥1y¦1y§1y¨1y©1yª1y«1y¬1y­1y®1y¯1y°1y±1y²1y³1y´1yµ1y¶1y·1y¸1y¹1yº1y»1y¼1y½1y¾1y¿1yÀ1yÁ1yÂ1yÃ1yÄ1yÅ1yÆ1yÇ1yÈ1yÉ1yÊ1yË1yÌ1yÍ1yÎ1yÏ1yÐ1yÑ1yÒ1yÓ1yÔ1yÕ1yÖ1y×1yØ1yÙ1yÚ1yÛ1yÜ1yÝ1yÞ1yß1yà1yá1yâ1yã1yä1yå1yæ1yç1yè1yé1yê1yë1yì1yí1yî1yï1yð1yñ1yò1yó1yô1yõ1yö1y÷1yø1yù1yú1yû1yü1yý1zþ1zþ1zÿ1z€2z€2z�2z‚2zƒ2z„2z…2z†2z†2z‡2zˆ2z‰2z‰2zŠ2z‹2zŒ2z�2zŽ2zŽ2zì-z�2z�2z‘2z’2z“2z”2z•2z–2z—2z˜2z™2zš2z›2z›2zœ2z�2zž2zŸ2z 2z¡2z¡2z¢2z£2z¤2z¥2z¦2z§2z§2z¨2z©2zª2z«2z¬2z­2z®2z¯2z°2z±2z²2z³2z´2zµ2z¶2z·2z¸2z¹2zº2z»2z¼2z½2z¾2z¿2zÀ2zÁ2zÂ2zÃ2zÄ2zÅ2zÆ2zÇ2zÈ2zÉ2zÊ2zË2zÌ2zÍ2zÎ2zÏ2zÐ2zÑ2zÒ2zÓ2zÔ2zÕ2zÖ2z×2zØ2zÙ2zÚ2zÛ2zÜ2zÝ2zÞ2zß2zà2zá2zâ2zã2zä2zå2zæ2zç2zè2zé2zê2zë2zì2zí2zî2zï2zð2zñ2zò2zó2zô2zõ2zö2z÷2zø2zù2zú2zû2zü2zý2zþ2zÿ2z€3z�3z‚3zƒ3z„3z…3z†3z‡3zˆ3z‰3zŠ3z‹3zŒ3z�3zŽ3z�3z�3z‘3z’3z“3z”3{•3{–3{—3{˜3{™3{™3{š3{š3{›3{œ3{œ3{�3{ž3{ž3{Ÿ3{ 3{ 3{¡3{¢3{£3{¤3{¥3{¥3{¦3{§3{¨3{©3{ª3{«3{¶{¬3{­3{®3{¯3{°3{±3{²3{¥.{³3{´3{µ3{¶3{·3{¸3{¹3{Ì&{º3{Ý{Ü{‘({»3{¢{Þ{ ({à {¼3{Ÿ({½3{˜{Õ!{�{œ{ø{Ø{¾3{Ö{ô'{¿3{¸{À3{Á3{Â3{Ã3{Ä3{Å3{Æ3{Ç3{È3{É3{Ê3{Ë3{Ì3{Í3{Î3{Ï3{Ð3{Ñ3{Ò3{Ó3{Ô3{Õ3{Ö3{×3{Ø3{Ù3{Ú3{Û3{Ü3{Ý3{Þ3{ß3{à3{á3{â3{ã3{ä3{å3{æ3{ç3{è3{é3{ê3{ë3{ì3{í3{î3{ï3{ð3{ñ3{ò3{ó3{ô3{õ3{ö3{÷3{ø3{ù3|ú3|û3|ü3|ý3|þ3|ÿ3|€4|�4|‚4|ƒ4|„4|…4|†4|‡4|ˆ4|‰4|Š4|‹4|Œ4|�4|Ž4}¾}�4}Œ&}�4}�4}ï}‘4}’4}’4}“4}”4}•4}•4}–4}—4}˜4}Ä}™4}š4}›4}œ4}�4}ž4}Ÿ4} 4}õ}¡4}¢4}ö}£4}¤4}¥4}¦4}§4}¨4}©4}ª4}«4}¬4}­4}®4}¯4}°4}±4}²4}³4}´4}µ4}¶4}·4~¸4~¹4~º4~»4~„#~¼4~½4~¾4~¿4~À4~Á4~Â4~Ã4~Ä4~Å4~Æ4~Ç4~È4~É4~Ê4~Ë4~Ì4~Í4~Î4~Ï4~Ð4~Ñ4~Ò4~Ó4~Ô4~Õ4Ö4Ö4×4Ø4Ø4Ù4Ú4Û4Ü4Ý4Þ4Ý4ß4à4á4áéžâ4ã4ä4å4æ4ç4è4é4ê4ë4ì4í4î4ï4ð4ñ4ò4ó4ô4õ4ö4÷4ø4ù4ú4€û4€û4€ü4€ý4€Õ&€þ4€ÿ4€€5€�&€ž€é€á€³&€�5€‚5€ƒ5€„5€…5€†5€‡5€ˆ5€‰5€Š5€‹5�Œ5��5�Ž5��5‚�5‚‘5‚‘5‚’5‚“5‚”5‚•5‚–5‚–5‚—5‚˜5‚™5‚š5‚›5‚œ5‚�5‚ž5‚Ÿ5‚ 5‚¡5‚¢5‚£5‚¤5‚¥5‚¦5‚§5ƒ¨5ƒ©5ƒª5ƒ«5ƒµ ƒ¬5ƒ­5ƒ®5ƒ¯5ƒ°5ƒ±5ƒ²5ƒ³5ƒ´5ƒµ5„¶5„·5…¸5…¹5…º5…·…»5…¼5…½5…¾5…¿5…À5…Á5…Â5…Ã5…Ä5…Å5…Æ5…Ç5…È5…É5…Ñ …Ê5†Ë5†Ì5†Í5†Î5‡Ï5‡Ð5‡Ñ5‡Ò5‡Ó5ˆÔ5ˆÕ5ˆÖ5ˆ×5ˆØ5ˆÙ5ˆÚ5ˆÛ5ˆÜ5ˆÝ5ˆÞ5ˆß5ˆà5‰á5‰â5‰ã5‰ä5‰å5‰æ5‰ç5‰è5‰é5‰ê5‰ë5…ì5…í5ŠÎ Šî5Šî5Šï5Šð5Šñ5ŠÈ Š×#Šò5Šó5Šä5Šå5Šâ5Šã5Šæ5Šá5Šô5Šõ5Šö5Š÷5Šø5Šù5‹ú5‹û5‹ü5‹ú‹ý5‹þ5‹ÿ5‹€6‹�6‹‚6‹ƒ6‹„6‹…6‹†6‹‡6‹ˆ6‹‰6‹Š6‹‹6‹Œ6‹�6‹Ž6Œ�6Œ�6Œ�6Œ‘6ŒŒŒ’6Œ“6Œ”6Œ•6Œ–6Œ—6Œ˜6Œ™6Œš6Œ›6Œœ6Œ�6Œž6ŒŸ6Œ 6Œ¡6Œ¢6Œ£6Œ¤6Œ¥6Œ¦6Œ§6Œ¨6Œ©6Œª6Œ«6Œ¬6Œ­6Œ®6Œ¯6Œ°6Œ±6Œ²6Œ³6Œ´6Œµ6Œ¶6Œ·6Œ¸6Œ¹6Œº6Œ»6Œ¼6Œ½6Œ¾6Œ¿6ŒÀ6ŒÁ6ŒÂ6ŒÃ6ŒÄ6ŒÅ6ŒÆ6ŒÇ6ŒÈ6ŒÉ6ŒÊ6ŒË6ŒÌ6ŒÍ6ŒÎ6ŒÏ6ŒÐ6ŒÑ6ŒÒ6ŒÓ6ŒÔ6�Õ6�Ö6�×6�Ø6�Ø6�Ù6�Ú6�Û6�Ü6�Ý6�Þ6�ß6�à6�á6�â6�ã6�ä6�å6�æ6�ç6�è6�é6�ê6�ë6�ì6�í6�î6�ï6�ð6�ñ6�ò6�ó6�ô6�õ6�ö6�÷6�ø6�ù6�ú6�û6�ü6�Ì�Ü�ý6�þ6�ÿ6�€7��7�±%�‚7�ƒ7�„7�…7�…7�†7�‡7�ˆ7�‰7�Š7�‹7�Œ7�Œ7��7�Ž7�æ(��7��7�ò(�‘7�ó(�’7�“7�”7�•7�–7�—7�˜7�™7�š7�›7�œ7��7�ž7�Ÿ7�Ÿ7� 7�¡7�¢7�Ù�Ù�£7�¤7�¥7�¦7�§7�¨7�©7�ª7�«7�¬7�­7�®7�¯7�’6�Œ�°7�°7�±7�²7�³7�´7�¾�‰,�µ7�¶7�Ì�·7�û�´�¸7�¹7�º7�»7�¼7�½7�¾7�¿7�À7�Á7�Â7�Â7�Ã7�Ï(�Ä7�Å7�Æ7�Ç7�È7�É7�û�Ê7�Ë7�Ì7�Í7�Î7�å�å�Ï7�Ð7�Ñ7�Ò7�Ó7�Ô7�¼�â�Ê�ä�Û�ã�Ë�Ì�‰,�Õ7�’)�Ö7�×7�Ø7�Ù7�Ú7�Û7�Û7�Ü7�Ý7�Þ7�ß7�à7�á7�â7�ã7�Ö �ä7�å7�ä7�æ7�ç7�è7�é7�ê7�ë7�ì7�í7�î7�ï7�ð7�ñ7�ò7�ó7�ô7�õ7�ö7�÷7�ø7�ù7�ú7�û7�ü7�ý7�þ7�ÿ7�€8��8�‚8�ƒ8�„8�…8�†8�‡8�ˆ8�‰8�Š8�‹8�‘�Œ8��8�Ž8��8��8�‘8�’8�“8�”8�•8�–8�—8�˜8�™8�š8�›8�œ8��8�ž8�Ÿ8� 8�¡8�¢8�£8�¤8�¥8�¦8�§8�¨8�©8�ª8�«8�¬8�­8�®8�¯8�°8�±8�²8�³8�´8�µ8�¶8�·8�¸8�¹8�º8�»8�¼8�½8�¾8�¿8�À8�Á8�Â8�Ã8�Ä8�Å8�Æ8�Ç8�È8�É8�Ê8�Ë8�Ì8�Í8�Î8�Ï8�Ð8�Ñ8�Ò8�Ó8�Ô8�Õ8�Ö8�×8�Ø8�Ù8�Ú8�Û8�Ü8�Ý8�Þ8�ß8�à8�á8�â8�ã8�ä8�å8�æ8�ç8�è8�é8�ê8�ë8�ì8�í8�î8�ï8�ð8�ñ8�ò8�ó8�ô8�õ8�ö8�÷8�ø8�ù8�ô-�ú8�û8�ü8�ý8�þ8�ÿ8�€9��9�‚9�ƒ9�„9�…9�†9�‡9�ˆ9�‰9�Š9�‹9�Œ9��9�Ž9��9��9�‘9�’9�“9�”9�•9�–9�—9�˜9�™9�‡.�ˆ.�‰.�š9�›9�œ9��9�ž9�Ÿ9� 9�¡9�¢9�£9�¤9�¥9�¦9�§9�¨9�©9�ª9�«9�¬9�­9�®9�¯9�°9�±9�²9�³9�´9�µ9�¶9�·9�¸9�¹9�º9�»9�¼9�½9�¾9�¿9�À9�Á9�Â9�Ã9�Ä9�Å9�Æ9�Ç9�È9�É9�Ê9�Ë9�Ì9�Í9�Î9�Ï9�Ð9�Ñ9�Ò9�Ó9�Ô9�Õ9�Ö9�×9�Ø9�Ù9�Ú9�Û9�Ü9�Ý9�Þ9�ß9Žà9Žá9Žâ9Žã9Žä9Žå9Žæ9Žç9�è9�é9�ê9�ë9�ì9�í9�î9�ï9�ð9�ñ9�ò9�ó9�ô9�õ9�ö9�÷9�’,�ø9�ù9�ú9�û9�ü9�ý9�þ9�û9�ÿ9�€:��:�‚:�ƒ:�„:�…:�†:�‡:�‡:�ˆ:�‰:�Š:�‹:�Œ:�Š:��:�Ž:��:��:�‘:�’:�‘:�“:�”:�•:�–:�—:�˜:�™:�š:�›:�œ:��:��:�ž:�Ÿ:� :�¡:�¢:�£:�¤:�¥:�¦:�§:�¨:�©:�ª:�«:�¬:�­:�®:�¯:�°:�±:�²:�³:�´:�µ:�¶:�·:�¸:�¹:�º:�»:�¼:�½:�¾:�¿:�À:�Á:�Â:�Ã:�Ä:�Å:�Æ:�Ç:�È:�É:�Ê:�Ë:�Ì:�Í:�Î:�Ï:�Ð:�Ñ:�Ò:�Ó:�Ô:�Õ:�Ö:�×:�Ø:�Ù:�Ú:�Û:�Ü:�Ý:�Þ:�ß:�à:�á:�â:�ã:�ä:�å:�æ:�ç:�è:�é:�ê:�ë:�ì:�í:�î:�ï:�ð:�ñ:�ò:‘ó:‘ó:‘ô:‘œ‘õ:‘ö:‘÷:‘ø:‘ù:‘ú:‘û:‘ü:‘ý:‘þ:‘ÿ:‘€;‘�;‘‚;‘ƒ;‘„;‘…;‘†;‘‡;‘ˆ;‘‰;‘Š;‘‹;‘Œ;‘�;‘Ž;‘�;‘�;‘‘;‘’;‘“;‘”;‘•;‘–;‘—;‘˜;‘™;’š;’›;’œ;’�;’ž;’Ÿ;’Š’ ;’ú’ˆ%’¡;’¢;’£;’¤;’¥;’î ’¦;’§;’¨;’©;’ª;’«;’¬;’­;’ñ’®;’¯;’°;’±;’²;’³;’´;’µ;’¶;’·;’¸;’¹;’º;’»;’¼;’½;’¾;’¿;’À;’Á;“š,“à-“”(“–(“Â;“Ó-“ (“ٓٓÃ;“¥7“ó7“Ä;“æ(“‘7“ò(“�7“ó(“ð(“’7“Ì“Å;“Æ;“Ç;“È;“É;“Ê;“û“¼“â“ã“Û“‘“Ê“Ë;“˓̓䓄#“å“å“Ò7“Ó7“ü5“ú“Ö “Ì;“Í;“ˆ.“—+“²9“Î;“Ï8“‹6”Ï;”×”Ð;”Ñ;”Ò;”Ó;”Ô;”Õ;”Ö;”×;”Ø;”Ù;”Ú;”Û;”Ü;”Ý;”Þ;”ß;”ó”à;”á;”â;”ã;”ä;”å;”æ;”ç;”è;”é;”ê;”ë;”ì;”í;”î;”ï;”ð;”ñ;”ò;”ó;”ô;”õ;”ö;”÷;”ø;”ù;”ú;”û;”ü;”ý;”þ;•ÿ;•€<•„•�<•‚<•ƒ<•„<•…<•†<•‡<•ˆ<•‰<•Š<•‹<•Œ<•�<•Ž<•�<•�<•‘<•’<•“<•”<••<•–<•—<•˜<–™<–š<–ë–›<–¤–ë–œ<–�<–ž<–Ÿ<– <–¡<–¢<–£<–¤<–¤<–«8–¥<–¦<–§<–¨<–©<–ª<–«<–¬<–­<–®<–¯<–°<–±<–²<–³<–´<–µ<–¶<–·<–¸<–¹<–º<–»<–¼<–½<–¾<–¿<–À<–Á<–Â<–Ã<–Ä<–Å<–Æ<–Ç<–È<–É<–Ê<–Ë<–Ì<–Í<–Î<–Ï<–Ð<–Ñ<—Ò<—Ó<—Ô<—Õ<—Ö<—×<—Ø<—Ù<—Ú<—Û<—Ü<—Ý<—Þ<—ß<—à<—á<—â<—ã<—ä<—å<—æ<—ç<˜è<˜é<˜ê<˜ë<˜ì<˜í<˜í<˜î<˜ï<˜ð<˜ñ<˜ò<˜ó<˜ô<˜õ<˜ö<˜÷<˜ø<˜ù<˜ú<˜û<˜ü<˜ý<˜þ<˜ÿ<˜€=™�=™‚=™ƒ=™„=™…=™†=™‡=™ˆ=™í'™‰=™æ(™Š=™®7™�7™�7™‘7™’7™”7™ï(™ñ(™ò(™ð(™ó(™‹=™ô(™õ(™÷(™Œ=™¼(™�=™½(™¾(™¿(™Á(™Â(™Ã(™Å(™Æ(™Ç(™ú™ú™Ž=™�=™�=™�=™‘=™’=™“=™»(™»(™º(™”=™•=™–=™—=™˜=™™=™š=™›=™Ê(™œ=™Ë(™�=™Ù™ž=™Ÿ=™ =™¡=™¢=™Ù™£=™¤=™Ä;™¥=™©7™¦=™¦=™§=™¨=™©=™ª=™ª=™«=™¬=™­=™®=™¯=™°=™Ï(™Ð(™Ó(™Ò(™Ð ™Ý(™Û(™Ü(™Þ(™ß(™Þ(™à(™á(™±=™‘(™Ý™¨(™²=™³=™´=™µ=™¶=™·=™ô'™õ'™ö'™¸=™÷'™ù'™ú'™ý'™€(™û'™�(™‹(™Œ(™�(™Î™Ç™Õ™‘2™Ž(™Ó-™�(™‘(™ (™š(™¹=™ú™¢(™ô'™¡(™à-™“(™”(™º=™»=™¼=™¤(™¥(™½=™¨™¾=™¾=™¿=™À=™Á=™Â=™Ã=™Ä=™Å=™ú(™â™Æ=™ý5™ã™™(™Ÿ(™ä™û(™©™‹)™ç™þ(™Ê™�)™‚)™Ë™•)™ƒ)™é™�)™„)™…)™Ç=™Ž)™�)™‘)™’)™Ö ™È=™È=™É=™Û™Ê=™Ë=™Ì=™¦)™¥)™Í=™Î=™Ï=™­)™Ð=™Ñ=™Ò=™Ó=™Ô=™ê ™Õ=™Ö=™×=™Ø=™Ù=™Ú=™Û=™Ü=™Ý=™ö8™ø8™Þ=™ß=™ù8™à=™á=™â=™Ï)™ã=™ä=™å=™æ=™ç=™è=™é=™ê=™Ë)™ë=™Ô)™Ñ)™Õ)™×)™ì=™í=™î=™ï=™ð=™á)™Þ)™ä)™ã)™ñ=™ò=™ó=™ô=™æ)™õ=™ö=™÷=™ø=™ñ)™ò)™ú)™ù=™ú=™ù)™û=™ü=™ý=™Œ*™Š*™þ=™œ*™ÿ=™€>™�>™‚>™ƒ>™„>™…>™†>™‡>™ˆ>™‰>™Š>™‹>™Œ>™�>™Ž>™�>™�>™‘>™’>™“>™”>™•>™–>™—>™‰*™š+™˜>™›*™Œ+™™>™š>™›>™œ>™�>™ž>™Ÿ>™ >™¡>™¢>™£>™¤>™¥>™¦>™§>™‹*™˜+™¨>™©>™ª>™«>™¬>™­>™®>™¯>™°>™±>™²>™³>™´>™–*™–+™—*™˜*™™*™š*™µ>™¶>™·>™¸>™¹>™�*™ˆ+™Ž*™º>™»>™¼>™½>™¾>™…*™Ž+™†*™¿>™À>™Á>™Â>™Ã>™Ä>™Å>™Æ>™Ç>™È>™É>™š9™›9™œ9™�9™ž9™Ê>™Ÿ9™Ë>™Ì>™Í>™Î>™Ï>™Ð>™Ñ>™Ò>™Ó>™Ô>šÕ>šÖ>š×>šü,šØ>šþ,šÿ,šý,šÙ>šÚ>šÛ>šÜ>šÝ>šÞ>šß>šß>šì'šà>šá>š³)šâ>šã>š´)šä>šå>šæ>šç>šè>šé>šê>š“-šë>š…-šì>š„-ší>šî>šï>šð>šñ>š›-šò>šó>šŽ-š‰-šô>š�-š˜-š™-š”-š–-š•-š€-šõ>š�-šö>š÷>šø>šŠ-šù>šú>šû>šü>šý>šþ>šÿ>š€?š�?š‚?šƒ?š„?š…?š†?š‡?šˆ?›‰?›Š?›‹?œŒ?œ�?œŽ?œ¬,œ­,œ�?œ®,œüœ�?œ‘?œ’?œÖ;œ×;œ“?œ”?œ•?œ–?œ—?œ„7œ˜?œ™?œš?œ›?œœ?œ�?œž?œŸ?œµ,œ ?œ¡?œ¶,œ·,œ¢?œ¸,œ£?œ¤?œ¥?œ¦?œ§?œ¨?œ©?œª?œ«?œ¬?œ­?œ®?œ¯?œ°?œ±?œ²?œ³?œ´?œµ?œ¶?�ú�·?�¸?�»3�¹?�º?�»?�¼?�½?�¾?�¿?�À?�Á?�Â?�Ã?�Ä?�Å?�Æ?�Ç?�È?�ê�• �É?�Ê?žË?žÌ?žÍ?žÎ?žÏ?žÐ?žÑ?žÒ?žÓ?ŸÔ?ŸÕ?ŸÖ?Ÿ×?ŸØ?ŸÙ?ŸÚ?ŸÛ?ŸÜ?ŸÝ?ŸÞ?Ÿß?Ÿà?Ÿá?Ÿâ?Ÿã?Ÿä?Ÿå?Ÿæ?Ÿç?Ÿè?Ÿé?Ÿê?Ÿë?Ÿì?Ÿí?Ÿî?Ÿï?Ÿð?Ÿñ?Ÿò?Ÿó?Ÿô?Ÿõ?Ÿö?Ÿ÷?Ÿø? ù? ú? û? ü? ý? þ? ÿ? €@ �@ ‚@ ƒ@ „@ …@ †@ ‡@ˆ@‰@¡þ ¡Š@¡‹@¡ï ¡Œ@¡Œ@¡�@¡Ž@¡�@¡�@¡…&¡…&¡‘@¡’@¡“@¡”@¡†&¡•@¡ö ¡–@¡—@¡¡0¡‡¡‰¡˜@¡�¡™@¡š@¡Õ&¡�¡ƒ¡à&¡›@¡œ@¡�@¡�4¡ž@¡Ÿ@¡ @¡¡@¡¢@¡£@¡¤@¡¥@¡¦@¡ô&¡§@¡¨@¡©@¡�¡ª@¡«@¡¬@¡­@¡ž'¡Ÿ'¡«'¡®@¡¯@¡°@¡¶'¡·'¡Ê¡Ë¡¹'¡º'¢±@¢²@¢ž¢³@¢´@¢µ@¢¶@¢·@£¸@£¹@£º@£»@£¼@£½@£¾@£¿@£À@£Á@£Â@£Ã@£Ä@£Å@£Æ@£Ç@£È@£É@¤Ê@¤Ë@¤Ì@¥Í@¥Î@¦Ï@¦Ï@¦Ð@¦Ñ@¦Ò@¦Ó@¦Ô@¦Õ@¦Ö@¦×@¦Ø@¦Ù@¦Ú@¦Û@¦Ü@¦Ý@¦Þ@ˆß@ˆà@ˆõ'ˆá@ˆâ@ˆã@ˆä@ˆä@ˆå@ˆæ@ˆç@ˆè@ˆé@ˆê@ˆë@ˆì@ˆí@ˆî@ˆï@ˆð@ˆñ@ˆò@ˆó@ˆô@ˆõ@ˆö@ˆ÷@ˆø@ˆù@ˆú@ˆû@ˆü@ˆý@ˆþ@ˆÿ@ˆ€Aˆ�Aˆ‚AˆƒAˆ„Aˆ…Aˆ†Aˆ‡AˆˆAˆ‰AˆŠAˆ‹AˆŒAˆ�AˆŽAˆ�Aˆ�Aˆ‘Aˆ’Aˆ“Aˆ”Aˆ•Aˆ–Aˆ—Aˆ˜Aˆ™AˆšAˆ›AˆœAˆ©ˆ�AˆžAˆŸAˆ Aˆ¡Aˆ¢Aˆ£Aˆ¤Aˆ¥Aˆ¦Aˆ§Aˆ¨Aˆ©AˆªAˆ«Aˆ¬Aˆ­Aˆ®Aˆ¯Aˆ°Aˆ±Aˆ²Aˆ³Aˆ´AˆµAˆ¶Aˆ·Aˆ¸Aˆ¹Aˆ”ˆºAˆ»Aˆ¼Aˆ½Aˆ¾Aˆ¿AˆÀAˆÁAˆÂAˆÃAˆÄAˆÅAˆÆAˆÇAˆÈAˆÉAˆÊA‰ËA‰ÌA‰ÍASÎASÏASÐASÑASÑASÒASÓASÔASÕASÖAS×ASØASÙASÚASÛASÜASÝASÞASßASßASàASáASáASâASãASäASåASæASçASèASéASêASëASìASíASäASîASïASðASñASòASóASôASõASöAS÷ASøASùASúASûASüASýASþASÿAS€BS�BS‚BSƒBS„BS…BS†BS‡BSˆBS‰BSŠBS‹BSŒBS�BSŽBS�BS�BS‘BS’BS“BS”BS•BS–BS—BS˜BS™BSšBS›BSœBS�BSžBSŸBS BS¡BS¢BS£BS¤BS¥BS¦BS§BS¨BS©BSªBS«BS¬BS­BS®BS¯BS°BS±BS²BS³BS´BSµBS¶BS·BS¸BS¹BSºBS»BS¼BS½BS¾BS¿BSÀBSÁBSÂBSÃBSÄBSÅBSÆBSÇBSÈBSÉBSÊBSËBSÌBSÍBSÎBSÏBSÐBSÑBSÒBSñSÓBSÔBSÕBSÖBS×BSØBSÙBSÚBSÛBSÜBSÝBSÞBSßBSàBSáBSâBSãBSäBSåBSæBSçBSèBSéBSêBSëBSìBSíBSîBSïBSðBSñBSòBSóBSôBSõBSöBS÷BSøBSùBSúBSûBSüBSýBSþBSÿBS€CS�CS‚CSƒCS„CS…CS†CS‡CSˆCSÄBS‰CSŠCS‹CSŒCS�CSŽCS�CS�CS‘CS’CS“CS”CS•CS–CS—CS˜CS™CS™CSšCS›CSœCSœCS�CSžCSŸCSáS CS¡CS¢CS£CS¤CS¥CS¦CS§CS¨CS©CSªCS«CS¬CS­CS®CS¯CS°CS±CS²CS³CS´CSµCS¶CS·CS¸CS¹CSºCS»CS¼CS½CS¾CS¿CSÀCSÁCSÂCSÃCSÄCSÅCSÆCSÇCSÈCSÉCSÊCSËCSÌCSÍCSÎCSÏCSÐCS¨#SÑCSÒCSÓCSÔCSÕCSÖCS×CSØCSÙCSÚCSÛCSÜCSÝCSÞCSßCS¥CSàCSáCSâCSãCSäCSåCSæCSçCSçCSèCSéCSêCSëCSìCSíCSîCSïCSðCSñCSòCSóCSóCSôCSõCSöCS÷CSøCSùCSùCSúCSûCSüCSÝSýCSþCSÿCS€DS�DS‚DSƒDS„DS…DS†DS‡DSˆDS‰DSŠDS‹DSŒDS�DSŽDS�DS�DS‘DS’DS“DS”DS•DS–DS—DS˜DS™DSšDS›DSœDS�DSžDSŸDS DS¡DS¢DS£DS¤DS¥DS¦DS§DS¨DS©DSªDS«DS¬DS­DS®DS¯DS°DS±DS²DS²DS³DS´DSµDSµDS¶DS·DS¸DS¹DSºDS»DS¼DS½DS¾DS¿DSÀDSý4SÁDS”,SÂDSÃDSÄDSÅDSÆDSÇDSÈDSÉDSÊDSËDSÌDSÍDSÎDSÏDSÐDSÑDSÒDSÓDSÔDSÕDSÖDS×DSØDSÙDSÚDSÛDSÜDSÝDSÞDSßDSàDSáDS‹SâDSãDSäDSåDSæDSçDSèDSéDSêDSëDSìDSíDSîDSïDSðDSðDSñDSòDSóDSôDSõDSöDS÷DSøDSùDSúDSûDSüDSýDSþDSÿDS€ES�ES‚ESƒES„ES…ES†ES‡ESˆES‰ESŠES‹ESŒESŒES�ESŽES�ES�ES‘ES’ES’ES“ESÓ-S”ES•ES–ES»3SÜSà SÝS (S—ES˜ES™ESšES›ESœES�ESžESŸES ES¡ES¢ES£ES¤ES¥ES¦ES§ES¨ES©ESªES«ES¬ES­ES®ES¯ES°ES±ES²ES³ES´ESµES¶ES·ES¸ES¹ESºES»ES¼ES½ES¾ES¿ESÀESÁESÂESÃESÄESÅESÆESÇESÈESÉESÊESËESÌESÌESÍESÎESÏESÐESÑESÒESÓESÔESÕESÖES×ES×ESØESÙESÙESÚESÛESÜESÝESÞESßESßESàESáESâESãESãESäESåESæESçESèESèESéESêESëESìESíESîESïESðESñESòESš,S“ESóESôESõESöES÷ESøESùESúESûESüES•2SýESþESÿES€FS�FS‚FSƒFS„FS…FS…FS†FS‡FSˆFS‰FSŠFS‹FSŒFS�FSŽFS�FS�FS‘FS’FS“FS”FS”FS•FS–FS—FS˜FSóS™FSšFS›FSœFS�FSžFSŸFS FS¡FS¢FS£FS¤FS¥FS¦FS§FS¨FS©FSªFS¹=S¹=S«FS¬FS­FS®FS¯FS°FS±FS²FS³FS´FSµFSµFS¶FS·FS¸FS¹FSºFS»FS¼FS½FS¾FS¿FS¾FSÀFSÁFSÂFSÃFSÄFSÄFSÅFSÆFSÇFSÇFSÈFSÉFSÊFSËFSÌFSàSÍFSÎFSÏFS§2S§2SÐFSÑFSÒFSÓFSÔFSÕFSÕFSÖFS×FS×FSØFSÙFSÚFSÛFSÜFSÝFSÞFSÞFSßFSàFSáFSáFSâFSãFSäFS¡(SåFSæFSçFSèFSèFSéFSêFSëFSìFSíFSîFSïFSðFSñFSòFSóFSôFSõFSöFS÷FS÷FSøFSùFSúFSûFSüFSýFSþFSÿFS€GS�GS‚GSƒGS„GS¡(S…GS†GS‡GSˆGS‰GSŠGS‹GSŒGS�GSŽGS�GS�GS‘GS’GS“GSö S”GS•GS–GS—GS˜GS™GSšGS›GSœGS�GSžGSŸGS GS¡GS¢GS£GS¤GS¥GS¦GS§GS¨GS©GS•@SªGS«GS¬GS¬GS­GS®GS¯GS°GS±GS²GS²GS³GS´GSµGS¶GS·GS¸GS¹GSºGS»GS¼GS½GS¾GS¿GSÀGSÁGSÂGSÃGSÄGSÅGSÆGSÇGSÇGSÈGSÉGS›2S›2SÊGSËGSÌGSÍGSÎGSÏGSÐGSÑGSÒGSÓGSÔGSÕGSÖGS×GSØGSØGSÙGSÚGSÛGSÜGSÝGSÞGSßGSàGS�SáGSâGSãGSäGSäGSåGSæGSçGSèGSéGSêGSëGSìGSíGSîGSïGSðGSðGSñGSòGSóGSóGSôGSõGSöGS÷GSøGSùGSúGSûGSüGSýGSþGSÿGS€HS�HS‚HSƒHS„HS…HS†HS‡HSˆHS‰HSŠHS‹HSŒHS�HSŽHS�HS�HS‘HS’HS“HS”HS•HS•HS–HS–HS—HS˜HS™HSšHS›HSœHS�HSžHSŸHS HS¡HS¢HS£HS¤HS¥HS¦HS§HS¨HS©HSªHS«HS¬HS­HS®HS¯HS°HS±HS²HS³HS´HSµHS¶HSÕ#S·HS¸HS¹HSºHS»HS¼HS½HS¾HS¿HSÀHSÁHSÂHSÃHSÄHSÅHSÆHSÇHSÈHSÉHSÊHSËHSÌHSÍHSÎHSÏHSÐHSÑHSÒHSÓHSÔHSÕHSÖHS×HSØHSÙHSÚHSÛHSÜHSÝHSÞHSßHSàHSáHSâHSãHSäHSåHSæHSçHSèHSéHSêHSëHSìHSíHSîHSïHSðHSñHSòHSóHSôHSõHSöHS÷HSøHSùHSúHSûHSüHSýHSþHSÿHS€IS�IS‚ISƒIS„IS…IS†IS‡ISˆIS‰ISŠIS‹ISŒIS�ISŽIS�IS�IS‘IS’IS“IS”IS•IS–IS—IS˜IS™ISšIS›ISœIS�ISžISŸIS IS¡IS¢IS£IS¤IS¥IS¦IS§IS¨IS©ISªIS«IS¬IS­IS®IS¯IS°IS±IS²IS³IS´ISµIS¶IS·IS¸IS¹ISºIS»IS¼IS”2S½IS¾IS¿ISÀISÁISÂISÃISÄISÅISÆISÇISÈISÉISÊISËISÌISÍISÎISÏISÐISÑISÒISÓISÔISÕISÖIS×ISØISÙISÚISÛISÜISÝISÞISßISàISáISâISãISäISåISæISçISèISéISêISëISìISíISîISïISðISñISòISóISôISõISöIS÷ISøISùISúISûISüISýISþISÿIS€JS�JS‚JSƒJS„JS…JS†JS‡JSˆJS‰JSŠJS‹JSŒJS�JSŽJS�JS�JS‘JS’JS“JS”JS•JS–JS—JS˜JS™JSšJS›JSœJS�JSžJSŸJS JS¡JS¢JS£JS¤JS¥JS¦JS§JS¨JS©JSªJS«JS¬JS­JS®JS¯JS°JS±JS²JS³JS´JSµJS¶JS·JS¸JS¹JSºJS»JS¼JS½JS¾JS¿JSÀJSÁJSÂJSÃJSÄJSÅJSÆJSÇJSÈJSÉJSÊJSËJSÌJSÍJSÎJSÏJSÐJSÑJSÒJSÓJSÔJSÕJSÖJS×JSØJSÙJSÚJSÛJSÜJSÝJSÞJSßJSàJSáJSâJS…SãJSäJSåJSæJSçJSèJSéJSêJSëJSìJSíJSîJSïJSðJSñJSòJSóJSôJSõJSöJS÷JS¤SøJSùJSúJSûJSüJSýJSþJSÿJS€KS�KS‚KSƒKS„KS…KS†KS‡KSˆKS‰KSŠKS‹KSŒKS�KSŽKS�KS�KS‘KS’KS“KS”KS•KS–KS—KS˜KS™KSšKS›KSœKS�KSžKSŸKS KS¡KS¢KS£KS¤KS¥KS¦KS§KS¨KS©KSªKS«KS¬KS­KS®KS¯KS°KS±KS²KS³KS´KSµKS¶KS·KS¸KS¹KSºKS»KS¼KS½KS¾KS¿KSÀKSÁKSÂKSÃKSÄKSÅKSÆKS³2SÇKSµ2SÈKSÉKSÊKSËKSÌKSÍKSÎKSÏKSÐKSÑKSÒKSÓKSÔKSÕKSÖKS×KSØKSÙKSÚKSÛKSÜKSÝKSÞKSßKSàKSáKSâKSãKSäKSåKSæKSçKSèKSéKSêKSëKSìKSíKS¼2SîKSïKSðKSñKSòKSóKSôKSõKSöKS÷KSøKSùKSúKSûKSüKSýKSþKSÿKS€LS�LS‚LSƒLS„LS…LS†LS‡LSˆLS‰LSŠLS‹LSŒLS�LSŽLS�LS�LS‘LS’LS“LS”LS•LS–LS—LS˜LS™LSšLS›LSœLS�LSžLSŸLS LS¡LS¢LS£LS¤LS¥LS¦LS§LS¨LS©LSªLS«LS¬LS­LS®LS¯LS°LS±LS²LS³LS´LSµLS¶LS·LS¸LS¹LSºLS»LS¼LS½LS¾LS¿LSÀLSÁLSÂLSÃLSÄLSÅLSÆLSÇLSÈLSÉLSÊLSËLSÌLSÍLSÎLSÏLSÐLSÑLSÒLSÓLSÔLSÕLSÖLS×LSØLSÙLSÚLSÛLSÜLSÝLS†3SÞLSßLSàLSáLSâLSãLSäLSåLSæLSçLSèLSéLSêLSëLSìLSíLSîLSïLSðLSñLSòLSóLSôLSõLSöLS÷LSøLSùLSúLSûLSüLSýLSþLSÿLS€MS�MS‚MSƒMS„MS…MS†MS‡MSˆMS‰MSŠMS”3S‹MSŒMS�MSŽMS�MS�MS‘MS’MS“MS”MS•MS–MS—MS˜MS™MSšMS›MSœMS�MSžMSŸMS MS¡MS¢MS£MS¤MS¥MS¦MS§MS¨MS©MSªMS«MS¬MS­MSÍ;S®MS¯MS°MS±MS²MS³MS´MSµMS¶MS·MS¸MS¹MSºMS»MS¼MS½MS¾MS¿MSÀMSÁMSÂMSÃMSÄMSÅMSÆMSÇMSÈMSÉMSÊMSËMSÌMSÍMSÎMSÏMSÐMSÑMSÒMSÓMSÔMSÕMSÖMS×MSØMSÙMSÚMSÛMSÜMSÝMSÞMSßMSàMSáMSâMSãMSäMSåMSæMSçMSèMSéMSêMSëMSìMSíMSîMSïMSðMSñMSòMSóMSôMSõMSöMS÷MSøMS¸SùMSúMSûMSüMSýMSþMSÿMS€NS�NS‚NSƒNS„NS…NS†NS‡NSˆNS‰NSŠNS‹NSŒNS�NSŽNS�NS�NS‘NS’NS“NS”NS•NS–NS—NS˜NS™NSšNS›NSœNS�NSžNSŸNS NS¡NS¢NS£NS¤NS¥NS¦NS§NS¨NS©NSªNS«NS¬NS­NS®NS¯NS°NS±NS²NS³NS´NSµNS¶NS·NS¸NS¹NSºNS»NS¼NS½NS¾NS¿NSÀNSÁNSÂNSÃNSÄNSÅNSÆNSÇNSÈNSÉNSÊNSËNSÌNSÍNSÎNSÏNSÐNSÑNSÒN§ÓN§ÔN§ÕN§ÖN§×N§ØN§ÙN§ÚN§ÛN§¤ §¨ §ÜN§ÜN§ÝN§ÞN§ßN§àN§áN§âN§ãN§äN§åN§æN§çN§çN§èN§èN§éN§êN§ëN§ìN§íN§îN§ïN§ðN§ñN§òN§óN§ôN§õN§öN§÷N§øN§ùN§úN§ûN§üN§ýN§þN§ÿN§ÿN§€O§�O§Õ&§‚O§ƒO§„O§…O§†O§‡O§ˆO§‰O§ŠO§‹O§ŒO§�O§ŽO§�O§�O§‘O§’O§“O§”O§•O§–O§—O¨˜O¨™O¨šO¨›O¨œO¨�O¨žO©ŸO© O©¡Oª¢Oª£Oª¤Oª¥Oª¦O«§O«¨O¬©O¬ªO­«O®¬O¯­O¯®O°¯O°°O°±O±²O±³O±´O±µO±¶O±·O±¸O±¹O±ºO±»O±¼O±½O±¾O±¿O±ÀO±ÁO±ÂO²ÃO²ÄO²ÅO²ÆO²ÇO²ÈO²ÉO²ÊO²ËO²ÌO²ÍO²ÎO²ÏO²ÐO²ÑO²ÒO²ÓO²ÔO²ÕO²ÖO²×O²ØO²ÙO²ÚO²ÛO³ÜO³ÝO³ÞO³ßO³àO³áO´âO´ãOµäO¶åO¶æOçOèOéOêOëOìOíOîOïOðOñOòOóOôOõOöO÷OøOùOúOûOüOýOþOÿO€P�P‚PƒP„P…P†P‡PˆP‰PŠP‹PŒP�PŽP�P�P‘P’P“P”P•P–P—P˜P™PšP›PœP�P·žP·ŸP· P·¡P·¢P·£P·¤P·¥P·¦P·§P·¨P·©P·ªP·«P¸¬P¸­P¸®P¸¯P¸°P¸±P¸²P¸³P¸´P¹µP¹¶Pº·P»¸P»¸P»¹P»ºP»»P»™ »Œ »®»¬»ª»•»­»� »‘ »’ »” »È¼¼P½½P¾¾P¾¿P¾ÀP¾ÁP¾ÂP¾ÃP¾ÄP¾ÅP¾ÆP¾ÇP¿ÈP¿ÉPÀÊPÀËPÁ‚ÂÌPÂÌPÂÍPÂÎPÂÏPÂÐPÂÑPÂÒPÂÓPÂÔPÂÕPÂÖPÂ×PÂØPÂÙPÂÚPÂÛPÂÜPÂÝPÂÞPÂßPÂàPÂáPÂâPÂãPÂäPÂåPÂæPÂçPÂèPÂéPÂêPÂëPÂìPÂíPÂîPÂïPÂðPÂñPÂòPÂóPÂôPÃõPÄöPÅ÷PÅøPÅùPÅúPÅûPÅüPÅýPÅþPÅÿPÅ€QÅ�QÅ‚QÅ´$ŃQÅ„QÅ…QņQŇQňQʼnQÅŠQÅ‹QÅŒQÅ�QÅŽQÅ�QÅ�QÅ‘QÅ’QÆ“QÇ”QÈ•QÈ–QÈ—QȘQÈ™QÈšQÈ›QÈœQÈ�QÈžQÈŸQÈ QÈ¡QÈ¢QÈ£QȤQÈ¥QÈÅ=ȦQȧQȨQÈ©QȪQÈ«QȬQÈ­QÈ®QȯQȯQȰQȱQȲQȳQÈ´QȵQȶQÈ·QȶȸQȹQȺQÈ»QȼQȽQȾQÈ¿QÈÀQÈÁQÈÂQÈÂQÈÃQÈÄQÈÅQÈÅQÈÆQÈÇQÈÈQÈÉQÈÊQÈËQÈÌQÈÍQÈÎQÈÏQÈÐQÈÑQÈÒQÈÓQÈÔQÈÕQÈÖQÈ×QÈØQÈÙQÈÚQÈÛQÈÜQÈÝQÈÞQÈßQÈàQÈáQÈâQÈãQÈäQÈåQÈæQÈçQÈèQÈéQÈêQÈëQÈìQÈíQÈîQÈïQÈïQÈðQÈñQÈòQÈóQÈòQÈ›<ȶÈôQÈôQÈõQÈöQÈ÷QÈøQÈùQÈúQÈúQÈûQÈüQÈýQÈþQÈÿQÈ€RÈ�RÈ‚RȃRÈ„RÈ…RȆRȇRȈRȉRÈŠRÈ‹RÈŒRÈ�RÈŽRÈ�RÈ�RÈ‘RÈ’RÈ“RÈ”RÈ•RÈ–RÈ—RȘRÈ™RÈšRÈ›RÈœRÈ�RÈžRÈŸRÈ RÈ¡RÈ¢RÈ£RȤRÈ¥RȦRȧRȨR|©R|ªR|«R|û3|¬R|­R|®R|¯R|¯R|°R|±R|²R|³R|´R|µR|¶R|·R|¸R|¹R|ºR|»R|¼R|½R|¾R|¿R|ÀR|ÁR|ÂR|ÃR|ÄR|ÅR|ÆR|ÇR|ÈR|¹R|ÉR|ÊR|ËR|ÌR|ÍR|ÎR|ÏR|ÐR|ÑR|ÒR|ÓR|»3|ÔR|ÕR|ÖRÉ×RÉØRÉÙRÉÚRÉÛRÉÜRÉÝRÉÞRÉßRÉàRÉáRÉâRÉãRÉäRÉåRÉæRÉçRÉèRÉéRÉêRÉëRÉìRÉíRÉîRÉïRÉðRÉñRÉòRÉóRÉôRÉõRÉöRÉ÷RÉøRÉùRÉúRÉûRÉüRÉýRÉþRÉÿRÉ€SÉ�SÉ‚SɃSÉ„SÉ…SɆSɇSɈSɉSÉŠSÉ‹SÉŒSÉ�SÉŽSÉ�SÉ�SÉ‘SÉ’SÉ“SÉ”SÉ•SÉ–SÉ—SɘSÉÄÉÆÉ™SÉšSÉ›SÉœSÉ�SÉžSÉŸSÉ SÊ¡SÊ¢SÊ£SʤSÊ¥SʦSʧSʨSÊ©SʪSÊ«SʬSÊ­SÊ®SʯSʰS˱S˲S˳SË´S˵S˶SË·S˸S̹S̺SÌ»SͼSͧ@ͽS;SÍ¿SÍÀSÍÁSÍÂSÍÃSÍÄSÍÅSÍÆSÍÇSÍÈSÍÉSÍÊSÍËSÍÌSÍÍSÍÎSÍÏSÍÐSÍÑSÍÒSÍÓSÍÔSÍÕSÍÖSÍ×SÍØSÍÙSÍÚSÍÛSÍÜSÍÝSÍÞSÍßSÍàSÍáSÍâSÍãSÍäSÎåSÎæSÎçSÎèSÎéSÎêSÏëSÏìSÏíSÏîSÏïSÏðSÏñSÏòSÏóSÏôSÏõSÏöSÏ÷SÏøSÏùSÏúSÏûSÏüSÏýSÏþSÏÿSÏ€TÏîOÏ�TÏ‚TσTÏ„TÏ…TφTχTψTωTÏŠTÏ‹TÏŒTÏ�TÏŽTÏ�TÏ�TÏ‘TÏ’TÏ“TÏ”TÏ•TÏ–TÏ—TϘTÏ™TÏšTÏ›TÏœTÏ�TÏžTÏŸTÏ TÏ¡TÏ¢TÏ£TϤTÏ¥TϦTϧTϨTÏ©TϪTÏ«TЬTЭTЮTЯTаTбTбTвTгTдTеTжTзTиTйTкTлTмTнTоTпTÐÀTÐÁTÐÂTÑÃTÑÃTÑÄTÑÅTÑÆTÑÇTÑÈTÑÉTÑÊTÑËTÑÌTÑÍTÑÎTÑÏTÑÐTÑÑTÑÒTÑÓTÑÔTÑÕTÑÖTÑ×TÑØTÑÙTÑÚTÑÛTÑÜTÑÝTÑÞTÑßTÑàTÑáTÑâTÑãTÑäTÑåTÑæTÑçTÑèTÑéTÑêTÑëTÑìTÑíTÑîTÑïTÑðTÑñTÑòTÑóTÑôTÑõTÑöTÑ÷TÑøTÑùTÑúTÑûTÑüTÑýTÑþTÑÿTÑ€UÑ�UÑ‚UуUÑ„UÑ…UцUчUшUщUÑŠUÑ‹UÑŒUÑ�UÑŽUÑ�UÑ�UÑ‘UÑ’UÑ“UÑ”UÑ•UÑ–UÑ—UјUÑ™UÑšUÒ›UÒœUÒ�UÒžUÒŸUÒ UÒ¡UÒ¢UÒ£UÓ¤UÓ¤UÓ¥UÓ¦UÓ§UÓ¨UÓ©UÓªUÓ«UÓ¬UÓ­UÓ®UÓ¯UÓ°UÓ±UÓ²UÓ³UÓ´UÓµUÓ¶UÓ·UÓ¸UÓ¹UÓºUÓ»UÓ¼U¯…T¯þS¯½U¯¾U¯¿U¯ÀU¯ÁU¯ÂU¯ÃU¯ÄU¯ÅU¯ÆU¯ÇU¯ÈU¯ÉU¯ÊU¯ËU¯ÌU¯ÍU¯ÎU¯ÏU¯ÐU¯ÑU¯ÒU¯ÓU¯ÔU¯ÕU¯ÖU¯×UÔØUÔÙUÔÚUÔÚUÔÛUÔÜUÔÝUÔÞUÔßUÔàUÔáUÔâUÔãUÔäUÔåUÔæUÔçUÔèUÔéUÔêUÔëUÔìUÔíUÔîUÔïUÔðUÔñUÔòUÔóUÔôUÔõUÔöUÔ÷UÔøUÔùUÔúUÔûUÔüUÔÐ=Ô¬)Ôä>ÔýUÔþUÔÿUÔ€VÔ�VÔ‚VÔƒVÔ„VÔ…VÔ†VÔæÔ‡VÔˆVÔ‰VÔŠVÔ‹VÔŒVÔ�VÔŽVÔ�VÔ�VÔ‘VÔ’VÔ“VÔ”VÔ•VÔÊ>Ô–VÔ—VÔ˜VÔ™VÔšVÔ›VÔœVÔ�VÔžVÔŸVÔ VÔ¡VÔ¢VÔ£VÔ¤VÔ¥VÔ¦VÔ§VÔ¨VÔ©VÔªVÔ«VÔ¬VÔ­VÔ®VÔ¯VÔ°VÔ±VÔ²VÔ³VÔ´VÔµVÔ¶VÔ·VÔ¸VÔ¹VÔºVÔ»VÔ¼VÔ½VÔ¾VÔ¿VÔÀVÔÁVÔÂVÔÃVÔÄVÔÅVÔÆVÔÇVÔÈVÔÉVÔÊVÔËVÔÌVÔÍVÔÎVÔÏVÔÐVÔÑVÔÒVÔÓVÔÔVÔÕVÔÖVÔ×VÔØVÔÙVÔÚVÔÛVÔÜVÔÝVÔÞVÔßVÔàVÔáVÔâVÔãVÔäVÔåVÔæVÔçVÔèVÔéVÔêVÔëVÔìVÔíVÔîVÔïVÔðVÔñVÔòVÔóVÔôVÔõVÔöVÔ÷VÔøVÔùVÔúVÔûVÔüVÔýVÔþVÔÿVÔ€WÔ�WÔ‚WÔƒWÔ„WÔ…WÔ†WÔ‡WÔˆWÔ‰WÔŠWÔ‹WÔŒWÔ�WÔŽWÔ�WÔ�WÕ‘WÕ’WÕ“WÕ”W³•W³•W³–W³—W³˜W³™W³šW³›W³œW³�W³žW³ŸW³ W³¡W³¢W³£W³¤W³¥W³¦W³§W³¨W³©W³ªW³«W³¬W³­W³®W³å#³¯W³°W³±W³²W³³W³´W³µW³¶W³·W³¸W³¹W³ºW³»W³¼W³½W³¾W³¿W³ÀW³ÁW³ÂW³ÃW³ÄW³ÅW³ÆW³ÇW³ÈW³ÉW³ÊW³ËW³ÌW³ÍW³ÎW³ÏW³ÐW³ÑW³ÒW³ÓW³ÔW³ÕW³ÖWÖ×WÖØWÖÙWÖÚW´ÛW´ÛW´ÜW´ÝW´ÞW´ßW´àW´àW´áW´âW´ãW´äW´åW´æW´çW´èW´éW´êW´ëW´ìW´íW´îW´ïW´ðW´ñW´òW´óW´ôW´õW´öW´÷W´øW´ùW´úW´ûW´üW´ýW´þW´ÿW´€X´�X´‚X´ƒX´„X´…X´†X´‡X´ˆX´‰X´ŠX´‹X´ŒX´�X´ŽX´�X´�X´‘X´’X´“X´”X´•X´–X´—X´˜X´™X´šX´›X´œX´�X´žX´ŸX´ X´¡X´¢X´£X´¤X´¥X´¦X´§X´¨X´©X´ªX´«X´¬X´­X´®X´¯X´°X´±X´²X´³X´´X´µX´¶X´·X´¸X´¹X´ºX´»X´¼X´½X´¾X´¿X´ÀX´ÁX´ÂX´ÃX´ÄX´ÅX´ÆX´ÇX´ÈX´ÉX´ÊX´ËX´ÌX´ÍX´ÎX´ÏX´ÐX´ÑX´ÒX´ÓX´ÔX´ÕX´ÖX´×X´ØX´ÙX´ÚX´ÛX´ÜX´ÝX´ÞX´ßX´àX´áX´âX´ãX´äX´åX´æX´çX´èX´éX´êX´ëX´ìX´íX´îX´ïX´ðX´ñX´òX´óX´ôX´õX´öX´÷X´øX´ùX´úX´ûX´üX´ýX´þX´ÿX´€Y´�Y´‚Y´ƒY´„Y´…Y´†Y´‡Y´ˆY´‰Y´ŠY´‹Y´ŒY´�Y´ŽY´�Y´�Y´‘Y´’Y´“Y´”Y´•Y´–Y´—Y´˜Y´™Y´šY´›Y´œY´�Y´žY´ŸY´ Y´¡Y´¢Y´£Y´¤Y´¥Y´¦Y´§Y´¨Y´©Y´ªY´«Y´¬Y´­Y´®Y´¯Y´°Y´±Y´²Y´³Y´´Y´µY´¶Y´·Y´¸Y´¹Y´ºY´»Y´¼Y´½Y´¾Y´¿Y´ÀY´ÁY´ÂY´ÃY´ÄY´ÅY´ÆY´ÇY´ÈY´ÉY´ÊY´ËY´ÌY´ÍY´ÎY´ÏY´ÐY´ÑY´ÒY´ÓY´ÔY´ÕY×ÖY××YØØYØÙYØÚYØÛYØÜYØÝYØÞYØßYØàYØáYØâYØ‹ØãYØãYØäYØåYØæYØçYØèYØéYØêYØëYØìYØíYØîYØïYØðYØñYØòYØóYØôYØõYØöYØ÷YØøYØùYØúYØûYØüYØýYØþYØÿYØ€ZØ�ZØ‚Z؃ZØ„ZØ…Z؆Z؇Z؈Z؉ZØŠZØ‹ZØŒZØ�ZØŽZØ�ZØ�ZØ‘ZØ’ZØ“ZØ”ZØ•ZØ–ZØ—ZؘZØ™ZÙšZÚ›ZÚœZÚ�ZÚžZÚžZÚŸZÚ ZÚ¡ZÚ¡ZÚ¢ZÚ£ZÚ¤ZÚ¥ZÚ¦ZÚ§ZÚ¨ZÚ©ZÚªZÚ«ZÚÄOÚ¬ZÚ­ZÚ®ZÚ¯ZÚ°ZÚ±ZÚ²ZÚ³ZÚ´ZÚµZÚ¶ZÚ·ZÚ¸ZÚ¹ZÚºZÚ»ZÚ¼ZÚ½ZÚ¾ZÚ¿ZÚÀZÚÁZÚÂZÚÃZÚÄZÚÅZÚÆZÚÇZÚÈZÚÉZÚÊZÚËZÚÌZÚÍZÚÎZÚÏZÚÐZÚÑZÚÒZÚÓZÚÔZÚÕZÚÖZÚ×ZÚØZÚÙZÚÚZÚÛZÚÜZÚÝZÚÞZÚßZÚàZÚáZÚâZÚãZÚäZÚåZÚæZÚçZÚèZÛéZÛéZÛêZÛëZÛìZÛíZÛîZÛïZÛðZÛñZÛíRÛòZÛóZÛôZÛõZÛöZÛ÷ZÛøZÛùZÛúZÛûZÛüZÛýZÛþZÛÿZÛ€[Û�[Û‚[Ûƒ[Û„[Û…[Û†[Û‡[Ûˆ[Û‰[ÛŠ[Û‹[ÛŒ[Û�[ÛŽ[Û�[Û�[Û‘[Û’[Û“[Û”[Û•[Û–[Û—[Û˜[Û™[Ûš[Û›[Ûœ[Û�[Ûž[ÛŸ[Û [Û¡[Û¢[Û£[Û¤[Û¥[Û¦[Û§[Û¨[Û©[Ûª[Û«[Û¬[Û­[Û®[Û¯[Û°[Û±[Û²[Û³[Û´[Ûµ[Û¶[Û·[ܸ[ܹ[ܺ[Ü»[ܼ[ݽ[ݾ[Ý¿[ÝÀ[ÝÁ[ÝÂ[ÝÃ[ÝÄ[ÞÅ[ÞÆ[ÞÇ[ÞÈ[ÞÉ[ÞÊ[ÞË[ÞÌ[ÞÍ[ÞÎ[ßÏ[ßÏ[ßÞ(ßÞ(ßÐ[ßœßÑ[ßÑ[ßÒ[ßÒ[ßÓ[ßÓ[ßÔ[ßÕ[ßÖ[ßù:ß×[ߨ[ßÙ[ßÚ[ßÛ[ßÜ[ßÝ[ßÞ[ßß[ßà[ßá[ßâ[ßã[ßä[ßå[ßæ[ßç[ßè[ßé[ßê[ßë[ßì[ßí[ßî[ßï[ßð[ßñ[àò[áó[âô[¸õ[¸ö[¸÷[¸ø[¸ù[¸ú[¸û[¸ü[¸ý[¸þ[¸ÿ[¸€\¸�\¸‚\¸ƒ\¸„\¸…\¸†\¸‡\¸ˆ\¸‰\¸Š\¸‹\¸Œ\¸�\¸Ž\¸�\¸�\¸‘\¸’\¸“\¸”\¸•\¸–\¸—\¸˜\¸�¸™\¸š\¸›\¸œ\¸�\¸ž\¸Ÿ\¸ \¸¡\¸¢\¸£\¸¤\¸¥\¸¦\¸§\¸¨\¸©\¸ª\¸«\¸¬\¸­\¸®\¸¯\¸°\¸±\¸²\¸³\¸´\¸µ\¸¶\¸·\¸¸\¸¹\¸º\¸»\¸¼\¸½\¸¾\¸¿\¸À\¸Á\¸Â\¸Ã\¸Ä\¸Å\¸Æ\¸Ç\¸È\¸É\¸Ê\¸Ë\¸Ì\¸Í\¸Î\¸Ï\¸Ð\¸Ñ\¸Ò\¸Ó\ºÔ\ºÕ\ºÖ\º×\ºØ\ºÙ\ºÚ\ºÛ\ºÜ\ãÝ\ãÞ\°ß\°à\°á\°â\°ã\°ä\°å\°æ\°ç\°è\°é\°ê\°ê\°ë\°ì\°í\°î\°ï\°ð\°ñ\°ò\°ó\°ô\°õ\°î<°ö\°÷\°ø\°ù\°ú\°û\°ü\°ý\°þ\°ÿ\°€]°�]°‚]°ƒ]°„]°…]°†]°‡]°ˆ]°‰]°Š]°‹]°Œ]°�]°Ž]°�]°�]°‘]°’]°“]°”]°•]°–]°—]°˜]°Ä°™]°š]°›]°œ]°�]°ž]°Ÿ]° ]°¡]°¢]°£]°¤]°¥]°¦]°§]°¨]°©]°ª]°«]°¬]°­]°®]°¯]°°]°±]°²]°³]°´]°µ]°¶]°·]°¸]°¹]°º]°»]°¼]°½]°¾]°¿]°À]°Á]°Â]äÃ]äÄ]äÅ]äÆ]äÇ]äÈ]äÉ]äÊ]äË]äÌ]äÍ]äÎ]äÏ]åÐ]åÑ]æÒ]æÓ]çÔ]çÕ]ç«UçÖ]ç×]çØ]çÙ]çÚ]çÛ]çÜ]çÝ]çÞ]çß]çà]çá]çâ]çã]çä]çå]çæ]çç]çè]çé]çê]çë]çì]çí]çî]çï]çð]çñ]çò]çó]çô]çõ]çö]ç÷]çø]çù]çú]çû]çü]çý]çþ]çÿ]ç€^ç�^ç‚^çƒ^ç„^ç…^ç†^ç‡^çˆ^ç‰^çŠ^ç‹^èŒ^è�^èŽ^è�^è�^è‘^è’^è“^è”^è•^è–^è—^è˜^è™^èš^è›^èœ^é�^ê¹ê·êž^ê¸êŸ^ê ^ê¡^ë¢^ë£^ë¤^ë¥^ì¦^ì§^ì¨^ì©^ìª^ì«^í¬^í­^í®^í¯^í°^í±^í²^í³^í´^íµ^í¶^îñWî¹Sî·^î¸^î¹^îº^î»^ï¼^ï½^ð¾^ð¿^ðÀ^ðÁ^ðÂ^ðÃ^ñÄ^ñ‚ñÅ^ñÆ^ñÇ^ñÈ^ñÉ^ñÊ^òË^òÌ^òÍ^òÎ^òÏ^òÐ^òÑ^òÒ^òÓ^òÔ^óÕ^óÖ^óÖ^ó×^óØ^óÙ^óÚ^óÛ^óÜ^óÝ^óÞ^óß^óà^óá^óâ^óã^óä^óå^óæ^óç^óè^óé^óê^óë^óì^óí^óî^óï^óð^óñ^óò^óó^óô^óõ^óö^ó÷^óø^ôù^ôú^ôû^ôü^ôý^ôþ^ôÿ^ô€_ô�_ô‚_ôƒ_ô„_ô…_ô†_ô‡_ôˆ_ô‰_ôŠ_ô‹_ôŒ_ô�_ôŽ_õ�_õçõ�_õ‘_õ’_õ“_õ”_õ•_­–_­—_­˜_­™_­š_­›_­ˆ,­œ_­�_­ž_­Ÿ_­ _­¡_­¢_­£_­¤_­¥_­¦_­§_­¨_­©_­ª_­«_­¬_­­_­®_­¯_­°_­±_­²_­³_­´_­µ_­¶_­·_­¸_­¹_­º_­»_­¼_­½_­¾_­¿_­À_­Á_­Â_­Ã_­Ä_­Å_­Æ_­Ç_­È_­É_­Ê_­Ë_­Ì_­Í_­Î_­Ï_­Ð_­Ñ_­Ò_­Ó_­Ô_­Õ_­Ö_­×_­Ø_­Ù_­Ú_­Û_­Ü_­Ý_­Þ_­ß_­à_­á_­â_­ã_­ä_­å_­æ_­ç_­è_­é_­ê_­ë_­ì_­í_­î_­ï_­ð_­ñ_­ò_­ó_­ô_­õ_­ö_­÷_­ø_­ù_­ú_­û_­ü_­ý_­þ_­ÿ_­€`­�`­‚`­ƒ`­„`­…`­†`­‡`­ˆ`­‰`­Š`­‹`­Œ`­�`­Ž`­�`­�`­‘`­’`­“`­”`­•`­–`­—`­˜`­™`­š`­›`­œ`­�`­ž`­Ÿ`­ `­¡`­¢`­£`­¤`­¥`­¦`­§`­¨`­©`­ª`­«`­¬`­­`­®`­¯`­°`­±`­²`­³`­´`­µ`­¶`­·`­¸`­¹`­º`­»`­¼`­½`­¾`­¿`­À`­Á`­Â`­Ã`­Ä`­Å`­Æ`­Ç`­È`­É`­Ê`­Ë`­Ì`­Í`­Î`­Ï`­Ð`­Ñ`­Ò`­Ó`­Ô`­Õ`­Ö`­×`­Ø`­Ù`­Ú`­Û`­Ü`­Ý`­Þ`­ß`­à`­á`­â`­ã`­ä`­å`­æ`­ç`­è`­é`­ê`­ë`­ì`­í`­î`­ï`­ð`­ñ`Öò`Öò`Öó`Öô`Öõ`Öö`Ö÷`Öø`Öù`Öù`Öú`Öû`Öü`Öý`Öþ`Öÿ`Ö€aÖ�aÖ‚aÖƒaÖ„aÖ…aÖ†aÖ‡aÖˆaÖ‰aÖŠaÖ‹aÖŒaÖ�aÖŽaÖ�aÖ�aÖ‘aÖ’aÖ“aÖ”aÖ•aÖ–aÖ—aÖ˜aÖ™aÖšaÖ›aÖœaÖ�aÖžaÖŸaÖ aÖ¡aÖ¢aÖ£aÖ¤aÖ¥aÖ¦aÖ§aÖ¨aÖ©aÖªaÖ«aÖ¬aÖ­aÖ®aÖ¯aÖ°aÖ±aö²aö³aö´aöµaö¶aö·aö¸aö¹aöºaö»aö¼aö½aö¾aö¿aöÀa÷Áa÷Âa÷Ãa÷Äa÷Åa÷Æa÷ÇaÙÈaÙÉaÙÊaÙËaÙÌaÙÌaÙÍaÙÎaÙÏaÙÐaÙÑaÙÒaÙÓaÙÔaÙÕaÙÖaÙ×aÙØaÙÙaÙÚaÙÛaÙÜaÙÝaÙÞaÙßaÙàaÙáaÙâaÙãaÙäaÙåaÙæaÙçaÙèaÙéaÙêaÙëaÙìaÙíaÙîaÙïaÙðaÙñaø”øòaøóaùôaùõaúöaú÷aúøaúùaúúaúûaúüaúýaúþaúÿaú€bú�bú‚búƒbú„bú…bú†bû‡bûˆbû‰bûŠbû‹bûŒbû�büŽbü�bü�bü‘bý’bý“bý”bý•bý–bý—bý˜bý™býšbý›býœbý�býžbþŸbÿ bÿ¡bÿ¢bÿ£bÿ¤bÿ¥bÿ¦bÿ§bÿ¨bÿ©bÿªbÿ«bÿ¬bÿ­bÿ®bÿ¯bÿ°bÿ±bÀ²bÀ³bÀ±5€´b€µb€¶b€·b€¸b€¹b€ºb€»b€¼b€½b�¾b�¿b‚Àb‚Áb‚Âb‚Ãb‚Äb‚Åb‚Æb‚Çb‚Èb‚Éb‚Êb‚Ëb‚Ìb‚Íb‚Îb‚Ïb‚Ðb‚Ñb‚Òb‚Ób‚Ôb‚Õb‚Öb‚×b‚Øb‚Ùb‚Úb‚Ûb‚Üb‚Ýb‚Þb‚ßb‚àb‚ábƒâbƒâbƒãbƒäbƒåbƒæbƒçbƒèbƒébƒêbƒëbƒìbƒíbƒîbƒïbƒðbƒñbƒòbƒóbƒôbƒõbƒöbƒ÷bƒøbƒùbƒúbƒûbƒübƒýbƒþbƒÿbƒ€cƒ�cƒ‚cƒƒcƒ„cƒ…cƒ†cƒ‡cƒˆcƒ‰cƒŠcƒ‹cƒŒcƒ�cƒŽcƒ�cƒ�cƒ‘cƒ’cƒ“cƒ”cƒ•cƒ–cƒ—cƒ˜cƒ™cƒšcƒ›cƒœcƒ�cƒžcƒŸcƒ cƒ¡cƒ¢cƒ£cƒ¤c»¥c»¦c»§c»§c»Ê»Â»Á»¿»¹[»º[»  »– »— »“ »«»¯»×»°»±»ž »²»³»¡ »Ž »• »¨c»©c»ªc»«c»øK»¬c»­c»®c»¯c»°c»±c»²c»³c»´c»µc»¶c»·c»¸c»¹c»ºc»»c»¼c»½c»¾c»¿c»Àc»Ác»Âc»Ãc»Äc»Åc»Æc»Çc»Èc»Éc»Êc»Ëc»Ìc»Íc»Îc»Ïc»Ðc»Ñc»Òc»Óc»Ôc»Õc»Öc»×c»Øc»Ùc»Úc»Ûc»Üc»Ýc»Þc»ßc»àc»ác»âc»ãc»äc»åc»æc»çc»èc»éc»êc»ëc»ìc»íc»îc»ïc»ðc»ñc»òc»óc»ôc„õc„öc„÷c„øc„ùc…úc†ûc†ûc†üc†ýc†þc†ÿc†€d†�d†‚d†ƒd†„d†…d††d†‡d†ˆd†‰d†Šd†‹d†Œd†�d†Žd†�d†�d†‘d†’d†“d†”d†•d†–d†—d†˜d†™d†šd†›d†œd†�d†žd†Ÿd† d†¡d†¢d†£d†¤d†¥d†¦d†§d†¨d‡©d‡©d‡ªd‡«d‡¬d‡­d‡®d‡¯d‡°d‡±d‡²d‡³d‡´d‡µd‡¶d‡·d‡¸d‡¹d‡ºdˆ»dˆ¼dˆ½dˆ¾dˆ¿dˆÀdˆÁdˆÂdˆÃdˆÄdˆÅdˆÆdˆÇdˆÈdˆÉdˆÊdˆËdˆÌdˆÍdˆÎdˆÏdˆÐdˆÑdˆÒdˆÓdˆÔdˆÕdˆÖdˆ×dˆØdˆÙdˆÚdˆÛdˆÜdˆÝdˆÞdˆßdˆàdˆádˆâdˆãdˆädˆådˆædˆçdˆèdˆédˆêdˆëdˆìdˆídˆîdˆïdˆðdˆñdˆòdˆód®ôd®õd®ƒ)®öd®÷d®ød®ùd®úd®ûd®üd®ýd®þd®ÿd®€e®�e®�e®‚e®¼®¼®ƒe®„e®…e®†e®‡e®ˆe®‰e®Še®‹e®Œe®�e®Že®�e®�e®‘e®’e®“e®”e®•e®–e®—e®˜e®™e®še®›e®œe®�e®že®Ÿe® e®¡e®¢e®£e®¤e®¥e®¦e®§e®¨e®©e®ªe®«e®¬e®­e®®e®¯e®°e®±e®²e®³e®´e®µe®¶e®·e®¸e®¹e®ºe®»e®¼e®½e®¾e®¿e®Àe®Áe®Âe®Ãe®Äe®Åe®Æe®Çe®Èe®Ée®Êe®Ëe®Ìe®Íe®Îe®Ïe®Ðe®Ñe®Òe®Óe®Ôe®Õe®Öe®×e®Øe®Ùe®Úe®Ûe®Üe®Ýe®Þe®ße®àe®áe®âe®ãe®äe®åe®æe®çe®èe®ée®êe®ëe‰ìe‰íe½îe½ïe½ðeãñeãòeãóeãôeãõeãöeã÷eãøeãùeãúeãûeãüeãýeãþeãÿeã€fã�fã‚fãƒfã„fã…fã†fã‡fãˆfã‰fãŠfã‹fãŒfã�fãŽfã�fã�fã‘fã’fã“fã”fã•fã–fã—fã˜fã™fãšfã›fãœfã�fãžfðŸfð fð¡fð¢fð£fð¤fð¥fð¦fð§fð¨fð©fðªfð«fð¬fð­fð®fð¯fð°fð±fð²fð³fð´fðµfð¶fð·fð¸fð¹fðºfð»fð¼fð½fð¾fð¿fðÀfðÁfðÂfðÃfðÄfðÅfðÆfðÇfðÈfðÉfðÊfðËfðÌfðÍfðÎfðÏfðÐfðÑfðÒfðÓfðÔfðÕfðÖfð×fðØfðÙfðÚfðÛfŠÜfŠÜfŠÝfŠÞfŠßfŠàfŠáfŠâfŠãfŠãfŠäfŠåfŠæfŠçfŠèfŠéfŠæŠêfЉ)ŠëfŠ‹)ŠìfŠífŠîfŠîfŠïfŠðfŠñfŠòfŠófŠôfŠõfŠöfŠ÷fŠøfŠùfŠùfŠúfŠûfŠüfŠýfŠþfŠÿfŠ€gŠ�gŠ‚gŠƒgŠ„gŠ…gІgЇgŠˆgЉgŠŠgŠ‹gŠŒgŠ�gŠŽgŠ�gŠ�gŠ‘gŠ’gŠ“gŠ”gŠ•gŠ–gŠ—gŠ˜gŠ™gŠšgŠ›gŠœgŠ�gŠžgŠŸgŠ gŠ¡gŠ¢gŠ£gФgŠ¥gЦgЧgЍgŠ©gŠªgŠ«gЬgŠ­gŠ®gНgаgбgвgгgŠ´gеgжgŠ·gЏgйgŠºgŠ»gñ¼gñ½gñ¾gñ¿gñÀgñÁgñÂgñÃgñÄgñÅgñÆgñÇgñÈgñÉg‹Êg‹Ëg‹Ìg‹Íg‹Îg‹Ïg‹Ðg‹Ñg‹Òg‹Óg‹Ôg‹Õg‹Ög‹×gŒØgŒÙgŒÚgŒÛg�Üg�Ýg�Þg�ßg�àg�ágŽâgŽãgåägåågåægåçgåègåégå“åêgåëgåìgåígåîgåïgåðgåñgåògåóg�ôg�õg�ög�÷g�øg�ùg�úg�ûg�üg�ýg�þg�ÿg�€h��h�‚h�ƒh�„h�…h�†h�‡h�ˆh�‰h�Šh�‹h�Œh��h�Žh��h��h�‘h�’h�“h�”h�•h�–h�—h�˜h�™h�šh�›h�œh��h�žh�Ÿh� h�¡h�¢h�£h�¤h�¥h�¦h�§h�¨h�©h�ªh�«h�¬h�­h�®h�¯h�°h�±h�²h�³h�´h‘�&‘�&‘Õ&‘µh‘¶h‘·h‘¸h‘¹h‘ºh‘ºh‘»h‘¼h‘½h‘¾h‘¿h‘Àh‘Áh‘Âh‘Ãh‘Äh‘Åh‘Æh‘Çh‘Èh‘Éh‘…&‘Êh‘Ëh‘Ìh‘Íh‘Îh‘Ïh‘Ðh‘Ñh‘Òh‘Óh‘Ôh‘Õh‘Öh‘×h‘Øh‘Ùh‘Úh‘Ð:‘Ûh‘Üh‘Ýh‘Þh‘ßh‘àh‘áh‘âh‘ãh‘äh‘åh‘æh‘çh‘èh‘«'‘éh‘êh‘Â&‘Ã&‘Å&‘Ä&‘¶'‘·'‘ëh‘ìh‘íh¹îh¹ïh¹ðh¹ñh¹òh¹òh¹óh¹ôh¹õh¹öh¹÷h¹øh¹ùh¹úh¹ûh¹üh’ýh’þh’ÿh’€i’�i’‚i’ƒi’„i’…i’†i’‡i’ˆi’‰i’Ši¼‹i¼Œi¼�i¼Ži¼�i¼�i¼‘i¼’i¼“i¼”i¼•i¼–i¼—i¼˜i¼™i¼ši“›i“œi“œi“�i“ži“Ÿi“ i“¡i“¡i“¢i“£i“¤i“¥i“¦i“§i“¨i“©i“ªi“«i“¬i“­i“®i“¯i“‚“Å^“Æ^“¿“°i“±i“°5“²i“³i“´i“µi“¶i“·i“¸i“¹i“ºi“»i“¼i“›V“½i“Ég“¾i”¿i”¿i”Ài”Ái”Ái”Âi”Ãi”Äi”Åi”Æi”Çi”Èi”Éi”Êi”Ëi”Ìi”Íi”Îi”Ïi”Ði”Ñi”Òi”Ói”Ôi”Õi”Öi”×i”Øi”Ùi”Úi”Ûi”Üi”Ýi”Þi”ßi”ài”ái”âi”ãi”äi”åi•‚•°5•æi•çi•çi•èi•éi•êi•ëi•¬•ìi•ìi•íi•îi•ïi•ïi•ði•ñi•òi•ói•ôi•õi•öi•÷i•øi•ùi•úi•ûi•üi•ýi•þi•ÿi•€j•�j•‚j•ƒj•„j•…j•†j•‡j•ˆj•‰j•Šj•‹j•Œj•�j•Žj•�j•�j•‘j•’j•“j•”j••j•–j–—j–—j–˜j–™j–™j–šj–›j–œj–�j–žj–Ÿj–Ÿj– j–¡j–¢j–£j–¤j–¥j–¥j–¦j–§j–¨j–©j–ªj–«j–¬j–­j–®j–¯j–°j–±j–²j–³j–´j–µj–¶j–·j–¸j–¹j–ºj–»j–¼j–½j–¾j–¿j–Àj–Áj–Âj–Ãj–Äj–Åj–Æj–Çj–Èj–Éj–Êj–Ëj–Ìj–Íj–Îj–Ïj–Ðj–Ñj–Òj–Ój–Ôj–Õj–Öj–×j–Øj–Ùj–Új–Ûj–Üj–Ýj–Þj–ßj–àj–áj–âj–ãj–äj–åj–æj–çj–èj–éj–êj–ëj–ìj–íj–îj–ïj–ðj–ñj–òj–ój–ôj–õj–öj–÷j–øj–ùj–új–ûj–üj–ýj–þj–ÿj–€k–�k–‚k–ƒk–„k–…k–†k–‡k–ˆk–‰k–Šk–‹k–Œk–�k–Žk¶�k¶�k¶‘k¶’k¶“k¶”k¶•k¶–k¶—k¶˜k¶™k¶šk¶›k¶œk¶�k‰žk‰Ÿk‰ k—¡k—¢k—£k—¤k—�—¥k—¦k—§k—¨k—©k—ªk—«k—¬k—­k—®k—¯k—°k—±k—²k—³k—´k—µk—¶k—·k—¸k—¹k—ºk—»k—¼k—½k—¾k—¿k—Àk—Ák—Âk—Ãk—Äk—Åk—Æk—Çk×Èk×Ék×Êk×Ëk×Ìk×Ík×Îk×Ïk×Ðk×Ñk×Òk×Ók×Ôk×Õk×Ök××k˜Øk˜Ùk˜Úk˜Ûk˜Ük˜Ýk˜Þk˜ßk˜àk˜ák˜âk˜ãk˜äk˜åk˜æk˜çk™èk™ék™êk™ëk™ìkÎíkÎîkÎïkÎðkÎñkÎòkÎókÎôkÎõkÎökÎ÷kÎøkÎùkÎúkÎûkÎükšýkšþkšÿkš€lš�lš‚lšƒlš„lš…lš†lš‡lšˆlš‰lšŠlš‹lšŒlš�lšŽlš�lš�lš‘l›’l›“l›”l›•l›–l›—l›˜l›Ñ[›™l›šl››l›œl›�l›žl›Ÿl› l›¡l›¡l›¢l›£l›¤l›¥l›¦l›§l›¨l›©l›ªl›«l›¬l›­l›®l›¯l›°l›ð›±l›²l›³l›´l›ñQ›µl›¶l›·l›¸l›¹l›ºl›»l›¼l›½l›¾l›¿l›Àl›Ál›Âl›Ãl›Äl›Ål›Æl›Çl›Èl›Él›Êl›Ël›Ìl›Íl›Îl›Ïl›Ðl›Ñl›Òl›Ól›Ôl›Õl›Öl›×l›Øl›Ùl›Úl›Ûl›Ül›Ýl›Þlµßlµàlµáläâläãlääläåläæläçläèläéläêläëläìläíläîläïläðläñläòläóläôläõläölä÷läøläùläúläûläüläýläþläÿlä€mä�mä‚mäƒmäŒä„mä…mä†mä‡mä©=äˆmä‰mäŠmä‹mäŒmä�mäŽmä�mä�mä‘mä’mä“mä”mä•mä–mä—mä˜mä™mäšmä›mäœmä�mäžmœŸmœŸmœ mœ¡mœ¢mœ£mœ¤mœ¥mœ¤kœ¤kœ¦mœ§mœ¨mœ¨mœ©mœªmœ«mœ«mœ¬mœ­mœ®mœ¯mœ°mœ±mœ²mœ³mœ´mœµmœ¶mœ·mœ¸mœ¹mœºmœ»mœ¼mœ½mœ¾mœ¿mœÀmœÁmœÂmœÃmœÄmœÅmœÆmœÇmœÈmœÉmœÊmÿËmÿÌmÿÍmÿÎmÿÏmÿÐmÿÑmÿÒmÿÓmÿÔmÿÕmÿÖmÿ×mÿØmÿÙmÿÚmÿÛmÿÜmÿÝmÿÞmÿßmÿàmÿámÿâmÿãmÿämÿåmÿæmÿçmÿèmÿémÿêmÿëmÿìm�ím�îm�ïm�ðm�ñm�òm�óm�ôm�õm�öm�÷m�øm�ùm�úm�ûm�üm�ým�þm�ÿm�€n��n�‚n�ƒn�„n�…n�†n�‡n�ˆn�‰n�Šn�‹n�Œn��n�Žn��n��n�‘n«’n«’n«“n«”n«•n«–n«—n«˜n«™n«šn«›n«œn¬�n¬žn¬Ÿn¬ n¬¡n¬¢n¬£n¬¤n¬¥n¬¦n¬§n¬¨n¬©n¬ªn¬«n¬¬n¬­n¬®nž¯nž°nž±nž²nŸ³nŸ´nŸµn ¶n ·n ¸n ¹n ºn »n »n ¼n ½n ¾n ¿n Àn Án Ân Ãn Än Ån Æn Çn Èn Én Ên Ën Ìn Ín În Ïn Ðn Ñn Òn Ón Ôn Õn Ön ×n Øn Ùn Ún€´b€Ûn€Ün€Ýn€Þn€ßn€àn¡án¡ân¡ãn¡än¡ån¡æn¡çn¢èn¢én¢ên¢ën¢ìn¢ín¢în¢÷¢‘)¢ïn¢ðn¢ñn¢òn¢ón¢ón¢ôn¢õn¢ön¢÷n¢øn¢ùn¢ún¢ûn¢ün¢ýn¢þn¢ÿn¢€o¢�o¢‚o¢ƒo¢„o¢…o¢†o¢‡o¢ˆo¢‰o¢Šo¢‹o¢Œo¢�o¢Žo¢�o¢�o¢‘o¢’o¢“o¢”o¢•o¢–o¢—o¢˜o¢™o¢šo¢›o¢œo¢�o¢žo¢Ÿo¢ o¢¡o¢¢o¢£o¢¤o¢¥o¢¦o¢§o¢¨o¢©o¢ªo¢«o£¬o£­o£®o¤¯o¤°o¤±o¤²o¤³o¤Å¤´o¤µo¤¶o¤·o¤¸o¤¹o¤ºo¤»o¤¼o¤½o¤¾o¤¿o¤Ào¤Áo¤Âo¤Ão¤Äo¤Åo¤Æo¤Ço¤Èo¤Éo¤Êo¤Ëo¤Ìo¤Ío¤Îo¤Ïo¤Ðo¤Ño¤Òo¥Óo¥Ôo¥Õo¥Öo¥×o¥Øo¥Ùo¥Úo¦Ûo¦Üo¦Ýo¦Äa¦Åa¦Æa¦Ça¦Þo¦ßo¦ào¦áo¦âo¦ão¦äo¦åo¦æo¦ço¦èo¦éo¦êo¦ëo¦ìo¦ío§îo§ïo¨ðo©ñoªòoªóoªôoªõoªöoª÷oªøoªùoªúoªûoªüoªýoªþoÿo€p�pŠ ‚pƒp„p…p†p‡pˆp‰pŠp‹pŒp�pŽp�p«�p«‘p«’p«¿5«°5«“p«”p«•p¬–p¬—p¬Ð:¬˜p¬™p¬šp¬›p¬œp¬�p¬žp¬Ÿp¬ p¬¡p¬¢p¬£p¬¤p¬¥p¬¦p¬§p¬¨p¬©p¬ªp¬«p¬¬p¬­p¬®p¬¯p¬°p¬±p¬²p¬³p¬´p¬µp¬¶p¬·p¬¸p¬¹p¬ºp¬»p¬¼p¬½p¬¾p¬¿p¬Àp¬Áp¬Âp¬Ãp¬Äp¬Åp¬Æpĉ,ÄÇpÄÈpÄÉpÄÊpÄËpÄÌpÄÍpÄÎpÄÏpÄÐpÄÑpÄÒpÄÓpÄÔpÄÕpÄÖpÄ×pÄØpÄÙp­à7­á7­â7­Úp­Ûp­Üp­Üp­Ýp­Þp­ßp­àp­áp­âp­ãp­äp­åp­æp­çp­èp­ép­êp­ëp­ìp­íp­îp­ïp­ðp­Ø9¨ñp¨òp¨óp¨ôp¨õp¨öp¨÷p¨øp¨ùp¨úp¨ûp¨üp¨ýp¨þp¨ÿp¨€q¨�q¨‚q¨ƒq¨„q¨…q¨†q¨‡q¨ˆq¨‰q¨Šq¨‹q¨Œq¨�q¨Žq¨�q¨�q¨‘q¨’q¨“q¨”q¨•q¨–q¨—q¨˜q¨™q¨šq¨›q¨œq¨�q¨žq¨Ÿq¨ q¨¡q¨¢q¨£q¨¤q¨¥q¨¦q¨§q¨¨q®©q®ªq®«q®¬q®­q®®q¯¯q¯¯q¯°q¯±q¯²q¯³q¯´q¯µq¯¶q¯·q¯¸q¯¹q¯ºq¯ð-¯»q¯¼q¯½q¯¾q¯¿q¯Àq¯Áq¯Âq¯Ãq¯ÄqüÅqüÆqÁÇqÁÈqÁÈqÁÉqÁÊqÁËqÁËqÁÌqÁÍqÁÎqÁÏqÁÐqÁÑqÁÒqÁÓqÁÔqÁÕqÁÖqÁ×qÁØqÁÙqÁÚqÁÛqÁÜq°Ýq°Þq°ßq°àq°áqëâqëãqëäqëåqëæqëçqëèqëéqëêqëëqëìqëíqëîqëïqëðqëñqëòqëóqëôqëõqëöqë÷qëøqëùqëúqëûqëüqëýqëþqëÿqë€rë�rë‚rëƒrë„rë…rë†rë‡rëˆrë‰rëŠr©‹r©Œr©�r©Žr©�r©�r©‘r©ò-©’r©“r©”r©•r©–r©—r©˜r©™r©šr©›r©œr©�r©žr©Ÿr© r©¡r©¢r©£r©¤r©¥r©¦r©§r©¨r©©r©ªr©«r©¬r±­r±®r²¯r²°r²±r³²r³³r´´r´µrµ¶rµ·rµ¸rµ¹r¶ºr·»r·¼rƽrƾrÆ¿rÆÀr¸Ár¸Ár¸Âr¸¸¸Ãr¸Är¹ÅrºÆr»Çr»Èr¼Ér¼Êr½Ër½Ìr¾Ír¾Îr¾Îr¾Ïr¾Ðr¾Ñr¾Ñr¾Òr¾Ór¾Ôr¾Õr¾Ör¾Ör¾×r¾Ør¾Ùr¾Úr¾Ûr¾Àb¾Ür¾Âb¾Ýr¾Þr¾ßr¾¯)¾àr¾ár¾âr¾ãr¾áb¾àb¾är¾år¾ær¾çr¾èr¾Ôb¾Õb¾ér¾Üb¾êr¾ër¾ìr¾ír¾îr¾ïr¾ðr¾ñr¾òr¾ór¾ôr¾×b¾õr¾ör¾÷r¾ør¾ùr¾úr¾ûr¾ür¾ýr¾þr¾ÿr¾€s¾�s¾‚s¾ƒs¾„s¾…s¾†s¾‡s¾ˆs¾‰s¾Šs¾‹s¾Œs¾�s¾Žs¾�s¾�s¾‘s¾’s¾“s¾”s¾•s¾–s¿—s¿˜s¿™s¿šs¿›s¿œs¿�s¿žs¿Ÿs¿ s¿¡s¿¢s¿£s¿¤s¿¥s¿¦s¿§s¿¨s¿©s¿ªs¿«s¿¬s¿­s¿®s¿¯s¿°s¿±s¿²s¿³s¿´s¿µs¿¶s¿·s¿¸s¿¹s¿ºs¿»s¿¼s¿½s¿¾s¿¿s¿Às¿Ás¿Âs¿Ãs¿€¿Äs¿Ås¿Æs¿Çs¿Ès¿És¿Ês¿Ës¿Ìs¿Ís¿ÎsÀÏsÁÐsÁÑsÁÒsÁÓsÁÔsÁÕsÁÖsÁ×sÁØsÁÙsÁÚsÂÛs–3ÂÜsÂÝs¨ ¨ ÂÞsÂßsÂàsÂásÂâsÂãsÂäsÂåsÂŒÂæsÂæsÂçsÂèsÂésÂêsÂësÂ�ÂìsÂísÂîsÂïsÂðsÂñsÂòsÂósÂôsÂõsÂösÂ÷sÂøsÂùsÂúsÂûsÂüsÂýsÂþsÂù:Âÿs€tÂ�t‚tƒt„tÂ…t†t‡tˆt‰tŠt‹tÂŒtÂ�tÃŽtÃŽtÃ�tÃ�tÑtÃ’tÓtÔtÕtÖt×tÃרtÙtÚtÚtÛtÜtÃ�tÞtßtàtÖtátâtãtätÃ¥tætçtètétêtëtĬtÄ­tÄ®tįtİtıtIJtijtÄ´tĵtĶtÄ·tĸtŹtŹtźtÅ»tżtŽtžtÅ¿tÅÀtÅÁtÅÂtÅÃtÅÄtů)ÅÅtÅÆtÅÇtÅÈtƹ3ÆÉtÆÊtÆËtÆÌtÆÍtÆÎtÆÏtÆÑÆÐtÆÑtÆÒtÆÓtÆÔtÆÕtÆÖtÆ×tÆ×tÆØtÆÙtÆÚtÆÛtÆÜtÆÝtÆÝtÆÞtÆßtÆàtÆàtÆátÆâtÆãtÆätÆåtÆætÆçtÆètÆétÆêtÆëtÆìtÆítÆîtÆïtÆðtÆñtÆòtÆótÆôtÆõtÆötÆ÷tÆøtÆùtÆútÆûtÆütÆýtÆþtÆÿtÆÿtÆ€uÆ�uÆ‚uƃuÆ„uÆ…uƆuƆuƇuƈuƉuÆŠuÆ‹uÆŒuÆ�uÆŽuÆ�uÆ�uÆ‘uÆ’uÆ“uÆ”uÆ•uÆ–uÆ—uƘuÆ™uÆšuÆ›uÆœuÆ�uÆžuÆŸuÆ uÆ¡uÆ¢uÆ£uƤuÆ¥uƦuƧuƨuÆ©uƪuÆ«uƬuÆ­uÆ®uƯuưuƱuƲuƳuÆ´uƵuƶuÆ·uƸuƹuƺuÆ»uƼuƽuƾuÆ¿uÆÀuÆÁuÆÂuÆÃuÆÄuÆÅuÆÆuÆÇuÇÈuÇÉuÇÊuÇËuÇÌuÇÍuÇÎuÇÏuÇÐuÇÑuÇÒuÇÓuÇÔuÇÕuÇÖuÇ×uÇØuÇÙuÇÚuÇÛuÇÜuÇÝuÇÞuÇßuÈàuÉáuÉâuÉãuÉäuɈÉåuÉæuɴɼÉëÉçuÉ«%É– ÉèuÉéuÉêuÉëuÉìuÉíuÉîuÉïuÉðuÉñuÉòuÉóuÉôuÉ¥%ÊõuÊõuÊöuÊ÷uÊøuÊøuÊùuÊúuÊûuÊüuÊýuÊþuÊÿuÊ€vÊ�vÊ‚v˃vË„vË…vˆvˇv[ˆv[ˆv[­[‰v[‰v[Šv[‹v[Œv[�v[Žv[�v[�v[‘v[’v[“v[”v[•v[¡"[–v[—v[˜v[™v[šv[›v[œvÌ�vÌžvÌŸvÌ vÌ¡vÌ¢vÌ£v̤vÌ¥v̦v̧v̨vÌÔÌ©v̪vÌ«v̬vÌ­vÌ®v̯v̰v̱v̲v̳vÌ´v̵v̶vÌ·v̸v̽s̹v̺vÌ»v̼v̽v̾v̀̿vÌÀvÌÁvÌÂvÌÃvÌÄvÌÅvÌÆvÌÇvÌÈvÍÃtÎÉvÎÊvÎËvÎÌvÏÍvÏÎvÏÏvÏÐvÏÑvÏÒvÏÓvÏÔvÏÕvÏÖvÏ×vÏØvÏÙvÏÚvÏÛvÏÜvÏÝvÏÞvÏßvÏàvÏávÏâvÏãvÏävÏåvÏævÏçvÏèvÏévÏêvÏëvÏìvÏívÏîvÏïvÏðvÏñvÏòvÏóv—ôv™õv›övÓ÷vÓ­mÓøvÓùvÓúvÓûvÓûvÓüvÓývÓþvÓþvÓÿvÓÿvÓ€wÓ�wÓ‚wÓƒwÓ„wÓ…wÓ…wÓ†wÓ‡wÓˆwÓ‰wÓ–Ó–ÓŠwÓ‹wÓŒwÓ�wÓŽwÓ�wÓ�wÓ‘wÓ’wÓ“wÓ”wÓ•wÓ–wÓ—wÓ˜wÓ™wÓšwÓ›wÓœwÓéÓ�wÓžwÓŸwÓ wÓ¡wÓ¢wÓŸ Ó£wÓ¤wÓ¥wÓ¦wÓ§wÓ¨wÓ©wÓªwÓ«wÓ¬wÓ­wÓ®wÓ¯wÓ¼5Ó°wÓ¶5Ó±wÓ²wÓ³wÓ´wÓµwÓ¶wÓ·wÓ¸wÓ¹wÓºwÓ»wÓ¼wÓ½wÓ¾wÓ¿wÓÀwÓÁwÓÄuÓÂwÓÃwÓÄwÓÅwÓÆwÓÇwÔÈwÔÉwÔÉwÔÊwÔËwÔÌwÔÌwÔÍwÔÎwÔÏwÔÐwÔÑwÔÒwÔÓwÔÔwÔÕwÔÖwÔ×wÔØwÔÙwÔÚwÔÛwÔÜwÔÝwÔÞwÔßwÔàwÔáwÔâwÔãwÔäwÔåwÔžwÔæwÔçwÔèwÔéwÔ®wÔêwÔëwÔìwÔíwÔîwÔºÔ¼5Ô±wÔ¹wÔïwÔðwÔñwÔòwÔówÕôwÕõwÕöwÕ÷wÕøwÕùwÕúwÕûwÕüwÕýwÕþwÕÿwÕ€xÕ�xÕ‚xÕƒxÕ„xÕ…xÕ†xÕ‡xÕˆxÕ‰xÕŠxÕ‹xÕŒxÖ�xÖŽxÖ�xÖðZÖðZÖ�xÖ�xÖ‘xÖ’xÖ“xÖ”x•x–x›•x–xÝ—x˜xøœÚÛœ™xšxœ›xœxœŸ�xœÚÝœžxæAœŸx xœ¡x¢xœ£x¤xœ£x¥xœ£x¦xœ£x§xœ£x¨xœ¡x©xœ¡xªxœ¡x«xœ¡x¬x'­x'”%•x–x®xœ÷àœ…Ïœ÷ãœ÷Úœ¯xàœ¯xÞœ¯xßœ÷øœ÷âœ÷áœ÷Ûœ÷Üœ÷ÝœŸ°x•x–x±x•x²x³xœ…霅ê•x²x´xœŸµxœ¶x½•x²x·xœ¶xÌœ™x¸x•x²x¹xœ…œºx»xœ¼x½xœºx¾x£¤ •x–x¿xœêÀxœêÁxœêÂxœêÃxœ…ÒœîÄxÅxÆxÇxœŸxÈxÉxÊxËxÉxÊxÌxÍxÎxÏx—Ðxé•x²xÑx•x²xÒxÓxÔxÕxØÖx« —×xØxœÙxÚxœŸÛx•x²xÜx—ÝxÞxœ™xßxœ™xàxœ™xáx•x²xâxœ™xãxœŸäœŸ�œ™xäxœÚåxœŸæxœŸçxœŸèxœ™xòœŸéx‰êx‰êx‡Ê@‡ëx‡ìx‡íx‡îx‡ïx‡ðx‡ñx¦òxÅxóxôxõxöx÷xõxøxùxÅxúxûxüxýxþxüxýxÿxüxýx€yœ�y‚yœîï—ƒy —ƒyåš„yš…y¬†y¬‡y¯ˆyª‰yªŠy[‹yõxŒy×%œ�yŽy˜�y˜�y˜‘y˜’y˜“y˜”y˜•y˜•y˜–y˜‘y˜—y˜˜y˜™yššyš›yšœyš�yšžyšŸyššyš yš¡yš¢yš£yš¤yš¥yš¦yš§yš¨yš©yªù#Agda-2.6.2.2-DXbLWdCWC6QEApzM0094IfAgda.Utils.List2Agda.Utils.SemigroupAgda.Utils.MonadAgda.Utils.SmallSetAgda.Utils.CallStackAgda.Utils.FunctorAgda.Interaction.JSONAgda.Utils.List1Agda.Interaction.OptionsAgda.Interaction.ExitCodeAgda.Utils.EitherAgda.Utils.AssocListAgda.Utils.TupleAgda.Utils.VarSetAgda.Utils.PrettyAgda.Utils.Maybe.StrictAgda.Termination.CutOffAgda.Termination.SemiringAgda.TypeChecking.Monad.DebugAgda.Utils.AffineHoleAgda.Utils.ApplicativeAgda.Utils.CharAgda.Utils.EnvironmentAgda.Utils.FailAgda.Utils.Function"Agda.TypeChecking.SizedTypes.UtilsAgda.Utils.Haskell.SyntaxAgda.Compiler.MAlonzo.Strict Agda.Utils.IOAgda.Utils.IO.BinaryAgda.Utils.IO.DirectoryAgda.Utils.IO.TempFileAgda.Utils.IO.UTF8Agda.Utils.IORefAgda.Utils.ImpossibleAgda.Utils.EmptyAgda.Utils.BagAgda.Auto.NarrowingSearchAgda.Utils.IntSet.InfiniteAgda.Utils.LensAgda.Utils.IndexedListAgda.Auto.OptionsAgda.Utils.Lens.ExamplesAgda.Utils.MapAgda.Utils.MaybeAgda.Utils.MemoAgda.Utils.MonoidAgda.Utils.NullAgda.Utils.PartialOrdAgda.Utils.POMonoidAgda.Utils.PointerAgda.Utils.SemiRingAgda.Utils.SingletonAgda.Utils.ClusterAgda.Utils.SuffixAgda.Utils.ThreeAgda.Utils.TrieAgda.Utils.ListAgda.Utils.StringAgda.Utils.SizeAgda.Utils.PermutationAgda.Utils.FloatAgda.Utils.TimeAgda.Utils.Parser.MemoisedCPS#Agda.TypeChecking.SizedTypes.SyntaxAgda.Interaction.EmacsCommandAgda.Utils.ListTAgda.Utils.FileNameAgda.Utils.HashAgda.Utils.BenchmarkAgda.Utils.BiMapAgda.Syntax.PositionAgda.Syntax.CommonAgda.Syntax.Fixity+Agda.Syntax.Concrete.Operators.Parser.MonadAgda.Compiler.JS.SyntaxAgda.Auto.SyntaxAgda.Auto.SearchControlAgda.Auto.TypecheckAgda.Syntax.Parser.LiterateAgda.Syntax.Concrete.GlyphAgda.Syntax.Concrete.NameAgda.TypeChecking.Monad.BaseAgda.Syntax.BuiltinAgda.Syntax.Abstract.NameAgda.Syntax.LiteralAgda.Syntax.Treeless$Agda.Compiler.Treeless.GuardsToPrims!Agda.Compiler.Treeless.AsPatternsAgda.Syntax.Parser.TokensAgda.Compiler.BackendAgda.Compiler.Builtin!Agda.Interaction.Options.WarningsAgda.Syntax.Parser.MonadAgda.Interaction.Options.HelpAgda.Interaction.Library.BaseAgda.Interaction.Library.Parse#Agda.Interaction.Highlighting.RangeAgda.Utils.RangeMapAgda.Compiler.JS.SubstitutionAgda.Compiler.JS.PrettyAgda.Auto.CaseSplit,Agda.Utils.Graph.AdjacencyMap.UnidirectionalAgda.Utils.Graph.TopSort+Agda.TypeChecking.SizedTypes.WarshallSolver'Agda.TypeChecking.Positivity.OccurrenceAgda.Syntax.ConcreteAgda.Syntax.Concrete.Pretty$Agda.TypeChecking.Coverage.SplitTreeAgda.Syntax.NotationAgda.BenchmarkingAgda.Syntax.Concrete.Pattern%Agda.Syntax.Concrete.Operators.ParserAgda.Syntax.Concrete.GenericAgda.Syntax.Concrete.Fixity&Agda.Syntax.Concrete.Definitions.Types'Agda.Syntax.Concrete.Definitions.Errors&Agda.Syntax.Concrete.Definitions.MonadAgda.Syntax.Concrete.AttributeAgda.Utils.FavoritesAgda.Syntax.Scope.BaseAgda.Syntax.Info%Agda.Interaction.Highlighting.PreciseAgda.Interaction.ResponseAgda.Termination.SparseMatrixAgda.Termination.OrderAgda.Termination.CallMatrixAgda.Termination.CallGraphAgda.Termination.TerminationAgda.Syntax.Parser.AlexAgda.Syntax.Parser.LookAhead!Agda.Syntax.Parser.StringLiteralsAgda.Syntax.Parser.LexActionsAgda.Syntax.Parser.LayoutAgda.Syntax.Parser.CommentsAgda.Syntax.Parser.LexerAgda.Syntax.Parser.ParserAgda.Syntax.ParserAgda.Syntax.Internal.ElimAgda.Syntax.Internal.BlockersAgda.Syntax.Internal%Agda.TypeChecking.Substitute.DeBruijn!Agda.TypeChecking.Free.PrecomputeAgda.TypeChecking.Free.LazyAgda.TypeChecking.Free"Agda.TypeChecking.Substitute.ClassAgda.Syntax.ReflectedAgda.Syntax.Internal.PatternAgda.Syntax.Internal.Generic Agda.TypeChecking.CompiledClauseAgda.Syntax.Internal.MetaVarsAgda.Syntax.Internal.DefsAgda.Syntax.AbstractAgda.Syntax.Abstract.Views$Agda.Syntax.Abstract.PatternSynonymsAgda.Syntax.Abstract.PatternAgda.Utils.TypeLevelAgda.Utils.TypeLitsAgda.Utils.Update Agda.Syntax.Concrete.DefinitionsAgda.Utils.WarshallAgda.Utils.WithDefaultAgda.Utils.Zipper Agda.VersionAgda.VersionCommitAgda.Interaction.Library Agda.TypeChecking.Serialise.BaseAgda.TypeChecking.Rules.TermAgda.TypeChecking.Rules.Decl#Agda.TypeChecking.Rules.ApplicationAgda.TypeChecking.RewritingAgda.TypeChecking.Reduce.FastAgda.TypeChecking.ReduceAgda.TypeChecking.PrimitiveAgda.TypeChecking.Monad.Options Agda.TypeChecking.Monad.MetaVarsAgda.TypeChecking.Monad.ImportsAgda.TypeChecking.Monad.EnvAgda.TypeChecking.Monad.ContextAgda.TypeChecking.Monad.BuiltinAgda.TypeChecking.LockAgda.TypeChecking.Errors"Agda.TypeChecking.Monad.Statistics!Agda.TypeChecking.Monad.Signature Agda.TypeChecking.ProjectionLikeAgda.TypeChecking.Monad.PureAgda.TypeChecking.Pretty Agda.TypeChecking.Pretty.WarningAgda.TypeChecking.Pretty.CallAgda.TypeChecking.Monad.Caching!Agda.TypeChecking.Monad.Benchmark&Agda.TypeChecking.CompiledClause.Match(Agda.TypeChecking.CompiledClause.CompileAgda.Syntax.Internal.NamesAgda.Interaction.Imports&Agda.Interaction.Highlighting.GenerateAgda.TypeChecking.WarningsAgda.Compiler.Treeless.EraseAgda.TypeChecking.InliningAgda.Interaction.BaseAgda.TypeChecking.Monad.StateAgda.TypeChecking.Monad.TraceAgda.TypeChecking.Monad.MutualAgda.TypeChecking.Monad.Closure#Agda.TypeChecking.Monad.ConstraintsAgda.TypeChecking.ConstraintsAgda.Interaction.Options.LensesAgda.Interaction.FindFile,Agda.TypeChecking.Serialise.Instances.Common2Agda.TypeChecking.Serialise.Instances.Highlighting.Agda.TypeChecking.Serialise.Instances.AbstractAgda.TypeChecking.SubstituteAgda.TypeChecking.Monad.OpenAgda.TypeChecking.TelescopeAgda.TypeChecking.Polarity"Agda.TypeChecking.Monad.SizedTypesAgda.TypeChecking.LevelAgda.Syntax.Scope.Monad*Agda.Syntax.Translation.AbstractToConcreteAgda.Syntax.Abstract.PrettyAgda.Syntax.Concrete.OperatorsAgda.TypeChecking.DropArgsAgda.Compiler.Treeless.SubstAgda.Compiler.Treeless.PrettyAgda.Compiler.Treeless.CompareAgda.Compiler.Treeless.UncaseAgda.TypeChecking.IrrelevanceAgda.TypeChecking.MetaVarsAgda.TypeChecking.Datatypes/Agda.TypeChecking.Serialise.Instances.Compilers.Agda.TypeChecking.Serialise.Instances.Internal,Agda.TypeChecking.Serialise.Instances.Errors%Agda.TypeChecking.Serialise.InstancesAgda.TypeChecking.SerialiseAgda.TypeChecking.Rules.Def+Agda.TypeChecking.Rules.Builtin.Coinduction"Agda.TypeChecking.Rewriting.ClauseAgda.TypeChecking.Reduce.MonadAgda.ImpossibleTestAgda.TypeChecking.Records Agda.TypeChecking.Patterns.Match#Agda.TypeChecking.Patterns.AbstractAgda.TypeChecking.Names"Agda.TypeChecking.MetaVars.MentionAgda.TypeChecking.EtaContract#Agda.TypeChecking.SyntacticEquality#Agda.TypeChecking.Patterns.Internal"Agda.TypeChecking.LevelConstraintsAgda.TypeChecking.Level.SolveAgda.TypeChecking.Free.ReduceAgda.TypeChecking.ForcingAgda.TypeChecking.EmptyAgda.TypeChecking.DisplayFormAgda.TypeChecking.DeadCodeAgda.TypeChecking.ConversionAgda.TypeChecking.CheckInternalAgda.Termination.RecCheck+Agda.Syntax.Translation.ReflectedToAbstract*Agda.Syntax.Translation.InternalToAbstract Agda.TypeChecking.Telescope.PathAgda.TypeChecking.Rules.Display Agda.TypeChecking.Primitive.BaseAgda.TypeChecking.Quote#Agda.TypeChecking.Primitive.Cubical#Agda.TypeChecking.Pretty.Constraint#Agda.TypeChecking.Rules.LHS.ProblemAgda.TypeChecking.Implicit$Agda.TypeChecking.Rules.LHS.Implicit'Agda.TypeChecking.Rules.LHS.ProblemRestAgda.TypeChecking.Functions)Agda.TypeChecking.Rewriting.NonLinPattern Agda.TypeChecking.RecordPatternsAgda.TypeChecking.PositivityAgda.TypeChecking.Sort Agda.TypeChecking.Coverage.Match!Agda.TypeChecking.Conversion.Pure'Agda.TypeChecking.Rewriting.NonLinMatchAgda.Termination.MonadAgda.TypeChecking.SizedTypesAgda.TypeChecking.Injectivity#Agda.TypeChecking.InstanceArguments!Agda.TypeChecking.Rules.LHS.Unify!Agda.TypeChecking.MetaVars.Occurs"Agda.TypeChecking.SizedTypes.Solve&Agda.TypeChecking.Rewriting.Confluence"Agda.TypeChecking.IApplyConfluenceAgda.TypeChecking.GeneralizeAgda.TypeChecking.Rules.Data'Agda.TypeChecking.ReconstructParametersAgda.TypeChecking.UnquoteAgda.TypeChecking.EtaExpandAgda.TypeChecking.AbstractAgda.TypeChecking.WithAgda.Termination.TermCheck Agda.Syntax.Internal.SanityCheckAgda.Syntax.IdiomBracketsAgda.Syntax.DoNotationAgda.Interaction.Monad!Agda.Interaction.Highlighting.Vim*Agda.Interaction.Highlighting.FromAbstractAgda.TypeChecking.Rules.LHSAgda.TypeChecking.Rules.BuiltinAgda.TypeChecking.CoverageAgda.TypeChecking.Rules.Record$Agda.Interaction.Highlighting.Common"Agda.Interaction.Highlighting.JSON#Agda.Interaction.Highlighting.EmacsAgda.Compiler.Treeless.UnusedAgda.Compiler.Treeless.Simplify%Agda.Compiler.Treeless.NormalizeNamesAgda.Compiler.Treeless.Identity/Agda.Compiler.Treeless.EliminateLiteralPatterns(Agda.Compiler.Treeless.EliminateDefaultsAgda.Compiler.Treeless.BuiltinAgda.Compiler.ToTreelessAgda.Compiler.MAlonzo.CoerceAgda.Compiler.CallCompiler*Agda.Syntax.Translation.ConcreteToAbstractAgda.Interaction.BasicOpsAgda.Interaction.SearchAboutAgda.Interaction.MakeCaseAgda.Auto.ConvertAgda.Auto.AutoAgda.Interaction.CommandLineAgda.Compiler.CommonAgda.Compiler.MAlonzo.MiscAgda.Compiler.MAlonzo.PragmasAgda.Compiler.MAlonzo.EncodeAgda.Compiler.MAlonzo.Pretty Agda.Compiler.MAlonzo.Primitives"Agda.Compiler.MAlonzo.HaskellTypesAgda.Interaction.InteractionTopAgda.Interaction.AgdaTopAgda.Interaction.EmacsTopAgda.Interaction.JSONTop!Agda.Interaction.Highlighting.Dot#Agda.Interaction.Highlighting.LaTeX"Agda.Interaction.Highlighting.HTMLAgda.Compiler.MAlonzo.CompilerAgda.Compiler.JS.Compiler Agda.Main&Agda.Interaction.Highlighting.Dot.BaseAgda.Utils.CallStack.Base Agda.UtilsFooData.Traversablefor Substitution' TraversableforM_Lazy listToMaybe maybeToList catMaybesmapMaybeforMifNull Data.List genericIndexgroupBy'union Data.EitherpartitionEithersleftsrights Control.MonadzipWithMAgda.TypeChecking.SubstitutionliftSAgda.Syntax.Internal.Patterns numberPatVarsAgda.Utils.CallStack.PrettyData Bitraversable Data.Maybe fromMaybe fromMaybeMLHSTree APatternLikeData.MapmapKeysMonotonicQName whyInScope unifyStepcompileClauses NonLinMatch'foldTermAgda.Syntax.TranslationAbstractToConcrete' Paths_AgdaAgda.Interaction.Options.Base#Agda.Interaction.Options.HasOptionsAbstractSyntaxblockTermOnProblem AtTopLevelinteractionLoop localStateAgda.TypeChecking.MonadAgda.TypeChecking.Testsprop_splitTelescope getConTypesimplifyLevelConstraintAgda.TheTypeCheckerGHCFlags)Agda.Interaction.Highlighting.Dot.Backend(Agda.Interaction.Highlighting.LaTeX.Base+Agda.Interaction.Highlighting.LaTeX.Backend'Agda.Interaction.Highlighting.HTML.Base*Agda.Interaction.Highlighting.HTML.BackendbaseGHC.ExtstoListGHC.Base<><*>GHC.IxIx SemigroupGHC.Stack.Types CallStackSrcLoc Data.Functor<$>$aeson-2.0.3.0-HoBWSDM3qT941k5ljFeQlI Data.AesoneitherDecodeFileStrict'eitherDecodeStrict' eitherDecode'eitherDecodeFileStricteitherDecodeStrict eitherDecodedecodeFileStrict' decodeStrict'decode'decodeFileStrict decodeStrictdecode encodeFileencodeData.Aeson.TypesfoldableData.Aeson.Types.ClassGToJSON GToEncodingData.Aeson.Types.ToJSON toEncoding2toJSON2 toEncoding1toJSON1genericToJSONKeygenericLiftToEncodinggenericToEncodinggenericLiftToJSON genericToJSONGToJSON'ToArgstoEncodingList toJSONList toEncodingtoJSONToJSONKeyValue toJSONKeyList toJSONKey ToJSONKeyToJSONKeyValue ToJSONKeyTextToJSONKeyFunction GToJSONKeyliftToEncodingListliftToEncodingliftToJSONList liftToJSONToJSON1liftToEncodingList2liftToEncoding2liftToJSONList2 liftToJSON2ToJSON2Data.Aeson.Encoding.Internalpairs fromEncodingEncodingSeriesData.Aeson.Types.FromJSON.!=.:!.:?.:fromJSONwithEmbeddedJSONwithBoolwithScientific withArraywithText withObject parseJSON2 parseJSON1genericFromJSONKeygenericLiftParseJSONgenericParseJSONparseIndexedJSON GFromJSONFromArgs parseJSONList parseJSONFromJSONfromJSONKeyList fromJSONKey FromJSONKeyFromJSONKeyValueFromJSONKeyTextParserFromJSONKeyTextFromJSONKeyCoerceFromJSONKeyFunction GFromJSONKeyliftParseJSONList liftParseJSON FromJSON1liftParseJSONList2liftParseJSON2 FromJSON2Data.Aeson.Parser.Internaljson'jsonData.Aeson.Types.InternalcamelTo2defaultJSONKeyOptionsdefaultTaggedObjectdefaultOptionsobjectJSONPathObjectArrayNullBoolNumberStringValuefromDotNetTime DotNetTimerejectUnknownFieldstagSingleConstructorsunwrapUnaryRecords sumEncodingomitNothingFieldsallNullaryToStringTagconstructorTagModifierfieldLabelModifierOptionscontentsFieldName tagFieldName TwoElemArrayObjectWithSingleField UntaggedValue TaggedObject SumEncoding keyModifierJSONKeyOptionsData.Aeson.Types.GenericZeroOneData.Aeson.KeyKeymplusmzero MonadPlusData.List.NonEmptysortWithsortBy transposenubBynubunzipzipWithzip!! isPrefixOf groupAllWith1 groupWith1groupBy1group1 groupAllWith groupWithgroupBygroup partitionfilterbreakspan dropWhile takeWhilesplitAtdroptakerepeatreversecycleiterate interspersescanr1scanl1scanrscanlsome1inserttailsinitsmapfromListsortcons<|initlasttailheadunfoldrunconsnonEmptyunfoldxorlengthSystem.Console.GetOptOptionOptDescrOptArgReqArgNoArgArgDescr System.Exit exitSuccessunless<=<>=> GHC.Stack callStack GHC.Exception prettySrcLocisRightisLeftGHC.Listlookup$> Data.Tupleswapwhen<$:|fromCallSiteList getCallStack HasCallStack srcLocEndCol srcLocEndLinesrcLocStartColsrcLocStartLine srcLocFile srcLocModule srcLocPackagecontainers-0.6.2.1Data.IntSet.Internal toDescList isSubsetOf intersection differenceunionsdelete singletonemptymembernullpretty-1.1.3.6Text.PrettyPrint.HughesPJ fullRender renderStylerenderfcatcat<+>$+$$$hangnestbracesbracketsparens doubleQuotesquotesrationaldoublefloatintegerintrbracelbracerbracklbrackrparenlparenequalsspacecoloncommasemiisEmpty zeroWidthText sizedTextptexttextcharDoc#Text.PrettyPrint.Annotated.HughesPJstylePStrChrribbonsPerLine lineLengthmodeStyle OneLineModeLeftMode ZigZagModePageModeMode%strict-0.4.0.1-GhYsQCNZrMb1M9nbNy7iS8Data.Strict.MaybemaybefromJust isNothingisJustJustNothingMaybe AgdaError UnknownErrorTCMError OptionErrorImpossibleErroragdaErrorToIntagdaErrorFromInt exitAgdaWith$fShowAgdaError $fEqAgdaError$fEnumAgdaError$fBoundedAgdaErrorCutOff DontCutOff defaultCutOff$fNFDataCutOff $fShowCutOff $fEqCutOff $fOrdCutOffSemiringaddmulzeroHasZero zeroElementintegerSemiring intSemiring boolSemiring $fHasZeroInt$fHasZeroInteger MonadDebug AffineHole ZeroHolesOneHole ManyHoles$fApplicativeAffineHole$fFunctorAffineHoleforA?*>?$>foldAfoldMapACallSiteFilterCallSite SrcLocCol SrcLocLine SrcLocFileSrcFun SrcLocModule SrcLocPackageprettyCallSiteprettyCallStack headCallSitetruncatedCallStack overCallSitesfilterCallStack popnCallStackwithNBackCallStackwithCurrentCallStackwithCallerCallStackreplacementCharisSurrogateCodePointreplaceSurrogateCodePoint integerToCharexpandEnvironmentVariables $fEqToken $fShowTokenFailrunFailrunFail_$fMonadFailFail $fFunctorFail$fApplicativeFail $fMonadFail iterWhile repeatWhile repeatWhileMtrampolineWhiletrampolineWhileM trampoline trampolineM iterateUntil iterateUntilMiterate' applyWhen applyUnless applyWhenM applyUnlessMDioidcompose unitComposeMeetSemiLatticemeetPlusplusToptopisTopdebug setDebuggingtracetraceM$fPlusIntIntInt Decoration traverseF distributeF<.><&>dmapdget$fDecoration(,)$fDecorationCompose$fDecorationIdentity TyVarBind UnkindedVarQOpQVarOpNameIdentSymbolQualUnQual ModuleNameLiteralIntFracCharAltExpVarConLitInfixAppAnnAppLambdaLetIfCase ExpTypeSigNegAppFakeExpStmt Qualifier GeneratorPatPVarPLitPAsPat PWildCardPBangPatPApp PatTypeSigPIrrPatTypeTyForallTyFunTyConTyVarTyAppFakeTypeMatch GuardedRhsRhs UnGuardedRhs GuardedRhssBindsBDeclsDeriving StrictnessStrictConDecl DataOrNewDataTypeNewTypeDeclTypeDeclDataDeclTypeSigFunBind LocalBindPatSynFakeDeclComment ImportSpecIVar ImportDecl importModuleimportQualified importSpecs ModulePragmaLanguagePragma OtherPragmaModuleunit_con$fEqDecl $fEqMatch$fEqRhs$fEqExp$fEqAlt $fEqBinds$fEqGuardedRhs$fEqStmt $fEqConDecl$fEqPat$fEqType $fEqTyVarBind$fEqQOp $fEqQName$fEqName$fEqModuleName$fOrdModuleName $fEqLiteral$fEqStrictness $fEqDataOrNew MakeStrict makeStrict$fMakeStrictAlt$fMakeStrictExp$fMakeStrictStmt$fMakeStrictGuardedRhs$fMakeStrictRhs$fMakeStrictBinds$fMakeStrictPat$fMakeStrictMatch$fMakeStrictDecl$fMakeStrictModule$fMakeStrictMaybe$fMakeStrict[]CatchIOcatchIO$fCatchIOStateT$fCatchIOWriterT $fCatchIOIOreadBinaryFile'copyDirContentwriteToTempFile readTextFilereadFile writeFilewriteTextToFilereadModifyIORef'CatchImpossiblecatchImpossiblecatchImpossibleJusthandleImpossiblehandleImpossibleJust Impossible UnreachableImpMissingDefinitionsthrowImpossible__IMPOSSIBLE__ impossible__UNREACHABLE__$fExceptionImpossible$fShowImpossible$fNFDataImpossible$fOrdImpossible$fEqImpossible$fCatchImpossibleIOEmptyabsurd toImpossible $fShowEmpty $fOrdEmpty $fEqEmpty $fNFDataEmpty $fDataEmptyBagbagsize! notMembercountgroupskeyselems toAscList traverse' $fFoldableBag $fMonoidBag$fSemigroupBag $fShowBag$fEqBag$fOrdBagChoice LeftDisjunct RightDisjunctSRes HandleSolQPB QPBlockedQPDoubleBlockedPBNotPBPBlockedPDoubleBlockedMBNotBBlockedFailedMetaEnvMMNotMMetaBlkInfo Refinable refinementsMove'MovemoveCostmoveNextCostgetCost RefCreateEnvrunRefCreateEnvUndoRestorePrioMetaNoPrioSubConstraintsscflip sccomcountscsub1scsub2CTree ctpriometactsubctparent cthandlesMetavarmbindmprincipalpresentmobs mcompoint mextrarefsOKMetaOKHandleOKValPropOKError AddExtraRefAnd SideconditionOr ConnectHandleTermTravWithTravBlocktravPriogetPrio hequalMetavarnewMetainitMetanewCTreenewSubConstraints ureadIORef uwriteIORef umodifyIORefureadmodifyIORefrunUndonewPlaceholder newOKHandledryInstantiatermmmcasemmmcasemmpcase doubleblockmbcasembpcasemmbpcasewaitokmbretmbfailedmpret expandbind topSearchextractblkinfosrecalcsseqcrecalcreccalccalcchoosePrioMeta propagatePriochoose$fRefinableOKValblk$fMonadRefCreateEnv$fApplicativeRefCreateEnv$fFunctorRefCreateEnv $fEqPrioMeta $fEqMetavar$fTravMM$fRefinableChoiceblk $fNumCost$fEqCost $fOrdCost$fEqPrio $fOrdPrio $fNumPrioIntSetbelowabovefull toFiniteList invariant$fMonoidIntSet$fSemigroupIntSet $fEqIntSet $fShowIntSetLensMapLensSetLensGetLens'lFstlSnd^.setoverfocususe.=%=%==%%= locallyStateviewlocallylocally'keyIndexSucAllNilConsSomewithSomemakeAll forgetAll forgetIndex mapWithIndexlIndex lookupIndex allIndices AutoTokenMCRDLTSH AutoOptions autoHints autoTimeOutautoPickautoMode autoHintModeTimeOut getTimeOutHints AutoHintModeAHMNone AHMModuleMNormal MCaseSplitMRefineinitAutoOptionsaoHints aoTimeOutaoPickaoMode aoHintMode autoTokens parseTime parseArgs $fShowTimeOutRecordfield1field2 lensField1 lensField2List1adjustMadjustM' filterKeys boolToMaybeunionMaybeWithunionsMaybeWith unzipMaybe filterMaybeforMaybe caseMaybeifJustmaybeM caseMaybeMifJustMwhenJust whenNothing whenJustM whenNothingMallJustM liftMaybememomemoRec memoUnsafe memoUnsafeHMaxNat getMaxNat$fMonoidMaxNat$fSemigroupMaxNat $fNumMaxNat $fEqMaxNat $fOrdMaxNat $fShowMaxNat $fEnumMaxNat ifNotNullifNullM ifNotNullMwhenNull unlessNull whenNullM unlessNullM $fNullStateT $fNullReaderT $fNullDoc $fNullMaybe $fNullSet $fNullSeq $fNullHashSet $fNullHashMap $fNullMap $fNullIntSet $fNullIntMap $fNullBag$fNull[] $fNullText$fNullByteString$fNullByteString0 $fNull(,,,) $fNull(,,) $fNull(,)$fNull()toStricttoLazy$fApplicativeMaybe Inclusion inclusion Pointwise pointwise PartialOrd comparable ComparablePartialOrderingPOLTPOLEPOEQPOGEPOGTPOAnyleqPOoppPOorPOseqPO fromOrdering fromOrderings toOrderings comparableOrdrelated$fMonoidPartialOrdering$fSemigroupPartialOrdering$fPartialOrdPartialOrdering$fPartialOrd(,)$fPartialOrdEither$fPartialOrdMaybe$fPartialOrd()$fPartialOrdInteger$fPartialOrdInt$fPartialOrdPointwise$fPartialOrdInclusion$fPartialOrdInclusion0 $fEqInclusion$fOrdInclusion$fShowInclusion$fFunctorInclusion $fEqPointwise$fShowPointwise$fFunctorPointwise$fEqPartialOrdering$fShowPartialOrdering$fEnumPartialOrdering$fBoundedPartialOrderingLeftClosedPOMonoidinverseComposePOMonoid POSemigrouphasLeftAdjointPtrnewPtrderefPtr updatePtrsetPtr updatePtrM $fDataIORef $fNFDataPtr $fHashablePtr$fOrdPtr$fEqPtr$fTraversablePtr $fFoldablePtr $fFunctorPtr $fShowPtr $fDataPtr StarSemiRingostarSemiRingozeroooneoplusotimes$fSemiRingMaybe $fSemiRing()$fStarSemiRingMaybe$fStarSemiRing()$fSemigroupStateT$fSemigroupReaderT Singleton Collection$fSingleton(,)HashMap$fSingletonaHashSet$fSingleton(,)IntMap$fSingleton(,)Map$fSingletonIntIntSet$fSingletonaSet$fSingletonaSeq$fSingletonaNonEmpty$fSingletonaEndo$fSingletona->$fSingletona[]$fSingletonaMaybe$fCollection(,)HashMap$fCollectionaHashSet$fCollection(,)Map$fCollectionaSet$fCollection(,)IntMap$fCollectionIntIntSet$fCollectionaSeq$fCollectionaEndo$fCollectiona->$fCollectiona[]clustercluster'SmallSettotal complement\\ mapMemberShipzipMemberShipWith fromAscListfromDistinctAscList $fEqSmallSet $fOrdSmallSet$fShowSmallSet$fDataSmallSet$fNFDataSmallSetSuffixPrime SubscriptisSubscriptDigittoSubscriptDigitfromSubscriptDigit nextSuffix suffixView renderSuffix addSuffixEither3In1In2In3ThreeTwo partition3partitionEithers3 mapEither3M forEither3M $fEqEither3 $fOrdEither3 $fShowEither3 $fEqThree $fOrdThree $fShowThree$fBoundedThree $fEnumThreeTrie everyPrefix unionWith insertWithadjusttoListOrderedBy mapSubTries lookupPath lookupTrievalueAt $fNullTrie $fNFDataTrie $fShowTrie$fEqTrie $fFunctorTrie$fFoldableTriePair-*-mapFstmapSnd/\fst3snd3thd3uncurry3uncurry4mapPairMmapFstMmapSndM$fApplicativePair$fEqPair $fFunctorPair$fFoldablePair$fTraversablePairStrSufSt SSSMismatchSSSStrip SSSResultReversedSuffixPrefixsnoccaseList caseListMlistCaseheadWithDefault tailMaybetailWithDefault lastMaybelastWithDefaultlast1last2mconsinitLast initLast1init1 initMaybeinitWithDefault!!!indexWithDefault findWithIndexgenericElemIndexdownFrom updateHead updateLastupdateAtsplitExactlyAtdropEndspanEnd breakAfter1 breakAfter takeWhileJustspanJustpartitionMaybe filterAndRestmapMaybeAndRest isSublistOfholes commonPrefix dropCommon stripPrefixBy commonSuffix stripSuffixstripReversedSuffix findOverlapgroupOnwordsBychopchopWhenhasElemsorteddistinct fastDistinct duplicates allDuplicatesnubAndDuplicatesOnnubOnuniqOnallEqualnubMzipWith'zipWithKeepRest unzipWitheditDistanceSpec editDistancemergeStrictlyOrderedByquotehaskellStringLiteral delimiteraddFinalNewLineindentshowThousandSepltrimrtrimtrim$fIsStringStateT$fIsStringReaderT appendList prependListconcat zipWithM_ SizedThingtheSize sizedThingSized sizeThing $fSizedIntSet $fSizedSeq $fSizedMap$fSizedNonEmpty $fSizedIntMap$fSizedHashSet$fSizedHashMap $fSizedSet $fSized[]$fNullSizedThing$fSizedSizedThingDoDropdoDropdropMoreunDropDropdropNdropFromInversePermuteinversePermute PermutationPerm permRange permPickspermute safePermuteidPtakePdroppedPliftPcomposePinvertPcompactPreversePflipPexpandPtopoSort topoSortM$fNFDataPermutation$fNullPermutation$fSizedPermutation$fShowPermutation$fInversePermute->[]$fInversePermute[][]$fInversePermute[]IntMap$fInversePermute[][]0$fDoDropPermutation $fDoDrop[]$fEqDrop $fOrdDrop $fShowDrop $fDataDrop $fFunctorDrop$fFoldableDrop$fTraversableDrop$fEqPermutation$fDataPermutation$fGenericPermutationList2 fromListMaybefromList1MaybetoList1 fromList1 $fNFDataList2 $fIsListList2 $fEqList2 $fOrdList2 $fShowList2 $fDataList2$fFunctorList2$fFoldableList2$fTraversableList2doubleEqdoubleLedoubleLt intToDouble doublePlus doubleMinus doubleTimes doubleNegate doubleDiv doublePow doubleSqrt doubleExp doubleLog doubleSin doubleCos doubleTan doubleASin doubleACos doubleATan doubleATan2 doubleSinh doubleCosh doubleTanh doubleASinh doubleACosh doubleATanhisPosInfisNegInf isPosZero isNegZero doubleRound doubleFloor doubleCeilingdoubleToWord64 doubleDenotEqdoubleDenotOrdasFinitetoStringWithoutDotZero doubleToRatio ratioToDouble doubleDecode isSafeInteger doubleEncodePrettypretty prettyPrec prettyList prettyShowsepfsephsephcatvcat punctuatepwordsfwordshsepWith prettyList_ prettySet prettyMap prettyAssignmparensparensNonEmptyalign multiLineTextpshow singPluralprefixedThings $fDataDoc $fPrettyMap$fPrettyIntMap $fPrettySet$fPrettyIntSet$fPrettyNonEmpty $fPretty[] $fPrettyMaybe $fPretty() $fPrettyDoc $fPrettyChar $fPrettyText$fPrettyDouble$fPrettyWord64$fPrettyInteger $fPrettyInt32 $fPrettyInt $fPrettyBoolCPUTime ClockTime getClockTimefromMilliseconds getCPUTime measureTime$fPrettyCPUTime $fEqCPUTime $fShowCPUTime $fOrdCPUTime $fNumCPUTime $fRealCPUTime $fEnumCPUTime$fIntegralCPUTime$fNFDataCPUTimeDocPParserWithGrammar ParserClassparsegrammarsat'annotatememoisememoiseIfPrintingParserdocsattokentokbindPchoicePseqPstarPatomP$fAlternativeParser$fApplicativeParser$fFunctorParser $fMonadParser$fParserClassParserkrtok#$fParserClassParserWithGrammarkrtok$fAlternativeParserWithGrammar$fApplicativeParserWithGrammar$fFunctorParserWithGrammar$fMonadParserWithGrammarFlexsFlexOfflexsRigidsRigidOfrigidsTruncateOffsettruncateOffset ValidOffset validOffsetCTrans SubstitutesubstSolution theSolution PolaritiesPolarityAssignmentPolarityLeastGreatest Constraint Constraint'leftExprcmp rightExprCmpLtLeSizeExpr SizeExpr'ConstRigidInftyFlexoffsetrigidflexFlexIdflexIdRigidIdrigidIdOffsetOemptyPolaritiespolaritiesFromAssignments getPolarity emptySolution simplify1ifLe compareOffset$fPlusOffsetOffsetOffset$fMeetSemiLatticeOffset$fPrettyOffset $fShowOffset $fPrettyRigid $fShowRigid $fPrettyFlex $fShowFlex$fPrettySizeExpr'$fPlusSizeExpr'OffsetSizeExpr' $fPrettyCmp$fTopCmp$fMeetSemiLatticeCmp$fOrdCmp $fDioidCmp$fPrettyConstraint'$fPrettyPolarity$fPrettyPolarityAssignment$fPrettySolution$fSubstituterfSolution$fSubstituterfMap$fSubstituterf[]$fSubstituterfConstraint'$fSubstituterfSizeExpr'$fValidOffsetSizeExpr'$fValidOffsetOffset$fTruncateOffsetSizeExpr'$fTruncateOffsetOffset$fRigidsConstraint'$fRigidsSizeExpr' $fRigids[]$fFlexsConstraint'$fFlexsSizeExpr' $fFlexs[]$fShowSolution$fNullSolution $fEqPolarity $fOrdPolarity$fShowConstraint'$fFunctorConstraint'$fFoldableConstraint'$fTraversableConstraint' $fShowCmp$fEqCmp $fBoundedCmp $fEnumCmp$fShowSizeExpr' $fEqSizeExpr'$fOrdSizeExpr'$fFunctorSizeExpr'$fFoldableSizeExpr'$fTraversableSizeExpr'$fEqFlex $fOrdFlex $fEqRigid $fOrdRigid $fEqOffset $fOrdOffset $fNumOffset $fEnumOffsetLispAQresponse putResponse display_info'clearRunningInfo clearWarningdisplayRunningInfo $fPrettyLisp$fEqLisp whileLeft caseEitherMmapLeftmapRighttraverseEitherfromLeft fromRight fromLeftM fromRightM maybeLeft maybeRightallLeftallRight groupByEither maybeToEither swapEither==<<whenMunlessMguardMifMifNotMand2MandMallMor2MorManyMaltM1 orEitherMmapM'forM'mapMMforMMmapMM_forMM_ mapMaybeM mapMaybeMM forMaybeM forMaybeMM dropWhileM dropWhileEndM partitionM fromMaybeMP catMaybesMP scatterMPfinallytryMaybetryCatchguardWithErrorbracket_ListTrunListTmapListT unmapListTnilListT consListTsgListT caseListT foldListTanyListTallListT sequenceListT concatListT runMListT consMListTsgMListT mapMListT mapMListT_alt liftListT$fMonadFailListT$fMonadStatesListT$fMonadReaderrListT$fMonadIOListT$fMonadTransListT $fMonadListT$fApplicativeListT$fMonadPlusListT$fAlternativeListT $fMonoidListT$fSemigroupListT$fFunctorListT AbsolutePathfilePath mkAbsoluteabsolutecanonicalizeAbsolutePathsameFiledoesFileExistCaseSensitive isNewerThan$fPrettyAbsolutePath$fShowAbsolutePath$fEqAbsolutePath$fOrdAbsolutePath$fDataAbsolutePath$fHashableAbsolutePath$fNFDataAbsolutePathHashhashByteString hashTextFilehashText combineHashes hashString MonadBench BenchPhase getBenchmark putBenchmarkmodifyBenchmark Benchmark benchmarkOncurrentAccounttimings BenchmarkOn BenchmarkOff BenchmarkSomeTimingsCurrentAccountAccount isBenchmarkOnmapBenchmarkOnmapCurrentAccount mapTimings addCPUTime getsBenchmarksetBenchmarkingswitchBenchmarkingresetbillTo billToCPS billPureTo$fNFDataBenchmarkOn$fNFDataBenchmark$fPrettyBenchmark$fNullBenchmark$fMonadBenchListT$fMonadBenchExceptT$fMonadBenchStateT$fMonadBenchWriterT$fMonadBenchReaderT$fGenericBenchmark$fGenericBenchmarkOnBiMap biMapThere biMapBackHasTagTagtagtagInjectiveForbiMapInvariant invLookupinsertPreconditionalterMalteralterPreconditionupdateupdatePreconditionadjustPreconditioninsertLookupWithKeyinsertLookupWithKeyPrecondition mapWithKeymapWithKeyPreconditionmapWithKeyFixedTagsmapWithKeyFixedTagsPreconditionunionPreconditionfromListPreconditionfromDistinctAscendingLists&fromDistinctAscendingListsPreconditiontoDistinctAscendingLists $fShowBiMap $fOrdBiMap $fEqBiMap $fNullBiMap$fGenericBiMap KillRangeT KillRange killRangeSetRangesetRangeHasRangegetRange PrintRangeRangeRange'NoRangeIntervalWithoutFileInterval Interval'iStartiEndPositionWithoutFilePositionSrcFile Position'PnsrcFileposPosposLineposColpositionInvariantintervalInvariantsetIntervalFilegetIntervalFile posToIntervaliLengthrangeIntervalsintervalsToRangeconsecutiveAndSeparatedrangeInvariant rangeFile rightMargin killRangeMap killRange1 killRange2 killRange3 killRange4 killRange5 killRange6 killRange7 killRange8 killRange9 killRange10 killRange11 killRange12 killRange13 killRange14 killRange15 killRange16 killRange17 killRange18 killRange19 startPos'startPosnoRangemovePosmovePosByString backupPos posToRange' posToRangeintervalToRangerangeToIntervalWithFilerangeToInterval continuouscontinuousPerLinerStart'rStartrEnd'rEnd fuseIntervals fuseRanges fuseRange beginningOfbeginningOfFile withRangeOfinterleaveRanges$fSemigroupAbsolutePath$fPrettyPosition'$fOrdPosition' $fEqPosition'$fNFDataPosition'$fPrettyPosition'0$fNFDataPosition'0$fPrettyInterval'$fNFDataInterval'$fPrettyInterval'0$fNFDataInterval'0$fPrettyRange'$fMonoidRange'$fSemigroupRange' $fNullRange'$fNFDataRange'$fHasRangeEither$fHasRange(,,,,,,)$fHasRange(,,,,,)$fHasRange(,,,,)$fHasRange(,,,)$fHasRange(,,) $fHasRange(,)$fHasRangeMaybe$fHasRangeList2$fHasRangeNonEmpty $fHasRange[]$fHasRangeBool $fHasRange()$fHasRangeRange'$fHasRangeInterval'$fSetRangeMaybe $fSetRange[]$fSetRangeRange'$fKillRangeEither$fKillRange(,,,)$fKillRange(,,)$fKillRange(,)$fKillRangeSet$fKillRangeMaybe$fKillRangeMaybe0$fKillRangeList2$fKillRangeNonEmpty$fKillRangeDrop$fKillRangeMap $fKillRange[]$fKillRange[]0$fKillRangePermutation$fKillRangeInteger$fKillRangeInt$fKillRangeBool $fKillRange()$fKillRangeVoid$fKillRangeRange'$fPrettyPrintRange$fEqPrintRange$fOrdPrintRange$fHasRangePrintRange$fSetRangePrintRange$fKillRangePrintRange $fShowRange' $fDataRange' $fEqRange' $fOrdRange'$fFunctorRange'$fFoldableRange'$fTraversableRange'$fGenericRange'$fShowInterval'$fDataInterval' $fEqInterval'$fOrdInterval'$fFunctorInterval'$fFoldableInterval'$fTraversableInterval'$fGenericInterval'$fShowPosition'$fDataPosition'$fFunctorPosition'$fFoldablePosition'$fTraversablePosition'$fGenericPosition'GenPartBindHole NormalHoleWildHoleIdPartNotationExpandedEllipsis NoEllipsis ellipsisRangeellipsisWithArgs RewriteEqn'RewriteInvert CoverageCheckYesCoverageCheckNoCoverageCheck UniverseCheckYesUniverseCheckNoUniverseCheckPositivityCheckYesPositivityCheckNoPositivityCheckTerminationCheckNoTerminationCheckNonTerminating TerminatingTerminationMeasure Renaming'RenamingrenFromrenTo renFixity renToRange ImportedName'ImportedModule ImportedNameUsing' UseEverythingUsingRenamingDirective'HidingDirective'ImportDirective'ImportDirectiveimportDirRangeusinghiding impRenaming publicOpen LensFixity' lensFixity' LensFixity lensFixityFixity' theFixity theNotation theNameRangeFixity fixityRange fixityLevel fixityAssoc AssociativityNonAssoc LeftAssoc RightAssoc FixityLevel UnrelatedRelatedPrecedenceLevel InteractionId interactionIdMaybePlaceholder Placeholder NoPlaceholderPositionInName BeginningMiddleEnd ProblemIdConstrMetaIdmetaIdNameIdModuleNameHashIsMacroMacroDef NotMacroDef IsInstance InstanceDefNotInstanceDef AnyIsAbstract anyIsAbstractLensIsAbstractlensIsAbstract IsAbstract AbstractDef ConcreteDefAccess PrivateAccess PublicAccessIsInfixInfixDef PrefixDef ProjOrigin ProjPrefix ProjPostfix ProjSystem ConOrigin ConOSystemConOConConORec ConOSplitRStringRawNameRangedrangeOf rangedThingArgNameNamedArg LensNamedNameOf lensNamed NamedNameNamed_NamednameOf namedThing Underscore underscore isUnderscoreArgargInfounArg LensArgInfo getArgInfo setArgInfo mapArgInfoArgInfo argInfoHidingargInfoModality argInfoOriginargInfoFreeVariablesargInfoAnnotationLensFreeVariablesgetFreeVariablessetFreeVariablesmapFreeVariables FreeVariables UnknownFVsKnownFVs LensOrigin getOrigin setOrigin mapOrigin WithOriginwoOriginwoThingOrigin UserWrittenInserted Reflected CaseSplit Substitution LensCohesion getCohesion setCohesion mapCohesionCohesionFlat ContinuousSquashLensLockgetLocksetLockmapLockLock IsNotLockIsLockLensAnnotation getAnnotation setAnnotation mapAnnotation AnnotationannLock LensRelevance getRelevance setRelevance mapRelevance RelevanceRelevant NonStrict IrrelevantErased NotErased LensQuantity getQuantity setQuantity mapQuantityQuantity Quantity0 Quantity1 Quantityω QωOrigin QωInferredQω QωPlentyQ1Origin Q1InferredQ1Q1LinearQ0Origin Q0InferredQ0Q0Erased LensModality getModality setModality mapModalityModality modRelevance modQuantity modCohesionUnderComposition UnderAddition LensHiding getHiding setHiding mapHiding WithHidingwhHidingwhThingHidingHiddenInstance NotHidden Overlappable YesOverlap NoOverlap Induction Inductive CoInductiveCopatternMatchingAllowedcopatternMatchingAllowedPatternMatchingAllowedpatternMatchingAllowedPatternOrCopatternPatternMatchingCopatternMatchingHasEta0HasEtaHasEta'YesEtaNoEtaRecordDirectives'RecordDirectives recInductive recHasEta recPatternrecConstructorLanguageWithoutKWithKCubicalCErasedCFullFileType AgdaFileType MdFileType RstFileType TexFileType OrgFileTypeDelayed NotDelayedArityNatemptyRecordDirectives mergeHidingvisible notVisiblehiddenhidehideOrKeepInstance makeInstance makeInstance'isOverlappable isInstance sameHidingmoreUsableModalityusableModalitycomposeModality applyModalityinverseComposeModality"inverseApplyModalityButNotQuantity addModality zeroModality unitModality topModalitydefaultModality sameModality lModRelevance lModQuantity lModCohesiongetRelevanceModsetRelevanceModmapRelevanceModgetQuantityModsetQuantityModmapQuantityModgetCohesionModsetCohesionModmapCohesionMod sameQuantity addQuantity zeroQuantitydefaultQuantity unitQuantity topQuantity moreQuantitycomposeQuantity applyQuantityinverseComposeQuantityinverseApplyQuantity hasQuantity0 hasQuantity1 hasQuantityωnoUserQuantityusableQuantity defaultErased asQuantityerasedFromQuantity sameErasedisErased composeErased allRelevances isRelevant isIrrelevant isNonStrict moreRelevant sameRelevanceusableRelevancecomposeRelevanceapplyRelevanceinverseComposeRelevanceinverseApplyRelevance addRelevance zeroRelevance unitRelevance topRelevancedefaultRelevanceirrToNonStrictnonStrictToRelnonStrictToIrrdefaultAnnotation defaultLock allCohesions moreCohesion sameCohesionusableCohesioncomposeCohesion applyCohesioninverseComposeCohesioninverseApplyCohesion addCohesion zeroCohesion unitCohesion topCohesiondefaultCohesionunknownFreeVariablesnoFreeVariablesoneFreeVariablefreeVariablesFromListhasNoFreeVariablesdefaultArgInfogetHidingArgInfosetHidingArgInfomapHidingArgInfogetModalityArgInfosetModalityArgInfomapModalityArgInfogetOriginArgInfosetOriginArgInfomapOriginArgInfogetFreeVariablesArgInfosetFreeVariablesArgInfomapFreeVariablesArgInfoisInsertedHidden defaultArg withArgsFromwithNamedArgsFromsameNameunnamed isUnnamednamed userNamed getNameOf setNameOf mapNameOf bareNameOfbareNameWithDefault namedSamefittingNamedArgnamedArgdefaultNamedArg unnamedArgupdateNamedArgupdateNamedArgA setNamedArgargNameToStringstringToArgNameappendArgNamesunrangedrawNameToStringstringToRawName bestConInfonoModuleNameHash noPlaceholdernoFixity defaultFixity noFixity' _fixityAssoc _fixityLeveldefaultImportDirisDefaultImportDirmapUsingfromImportedNamesetImportedNamepartitionImportedNames noNotation$fNFDataDelayed$fKillRangeDelayed$fNFDataFileType$fPrettyFileType$fNFDataCubical$fNFDataLanguage$fKillRangeLanguage$fNFDataHasEta'$fKillRangeHasEta'$fHasRangeHasEta'$fKillRangePatternOrCopattern$fHasRangePatternOrCopattern$fNFDataPatternOrCopattern$fPatternMatchingAllowedHasEta'*$fPatternMatchingAllowedPatternOrCopattern!$fCopatternMatchingAllowedHasEta',$fCopatternMatchingAllowedPatternOrCopattern!$fPatternMatchingAllowedInduction$fNFDataInduction$fKillRangeInduction$fHasRangeInduction$fPrettyInduction$fNFDataOverlappable$fMonoidOverlappable$fSemigroupOverlappable$fNFDataHiding$fKillRangeHiding$fHasRangeHiding$fMonoidHiding$fSemigroupHiding$fPrettyHiding$fNFDataWithHiding$fKillRangeWithHiding$fSetRangeWithHiding$fHasRangeWithHiding$fApplicativeWithHiding$fDecorationWithHiding$fApplicativeUnderAddition$fApplicativeUnderComposition$fNFDataQ0Origin$fKillRangeQ0Origin$fSetRangeQ0Origin$fHasRangeQ0Origin$fNullQ0Origin$fMonoidQ0Origin$fSemigroupQ0Origin$fNFDataQ1Origin$fKillRangeQ1Origin$fSetRangeQ1Origin$fHasRangeQ1Origin$fNullQ1Origin$fMonoidQ1Origin$fSemigroupQ1Origin$fNFDataQωOrigin$fKillRangeQωOrigin$fSetRangeQωOrigin$fHasRangeQωOrigin$fNullQωOrigin$fMonoidQωOrigin$fSemigroupQωOrigin$fNFDataQuantity$fKillRangeQuantity$fSetRangeQuantity$fHasRangeQuantity$fPartialOrdQuantity$fPOMonoidUnderAddition$fPOSemigroupUnderAddition$fMonoidUnderAddition$fSemigroupUnderAddition$$fLeftClosedPOMonoidUnderComposition$fPOMonoidUnderComposition$fPOSemigroupUnderComposition$fMonoidUnderComposition$fSemigroupUnderComposition$fSemigroupUnderComposition0$fKillRangeErased$fHasRangeErased$fNFDataErased$fPOMonoidUnderAddition0$fPOSemigroupUnderAddition0$fMonoidUnderAddition0$fSemigroupUnderAddition0%$fLeftClosedPOMonoidUnderComposition0$fPOMonoidUnderComposition0$fPOSemigroupUnderComposition0$fMonoidUnderComposition0$fSemigroupUnderComposition1$fPartialOrdRelevance$fOrdRelevance$fNFDataRelevance$fKillRangeRelevance$fSetRangeRelevance$fHasRangeRelevance $fNFDataLock$fNFDataAnnotation$fKillRangeAnnotation$fHasRangeAnnotation$fLensLockLock$fPOMonoidUnderAddition1$fPOSemigroupUnderAddition1$fMonoidUnderAddition1$fSemigroupUnderAddition1%$fLeftClosedPOMonoidUnderComposition1$fPOMonoidUnderComposition1$fPOSemigroupUnderComposition1$fMonoidUnderComposition1$fSemigroupUnderComposition2$fPartialOrdCohesion $fOrdCohesion$fNFDataCohesion$fKillRangeCohesion$fSetRangeCohesion$fHasRangeCohesion$fNFDataModality$fKillRangeModality$fHasRangeModality$fPOMonoidUnderAddition2$fPOSemigroupUnderAddition2$fMonoidUnderAddition2$fSemigroupUnderAddition2%$fLeftClosedPOMonoidUnderComposition2$fPOMonoidUnderComposition2$fPOSemigroupUnderComposition2$fMonoidUnderComposition2$fSemigroupUnderComposition3$fPartialOrdModality$fNFDataOrigin$fKillRangeOrigin$fHasRangeOrigin$fNFDataWithOrigin$fKillRangeWithOrigin$fSetRangeWithOrigin$fHasRangeWithOrigin$fPrettyWithOrigin$fDecorationWithOrigin$fNFDataFreeVariables$fKillRangeFreeVariables$fMonoidFreeVariables$fSemigroupFreeVariables$fNFDataArgInfo$fKillRangeArgInfo$fHasRangeArgInfo$fLensLockArgInfo$fLensArgInfoArgInfo$fLensFreeVariablesArgInfo $fLensFreeVariablesFreeVariables$fLensOriginArgInfo$fLensOriginWithOrigin$fLensOriginOrigin$fLensAnnotationArgInfo$fLensAnnotationAnnotation$fLensModalityArgInfo$fLensModalityModality$fLensCohesionArgInfo$fLensCohesionCohesion$fLensCohesionModality$fLensRelevanceArgInfo$fLensRelevanceRelevance$fLensRelevanceModality$fLensQuantityArgInfo$fLensQuantityQuantity$fLensQuantityModality$fLensHidingArgInfo$fLensHidingWithHiding$fLensHidingHiding$fLensCohesionArg$fLensQuantityArg$fLensRelevanceArg$fLensFreeVariablesArg$fLensOriginArg$fLensModalityArg$fLensHidingArg$fLensArgInfoArg $fNFDataArg$fKillRangeArg $fSetRangeArg $fHasRangeArg$fDecorationArg $fLensLockArg$fLensAnnotationArg$fUnderscoreDoc$fUnderscoreByteString$fUnderscore[] $fNFDataNamed$fKillRangeNamed$fSetRangeNamed$fHasRangeNamed$fDecorationNamed$fLensHidingNamed$fLensNamedNamed$fLensNamedMaybe$fLensNamedArg$fNFDataRanged$fDecorationRanged$fKillRangeRanged$fHasRangeRanged $fOrdRanged $fEqRanged$fPrettyRanged$fNFDataRecordDirectives'$fKillRangeRecordDirectives'$fHasRangeRecordDirectives'$fKillRangeConOrigin$fNFDataConOrigin$fKillRangeProjOrigin$fNFDataProjOrigin$fKillRangeAccess$fHasRangeAccess$fNFDataAccess$fPrettyAccess$fNFDataIsAbstract$fKillRangeIsAbstract$fMonoidIsAbstract$fSemigroupIsAbstract$fLensIsAbstractIsAbstract$fAnyIsAbstractMaybe$fAnyIsAbstract[]$fAnyIsAbstractIsAbstract$fNFDataIsInstance$fHasRangeIsInstance$fKillRangeIsInstance$fNFDataIsMacro$fHasRangeIsMacro$fKillRangeIsMacro$fNFDataModuleNameHash$fHashableNameId$fNFDataNameId $fEnumNameId$fPrettyNameId$fKillRangeNameId$fHashableMetaId$fNFDataMetaId $fShowMetaId$fPrettyMetaId$fPrettyProblemId$fShowProblemId$fNFDataMaybePlaceholder$fKillRangeMaybePlaceholder$fHasRangeMaybePlaceholder$fKillRangeInteractionId$fPrettyInteractionId$fNFDataFixityLevel$fNullFixityLevel$fNFDataFixity$fKillRangeFixity$fHasRangeFixity $fNullFixity $fOrdFixity $fEqFixity$fLensFixityFixity$fNFDataImportedName'$fKillRangeImportedName'$fHasRangeImportedName'$fNFDataUsing'$fKillRangeUsing'$fHasRangeUsing' $fNullUsing'$fMonoidUsing'$fSemigroupUsing'$fNFDataRenaming'$fKillRangeRenaming'$fHasRangeRenaming'$fNFDataImportDirective'$fKillRangeImportDirective'$fHasRangeImportDirective'$fMonoidImportDirective'$fSemigroupImportDirective'$fNullImportDirective'$fNFDataTerminationCheck$fKillRangeTerminationCheck$fNFDataPositivityCheck$fMonoidPositivityCheck$fSemigroupPositivityCheck$fKillRangePositivityCheck$fNFDataUniverseCheck$fKillRangeUniverseCheck$fNFDataCoverageCheck$fMonoidCoverageCheck$fSemigroupCoverageCheck$fKillRangeCoverageCheck$fKillRangeRewriteEqn'$fHasRangeRewriteEqn'$fPrettyRewriteEqn'$fNFDataRewriteEqn'$fNFDataExpandedEllipsis$fKillRangeExpandedEllipsis$fMonoidExpandedEllipsis$fSemigroupExpandedEllipsis$fNullExpandedEllipsis$fNFDataGenPart$fKillRangeGenPart$fSetRangeGenPart$fHasRangeGenPart $fOrdGenPart $fEqGenPart$fLensFixityFixity'$fKillRangeFixity'$fNFDataFixity' $fNullFixity' $fEqFixity'$fLensFixity'Fixity' $fDataFixity' $fShowFixity' $fDataGenPart $fShowGenPart$fDataExpandedEllipsis$fShowExpandedEllipsis$fEqExpandedEllipsis$fDataRewriteEqn'$fEqRewriteEqn'$fShowRewriteEqn'$fFunctorRewriteEqn'$fFoldableRewriteEqn'$fTraversableRewriteEqn'$fEqCoverageCheck$fOrdCoverageCheck$fShowCoverageCheck$fBoundedCoverageCheck$fEnumCoverageCheck$fDataCoverageCheck$fGenericCoverageCheck$fEqUniverseCheck$fOrdUniverseCheck$fShowUniverseCheck$fBoundedUniverseCheck$fEnumUniverseCheck$fDataUniverseCheck$fGenericUniverseCheck$fEqPositivityCheck$fOrdPositivityCheck$fShowPositivityCheck$fBoundedPositivityCheck$fEnumPositivityCheck$fDataPositivityCheck$fGenericPositivityCheck$fDataTerminationCheck$fShowTerminationCheck$fEqTerminationCheck$fFunctorTerminationCheck$fDataImportDirective'$fEqImportDirective'$fDataRenaming' $fEqRenaming' $fDataUsing' $fEqUsing'$fDataImportedName'$fEqImportedName'$fOrdImportedName'$fShowImportedName' $fDataFixity $fShowFixity$fEqAssociativity$fOrdAssociativity$fShowAssociativity$fDataAssociativity$fEqFixityLevel$fOrdFixityLevel$fShowFixityLevel$fDataFixityLevel$fEqInteractionId$fOrdInteractionId$fShowInteractionId$fNumInteractionId$fIntegralInteractionId$fRealInteractionId$fEnumInteractionId$fDataInteractionId$fNFDataInteractionId$fDataMaybePlaceholder$fEqMaybePlaceholder$fOrdMaybePlaceholder$fFunctorMaybePlaceholder$fFoldableMaybePlaceholder$fTraversableMaybePlaceholder$fShowMaybePlaceholder$fShowPositionInName$fEqPositionInName$fOrdPositionInName$fDataPositionInName$fDataProblemId $fEqProblemId$fOrdProblemId$fEnumProblemId$fRealProblemId$fIntegralProblemId$fNumProblemId$fNFDataProblemId $fEqMetaId $fOrdMetaId $fNumMetaId $fRealMetaId $fEnumMetaId$fIntegralMetaId $fDataMetaId$fGenericMetaId $fEqNameId $fOrdNameId $fDataNameId$fGenericNameId $fShowNameId$fEqModuleNameHash$fOrdModuleNameHash$fShowModuleNameHash$fDataModuleNameHash $fDataIsMacro $fShowIsMacro $fEqIsMacro $fOrdIsMacro$fGenericIsMacro$fDataIsInstance$fShowIsInstance$fEqIsInstance$fOrdIsInstance$fDataIsAbstract$fShowIsAbstract$fEqIsAbstract$fOrdIsAbstract$fGenericIsAbstract $fDataAccess $fShowAccess $fEqAccess $fOrdAccess $fDataIsInfix $fShowIsInfix $fEqIsInfix $fOrdIsInfix$fDataProjOrigin$fShowProjOrigin$fEqProjOrigin$fOrdProjOrigin$fEnumProjOrigin$fBoundedProjOrigin$fGenericProjOrigin$fDataConOrigin$fShowConOrigin $fEqConOrigin$fOrdConOrigin$fEnumConOrigin$fBoundedConOrigin$fGenericConOrigin$fFunctorRecordDirectives'$fDataRecordDirectives'$fShowRecordDirectives'$fEqRecordDirectives' $fDataRanged $fShowRanged$fFunctorRanged$fFoldableRanged$fTraversableRanged $fEqNamed $fOrdNamed $fShowNamed $fDataNamed$fFunctorNamed$fFoldableNamed$fTraversableNamed $fDataArg$fEqArg$fOrdArg $fShowArg $fFunctorArg $fFoldableArg$fTraversableArg $fDataArgInfo $fEqArgInfo $fOrdArgInfo $fShowArgInfo$fDataFreeVariables$fEqFreeVariables$fOrdFreeVariables$fShowFreeVariables$fDataWithOrigin$fEqWithOrigin$fOrdWithOrigin$fShowWithOrigin$fFunctorWithOrigin$fFoldableWithOrigin$fTraversableWithOrigin $fDataOrigin $fShowOrigin $fEqOrigin $fOrdOrigin$fDataModality $fEqModality $fOrdModality$fShowModality$fGenericModality$fDataCohesion$fShowCohesion $fEqCohesion$fEnumCohesion$fBoundedCohesion$fGenericCohesion$fDataAnnotation$fEqAnnotation$fOrdAnnotation$fShowAnnotation$fGenericAnnotation $fDataLock $fShowLock $fGenericLock$fEqLock $fEnumLock $fBoundedLock $fOrdLock$fDataRelevance$fShowRelevance $fEqRelevance$fEnumRelevance$fBoundedRelevance$fGenericRelevance $fDataErased $fShowErased $fEqErased$fGenericErased$fDataQuantity$fShowQuantity$fGenericQuantity $fEqQuantity $fOrdQuantity$fDataQωOrigin$fShowQωOrigin$fGenericQωOrigin $fEqQωOrigin$fOrdQωOrigin$fDataQ1Origin$fShowQ1Origin$fGenericQ1Origin $fEqQ1Origin $fOrdQ1Origin$fDataQ0Origin$fShowQ0Origin$fGenericQ0Origin $fEqQ0Origin $fOrdQ0Origin$fShowUnderComposition$fFunctorUnderComposition$fEqUnderComposition$fOrdUnderComposition$fPartialOrdUnderComposition$fShowUnderAddition$fFunctorUnderAddition$fEqUnderAddition$fOrdUnderAddition$fPartialOrdUnderAddition$fDataWithHiding$fEqWithHiding$fOrdWithHiding$fShowWithHiding$fFunctorWithHiding$fFoldableWithHiding$fTraversableWithHiding $fDataHiding $fShowHiding $fEqHiding $fOrdHiding$fDataOverlappable$fShowOverlappable$fEqOverlappable$fOrdOverlappable$fDataInduction $fEqInduction$fOrdInduction$fShowInduction$fDataPatternOrCopattern$fShowPatternOrCopattern$fEqPatternOrCopattern$fOrdPatternOrCopattern$fEnumPatternOrCopattern$fBoundedPatternOrCopattern $fDataHasEta' $fShowHasEta' $fEqHasEta' $fOrdHasEta'$fFunctorHasEta'$fFoldableHasEta'$fTraversableHasEta' $fEqLanguage$fShowLanguage$fGenericLanguage $fEqCubical $fShowCubical$fGenericCubical$fDataFileType $fEqFileType $fOrdFileType$fShowFileType$fGenericFileType $fDataDelayed $fShowDelayed $fEqDelayed $fOrdDelayed$fGenericDelayedPrecedenceStack PrecedenceTopCtxFunctionSpaceDomainCtxLeftOperandCtxRightOperandCtx FunctionCtx ArgumentCtxInsideOperandCtx WithFunCtx WithArgCtx DotPatternCtxParenPreference PreferParenPreferParenlessThingWithFixity preferParenpreferParenlesspushPrecedenceheadPrecedence argumentCtx_ opBrackets opBrackets' lamBrackets appBrackets appBrackets'withAppBrackets piBracketsroundFixBrackets$fKillRangeThingWithFixity$fLensFixityThingWithFixity$fLensFixity'ThingWithFixity$fNFDataParenPreference$fPrettyPrecedence$fNFDataPrecedence$fShowPrecedence$fDataPrecedence$fEqPrecedence$fGenericPrecedence$fEqParenPreference$fOrdParenPreference$fShowParenPreference$fDataParenPreference$fGenericParenPreference$fFunctorThingWithFixity$fFoldableThingWithFixity$fTraversableThingWithFixity$fDataThingWithFixity$fShowThingWithFixity PrecedenceKeyMemoKeyNodeK PostLeftsK PreRightsKTopKAppKNonfixK$fHashableMemoKey $fEqMemoKey $fShowMemoKey$fGenericMemoKeyGlobalsglobalsUsesusesmodNameimportsexportscallMainJSQNameExportexpNamedefnMemberId MemberIndexGlobalIdLocalIdSelfLocalGlobal UndefinedIntegerDoubleApplyLookupBinOpPreOpPlainJS $fOrdComment $fEqComment $fUsesExport $fUsesExp $fUsesComment $fUses(,,) $fUses(,) $fUsesMap$fUses[]$fGlobalsModule$fGlobalsExport $fGlobalsExp$fGlobalsComment $fGlobals(,,) $fGlobals(,) $fGlobalsMap$fGlobalsMaybe $fGlobals[] $fShowModule $fShowExport $fShowExp $fEqMemberId $fOrdMemberId$fShowMemberId $fShowComment$fSemigroupComment$fMonoidComment $fEqGlobalId $fOrdGlobalId$fShowGlobalId $fEqLocalId $fOrdLocalId $fShowLocalId renameOffsetFreeVarsfreeVarsOffset Weakeningweak' ExpandMetas expandMetas MetaliseOKH metaliseOKHEECtxCActionSubSkipWeakTrBrCExpClosICExp ICArgListCALNil CALConcat HNArgListHNALNilHNALCons HNALConParHNExp'HNAppHNLamHNPiHNSortHNExp WithSeenUIdsseenUIdsrawValueMArgListArgListALNilALConsALProjALConParMExpLamPiSort AbsurdLambdaappUIdappOKappHeadappElimsSet UnknownSortElrConstRef PatConAppPatVarPatExpClauseDeclContDefDatatype Constructor PostulateConstDefcdnamecdorigincdtypecdcont cddeffreevarsAbsMIdIdNoIdMyMBMyPBRefInfoRIEnv RIMainInfo RIUnifInfo RICopyInfo RIIotaStepRIInferredTypeUnknownRINotConstructor RIUsedVars RIPickSubsvar RIEqRState RICheckElimRICheckProjIndexrieHintsrieDefFreeVarsrieEqReasoningConstsriMainCxtLength riMainType riMainIotaEqReasoningStateEqRSNone EqRSChainEqRSPrf1EqRSPrf2EqRSPrf3EqReasoningConstseqrcId eqrcBegineqrcStepeqrcEndeqrcSymeqrcCongHintModeHMNormal HMRecCallUIdgetVargetConstdontCaredetecteliminanddetectsemiflexcategorizedecl metaliseokhaddtrailingargsclosifysubsubiweakdoclosfreeVarsrename$fMetaliseOKHArgList$fMetaliseOKHExp$fMetaliseOKHAbs$fMetaliseOKHMM$fExpandMetasArgList$fExpandMetasExp$fExpandMetasAbs$fExpandMetasMM$fWeakeningElr$fWeakeningICArgList$fWeakeningClos$fWeakeningTrBr$fFreeVarsArgList $fFreeVarsExp $fFreeVarsElr $fFreeVarsAbs $fFreeVarsMM $fFreeVars(,)$fRenamingArgList $fRenamingExp $fRenamingElr $fRenamingAbs $fRenamingMM $fRenaming(,)$fEqElr$fEqEqReasoningState$fShowEqReasoningState ExpRefInfoeriMaineriUnifseriInfTypeUnknowneriIsEliminand eriUsedVars eriIotaSteperiPickSubsVar eriEqRStateinitExpRefInfogetinfounivarsubsvarsnewAbsnewLamnewPifoldArgsnewArgs'newArgsnewApp'newAppeqStepeqEndeqCongeqSym eqBeginStep2pickUidextrarefcostUnificationIf costIncreasecostUnificationOccurscostUnification costAppVarcostAppVarUsed costAppHintcostAppHintUsedcostAppRecCallcostAppRecCallUsedcostAppConstructorcostAppConstructorSinglecostAppExtraRefcostLam costLamUnfoldcostPicostSort costIotaStepcostInferredTypeUnkown costAbsurdLam costEqStep costEqEnd costEqSym costEqCongprioNoprioTypeUnknownprioTypecheckArgListprioInferredTypeUnknown prioCompBetaprioCompBetaStructured prioCompIotaprioCompChoice prioCompUnif prioCompCopyprioCompareArgList prioNoIotaprioAbsurdLambda prioProjIndex prioTypecheck $fTravArgList $fTravExp $fTravTrBr $fTrav(,)$fTrav[]$fRefinableIORefRefInfo$fRefinableClosRefInfo$fRefinableArgListRefInfo$fRefinableExpRefInfoCMFlexCMFFlexCMFSemi CMFBlockedCModeCMRigidPEvalPENoPEConAppHNResHNDoneHNMetaHNNBlkstcExp getDatatypeconstructorImpossibleunequalsunequal traversePitcargsaddendcopyargnoblksaddblkhnnhnn_blks hnn_checkstephnn'hnbhnc hnarglistgetNArgs getAllArgsiotastep noiotastepnoiotastep_termcomp'checkeliminandmaybeor iotapossmetameta_not_constructor calcEqRStatepickidtcSearch ProcessorLayersLayer layerRoleinterval layerContent LayerRoleMarkupCode atomizeLayersliterateSrcFileliterateProcessorsisCode isCodeLayer illiterateliterateExtsShortList literateTeX literateMd literateRsT literateOrg$fHasRangeLayer $fShowLayer$fShowLayerRole $fEqLayerRoleSpecialCharacters_dbraces_lambda_arrow_forallQ_leftIdiomBrkt_rightIdiomBrkt_emptyIdiomBrktUnicodeOrAscii UnicodeOk AsciiOnlyunsafeSetUnicodeOrAsciispecialCharactersForGlyphsbraces'dbracesforallQ leftIdiomBrktrightIdiomBrktemptyIdiomBrktarrowlambda$fNFDataUnicodeOrAscii$fShowUnicodeOrAscii$fEqUnicodeOrAscii$fEnumUnicodeOrAscii$fBoundedUnicodeOrAscii$fGenericUnicodeOrAsciiIsNoNameisNoName FreshNameModeUnicodeSubscript AsciiCounter LensInScope lensInScope isInScope mapInScope setInScope setNotInScope NameInScopeInScope NotInScopeNumHolesnumHolesTopLevelModuleNamemoduleNameRangemoduleNamePartsNamePartHole NamePartsNoName nameRange nameInScope nameNamePartsnameId isOpenMixfix simpleNamesimpleBinaryOperator simpleHole lensNameParts nameToRawName namePartsnameStringPartsstringNameParts isOperatorisHoleisPrefix isPostfixisInfixisNonfix nextRawNamenextName lastIdPartfirstNonTakenName nameSuffixnameSuffixView setNameSuffixnameRootsameRoot lensQNameNamequalify unqualify qnameParts isQualified isUnqualifiedtoTopLevelModuleNamemoduleNameToFileName projectRootnoName_noName$fNFDataNamePart$fPrettyNamePart $fOrdNamePart $fEqNamePart$fNFDataTopLevelModuleName$fKillRangeTopLevelModuleName$fSetRangeTopLevelModuleName$fHasRangeTopLevelModuleName$fPrettyTopLevelModuleName$fSizedTopLevelModuleName$fOrdTopLevelModuleName$fEqTopLevelModuleName$fNumHolesNonEmpty$fNFDataNameInScope $fNFDataName$fKillRangeName$fSetRangeName$fHasRangeName $fPrettyName$fNumHolesName $fOrdName$fUnderscoreName $fNFDataQName$fKillRangeQName$fSetRangeQName$fHasRangeQName $fPrettyQName$fNumHolesQName$fUnderscoreQName$fLensInScopeQName$fLensInScopeName$fLensInScopeNameInScope$fIsNoNameWithOrigin$fIsNoNameRanged$fIsNoNameQName$fIsNoNameName$fIsNoNameByteString $fIsNoName[] $fDataQName $fOrdQName $fDataName$fEqNameInScope$fShowNameInScope$fDataNameInScope$fShowTopLevelModuleName$fDataTopLevelModuleName$fGenericTopLevelModuleName$fDataNamePart$fGenericNamePart $fShowQName$fShowNamePart $fShowName Comparison BackendNameModuleToSourceTCMTCMTunTCMTCStateTCEnvHighlightingLevelHighlightingMethod NamedMeta TCWarningTCErrWarning builtinNat builtinSuc builtinZerobuiltinNatPlusbuiltinNatMinusbuiltinNatTimesbuiltinNatDivSucAuxbuiltinNatModSucAuxbuiltinNatEqualsbuiltinNatLess builtinWord64builtinIntegerbuiltinIntegerPosbuiltinIntegerNegSuc builtinFloat builtinChar builtinString builtinUnitbuiltinUnitUnit builtinSigma builtinBool builtinTrue builtinFalse builtinList builtinNil builtinCons builtinMaybebuiltinNothing builtinJust builtinIO builtinId builtinConId builtinIdElim builtinPath builtinPathPbuiltinInterval builtinIMin builtinIMax builtinINeg builtinIZero builtinIOnebuiltinPartialbuiltinPartialP builtinIsOnebuiltinItIsOne builtinEquivbuiltinEquivFunbuiltinEquivProofbuiltinTranspProof builtinGlue builtin_gluebuiltin_unglue builtin_glueUbuiltin_unglueUbuiltinFaceForall builtinIsOne1 builtinIsOne2builtinIsOneEmpty builtinComp builtinPOr builtinTrans builtinHComp builtinSub builtinSubIn builtinSubOutbuiltinSizeUniv builtinSize builtinSizeLtbuiltinSizeSucbuiltinSizeInfbuiltinSizeMax builtinInf builtinSharp builtinFlatbuiltinEquality builtinReflbuiltinRewritebuiltinLevelMax builtinLevelbuiltinLevelZerobuiltinLevelSuc builtinSet builtinPropbuiltinSetOmegabuiltinLockUnivbuiltinSSetOmegabuiltinStrictSetbuiltinFromNatbuiltinFromNegbuiltinFromString builtinQNamebuiltinAgdaSortbuiltinAgdaSortSetbuiltinAgdaSortLitbuiltinAgdaSortPropbuiltinAgdaSortPropLitbuiltinAgdaSortInfbuiltinAgdaSortUnsupported builtinHiding builtinHiddenbuiltinInstancebuiltinVisiblebuiltinRelevancebuiltinRelevantbuiltinIrrelevantbuiltinQuantitybuiltinQuantity0builtinQuantityωbuiltinModalitybuiltinModalityConstructor builtinAssocbuiltinAssocLeftbuiltinAssocRightbuiltinAssocNonbuiltinPrecedencebuiltinPrecRelatedbuiltinPrecUnrelated builtinFixitybuiltinFixityFixity builtinArgbuiltinArgInfobuiltinArgArgInfo builtinArgArg builtinAbs builtinAbsAbsbuiltinAgdaTermbuiltinAgdaTermVarbuiltinAgdaTermLambuiltinAgdaTermExtLambuiltinAgdaTermDefbuiltinAgdaTermConbuiltinAgdaTermPibuiltinAgdaTermSortbuiltinAgdaTermLitbuiltinAgdaTermUnsupportedbuiltinAgdaTermMetabuiltinAgdaErrorPartbuiltinAgdaErrorPartStringbuiltinAgdaErrorPartTermbuiltinAgdaErrorPartNamebuiltinAgdaLiteralbuiltinAgdaLitNatbuiltinAgdaLitWord64builtinAgdaLitFloatbuiltinAgdaLitCharbuiltinAgdaLitStringbuiltinAgdaLitQNamebuiltinAgdaLitMetabuiltinAgdaClausebuiltinAgdaClauseClausebuiltinAgdaClauseAbsurdbuiltinAgdaPatternbuiltinAgdaPatVarbuiltinAgdaPatConbuiltinAgdaPatDotbuiltinAgdaPatLitbuiltinAgdaPatProjbuiltinAgdaPatAbsurdbuiltinAgdaDefinitionFunDefbuiltinAgdaDefinitionDataDefbuiltinAgdaDefinitionRecordDef$builtinAgdaDefinitionDataConstructorbuiltinAgdaDefinitionPostulatebuiltinAgdaDefinitionPrimitivebuiltinAgdaDefinitionbuiltinAgdaMetabuiltinAgdaTCMbuiltinAgdaTCMReturnbuiltinAgdaTCMBindbuiltinAgdaTCMUnifybuiltinAgdaTCMTypeErrorbuiltinAgdaTCMInferTypebuiltinAgdaTCMCheckTypebuiltinAgdaTCMNormalisebuiltinAgdaTCMReducebuiltinAgdaTCMCatchErrorbuiltinAgdaTCMGetContextbuiltinAgdaTCMExtendContextbuiltinAgdaTCMInContextbuiltinAgdaTCMFreshNamebuiltinAgdaTCMDeclareDefbuiltinAgdaTCMDeclarePostulatebuiltinAgdaTCMDefineFunbuiltinAgdaTCMGetTypebuiltinAgdaTCMGetDefinitionbuiltinAgdaTCMBlockOnMetabuiltinAgdaTCMCommitbuiltinAgdaTCMQuoteTermbuiltinAgdaTCMUnquoteTermbuiltinAgdaTCMQuoteOmegaTermbuiltinAgdaTCMIsMacrobuiltinAgdaTCMWithNormalisationbuiltinAgdaTCMWithReconsParamsbuiltinAgdaTCMDebugPrintbuiltinAgdaTCMOnlyReduceDefsbuiltinAgdaTCMDontReduceDefsbuiltinAgdaTCMNoConstraintsbuiltinAgdaTCMRunSpeculativebuiltinAgdaTCMExecisBuiltinNoDef builtinsNoDef sizeBuiltinsMkNamemkNamemkName_IsProjPisProjPNoSuffixAmbiguousQNameAmbQunAmbQMName mnameToListQNamedqnameqnamed qnameModule qnameName nameConcrete nameCanonicalnameBindingSite nameFixitynameIsRecordName uglyShowName unambiguousheadAmbQ isAmbiguousgetUnambiguousisAnonymousModuleName withRangesOf withRangesOfQ mnameFromListmnameFromList1 mnameToList1 noModuleNamecommonParentModulemakeName qnameToList0 qnameToList qnameFromList qnameToMName mnameToQName showQNameIdqnameToConcretemnameToConcretequalifyMqualifyQqualify_isLeParentModuleOfisLtParentModuleOfisLeChildModuleOfisLtChildModuleOf isInModule nameToArgName namedArgName$fLensFixityName$fLensFixity'Name$fHashableName$fNFDataModuleName$fSizedModuleName$fKillRangeModuleName$fSetRangeModuleName$fHasRangeModuleName$fPrettyModuleName $fSizedQName$fLensFixityQName$fLensFixity'QName$fHashableQName$fPrettyQNamed$fKillRangeAmbiguousQName$fHasRangeAmbiguousQName$fPrettyAmbiguousQName$fNumHolesAmbiguousQName$fNFDataSuffix $fIsProjPVoid$fIsProjPNamed $fIsProjPArg $fMkName[] $fDataSuffix $fShowSuffix $fEqSuffix $fOrdSuffix$fEqAmbiguousQName$fOrdAmbiguousQName$fDataAmbiguousQName$fNFDataAmbiguousQName$fFunctorQNamed$fFoldableQNamed$fTraversableQNamed$fDataModuleName$fShowAmbiguousQName $fShowQNamed$fShowModuleNameLitNat LitWord64LitFloat LitStringLitCharLitQNameLitMetaRLiteralshowText showChar'$fNFDataLiteral$fKillRangeLiteral $fOrdLiteral$fPrettyLiteral $fDataLiteral $fShowLiteral isUnreachableTError TUnreachableTMetaTAltTAConTAGuardTALitaConaArityaBodyaGuardaLitCaseInfocaseLazycaseTypeCaseTypeCTDataCTNatCTIntCTCharCTStringCTFloatCTQNameTPrimPAddPAdd64PSubPSub64PMulPMul64PQuotPQuot64PRemPRem64PGeqPLtPLt64PEqIPEq64PEqFPEqSPEqCPEqQPIfPSeqPITo64P64ToITTermTVarTDefTAppTLamTLitTConTLetTCaseTUnitTSortTErasedTCoerceArgsEvaluationStrategyLazyEvaluationEagerEvaluationArgUsageArgUsed ArgUnusedCompiled cTreeless cArgUsageTPFnTPOpisPrimEq coerceViewmkTApptAppView coerceAppViewtLetViewtLamViewmkTLammkLettIntintView word64ViewtPlusK tNegPlusK plusKView negPlusKViewtOp tUnreachable tIfThenElse filterUsed$fNFDataArgUsage $fNFDataTPrim$fNFDataCaseType$fNFDataCaseInfo$fNFDataTError $fNFDataTAlt $fNFDataTTerm$fNFDataCompiled$fKillRangeCompiled$fUnreachableTTerm$fUnreachableTAlt$fDataCompiled$fShowCompiled $fEqCompiled $fOrdCompiled$fGenericCompiled $fDataTTerm $fShowTTerm $fEqTTerm $fOrdTTerm$fGenericTTerm $fDataTAlt $fShowTAlt$fEqTAlt $fOrdTAlt $fGenericTAlt $fDataTError $fShowTError $fEqTError $fOrdTError$fGenericTError$fDataCaseInfo$fShowCaseInfo $fEqCaseInfo $fOrdCaseInfo$fGenericCaseInfo$fDataCaseType$fShowCaseType $fEqCaseType $fOrdCaseType$fGenericCaseType $fDataTPrim $fShowTPrim $fEqTPrim $fOrdTPrim$fGenericTPrim$fEqEvaluationStrategy$fShowEvaluationStrategy$fDataArgUsage$fShowArgUsage $fEqArgUsage $fOrdArgUsage$fGenericArgUsage convertGuardsrecoverAsPatterns $fShowAsPatToken TokKeywordTokIdTokQId TokLiteral TokSymbol TokStringTokTeX TokMarkup TokCommentTokDummyTokEOFSymDotSymSemiSymVirtualSemiSymBarSymColonSymArrowSymEqual SymLambda SymUnderscoreSymQuestionMarkSymAs SymOpenParen SymCloseParenSymOpenIdiomBracketSymCloseIdiomBracketSymEmptyIdiomBracketSymDoubleOpenBraceSymDoubleCloseBrace SymOpenBrace SymCloseBraceSymOpenVirtualBraceSymCloseVirtualBrace SymOpenPragmaSymClosePragma SymEllipsis SymDotDot SymEndCommentKeywordKwLetKwInKwWhereKwDataKwCoDataKwDo KwPostulate KwAbstract KwPrivate KwInstance KwInterleavedKwMutual KwOverlapKwOpenKwImportKwModule KwPrimitiveKwMacroKwInfixKwInfixLKwInfixRKwWith KwRewriteKwForallKwRecord KwConstructorKwField KwInductive KwCoInductiveKwEtaKwNoEtaKwHidingKwUsing KwRenamingKwToKwPublic KwOPTIONS KwBUILTINKwLINE KwFOREIGN KwCOMPILE KwIMPOSSIBLEKwSTATIC KwINJECTIVEKwINLINE KwNOINLINEKwETAKwNO_TERMINATION_CHECK KwTERMINATINGKwNON_TERMINATINGKwNON_COVERINGKwWARNING_ON_USAGEKwWARNING_ON_IMPORT KwMEASURE KwDISPLAY KwREWRITEKwQuote KwQuoteTerm KwUnquote KwUnquoteDecl KwUnquoteDefKwSyntax KwPatternSynKwTactic KwCATCHALL KwVariableKwNO_POSITIVITY_CHECK KwPOLARITYKwNO_UNIVERSE_CHECKlayoutKeywords$fHasRangeToken $fEqSymbol $fShowSymbol $fEqKeyword $fShowKeywordBackend lookupBackendactiveBackendMayEraseTypebuiltinBackends WarningNameOverlappingTokensWarning_UnsupportedAttribute_MultipleAttributes_LibUnknownField_EmptyAbstract_EmptyConstructor_ EmptyField_EmptyGeneralize_EmptyInstance_ EmptyMacro_ EmptyMutual_EmptyPostulate_EmptyPrimitive_ EmptyPrivate_EmptyRewritePragma_ EmptyWhere_InvalidCatchallPragma_InvalidConstructor_InvalidConstructorBlock_InvalidCoverageCheckPragma_InvalidNoPositivityCheckPragma_InvalidNoUniverseCheckPragma_InvalidRecordDirective_InvalidTerminationCheckPragma_MissingDeclarations_MissingDefinitions_NotAllowedInMutual_OpenPublicAbstract_OpenPublicPrivate_ PolarityPragmasButNotPostulates_PragmaCompiled_PragmaNoTerminationCheck_ShadowingInTelescope_UnknownFixityInMixfixDecl_UnknownNamesInFixityDecl_UnknownNamesInPolarityPragmas_UselessAbstract_UselessInstance_UselessPrivate_AbsurdPatternRequiresNoRHS_,AsPatternShadowsConstructorOrPatternSynonym_CantGeneralizeOverSorts_ClashesViaRenaming_CoverageIssue_CoverageNoExactSplit_DeprecationWarning_DuplicateUsing_FixityInRenamingModule_GenericNonFatalError_GenericUseless_GenericWarning_IllformedAsClause_InstanceArgWithExplicitArg_InstanceWithExplicitArg_InstanceNoOutputTypeName_InversionDepthReached_ModuleDoesntExport_NoGuardednessFlag_ NotInScope_NotStrictlyPositive_ OldBuiltin_PragmaCompileErased_RewriteMaybeNonConfluent_RewriteNonConfluent_RewriteAmbiguousRules_RewriteMissingRule_ SafeFlagEta_SafeFlagInjective_SafeFlagNoCoverageCheck_SafeFlagNonTerminating_SafeFlagNoPositivityCheck_SafeFlagNoUniverseCheck_SafeFlagPolarity_SafeFlagPostulate_SafeFlagPragma_SafeFlagTerminating_&SafeFlagWithoutKFlagPrimEraseEquality_TerminationIssue_UnreachableClauses_UnsolvedConstraints_UnsolvedInteractionMetas_UnsolvedMetaVariables_UselessHiding_UselessInline_#UselessPatternDeclarationForRecord_UselessPublic_ UserWarning_WithoutKFlagPrimEraseEquality_WrongInstanceDeclaration_CoInfectiveImport_InfectiveImport_DuplicateFieldsWarning_TooManyFieldsWarning_WarningModeErrorUnknown NoNoError WarningMode _warningSet _warn2Error warningSet warn2ErrordefaultWarningSetdefaultWarningModeprettyWarningModeErrorwarningModeUpdate warningSets noWarningsunsolvedWarningsincompleteMatchWarnings errorWarnings allWarnings usualWarningsstring2WarningNamewarningName2String usageWarning$fNFDataWarningName$fNFDataWarningMode$fEqWarningMode$fShowWarningMode$fGenericWarningMode$fEqWarningName$fOrdWarningName$fShowWarningName$fReadWarningName$fEnumWarningName$fBoundedWarningName$fGenericWarningName ParseResultParseOk ParseFailed ParseWarningOverlappingTokensWarningUnsupportedAttributeMultipleAttributes warnRange ParseErrorOverlappingTokensErrorInvalidExtensionError ReadFileError errSrcFileerrPoserrInput errPrevTokenerrMsgerrRangeerrPath errValidExts errIOError ParseFlagsparseKeepComments LayoutStatus Tentative ConfirmedColumn LayoutBlockLayout LayoutContextLexState ParseStatePState parseSrcFileparsePos parseLastPosparseInp parsePrevCharparsePrevToken parseLayoutparseLayStatus parseLayKw parseLexState parseFlags parseWarningsparseWarningName parseError parseWarning initStatedefaultParseFlagsparsePosString parseFromSrc setParsePos setLastPos setPrevTokengetParseInterval getLexState pushLexState popLexState getParseFlags parseErrorAt parseError'parseErrorRangelexError getContext setContext modifyContexttopBlockpopBlock pushBlockresetLayoutStatus$fHasRangeParseError$fPrettyParseError$fHasRangeParseWarning$fPrettyParseWarning$fNFDataParseWarning$fShowParseResult$fMonadStateParseStateParser$fMonadErrorParseErrorParser$fShowParseState$fDataParseWarning$fShowParseWarning$fShowParseError$fShowParseFlags$fShowLayoutBlock$fEqLayoutStatus$fShowLayoutStatusHelp GeneralHelpHelpFor allHelpTopicshelpTopicUsagestring2HelpTopic$fNFDataHelpTopic $fNFDataHelp$fEqHelp $fShowHelp $fGenericHelp $fEqHelpTopic$fShowHelpTopic$fGenericHelpTopicLibM LibErrorIOLibState LibError' LibNotFound AmbiguousLib OtherErrorLibError LibWarning' UnknownField LibWarningLibPositionInfo libFilePos lineNumPosfilePos LineNumber AgdaLibFile_libName_libFile _libIncludes _libDepends _libPragmas ProjectConfigDefaultProjectConfig configRootconfigAgdaLibFilesExecutablesFileefPathefExistsExeName LibrariesFilelfPathlfExistsLibNamelibNameForCurrentDir emptyLibFilelibNamelibFile libIncludes libDepends libPragmaslibraryWarningNamewarnings warnings' raiseErrors' raiseErrorsgetCachedProjectConfigstoreCachedProjectConfiggetCachedAgdaLibFilestoreCachedAgdaLibFileformatLibPositionInfoformatLibError$fNFDataExecutablesFile$fNFDataProjectConfig$fNFDataAgdaLibFile$fNFDataLibPositionInfo$fNFDataLibWarning'$fPrettyLibWarning'$fNFDataLibWarning$fPrettyLibWarning$fShowLibError'$fShowLibWarning$fDataLibWarning$fGenericLibWarning$fShowLibWarning'$fDataLibWarning'$fGenericLibWarning'$fShowLibPositionInfo$fDataLibPositionInfo$fGenericLibPositionInfo$fShowAgdaLibFile$fGenericAgdaLibFile$fGenericProjectConfig$fShowExecutablesFile$fDataExecutablesFile$fGenericExecutablesFile$fShowLibrariesFilerunP parseLibFiletrimLineComment splitCommas$fShowGenericLineRangesfromtorangesInvariant overlapping overlappingsrangeToPositionsrangesToPositionsrToR rangeToRangeminus $fNFDataRange $fNullRange $fEqRanges $fShowRanges$fNFDataRanges $fEqRange $fOrdRange $fShowRangeRangeMaprangeMapPairIntIsBasicRangeMaptoMap coveringRangeseveralrangeMapInvariant'fromNonOverlappingNonEmptyAscendingListinsideAndOutside restrictTo$fNFDataPairInt$fMonoidRangeMap$fSemigroupRangeMap$fIsBasicRangeMapaRangeMap$fNullRangeMap$fShowRangeMap$fNFDataRangeMap $fShowPairIntshift shiftFromshifter substitutermap'subst'applyselffix curriedApply curriedLambdaempvinePrettiesprettiesIndentGroupBesideAboveEncloseSpaceminifiedCodeLinesLength$++$indentByenclosevsepunescape unescapesblockmodname variableNameisValidJSIdent $fMonoidDoc$fSemigroupDoc $fIsStringDoc$fPrettyModule$fPrettyComment$fPrettyMemberId$fPrettyGlobalId$fPrettyLocalId $fPretty(,) $fPrettyExp $fPrettiesMap$fPrettiesNonEmpty $fPretties[]LocalTerminationEnvsizeAndBoundVarsLiftlift'Unify UnifiesTounify' notequal' AssignmentsReplace ReplaceWithreplace'SolCSPatI CSPatConAppCSPatVarCSPatExpCSWithCSAbsurd CSOmittedArgCSCtxCSPatHI abspatvarnamecostCaseSplitVeryHighcostCaseSplitHighcostCaseSplitLowcostAddVarDepthdrophidcaseSplitSearchcaseSplitSearch' infertypevarreplace betareduce concatargsreplacepunifynotequalunifyVarunifyexplift removevarfindpermfreevars applypermrenseqctx depthofvarlocalTerminationEnvlocalTerminationSidecondgetblks $fRenamingHI$fRenamingCSPatI$fReplaceArgListArgList $fReplaceMMu$fReplaceExpMM$fReplaceAbsAbs$fUnifyArgList $fUnifyExp $fUnifyAbs $fUnifyMM $fLiftArgList $fLiftExp$fLiftMM $fLiftAbs$fLocalTerminationEnvMM$fLocalTerminationEnv(,)$fLocalTerminationEnvMM0$fLocalTerminationEnv[]$fLocalTerminationEnvCSPatI$fLocalTerminationEnvHIDAGdagGraphdagComponentMap dagNodeMap WithUniqueInt uniqueInt otherValueNodessrcNodestgtNodesallNodesEdgesourcetargetlabelGraphgraphedges neighbours neighboursMap edgesFromedgesTodiagonalnodes sourceNodes targetNodes computeNodes isolatedNodesdiscreteacyclic fromNodes fromNodeSet fromEdges fromEdgesWith insertEdgeinsertEdgeWith unionsWith mapWithEdge transposeEdgeclean filterNodes removeNodes removeNode removeEdge filterEdgesfilterNodesKeepingEdges renameNodesrenameNodesMonotonic addUniqueInts composeWithsccs'sccs dagInvariant oppositeDAG reachablesccDAG'sccDAG reachableFromreachableFromSetwalkSatisfying longestPathscomplete completeIter1gaussJordanFloydWarshallMcNaughtonYamadaReference(gaussJordanFloydWarshallMcNaughtonYamadatransitiveClosuretransitiveReduction $fShowGraph $fPrettyGraph$fFunctorGraph $fPrettyEdge$fPrettyWithUniqueInt$fOrdWithUniqueInt$fEqWithUniqueInt$fShowWithUniqueInt$fFunctorWithUniqueInt$fEqEdge $fOrdEdge $fFunctorEdge $fShowEdge $fEqGraphtopSortBounds lowerBounds upperBounds mustBeFiniteBound SetToInfty setToInfty ConGraphsConGraphHypGraphHyp'HypGraphsNodeNodeZero NodeInfty NodeRigidNodeFlexLabelLInflcmploffsetNegativenegativeWeightInfinity LabelledEdgeEdge'srcdest lookupEdge graphToList graphFromListoutgoingincomingsetFoldl transClostoWeight isFlexNode isZeroNode isInftyNodenodeToSizeExpr emptyGraphsmentionsaddEdgereflClosimpliesnodeFromSizeExpredgeFromConstraintgraphFromConstraintsgraphsFromConstraintshypGraphhypConnsimplifyWithHypothesesconstraintGraphconstraintGraphs infinityFlexs emptyBoundedgeToLowerBoundedgeToUpperBoundgraphToLowerBoundsgraphToUpperBoundsboundssmallestlargest commonSuccs commonPredslub'glb'lubglbfindRigidBelow solveGraph solveGraphsverifySolution iterateSolver testSuccstestLub$fPlusSizeExpr'WeightSizeExpr'$fPlusOffsetWeightWeight $fDioidWeight$fPlusWeightOffsetWeight $fNumWeight $fEnumWeight $fTopWeight$fMeetSemiLatticeWeight $fOrdWeight$fPrettyWeight$fNegativeWeight$fNegativeOffset $fNegativeInt$fPlusSizeExpr'LabelSizeExpr' $fDioidLabel $fTopLabel$fMeetSemiLatticeLabel $fPrettyLabel $fOrdLabel $fEqLabel$fNegativeLabel $fPrettyNode $fDioidEdge $fTopEdge$fMeetSemiLatticeEdge$fNegativeEdge$fNegativeGraph $fNegative[]$fSetToInftyfGraph$fSetToInftyfEdge$fSetToInftyfNode $fShowNode$fEqNode $fOrdNode $fShowLabel $fEqWeight $fShowWeight OccurrenceMixedJustNegJustPos StrictPosGuardPosUnusedWhere LeftOfArrowDefArgUnderInfVarArgMetaArg ConArgType IndArgTypeInClauseMatchedIsIndexInDefOf OccursWhereboundToEverySomeproductOfEdgesInBoundedWalk $fPrettyWhere $fNFDataWhere$fSizedOccursWhere$fPrettyOccursWhere$fNFDataOccursWhere$fNullOccurrence$fStarSemiRingOccurrence$fSemiRingOccurrence$fKillRangeOccurrence$fNFDataOccurrence$fPrettyOccurrence$fDataOccurrence$fShowOccurrence$fEqOccurrence$fOrdOccurrence$fEnumOccurrence$fBoundedOccurrence$fShowOccursWhere$fEqOccursWhere$fOrdOccursWhere$fDataOccursWhere$fGenericOccursWhere $fShowWhere $fEqWhere $fOrdWhere $fDataWhere$fGenericWhereAppView HoleContent HoleContent'HoleContentExprHoleContentRewriteMod modPragmasmodDeclsPragma OptionsPragma BuiltinPragma RewritePragma ForeignPragma CompilePragma StaticPragma InlinePragmaImpossiblePragma EtaPragmaWarningOnUsageWarningOnImportInjectivePragma DisplayPragmaCatchallPragmaTerminationCheckPragmaNoCoverageCheckPragmaNoPositivityCheckPragmaPolarityPragmaNoUniverseCheckPragma OpenShortHandDoOpenDontOpenModuleApplication SectionAppRecordModuleInstance DeclarationFieldSig GeneralizeField FunClauseDataSigDataDef RecordSig RecordDefRecordDirectiveInfix PatternSynMutualInterleavedMutualPrivate InstanceBLoneConstructorMacro PrimitiveOpenImport ModuleMacro UnquoteDecl UnquoteDefEtaTypeSignatureOrInstanceBlock TypeSignatureAsNameAsName'asNameasRangeHidingDirectiveRenamingDirective ExprWhere LamClauselamLHSlamRHS lamCatchAll WhereClause'NoWhereAnyWhere SomeWhere WhereClauseRHS' AbsurdRHSRHSLHSCoreLHSHeadLHSProjLHSWith LHSEllipsis lhsDefNamelhsPats lhsDestructor lhsPatsLeftlhsFocuslhsHeadlhsWithPatternslhsEllipsisRangelhsEllipsisPatWithExpr RewriteEqnlhsOriginalPattern lhsRewriteEqn lhsWithExpr Telescope Telescope1 TypedBinding'TBind TypedBindingTacticAttribute BoundNameBName boundName bnameFixity bnameTactic LamBinding' DomainFree DomainFull LamBindingBinderBinder' binderPattern binderNameDoStmtDoBindDoThenDoLetPatternIdentPQuotePAppPRawAppPOpAppPHiddenP InstancePParenPWildPAbsurdPAsPDotPLitPRecPEqualP EllipsisPWithP OpAppArgs' OpAppArgsExpr QuestionMarkRawAppOpAppWithApp HiddenArg InstanceArg AbsurdLam ExtendedLamFunRec RecUpdateParen IdiomBracketsDoBlockAbsurdAsDot DoubleDotETelQuote QuoteTermTacticUnquoteDontCareEqualEllipsis GeneralizedRecordAssignmentsRecordAssignmentModuleAssignment _qnameModA _exprModA_importDirModAFieldAssignmentFieldAssignment' _nameFieldA _exprFieldASyntaxBindingLambdaOrdinary fromOrdinary nameFieldA exprFieldA mkBinder_mkBinderdropTypeAndModality mkBoundName_ mkBoundNamelamBindingsToTelescopemakePimkLammkTLetisRecordDirectivetopLevelModuleNamespanAllowedBeforeModulerawApprawAppPappView unAppViewisSingleIdentifierP removeParenP observeHidingobserveRelevanceobserveModifiers returnExpr isPatternexprToPatternWithHoles isAbsurdP isBinderP$fNFDataFieldAssignment'$fKillRangeFieldAssignment'$fHasRangeFieldAssignment' $fNFDataRHS'$fNFDataWhereClause'$fNullWhereClause'$fNFDataRecordDirective$fKillRangeRecordDirective$fHasRangeRecordDirective$fNFDataOpenShortHand$fNFDataDoStmt$fNFDataBoundName$fNFDataBinder'$fNFDataLamBinding'$fNFDataLamClause$fNFDataModuleAssignment $fNFDataLHS $fNFDataOpApp$fNFDataModuleApplication$fNFDataTypedBinding'$fNFDataAsName'$fNFDataPragma$fNFDataDeclaration$fNFDataPattern $fNFDataExpr$fKillRangeWhereClause'$fKillRangeTypedBinding'$fKillRangeRHS'$fKillRangePragma$fKillRangePattern$fKillRangeOpApp$fKillRangeModuleApplication$fKillRangeDoStmt$fKillRangeLamClause$fKillRangeLHS$fKillRangeLamBinding'$fKillRangeExpr$fKillRangeDeclaration$fKillRangeBoundName$fKillRangeBinder'$fKillRangeAsName'$fKillRangeModuleAssignment$fSetRangeTypedBinding'$fSetRangePattern$fHasRangePattern$fHasRangeAsName'$fHasRangePragma$fHasRangeDoStmt$fHasRangeLamClause$fHasRangeRHS' $fHasRangeLHS$fHasRangeDeclaration$fHasRangeModuleAssignment$fHasRangeModuleApplication$fHasRangeWhereClause'$fHasRangeBoundName$fHasRangeLamBinding'$fHasRangeTypedBinding'$fHasRangeBinder'$fHasRangeExpr$fHasRangeOpApp$fLensRelevanceTypedBinding'$fLensHidingTypedBinding'$fLensHidingLamBinding'$fHasRangeLHSCore$fFunctorHoleContent'$fFoldableHoleContent'$fTraversableHoleContent' $fDataLHSCore $fEqLHSCore $fDataPragma $fEqPragma $fDataPattern $fEqPattern $fDataExpr$fEqExpr$fDataDeclaration$fEqDeclaration$fDataModuleApplication$fEqModuleApplication$fDataTypedBinding'$fFunctorTypedBinding'$fFoldableTypedBinding'$fTraversableTypedBinding'$fEqTypedBinding'$fDataBoundName $fEqBoundName $fDataBinder' $fEqBinder'$fFunctorBinder'$fFoldableBinder'$fTraversableBinder' $fDataLHS$fEqLHS$fDataLamBinding'$fFunctorLamBinding'$fFoldableLamBinding'$fTraversableLamBinding'$fEqLamBinding'$fDataLamClause $fEqLamClause $fDataDoStmt $fEqDoStmt $fDataOpApp$fFunctorOpApp$fFoldableOpApp$fTraversableOpApp $fEqOpApp$fDataModuleAssignment$fEqModuleAssignment$fDataOpenShortHand$fEqOpenShortHand$fShowOpenShortHand$fGenericOpenShortHand$fDataRecordDirective$fEqRecordDirective$fShowRecordDirective $fDataAsName' $fShowAsName'$fFunctorAsName'$fFoldableAsName'$fTraversableAsName' $fEqAsName'$fDataWhereClause'$fEqWhereClause'$fFunctorWhereClause'$fFoldableWhereClause'$fTraversableWhereClause' $fDataRHS' $fFunctorRHS'$fFoldableRHS'$fTraversableRHS'$fEqRHS'$fDataFieldAssignment'$fFunctorFieldAssignment'$fFoldableFieldAssignment'$fTraversableFieldAssignment'$fShowFieldAssignment'$fEqFieldAssignment'Tel NamedBinding withHiding namedBindingbracesAndSemicolons prettyHidingprettyRelevanceprettyQuantity prettyErasedprettyCohesion prettyTactic prettyTactic' isLabeledsmashTelpHasEta0pRecordDirectivepRecord prettyOpApp$fPrettyImportedName'$fPrettyRenaming'$fPrettyUsing'$fPrettyImportDirective'$fPrettyPattern $fPrettyNamed $fPrettyArg$fPrettyFixity'$fPrettyGenPart$fPrettyFixity$fPrettyFixityLevel$fPrettyAssociativity$fPrettyPragma$fPrettyOpenShortHand$fPrettyDeclaration$fPrettyDoStmt$fPrettyModuleApplication$fPrettyLHSCore $fPrettyLHS$fPrettyWhereClause' $fPrettyRHS'$fPrettyBinder'$fPrettyBoundName$fPrettyLamClause$fPrettyModuleAssignment$fPrettyFieldAssignment'$fPrettyEither$fPrettyMaybePlaceholder $fPrettyOpApp$fPrettyModality$fPrettyCohesion$fPrettyQuantity$fPrettyQωOrigin$fPrettyQ1Origin$fPrettyQ0Origin$fPrettyRelevance$fPrettyWithHiding$fPrettyThingWithFixity$fPrettyTypedBinding'$fPrettyLamBinding'$fPrettyNamedBinding $fPrettyTel $fPrettyExpr $fShowDoStmt$fShowModuleApplication$fShowWhereClause'$fShowLamClause $fShowLHSCore $fShowLHS $fShowRHS' $fShowPragma$fShowRenaming' $fShowUsing'$fShowImportDirective'$fShowModuleAssignment$fShowBoundName$fShowLamBinding'$fShowTypedBinding' $fShowBinder' $fShowPattern$fShowDeclaration $fShowOpApp $fShowExprSplitTreeLabellblConstructorName lblSplitArglblLazy lblBindingsSplitTagSplitConSplitLit SplitCatchall SplitTrees' LazySplit StrictSplit SplitTree' SplittingDoneSplitAt splitBindingssplitArg splitLazy splitTrees SplitTrees SplitTreetoTreetoTrees$fNFDataLazySplit$fNFDataSplitTree'$fKillRangeSplitTree'$fPrettySplitTree'$fNFDataSplitTag$fKillRangeSplitTag$fPrettySplitTag$fPrettySplitTreeLabel$fShowSplitTag $fEqSplitTag $fOrdSplitTag$fDataSplitTag$fGenericSplitTag$fDataSplitTree'$fShowSplitTree'$fGenericSplitTree'$fDataLazySplit$fShowLazySplit $fEqLazySplit$fOrdLazySplit$fGenericLazySplitNotationSection sectNotationsectKind sectLevel sectIsSection NewNotationnotaName notaNames notaFixitynotationnotaIsOperator NotationKind InfixNotationPrefixNotationPostfixNotationNonfixNotation NoNotationHoleName LambdaHoleExprHole _bindHoleNameholeName isLambdaHole stringParts holeTargetisAHole isNormalHole isBindingHole notationKind mkNotationnamesToNotationuseDefaultFixity notationNamessyntaxOfmergeNotations _notaFixity noSection$fNFDataNotationKind$fPrettyNotationKind$fNFDataNewNotation$fPrettyNewNotation$fLensFixityNewNotation$fNFDataNotationSection$fPrettyNotationSection$fShowNotationSection$fGenericNotationSection$fShowNewNotation$fGenericNewNotation$fEqNotationKind$fShowNotationKind$fGenericNotationKindPhaseParsingDeserializationScopingTyping Termination Positivity InjectivityProjectionLikenessCoverage Highlighting SerializationDeadCodeRecCheckReduceLevelCompareWith CompactionBuildInterface BinaryEncodeCompress OperatorsExprOperatorsPatternFree OccursCheckCheckLHSCheckRHSInstanceSearch UnifyIndicesInverseScopeLookup TopModule DefinitionisModuleAccount isDefAccountisInternalAccount benchmarksbillToIO billToPure$fMonadBenchIO $fNFDataPhase $fPrettyPhase $fEqPhase $fOrdPhase $fShowPhase$fGenericPhase CPatternLike foldrCPatterntraverseCPatternAtraverseCPatternMLHSPatternViewLHSAppPLHSWithPIsWithPisWithP HasEllipsis hasEllipsis IsEllipsis isEllipsislhsPatternView lhsCoreApp lhsCoreWithlhsCoreAddSpinemapLhsOriginalPatternmapLhsOriginalPatternM hasCopatterns foldCPatternpreTraverseCPatternMpostTraverseCPatternM mapCPattern patternQNames patternNameshasWithPatterns isWithPatternnumberOfWithPatterns hasEllipsis'reintroduceEllipsis splitEllipsispatternAppView$fIsEllipsisPattern$fHasEllipsisLHS$fHasEllipsisPattern$fIsWithPNamed $fIsWithPArg$fIsWithPPattern$fCPatternLikeFieldAssignment'$fCPatternLikeMaybe$fCPatternLikeList2$fCPatternLikeNonEmpty$fCPatternLike[]$fCPatternLikeNamed$fCPatternLikeArg$fCPatternLike(,)$fCPatternLikePatternNKInPrePostNon OperatorType ParseSectionsDoNotParseSectionsIsExprexprView unExprView patternViewExprViewLocalVWildVOtherVAppVOpAppV HiddenArgV InstanceArgVLamVParenV placeholdermaybePlaceholdersatNoPlaceholderpartPatLeastTwoParts patternBinderopPargsPappP$fIsExprPattern $fIsExprExpr$fHasRangeExprView$fEqParseSections$fShowParseSectionsExprLikemapExprfoldExpr traverseExpr$fExprLikeDeclaration$fExprLikeModuleApplication$fExprLikeDoStmt$fExprLikeLamClause$fExprLikeRewriteEqn' $fExprLikeLHS$fExprLikeLamBinding'$fExprLikeOpApp$fExprLikeModuleAssignment$fExprLikeFieldAssignment'$fExprLikeExpr$fExprLike(,,,)$fExprLike(,,) $fExprLike(,)$fExprLikeEither$fExprLikeWhereClause'$fExprLikeTypedBinding'$fExprLikeRHS'$fExprLikeMaybePlaceholder$fExprLikeWithHiding$fExprLikeNamed $fExprLikeArg$fExprLikeMaybe$fExprLikeList2$fExprLikeNonEmpty $fExprLike[]$fExprLikeBool$fExprLikeQName$fExprLikeName $fExprLike()DoWarnNoWarnMonadFixityErrorthrowMultipleFixityDeclsthrowMultiplePolarityPragmaswarnUnknownNamesInFixityDecl!warnUnknownNamesInPolarityPragmaswarnUnknownFixityInMixfixDecl#warnPolarityPragmasButNotPostulatesFixitiesfixitiesAndPolarities$fMonoidMonadicFixPol$fSemigroupMonadicFixPol$fMonoidDeclaredNames$fSemigroupDeclaredNames $fEqDoWarn $fShowDoWarn DataRecOrFunDataNameRecNameFunName _kindPosCheck _kindUniCheckInMutual NotInMutual KindOfBlockPostulateBlockPrimitiveBlock InstanceBlock FieldBlock DataBlockConstructorBlockDeclNumInterleavedDeclInterleavedDataInterleavedFuninterleavedDeclNuminterleavedDeclSiginterleavedDataConsinterleavedFunClausesInferredMutualinferredChecks inferredBlockinferredLeftovers MutualChecksmutualTerminationmutualCoveragemutualPositivityNiceTypeSignatureNiceConstructorCatchallMeasureNiceDeclarationAxiom NiceFieldPrimitiveFunction NiceMutual NiceModuleNiceModuleMacroNiceOpen NiceImport NicePragma NiceRecSig NiceDataSig NiceFunClauseFunSigFunDef NiceDataDefNiceLoneConstructor NiceRecDefNicePatternSynNiceGeneralizeNiceUnquoteDeclNiceUnquoteDefextendInferredBlockisInterleavedFunisInterleavedDatainterleavedDecldeclName isFunNamesameKindterminationCheck coverageCheckpositivityCheck mutualChecks universeCheck$fNFDataClause$fPrettyNiceDeclaration$fHasRangeNiceDeclaration$fNFDataNiceDeclaration$fMonoidMutualChecks$fSemigroupMutualChecks$fPrettyDataRecOrFun$fEqDataRecOrFun$fDataDataRecOrFun$fShowDataRecOrFun $fEqInMutual$fShowInMutual$fDataKindOfBlock$fEqKindOfBlock$fOrdKindOfBlock$fShowKindOfBlock$fDataNiceDeclaration$fShowNiceDeclaration$fGenericNiceDeclaration $fDataClause $fShowClause$fGenericClauseDeclarationWarning' EmptyAbstractEmptyConstructor EmptyFieldEmptyGeneralize EmptyInstance EmptyMacro EmptyMutualEmptyPostulate EmptyPrivateEmptyPrimitiveInvalidCatchallPragmaInvalidConstructorInvalidConstructorBlockInvalidCoverageCheckPragmaInvalidNoPositivityCheckPragmaInvalidNoUniverseCheckPragmaInvalidRecordDirectiveInvalidTerminationCheckPragmaMissingDeclarationsMissingDefinitionsNotAllowedInMutualOpenPublicPrivateOpenPublicAbstractPolarityPragmasButNotPostulatesPragmaNoTerminationCheckPragmaCompiledShadowingInTelescopeUnknownFixityInMixfixDeclUnknownNamesInFixityDeclUnknownNamesInPolarityPragmasUselessAbstractUselessInstanceUselessPrivateDeclarationWarning dwLocation dwWarningDeclarationException'MultipleEllipses InvalidNameDuplicateDefinitionDuplicateAnonDeclarationMissingWithClausesWrongDefinitionDeclarationPanicWrongContentBlockAmbiguousFunClausesAmbiguousConstructorInvalidMeasureMutualUnquoteDefRequiresSignature BadMacroDefDeclarationException deLocation deExceptiondeclarationWarningNamedeclarationWarningName'unsafeDeclarationWarningunsafeDeclarationWarning'$fPrettyDeclarationException'$fHasRangeDeclarationException'$fHasRangeDeclarationException$fNFDataDeclarationWarning'$fPrettyDeclarationWarning'$fHasRangeDeclarationWarning'$fNFDataDeclarationWarning$fPrettyDeclarationWarning$fHasRangeDeclarationWarning$fShowDeclarationWarning$fGenericDeclarationWarning$fDataDeclarationWarning'$fShowDeclarationWarning'$fGenericDeclarationWarning'$fDataDeclarationException'$fShowDeclarationException' NiceWarningsLoneSigsLoneSig loneSigRange loneSigName loneSigKindNiceEnv _loneSigs_termChk_posChk_uniChk _catchall_covChkniceWarn_nameIdNiceunNicerunNice initNiceEnv lensNameId nextNameIdloneSigs addLoneSig removeLoneSiggetSig noLoneSigsforgetLoneSigs checkLoneSigsloneFunsloneSigsFromLoneNamesterminationCheckPragmawithTerminationCheckPragmacoverageCheckPragmawithCoverageCheckPragmapositivityCheckPragmawithPositivityCheckPragmauniverseCheckPragmawithUniverseCheckPragmagetUniverseCheckFromSigcatchallPragmapopCatchallPragmawithCatchallPragma niceWarningdeclarationExceptiondeclarationWarning'declarationWarning $fFunctorNice$fApplicativeNice $fMonadNice$fMonadStateNiceEnvNice$$fMonadErrorDeclarationExceptionNice LensAttribute AttributeRelevanceAttributeQuantityAttributeCohesionAttribute LockAttributerelevanceAttributeTablequantityAttributeTablecohesionAttributeTablelockAttributeTable attributesMapstringToAttributeexprToAttribute setAttribute setAttributessetPristineRelevancesetPristineQuantitysetPristineCohesionsetPristineLocksetPristineAttributesetPristineAttributesisRelevanceAttributeisQuantityAttributeisTacticAttributerelevanceAttributesquantityAttributestacticAttributes$fKillRangeAttribute$fSetRangeAttribute$fHasRangeAttribute$fShowAttribute CompareResult Dominates IsDominated dominated notDominated dominator FavoritescompareWithFavoritescompareFavorites unionComparedinsertCompared$fMonoidFavorites$fSemigroupFavorites $fEqFavorites$fFoldableFavorites$fShowFavorites$fNullFavorites$fSingletonaFavorites AssocList mapWithKeyMSetBindingSitesetBindingSiteAllowAmbiguousNamesAmbiguousAnythingAmbiguousConProjsAmbiguousNothing UsingOrHiding UsingOnly HidingOnly ResolvedNameVarName DefinedName FieldNameConstructorNamePatternSynResName UnknownName resolvedVarresolvedBindingSourceAbstractModule AbsModuleamodName amodLineage NameMetadata NoMetadataGeneralizedVarsMetadata AbstractNameAbsName anameName anameKind anameLineage anameMetadata WhyInScopeDefinedOpenedAppliedWithKindtheKind kindedThing KindsOfNamesAllKindsOfNamesSomeKindsOfNamesExceptKindsOfNames KindOfNameConName CoConNameFldNamePatternSynNameGeneralizeNameDisallowedGeneralizeName MacroName QuotableName AxiomNamePrimName OtherDefName NameOrModule NameNotModule ModuleNotName inScopeTag InScopeTagNameTag ModuleTag InScopeSetModulesInScope NamesInScope ThingsInScope NameSpacensNames nsModules nsInScopeLocalVarlocalVarlocalBindingSourcelocalShadowedBy BindingSource LambdaBound PatternBoundLetBound WithBound LocalVars ModuleMapNameMap NameMapEntry qnameKind qnameConcrete ScopeInfo _scopeCurrent _scopeModules_scopeVarsToBind _scopeLocals_scopePrecedence_scopeInverseName_scopeInverseModule _scopeInScope_scopeFixities_scopePolaritiesScopeNameSpaces NameSpaceId PrivateNSPublicNS ImportedNSDataOrRecordModule IsDataModuleIsRecordModuleScope scopeName scopeParentsscopeNameSpaces scopeImportsscopeDatatypeModule allNameSpaceslocalNameSpacenameSpaceAccessscopeNameSpaceupdateScopeNameSpacesupdateScopeNameSpacesM shadowLocalpatternToModuleBoundnotShadowedLocalnotShadowedLocals scopeCurrent scopeModulesscopeVarsToBind scopeLocalsscopePrecedencescopeInverseNamescopeInverseModule scopeInScope scopeFixitiesscopePolaritiesscopeFixitiesAndPolaritiesupdateVarsToBind setVarsToBindupdateScopeLocalssetScopeLocals inNameSpace isDefName isConName conKindOfNameconKindOfName'approxConInductionexactConInduction exactConNameelemKindsOfNamesallKindsOfNamessomeKindsOfNamesexceptKindsOfNames lensAnameName lensAmodName mergeNamesmergeNamesManyemptyNameSpace mapNameSpace zipNameSpace mapNameSpaceM emptyScopeemptyScopeInfomapScope mapScope_ mapScopeNS mapScopeM mapScopeM_zipScope zipScope_recomputeInScopeSets filterScopeallNamesInScopeallNamesInScope'exportedNamesInScope namesInScopeallThingsInScope thingsInScope mergeScope mergeScopessetScopeAccess setNameSpacemodifyNameSpaceaddNameToScoperemoveNameFromScopeaddModuleToScope usingOrHidingapplyImportDirectiveapplyImportDirective_renameCanonicalNamesrestrictPrivaterestrictLocalPrivatewithoutPrivatesdisallowGeneralizedVarsinScopeBecause publicModules publicNameseverythingInScopeeverythingInScopeQualified flattenScopeconcreteNamesInScope scopeLookup scopeLookup' isNameInScopeisNameInScopeUnqualifiedinverseScopeLookupNameinverseScopeLookupName'inverseScopeLookupName''inverseScopeLookupModuleinverseScopeLookupModule'recomputeInverseScopeMapsprettyNameSpace blockOfLines$fPrettySuffix$fNFDataDataOrRecordModule$fNFDataNameSpaceId$fPrettyNameSpaceId$fNFDataBindingSource$fPrettyBindingSource$fNFDataNameOrModule$fNFDataKindOfName$fNFDataNameMapEntry$fSemigroupNameMapEntry$fNFDataWhyInScope$fNFDataNameMetadata$fNFDataAbstractName$fSetRangeAbstractName$fHasRangeAbstractName$fPrettyAbstractName$fLensFixityAbstractName$fOrdAbstractName$fEqAbstractName$fNFDataLocalVar$fPrettyLocalVar $fOrdLocalVar $fEqLocalVar$fNFDataAbstractModule$fPrettyAbstractModule$fOrdAbstractModule$fEqAbstractModule$fInScopeAbstractModule$fInScopeAbstractName$fNFDataNameSpace$fPrettyNameSpace $fNFDataScope $fPrettyScope $fNullScope$fNFDataScopeInfo$fKillRangeScopeInfo$fPrettyScopeInfo$fNullScopeInfo $fEqScopeInfo$fNFDataResolvedName$fPrettyResolvedName$fSetBindingSiteAbstractModule$fSetBindingSiteAbstractName$fSetBindingSiteModuleName$fSetBindingSiteQName$fSetBindingSiteName$fSetBindingSite[]$fEqAllowAmbiguousNames$fDataResolvedName$fShowResolvedName$fEqResolvedName$fGenericResolvedName$fDataScopeInfo$fShowScopeInfo$fGenericScopeInfo $fDataScope $fEqScope $fShowScope$fGenericScope$fDataNameSpace $fEqNameSpace$fShowNameSpace$fGenericNameSpace$fDataAbstractModule$fShowAbstractModule$fGenericAbstractModule$fDataLocalVar$fShowLocalVar$fGenericLocalVar$fDataAbstractName$fShowAbstractName$fGenericAbstractName$fDataNameMetadata$fShowNameMetadata$fGenericNameMetadata$fDataWhyInScope$fShowWhyInScope$fGenericWhyInScope$fDataWithKind$fShowWithKind $fEqWithKind $fOrdWithKind$fFunctorWithKind$fFoldableWithKind$fTraversableWithKind$fDataNameMapEntry$fShowNameMapEntry$fGenericNameMapEntry$fEqKindOfName$fOrdKindOfName$fShowKindOfName$fDataKindOfName$fEnumKindOfName$fBoundedKindOfName$fGenericKindOfName$fDataNameOrModule$fEqNameOrModule$fOrdNameOrModule$fShowNameOrModule$fEnumNameOrModule$fBoundedNameOrModule$fGenericNameOrModule$fDataBindingSource$fShowBindingSource$fEqBindingSource$fGenericBindingSource$fDataNameSpaceId$fEqNameSpaceId$fBoundedNameSpaceId$fEnumNameSpaceId$fShowNameSpaceId$fGenericNameSpaceId$fDataDataOrRecordModule$fShowDataOrRecordModule$fEqDataOrRecordModule$fEnumDataOrRecordModule$fBoundedDataOrRecordModule$fGenericDataOrRecordModule ConPatLazy ConPatEager ConPatInfo conPatOrigin conPatInfo conPatLazyPatInfoPatRangeLHSInfolhsRange lhsEllipsis MutualInfomutualTerminationCheckmutualCoverageCheckmutualPositivityCheck mutualRangeDeclInfo declRangeDefInfo'DefInfo defFixity defAccess defAbstract defInstancedefMacrodefInfo defTacticLetInfoLetRange ModuleInfo minfoRange minfoAsTo minfoAsNameminfoOpenShortminfoDirectiveAppInfoappRange appOrigin appParensExprInfo ExprRangeMetaInfo metaRange metaScope metaNumbermetaNameSuggestion emptyMetaInfo exprNoRangedefaultAppInfodefaultAppInfo_ mkDefInfomkDefInfoInstance patNoRange$fNFDataMetaInfo$fKillRangeMetaInfo$fHasRangeMetaInfo$fKillRangeExprInfo$fHasRangeExprInfo$fNFDataAppInfo$fLensOriginAppInfo$fKillRangeAppInfo$fHasRangeAppInfo$fNFDataModuleInfo$fKillRangeModuleInfo$fSetRangeModuleInfo$fHasRangeModuleInfo$fKillRangeLetInfo$fHasRangeLetInfo$fNFDataDeclInfo$fKillRangeDeclInfo$fSetRangeDeclInfo$fHasRangeDeclInfo$fNFDataDefInfo'$fAnyIsAbstractDefInfo'$fLensIsAbstractDefInfo'$fKillRangeDefInfo'$fSetRangeDefInfo'$fHasRangeDefInfo'$fNFDataMutualInfo$fKillRangeMutualInfo$fHasRangeMutualInfo$fNullMutualInfo$fNFDataLHSInfo $fNullLHSInfo$fKillRangeLHSInfo$fHasRangeLHSInfo$fNFDataConPatLazy$fNFDataConPatInfo$fSetRangeConPatInfo$fKillRangeConPatInfo$fHasRangeConPatInfo$fDataConPatInfo$fEqConPatInfo$fShowConPatInfo$fGenericConPatInfo$fDataConPatLazy$fEqConPatLazy$fOrdConPatLazy$fShowConPatLazy$fBoundedConPatLazy$fEnumConPatLazy$fGenericConPatLazy $fDataPatInfo $fEqPatInfo $fNullPatInfo$fSemigroupPatInfo$fMonoidPatInfo $fShowPatInfo$fSetRangePatInfo$fHasRangePatInfo$fKillRangePatInfo$fNFDataPatInfo $fDataLHSInfo $fShowLHSInfo $fEqLHSInfo$fGenericLHSInfo$fDataMutualInfo$fShowMutualInfo$fEqMutualInfo$fGenericMutualInfo$fDataDefInfo'$fShowDefInfo' $fEqDefInfo'$fGenericDefInfo'$fDataDeclInfo$fShowDeclInfo $fEqDeclInfo$fGenericDeclInfo $fDataLetInfo $fShowLetInfo $fEqLetInfo $fNullLetInfo$fNFDataLetInfo$fDataModuleInfo$fEqModuleInfo$fShowModuleInfo$fGenericModuleInfo $fDataAppInfo $fShowAppInfo $fEqAppInfo $fOrdAppInfo$fGenericAppInfo$fDataExprInfo$fShowExprInfo $fEqExprInfo$fNullExprInfo$fNFDataExprInfo$fDataMetaInfo$fShowMetaInfo $fEqMetaInfo$fGenericMetaInfoConvertconvertHighlightingInfoBuilderHighlightingInfo DelayedMerge PositionMap positionMap RangePair rangePair TokenBasedNotOnlyTokenBasedDefinitionSite defSiteModule defSitePos defSiteHere defSiteAnchorAspectsaspect otherAspectsnotedefinitionSite tokenBased OtherAspect ErrorWarning DottedPattern UnsolvedMetaUnsolvedConstraintTerminationProblemPositivityProblemDeadcodeCoverageProblemIncompletePattern TypeChecksMissingDefinitionCatchallClauseConfluenceProblemNameKind GeneralizableFunctionArgumentAspect PrimitiveType BackgroundrangePairInvariantdelayedMergeInvarianthighlightingInfoInvariant highlightingInfoBuilderInvariant parserBasedkindOfNameToNameKind$fNFDataNameKind$fSemigroupNameKind$fNFDataAspect$fSemigroupAspect$fNFDataOtherAspect$fNFDataDefinitionSite$fSemigroupDefinitionSite$fEqDefinitionSite$fMonoidTokenBased$fSemigroupTokenBased$fNFDataAspects$fMonoidAspects$fSemigroupAspects $fEqAspects$fMonoidPositionMap$fSemigroupPositionMap#$fIsBasicRangeMapAspectsPositionMap$fShowDelayedMerge$fConvertDelayedMergeRangeMap $fConvertDelayedMergePositionMap$fConvertDelayedMergeRangeMap0$fConvertPositionMapRangeMap$fConvertRangeMapRangeMap$fConvertDelayedMergehl$$fIsBasicRangeMapAspectsDelayedMerge%$fIsBasicRangeMapAspectsDelayedMerge0$fIsBasicRangeMapaDelayedMerge!$fIsBasicRangeMapAspectsRangePair$fSemigroupDelayedMerge$fMonoidDelayedMerge$fShowPositionMap$fNFDataPositionMap$fShowRangePair$fNFDataRangePair $fShowAspects$fGenericAspects$fEqTokenBased$fShowTokenBased$fShowDefinitionSite$fGenericDefinitionSite$fEqOtherAspect$fOrdOtherAspect$fShowOtherAspect$fEnumOtherAspect$fBoundedOtherAspect$fGenericOtherAspect $fEqAspect $fShowAspect$fGenericAspect $fEqNameKind$fShowNameKind$fGenericNameKindInteractionOutputCallbackStatus GiveResultRemoveTokenBasedHighlighting DisplayInfoMakeCaseVariantResponseResp_HighlightingInfo Resp_StatusResp_JumpToErrorResp_InteractionPointsResp_GiveAction Resp_MakeCase Resp_SolveAllResp_DisplayInfoResp_RunningInfoResp_ClearRunningInfoResp_ClearHighlightingResp_DoneAbortingResp_DoneExiting defaultInteractionOutputCallbackDiagonalMatrixunMMIxrowcolSizerowscolssquaresupSize fromIndexList fromLists toSparseRowstoLists isSingleton zipAssocWith zipMatrices intersectWithinterAssocWith addColumnaddRow $fShowMatrix$fPartialOrdMatrix$fDiagonalMatrixb$fPrettyMatrix$fTransposeMatrix$fTransposeMIx$fTransposeSize $fEqMatrix $fOrdMatrix$fFunctorMatrix$fFoldableMatrix$fTraversableMatrix$fEqMIx$fOrdMIx $fShowMIx$fIxMIx$fEqSize $fOrdSize $fShowSizeNotWorsenotWorseOrderDecrMatincreasedecrease setUsabilitydecrorderMatisOrderleltunknown nonIncreasing decreasingisDecr.*. collapseOsupremuminfimum orderSemiring $fPrettyOrder$fPartialOrdOrder$fHasZeroOrder$fNotWorseMatrix$fNotWorseOrder $fEqOrder $fOrdOrder $fShowOrderCMSetcmSet CallMatrixAug augCallMatrix augCallInfoCallComb>*< CallMatrix CallMatrix'mat ArgumentIndexnoAug$fDiagonalCallMatrix'a$fPrettyCallMatrix'$fCallCombCallMatrix'$fPrettyCallMatrixAug$fCallCombCallMatrixAug$fNotWorseCallMatrixAug$fPartialOrdCallMatrixAug$fDiagonalCallMatrixAugOrder $fPrettyCMSet$fCallCombCMSet $fShowCMSet$fSemigroupCMSet $fMonoidCMSet $fNullCMSet$fSingletonCallMatrixAugCMSet$fEqCallMatrixAug$fShowCallMatrixAug$fEqCallMatrix'$fOrdCallMatrix'$fShowCallMatrix'$fFunctorCallMatrix'$fFoldableCallMatrix'$fTraversableCallMatrix'$fPartialOrdCallMatrix'$fNotWorseCallMatrix' CallGraph theCallGraphCall callMatrixSetmkCallmkCall'completionStep$fPrettyCallGraph$fCollectionEdgeCallGraph$fSingletonEdgeCallGraph$fMonoidCallGraph$fSemigroupCallGraph$fNullCallGraph$fCombineNewOldGraph$fCombineNewOldFavorites$fShowCallGraph$fCombineNewOldCMSet terminatesterminatesFilterendos idempotent LexPredicate LexAction runLexAction TokenLength CurrentInput PreviousInput AlexInput lexSrcFilelexPoslexInput lexPrevChar lensLexInputalexInputPrevChar alexGetChar alexGetByte getLexInput setLexInput.&&..||.not'$fMonadStateParseStateLexAction$fMonadLexAction$fApplicativeLexAction$fFunctorLexAction LookAheadlookAheadErrorgetInputsetInputnextCharsyncrollback eatNextCharmatchmatch' runLookAhead$fFunctorLookAhead$fApplicativeLookAhead$fMonadLookAhead litStringlitCharinStateeof followedByliteral'literal identifiersymbolkeywordend_begin_endWith beginWithbeginskipandThen withLayout withInterval' withIntervallexToken confirmLayout emptyLayoutnewLayoutBlock offsideRule keepComments keepCommentsM nestedCommenthole skipBlock AlexReturnAlexEOF AlexErrorAlexSkip AlexTokennormallayout empty_layoutbolimp_dirlexercode alexScanUser tokensParser exprParserexprWhereParser moduleParsermoduleNameParserholeContentParser splitOnDots$fSetRangeAttr$fHasRangeAttr$fShowRHSOrTypeSigs$fFunctorLamBinds' withInterval_endPMunPMrunPMIO readFilePMacceptableFileExts parseFile $fFunctorPM$fApplicativePM $fMonadPM $fMonadIOPM$fMonadErrorParseErrorPM$fMonadState[]PM IsProjElim isProjElimElim'ProjIApply isApplyElim isApplyElim' allApplyElimssplitApplyElims argsFromElims allProjElims $fNFDataElim' $fPrettyElim'$fKillRangeElim'$fLensOriginElim'$fIsProjElimElim' $fDataElim' $fShowElim'$fFunctorElim'$fFoldableElim'$fTraversableElim'WakeUp DontWakeUpBlocked' NotBlocked theBlockerignoreBlockingblockingStatusBlocker UnblockOnAll UnblockOnAny UnblockOnMetaUnblockOnProblem NotBlocked'StuckOn Underapplied AbsurdMatchMissingClausesReallyNotBlocked alwaysUnblock neverUnblock unblockOnAll unblockOnAnyunblockOnEither unblockOnMetaunblockOnProblemunblockOnAllMetasunblockOnAnyMetaonBlockingMetasMallBlockingMetasallBlockingProblemsstuckOn blockedOnblocked notBlockedblocked_ notBlocked_ wakeUpWhen wakeUpWhen_wakeIfBlockedOnProblemwakeIfBlockedOnMeta unblockMetaunblockProblem$fNFDataNotBlocked'$fMonoidNotBlocked'$fSemigroupNotBlocked'$fPrettyBlocker$fMonoidBlocker$fSemigroupBlocker$fNFDataBlocker$fNFDataBlocked'$fMonoidBlocked'$fSemigroupBlocked'$fApplicativeBlocked'$fDecorationBlocked' $fShowWakeUp $fEqWakeUp$fDataBlocked'$fShowBlocked'$fFunctorBlocked'$fFoldableBlocked'$fTraversableBlocked'$fGenericBlocked' $fDataBlocker $fShowBlocker $fEqBlocker $fOrdBlocker$fGenericBlocker$fShowNotBlocked'$fDataNotBlocked'$fGenericNotBlocked'TermSizetermSizetsize SuggestionSuggest suggestNameSgTelsgTel TelToArgs telToArgsListTelListTel' DummyTermKind IntervalViewIZeroIOneIMinIMaxINegOTermPathViewPathTypeOTypepathSortpathName pathLevelpathTypepathLhspathRhs EqualityView EqualityType OtherType IdiomTypeeqtSorteqtName eqtParamseqtTypeeqtLhseqtRhsPatternSubstitutionIdSEmptyS:# StrengthenWk PatternVars PatternVarOut patternVarsConPatternInfoconPInfo conPRecordconPFallThroughconPTypeconPLazyDeBruijnPatternDBPatVar dbPatVarName dbPatVarIndexPattern'VarPConPProjPIApplyPDefP PatOrigin PatOSystem PatOSplitPatOVarPatODotPatOWildPatOConPatORecPatOLit PatOAbsurd PatternInfo patOrigin patAsNames PatVarNameclauseLHSRangeclauseFullRange clauseTelnamedClausePats clauseBody clauseTypeclauseCatchall clauseExactclauseRecursiveclauseUnreachableclauseEllipsisNAPsBlocked_ BraveTermunBrave LevelAtom PlusLevel PlusLevel'Level'MaxSort'InfSSetSizeUnivLockUnivPiSortFunSortUnivSortMetaSDefSDummyS IsFibrantIsStrictTeleEmptyTel ExtendTelLensSortlensSortgetSortType'Type''El_getSortunElNoAbsabsNameunAbsElimsElimConInfoMetaVDummy LensConName getConName setConName mapConNameConHeadconName conDataRecord conInductive conFields DataOrRecordIsDataIsRecord NamedArgsDomDom'domInfo domFinitedomName domTacticunDom ClosedLevel argFromDomnamedArgFromDom domFromArgdomFromNamedArg defaultDom defaultArgDomdefaultNamedArgDom clausePatspatVarNameToStringnameToPatVarNamedefaultPatternInfovarPdotPlitP namedVarP namedDBVarPabsurdPnoConPatternInfotoConPatternInfofromConPatternInfo patternInfo patternOriginproperlyMatchingproperlyMatching'isEqualityType isPathTypeisIOne absurdBody isAbsurdBodyabsurdPatternNameisAbsurdPatternNamevar dummyLocName dummyTermWith dummyLevel dummyTerm__DUMMY_TERM____DUMMY_LEVEL__ dummySort__DUMMY_SORT__ dummyType__DUMMY_TYPE__dummyDom __DUMMY_DOM__ atomicLevelvarSorttmSorttmSSort levelPluslevelSucmkTypemkPropmkSSetisSortimpossibleTerm mapAbsNamesM mapAbsNamesreplaceEmptyName telFromList' telFromList telToListlistTel stripDontCarearitysuggestsunSpineunSpine'hasElimspDomprettyPrecLevelSucs $fPrettyDom'$fLensCohesionDom'$fLensQuantityDom'$fLensRelevanceDom'$fLensAnnotationDom'$fLensFreeVariablesDom'$fLensOriginDom'$fLensModalityDom'$fLensHidingDom'$fLensArgInfoDom'$fLensNamedDom'$fEqDom'$fKillRangeDom'$fHasRangeDom'$fDecorationDom'$fNFDataDataOrRecord$fKillRangeDataOrRecord$fNFDataConHead$fKillRangeConHead$fHasRangeConHead$fPrettyConHead $fOrdConHead $fEqConHead$fLensConNameConHead$fSetRangeConHead $fNFDataAbs $fPrettyAbs$fKillRangeAbs $fSizedAbs $fShowAbs$fDecorationAbs $fNFDataTele$fKillRangeTele $fSizedTele $fNullTele$fNFDataIsFibrant$fDecorationType'' $fNFDataDom'$fNFDataLevel' $fNFDataSort'$fNFDataType'' $fNFDataTerm$fPrettyType'' $fPrettySort'$fPrettyLevel' $fPrettyTele $fPrettyTerm$fKillRangeSort'$fKillRangeType''$fKillRangeLevel'$fKillRangeTerm $fLensSortArg$fLensSortDom'$fLensSortType''$fLensSortSort'$fNFDataPlusLevel'$fPrettyPlusLevel'$fKillRangePlusLevel'$fKillRangeBlocked'$fNFDataPatOrigin$fKillRangePatOrigin$fNFDataPatternInfo$fKillRangePatternInfo$fNFDataDBPatVar$fPrettyDBPatVar$fKillRangeDBPatVar$fNFDataConPatternInfo$fKillRangeConPatternInfo$fNFDataPattern'$fPrettyPattern'$fKillRangePattern'$fIsProjPPattern'$fPrettyClause$fKillRangeClause $fNullClause$fHasRangeClause$fPatternVars[]$fPatternVarsArg$fPatternVarsArg0$fNFDataSubstitution'$fPrettySubstitution'$fNullSubstitution'$fKillRangeSubstitution'$fTelToArgsTele $fTelToArgs[] $fSgTelDom' $fSgTelDom'0 $fSgTel(,) $fSuggestTerm $fSuggestName $fSuggestAbs $fSuggest[]$fTermSizeSubstitution'$fTermSizePlusLevel'$fTermSizeLevel'$fTermSizeSort'$fTermSizeTerm $fTermSizet$fShowIntervalView$fShowSubstitution'$fFunctorSubstitution'$fFoldableSubstitution'$fTraversableSubstitution'$fGenericSubstitution'$fDataPattern'$fShowPattern'$fFunctorPattern'$fFoldablePattern'$fTraversablePattern'$fGenericPattern'$fDataConPatternInfo$fShowConPatternInfo$fGenericConPatternInfo$fDataDBPatVar$fShowDBPatVar $fEqDBPatVar$fGenericDBPatVar$fDataPatternInfo$fShowPatternInfo$fEqPatternInfo$fGenericPatternInfo$fDataPatOrigin$fShowPatOrigin $fEqPatOrigin$fGenericPatOrigin$fDataBraveTerm$fShowBraveTerm $fDataTerm $fShowTerm $fDataType'' $fShowType''$fFunctorType''$fFoldableType''$fTraversableType'' $fDataSort' $fShowSort' $fShowLevel' $fDataLevel'$fFunctorLevel'$fFoldableLevel'$fTraversableLevel'$fShowPlusLevel'$fDataPlusLevel'$fFunctorPlusLevel'$fFoldablePlusLevel'$fTraversablePlusLevel'$fDataIsFibrant$fShowIsFibrant $fEqIsFibrant$fOrdIsFibrant$fGenericIsFibrant $fDataTele $fShowTele $fFunctorTele$fFoldableTele$fTraversableTele $fGenericTele $fDataAbs $fFunctorAbs $fFoldableAbs$fTraversableAbs $fGenericAbs $fDataConHead $fShowConHead$fGenericConHead$fDataDataOrRecord$fShowDataOrRecord$fEqDataOrRecord$fGenericDataOrRecord $fDataDom' $fShowDom' $fFunctorDom'$fFoldableDom'$fTraversableDom'DeBruijn deBruijnVardebruijnNamedVar deBruijnView$fDeBruijnDBPatVar$fDeBruijnLevel'$fDeBruijnPlusLevel'$fDeBruijnTermPrecomputeFreeVarsprecomputeFreeVarsprecomputeFreeVars_precomputedFreeVars$fPrecomputeFreeVars(,)$fPrecomputeFreeVarsMaybe$fPrecomputeFreeVars[]$fPrecomputeFreeVarsElim'$fPrecomputeFreeVarsType''$fPrecomputeFreeVarsPlusLevel'$fPrecomputeFreeVarsLevel'$fPrecomputeFreeVarsSort'$fPrecomputeFreeVarsTerm$fPrecomputeFreeVarsAbs$fPrecomputeFreeVarsDom'$fPrecomputeFreeVarsArg freeVars'FreeMFreeTFreeEnv SingleVarVariableFreeEnv'feExtra feFlexRig feModality feSingleton IgnoreSorts IgnoreNotIgnoreInAnnotations IgnoreAll FlexRigMap theFlexRigMap TheFlexRigMapVarMap TheVarMapVarMap' theVarMap TheVarMap'IsVarSet withVarOccVarOccVarOcc' varFlexRig varModality LensFlexRig lensFlexRigFlexRigFlexRig'Flexible WeaklyRigid Unguarded StronglyRigidMetaSet theMetaSet insertMetaSet foldrMetaSet isFlexible isUnguarded isWeaklyRigidisStronglyRigid addFlexRig zeroFlexRig omegaFlexRigcomposeFlexRig oneFlexRig topVarOcc composeVarOcc oneVarOcc mapVarMap lookupVarMap mapFlexRigMap feIgnoreSorts initFreeEnvrunFreeMvariablesubVar underBinder underBinder' underModalityunderRelevance underFlexRigunderConstructor$fSingletonMetaId()$fSingletonMetaIdMetaSet$fLensFlexRigaFlexRig'$fMonoidVarOcc'$fSemigroupVarOcc'$fLensFlexRigaVarOcc'$fLensQuantityVarOcc'$fLensRelevanceVarOcc'$fLensModalityVarOcc' $fEqVarOcc'$fIsVarSetaVarMap'$fMonoidVarMap'$fSemigroupVarMap'$fSingletonIntVarMap'$fLensQuantityFreeEnv'$fLensRelevanceFreeEnv'$fLensModalityFreeEnv'$fLensFlexRigaFreeEnv'$fIsVarSet()FlexRigMap$fMonoidFlexRigMap$fSemigroupFlexRigMap$fMonoidReaderT$fFreeEqualityView $fFreeClause $fFreeTele $fFreeAbs $fFreeDom' $fFreeArg $fFreeElim' $fFree(,,) $fFree(,) $fFreeNamed$fFreeWithHiding $fFreeMaybe$fFree[]$fFreePlusLevel' $fFreeLevel' $fFreeSort' $fFreeType'' $fFreeTerm$fShowFlexRigMap$fSingleton(,)FlexRigMap$fEqIgnoreSorts$fShowIgnoreSorts $fEqVarMap' $fShowVarMap' $fShowVarOcc' $fEqFlexRig'$fShowFlexRig'$fFunctorFlexRig'$fFoldableFlexRig' $fEqMetaSet $fShowMetaSet $fNullMetaSet$fSemigroupMetaSet$fMonoidMetaSet VarCounts varCountsfreeVarsIgnorerunFreevarOccurrenceInflexRigOccurrenceInfreeInfreeInIgnoringSorts isBinderUsedrelevantInIgnoringSortAnn relevantInclosed allFreeVarsallRelevantVarsIgnoringallRelevantVars filterVarMapfilterVarMapToListstronglyRigidVars unguardedVars rigidVars flexibleVarsallVars$fIsVarSet()All$fIsVarSet()Any$fIsVarSet()[]$fIsVarSet()IntSet$fSingletonIntVarCounts$fIsVarSet()VarCounts$fMonoidVarCounts$fSemigroupVarCounts$fIsVarSetMetaSetSingleVarOcc$fMonoidSingleVarOcc$fSemigroupSingleVarOcc$fIsVarSet()SingleFlexRig$fMonoidSingleFlexRig$fSemigroupSingleFlexRig$fIsVarSetaRelevantIn$fSemigroupRelevantIn$fMonoidRelevantIn TermSubst EndoSubst SubstWithSubstSubstArg applySubstabstractapplyEapplysapply1raise raiseFrom strengthen substUnderidSwkSraiseSconsS singletonSinplaceSdropScomposeSsplitS++#prependS parallelScompactS strengthenSlookupSlistS raiseFromSabsApp lazyAbsAppnoabsAppabsBodymkAbsreAbsunderAbs underLambdas $fSubstQNameDataConstructor AbsurdClause clauseRHSSetSLitSPropSPropLitSInfSUnknownSExtLam argsToElims$fShowDefinition $fShowSortPatternVarModalitiespatternVarModalitiesCountPatternVarscountPatternVars PatternLike foldrPatterntraversePatternMMapNamedArgPatternmapNamedArgPattern LabelPatVars PatVarLabel labelPatVarsunlabelPatVarsFunArityfunArity clauseArgs clauseElimsunnumberPatVars dbPatPerm dbPatPerm' clausePerm patternToElimpatternsToElims patternToTerm foldPatternpreTraversePatternMpostTraversePatternM $fFunArity[]$fFunArityClause $fFunArity[]0$fLabelPatVarsPattern'Pattern'$fLabelPatVars[][]$fLabelPatVarsNamedNamed$fLabelPatVarsArgArg$fMapNamedArgPatterna[]$fMapNamedArgPatternaArg$fPatternLikeaNamed$fPatternLikeaArg$fPatternLikea[]$fPatternLikeaPattern'$fCountPatternVarsPattern'$fCountPatternVarsNamed$fCountPatternVarsArg$fCountPatternVars[]$fPatternVarModalitiesPattern'$fPatternVarModalitiesArg$fPatternVarModalitiesNamed$fPatternVarModalities[]TermLike traverseTermMcopyTerm$fTermLikeEqualityView$fTermLikeSort'$fTermLikeType''$fTermLikePlusLevel'$fTermLikeLevel'$fTermLikeTerm$fTermLike(,,,)$fTermLike(,,) $fTermLike(,)$fTermLikeWithHiding$fTermLikeTele $fTermLikeAbs$fTermLikeBlocked'$fTermLikeMaybe $fTermLike[]$fTermLikeDom' $fTermLikeArg$fTermLikeElim'$fTermLikeQName$fTermLikeChar$fTermLikeInteger $fTermLikeInt$fTermLikeBoolCompiledClausesCompiledClauses'DoneBranches projPatterns conBranches etaBranch litBranchescatchAllBranch fallThrough lazyMatch WithAritycontentlitCaseconCaseetaCaseprojCasecatchAllcheckLazyMatch hasCatchAllhasProjectionPatterns prettyMap_$fNFDataWithArity$fTermLikeWithArity$fKillRangeWithArity$fPrettyWithArity$fMonoidWithArity$fSemigroupWithArity $fNFDataCase$fTermLikeCase$fKillRangeCase $fPrettyCase $fNullCase $fMonoidCase$fSemigroupCase$fNFDataCompiledClauses'$fTermLikeCompiledClauses'$fKillRangeCompiledClauses'$fPrettyCompiledClauses'$fDataCompiledClauses'$fFunctorCompiledClauses'$fTraversableCompiledClauses'$fFoldableCompiledClauses'$fShowCompiledClauses'$fGenericCompiledClauses' $fDataCase $fFunctorCase$fFoldableCase$fTraversableCase $fShowCase $fGenericCase$fDataWithArity$fFunctorWithArity$fFoldableWithArity$fTraversableWithArity$fShowWithArity$fGenericWithArityAllMetasallMetas allMetas' allMetasListnoMetas firstMetaunblockOnAnyMetaInunblockOnAllMetasIn $fAllMetasArg$fAllMetasMaybe $fAllMetas[]$fAllMetas(,,,)$fAllMetas(,,) $fAllMetas(,)$fAllMetasPlusLevel'$fAllMetasLevel'$fAllMetasSort'$fAllMetasDom'$fAllMetasTele$fAllMetasElim'$fAllMetasType''$fAllMetasTermGetDefsgetDefs MonadGetDefsdoDefdoMeta GetDefsEnv lookupMetaembDefGetDefsMgetDefs' $fGetDefs(,) $fGetDefsAbs $fGetDefsDom' $fGetDefsArg$fGetDefsElim' $fGetDefs[]$fGetDefsMaybe$fGetDefsPlusLevel'$fGetDefsLevel'$fGetDefsSort'$fGetDefsType''$fGetDefsMetaId $fGetDefsTerm$fGetDefsClause$fMonadGetDefsReaderT SubstExpr substExprPatternSynDefnsPatternSynDefn NameToExpr nameToExpr AnyAbstract anyAbstractPatternsNAPs1 PatternSynPAnnPLHSCore'lhsInfolhsCoreSpineLHS spLhsInfo spLhsDefName spLhsPatsWithRHS RewriteRHSrhsExpr rhsConcrete rewriteExprsrewriteStrippedPats rewriteRHSrewriteWhereDecls WithExpr' SpineClauseWhereDeclarations WhereDecls whereModule whereDeclsClause' clauseLHSclauseStrippedPatsclauseWhereDecls ProblemEq problemInPat problemInst problemType DataDefParamsdataDefGeneralizedParams dataDefParamsGeneralizeTelescope GeneralizeTelgeneralizeTelVars generalizeTel TacticAttr LetBindingLetBind LetPatBindLetApplyLetOpenLetDeclaredVariableBuiltinNoDefPragmaSectionRecSigRecDef PatternSynDef ScopedDecl ScopeCopyInfo renModulesrenNamesRen RecordAssigns RecordAssignAssignsAssignDef' ScopedExprBindNameunBind mkBindName generalized initCopyInfoextractPattern mkDomainFreemkTBindmkPinoDataDefParams noWhereDecls axiomNameapp patternToExprlambdaLiftExprinsertImplicitPatSynArgs$fKillRangeSuffix $fOrdBindName $fEqBindName$fNFDataScopeCopyInfo$fKillRangeScopeCopyInfo$fPrettyScopeCopyInfo$fSetRangePattern'$fHasRangePattern'$fNFDataLHSCore'$fKillRangeLHSCore'$fHasRangeLHSCore' $fNFDataRHS$fNFDataWhereDeclarations$fNFDataClause'$fNFDataProblemEq$fNFDataDataDefParams$fNFDataGeneralizeTelescope$fNFDataTypedBinding$fNFDataLamBinding$fNFDataLetBinding$fKillRangeLetBinding$fKillRangeWhereDeclarations$fKillRangeRHS$fKillRangeProblemEq$fKillRangeClause'$fKillRangeTypedBinding$fKillRangeDataDefParams$fKillRangeGeneralizeTelescope$fKillRangeLamBinding$fHasRangeLetBinding$fHasRangeWhereDeclarations $fHasRangeRHS$fHasRangeClause'$fHasRangeTypedBinding$fHasRangeLamBinding$fLensHidingTypedBinding$fLensHidingLamBinding$fUnderscoreExpr $fIsProjPExpr$fEqRHS$fNullWhereDeclarations $fEqProblemEq$fNFDataSpineLHS$fKillRangeSpineLHS$fHasRangeSpineLHS$fAnyAbstractDeclaration$fAnyAbstract[]$fNameToExprResolvedName$fNameToExprAbstractName$fSubstExprExpr$fSubstExprModuleName$fSubstExprName$fSubstExprEither$fSubstExpr(,)$fSubstExprFieldAssignment'$fSubstExprNamed$fSubstExprArg$fSubstExprNonEmpty $fSubstExpr[]$fSubstExprMaybe$fDataSpineLHS$fShowSpineLHS $fEqSpineLHS$fGenericSpineLHS $fGenericExpr $fGenericLHS $fDataClause' $fShowClause'$fFunctorClause'$fFoldableClause'$fTraversableClause' $fEqClause'$fGenericClause' $fDataRHS $fShowRHS $fGenericRHS$fDataWhereDeclarations$fShowWhereDeclarations$fEqWhereDeclarations$fGenericWhereDeclarations$fGenericDeclaration$fDataDataDefParams$fShowDataDefParams$fEqDataDefParams$fGenericDataDefParams$fDataLamBinding$fShowLamBinding$fEqLamBinding$fGenericLamBinding$fDataTypedBinding$fShowTypedBinding$fEqTypedBinding$fGenericTypedBinding$fGenericBinder'$fDataLetBinding$fShowLetBinding$fEqLetBinding$fGenericLetBinding$fGenericModuleApplication$fDataGeneralizeTelescope$fShowGeneralizeTelescope$fEqGeneralizeTelescope$fGenericGeneralizeTelescope$fGenericPragma$fDataProblemEq$fShowProblemEq$fGenericProblemEq$fDataLHSCore'$fShowLHSCore'$fFunctorLHSCore'$fFoldableLHSCore'$fTraversableLHSCore' $fEqLHSCore'$fGenericLHSCore' $fEqPattern'$fEqScopeCopyInfo$fShowScopeCopyInfo$fDataScopeCopyInfo$fGenericScopeCopyInfo$fShowBindName$fDataBindName$fHasRangeBindName$fKillRangeBindName$fSetRangeBindName$fNFDataBindName DeclaredNames declaredNamesKName recurseExprTraverseExprRecFnTraverseExprFn FoldExprRecFn FoldExprFnRecurseExprRecFn RecurseExprFnLamViewAppView' ApplicationappView'maybeProjTurnPostfixlamViewasViewunScope deepUnscopedeepUnscopeDeclsdeepUnscopeDecl$fExprLikeSpineLHS$fExprLikeLHSCore'$fExprLikeWhereDeclarations$fExprLikePattern'$fExprLikeTypedBinding$fExprLikeDataDefParams$fExprLikeGeneralizeTelescope$fExprLikeLamBinding$fExprLikeModuleName$fExprLikeBindName$fExprLikeVoid$fExprLikePragma $fExprLikeRHS$fExprLikeClause'$fExprLikeLetBinding$fDeclaredNamesRHS $fDeclaredNamesWhereDeclarations$fDeclaredNamesClause'$fDeclaredNamesPragma$fDeclaredNamesDeclaration $fDeclaredNamesRecordDirectives'$fDeclaredNamesWithKind$fDeclaredNames(,)$fDeclaredNamesEither$fDeclaredNamesFieldAssignment'$fDeclaredNamesNamed$fDeclaredNamesArg$fDeclaredNamesMaybe$fDeclaredNamesNonEmpty$fDeclaredNames[]$fFunctorAppView'mergePatternSynDefsmatchPatternSynmatchPatternSynP LHSToSpine lhsToSpine spineToLhsLHSProjPADotT foldrAPatterntraverseAPatternMNAP foldAPatternpreTraverseAPatternMpostTraverseAPatternM mapAPatterncontainsAPatterncontainsAbsurdPatterncontainsAsPatterncheckPatternLinearity substPattern substPattern'splitOffTrailingWithPatternstrailingWithPatternslhsCoreToSpinespineToLhsCorelhsCoreAddChunklhsCoreAllPatternslhsCoreToPattern mapLHSHead$fIsWithPPattern'$fMapNamedArgPattern(,)$fMapNamedArgPatternMaybe$$fMapNamedArgPatternFieldAssignment'$fMapNamedArgPattern[]$fMapNamedArgPatternArg$fAPatternLike(,)$fAPatternLikeFieldAssignment'$fAPatternLikeMaybe$fAPatternLike[]$fAPatternLikeNamed$fAPatternLikeArg$fAPatternLikePattern'$fLHSToSpineLHSSpineLHS$fLHSToSpine[][]$fLHSToSpineClause'Clause'$fShowLHSPatternView Constant1 Constant0Curryinguncurryscurrys CoDomain'CoDomainDomains'DomainsIsBaseProductsArrowsConstantConsMap1ConsMap0MapFoldr'Foldr $fCurrying:b $fCurrying[]b KnownBoolboolSingSBoolSTrueSFalse eraseSBoolboolVal$fKnownBoolFalse$fKnownBoolTrueUpdater2updater2updates2update2Updater1updater1updates1update1UpdaterChangeUpdaterTChangeT MonadChange tellDirty listenDirty runChangeT mapChangeT runUpdaterT runChange runUpdaterdirtyifDirtysharing$fMonadChangeIdentityT$fMonadChangeIdentity$fMonadChangeChangeT$fMonadTransControlChangeT $fUpdater1[]$fUpdater1Maybe$fUpdater2Either $fUpdater2(,)$fFunctorChangeT$fApplicativeChangeT$fMonadChangeT$fMonadTransChangeT$fMonadFailChangeT$fMonadIOChangeTniceDeclarationsnotSoNiceDeclarationsniceHasAbstract$fMakeAbstractWhereClause'$fMakeAbstractClause$fMakeAbstractNiceDeclaration$fMakeAbstractIsAbstract$fMakeAbstract[]$fMakePrivateWhereClause'$fMakePrivateClause$fMakePrivateNiceDeclaration$fMakePrivateAccess$fMakePrivate[] $fEqDeclKind$fShowDeclKindVarSetsubtractSizeVar SizeConst LegendMatrixmatrixrowdescrcoldescrGM flexScopenodeMapintMapnextNode ConstraintsNewFlexArcNodeIdRConstRVarFiniteInfiniteAdjListwarshall warshallGincinfiniteisBelowemptyConstraints initGraphaddFlexaddNode addConstraint buildGraphmkMatrixextendSolution sizeRigidsolve$fSemiRingWeight$fPrettyConstraint$fPrettyLegendMatrix$fPrettySizeExpr WithDefaultDefault setDefaultcollapseDefault$fNFDataWithDefault$fEqWithDefault$fShowWithDefault ComposeZipper ComposeZip ListZipperListZipZipperCarrierElement firstHoleplugHolenextHole$fZipperListZipper$fZipperComposeZipper$fEqListZipper$fOrdListZipper$fShowListZipper$fFunctorListZipper$fFoldableListZipper$fTraversableListZipperversionpackage'$fGenericAnArbitrarySymbolInThisPackageversionWithCommitInfo commitInfo VersionViewvvBase vvNumbersmkLibMgetPrimitiveLibDirfindProjectRootgetAgdaLibFiles'getDefaultLibrariesgetInstalledLibrariesgetTrustedExecutableslibraryIncludePathsfindLib' versionView unVersionView$fEqVersionView$fShowVersionViewFlagOptMConfluenceCheckLocalConfluenceCheckGlobalConfluenceCheck PragmaOptionsoptShowImplicitoptShowIrrelevant optUseUnicode optVerboseoptProp optTwoLeveloptAllowUnsolvedoptAllowIncompleteMatchoptDisablePositivityoptTerminationCheckoptTerminationDepthoptCompletenessCheckoptUniverseCheckoptOmegaInOmega optSubtypingoptCumulativity optSizedTypesoptGuardednessoptInjectiveTypeConstructorsoptUniversePolymorphismoptIrrelevantProjectionsoptExperimentalIrrelevance optWithoutK optCopatternsoptPatternMatching optExactSplitoptEta optForcingoptProjectionLike optRewriting optCubical optGuarded optFirstOrderoptPostfixProjectionsoptKeepPatternVariablesoptInstanceSearchDepthoptOverlappingInstancesoptQualifiedInstancesoptInversionMaxDepthoptSafeoptDoubleCheckoptSyntacticEqualityoptWarningModeoptCompileNoMain optCachingoptCountClusters optAutoInlineoptPrintPatternSynonyms optFastReduce optCallByNameoptConfluenceCheck optFlatSplitoptImportSorts optAllowExecoptShowIdentitySubstitutionsCommandLineOptionsoptProgramName optInputFileoptIncludePathsoptAbsoluteIncludePaths optLibrariesoptOverrideLibrariesFileoptDefaultLibs optUseLibsoptTrustedExecutablesoptPrintAgdaDiroptPrintVersion optPrintHelpoptInteractiveoptGHCiInteractionoptJSONInteractionoptOptimSmashing optCompileDiroptGenerateVimFileoptIgnoreInterfacesoptIgnoreAllInterfacesoptLocalInterfacesoptPragmaOptionsoptOnlyScopeChecking Verbosity VerboseLevel VerboseKeymapFlagdefaultVerbositydefaultInteractionOptionsdefaultPragmaOptionsrunOptM checkOptsunsafePragmaOptionsrestartOptionsinfectiveOptionscoinfectiveOptions inputFlagsafeFlagstandardOptionsdeadStandardOptionsstandardOptions_ getOptSimpleparsePragmaOptionsparsePluginOptionsusagestripRTS HasOptions pragmaOptionscommandLineOptions MonadTCErrorMonadTCMliftTCMBlockTunBlockT MonadBlockpatternViolationcatchPatternErr MonadTCStategetTCputTCmodifyTC MonadTCEnvaskTClocalTC MonadReduce liftReduceReduceM unReduceM ReduceEnvredEnvredSt TypeError Exception IOException PatternErr tcErrLocation tcErrState tcErrClosErr LHSOrPatSynIsLHSIsPatSyn InternalErrorNotImplemented NotSupportedCompilationErrorPropMustBeSingletonDataMustEndInSort#ShouldEndInApplicationOfTheDatatype&ShouldBeAppliedToTheDatatypeParametersShouldBeApplicationOf!ConstructorPatternInWrongDatatype6CantResolveOverloadedConstructorsTargetingSameDatatypeDoesNotConstructAnElementOfWrongHidingInLHSWrongHidingInLambdaWrongHidingInApplicationWrongNamedArgumentWrongIrrelevanceInLambdaWrongQuantityInLambdaWrongCohesionInLambdaQuantityMismatchHidingMismatchRelevanceMismatchUninstantiatedDotPattern ForcedConstructorNotInstantiatedIllformedProjectionPatternCannotEliminateWithPattern!WrongNumberOfConstructorArguments ShouldBeEmpty ShouldBeASort ShouldBePi ShouldBePathShouldBeRecordTypeShouldBeRecordPatternNotAProjectionPatternNotAProperTermInvalidTypeSort InvalidTypeFunctionTypeInSizeUnivSplitOnIrrelevantSplitOnUnusableCohesionSplitOnNonVariableSplitOnNonEtaRecordDefinitionIsIrrelevantDefinitionIsErasedVariableIsIrrelevantVariableIsErasedVariableIsOfUnusableCohesion UnequalLevel UnequalTerms UnequalTypesUnequalRelevanceUnequalQuantityUnequalCohesion UnequalHiding UnequalSorts UnequalBecauseOfUniverseConflict NotLeqSortMetaCannotDependOnMetaOccursInItselfMetaIrrelevantSolutionMetaErasedSolution GenericErrorGenericDocErrorSortOfSplitVarErrorBuiltinMustBeConstructorNoSuchBuiltinNameDuplicateBuiltinBindingNoBindingForBuiltinNoSuchPrimitiveFunctionDuplicatePrimitiveBindingWrongModalityForPrimitiveShadowedModuleBuiltinInParameterisedModuleIllegalLetInTelescopeIllegalPatternInTelescopeNoRHSRequiresAbsurdPattern TooManyFieldsDuplicateFieldsDuplicateConstructorsWithOnFreeVariableUnexpectedWithPatternsWithClausePatternMismatchFieldOutsideRecordModuleArityMismatchGeneralizeCyclicDependencyGeneralizeUnsolvedMeta SplitErrorImpossibleConstructorTooManyPolaritiesLocalVsImportedModuleClashSolvedButOpenHolesCyclicModuleDependency FileNotFoundOverlappingProjectsAmbiguousTopLevelModuleNameModuleNameUnexpectedModuleNameDoesntMatchFileNameClashingFileNamesForModuleDefinedInOtherFileBothWithAndRHSAbstractConstructorNotInScope NoSuchModule AmbiguousNameAmbiguousModuleClashingDefinitionClashingModuleClashingImportClashingModuleImportPatternShadowsConstructorDuplicateImportsInvalidPatternRepeatedVariablesInPatternGeneralizeNotSupportedHereMultipleFixityDeclsMultiplePolarityPragmasNotAModuleExprNotAnExpressionNotAValidLetBindingNotValidBeforeFieldNothingAppliedToHiddenArgNothingAppliedToInstanceArgBadArgumentsToPatternSynonymTooFewArgumentsToPatternSynonym$CannotResolveAmbiguousPatternSynonymUnusedVariableInPatternSynonymNoParseForApplicationAmbiguousParseForApplication NoParseForLHSAmbiguousParseForLHSOperatorInformationInstanceNoCandidate UnquoteFailedDeBruijnIndexOutOfScopeNeedOptionCopatternsNeedOptionRewritingNeedOptionPropNeedOptionTwoLevelNonFatalErrorsInstanceSearchDepthExhaustedTriedToCopyConstrainedPrim UnquoteError BadVisibilityConInsteadOfDefDefInsteadOfCon NonCanonical BlockedOnMeta UnquotePanicUnificationFailureUnifyIndicesNotVarsUnifyRecursiveEqUnifyReflexiveEqUnifyUnusableModalityNegativeUnification UnifyConflict UnifyCycle NotADatatype BlockedTypeErasedDatatypeCoinductiveDatatypeUnificationStuckCosplitCatchallCosplitNoTargetCosplitNoRecordTypeCannotCreateMissingClauseGenericSplitErrorcantSplitBlockercantSplitConName cantSplitTelcantSplitConIdxcantSplitGivenIdxcantSplitFailuresTerminationErrortermErrFunctions termErrCallsCallInfocallInfoTarget callInfoRange callInfoCalltcWarningLocationtcWarningRange tcWarningtcWarningPrintedWarningtcWarningCachedRecordFieldWarningDuplicateFieldsWarningTooManyFieldsWarning NicifierIssueTerminationIssueUnreachableClauses CoverageIssueCoverageNoExactSplitNotStrictlyPositiveUnsolvedMetaVariablesUnsolvedInteractionMetasUnsolvedConstraintsCantGeneralizeOverSortsAbsurdPatternRequiresNoRHS OldBuiltinEmptyRewritePragma EmptyWhereIllformedAsClauseClashesViaRenaming"UselessPatternDeclarationForRecord UselessPublic UselessHiding UselessInlineWrongInstanceDeclarationInstanceWithExplicitArgInstanceNoOutputTypeNameInstanceArgWithExplicitArgInversionDepthReachedNoGuardednessFlagGenericWarningGenericNonFatalErrorGenericUselessSafeFlagPostulateSafeFlagPragmaSafeFlagNonTerminatingSafeFlagTerminating%SafeFlagWithoutKFlagPrimEraseEqualityWithoutKFlagPrimEraseEqualitySafeFlagNoPositivityCheckSafeFlagPolaritySafeFlagNoUniverseCheckSafeFlagNoCoverageCheckSafeFlagInjective SafeFlagEtaLibraryWarningDeprecationWarning UserWarningDuplicateUsingFixityInRenamingModuleModuleDoesntExportInfectiveImportCoInfectiveImportRewriteNonConfluentRewriteMaybeNonConfluentRewriteAmbiguousRulesRewriteMissingRulePragmaCompileErased NotInScopeW+AsPatternShadowsConstructorOrPatternSynonymArgsCheckStateACStateacRangesacElims acConstraintsacTypeacData Candidate candidateKind candidateTerm candidateTypecandidateOverlappable CandidateKindLocalCandidateGlobalCandidate ExpandHidden ExpandLastDontExpandLastReallyDontExpandLast AbstractMode ConcreteModeIgnoreAbstractMode LetBindings ContextEntryContext UnquoteFlags_unquoteNormalise LensTCEnv lensTCEnv envContextenvLetBindingsenvCurrentModuleenvCurrentPathenvAnonymousModules envImportPathenvMutualBlockenvTerminationCheckenvCoverageCheck envMakeCaseenvSolvingConstraintsenvCheckingWhereenvWorkingOnTypesenvAssignMetasenvActiveProblemsenvAbstractMode envModalityenvSplitOnStrictenvDisplayFormsEnabledenvRangeenvHighlightingRange envClauseenvCallenvHighlightingLevelenvHighlightingMethod envExpandLast envAppDefenvSimplificationenvAllowedReductions envReduceDefsenvReconstructedenvInjectivityDepthenvCompareBlockedenvPrintDomainFreePienvPrintMetasBareenvInsideDotPatternenvUnquoteFlagsenvInstanceDepthenvIsDebugPrintingenvPrintingPatternLambdas envCallByNeedenvCurrentCheckpointenvCheckpointsenvGeneralizeMetasenvGeneralizedVarsenvActiveBackendNameenvConflComputingOverlapenvCurrentlyElaboratingDirectIndirectNoneNonInteractive InteractiveBuiltinPrim BuiltinThings BuiltinInfo builtinName builtinDescBuiltinDescriptor BuiltinDataBuiltinDataCons BuiltinPrim BuiltinSortBuiltinPostulateBuiltinUnknownTempInstanceTable InstanceTable CheckClause CheckPatternCheckPatternLinearityTypeCheckPatternLinearityValueCheckLetBinding InferExpr CheckExprCallCheckDotPatternCheckProjection IsTypeCallIsType_InferVarInferDefCheckArgumentsCheckMetaSolutionCheckTargetType CheckDataDef CheckRecDefCheckConstructorCheckConstructorFitsInCheckFunDefCall CheckPragmaCheckPrimitive CheckIsEmptyCheckConfluenceCheckWithFunctionTypeCheckSectionApplicationCheckNamedWhereScopeCheckExprScopeCheckDeclaration ScopeCheckLHSNoHighlightingModuleContents StatisticsMutualIdMutIdTermHeadSortHeadPiHeadConsHeadVarHead UnknownHeadFunctionInverse' NotInjectiveInverse InversionMapFunctionInversePrimFun primFunName primFunArityprimFunImplementation PrimitiveImplPrimImpl ReduceDefsOnlyReduceDefsDontReduceDefsAllowedReductionsAllowedReductionProjectionReductionsInlineReductionsCopatternReductionsFunctionReductionsRecursiveReductionsLevelReductionsTypeLevelReductionsUnconfirmedReductionsNonTerminatingReductionsMaybeReducedElimsMaybeReducedArgs MaybeReducedMaybeRed isReduced ignoreReduced IsReduced NotReducedReduced NoReduction YesReductionSimplificationYesSimplificationNoSimplificationFieldsDefn DataOrRecSigGeneralizableVar AbstractDefn PrimitiveSortaxiomConstTransp datarecPars funClauses funCompiled funSplitTree funTreeless funCoveringfunInv funMutualfunAbstr funDelayed funProjectionfunFlags funTerminates funExtLamfunWithdataParsdataIxs dataClausedataConsdataSort dataMutual dataAbstr dataPathConsrecPars recClause recConHead recNamedCon recFieldsrecTel recMutualrecEtaEquality'recPatternMatching recInductionrecAbstrrecCompconParsconArity conSrcConconDataconAbstrconIndconCompconProj conForced conErased primAbstrprimName primClausesprimInv primCompiledprimSortCompKit nameOfHComp nameOfTransp FunctionFlag FunStatic FunInlineFunMacro EtaEquality SpecifiedInferredtheEtaEqualityProjLams getProjLams Projection projProperprojOrig projFromType projIndexprojLams ExtLamInfo extLamModule extLamAbsurd extLamSysSystem systemTel systemClausesFaceCompiledRepresentationCompilerPragmaIsForcedForced NotForced Covariant Contravariant Invariant NonvariantNumGeneralizableArgsNoGeneralizableArgsSomeGeneralizableArgs defArgInfodefNamedefType defPolaritydefArgOccurrencesdefArgGeneralizabledefGeneralizedParams defDisplay defMutualdefCompiledRepdefCopy defMatchabledefNoCompilation defInjectivedefCopatternLHS defBlocked defLanguagetheDef RewriteRulerewName rewContextrewHeadrewPatsrewRHSrewType rewFromClause RewriteRulesNLPSortPTypePPropPInf PSizeUniv PLockUnivNLPType nlpTypeSort nlpTypeUnElPElimsNLPatPDefPLamPPiPSort PBoundVarPTerm DisplayTermDWithAppDConDDefDDotDTermLocalDisplayForm DisplayFormDisplay dfPatternVarsdfPatsdfRHS _secTelescope DisplayFormsRewriteRuleMap DefinitionsSections SignatureSig _sigSections_sigDefinitions_sigRewriteRulesIPClause IPNoClauseipcQName ipcClauseNoipcType ipcWithSub ipcClause ipcClosure ipcBoundary IPBoundary IPBoundary' ipbEquationsipbValue ipbMetaAppipbOverapplied OverappliedNotOverappliedInteractionPointsInteractionPointipRangeipMetaipSolvedipClause MetaStore nmSuggestionnmidMetaNameSuggestion miClosRange miModalitymiMetaOccursCheckmiNameSuggestionmiGeneralizableRunMetaOccursCheckDontRunMetaOccursCheck MetaPriorityTypeCheckingProblem CheckExpr CheckArgsCheckProjAppToKnownPrincipalArg CheckLambda DoQuoteTermPrincipalArgTypeMetas patmMetas patmRemainder CheckedTargetNotCheckedTargetMetaInstantiationInstV OpenInstance BlockedConstPostponedTypeCheckingProblemFrozen InstantiableListener EtaExpandCheckConstraint MetaVariableMetaVarmvInfo mvPriority mvPermutation mvJudgementmvInstantiation mvListenersmvFrozenmvTwinGeneralizedValuegenvalCheckpoint genvalTerm genvalType DoGeneralizeYesGeneralizeVarYesGeneralizeMeta NoGeneralize JudgementHasTypeIsSortjMetaId jComparison jMetaType OpenThingopenThingCheckpointopenThingCheckpointMapopenThingModule openThing CompareAs AsTermsOfAsSizesAsTypesCompareDirectionDirEqDirLeqDirGeqCmpEqCmpLeqValueCmpValueCmpOnFaceElimCmpSortCmpLevelCmp HasBiggerSort HasPTSRule CheckMetaInst CheckTypeUnBlockIsEmptyCheckSizeLtSat FindInstance CheckFunDef UnquoteTacticCheckLockedVarsUsableAtModalityProblemConstraintPConstrconstraintProblemsconstraintUnblocker theConstraint LensClosure lensClosureClosure clSignatureclEnvclScopeclModuleCheckpointsclValue Interface iSourceHashiSource iFileTypeiImportedModules iModuleNameiScope iInsideScope iSignature iDisplayForms iUserWarningsiImportWarningiBuiltin iForeignCode iHighlightingiDefaultPragmaOptionsiFilePragmaOptions iOptionsUsed iPatternSyns iWarnings iPartialDefs ForeignCodeDecodedModulesVisitedModules miInterface miWarnings miPrimitivemiModeModuleCheckModeModuleScopeCheckedModuleTypeCheckedMonadStConcreteNamesrunStConcreteNamesuseConcreteNamesmodifyConcreteNamesSourceToModule FreshName freshName_ CheckpointId MonadFreshfreshHasFresh freshLens nextFresh'TypeCheckAction EnterSection LeaveSectionPragmasCurrentTypeCheckLogCachedTypeCheckLogLoadedFileCache lfcCached lfcCurrentPersistentTCStatePersistentTCStstDecodedModulesstPersistentOptionsstInteractionOutputCallback stBenchmarkstAccumStatisticsstPersistLoadedFileCachestPersistBackends MutualBlock mutualInfo mutualNamesPostScopeStatestPostSyntaxInfostPostDisambiguatedNamesstPostMetaStorestPostInteractionPointsstPostAwakeConstraintsstPostSleepingConstraints stPostDirtystPostOccursCheckDefsstPostSignaturestPostModuleCheckpointsstPostImportsDisplayFormsstPostCurrentModulestPostInstanceDefsstPostConcreteNamesstPostUsedNamesstPostShadowingNamesstPostStatisticsstPostTCWarningsstPostMutualBlocksstPostLocalBuiltinsstPostFreshMetaIdstPostFreshMutualIdstPostFreshProblemIdstPostFreshCheckpointIdstPostFreshIntstPostFreshNameIdstPostAreWeCachingstPostPostponeInstanceSearchstPostConsideringInstancestPostInstantiateBlockingstPostLocalPartialDefs ConcreteNamesDisambiguatedNamesDisambiguatedName PreScopeState stPreTokens stPreImportsstPreImportedModulesstPreModuleToSourcestPreVisitedModules stPreScopestPrePatternSynsstPrePatternSynImportsstPreGeneralizedVarsstPrePragmaOptionsstPreImportedBuiltinsstPreImportedDisplayFormsstPreImportedInstanceDefsstPreForeignCodestPreFreshInteractionIdstPreImportedUserWarningsstPreLocalUserWarningsstPreWarningOnImportstPreImportedPartialDefsstPreProjectConfigsstPreAgdaLibFiles ReadTCState getTCStatelocallyTCState withTCStateTCStstPreScopeStatestPostScopeStatestPersistentStateinitPersistentStateinitPreScopeStateinitPostScopeStatestTokens stImportsstImportedModulesstModuleToSourcestVisitedModulesstScope stPatternSynsstPatternSynImportsstGeneralizedVarsstPragmaOptionsstImportedBuiltins stForeignCodestFreshInteractionIdstImportedUserWarningsstLocalUserWarningsgetUserWarningsstWarningOnImportstImportedPartialDefsstLocalPartialDefsgetPartialDefsstLoadedFileCache stBackendsstProjectConfigsstAgdaLibFiles stFreshNameId stSyntaxInfostDisambiguatedNames stMetaStorestInteractionPointsstAwakeConstraintsstSleepingConstraintsstDirtystOccursCheckDefs stSignaturestModuleCheckpointsstImportsDisplayFormsstImportedDisplayFormsstCurrentModulestImportedInstanceDefsstInstanceDefsstConcreteNames stUsedNamesstShadowingNames stStatistics stTCWarningsstMutualBlocksstLocalBuiltins stFreshMetaIdstFreshMutualIdstFreshProblemIdstFreshCheckpointId stFreshIntstAreWeCachingstPostponeInstanceSearchstConsideringInstancestInstantiateBlockingstBuiltinThings nextFresh freshName freshNoName freshNoName_freshRecordNamesourceToModulelookupModuleFromSource iFullHash intSignature buildClosurefromCmpflipCmpdirToCmpnormalMetaPrioritylowMetaPriorityhighMetaPriority getMetaInfo getMetaScope getMetaEnv getMetaSiggetMetaRelevancegetMetaModality metaFrozen_mvInfo sigSectionssigDefinitionssigRewriteRules secTelescopeemptySignaturedefaultDisplayForm theDefLens defaultDefn jsBackendNameghcBackendName noCompiledRep modifySystem projDropPars projArgInfosetEtaEquality emptyCompKit defaultAxiomconstTranspAxiom recRecursiverecEtaEquality emptyFunctionfunFlag funStatic funInlinefunMacroisMacroisEmptyFunctionisCopatternLHSrecCon defIsRecorddefIsDataOrRecorddefConstructors redReturnredBind notReducedreduced allReductionsreallyAllReductions reduceAllDefslocallyReduceDefslocallyReduceAllDefsshouldReduceDeflocallyReconstructedisReconstructedprimFun defClauses defCompiled defParameters defInversedefCompilerPragmas defDelayeddefNonterminatingdefTerminationUnconfirmed defForced"ifTopLevelAndHighlightingLevelIsOr ifTopLevelAndHighlightingLevelIsinitEnvdefaultUnquoteFlagsunquoteNormaliseeUnquoteNormaliseeContext eLetBindingseCurrentModule eCurrentPatheAnonymousModules eImportPath eMutualBlockeTerminationCheckeCoverageCheck eMakeCaseeSolvingConstraintseCheckingWhereeWorkingOnTypes eAssignMetaseActiveProblems eAbstractMode eModality eRelevance eQuantityeSplitOnStricteDisplayFormsEnabledeRangeeHighlightingRangeeCalleHighlightingLeveleHighlightingMethod eExpandLasteAppDefeSimplificationeAllowedReductions eReduceDefseReconstructedeInjectivityDeptheCompareBlockedePrintDomainFreePiePrintMetasBareeInsideDotPattern eUnquoteFlagseInstanceDeptheIsDebugPrintingePrintingPatternLambdas eCallByNeedeCurrentCheckpoint eCheckpointseGeneralizeMetaseGeneralizedVarseActiveBackendNameeConflComputingOverlapeCurrentlyElaborating aDefToMode aModeToDefisDontExpandLastrecordFieldWarningToError warningNametcWarningOriginsizedTypesOptionguardednessOptionwithoutKOption enableCaching mapRedEnvmapRedSt mapRedEnvSt reduceEnvreduceSt onReduceEnv fmapReduceapReduce thenReduce beforeReduce bindReduce runReduceM runReduceFuseRaskRlocalRasksTCviewTC locallyTCgetsTC modifyTC'useTC setTCLens modifyTCLens modifyTCLensM stateTCLens stateTCLensM runBlockedmapTCMTpureTCM returnTCMTbindTCMTthenTCMTfmapTCMTapTCMT catchError_finally_ internalErrorlocatedTypeError genericErrorgenericDocError typeError' typeError typeError'_ typeError_runTCM runTCMTop runTCMTop' runSafeTCMforkTCMpatternInTeleNameextendedLambdaNameisExtendedLambdaNameabsurdLambdaNameisAbsurdLambdaNamegeneralizedFieldNamegetGeneralizedFieldName$fNFDataDisambiguatedName$fNFDataMutualBlock$fNullMutualBlock$fNFDataTypeCheckAction$fMonadFreshiIdentityT$fMonadFreshiListT$fMonadFreshiStateT$fMonadFreshiReaderT$fPrettyCheckpointId$fShowCheckpointId $fFreshName()$fFreshNameRange' $fFreshName[]$fFreshName(,)$fMonadStConcreteNamesStateT$fMonadStConcreteNamesReaderT$fMonadStConcreteNamesIdentityT$fNFDataModuleCheckMode$fNFDataForeignCode$fNFDataComparison$fPrettyComparison$fPrettyCompareDirection$fNFDataCompareAs$fAllMetasCompareAs$fTermLikeCompareAs$fFreeCompareAs $fNFDataOpen$fKillRangeOpen $fPrettyOpen$fDecorationOpen$fNFDataJudgement$fPrettyJudgement$fNFDataDoGeneralize$fKillRangeDoGeneralize$fNFDataGeneralizedValue$fNFDataFrozen$fNFDataPrincipalArgTypeMetas$fNFDataRunMetaOccursCheck$fPrettyNamedMeta$fNFDataOverapplied$fNFDataIPBoundary'$fKillRangeSection$fPrettySection$fNFDataDisplayTerm$fKillRangeDisplayTerm$fPrettyDisplayTerm$fFreeDisplayTerm$fNFDataDisplayForm$fKillRangeDisplayForm$fPrettyDisplayForm$fFreeDisplayForm$fNFDataNLPSort$fNFDataNLPType $fNFDataNLPat$fKillRangeNLPSort$fKillRangeNLPType$fKillRangeNLPat$fNFDataRewriteRule$fKillRangeRewriteRule$fKillRangeHashMap$fNFDataNumGeneralizableArgs$fKillRangeNumGeneralizableArgs$fNFDataPolarity$fKillRangePolarity$fNFDataIsForced$fKillRangeIsForced$fNFDataCompilerPragma$fHasRangeCompilerPragma$fKillRangeMap0$fNFDataSystem$fKillRangeSystem$fNFDataExtLamInfo$fKillRangeExtLamInfo$fNFDataProjLams$fKillRangeProjLams$fPrettyProjLams$fNFDataProjection$fKillRangeProjection$fPrettyProjection$fNFDataEtaEquality$fKillRangeEtaEquality%$fCopatternMatchingAllowedEtaEquality#$fPatternMatchingAllowedEtaEquality$fNFDataFunctionFlag$fKillRangeFunctionFlag$fNFDataCompKit$fKillRangeCompKit$fNFDataSimplification$fMonoidSimplification$fSemigroupSimplification$fNullSimplification$fIsProjElimMaybeReduced$fNFDataAllowedReduction$fNFDataReduceDefs$fMonoidReduceDefs$fSemigroupReduceDefs$fNFDataTermHead$fKillRangeTermHead$fPrettyTermHead$fNFDataFunctionInverse'$fKillRangeFunctionInverse'$fPrettyFunctionInverse' $fNFDataDefn$fKillRangeDefn $fPrettyDefn$fKillRangeMutualId$fNFDataDefinition$fKillRangeDefinition$fPrettyDefinition$fLensRelevanceDefinition$fLensQuantityDefinition$fLensModalityDefinition$fLensArgInfoDefinition$fKillRangeHashMap0$fNFDataSignature$fKillRangeSignature $fNFDataCall$fHasRangeCall $fPrettyCall$fNFDataBuiltin$fNFDataHighlightingLevel$fNFDataHighlightingMethod$fNFDataUnquoteFlags$fNFDataAbstractMode$fNFDataExpandHidden $fNFDataTCEnv$fNFDataIPClause$fNFDataClosure$fKillRangeClosure$fLensQuantityTCEnv$fLensRelevanceTCEnv$fLensModalityTCEnv $fEqIPClause$fLensIsAbstractTCEnv$fHasRangeClosure $fShowClosure$fLensTCEnvTCEnv$fLensIsAbstractClosure$fLensTCEnvClosure$fNFDataInteractionPoint$fHasTagInteractionPoint$fEqInteractionPoint $fNFDataBiMap$fSetRangeMetaInfo$fLensQuantityMetaInfo$fLensModalityMetaInfo$fLensIsAbstractMetaInfo$fLensClosureRange'MetaInfo$fLensClosureaClosure$fNFDataCandidateKind$fNFDataCandidate$fFreeCandidate$fNFDataRecordFieldWarning$fNFDataCallInfo$fPrettyCallInfo$fNFDataTerminationError$fNFDataNegativeUnification$fNFDataUnificationFailure$fNFDataSplitError$fNFDataLHSOrPatSyn$fMonadTCEnvListT$fMonadTCEnvWriterT$fMonadTCEnvStateT$fMonadTCEnvReaderT$fMonadTCEnvMaybeT$fMonadTCEnvIdentityT$fMonadTCEnvExceptT$fMonadTCEnvChangeT$fMonadBlockReaderT$fMonadBlockMaybeT$fNFDataTypeError$fNFDataUnquoteError$fNFDataTCWarning$fNFDataWarning$fNFDataPrimFun$fNFDataTypeCheckingProblem$fNFDataMetaInstantiation$fNFDataListener$fNFDataMetaVariable$fNFDataConstraint$fNFDataProblemConstraint$fNFDataInterface$fNFDataLoadedFileCache$fNFDataPersistentTCState$fNFDataTCState$fNFDataPostScopeState$fNFDataPreScopeState $fNFDataTCErr $fNullTCMT$fMonadBenchTCMT $fNullTCMT0 $fMonoidTCMT$fSemigroupTCMT$fIsStringTCMT$fCatchImpossibleTCMT$fMonadErrorTCErrTCMT$fMonadBlockTCMT$fMonadTCEnvTCMT $fMonadIOTCMT$fMonadFailTCMT $fMonadTCMT$fMonadTransTCMT$fApplicativeTCMT $fFunctorTCMT$fMonadBlockExceptT$fMonadTCEnvReduceM$fMonadFailReduceM$fMonadReduceM$fApplicativeReduceM$fFunctorReduceM$fExceptionTCErr$fHasRangeTCErr $fShowTCErr $fEqTCWarning$fHasRangeTCWarning$fLensClosureRange'MetaVariable$fLensQuantityMetaVariable$fLensModalityMetaVariable$fSetRangeMetaVariable$fHasRangeMetaVariable$fShowMetaInstantiation $fOrdListener $fEqListener$fAllMetasConstraint$fTermLikeConstraint$fFreeConstraint$fHasRangeConstraint$fHasRangeProblemConstraint$fPrettyInterface$fMonadStConcreteNamesTCMT $fShowTCState$fMonadTCStateTCMT$fMonadTCStateWriterT$fMonadTCStateIdentityT$fMonadTCStateChangeT$fMonadTCStateStateT$fMonadTCStateReaderT$fMonadTCStateExceptT$fMonadTCStateListT$fMonadTCStateMaybeT$fHasOptionsTCMT$fHasFreshCheckpointId$fHasFreshProblemId $fHasFreshInt$fHasFreshNameId$fHasFreshInteractionId$fHasFreshMutualId$fHasFreshMetaId$fMonadFreshiTCMT$fReadTCStateTCMT$fHasOptionsReduceM$fReadTCStateReduceM$fReadTCStateWriterT$fReadTCStateStateT$fReadTCStateReaderT$fReadTCStateMaybeT$fReadTCStateIdentityT$fReadTCStateExceptT$fReadTCStateChangeT$fReadTCStateListT$fMonadReduceWriterT$fMonadReduceStateT$fMonadReduceReaderT$fMonadReduceMaybeT$fMonadReduceListT$fMonadReduceIdentityT$fMonadReduceExceptT$fMonadReduceChangeT$fMonadReduceReduceM$fMonadTCMWriterT$fMonadTCMStateT$fMonadTCMReaderT$fMonadTCMMaybeT$fMonadTCMListT$fMonadTCMIdentityT$fMonadTCMExceptT$fMonadTCMChangeT$fMonadTCMTCMT$fMonadReduceTCMT$fMonadBlockBlockT$fMonadReduceBlockT$fFunctorBlockT$fApplicativeBlockT $fMonadBlockT$fMonadTransBlockT$fMonadIOBlockT$fMonadFailBlockT$fReadTCStateBlockT$fHasOptionsBlockT$fMonadTCEnvBlockT$fMonadTCStateBlockT$fMonadTCMBlockT$fGenericTCState$fGenericPersistentTCState$fShowTCWarning$fGenericTCWarning $fShowWarning$fGenericWarning$fShowProblemConstraint$fGenericProblemConstraint$fShowConstraint$fGenericConstraint$fShowTypeError$fGenericTypeError$fShowUnquoteError$fGenericUnquoteError$fShowInterface$fGenericInterface$fGenericLoadedFileCache$fGenericPostScopeState$fGenericPrimFun$fGenericMetaVariable$fGenericMetaInstantiation$fGenericTypeCheckingProblem$fShowArgsCheckState$fGenericListener$fGenericPreScopeState$fEqLHSOrPatSyn$fShowLHSOrPatSyn$fGenericLHSOrPatSyn$fShowSplitError$fGenericSplitError$fShowUnificationFailure$fGenericUnificationFailure$fShowNegativeUnification$fGenericNegativeUnification$fShowTerminationError$fGenericTerminationError$fShowCallInfo$fGenericCallInfo$fShowRecordFieldWarning$fDataRecordFieldWarning$fGenericRecordFieldWarning$fShowCandidate$fDataCandidate$fGenericCandidate$fShowCandidateKind$fDataCandidateKind$fGenericCandidateKind$fGenericInteractionPoint$fGenericTCEnv$fGenericIPClause$fFunctorClosure$fFoldableClosure$fGenericClosure$fEqExpandHidden$fDataExpandHidden$fGenericExpandHidden$fDataAbstractMode$fShowAbstractMode$fEqAbstractMode$fGenericAbstractMode$fDataUnquoteFlags$fGenericUnquoteFlags$fEqHighlightingMethod$fShowHighlightingMethod$fReadHighlightingMethod$fDataHighlightingMethod$fGenericHighlightingMethod$fEqHighlightingLevel$fOrdHighlightingLevel$fShowHighlightingLevel$fReadHighlightingLevel$fDataHighlightingLevel$fGenericHighlightingLevel $fShowBuiltin$fFunctorBuiltin$fFoldableBuiltin$fTraversableBuiltin$fGenericBuiltin $fDataCall $fGenericCall$fShowSignature$fGenericSignature$fGenericDefinition$fDataMutualId $fEqMutualId $fOrdMutualId$fShowMutualId $fNumMutualId$fEnumMutualId$fNFDataMutualId $fDataDefn $fShowDefn $fGenericDefn$fDataFunctionInverse'$fShowFunctionInverse'$fFunctorFunctionInverse'$fGenericFunctionInverse'$fDataTermHead $fEqTermHead $fOrdTermHead$fShowTermHead$fGenericTermHead$fDataReduceDefs$fGenericReduceDefs$fShowAllowedReduction$fEqAllowedReduction$fOrdAllowedReduction$fEnumAllowedReduction$fBoundedAllowedReduction$fIxAllowedReduction$fDataAllowedReduction$fGenericAllowedReduction$fFunctorMaybeReduced$fFunctorReduced$fDataSimplification$fEqSimplification$fShowSimplification$fGenericSimplification $fNullFields $fDataCompKit $fEqCompKit $fOrdCompKit $fShowCompKit$fGenericCompKit$fDataFunctionFlag$fEqFunctionFlag$fOrdFunctionFlag$fEnumFunctionFlag$fShowFunctionFlag$fGenericFunctionFlag$fDataEtaEquality$fShowEtaEquality$fEqEtaEquality$fGenericEtaEquality$fDataProjection$fShowProjection$fGenericProjection$fDataProjLams$fShowProjLams$fNullProjLams$fGenericProjLams$fDataExtLamInfo$fShowExtLamInfo$fGenericExtLamInfo $fDataSystem $fShowSystem$fGenericSystem$fDataCompilerPragma$fShowCompilerPragma$fEqCompilerPragma$fGenericCompilerPragma$fDataIsForced$fShowIsForced $fEqIsForced$fGenericIsForced$fDataPolarity$fShowPolarity$fGenericPolarity$fDataNumGeneralizableArgs$fShowNumGeneralizableArgs$fDataRewriteRule$fShowRewriteRule$fGenericRewriteRule $fDataNLPSort $fShowNLPSort$fGenericNLPSort $fDataNLPat $fShowNLPat$fGenericNLPat $fDataNLPType $fShowNLPType$fGenericNLPType$fDataDisplayForm$fShowDisplayForm$fGenericDisplayForm$fDataDisplayTerm$fShowDisplayTerm$fGenericDisplayTerm $fDataSection $fShowSection$fNFDataSection$fShowIPBoundary'$fDataIPBoundary'$fFunctorIPBoundary'$fFoldableIPBoundary'$fTraversableIPBoundary'$fGenericIPBoundary'$fEqOverapplied$fShowOverapplied$fDataOverapplied$fGenericOverapplied$fEqRunMetaOccursCheck$fOrdRunMetaOccursCheck$fShowRunMetaOccursCheck$fGenericRunMetaOccursCheck$fEqMetaPriority$fOrdMetaPriority$fShowMetaPriority$fNFDataMetaPriority$fGenericPrincipalArgTypeMetas $fEqFrozen $fShowFrozen$fGenericFrozen$fShowGeneralizedValue$fDataGeneralizedValue$fGenericGeneralizedValue$fEqDoGeneralize$fOrdDoGeneralize$fShowDoGeneralize$fDataDoGeneralize$fGenericDoGeneralize$fGenericJudgement $fShowOpen $fFunctorOpen$fFoldableOpen$fTraversableOpen $fGenericOpen$fDataCompareAs$fShowCompareAs$fGenericCompareAs$fEqCompareDirection$fShowCompareDirection$fEqComparison$fDataComparison$fShowComparison$fGenericComparison$fShowForeignCode$fGenericForeignCode$fEqModuleCheckMode$fOrdModuleCheckMode$fBoundedModuleCheckMode$fEnumModuleCheckMode$fShowModuleCheckMode$fGenericModuleCheckMode$fDataCheckpointId$fEqCheckpointId$fOrdCheckpointId$fEnumCheckpointId$fRealCheckpointId$fIntegralCheckpointId$fNumCheckpointId$fNFDataCheckpointId$fGenericTypeCheckAction$fShowMutualBlock$fEqMutualBlock$fGenericMutualBlock$fGenericDisambiguatedNameVALUvaluN' valueArgsICODE icodeArgsEmbPrjicodeicod_valueStnodeEstringElTextEsTextEintegerEdoubleEnodeMemomodFileincludesMemoUDictnodeDstringDlTextDsTextDintegerDdoubleDtermDnameDqnameDnodeCstringClTextCsTextCintegerCdoubleCtermCnameCqnameCstats collectStatsabsPathDQNameId FreshAndReusefarFresh HashTablefarEmpty lensFreshqnameId emptyDict malformed tickICode runGetStateicodeX icodeInteger icodeDouble icodeString icodeNode icodeMemovcaseicodeNicodeN'valuNvalueN$fICODE->False $fICODEtTrue $fVALU->False $fVALUtTrue unquoteTactic doQuoteTermcheckPostponedLambda inferExpr checkExpr' checkExprisType_checkSectionApplication checkDecl checkDeclscheckProjAppToKnownPrincipalArginferApplicationcheckApplicationcheckArguments_checkArgumentsrewriteverifyBuiltinRewrite fastNormalise fastReducereduceDefCopyTCMprimitiveFunctionsgetIncludeDirslibToTCMMonadInteractionPointsfreshInteractionIdmodifyInteractionPoints addImportaddImportCycleCheck getImports isImported getImportPath visitModulesetVisitedModulesgetVisitedModulesgetPrettyVisitedModulesgetVisitedModulegetDecodedModulessetDecodedModulesgetDecodedModulestoreDecodedModuledropDecodedModulewithImportPathcheckForImportCycle currentModulewithCurrentModulegetCurrentPathgetAnonymousVariableswithAnonymousModulewithEnvgetEnvwithHighlightingLevel doExpandLastdontExpandLastreallyDontExpandLastperformedSimplificationperformedSimplification'getSimplificationupdateAllowedReductionsmodifyAllowedReductionsputAllowedReductionsonlyReduceProjectionsallowAllReductionsallowNonTerminatingReductionsonlyReduceTypestypeLevelReductionsinsideDotPatternisInsideDotPattern callByNameMonadAddContextaddCtxaddLetBinding' updateContext withFreshNamecheckpointSubstitution HasBuiltinsgetBuiltinThingcheckLockedVarstopLevelModuleDropper prettyErrorTraceStraceSReportSreportSformatDebugMessagetraceDebugMessageverboseBracket getVerbosityisDebugPrintingnowDebugPrintingdefaultGetVerbositydefaultIsDebugPrintingdefaultNowDebugPrintingdisplayDebugMessagecatchAndPrintImpossible reportSLn__IMPOSSIBLE_VERBOSE__ reportSDoc reportResultunlessDebugPrintingtraceSLn traceSDocopenVerboseBracketcloseVerboseBracketcloseVerboseBracketExceptionparseVerboseKey hasVerbosityhasExactVerbositywhenExactVerbosity__CRASH_WHEN__verboseSapplyWhenVerboseS verbosity$fMonadDebugListT$fMonadDebugIdentityT$fMonadDebugWriterT$fMonadDebugStateT$fMonadDebugReaderT$fMonadDebugMaybeT$fMonadDebugExceptT$fMonadDebugChangeT$fMonadDebugTCMT $fReportSDoc $fReportS[] $fReportS[]0 $fReportS[]1 $fReportS[]2 $fReportSTCMT $fTraceSDoc $fTraceS[] $fTraceS[]0 $fTraceS[]1 $fTraceS[]2 $fTraceSTCMT$fMonadDebugBlockTMonadStatistics modifyCounter getStatisticsmodifyStatisticsticktickNtickMaxprintStatistics$fMonadStatisticsTCMT$fMonadStatisticsWriterT$fMonadStatisticsStateT$fMonadStatisticsReaderT$fMonadStatisticsMaybeT$fMonadStatisticsExceptT HasConstInfo getConstInfo getConstInfo'getRewriteRulesForSigError SigUnknown SigAbstract lookupSectioninFreshModuleIfFreeParamseligibleForProjectionLikemakeProjectionPureTCM PrettyContext PrettyTCM prettyTCM MonadPretty prettyWarningsayWhen cachingStarts areWeCachingwriteToCurrentLogrestorePostScopeState localCache withoutCachereadFromCachedLogcleanCachedLogactivateLoadedFileCachecacheCurrentLogupdateBenchmarkingStatusprintmatchCompiledE matchCompiledPSynNamesInnamesIn'namesIn$fNamesInAmbiguousQName$fNamesInPattern'$fNamesInDisplayTerm$fNamesInDisplayForm$fNamesInElim'$fNamesInLiteral$fNamesInPlusLevel'$fNamesInLevel' $fNamesInTerm$fNamesInSort'$fNamesInType''$fNamesInPattern'0 $fNamesInCase$fNamesInCompiledClauses'$fNamesInClause $fNamesInDefn$fNamesInDefinition$fNamesInConHead$fNamesInQName$fNamesInCompKit$fNamesIn(,,,) $fNamesIn(,,) $fNamesIn(,) $fNamesInTele$fNamesInFieldAssignment' $fNamesInOpen$fNamesInWithArity $fNamesInAbs$fNamesInNamed $fNamesInDom' $fNamesInArg $fNamesInMap $fNamesInSet$fNamesInNonEmpty $fNamesIn[]$fNamesInMaybe $fNamesInPSynscopeCheckImporthighlightWarningWarningsAndNonFatalErrors tcWarningsnonFatalErrors WhichWarnings ErrorWarnings AllWarnings MonadWarning addWarninggenericWarninggenericNonFatalError warning'_warning_warning'warningraiseWarningsOnUsageisUnsolvedWarning isMetaWarningisMetaTCWarningonlyShowIfUnsolvedclassifyWarningemptyWarningsAndNonFatalErrorsclassifyWarningsrunPM$fMonadWarningTCMT$fMonadWarningStateT$fMonadWarningReaderT$fEqWhichWarnings$fOrdWhichWarnings isErasable autoInlineOutputContextEntry ContextVar ContextLetOutputConstraint'OfType'ofNameofExprOutputConstraintOfType CmpInTypeCmpElimJustTypeCmpTypes CmpLevelsCmpTelesJustSortCmpSorts TypedAssignPostponedCheckArgs IsEmptyType SizeLtSatFindInstanceOF PTSInstancePostponedCheckFunDef CheckLock UsableAtMod OutputFormUseForce WithForce WithoutForce ComputeModeDefaultCompute HeadComputeIgnoreAbstractUseShowInstanceAsIs Instantiated HeadNormal Simplified NormalisedCompilerBackendLaTeX QuickLaTeX OtherBackendParseRemoveKeepIOTCM'IOTCM Interaction'Cmd_load Cmd_compileCmd_constraints Cmd_metas!Cmd_show_module_contents_toplevelCmd_search_about_toplevel Cmd_solveAll Cmd_solveOne Cmd_autoOne Cmd_autoAllCmd_infer_toplevelCmd_compute_toplevelCmd_load_highlighting_infoCmd_tokenHighlighting Cmd_highlightShowImplicitArgsToggleImplicitArgsShowIrrelevantArgsToggleIrrelevantArgsCmd_give Cmd_refine Cmd_introCmd_refine_or_intro Cmd_contextCmd_helper_function Cmd_infer Cmd_goal_typeCmd_elaborate_giveCmd_goal_type_contextCmd_goal_type_context_inferCmd_goal_type_context_checkCmd_show_module_contents Cmd_make_case Cmd_computeCmd_why_in_scopeCmd_why_in_scope_toplevelCmd_show_version Cmd_abortCmd_exit Interaction CommandQueuecommandsabortCommandCommand' CurrentFilecurrentFilePathcurrentFileArgscurrentFileStampCommandMOldInteractionScopes CommandStatetheInteractionPointstheCurrentFileoptionsOnReloadoldInteractionScopes commandQueueinitCommandState readsToParseparseToReadsPrecexact readParseparens'$fReadPosition'$fReadAbsolutePath$fReadInterval' $fReadRange'$fReadInteractionId$fReadCompilerBackend$fPrettyCompilerBackend$fShowCompilerBackend$fFunctorOutputForm$fFunctorOutputConstraint $fShowIOTCM' $fReadIOTCM'$fFunctorIOTCM'$fFoldableIOTCM'$fTraversableIOTCM'$fShowInteraction'$fReadInteraction'$fFunctorInteraction'$fFoldableInteraction'$fTraversableInteraction' $fEqUseForce$fReadUseForce$fShowUseForce$fShowComputeMode$fReadComputeMode$fEqComputeMode $fShowRewrite $fReadRewrite $fEqRewrite $fOrdRewrite$fEqCompilerBackend $fShowRemove $fReadRemove$fShowCommand'$fShowCurrentFile Give_String Give_Paren Give_NoParensShowImplicitArgumentssShowIrrelevantArgumentssCheckedResponseContextEntry respOrigName respReifNamerespType respLetValue respInScope GoalTypeAuxGoalOnly GoalAndHaveGoalAndElaboration Info_ErrorInfo_GenericErrorInfo_CompilationErrorInfo_HighlightingParseError Info_HighlightingScopeCheckErrorGoalsGoalDisplayInfoGoal_HelperFunctionGoal_NormalForm Goal_GoalTypeGoal_CurrentGoalGoal_InferredTypeInfo_CompilationOkInfo_ConstraintsInfo_AllGoalsWarnings Info_TimeInfo_Intro_NotFoundInfo_Intro_ConstructorUnknown Info_AutoInfo_ModuleContentsInfo_SearchAboutInfo_WhyInScopeInfo_NormalFormInfo_InferredType Info_Context Info_VersionInfo_GoalSpecificExtendedLambdaRemoveHighlightingKeepHighlightingSpeculateResultSpeculateAbortSpeculateCommit resetState resetAllState localTCStatelocalTCStateSavinglocalTCStateSavingWarningsspeculateTCStatespeculateTCState_freshTCMlensPersistentStateupdatePersistentStatemodifyPersistentStatelensAccumStatisticsPlensAccumStatisticsgetScopesetScope modifyScope_ modifyScopeuseScope locallyScope withScope withScope_ localScopenotInScopeErrornotInScopeWarning printScopemodifySignaturemodifyImportedSignature getSignaturemodifyGlobalDefinition setSignature withSignatureaddRewriteRulesForsetMatchableSymbolslookupDefinitionupdateDefinitionsupdateDefinition updateTheDef updateDefTypeupdateDefArgOccurrencesupdateDefPolarityupdateDefCompiledRepaddCompilerPragmaupdateFunClausesupdateCoveringupdateCompiledClausesupdateDefCopatternLHSupdateDefBlockedsetTopLevelModulewithTopLevelModulecurrentModuleNameHashaddForeignCodegetInteractionOutputCallbackappInteractionOutputCallbacksetInteractionOutputCallbackgetPatternSynssetPatternSynsmodifyPatternSynsgetPatternSynImportsgetAllPatternSynslookupPatternSynlookupSinglePatternSyn theBenchmarkupdateBenchmarkaddImportedInstancesupdateInstanceDefsmodifyInstanceDefsgetAllInstanceDefsgetAnonInstanceDefsclearAnonInstanceDefsaddUnknownInstanceaddNamedInstance MonadTrace traceCall traceCallM traceCallCPStraceClosureCallprintHighlightingInfointerestingCallgetCurrentRangesetCurrentRangehighlightAsTypeChecked$fMonadTraceTCMT$fMonadTraceExceptT$fMonadTraceWriterT$fMonadTraceStateT$fMonadTraceReaderT$fMonadTraceIdentityT noMutualBlock inMutualBlocksetMutualBlockInfoinsertMutualBlockInfosetMutualBlockcurrentOrFreshMutualBlocklookupMutualBlock mutualBlockOf enterClosure withClosure mapClosureMonadConstraintaddAwakeConstraintsolveConstraintsolveSomeAwakeConstraintswakeConstraintsstealConstraintsmodifyAwakeConstraintsmodifySleepingConstraintsConstraintStatusAwakeConstraintSleepingConstraintsolvingProblemsolvingProblemsisProblemSolvedgetConstraintsForProblemgetAwakeConstraintsdropConstraintstakeConstraintsputConstraintsToSleepputAllConstraintsToSleepholdConstraintstakeAwakeConstrainttakeAwakeConstraint'getAllConstraintswithConstraintbuildProblemConstraintbuildProblemConstraint_buildConstraintaddAndUnblockeraddOrUnblockeraddConstraint'addAwakeConstraint'addConstraintTonowSolvingConstraintsisSolvingConstraintscatchConstraintmapAwakeConstraintsmapSleepingConstraints$fMonadConstraintReaderT$fEqConstraintStatus$fShowConstraintStatusdebugConstraintsguardConstraintifNoConstraintsifNoConstraints_ noConstraintssolveAwakeConstraints'LensPersistentVerbositygetPersistentVerbositysetPersistentVerbositymapPersistentVerbosityPersistentVerbosityLensIncludePathsgetIncludePathssetIncludePathsmapIncludePathsgetAbsoluteIncludePathssetAbsoluteIncludePathsmapAbsoluteIncludePaths LensSafeMode getSafeMode setSafeMode mapSafeModeSafeModeLensCommandLineOptionsgetCommandLineOptionssetCommandLineOptionsmapCommandLineOptions LensVerbosity setVerbosity mapVerbosityLensPragmaOptionsgetPragmaOptionssetPragmaOptionsmapPragmaOptionslensPragmaOptionsmodifyPragmaOptionsmodifyVerbosity putVerbositymodifyCommandLineOptionsmodifySafeMode putSafeMode builtinModulesWithSafePostulates"builtinModulesWithUnsafePostulatesprimitiveModulesbuiltinModulesisPrimitiveModuleisBuiltinModule!isBuiltinModuleWithSafePostulatesmodifyIncludePathsputIncludePathsmodifyAbsoluteIncludePathsputAbsoluteIncludePathsmodifyPersistentVerbosityputPersistentVerbosity$fLensPragmaOptionsTCState%$fLensPragmaOptionsCommandLineOptions$fLensVerbosityTCState$fLensVerbosityPragmaOptions$fLensCommandLineOptionsTCState)$fLensCommandLineOptionsPersistentTCState$fLensSafeModeTCState$fLensSafeModePersistentTCState $fLensSafeModeCommandLineOptions$fLensSafeModePragmaOptions$fLensIncludePathsTCState#$fLensIncludePathsPersistentTCState$$fLensIncludePathsCommandLineOptions $fLensPersistentVerbosityTCState*$fLensPersistentVerbosityPersistentTCState+$fLensPersistentVerbosityCommandLineOptions&$fLensPersistentVerbosityPragmaOptions FindErrorNotFound Ambiguous InterfaceFile intFilePath SourceFile srcFilePathmkInterfaceFiletoIFilereplaceModuleExtensionfindErrorToTypeErrorfindFile findFile' findFile''findInterfaceFile'findInterfaceFilecheckModuleName moduleNamerootNameModule$fPrettySourceFile$fPrettyInterfaceFile$fEqSourceFile$fOrdSourceFileSerialisedRangeunderlyingRange$fEmbPrjExpandedEllipsis$fEmbPrjImpossible$fEmbPrjCallStack$fEmbPrjSrcLoc$fEmbPrjDelayed$fEmbPrjIsAbstract$fEmbPrjLiteral$fEmbPrjProjOrigin$fEmbPrjConOrigin$fEmbPrjFreeVariables$fEmbPrjWithOrigin$fEmbPrjOrigin $fEmbPrjLock$fEmbPrjAnnotation$fEmbPrjRelevance$fEmbPrjModality$fEmbPrjCohesion$fEmbPrjQuantity$fEmbPrjQωOrigin$fEmbPrjQ1Origin$fEmbPrjQ0Origin$fEmbPrjHiding$fEmbPrjInduction$fEmbPrjPatternOrCopattern$fEmbPrjHasEta' $fEmbPrjArg$fEmbPrjWithHiding$fEmbPrjHashMap$fEmbPrjNameId$fEmbPrjModuleNameHash$fEmbPrjArgInfo$fEmbPrjRanged $fEmbPrjNamed$fEmbPrjFieldAssignment'$fEmbPrjModuleName$fEmbPrjAmbiguousQName $fEmbPrjQName$fEmbPrjMetaId$fEmbPrjGenPart$fEmbPrjFixity'$fEmbPrjFixity$fEmbPrjFixityLevel$fEmbPrjAssociativity$fEmbPrjImportedName'$fEmbPrjQName0$fEmbPrjNameInScope$fEmbPrjNamePart $fEmbPrjName$fEmbPrjRange'$fEmbPrjInterval' $fEmbPrjSeq $fEmbPrjTrie$fEmbPrjIntSet $fEmbPrjSet $fEmbPrjMap $fEmbPrjBiMap $fEmbPrjList2$fEmbPrjNonEmpty $fEmbPrj[]$fEmbPrjTopLevelModuleName$fEmbPrjWithDefault$fEmbPrjPosition'$fEmbPrjAbsolutePath$fEmbPrjLanguage$fEmbPrjCubical$fEmbPrjFileType $fEmbPrjBool $fEmbPrjMaybe$fEmbPrjMaybe0$fEmbPrjEither $fEmbPrj(,,) $fEmbPrjPair $fEmbPrj(,) $fEmbPrj() $fEmbPrjVoid$fEmbPrjDouble $fEmbPrjChar $fEmbPrjInt $fEmbPrjInt32$fEmbPrjWord64$fEmbPrjInteger $fEmbPrjText $fEmbPrjText0 $fEmbPrj[]0 $fEmbPrjName0$fEmbPrjSerialisedRange$fEmbPrjTokenBased$fEmbPrjRangeMap$fEmbPrjPairInt$fEmbPrjDefinitionSite$fEmbPrjAspects$fEmbPrjOtherAspect$fEmbPrjAspect$fEmbPrjNameKind $fEmbPrjRangeAbsNameWithFixity toAbsName fromAbsName$fEmbPrjNameOrModule$fEmbPrjScopeInfo$fEmbPrjPrecedence$fEmbPrjParenPreference$fEmbPrjPattern'$fEmbPrjConPatLazy$fEmbPrjConPatInfo$fEmbPrjLocalVar$fEmbPrjBindingSource$fEmbPrjKindOfName$fEmbPrjAbstractModule$fEmbPrjSuffix$fEmbPrjNameMetadata$fEmbPrjAbstractName$fEmbPrjWhyInScope$fEmbPrjNameSpace$fEmbPrjAccess$fEmbPrjNameSpaceId$fEmbPrjDataOrRecordModule $fEmbPrjScope$fEmbPrjBindName$fEmbPrjAbsNameWithFixitysetCommandLineOptions'getAgdaLibFilesgetLibraryOptionssetLibraryPathssetLibraryIncludesaddDefaultLibrariesaddTrustedExecutablessetOptionsFromPragmaenableDisplayFormsdisableDisplayFormsdisplayFormsEnabledsetIncludeDirs isPropEnabledisTwoLevelEnabledhasUniversePolymorphismshowImplicitArgumentsshowIrrelevantArgumentsshowIdentitySubstitutionswithShowAllArgumentswithShowAllArguments'withPragmaOptionspositivityCheckEnabled typeInType etaEnabledmaxInstanceSearchDepthmaxInversionDepth getLanguage TeleNoAbs teleNoAbsTelVtheTeltheCoreTelView applyTermE canProjectconAppdefApp argToDontCare relToDontCarepiApplytelVars namedTelVars abstractArgsrenaming renamingRrenamePapplySubstTermapplyNLPatSubstapplyNLSubstToDomfromPatternSubstitution applyPatSubst usePatOriginusePatternInfoprojDropParsApplytelView' telView'UpTo bindsToTel' bindsToTel bindsToTel'1 bindsToTel1namedBindsToTelnamedBindsToTel1domFromNamedArgNamemkPiSort unlamViewtelePi'telePitelePi_ telePiVisibleteleLamtypeArgsWithTelcompiledClauseBody univSort'univSortssort isSmallSort fibrantLubfunSort'funSortpiSort'piSortlevelMaxlevelLublevelTm $fOrdElim' $fEqElim'$fOrdAbs$fEqAbs $fOrdTerm$fEqTerm $fOrdType'' $fEqType''$fOrdPlusLevel' $fSubstRange'$fSubstPattern'$fDeBruijnPattern'$fSubstEqualityView$fSubstCandidate $fSubst(,,,) $fSubst(,,) $fSubst(,) $fSubst()$fSubstWithHiding $fSubstMap $fSubst[] $fSubstMaybe $fSubstDom' $fSubstNamed $fSubstArg $fSubstAbs $fSubstElim'$fSubstCompareAs$fSubstConstraint $fSubstTele$fSubstDisplayTerm$fSubstDisplayForm$fSubstBlocked'$fSubstRewriteRule$fSubstNLPSort$fSubstNLPType $fSubstNLPat$fDeBruijnNLPat$fDeBruijnBraveTerm$fSubstProblemEq$fSubstPattern'0$fSubstConPatternInfo $fSubstName$fSubstPlusLevel' $fSubstLevel' $fSubstSort' $fSubstType''$fSubstBraveTerm $fSubstTerm$fSubstSubstitution'$fAbstractHashMap $fAbstractMap$fAbstractMaybe $fAbstract[]$fAbstractFunctionInverse'$fAbstractCase$fAbstractWithArity$fAbstractCompiledClauses'$fAbstractClause$fAbstractPrimFun$fAbstractDefn$fAbstractSystem$fAbstractProjLams$fAbstractProjection$fAbstractNumGeneralizableArgs $fAbstract[]0 $fAbstract[]1$fAbstractRewriteRule$fAbstractDefinition$fAbstractTele$fAbstractSort'$fAbstractType''$fAbstractTerm$fAbstractPermutation$fApplyPermutation$fAbstractDrop $fApplyDrop $fApply(,,) $fApply(,)$fApplyHashMap $fApplyMap $fApplyMaybe $fApplyMaybe0$fApplyBlocked' $fApply[]$fApplyDisplayTerm$fApplyFunctionInverse' $fApplyCase$fApplyWithArity $fApplySystem$fApplyExtLamInfo$fApplyCompiledClauses' $fApplyClause$fApplyPrimFun $fApplyDefn$fApplyProjLams$fApplyProjection $fApply[]0$fApplyNumGeneralizableArgs $fApply[]1 $fApply[]2$fApplyRewriteRule$fApplyDefinition $fApplyTele $fApplySort'$fApplyBraveTerm $fApplyTerm$fTeleNoAbsTele $fTeleNoAbs[] $fShowTelV $fFunctorTelV $fOrdDom' $fEqSection $fOrdTele$fEqTele $fEqCandidate$fEqCandidateKind $fEqBlocked'$fEqNotBlocked'$fEqPlusLevel' $fOrdLevel' $fEqLevel' $fOrdSort' $fEqSort'$fOrdSubstitution'$fEqSubstitution' $fOrdTelV$fEqTelVmakeOpengetOpen tryGetOpenisClosed KeepNames AddContext addContext contextSizeunsafeModifyContextmodifyContextInfo inTopContextunsafeInTopContextunsafeEscapeContext escapeContext checkpointcheckpointSubstitution'getModuleParameterSub defaultAddCtxwithFreshName_withShadowingNameTCMaddRecordNameContextunderAbstractionunderAbstraction'underAbstractionAbsunderAbstractionAbs'underAbstraction_mapAbstractiongetLetBindingsdefaultAddLetBinding' addLetBindinggetContextSizegetContextArgsgetContextTermsgetContextTelescopegetContextNames lookupBV'lookupBVdomOfBVtypeOfBV nameOfBV'nameOfBV getVarInfo$fMonadAddContextTCMT$fMonadAddContextListT$fMonadAddContextWriterT$fMonadAddContextStateT$fMonadAddContextReaderT$fMonadAddContextMaybeT$fMonadAddContextIdentityT$fMonadAddContextExceptT$fAddContextTele$fAddContext[]$fAddContextName$fAddContextDom'$fAddContext(,)$fAddContext(,)0$fAddContext(,)1$fAddContext(,)2$fAddContext(,)3$fAddContext(,)4$fAddContext(,)5$fAddContext(,)6$fAddContext(,)7$fAddContextDom'0$fAddContextDom'1$fAddContext(,)8$fAddContext[]0$fAddContextKeepNames$fAddContext(,)9$fMonadAddContextBlockTPiApplyM piApplyM'piApplyMtelViewSortKit nameOfSet nameOfProp nameOfSSetnameOfSetOmegaCoinductionKit nameOfInf nameOfSharp nameOfFlatlitTypesetBuiltinThingsbindBuiltinName bindPrimitive getBuiltin getBuiltin' getPrimitive' getPrimitivegetPrimitiveTermgetPrimitiveTerm'getTerm'getName'getTermconstructorFormconstructorForm' primIntegerprimIntegerPosprimIntegerNegSuc primFloatprimChar primStringprimBool primSigmaprimUnit primUnitUnitprimTrue primFalseprimListprimNilprimCons primMaybe primNothingprimJustprimIOprimId primConId primIdElimprimPath primPathP primInterval primIZeroprimIOneprimIMinprimIMaxprimINeg primPartial primPartialP primIsOne primItIsOne primTrans primHComp primEquiv primEquivFunprimEquivProofprimTranspProof prim_glueU prim_unglueUprimGlue prim_glue prim_unglueprimFaceForall primIsOne1 primIsOne2primIsOneEmptyprimSub primSubIn primSubOutprimNatprimSucprimZero primNatPlus primNatMinus primNatTimesprimNatDivSucAuxprimNatModSucAuxprimNatEquality primNatLess primWord64 primSizeUnivprimSize primSizeLt primSizeSuc primSizeInf primSizeMaxprimInf primSharpprimFlat primEqualityprimRefl primRewrite primLevel primLevelZero primLevelSuc primLevelMaxprimSetprimProp primSetOmega primLockUniv primSSetOmega primStrictSet primFromNat primFromNegprimFromString primQNameprimArg primArgArgprimAbs primAbsAbs primAgdaSort primHiding primHidden primInstance primVisible primRelevance primRelevantprimIrrelevant primQuantity primQuantity0primQuantityω primModalityprimModalityConstructor primAssoc primAssocLeftprimAssocRight primAssocNonprimPrecedenceprimPrecRelatedprimPrecUnrelated primFixityprimFixityFixity primArgInfoprimArgArgInfoprimAgdaSortSetprimAgdaSortLitprimAgdaSortPropprimAgdaSortPropLitprimAgdaSortInfprimAgdaSortUnsupported primAgdaTermprimAgdaTermVarprimAgdaTermLamprimAgdaTermExtLamprimAgdaTermDefprimAgdaTermConprimAgdaTermPiprimAgdaTermSortprimAgdaTermLitprimAgdaTermUnsupportedprimAgdaTermMetaprimAgdaErrorPartprimAgdaErrorPartStringprimAgdaErrorPartTermprimAgdaErrorPartNameprimAgdaLiteralprimAgdaLitNatprimAgdaLitWord64primAgdaLitFloatprimAgdaLitCharprimAgdaLitStringprimAgdaLitQNameprimAgdaLitMetaprimAgdaPatternprimAgdaPatConprimAgdaPatVarprimAgdaPatDotprimAgdaPatLitprimAgdaPatProjprimAgdaPatAbsurdprimAgdaClauseprimAgdaClauseClauseprimAgdaClauseAbsurdprimAgdaDefinitionFunDefprimAgdaDefinitionDataDefprimAgdaDefinitionRecordDef!primAgdaDefinitionDataConstructorprimAgdaDefinitionPostulateprimAgdaDefinitionPrimitiveprimAgdaDefinition primAgdaMeta primAgdaTCMprimAgdaTCMReturnprimAgdaTCMBindprimAgdaTCMUnifyprimAgdaTCMTypeErrorprimAgdaTCMInferTypeprimAgdaTCMCheckTypeprimAgdaTCMNormaliseprimAgdaTCMReduceprimAgdaTCMCatchErrorprimAgdaTCMGetContextprimAgdaTCMExtendContextprimAgdaTCMInContextprimAgdaTCMFreshNameprimAgdaTCMDeclareDefprimAgdaTCMDeclarePostulateprimAgdaTCMDefineFunprimAgdaTCMGetTypeprimAgdaTCMGetDefinitionprimAgdaTCMQuoteTermprimAgdaTCMQuoteOmegaTermprimAgdaTCMUnquoteTermprimAgdaTCMBlockOnMetaprimAgdaTCMCommitprimAgdaTCMIsMacroprimAgdaTCMWithNormalisationprimAgdaTCMWithReconsParamsprimAgdaTCMDebugPrintprimAgdaTCMOnlyReduceDefsprimAgdaTCMDontReduceDefsprimAgdaTCMNoConstraintsprimAgdaTCMRunSpeculativeprimAgdaTCMExeccoinductionKit'coinductionKitsortKit getPrimNamegetBuiltinName'getPrimitiveName' isPrimitive intervalView' intervalViewintervalUnviewintervalUnview'pathView pathView' idViewAsPath boldPathView pathUnviewprimEqualityName equalityViewequalityUnviewconstrainedPrimsgetNameOfConstrained$fHasBuiltinsTCMT$fHasBuiltinsWriterT$fHasBuiltinsStateT$fHasBuiltinsReaderT$fHasBuiltinsMaybeT$fHasBuiltinsListT$fHasBuiltinsIdentityT$fHasBuiltinsExceptT$fHasBuiltinsBlockT composePolcomputePolarity SizeMaxView' SizeMaxViewSizeViewComparable NotComparableYesAboveYesBelow DeepSizeViewDSizeInfDSizeVar DSizeMeta DOtherSize ProjectedVarpvIndexprProjsSizeViewSizeInfSizeSuc OtherSize IsSizeType isSizeType BoundedSize BoundedLt BoundedNoisSizeTypeTestgetBuiltinDefNamegetBuiltinSizeisSizeNameTestisSizeNameTestRawhaveSizedTypes haveSizeLtbuiltinSizeHooksizeSortsizeUniv sizeType_sizeType sizeSucNamesizeSucsizeSuc_sizeMaxsizeViewviewProjectedVarunviewProjectedVarsizeViewComparable sizeViewSuc_ sizeViewPredsizeViewOffset removeSucs unSizeViewunDeepSizeView maxViewMax maxViewConssizeViewComparableWithMax maxViewSuc_ unMaxView$fIsSizeTypeCompareAs$fIsSizeTypeTerm$fIsSizeTypeType''$fIsSizeType(,)$fIsSizeTypeDom'$fEqProjectedVar$fPrettyDeepSizeView$fFunctorSizeViewComparable$fShowDeepSizeView$fShowProjectedVar$fEqBoundedSize$fShowBoundedSizereallyUnLevelViewOpenKind LetOpenModule TopOpenModuleImportedNameMapinameMap imoduleMap ScopeMemo memoNames memoModulesWSMScopeM printLocals scopeWarning' scopeWarningisDatatypeModulegetCurrentModulesetCurrentModulewithCurrentModule' getNamedScopegetCurrentScope createModule modifyScopesmodifyNamedScope setNamedScopemodifyNamedScopeMmodifyCurrentScopemodifyCurrentScopeMmodifyCurrentNameSpacesetContextPrecedencewithContextPrecedence getLocalVarsmodifyLocalVars setLocalVars withLocalVarsoutsideLocalVarswithCheckNoShadowingcheckNoShadowing getVarsToBind addVarToBindbindVarsToBind annotateDecls annotateExprfreshAbstractNamefreshAbstractName_freshAbstractQNamefreshAbstractQName'freshConcreteName resolveName resolveName'tryResolveNamecanHaveSuffixTest resolveModulegetConcreteFixitygetConcretePolaritycomputeFixitiesAndPolarities getNotation bindVariableunbindVariablebindName bindName' bindName'' rebindName bindModule bindQModule stripNoNamesmemoToScopeInfo copyScopecheckNoFixityInRenamingModuleverifyImportDirectiveapplyImportDirectiveM mapImportDirimportedNameMapFromListlookupImportedName mapRenamingnoGeneralizedVarsIfLetOpen openModule_ openModule$fMonadFixityErrorTCMTRangeAndPragma ToConcreteConOfAbs toConcretebindToConcreteAbsToCon MonadAbsToConEnvpreserveInteractionIds noTakenNames runAbsToConabstractToConcreteScopeabstractToConcreteCtxabstractToConcrete_abstractToConcreteHiding lookupQName toConcreteCtx$fMonadDebugAbsToCon$fHasOptionsAbsToCon$fHasBuiltinsAbsToCon$fMonadStConcreteNamesAbsToCon$fReadTCStateAbsToCon$fMonadTCEnvAbsToCon$fMonadReaderEnvAbsToCon$fMonadFailAbsToCon$fMonadAbsToCon$fApplicativeAbsToCon$fFunctorAbsToCon$fToConcreteNamedMeta$fToConcreteInteractionId$fToConcreteMaybe$fToConcreteLHSCore'$fToConcreteLHS$fToConcreteSpineLHS$fToConcreteModuleApplication$fToConcreteClause'$fToConcreteConstr$fToConcreteMaybe0$fToConcreteMaybe1$fToConcreteRewriteEqn'$fToConcreteRHS$fToConcreteWhereDeclarations$fToConcreteLetBinding$fToConcreteTypedBinding$fToConcreteLamBinding$fToConcreteBinder'$fToConcreteFieldAssignment'$fToConcreteResolvedName$fToConcreteAbstractName$fToConcreteModuleName$fToConcreteQName$fToConcreteBindName$fToConcreteName$fToConcreteNamed$fToConcreteWithHiding$fToConcreteArg$fToConcrete(,,)$fToConcrete(,)$fToConcreteEither$fToConcreteNonEmpty$fToConcrete[]$fToConcreteBool$fToConcrete()$fToConcreteRangeAndPragma$fToConcreteDeclaration$fToConcreteUserPattern$fToConcreteUserPattern0$fToConcretePattern'$fToConcreteSplitPattern$fToConcreteSplitPattern0$fToConcreteBindingPattern$fToConcreteFreshenName$fToConcreteExpr$fHasRangeMaybeSection$fEqMaybeSection$fShowMaybeSection$fFunctorMaybeSection$fFoldableMaybeSection$fTraversableMaybeSectionshowAprettyAprettyAsshowATop prettyATopparseLHS parsePatternparsePatternSynparseApplicationparseModuleApplication$fPrettyParseLHS $fEqExprKind$fShowExprKindDropArgsdropArgs$fDropArgsSplitTree'$fDropArgsCompiledClauses'$fDropArgsTerm$fDropArgsFunctionInverse'$fDropArgsClause$fDropArgsPermutation$fDropArgsTele$fDropArgsMaybeInSeqHasFreeOccursSeqArg UnderLambdaonceinSeq underLambdaoccursIn tryStrengthen $fSubstTAlt $fSubstTTerm$fDeBruijnTTerm$fMonoidOccurs$fSemigroupOccurs $fHasFree(,) $fHasFree[] $fHasFreeInt $fHasFreeTAlt$fHasFreeBinder$fHasFreeTTerm$fHasFreeInSeq $fEqOccurs $fOrdOccurs $fShowOccurs $fEqSeqArg $fOrdSeqArg $fShowSeqArg$fSemigroupSeqArg$fMonoidSeqArg$fEqUnderLambda$fOrdUnderLambda$fShowUnderLambda$fSemigroupUnderLambda$fMonoidUnderLambda $fPrettyTTerm equalTerms caseToSeq addConstant addConstant' setTerminatessetCompiledClauses setSplitTreemodifyFunClauses addClausesmkPragma addPragmagetUniqueCompilerPragmasetFunctionFlag markStatic markInline markInjectiveunionSignatures addSectionsetModuleCheckpoint getSectionaddDisplayForms applySection applySection'addDisplayFormisLocalgetDisplayFormschaseDisplayFormshasLoopingDisplayForm canonicalNamesameDef whatInductionsingleConstructorTypesigErrorgetOriginalConstInfodefaultGetRewriteRulesForgetOriginalProjectiondefaultGetConstInfo getConInfo getPolarity' setPolarity getForcedArgsgetArgOccurrencesetArgOccurrencesmodifyArgOccurrences setTreelesssetCompiledArgUse getCompiledgetErasedConArgssetErasedConArgs getTreelessgetCompiledArgUse addDataCons getMutual getMutual_ setMutualmutuallyRecursivedefinitelyNonRecursive_getCurrentModuleFreeVars getDefModulegetDefFreeVarsfreeVarsToApplygetModuleFreeVarsmoduleParamsToApplyinstantiateDefinstantiateRewriteRuleinstantiateRewriteRules makeAbstractinAbstractModeinConcreteModeignoreAbstractModeinConcreteOrAbstractModetreatAbstractlytreatAbstractly' typeOfConst relOfConstmodalityOfConst droppedPars isProjection isProjection_isRelevantProjectionisRelevantProjection_ isStaticFun isInlineFunisProperProjectionprojectionArgsusesCopatternsapplyDef$fHasConstInfoBlockT$fHasConstInfoWriterT$fHasConstInfoStateT$fHasConstInfoReaderT$fHasConstInfoMaybeT$fHasConstInfoListT$fHasConstInfoIdentityT$fHasConstInfoExceptT$fHasConstInfoChangeT$fHasConstInfoTCMT$fPureTCMStateT$fPureTCMWriterT$fPureTCMReaderT$fPureTCMMaybeT$fPureTCMListT$fPureTCMIdentityT$fPureTCMExceptT$fPureTCMBlockT $fPureTCMTCMTisPropM workOnTypes UnFreezeMeta unfreezeMetaIsInstantiatedMetaisInstantiatedMetaMonadMetaSolvernewMeta'assignV assignTerm' etaExpandMeta updateMetaVarspeculateMetas KeepMetas RollBackMetasMetaKindRecordsSingletonRecordsLevels allMetaKindsdontAssignMetas getMetaStoremodifyMetaStoremetasCreatedBy lookupMeta'metaTypeupdateMetaVarTCM insertMetaVargetMetaPriority isSortMeta isSortMeta_ getMetaTypegetMetaContextArgsgetMetaTypeInContextisGeneralizableMetaisInstantiatedMeta'constraintMetascreateMetaInfocreateMetaInfo'setValueMetaNamegetMetaNameSuggestionsetMetaNameSuggestionsetMetaGeneralizableArgInfoupdateMetaVarRangesetMetaOccursCheckregisterInteractionPointfindInteractionPoint_connectInteractionPointremoveInteractionPointgetInteractionPointsgetInteractionMetasgetUniqueMetasRangesgetUnsolvedMetasgetUnsolvedInteractionMetasgetInteractionIdsAndMetasisInteractionMetalookupInteractionPointlookupInteractionIdlookupInteractionMetalookupInteractionMeta_ newMetaTCM'getInteractionRange getMetaRangegetInteractionScope withMetaInfo' withMetaInfowithInteractionId withMetaIdgetMetaVariables getOpenMetas isOpenMeta listenToMetaunlistenToMetagetMetaListenersclearMetaListeners freezeMetas unfreezeMetasisFrozen$fIsInstantiatedMetaAbs$fIsInstantiatedMetaArg$fIsInstantiatedMetaMaybe$fIsInstantiatedMeta[]$fIsInstantiatedMetaPlusLevel'$fIsInstantiatedMetaLevel'$fIsInstantiatedMetaTerm$fIsInstantiatedMetaMetaId$fMonadInteractionPointsTCMT$fMonadInteractionPointsStateT$fMonadInteractionPointsReaderT!$fMonadInteractionPointsIdentityT$fUnFreezeMetaAbs$fUnFreezeMeta[]$fUnFreezeMetaPlusLevel'$fUnFreezeMetaLevel'$fUnFreezeMetaSort'$fUnFreezeMetaTerm$fUnFreezeMetaType''$fUnFreezeMetaMetaId $fEqMetaKind$fEnumMetaKind$fBoundedMetaKind$fShowMetaKind Condition checkMetaInst newSortMeta newTelMetanewNamedValueMeta'newNamedValueMeta newValueMetanewInstanceMetaassignetaExpandMetaSafe assignTerm newArgsMeta newArgsMeta'getConstructorData getConHead$fEmbPrjForeignCode$fEmbPrjCompilerPragma$fEmbPrjSubstitution'$fEmbPrjBuiltin$fEmbPrjPatOrigin$fEmbPrjPatternInfo$fEmbPrjDBPatVar$fEmbPrjConPatternInfo$fEmbPrjClause$fEmbPrjTermHead$fEmbPrjFunctionInverse'$fEmbPrjCompiledClauses' $fEmbPrjCase$fEmbPrjWithArity$fEmbPrjFunctionFlag$fEmbPrjSplitTree'$fEmbPrjSplitTag$fEmbPrjLazySplit $fEmbPrjDefn$fEmbPrjEtaEquality$fEmbPrjOccurrence$fEmbPrjDoGeneralize$fEmbPrjNumGeneralizableArgs$fEmbPrjIsForced$fEmbPrjPolarity$fEmbPrjExtLamInfo$fEmbPrjSystem$fEmbPrjProjLams$fEmbPrjProjection$fEmbPrjRewriteRule$fEmbPrjNLPSort$fEmbPrjNLPType $fEmbPrjNLPat$fEmbPrjBlocked'$fEmbPrjNotBlocked'$fEmbPrjDefinition$fEmbPrjCompKit$fEmbPrjMutualId$fEmbPrjDisplayTerm$fEmbPrjCheckpointId $fEmbPrjOpen$fEmbPrjDisplayForm $fEmbPrjSort'$fEmbPrjIsFibrant$fEmbPrjPlusLevel'$fEmbPrjLevel' $fEmbPrjTerm $fEmbPrjAbs$fEmbPrjType''$fEmbPrjConHead$fEmbPrjDataOrRecord $fEmbPrjElim' $fEmbPrjDrop$fEmbPrjPermutation $fEmbPrjTele$fEmbPrjSection$fEmbPrjSignature $fEmbPrjDom'$fEmbPrjCutOff$fEmbPrjWarningName$fEmbPrjWarningMode$fEmbPrjConfluenceCheck$fEmbPrjUnicodeOrAscii$fEmbPrjPragmaOptions $fEmbPrjDoc$fEmbPrjLibPositionInfo$fEmbPrjExecutablesFile$fEmbPrjLibWarning'$fEmbPrjLibWarning$fEmbPrjDeclarationWarning'$fEmbPrjDeclarationWarning$fEmbPrjRecordFieldWarning$fEmbPrjParseWarning$fEmbPrjWarning$fEmbPrjTCWarning$fEmbPrjInterfaceencodeInterfacedecodeInterface decodeHashes decodeFile useTerPragma newSection checkFunDef' checkFunDefbindBuiltinFlatbindBuiltinSharpbindBuiltinInf typeOfFlat typeOfSharp typeOfInfToNLPattoNLPatgetClausesAsRewriteRules clauseQNameclauseToRewriteRule$fToNLPatArgElim'$fToNLPatArgElim'0$fToNLPatAbsAbs$fToNLPatElim'Elim'$fToNLPatDom'Dom' $fToNLPat[][]$fPureTCMReduceM$fHasConstInfoReduceM$fMonadDebugReduceM$fMonadAddContextReduceM$fHasBuiltinsReduceMimpossibleTestimpossibleTestReduceMisRecordConstructorisGeneratedRecordConstructoretaContractRecordgetRecordFieldNames_ isEtaRecordisRecord MonadMatchYesNoDontKnowmatchCopatterns matchPatternsbuildSubstitutionExpandPatternSynonymsexpandPatternSynonymsexpandLitPatternexpandPatternSynonyms'$fExpandPatternSynonymsPattern''$fExpandPatternSynonymsFieldAssignment'$fExpandPatternSynonymsNamed$fExpandPatternSynonymsArg$fExpandPatternSynonyms[]$fExpandPatternSynonymsMaybeNamesNamesTunName runNamesTrunNames currentCxtcxtSubstinCxtcl'clopenbind'bindglamglamNlamilam$fHasBuiltinsNamesT$fFunctorNamesT$fApplicativeNamesT $fMonadNamesT$fMonadFailNamesT$fMonadTransNamesT$fMonadStatesNamesT$fMonadIONamesT$fHasOptionsNamesT$fMonadDebugNamesT$fMonadTCEnvNamesT$fMonadTCStateNamesT$fMonadTCMNamesT$fReadTCStateNamesT$fMonadReduceNamesT$fMonadErroreNamesT$fMonadAddContextNamesT$fHasConstInfoNamesT$fPureTCMNamesT MentionsMeta mentionsMetas mentionsMeta$fMentionsMetaCompareAs$fMentionsMetaConstraint$fMentionsMetaProblemConstraint$fMentionsMetaTele$fMentionsMetaElim'$fMentionsMetaClosure$fMentionsMeta(,,)$fMentionsMeta(,)$fMentionsMetaMaybe$fMentionsMeta[]$fMentionsMetaDom'$fMentionsMetaArg$fMentionsMetaAbs$fMentionsMetaSort'$fMentionsMetaType''$fMentionsMetaBlocker$fMentionsMetaPlusLevel'$fMentionsMetaLevel'$fMentionsMetaTerm BinAppViewNoApp binAppView etaContractetaOnceetaConetaLamInstantiateFullinstantiateFull' Normalise normalise'Simplify simplify'reduce'reduceB'IsMetaisMeta Instantiate instantiate' instantiateinstantiateFullreducereduceBreduceWithBlocker withReduced normalise normaliseBsimplifyisFullyInstantiatedMetablockAllblockAny ifBlockedabortIfBlocked isBlocked reduceIApply reduceIApply'shouldTryFastReducemaybeFastReduceTermslowReduceTermunfoldCorecursionEunfoldCorecursionunfoldDefinitionunfoldDefinitionEunfoldDefinition'unfoldDefinitionStep reduceDefCopy reduceHead unfoldInlinedappDef_appDefE_appDefappDefEappDef'appDefE'simplifyBlocked'slowNormaliseArgs$instantiateFullExceptForDefinitions'#instantiateFullExceptForDefinitions$fInstantiateEqualityView$fInstantiateCandidate$fInstantiateCompareAs$fInstantiateConstraint$fInstantiateClosure$fInstantiateDom'$fInstantiateSort'$fInstantiateBlocker$fInstantiateBlocked'$fInstantiatePlusLevel'$fInstantiateLevel'$fInstantiateType''$fInstantiateTerm$fInstantiate(,,)$fInstantiate(,)$fInstantiateIPBoundary'$fInstantiateTele$fInstantiateElim'$fInstantiateArg$fInstantiateAbs$fInstantiateMaybe$fInstantiateMaybe0$fInstantiateMap$fInstantiate[]$fIsMetaCompareAs$fIsMetaPlusLevel'$fIsMetaLevel' $fIsMetaArg $fIsMetaElim'$fIsMetaType'' $fIsMetaSort' $fIsMetaTerm$fReduceIPBoundary'$fReduceEqualityView$fReduceCandidate $fReduceMap$fReduceCompareAs$fReduceConstraint $fReduceTele$fReduceClosure $fReduceTerm$fReducePattern' $fReduce(,,) $fReduce(,) $fReduceDom' $fReduceArg $fReduce[] $fReduceAbs$fReducePlusLevel'$fReduceLevel' $fReduceElim' $fReduceSort'$fReduceType''$fSimplifyEqualityView$fSimplifyCandidate$fSimplifyDisplayForm$fSimplifyCompareAs$fSimplifyConstraint$fSimplifyProblemConstraint$fSimplifyTele$fSimplifyClosure$fSimplifyDom' $fSimplifyAbs$fSimplifyPlusLevel'$fSimplifyLevel'$fSimplifySort'$fSimplifyType''$fSimplifyTerm$fSimplifyBool$fSimplify(,,) $fSimplify(,)$fSimplifyIPBoundary'$fSimplifyNamed$fSimplifyElim' $fSimplifyArg$fSimplifyMaybe$fSimplifyMaybe0 $fSimplifyMap $fSimplify[]$fNormaliseEqualityView$fNormaliseCandidate$fNormaliseDisplayForm$fNormalisePattern'$fNormaliseConPatternInfo$fNormaliseCompareAs$fNormaliseConstraint$fNormaliseProblemConstraint$fNormaliseTele$fNormaliseClosure$fNormaliseDom'$fNormaliseArg$fNormaliseAbs$fNormalisePlusLevel'$fNormaliseLevel'$fNormaliseElim'$fNormaliseTerm$fNormaliseType''$fNormaliseSort'$fNormaliseDBPatVar$fNormaliseInt$fNormaliseChar$fNormaliseBool$fNormalise(,,)$fNormalise(,)$fNormaliseWithHiding$fNormaliseIPBoundary'$fNormaliseNamed$fNormaliseMaybe$fNormaliseMaybe0$fNormaliseMap $fNormalise[]$fInstantiateFullEqualityView$fInstantiateFullCandidate$fInstantiateFullBuiltin$fInstantiateFullInterface$fInstantiateFullClause!$fInstantiateFullCompiledClauses'$fInstantiateFullCase!$fInstantiateFullFunctionInverse'$fInstantiateFullSystem$fInstantiateFullExtLamInfo$fInstantiateFullDefn$fInstantiateFullDisplayTerm$fInstantiateFullDisplayForm$fInstantiateFullRewriteRule$fInstantiateFullNLPSort$fInstantiateFullNLPType$fInstantiateFullNLPat$fInstantiateFullDefinition$fInstantiateFullTele$fInstantiateFullSection$fInstantiateFullSignature$fInstantiateFullCompareAs$fInstantiateFullConstraint"$fInstantiateFullProblemConstraint$fInstantiateFullClosure$fInstantiateFullOpen$fInstantiateFullDom'$fInstantiateFullAbs$fInstantiateFullPattern'$fInstantiateFullConPatternInfo$fInstantiateFullSubstitution'$fInstantiateFullPlusLevel'$fInstantiateFullLevel'$fInstantiateFullTerm$fInstantiateFullType''$fInstantiateFullSort'$fInstantiateFullDBPatVar$fInstantiateFullConHead$fInstantiateFullScope$fInstantiateFullQName$fInstantiateFullName$fInstantiateFullModuleName$fInstantiateFullInt$fInstantiateFullChar$fInstantiateFullBool$fInstantiateFull(,,,)$fInstantiateFull(,,)$fInstantiateFull(,)$fInstantiateFullIPBoundary'$fInstantiateFullWithArity$fInstantiateFullNamed$fInstantiateFullElim'$fInstantiateFullArg$fInstantiateFullMaybe$fInstantiateFullMaybe0$fInstantiateFullMap$fInstantiateFullHashMap$fInstantiateFull[]OutputTypeName OutputTypeVarOutputTypeVisiblePiOutputTypeNameNotYetKnownNoOutputTypeName Boundary'BoundarySplitTel firstPart secondPart splitPerm flattenTel reorderTel reorderTel_ unflattenTel renameTel teleNames teleArgNamesteleArgsteleDoms teleNamedArgstele2NamedArgssplitTelescopeAt permuteTelvarDependencies varDependentssplitTelescopesplitTelescopeExactinstantiateTelescopeexpandTelescopeVar telViewUpTo telViewUpTo' telViewPathtelViewUpToPathtelViewUpToPathBoundary' fullBoundarytelViewUpToPathBoundarytelViewUpToPathBoundaryPtelViewPathBoundaryP teleElims pathViewAsPi pathViewAsPi'pathViewAsPi'whnfpiOrPathtelView'UpToPath telView'PathisPath telePatterns telePatterns'mustBePiifPiifPiTypeifNotPi ifNotPiTypeifNotPiOrPathType typeAritygetOutputTypeNameaddTypedInstanceresolveUnknownInstanceDefsgetInstanceDefs $fPiApplyM[]$fPiApplyMNamed $fPiApplyMArg$fPiApplyMTermSynEqcheckSyntacticEquality$fSynEqArgInfo $fSynEqDom' $fSynEqArg $fSynEqAbs $fSynEqElim' $fSynEq(,) $fSynEq[] $fSynEqType'' $fSynEqSort'$fSynEqPlusLevel' $fSynEqLevel' $fSynEqTerm $fSynEqBool TermToPattern termToPatterndotPatternsToPatterns$fTermToPatternTermPattern'$fTermToPatternNamedNamed$fTermToPatternArgArg$fTermToPattern[][] SingleLevel SingleLevel' SingleClosed SinglePlusLevelKitlvlTypelvlSuclvlMaxlvlZerotypeNamesucNamemaxNamezeroName levelType isLevelTypelevelSucFunctionbuiltinLevelKit requireLevels haveLevelsunLevelunlevelWithKitunConstVunPlusV maybePrimCon maybePrimDef levelView levelView' levelPlusViewlevelLowerBoundsubLevel levelMaxDiff unSingleLevelunSingleLevels levelMaxViewsingleLevelView$fFreeSingleLevel'$fSubstSingleLevel'$fShowSingleLevel'$fFunctorSingleLevel'$fFoldableSingleLevel'$fTraversableSingleLevel'$fEqSingleLevel' $fShowLeq$fEqLeqdefaultOpenLevelsToZerodefaultLevelsToZero ForceNotFreeIsFree MaybeFreeNotFree forceNotFree$fForceNotFreeSort'$fForceNotFreePlusLevel'$fForceNotFreeLevel'$fForceNotFreeTerm$fForceNotFreeType''$fForceNotFreeElim'$fForceNotFree[]$fForceNotFreeAbs$fForceNotFreeDom'$fForceNotFreeArg $fEqIsFree $fShowIsFreecomputeForcingAnnotationsisForced nextIsForced$fForcedVariablesTerm$fForcedVariablesArg$fForcedVariablesElim'$fForcedVariables[] checkEmptyTelensureEmptyType isEmptyTel isEmptyType displayForm $fMatchLevel' $fMatchSort' $fMatchTerm $fMatchElim' $fMatchArg $fMatch[]$fSubstWithOriginArg$fSubstWithOriginDisplayTerm$fSubstWithOriginTerm$fSubstWithOriginArg0$fSubstWithOriginElim'$fSubstWithOrigin[]eliminateDeadCodeMonadConversionleqSortleqLevelleqType equalLevel equalSort equalTypeequalTermOnFace equalTerm compareLevel compareSort compareType compareElims compareArgs compareAtomcompareTermOnFace compareAs compareTermStackFrameActionMonadCheckInternalinfercheckInternal' checkInternal checkSort checkType' checkTypeeraseUnusedAction defaultAction recursiveanyDefs ToAbstractAbsOfRef toAbstractMonadReflectedToAbstractVarswithNamewithVar withNameswithVarsaskVaraskName toAbstract_toAbstractWithoutImplicit mkMetaInfomkDefmkAppmkVar mkVarNameannotatePatterncheckClauseTelescopeBindings$fToAbstractNonEmpty$fToAbstract[]$fToAbstractQNamed$fToAbstractPattern$fToAbstractSort$fToAbstractTerm$fToAbstractLiteral$fToAbstractAbs$fToAbstract(,)$fToAbstract(,)0$fToAbstract(,)1$fToAbstract[]0$fToAbstractArg$fToAbstractNamed NamedClauseReify ReifiesToreify reifyWhen MonadReifyreifyUnblockedreifyDisplayFormPblankNotInScope reifyPatterns $fReify(,,,) $fReify(,,) $fReify(,) $fReify[] $fReifyElim' $fReifyDom' $fReifyTele $fReifyAbs $fReifyLevel' $fReifySort' $fReifyType'' $fReifyQNamed $fReifyArg $fReifyNamed $fReifyTerm$fReifyLiteral$fReifyDisplayTerm $fReifyMetaId $fReifyExpr $fReifyName $fReifyBool$fReifyNamedClause$fReifyQNamed0$fMonoidMonoidMap$fSemigroupMonoidMap$fBlankVarsTypedBinding$fBlankVarsLamBinding$fBlankVarsRHS$fBlankVarsModuleName$fBlankVarsPattern'$fBlankVarsLHSCore'$fBlankVarsLHS$fBlankVarsProblemEq$fBlankVarsEither$fBlankVars(,)$fBlankVarsFieldAssignment'$fBlankVarsNonEmpty $fBlankVars[]$fBlankVarsNamed$fBlankVarsArg $fBinder(,) $fBinderMaybe$fBinderNonEmpty $fBinder[] $fBinderNamed $fBinderArg$fBinderFieldAssignment'$fBinderLetBinding$fBinderBindName$fBinderTypedBinding$fBinderLamBinding$fBinderBinder'$fBinderPattern'$fBinderLHSCore' $fBinderLHS$fBlankVarsExpr$fBlankVarsClause'PrettyTCMWithNodeprettyTCMWithNodeWithNode prettyTCMCtxprettyRprettyTCMPatternsprettyTCMPatternList$fPrettyTCMCandidate$fPrettyTCMSplitTag$fPrettyTCMOccurrence$fPrettyTCMRewriteRule$fPrettyTCMType''$fPrettyTCMElim'$fPrettyTCMNLPSort$fPrettyTCMNLPType$fPrettyTCMNLPat$fPrettyTCMElim'0$fPrettyTCMPattern'$fPrettyTCMDBPatVar$fPrettyTCMTele$fPrettyTCMConHead$fPrettyTCMAbstractName$fPrettyTCMModuleName$fPrettyTCMQName$fPrettyTCMName$fPrettyTCMWithHiding$fPrettyTCMTypeCheckingProblem$fPrettyTCMCompareAs$fPrettyTCMBlocker$fPrettyTCMModality$fPrettyTCMQuantity$fPrettyTCMRelevance$fPrettyTCMTypedBinding$fPrettyTCMExpr$fPrettyTCMEqualityView$fPrettyTCMMaybeReduced$fPrettyTCMElim'1$fPrettyTCMMap$fPrettyTCMBlocked'$fPrettyTCMMetaId$fPrettyTCMJudgement$fPrettyTCMClause$fPrettyTCMSubstitution'$fPrettyTCMIsForced$fPrettyTCMPolarity$fPrettyTCMPermutation$fPrettyTCMDom'$fPrettyTCMDom'0$fPrettyTCMArg$fPrettyTCMArg0$fPrettyTCMArg1$fPrettyTCMArg2$fPrettyTCMArg3$fPrettyTCMArg4$fPrettyTCMNamed$fPrettyTCMLevel'$fPrettyTCMQNamed$fPrettyTCMNamedClause$fPrettyTCMDisplayTerm$fPrettyTCMSort'$fPrettyTCMType''0$fPrettyTCMTerm$fPrettyTCM(,,)$fPrettyTCM(,)$fPrettyTCMMaybe $fPrettyTCM[]$fPrettyTCMClosure$fPrettyTCMCheckpointId$fPrettyTCMRange'$fPrettyTCMProblemId$fPrettyTCMInt$fPrettyTCMLiteral$fPrettyTCMComparison$fPrettyTCMQName0$fPrettyTCMName0$fPrettyTCMBool$fPrettyTCM[]0$fPrettyTCMPrettyContext$fPrettyTCMGraph$fPrettyTCMWithNodeOccurrence telePiPath telePiPath_ arityPiPath iApplyVars isIntervalcheckDisplayPragmaSigmaKit sigmaNamesigmaConsigmaFstsigmaSnd-->.-->..-->garrgpihPinPihPi'nPi'pPi'el'el'selInfelSSetnolamvarMgApplygApply'<@><#><..><@@>listtMaybeiopatheltset sSizeUniv tSizeUnivargNdomNargHdomHlookupPrimitiveFunctionlookupPrimitiveFunctionQgetBuiltinName isBuiltin getSigmaKit $fEqSigmaKit$fShowSigmaKit QuotingKitquoteTermWithKitquoteTypeWithKitquoteDomWithKitquoteDefnWithKitquoteListWithKit quotedName quotingKit quoteString quoteNamequoteNat quoteConName quoteMeta quoteTerm quoteTypequoteDom quoteDefn quoteList TermPositionHead Eliminated FamilyOrNotIsFamIsNotfamThing TranspOrHCompDoTranspDoHComprequireCubicalprimIntervalType primINeg' primDepIMin'primIBin primIMin' primIMax'imaximinprimIdJ primIdElim'primPOr primPartial' primPartialP' primSubOut' primIdFace' primIdPath' primTrans' primHComp' cmdToNamemkGCompunglueTranspGlueheadStopcompGlue compHCompUprimTransHCompprimComp prim_glueU' prim_unglueU' primGlue' prim_glue' prim_unglue'primFaceForall'decomposeIntervaldecomposeInterval' transpTel trFillTel$fReduceFamilyOrNot$fEqTermPosition$fShowTermPosition$fEqFamilyOrNot$fShowFamilyOrNot$fFunctorFamilyOrNot$fFoldableFamilyOrNot$fTraversableFamilyOrNot$fEqTranspOrHComp$fShowTranspOrHCompPredRelOpFromTermfromTermFromTermFunctionToTermtoTermtoTermRPrimTermprimTermPrimTypeprimTypeLvlunLvlunNat buildListfromReducedTerm fromLiteralmkPrimInjectiveprimMetaToNatInjectiveprimCharToNatInjectiveprimStringToListInjectiveprimStringFromListInjectiveprimWord64ToNatInjectiveprimFloatToWord64InjectiveprimQNameToWord64sInjectivegetReflprimEraseEqualitygetReflArgInfo genPrimForce primForceprimForceLemmamkPrimLevelZeromkPrimLevelSucmkPrimLevelMaxmkPrimSetOmega primLockUniv' mkPrimFun1TCM mkPrimFun1 mkPrimFun2 mkPrimFun3 mkPrimFun4 $fPrettyNat $fTermLikeNat $fIntegralNat $fPrettyLvl $fPrimTermIO $fPrimTypeIO$fPrimTermMaybe$fPrimTypeMaybe $fPrimTerm[] $fPrimType[]$fPrimTermFixity'$fPrimTypeFixity'$fPrimTermType''$fPrimTypeType''$fPrimTermMetaId$fPrimTypeMetaId$fPrimTermQName$fPrimTypeQName $fPrimTermLvl $fPrimTypeLvl $fPrimTermNat $fPrimTypeNat$fPrimTermText$fPrimTypeText$fPrimTermDouble$fPrimTypeDouble$fPrimTermChar$fPrimTypeChar$fPrimTermBool$fPrimTypeBool$fPrimTermWord64$fPrimTypeWord64$fPrimTermInteger$fPrimTypeInteger $fPrimTerm(,) $fPrimType(,) $fPrimTerm-> $fPrimType-> $fToTermMaybe $fToTerm[] $fToTerm(,)$fToTermFixityLevel$fToTermAssociativity$fToTermFixity$fToTermFixity'$fToTermArgInfo$fToTermType'' $fToTermTerm $fToTermBool$fToTermInteger$fToTermMetaId $fToTermQName $fToTermText $fToTermChar$fToTermDouble $fToTermLvl$fToTermWord64 $fToTermNat$fFromTermMaybe $fFromTerm[]$fFromTermBool$fFromTermMetaId$fFromTermQName$fFromTermText$fFromTermChar$fFromTermDouble $fFromTermLvl$fFromTermWord64 $fFromTermNat$fFromTermInteger$fEqLvl$fOrdLvl$fEqNat$fOrdNat$fNumNat $fEnumNat $fRealNatinterestingConstraintprettyInterestingConstraintssayWhere$fPrettyTCMCall$fPrettyTCMCallInfoUsableModality usableModUsableRelevance usableRelhideAndRelParams workOnTypes'applyRelevanceToContextapplyRelevanceToContextOnlyapplyRelevanceToJudgementOnlyapplyRelevanceToContextFunBodyapplyQuantityToContextapplyQuantityToJudgementOnlyapplyCohesionToContextapplyCohesionToContextOnlysplittableCohesionapplyModalityToContextapplyModalityToContextOnlyapplyModalityToJudgementOnlyapplyModalityToContextFunBodywakeIrrelevantVars usableModAbsusableAtModalityisIrrelevantOrPropM isFibrantisCoFibrantSort$fUsableRelevanceAbs$fUsableRelevanceDom'$fUsableRelevanceArg$fUsableRelevanceElim'$fUsableRelevance(,,)$fUsableRelevance(,)$fUsableRelevance[]$fUsableRelevancePlusLevel'$fUsableRelevanceLevel'$fUsableRelevanceSort'$fUsableRelevanceType''$fUsableRelevanceTerm$fUsableModalityDom'$fUsableModalityArg$fUsableModalityElim'$fUsableModality(,)$fUsableModality[]$fUsableModalityLevel'$fUsableModalitySort'$fUsableModalityType''$fUsableModalityTermNormaliseProjPnormaliseProjPElimTypeArgTProjTprojTRec projTFieldmkCon orderFieldswarnOnRecordFieldWarningsfailOnRecordFieldWarningsorderFieldsWarnorderFieldsFailinsertMissingFieldsinsertMissingFieldsWarninsertMissingFieldsFail getRecordDefgetRecordOfFieldgetRecordFieldNamesrecordFieldNamesfindPossibleRecordsgetRecordFieldTypesgetRecordTypeFieldsgetRecordConstructor isRecordType tryRecordTypeorigProjection getDefType projectTyped typeElimsisEtaCon#isEtaOrCoinductiveRecordConstructorisInductiveRecordisEtaRecordTypeunguardedRecordrecursiveRecordnonRecursiveRecordisRecursiveRecordetaExpandBoundVarexpandRecordVarexpandRecordVarsRecursivelycurryAtetaExpandRecordforceEtaExpandRecordetaExpandRecord'etaExpandRecord_etaExpandRecord'_etaExpandAtRecordTypeisSingletonRecord isSingletonRecordModuloRelevanceisSingletonRecord'isSingletonTypeisSingletonTypeModuloRelevanceisSingletonType'isEtaVar$fPrettyTCMElimType$fNormaliseProjPPattern'$fNormaliseProjPNamed$fNormaliseProjPArg$fNormaliseProjP[]$fNormaliseProjPClauseLeftoverPatternspatternVariables asPatterns dotPatternsabsurdPatternstypeAnnotations otherPatternsLHSState_lhsTel _lhsOutPat _lhsProblem _lhsTarget_lhsPartialSplitAnnotationPattern AbsurdPattern DotPattern AsBindingAsBProblem _problemEqs_problemRestPats _problemCont ChooseFlex chooseFlex FlexChoice ChooseLeft ChooseRight ChooseEither ExpandBoth FlexibleVar flexArgInfo flexForcedflexKindflexPosflexVarFlexibleVarKind RecordFlex ImplicitFlexDotFlex OtherFlex FlexibleVars allFlexVars problemEqsproblemRestPats problemCont problemInPatslhsTel lhsOutPat lhsProblem lhsTargetgetLeftoverPatternsgetUserVariableNames$fPrettyTCMProblemEq$fLensModalityFlexibleVar$fLensOriginFlexibleVar$fLensHidingFlexibleVar$fLensArgInfoFlexibleVar$fMonoidFlexChoice$fSemigroupFlexChoice$fChooseFlexFlexibleVar$fChooseFlexInt$fChooseFlexOrigin$fChooseFlexHiding$fChooseFlexIsForced$fChooseFlexArgInfo$fChooseFlexMaybe$fChooseFlex[]$fChooseFlexFlexibleVarKind$fInstantiateFullAsBinding$fPrettyAsBinding$fPrettyTCMAsBinding$fSubstAsBinding$fPrettyTCMDotPattern$fSubstDotPattern$fPrettyTCMAbsurdPattern$fSubstAbsurdPattern$fPrettyTCMAnnotationPattern$fPrettyTCMLHSState$fSubstProblem$fPrettyPatVarPosition$fPrettyTCMLeftoverPatterns$fMonoidLeftoverPatterns$fNullLeftoverPatterns$fSemigroupLeftoverPatterns$fShowPatVarPosition$fEqPatVarPosition $fShowProblem$fEqFlexChoice$fShowFlexChoice$fEqFlexibleVar$fShowFlexibleVar$fFunctorFlexibleVar$fFoldableFlexibleVar$fTraversableFlexibleVar$fEqFlexibleVarKind$fShowFlexibleVarKind matchedArgs matchedArgs' foldMatch mergeElim mergeElimsmatchCopattern matchPatternyesSimplification matchPatternPmatchPatternsP $fMonoidMatch$fSemigroupMatch $fNullMatch$fFunctorMatchImplicitInsertion ImpInsert BadImplicits NoSuchNameNoInsertNeededinsertImplicitBindersTinsertImplicitBindersT1 implicitArgsimplicitNamedArgs newMetaArgnewInteractionMetaArginsertImplicitinsertImplicit'$fShowImplicitInsertion implicitPinsertImplicitPatternsinsertImplicitSizeLtPatternsinsertImplicitPatternsTuseNamesFromPatternuseNamesFromProblemEqs useOriginFrom noProblemRest initLHSStateupdateProblemRestetaExpandClausegetDefConstructorInfoDataCon RecordCon getConFormgetOrigConHead consOfHITgetFullyAppliedConTypegetConstructorInfo isDatatypeisDataOrRecordTypeisDataOrRecordgetNumberOfParametersgetNotErasedConstructorsgetConstructorsgetConstructors'getConstructors_ GetMatchables getMatchables NLPatVarsnlPatVarsUnder nlPatVars NLPatToTerm nlPatToTerm PatternFrom patternFrom $fFreeNLPSort $fFreeNLPType $fFreeNLPat$fPatternFromType''TermNLPat$fPatternFrom()Level'NLPat$fPatternFrom()Sort'NLPSort$fPatternFrom()Type''NLPType$fPatternFromtDom'Dom'$fPatternFrom(,)[][]$fPatternFromDom'ArgArg$fNLPatToTermNLPSortSort'$fNLPatToTermNLPTypeType''$fNLPatToTermNLPatLevel'$fNLPatToTermNLPatTerm$fNLPatToTermIntTerm$fNLPatToTermAbsAbs$fNLPatToTermElim'Elim'$fNLPatToTermDom'Dom'$fNLPatToTermArgArg$fNLPatToTerm[][]$fNLPatVarsAbs$fNLPatVars(,)$fNLPatVarsNLPat$fNLPatVarsNLPSort$fNLPatVarsNLPType $fNLPatVarsf$fGetMatchablesRewriteRule$fGetMatchablesTerm$fGetMatchablesNLPSort$fGetMatchablesNLPType$fGetMatchablesNLPat$fGetMatchables(,)$fGetMatchablesAbs$fGetMatchablesElim'$fGetMatchablesDom'$fGetMatchablesArg$fGetMatchables[]recordPatternToProjectionstranslateCompiledClausestranslateSplitTreetranslateRecordPatterns $fDropFrom[] $fDropFrom(,)$fDropFromSplitTree' $fPrettyTCM-> $fPretty->$fPrettyTCMEither$fEqKind$fFunctorRecPatM$fApplicativeRecPatM$fMonadRecPatM$fMonadIORecPatM$fMonadTCMRecPatM$fHasOptionsRecPatM$fMonadTCEnvRecPatM$fMonadTCStateRecPatMDefNodeArgNodeComputeOccurrences occurrencesOccMOccEnvvarsinfOccurrencesBuilder'Concat' OccursAs' OccursHere'OccurrencesBuilderConcatOccursAs OccursHere OnlyVarsUpTo OccurrencesItemAnArgADefcheckStrictlyPositive getDefArity preprocessflattenwithExtendedOccEnvwithExtendedOccEnv'getOccurrencescomputeOccurrencescomputeOccurrences' mergeEdgesbuildOccurrenceGraph computeEdges$fPrettyTCMSeq $fPrettyItem$fHasRangeItem$fMonoidOccurrencesBuilder$fSemigroupOccurrencesBuilder$fComputeOccurrences(,)$fComputeOccurrencesMaybe$fComputeOccurrences[]$fComputeOccurrencesDom'$fComputeOccurrencesArg$fComputeOccurrencesElim'$fComputeOccurrencesAbs$fComputeOccurrencesTele$fComputeOccurrencesType''$fComputeOccurrencesPlusLevel'$fComputeOccurrencesLevel'$fComputeOccurrencesTerm$fComputeOccurrencesClause$fPrettyTCMNode$fPrettyTCMWithNodeEdge$fSemiRingEdge$fEqItem $fOrdItem $fShowItemProjEliminatorEvenLoneButLone NoPostfixProjectionViewLoneProjectionLike NoProjection projViewProj projViewSelf projViewSpine unProjViewprojViewreduceProjectionLikeelimView$fEqProjEliminator inferUnivSort sortFitsIn hasBiggerSort inferPiSort inferFunSortptsRuleptsRule' hasPTSRulecheckTelePiSortifIsSort ifNotSort shouldBeSortsortOf sortOfTypeprettyRecordFieldWarningprettyDuplicateFieldsprettyTooManyFieldsprettyNotInScopeNames didYouMeanprettyTCWarningsprettyTCWarnings'filterTCWarningstcWarningsToError applyFlagsToTCWarningsPreservingapplyFlagsToTCWarningsgetAllUnsolvedWarningsgetAllWarningsgetAllWarningsPreservinggetAllWarningsOfTCErr$fPrettyTCMTCWarning SplitPattern SplitPatVarsplitPatVarNamesplitPatVarIndexsplitExcludedLits BlockingVars BlockingVar blockingVarNoblockingVarConsblockingVarLitsblockingVarOverlapblockingVarLazy ApplyOrIApplyIsApplyIsIApplyBlockedOnResult BlockedOnProjBlockedOnApplyNotBlockedOnResultblockedOnResultOverlapblockedOnResultIApplyblockedOnResult blockedOnVarstoSplitPatternsfromSplitPatterns toSplitPSubstapplySplitPSubstisTrivialPatternsetBlockingVarOverlap matchClause$fPrettyBlockingVar$fDeBruijnSplitPatVar$fPrettyTCMSplitPatVar$fPrettySplitPatVar$fShowSplitPatVar$fShowBlockingVarPureConversionTunPureConversionT FreshThingsfreshIntfreshProblemId freshNameId pureEqualTerm pureEqualType pureCompareAsrunPureConversion$fMonadFreshIntPureConversionT!$fMonadFreshNameIdPureConversionT$$fMonadFreshProblemIdPureConversionT $fMonadStatisticsPureConversionT$fMonadWarningPureConversionT%$fMonadStConcreteNamesPureConversionT'$fMonadInteractionPointsPureConversionT $fMonadMetaSolverPureConversionT $fMonadConstraintPureConversionT$fMonadBlockPureConversionT$fNullPureConversionT$fIsStringPureConversionT$fSemigroupPureConversionT$fMonadTransPureConversionT$fFunctorPureConversionT$fApplicativePureConversionT$fMonadPureConversionT $fMonadErrorTCErrPureConversionT&$fMonadStateFreshThingsPureConversionT$fPureTCMPureConversionT$fMonadDebugPureConversionT $fMonadAddContextPureConversionT$fMonadReducePureConversionT$fReadTCStatePureConversionT$fMonadTCEnvPureConversionT$fHasOptionsPureConversionT$fHasConstInfoPureConversionT$fHasBuiltinsPureConversionT$fMonadFailPureConversionTPostponedEquationsPostponedEquation eqFreeVarseqTypeeqLhseqRhsNLMState_nlmSub_nlmEqsNLMunNLMnlmSubnlmEqsrunNLMmatchingBlockedtellSubtellEq reallyFreemakeSubstitutioncheckPostponedEquations nonLinMatchequal getTypedHead$fNullNLMState$fMonadBlockNLM$fMatchType''NLPatTerm$fMatch()NLPatLevel'$fMatch()NLPSortSort'$fMatch()NLPTypeType''$fMatchtDom'Dom'$fMatch(,)[][]$fMatchDom'ArgArg $fFunctorNLM$fApplicativeNLM $fMonadNLM$fMonadFailNLM$fAlternativeNLM$fMonadPlusNLM$fMonadErrorBlocked'NLM$fMonadStateNLMStateNLM$fHasBuiltinsNLM$fHasConstInfoNLM$fHasOptionsNLM$fReadTCStateNLM$fMonadTCEnvNLM$fMonadReduceNLM$fMonadAddContextNLM$fMonadDebugNLM $fPureTCMNLMCallPath callInfosMaskedgetMask getMaskedMaskedDeBruijnPatternsUsableSizeVarsusableSizeVarsTerMterMMonadTerterAskterLocalterAsksTerEnvterUseDotPatterns terSizeSucterSharp terCutOff terCurrent terMutual terUserNamesterHaveInlinedWith terTarget terDelayed terMaskArgs terMaskResult _terSizeDepth terPatternsterPatternsRaise terGuarded terUseSizeLt terUsableVarsGuardedTarget MutualNames defaultTerEnvrunTer runTerDefaultterGetUseDotPatternsterSetUseDotPatterns terGetSizeSuc terGetCurrent terSetCurrent terGetSharp terGetCutOff terGetMutualterGetUserNames terGetTarget terSetTargetterGetHaveInlinedWithterSetHaveInlinedWith terGetDelayed terSetDelayedterGetMaskArgsterSetMaskArgsterGetMaskResultterSetMaskResultterGetPatternsterSetPatternsterRaise terGetGuardedterModifyGuarded terSetGuarded terUnguarded terSizeDepthterGetUsableVarsterModifyUsableVarsterSetUsableVarsterGetUseSizeLtterModifyUseSizeLtterSetUseSizeLtwithUsableVars conUseSizeLt projUseSizeLtisProjectionButNotCoinductiveisCoinductiveProjection patternDepth unusedVarmasked notMaskedterSetSizeDepth$fPrettyTCMMasked$fDecorationMasked $fMonoidTerM$fSemigroupTerM$fMonadBenchTerM$fUsableSizeVars[]$fUsableSizeVarsMasked$fUsableSizeVars[]0$fUsableSizeVarsPattern'$fMonadTerTerM$fPrettyCallPath$fShowCallPath$fSemigroupCallPath$fMonoidCallPath $fFunctorTerM$fApplicativeTerM $fMonadTerM$fMonadFailTerM$fMonadErrorTCErrTerM$fMonadStatisticsTerM$fHasOptionsTerM$fHasBuiltinsTerM$fMonadDebugTerM$fHasConstInfoTerM $fMonadIOTerM$fMonadTCEnvTerM$fMonadTCStateTerM$fMonadTCMTerM$fReadTCStateTerM$fMonadReduceTerM$fMonadAddContextTerM $fPureTCMTerM $fEqMasked $fOrdMasked $fShowMasked$fFunctorMasked$fFoldableMasked$fTraversableMasked tcErrString stringTCErrdropTopLevelModule$fPrettyTCMNegativeUnification$fPrettyTCMSplitError$fPrettyTCMTCErr$fPrettyUnequalType''$fPrettyUnequalTerm$fVerbalizeCohesion$fVerbalizeQuantity$fVerbalizeRelevance$fVerbalizeHiding$fPrettyTCMUnificationFailure$fVerbalizeIndefinite$fPrettyTCMTypeErrorprettyConstraint$fPrettyTCMConstraint$fPrettyTCMProblemConstraintOldSizeConstraintLeq OldSizeExprSizeMetacheckSizeLtSatcheckSizeNeverZerocheckSizeVarNeverZero isBoundedisBoundedProjVarisBoundedSizeTypeboundedSizeMetaHook trySizeUniv deepSizeView sizeMaxView compareSizescompareMaxViewscompareBelowMaxcompareSizeViewsgiveUptrivial isSizeProblemisSizeConstraintmkIsSizeConstraintisSizeConstraint_takeSizeConstraintsgetSizeConstraints getSizeMetasoldComputeSizeConstraintsoldComputeSizeConstraint oldSizeExprflexibleVariablesoldCanonicalizeSizeConstraintoldSolveSizeConstraints oldSolver$fPrettyOldSizeExpr$fPrettyOldSizeConstraint$fShowOldSizeConstraint$fEqOldSizeExpr$fShowOldSizeExpr polFromOcc nextPolaritypurgeNonvariant$fMonoidLeastPolarity$fSemigroupLeastPolarity $fSingletonPolarityLeastPolarity$fHasPolarityTerm$fHasPolarityAbs$fHasPolarity(,)$fHasPolarityType''$fHasPolarityPlusLevel'$fHasPolarityLevel'$fHasPolarityElim'$fHasPolarityDom'$fHasPolarityArg$fHasPolarity[]InvViewInvNoInv headSymbol headSymbol' topLevelArg joinHeadMaps updateHeadscheckInjectivitycheckInjectivity'checkOverapplicationinstantiateVarHeadsfunctionInverseuseInjectivityinvertFunctionforcePiUsingInjectivity findInstanceisInstanceConstraintshouldPostponeInstanceSearchpostponeInstanceConstraints$fShowYesNoMaybeaddConstraintTCMwakeConstraintsTCMstealConstraintsTCMnonConstraining newProblem newProblem_whenConstraintswakeConstraints'wakeupConstraintswakeupConstraints_solveAwakeConstraintssolveSomeAwakeConstraintsTCMsolveConstraintTCMsolveConstraint_checkTypeCheckingProblem$fMonadConstraintTCMTUnificationResult'UnifiesNoUnify UnifyBlocked UnifyStuckUnificationResult unifyIndices$fReduceEquality$fPrettyTCMUnifyState$fReduceUnifyState$fPrettyTCMUnifyStep$fMonoidUnifyOutput$fSemigroupUnifyOutput$fEqRetryNormalised$fShowRetryNormalised$fShowUnifyStep$fShowUnifyState$fShowUnificationResult'$fFunctorUnificationResult'$fFoldableUnificationResult'$fTraversableUnificationResult' PruneResultNothingToPrune PrunedNothingPrunedSomethingPrunedEverythingAnyRigidanyRigidoccurs metaOccursUnfoldStrategy YesUnfoldNoUnfold AllowedVarOccursM OccursCtx OccursExtra occUnfoldoccVarsoccMeta occCxtSizemodifyOccursCheckDefsinitOccursCheckdefNeedsCheckingtallyDef variableCheckdefinitionCheck metaCheck allowedVarsdefArgsconArgsunfoldBweaklystronglyflexiblypatternViolation' occursCheckmetaOccursQNameprune hasBadRigid isNeutralrigidVarsNotContainedInkillArgs killedTypereallyNotFreeIn performKill$fIsVarSet()-> $fOccurs(,,) $fOccurs(,) $fOccursMaybe $fOccurs[] $fOccursDom' $fOccursArg $fOccursAbs $fOccursElim' $fOccursSort'$fOccursType''$fOccursPlusLevel'$fOccursLevel'$fOccursClause $fOccursDefn $fOccursQName $fAnyRigid(,) $fAnyRigid[]$fAnyRigidElim'$fAnyRigidDom' $fAnyRigidArg $fAnyRigidAbs$fAnyRigidPlusLevel'$fAnyRigidLevel'$fAnyRigidSort'$fAnyRigidType''$fAnyRigidTerm $fOccursTerm$fEqPruneResult$fShowPruneResult$fEqUnfoldStrategy$fShowUnfoldStrategyrequireGuarded isTimelesscheckEarlierThan InvertExcept CantInvert NeutralArgProjVarRes SubstCandFVsReduceAndEtaContractreduceAndEtaContractNoProjectedVarnoProjectedVarfindIdx hasTwinMeta isBlockedTermisEtaExpandableassignTermTCM'newSortMetaBelowInfnewSortMetaCtx newTypeMeta' newTypeMeta newTypeMeta_ newLevelMetanewInstanceMetaCtxnewValueMetaCtx newValueMeta'newValueMetaCtx' trueConditionnewArgsMetaCtxnewArgsMetaCtx' newRecordMetanewRecordMetaCtxnewQuestionMarknewQuestionMark' blockTermblockTypeOnProblemunblockedTesterpostponeTypeCheckingProblem_postponeTypeCheckingProblemetaExpandListenerswakeupListeneretaExpandMetaTCMetaExpandBlocked assignWrapper assignMeta assignMeta'checkSolutionForMetacheckSubtypeIsEqualsubtypingForSizeLtexpandProjectedVarsetaExpandProjectedVarcheckLinearity inverseSubstopenMetasToPostulatesdependencySortMetas$fMonadMetaSolverTCMT$fNoProjectedVarTerm$fNoProjectedVar[]$fNoProjectedVarArg$fReduceAndEtaContractTerm$fReduceAndEtaContractArg$fReduceAndEtaContract[]HypSizeConstraint sizeContext sizeHypIdssizeHypothesessizeConstraintSizeConstraint DBSizeExpr sizeMetaId sizeMetaArgs NamedRigid rigidName rigidIndexDefaultToInftyDontDefaultToInftyCCsolveSizeConstraintscastConstraintToCurrentContext'castConstraintToCurrentContextsolveSizeConstraints_ solveClustergetSizeHypothesescanonicalizeSizeConstraintcomputeSizeConstraintsizeExpr unSizeExpr$fPlusNamedRigidIntNamedRigid$fPrettyNamedRigid$fOrdNamedRigid$fEqNamedRigid$fSubstSizeExpr'$fSubstSizeMeta$fPrettyTCMSizeMeta$fPrettySizeMeta $fOrdSizeMeta $fEqSizeMeta$fPrettyTCMConstraint'$fSubstConstraint'$fPrettyTCMHypSizeConstraint$fFlexsHypSizeConstraint$fShowSizeMeta$fShowNamedRigid$fEqDefaultToInfty$fOrdDefaultToInfty$fShowDefaultToInftyConj tryConversiontryConversion'sameVars intersectVars blockOnError equalAtom convErrorassignE compareAsDir compareAs' compareTerm'compareAtomDircomputeElimHeadType compareDomcompareRelevancecompareQuantitycompareCohesion antiUnify antiUnifyArgs antiUnifyTypeantiUnifyElimscompareIrrelevantcompareWithPol polFromCmpcoerce coerceSizeforallFaceMapscompareInterval isCanonical leqIntervalleqConjcompareTermOnFace' bothAbsurdcheckConfluenceOfClausescheckConfluenceOfRulessortRulesOfSymbol$fParallelReduceAbs$fParallelReduceElim'$fParallelReduce[]$fParallelReduceType''$fParallelReduceDom'$fParallelReduceArg$fParallelReduceSort'$fParallelReduceTerm$fAllHolesPlusLevel' $fAllHoles[]$fAllHolesLevel'$fAllHolesSort'$fAllHolesTerm$fAllHolesType'' $fAllHoles[]0 $fAllHolesAbs$fAllHolesAbs0$fAllHolesDom' $fAllHolesArg$fMetasToVars(,,,)$fMetasToVars(,,)$fMetasToVars(,)$fMetasToVarsTele$fMetasToVarsPlusLevel'$fMetasToVarsLevel'$fMetasToVarsSort'$fMetasToVarsType''$fMetasToVarsTerm$fMetasToVarsAbs$fMetasToVarsElim'$fMetasToVarsDom'$fMetasToVarsArg$fMetasToVars[]$fFunctorOneHoleRelView relViewTel relViewDelta relViewType relViewType' relViewCorerequireOptionRewritingrelViewaddRewriteRulescheckRewriteRule rewriteWith$fPrettyFastCase$fPrettyFastCompiledClauses $fPrettyThunk$fPrettyClosure$fPrettyPointer$fPrettyCatchAllFrame$fPrettyMatchStack$fZipperElimZipper$fPrettyControlFrame $fPrettyAM$fEqElimZipper$fOrdElimZipper$fShowElimZipper$fFunctorElimZipper$fFoldableElimZipper$fTraversableElimZipper$fFunctorThunk$fEqNormalisationcheckIApplyConfluence_checkIApplyConfluence unifyElimsunifyElimsMetageneralizeTelescopegeneralizeTypegeneralizeType' IsPathConsPathCons PointConsCType ClosedTypeLTypeLEl checkDataDef forceSortcheckConstructordefineCompDatadefineProjectionsfreshAbstractQName'_ fromLType lTypeLeveltoLType fromCTypetoCTypedefineTranspOrHCompForFieldsdefineTranspForFieldsdefineHCompForFieldsgetGeneralizedParametersbindGeneralizedParametersbindParameters bindParameterfitsIncheckIndexSorts constructs isCoinductive $fSubstLType $fSubstCType$fEqIsPathCons$fShowIsPathCons $fEqCType $fShowCType $fEqLType $fShowLType preAction postActionmodalityActionelimViewActioncheckInternalType' inferSpine'reconstructParametersInTypereconstructParametersInType'reconstructParametersInTelreconstructParametersInEqViewreconstructParametersreconstructParameters'dropParametersStdErrStdOutStdInExeArg ErrorPartStrPartTermPartunquote UnquoteResUnquoteM UnquoteStateDirtyClean agdaTermType agdaTypeType qNameTypeunpackUnquoteM packUnquoteM runUnquoteMliftU1liftU2inOriginalContextisConisDefreduceQuotedTermunquoteNchoice ensureDef ensureConpickName unquoteStringunquoteNStringprettyErrorParts unquoteTCMevalTCMrequireAllowExec exitCodeToNattcExecraiseExeNotTrustedraiseExeNotFoundraiseExeNotExecutable$fUnquoteClause$fUnquotePattern $fUnquoteTerm$fUnquoteLiteral $fUnquoteSort $fUnquoteDom'$fUnquoteMetaId $fUnquoteAbs$fUnquoteQName$fUnquoteQuantity$fUnquoteRelevance$fUnquoteHiding $fUnquote(,) $fUnquote[] $fUnquoteText $fUnquoteChar$fUnquoteDouble$fUnquoteWord64$fUnquoteInteger $fUnquoteBool$fUnquoteElim' $fUnquoteArg$fUnquoteArgInfo$fUnquoteModality$fUnquoteErrorPart$fPrettyTCMErrorPart $fEqDirty etaExpandOnce deepEtaExpandetaExpandActionEqualSyequalSyAbsTermabsTerm IsPrefixOf abstractTypepiAbstractTerm piAbstract abstractTermswap01 $fAbsTerm(,) $fAbsTermAbs$fAbsTermMaybe $fAbsTerm[] $fAbsTermDom' $fAbsTermArg$fAbsTermElim'$fAbsTermPlusLevel'$fAbsTermLevel'$fAbsTermSort'$fAbsTermType'' $fAbsTermTerm $fEqualSyArg $fEqualSyDom'$fEqualSyArgInfo $fEqualSyAbs$fEqualSyElim'$fEqualSyType''$fEqualSySort'$fEqualSyPlusLevel'$fEqualSyLevel' $fEqualSyTerm $fEqualSy[]$fIsPrefixOfTerm$fIsPrefixOf[]$fIsPrefixOf[]0splitTelForWithwithFunctionType countWithArgs withArgumentsbuildWithFunctionstripWithClausePatternswithDisplayForm patsToElimsResulttermDecl termMutual$fExtractCallsPlusLevel'$fExtractCallsLevel'$fExtractCallsTerm$fExtractCallsType''$fExtractCallsSort'$fExtractCalls(,,)$fExtractCalls(,)$fExtractCalls[]$fExtractCallsElim'$fExtractCallsDom'$fExtractCallsArg$fExtractCallsAbs$fStripAllProjectionsTerm$fStripAllProjections[]$fStripAllProjections[]0$fStripAllProjectionsArgsanityCheckVarssanityCheckSubstparseIdiomBracketsSeqdesugarDoNotationIMrunIMreadline$fMonadErrorTCErrIM $fFunctorIM$fApplicativeIM $fMonadIM $fMonadIOIM$fHasOptionsIM$fMonadTCEnvIM$fReadTCStateIM$fMonadTCStateIM $fMonadTCMIM EncodeTCM encodeTCMobj#=@=kindkind'$fToJSONAbsolutePath $fToJSONDoc$fEncodeTCMMaybe$fEncodeTCMDoc$fEncodeTCMValue$fEncodeTCMInt32$fEncodeTCMInt$fEncodeTCMBool $fEncodeTCM[]$fEncodeTCM[]0vimFileescape wordBoundedmatchestoVimgenerateVimFile NameKindsrunHighlighter$fHiliteModuleName$fHiliteAmbiguousQName $fHiliteQName$fHiliteResolvedName$fHiliteDisambiguatedName$fHiliteImportedName'$fHiliteUsing'$fHiliteModuleInfo$fHiliteQuantity$fHiliteModality$fHiliteArgInfo $fHiliteArg $fHiliteNamed$fHiliteFieldAssignment'$fHiliteBindName$fHiliteBinder'$fHiliteLamBinding$fHiliteTypedBinding$fHiliteLetBinding$fHiliteModuleApplication$fHiliteDataDefParams$fHiliteGeneralizeTelescope$fHiliteWhereDeclarations$fHiliteProblemEq$fHiliteClause'$fHiliteRewriteEqn' $fHiliteRHS$fHiliteLHSCore' $fHiliteLHS$fHiliteLiteral$fHilitePattern' $fHiliteExpr$fHilitePragma$fHiliteDeclaration$fHiliteRecordDirectives' $fHilite(,)$fHiliteEither $fHiliteVoid$fHiliteWithHiding $fHiliteMaybe$fHiliteNonEmpty $fHilite[]$fHiliteRenamingTo$fHiliteRenamingTo0$fHiliteRenamingTo1$fHiliteRenaming'$fHiliteImportDirective'FullPartialgenerateAndPrintSyntaxInfogenerateTokenInfogenerateTokenInfoFromSourcegenerateTokenInfoFromStringprintSyntaxInfoprintErrorInfoerrorHighlightingwarningHighlightingprintUnsolvedInfocomputeUnsolvedInfostoreDisambiguatedProjectionstoreDisambiguatedConstructordisambiguateRecordFields#$fCollectionWithKindNameKindBuilder"$fSingletonWithKindNameKindBuilder$fMonoidNameKindBuilder$fSemigroupNameKindBuilderrecordInductionrecordEtaEquality LHSResult lhsParameters lhsVarTele lhsPatterns lhsHasAbsurd lhsBodyType lhsPatSubst lhsAsBindingslhsPartialSplitIsFlexiblePatternmaybeFlexiblePatternisFlexiblePatternbindAsPatternscheckLeftHandSidecheckSortOfSplitVar$fIsFlexiblePatternNamed$fIsFlexiblePatternArg$fIsFlexiblePattern[]$fIsFlexiblePatternPattern'$fIsFlexiblePatternPattern'0$fInstantiateFullLHSResultLamOrPiLamNotPiPiNotLamisTypeisType' checkLevel isTypeEqualToleqType_checkGeneralizeTelescopecheckTelescopecheckPiTelescopecheckTelescope' checkDomain checkPiDomaincheckTypedBindingsaddTypedPatternscheckTacticAttributeifPath checkPath checkLambda checkLambda'lambdaModalityChecklambdaIrrelevanceChecklambdaQuantityChecklambdaAnnotationChecklambdaCohesionChecklambdaAddContextcheckPostponedLambda0insertHiddenLambdascheckAbsurdLambdacheckExtendedLambda!catchIlltypedPatternBlockedOnMetaexpandModuleAssignscheckRecordExpressioncheckRecordUpdate checkLiteral scopedExprunquoteMcheckQuestionMarkcheckUnderscore checkMeta inferMetacheckOrInferMeta domainFreecheckKnownArgumentscheckKnownArgument checkNamedArg inferExpr'defOrVarcheckDontExpandLastisModuleFreeVarinferExprForWithcheckLetBindingscheckLetBinding $fEqLamOrPi $fShowLamOrPibindPostulatedName bindBuiltinisUntypedBuiltinbindUntypedBuiltinbindBuiltinNoDefbuiltinKindOfNameCovering covSplitArgcovSplitClauses SplitClauseSClausescTelscPatsscSubst scCheckpointsscTarget splitClausesclauseToSplitClause isCoveredinsertTrailingArgssplitClauseWithAbsurd splitLast splitResult$fPrettyTCMSplitClause$fEqAllowPartialCover$fShowAllowPartialCover$fEqInsertTrailing$fShowInsertTrailing$fMonoidErrorNonEmpty$fSemigroupErrorNonEmptyClsClclPatsclBodyRunRecordPatternTranslationDontRunRecordPatternTranslationcompileClauses'unBruijncompileWithSplitTreecompile nextSplit properSplitisVarsplitOnsplitCexpandCatchAllsensureNPatterns substBody$$fPrecomputeFreeVarsCompiledClauses' $fPrettyCl$fShowCl$fEqRunRecordPatternTranslation checkRecDefaddCompositionForRecorddefineCompKitRdefineTranspOrHCompRcheckRecordProjectionsClausesPostChecksCPCcpcPartialSplitsWithFunctionProblemNoWithFunction WithFunction wfParentNamewfName wfParentType wfParentTel wfBeforeTel wfAfterTelwfExprs wfRHSType wfParentPatswfParentParams wfPermSplit wfPermParent wfPermFinal wfClauses wfCallSubstcheckMacroTypeisAlias checkAlias checkFunDefS mapLHSCores insertNamesinsertInspectsinsertPatternsinsertPatternsLHSCorecheckSystemCoveragecheckClauseLHS checkClausegetReflPatterncheckRHS checkWithRHScheckWithFunction checkWhereatClause$fMonoidClausesPostChecks$fSemigroupClausesPostChecksShowHeadshowHeadHighlightModuleContentsDontHightlightModuleContentsDoHighlightModuleContents FinalCheckscheckDeclCachedrevisitRecordPatternTranslationcheckUnquoteDeclcheckUnquoteDef unquoteTopinstantiateDefinitionType highlight_checkTermination_checkPositivity_checkCoinductiveRecordscheckInjectivity_checkProjectionLikeness_whenAbstractFreezeMetasAftercheckGeneralize checkAxiom checkAxiom'checkPrimitive checkPragma checkMutualcheckTypeSignaturecheckTypeSignature' checkSectioncheckModuleAritycheckSectionApplication' checkImportdebugPrintDecl$fShowHeadDeclaration$fEqHighlightModuleContentstoAtomschooseHighlightingMethodjsonifyHighlightingInfo$fToJSONTokenBased$fEncodeTCMTokenBasedlispifyTokenBasedlispifyHighlightingInfo usedArgumentsstripUnusedArguments simplifyTTerm $fShowAtom$fEqAtom $fOrdAtomnormalizeNamesdetectIdentityFunctions$fSemigroupIdentityIncomputeErasedConstructorArgs eraseTerms $fEqTypeInfo$fShowTypeInfo BuiltinKitnateliminateLiteralPatterns transformeliminateCaseDefaultstranslateBuiltins toTreelessclosedTermToTreeless addCoercions erasedArity callCompiler callCompiler' AbstractRHS TopLevelInfo topLevelDecls topLevelScopeTopLevel topLevelPathtopLevelExpectedNametopLevelTheThing OldModuleNameNewModuleQName NewModuleNameAPatNamePatNameOldQNameNewNameAbsOfConconcreteToAbstract_concreteToAbstractlocalToAbstractimportPrimitives$fToAbstractHoleContent'$fToAbstractPattern'$fToAbstractLHSCore'$fToAbstractWithHiding$fToAbstractRewriteEqn'$fToAbstractFieldAssignment'$fToAbstractMaybe$fToAbstractEither$fToAbstract(,,)$fToAbstract()!$fToAbstractRecordConstructorType$fToAbstractRewriteEqn'0$fToAbstractLamBinding'$fToAbstractBinder'$fToAbstractNewName$fToAbstractNewName0$fToAbstractMaybeOldQName$fToAbstractOldQName$fToAbstractLHSCore$fToAbstractResolveQName$fToAbstractPatName$fToAbstractOldName$fToQNameQName $fToQNameName$fToAbstractNewModuleName$fToAbstractNewModuleQName$fToAbstractModuleAssignment$fToAbstractOldModuleName$fEnsureNoLetStms[]$fEnsureNoLetStmsArg$fEnsureNoLetStmsNamed$fEnsureNoLetStmsLamBinding'$fEnsureNoLetStmsTypedBinding'$fEnsureNoLetStmsBinder'$fToAbstractDeclarations$fToAbstractTopLevel$fToAbstractTypedBinding'$fToAbstractExpr$fToAbstractLetDef$fToAbstractLetDefs$fToAbstractGenTel$fToAbstractGenTelAndType$fLivesInCurrentModuleQName"$fLivesInCurrentModuleAbstractName$fToAbstractDataConstrDecl$fToAbstractNiceDeclaration$fToAbstractRHS'$fToAbstractRightHandSide$fToAbstractAbstractRHS$fToAbstractLeftHandSide$fToAbstractClause$fToAbstractPragma$fShowTerminationOrPositivity$fFunctorNewName parseExpr parseExprIngiveExpr redoChecksgiveelaborate_giverefine evalInCurrent evalInMeta normalFormcomputeIgnoreAbstractcomputeWrapInput showComputed outputFormIdreifyElimToExprprettyConstraintsgetConstraints namedMetaOfgetConstraintsMentioningstripConstraintPidsgetConstraints' getIPBoundarygetGoals getGoals' showGoalsgetWarningsAndNonFatalErrorsgetResponseContextgetSolvedInteractionPoints typeOfMetaMI typeOfMeta typeOfMeta'typesOfVisibleMetastypesOfHiddenMetasmetaHelperType contextOfMeta typeInCurrent typeInMeta introTactic atTopLevel parseNameisQNameisNamemoduleContentsgetRecordContentsgetModuleContents$fPrettyIPBoundary'$fToConcreteIPBoundary'$fReifyIPBoundary'$fToConcreteOutputConstraint'$fPrettyOutputConstraint'$fToConcreteOutputConstraint$fToConcreteOutputForm$fPrettyOutputConstraint$fPrettyOutputForm$fReifyConstraint$fReifyProblemConstraint findMentions ClauseZipper CaseContextparseVariablesgetClauseZipperForIPrecheckAbstractClausemakeCasemakePatternVarsVisiblemakeRHSEmptyRecordmakeAbsurdClausemakeAbstractClauseanyEllipsisVar ConversionMOTTOMsConstssMetassEqssCurMeta sMainMetaMapSTModeTMAllHinthintIsConstructor hintQNameinitMapSpopMapStomygetdfvgetMetagetEqscopatternsNotImplementedliteralsNotImplementedhitsNotImplementedtomyIneqfmTypefmExpfmExpsfmLevelicnvh frommyExps abslamvarnamemodifyAbstractExprmodifyAbstractClause constructPats frommyClausecontains_constructornegtypefindClauseDeep matchType$fConversionExceptTExpTerm$fConversionExceptTExpType''$fConversionExceptTAbsAbs$fConversionExceptTMMb$fConversionStateT[]MM$fConversionStateTArg(,)$fConversionStateTTermMM$fConversionStateTType''MM$fConversionStateTArgPat$fConversionStateTClauseMaybe$fConversionStateT[][] $fEqTMode AutoResult autoProgress autoMessage AutoProgress Solutions FunClauses Refinementauto CheckResult crModuleInfo ScopeCheck TypeCheckSourcesrcText srcFileType srcOrigin srcModule srcModuleNamesrcProjectLibs crInterface crWarningscrModecrSource parseSource typeCheckMain readInterface$fEqMainInterface$fShowMainInterface$fEqMode $fShowModerunInteractionLoop$fFunctorReplM$fApplicativeReplM $fMonadReplM$fMonadIOReplM$fHasOptionsReplM$fMonadTCEnvReplM$fReadTCStateReplM$fMonadTCStateReplM$fMonadTCMReplM$fMonadErrorTCErrReplM$fMonadReaderReplEnvReplM$fMonadStateReplStateReplMIsMainNotMain doCompile doCompile' setInterfacecurIFcurMNamecurDefssortDefs compileDirrepl inCompilerEnv$fMonoidIsMain$fSemigroupIsMain $fEqIsMain $fShowIsMainTypeKConKVarKCoverKCheckKFunK VariableKindVX FunctionKindNoUnusedPossiblyUnused HsCompileM HsCompileTHsCompileStatemazAccumlatedImportsReadGHCModuleEnvaskGHCModuleEnvaskHsModuleEnv askGHCEnv GHCModuleEnv ghcModEnvghcModHsModuleEnvGHCEnv ghcEnvOpts ghcEnvBool ghcEnvTrue ghcEnvFalse ghcEnvMaybe ghcEnvNothing ghcEnvJust ghcEnvList ghcEnvNil ghcEnvCons ghcEnvNat ghcEnvInteger ghcEnvWord64 ghcEnvInf ghcEnvSharp ghcEnvFlatghcEnvInterval ghcEnvIZero ghcEnvIOne ghcEnvIsOne ghcEnvItIsOne ghcEnvIsOne1 ghcEnvIsOne2ghcEnvIsOneEmpty ghcEnvPathP ghcEnvSub ghcEnvSubInghcEnvId ghcEnvConIdghcEnvIsTCBuiltin GHCOptions optGhcCallGhc optGhcBin optGhcFlagsoptGhcCompileDiroptGhcStrictData optGhcStrict HsModuleEnv mazModuleNamemazIsMainModulerunHsCompileT' runHsCompileTcurIsMainModule curAgdaModcurHsMod encodeStringihnameunqhnametlmodOfxqualxhqnhsNameconhqnbltQualdnamedunamehsPrimOp hsPrimOpApphsInt hsTypedInt hsTypedDoublehsLethsVarUQ hsAppView hsOpToExphsLambdahsMapAlthsMapRHSmazstrmazNamemazMod'mazMod mazCoerceName mazErasedNamemazAnyTypeName mazCoercemazUnreachableErrorrtmUnreachableErrormazHolertmHole mazAnyTypemazRTE mazRTEFloatrtmQualrtmVarrtmErrorunsafeCoerceModfakeDfakeDSfakeDQfakeTypefakeExpfakeDecl emptyBinds isModChar$fReadGHCModuleEnvStateT$fReadGHCModuleEnvMaybeT$fReadGHCModuleEnvIdentityT$fReadGHCModuleEnvExceptT$fReadGHCModuleEnvReaderT$fEqHsCompileState$fSemigroupHsCompileState$fMonoidHsCompileStateKindOfForeignCodeForeignFileHeaderPragma ForeignImport ForeignOther HaskellPragmaHsDefnHsTypeHsDataHsExport HaskellType HaskellCode parsePragmaparseHaskellPragmagetHaskellPragmasanityCheckPragmagetHaskellConstructorforeignHaskellclassifyForeignclassifyPragmapartitionByKindOfForeignCode$fPrettyHaskellPragma$fHasRangeHaskellPragma$fShowHaskellPragma$fEqHaskellPragmaencodeModuleName prettyPrint prettyWhere prettyRhsprettyGuardedRhs prettyQName $fPrettyQOp $fPrettyAlt $fPrettyStmt $fPrettyType$fPrettyTyVarBind$fPrettyDataOrNew $fPrettyBinds $fPrettyPat $fPrettyMatch$fPrettyStrictness$fPrettyConDecl $fPrettyDecl$fPrettyImportSpec$fPrettyImportDecl$fPrettyModulePragmaCheckedMainFunctionDefcheckedMainDefcheckedMainDeclMainFunctionDefasMainFunctionDefmainFunctionDefscheckTypeOfMaincheckTypeOfMain'treelessPrimNameimportsForPrimxForPrimprimBody noCheckCoverbltQual' haskellTypecheckConstructorCounthsTelApproximationhsTelApproximation'$fEqPolyApprox RecompileBackend' backendNamebackendVersionoptionscommandLineFlags isEnabled preCompile postCompile preModule postModule compileDefscopeCheckingSuffices mayEraseType callBackend activeBackendparseBackendOptionsbackendInteraction$fNFDataBackend'$fNFDataBackend$fGenericBackend' GiveRefineGiveRefineIntro ElaborateGivelocalStateCommandMliftLocalStaterevLift revLiftTC commandMToIO liftCommandMTliftCommandMTLocalStatemodifyTheInteractionPointsmodifyOldInteractionScopesinsertOldInteractionScoperemoveOldInteractionScopegetOldInteractionScopehandleCommand_ handleCommandrunInteraction maybeAbortinitialiseCommandQueue independentupdateInteractionPointsAfter interpretsolveInstantiatedGoals cmd_load'withCurrentFilegive_gen highlightExprsortInteractionPointscmd_goal_type_context_andshowModuleContents searchAboutsetCommandLineOptsstatus displayStatus display_infoparseAndDoAtToplevel maybeTimedtellToUpdateHighlightingtellEmacsToJumpToError$fEqGiveRefine$fShowGiveRefine mimicGHCi showInfoErrorexplainWhyInScopeprettyTypeOfMetajsonREPL$fEncodeTCMResponse$fEncodeTCMTCWarning$fEncodeTCMTCErr$fEncodeTCMInfo_Error$fEncodeTCMGoalTypeAux$fEncodeTCMDisplayInfo$fEncodeTCMBlocker$fEncodeTCMOutputForm$fToJSONComputeMode$fEncodeTCMComputeMode$fToJSONCPUTime$fEncodeTCMCPUTime$fToJSONRewrite$fEncodeTCMRewrite$fToJSONMakeCaseVariant$fEncodeTCMMakeCaseVariant$fToJSONGiveResult$fEncodeTCMGiveResult$fEncodeTCMNamedMeta$fToJSONInteractionId$fEncodeTCMInteractionId$fToJSONMetaId$fToJSONProblemId$fEncodeTCMMetaId$fEncodeTCMProblemId$fToJSONRange'$fEncodeTCMRange'$fToJSONPosition'$fEncodeTCMPosition'$fEncodeTCMResponseContextEntry$fToJSONCurrentFile$fEncodeTCMCurrentFile$fToJSONCommandState$fEncodeTCMCommandState$fToJSONStatus$fEncodeTCMStatus$fToJSONNameInScope$fEncodeTCMNameInScope dotBackend latexBackend htmlBackend MonadGHCIOCCT CCContext NameSupplyCCEnv _ccNameSupply _ccContext UsesFloat GHCDefinitionghcDefUsesFloat ghcDefDeclsghcDefDefinition ghcDefMainDef ghcDefImports GHCModuleghcModModuleEnvghcModMainFuncs ReadGHCOpts askGhcOptsflagGhcCompileflagGhcCallGhc flagGhcBin flagGhcFlagsflagGhcStrictData flagGhcStrictNoFloatYesFloat ghcBackend ghcBackend'defaultGHCFlagsghcCommandLineFlagswithCompilerFlag ghcPreCompileghcPostCompile ghcPreModule ghcPostModule ghcCompileDefghcMayEraseTypemazRTEFloatImport definitionconstructorCoverageCode ccNameSupply ccContext initCCEnvliftCC freshNamesintroscheckConstructorType checkCover closedTerm_ closedTermmkIfterm noApplicationhsCoerce compilePrimalthslitlitqname litqnamepatcondeclcompiledcondeclcompiledTypeSynonymtvaldeclinfodeclcopyRTEModules writeModule outFileAndDircurOutFileAndDir curOutFilecallGHC$fNFDataGHCFlags$fReadGHCOptsReaderT$fReadGHCOptsReaderT0$fReadGHCOptsReaderT1$fReadGHCOptsReaderT2$fMonoidUsesFloat$fSemigroupUsesFloat $fEqUsesFloat$fShowUsesFloat$fGenericGHCFlags EnvWithOpts JSModuleEnvjsCoinductionKit jsCompile JSOptions optJSCompile optJSOptimize optJSMinify optJSVerify jsBackend jsBackend'defaultJSOptionsjsCommandLineFlags jsPreCompile jsPostCompile mergeModules jsPreModule jsPostModule jsCompileDefprefixjsMod jsFileNamejsMemberglobal'globalreorderreorder'isTopLevelValue isEmptyObject insertAftercheckCompilerPragmasdefJSDef definition' compileTerm compileAlteraseLocalVars visitorNameflatNamelocaloutFileoutFile_ primitives$fNFDataJSOptions$fGenericJSOptions FrontendType FrontEndEmacs FrontEndJson FrontEndRepl InteractorMainMode MainModeRunMainModePrintHelpMainModePrintVersionMainModePrintAgdaDirrunAgdarunAgda' getMainModeemacsModeInteractorjsonModeInteractorreplInteractordefaultInteractor getInteractorrunAgdaWithOptions printUsage backendUsage printVersion printAgdaDir optionErrorrunTCMPrettyErrors deConnectionsdeLabelDotGraph dgNodeLabelsdgEdgesdottify renderDotrenderDotToFileghc-prim GHC.Typesinteger-wired-inGHC.Integer.Type Data.FoldableFoldableGHC.Num+FunctorGHC.IO.ExceptionGHC.IOcatch GHC.IORefIORef Data.IORefatomicWriteIORefatomicModifyIORef modifyIORef' modifyIORef mkWeakIORefatomicModifyIORef' writeIORef readIORefnewIORefBelowTrue GHC.Maybe ApplicativeOrdering GHC.ClassesOrd==. Data.OldListcompareelemEqGHC.Showshow System.IOputStrLnShowFalseeitherEitherLeftRightguard mtl-2.2.2Control.Monad.Reader.Class MonadReaderFilePathdirectory-1.3.6.0System.DirectorycanonicalizePath doesFileExist text-1.2.3.2Data.Text.Internal.LazyTextData.Map.Internalmax<=deepseq-1.4.4.0Control.DeepSeqNFDataData.Strict.TupleData.IntMap.InternalIntMapGHC.EnummaxBoundfmap< Data.GraphstronglyConnCompfoldr1orall&&anyfoldMapmapMMonoid++memptymappendHappyStk getBinDir getLibDir getDynLibDir getDataDir getLibexecDir getSysconfDirgetDataFileNamefindLibControl.Monad.State.Class MonadStatetransformers-0.5.6.2Control.Monad.Trans.State.LazyStateTControl.Monad.Trans.ReaderReaderTControl.Monad.Error.Class catchError%hashtables-1.3-6PGVhAGwCmu3q1A6er5BqOData.HashTable.IOCuckooHashTableBasicHashTableLinearHashTable Text.ReadreadsData.Sequence.InternalvarTel UnifyState:>>: fixTargetType&inferOrCheckProjAppToKnownPrincipalArgcheckConstructorApplication compilerMainControl.Monad.Trans.ClassControl.Monad.IO.ClassliftIOlatexOptSourceFileNamelatexOptCountClusters LogMessage LogLaTeXTprepareCommonAssetsgenerateLaTeXIO LaTeXOptionslatexOptOutDir MonadLogLaTeXrunLogLaTeXTWith logMsgToText HtmlOptions HtmlHighlightsrcFileOfInterfaceLogHtmlT MonadLogHtmllogHtml htmlOptDirhtmlOptHighlighthtmlOptHighlightOccurrenceshtmlOptCssFile HighlightAll HighlightCode HighlightAutorunLogHtmlWithdefaultPageGenprepareCommonDestinationAssets