Repository URL to install this package:
|
Version:
2.5.0 ▾
|
]q (cpygments.token
_TokenType
qX Keywordq
q
qq}q(X subtypesqcbuiltins
set
q]q (hhX Wordq
q
qq
}q(hh]q
qRqX parentqhubhhhq
qq}q(hh]q
qRqhhubhhX Typeqq
qq}q(hh]q
q Rq!hhubhhX PreProcq"q#
q$q%}q&(hh]q'
q(Rq)hhubhhX Controlq*q+
q,q-}q.(hh]q/
q0Rq1hhubhhX Constantq2q3
q4q5}q6(hh]q7
q8Rq9hhubhhX Namespaceq:q;
q<q=}q>(hh]q?
q@RqAhhubhhX PseudoqBqC
qDqE}qF(hh]qG
qHRqIhhubhhX DeclarationqJqK
qLqM}qN(hh]qO
qPRqQhhubhhX ReservedqRqS
qTqU}qV(hh]qW
qXRqYhhube
qZRq[hh)
q\q]}q^(hh]q_(hX Escapeq`
qa
qbqc}qd(hh]qe
qfRqghh]ubhX Operatorqh
qi
qjqk}ql(hh]qm(hhhX DBSqnqo
qpqq}qr(hh]qs
qtRquhhkubhhhh
qv
qwqx}qy(hh]qz
q{Rq|hhkube
q}Rq~hh]h
hxhnhqubhX Nameq
q
qq}q(hh]q(hhX Tagq
q
qq}q(hh]q
qRqhhubhhX Entityqq
qq}q(hh]qhhhhnq
qq}q(hh]q
qRqhhuba
qRqhhhnhubhhX Exceptionqq
qq}q (hh]q¡
q¢Rq£hhubhhX Decoratorq¤q¥
q¦q§}q¨(hh]q©
qªRq«hhubhhX Classq¬q
q®q¯}q°(hh]q±(hhh¬hnq²
q³q´}qµ(hh]q¶
q·Rq¸hh¯ubhhh¬X Startq¹qº
q»q¼}q½(hh]q¾
q¿RqÀhh¯ube
qÁRqÂhhh¹h¼hnh´ubhhX VariableqÆqąqŁqÆ}qÇ(hh]qÈ(hhhÃX AnonymousqɇqʅqˁqÌ}qÍ(hh]q΅qÏRqÐhhÆubhhhÃh¬qхqҁqÓ}qÔ(hh]qՅqÖRq×hhÆubhhhÃX Magicq؇qمqځqÛ}qÜ(hh]q݅qÞRqßhhÆubhhhÃX Globalqàqá
qâqã}qä(hh]qå
qæRqçhhÆubhhhÃX Instanceqèqé
qêqë}qì(hh]qí
qîRqïhhÆube
qðRqñhhh¬hÓhàhãhèhëhØhÛhÉhÌubhhX Attributeqòqó
qôqõ}qö(hh]q÷hhhòhÇqø
qùqú}qû(hh]qü
qýRqþhhõuba
qÿRr hhhÃhúubhhh:r
r r }r (hh]r
r Rr hhubhhX Propertyr r
r
r }r (hh]r
r Rr hhubhhX Symbolr r
r r }r (hh]r
r Rr hhubhhX Classesr r
r r }r (hh]r
r Rr hhubhhhBr
r! r" }r# (hh]r$
r% Rr& hhubhhX Labelr' r(
r) r* }r+ (hh]r,
r- Rr. hhubhhhhr/
r0 r1 }r2 (hh]r3
r4 Rr5 hhubhhX Builtinr6 r7
r8 r9 }r: (hh]r; (hhj6 hBr<
r= r> }r? (hh]r@
rA RrB hj9 ubhhj6 hrC
rD rE }rF (hh]rG
rH RrI hj9 ube
rJ RrK hhhBj> hjE ubhhX FieldrL rM
rN rO }rP (hh]rQ
rR RrS hhubhhX OtherrT rU
rV rW }rX (hh]rY hhjT X MemberrZ r[
r\ r] }r^ (hh]r_
r` Rra hjW uba
rb Rrc hhjZ j] ubhhX Functionrd re
rf rg }rh (hh]ri hhjd h؇rj
rk rl }rm (hh]rn
ro Rrp hjg uba
rq Rrr hhhØjl ubhhhrs
rt ru }rv (hh]rw
rx Rry hhubhhh2rz
r{ r| }r} (hh]r~
r Rr hhube
r Rr hh]hòhõj6 j9 h¬h¯h2j| h¤h§hhhhjd jg j j j' j* h:j jT jW h
hhÃhÆjL jO j j hBj" hhj1 j j hju ubhX Literalr
r
r
r }r (hh]r (hj jT r
r r }r (hh]r
r Rr hj ubhj X Charr r
r r }r (hh]r
r Rr hj ubhj X Dater r
r r }r (hh]r
r Rr hj ubhj X Scalarr r¡
r¢ r£ }r¤ (hh]r¥ hj j X Plainr¦ r§
r¨ r© }rª (hh]r«
r¬ Rr hj£ uba
r® Rr¯ hj j¦ j© ubhj X Stringr° r±
r² r³ }r´ (hh]rµ (hj j° X Interpolr¶ r·
r¸ r¹ }rº (hh]r»
r¼ Rr½ hj³ ubhj j° X Delimeterr¾ r¿
rÀ rÁ }r (hh]rÃ
rÄ RrÅ hj³ ubhj j° j rÆ
rÇ rÈ }rÉ (hh]rÊ
rË RrÌ hj³ ubhj j° j rÍ
rÎ rÏ }rÐ (hh]rÑ
rÒ RrÓ hj³ ubhj j° X SinglerÔ rÕ
rÖ r× }rØ (hh]rÙ
rÚ RrÛ hj³ ubhj j° jT rÜ
rÝ rÞ }rß (hh]rà
rá Rrâ hj³ ubhj j° X Backtickrã rä
rå ræ }rç (hh]rè
ré Rrê hj³ ubhj j° h`rë
rì rí }rî (hh]rï
rð Rrñ hj³ ubhj j° X Regexrò ró
rô rõ }rö (hh]r÷
rø Rrù hj³ ubhj j° X Momentrú rû
rü rý }rþ (hh]rÿ
r Rr hj³ ubhj j° X Booleanr r
r r }r (hh]r
r Rr hj³ ubhj j° X Characterr
r
r r
}r (hh]r
r Rr hj³ ubhj j° X Delimiterr r
r r }r (hh]r
r Rr hj³ ubhj j° X Docr r
r r }r (hh]r
r Rr! hj³ ubhj j° hr"
r# r$ }r% (hh]r&
r' Rr( hj³ ubhj j° X Affixr) r*
r+ r, }r- (hh]r.
r/ Rr0 hj³ ubhj j° X Heredocr1 r2
r3 r4 }r5 (hh]r6
r7 Rr8 hj³ ubhj j° X Doubler9 r:
r; r< }r= (hh]r>
r? Rr@ hj³ ubhj j° X InterprA rB
rC rD }rE (hh]rF
rG RrH hj³ ubhj j° X AtomrI rJ
rK rL }rM (hh]rN
rO RrP hj³ ube
rQ RrR hj j) j, jã jæ j jÈ j j j j j9 j< h`jí j1 j4 j¶ j¹ jT jÞ jò jõ jÔ j× j jÏ j
j
jú jý jA jD j j j¾ jÁ jI jL hj$ ubhj X NumberrS rT
rU rV }rW (hh]rX (hj jS X FloatrY rZ
r[ r\ }r] (hh]r^
r_ Rr` hjV ubhj jS X Decra rb
rc rd }re (hh]rf
rg Rrh hjV ubhj jS X Radixri rj
rk rl }rm (hh]rn
ro Rrp hjV ubhj jS X Octrq rr
rs rt }ru (hh]rv
rw Rrx hjV ubhj jS X Binry rz
r{ r| }r} (hh]r~
r Rr hjV ubhj jS hòr
r r }r (hh]r
r Rr hjV ubhj jS X Hexr r
r r }r (hh]r
r Rr hjV ubhj jS X Integerr r
r r }r (hh]r h(j jS j X Longr tr
r r }r (hh]r
r Rr hj uba
r Rr hjV j j ubhj jS X Decimalr r¡
r¢ r£ }r¤ (hh]r¥
r¦ Rr§ hjV ube
r¨ Rr© hj jy j| jY j\ j j j j jq jt ji jl hòj j j£ ja jd ube
rª Rr« hh]j° j³ jS jV j j j j£ jT j j j ubhX Genericr¬
r
r® r¯ }r° (hh]r± (hj¬ X Errorr² r³
r´ rµ }r¶ (hh]r·
r¸ Rr¹ hj¯ ubhj¬ X
Subheadingrº r»
r¼ r½ }r¾ (hh]r¿
rÀ RrÁ hj¯ ubhj¬ X Tracebackr rÃ
rÄ rÅ }rÆ (hh]rÇ
rÈ RrÉ hj¯ ubhj¬ X OutputrÊ rË
rÌ rÍ }rÎ (hh]rÏ
rÐ RrÑ hj¯ ubhj¬ X PromptrÒ rÓ
rÔ rÕ }rÖ (hh]r×
rØ RrÙ hj¯ ubhj¬ X DeletedrÚ rÛ
rÜ rÝ }rÞ (hh]rß
rà Rrá hj¯ ubhj¬ X Insertedrâ rã
rä rå }ræ (hh]rç
rè Rré hj¯ ubhj¬ X Headingrê rë
rì rí }rî (hh]rï
rð Rrñ hj¯ ubhj¬ X Strongrò ró
rô rõ }rö (hh]r÷
rø Rrù hj¯ ubhj¬ X Emphrú rû
rü rý }rþ (hh]rÿ
r Rr hj¯ ube
r Rr hh]jÚ jÝ jú jý j² jµ jê jí jâ jå jÊ jÍ jÒ jÕ jò jõ jº j½ j jÅ ubhj²
r
r r }r (hh]r
r Rr
hh]ubhhjT
r
r r
}r (hh]r
r Rr hh]ubhX Textr
r
r r }r (hh]r (hj X Rootr r
r r }r (hh]r
r Rr hj ubhj j r
r! r" }r# (hh]r$
r% Rr& hj ubhj X Ragr' r(
r) r* }r+ (hh]r,
r- Rr. hj ubhj X
Whitespacer/ r0
r1 r2 }r3 (hh]r4
r5 Rr6 hj ubhj X Beerr7 r8
r9 r: }r; (hh]r<
r= Rr> hj ubhj X Punctuationr? r@
rA rB }rC (hh]rD
rE RrF hj ube
rG RrH hh]j/ j2 j j" j? jB j j j7 j: j' j* ubhX CommentrI
rJ
rK rL }rM (hh]rN (hjI X PreprocrO rP
rQ rR }rS (hh]rT
rU RrV hjL ubhjI X MultirW rX
rY rZ }r[ (hh]r\
r] Rr^ hjL ubhjI X Hashbangr_ r`
ra rb }rc (hh]rd
re Rrf hjL ubhjI jÔ rg
rh ri }rj (hh]rk
rl Rrm hjL ubhjI X
SingleLinern ro
rp rq }rr (hh]rs
rt Rru hjL ubhjI j rv
rw rx }ry (hh]rz
r{ Rr| hjL ubhjI X Directiver} r~
r r }r (hh]r
r Rr hjL ubhjI X Multiliner
r
r r }r (hh]r
r Rr hjL ubhjI X
Singleliner r
r r }r (hh]r
r Rr hjL ubhjI X PreprocFiler r
r r }r (hh]r
r Rr hjL ubhjI X Specialr r
r r }r¡ (hh]r¢
r£ Rr¤ hjL ube
r¥ Rr¦ hh]j_ jb j
j jO jR j j jÔ ji j j j} j jn jq j jx jW jZ j j ubhj?
r§
r¨ r© }rª (hh]r« hj? X Indicatorr¬ r
r® r¯ }r° (hh]r±
r² Rr³ hj© uba
r´ Rrµ hh]j¬ j¯ ube
r¶ Rr· j j h`hcj² j jT j
hhhhj j j? j© hhhkjI jL j¬ j¯ X Tokenr¸ h]j° j³ jS jV ubh2h5hJhMh:h=hBhEhRhUhhh*h-hhh"h%h
h
ubX domainr¹ rº j2 X r» r¼ hX Option__Noder½ r¾ j2 j» r¿ j© X {rÀ rÁ j2 X
r rà j2 X rÄ rÅ hX uniquerÆ rÇ j2 j» rÈ hX functionrÉ rÊ j2 j» rË hX Option__Node__SomerÌ rÍ j© X (rÎ rÏ j© X )rÐ rÑ hkX :rÒ rÓ j2 j» rÔ hX Option__NoderÕ rÖ j2 j r× j2 X rØ rÙ hX uniquerÚ rÛ j2 j» rÜ hX functionrÝ rÞ j2 j» rß hX Option__Node__Nonerà rá j© jÎ râ j© jÐ rã hkjÒ rä j2 j» rå hX Option__Noderæ rç j2 j rè j2 j ré j2 X rê rë hX functionrì rí j2 j» rî hX variantOfOptionNoderï rð j© jÎ rñ hX selfrò ró hkjÒ rô j2 j» rõ hX Refrö r÷ j© jÐ rø hkjÒ rù j2 j» rú hX Option__Noderû rü j2 j rý j2 j rþ j2 X rÿ r hX functionr r j2 j» r hX isOptionNoder r j© jÎ r hX selfr r hkjÒ r j2 j» r
hX Refr r j© jÐ r
hkjÒ r j2 j» r hX Boolr r j2 j r j2 j r j2 X r r hX axiomr r j2 j» r hX ax_variantOfOptionNodeChoicesr r j2 j» r j© jÀ r j2 j r j2 X r r hX forallr r! j2 j» r" hX xr# r$ hkjÒ r% j2 j» r& hX Refr' r( j2 j» r) hkjÒ r* hkjÒ r+ j2 j» r, j© jÀ r- j2 j» r. hX variantOfOptionNoder/ r0 j© jÎ r1 hj# r2 j© jÐ r3 j2 j» r4 j© X }r5 r6 j2 j r7 j2 X r8 r9 j© jÎ r: hX variantOfOptionNoder; r< j© jÎ r= hj# r> j© jÐ r? j2 j» r@ hkX =rA rB hkjA rC j2 j» rD hX Option__Node__SomerE rF j© jÎ rG j© jÐ rH j2 j» rI hkX |rJ rK hkjJ rL j2 j» rM hX variantOfOptionNoderN rO j© jÎ rP hj# rQ j© jÐ rR j2 j» rS hkjA rT hkjA rU j2 j» rV hX Option__Node__NonerW rX j© jÎ rY j© jÐ rZ j© jÐ r[ j2 j r\ j2 X r] r^ j© j5 r_ j2 j r` j2 j ra j2 X rb rc hX axiomrd re j2 j» rf hX ax_isCounterStaterg rh j2 j» ri j© jÀ rj j2 j rk j2 X rl rm hX forallrn ro j2 j» rp hj# rq hkjÒ rr j2 j» rs hX Refrt ru j2 j» rv hkjÒ rw hkjÒ rx j2 X ry rz j© jÀ r{ j2 j» r| hX variantOfOptionNoder} r~ j© jÎ r hj# r j© jÐ r j2 j» r j© j5 r j2 j r j2 X r
r hX isOptionNoder r j© jÎ r hj# r j© jÐ r j2 j» r hkjA r hkjA r j2 j» r j© jÎ r hX variantOfOptionNoder r j© jÎ r hj# r j© jÐ r j2 j» r hkjA r hkjA r j2 j» r hX Option__Node__Somer r j© jÎ r j© jÐ r j2 j» r hkjJ r hkjJ r j2 j r¡ j2 X r¢ r£ hX variantOfOptionNoder¤ r¥ j© jÎ r¦ hj# r§ j© jÐ r¨ j2 j» r© hkjA rª hkjA r« j2 j» r¬ hX Option__Node__Noner r® j© jÎ r¯ j© jÐ r° j© jÐ r± j2 j r² j2 X r³ r´ j© j5 rµ j2 j r¶ j© j5 r· j2 j r¸ j2 j r¹ hX predicaterº r» j2 j» r¼ hX validOptionr½ r¾ j© jÎ r¿ hX thisrÀ rÁ hkjÒ r j2 j» rà hX RefrÄ rÅ j© jÐ rÆ j2 j» rÇ j© jÀ rÈ j2 j rÉ j2 X rÊ rË hX isOptionNoderÌ rÍ j© jÎ rÎ hX thisrÏ rÐ j© jÐ rÑ j2 j» rÒ hkX &rÓ rÔ hkjÓ rÕ j2 j rÖ j2 X r× rØ hX variantOfOptionNoderÙ rÚ j© jÎ rÛ hX thisrÜ rÝ j© jÐ rÞ j2 j» rß hkjA rà hkjA rá j2 j» râ hX Option__Node__Somerã rä j© jÎ rå j© jÐ ræ j2 j» rç hkjA rè hkjA ré hkX >rê rë j2 j» rì j© jÎ rí j2 j rî j2 X rï rð hX accrñ rò j© jÎ ró hX thisrô rõ j© X .rö r÷ hX Option__Node__Some__1rø rù j© X ,rú rû j2 j» rü hX writerý rþ j© jÐ rÿ j2 j» r hkjÓ r hkjÓ r j2 j r j2 X r r hX accr r j© jÎ r hX validNoder r
j© jÎ r hX thisr r
j© jö r hX Option__Node__Some__1r r j© jÐ r j© jÐ r j2 j r j2 X r r j© jÐ r j2 j r j© j5 r j2 j r j2 j r hX fieldr r j2 j» r hX Option__Node__Some__1r r hkjÒ r j2 j» r! hX Refr" r# j2 j r$ j2 j r% hX fieldr& r' j2 j» r( hX Node__vr) r* hkjÒ r+ j2 j» r, hX Intr- r. j2 j r/ hX fieldr0 r1 j2 j» r2 hX
Node__nextr3 r4 hkjÒ r5 j2 j» r6 hX Refr7 r8 j2 j r9 j2 j r: hX predicater; r< j2 j» r= hX validNoder> r? j© jÎ r@ hX thisrA rB hkjÒ rC j2 j» rD hX RefrE rF j© jÐ rG j2 j» rH j© jÀ rI j2 j rJ j2 X rK rL hX accrM rN j© jÎ rO hX thisrP rQ j© jö rR hX Node__vrS rT j© jÐ rU j2 j» rV hkjÓ rW hkjÓ rX j2 j rY j2 X rZ r[ hX accr\ r] j© jÎ r^ hX thisr_ r` j© jö ra hX
Node__nextrb rc j© jÐ rd j2 j» re hkjÓ rf hkjÓ rg j2 j rh j2 X ri rj hX accrk rl j© jÎ rm hX validOptionrn ro j© jÎ rp hX thisrq rr j© jö rs hX
Node__nextrt ru j© jÐ rv j© jÐ rw j2 j rx j© j5 ry j2 j rz j2 j r{ j2 j r| hX functionr} r~ j2 j» r hX lengthr r j© jÎ r hX thisr r hkjÒ r
j2 j» r hX Refr r j© jÐ r hkjÒ r j2 j» r hX Intr r j2 j r j2 X r r hX requiresr r j2 j» r hX accr r j© jÎ r hX validNoder r j© jÎ r hX thisr r j© jÐ r j© jú r j2 j» r hX writer r j© jÐ r¡ j2 j r¢ j2 X r£ r¤ hX ensuresr¥ r¦ j2 j» r§ hX resultr¨ r© j2 j» rª hkjê r« hkjA r¬ j2 j» r j X 1r® r¯ j2 j r° j© jÀ r± j2 j r² j2 X r³ r´ j© jÎ rµ hX unfoldingr¶ r· j2 j» r¸ hX accr¹ rº j© jÎ r» hX validNoder¼ r½ j© jÎ r¾ hX thisr¿ rÀ j© jÐ rÁ j© jú r j2 j» rà hX writerÄ rÅ j© jÐ rÆ j2 j» rÇ hX inrÈ rÉ j2 j rÊ j2 X rË rÌ hX unfoldingrÍ rÎ j2 j» rÏ hX accrÐ rÑ j© jÎ rÒ hX validOptionrÓ rÔ j© jÎ rÕ hX thisrÖ r× j© jö rØ hX
Node__nextrÙ rÚ j© jÐ rÛ j© jÐ rÜ j2 j» rÝ hX inrÞ rß j2 j rà j2 X rá râ j© jÎ rã hX variantOfOptionNoderä rå j© jÎ ræ hX thisrç rè j© jö ré hX
Node__nextrê rë j© jÐ rì j2 j» rí hkjA rî hkjA rï j2 j» rð hX Option__Node__Nonerñ rò j© jÎ ró j© jÐ rô j© jÐ rõ j2 j» rö hkX ?r÷ rø j2 X
rù rú j j® rû j2 j» rü hkjÒ rý j2 j» rþ j j® rÿ j2 j» r hkX +r r j2 j» r hX lengthr r j© jÎ r hX thisr r j© jö r hX
Node__nextr
r j© jö r hX Option__Node__Some__1r
r j© jÐ r j2 j r j2 X r r j© jÐ r j2 j r j© j5 r j2 j r j2 j r hX functionr r j2 j» r hX itemAtr r j© jÎ r hX thisr r hkjÒ r j2 j» r! hX Refr" r# j© jú r$ j2 j» r% hX ir& r' hkjÒ r( j2 j» r) hX Intr* r+ j© jÐ r, hkjÒ r- j2 j» r. hX Intr/ r0 j2 j r1 j2 X r2 r3 hX requiresr4 r5 j2 j» r6 hX accr7 r8 j© jÎ r9 hX validNoder: r; j© jÎ r< hX thisr= r> j© jÐ r? j© jú r@ j2 j» rA hX writerB rC j© jÐ rD j2 j rE j2 X rF rG hX requiresrH rI j2 j» rJ j X 0rK rL j2 j» rM hkX <rN rO hkjA rP j2 j» rQ hj& rR j2 j» rS hkjÓ rT hkjÓ rU j2 j» rV hj& rW j2 j» rX hkjN rY j2 j» rZ hX lengthr[ r\ j© jÎ r] hX thisr^ r_ j© jÐ r` j2 j ra j© jÀ rb j2 j rc j2 X rd re hX unfoldingrf rg j2 j» rh hX accri rj j© jÎ rk hX validNoderl rm j© jÎ rn hX thisro rp j© jÐ rq j© jú rr j2 j» rs hX writert ru j© jÐ rv j2 j» rw hX inrx ry j2 j» rz hX unfoldingr{ r| j2 j» r} hX accr~ r j© jÎ r hX validOptionr r j© jÎ r hX thisr r
j© jö r hX
Node__nextr r j© jÐ r j© jÐ r j2 j» r hX inr r j2 j» r j© jÎ r j2 j r j2 X r r j© jÎ r hj& r j2 j» r hkjA r hkjA r j2 j» r j jK r j© jÐ r j2 j» r hkj÷ r j2 j r j2 X r r hX thisr r¡ j© jö r¢ hX Node__vr£ r¤ hkjÒ r¥ j2 j r¦ j2 X r§ r¨ j© jÎ r© hX variantOfOptionNoderª r« j© jÎ r¬ hX thisr r® j© jö r¯ hX
Node__nextr° r± j© jÐ r² j2 j» r³ hkjA r´ hkjA rµ j2 j» r¶ hX Option__Node__Somer· r¸ j© jÎ r¹ j© jÐ rº j© jÐ r» j2 j» r¼ hkj÷ r½ j2 X
r¾ r¿ hX itemAtrÀ rÁ j© jÎ r hX thisrà rÄ j© jö rÅ hX
Node__nextrÆ rÇ j© jö rÈ hX Option__Node__Some__1rÉ rÊ j© jú rË j2 j» rÌ hj& rÍ hkX -rÎ rÏ j j® rÐ j© jÐ rÑ j2 j» rÒ hkjÒ rÓ j2 j» rÔ hX thisrÕ rÖ j© jö r× hX Node__vrØ rÙ j2 j rÚ j2 X rÛ rÜ j© jÐ rÝ j2 j rÞ j© j5 rß j2 j rà j2 j rá hX functionrâ rã j2 j» rä hX sumrå ræ j© jÎ rç hX thisrè ré hX $1rê rë hkjÒ rì j2 j» rí hX Refrî rï j© jÐ rð hkjÒ rñ j2 j» rò hX Intró rô j2 j rõ j2 X rö r÷ hX requiresrø rù j2 j» rú hX accrû rü j© jÎ rý hX validNoderþ rÿ j© jÎ r hX thisr r hX $1r r j© jÐ r j© jú r j2 j» r hX writer r j© jÐ r
j2 j r j© jÀ r j2 j r
j2 X r r j© jÎ r hX unfoldingr r j2 j» r hX accr r j© jÎ r hX validNoder r j© jÎ r hX thisr r hX $1r r j© jÐ r j© jú r j2 j» r hX writer! r" j© jÐ r# j2 j» r$ hX inr% r& j2 j» r' hX unfoldingr( r) j2 j» r* hX accr+ r, j© jÎ r- hX validOptionr. r/ j© jÎ r0 hX thisr1 r2 hX $1r3 r4 j© jö r5 hX
Node__nextr6 r7 j© jÐ r8 j© jÐ r9 j2 j» r: hX inr; r< j2 X
r= r> j© jÎ r? hX variantOfOptionNoder@ rA j© jÎ rB hX thisrC rD hX $1rE rF j© jö rG hX
Node__nextrH rI j© jÐ rJ j2 j» rK hkjA rL hkjA rM j2 j» rN hX Option__Node__NonerO rP j© jÎ rQ j© jÐ rR j© jÐ rS j2 j» rT hkj÷ rU j2 j» rV hX thisrW rX hX $1rY rZ j© jö r[ hX Node__vr\ r] j2 j» r^ hkjÒ r_ j2 j» r` hX thisra rb hX $1rc rd j© jö re hX Node__vrf rg j2 j» rh hkj ri j2 j» rj hX sumrk rl j© jÎ rm hX thisrn ro hX $1rp rq j© jö rr hX
Node__nextrs rt j© jö ru hX Option__Node__Some__1rv rw j© jÐ rx j© jÐ ry j2 j rz j© j5 r{ j2 j r| j2 j r} hX methodr~ r j2 j» r hX appendr r j© jÎ r hX thisr r
hkjÒ r j2 j» r hX Refr r j© jú r j2 j» r hX valr r hkjÒ r j2 j» r hX Intr r j© jÐ r j2 j r j2 X r r hX requiresr r j2 j» r hX accr r j© jÎ r hX validNoder r j© jÎ r hX thisr r j© jÐ r¡ j© jú r¢ j2 j» r£ hX writer¤ r¥ j© jÐ r¦ j2 j r§ j2 X r¨ r© hX ensuresrª r« j2 j» r¬ hX accr r® j© jÎ r¯ hX validNoder° r± j© jÎ r² hX thisr³ r´ j© jÐ rµ j© jú r¶ j2 j» r· hX writer¸ r¹ j© jÐ rº j2 j» r» j X /*r¼ r½ j X POST1 r¾ r¿ j X */rÀ rÁ j2 j r j2 X rà rÄ hX ensuresrÅ rÆ j2 j» rÇ hX lengthrÈ rÉ j© jÎ rÊ hX thisrË rÌ j© jÐ rÍ j2 j» rÎ hkjA rÏ hkjA rÐ j2 j» rÑ j© jÎ rÒ hX oldrÓ rÔ j© jÎ rÕ hX lengthrÖ r× j© jÎ rØ hX thisrÙ rÚ j© jÐ rÛ j© jÐ rÜ j2 j» rÝ hkj rÞ j2 j» rß j j® rà j© jÐ rá j2 j» râ j X /*rã rä j X POST2 rå ræ j X */rç rè j2 j ré j2 X rê rë hX ensuresrì rí j2 j» rî j© jÎ rï hX forallrð rñ j2 j» rò hj& ró hkjÒ rô j2 j» rõ hX Intrö r÷ j2 j» rø hkjÒ rù hkjÒ rú j2 j» rû j© jÎ rü j jK rý j2 j» rþ hkjN rÿ hkjA r j2 j» r hj& r j2 j» r hkjÓ r hkjÓ r j2 j» r hj& r j2 j» r hkjN r j2 j» r
hX oldr r j© jÎ r
hX lengthr r j© jÎ r hX thisr r j© jÐ r j© jÐ r j© jÐ r j2 j» r hkjA r hkjA r hkjê r j2 j» r j© jÎ r hX itemAtr r j© jÎ r hX thisr r j© jú r! j2 j» r" hj& r# j© jÐ r$ j2 j» r% hkjA r& hkjA r' j2 j» r( hX oldr) r* j© jÎ r+ hX itemAtr, r- j© jÎ r. hX thisr/ r0 j© jú r1 j2 j» r2 hj& r3 j© jÐ r4 j© jÐ r5 j© jÐ r6 j© jÐ r7 j2 j» r8 j X /*r9 r: j X POST3 r; r< j X */r= r> j2 j r? j2 X r@ rA hX ensuresrB rC j2 j» rD hX itemAtrE rF j© jÎ rG hX thisrH rI j© jú rJ j2 j» rK hX lengthrL rM j© jÎ rN hX thisrO rP j© jÐ rQ j2 j» rR hkjÎ rS j2 j» rT j j® rU j© jÐ rV j2 j» rW hkjA rX hkjA rY j2 j» rZ hX valr[ r\ j2 j» r] j X /*r^ r_ j X POST4 r` ra j X */rb rc j2 j rd j2 X re rf hX ensuresrg rh j2 j» ri hX truerj rk j2 j» rl hkjA rm hkjA rn hkjê ro j2 j» rp hX truerq rr j2 j rs j© jÀ rt j2 j ru j2 X rv rw hX varrx ry j2 j» rz hX tmp_noder{ r| hkjÒ r} j2 j» r~ hX Refr r j2 j r j2 X r r hX varr r
j2 j» r hX
tmp_optionr r hkjÒ r j2 j» r hX Refr r j2 j r j2 j r j2 X r r hX unfoldr r j2 j» r hX accr r j© jÎ r hX validNoder r j© jÎ r hX thisr r j© jÐ r j© jú r j2 j» r hX writer r j© jÐ r¡ j2 j r¢ j2 X r£ r¤ hX unfoldr¥ r¦ j2 j» r§ hX accr¨ r© j© jÎ rª hX validOptionr« r¬ j© jÎ r hX thisr® r¯ j© jö r° hX
Node__nextr± r² j© jÐ r³ j© jú r´ j2 j» rµ hX writer¶ r· j© jÐ r¸ j2 j r¹ j2 j rº j2 X r» r¼ hX ifr½ r¾ j2 j» r¿ j© jÎ rÀ hX variantOfOptionNoderÁ r j© jÎ rà hX thisrÄ rÅ j© jö rÆ hX
Node__nextrÇ rÈ j© jÐ rÉ j2 j» rÊ hkjA rË hkjA rÌ j2 j» rÍ hX Option__Node__NonerÎ rÏ j© jÎ rÐ j© jÐ rÑ j© jÐ rÒ j2 j» rÓ j© jÀ rÔ j2 j rÕ j2 X rÖ r× hX tmp_noderØ rÙ j2 j» rÚ hkjÒ rÛ hkjA rÜ j2 j» rÝ hX newrÞ rß j© jÎ rà hX
Node__nextrá râ j© jú rã j2 j» rä hX Node__vrå ræ j© jÐ rç j2 j rè j2 X ré rê hX tmp_noderë rì j© jö rí hX
Node__nextrî rï j2 j» rð hkjÒ rñ hkjA rò j2 j» ró hX nullrô rõ j2 j rö j2 X r÷ rø hX tmp_noderù rú j© jö rû hX Node__vrü rý j2 j» rþ hkjÒ rÿ e(hkjA r j2 j» r hX valr r j2 j r j2 j r j2 X r r hX assumer r j2 j» r
hX variantOfOptionNoder r j© jÎ r
hX tmp_noder r j© jö r hX
Node__nextr r j© jÐ r j2 j» r hkjA r hkjA r j2 j» r hX Option__Node__Noner r j© jÎ r j© jÐ r j2 j r j2 X r r hX foldr r j2 j» r! hX accr" r# j© jÎ r$ hX validOptionr% r& j© jÎ r' hX tmp_noder( r) j© jö r* hX
Node__nextr+ r, j© jÐ r- j© jÐ r. j2 j r/ j2 X r0 r1 hX foldr2 r3 j2 j» r4 hX accr5 r6 j© jÎ r7 hX validNoder8 r9 j© jÎ r: hX tmp_noder; r< j© jÐ r= j© jú r> j2 j» r? hX writer@ rA j© jÐ rB j2 j rC j2 j rD j2 X rE rF hX
tmp_optionrG rH j2 j» rI hkjÒ rJ hkjA rK j2 j» rL hX newrM rN j© jÎ rO hX Option__Node__Some__1rP rQ j© jÐ rR j2 j rS j2 X rT rU hX
tmp_optionrV rW j© jö rX hX Option__Node__Some__1rY rZ j2 j» r[ hkjÒ r\ hkjA r] j2 j» r^ hX tmp_noder_ r` j2 j ra j2 X rb rc hX assumerd re j2 j» rf hX variantOfOptionNoderg rh j© jÎ ri hX
tmp_optionrj rk j© jÐ rl j2 j» rm hkjA rn hkjA ro j2 j» rp hX Option__Node__Somerq rr j© jÎ rs j© jÐ rt j2 j ru j2 X rv rw hX foldrx ry j2 j» rz hX accr{ r| j© jÎ r} hX validOptionr~ r j© jÎ r hX
tmp_optionr r j© jÐ r j© jÐ r j2 j r
j2 j r j2 X r r hX thisr r j© jö r hX
Node__nextr r j2 j» r hkjÒ r hkjA r j2 j» r hX
tmp_optionr r j2 j r j2 j r j2 X
r r hX unfoldr r j2 j» r hX validOptionr r j© jÎ r hX
tmp_optionr r j© jÐ r j2 j r¡ j2 X r¢ r£ hX assertr¤ r¥ j2 j» r¦ hX lengthr§ r¨ j© jÎ r© hX tmp_noderª r« j© jÐ r¬ j2 j» r hkjA r® hkjA r¯ j2 j» r° j j® r± j2 j» r² j X /*r³ r´ j X2 TODO: Required by Silicon, POST2 fails otherwise rµ r¶ j X */r· r¸ j2 j r¹ j2 X rº r» hX assertr¼ r½ j2 j» r¾ hX itemAtr¿ rÀ j© jÎ rÁ hX tmp_noder rà j© jú rÄ j2 j» rÅ j jK rÆ j© jÐ rÇ j2 j» rÈ hkjA rÉ hkjA rÊ j2 j» rË hX valrÌ rÍ j2 j» rÎ j X /*rÏ rÐ j X2 TODO: Required by Silicon, POST4 fails otherwise rÑ rÒ j X */rÓ rÔ j2 j rÕ j2 X rÖ r× hX foldrØ rÙ j2 j» rÚ hX validOptionrÛ rÜ j© jÎ rÝ hX
tmp_optionrÞ rß j© jÐ rà j2 j rá j2 X râ rã j© j5 rä j2 j» rå hX elseræ rç j2 j» rè j© jÀ ré j2 j rê j2 X rë rì hX appendrí rî j© jÎ rï hX thisrð rñ j© jö rò hX
Node__nextró rô j© jö rõ hX Option__Node__Some__1rö r÷ j© jú rø j2 j» rù hX valrú rû j© jÐ rü j2 j rý j2 X rþ rÿ hX foldr
r
j2 j» r
hX accr
r
j© jÎ r
hX validOptionr
r
j© jÎ r
hX thisr
r
j© jö r
hX
Node__nextr
r
j© jÐ r
j© jú r
j2 j» r
hX writer
r
j© jÐ r
j2 j r
j2 X r
r
j© j5 r
j2 j r
j2 j r
j2 X r
r
hX foldr
r
j2 j» r
hX accr
r
j© jÎ r!
hX validNoder"
r#
j© jÎ r$
hX thisr%
r&
j© jÐ r'
j© jú r(
j2 j» r)
hX writer*
r+
j© jÐ r,
j2 j r-
j© j5 r.
j2 j r/
j2 j r0
hX methodr1
r2
j2 j» r3
hX prependr4
r5
j© jÎ r6
hX tailr7
r8
hkjÒ r9
j2 j» r:
hX Refr;
r<
j© jú r=
j2 j» r>
hX valr?
r@
hkjÒ rA
j2 j» rB
hX IntrC
rD
j© jÐ rE
j2 j» rF
hX returnsrG
rH
j2 j» rI
j© jÎ rJ
hX resrK
rL
hkjÒ rM
j2 j» rN
hX RefrO
rP
j© jÐ rQ
j2 j rR
j2 X rS
rT
hX requiresrU
rV
j2 j» rW
hX accrX
rY
j© jÎ rZ
hX validNoder[
r\
j© jÎ r]
hX tailr^
r_
j© jÐ r`
j© jÐ ra
j2 j rb
j2 X rc
rd
hX ensuresre
rf
j2 j» rg
hX accrh
ri
j© jÎ rj
hX validNoderk
rl
j© jÎ rm
hX resrn
ro
j© jÐ rp
j© jÐ rq
j2 j rr
j2 X rs
rt
ji X //ensures acc(validNode(tail))
ru
rv
j2 X rw
rx
hX ensuresry
rz
j2 j» r{
hX lengthr|
r}
j© jÎ r~
hX resr
r
j© jÐ r
j2 j» r
hkjA r
hkjA r
j2 j» r
hX oldr
r
j© jÎ r
hX lengthr
r
j© jÎ r
hX tailr
r
j© jÐ r
j© jÐ r
j2 j» r
hkj r
j2 j» r
j j® r
j2 j r
j2 j r
j2 X r
r
hX ensuresr
r
j2 j» r
j© jÎ r
hX forallr
r
j2 j» r
hj& r
hkjÒ r
j2 j» r¡
hX Intr¢
r£
j2 j» r¤
hkjÒ r¥
hkjÒ r¦
j2 j» r§
j© jÎ r¨
j j® r©
j2 j» rª
hkjN r«
hkjA r¬
j2 j» r
hj& r®
j2 j» r¯
hkjÓ r°
hkjÓ r±
j2 j» r²
hj& r³
j2 j» r´
hkjN rµ
j2 j» r¶
hX lengthr·
r¸
j© jÎ r¹
hX resrº
r»
j© jÐ r¼
j© jÐ r½
j2 j» r¾
hkjA r¿
hkjA rÀ
hkjê rÁ
j2 j» rÂ
j© jÎ rÃ
hX itemAtrÄ
rÅ
j© jÎ rÆ
hX resrÇ
rÈ
j© jú rÉ
j2 j» rÊ
hj& rË
j© jÐ rÌ
j2 j» rÍ
hkjA rÎ
hkjA rÏ
j2 j» rÐ
hX oldrÑ
rÒ
j© jÎ rÓ
hX itemAtrÔ
rÕ
j© jÎ rÖ
hX tailr×
rØ
j© jú rÙ
j2 j» rÚ
hj& rÛ
hkjÎ rÜ
j j® rÝ
j© jÐ rÞ
j© jÐ rß
j© jÐ rà
j© jÐ rá
j2 j» râ
j X /*rã
rä
j X POST3 rå
ræ
j X */rç
rè
j2 j ré
j2 X rê
rë
hX ensuresrì
rí
j2 j» rî
hX itemAtrï
rð
j© jÎ rñ
hX resrò
ró
j© jú rô
j2 j» rõ
j jK rö
j© jÐ r÷
j2 j» rø
hkjA rù
hkjA rú
j2 j» rû
hX valrü
rý
j2 j rþ
j© jÀ rÿ
j2 j r j2 X r r hX varr r j2 j» r hX
tmp_optionr r hkjÒ r j2 j» r hX Refr
r j2 j r j2 j r
j2 X r r hX resr r j2 j» r hkjÒ r hkjA r j2 j» r hX newr r j© jÎ r hX Node__vr r j© jú r j2 j» r hX
Node__nextr r j© jÐ r j2 j r j2 X r! r" hX resr# r$ j© jö r% hX Node__vr& r' j2 j» r( hkjÒ r) hkjA r* j2 j» r+ hX valr, r- j2 j r. j2 j r/ j2 X r0 r1 hX
tmp_optionr2 r3 j2 j» r4 hkjÒ r5 hkjA r6 j2 j» r7 hX newr8 r9 j© jÎ r: hX Option__Node__Some__1r; r< j© jÐ r= j2 j r> j2 X r? r@ hX
tmp_optionrA rB j© jö rC hX Option__Node__Some__1rD rE j2 j» rF hkjÒ rG hkjA rH j2 j» rI hX tailrJ rK j2 j rL j2 X rM rN hX assumerO rP j2 j» rQ hX variantOfOptionNoderR rS j© jÎ rT hX
tmp_optionrU rV j© jÐ rW j2 j» rX hkjA rY hkjA rZ j2 j» r[ hX Option__Node__Somer\ r] j© jÎ r^ j© jÐ r_ j2 j r` j2 j ra j2 X rb rc hX resrd re j© jö rf hX
Node__nextrg rh j2 j» ri hkjÒ rj hkjA rk j2 j» rl hX
tmp_optionrm rn j2 j ro j2 j rp j2 X rq rr hX assertrs rt j2 j» ru hX accrv rw j© jÎ rx hX validNodery rz j© jÎ r{ hX tailr| r} j© jÐ r~ j© jÐ r j2 j r j2 X r r hX foldr r j2 j» r
hX accr r j© jÎ r hX validOptionr r j© jÎ r hX resr r j© jö r hX
Node__nextr r j© jÐ r j© jÐ r j2 j r j2 X r r hX foldr r j2 j» r hX accr r j© jÎ r hX validNoder r j© jÎ r hX resr r j© jÐ r¡ j© jÐ r¢ j2 j r£ j© j5 r¤ j2 j r¥ j2 j r¦ hX methodr§ r¨ j2 j» r© hX length_iterrª r« j© jÎ r¬ hX listr r® hkjÒ r¯ j2 j» r° hX Refr± r² j© jÐ r³ j2 j» r´ hX returnsrµ r¶ j2 j» r· j© jÎ r¸ hX lenr¹ rº hkjÒ r» j2 j» r¼ hX Intr½ r¾ j© jÐ r¿ j2 j rÀ j2 X rÁ r hX requiresrà rÄ j2 j» rÅ hX accrÆ rÇ j© jÎ rÈ hX validNoderÉ rÊ j© jÎ rË hX listrÌ rÍ j© jÐ rÎ j© jú rÏ j2 j» rÐ hX writerÑ rÒ j© jÐ rÓ j2 j rÔ j2 X rÕ rÖ hX ensuresr× rØ j2 j» rÙ hX oldrÚ rÛ j© jÎ rÜ hX lengthrÝ rÞ j© jÎ rß hX listrà rá j© jÐ râ j© jÐ rã j2 j» rä hkjA rå hkjA ræ j2 j» rç hX lenrè ré j2 j rê j2 X rë rì ji X* // TODO we have to preserve this property
rí rî j2 X rï rð ji X // ensures acc(validNode(list))
rñ rò j© jÀ ró j2 j rô j2 X rõ rö hX varr÷ rø j2 j» rù hX currrú rû hkjÒ rü j2 j» rý hX Refrþ rÿ j2 j» r hkjÒ r hkjA r j2 j» r hX listr r j2 j r j2 X r r hX varr r
j2 j» r hX tmpr r
hkjÒ r j2 j» r hX Refr r j2 j» r hkjÒ r hkjA r j2 j» r hX listr r j2 j r j2 j r j2 X r r hX lenr r j2 j» r hkjÒ r hkjA r j2 j» r! j j® r" j2 j r# j2 j r$ j2 X r% r& hX unfoldr' r( j2 j» r) hX accr* r+ j© jÎ r, hX validNoder- r. j© jÎ r/ hX currr0 r1 j© jÐ r2 j© jÐ r3 j2 j r4 j2 X r5 r6 hX unfoldr7 r8 j2 j» r9 hX accr: r; j© jÎ r< hX validOptionr= r> j© jÎ r? hX currr@ rA j© jö rB hX
Node__nextrC rD j© jÐ rE j© jÐ rF j2 j rG j2 X rH rI hX whilerJ rK j© jÎ rL hX variantOfOptionNoderM rN j© jÎ rO hX currrP rQ j© jö rR hX
Node__nextrS rT j© jÐ rU j2 j» rV hkjA rW hkjA rX j2 j» rY hX Option__Node__SomerZ r[ j© jÎ r\ j© jÐ r] j© jÐ r^ j2 j r_ j2 X r` ra hX invariantrb rc j2 j» rd hX accre rf j© jÎ rg hX currrh ri j© jö rj hX Node__vrk rl j© jÐ rm j2 j rn j2 X ro rp hX invariantrq rr j2 j» rs hX accrt ru j© jÎ rv hX currrw rx j© jö ry hX
Node__nextrz r{ j© jÐ r| j2 j r} j2 X r~ r hX invariantr r j2 j» r j© jÎ r hX variantOfOptionNoder r
j© jÎ r hX currr r j© jö r hX
Node__nextr r j© jÐ r j2 j» r hkjA r hkjA r j2 j» r hX Option__Node__Somer r j© jÎ r j© jÐ r j2 j» r hkjA r hkjA r hkjê r j2 j» r j© jÎ r j2 j r j2 X r r hX accr r j© jÎ r hX currr¡ r¢ j© jö r£ hX
Node__nextr¤ r¥ j© jö r¦ hX Option__Node__Some__1r§ r¨ j© jú r© j2 j» rª hX writer« r¬ j© jÐ r j2 j» r® hkjÓ r¯ hkjÓ r° j2 j r± j2 X r² r³ hX accr´ rµ j© jÎ r¶ hX validNoder· r¸ j© jÎ r¹ hX currrº r» j© jö r¼ hX
Node__nextr½ r¾ j© jö r¿ hX Option__Node__Some__1rÀ rÁ j© jÐ r j© jÐ rà j2 j rÄ j2 X rÅ rÆ j© jÐ rÇ j© jÐ rÈ j2 j rÉ j2 X rÊ rË hX invariantrÌ rÍ j2 j» rÎ j© jÎ rÏ hX variantOfOptionNoderÐ rÑ j© jÎ rÒ hX currrÓ rÔ j© jö rÕ hX
Node__nextrÖ r× j© jÐ rØ j2 j» rÙ hkjA rÚ hkjA rÛ j2 j» rÜ hX Option__Node__SomerÝ rÞ j© jÎ rß j© jÐ rà j2 j» rá hkjA râ hkjA rã hkjê rä j2 j» rå hX lenræ rç j2 j» rè hkj ré j2 j» rê hX lengthrë rì j© jÎ rí hX currrî rï j© jö rð hX
Node__nextrñ rò j© jö ró hX Option__Node__Some__1rô rõ j© jÐ rö j2 j» r÷ hkjA rø hkjA rù j2 j» rú hX oldrû rü j© jÎ rý hX lengthrþ rÿ j© jÎ r
hX listr
r
j© jÐ r
j© jÐ r
j© jÐ r
j2 j r
j2 X r
r
hX invariantr
r
j2 j» r
j© jÎ r
hX variantOfOptionNoder
r
j© jÎ r
hX currr
r
j© jö r
hX
Node__nextr
r
j© jÐ r
j2 j» r
hkjA r
hkjA r
j2 j» r
hX Option__Node__Noner
r
j© jÎ r
j© jÐ r
j2 j» r
hkjA r
hkjA r
hkjê r!
j2 j» r"
hX lenr#
r$
j2 j» r%
hkjA r&
hkjA r'
j2 j» r(
hX oldr)
r*
j© jÎ r+
hX lengthr,
r-
j© jÎ r.
hX listr/
r0
j© jÐ r1
j© jÐ r2
j© jÐ r3
j2 j r4
j2 X r5
r6
j© jÀ r7
j2 j r8
j2 X r9
r:
hX assertr;
r<
j2 j» r=
hX accr>
r?
j© jÎ r@
hX validNoderA
rB
j© jÎ rC
hX currrD
rE
j© jö rF
hX
Node__nextrG
rH
j© jö rI
hX Option__Node__Some__1rJ
rK
j© jÐ rL
j© jÐ rM
j2 j rN
j2 X rO
rP
hX lenrQ
rR
j2 j» rS
hkjÒ rT
hkjA rU
j2 j» rV
hX lenrW
rX
j2 j» rY
hkj rZ
j2 j» r[
j j® r\
j2 j r]
j2 X r^
r_
hX tmpr`
ra
j2 j» rb
hkjÒ rc
hkjA rd
j2 j» re
hX currrf
rg
j2 j rh
j2 X ri
rj
hX currrk
rl
j2 j» rm
hkjÒ rn
hkjA ro
j2 j» rp
hX currrq
rr
j© jö rs
hX
Node__nextrt
ru
j© jö rv
hX Option__Node__Some__1rw
rx
j2 j ry
j2 X rz
r{
hX unfoldr|
r}
j2 j» r~
hX accr
r
j© jÎ r
hX validNoder
r
j© jÎ r
hX currr
r
j© jÐ r
j© jÐ r
j2 j r
j2 X r
r
hX unfoldr
r
j2 j» r
hX accr
r
j© jÎ r
hX validOptionr
r
j© jÎ r
hX currr
r
j© jö r
hX
Node__nextr
r
j© jÐ r
j© jÐ r
j2 j r
j2 X r
r
j© j5 r
j2 j r
j© j5 r¡
j2 j r¢
j2 j r£
hX methodr¤
r¥
j2 j» r¦
hX t1r§
r¨
j© jÎ r©
j© jÐ rª
j2 j r«
j© jÀ r¬
j2 j r
j2 X r®
r¯
hX varr°
r±
j2 j» r²
hX lr³
r´
hkjÒ rµ
j2 j» r¶
hX Refr·
r¸
j2 j r¹
j2 j rº
j2 X r»
r¼
hj³
r½
j2 j» r¾
hkjÒ r¿
hkjA rÀ
j2 j» rÁ
hX newrÂ
rÃ
j© jÎ rÄ
hX Node__vrÅ
rÆ
j© jú rÇ
j2 j» rÈ
hX
Node__nextrÉ
rÊ
j© jÐ rË
j2 j rÌ
j2 X rÍ
rÎ
hj³
rÏ
j© jö rÐ
hX
Node__nextrÑ
rÒ
j2 j» rÓ
hkjÒ rÔ
hkjA rÕ
j2 j» rÖ
hX nullr×
rØ
j2 j rÙ
j2 X rÚ
rÛ
hj³
rÜ
j© jö rÝ
hX Node__vrÞ
rß
j2 j» rà
hkjÒ rá
hkjA râ
j2 j» rã
j j® rä
j2 j rå
j2 X ræ
rç
hX assumerè
ré
j2 j» rê
hX variantOfOptionNoderë
rì
j© jÎ rí
hj³
rî
j© jö rï
hX
Node__nextrð
rñ
j© jÐ rò
j2 j» ró
hkjA rô
hkjA rõ
j2 j» rö
hX Option__Node__Noner÷
rø
j© jÎ rù
j© jÐ rú
j2 j rû
j2 j rü
j2 X rý
rþ
hX foldrÿ
r j2 j» r hX validOptionr r j© jÎ r hj³
r j© jö r hX
Node__nextr r j© jÐ r j2 j r
j2 X r r hX foldr
r j2 j» r hX validNoder r j© jÎ r hj³
r j© jÐ r j2 j r j2 j r j2 X r r hX assertr r j2 j» r hX lengthr r j© jÎ r hj³
r j© jÐ r j2 j» r! hkjA r" hkjA r# j2 j» r$ j j® r% j2 j r& j2 X r' r( hX assertr) r* j2 j» r+ hX itemAtr, r- j© jÎ r. hj³
r/ j© jú r0 j2 j» r1 j jK r2 j© jÐ r3 j2 j» r4 hkjA r5 hkjA r6 j2 j» r7 j j® r8 j2 j r9 j2 j r: j2 X r; r< hX appendr= r> j© jÎ r? hj³
r@ j© jú rA j2 j» rB j X 7rC rD j© jÐ rE j2 j rF e(j2 X rG rH hX assertrI rJ j2 j» rK hX itemAtrL rM j© jÎ rN hj³
rO j© jú rP j2 j» rQ j j® rR j© jÐ rS j2 j» rT hkjA rU hkjA rV j2 j» rW j jC rX j2 j rY j2 X rZ r[ hX assertr\ r] j2 j» r^ hX itemAtr_ r` j© jÎ ra hj³
rb j© jú rc j2 j» rd j jK re j© jÐ rf j2 j» rg hkjA rh hkjA ri j2 j» rj j j® rk j2 j rl j2 X rm rn hX assertro rp j2 j» rq hX lengthrr rs j© jÎ rt hj³
ru j© jÐ rv j2 j» rw hkjA rx hkjA ry j2 j» rz j X 2r{ r| j2 j r} j2 j r~ j2 X r r hj³
r j2 j» r hkjÒ r hkjA r j2 j» r
hX prependr r j© jÎ r hj³
r j© jú r j2 j» r j X 10r r j© jÐ r j2 j r j2 X r r hX assertr r j2 j» r hX itemAtr r j© jÎ r hj³
r j© jú r j2 j» r j j{ r j© jÐ r j2 j» r hkjA r hkjA r j2 j» r j jC r¡ j2 j r¢ j2 X r£ r¤ hX assertr¥ r¦ j2 j» r§ hX itemAtr¨ r© j© jÎ rª hj³
r« j© jú r¬ j2 j» r j j® r® j© jÐ r¯ j2 j» r° hkjA r± hkjA r² j2 j» r³ j j® r´ j2 j rµ j2 X r¶ r· hX assertr¸ r¹ j2 j» rº hX itemAtr» r¼ j© jÎ r½ hj³
r¾ j© jú r¿ j2 j» rÀ j jK rÁ j© jÐ r j2 j» rà hkjA rÄ hkjA rÅ j2 j» rÆ j X 10rÇ rÈ j2 j rÉ j2 X rÊ rË hX assertrÌ rÍ j2 j» rÎ hX lengthrÏ rÐ j© jÎ rÑ hj³
rÒ j© jÐ rÓ j2 j» rÔ hkjA rÕ hkjA rÖ j2 j» r× j X 3rØ rÙ j2 j rÚ j2 j rÛ j2 X rÜ rÝ ji X //assert sum(l) == 18
rÞ rß j© j5 rà j2 j rá j2 j râ hX methodrã rä j2 j» rå hX t2ræ rç j© jÎ rè hj³
ré hkjÒ rê j2 j» rë hX Refrì rí j© jÐ rî j2 j» rï hX returnsrð rñ j2 j» rò j© jÎ ró hX resrô rõ hkjÒ rö j2 j» r÷ hX Refrø rù j© jÐ rú j2 j rû j2 X rü rý hX requiresrþ rÿ j2 j» r hX accr r j© jÎ r hX validNoder r j© jÎ r hj³
r j© jÐ r j© jú r j2 j» r
hX writer r j© jÐ r
j2 j r j2 X r r hX ensuresr r j2 j» r hX accr r j© jÎ r hX validNoder r j© jÎ r hX resr r j© jÐ r j© jú r j2 j» r hX writer r j© jÐ r! j2 j r" j2 X r# r$ hX ensuresr% r& j2 j» r' hX lengthr( r) j© jÎ r* hX resr+ r, j© jÐ r- j2 j» r. hkjê r/ j2 j» r0 hX oldr1 r2 j© jÎ r3 hX lengthr4 r5 j© jÎ r6 hj³
r7 j© jÐ r8 j© jÐ r9 j2 j r: j© jÀ r; j2 j r< j2 X r= r> hX resr? r@ j2 j» rA hkjÒ rB hkjA rC j2 j» rD hX prependrE rF j© jÎ rG hj³
rH j© jú rI j2 j» rJ j X 10rK rL j© jÐ rM j2 j rN j© j5 rO j2 j rP e.