( The Bequest Globe ) |00 @System/vector $2 &expansion $2 &wst $1 &rst $1 &metadata $2 &r $2 &g $2 &b $2 &debug $1 &state $1 |a0 @File/vector $2 &success $2 &stat $2 &delete $1 &append $1 &name $2 &length $2 &read $2 &write $2 |b0 @File2/vector $2 &success $2 &stat $2 &delete $1 &append $1 &name $2 &length $2 &read $2 &write $2 |1000 @diary/buflen |1000 @incoming/buflen |2000 @lexicon/buflen |000 @path/buf $30 @term/name $16 &parent $16 &diary $6 &pict $4 &entry $20 &cap $1 |100 @on-reset ( -> ) #800f DEO journal/ sitemap/ lexicon/ sitemap/ diary/ lexicon/ diaries/ BRK @term/ ( -- ) [ LIT2 -&cap -&name ] &>l #00 OVR STZ INC GTHk ?&>l POP2 JMP2r @term/ ( name* -- ) [ LIT2 -&name _&name-ptr ] STR &>wn LDAk DUP ?{ POP POP2 JMP2r } [ LIT2 00 &name-ptr -&name ] INCk ,&name-ptr STR STZ2 INC2 !&>wn @term/ ( name* -- ) [ LIT2 -&parent _&parent-ptr ] STR &>wp LDAk DUP ?{ POP POP2 JMP2r } [ LIT2 00 &parent-ptr -&parent ] INCk ,&parent-ptr STR STZ2 INC2 !&>wp @term/ ( diary* -- ) INC2k ORA ?{ POP2 JMP2r } [ LIT2 -&diary _&diary-ptr ] STR &>wd LDAk DUP ?{ POP POP2 JMP2r } [ LIT2 00 &diary-ptr -&diary ] INCk ,&diary-ptr STR STZ2 INC2 !&>wd ( @|Html ) %html/ { ;ascii/line .File2/write DEO2 } %html/ { ;ascii/space .File2/write DEO2 } %html/ ( addr* -- ) { DUP2 str/tail OVR2 SUB2 html/ } %html/ ( src* length* -- ) { .File2/length DEO2 .File2/write DEO2 #0001 .File2/length DEO2 } %html/ ( body* attr* -- ) { ;ascii/space .File2/write DEO2 html/ ;ascii/equal .File2/write DEO2 [ LIT2r =ascii/quote LITr -File2/write ] DEO2kr html/ DEO2r } %html/ ( body* attr* -- ) { ;ascii/space .File2/write DEO2 html/ ;ascii/equal .File2/write DEO2 [ LIT2r =ascii/quote LITr -File2/write ] DEO2kr html/ html/ DEO2r } %html/ ( tag* -- ) { ;ascii/lt .File2/write DEO2 html/ ;ascii/gt .File2/write DEO2 } %html/ ( class* tag* -- ) { ;ascii/lt .File2/write DEO2 html/ ;attr/class html/ ;ascii/gt .File2/write DEO2 } %html/ ( tag* -- ) { ;ascii/lt .File2/write DEO2 ;ascii/slash .File2/write DEO2 html/ ;ascii/gt .File2/write DEO2 } %html/ ( str* tag* -- ) { DUP2 html/ SWP2 html/ html/ } %html/ ( str* -- ) { path/make path/length html/ } @html/ ( str* -- ) ;&l-a html/ DUP2 html/ ;ascii/quote .File2/write DEO2 ;ascii/gt .File2/write DEO2 html/ ;tag/a html/ JMP2r &l-a " $1 @ ( name* -- name* ) DUP2 ;og/title / DUP2 path/make ;path/abs-site ;og/url / ;term/diary LDAk ?{ POP2 ;path/default-image ;og/image !/ } substr3/make ;path/abs-diary ;og/image ( >> ) & ( content* property* -- ) ;ascii/lt .File2/write DEO2 ;tag/meta html/ ;attr/property html/ ;attr/content html/ ;ascii/slash .File2/write DEO2 ;ascii/gt .File2/write DEO2 JMP2r & ( content* property* -- ) ;ascii/lt .File2/write DEO2 ;tag/meta html/ ;attr/property html/ ;attr/content html/ ;ascii/slash .File2/write DEO2 ;ascii/gt .File2/write DEO2 JMP2r ( @|build ) %log/get-rune ( log* -- log* rune ) { DUP2 #0005 ADD2 LDA } %log/has-no-picture ( log* -- log* t ) { DUP2 #0006 ADD2 ;dict/no-picture str/cmp3 } %log/is-ignored ( log* -- log* t ) { log/get-rune [ LIT ". ] EQU } %log/is-unevent ( log* -- log* t ) { log/get-rune [ LIT "+ ] NEQ } %log/is-valid ( log* -- log* t ) { DUP2 #000a ADD2 lexicon/find #ffff NEQ2 } @diary/ ( name* -- ) ;&buf [ LIT2 &length $2 ] mem/ path-tmp-log/make .File/name DEO2 ;&buflen .File/length DEO2 ;&buf DUP2 .File/read DEO2 #0a00 str/ .File/success DEI2 ,&length STR2 JMP2r @diary/find ( -- diary* ) ;&buf &>wf log/has-no-picture ?{ JMP2r } str/cap LDAk ?&>wf POP2 #ffff JMP2r @diary/count ( -- count* ) [ LIT2r 0000 ] ;&buf &>wc log/has-no-picture ?{ INC2r } str/cap LDAk ?&>wc POP2 STH2r JMP2r @diary/ ( -- ) ;path/events .File2/name DEO2 [ LIT2 01 -File2/delete ] DEO ;header-txt html/ ;tag/p html/ #4000 .File/length DEO2 ;diary-path-pages/end ;diary-path-pages &>l-pages LDA2k workarea/make ( uncap ) ;workarea/buf #0a00 str/ &>l-logs DUP2 DUP2 #000a ADD2 path-tmp-log/make .File2/name DEO2 html/ html/ DUP2 #0900 str/ DUP2 diaries/ log/is-unevent ?{ events/ } log/is-valid ?{ DUP2 #000a ADD2 ;warnings/unknown warning/ } journal/ str/cap str/cap str/cap GTH2k ?&>l-logs POP2 POP2 INC2 INC2 GTH2k ?&>l-pages POP2 POP2 ;tag/p html/ JMP2r @diaries/get ( id* -- mask ) ( bit ) #01 OVR #07 AND #40 SFT SFT STH ( res ) #03 SFT2 ;&buf ADD2 LDA STHr AND JMP2r @diaries/ ( log* -- ) ( | validate photo id ) #0006 ADD2 str/to-dec ORAk ?{ POP2 JMP2r } DUP2 /get ?{ ( bit ) #01 OVR #07 AND #40 SFT SFT STH ( res ) #03 SFT2 ;&buf ADD2 LDAk STHr ORA ROT ROT STA JMP2r } ;warnings/duplicate warning/ dec/ #0a18 DEO JMP2r @diaries/next ( -- id* ) #0001 &>w DUP2 /get ?{ JMP2r } INC2 !&>w @diaries/ ( -- ) ;dict/available-txt str/ /next dec/ #0a18 DEO JMP2r ( @|Lexicon ) @lexicon/ ( -- ) ;path/lexicon .File/name DEO2 ;&buflen .File/length DEO2 ;&buf ( ) DUP2 .File/read DEO2 ( ) #0a00 !str/ @lexicon/ ( -- ) ;&buf &>wb INC2 INC2 page/build str/cap LDAk ?&>wb POP2 JMP2r @lexicon/find ( name* -- term* ) ,&t STR2 ;&buf &>w INC2 INC2 DUP2 [ LIT2 &t $2 ] str/cmp ?{ str/cap LDAk ?&>w POP2 #ffff } JMP2r @lexicon/ ( -- ) ;&buf ( range ) .File/success DEI2 ADD2k NIP2 SWP2 &>lp INC2 INC2 DUP2 DUP2 ,&src STR2 path-src-htm/make workarea/make &>ll LDA2k [ LIT2 "hr ] NEQ2 ?{ INC2k INC2 LDA2 [ LIT2 "ef ] NEQ2 ?{ [ LIT2 &src $2 ] OVR2 #0006 ADD2 link/ } } INC2 GTH2k ?&>ll POP2 POP2 ( next ) str/cap GTH2k ?&>lp POP2 POP2 JMP2r @lexicon/ ( addr* -- next* ) ( | take depth ) LDAk STH ( | name ) ;tag/li html/ INC2 INC2 DUP2 html/ ;tag/li html/ html/ str/cap ( | children ) LDAk STHkr INC NEQ ?{ ;tag/ul html/ / ;tag/ul html/ } ( | sibling ) LDAk STHkr EQU ?{ POPr JMP2r } POPr !/ @lexicon/find-parent ( term* -- parent* ) DUP2 #0002 SUB2 LDA chr/hex ?{ JMP2r } str/head INC2 LDAk chr/hex #01 SUB ,&depth STR ;&buf SWP2 &>lf #0001 SUB2 str/head INC2k LDA chr/hex [ LIT &depth $1 ] NEQ ?{ NIP2 INC2 INC2 INC2 JMP2r } LTH2k ?&>lf #0002 JMP2r ( @|Link ) %link/is-anchor ( path* -- path* t ) { LDAk [ LIT "# ] EQU } %link/is-relative ( path* -- path* t ) { LDAk [ LIT ". ] EQU } @link/is-external ( path* -- path* t ) LDA2k [ LIT2 "ht ] NEQ2 ?{ INC2k INC2 LDA2 [ LIT2 "tp ] EQU2 JMP2r } #00 JMP2r @link/has-html-ext ( str* -- t ) LDA2k [ LIT2 ".h ] NEQ2 ?{ INC2 INC2 LDA2k [ LIT2 "tm ] NEQ2 ?{ INC2 INC2 LDA [ LIT "l ] EQU JMP2r } } POP2 #00 JMP2r @link/ ( src* link* -- src* link* ) #010f DEO ;dict/err-redlink str/ ;path-tmp-map/resbuf str/ ;dict/in str/ DUP2 !str/ @link/ ( src* link* -- ) link/is-relative ?{ link/is-anchor ?{ link/is-external ?{ path-tmp-map/make ( | handlers ) ;path-tmp-map/resbuf lexicon/find INC2 ORA ?{ / } /has-html-ext ?{ / } ;path-tmp-map/resbuf [ LIT2 20 "_ ] str/ ;path-tmp-map/res .File2/name DEO2 html/ html/ JMP2r } } } POP2 POP2 JMP2r ( @|Build ) @page/build ( name* -- name* ) DUP2 path-site/make .File2/name DEO2 ( | cleanup ) term/ DUP2 diary/ DUP2 incoming/ ( | verify orphans ) .File/success DEI2 ORA ?{ DUP2 ;warnings/orphan warning/ } ( | fill name ) DUP2 term/ DUP2 lexicon/find-parent term/ diary/find term/ ( recover ) #0001 .File2/length DEO2 ( | build ) ;dict/doctype html/ ;tag/html html/ ;tag/head html/ ;path/meta-head ;tag/title html/ ;dict/xxiivv-txt html/ ;dict/mdash-entity-txt html/ DUP2 html/ ;tag/title html/ ;tag/head html/ ;tag/body html/ ;path/meta-header / ;ascii/line .File2/write DEO2 ;tag/main html/ ;term/diary #01 html/ DUP2 / / / ;tag/main html/ ;path/meta-footer ;tag/body html/ ;tag/html html/ JMP2r @page/ ( name* -- name* ) ;tag/nav html/ DUP2 #0002 SUB2 LDA chr/hex STHk #00 EQU ?{ STHkr #02 LTH ?{ DUP2 lexicon/find-parent lexicon/find-parent / POP2 } DUP2 lexicon/find-parent / POP2 } POPr / ;tag/nav html/ JMP2r & ( name* -- name* ) ;tag/ul html/ ( stash depth ) DUP2k #0002 SUB2 LDA chr/hex STH ( start after ) str/cap &>w ( stop at sibling ) LDAk chr/hex STHkr EQU ?&end ( when depth+1 ) LDAk chr/hex STHkr INC NEQ ?{ ;tag/li html/ INC2k INC2 html/ ;tag/li html/ } INC2 INC2 str/cap LDAk ?&>w &end ( name* . depth -- ) POP2 POPr ;tag/ul html/ JMP2r @page/ ( name* -- name* ) ;tag/ul html/ ;diary/buf &>wbe log/is-unevent ?{ ;tag/li html/ ;tag/code html/ ( date ) DUP2 #0005 html/ ;tag/code html/ ;dict/mdash-entity-txt html/ ( name ) DUP2 #000a ADD2 str/walk html/ ;tag/li html/ } str/cap LDAk ?&>wbe POP2 ;tag/ul html/ JMP2r @page/ ( -- ) ;incoming/buf LDAk ?{ POP2 JMP2r } ;tag/p html/ ;dict/incoming-txt ;tag/b html/ [ LIT2r =&null ] &>wbi DUP2 STH2kr str/cmp ?{ DUP2 html/ ;ascii/space .File2/write DEO2 POP2r STH2k } str/cap LDAk ?&>wbi POP2 POP2r ;tag/p html/ JMP2r &null ffff @page/ ( term* -- term* ) DUP2 #0001 SUB2 LDA ( ) DUP [ LIT ", ] NEQ ?{ POP !module/ } diary/count #0002 LTH2 ?{ ;term/name ;warnings/hidden warning/ } ( ) DUP [ LIT "; ] NEQ ?{ POP !module/ } ( ) DUP [ LIT ". ] NEQ ?{ POP !module/ } ( ) [ LIT ": ] NEQ ?{ !module/ } JMP2r @module/ ( name* -- name* ) ;diary/buf &>wba log/has-no-picture ?{ DUP2 #0006 ADD2 ;term/pict str/cmp3 ?{ DUP2 #01 html/ } } str/cap LDAk ?&>wba POP2 JMP2r @module/ ( -- ) ( stash depth ) DUP2k #0002 SUB2 LDA chr/hex STH ( start after ) str/cap &>wbp ( stop at sibling ) LDAk chr/hex STHkr EQU ?&end1 ( when depth+1 ) LDAk chr/hex STHkr INC NEQ ?{ INC2k INC2 diary/ diary/find DUP2 #ffff EQU2 ?{ DUP2 #00 html/ } POP2 } INC2 INC2 str/cap LDAk ?&>wbp &end1 ( name* . depth -- ) POP2 POPr ( restore diary ) DUP2 !diary/ @module/ ( name* -- name* ) ( stash depth ) DUP2k #0002 SUB2 LDA chr/hex STH ( start after ) str/cap &>wbr ( stop at sibling ) LDAk chr/hex STHkr EQU ?&end2 ( when depth+1 ) LDAk chr/hex STHkr INC NEQ ?{ INC2 INC2 DUP2 } INC2 INC2 str/cap LDAk ?&>wbr &end2 ( name* . depth -- ) POP2 POPr JMP2r @module/ ( name* -- name* ) ( stash depth ) DUP2k #0002 SUB2 LDA chr/hex STH ( start after ) str/cap &>wbb ( stop at sibling ) LDAk chr/hex STHkr EQU ?&end3 ( when depth+1 ) LDAk chr/hex STHkr INC NEQ ?{ INC2k INC2 diary/ diary/find DUP2 #ffff EQU2 ?{ DUP2 #00 html/ } POP2 } ( when depth+1 ) LDAk chr/hex STHkr INC NEQ ?{ INC2 INC2 DUP2 } INC2 INC2 str/cap LDAk ?&>wbb &end3 ( name* . depth -- ) POP2 POPr JMP2r @ ( path* -- ) path-src-htm/make DUP2 .File/name DEO2 #8000 .File/length DEO2 [ LITr 00 ] ;workarea/buf &>s DUP2 .File/read DEO2 .File/success DEI2 ( ) DUP2 .File2/length DEO2 ( ) #0000 EQU2 ?{ DUP2 .File2/write DEO2 INCr !&>s } POP2 STHr ?{ DUP2 ;warnings/source error/ } POP2 ( restore ) #0001 .File2/length DEO2 JMP2r @incoming/ ( name* -- ) path-tmp-map/set-path2 .File/name DEO2 ;&buflen .File/length DEO2 ;&buf ( read ) DUP2 .File/read DEO2 ( swap ) #0a00 str/ ( clip ) #0000 ;&buf .File/success DEI2 ADD2 STA2 JMP2r ( @|Journal ) @sitemap/ ( -- ) ;path/sitemap .File2/name DEO2 [ LIT2 01 -File2/delete ] DEO JMP2r @sitemap/ ( -- ) [ LIT2 01 -File2/append ] DEO #0001 .File2/length DEO2 ( | lexicon ) ;tag/ul html/ lexicon/ ;path/sitemap .File2/name DEO2 ;lexicon/buf lexicon/ POP2 ;tag/ul html/ JMP2r @journal/ ( -- ) ;path/journal .File2/name DEO2 [ LIT2 01 -File2/delete ] DEO JMP2r @journal/ ( log* -- log* ) log/is-ignored ?{ log/has-no-picture ?{ [ LIT2 &len $1 20 ] GTH ?{ ,&len LDR INC ,&len STR ;path/journal .File2/name DEO2 DUP2 #00 !html/ } } } JMP2r @events/ ( log* -- log* ) DUP2 ( | add to events ) ;path/events .File2/name DEO2 ( year ) LDAk2 [ LIT2 &last "17 ] EQU2 ?{ ;tag/br html/ LDA2k ,&last STR2 } ( | date ) ;tag/code html/ DUP2 #0005 html/ ;tag/code html/ html/ str/cap ( | term ) DUP2 html/ ;dict/spacer html/ str/cap ( | name ) html/ ;tag/br html/ html/ JMP2r ( @|Buffers ) @workarea/make ( path* -- to* from* ) .File/name DEO2 #0000 ;&buf SUB2 .File/length DEO2 ;&buf .File/read DEO2 ( clip ) #0000 ;&buf .File/success DEI2 ADD2 STA2 ( range ) ;&buf .File/success DEI2 ADD2 ;&buf JMP2r @substr3/make ( diary* -- path* ) #0006 ADD2 ( > x00 ) LDAk ,&bufa STR ( > 0xx ) INC2 LDA2 ,&bufb STR2 ;&buf JMP2r &buf &bufa $1 &bufb $2 ".jpg $1 @substr/make ( name* -- buf* ) ;&buf ,&ptr STR2 ;&buf SWP2 &>w LDAk DUP #1f GTH ?{ POP POP2 JMP2r } #00 [ LIT2 &ptr =&buf ] INC2k ,&ptr STR2 STA2 INC2 !&>w &buf $30 @path/make ( name* -- buf* ) [ LIT2 -&buf _&ptr ] STR ;&buf SWP2 / ;ext/html & ( str* -- ) &>w LDAk DUP #1f GTH ?{ POP POP2 JMP2r } DUP #20 NEQ ?{ POP LIT "_ } [ LIT2 00 &ptr -&buf ] INCk ,&ptr STR STZ2 INC2 !&>w @path/length ( -- length* ) [ LIT2 00 _&ptr ] LDR .&buf SUB JMP2r @path-site/make ( name* -- buf* ) ;&buf ,&ptr STR2 ;&res SWP2 / ;ext/html & ( str* -- ) &>w LDAk DUP ?{ POP POP2 JMP2r } DUP #20 NEQ ?{ POP LIT "_ } #00 [ LIT2 &ptr =&buf ] INC2k ,&ptr STR2 STA2 INC2 !&>w &res [ "site/ &buf $30 ] @path-src-htm/make ( name* -- buf* ) ;&buf ,&ptr STR2 ;&res SWP2 / ;ext/htm & ( str* -- ) &>w LDAk DUP ?{ POP POP2 JMP2r } DUP #20 NEQ ?{ POP LIT "_ } #00 [ LIT2 &ptr =&buf ] INC2k ,&ptr STR2 STA2 INC2 !&>w &res [ "src/htm/ &buf $30 ] @path-tmp-log/make ( name* -- buf* ) ;&resbuf ,&ptr STR2 ;&res SWP2 &>w LDAk DUP #1f GTH ?{ POP POP2 JMP2r } DUP #20 NEQ ?{ POP LIT "_ } #00 [ LIT2 &ptr =&resbuf ] INC2k ,&ptr STR2 STA2 INC2 !&>w &res [ "tmp/log- &resbuf $30 ] @path-tmp-map/make ( str* -- buf* str* ) ;&resbuf ,&ptr STR2 &>w LDAk DUP #1f GTH ?{ &end POP JMP2r } DUP [ LIT ". ] EQU ?&end DUP [ LIT "_ ] NEQ ?{ POP #20 } / INC2 !&>w @path-tmp-map/set-path2 ( name* -- buf* ) ;&resbuf ,&ptr STR2 ;&res SWP2 &>w2 LDAk DUP ?{ POP POP2 JMP2r } DUP #20 NEQ ?{ POP LIT "_ } / INC2 !&>w2 @path-tmp-map/ ( c -- ) #00 [ LIT2 &ptr =&resbuf ] INC2k ,&ptr STR2 STA2 JMP2r &res [ "tmp/map- &resbuf $30 ] ( @|Stdlib ) @warning/ ( name* msg* -- ) LIT2 "- 18 DEOk DEO #2018 DEO ( msg ) str/ ( name ) str/ #0a18 DEO JMP2r @error/ ( name* msg* -> ) LIT2 "- 18 DEOk DEO #2018 DEO ( msg ) str/ ( name ) str/ #0a18 DEO #010f DEO BRK @str/to-dec ( str* -- val* ) [ LIT2r 0000 ] &>w LIT2r 000a MUL2r [ LITr 00 ] LDAk #30 SUB STH ADD2r INC2 LDAk ?&>w POP2 STH2r JMP2r @str/head ( addr* -- addr* ) &>wh LDAk ?{ JMP2r } #0001 SUB2 !&>wh @str/next ( str* -- next* ) &>wn LDAk #20 LTH ?{ INC2 !&>wn } INC2 JMP2r @str/walk ( str* -- next* ) &>ww INC2 LDAk #1f GTH ?&>ww INC2 JMP2r @str/cap ( str* -- end* ) &>wc LDAk ?{ INC2 JMP2r } INC2 !&>wc @str/tail ( str* -- end* ) &>w2 LDAk ?{ JMP2r } INC2 !&>w2 @str/cmp ( a* b* -- bool ) DUP2k /cap SWP2 SUB2 SWP2 !mem/cmp @str/cmp3 ( a* b* -- f ) STH2 LDAkr LDAk STHr NEQ ?{ INC2r INC2 } LDA2r LDA2 STH2r EQU2 JMP2r @str/ ( str* a b -- ) ,&b STR ,&a STR &>wsc LDAk [ LIT &a $1 ] NEQ ?{ STH2k [ LIT &b $1 ] STH2r STA } INC2 LDAk ?&>wsc POP2 JMP2r @str/ ( str* -- ) / #0a18 DEO JMP2r @str/ ( str* -- ) &>wp LDAk DUP ?{ POP POP2 JMP2r } #18 DEO INC2 !&>wp @dec/ ( dec* -- ) #000a SWP2 [ LITr ff ] &>get SWP2k DIV2k MUL2 SUB2 STH POP OVR2 DIV2 ORAk ?&>get POP2 POP2 &>put STHr INCk ?{ POP JMP2r } [ LIT "0 ] ADD #18 DEO !&>put @chr/hex ( c -- ) ( dec ) LIT "0 SUB DUP #09 GTH [ JMP JMP2r ] ( hex ) #27 SUB DUP #0f GTH [ JMP JMP2r ] ( err ) POP #ff JMP2r @mem/cmp ( a* length* b* -- t ) STH2 OVR2 ADD2 SWP2 &>l EQU2k ?{ LDAk LDAkr STHr NEQ ?{ INC2 INC2r !&>l } } POP2r EQU2 JMP2r @mem/ ( dst* len* -- ) ,&length STR2 ,&dst STR2 ;&mmu .System/expansion DEO2 JMP2r &mmu [ 00 &length $2 0000 &dst $2 00 ] ( @|Assets ) @header-txt [ 3c68 323e 5468 6520 4361 6c65 6e64 6172 2073 686f 7773 2075 7063 6f6d 696e 6720 616e 6420 7061 7374 2065 7665 6e74 7320 6672 6f6d 2074 6865 206a 6f75 726e 616c 2e3c 2f68 323e 0a0a 3c70 3e54 6869 7320 7769 6b69 2075 7365 7320 7468 6520 3c61 2068 7265 663d 2761 7276 656c 6965 2e68 746d 6c27 3e41 7276 656c 6965 3c2f 613e 2074 696d 6520 666f 726d 6174 2c20 7768 6572 6520 7468 6520 7965 6172 2069 7320 6469 7669 6465 6420 696e 2032 3620 7065 7269 6f64 732c 206f 7220 3c69 3e6d 6f6e 7468 733c 2f69 3e2c 206f 6620 3134 2064 6179 732c 206e 756d 6265 7265 6420 6672 6f6d 2041 2074 6f20 5a2e 2054 6865 2069 6e69 7469 616c 206c 6f67 6769 6e67 2079 6561 7220 616e 6420 7468 6520 4172 7665 6c69 6520 6461 7465 7320 636f 756e 7420 7570 7761 7264 2066 726f 6d20 3230 3036 2e20 596f 7520 6361 6e20 7365 6520 6d6f 7265 2075 7064 6174 6573 2069 6e20 7468 6520 3c61 2068 7265 663d 276a 6f75 726e 616c 2e68 746d 6c27 3e6a 6f75 726e 616c 3c2f 613e 2061 6e64 203c 6120 6872 6566 3d27 6e6f 772e 6874 6d6c 273e 6e6f 773c 2f61 3e20 7061 6765 733c 2f70 3e0a 0a00 ] @ascii/space 20 &line 0a < "< > "> &equal "= "e "" &slash "/ @tag/html "html $1 &head "head $1 &meta "meta $1 &title "title $1 &body "body $1 &nav "nav $1 &main "main $1 &br "br $1 &p "p $1 &b "b $1 &ul "ul $1 &li "li $1 &a "a $1 &span "span $1 &code "code $1 &figure "figure $1 &figcaption "figcaption $1 @attr/class "class $1 &property "property $1 &content "content $1 @og/title "og:title $1 &image "og:image $1 &url "og:url $1 @ext/html ".html $1 &htm ".htm $1 @warnings/source "Source: 20 $1 &orphan "Orphan: 20 $1 &hidden "Hidden: 20 $1 &duplicate "Duplicate 20 "diary: 20 $1 &unknown "Unknown 20 "diary: 20 $1 @path/lexicon "src/tables/lexicon $1 &sitemap "src/htm/sitemap.htm $1 &events "src/htm/events.htm $1 &journal "src/htm/journal.htm $1 &default-image "https://wiki.xxiivv.com/media/ "services/rss.jpg $1 &meta-head "meta_head $1 &meta-header "meta_header $1 &meta-footer "meta_footer $1 &abs-site "https://wiki.xxiivv.com/site/ $1 &abs-diary "https://wiki.xxiivv.com/media/diary/ $1 @diary-paths &3 "src/tables/diary/15-19.tsv $1 &2 "src/tables/diary/10-14.tsv $1 &1 "src/tables/diary/05-09.tsv $1 &0 "src/tables/diary/00-04.tsv $1 @diary-path-pages [ =diary-paths/3 =diary-paths/2 =diary-paths/1 =diary-paths/0 ] &end @dict/xxiivv-txt "XXIIVV $1 &self-txt "self $1 &mdash-entity-txt 20 "— 20 $1 &parent-txt "parent $1 &doctype " $1 &no-picture "000 $1 &incoming-txt "incoming: 20 $1 &right-txt "right $1 &spacer 20 "— 20 $1 &available-txt ".. 20 "Available 20 "diary: 20 $1 &in 20 "in 20 $1 &err-overflow "!! 20 "Overflow: 20 $1 &err-redlink "!! 20 "Redlink: 20 $1 ( @|memory ) @diaries/buf $100 @lexicon/buf $&buflen @diary/buf $&buflen @incoming/buf $&buflen @workarea/buf