| ofs | hex dump | ascii | 
|---|
| 0000 |  61 2d 32 30 32 31 30 39 32 39 2e 31 35 31 30 2f    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | a-20210929.1510/................ | 
| 0020 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 0040 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 0060 |  00 00 00 00 30 30 30 30 37 35 35 00 30 30 30 30    30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30  | ....0000755.0000000.0000000.0000 | 
| 0080 |  30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 30    30 30 30 00 30 31 31 32 33 30 00 20 35 00 00 00  | 0000000.00000000000.011230..5... | 
| 00a0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 00c0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 00e0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 0100 |  00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | .ustar...root................... | 
| 0120 |  00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | .........root................... | 
| 0140 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 0160 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 0180 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 01a0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 01c0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 01e0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 0200 |  61 2d 32 30 32 31 30 39 32 39 2e 31 35 31 30 2f    61 2d 70 6b 67 2e 65 6c 00 00 00 00 00 00 00 00  | a-20210929.1510/a-pkg.el........ | 
| 0220 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 0240 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 0260 |  00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30    30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30  | ....0000644.0000000.0000000.0000 | 
| 0280 |  30 30 30 30 36 33 32 00 30 30 30 30 30 30 30 30    30 30 30 00 30 31 32 35 35 32 00 20 30 00 00 00  | 0000632.00000000000.012552..0... | 
| 02a0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 02c0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 02e0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 0300 |  00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | .ustar...root................... | 
| 0320 |  00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | .........root................... | 
| 0340 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 0360 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 0380 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 03a0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 03c0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 03e0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 0400 |  3b 3b 20 2d 2a 2d 20 6e 6f 2d 62 79 74 65 2d 63    6f 6d 70 69 6c 65 3a 20 74 3b 20 6c 65 78 69 63  | ;;.-*-.no-byte-compile:.t;.lexic | 
| 0420 |  61 6c 2d 62 69 6e 64 69 6e 67 3a 20 6e 69 6c 20    2d 2a 2d 0a 28 64 65 66 69 6e 65 2d 70 61 63 6b  | al-binding:.nil.-*-.(define-pack | 
| 0440 |  61 67 65 20 22 61 22 20 22 32 30 32 31 30 39 32    39 2e 31 35 31 30 22 0a 20 20 22 41 73 73 6f 63  | age."a"."20210929.1510"..."Assoc | 
| 0460 |  69 61 74 69 76 65 20 64 61 74 61 20 73 74 72 75    63 74 75 72 65 20 66 75 6e 63 74 69 6f 6e 73 2e  | iative.data.structure.functions. | 
| 0480 |  22 0a 20 20 27 28 28 65 6d 61 63 73 20 22 32 35    22 29 29 0a 20 20 3a 75 72 6c 20 22 68 74 74 70  | "...'((emacs."25"))...:url."http | 
| 04a0 |  73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 70    6c 65 78 75 73 2f 61 2e 65 6c 22 0a 20 20 3a 63  | s://github.com/plexus/a.el"...:c | 
| 04c0 |  6f 6d 6d 69 74 20 22 39 61 64 32 64 31 38 32 35    32 62 37 32 39 31 37 34 66 65 32 32 65 64 30 62  | ommit."9ad2d18252b729174fe22ed0b | 
| 04e0 |  32 62 37 36 37 30 63 38 38 66 36 30 63 33 31 22    0a 20 20 3a 72 65 76 64 65 73 63 20 22 39 61 64  | 2b7670c88f60c31"...:revdesc."9ad | 
| 0500 |  32 64 31 38 32 35 32 62 37 22 0a 20 20 3a 6b 65    79 77 6f 72 64 73 20 27 28 22 6c 69 73 70 22 29  | 2d18252b7"...:keywords.'("lisp") | 
| 0520 |  0a 20 20 3a 61 75 74 68 6f 72 73 20 27 28 28 22    41 72 6e 65 20 42 72 61 73 73 65 75 72 22 20 2e  | ...:authors.'(("Arne.Brasseur".. | 
| 0540 |  20 22 61 72 6e 65 40 61 72 6e 65 62 72 61 73 73    65 75 72 2e 6e 65 74 22 29 29 0a 20 20 3a 6d 61  | ."arne@arnebrasseur.net"))...:ma | 
| 0560 |  69 6e 74 61 69 6e 65 72 73 20 27 28 28 22 41 72    6e 65 20 42 72 61 73 73 65 75 72 22 20 2e 20 22  | intainers.'(("Arne.Brasseur"..." | 
| 0580 |  61 72 6e 65 40 61 72 6e 65 62 72 61 73 73 65 75    72 2e 6e 65 74 22 29 29 29 0a 00 00 00 00 00 00  | arne@arnebrasseur.net")))....... | 
| 05a0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 05c0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 05e0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 0600 |  61 2d 32 30 32 31 30 39 32 39 2e 31 35 31 30 2f    61 2e 65 6c 00 00 00 00 00 00 00 00 00 00 00 00  | a-20210929.1510/a.el............ | 
| 0620 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 0640 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 0660 |  00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30    30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30  | ....0000644.0000000.0000000.0000 | 
| 0680 |  30 30 33 30 31 32 37 00 30 30 30 30 30 30 30 30    30 30 30 00 30 31 31 37 37 35 00 20 30 00 00 00  | 0030127.00000000000.011775..0... | 
| 06a0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 06c0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 06e0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 0700 |  00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | .ustar...root................... | 
| 0720 |  00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | .........root................... | 
| 0740 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 0760 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 0780 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 07a0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 07c0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 07e0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 0800 |  3b 3b 3b 20 61 2e 65 6c 20 2d 2d 2d 20 41 73 73    6f 63 69 61 74 69 76 65 20 64 61 74 61 20 73 74  | ;;;.a.el.---.Associative.data.st | 
| 0820 |  72 75 63 74 75 72 65 20 66 75 6e 63 74 69 6f 6e    73 20 20 20 2d 2a 2d 20 6c 65 78 69 63 61 6c 2d  | ructure.functions...-*-.lexical- | 
| 0840 |  62 69 6e 64 69 6e 67 3a 20 74 3b 20 2d 2a 2d 0a    0a 3b 3b 20 43 6f 70 79 72 69 67 68 74 20 28 43  | binding:.t;.-*-..;;.Copyright.(C | 
| 0860 |  29 20 32 30 31 37 2d 32 30 32 31 20 20 41 72 6e    65 20 42 72 61 73 73 65 75 72 0a 0a 3b 3b 20 41  | ).2017-2021..Arne.Brasseur..;;.A | 
| 0880 |  75 74 68 6f 72 3a 20 41 72 6e 65 20 42 72 61 73    73 65 75 72 20 3c 61 72 6e 65 40 61 72 6e 65 62  | uthor:.Arne.Brasseur.<arne@arneb | 
| 08a0 |  72 61 73 73 65 75 72 2e 6e 65 74 3e 0a 3b 3b 20    55 52 4c 3a 20 68 74 74 70 73 3a 2f 2f 67 69 74  | rasseur.net>.;;.URL:.https://git | 
| 08c0 |  68 75 62 2e 63 6f 6d 2f 70 6c 65 78 75 73 2f 61    2e 65 6c 0a 3b 3b 20 4b 65 79 77 6f 72 64 73 3a  | hub.com/plexus/a.el.;;.Keywords: | 
| 08e0 |  20 6c 69 73 70 0a 3b 3b 20 50 61 63 6b 61 67 65    2d 56 65 72 73 69 6f 6e 3a 20 32 30 32 31 30 39  | .lisp.;;.Package-Version:.202109 | 
| 0900 |  32 39 2e 31 35 31 30 0a 3b 3b 20 50 61 63 6b 61    67 65 2d 52 65 76 69 73 69 6f 6e 3a 20 39 61 64  | 29.1510.;;.Package-Revision:.9ad | 
| 0920 |  32 64 31 38 32 35 32 62 37 0a 3b 3b 20 50 61 63    6b 61 67 65 2d 52 65 71 75 69 72 65 73 3a 20 28  | 2d18252b7.;;.Package-Requires:.( | 
| 0940 |  28 65 6d 61 63 73 20 22 32 35 22 29 29 0a 0a 3b    3b 20 54 68 69 73 20 66 69 6c 65 20 69 73 20 6e  | (emacs."25"))..;;.This.file.is.n | 
| 0960 |  6f 74 20 70 61 72 74 20 6f 66 20 47 4e 55 20 45    6d 61 63 73 2e 0a 0a 3b 3b 20 54 68 69 73 20 66  | ot.part.of.GNU.Emacs...;;.This.f | 
| 0980 |  69 6c 65 20 69 73 20 66 72 65 65 20 73 6f 66 74    77 61 72 65 3b 20 79 6f 75 20 63 61 6e 20 72 65  | ile.is.free.software;.you.can.re | 
| 09a0 |  64 69 73 74 72 69 62 75 74 65 20 69 74 20 61 6e    64 2f 6f 72 20 6d 6f 64 69 66 79 0a 3b 3b 20 69  | distribute.it.and/or.modify.;;.i | 
| 09c0 |  74 20 75 6e 64 65 72 20 74 68 65 20 74 65 72 6d    73 20 6f 66 20 74 68 65 20 47 4e 55 20 47 65 6e  | t.under.the.terms.of.the.GNU.Gen | 
| 09e0 |  65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65    6e 73 65 20 61 73 20 70 75 62 6c 69 73 68 65 64  | eral.Public.License.as.published | 
| 0a00 |  20 62 79 0a 3b 3b 20 74 68 65 20 46 72 65 65 20    53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74  | .by.;;.the.Free.Software.Foundat | 
| 0a20 |  69 6f 6e 3b 20 65 69 74 68 65 72 20 76 65 72 73    69 6f 6e 20 33 2c 20 6f 72 20 28 61 74 20 79 6f  | ion;.either.version.3,.or.(at.yo | 
| 0a40 |  75 72 20 6f 70 74 69 6f 6e 29 0a 3b 3b 20 61 6e    79 20 6c 61 74 65 72 20 76 65 72 73 69 6f 6e 2e  | ur.option).;;.any.later.version. | 
| 0a60 |  0a 0a 3b 3b 20 54 68 69 73 20 66 69 6c 65 20 69    73 20 64 69 73 74 72 69 62 75 74 65 64 20 69 6e  | ..;;.This.file.is.distributed.in | 
| 0a80 |  20 74 68 65 20 68 6f 70 65 20 74 68 61 74 20 69    74 20 77 69 6c 6c 20 62 65 20 75 73 65 66 75 6c  | .the.hope.that.it.will.be.useful | 
| 0aa0 |  2c 0a 3b 3b 20 62 75 74 20 57 49 54 48 4f 55 54    20 41 4e 59 20 57 41 52 52 41 4e 54 59 3b 20 77  | ,.;;.but.WITHOUT.ANY.WARRANTY;.w | 
| 0ac0 |  69 74 68 6f 75 74 20 65 76 65 6e 20 74 68 65 20    69 6d 70 6c 69 65 64 20 77 61 72 72 61 6e 74 79  | ithout.even.the.implied.warranty | 
| 0ae0 |  20 6f 66 0a 3b 3b 20 4d 45 52 43 48 41 4e 54 41    42 49 4c 49 54 59 20 6f 72 20 46 49 54 4e 45 53  | .of.;;.MERCHANTABILITY.or.FITNES | 
| 0b00 |  53 20 46 4f 52 20 41 20 50 41 52 54 49 43 55 4c    41 52 20 50 55 52 50 4f 53 45 2e 20 20 53 65 65  | S.FOR.A.PARTICULAR.PURPOSE...See | 
| 0b20 |  20 74 68 65 0a 3b 3b 20 47 4e 55 20 47 65 6e 65    72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e  | .the.;;.GNU.General.Public.Licen | 
| 0b40 |  73 65 20 66 6f 72 20 6d 6f 72 65 20 64 65 74 61    69 6c 73 2e 0a 0a 3b 3b 20 59 6f 75 20 73 68 6f  | se.for.more.details...;;.You.sho | 
| 0b60 |  75 6c 64 20 68 61 76 65 20 72 65 63 65 69 76 65    64 20 61 20 63 6f 70 79 20 6f 66 20 74 68 65 20  | uld.have.received.a.copy.of.the. | 
| 0b80 |  47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c    69 63 20 4c 69 63 65 6e 73 65 0a 3b 3b 20 61 6c  | GNU.General.Public.License.;;.al | 
| 0ba0 |  6f 6e 67 20 77 69 74 68 20 47 4e 55 20 45 6d 61    63 73 3b 20 73 65 65 20 74 68 65 20 66 69 6c 65  | ong.with.GNU.Emacs;.see.the.file | 
| 0bc0 |  20 43 4f 50 59 49 4e 47 2e 20 20 49 66 20 6e 6f    74 2c 20 77 72 69 74 65 20 74 6f 0a 3b 3b 20 74  | .COPYING...If.not,.write.to.;;.t | 
| 0be0 |  68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65    20 46 6f 75 6e 64 61 74 69 6f 6e 2c 20 49 6e 63  | he.Free.Software.Foundation,.Inc | 
| 0c00 |  2e 2c 20 35 31 20 46 72 61 6e 6b 6c 69 6e 20 53    74 72 65 65 74 2c 20 46 69 66 74 68 20 46 6c 6f  | .,.51.Franklin.Street,.Fifth.Flo | 
| 0c20 |  6f 72 2c 0a 3b 3b 20 42 6f 73 74 6f 6e 2c 20 4d    41 20 30 32 31 31 30 2d 31 33 30 31 2c 20 55 53  | or,.;;.Boston,.MA.02110-1301,.US | 
| 0c40 |  41 2e 0a 0a 3b 3b 3b 20 43 6f 6d 6d 65 6e 74 61    72 79 3a 0a 0a 3b 3b 20 4c 69 62 72 61 72 79 20  | A...;;;.Commentary:..;;.Library. | 
| 0c60 |  66 6f 72 20 64 65 61 6c 69 6e 67 20 77 69 74 68    20 61 73 73 6f 63 69 61 74 69 76 65 20 64 61 74  | for.dealing.with.associative.dat | 
| 0c80 |  61 20 73 74 72 75 63 74 75 72 65 73 3a 20 61 6c    69 73 74 73 2c 20 68 61 73 68 2d 6d 61 70 73 2c  | a.structures:.alists,.hash-maps, | 
| 0ca0 |  20 61 6e 64 0a 3b 3b 20 76 65 63 74 6f 72 73 20    28 66 6f 72 20 76 65 63 74 6f 72 73 2c 20 74 68  | .and.;;.vectors.(for.vectors,.th | 
| 0cc0 |  65 20 69 6e 64 69 63 65 73 20 61 72 65 20 74 72    65 61 74 65 64 20 61 73 20 6b 65 79 73 29 2e 0a  | e.indices.are.treated.as.keys).. | 
| 0ce0 |  3b 3b 0a 3b 3b 20 54 68 69 73 20 6c 69 62 72 61    72 79 20 69 73 20 6c 61 72 67 65 6c 79 20 69 6e  | ;;.;;.This.library.is.largely.in | 
| 0d00 |  73 70 69 72 65 64 20 62 79 20 43 6c 6f 6a 75 72    65 2c 20 69 74 20 68 61 73 20 6d 61 6e 79 20 6f  | spired.by.Clojure,.it.has.many.o | 
| 0d20 |  66 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 73 0a    3b 3b 20 66 6f 75 6e 64 20 69 6e 20 63 6c 6f 6a  | f.the.functions.;;.found.in.cloj | 
| 0d40 |  75 72 65 2e 63 6f 72 65 2c 20 70 72 65 66 69 78    65 64 20 77 69 74 68 20 60 61 2d 27 2e 20 41 6c  | ure.core,.prefixed.with.`a-'..Al | 
| 0d60 |  6c 20 66 75 6e 63 74 69 6f 6e 73 20 74 72 65 61    74 20 74 68 65 69 72 0a 3b 3b 20 61 72 67 75 6d  | l.functions.treat.their.;;.argum | 
| 0d80 |  65 6e 74 73 20 61 73 20 69 6d 6d 75 74 61 62 6c    65 2c 20 73 6f 20 65 2e 67 2e 20 60 61 2d 61 73  | ents.as.immutable,.so.e.g..`a-as | 
| 0da0 |  73 6f 63 27 20 77 69 6c 6c 20 63 6c 6f 6e 65 20    74 68 65 20 68 61 73 68 2d 74 61 62 6c 65 20 6f  | soc'.will.clone.the.hash-table.o | 
| 0dc0 |  72 20 61 6c 69 73 74 0a 3b 3b 20 69 74 20 69 73    20 67 69 76 65 6e 2e 20 4b 65 65 70 20 74 68 69  | r.alist.;;.it.is.given..Keep.thi | 
| 0de0 |  73 20 69 6e 20 6d 69 6e 64 20 77 68 65 6e 20 77    72 69 74 69 6e 67 20 70 65 72 66 6f 72 6d 61 6e  | s.in.mind.when.writing.performan | 
| 0e00 |  63 65 20 73 65 6e 73 69 74 69 76 65 20 63 6f 64    65 2e 0a 0a 3b 3b 3b 20 43 6f 64 65 3a 0a 0a 28  | ce.sensitive.code...;;;.Code:..( | 
| 0e20 |  65 76 61 6c 2d 77 68 65 6e 2d 63 6f 6d 70 69 6c    65 20 28 72 65 71 75 69 72 65 20 27 73 75 62 72  | eval-when-compile.(require.'subr | 
| 0e40 |  2d 78 29 29 20 3b 3b 20 66 6f 72 20 74 68 69 6e    67 73 20 6c 69 6b 65 20 68 61 73 68 2d 74 61 62  | -x)).;;.for.things.like.hash-tab | 
| 0e60 |  6c 65 2d 6b 65 79 73 0a 0a 28 72 65 71 75 69 72    65 20 27 63 6c 2d 6c 69 62 29 0a 28 72 65 71 75  | le-keys..(require.'cl-lib).(requ | 
| 0e80 |  69 72 65 20 27 73 65 71 29 0a 0a 28 64 65 66 75    6e 20 61 2d 61 73 73 6f 63 69 61 74 69 76 65 2d  | ire.'seq)..(defun.a-associative- | 
| 0ea0 |  70 20 28 6f 62 6a 29 0a 20 20 28 6f 72 20 28 6e    6f 74 20 6f 62 6a 29 0a 20 20 20 20 20 20 28 68  | p.(obj)...(or.(not.obj).......(h | 
| 0ec0 |  61 73 68 2d 74 61 62 6c 65 2d 70 20 6f 62 6a 29    0a 20 20 20 20 20 20 28 61 6e 64 20 28 63 6f 6e  | ash-table-p.obj).......(and.(con | 
| 0ee0 |  73 70 20 6f 62 6a 29 0a 20 20 20 20 20 20 20 20    20 20 20 28 63 6f 6e 73 70 20 28 63 61 72 20 6f  | sp.obj)............(consp.(car.o | 
| 0f00 |  62 6a 29 29 29 29 29 0a 0a 28 64 65 66 61 6c 69    61 73 20 27 61 2d 61 73 73 6f 63 69 61 74 69 76  | bj)))))..(defalias.'a-associativ | 
| 0f20 |  65 3f 20 27 61 2d 61 73 73 6f 63 69 61 74 69 76    65 2d 70 29 0a 0a 28 64 65 66 75 6e 20 61 2d 67  | e?.'a-associative-p)..(defun.a-g | 
| 0f40 |  65 74 20 28 6d 61 70 20 6b 65 79 20 26 6f 70 74    69 6f 6e 61 6c 20 6e 6f 74 2d 66 6f 75 6e 64 29  | et.(map.key.&optional.not-found) | 
| 0f60 |  0a 20 20 22 52 65 74 75 72 6e 20 74 68 65 20 76    61 6c 75 65 20 4d 41 50 20 6d 61 70 70 65 64 20  | ..."Return.the.value.MAP.mapped. | 
| 0f80 |  74 6f 20 4b 45 59 2c 20 4e 4f 54 2d 46 4f 55 4e    44 20 6f 72 20 6e 69 6c 20 69 66 20 6b 65 79 20  | to.KEY,.NOT-FOUND.or.nil.if.key. | 
| 0fa0 |  6e 6f 74 20 70 72 65 73 65 6e 74 2e 22 0a 20 20    28 63 6f 6e 64 0a 20 20 20 3b 3b 20 6f 77 6e 20  | not.present."...(cond....;;.own. | 
| 0fc0 |  69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 20 69    6e 73 74 65 61 64 20 6f 66 20 61 6c 69 73 74 2d  | implementation.instead.of.alist- | 
| 0fe0 |  67 65 74 20 73 6f 20 6b 65 79 73 20 61 72 65 20    63 68 65 63 6b 65 64 20 77 69 74 68 20 65 71 75  | get.so.keys.are.checked.with.equ | 
| 1000 |  61 6c 0a 20 20 20 3b 3b 20 69 6e 73 74 65 61 64    20 6f 66 20 65 71 0a 20 20 20 28 28 6c 69 73 74  | al....;;.instead.of.eq....((list | 
| 1020 |  70 20 6d 61 70 29 0a 20 20 20 20 28 61 2d 2d 61    6c 69 73 74 2d 67 65 74 20 6d 61 70 20 6b 65 79  | p.map).....(a--alist-get.map.key | 
| 1040 |  20 6e 6f 74 2d 66 6f 75 6e 64 29 29 0a 0a 20 20    20 28 28 76 65 63 74 6f 72 70 20 6d 61 70 29 0a  | .not-found)).....((vectorp.map). | 
| 1060 |  20 20 20 20 28 69 66 20 28 61 2d 68 61 73 2d 6b    65 79 3f 20 6d 61 70 20 6b 65 79 29 0a 20 20 20  | ....(if.(a-has-key?.map.key).... | 
| 1080 |  20 20 20 20 20 28 61 72 65 66 20 6d 61 70 20 6b    65 79 29 0a 20 20 20 20 20 20 6e 6f 74 2d 66 6f  | .....(aref.map.key).......not-fo | 
| 10a0 |  75 6e 64 29 29 0a 0a 20 20 20 28 28 68 61 73 68    2d 74 61 62 6c 65 2d 70 20 6d 61 70 29 0a 20 20  | und)).....((hash-table-p.map)... | 
| 10c0 |  20 20 28 67 65 74 68 61 73 68 20 6b 65 79 20 6d    61 70 20 6e 6f 74 2d 66 6f 75 6e 64 29 29 0a 20  | ..(gethash.key.map.not-found)).. | 
| 10e0 |  20 20 28 74 20 28 75 73 65 72 2d 65 72 72 6f 72    20 22 4e 6f 74 20 61 73 73 6f 63 69 61 74 69 76  | ..(t.(user-error."Not.associativ | 
| 1100 |  65 3a 20 25 53 22 20 6d 61 70 29 29 29 29 0a 0a    28 64 65 66 75 6e 20 61 2d 2d 61 6c 69 73 74 2d  | e:.%S".map))))..(defun.a--alist- | 
| 1120 |  67 65 74 20 28 6d 61 70 20 6b 65 79 20 26 6f 70    74 69 6f 6e 61 6c 20 6e 6f 74 2d 66 6f 75 6e 64  | get.(map.key.&optional.not-found | 
| 1140 |  29 0a 20 20 22 4c 69 6b 65 20 61 6c 69 73 74 2d    67 65 74 2c 20 62 75 74 20 75 73 65 73 20 65 71  | )..."Like.alist-get,.but.uses.eq | 
| 1160 |  75 61 6c 20 69 6e 73 74 65 61 64 20 6f 66 20 65    71 20 74 6f 20 6c 6f 6f 6b 20 75 70 20 69 6e 20  | ual.instead.of.eq.to.look.up.in. | 
| 1180 |  6d 61 70 20 4d 41 50 20 6b 65 79 20 4b 45 59 2e    0a 52 65 74 75 72 6e 73 20 4e 4f 54 2d 46 4f 55  | map.MAP.key.KEY..Returns.NOT-FOU | 
| 11a0 |  4e 44 20 69 66 20 74 68 65 20 6b 65 79 20 69 73    20 6e 6f 74 20 70 72 65 73 65 6e 74 2c 20 6f 72  | ND.if.the.key.is.not.present,.or | 
| 11c0 |  20 60 6e 69 6c 27 20 69 66 0a 4e 4f 54 2d 46 4f    55 4e 44 20 69 73 20 6e 6f 74 20 73 70 65 63 69  | .`nil'.if.NOT-FOUND.is.not.speci | 
| 11e0 |  66 69 65 64 2e 22 0a 20 20 28 63 6c 2d 62 6c 6f    63 6b 20 6e 69 6c 0a 20 20 20 20 28 73 65 71 2d  | fied."...(cl-block.nil.....(seq- | 
| 1200 |  64 6f 73 65 71 20 28 70 61 69 72 20 6d 61 70 29    0a 20 20 20 20 20 20 28 77 68 65 6e 20 28 65 71  | doseq.(pair.map).......(when.(eq | 
| 1220 |  75 61 6c 20 28 63 61 72 20 70 61 69 72 29 20 6b    65 79 29 0a 20 20 20 20 20 20 20 20 28 63 6c 2d  | ual.(car.pair).key).........(cl- | 
| 1240 |  72 65 74 75 72 6e 20 28 63 64 72 20 70 61 69 72    29 29 29 29 0a 20 20 20 20 6e 6f 74 2d 66 6f 75  | return.(cdr.pair)))).....not-fou | 
| 1260 |  6e 64 29 29 0a 0a 28 64 65 66 75 6e 20 61 2d 67    65 74 2d 69 6e 20 28 6d 20 6b 73 20 26 6f 70 74  | nd))..(defun.a-get-in.(m.ks.&opt | 
| 1280 |  69 6f 6e 61 6c 20 6e 6f 74 2d 66 6f 75 6e 64 29    0a 20 20 22 4c 6f 6f 6b 20 75 70 20 61 20 76 61  | ional.not-found)..."Look.up.a.va | 
| 12a0 |  6c 75 65 20 69 6e 20 61 20 6e 65 73 74 65 64 20    61 73 73 6f 63 69 61 74 69 76 65 20 73 74 72 75  | lue.in.a.nested.associative.stru | 
| 12c0 |  63 74 75 72 65 2e 0a 0a 47 69 76 65 6e 20 61 20    64 61 74 61 20 73 74 72 75 63 74 75 72 65 20 4d  | cture...Given.a.data.structure.M | 
| 12e0 |  2c 20 61 6e 64 20 61 20 73 65 71 75 65 6e 63 65    20 6f 66 20 6b 65 79 73 20 4b 53 2c 20 66 69 6e  | ,.and.a.sequence.of.keys.KS,.fin | 
| 1300 |  64 20 74 68 65 0a 76 61 6c 75 65 20 66 6f 75 6e    64 20 62 79 20 75 73 69 6e 67 20 65 61 63 68 20  | d.the.value.found.by.using.each. | 
| 1320 |  6b 65 79 20 69 6e 20 74 75 72 6e 20 74 6f 20 64    6f 20 61 20 6c 6f 6f 6b 75 70 20 69 6e 20 74 68  | key.in.turn.to.do.a.lookup.in.th | 
| 1340 |  65 20 6e 65 78 74 0a 5c 22 6c 61 79 65 72 5c 22    2e 20 52 65 74 75 72 6e 20 60 6e 69 6c 27 20 69  | e.next.\"layer\"..Return.`nil'.i | 
| 1360 |  66 20 74 68 65 20 6b 65 79 20 69 73 20 6e 6f 74    20 70 72 65 73 65 6e 74 2c 20 6f 72 20 74 68 65  | f.the.key.is.not.present,.or.the | 
| 1380 |  20 4e 4f 54 2d 46 4f 55 4e 44 0a 76 61 6c 75 65    20 69 66 20 73 75 70 70 6c 69 65 64 2e 22 0a 20  | .NOT-FOUND.value.if.supplied.".. | 
| 13a0 |  20 28 6c 65 74 20 28 28 72 65 73 75 6c 74 20 6d    29 29 0a 20 20 20 20 28 63 6c 2d 62 6c 6f 63 6b  | .(let.((result.m)).....(cl-block | 
| 13c0 |  20 6e 69 6c 0a 20 20 20 20 20 20 28 73 65 71 2d    64 6f 73 65 71 20 28 6b 20 6b 73 29 0a 20 20 20  | .nil.......(seq-doseq.(k.ks).... | 
| 13e0 |  20 20 20 20 20 28 69 66 20 28 61 2d 68 61 73 2d    6b 65 79 3f 20 72 65 73 75 6c 74 20 6b 29 0a 20  | .....(if.(a-has-key?.result.k).. | 
| 1400 |  20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71    20 72 65 73 75 6c 74 20 28 61 2d 67 65 74 20 72  | ...........(setq.result.(a-get.r | 
| 1420 |  65 73 75 6c 74 20 6b 29 29 0a 20 20 20 20 20 20    20 20 20 20 28 63 6c 2d 72 65 74 75 72 6e 20 6e  | esult.k))...........(cl-return.n | 
| 1440 |  6f 74 2d 66 6f 75 6e 64 29 29 29 0a 20 20 20 20    20 20 72 65 73 75 6c 74 29 29 29 0a 0a 28 64 65  | ot-found))).......result)))..(de | 
| 1460 |  66 6d 61 63 72 6f 20 61 2d 67 65 74 2a 20 28 26    72 65 73 74 20 6b 65 79 73 29 0a 20 20 22 4c 6f  | fmacro.a-get*.(&rest.keys)..."Lo | 
| 1480 |  6f 6b 20 75 70 20 61 20 76 61 6c 75 65 20 69 6e    20 61 20 6e 65 73 74 65 64 20 61 73 73 6f 63 69  | ok.up.a.value.in.a.nested.associ | 
| 14a0 |  61 74 69 76 65 20 73 74 72 75 63 74 75 72 65 2e    0a 0a 4c 69 6b 65 20 61 2d 67 65 74 2d 69 6e 2c  | ative.structure...Like.a-get-in, | 
| 14c0 |  20 62 75 74 20 74 61 6b 65 73 20 74 68 65 20 6b    65 79 20 73 65 71 75 65 6e 63 65 20 4b 45 59 53  | .but.takes.the.key.sequence.KEYS | 
| 14e0 |  20 64 69 72 65 63 74 6c 79 20 61 73 20 76 61 72    61 72 67 0a 61 72 67 75 6d 65 6e 74 73 2c 20 72  | .directly.as.vararg.arguments,.r | 
| 1500 |  61 74 68 65 72 20 74 68 61 6e 20 61 73 20 61 20    73 69 6e 67 6c 65 20 73 65 71 75 65 6e 63 65 2e  | ather.than.as.a.single.sequence. | 
| 1520 |  22 0a 20 20 28 63 6c 2d 6c 61 62 65 6c 73 20 28    28 72 65 63 20 28 6b 65 79 73 29 0a 20 20 20 20  | "...(cl-labels.((rec.(keys)..... | 
| 1540 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 60    28 61 2d 67 65 74 20 2c 28 69 66 20 28 61 6e 64  | ...............`(a-get.,(if.(and | 
| 1560 |  20 28 63 6f 6e 73 70 20 28 63 64 72 20 6b 65 79    73 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20  | .(consp.(cdr.keys))............. | 
| 1580 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 28 63 64 64 72 20 6b  | .........................(cddr.k | 
| 15a0 |  65 79 73 29 29 0a 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | eys))........................... | 
| 15c0 |  20 20 20 20 20 20 28 72 65 63 20 28 63 64 72 20    6b 65 79 73 29 29 0a 20 20 20 20 20 20 20 20 20  | ......(rec.(cdr.keys)).......... | 
| 15e0 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 28 63 61 64 72 20 6b 65 79 73 29  | .....................(cadr.keys) | 
| 1600 |  29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 2c 28 63  | )............................,(c | 
| 1620 |  61 72 20 6b 65 79 73 29 29 29 29 0a 20 20 20 20    28 72 65 63 20 28 6e 72 65 76 65 72 73 65 20 6b  | ar.keys)))).....(rec.(nreverse.k | 
| 1640 |  65 79 73 29 29 29 29 0a 0a 28 64 65 66 75 6e 20    61 2d 68 61 73 2d 6b 65 79 20 28 63 6f 6c 6c 20  | eys))))..(defun.a-has-key.(coll. | 
| 1660 |  6b 29 0a 20 20 22 43 68 65 63 6b 20 69 66 20 74    68 65 20 67 69 76 65 6e 20 61 73 73 6f 63 69 61  | k)..."Check.if.the.given.associa | 
| 1680 |  74 69 76 65 20 63 6f 6c 6c 65 63 74 69 6f 6e 20    43 4f 4c 4c 20 68 61 73 20 61 20 63 65 72 74 61  | tive.collection.COLL.has.a.certa | 
| 16a0 |  69 6e 20 6b 65 79 20 4b 2e 22 0a 20 20 28 63 6f    6e 64 0a 20 20 20 28 28 6c 69 73 74 70 20 63 6f  | in.key.K."...(cond....((listp.co | 
| 16c0 |  6c 6c 29 20 20 20 20 20 20 20 20 20 28 6e 6f 74    20 28 65 71 20 28 61 2d 2d 61 6c 69 73 74 2d 67  | ll).........(not.(eq.(a--alist-g | 
| 16e0 |  65 74 20 63 6f 6c 6c 20 6b 20 3a 6e 6f 74 2d 66    6f 75 6e 64 29 20 3a 6e 6f 74 2d 66 6f 75 6e 64  | et.coll.k.:not-found).:not-found | 
| 1700 |  29 29 29 0a 20 20 20 28 28 76 65 63 74 6f 72 70    20 63 6f 6c 6c 29 20 20 20 20 20 20 20 28 61 6e  | )))....((vectorp.coll).......(an | 
| 1720 |  64 20 28 69 6e 74 65 67 65 72 70 20 6b 29 20 28    3c 20 2d 31 20 6b 20 28 6c 65 6e 67 74 68 20 63  | d.(integerp.k).(<.-1.k.(length.c | 
| 1740 |  6f 6c 6c 29 29 29 29 0a 20 20 20 28 28 68 61 73    68 2d 74 61 62 6c 65 2d 70 20 63 6f 6c 6c 29 20  | oll))))....((hash-table-p.coll). | 
| 1760 |  20 28 6e 6f 74 20 28 65 71 20 28 67 65 74 68 61    73 68 20 6b 20 63 6f 6c 6c 20 3a 6e 6f 74 2d 66  | .(not.(eq.(gethash.k.coll.:not-f | 
| 1780 |  6f 75 6e 64 29 20 3a 6e 6f 74 2d 66 6f 75 6e 64    29 29 29 0a 20 20 20 28 74 20 28 75 73 65 72 2d  | ound).:not-found)))....(t.(user- | 
| 17a0 |  65 72 72 6f 72 20 22 4e 6f 74 20 61 73 73 6f 63    69 61 74 69 76 65 3a 20 25 53 22 20 63 6f 6c 6c  | error."Not.associative:.%S".coll | 
| 17c0 |  29 29 29 29 0a 0a 28 64 65 66 61 6c 69 61 73 20    27 61 2d 68 61 73 2d 6b 65 79 3f 20 27 61 2d 68  | ))))..(defalias.'a-has-key?.'a-h | 
| 17e0 |  61 73 2d 6b 65 79 29 0a 0a 28 64 65 66 75 6e 20    61 2d 61 73 73 6f 63 2d 31 20 28 63 6f 6c 6c 20  | as-key)..(defun.a-assoc-1.(coll. | 
| 1800 |  6b 20 76 29 0a 20 20 22 4c 69 6b 65 20 60 61 2d    61 73 73 6f 63 27 2c 20 28 69 6e 20 43 4f 4c 4c  | k.v)..."Like.`a-assoc',.(in.COLL | 
| 1820 |  20 61 73 73 6f 63 20 4b 20 77 69 74 68 20 56 29    20 62 75 74 20 6f 6e 6c 79 20 74 61 6b 65 73 20  | .assoc.K.with.V).but.only.takes. | 
| 1840 |  61 20 73 69 6e 67 6c 65 20 6b 2d 76 20 70 61 69    72 2e 0a 49 6e 74 65 72 6e 61 6c 20 68 65 6c 70  | a.single.k-v.pair..Internal.help | 
| 1860 |  65 72 20 66 75 6e 63 74 69 6f 6e 2e 22 0a 20 20    28 63 6f 6e 64 0a 20 20 20 28 28 6c 69 73 74 70  | er.function."...(cond....((listp | 
| 1880 |  20 63 6f 6c 6c 29 0a 20 20 20 20 28 69 66 20 28    61 2d 68 61 73 2d 6b 65 79 3f 20 63 6f 6c 6c 20  | .coll).....(if.(a-has-key?.coll. | 
| 18a0 |  6b 29 0a 20 20 20 20 20 20 20 20 28 6d 61 70 63    61 72 20 28 6c 61 6d 62 64 61 20 28 65 6e 74 72  | k).........(mapcar.(lambda.(entr | 
| 18c0 |  79 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 28 69 66 20 28 65 71 75 61 6c 20  | y)...................(if.(equal. | 
| 18e0 |  28 63 61 72 20 65 6e 74 72 79 29 20 6b 29 0a 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | (car.entry).k).................. | 
| 1900 |  20 20 20 20 20 28 63 6f 6e 73 20 6b 20 76 29 0a    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | .....(cons.k.v)................. | 
| 1920 |  20 20 20 20 65 6e 74 72 79 29 29 0a 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6c 6c  | ....entry)).................coll | 
| 1940 |  29 0a 20 20 20 20 20 20 28 63 6f 6e 73 20 28 63    6f 6e 73 20 6b 20 76 29 20 63 6f 6c 6c 29 29 29  | ).......(cons.(cons.k.v).coll))) | 
| 1960 |  0a 0a 20 20 20 28 28 76 65 63 74 6f 72 70 20 63    6f 6c 6c 29 0a 20 20 20 20 28 69 66 20 28 61 6e  | .....((vectorp.coll).....(if.(an | 
| 1980 |  64 20 28 69 6e 74 65 67 65 72 70 20 6b 29 20 28    3e 3d 20 6b 20 30 29 29 0a 20 20 20 20 20 20 20  | d.(integerp.k).(>=.k.0))........ | 
| 19a0 |  20 28 69 66 20 28 3c 20 6b 20 28 6c 65 6e 67 74    68 20 63 6f 6c 6c 29 29 0a 20 20 20 20 20 20 20  | .(if.(<.k.(length.coll))........ | 
| 19c0 |  20 20 20 20 20 28 6c 65 74 20 28 28 63 6f 70 79    20 28 63 6f 70 79 2d 73 65 71 75 65 6e 63 65 20  | .....(let.((copy.(copy-sequence. | 
| 19e0 |  63 6f 6c 6c 29 29 29 0a 20 20 20 20 20 20 20 20    20 20 20 20 20 20 28 61 73 65 74 20 63 6f 70 79  | coll)))...............(aset.copy | 
| 1a00 |  20 6b 20 76 29 0a 20 20 20 20 20 20 20 20 20 20    20 20 20 20 63 6f 70 79 29 0a 20 20 20 20 20 20  | .k.v)...............copy)....... | 
| 1a20 |  20 20 20 20 28 76 63 6f 6e 63 61 74 20 63 6f 6c    6c 20 28 6d 61 6b 65 2d 6c 69 73 74 20 28 2d 20  | ....(vconcat.coll.(make-list.(-. | 
| 1a40 |  6b 20 28 6c 65 6e 67 74 68 20 63 6f 6c 6c 29 29    20 6e 69 6c 29 20 28 6c 69 73 74 20 76 29 29 29  | k.(length.coll)).nil).(list.v))) | 
| 1a60 |  29 29 0a 0a 20 20 20 28 28 68 61 73 68 2d 74 61    62 6c 65 2d 70 20 63 6f 6c 6c 29 0a 20 20 20 20  | )).....((hash-table-p.coll)..... | 
| 1a80 |  28 6c 65 74 20 28 28 63 6f 70 79 20 28 63 6f 70    79 2d 68 61 73 68 2d 74 61 62 6c 65 20 63 6f 6c  | (let.((copy.(copy-hash-table.col | 
| 1aa0 |  6c 29 29 29 0a 20 20 20 20 20 20 28 70 75 74 68    61 73 68 20 6b 20 76 20 63 6f 70 79 29 0a 20 20  | l))).......(puthash.k.v.copy)... | 
| 1ac0 |  20 20 20 20 63 6f 70 79 29 29 29 29 0a 0a 28 64    65 66 75 6e 20 61 2d 61 73 73 6f 63 20 28 63 6f  | ....copy))))..(defun.a-assoc.(co | 
| 1ae0 |  6c 6c 20 26 72 65 73 74 20 6b 76 73 29 0a 20 20    22 52 65 74 75 72 6e 20 61 6e 20 75 70 64 61 74  | ll.&rest.kvs)..."Return.an.updat | 
| 1b00 |  65 64 20 63 6f 6c 6c 65 63 74 69 6f 6e 20 43 4f    4c 4c 2c 20 61 73 73 6f 63 69 61 74 69 6e 67 20  | ed.collection.COLL,.associating. | 
| 1b20 |  76 61 6c 75 65 73 20 77 69 74 68 20 6b 65 79 73    20 4b 56 53 2e 22 0a 20 20 28 77 68 65 6e 20 28  | values.with.keys.KVS."...(when.( | 
| 1b40 |  6e 6f 74 20 28 63 6c 2d 65 76 65 6e 70 20 28 61    2d 63 6f 75 6e 74 20 6b 76 73 29 29 29 0a 20 20  | not.(cl-evenp.(a-count.kvs)))... | 
| 1b60 |  20 20 28 75 73 65 72 2d 65 72 72 6f 72 20 22 61    2d 61 73 73 6f 63 20 72 65 71 75 69 72 65 73 20  | ..(user-error."a-assoc.requires. | 
| 1b80 |  61 6e 20 65 76 65 6e 20 6e 75 6d 62 65 72 20 6f    66 20 61 72 67 75 6d 65 6e 74 73 21 22 29 29 0a  | an.even.number.of.arguments!")). | 
| 1ba0 |  20 20 28 73 65 71 2d 72 65 64 75 63 65 20 28 6c    61 6d 62 64 61 20 28 63 6f 6c 6c 20 6b 76 29 0a  | ..(seq-reduce.(lambda.(coll.kv). | 
| 1bc0 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 28 73 65 71 2d 6c 65 74 20 5b 6b 20 76 5d  | ..................(seq-let.[k.v] | 
| 1be0 |  20 6b 76 0a 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 28 61 2d 61 73 73 6f 63  | .kv.....................(a-assoc | 
| 1c00 |  2d 31 20 63 6f 6c 6c 20 6b 20 76 29 29 29 0a 20    20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65  | -1.coll.k.v)))...............(se | 
| 1c20 |  71 2d 70 61 72 74 69 74 69 6f 6e 20 6b 76 73 20    32 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  | q-partition.kvs.2).............. | 
| 1c40 |  20 63 6f 6c 6c 29 29 0a 0a 28 64 65 66 75 6e 20    61 2d 6b 65 79 73 20 28 63 6f 6c 6c 29 0a 20 20  | .coll))..(defun.a-keys.(coll)... | 
| 1c60 |  22 52 65 74 75 72 6e 20 74 68 65 20 6b 65 79 73    20 69 6e 20 74 68 65 20 63 6f 6c 6c 65 63 74 69  | "Return.the.keys.in.the.collecti | 
| 1c80 |  6f 6e 20 43 4f 4c 4c 2e 22 0a 20 20 28 63 6f 6e    64 0a 20 20 20 28 28 6c 69 73 74 70 20 63 6f 6c  | on.COLL."...(cond....((listp.col | 
| 1ca0 |  6c 29 0a 20 20 20 20 28 6d 61 70 63 61 72 20 23    27 63 61 72 20 63 6f 6c 6c 29 29 0a 0a 20 20 20  | l).....(mapcar.#'car.coll))..... | 
| 1cc0 |  28 28 68 61 73 68 2d 74 61 62 6c 65 2d 70 20 63    6f 6c 6c 29 0a 20 20 20 20 28 68 61 73 68 2d 74  | ((hash-table-p.coll).....(hash-t | 
| 1ce0 |  61 62 6c 65 2d 6b 65 79 73 20 63 6f 6c 6c 29 29    29 29 0a 0a 28 64 65 66 75 6e 20 61 2d 76 61 6c  | able-keys.coll))))..(defun.a-val | 
| 1d00 |  73 20 28 63 6f 6c 6c 29 0a 20 20 22 52 65 74 75    72 6e 20 74 68 65 20 76 61 6c 75 65 73 20 69 6e  | s.(coll)..."Return.the.values.in | 
| 1d20 |  20 74 68 65 20 63 6f 6c 6c 65 63 74 69 6f 6e 20    43 4f 4c 4c 2e 22 0a 20 20 28 63 6f 6e 64 0a 20  | .the.collection.COLL."...(cond.. | 
| 1d40 |  20 20 28 28 6c 69 73 74 70 20 63 6f 6c 6c 29 0a    20 20 20 20 28 6d 61 70 63 61 72 20 23 27 63 64  | ..((listp.coll).....(mapcar.#'cd | 
| 1d60 |  72 20 63 6f 6c 6c 29 29 0a 0a 20 20 20 28 28 68    61 73 68 2d 74 61 62 6c 65 2d 70 20 63 6f 6c 6c  | r.coll)).....((hash-table-p.coll | 
| 1d80 |  29 0a 20 20 20 20 28 68 61 73 68 2d 74 61 62 6c    65 2d 76 61 6c 75 65 73 20 63 6f 6c 6c 29 29 29  | ).....(hash-table-values.coll))) | 
| 1da0 |  29 0a 0a 28 64 65 66 75 6e 20 61 2d 72 65 64 75    63 65 2d 6b 76 20 28 66 6e 20 66 72 6f 6d 20 63  | )..(defun.a-reduce-kv.(fn.from.c | 
| 1dc0 |  6f 6c 6c 29 0a 20 20 22 52 65 64 75 63 65 20 77    69 74 68 20 46 4e 20 73 74 61 72 74 69 6e 67 20  | oll)..."Reduce.with.FN.starting. | 
| 1de0 |  66 72 6f 6d 20 46 52 4f 4d 20 74 68 65 20 63 6f    6c 6c 65 63 74 69 6f 6e 20 43 4f 4c 4c 2e 0a 52  | from.FROM.the.collection.COLL..R | 
| 1e00 |  65 64 75 63 65 20 61 6e 20 61 73 73 6f 63 69 61    74 69 76 65 20 63 6f 6c 6c 65 63 74 69 6f 6e 20  | educe.an.associative.collection. | 
| 1e20 |  43 4f 4c 4c 2c 20 73 74 61 72 74 69 6e 67 20 77    69 74 68 20 61 6e 20 69 6e 69 74 69 61 6c 0a 76  | COLL,.starting.with.an.initial.v | 
| 1e40 |  61 6c 75 65 20 6f 66 20 46 52 4f 4d 2e 20 54 68    65 20 72 65 64 75 63 69 6e 67 20 66 75 6e 63 74  | alue.of.FROM..The.reducing.funct | 
| 1e60 |  69 6f 6e 20 46 4e 20 72 65 63 65 69 76 65 73 20    74 68 65 20 69 6e 74 65 72 6d 65 64 69 61 74 65  | ion.FN.receives.the.intermediate | 
| 1e80 |  0a 76 61 6c 75 65 2c 20 6b 65 79 2c 20 61 6e 64    20 76 61 6c 75 65 2e 22 0a 20 20 28 73 65 71 2d  | .value,.key,.and.value."...(seq- | 
| 1ea0 |  72 65 64 75 63 65 20 28 6c 61 6d 62 64 61 20 28    61 63 63 20 6b 65 79 29 0a 20 20 20 20 20 20 20  | reduce.(lambda.(acc.key)........ | 
| 1ec0 |  20 20 20 20 20 20 20 20 20 20 20 28 66 75 6e 63    61 6c 6c 20 66 6e 20 61 63 63 20 6b 65 79 20 28  | ...........(funcall.fn.acc.key.( | 
| 1ee0 |  61 2d 67 65 74 20 63 6f 6c 6c 20 6b 65 79 29 29    29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | a-get.coll.key)))............... | 
| 1f00 |  28 61 2d 6b 65 79 73 20 63 6f 6c 6c 29 0a 20 20    20 20 20 20 20 20 20 20 20 20 20 20 66 72 6f 6d  | (a-keys.coll)...............from | 
| 1f20 |  29 29 0a 0a 28 64 65 66 75 6e 20 61 2d 63 6f 75    6e 74 20 28 63 6f 6c 6c 29 0a 20 20 22 43 6f 75  | ))..(defun.a-count.(coll)..."Cou | 
| 1f40 |  6e 74 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66    20 6b 65 79 2d 76 61 6c 75 65 20 70 61 69 72 73  | nt.the.number.of.key-value.pairs | 
| 1f60 |  20 69 6e 20 43 4f 4c 4c 2e 0a 4c 69 6b 65 20 6c    65 6e 67 74 68 2c 20 62 75 74 20 63 61 6e 20 61  | .in.COLL..Like.length,.but.can.a | 
| 1f80 |  6c 73 6f 20 72 65 74 75 72 6e 20 74 68 65 20 6c    65 6e 67 74 68 20 6f 66 20 68 61 73 68 20 74 61  | lso.return.the.length.of.hash.ta | 
| 1fa0 |  62 6c 65 73 2e 22 0a 20 20 28 63 6f 6e 64 0a 20    20 20 28 28 73 65 71 70 20 63 6f 6c 6c 29 0a 20  | bles."...(cond....((seqp.coll).. | 
| 1fc0 |  20 20 20 28 6c 65 6e 67 74 68 20 63 6f 6c 6c 29    29 0a 0a 20 20 20 28 28 68 61 73 68 2d 74 61 62  | ...(length.coll)).....((hash-tab | 
| 1fe0 |  6c 65 2d 70 20 63 6f 6c 6c 29 0a 20 20 20 20 28    68 61 73 68 2d 74 61 62 6c 65 2d 63 6f 75 6e 74  | le-p.coll).....(hash-table-count | 
| 2000 |  20 63 6f 6c 6c 29 29 29 29 0a 0a 28 64 65 66 75    6e 20 61 2d 65 71 75 61 6c 20 28 61 20 62 29 0a  | .coll))))..(defun.a-equal.(a.b). | 
| 2020 |  20 20 22 43 6f 6d 70 61 72 65 20 63 6f 6c 6c 65    63 74 69 6f 6e 73 20 41 2c 20 42 20 66 6f 72 20  | .."Compare.collections.A,.B.for. | 
| 2040 |  76 61 6c 75 65 20 65 71 75 61 6c 69 74 79 2e 0a    0a 41 73 73 6f 63 69 61 74 69 76 65 20 63 6f 6c  | value.equality...Associative.col | 
| 2060 |  6c 65 63 74 69 6f 6e 73 20 28 68 61 73 68 20 74    61 62 6c 65 73 20 61 6e 64 20 61 2d 6c 69 73 74  | lections.(hash.tables.and.a-list | 
| 2080 |  73 29 20 61 72 65 20 63 6f 6e 73 69 64 65 72 65    64 0a 65 71 75 61 6c 20 69 66 20 74 68 65 79 20  | s).are.considered.equal.if.they. | 
| 20a0 |  63 6f 6e 74 61 69 6e 20 65 71 75 61 6c 20 6b 65    79 2d 76 61 6c 75 65 20 70 61 69 72 73 2c 20 72  | contain.equal.key-value.pairs,.r | 
| 20c0 |  65 67 61 72 64 6c 65 73 73 20 6f 66 20 6f 72 64    65 72 2e 0a 0a 53 65 71 75 65 6e 63 65 73 20 28  | egardless.of.order...Sequences.( | 
| 20e0 |  6c 69 73 74 73 20 6f 72 20 76 65 63 74 6f 72 73    29 20 61 72 65 20 63 6f 6e 73 69 64 65 72 65 64  | lists.or.vectors).are.considered | 
| 2100 |  20 65 71 75 61 6c 20 69 66 20 74 68 65 79 20 63    6f 6e 74 61 69 6e 0a 74 68 65 20 73 61 6d 65 20  | .equal.if.they.contain.the.same. | 
| 2120 |  65 6c 65 6d 65 6e 74 73 20 69 6e 20 74 68 65 20    73 61 6d 65 20 6f 72 64 65 72 2e 0a 0a 43 6f 6c  | elements.in.the.same.order...Col | 
| 2140 |  6c 65 63 74 69 6f 6e 20 65 6c 65 6d 65 6e 74 73    20 61 72 65 20 63 6f 6d 70 61 72 65 64 20 75 73  | lection.elements.are.compared.us | 
| 2160 |  69 6e 67 20 60 61 2d 65 71 75 61 6c 27 2e 20 49    6e 20 6f 74 68 65 72 20 77 6f 72 64 73 2c 0a 74  | ing.`a-equal'..In.other.words,.t | 
| 2180 |  68 65 20 65 71 75 61 6c 69 74 79 20 63 68 65 63    6b 20 69 73 20 72 65 63 75 72 73 69 76 65 2c 20  | he.equality.check.is.recursive,. | 
| 21a0 |  72 65 73 75 6c 74 69 6e 67 20 69 6e 20 61 20 5c    22 64 65 65 70 5c 22 20 65 71 75 61 6c 69 74 79  | resulting.in.a.\"deep\".equality | 
| 21c0 |  0a 63 68 65 63 6b 2e 0a 0a 41 6e 79 74 68 69 6e    67 20 74 68 61 74 20 69 73 6e 27 74 20 61 73 73  | .check...Anything.that.isn't.ass | 
| 21e0 |  6f 63 69 61 74 69 76 65 20 6f 72 20 61 20 73 65    71 75 65 6e 63 65 20 69 73 20 63 6f 6d 70 61 72  | ociative.or.a.sequence.is.compar | 
| 2200 |  65 64 20 77 69 74 68 0a 60 65 71 75 61 6c 27 2e    22 0a 20 20 28 63 6f 6e 64 0a 20 20 20 28 28 61  | ed.with.`equal'."...(cond....((a | 
| 2220 |  6e 64 20 28 61 2d 61 73 73 6f 63 69 61 74 69 76    65 3f 20 61 29 20 28 61 2d 61 73 73 6f 63 69 61  | nd.(a-associative?.a).(a-associa | 
| 2240 |  74 69 76 65 3f 20 62 29 29 0a 20 20 20 20 28 6f    72 20 28 65 71 75 61 6c 20 61 20 62 29 0a 20 20  | tive?.b)).....(or.(equal.a.b)... | 
| 2260 |  20 20 20 20 20 20 28 77 68 65 6e 20 28 65 71 20    28 61 2d 63 6f 75 6e 74 20 61 29 20 28 61 2d 63  | ......(when.(eq.(a-count.a).(a-c | 
| 2280 |  6f 75 6e 74 20 62 29 29 0a 20 20 20 20 20 20 20    20 20 20 28 63 6c 2d 62 6c 6f 63 6b 20 6e 69 6c  | ount.b))...........(cl-block.nil | 
| 22a0 |  0a 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65    71 2d 64 6f 73 65 71 20 28 6b 20 28 61 2d 6b 65  | .............(seq-doseq.(k.(a-ke | 
| 22c0 |  79 73 20 61 29 29 0a 20 20 20 20 20 20 20 20 20    20 20 20 20 20 28 77 68 65 6e 20 28 6e 6f 74 20  | ys.a))...............(when.(not. | 
| 22e0 |  28 61 6e 64 0a 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28  | (and...........................( | 
| 2300 |  61 2d 68 61 73 2d 6b 65 79 20 62 20 6b 29 0a 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | a-has-key.b.k).................. | 
| 2320 |  20 20 20 20 20 20 20 20 20 28 61 2d 65 71 75 61    6c 20 28 61 2d 67 65 74 20 61 20 6b 29 20 28 61  | .........(a-equal.(a-get.a.k).(a | 
| 2340 |  2d 67 65 74 20 62 20 6b 29 29 29 29 0a 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6c  | -get.b.k)))).................(cl | 
| 2360 |  2d 72 65 74 75 72 6e 20 6e 69 6c 29 29 29 0a 20    20 20 20 20 20 20 20 20 20 20 20 28 73 65 71 2d  | -return.nil))).............(seq- | 
| 2380 |  64 6f 73 65 71 20 28 6b 20 28 61 2d 6b 65 79 73    20 62 29 29 0a 20 20 20 20 20 20 20 20 20 20 20  | doseq.(k.(a-keys.b))............ | 
| 23a0 |  20 20 20 28 77 68 65 6e 20 28 6e 6f 74 20 28 61    6e 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  | ...(when.(not.(and.............. | 
| 23c0 |  20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 2d    68 61 73 2d 6b 65 79 20 61 20 6b 29 0a 20 20 20  | .............(a-has-key.a.k).... | 
| 23e0 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 28 61 2d 65 71 75 61 6c 20  | .......................(a-equal. | 
| 2400 |  28 61 2d 67 65 74 20 61 20 6b 29 20 28 61 2d 67    65 74 20 62 20 6b 29 29 29 29 0a 20 20 20 20 20  | (a-get.a.k).(a-get.b.k))))...... | 
| 2420 |  20 20 20 20 20 20 20 20 20 20 20 28 63 6c 2d 72    65 74 75 72 6e 20 6e 69 6c 29 29 29 0a 20 20 20  | ...........(cl-return.nil))).... | 
| 2440 |  20 20 20 20 20 20 20 20 20 74 29 29 29 29 0a 20    20 20 28 28 61 6e 64 20 28 73 65 71 75 65 6e 63  | .........t))))....((and.(sequenc | 
| 2460 |  65 70 20 61 29 20 28 73 65 71 75 65 6e 63 65 70    20 62 29 29 0a 20 20 20 20 28 61 6e 64 20 28 65  | ep.a).(sequencep.b)).....(and.(e | 
| 2480 |  71 20 28 6c 65 6e 67 74 68 20 61 29 20 28 6c 65    6e 67 74 68 20 62 29 29 0a 20 20 20 20 20 20 20  | q.(length.a).(length.b))........ | 
| 24a0 |  20 20 28 6f 72 20 28 61 6e 64 20 28 73 65 71 2d    65 6d 70 74 79 2d 70 20 61 29 20 28 73 65 71 2d  | ..(or.(and.(seq-empty-p.a).(seq- | 
| 24c0 |  65 6d 70 74 79 2d 70 20 62 29 29 0a 20 20 20 20    20 20 20 20 20 20 20 20 20 28 61 6e 64 20 28 61  | empty-p.b))..............(and.(a | 
| 24e0 |  2d 65 71 75 61 6c 20 28 65 6c 74 20 61 20 30 29    20 28 65 6c 74 20 62 20 30 29 29 0a 20 20 20 20  | -equal.(elt.a.0).(elt.b.0))..... | 
| 2500 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61    2d 65 71 75 61 6c 20 28 73 65 71 2d 64 72 6f 70  | ..............(a-equal.(seq-drop | 
| 2520 |  20 61 20 31 29 20 28 73 65 71 2d 64 72 6f 70 20    62 20 31 29 29 29 29 29 29 0a 20 20 20 28 74 0a  | .a.1).(seq-drop.b.1))))))....(t. | 
| 2540 |  20 20 20 20 28 65 71 75 61 6c 20 61 20 62 29 29    29 29 0a 0a 28 64 65 66 61 6c 69 61 73 20 27 61  | ....(equal.a.b))))..(defalias.'a | 
| 2560 |  2d 65 71 75 61 6c 3f 20 27 61 2d 65 71 75 61 6c    29 0a 0a 28 64 65 66 75 6e 20 61 2d 6d 65 72 67  | -equal?.'a-equal)..(defun.a-merg | 
| 2580 |  65 20 28 26 72 65 73 74 20 63 6f 6c 6c 73 29 0a    20 20 22 4d 65 72 67 65 20 6d 75 6c 74 69 70 6c  | e.(&rest.colls)..."Merge.multipl | 
| 25a0 |  65 20 61 73 73 6f 63 69 61 74 69 76 65 20 63 6f    6c 6c 65 63 74 69 6f 6e 73 2e 0a 52 65 74 75 72  | e.associative.collections..Retur | 
| 25c0 |  6e 20 74 68 65 20 74 79 70 65 20 6f 66 20 74 68    65 20 66 69 72 73 74 20 63 6f 6c 6c 65 63 74 69  | n.the.type.of.the.first.collecti | 
| 25e0 |  6f 6e 20 43 4f 4c 4c 53 2e 22 0a 20 20 28 73 65    71 2d 72 65 64 75 63 65 20 28 6c 61 6d 62 64 61  | on.COLLS."...(seq-reduce.(lambda | 
| 2600 |  20 28 74 68 69 73 20 74 68 61 74 29 0a 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 2d  | .(this.that).................(a- | 
| 2620 |  72 65 64 75 63 65 2d 6b 76 20 28 6c 61 6d 62 64    61 20 28 63 6f 6c 6c 20 6b 20 76 29 0a 20 20 20  | reduce-kv.(lambda.(coll.k.v).... | 
| 2640 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 28 61 2d 61  | ............................(a-a | 
| 2660 |  73 73 6f 63 20 63 6f 6c 6c 20 6b 20 76 29 29 0a    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | ssoc.coll.k.v))................. | 
| 2680 |  20 20 20 20 20 20 20 20 20 20 20 20 20 74 68 69    73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | .............this............... | 
| 26a0 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74    68 61 74 29 29 0a 20 20 20 20 20 20 20 20 20 20  | ...............that))........... | 
| 26c0 |  20 20 20 20 28 63 64 72 20 63 6f 6c 6c 73 29 0a    20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63  | ....(cdr.colls)...............(c | 
| 26e0 |  61 72 20 63 6f 6c 6c 73 29 29 29 0a 0a 28 64 65    66 75 6e 20 61 2d 6d 65 72 67 65 2d 77 69 74 68  | ar.colls)))..(defun.a-merge-with | 
| 2700 |  20 28 66 20 26 72 65 73 74 20 63 6f 6c 6c 73 29    0a 20 20 22 4d 65 72 67 65 20 6d 75 6c 74 69 70  | .(f.&rest.colls)..."Merge.multip | 
| 2720 |  6c 65 20 61 73 73 6f 63 69 61 74 69 76 65 20 63    6f 6c 6c 65 63 74 69 6f 6e 73 2e 0a 52 65 74 75  | le.associative.collections..Retu | 
| 2740 |  72 6e 20 74 68 65 20 74 79 70 65 20 6f 66 20 74    68 65 20 66 69 72 73 74 20 63 6f 6c 6c 65 63 74  | rn.the.type.of.the.first.collect | 
| 2760 |  69 6f 6e 20 43 4f 4c 4c 53 2e 20 49 66 20 61 20    6b 65 79 20 65 78 69 73 74 73 20 69 6e 0a 62 6f  | ion.COLLS..If.a.key.exists.in.bo | 
| 2780 |  74 68 2c 20 74 68 65 6e 20 63 6f 6d 62 69 6e 65    20 74 68 65 20 61 73 73 6f 63 69 61 74 65 64 20  | th,.then.combine.the.associated. | 
| 27a0 |  76 61 6c 75 65 73 20 62 79 20 63 61 6c 6c 69 6e    67 20 66 20 6f 6e 20 74 68 65 6d 2e 22 0a 20 20  | values.by.calling.f.on.them."... | 
| 27c0 |  28 73 65 71 2d 72 65 64 75 63 65 20 28 6c 61 6d    62 64 61 20 28 74 68 69 73 20 74 68 61 74 29 0a  | (seq-reduce.(lambda.(this.that). | 
| 27e0 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    28 61 2d 72 65 64 75 63 65 2d 6b 76 20 28 6c 61  | ................(a-reduce-kv.(la | 
| 2800 |  6d 62 64 61 20 28 63 6f 6c 6c 20 6b 20 76 29 0a    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | mbda.(coll.k.v)................. | 
| 2820 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28    61 2d 61 73 73 6f 63 20 63 6f 6c 6c 20 6b 20 28  | ...............(a-assoc.coll.k.( | 
| 2840 |  69 66 20 28 61 2d 68 61 73 2d 6b 65 79 20 63 6f    6c 6c 20 6b 29 0a 20 20 20 20 20 20 20 20 20 20  | if.(a-has-key.coll.k)........... | 
| 2860 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | ................................ | 
| 2880 |  20 20 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c    6c 20 66 20 76 20 28 61 2d 67 65 74 20 63 6f 6c  | .........(funcall.f.v.(a-get.col | 
| 28a0 |  6c 20 6b 29 29 0a 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | l.k))........................... | 
| 28c0 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 76 29 29 29 0a 20 20 20 20  | .......................v)))..... | 
| 28e0 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 74 68 69 73 0a 20 20  | .........................this... | 
| 2900 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 74 68 61 74 29  | ...........................that) | 
| 2920 |  29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20    28 63 64 72 20 63 6f 6c 6c 73 29 0a 20 20 20 20  | )...............(cdr.colls)..... | 
| 2940 |  20 20 20 20 20 20 20 20 20 20 28 63 61 72 20 63    6f 6c 6c 73 29 29 29 0a 0a 28 64 65 66 75 6e 20  | ..........(car.colls)))..(defun. | 
| 2960 |  61 2d 61 6c 69 73 74 20 28 26 72 65 73 74 20 6b    76 73 29 0a 20 20 22 43 72 65 61 74 65 20 61 6e  | a-alist.(&rest.kvs)..."Create.an | 
| 2980 |  20 61 73 73 6f 63 69 61 74 69 6f 6e 20 6c 69 73    74 20 66 72 6f 6d 20 74 68 65 20 67 69 76 65 6e  | .association.list.from.the.given | 
| 29a0 |  20 6b 65 79 73 20 61 6e 64 20 76 61 6c 75 65 73    20 4b 56 53 2e 0a 41 72 67 75 6d 65 6e 74 73 20  | .keys.and.values.KVS..Arguments. | 
| 29c0 |  61 72 65 20 73 69 6d 70 6c 79 20 70 72 6f 76 69    64 65 64 20 69 6e 20 73 65 71 75 65 6e 63 65 2c  | are.simply.provided.in.sequence, | 
| 29e0 |  20 72 61 74 68 65 72 20 74 68 61 6e 20 61 73 20    6c 69 73 74 73 20 6f 72 20 63 6f 6e 73 20 63 65  | .rather.than.as.lists.or.cons.ce | 
| 2a00 |  6c 6c 73 2e 0a 46 6f 72 20 65 78 61 6d 70 6c 65    3a 20 28 61 2d 61 6c 69 73 74 20 3a 66 6f 6f 20  | lls..For.example:.(a-alist.:foo. | 
| 2a20 |  31 32 33 20 3a 62 61 72 20 34 35 36 29 22 0a 20    20 28 6d 61 70 63 61 72 20 28 6c 61 6d 62 64 61  | 123.:bar.456)"...(mapcar.(lambda | 
| 2a40 |  20 28 6b 76 29 20 28 63 6f 6e 73 20 28 63 61 72    20 6b 76 29 20 28 63 61 64 72 20 6b 76 29 29 29  | .(kv).(cons.(car.kv).(cadr.kv))) | 
| 2a60 |  20 28 73 65 71 2d 70 61 72 74 69 74 69 6f 6e 20    6b 76 73 20 32 29 29 29 0a 0a 28 64 65 66 61 6c  | .(seq-partition.kvs.2)))..(defal | 
| 2a80 |  69 61 73 20 27 61 2d 6c 69 73 74 20 27 61 2d 61    6c 69 73 74 29 0a 0a 28 64 65 66 75 6e 20 61 2d  | ias.'a-list.'a-alist)..(defun.a- | 
| 2aa0 |  68 61 73 68 2d 74 61 62 6c 65 20 28 26 72 65 73    74 20 6b 76 73 29 0a 20 20 22 43 72 65 61 74 65  | hash-table.(&rest.kvs)..."Create | 
| 2ac0 |  20 61 20 68 61 73 68 20 74 61 62 6c 65 20 66 72    6f 6d 20 74 68 65 20 67 69 76 65 6e 20 6b 65 79  | .a.hash.table.from.the.given.key | 
| 2ae0 |  73 20 61 6e 64 20 76 61 6c 75 65 73 20 4b 56 53    2e 0a 41 72 67 75 6d 65 6e 74 73 20 61 72 65 20  | s.and.values.KVS..Arguments.are. | 
| 2b00 |  73 69 6d 70 6c 79 20 70 72 6f 76 69 64 65 64 20    69 6e 20 73 65 71 75 65 6e 63 65 2c 20 72 61 74  | simply.provided.in.sequence,.rat | 
| 2b20 |  68 65 72 20 74 68 61 6e 20 61 73 20 6c 69 73 74    73 0a 6f 72 20 63 6f 6e 73 20 63 65 6c 6c 73 2e  | her.than.as.lists.or.cons.cells. | 
| 2b40 |  20 41 73 20 5c 22 74 65 73 74 5c 22 20 66 6f 72    20 74 68 65 20 68 61 73 68 20 74 61 62 6c 65 2c  | .As.\"test\".for.the.hash.table, | 
| 2b60 |  20 65 71 75 61 6c 20 69 73 20 75 73 65 64 2e 20    54 68 65 0a 68 61 73 68 20 74 61 62 6c 65 20 69  | .equal.is.used..The.hash.table.i | 
| 2b80 |  73 20 63 72 65 61 74 65 64 20 77 69 74 68 6f 75    74 20 65 78 74 72 61 20 73 74 6f 72 61 67 65 20  | s.created.without.extra.storage. | 
| 2ba0 |  73 70 61 63 65 2c 20 73 6f 20 77 69 74 68 20 61    20 73 69 7a 65 0a 65 71 75 61 6c 20 74 6f 20 61  | space,.so.with.a.size.equal.to.a | 
| 2bc0 |  6d 6f 75 6e 74 20 6f 66 20 6b 65 79 2d 76 61 6c    75 65 20 70 61 69 72 73 2c 20 73 69 6e 63 65 20  | mount.of.key-value.pairs,.since. | 
| 2be0 |  69 74 20 69 73 20 61 73 73 75 6d 65 64 20 74 6f    20 62 65 0a 74 72 65 61 74 65 64 20 61 73 20 69  | it.is.assumed.to.be.treated.as.i | 
| 2c00 |  6d 6d 75 74 61 62 6c 65 2e 0a 46 6f 72 20 65 78    61 6d 70 6c 65 3a 20 28 61 2d 68 61 73 68 2d 74  | mmutable..For.example:.(a-hash-t | 
| 2c20 |  61 62 6c 65 20 3a 66 6f 6f 20 31 32 33 20 3a 62    61 72 20 34 35 36 29 22 0a 20 20 28 6c 65 74 2a  | able.:foo.123.:bar.456)"...(let* | 
| 2c40 |  20 28 28 6b 76 2d 70 61 69 72 73 20 28 73 65 71    2d 70 61 72 74 69 74 69 6f 6e 20 6b 76 73 20 32  | .((kv-pairs.(seq-partition.kvs.2 | 
| 2c60 |  29 29 0a 20 20 20 20 20 20 20 20 20 28 68 61 73    68 2d 6d 61 70 20 28 6d 61 6b 65 2d 68 61 73 68  | ))..........(hash-map.(make-hash | 
| 2c80 |  2d 74 61 62 6c 65 20 3a 74 65 73 74 20 27 65 71    75 61 6c 20 3a 73 69 7a 65 20 28 6c 65 6e 67 74  | -table.:test.'equal.:size.(lengt | 
| 2ca0 |  68 20 6b 76 2d 70 61 69 72 73 29 29 29 29 0a 20    20 20 20 28 73 65 71 2d 64 6f 20 28 6c 61 6d 62  | h.kv-pairs)))).....(seq-do.(lamb | 
| 2cc0 |  64 61 20 28 70 61 69 72 29 0a 20 20 20 20 20 20    20 20 20 20 20 20 20 20 28 70 75 74 68 61 73 68  | da.(pair)...............(puthash | 
| 2ce0 |  20 28 63 61 72 20 70 61 69 72 29 20 28 63 61 64    72 20 70 61 69 72 29 20 68 61 73 68 2d 6d 61 70  | .(car.pair).(cadr.pair).hash-map | 
| 2d00 |  29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 6b    76 2d 70 61 69 72 73 29 0a 20 20 20 20 68 61 73  | )).............kv-pairs).....has | 
| 2d20 |  68 2d 6d 61 70 29 29 0a 0a 28 64 65 66 75 6e 20    61 2d 61 73 73 6f 63 2d 69 6e 20 28 63 6f 6c 6c  | h-map))..(defun.a-assoc-in.(coll | 
| 2d40 |  20 6b 65 79 73 20 76 61 6c 75 65 29 0a 20 20 22    49 6e 20 63 6f 6c 6c 65 63 74 69 6f 6e 20 43 4f  | .keys.value)..."In.collection.CO | 
| 2d60 |  4c 4c 2c 20 61 74 20 6c 6f 63 61 74 69 6f 6e 20    4b 45 59 53 2c 20 61 73 73 6f 63 69 61 74 65 20  | LL,.at.location.KEYS,.associate. | 
| 2d80 |  76 61 6c 75 65 20 56 41 4c 55 45 2e 0a 41 73 73    6f 63 69 61 74 65 73 20 61 20 76 61 6c 75 65 20  | value.VALUE..Associates.a.value. | 
| 2da0 |  69 6e 20 61 20 6e 65 73 74 65 64 20 61 73 73 6f    63 69 61 74 69 76 65 20 63 6f 6c 6c 65 63 74 69  | in.a.nested.associative.collecti | 
| 2dc0 |  6f 6e 20 43 4f 4c 4c 2c 20 77 68 65 72 65 0a 4b    45 59 53 20 69 73 20 61 20 73 65 71 75 65 6e 63  | on.COLL,.where.KEYS.is.a.sequenc | 
| 2de0 |  65 20 6f 66 20 6b 65 79 73 20 61 6e 64 20 56 41    4c 55 45 20 69 73 20 74 68 65 20 6e 65 77 20 76  | e.of.keys.and.VALUE.is.the.new.v | 
| 2e00 |  61 6c 75 65 20 61 6e 64 20 72 65 74 75 72 6e 73    0a 61 20 6e 65 77 20 6e 65 73 74 65 64 20 73 74  | alue.and.returns.a.new.nested.st | 
| 2e20 |  72 75 63 74 75 72 65 2e 20 49 66 20 61 6e 79 20    6c 65 76 65 6c 73 20 64 6f 20 6e 6f 74 20 65 78  | ructure..If.any.levels.do.not.ex | 
| 2e40 |  69 73 74 2c 20 61 73 73 6f 63 69 61 74 69 6f 6e    0a 6c 69 73 74 73 20 77 69 6c 6c 20 62 65 20 63  | ist,.association.lists.will.be.c | 
| 2e60 |  72 65 61 74 65 64 2e 22 0a 20 20 28 63 6c 2d 63    61 73 65 20 28 6c 65 6e 67 74 68 20 6b 65 79 73  | reated."...(cl-case.(length.keys | 
| 2e80 |  29 0a 20 20 20 20 28 30 20 63 6f 6c 6c 29 0a 20    20 20 20 28 31 20 28 61 2d 61 73 73 6f 63 2d 31  | ).....(0.coll).....(1.(a-assoc-1 | 
| 2ea0 |  20 63 6f 6c 6c 20 28 65 6c 74 20 6b 65 79 73 20    30 29 20 76 61 6c 75 65 29 29 0a 20 20 20 20 28  | .coll.(elt.keys.0).value)).....( | 
| 2ec0 |  74 20 28 61 2d 61 73 73 6f 63 2d 31 20 63 6f 6c    6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | t.(a-assoc-1.coll............... | 
| 2ee0 |  20 20 20 20 28 65 6c 74 20 6b 65 79 73 20 30 29    0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | ....(elt.keys.0)................ | 
| 2f00 |  20 20 20 28 61 2d 61 73 73 6f 63 2d 69 6e 20 28    61 2d 67 65 74 20 63 6f 6c 6c 20 28 65 6c 74 20  | ...(a-assoc-in.(a-get.coll.(elt. | 
| 2f20 |  6b 65 79 73 20 30 29 29 0a 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | keys.0))........................ | 
| 2f40 |  20 20 20 20 20 20 20 28 73 65 71 2d 64 72 6f 70    20 6b 65 79 73 20 31 29 0a 20 20 20 20 20 20 20  | .......(seq-drop.keys.1)........ | 
| 2f60 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 76 61 6c 75 65 29 29 29 29  | .......................value)))) | 
| 2f80 |  29 0a 0a 28 64 65 66 75 6e 20 61 2d 64 69 73 73    6f 63 2d 2d 6c 69 73 74 20 28 6c 69 73 74 20 6b  | )..(defun.a-dissoc--list.(list.k | 
| 2fa0 |  65 79 73 29 0a 20 20 22 52 65 74 75 72 6e 20 75    70 64 61 74 65 64 20 4c 49 53 54 20 77 69 74 68  | eys)..."Return.updated.LIST.with | 
| 2fc0 |  20 4b 45 59 53 20 72 65 6d 6f 76 65 64 2e 0a 49    6e 74 65 72 6e 61 6c 20 68 65 6c 70 65 72 2e 20  | .KEYS.removed..Internal.helper.. | 
| 2fe0 |  55 73 65 20 60 61 2d 64 69 73 73 6f 63 27 20 69    6e 73 74 65 61 64 2e 22 0a 20 20 28 61 2d 72 65  | Use.`a-dissoc'.instead."...(a-re | 
| 3000 |  64 75 63 65 2d 6b 76 20 28 6c 61 6d 62 64 61 20    28 72 65 73 20 6b 20 76 29 0a 20 20 20 20 20 20  | duce-kv.(lambda.(res.k.v)....... | 
| 3020 |  20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28    6d 65 6d 62 65 72 20 6b 20 6b 65 79 73 29 0a 20  | ...........(if.(member.k.keys).. | 
| 3040 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 72 65 73 0a 20 20 20 20 20 20 20 20  | ....................res......... | 
| 3060 |  20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 73    20 28 63 6f 6e 73 20 6b 20 76 29 20 72 65 73 29  | ...........(cons.(cons.k.v).res) | 
| 3080 |  29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 6e 69 6c 0a 20 20 20 20 20 20 20 20 20 20  | ))................nil........... | 
| 30a0 |  20 20 20 20 20 6c 69 73 74 29 29 0a 0a 28 64 65    66 75 6e 20 61 2d 64 69 73 73 6f 63 2d 2d 68 61  | .....list))..(defun.a-dissoc--ha | 
| 30c0 |  73 68 2d 74 61 62 6c 65 20 28 74 61 62 6c 65 20    6b 65 79 73 29 0a 20 20 22 52 65 74 75 72 6e 20  | sh-table.(table.keys)..."Return. | 
| 30e0 |  75 70 64 61 74 65 64 20 54 41 42 4c 45 20 77 69    74 68 20 4b 45 59 53 20 72 65 6d 6f 76 65 64 2e  | updated.TABLE.with.KEYS.removed. | 
| 3100 |  0a 49 6e 74 65 72 6e 61 6c 20 68 65 6c 70 65 72    2e 20 55 73 65 20 60 61 2d 64 69 73 73 6f 63 27  | .Internal.helper..Use.`a-dissoc' | 
| 3120 |  20 69 6e 73 74 65 61 64 2e 22 0a 20 20 28 6c 65    74 20 28 28 6e 65 77 2d 74 61 62 6c 65 20 28 6d  | .instead."...(let.((new-table.(m | 
| 3140 |  61 6b 65 2d 68 61 73 68 2d 74 61 62 6c 65 20 3a    73 69 7a 65 20 28 68 61 73 68 2d 74 61 62 6c 65  | ake-hash-table.:size.(hash-table | 
| 3160 |  2d 63 6f 75 6e 74 20 74 61 62 6c 65 29 0a 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | -count.table)................... | 
| 3180 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 3a 74 65 73 74 20 28 68 61 73 68 2d 74 61  | ..................:test.(hash-ta | 
| 31a0 |  62 6c 65 2d 74 65 73 74 20 74 61 62 6c 65 29 29    29 0a 20 20 20 20 20 20 20 20 28 72 65 73 74 2d  | ble-test.table))).........(rest- | 
| 31c0 |  6b 65 79 73 20 28 73 65 71 2d 72 65 6d 6f 76 65    20 28 6c 61 6d 62 64 61 20 28 6b 29 0a 20 20 20  | keys.(seq-remove.(lambda.(k).... | 
| 31e0 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d  | ..............................(m | 
| 3200 |  65 6d 62 65 72 20 6b 20 6b 65 79 73 29 29 0a 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | ember.k.keys)).................. | 
| 3220 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61    2d 6b 65 79 73 20 74 61 62 6c 65 29 29 29 29 0a  | ..............(a-keys.table)))). | 
| 3240 |  20 20 20 20 28 73 65 71 2d 64 6f 73 65 71 20 28    6b 20 72 65 73 74 2d 6b 65 79 73 29 0a 20 20 20  | ....(seq-doseq.(k.rest-keys).... | 
| 3260 |  20 20 20 28 70 75 74 68 61 73 68 20 6b 20 28 67    65 74 68 61 73 68 20 6b 20 74 61 62 6c 65 29 20  | ...(puthash.k.(gethash.k.table). | 
| 3280 |  6e 65 77 2d 74 61 62 6c 65 29 29 0a 20 20 20 20    6e 65 77 2d 74 61 62 6c 65 29 29 0a 0a 28 64 65  | new-table)).....new-table))..(de | 
| 32a0 |  66 75 6e 20 61 2d 64 69 73 73 6f 63 20 28 63 6f    6c 6c 20 26 72 65 73 74 20 6b 65 79 73 29 0a 20  | fun.a-dissoc.(coll.&rest.keys).. | 
| 32c0 |  20 22 52 65 74 75 72 6e 20 61 6e 20 75 70 64 61    74 65 64 20 76 65 72 73 69 6f 6e 20 6f 66 20 63  | ."Return.an.updated.version.of.c | 
| 32e0 |  6f 6c 6c 65 63 74 69 6f 6e 20 43 4f 4c 4c 20 77    69 74 68 20 74 68 65 20 4b 45 59 20 72 65 6d 6f  | ollection.COLL.with.the.KEY.remo | 
| 3300 |  76 65 64 2e 22 0a 20 20 28 63 6f 6e 64 0a 20 20    20 28 28 6c 69 73 74 70 20 63 6f 6c 6c 29 20 28  | ved."...(cond....((listp.coll).( | 
| 3320 |  61 2d 64 69 73 73 6f 63 2d 2d 6c 69 73 74 20 63    6f 6c 6c 20 6b 65 79 73 29 29 0a 20 20 20 28 28  | a-dissoc--list.coll.keys))....(( | 
| 3340 |  68 61 73 68 2d 74 61 62 6c 65 2d 70 20 63 6f 6c    6c 29 20 28 61 2d 64 69 73 73 6f 63 2d 2d 68 61  | hash-table-p.coll).(a-dissoc--ha | 
| 3360 |  73 68 2d 74 61 62 6c 65 20 63 6f 6c 6c 20 6b 65    79 73 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 61  | sh-table.coll.keys))))..(defun.a | 
| 3380 |  2d 75 70 64 61 74 65 20 28 63 6f 6c 6c 20 6b 65    79 20 66 6e 20 26 72 65 73 74 20 61 72 67 73 29  | -update.(coll.key.fn.&rest.args) | 
| 33a0 |  0a 20 20 22 49 6e 20 63 6f 6c 6c 65 63 74 69 6f    6e 20 43 4f 4c 4c 2c 20 61 74 20 6c 6f 63 61 74  | ..."In.collection.COLL,.at.locat | 
| 33c0 |  69 6f 6e 20 4b 45 59 2c 20 61 70 70 6c 79 20 46    4e 20 77 69 74 68 20 65 78 74 72 61 20 61 72 67  | ion.KEY,.apply.FN.with.extra.arg | 
| 33e0 |  73 20 41 52 47 53 2e 0a 27 55 70 64 61 74 65 73    27 20 61 20 76 61 6c 75 65 20 69 6e 20 61 6e 20  | s.ARGS..'Updates'.a.value.in.an. | 
| 3400 |  61 73 73 6f 63 69 61 74 69 76 65 20 63 6f 6c 6c    65 63 74 69 6f 6e 20 43 4f 4c 4c 2c 20 77 68 65  | associative.collection.COLL,.whe | 
| 3420 |  72 65 20 4b 45 59 20 69 73 0a 61 20 6b 65 79 20    61 6e 64 20 46 4e 20 69 73 20 61 20 66 75 6e 63  | re.KEY.is.a.key.and.FN.is.a.func | 
| 3440 |  74 69 6f 6e 20 74 68 61 74 20 77 69 6c 6c 20 74    61 6b 65 20 74 68 65 20 6f 6c 64 20 76 61 6c 75  | tion.that.will.take.the.old.valu | 
| 3460 |  65 20 61 6e 64 20 61 6e 79 0a 73 75 70 70 6c 69    65 64 20 61 72 67 73 20 61 6e 64 20 72 65 74 75  | e.and.any.supplied.args.and.retu | 
| 3480 |  72 6e 20 74 68 65 20 6e 65 77 20 76 61 6c 75 65    2c 20 61 6e 64 20 72 65 74 75 72 6e 73 20 61 20  | rn.the.new.value,.and.returns.a. | 
| 34a0 |  6e 65 77 0a 73 74 72 75 63 74 75 72 65 2e 20 49    66 20 74 68 65 20 6b 65 79 20 64 6f 65 73 20 6e  | new.structure..If.the.key.does.n | 
| 34c0 |  6f 74 20 65 78 69 73 74 2c 20 6e 69 6c 20 69 73    20 70 61 73 73 65 64 20 61 73 20 74 68 65 20 6f  | ot.exist,.nil.is.passed.as.the.o | 
| 34e0 |  6c 64 0a 76 61 6c 75 65 2e 22 0a 20 20 28 61 2d    61 73 73 6f 63 2d 31 20 63 6f 6c 6c 0a 20 20 20  | ld.value."...(a-assoc-1.coll.... | 
| 3500 |  20 20 20 20 20 20 20 20 20 20 6b 65 79 0a 20 20    20 20 20 20 20 20 20 20 20 20 20 28 61 70 70 6c  | ..........key..............(appl | 
| 3520 |  79 20 23 27 66 75 6e 63 61 6c 6c 20 66 6e 20 28    61 2d 67 65 74 20 63 6f 6c 6c 20 6b 65 79 29 20  | y.#'funcall.fn.(a-get.coll.key). | 
| 3540 |  61 72 67 73 29 29 29 0a 0a 28 64 65 66 75 6e 20    61 2d 75 70 64 61 74 65 2d 69 6e 20 28 63 6f 6c  | args)))..(defun.a-update-in.(col | 
| 3560 |  6c 20 6b 65 79 73 20 66 6e 20 26 72 65 73 74 20    61 72 67 73 29 0a 20 20 22 49 6e 20 63 6f 6c 6c  | l.keys.fn.&rest.args)..."In.coll | 
| 3580 |  65 63 74 69 6f 6e 20 43 4f 4c 4c 2c 20 61 74 20    6c 6f 63 61 74 69 6f 6e 20 4b 45 59 53 2c 20 61  | ection.COLL,.at.location.KEYS,.a | 
| 35a0 |  70 70 6c 79 20 46 4e 20 77 69 74 68 20 65 78 74    72 61 20 61 72 67 73 20 41 52 47 53 2e 0a 27 55  | pply.FN.with.extra.args.ARGS..'U | 
| 35c0 |  70 64 61 74 65 73 27 20 61 20 76 61 6c 75 65 20    69 6e 20 61 20 6e 65 73 74 65 64 20 61 73 73 6f  | pdates'.a.value.in.a.nested.asso | 
| 35e0 |  63 69 61 74 69 76 65 20 63 6f 6c 6c 65 63 74 69    6f 6e 20 43 4f 4c 4c 2c 20 77 68 65 72 65 0a 4b  | ciative.collection.COLL,.where.K | 
| 3600 |  45 59 53 20 69 73 20 61 20 73 65 71 75 65 6e 63    65 20 6f 66 20 6b 65 79 73 20 61 6e 64 20 46 4e  | EYS.is.a.sequence.of.keys.and.FN | 
| 3620 |  20 69 73 20 61 20 66 75 6e 63 74 69 6f 6e 20 74    68 61 74 20 77 69 6c 6c 20 74 61 6b 65 0a 74 68  | .is.a.function.that.will.take.th | 
| 3640 |  65 20 6f 6c 64 20 76 61 6c 75 65 20 61 6e 64 20    61 6e 79 20 73 75 70 70 6c 69 65 64 20 41 52 47  | e.old.value.and.any.supplied.ARG | 
| 3660 |  53 20 61 6e 64 20 72 65 74 75 72 6e 20 74 68 65    20 6e 65 77 20 76 61 6c 75 65 2c 20 61 6e 64 0a  | S.and.return.the.new.value,.and. | 
| 3680 |  72 65 74 75 72 6e 73 20 61 20 6e 65 77 20 6e 65    73 74 65 64 20 73 74 72 75 63 74 75 72 65 2e 20  | returns.a.new.nested.structure.. | 
| 36a0 |  49 66 20 61 6e 79 20 6c 65 76 65 6c 73 20 64 6f    20 6e 6f 74 20 65 78 69 73 74 2c 0a 61 73 73 6f  | If.any.levels.do.not.exist,.asso | 
| 36c0 |  63 69 61 74 69 6f 6e 20 6c 69 73 74 73 20 77 69    6c 6c 20 62 65 20 63 72 65 61 74 65 64 2e 22 0a  | ciation.lists.will.be.created.". | 
| 36e0 |  20 20 28 63 6c 2d 63 61 73 65 20 28 6c 65 6e 67    74 68 20 6b 65 79 73 29 0a 20 20 20 20 28 30 20  | ..(cl-case.(length.keys).....(0. | 
| 3700 |  63 6f 6c 6c 29 0a 20 20 20 20 28 31 20 28 61 70    70 6c 79 20 23 27 61 2d 75 70 64 61 74 65 20 63  | coll).....(1.(apply.#'a-update.c | 
| 3720 |  6f 6c 6c 20 28 65 6c 74 20 6b 65 79 73 20 30 29    20 66 6e 20 61 72 67 73 29 29 0a 20 20 20 20 28  | oll.(elt.keys.0).fn.args)).....( | 
| 3740 |  74 20 28 61 2d 61 73 73 6f 63 2d 31 20 63 6f 6c    6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | t.(a-assoc-1.coll............... | 
| 3760 |  20 20 20 20 28 65 6c 74 20 6b 65 79 73 20 30 29    0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | ....(elt.keys.0)................ | 
| 3780 |  20 20 20 28 61 70 70 6c 79 20 23 27 61 2d 75 70    64 61 74 65 2d 69 6e 0a 20 20 20 20 20 20 20 20  | ...(apply.#'a-update-in......... | 
| 37a0 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 28 61 2d 67 65 74 20 63 6f 6c 6c 20 28 65 6c  | .................(a-get.coll.(el | 
| 37c0 |  74 20 6b 65 79 73 20 30 29 29 0a 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | t.keys.0))...................... | 
| 37e0 |  20 20 20 20 28 73 65 71 2d 64 72 6f 70 20 6b 65    79 73 20 31 29 0a 20 20 20 20 20 20 20 20 20 20  | ....(seq-drop.keys.1)........... | 
| 3800 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66    6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | ...............fn............... | 
| 3820 |  20 20 20 20 20 20 20 20 20 20 20 61 72 67 73 29    29 29 29 29 0a 0a 28 70 72 6f 76 69 64 65 20 27  | ...........args)))))..(provide.' | 
| 3840 |  61 29 0a 0a 3b 3b 3b 20 61 2e 65 6c 20 65 6e 64    73 20 68 65 72 65 0a 00 00 00 00 00 00 00 00 00  | a)..;;;.a.el.ends.here.......... | 
| 3860 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 3880 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 38a0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 38c0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 38e0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 3900 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 3920 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 3940 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 3960 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 3980 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 39a0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 39c0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 39e0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 3a00 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 3a20 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 3a40 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 3a60 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 3a80 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 3aa0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 3ac0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 3ae0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 3b00 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 3b20 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 3b40 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 3b60 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 3b80 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 3ba0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 3bc0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 3be0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 3c00 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 3c20 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 3c40 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 3c60 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 3c80 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 3ca0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 3cc0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 3ce0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 3d00 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 3d20 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 3d40 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 3d60 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 3d80 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 3da0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 3dc0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 3de0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 3e00 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 3e20 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 3e40 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 3e60 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 3e80 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 3ea0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 3ec0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 3ee0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 3f00 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 3f20 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 3f40 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 3f60 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 3f80 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 3fa0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 3fc0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 3fe0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 4000 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 4020 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 4040 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 4060 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 4080 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 40a0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 40c0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 40e0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 4100 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 4120 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 4140 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 4160 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 4180 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 41a0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 41c0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 41e0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 4200 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 4220 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 4240 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 4260 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 4280 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 42a0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 42c0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 42e0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 4300 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 4320 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 4340 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 4360 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 4380 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 43a0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 43c0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 43e0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 4400 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 4420 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 4440 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 4460 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 4480 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 44a0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 44c0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 44e0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 4500 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 4520 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 4540 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 4560 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 4580 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 45a0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 45c0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 45e0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 4600 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 4620 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 4640 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 4660 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 4680 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 46a0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 46c0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 46e0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 4700 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 4720 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 4740 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 4760 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 4780 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 47a0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 47c0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 47e0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 4800 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 4820 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 4840 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 4860 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 4880 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 48a0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 48c0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 48e0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 4900 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 4920 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 4940 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 4960 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 4980 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 49a0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 49c0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 49e0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 4a00 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 4a20 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 4a40 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 4a60 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 4a80 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 4aa0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 4ac0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 4ae0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 4b00 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 4b20 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 4b40 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 4b60 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 4b80 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 4ba0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 4bc0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 4be0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 4c00 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 4c20 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 4c40 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 4c60 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 4c80 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 4ca0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 4cc0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 4ce0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 4d00 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 4d20 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 4d40 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 4d60 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 4d80 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 4da0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 4dc0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 4de0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 4e00 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 4e20 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 4e40 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 4e60 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 4e80 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 4ea0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 4ec0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 4ee0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 4f00 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 4f20 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 4f40 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 4f60 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 4f80 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 4fa0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 4fc0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 4fe0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ |