| ofs | hex dump | ascii | 
|---|
| 0000 |  63 61 6c 69 62 72 65 64 62 2d 32 30 32 35 30 37    30 35 2e 32 32 35 2f 00 00 00 00 00 00 00 00 00  | calibredb-20250705.225/......... | 
| 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 32 36 33 35 00 20 35 00 00 00  | 0000000.00000000000.012635..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 |  63 61 6c 69 62 72 65 64 62 2d 32 30 32 35 30 37    30 35 2e 32 32 35 2f 63 61 6c 69 62 72 65 64 62  | calibredb-20250705.225/calibredb | 
| 0220 |  2d 61 6e 6e 6f 74 61 74 69 6f 6e 2e 65 6c 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | -annotation.el.................. | 
| 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 31 33 36 34 37 00 30 30 30 30 30 30 30 30    30 30 30 00 30 31 37 32 35 31 00 20 30 00 00 00  | 0013647.00000000000.017251..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 3b 20 63 61 6c 69 62 72 65 64 62 2d 61 6e    6e 6f 74 61 74 69 6f 6e 2e 65 6c 20 2d 2d 2d 20  | ;;;.calibredb-annotation.el.---. | 
| 0420 |  41 6e 6e 6f 74 61 74 69 6f 6e 20 66 6f 72 20 63    61 6c 69 62 72 65 64 62 20 2d 2a 2d 20 6c 65 78  | Annotation.for.calibredb.-*-.lex | 
| 0440 |  69 63 61 6c 2d 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  | ical-binding:.t;.-*-..;;.Copyrig | 
| 0460 |  68 74 20 28 43 29 20 32 30 32 30 20 44 61 6d 6f    6e 20 43 68 61 6e 0a 0a 3b 3b 20 41 75 74 68 6f  | ht.(C).2020.Damon.Chan..;;.Autho | 
| 0480 |  72 3a 20 44 61 6d 6f 6e 20 43 68 61 6e 20 3c 65    6c 65 63 6d 69 6e 67 40 67 6d 61 69 6c 2e 63 6f  | r:.Damon.Chan.<elecming@gmail.co | 
| 04a0 |  6d 3e 0a 3b 3b 20 55 52 4c 3a 20 68 74 74 70 73    3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 63 68  | m>.;;.URL:.https://github.com/ch | 
| 04c0 |  65 6e 79 61 6e 6d 69 6e 67 2f 63 61 6c 69 62 72    65 64 62 2e 65 6c 0a 3b 3b 20 4b 65 79 77 6f 72  | enyanming/calibredb.el.;;.Keywor | 
| 04e0 |  64 73 3a 20 74 6f 6f 6c 73 0a 0a 3b 3b 20 54 68    69 73 20 66 69 6c 65 20 69 73 20 4e 4f 54 20 70  | ds:.tools..;;.This.file.is.NOT.p | 
| 0500 |  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 70 72 6f 67 72  | art.of.GNU.Emacs...;;.This.progr | 
| 0520 |  61 6d 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 64  | am.is.free.software;.you.can.red | 
| 0540 |  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 74  | istribute.it.and/or.modify.;;.it | 
| 0560 |  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 65  | .under.the.terms.of.the.GNU.Gene | 
| 0580 |  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 20  | ral.Public.License.as.published. | 
| 05a0 |  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 69  | by.;;.the.Free.Software.Foundati | 
| 05c0 |  6f 6e 2c 20 65 69 74 68 65 72 20 76 65 72 73 69    6f 6e 20 33 20 6f 66 20 74 68 65 20 4c 69 63 65  | on,.either.version.3.of.the.Lice | 
| 05e0 |  6e 73 65 2c 20 6f 72 0a 3b 3b 20 28 61 74 20 79    6f 75 72 20 6f 70 74 69 6f 6e 29 20 61 6e 79 20  | nse,.or.;;.(at.your.option).any. | 
| 0600 |  6c 61 74 65 72 20 76 65 72 73 69 6f 6e 2e 0a 0a    3b 3b 20 54 68 69 73 20 70 72 6f 67 72 61 6d 20  | later.version...;;.This.program. | 
| 0620 |  69 73 20 64 69 73 74 72 69 62 75 74 65 64 20 69    6e 20 74 68 65 20 68 6f 70 65 20 74 68 61 74 20  | is.distributed.in.the.hope.that. | 
| 0640 |  69 74 20 77 69 6c 6c 20 62 65 20 75 73 65 66 75    6c 2c 0a 3b 3b 20 62 75 74 20 57 49 54 48 4f 55  | it.will.be.useful,.;;.but.WITHOU | 
| 0660 |  54 20 41 4e 59 20 57 41 52 52 41 4e 54 59 3b 20    77 69 74 68 6f 75 74 20 65 76 65 6e 20 74 68 65  | T.ANY.WARRANTY;.without.even.the | 
| 0680 |  20 69 6d 70 6c 69 65 64 20 77 61 72 72 61 6e 74    79 20 6f 66 0a 3b 3b 20 4d 45 52 43 48 41 4e 54  | .implied.warranty.of.;;.MERCHANT | 
| 06a0 |  41 42 49 4c 49 54 59 20 6f 72 20 46 49 54 4e 45    53 53 20 46 4f 52 20 41 20 50 41 52 54 49 43 55  | ABILITY.or.FITNESS.FOR.A.PARTICU | 
| 06c0 |  4c 41 52 20 50 55 52 50 4f 53 45 2e 20 20 53 65    65 20 74 68 65 0a 3b 3b 20 47 4e 55 20 47 65 6e  | LAR.PURPOSE...See.the.;;.GNU.Gen | 
| 06e0 |  65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65    6e 73 65 20 66 6f 72 20 6d 6f 72 65 20 64 65 74  | eral.Public.License.for.more.det | 
| 0700 |  61 69 6c 73 2e 0a 0a 3b 3b 20 59 6f 75 20 73 68    6f 75 6c 64 20 68 61 76 65 20 72 65 63 65 69 76  | ails...;;.You.should.have.receiv | 
| 0720 |  65 64 20 61 20 63 6f 70 79 20 6f 66 20 74 68 65    20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62  | ed.a.copy.of.the.GNU.General.Pub | 
| 0740 |  6c 69 63 20 4c 69 63 65 6e 73 65 0a 3b 3b 20 61    6c 6f 6e 67 20 77 69 74 68 20 74 68 69 73 20 70  | lic.License.;;.along.with.this.p | 
| 0760 |  72 6f 67 72 61 6d 2e 20 20 49 66 20 6e 6f 74 2c    20 73 65 65 20 3c 68 74 74 70 73 3a 2f 2f 77 77  | rogram...If.not,.see.<https://ww | 
| 0780 |  77 2e 67 6e 75 2e 6f 72 67 2f 6c 69 63 65 6e 73    65 73 2f 3e 2e 0a 0a 3b 3b 3b 20 43 6f 6d 6d 65  | w.gnu.org/licenses/>...;;;.Comme | 
| 07a0 |  6e 74 61 72 79 3a 0a 0a 3b 3b 3b 20 43 6f 64 65    3a 0a 0a 28 72 65 71 75 69 72 65 20 27 63 61 6c  | ntary:..;;;.Code:..(require.'cal | 
| 07c0 |  69 62 72 65 64 62 2d 63 6f 72 65 29 0a 0a 28 64    65 63 6c 61 72 65 2d 66 75 6e 63 74 69 6f 6e 20  | ibredb-core)..(declare-function. | 
| 07e0 |  63 61 6c 69 62 72 65 64 62 2d 67 65 74 2d 69 6e    69 74 20 22 63 61 6c 69 62 72 65 64 62 2d 75 74  | calibredb-get-init."calibredb-ut | 
| 0800 |  69 6c 73 2e 65 6c 22 29 0a 28 64 65 63 6c 61 72    65 2d 66 75 6e 63 74 69 6f 6e 20 63 61 6c 69 62  | ils.el").(declare-function.calib | 
| 0820 |  72 65 64 62 2d 66 69 6e 64 2d 63 61 6e 64 69 64    61 74 65 2d 61 74 2d 70 6f 69 6e 74 20 22 63 61  | redb-find-candidate-at-point."ca | 
| 0840 |  6c 69 62 72 65 64 62 2d 75 74 69 6c 73 2e 65 6c    22 29 0a 28 64 65 63 6c 61 72 65 2d 66 75 6e 63  | libredb-utils.el").(declare-func | 
| 0860 |  74 69 6f 6e 20 63 61 6c 69 62 72 65 64 62 2d 72    65 61 64 2d 6d 65 74 61 64 61 74 61 73 20 22 63  | tion.calibredb-read-metadatas."c | 
| 0880 |  61 6c 69 62 72 65 64 62 2d 75 74 69 6c 73 2e 65    6c 22 29 0a 28 64 65 63 6c 61 72 65 2d 66 75 6e  | alibredb-utils.el").(declare-fun | 
| 08a0 |  63 74 69 6f 6e 20 63 61 6c 69 62 72 65 64 62 2d    73 65 61 72 63 68 2d 72 65 66 72 65 73 68 2d 6f  | ction.calibredb-search-refresh-o | 
| 08c0 |  72 2d 72 65 73 75 6d 65 20 22 63 61 6c 69 62 72    65 64 62 2d 73 65 61 72 63 68 2e 65 6c 22 29 0a  | r-resume."calibredb-search.el"). | 
| 08e0 |  0a 28 64 65 66 76 61 72 20 63 61 6c 69 62 72 65    64 62 2d 61 6e 6e 6f 74 61 74 69 6f 6e 2d 63 61  | .(defvar.calibredb-annotation-ca | 
| 0900 |  6e 64 69 64 61 74 65 20 6e 69 6c 0a 20 20 22 4c    6f 63 61 6c 20 76 61 72 69 61 62 6c 65 20 75 73  | ndidate.nil..."Local.variable.us | 
| 0920 |  65 64 20 69 6e 20 2a 63 61 6c 69 62 72 65 64 62    2d 61 6e 6e 6f 74 61 74 69 6f 6e 2a 2e 22 29 0a  | ed.in.*calibredb-annotation*."). | 
| 0940 |  28 64 65 66 76 61 72 20 63 61 6c 69 62 72 65 64    62 2d 61 6e 6e 6f 74 61 74 69 6f 6e 2d 70 61 72  | (defvar.calibredb-annotation-par | 
| 0960 |  61 6d 65 74 65 72 20 6e 69 6c 0a 20 20 22 4c 6f    63 61 6c 20 76 61 72 69 61 62 6c 65 20 75 73 65  | ameter.nil..."Local.variable.use | 
| 0980 |  64 20 69 6e 20 2a 63 61 6c 69 62 72 65 64 62 2d    61 6e 6e 6f 74 61 74 69 6f 6e 2a 2e 22 29 0a 0a  | d.in.*calibredb-annotation*.").. | 
| 09a0 |  28 64 65 66 76 61 72 20 63 61 6c 69 62 72 65 64    62 2d 65 64 69 74 2d 61 6e 6e 6f 74 61 74 69 6f  | (defvar.calibredb-edit-annotatio | 
| 09c0 |  6e 2d 68 65 61 64 65 72 2d 66 75 6e 63 74 69 6f    6e 20 23 27 63 61 6c 69 62 72 65 64 62 2d 65 64  | n-header-function.#'calibredb-ed | 
| 09e0 |  69 74 2d 61 6e 6e 6f 74 61 74 69 6f 6e 2d 68 65    61 64 65 72 0a 20 20 22 46 75 6e 63 74 69 6f 6e  | it-annotation-header..."Function | 
| 0a00 |  20 74 68 61 74 20 72 65 74 75 72 6e 73 20 74 68    65 20 73 74 72 69 6e 67 20 74 6f 20 62 65 20 75  | .that.returns.the.string.to.be.u | 
| 0a20 |  73 65 64 20 66 6f 72 20 74 68 65 20 43 61 6c 69    62 72 65 64 62 20 65 64 69 74 20 61 6e 6e 6f 74  | sed.for.the.Calibredb.edit.annot | 
| 0a40 |  61 74 69 6f 6e 20 68 65 61 64 65 72 2e 22 29 0a    0a 28 64 65 66 76 61 72 20 63 61 6c 69 62 72 65  | ation.header.")..(defvar.calibre | 
| 0a60 |  64 62 2d 65 64 69 74 2d 61 6e 6e 6f 74 61 74 69    6f 6e 2d 74 65 78 74 2d 66 75 6e 63 20 6e 69 6c  | db-edit-annotation-text-func.nil | 
| 0a80 |  0a 20 20 22 46 75 6e 63 74 69 6f 6e 20 74 6f 20    72 65 74 75 72 6e 20 64 65 66 61 75 6c 74 20 74  | ..."Function.to.return.default.t | 
| 0aa0 |  65 78 74 20 74 6f 20 75 73 65 20 66 6f 72 20 61    6e 20 65 62 6f 6f 6b 20 61 6e 6e 6f 74 61 74 69  | ext.to.use.for.an.ebook.annotati | 
| 0ac0 |  6f 6e 2e 0a 49 74 20 74 61 6b 65 73 20 6f 6e 65    20 61 72 67 75 6d 65 6e 74 2c 20 74 68 65 20 74  | on..It.takes.one.argument,.the.t | 
| 0ae0 |  69 74 6c 65 20 6f 66 20 74 68 65 20 65 62 6f 6f    6b 2c 20 61 73 20 61 20 73 74 72 69 6e 67 2e 0a  | itle.of.the.ebook,.as.a.string.. | 
| 0b00 |  49 74 20 63 6f 75 6c 64 20 62 65 20 66 75 6e 63    74 69 6f 6e 20 60 63 61 6c 69 62 72 65 64 62 2d  | It.could.be.function.`calibredb- | 
| 0b20 |  64 65 66 61 75 6c 74 2d 61 6e 6e 6f 74 61 74 69    6f 6e 2d 74 65 78 74 27 22 29 0a 0a 3b 3b 20 61  | default-annotation-text'")..;;.a | 
| 0b40 |  6e 6e 6f 74 61 74 69 6f 6e 0a 0a 28 64 65 66 69    6e 65 2d 64 65 72 69 76 65 64 2d 6d 6f 64 65 20  | nnotation..(define-derived-mode. | 
| 0b60 |  63 61 6c 69 62 72 65 64 62 2d 65 64 69 74 2d 61    6e 6e 6f 74 61 74 69 6f 6e 2d 6d 6f 64 65 20 6f  | calibredb-edit-annotation-mode.o | 
| 0b80 |  72 67 2d 6d 6f 64 65 20 22 63 61 6c 69 62 72 65    64 62 2d 65 64 69 74 2d 61 6e 6e 61 74 61 74 69  | rg-mode."calibredb-edit-annatati | 
| 0ba0 |  6f 6e 22 0a 20 20 22 4d 6f 64 65 20 66 6f 72 20    65 64 69 74 69 6e 67 20 74 68 65 20 61 6e 6e 6f  | on"..."Mode.for.editing.the.anno | 
| 0bc0 |  74 61 74 69 6f 6e 20 6f 66 20 61 20 65 62 6f 6f    6b 2e 0a 57 68 65 6e 20 79 6f 75 20 68 61 76 65  | tation.of.a.ebook..When.you.have | 
| 0be0 |  20 66 69 6e 69 73 68 65 64 20 63 6f 6d 70 6f 73    69 6e 67 2c 20 75 73 65 20 60 43 2d 63 20 43 2d  | .finished.composing,.use.`C-c.C- | 
| 0c00 |  63 27 2e 0a 5c 5c 7b 63 61 6c 69 62 72 65 64 62    2d 65 64 69 74 2d 61 6e 6e 6f 74 61 74 69 6f 6e  | c'..\\{calibredb-edit-annotation | 
| 0c20 |  2d 6d 6f 64 65 2d 6d 61 70 7d 22 0a 20 20 28 73    65 74 71 20 68 65 61 64 65 72 2d 6c 69 6e 65 2d  | -mode-map}"...(setq.header-line- | 
| 0c40 |  66 6f 72 6d 61 74 20 27 28 3a 65 76 61 6c 20 28    66 75 6e 63 61 6c 6c 20 63 61 6c 69 62 72 65 64  | format.'(:eval.(funcall.calibred | 
| 0c60 |  62 2d 65 64 69 74 2d 61 6e 6e 6f 74 61 74 69 6f    6e 2d 68 65 61 64 65 72 2d 66 75 6e 63 74 69 6f  | b-edit-annotation-header-functio | 
| 0c80 |  6e 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 63 61    6c 69 62 72 65 64 62 2d 65 64 69 74 2d 61 6e 6e  | n))))..(defun.calibredb-edit-ann | 
| 0ca0 |  6f 74 61 74 69 6f 6e 2d 68 65 61 64 65 72 20 28    29 0a 20 20 22 54 4f 44 4f 3a 20 52 65 74 75 72  | otation-header.()..."TODO:.Retur | 
| 0cc0 |  6e 20 74 68 65 20 73 74 72 69 6e 67 20 74 6f 20    62 65 20 75 73 65 64 20 61 73 20 74 68 65 20 43  | n.the.string.to.be.used.as.the.C | 
| 0ce0 |  61 6c 69 62 72 65 64 62 20 65 64 69 74 20 61 6e    6e 6f 74 61 74 69 6f 6e 20 68 65 61 64 65 72 2e  | alibredb.edit.annotation.header. | 
| 0d00 |  22 0a 20 20 28 66 6f 72 6d 61 74 20 22 25 73 20    2d 3e 20 45 64 69 74 20 41 6e 6e 6f 74 61 74 69  | "...(format."%s.->.Edit.Annotati | 
| 0d20 |  6f 6e 2e 20 25 73 20 25 73 22 0a 20 20 20 20 20    20 20 20 20 20 28 70 72 6f 70 65 72 74 69 7a 65  | on..%s.%s"...........(propertize | 
| 0d40 |  20 28 63 61 6c 69 62 72 65 64 62 2d 67 65 74 2d    69 6e 69 74 20 22 74 69 74 6c 65 22 20 63 61 6c  | .(calibredb-get-init."title".cal | 
| 0d60 |  69 62 72 65 64 62 2d 61 6e 6e 6f 74 61 74 69 6f    6e 2d 63 61 6e 64 69 64 61 74 65 29 20 27 66 61  | ibredb-annotation-candidate).'fa | 
| 0d80 |  63 65 20 27 63 61 6c 69 62 72 65 64 62 2d 65 64    69 74 2d 61 6e 6e 6f 74 61 74 69 6f 6e 2d 68 65  | ce.'calibredb-edit-annotation-he | 
| 0da0 |  61 64 65 72 2d 74 69 74 6c 65 2d 66 61 63 65 29    0a 20 20 20 20 20 20 20 20 20 20 20 22 46 69 6e  | ader-title-face)............"Fin | 
| 0dc0 |  69 73 68 20 27 43 2d 63 20 43 2d 63 27 2c 22 0a    20 20 20 20 20 20 20 20 20 20 20 22 61 62 6f 72  | ish.'C-c.C-c',"............"abor | 
| 0de0 |  74 20 27 43 2d 63 20 43 2d 6b 27 2e 22 29 29 0a    0a 28 64 65 66 75 6e 20 63 61 6c 69 62 72 65 64  | t.'C-c.C-k'."))..(defun.calibred | 
| 0e00 |  62 2d 65 64 69 74 2d 61 6e 6e 6f 74 61 74 69 6f    6e 20 28 26 6f 70 74 69 6f 6e 61 6c 20 63 61 6e  | b-edit-annotation.(&optional.can | 
| 0e20 |  64 69 64 61 74 65 29 0a 20 20 22 50 6f 70 20 75    70 20 61 20 62 75 66 66 65 72 20 66 6f 72 20 65  | didate)..."Pop.up.a.buffer.for.e | 
| 0e40 |  64 69 74 69 6e 67 20 65 62 6f 6f 6b 20 43 41 4e    44 49 44 41 54 45 27 73 20 61 6e 6e 6f 74 61 74  | diting.ebook.CANDIDATE's.annotat | 
| 0e60 |  69 6f 6e 2e 22 0a 20 20 28 69 6e 74 65 72 61 63    74 69 76 65 29 0a 20 20 28 6c 65 74 20 28 62 65  | ion."...(interactive)...(let.(be | 
| 0e80 |  67 20 70 6f 73 29 0a 20 20 20 20 3b 3b 20 73 61    76 65 20 74 68 65 20 6f 72 69 67 69 6e 61 6c 20  | g.pos).....;;.save.the.original. | 
| 0ea0 |  70 6f 73 69 74 69 6f 6e 20 74 65 6d 70 6f 72 61    72 79 2e 0a 20 20 20 20 28 73 65 74 71 20 62 65  | position.temporary......(setq.be | 
| 0ec0 |  67 20 28 70 6f 69 6e 74 29 29 0a 20 20 20 20 28    73 65 74 71 20 70 6f 73 20 28 77 69 6e 64 6f 77  | g.(point)).....(setq.pos.(window | 
| 0ee0 |  2d 73 74 61 72 74 29 29 0a 20 20 20 20 28 75 6e    6c 65 73 73 20 63 61 6e 64 69 64 61 74 65 0a 20  | -start)).....(unless.candidate.. | 
| 0f00 |  20 20 20 20 20 28 73 65 74 71 20 63 61 6e 64 69    64 61 74 65 20 28 63 61 72 20 28 63 61 6c 69 62  | .....(setq.candidate.(car.(calib | 
| 0f20 |  72 65 64 62 2d 66 69 6e 64 2d 63 61 6e 64 69 64    61 74 65 2d 61 74 2d 70 6f 69 6e 74 29 29 29 29  | redb-find-candidate-at-point)))) | 
| 0f40 |  0a 20 20 20 20 28 70 6f 70 2d 74 6f 2d 62 75 66    66 65 72 20 28 67 65 6e 65 72 61 74 65 2d 6e 65  | .....(pop-to-buffer.(generate-ne | 
| 0f60 |  77 2d 62 75 66 66 65 72 2d 6e 61 6d 65 20 22 2a    63 61 6c 69 62 72 65 64 62 2d 65 64 69 74 2d 61  | w-buffer-name."*calibredb-edit-a | 
| 0f80 |  6e 6e 61 74 61 74 69 6f 6e 2a 22 29 29 0a 20 20    20 20 28 63 61 6c 69 62 72 65 64 62 2d 69 6e 73  | nnatation*")).....(calibredb-ins | 
| 0fa0 |  65 72 74 2d 61 6e 6e 6f 74 61 74 69 6f 6e 20 63    61 6e 64 69 64 61 74 65 29 0a 20 20 20 20 28 63  | ert-annotation.candidate).....(c | 
| 0fc0 |  61 6c 69 62 72 65 64 62 2d 65 64 69 74 2d 61 6e    6e 6f 74 61 74 69 6f 6e 2d 6d 6f 64 65 29 0a 20  | alibredb-edit-annotation-mode).. | 
| 0fe0 |  20 20 20 28 73 65 74 20 28 6d 61 6b 65 2d 6c 6f    63 61 6c 2d 76 61 72 69 61 62 6c 65 20 27 63 61  | ...(set.(make-local-variable.'ca | 
| 1000 |  6c 69 62 72 65 64 62 2d 61 6e 6e 6f 74 61 74 69    6f 6e 2d 63 61 6e 64 69 64 61 74 65 29 20 63 61  | libredb-annotation-candidate).ca | 
| 1020 |  6e 64 69 64 61 74 65 29 0a 20 20 20 20 28 73 65    74 20 28 6d 61 6b 65 2d 6c 6f 63 61 6c 2d 76 61  | ndidate).....(set.(make-local-va | 
| 1040 |  72 69 61 62 6c 65 20 27 63 61 6c 69 62 72 65 64    62 2d 61 6e 6e 6f 74 61 74 69 6f 6e 2d 70 61 72  | riable.'calibredb-annotation-par | 
| 1060 |  61 6d 65 74 65 72 29 20 60 28 2c 62 65 67 20 2e    20 2c 70 6f 73 29 29 29 29 0a 0a 28 64 65 66 75  | ameter).`(,beg...,pos))))..(defu | 
| 1080 |  6e 20 63 61 6c 69 62 72 65 64 62 2d 64 65 66 61    75 6c 74 2d 61 6e 6e 6f 74 61 74 69 6f 6e 2d 74  | n.calibredb-default-annotation-t | 
| 10a0 |  65 78 74 20 28 74 69 74 6c 65 29 0a 20 20 22 52    65 74 75 72 6e 20 64 65 66 61 75 6c 74 20 61 6e  | ext.(title)..."Return.default.an | 
| 10c0 |  6e 6f 74 61 74 69 6f 6e 20 74 65 78 74 20 66 6f    72 20 54 49 54 4c 45 2e 0a 54 68 65 20 64 65 66  | notation.text.for.TITLE..The.def | 
| 10e0 |  61 75 6c 74 20 61 6e 6e 6f 74 61 74 69 6f 6e 20    74 65 78 74 20 69 73 20 73 69 6d 70 6c 79 20 73  | ault.annotation.text.is.simply.s | 
| 1100 |  6f 6d 65 20 74 65 78 74 20 65 78 70 6c 61 69 6e    69 6e 67 20 68 6f 77 20 74 6f 20 75 73 65 0a 61  | ome.text.explaining.how.to.use.a | 
| 1120 |  6e 6e 6f 74 61 74 69 6f 6e 73 2e 22 0a 20 20 28    63 6f 6e 63 61 74 20 22 23 20 20 54 79 70 65 20  | nnotations."...(concat."#..Type. | 
| 1140 |  74 68 65 20 61 6e 6e 6f 74 61 74 69 6f 6e 20 66    6f 72 20 69 74 65 6d 20 60 22 20 74 69 74 6c 65  | the.annotation.for.item.`".title | 
| 1160 |  20 22 27 20 68 65 72 65 2e 5c 6e 22 0a 20 20 20    20 20 20 20 20 20 20 22 23 20 20 41 6c 6c 20 6c  | ."'.here.\n"..........."#..All.l | 
| 1180 |  69 6e 65 73 20 74 68 61 74 20 73 74 61 72 74 20    77 69 74 68 20 61 20 60 23 27 20 77 69 6c 6c 20  | ines.that.start.with.a.`#'.will. | 
| 11a0 |  62 65 20 64 65 6c 65 74 65 64 2e 5c 6e 22 0a 20    20 20 20 20 20 20 20 20 20 22 23 20 20 54 79 70  | be.deleted.\n"..........."#..Typ | 
| 11c0 |  65 20 60 43 2d 63 20 43 2d 63 27 20 77 68 65 6e    20 64 6f 6e 65 2e 5c 6e 23 5c 6e 22 0a 20 20 20  | e.`C-c.C-c'.when.done.\n#\n".... | 
| 11e0 |  20 20 20 20 20 20 20 22 23 20 20 41 75 74 68 6f    72 3a 20 22 20 28 75 73 65 72 2d 66 75 6c 6c 2d  | ......."#..Author:.".(user-full- | 
| 1200 |  6e 61 6d 65 29 20 22 20 3c 22 20 28 75 73 65 72    2d 6c 6f 67 69 6e 2d 6e 61 6d 65 29 20 22 40 22  | name).".<".(user-login-name)."@" | 
| 1220 |  0a 20 20 20 20 20 20 20 20 20 20 28 73 79 73 74    65 6d 2d 6e 61 6d 65 29 20 22 3e 5c 6e 22 0a 20  | ...........(system-name).">\n".. | 
| 1240 |  20 20 20 20 20 20 20 20 20 22 23 20 20 44 61 74    65 3a 20 20 20 20 22 20 28 63 75 72 72 65 6e 74  | ........."#..Date:....".(current | 
| 1260 |  2d 74 69 6d 65 2d 73 74 72 69 6e 67 29 20 22 5c    6e 22 29 29 0a 0a 28 64 65 66 75 6e 20 63 61 6c  | -time-string)."\n"))..(defun.cal | 
| 1280 |  69 62 72 65 64 62 2d 69 6e 73 65 72 74 2d 61 6e    6e 6f 74 61 74 69 6f 6e 20 28 63 61 6e 64 69 64  | ibredb-insert-annotation.(candid | 
| 12a0 |  61 74 65 29 0a 20 20 22 49 6e 73 65 72 74 20 61    6e 6e 6f 74 61 74 69 6f 6e 20 66 6f 72 20 43 41  | ate)..."Insert.annotation.for.CA | 
| 12c0 |  4e 44 49 44 41 54 45 2e 22 0a 20 20 28 77 68 65    6e 20 63 61 6c 69 62 72 65 64 62 2d 65 64 69 74  | NDIDATE."...(when.calibredb-edit | 
| 12e0 |  2d 61 6e 6e 6f 74 61 74 69 6f 6e 2d 74 65 78 74    2d 66 75 6e 63 0a 20 20 20 20 28 69 6e 73 65 72  | -annotation-text-func.....(inser | 
| 1300 |  74 20 28 66 75 6e 63 61 6c 6c 20 63 61 6c 69 62    72 65 64 62 2d 65 64 69 74 2d 61 6e 6e 6f 74 61  | t.(funcall.calibredb-edit-annota | 
| 1320 |  74 69 6f 6e 2d 74 65 78 74 2d 66 75 6e 63 0a 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | tion-text-func.................. | 
| 1340 |  20 20 20 20 28 63 61 6c 69 62 72 65 64 62 2d 72    65 61 64 2d 6d 65 74 61 64 61 74 61 73 20 22 74  | ....(calibredb-read-metadatas."t | 
| 1360 |  69 74 6c 65 22 20 63 61 6e 64 69 64 61 74 65 29    29 29 29 0a 20 20 28 6c 65 74 20 28 28 61 6e 6e  | itle".candidate))))...(let.((ann | 
| 1380 |  6f 74 61 74 69 6f 6e 20 20 28 63 61 6c 69 62 72    65 64 62 2d 72 65 61 64 2d 6d 65 74 61 64 61 74  | otation..(calibredb-read-metadat | 
| 13a0 |  61 73 20 22 63 6f 6d 6d 65 6e 74 73 22 20 63 61    6e 64 69 64 61 74 65 29 29 29 0a 20 20 20 20 28  | as."comments".candidate))).....( | 
| 13c0 |  77 68 65 6e 20 28 61 6e 64 20 61 6e 6e 6f 74 61    74 69 6f 6e 20 20 28 6e 6f 74 20 28 73 74 72 69  | when.(and.annotation..(not.(stri | 
| 13e0 |  6e 67 2d 65 71 75 61 6c 20 61 6e 6e 6f 74 61 74    69 6f 6e 20 22 22 29 29 29 20 28 69 6e 73 65 72  | ng-equal.annotation.""))).(inser | 
| 1400 |  74 20 61 6e 6e 6f 74 61 74 69 6f 6e 29 29 29 29    0a 0a 28 64 65 66 75 6e 20 63 61 6c 69 62 72 65  | t.annotation))))..(defun.calibre | 
| 1420 |  64 62 2d 6b 69 6c 6c 2d 6c 69 6e 65 20 28 26 6f    70 74 69 6f 6e 61 6c 20 6e 65 77 6c 69 6e 65 2d  | db-kill-line.(&optional.newline- | 
| 1440 |  74 6f 6f 29 0a 20 20 22 4b 69 6c 6c 20 66 72 6f    6d 20 70 6f 69 6e 74 20 74 6f 20 65 6e 64 20 6f  | too)..."Kill.from.point.to.end.o | 
| 1460 |  66 20 6c 69 6e 65 2e 0a 49 66 20 6f 70 74 69 6f    6e 61 6c 20 61 72 67 20 4e 45 57 4c 49 4e 45 2d  | f.line..If.optional.arg.NEWLINE- | 
| 1480 |  54 4f 4f 20 69 73 20 6e 6f 6e 2d 6e 69 6c 2c 20    64 65 6c 65 74 65 20 74 68 65 20 6e 65 77 6c 69  | TOO.is.non-nil,.delete.the.newli | 
| 14a0 |  6e 65 20 74 6f 6f 2e 0a 44 6f 65 73 20 6e 6f 74    20 61 66 66 65 63 74 20 74 68 65 20 6b 69 6c 6c  | ne.too..Does.not.affect.the.kill | 
| 14c0 |  20 72 69 6e 67 2e 22 0a 20 20 28 6c 65 74 20 28    28 65 6f 6c 20 28 6c 69 6e 65 2d 65 6e 64 2d 70  | .ring."...(let.((eol.(line-end-p | 
| 14e0 |  6f 73 69 74 69 6f 6e 29 29 29 0a 20 20 20 20 28    64 65 6c 65 74 65 2d 72 65 67 69 6f 6e 20 28 70  | osition))).....(delete-region.(p | 
| 1500 |  6f 69 6e 74 29 20 65 6f 6c 29 0a 20 20 20 20 28    77 68 65 6e 20 28 61 6e 64 20 6e 65 77 6c 69 6e  | oint).eol).....(when.(and.newlin | 
| 1520 |  65 2d 74 6f 6f 20 28 3d 20 28 66 6f 6c 6c 6f 77    69 6e 67 2d 63 68 61 72 29 20 3f 5c 6e 29 29 0a  | e-too.(=.(following-char).?\n)). | 
| 1540 |  20 20 20 20 20 20 28 64 65 6c 65 74 65 2d 63 68    61 72 20 31 29 29 29 29 0a 0a 28 64 65 66 75 6e  | ......(delete-char.1))))..(defun | 
| 1560 |  20 63 61 6c 69 62 72 65 64 62 2d 73 65 6e 64 2d    65 64 69 74 65 64 2d 61 6e 6e 6f 74 61 74 69 6f  | .calibredb-send-edited-annotatio | 
| 1580 |  6e 20 28 29 0a 20 20 22 55 73 65 20 62 75 66 66    65 72 20 63 6f 6e 74 65 6e 74 73 20 61 73 20 61  | n.()..."Use.buffer.contents.as.a | 
| 15a0 |  6e 6e 6f 74 61 74 69 6f 6e 20 66 6f 72 20 61 6e    20 65 62 6f 6f 6b 2e 0a 4c 69 6e 65 73 20 62 65  | nnotation.for.an.ebook..Lines.be | 
| 15c0 |  67 69 6e 6e 69 6e 67 20 77 69 74 68 20 60 23 27    20 61 72 65 20 69 67 6e 6f 72 65 64 2e 0a 42 6f  | ginning.with.`#'.are.ignored..Bo | 
| 15e0 |  75 6e 64 20 74 6f 20 5c 5c 3c 43 2d 63 43 2d 63    3e 20 69 6e 20 60 63 61 6c 69 62 72 65 64 62 2d  | und.to.\\<C-cC-c>.in.`calibredb- | 
| 1600 |  65 64 69 74 2d 61 6e 6e 6f 74 61 74 69 6f 6e 2d    6d 6f 64 65 27 2e 22 0a 20 20 28 69 6e 74 65 72  | edit-annotation-mode'."...(inter | 
| 1620 |  61 63 74 69 76 65 29 0a 20 20 28 75 6e 6c 65 73    73 20 28 64 65 72 69 76 65 64 2d 6d 6f 64 65 2d  | active)...(unless.(derived-mode- | 
| 1640 |  70 20 27 63 61 6c 69 62 72 65 64 62 2d 65 64 69    74 2d 61 6e 6e 6f 74 61 74 69 6f 6e 2d 6d 6f 64  | p.'calibredb-edit-annotation-mod | 
| 1660 |  65 29 0a 20 20 20 20 28 65 72 72 6f 72 20 22 4e    6f 74 20 69 6e 20 6d 6f 64 65 20 64 65 72 69 76  | e).....(error."Not.in.mode.deriv | 
| 1680 |  65 64 20 66 72 6f 6d 20 60 63 61 6c 69 62 72 65    64 62 2d 65 64 69 74 2d 61 6e 6e 6f 74 61 74 69  | ed.from.`calibredb-edit-annotati | 
| 16a0 |  6f 6e 2d 6d 6f 64 65 27 22 29 29 0a 20 20 28 67    6f 74 6f 2d 63 68 61 72 20 28 70 6f 69 6e 74 2d  | on-mode'"))...(goto-char.(point- | 
| 16c0 |  6d 69 6e 29 29 0a 20 20 3b 3b 20 28 77 68 69 6c    65 20 28 3c 20 28 70 6f 69 6e 74 29 20 28 70 6f  | min))...;;.(while.(<.(point).(po | 
| 16e0 |  69 6e 74 2d 6d 61 78 29 29 20 28 69 66 20 28 3d    20 28 66 6f 6c 6c 6f 77 69 6e 67 2d 63 68 61 72  | int-max)).(if.(=.(following-char | 
| 1700 |  29 20 3f 23 29 20 28 63 61 6c 69 62 72 65 64 62    2d 6b 69 6c 6c 2d 6c 69 6e 65 20 74 29 20 28 66  | ).?#).(calibredb-kill-line.t).(f | 
| 1720 |  6f 72 77 61 72 64 2d 6c 69 6e 65 20 31 29 29 29    0a 20 20 28 6c 65 74 20 28 28 61 6e 6e 6f 74 61  | orward-line.1)))...(let.((annota | 
| 1740 |  74 69 6f 6e 20 20 20 20 20 20 28 62 75 66 66 65    72 2d 73 75 62 73 74 72 69 6e 67 2d 6e 6f 2d 70  | tion......(buffer-substring-no-p | 
| 1760 |  72 6f 70 65 72 74 69 65 73 20 28 70 6f 69 6e 74    2d 6d 69 6e 29 20 28 70 6f 69 6e 74 2d 6d 61 78  | roperties.(point-min).(point-max | 
| 1780 |  29 29 29 0a 20 20 20 20 20 20 20 20 28 63 61 6e    64 69 64 61 74 65 20 20 20 20 20 20 20 20 63 61  | ))).........(candidate........ca | 
| 17a0 |  6c 69 62 72 65 64 62 2d 61 6e 6e 6f 74 61 74 69    6f 6e 2d 63 61 6e 64 69 64 61 74 65 29 0a 20 20  | libredb-annotation-candidate)... | 
| 17c0 |  20 20 20 20 20 20 28 62 65 67 20 20 20 20 20 20    20 20 28 63 61 72 20 63 61 6c 69 62 72 65 64 62  | ......(beg........(car.calibredb | 
| 17e0 |  2d 61 6e 6e 6f 74 61 74 69 6f 6e 2d 70 61 72 61    6d 65 74 65 72 29 29 0a 20 20 20 20 20 20 20 20  | -annotation-parameter))......... | 
| 1800 |  28 70 6f 73 20 20 20 20 20 20 20 20 28 63 64 72    20 63 61 6c 69 62 72 65 64 62 2d 61 6e 6e 6f 74  | (pos........(cdr.calibredb-annot | 
| 1820 |  61 74 69 6f 6e 2d 70 61 72 61 6d 65 74 65 72 29    29 29 0a 20 20 20 20 28 77 68 65 6e 20 28 73 74  | ation-parameter))).....(when.(st | 
| 1840 |  72 69 6e 67 3d 20 61 6e 6e 6f 74 61 74 69 6f 6e    20 22 22 29 20 28 73 65 74 71 20 61 6e 6e 6f 74  | ring=.annotation."").(setq.annot | 
| 1860 |  61 74 69 6f 6e 20 6e 69 6c 29 29 0a 20 20 20 20    28 63 61 6c 69 62 72 65 64 62 2d 63 6f 6d 6d 61  | ation.nil)).....(calibredb-comma | 
| 1880 |  6e 64 20 3a 63 6f 6d 6d 61 6e 64 20 22 73 65 74    5f 6d 65 74 61 64 61 74 61 22 0a 20 20 20 20 20  | nd.:command."set_metadata"...... | 
| 18a0 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 3a 6f 70 74 69 6f 6e 20 28 66 6f 72 6d 61  | ..................:option.(forma | 
| 18c0 |  74 20 22 2d 2d 66 69 65 6c 64 20 25 73 3a 25 73    20 22 20 63 61 6c 69 62 72 65 64 62 2d 61 6e 6e  | t."--field.%s:%s.".calibredb-ann | 
| 18e0 |  6f 74 61 74 69 6f 6e 2d 66 69 65 6c 64 20 28 70    72 69 6e 31 2d 74 6f 2d 73 74 72 69 6e 67 20 61  | otation-field.(prin1-to-string.a | 
| 1900 |  6e 6e 6f 74 61 74 69 6f 6e 29 29 0a 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | nnotation))..................... | 
| 1920 |  20 20 20 3a 69 64 20 28 63 61 6c 69 62 72 65 64    62 2d 67 65 74 61 74 74 72 20 63 61 6e 64 69 64  | ...:id.(calibredb-getattr.candid | 
| 1940 |  61 74 65 20 3a 69 64 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  | ate.:id)........................ | 
| 1960 |  3a 6c 69 62 72 61 72 79 20 28 66 6f 72 6d 61 74    20 22 2d 2d 6c 69 62 72 61 72 79 2d 70 61 74 68  | :library.(format."--library-path | 
| 1980 |  20 5c 22 25 73 5c 22 22 20 63 61 6c 69 62 72 65    64 62 2d 72 6f 6f 74 2d 64 69 72 29 29 0a 20 20  | .\"%s\"".calibredb-root-dir))... | 
| 19a0 |  20 20 28 63 61 6c 69 62 72 65 64 62 2d 61 6e 6e    6f 74 61 74 69 6f 6e 2d 71 75 69 74 29 0a 20 20  | ..(calibredb-annotation-quit)... | 
| 19c0 |  20 20 28 63 61 6c 69 62 72 65 64 62 2d 73 65 61    72 63 68 2d 72 65 66 72 65 73 68 2d 6f 72 2d 72  | ..(calibredb-search-refresh-or-r | 
| 19e0 |  65 73 75 6d 65 20 62 65 67 20 70 6f 73 29 29 29    0a 0a 28 64 65 66 75 6e 20 63 61 6c 69 62 72 65  | esume.beg.pos)))..(defun.calibre | 
| 1a00 |  64 62 2d 61 6e 6e 6f 74 61 74 69 6f 6e 2d 71 75    69 74 20 28 29 0a 20 20 22 51 75 69 74 20 2a 63  | db-annotation-quit.()..."Quit.*c | 
| 1a20 |  61 6c 69 62 72 65 64 62 2d 65 64 69 74 2d 61 6e    6e 61 74 61 74 69 6f 6e 2a 2e 0a 42 6f 75 6e 64  | alibredb-edit-annatation*..Bound | 
| 1a40 |  20 74 6f 20 5c 5c 3c 43 2d 63 43 2d 6b 3e 20 69    6e 20 60 63 61 6c 69 62 72 65 64 62 2d 65 64 69  | .to.\\<C-cC-k>.in.`calibredb-edi | 
| 1a60 |  74 2d 61 6e 6e 6f 74 61 74 69 6f 6e 2d 6d 6f 64    65 27 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74  | t-annotation-mode'."...(interact | 
| 1a80 |  69 76 65 29 0a 20 20 28 77 68 65 6e 20 28 65 71    20 6d 61 6a 6f 72 2d 6d 6f 64 65 20 27 63 61 6c  | ive)...(when.(eq.major-mode.'cal | 
| 1aa0 |  69 62 72 65 64 62 2d 65 64 69 74 2d 61 6e 6e 6f    74 61 74 69 6f 6e 2d 6d 6f 64 65 29 0a 20 20 20  | ibredb-edit-annotation-mode).... | 
| 1ac0 |  20 28 69 66 20 28 3c 20 28 6c 65 6e 67 74 68 20    28 77 69 6e 64 6f 77 2d 70 72 65 76 2d 62 75 66  | .(if.(<.(length.(window-prev-buf | 
| 1ae0 |  66 65 72 73 29 29 20 32 29 0a 20 20 20 20 20 20    20 20 28 70 72 6f 67 6e 0a 20 20 20 20 20 20 20  | fers)).2).........(progn........ | 
| 1b00 |  20 20 20 28 71 75 69 74 2d 77 69 6e 64 6f 77 29    0a 20 20 20 20 20 20 20 20 20 20 28 6b 69 6c 6c  | ...(quit-window)...........(kill | 
| 1b20 |  2d 62 75 66 66 65 72 20 22 2a 63 61 6c 69 62 72    65 64 62 2d 65 64 69 74 2d 61 6e 6e 61 74 61 74  | -buffer."*calibredb-edit-annatat | 
| 1b40 |  69 6f 6e 2a 22 29 29 0a 20 20 20 20 20 20 28 6b    69 6c 6c 2d 62 75 66 66 65 72 29 29 29 29 0a 0a  | ion*")).......(kill-buffer)))).. | 
| 1b60 |  28 70 72 6f 76 69 64 65 20 27 63 61 6c 69 62 72    65 64 62 2d 61 6e 6e 6f 74 61 74 69 6f 6e 29 0a  | (provide.'calibredb-annotation). | 
| 1b80 |  0a 3b 3b 3b 20 63 61 6c 69 62 72 65 64 62 2d 61    6e 6e 6f 74 61 74 69 6f 6e 2e 65 6c 20 65 6e 64  | .;;;.calibredb-annotation.el.end | 
| 1ba0 |  73 20 68 65 72 65 0a 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | s.here.......................... | 
| 1bc0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 1be0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 1c00 |  63 61 6c 69 62 72 65 64 62 2d 32 30 32 35 30 37    30 35 2e 32 32 35 2f 63 61 6c 69 62 72 65 64 62  | calibredb-20250705.225/calibredb | 
| 1c20 |  2d 63 6f 6e 73 75 6c 74 2e 65 6c 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | -consult.el..................... | 
| 1c40 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 1c60 |  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 | 
| 1c80 |  30 30 31 33 34 33 36 00 30 30 30 30 30 30 30 30    30 30 30 00 30 31 36 35 36 32 00 20 30 00 00 00  | 0013436.00000000000.016562..0... | 
| 1ca0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 1cc0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 1ce0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 1d00 |  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................... | 
| 1d20 |  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................... | 
| 1d40 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 1d60 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 1d80 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 1da0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 1dc0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 1de0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 1e00 |  3b 3b 3b 20 63 61 6c 69 62 72 65 64 62 2d 63 6f    6e 73 75 6c 74 2e 65 6c 20 2d 2d 2d 20 53 75 70  | ;;;.calibredb-consult.el.---.Sup | 
| 1e20 |  70 6f 72 74 20 63 6f 6e 73 75 6c 74 20 66 6f 72    20 63 61 6c 69 62 72 65 64 62 20 2d 2a 2d 20 6c  | port.consult.for.calibredb.-*-.l | 
| 1e40 |  65 78 69 63 61 6c 2d 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  | exical-binding:.t;.-*-..;;.Copyr | 
| 1e60 |  69 67 68 74 20 28 43 29 20 32 30 32 30 20 44 61    6d 6f 6e 20 43 68 61 6e 0a 0a 3b 3b 20 41 75 74  | ight.(C).2020.Damon.Chan..;;.Aut | 
| 1e80 |  68 6f 72 3a 20 44 61 6d 6f 6e 20 43 68 61 6e 20    3c 65 6c 65 63 6d 69 6e 67 40 67 6d 61 69 6c 2e  | hor:.Damon.Chan.<elecming@gmail. | 
| 1ea0 |  63 6f 6d 3e 0a 3b 3b 20 55 52 4c 3a 20 68 74 74    70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f  | com>.;;.URL:.https://github.com/ | 
| 1ec0 |  63 68 65 6e 79 61 6e 6d 69 6e 67 2f 63 61 6c 69    62 72 65 64 62 2e 65 6c 0a 3b 3b 20 4b 65 79 77  | chenyanming/calibredb.el.;;.Keyw | 
| 1ee0 |  6f 72 64 73 3a 20 74 6f 6f 6c 73 0a 0a 3b 3b 20    54 68 69 73 20 66 69 6c 65 20 69 73 20 4e 4f 54  | ords:.tools..;;.This.file.is.NOT | 
| 1f00 |  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 70 72 6f  | .part.of.GNU.Emacs...;;.This.pro | 
| 1f20 |  67 72 61 6d 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  | gram.is.free.software;.you.can.r | 
| 1f40 |  65 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  | edistribute.it.and/or.modify.;;. | 
| 1f60 |  69 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  | it.under.the.terms.of.the.GNU.Ge | 
| 1f80 |  6e 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  | neral.Public.License.as.publishe | 
| 1fa0 |  64 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  | d.by.;;.the.Free.Software.Founda | 
| 1fc0 |  74 69 6f 6e 2c 20 65 69 74 68 65 72 20 76 65 72    73 69 6f 6e 20 33 20 6f 66 20 74 68 65 20 4c 69  | tion,.either.version.3.of.the.Li | 
| 1fe0 |  63 65 6e 73 65 2c 20 6f 72 0a 3b 3b 20 28 61 74    20 79 6f 75 72 20 6f 70 74 69 6f 6e 29 20 61 6e  | cense,.or.;;.(at.your.option).an | 
| 2000 |  79 20 6c 61 74 65 72 20 76 65 72 73 69 6f 6e 2e    0a 0a 3b 3b 20 54 68 69 73 20 70 72 6f 67 72 61  | y.later.version...;;.This.progra | 
| 2020 |  6d 20 69 73 20 64 69 73 74 72 69 62 75 74 65 64    20 69 6e 20 74 68 65 20 68 6f 70 65 20 74 68 61  | m.is.distributed.in.the.hope.tha | 
| 2040 |  74 20 69 74 20 77 69 6c 6c 20 62 65 20 75 73 65    66 75 6c 2c 0a 3b 3b 20 62 75 74 20 57 49 54 48  | t.it.will.be.useful,.;;.but.WITH | 
| 2060 |  4f 55 54 20 41 4e 59 20 57 41 52 52 41 4e 54 59    3b 20 77 69 74 68 6f 75 74 20 65 76 65 6e 20 74  | OUT.ANY.WARRANTY;.without.even.t | 
| 2080 |  68 65 20 69 6d 70 6c 69 65 64 20 77 61 72 72 61    6e 74 79 20 6f 66 0a 3b 3b 20 4d 45 52 43 48 41  | he.implied.warranty.of.;;.MERCHA | 
| 20a0 |  4e 54 41 42 49 4c 49 54 59 20 6f 72 20 46 49 54    4e 45 53 53 20 46 4f 52 20 41 20 50 41 52 54 49  | NTABILITY.or.FITNESS.FOR.A.PARTI | 
| 20c0 |  43 55 4c 41 52 20 50 55 52 50 4f 53 45 2e 20 20    53 65 65 20 74 68 65 0a 3b 3b 20 47 4e 55 20 47  | CULAR.PURPOSE...See.the.;;.GNU.G | 
| 20e0 |  65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69    63 65 6e 73 65 20 66 6f 72 20 6d 6f 72 65 20 64  | eneral.Public.License.for.more.d | 
| 2100 |  65 74 61 69 6c 73 2e 0a 0a 3b 3b 20 59 6f 75 20    73 68 6f 75 6c 64 20 68 61 76 65 20 72 65 63 65  | etails...;;.You.should.have.rece | 
| 2120 |  69 76 65 64 20 61 20 63 6f 70 79 20 6f 66 20 74    68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50  | ived.a.copy.of.the.GNU.General.P | 
| 2140 |  75 62 6c 69 63 20 4c 69 63 65 6e 73 65 0a 3b 3b    20 61 6c 6f 6e 67 20 77 69 74 68 20 74 68 69 73  | ublic.License.;;.along.with.this | 
| 2160 |  20 70 72 6f 67 72 61 6d 2e 20 20 49 66 20 6e 6f    74 2c 20 73 65 65 20 3c 68 74 74 70 73 3a 2f 2f  | .program...If.not,.see.<https:// | 
| 2180 |  77 77 77 2e 67 6e 75 2e 6f 72 67 2f 6c 69 63 65    6e 73 65 73 2f 3e 2e 0a 0a 3b 3b 3b 20 43 6f 6d  | www.gnu.org/licenses/>...;;;.Com | 
| 21a0 |  6d 65 6e 74 61 72 79 3a 0a 0a 3b 3b 3b 20 43 6f    64 65 3a 0a 0a 28 72 65 71 75 69 72 65 20 27 63  | mentary:..;;;.Code:..(require.'c | 
| 21c0 |  61 6c 69 62 72 65 64 62 2d 63 6f 72 65 29 0a 28    72 65 71 75 69 72 65 20 27 63 61 6c 69 62 72 65  | alibredb-core).(require.'calibre | 
| 21e0 |  64 62 2d 73 65 61 72 63 68 29 0a 28 72 65 71 75    69 72 65 20 27 63 61 6c 69 62 72 65 64 62 2d 75  | db-search).(require.'calibredb-u | 
| 2200 |  74 69 6c 73 29 0a 0a 0a 28 64 65 66 63 75 73 74    6f 6d 20 63 61 6c 69 62 72 65 64 62 2d 63 6f 6e  | tils)...(defcustom.calibredb-con | 
| 2220 |  73 75 6c 74 2d 72 69 70 67 72 65 70 2d 61 6c 6c    2d 61 72 67 73 0a 20 20 22 72 67 61 20 2d 2d 6e  | sult-ripgrep-all-args..."rga.--n | 
| 2240 |  75 6c 6c 20 2d 2d 6c 69 6e 65 2d 62 75 66 66 65    72 65 64 20 2d 2d 63 6f 6c 6f 72 3d 6e 65 76 65  | ull.--line-buffered.--color=neve | 
| 2260 |  72 20 2d 2d 6d 61 78 2d 63 6f 6c 75 6d 6e 73 3d    31 30 30 30 20 2d 2d 70 61 74 68 2d 73 65 70 61  | r.--max-columns=1000.--path-sepa | 
| 2280 |  72 61 74 6f 72 20 2f 5c 20 20 2d 2d 73 6d 61 72    74 2d 63 61 73 65 20 2d 2d 6e 6f 2d 68 65 61 64  | rator./\..--smart-case.--no-head | 
| 22a0 |  69 6e 67 20 2d 2d 77 69 74 68 2d 66 69 6c 65 6e    61 6d 65 20 2d 2d 6c 69 6e 65 2d 6e 75 6d 62 65  | ing.--with-filename.--line-numbe | 
| 22c0 |  72 20 2d 2d 74 79 70 65 20 70 64 66 22 0a 20 20    22 43 6f 6d 6d 61 6e 64 20 6c 69 6e 65 20 61 72  | r.--type.pdf"..."Command.line.ar | 
| 22e0 |  67 75 6d 65 6e 74 73 20 66 6f 72 20 72 69 70 67    72 65 70 2c 20 73 65 65 20 60 63 61 6c 69 62 72  | guments.for.ripgrep,.see.`calibr | 
| 2300 |  65 64 62 2d 63 6f 6e 73 75 6c 74 2d 72 69 70 67    72 65 70 2d 61 6c 6c 27 2e 0a 54 68 65 20 64 79  | edb-consult-ripgrep-all'..The.dy | 
| 2320 |  6e 61 6d 69 63 61 6c 6c 79 20 63 6f 6d 70 75 74    65 64 20 61 72 67 75 6d 65 6e 74 73 20 61 72 65  | namically.computed.arguments.are | 
| 2340 |  20 61 70 70 65 6e 64 65 64 2e 0a 43 61 6e 20 62    65 20 65 69 74 68 65 72 20 61 20 73 74 72 69 6e  | .appended..Can.be.either.a.strin | 
| 2360 |  67 2c 20 6f 72 20 61 20 6c 69 73 74 20 6f 66 20    73 74 72 69 6e 67 73 20 6f 72 20 65 78 70 72 65  | g,.or.a.list.of.strings.or.expre | 
| 2380 |  73 73 69 6f 6e 73 2e 22 0a 20 20 3a 74 79 70 65    20 27 28 63 68 6f 69 63 65 20 73 74 72 69 6e 67  | ssions."...:type.'(choice.string | 
| 23a0 |  20 28 72 65 70 65 61 74 20 28 63 68 6f 69 63 65    20 73 74 72 69 6e 67 20 65 78 70 72 65 73 73 69  | .(repeat.(choice.string.expressi | 
| 23c0 |  6f 6e 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 63    61 6c 69 62 72 65 64 62 2d 63 6f 6e 73 75 6c 74  | on))))..(defun.calibredb-consult | 
| 23e0 |  2d 72 65 61 64 20 28 61 72 67 29 0a 20 20 22 63    6f 6e 73 75 6c 74 20 72 65 61 64 20 66 6f 72 20  | -read.(arg)..."consult.read.for. | 
| 2400 |  63 61 6c 69 62 72 65 64 62 2e 22 0a 20 20 28 69    6e 74 65 72 61 63 74 69 76 65 20 22 50 22 29 0a  | calibredb."...(interactive."P"). | 
| 2420 |  20 20 28 69 66 20 28 66 62 6f 75 6e 64 70 20 27    63 6f 6e 73 75 6c 74 2d 2d 72 65 61 64 29 0a 20  | ..(if.(fboundp.'consult--read).. | 
| 2440 |  20 20 20 20 20 28 6c 65 74 20 28 28 63 61 6e 64    69 64 61 74 65 73 20 28 63 61 6c 69 62 72 65 64  | .....(let.((candidates.(calibred | 
| 2460 |  62 2d 63 61 6e 64 69 64 61 74 65 73 29 29 29 0a    20 20 20 20 20 20 20 20 28 69 66 20 63 61 6e 64  | b-candidates))).........(if.cand | 
| 2480 |  69 64 61 74 65 73 0a 20 20 20 20 20 20 20 20 20    20 20 20 28 63 61 6c 69 62 72 65 64 62 2d 66 69  | idates.............(calibredb-fi | 
| 24a0 |  6e 64 2d 66 69 6c 65 20 28 63 6f 6e 73 75 6c 74    2d 2d 72 65 61 64 20 63 61 6e 64 69 64 61 74 65  | nd-file.(consult--read.candidate | 
| 24c0 |  73 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 3a 70 72  | s............................:pr | 
| 24e0 |  6f 6d 70 74 20 22 50 69 63 6b 20 61 20 62 6f 6f    6b 3a 20 22 0a 20 20 20 20 20 20 20 20 20 20 20  | ompt."Pick.a.book:."............ | 
| 2500 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    3a 6c 6f 6f 6b 75 70 20 23 27 63 6f 6e 73 75 6c  | ................:lookup.#'consul | 
| 2520 |  74 2d 2d 6c 6f 6f 6b 75 70 2d 63 64 72 0a 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | t--lookup-cdr................... | 
| 2540 |  20 20 20 20 20 20 20 20 20 3a 73 6f 72 74 20 6e    69 6c 29 20 61 72 67 29 0a 20 20 20 20 20 20 20  | .........:sort.nil).arg)........ | 
| 2560 |  20 20 20 28 6d 65 73 73 61 67 65 20 22 49 4e 56    41 4c 49 44 20 4c 49 42 52 41 52 59 22 29 29 29  | ...(message."INVALID.LIBRARY"))) | 
| 2580 |  29 29 0a 0a 0a 28 64 65 66 75 6e 20 63 61 6c 69    62 72 65 64 62 2d 63 6f 6e 73 75 6c 74 2d 2d 72  | ))...(defun.calibredb-consult--r | 
| 25a0 |  69 70 67 72 65 70 2d 61 6c 6c 2d 6d 61 6b 65 2d    62 75 69 6c 64 65 72 20 28 70 61 74 68 73 29 0a  | ipgrep-all-make-builder.(paths). | 
| 25c0 |  20 20 22 43 72 65 61 74 65 20 72 69 70 67 72 65    70 20 63 6f 6d 6d 61 6e 64 20 6c 69 6e 65 20 62  | .."Create.ripgrep.command.line.b | 
| 25e0 |  75 69 6c 64 65 72 20 67 69 76 65 6e 20 50 41 54    48 53 2e 22 0a 20 20 28 6c 65 74 2a 20 28 28 63  | uilder.given.PATHS."...(let*.((c | 
| 2600 |  6d 64 20 28 63 6f 6e 73 75 6c 74 2d 2d 62 75 69    6c 64 2d 61 72 67 73 20 63 61 6c 69 62 72 65 64  | md.(consult--build-args.calibred | 
| 2620 |  62 2d 63 6f 6e 73 75 6c 74 2d 72 69 70 67 72 65    70 2d 61 6c 6c 2d 61 72 67 73 29 29 0a 20 20 20  | b-consult-ripgrep-all-args)).... | 
| 2640 |  20 20 20 20 20 20 28 74 79 70 65 20 28 69 66 20    28 63 6f 6e 73 75 6c 74 2d 2d 67 72 65 70 2d 6c  | ......(type.(if.(consult--grep-l | 
| 2660 |  6f 6f 6b 61 68 65 61 64 2d 70 20 28 63 61 72 20    63 6d 64 29 20 22 2d 50 22 29 20 27 70 63 72 65  | ookahead-p.(car.cmd)."-P").'pcre | 
| 2680 |  20 27 65 78 74 65 6e 64 65 64 29 29 29 0a 20 20    20 20 28 6c 61 6d 62 64 61 20 28 69 6e 70 75 74  | .'extended))).....(lambda.(input | 
| 26a0 |  29 0a 20 20 20 20 20 20 28 70 63 61 73 65 2d 6c    65 74 2a 20 28 28 60 28 2c 61 72 67 20 2e 20 2c  | ).......(pcase-let*.((`(,arg..., | 
| 26c0 |  6f 70 74 73 29 20 28 63 6f 6e 73 75 6c 74 2d 2d    63 6f 6d 6d 61 6e 64 2d 73 70 6c 69 74 20 69 6e  | opts).(consult--command-split.in | 
| 26e0 |  70 75 74 29 29 0a 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 28 66 6c 61 67 73 20  | put))....................(flags. | 
| 2700 |  28 61 70 70 65 6e 64 20 63 6d 64 20 6f 70 74 73    29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  | (append.cmd.opts)).............. | 
| 2720 |  20 20 20 20 20 20 28 69 67 6e 6f 72 65 2d 63 61    73 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  | ......(ignore-case.............. | 
| 2740 |  20 20 20 20 20 20 20 28 61 6e 64 20 28 6e 6f 74    20 28 6f 72 20 28 6d 65 6d 62 65 72 20 22 2d 73  | .......(and.(not.(or.(member."-s | 
| 2760 |  22 20 66 6c 61 67 73 29 20 28 6d 65 6d 62 65 72    20 22 2d 2d 63 61 73 65 2d 73 65 6e 73 69 74 69  | ".flags).(member."--case-sensiti | 
| 2780 |  76 65 22 20 66 6c 61 67 73 29 29 29 0a 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | ve".flags))).................... | 
| 27a0 |  20 20 20 20 20 20 28 6f 72 20 28 6d 65 6d 62 65    72 20 22 2d 69 22 20 66 6c 61 67 73 29 20 28 6d  | ......(or.(member."-i".flags).(m | 
| 27c0 |  65 6d 62 65 72 20 22 2d 2d 69 67 6e 6f 72 65 2d    63 61 73 65 22 20 66 6c 61 67 73 29 0a 20 20 20  | ember."--ignore-case".flags).... | 
| 27e0 |  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 6e 64 20 28  | ..........................(and.( | 
| 2800 |  6f 72 20 28 6d 65 6d 62 65 72 20 22 2d 53 22 20    66 6c 61 67 73 29 20 28 6d 65 6d 62 65 72 20 22  | or.(member."-S".flags).(member." | 
| 2820 |  2d 2d 73 6d 61 72 74 2d 63 61 73 65 22 20 66 6c    61 67 73 29 29 0a 20 20 20 20 20 20 20 20 20 20  | --smart-case".flags))........... | 
| 2840 |  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 6c 65 74 20 28 63 61  | ........................(let.(ca | 
| 2860 |  73 65 2d 66 6f 6c 64 2d 73 65 61 72 63 68 29 0a    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | se-fold-search)................. | 
| 2880 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 3b 3b 20 43 61 73 65 20 69 6e 73 65  | ....................;;.Case.inse | 
| 28a0 |  6e 73 69 74 69 76 65 20 69 66 20 74 68 65 72 65    20 61 72 65 20 6e 6f 20 75 70 70 65 72 63 61 73  | nsitive.if.there.are.no.uppercas | 
| 28c0 |  65 20 6c 65 74 74 65 72 73 0a 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | e.letters....................... | 
| 28e0 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6e    6f 74 20 28 73 74 72 69 6e 67 2d 6d 61 74 63 68  | ..............(not.(string-match | 
| 2900 |  2d 70 20 22 5b 5b 3a 75 70 70 65 72 3a 5d 5d 22    20 61 72 67 29 29 29 29 29 29 29 29 0a 20 20 20  | -p."[[:upper:]]".arg)))))))).... | 
| 2920 |  20 20 20 20 20 28 69 66 20 28 6f 72 20 28 6d 65    6d 62 65 72 20 22 2d 46 22 20 66 6c 61 67 73 29  | .....(if.(or.(member."-F".flags) | 
| 2940 |  20 28 6d 65 6d 62 65 72 20 22 2d 2d 66 69 78 65    64 2d 73 74 72 69 6e 67 73 22 20 66 6c 61 67 73  | .(member."--fixed-strings".flags | 
| 2960 |  29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28    63 6f 6e 73 20 28 61 70 70 65 6e 64 20 63 6d 64  | )).............(cons.(append.cmd | 
| 2980 |  20 28 6c 69 73 74 20 22 2d 65 22 20 61 72 67 29    20 6f 70 74 73 20 70 61 74 68 73 29 0a 20 20 20  | .(list."-e".arg).opts.paths).... | 
| 29a0 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28    61 70 70 6c 79 2d 70 61 72 74 69 61 6c 6c 79 20  | ...............(apply-partially. | 
| 29c0 |  23 27 63 6f 6e 73 75 6c 74 2d 2d 68 69 67 68 6c    69 67 68 74 2d 72 65 67 65 78 70 73 0a 20 20 20  | #'consult--highlight-regexps.... | 
| 29e0 |  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  | ................................ | 
| 2a00 |  28 6c 69 73 74 20 28 72 65 67 65 78 70 2d 71 75    6f 74 65 20 61 72 67 29 29 20 69 67 6e 6f 72 65  | (list.(regexp-quote.arg)).ignore | 
| 2a20 |  2d 63 61 73 65 29 29 0a 20 20 20 20 20 20 20 20    20 20 28 70 63 61 73 65 2d 6c 65 74 20 28 28 60  | -case))...........(pcase-let.((` | 
| 2a40 |  28 2c 72 65 20 2e 20 2c 68 6c 29 20 28 66 75 6e    63 61 6c 6c 20 63 6f 6e 73 75 6c 74 2d 2d 72 65  | (,re...,hl).(funcall.consult--re | 
| 2a60 |  67 65 78 70 2d 63 6f 6d 70 69 6c 65 72 20 61 72    67 20 74 79 70 65 20 69 67 6e 6f 72 65 2d 63 61  | gexp-compiler.arg.type.ignore-ca | 
| 2a80 |  73 65 29 29 29 0a 20 20 20 20 20 20 20 20 20 20    20 20 28 77 68 65 6e 20 72 65 0a 20 20 20 20 20  | se))).............(when.re...... | 
| 2aa0 |  20 20 20 20 20 20 20 20 20 28 63 6f 6e 73 20 28    61 70 70 65 6e 64 20 63 6d 64 20 28 61 6e 64 20  | .........(cons.(append.cmd.(and. | 
| 2ac0 |  28 65 71 20 74 79 70 65 20 27 70 63 72 65 29 20    27 28 22 2d 50 22 29 29 0a 20 20 20 20 20 20 20  | (eq.type.'pcre).'("-P"))........ | 
| 2ae0 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 28 6c 69 73 74 20 22 2d 65 22 20  | .....................(list."-e". | 
| 2b00 |  28 63 6f 6e 73 75 6c 74 2d 2d 6a 6f 69 6e 2d 72    65 67 65 78 70 73 20 72 65 20 74 79 70 65 29 29  | (consult--join-regexps.re.type)) | 
| 2b20 |  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 20 6f 70 74  | .............................opt | 
| 2b40 |  73 20 70 61 74 68 73 29 0a 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 68 6c 29  | s.paths).....................hl) | 
| 2b60 |  29 29 29 29 29 29 29 0a 0a 3b 3b 3b 23 23 23 61    75 74 6f 6c 6f 61 64 0a 28 64 65 66 75 6e 20 63  | )))))))..;;;###autoload.(defun.c | 
| 2b80 |  61 6c 69 62 72 65 64 62 2d 63 6f 6e 73 75 6c 74    2d 72 69 70 67 72 65 70 2d 61 6c 6c 20 28 26 6f  | alibredb-consult-ripgrep-all.(&o | 
| 2ba0 |  70 74 69 6f 6e 61 6c 20 64 69 72 20 69 6e 69 74    69 61 6c 29 0a 20 20 22 53 65 61 72 63 68 20 77  | ptional.dir.initial)..."Search.w | 
| 2bc0 |  69 74 68 20 60 72 67 61 60 20 66 6f 72 20 66 69    6c 65 73 20 69 6e 20 44 49 52 20 77 68 65 72 65  | ith.`rga`.for.files.in.DIR.where | 
| 2be0 |  20 74 68 65 20 63 6f 6e 74 65 6e 74 20 6d 61 74    63 68 65 73 20 61 20 72 65 67 65 78 70 2e 0a 20  | .the.content.matches.a.regexp... | 
| 2c00 |  20 54 68 65 20 69 6e 69 74 69 61 6c 20 69 6e 70    75 74 20 69 73 20 67 69 76 65 6e 20 62 79 20 74  | .The.initial.input.is.given.by.t | 
| 2c20 |  68 65 20 49 4e 49 54 49 41 4c 20 61 72 67 75 6d    65 6e 74 2e 20 53 65 65 20 60 63 6f 6e 73 75 6c  | he.INITIAL.argument..See.`consul | 
| 2c40 |  74 2d 67 72 65 70 60 0a 20 20 66 6f 72 20 6d 6f    72 65 20 64 65 74 61 69 6c 73 2e 0a 50 53 3a 20  | t-grep`...for.more.details..PS:. | 
| 2c60 |  43 75 72 72 65 6e 74 6c 79 20 6f 6e 6c 79 20 73    75 70 70 6f 72 74 20 70 64 66 2c 20 62 75 74 20  | Currently.only.support.pdf,.but. | 
| 2c80 |  69 74 20 69 73 20 73 74 69 6c 6c 20 6e 6f 74 20    70 65 72 66 65 63 74 2e 22 0a 20 20 28 69 6e 74  | it.is.still.not.perfect."...(int | 
| 2ca0 |  65 72 61 63 74 69 76 65 20 22 50 22 29 0a 20 20    28 69 66 20 28 66 62 6f 75 6e 64 70 20 27 63 6f  | eractive."P")...(if.(fboundp.'co | 
| 2cc0 |  6e 73 75 6c 74 2d 2d 67 72 65 70 29 0a 20 20 20    20 20 20 28 70 63 61 73 65 2d 6c 65 74 2a 20 28  | nsult--grep).......(pcase-let*.( | 
| 2ce0 |  28 60 28 2c 70 72 6f 6d 70 74 20 2c 70 61 74 68    73 20 2c 64 69 72 29 20 28 63 6f 6e 73 75 6c 74  | (`(,prompt.,paths.,dir).(consult | 
| 2d00 |  2d 2d 64 69 72 65 63 74 6f 72 79 2d 70 72 6f 6d    70 74 20 22 53 65 61 72 63 68 20 43 61 6c 69 62  | --directory-prompt."Search.Calib | 
| 2d20 |  72 65 64 62 3a 20 22 20 28 6f 72 20 64 69 72 20    63 61 6c 69 62 72 65 64 62 2d 72 6f 6f 74 2d 64  | redb:.".(or.dir.calibredb-root-d | 
| 2d40 |  69 72 29 29 29 0a 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 28 64 65 66 61 75 6c  | ir)))....................(defaul | 
| 2d60 |  74 2d 64 69 72 65 63 74 6f 72 79 20 64 69 72 29    0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | t-directory.dir)................ | 
| 2d80 |  20 20 20 20 28 62 75 69 6c 64 65 72 20 28 66 75    6e 63 61 6c 6c 20 23 27 63 61 6c 69 62 72 65 64  | ....(builder.(funcall.#'calibred | 
| 2da0 |  62 2d 63 6f 6e 73 75 6c 74 2d 2d 72 69 70 67 72    65 70 2d 61 6c 6c 2d 6d 61 6b 65 2d 62 75 69 6c  | b-consult--ripgrep-all-make-buil | 
| 2dc0 |  64 65 72 20 70 61 74 68 73 29 29 0a 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28  | der.paths))....................( | 
| 2de0 |  63 6f 6e 73 75 6c 74 2d 70 72 65 76 69 65 77 2d    6b 65 79 20 6e 69 6c 29 29 0a 20 20 20 20 20 20  | consult-preview-key.nil))....... | 
| 2e00 |  20 20 28 63 6f 6e 73 75 6c 74 2d 2d 72 65 61 64    0a 20 20 20 20 20 20 20 20 20 28 63 6f 6e 73 75  | ..(consult--read..........(consu | 
| 2e20 |  6c 74 2d 2d 61 73 79 6e 63 2d 63 6f 6d 6d 61 6e    64 20 62 75 69 6c 64 65 72 0a 20 20 20 20 20 20  | lt--async-command.builder....... | 
| 2e40 |  20 20 20 20 20 28 63 6f 6e 73 75 6c 74 2d 2d 67    72 65 70 2d 66 6f 72 6d 61 74 20 62 75 69 6c 64  | .....(consult--grep-format.build | 
| 2e60 |  65 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 3a    66 69 6c 65 2d 68 61 6e 64 6c 65 72 20 74 29 20  | er)............:file-handler.t). | 
| 2e80 |  3b 3b 20 61 6c 6c 6f 77 20 74 72 61 6d 70 0a 20    20 20 20 20 20 20 20 20 3a 70 72 6f 6d 70 74 20  | ;;.allow.tramp..........:prompt. | 
| 2ea0 |  70 72 6f 6d 70 74 0a 20 20 20 20 20 20 20 20 20    3a 6c 6f 6f 6b 75 70 20 28 6c 61 6d 62 64 61 20  | prompt..........:lookup.(lambda. | 
| 2ec0 |  28 73 65 6c 65 63 74 65 64 20 63 61 6e 64 69 64    61 74 65 73 20 26 72 65 73 74 20 5f 29 0a 20 20  | (selected.candidates.&rest._)... | 
| 2ee0 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 28 6c 65 74 2a 20 28 28 72 65 73 75 6c 74 20  | .................(let*.((result. | 
| 2f00 |  73 65 6c 65 63 74 65 64 29 0a 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | selected)....................... | 
| 2f20 |  20 20 20 20 28 70 61 72 74 73 20 28 73 70 6c 69    74 2d 73 74 72 69 6e 67 20 72 65 73 75 6c 74 20  | ....(parts.(split-string.result. | 
| 2f40 |  22 3a 22 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  | ":"))........................... | 
| 2f60 |  28 66 69 6c 65 2d 6e 61 6d 65 20 28 63 61 72 20    70 61 72 74 73 29 29 0a 20 20 20 20 20 20 20 20  | (file-name.(car.parts))......... | 
| 2f80 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 28 70 61 67 65 20 28 77 68 65 6e 20 28 73  | ..................(page.(when.(s | 
| 2fa0 |  74 72 69 6e 67 2d 6d 61 74 63 68 20 22 50 61 67    65 20 5c 5c 28 5b 30 2d 39 5d 2b 5c 5c 29 22 20  | tring-match."Page.\\([0-9]+\\)". | 
| 2fc0 |  28 6e 74 68 20 32 20 70 61 72 74 73 29 29 0a 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | (nth.2.parts)).................. | 
| 2fe0 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 28 6d 61 74 63 68 2d 73 74 72 69 6e 67 20 31  | .................(match-string.1 | 
| 3000 |  20 28 6e 74 68 20 32 20 70 61 72 74 73 29 29 29    29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  | .(nth.2.parts))))).............. | 
| 3020 |  20 20 20 20 20 20 20 20 28 66 69 6e 64 2d 66 69    6c 65 20 66 69 6c 65 2d 6e 61 6d 65 29 0a 20 20  | ........(find-file.file-name)... | 
| 3040 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 28 77 68 65 6e 20 70 61 67 65 0a 20 20  | ...................(when.page... | 
| 3060 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 28 63 6f 6e 64 0a 20 20 20 20 20  | .....................(cond...... | 
| 3080 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 28 28 6d 65 6d 71 20 6d 61 6a 6f 72 2d  | ...................((memq.major- | 
| 30a0 |  6d 6f 64 65 20 27 28 64 6f 63 2d 76 69 65 77 2d    6d 6f 64 65 20 70 64 66 2d 76 69 65 77 2d 6d 6f  | mode.'(doc-view-mode.pdf-view-mo | 
| 30c0 |  64 65 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 28 69  | de))..........................(i | 
| 30e0 |  66 20 28 65 71 20 6d 61 6a 6f 72 2d 6d 6f 64 65    20 27 64 6f 63 2d 76 69 65 77 2d 6d 6f 64 65 29  | f.(eq.major-mode.'doc-view-mode) | 
| 3100 |  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 20 20 28 64  | ..............................(d | 
| 3120 |  6f 63 2d 76 69 65 77 2d 67 6f 74 6f 2d 70 61 67    65 20 28 73 74 72 69 6e 67 2d 74 6f 2d 6e 75 6d  | oc-view-goto-page.(string-to-num | 
| 3140 |  62 65 72 20 70 61 67 65 29 29 0a 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | ber.page))...................... | 
| 3160 |  20 20 20 20 20 20 28 70 64 66 2d 76 69 65 77 2d    67 6f 74 6f 2d 70 61 67 65 20 28 73 74 72 69 6e  | ......(pdf-view-goto-page.(strin | 
| 3180 |  67 2d 74 6f 2d 6e 75 6d 62 65 72 20 70 61 67 65    29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20  | g-to-number.page))))............ | 
| 31a0 |  20 20 20 20 20 20 20 20 20 20 20 20 20 28 74 20    3b 3b 20 77 6f 72 6b 61 72 6f 75 6e 64 2c 20 61  | .............(t.;;.workaround,.a | 
| 31c0 |  66 74 65 72 20 66 69 6e 64 2d 66 69 6c 65 2c 20    74 68 65 20 70 64 66 20 69 73 20 6e 6f 74 20 79  | fter.find-file,.the.pdf.is.not.y | 
| 31e0 |  65 74 20 6f 70 65 6e 65 64 2c 20 6d 61 6a 6f 72    2d 6d 6f 64 65 20 69 73 20 73 74 69 6c 6c 20 74  | et.opened,.major-mode.is.still.t | 
| 3200 |  68 65 20 6f 6c 64 20 6f 6e 65 0a 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | he.old.one...................... | 
| 3220 |  20 20 20 20 28 72 65 71 75 69 72 65 20 27 65 61    66 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  | ....(require.'eaf).............. | 
| 3240 |  20 20 20 20 20 20 20 20 20 20 20 20 28 77 68 65    6e 2d 6c 65 74 2a 20 28 28 62 75 66 66 65 72 20  | ............(when-let*.((buffer. | 
| 3260 |  28 65 61 66 2d 69 6e 74 65 72 6c 65 61 76 65 2d    2d 66 69 6e 64 2d 62 75 66 66 65 72 20 28 65 78  | (eaf-interleave--find-buffer.(ex | 
| 3280 |  70 61 6e 64 2d 66 69 6c 65 2d 6e 61 6d 65 20 66    69 6c 65 2d 6e 61 6d 65 29 29 29 29 0a 20 20 20  | pand-file-name.file-name)))).... | 
| 32a0 |  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 73 77 69 74 63 68 2d  | ........................(switch- | 
| 32c0 |  74 6f 2d 62 75 66 66 65 72 20 62 75 66 66 65 72    29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | to-buffer.buffer)............... | 
| 32e0 |  20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 61    66 2d 69 6e 74 65 72 6c 65 61 76 65 2d 2d 64 69  | .............(eaf-interleave--di | 
| 3300 |  73 70 6c 61 79 2d 62 75 66 66 65 72 20 62 75 66    66 65 72 29 0a 20 20 20 20 20 20 20 20 20 20 20  | splay-buffer.buffer)............ | 
| 3320 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    28 65 61 66 2d 69 6e 74 65 72 6c 65 61 76 65 2d  | ................(eaf-interleave- | 
| 3340 |  2d 70 64 66 2d 76 69 65 77 65 72 2d 67 6f 74 6f    2d 70 61 67 65 20 28 65 78 70 61 6e 64 2d 66 69  | -pdf-viewer-goto-page.(expand-fi | 
| 3360 |  6c 65 2d 6e 61 6d 65 20 66 69 6c 65 2d 6e 61 6d    65 29 20 28 73 74 72 69 6e 67 2d 74 6f 2d 6e 75  | le-name.file-name).(string-to-nu | 
| 3380 |  6d 62 65 72 20 70 61 67 65 29 29 29 29 29 29 29    29 0a 20 20 20 20 20 20 20 20 20 3a 73 74 61 74  | mber.page))))))))..........:stat | 
| 33a0 |  65 20 28 63 6f 6e 73 75 6c 74 2d 2d 67 72 65 70    2d 73 74 61 74 65 29 0a 20 20 20 20 20 20 20 20  | e.(consult--grep-state)......... | 
| 33c0 |  20 3a 69 6e 69 74 69 61 6c 20 28 63 6f 6e 73 75    6c 74 2d 2d 61 73 79 6e 63 2d 73 70 6c 69 74 2d  | .:initial.(consult--async-split- | 
| 33e0 |  69 6e 69 74 69 61 6c 20 69 6e 69 74 69 61 6c 29    0a 20 20 20 20 20 20 20 20 20 3a 61 64 64 2d 68  | initial.initial)..........:add-h | 
| 3400 |  69 73 74 6f 72 79 20 28 63 6f 6e 73 75 6c 74 2d    2d 61 73 79 6e 63 2d 73 70 6c 69 74 2d 74 68 69  | istory.(consult--async-split-thi | 
| 3420 |  6e 67 61 74 70 74 20 27 73 79 6d 62 6f 6c 29 0a    20 20 20 20 20 20 20 20 20 3a 72 65 71 75 69 72  | ngatpt.'symbol)..........:requir | 
| 3440 |  65 2d 6d 61 74 63 68 20 74 0a 20 20 20 20 20 20    20 20 20 3a 63 61 74 65 67 6f 72 79 20 27 63 6f  | e-match.t..........:category.'co | 
| 3460 |  6e 73 75 6c 74 2d 67 72 65 70 0a 20 20 20 20 20    20 20 20 20 3a 67 72 6f 75 70 20 23 27 63 6f 6e  | nsult-grep..........:group.#'con | 
| 3480 |  73 75 6c 74 2d 2d 70 72 65 66 69 78 2d 67 72 6f    75 70 0a 20 20 20 20 20 20 20 20 20 3a 68 69 73  | sult--prefix-group..........:his | 
| 34a0 |  74 6f 72 79 20 27 28 3a 69 6e 70 75 74 20 63 6f    6e 73 75 6c 74 2d 2d 67 72 65 70 2d 68 69 73 74  | tory.'(:input.consult--grep-hist | 
| 34c0 |  6f 72 79 29 0a 20 20 20 20 20 20 20 20 20 3a 73    6f 72 74 20 6e 69 6c 29 29 29 29 0a 0a 28 70 72  | ory)..........:sort.nil))))..(pr | 
| 34e0 |  6f 76 69 64 65 20 27 63 61 6c 69 62 72 65 64 62    2d 63 6f 6e 73 75 6c 74 29 0a 0a 3b 3b 3b 20 63  | ovide.'calibredb-consult)..;;;.c | 
| 3500 |  61 6c 69 62 72 65 64 62 2d 63 6f 6e 73 75 6c 74    2e 65 6c 20 65 6e 64 73 20 68 65 72 65 0a 00 00  | alibredb-consult.el.ends.here... | 
| 3520 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 3540 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 3560 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 3580 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 35a0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 35c0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 35e0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 3600 |  63 61 6c 69 62 72 65 64 62 2d 32 30 32 35 30 37    30 35 2e 32 32 35 2f 63 61 6c 69 62 72 65 64 62  | calibredb-20250705.225/calibredb | 
| 3620 |  2d 63 6f 72 65 2e 65 6c 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | -core.el........................ | 
| 3640 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 3660 |  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 | 
| 3680 |  30 31 30 31 34 35 34 00 30 30 30 30 30 30 30 30    30 30 30 00 30 31 36 30 32 31 00 20 30 00 00 00  | 0101454.00000000000.016021..0... | 
| 36a0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 36c0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 36e0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 3700 |  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................... | 
| 3720 |  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................... | 
| 3740 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 3760 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 3780 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 37a0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 37c0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 37e0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 3800 |  3b 3b 3b 20 63 61 6c 69 62 72 65 64 62 2d 63 6f    72 65 2e 65 6c 20 2d 2d 2d 20 43 6f 72 65 20 66  | ;;;.calibredb-core.el.---.Core.f | 
| 3820 |  6f 72 20 63 61 6c 69 62 72 65 64 62 20 2d 2a 2d    20 6c 65 78 69 63 61 6c 2d 62 69 6e 64 69 6e 67  | or.calibredb.-*-.lexical-binding | 
| 3840 |  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 29 20 32 30 32 30 20  | :.t;.-*-..;;.Copyright.(C).2020. | 
| 3860 |  44 61 6d 6f 6e 20 43 68 61 6e 0a 0a 3b 3b 20 41    75 74 68 6f 72 3a 20 44 61 6d 6f 6e 20 43 68 61  | Damon.Chan..;;.Author:.Damon.Cha | 
| 3880 |  6e 20 3c 65 6c 65 63 6d 69 6e 67 40 67 6d 61 69    6c 2e 63 6f 6d 3e 0a 3b 3b 20 55 52 4c 3a 20 68  | n.<elecming@gmail.com>.;;.URL:.h | 
| 38a0 |  74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f    6d 2f 63 68 65 6e 79 61 6e 6d 69 6e 67 2f 63 61  | ttps://github.com/chenyanming/ca | 
| 38c0 |  6c 69 62 72 65 64 62 2e 65 6c 0a 3b 3b 20 4b 65    79 77 6f 72 64 73 3a 20 74 6f 6f 6c 73 0a 0a 3b  | libredb.el.;;.Keywords:.tools..; | 
| 38e0 |  3b 20 54 68 69 73 20 66 69 6c 65 20 69 73 20 4e    4f 54 20 70 61 72 74 20 6f 66 20 47 4e 55 20 45  | ;.This.file.is.NOT.part.of.GNU.E | 
| 3900 |  6d 61 63 73 2e 0a 0a 3b 3b 20 54 68 69 73 20 70    72 6f 67 72 61 6d 20 69 73 20 66 72 65 65 20 73  | macs...;;.This.program.is.free.s | 
| 3920 |  6f 66 74 77 61 72 65 3b 20 79 6f 75 20 63 61 6e    20 72 65 64 69 73 74 72 69 62 75 74 65 20 69 74  | oftware;.you.can.redistribute.it | 
| 3940 |  20 61 6e 64 2f 6f 72 20 6d 6f 64 69 66 79 0a 3b    3b 20 69 74 20 75 6e 64 65 72 20 74 68 65 20 74  | .and/or.modify.;;.it.under.the.t | 
| 3960 |  65 72 6d 73 20 6f 66 20 74 68 65 20 47 4e 55 20    47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c  | erms.of.the.GNU.General.Public.L | 
| 3980 |  69 63 65 6e 73 65 20 61 73 20 70 75 62 6c 69 73    68 65 64 20 62 79 0a 3b 3b 20 74 68 65 20 46 72  | icense.as.published.by.;;.the.Fr | 
| 39a0 |  65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e    64 61 74 69 6f 6e 2c 20 65 69 74 68 65 72 20 76  | ee.Software.Foundation,.either.v | 
| 39c0 |  65 72 73 69 6f 6e 20 33 20 6f 66 20 74 68 65 20    4c 69 63 65 6e 73 65 2c 20 6f 72 0a 3b 3b 20 28  | ersion.3.of.the.License,.or.;;.( | 
| 39e0 |  61 74 20 79 6f 75 72 20 6f 70 74 69 6f 6e 29 20    61 6e 79 20 6c 61 74 65 72 20 76 65 72 73 69 6f  | at.your.option).any.later.versio | 
| 3a00 |  6e 2e 0a 0a 3b 3b 20 54 68 69 73 20 70 72 6f 67    72 61 6d 20 69 73 20 64 69 73 74 72 69 62 75 74  | n...;;.This.program.is.distribut | 
| 3a20 |  65 64 20 69 6e 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  | ed.in.the.hope.that.it.will.be.u | 
| 3a40 |  73 65 66 75 6c 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  | seful,.;;.but.WITHOUT.ANY.WARRAN | 
| 3a60 |  54 59 3b 20 77 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  | TY;.without.even.the.implied.war | 
| 3a80 |  72 61 6e 74 79 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  | ranty.of.;;.MERCHANTABILITY.or.F | 
| 3aa0 |  49 54 4e 45 53 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  | ITNESS.FOR.A.PARTICULAR.PURPOSE. | 
| 3ac0 |  20 20 53 65 65 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  | ..See.the.;;.GNU.General.Public. | 
| 3ae0 |  4c 69 63 65 6e 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  | License.for.more.details...;;.Yo | 
| 3b00 |  75 20 73 68 6f 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  | u.should.have.received.a.copy.of | 
| 3b20 |  20 74 68 65 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 73 65 0a  | .the.GNU.General.Public.License. | 
| 3b40 |  3b 3b 20 61 6c 6f 6e 67 20 77 69 74 68 20 74 68    69 73 20 70 72 6f 67 72 61 6d 2e 20 20 49 66 20  | ;;.along.with.this.program...If. | 
| 3b60 |  6e 6f 74 2c 20 73 65 65 20 3c 68 74 74 70 73 3a    2f 2f 77 77 77 2e 67 6e 75 2e 6f 72 67 2f 6c 69  | not,.see.<https://www.gnu.org/li | 
| 3b80 |  63 65 6e 73 65 73 2f 3e 2e 0a 0a 3b 3b 3b 20 43    6f 6d 6d 65 6e 74 61 72 79 3a 0a 0a 3b 3b 3b 20  | censes/>...;;;.Commentary:..;;;. | 
| 3ba0 |  43 6f 64 65 3a 0a 0a 28 72 65 71 75 69 72 65 20    27 73 29 0a 28 72 65 71 75 69 72 65 20 27 64 61  | Code:..(require.'s).(require.'da | 
| 3bc0 |  73 68 29 0a 28 72 65 71 75 69 72 65 20 27 63 6c    2d 6c 69 62 29 0a 28 72 65 71 75 69 72 65 20 27  | sh).(require.'cl-lib).(require.' | 
| 3be0 |  63 6c 2d 6d 61 63 73 29 0a 28 72 65 71 75 69 72    65 20 27 73 71 6c 29 0a 28 72 65 71 75 69 72 65  | cl-macs).(require.'sql).(require | 
| 3c00 |  20 27 68 6c 2d 6c 69 6e 65 29 0a 28 72 65 71 75    69 72 65 20 27 74 72 61 6e 73 69 65 6e 74 29 0a  | .'hl-line).(require.'transient). | 
| 3c20 |  28 72 65 71 75 69 72 65 20 27 73 65 6e 64 6d 61    69 6c 29 0a 28 72 65 71 75 69 72 65 20 27 64 69  | (require.'sendmail).(require.'di | 
| 3c40 |  72 65 64 29 0a 28 72 65 71 75 69 72 65 20 27 74    68 69 6e 67 61 74 70 74 29 0a 28 72 65 71 75 69  | red).(require.'thingatpt).(requi | 
| 3c60 |  72 65 20 27 70 63 61 73 65 29 0a 28 72 65 71 75    69 72 65 20 27 6d 61 69 6c 63 61 70 29 0a 28 72  | re.'pcase).(require.'mailcap).(r | 
| 3c80 |  65 71 75 69 72 65 20 27 73 65 71 29 0a 0a 28 69    67 6e 6f 72 65 2d 65 72 72 6f 72 73 0a 20 20 28  | equire.'seq)..(ignore-errors...( | 
| 3ca0 |  72 65 71 75 69 72 65 20 27 68 65 6c 6d 29 0a 20    20 28 72 65 71 75 69 72 65 20 27 69 76 79 29 0a  | require.'helm)...(require.'ivy). | 
| 3cc0 |  20 20 28 72 65 71 75 69 72 65 20 27 61 6c 6c 2d    74 68 65 2d 69 63 6f 6e 73 29 0a 20 20 28 72 65  | ..(require.'all-the-icons)...(re | 
| 3ce0 |  71 75 69 72 65 20 27 69 63 6f 6e 73 2d 69 6e 2d    74 65 72 6d 69 6e 61 6c 29 29 0a 0a 28 65 76 61  | quire.'icons-in-terminal))..(eva | 
| 3d00 |  6c 2d 77 68 65 6e 2d 63 6f 6d 70 69 6c 65 20 28    64 65 66 76 61 72 20 63 61 6c 69 62 72 65 64 62  | l-when-compile.(defvar.calibredb | 
| 3d20 |  2d 64 65 74 61 69 6c 65 64 2d 76 69 65 77 29 29    0a 28 64 65 63 6c 61 72 65 2d 66 75 6e 63 74 69  | -detailed-view)).(declare-functi | 
| 3d40 |  6f 6e 20 63 61 6c 69 62 72 65 64 62 2d 63 6f 6e    64 65 6e 73 65 2d 63 6f 6d 6d 65 6e 74 73 20 22  | on.calibredb-condense-comments." | 
| 3d60 |  63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68    2e 65 6c 22 29 0a 28 64 65 63 6c 61 72 65 2d 66  | calibredb-search.el").(declare-f | 
| 3d80 |  75 6e 63 74 69 6f 6e 20 63 61 6c 69 62 72 65 64    62 2d 61 74 74 61 63 68 2d 69 63 6f 6e 2d 66 6f  | unction.calibredb-attach-icon-fo | 
| 3da0 |  72 20 22 63 61 6c 69 62 72 65 64 62 2d 75 74 69    6c 73 2e 65 6c 22 29 0a 28 64 65 63 6c 61 72 65  | r."calibredb-utils.el").(declare | 
| 3dc0 |  2d 66 75 6e 63 74 69 6f 6e 20 63 61 6c 69 62 72    65 64 62 2d 67 65 74 2d 66 69 6c 65 2d 70 61 74  | -function.calibredb-get-file-pat | 
| 3de0 |  68 20 22 63 61 6c 69 62 72 65 64 62 2d 75 74 69    6c 73 2e 65 6c 22 29 0a 0a 0a 28 64 65 66 67 72  | h."calibredb-utils.el")...(defgr | 
| 3e00 |  6f 75 70 20 63 61 6c 69 62 72 65 64 62 20 6e 69    6c 0a 20 20 22 43 61 6c 69 62 72 65 64 62 20 67  | oup.calibredb.nil..."Calibredb.g | 
| 3e20 |  72 6f 75 70 2e 22 0a 20 20 3a 67 72 6f 75 70 20    27 63 61 6c 69 62 72 65 64 62 29 0a 0a 28 64 65  | roup."...:group.'calibredb)..(de | 
| 3e40 |  66 63 75 73 74 6f 6d 20 63 61 6c 69 62 72 65 64    62 2d 64 62 2d 64 69 72 20 6e 69 6c 0a 20 20 22  | fcustom.calibredb-db-dir.nil..." | 
| 3e60 |  4c 6f 63 61 74 69 6f 6e 20 6f 66 20 5c 22 6d 65    74 61 64 61 74 61 2e 64 62 5c 22 20 69 6e 20 79  | Location.of.\"metadata.db\".in.y | 
| 3e80 |  6f 75 72 20 63 61 6c 69 62 72 65 20 6c 69 62 72    61 72 79 2e 22 0a 20 20 3a 74 79 70 65 20 27 66  | our.calibre.library."...:type.'f | 
| 3ea0 |  69 6c 65 0a 20 20 3a 67 72 6f 75 70 20 27 63 61    6c 69 62 72 65 64 62 29 0a 0a 0a 28 64 65 66 63  | ile...:group.'calibredb)...(defc | 
| 3ec0 |  75 73 74 6f 6d 20 63 61 6c 69 62 72 65 64 62 2d    72 65 66 2d 64 65 66 61 75 6c 74 2d 62 69 62 6c  | ustom.calibredb-ref-default-bibl | 
| 3ee0 |  69 6f 67 72 61 70 68 79 20 6e 69 6c 0a 20 20 22    42 69 62 54 65 78 20 66 69 6c 65 20 66 6f 72 20  | iography.nil..."BibTex.file.for. | 
| 3f00 |  63 75 72 72 65 6e 74 20 6c 69 62 72 61 72 79 2e    22 0a 20 20 3a 74 79 70 65 20 27 66 69 6c 65 0a  | current.library."...:type.'file. | 
| 3f20 |  20 20 3a 67 72 6f 75 70 20 27 63 61 6c 69 62 72    65 64 62 29 0a 0a 28 64 65 66 76 61 72 20 63 61  | ..:group.'calibredb)..(defvar.ca | 
| 3f40 |  6c 69 62 72 65 64 62 2d 72 6f 6f 74 2d 64 69 72    2d 71 75 6f 74 65 20 6e 69 6c 0a 20 20 22 4c 6f  | libredb-root-dir-quote.nil..."Lo | 
| 3f60 |  63 61 74 69 6f 6e 20 6f 66 20 69 6e 20 79 6f 75    72 20 63 61 6c 69 62 72 65 20 6c 69 62 72 61 72  | cation.of.in.your.calibre.librar | 
| 3f80 |  79 20 28 65 78 70 61 6e 64 65 64 20 61 6e 64 20    71 75 6f 74 65 64 29 2e 22 29 0a 0a 28 64 65 66  | y.(expanded.and.quoted).")..(def | 
| 3fa0 |  63 75 73 74 6f 6d 20 63 61 6c 69 62 72 65 64 62    2d 72 6f 6f 74 2d 64 69 72 20 22 7e 2f 44 6f 63  | custom.calibredb-root-dir."~/Doc | 
| 3fc0 |  75 6d 65 6e 74 73 2f 43 61 6c 69 62 72 65 2f 22    0a 20 20 22 44 69 72 65 63 74 6f 72 79 20 63 6f  | uments/Calibre/"..."Directory.co | 
| 3fe0 |  6e 74 61 69 6e 69 6e 67 20 79 6f 75 72 20 63 61    6c 69 62 72 65 20 6c 69 62 72 61 72 79 2e 22 0a  | ntaining.your.calibre.library.". | 
| 4000 |  20 20 3a 74 79 70 65 20 27 64 69 72 65 63 74 6f    72 79 0a 20 20 3a 73 65 74 20 28 6c 61 6d 62 64  | ..:type.'directory...:set.(lambd | 
| 4020 |  61 20 28 76 61 72 20 76 61 6c 75 65 29 0a 20 20    20 20 20 20 20 20 20 28 73 65 74 20 76 61 72 20  | a.(var.value)..........(set.var. | 
| 4040 |  76 61 6c 75 65 29 0a 20 20 20 20 20 20 20 20 20    28 73 65 74 71 20 63 61 6c 69 62 72 65 64 62 2d  | value)..........(setq.calibredb- | 
| 4060 |  64 62 2d 64 69 72 20 28 65 78 70 61 6e 64 2d 66    69 6c 65 2d 6e 61 6d 65 20 22 6d 65 74 61 64 61  | db-dir.(expand-file-name."metada | 
| 4080 |  74 61 2e 64 62 22 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  | ta.db".......................... | 
| 40a0 |  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 63 61 6c 69 62 72 65  | .........................calibre | 
| 40c0 |  64 62 2d 72 6f 6f 74 2d 64 69 72 29 29 29 0a 20    20 3a 67 72 6f 75 70 20 27 63 61 6c 69 62 72 65  | db-root-dir)))...:group.'calibre | 
| 40e0 |  64 62 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20    63 61 6c 69 62 72 65 64 62 2d 76 69 72 74 75 61  | db)..(defcustom.calibredb-virtua | 
| 4100 |  6c 2d 6c 69 62 72 61 72 79 2d 64 65 66 61 75 6c    74 2d 6e 61 6d 65 20 22 4c 69 62 72 61 72 79 22  | l-library-default-name."Library" | 
| 4120 |  0a 20 20 22 54 68 65 20 64 65 66 61 75 6c 74 20    76 69 72 74 75 61 6c 20 6c 69 62 72 61 72 79 20  | ..."The.default.virtual.library. | 
| 4140 |  6e 61 6d 65 2e 22 0a 20 20 3a 67 72 6f 75 70 20    27 63 61 6c 69 62 72 65 64 62 0a 20 20 3a 74 79  | name."...:group.'calibredb...:ty | 
| 4160 |  70 65 20 27 73 74 72 69 6e 67 29 0a 0a 28 64 65    66 76 61 72 20 63 61 6c 69 62 72 65 64 62 2d 76  | pe.'string)..(defvar.calibredb-v | 
| 4180 |  69 72 74 75 61 6c 2d 6c 69 62 72 61 72 79 2d 6e    61 6d 65 20 60 2c 63 61 6c 69 62 72 65 64 62 2d  | irtual-library-name.`,calibredb- | 
| 41a0 |  76 69 72 74 75 61 6c 2d 6c 69 62 72 61 72 79 2d    64 65 66 61 75 6c 74 2d 6e 61 6d 65 29 0a 0a 28  | virtual-library-default-name)..( | 
| 41c0 |  64 65 66 63 75 73 74 6f 6d 20 63 61 6c 69 62 72    65 64 62 2d 64 6f 77 6e 6c 6f 61 64 2d 64 69 72  | defcustom.calibredb-download-dir | 
| 41e0 |  20 6e 69 6c 0a 20 20 22 53 74 72 69 6e 67 20 77    69 74 68 20 74 68 65 20 70 61 74 68 20 74 6f 20  | .nil..."String.with.the.path.to. | 
| 4200 |  6d 61 69 6e 20 64 6f 77 6e 6c 6f 61 64 20 64 69    72 65 63 74 6f 72 79 20 66 6f 72 20 65 62 6f 6f  | main.download.directory.for.eboo | 
| 4220 |  6b 73 2e 22 0a 20 20 3a 74 79 70 65 20 27 66 69    6c 65 0a 20 20 3a 67 72 6f 75 70 20 27 63 61 6c  | ks."...:type.'file...:group.'cal | 
| 4240 |  69 62 72 65 64 62 29 0a 0a 28 64 65 66 63 75 73    74 6f 6d 20 63 61 6c 69 62 72 65 64 62 2d 61 64  | ibredb)..(defcustom.calibredb-ad | 
| 4260 |  64 2d 64 65 6c 65 74 65 2d 6f 72 69 67 69 6e 61    6c 2d 66 69 6c 65 20 6e 69 6c 0a 20 20 22 41 66  | d-delete-original-file.nil..."Af | 
| 4280 |  74 65 72 20 61 64 64 69 6e 67 20 66 69 6c 65 2c    20 64 65 6c 65 74 65 20 6f 72 69 67 69 6e 61 6c  | ter.adding.file,.delete.original | 
| 42a0 |  20 66 69 6c 65 3f 20 28 73 74 72 69 6e 67 20 5c    22 79 65 73 5c 22 2f 5c 22 6e 6f 5c 22 29 2e 0a  | .file?.(string.\"yes\"/\"no\").. | 
| 42c0 |  79 65 73 3a 20 44 65 6c 65 74 65 20 77 69 74 68    6f 75 74 20 70 72 6f 6d 70 74 2e 0a 6e 6f 3a 20  | yes:.Delete.without.prompt..no:. | 
| 42e0 |  4e 6f 20 64 65 6c 65 74 69 6f 6e 20 77 69 74 68    6f 75 74 20 70 72 6f 6d 70 74 2e 0a 6e 69 6c 3a  | No.deletion.without.prompt..nil: | 
| 4300 |  20 50 72 6f 6d 70 74 20 64 65 6c 65 74 65 20 6f    72 20 6e 6f 74 2e 22 0a 20 20 3a 74 79 70 65 20  | .Prompt.delete.or.not."...:type. | 
| 4320 |  27 73 74 72 69 6e 67 0a 20 20 3a 67 72 6f 75 70    20 27 63 61 6c 69 62 72 65 64 62 29 0a 0a 28 64  | 'string...:group.'calibredb)..(d | 
| 4340 |  65 66 63 75 73 74 6f 6d 20 63 61 6c 69 62 72 65    64 62 2d 66 65 74 63 68 2d 63 6f 76 65 72 73 20  | efcustom.calibredb-fetch-covers. | 
| 4360 |  6e 69 6c 0a 20 20 22 46 65 74 63 68 20 63 6f 76    65 72 20 77 68 65 6e 20 66 65 74 63 68 69 6e 67  | nil..."Fetch.cover.when.fetching | 
| 4380 |  20 6d 65 74 61 64 61 74 61 3f 20 28 73 74 72 69    6e 67 20 5c 22 79 65 73 5c 22 2f 5c 22 6e 6f 5c  | .metadata?.(string.\"yes\"/\"no\ | 
| 43a0 |  22 29 2e 22 0a 20 20 3a 74 79 70 65 20 27 73 74    72 69 6e 67 0a 20 20 3a 67 72 6f 75 70 20 27 63  | ")."...:type.'string...:group.'c | 
| 43c0 |  61 6c 69 62 72 65 64 62 29 0a 0a 28 64 65 66 63    75 73 74 6f 6d 20 63 61 6c 69 62 72 65 64 62 2d  | alibredb)..(defcustom.calibredb- | 
| 43e0 |  73 68 6f 77 2d 72 65 73 75 6c 74 73 20 6e 69 6c    0a 20 20 22 53 65 74 20 4e 6f 6e 2d 6e 69 6c 20  | show-results.nil..."Set.Non-nil. | 
| 4400 |  74 6f 20 73 68 6f 77 20 72 65 73 75 6c 74 73 20    61 66 74 65 72 20 66 65 74 63 68 69 6e 67 20 6d  | to.show.results.after.fetching.m | 
| 4420 |  65 74 61 64 61 74 61 2e 22 0a 20 20 3a 74 79 70    65 20 27 62 6f 6f 6c 65 61 6e 0a 20 20 3a 67 72  | etadata."...:type.'boolean...:gr | 
| 4440 |  6f 75 70 20 27 63 61 6c 69 62 72 65 64 62 29 0a    0a 28 64 65 66 63 75 73 74 6f 6d 20 63 61 6c 69  | oup.'calibredb)..(defcustom.cali | 
| 4460 |  62 72 65 64 62 2d 70 72 65 66 65 72 72 65 64 2d    66 6f 72 6d 61 74 20 6e 69 6c 0a 20 20 22 53 65  | bredb-preferred-format.nil..."Se | 
| 4480 |  74 20 74 6f 20 79 6f 75 72 20 70 72 65 66 65 72    72 65 64 20 62 6f 6f 6b 20 66 6f 72 6d 61 74 2e  | t.to.your.preferred.book.format. | 
| 44a0 |  22 0a 20 20 3a 74 79 70 65 20 27 73 74 72 69 6e    67 0a 20 20 3a 67 72 6f 75 70 20 27 63 61 6c 69  | "...:type.'string...:group.'cali | 
| 44c0 |  62 72 65 64 62 29 0a 0a 28 64 65 66 63 75 73 74    6f 6d 20 63 61 6c 69 62 72 65 64 62 2d 6c 69 62  | bredb)..(defcustom.calibredb-lib | 
| 44e0 |  72 61 72 79 2d 61 6c 69 73 74 20 60 28 28 2c 63    61 6c 69 62 72 65 64 62 2d 72 6f 6f 74 2d 64 69  | rary-alist.`((,calibredb-root-di | 
| 4500 |  72 29 29 0a 20 20 22 41 6c 69 73 74 20 66 6f 72    20 61 6c 6c 20 79 6f 75 72 20 63 61 6c 69 62 72  | r))..."Alist.for.all.your.calibr | 
| 4520 |  65 20 6c 69 62 72 61 72 69 65 73 2e 22 0a 20 20    3a 74 79 70 65 20 27 61 6c 69 73 74 0a 20 20 3a  | e.libraries."...:type.'alist...: | 
| 4540 |  67 72 6f 75 70 20 27 63 61 6c 69 62 72 65 64 62    29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 63 61  | group.'calibredb)..(defcustom.ca | 
| 4560 |  6c 69 62 72 65 64 62 2d 76 69 72 74 75 61 6c 2d    6c 69 62 72 61 72 79 2d 61 6c 69 73 74 20 27 28  | libredb-virtual-library-alist.'( | 
| 4580 |  29 0a 20 20 22 41 6c 69 73 74 20 66 6f 72 20 61    6c 6c 20 79 6f 75 72 20 63 61 6c 69 62 72 65 20  | )..."Alist.for.all.your.calibre. | 
| 45a0 |  76 69 72 74 75 61 6c 20 6c 69 62 72 61 72 69 65    73 2e 0a 31 2e 20 4c 65 66 74 20 69 73 20 74 68  | virtual.libraries..1..Left.is.th | 
| 45c0 |  65 20 76 69 72 74 75 61 6c 20 6c 69 62 72 61 72    79 20 6e 61 6d 65 20 74 68 61 74 20 73 68 6f 77  | e.virtual.library.name.that.show | 
| 45e0 |  73 20 69 6e 20 74 68 65 20 2a 63 61 6c 69 62 72    65 64 62 2d 73 65 61 72 63 68 2a 20 68 65 61 64  | s.in.the.*calibredb-search*.head | 
| 4600 |  65 72 2e 0a 32 2e 20 52 69 67 68 74 20 69 73 20    74 68 65 20 66 69 6c 74 65 72 20 6b 65 79 77 6f  | er..2..Right.is.the.filter.keywo | 
| 4620 |  72 64 73 20 2d 20 60 63 61 6c 69 62 72 65 64 62    2d 73 65 61 72 63 68 2d 66 69 6c 74 65 72 27 2e  | rds.-.`calibredb-search-filter'. | 
| 4640 |  22 0a 20 20 3a 74 79 70 65 20 27 61 6c 69 73 74    0a 20 20 3a 67 72 6f 75 70 20 27 63 61 6c 69 62  | "...:type.'alist...:group.'calib | 
| 4660 |  72 65 64 62 29 0a 0a 28 64 65 66 63 75 73 74 6f    6d 20 63 61 6c 69 62 72 65 64 62 2d 70 72 6f 67  | redb)..(defcustom.calibredb-prog | 
| 4680 |  72 61 6d 0a 20 20 28 63 6f 6e 64 0a 20 20 20 28    28 65 71 20 73 79 73 74 65 6d 2d 74 79 70 65 20  | ram...(cond....((eq.system-type. | 
| 46a0 |  27 64 61 72 77 69 6e 29 0a 20 20 20 20 22 2f 41    70 70 6c 69 63 61 74 69 6f 6e 73 2f 63 61 6c 69  | 'darwin)....."/Applications/cali | 
| 46c0 |  62 72 65 2e 61 70 70 2f 43 6f 6e 74 65 6e 74 73    2f 4d 61 63 4f 53 2f 63 61 6c 69 62 72 65 64 62  | bre.app/Contents/MacOS/calibredb | 
| 46e0 |  22 29 0a 20 20 20 28 74 0a 20 20 20 20 22 63 61    6c 69 62 72 65 64 62 22 29 29 0a 20 20 22 45 78  | ")....(t....."calibredb"))..."Ex | 
| 4700 |  65 63 75 74 61 62 6c 65 20 75 73 65 64 20 74 6f    20 61 63 63 65 73 73 20 74 68 65 20 63 61 6c 69  | ecutable.used.to.access.the.cali | 
| 4720 |  62 72 65 64 62 2e 22 0a 20 20 3a 74 79 70 65 20    27 66 69 6c 65 0a 20 20 3a 67 72 6f 75 70 20 27  | bredb."...:type.'file...:group.' | 
| 4740 |  63 61 6c 69 62 72 65 64 62 29 0a 0a 28 64 65 66    63 75 73 74 6f 6d 20 63 61 6c 69 62 72 65 64 62  | calibredb)..(defcustom.calibredb | 
| 4760 |  2d 63 6f 6e 76 65 72 74 2d 70 72 6f 67 72 61 6d    0a 20 20 28 63 6f 6e 64 0a 20 20 20 28 28 65 71  | -convert-program...(cond....((eq | 
| 4780 |  20 73 79 73 74 65 6d 2d 74 79 70 65 20 27 64 61    72 77 69 6e 29 0a 20 20 20 20 22 2f 41 70 70 6c  | .system-type.'darwin)....."/Appl | 
| 47a0 |  69 63 61 74 69 6f 6e 73 2f 63 61 6c 69 62 72 65    2e 61 70 70 2f 43 6f 6e 74 65 6e 74 73 2f 4d 61  | ications/calibre.app/Contents/Ma | 
| 47c0 |  63 4f 53 2f 65 62 6f 6f 6b 2d 63 6f 6e 76 65 72    74 22 29 0a 20 20 20 28 74 0a 20 20 20 20 22 65  | cOS/ebook-convert")....(t....."e | 
| 47e0 |  62 6f 6f 6b 2d 63 6f 6e 76 65 72 74 22 29 29 0a    20 20 22 45 78 65 63 75 74 61 62 6c 65 20 75 73  | book-convert"))..."Executable.us | 
| 4800 |  65 64 20 74 6f 20 63 6f 6e 76 65 72 74 20 65 62    6f 6f 6b 73 2e 22 0a 20 20 3a 74 79 70 65 20 27  | ed.to.convert.ebooks."...:type.' | 
| 4820 |  66 69 6c 65 0a 20 20 3a 67 72 6f 75 70 20 27 63    61 6c 69 62 72 65 64 62 29 0a 0a 28 64 65 66 63  | file...:group.'calibredb)..(defc | 
| 4840 |  75 73 74 6f 6d 20 63 61 6c 69 62 72 65 64 62 2d    64 65 76 69 63 65 2d 64 69 72 0a 20 20 28 63 6f  | ustom.calibredb-device-dir...(co | 
| 4860 |  6e 64 20 28 28 65 71 20 73 79 73 74 65 6d 2d 74    79 70 65 20 27 67 6e 75 2f 6c 69 6e 75 78 29 0a  | nd.((eq.system-type.'gnu/linux). | 
| 4880 |  20 20 20 20 20 20 20 20 20 22 2f 54 4f 44 4f 22    29 0a 20 20 20 20 20 20 20 20 28 28 65 71 20 73  | ........."/TODO").........((eq.s | 
| 48a0 |  79 73 74 65 6d 2d 74 79 70 65 20 27 77 69 6e 64    6f 77 73 2d 6e 74 29 0a 20 20 20 20 20 20 20 20  | ystem-type.'windows-nt)......... | 
| 48c0 |  20 22 2f 54 4f 44 4f 22 29 0a 20 20 20 20 20 20    20 20 28 28 65 71 20 73 79 73 74 65 6d 2d 74 79  | ."/TODO").........((eq.system-ty | 
| 48e0 |  70 65 20 27 64 61 72 77 69 6e 29 0a 20 20 20 20    20 20 20 20 20 22 2f 56 6f 6c 75 6d 65 73 2f 4b  | pe.'darwin).........."/Volumes/K | 
| 4900 |  69 6e 64 6c 65 2f 64 6f 63 75 6d 65 6e 74 73 2f    22 29 0a 20 20 20 20 20 20 20 20 28 74 20 22 2f  | indle/documents/").........(t."/ | 
| 4920 |  54 4f 44 4f 22 29 29 0a 20 20 22 44 69 72 65 63    74 6f 72 79 20 6f 66 20 65 6c 65 63 74 72 6f 6e  | TODO"))..."Directory.of.electron | 
| 4940 |  69 63 20 64 65 76 69 63 65 2c 20 65 2e 67 2e 20    6b 69 6e 64 6c 65 2e 22 0a 20 20 3a 74 79 70 65  | ic.device,.e.g..kindle."...:type | 
| 4960 |  20 27 64 69 72 65 63 74 6f 72 79 0a 20 20 3a 67    72 6f 75 70 20 27 63 61 6c 69 62 72 65 64 62 29  | .'directory...:group.'calibredb) | 
| 4980 |  0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 63 61 6c    69 62 72 65 64 62 2d 64 65 62 75 67 2d 70 72 6f  | ..(defcustom.calibredb-debug-pro | 
| 49a0 |  67 72 61 6d 0a 20 20 28 63 6f 6e 64 0a 20 20 20    28 28 65 71 20 73 79 73 74 65 6d 2d 74 79 70 65  | gram...(cond....((eq.system-type | 
| 49c0 |  20 27 64 61 72 77 69 6e 29 0a 20 20 20 20 22 2f    41 70 70 6c 69 63 61 74 69 6f 6e 73 2f 63 61 6c  | .'darwin)....."/Applications/cal | 
| 49e0 |  69 62 72 65 2e 61 70 70 2f 43 6f 6e 74 65 6e 74    73 2f 4d 61 63 4f 53 2f 63 61 6c 69 62 72 65 2d  | ibre.app/Contents/MacOS/calibre- | 
| 4a00 |  64 65 62 75 67 22 29 0a 20 20 20 28 74 0a 20 20    20 20 22 63 61 6c 69 62 72 65 2d 64 65 62 75 67  | debug")....(t....."calibre-debug | 
| 4a20 |  22 29 29 0a 20 20 22 45 78 65 63 75 74 61 62 6c    65 20 66 6f 72 20 63 61 6c 69 62 72 65 64 62 2d  | "))..."Executable.for.calibredb- | 
| 4a40 |  64 65 62 75 67 20 77 68 69 63 68 20 69 73 20 75    73 65 64 20 66 6f 72 20 61 75 74 68 6f 72 5f 73  | debug.which.is.used.for.author_s | 
| 4a60 |  6f 72 74 20 61 6c 67 6f 72 69 74 68 6d 2e 22 0a    20 20 3a 74 79 70 65 20 27 66 69 6c 65 0a 20 20  | ort.algorithm."...:type.'file... | 
| 4a80 |  3a 67 72 6f 75 70 20 27 63 61 6c 69 62 72 65 64    62 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 63  | :group.'calibredb)..(defcustom.c | 
| 4aa0 |  61 6c 69 62 72 65 64 62 2d 66 65 74 63 68 2d 6d    65 74 61 64 61 74 61 2d 70 72 6f 67 72 61 6d 0a  | alibredb-fetch-metadata-program. | 
| 4ac0 |  20 20 28 63 6f 6e 64 0a 20 20 20 28 28 65 71 20    73 79 73 74 65 6d 2d 74 79 70 65 20 27 64 61 72  | ..(cond....((eq.system-type.'dar | 
| 4ae0 |  77 69 6e 29 0a 20 20 20 20 22 2f 41 70 70 6c 69    63 61 74 69 6f 6e 73 2f 63 61 6c 69 62 72 65 2e  | win)....."/Applications/calibre. | 
| 4b00 |  61 70 70 2f 43 6f 6e 74 65 6e 74 73 2f 4d 61 63    4f 53 2f 66 65 74 63 68 2d 65 62 6f 6f 6b 2d 6d  | app/Contents/MacOS/fetch-ebook-m | 
| 4b20 |  65 74 61 64 61 74 61 22 29 0a 20 20 20 28 74 0a    20 20 20 20 22 66 65 74 63 68 2d 65 62 6f 6f 6b  | etadata")....(t....."fetch-ebook | 
| 4b40 |  2d 6d 65 74 61 64 61 74 61 22 29 29 0a 20 20 22    45 78 65 63 75 74 61 62 6c 65 20 75 73 65 64 20  | -metadata"))..."Executable.used. | 
| 4b60 |  74 6f 20 66 65 74 63 68 20 65 62 6f 6f 6b 20 6d    65 74 61 64 61 74 61 2e 22 0a 20 20 3a 74 79 70  | to.fetch.ebook.metadata."...:typ | 
| 4b80 |  65 20 27 66 69 6c 65 0a 20 20 3a 67 72 6f 75 70    20 27 63 61 6c 69 62 72 65 64 62 29 0a 0a 28 64  | e.'file...:group.'calibredb)..(d | 
| 4ba0 |  65 66 63 75 73 74 6f 6d 20 63 61 6c 69 62 72 65    64 62 2d 65 62 6f 6f 6b 2d 6d 65 74 61 2d 70 72  | efcustom.calibredb-ebook-meta-pr | 
| 4bc0 |  6f 67 72 61 6d 0a 20 20 28 63 6f 6e 64 0a 20 20    20 28 28 65 71 20 73 79 73 74 65 6d 2d 74 79 70  | ogram...(cond....((eq.system-typ | 
| 4be0 |  65 20 27 64 61 72 77 69 6e 29 0a 20 20 20 20 22    2f 41 70 70 6c 69 63 61 74 69 6f 6e 73 2f 63 61  | e.'darwin)....."/Applications/ca | 
| 4c00 |  6c 69 62 72 65 2e 61 70 70 2f 43 6f 6e 74 65 6e    74 73 2f 4d 61 63 4f 53 2f 65 62 6f 6f 6b 2d 6d  | libre.app/Contents/MacOS/ebook-m | 
| 4c20 |  65 74 61 22 29 0a 20 20 20 28 74 0a 20 20 20 20    22 65 62 6f 6f 6b 2d 6d 65 74 61 22 29 29 0a 20  | eta")....(t....."ebook-meta")).. | 
| 4c40 |  20 22 45 78 65 63 75 74 61 62 6c 65 20 75 73 65    64 20 74 6f 20 67 65 74 20 65 62 6f 6f 6b 20 6d  | ."Executable.used.to.get.ebook.m | 
| 4c60 |  65 74 61 64 61 74 61 2e 22 0a 20 20 3a 74 79 70    65 20 27 66 69 6c 65 0a 20 20 3a 67 72 6f 75 70  | etadata."...:type.'file...:group | 
| 4c80 |  20 27 63 61 6c 69 62 72 65 64 62 29 0a 0a 28 64    65 66 63 75 73 74 6f 6d 20 63 61 6c 69 62 72 65  | .'calibredb)..(defcustom.calibre | 
| 4ca0 |  64 62 2d 66 65 74 63 68 2d 6d 65 74 61 64 61 74    61 2d 73 6f 75 72 63 65 2d 6c 69 73 74 20 27 28  | db-fetch-metadata-source-list.'( | 
| 4cc0 |  22 47 6f 6f 67 6c 65 22 20 22 41 6d 61 7a 6f 6e    2e 63 6f 6d 22 29 0a 20 20 22 53 6f 75 72 63 65  | "Google"."Amazon.com")..."Source | 
| 4ce0 |  20 61 6c 69 73 74 20 75 73 65 64 20 74 6f 20 66    65 74 63 68 20 65 62 6f 6f 6b 20 6d 65 74 61 64  | .alist.used.to.fetch.ebook.metad | 
| 4d00 |  61 74 61 2e 22 0a 20 20 3a 74 79 70 65 20 27 73    65 78 70 0a 20 20 3a 67 72 6f 75 70 20 27 63 61  | ata."...:type.'sexp...:group.'ca | 
| 4d20 |  6c 69 62 72 65 64 62 29 0a 0a 28 64 65 66 63 75    73 74 6f 6d 20 63 61 6c 69 62 72 65 64 62 2d 73  | libredb)..(defcustom.calibredb-s | 
| 4d40 |  71 6c 2d 73 65 70 61 72 61 74 6f 72 20 22 5c 33    22 0a 20 20 22 53 51 4c 20 73 65 70 61 72 61 74  | ql-separator."\3"..."SQL.separat | 
| 4d60 |  6f 72 2c 20 75 73 65 64 20 69 6e 20 70 61 72 73    69 6e 67 20 53 51 4c 20 72 65 73 75 6c 74 20 69  | or,.used.in.parsing.SQL.result.i | 
| 4d80 |  6e 74 6f 20 6c 69 73 74 2e 22 0a 20 20 3a 67 72    6f 75 70 20 27 63 61 6c 69 62 72 65 64 62 0a 20  | nto.list."...:group.'calibredb.. | 
| 4da0 |  20 3a 74 79 70 65 20 27 73 74 72 69 6e 67 29 0a    0a 28 64 65 66 63 75 73 74 6f 6d 20 63 61 6c 69  | .:type.'string)..(defcustom.cali | 
| 4dc0 |  62 72 65 64 62 2d 73 71 6c 2d 6e 65 77 6c 69 6e    65 20 22 5c 32 22 0a 20 20 22 53 51 4c 20 6e 65  | bredb-sql-newline."\2"..."SQL.ne | 
| 4de0 |  77 6c 69 6e 65 2c 20 75 73 65 64 20 69 6e 20 70    61 72 73 69 6e 67 20 53 51 4c 20 72 65 73 75 6c  | wline,.used.in.parsing.SQL.resul | 
| 4e00 |  74 20 69 6e 74 6f 20 6c 69 73 74 2e 22 0a 20 20    3a 67 72 6f 75 70 20 27 63 61 6c 69 62 72 65 64  | t.into.list."...:group.'calibred | 
| 4e20 |  62 0a 20 20 3a 74 79 70 65 20 27 73 74 72 69 6e    67 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 63  | b...:type.'string)..(defcustom.c | 
| 4e40 |  61 6c 69 62 72 65 64 62 2d 69 64 2d 77 69 64 74    68 20 34 0a 20 20 22 57 69 64 74 68 20 66 6f 72  | alibredb-id-width.4..."Width.for | 
| 4e60 |  20 69 64 2e 0a 53 65 74 20 30 20 74 6f 20 68 69    64 65 2c 0a 53 65 74 20 6e 65 67 61 74 69 76 65  | .id..Set.0.to.hide,.Set.negative | 
| 4e80 |  20 74 6f 20 6b 65 65 70 20 6f 72 69 67 69 6e 61    6c 20 6c 65 6e 67 74 68 2e 22 0a 20 20 3a 67 72  | .to.keep.original.length."...:gr | 
| 4ea0 |  6f 75 70 20 27 63 61 6c 69 62 72 65 64 62 0a 20    20 3a 74 79 70 65 20 27 69 6e 74 65 67 65 72 29  | oup.'calibredb...:type.'integer) | 
| 4ec0 |  0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 63 61 6c    69 62 72 65 64 62 2d 66 6f 72 6d 61 74 2d 77 69  | ..(defcustom.calibredb-format-wi | 
| 4ee0 |  64 74 68 20 35 0a 20 20 22 57 69 64 74 68 20 66    6f 72 20 66 69 6c 65 20 66 6f 72 6d 61 74 2e 0a  | dth.5..."Width.for.file.format.. | 
| 4f00 |  53 65 74 20 30 20 74 6f 20 68 69 64 65 2c 0a 53    65 74 20 6e 65 67 61 74 69 76 65 20 74 6f 20 6b  | Set.0.to.hide,.Set.negative.to.k | 
| 4f20 |  65 65 70 20 6f 72 69 67 69 6e 61 6c 20 6c 65 6e    67 74 68 2e 22 0a 20 20 3a 67 72 6f 75 70 20 27  | eep.original.length."...:group.' | 
| 4f40 |  63 61 6c 69 62 72 65 64 62 0a 20 20 3a 74 79 70    65 20 27 69 6e 74 65 67 65 72 29 0a 0a 28 64 65  | calibredb...:type.'integer)..(de | 
| 4f60 |  66 63 75 73 74 6f 6d 20 63 61 6c 69 62 72 65 64    62 2d 74 61 67 2d 77 69 64 74 68 20 2d 31 0a 20  | fcustom.calibredb-tag-width.-1.. | 
| 4f80 |  20 22 57 69 64 74 68 20 66 6f 72 20 74 61 67 2e    0a 53 65 74 20 30 20 74 6f 20 68 69 64 65 2c 0a  | ."Width.for.tag..Set.0.to.hide,. | 
| 4fa0 |  53 65 74 20 6e 65 67 61 74 69 76 65 20 74 6f 20    6b 65 65 70 20 6f 72 69 67 69 6e 61 6c 20 6c 65  | Set.negative.to.keep.original.le | 
| 4fc0 |  6e 67 74 68 2e 22 0a 20 20 3a 67 72 6f 75 70 20    27 63 61 6c 69 62 72 65 64 62 0a 20 20 3a 74 79  | ngth."...:group.'calibredb...:ty | 
| 4fe0 |  70 65 20 27 69 6e 74 65 67 65 72 29 0a 0a 28 64    65 66 63 75 73 74 6f 6d 20 63 61 6c 69 62 72 65  | pe.'integer)..(defcustom.calibre | 
| 5000 |  64 62 2d 69 64 73 2d 77 69 64 74 68 20 30 0a 20    20 22 57 69 64 74 68 20 66 6f 72 20 69 64 73 2e  | db-ids-width.0..."Width.for.ids. | 
| 5020 |  0a 53 65 74 20 30 20 74 6f 20 68 69 64 65 2c 0a    53 65 74 20 6e 65 67 61 74 69 76 65 20 74 6f 20  | .Set.0.to.hide,.Set.negative.to. | 
| 5040 |  6b 65 65 70 20 6f 72 69 67 69 6e 61 6c 20 6c 65    6e 67 74 68 2e 22 0a 20 20 3a 67 72 6f 75 70 20  | keep.original.length."...:group. | 
| 5060 |  27 63 61 6c 69 62 72 65 64 62 0a 20 20 3a 74 79    70 65 20 27 69 6e 74 65 67 65 72 29 0a 0a 28 64  | 'calibredb...:type.'integer)..(d | 
| 5080 |  65 66 63 75 73 74 6f 6d 20 63 61 6c 69 62 72 65    64 62 2d 74 69 74 6c 65 2d 77 69 64 74 68 20 35  | efcustom.calibredb-title-width.5 | 
| 50a0 |  30 0a 20 20 22 57 69 64 74 68 20 66 6f 72 20 74    69 74 6c 65 2e 0a 53 65 74 20 30 20 74 6f 20 68  | 0..."Width.for.title..Set.0.to.h | 
| 50c0 |  69 64 65 2c 0a 53 65 74 20 6e 65 67 61 74 69 76    65 20 74 6f 20 6b 65 65 70 20 6f 72 69 67 69 6e  | ide,.Set.negative.to.keep.origin | 
| 50e0 |  61 6c 20 6c 65 6e 67 74 68 2e 22 0a 20 20 3a 67    72 6f 75 70 20 27 63 61 6c 69 62 72 65 64 62 0a  | al.length."...:group.'calibredb. | 
| 5100 |  20 20 3a 74 79 70 65 20 27 69 6e 74 65 67 65 72    29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 63 61  | ..:type.'integer)..(defcustom.ca | 
| 5120 |  6c 69 62 72 65 64 62 2d 61 75 74 68 6f 72 2d 77    69 64 74 68 20 2d 31 0a 20 20 22 57 69 64 74 68  | libredb-author-width.-1..."Width | 
| 5140 |  20 66 6f 72 20 61 75 74 68 6f 72 2e 0a 53 65 74    20 30 20 74 6f 20 68 69 64 65 2c 0a 53 65 74 20  | .for.author..Set.0.to.hide,.Set. | 
| 5160 |  6e 65 67 61 74 69 76 65 20 74 6f 20 6b 65 65 70    20 6f 72 69 67 69 6e 61 6c 20 6c 65 6e 67 74 68  | negative.to.keep.original.length | 
| 5180 |  2e 22 0a 20 20 3a 67 72 6f 75 70 20 27 63 61 6c    69 62 72 65 64 62 0a 20 20 3a 74 79 70 65 20 27  | ."...:group.'calibredb...:type.' | 
| 51a0 |  69 6e 74 65 67 65 72 29 0a 0a 28 64 65 66 63 75    73 74 6f 6d 20 63 61 6c 69 62 72 65 64 62 2d 63  | integer)..(defcustom.calibredb-c | 
| 51c0 |  6f 6d 6d 65 6e 74 2d 77 69 64 74 68 20 31 30 30    0a 20 20 22 57 69 64 74 68 20 66 6f 72 20 63 6f  | omment-width.100..."Width.for.co | 
| 51e0 |  6d 6d 65 6e 74 2e 0a 53 65 74 20 30 20 74 6f 20    68 69 64 65 2c 0a 53 65 74 20 6e 65 67 61 74 69  | mment..Set.0.to.hide,.Set.negati | 
| 5200 |  76 65 20 74 6f 20 6b 65 65 70 20 6f 72 69 67 69    6e 61 6c 20 6c 65 6e 67 74 68 2e 22 0a 20 20 3a  | ve.to.keep.original.length."...: | 
| 5220 |  67 72 6f 75 70 20 27 63 61 6c 69 62 72 65 64 62    0a 20 20 3a 74 79 70 65 20 27 69 6e 74 65 67 65  | group.'calibredb...:type.'intege | 
| 5240 |  72 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 63    61 6c 69 62 72 65 64 62 2d 64 61 74 65 2d 77 69  | r)..(defcustom.calibredb-date-wi | 
| 5260 |  64 74 68 20 31 31 0a 20 20 22 57 69 64 74 68 20    66 6f 72 20 6c 61 73 74 5f 6d 6f 64 69 66 69 65  | dth.11..."Width.for.last_modifie | 
| 5280 |  64 20 64 61 74 65 2e 0a 53 65 74 20 30 20 74 6f    20 68 69 64 65 2c 0a 53 65 74 20 6e 65 67 61 74  | d.date..Set.0.to.hide,.Set.negat | 
| 52a0 |  69 76 65 20 74 6f 20 6b 65 65 70 20 6f 72 69 67    69 6e 61 6c 20 6c 65 6e 67 74 68 2e 22 0a 20 20  | ive.to.keep.original.length."... | 
| 52c0 |  3a 67 72 6f 75 70 20 27 63 61 6c 69 62 72 65 64    62 0a 20 20 3a 74 79 70 65 20 27 69 6e 74 65 67  | :group.'calibredb...:type.'integ | 
| 52e0 |  65 72 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20    63 61 6c 69 62 72 65 64 62 2d 73 69 7a 65 2d 73  | er)..(defcustom.calibredb-size-s | 
| 5300 |  68 6f 77 20 6e 69 6c 0a 20 20 22 53 65 74 20 4e    6f 6e 2d 6e 69 6c 20 74 6f 20 73 68 6f 77 20 73  | how.nil..."Set.Non-nil.to.show.s | 
| 5320 |  69 7a 65 20 69 6e 64 69 63 61 74 6f 72 2e 22 0a    20 20 3a 67 72 6f 75 70 20 27 63 61 6c 69 62 72  | ize.indicator."...:group.'calibr | 
| 5340 |  65 64 62 0a 20 20 3a 74 79 70 65 20 27 62 6f 6f    6c 65 61 6e 29 0a 0a 28 64 65 66 69 6e 65 2d 6f  | edb...:type.'boolean)..(define-o | 
| 5360 |  62 73 6f 6c 65 74 65 2d 76 61 72 69 61 62 6c 65    2d 61 6c 69 61 73 20 27 63 61 6c 69 62 72 65 64  | bsolete-variable-alias.'calibred | 
| 5380 |  62 2d 66 6f 72 6d 61 74 2d 69 63 6f 6e 73 0a 20    20 27 63 61 6c 69 62 72 65 64 62 2d 66 6f 72 6d  | b-format-icons...'calibredb-form | 
| 53a0 |  61 74 2d 61 6c 6c 2d 74 68 65 2d 69 63 6f 6e 73    20 22 63 61 6c 69 62 72 65 64 62 20 32 2e 33 2e  | at-all-the-icons."calibredb.2.3. | 
| 53c0 |  32 22 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20    63 61 6c 69 62 72 65 64 62 2d 66 6f 72 6d 61 74  | 2")..(defcustom.calibredb-format | 
| 53e0 |  2d 6e 65 72 64 2d 69 63 6f 6e 73 20 6e 69 6c 0a    20 20 22 53 65 74 20 4e 6f 6e 2d 6e 69 6c 20 74  | -nerd-icons.nil..."Set.Non-nil.t | 
| 5400 |  6f 20 73 68 6f 77 20 66 69 6c 65 20 66 6f 72 6d    61 74 20 69 63 6f 6e 73 20 77 69 74 68 20 6e 65  | o.show.file.format.icons.with.ne | 
| 5420 |  72 64 2d 69 63 6f 6e 73 2e 22 0a 20 20 3a 67 72    6f 75 70 20 27 63 61 6c 69 62 72 65 64 62 0a 20  | rd-icons."...:group.'calibredb.. | 
| 5440 |  20 3a 74 79 70 65 20 27 62 6f 6f 6c 65 61 6e 29    0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 63 61 6c  | .:type.'boolean)..(defcustom.cal | 
| 5460 |  69 62 72 65 64 62 2d 66 6f 72 6d 61 74 2d 61 6c    6c 2d 74 68 65 2d 69 63 6f 6e 73 20 6e 69 6c 0a  | ibredb-format-all-the-icons.nil. | 
| 5480 |  20 20 22 53 65 74 20 4e 6f 6e 2d 6e 69 6c 20 74    6f 20 73 68 6f 77 20 66 69 6c 65 20 66 6f 72 6d  | .."Set.Non-nil.to.show.file.form | 
| 54a0 |  61 74 20 69 63 6f 6e 73 20 77 69 74 68 20 61 6c    6c 2d 74 68 65 2d 69 63 6f 6e 73 2e 22 0a 20 20  | at.icons.with.all-the-icons."... | 
| 54c0 |  3a 67 72 6f 75 70 20 27 63 61 6c 69 62 72 65 64    62 0a 20 20 3a 74 79 70 65 20 27 62 6f 6f 6c 65  | :group.'calibredb...:type.'boole | 
| 54e0 |  61 6e 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20    63 61 6c 69 62 72 65 64 62 2d 66 6f 72 6d 61 74  | an)..(defcustom.calibredb-format | 
| 5500 |  2d 69 63 6f 6e 73 2d 69 6e 2d 74 65 72 6d 69 6e    61 6c 20 6e 69 6c 0a 20 20 22 53 65 74 20 4e 6f  | -icons-in-terminal.nil..."Set.No | 
| 5520 |  6e 2d 6e 69 6c 20 74 6f 20 73 68 6f 77 20 66 69    6c 65 20 66 6f 72 6d 61 74 20 69 63 6f 6e 73 20  | n-nil.to.show.file.format.icons. | 
| 5540 |  77 69 74 68 20 69 63 6f 6e 73 2d 69 6e 2d 74 65    72 6d 69 6e 61 6c 2e 22 0a 20 20 3a 67 72 6f 75  | with.icons-in-terminal."...:grou | 
| 5560 |  70 20 27 63 61 6c 69 62 72 65 64 62 0a 20 20 3a    74 79 70 65 20 27 62 6f 6f 6c 65 61 6e 29 0a 0a  | p.'calibredb...:type.'boolean).. | 
| 5580 |  28 64 65 66 63 75 73 74 6f 6d 20 63 61 6c 69 62    72 65 64 62 2d 66 6f 72 6d 61 74 2d 63 68 61 72  | (defcustom.calibredb-format-char | 
| 55a0 |  61 63 74 65 72 2d 69 63 6f 6e 73 20 6e 69 6c 0a    20 20 22 53 65 74 20 4e 6f 6e 2d 6e 69 6c 20 74  | acter-icons.nil..."Set.Non-nil.t | 
| 55c0 |  6f 20 73 68 6f 77 20 66 69 6c 65 20 66 6f 72 6d    61 74 20 69 63 6f 6e 73 20 77 69 74 68 20 62 75  | o.show.file.format.icons.with.bu | 
| 55e0 |  69 6c 74 2d 69 6e 20 63 68 61 72 61 63 74 65 72    20 69 63 6f 6e 73 2e 22 0a 20 20 3a 67 72 6f 75  | ilt-in.character.icons."...:grou | 
| 5600 |  70 20 27 63 61 6c 69 62 72 65 64 62 0a 20 20 3a    74 79 70 65 20 27 62 6f 6f 6c 65 61 6e 29 0a 0a  | p.'calibredb...:type.'boolean).. | 
| 5620 |  28 64 65 66 63 75 73 74 6f 6d 20 63 61 6c 69 62    72 65 64 62 2d 66 61 76 6f 72 69 74 65 2d 6b 65  | (defcustom.calibredb-favorite-ke | 
| 5640 |  79 77 6f 72 64 20 22 66 61 76 6f 72 69 74 65 22    0a 20 20 22 54 68 65 20 66 61 76 6f 72 69 74 65  | yword."favorite"..."The.favorite | 
| 5660 |  20 74 61 67 2e 22 0a 20 20 3a 67 72 6f 75 70 20    27 63 61 6c 69 62 72 65 64 62 0a 20 20 3a 74 79  | .tag."...:group.'calibredb...:ty | 
| 5680 |  70 65 20 27 73 74 72 69 6e 67 29 0a 0a 28 64 65    66 63 75 73 74 6f 6d 20 63 61 6c 69 62 72 65 64  | pe.'string)..(defcustom.calibred | 
| 56a0 |  62 2d 66 61 76 6f 72 69 74 65 2d 69 63 6f 6e 20    22 e2 98 85 22 0a 20 20 22 54 68 65 20 66 61 76  | b-favorite-icon."..."..."The.fav | 
| 56c0 |  6f 72 69 74 65 20 69 63 6f 6e 2e 22 0a 20 20 3a    67 72 6f 75 70 20 27 63 61 6c 69 62 72 65 64 62  | orite.icon."...:group.'calibredb | 
| 56e0 |  0a 20 20 3a 74 79 70 65 20 27 73 74 72 69 6e 67    29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 63 61  | ...:type.'string)..(defcustom.ca | 
| 5700 |  6c 69 62 72 65 64 62 2d 61 72 63 68 69 76 65 2d    6b 65 79 77 6f 72 64 20 22 61 72 63 68 69 76 65  | libredb-archive-keyword."archive | 
| 5720 |  22 0a 20 20 22 54 68 65 20 61 72 63 68 69 76 65    20 74 61 67 2e 22 0a 20 20 3a 67 72 6f 75 70 20  | "..."The.archive.tag."...:group. | 
| 5740 |  27 63 61 6c 69 62 72 65 64 62 0a 20 20 3a 74 79    70 65 20 27 73 74 72 69 6e 67 29 0a 0a 28 64 65  | 'calibredb...:type.'string)..(de | 
| 5760 |  66 63 75 73 74 6f 6d 20 63 61 6c 69 62 72 65 64    62 2d 68 69 67 68 6c 69 67 68 74 2d 6b 65 79 77  | fcustom.calibredb-highlight-keyw | 
| 5780 |  6f 72 64 20 22 68 69 67 68 6c 69 67 68 74 22 0a    20 20 22 54 68 65 20 68 69 67 68 6c 69 67 68 74  | ord."highlight"..."The.highlight | 
| 57a0 |  20 74 61 67 2e 22 0a 20 20 3a 67 72 6f 75 70 20    27 63 61 6c 69 62 72 65 64 62 0a 20 20 3a 74 79  | .tag."...:group.'calibredb...:ty | 
| 57c0 |  70 65 20 27 73 74 72 69 6e 67 29 0a 0a 28 64 65    66 63 75 73 74 6f 6d 20 63 61 6c 69 62 72 65 64  | pe.'string)..(defcustom.calibred | 
| 57e0 |  62 2d 61 6e 6e 6f 74 61 74 69 6f 6e 2d 66 69 65    6c 64 20 22 63 6f 6d 6d 65 6e 74 73 22 0a 20 20  | b-annotation-field."comments"... | 
| 5800 |  22 54 68 65 20 66 69 65 6c 64 20 74 6f 20 62 65    20 73 61 76 65 64 20 74 68 65 20 61 6e 6e 6f 74  | "The.field.to.be.saved.the.annot | 
| 5820 |  61 74 69 6f 6e 2e 22 0a 20 20 3a 67 72 6f 75 70    20 27 63 61 6c 69 62 72 65 64 62 0a 20 20 3a 74  | ation."...:group.'calibredb...:t | 
| 5840 |  79 70 65 20 27 73 74 72 69 6e 67 29 0a 0a 28 64    65 66 63 75 73 74 6f 6d 20 63 61 6c 69 62 72 65  | ype.'string)..(defcustom.calibre | 
| 5860 |  64 62 2d 63 6f 6e 64 65 6e 73 65 2d 63 6f 6d 6d    65 6e 74 73 20 74 0a 20 20 22 43 6f 6e 64 65 6e  | db-condense-comments.t..."Conden | 
| 5880 |  73 65 20 63 6f 6d 6d 65 6e 74 73 20 69 6e 74 6f    20 6f 6e 65 20 6c 69 6e 65 2e 22 0a 20 20 3a 67  | se.comments.into.one.line."...:g | 
| 58a0 |  72 6f 75 70 20 27 63 61 6c 69 62 72 65 64 62 0a    20 20 3a 74 79 70 65 20 27 62 6f 6f 6c 65 61 6e  | roup.'calibredb...:type.'boolean | 
| 58c0 |  29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 63 61    6c 69 62 72 65 64 62 2d 65 6e 74 72 79 2d 72 65  | )..(defcustom.calibredb-entry-re | 
| 58e0 |  6e 64 65 72 2d 63 6f 6d 6d 65 6e 74 73 20 22 73    68 72 22 0a 20 20 22 52 65 6e 64 65 72 20 63 6f  | nder-comments."shr"..."Render.co | 
| 5900 |  6d 6d 65 6e 74 73 20 69 6e 20 2a 63 61 6c 69 62    72 65 64 62 2d 65 6e 74 72 79 2a 20 62 75 66 66  | mments.in.*calibredb-entry*.buff | 
| 5920 |  65 72 2e 0a 31 2e 20 66 61 63 65 3a 20 52 65 6e    64 65 72 20 77 69 74 68 20 66 61 63 65 20 60 63  | er..1..face:.Render.with.face.`c | 
| 5940 |  61 6c 69 62 72 65 64 62 2d 63 6f 6d 6d 65 6e 74    2d 66 61 63 65 27 2e 0a 32 2e 20 73 68 72 3a 20  | alibredb-comment-face'..2..shr:. | 
| 5960 |  52 65 6e 64 65 72 20 77 69 74 68 20 73 68 72 20    28 53 69 6d 70 6c 65 20 48 54 4d 4c 20 52 65 6e  | Render.with.shr.(Simple.HTML.Ren | 
| 5980 |  64 65 72 29 2e 0a 33 2e 20 61 6e 6e 6f 74 61 74    69 6f 6e 3a 20 52 65 6e 64 65 72 20 77 69 74 68  | der)..3..annotation:.Render.with | 
| 59a0 |  20 60 63 61 6c 69 62 72 65 64 62 2d 65 64 69 74    2d 61 6e 6e 6f 74 61 74 69 6f 6e 2d 6d 6f 64 65  | .`calibredb-edit-annotation-mode | 
| 59c0 |  27 2e 22 0a 20 20 3a 67 72 6f 75 70 20 27 63 61    6c 69 62 72 65 64 62 0a 20 20 3a 74 79 70 65 20  | '."...:group.'calibredb...:type. | 
| 59e0 |  27 73 74 72 69 6e 67 29 0a 0a 28 64 65 66 63 75    73 74 6f 6d 20 63 61 6c 69 62 72 65 64 62 2d 61  | 'string)..(defcustom.calibredb-a | 
| 5a00 |  64 64 2d 64 75 70 6c 69 63 61 74 65 20 74 0a 20    20 22 41 64 64 20 66 69 6c 65 20 74 6f 20 63 61  | dd-duplicate.t..."Add.file.to.ca | 
| 5a20 |  6c 69 62 72 65 64 62 20 65 76 65 6e 20 69 74 20    69 73 20 64 75 70 6c 69 63 61 74 65 64 2c 20 77  | libredb.even.it.is.duplicated,.w | 
| 5a40 |  68 65 6e 20 75 73 69 6e 67 20 60 63 61 6c 69 62    72 65 64 62 2d 61 64 64 27 2e 20 53 65 74 20 6e  | hen.using.`calibredb-add'..Set.n | 
| 5a60 |  69 6c 20 74 6f 20 44 69 73 61 62 6c 65 20 69 74    2e 22 0a 20 20 3a 74 79 70 65 20 27 62 6f 6f 6c  | il.to.Disable.it."...:type.'bool | 
| 5a80 |  65 61 6e 0a 20 20 3a 67 72 6f 75 70 20 27 63 61    6c 69 62 72 65 64 62 29 0a 0a 28 64 65 66 63 75  | ean...:group.'calibredb)..(defcu | 
| 5aa0 |  73 74 6f 6d 20 63 61 6c 69 62 72 65 64 62 2d 73    6f 72 74 2d 62 79 20 27 69 64 0a 20 20 22 53 6f  | stom.calibredb-sort-by.'id..."So | 
| 5ac0 |  72 74 20 74 68 65 20 72 65 73 75 6c 74 73 20 62    79 20 6d 65 74 61 64 61 74 61 2e 22 0a 20 20 3a  | rt.the.results.by.metadata."...: | 
| 5ae0 |  74 79 70 65 20 27 28 63 68 6f 69 63 65 0a 20 20    20 20 20 20 20 20 20 20 28 63 6f 6e 73 74 20 69  | type.'(choice...........(const.i | 
| 5b00 |  64 29 0a 20 20 20 20 20 20 20 20 20 20 28 63 6f    6e 73 74 20 74 69 74 6c 65 29 0a 20 20 20 20 20  | d)...........(const.title)...... | 
| 5b20 |  20 20 20 20 20 28 63 6f 6e 73 74 20 66 6f 72 6d    61 74 29 0a 20 20 20 20 20 20 20 20 20 20 28 63  | .....(const.format)...........(c | 
| 5b40 |  6f 6e 73 74 20 61 75 74 68 6f 72 29 0a 20 20 20    20 20 20 20 20 20 20 28 63 6f 6e 73 74 20 64 61  | onst.author)...........(const.da | 
| 5b60 |  74 65 29 0a 20 20 20 20 20 20 20 20 20 20 28 63    6f 6e 73 74 20 70 75 62 64 61 74 65 29 0a 20 20  | te)...........(const.pubdate)... | 
| 5b80 |  20 20 20 20 20 20 20 20 28 63 6f 6e 73 74 20 74    61 67 29 0a 20 20 20 20 20 20 20 20 20 20 28 63  | ........(const.tag)...........(c | 
| 5ba0 |  6f 6e 73 74 20 73 69 7a 65 29 0a 20 20 20 20 20    20 20 20 20 20 28 63 6f 6e 73 74 20 6c 61 6e 67  | onst.size)...........(const.lang | 
| 5bc0 |  75 61 67 65 29 29 0a 20 20 3a 67 72 6f 75 70 20    27 63 61 6c 69 62 72 65 64 62 29 0a 0a 28 64 65  | uage))...:group.'calibredb)..(de | 
| 5be0 |  66 63 75 73 74 6f 6d 20 63 61 6c 69 62 72 65 64    62 2d 6f 72 64 65 72 20 27 64 65 73 63 0a 20 20  | fcustom.calibredb-order.'desc... | 
| 5c00 |  22 53 6f 72 74 20 74 68 65 20 72 65 73 75 6c 74    73 20 62 79 20 6f 72 64 65 72 2e 22 0a 20 20 3a  | "Sort.the.results.by.order."...: | 
| 5c20 |  74 79 70 65 20 27 28 63 68 6f 69 63 65 0a 20 20    20 20 20 20 20 20 20 20 28 63 6f 6e 73 74 20 61  | type.'(choice...........(const.a | 
| 5c40 |  73 63 29 0a 20 20 20 20 20 20 20 20 20 20 28 63    6f 6e 73 74 20 64 65 73 63 29 29 0a 20 20 3a 67  | sc)...........(const.desc))...:g | 
| 5c60 |  72 6f 75 70 20 27 63 61 6c 69 62 72 65 64 62 29    0a 0a 28 64 65 66 76 61 72 20 63 61 6c 69 62 72  | roup.'calibredb)..(defvar.calibr | 
| 5c80 |  65 64 62 2d 71 75 65 72 79 2d 73 74 72 69 6e 67    2d 6f 6c 64 20 22 0a 53 45 4c 45 43 54 20 69 64  | edb-query-string-old.".SELECT.id | 
| 5ca0 |  2c 20 61 75 74 68 6f 72 5f 73 6f 72 74 2c 20 70    61 74 68 2c 20 6e 61 6d 65 2c 20 66 6f 72 6d 61  | ,.author_sort,.path,.name,.forma | 
| 5cc0 |  74 2c 20 70 75 62 64 61 74 65 2c 20 74 69 74 6c    65 2c 20 67 72 6f 75 70 5f 63 6f 6e 63 61 74 28  | t,.pubdate,.title,.group_concat( | 
| 5ce0 |  44 49 53 54 49 4e 43 54 20 74 61 67 29 20 41 53    20 74 61 67 2c 20 75 6e 63 6f 6d 70 72 65 73 73  | DISTINCT.tag).AS.tag,.uncompress | 
| 5d00 |  65 64 5f 73 69 7a 65 2c 20 74 65 78 74 2c 20 6c    61 73 74 5f 6d 6f 64 69 66 69 65 64 0a 46 52 4f  | ed_size,.text,.last_modified.FRO | 
| 5d20 |  4d 0a 20 20 28 53 45 4c 45 43 54 20 73 75 62 32    2e 69 64 2c 20 73 75 62 32 2e 61 75 74 68 6f 72  | M...(SELECT.sub2.id,.sub2.author | 
| 5d40 |  5f 73 6f 72 74 2c 20 73 75 62 32 2e 70 61 74 68    2c 20 73 75 62 32 2e 6e 61 6d 65 2c 20 73 75 62  | _sort,.sub2.path,.sub2.name,.sub | 
| 5d60 |  32 2e 66 6f 72 6d 61 74 2c 20 73 75 62 32 2e 70    75 62 64 61 74 65 2c 20 73 75 62 32 2e 74 69 74  | 2.format,.sub2.pubdate,.sub2.tit | 
| 5d80 |  6c 65 2c 20 73 75 62 32 2e 74 61 67 2c 20 73 75    62 32 2e 75 6e 63 6f 6d 70 72 65 73 73 65 64 5f  | le,.sub2.tag,.sub2.uncompressed_ | 
| 5da0 |  73 69 7a 65 2c 20 63 6f 6d 6d 65 6e 74 73 2e 74    65 78 74 2c 20 73 75 62 32 2e 6c 61 73 74 5f 6d  | size,.comments.text,.sub2.last_m | 
| 5dc0 |  6f 64 69 66 69 65 64 0a 20 20 46 52 4f 4d 0a 20    20 20 20 28 53 45 4c 45 43 54 20 63 68 69 6c 64  | odified...FROM.....(SELECT.child | 
| 5de0 |  2e 69 64 2c 20 63 68 69 6c 64 2e 61 75 74 68 6f    72 5f 73 6f 72 74 2c 20 63 68 69 6c 64 2e 70 61  | .id,.child.author_sort,.child.pa | 
| 5e00 |  74 68 2c 20 63 68 69 6c 64 2e 6e 61 6d 65 2c 20    63 68 69 6c 64 2e 66 6f 72 6d 61 74 2c 20 63 68  | th,.child.name,.child.format,.ch | 
| 5e20 |  69 6c 64 2e 70 75 62 64 61 74 65 2c 20 63 68 69    6c 64 2e 74 69 74 6c 65 2c 20 63 68 69 6c 64 2e  | ild.pubdate,.child.title,.child. | 
| 5e40 |  6c 61 73 74 5f 6d 6f 64 69 66 69 65 64 2c 20 74    61 67 73 2e 6e 61 6d 65 20 41 53 20 74 61 67 2c  | last_modified,.tags.name.AS.tag, | 
| 5e60 |  20 63 68 69 6c 64 2e 75 6e 63 6f 6d 70 72 65 73    73 65 64 5f 73 69 7a 65 0a 20 20 20 20 46 52 4f  | .child.uncompressed_size.....FRO | 
| 5e80 |  4d 0a 20 20 20 20 20 20 28 53 45 4c 45 43 54 20    73 75 62 2e 69 64 2c 20 73 75 62 2e 61 75 74 68  | M.......(SELECT.sub.id,.sub.auth | 
| 5ea0 |  6f 72 5f 73 6f 72 74 2c 20 73 75 62 2e 70 61 74    68 2c 20 73 75 62 2e 6e 61 6d 65 2c 20 73 75 62  | or_sort,.sub.path,.sub.name,.sub | 
| 5ec0 |  2e 66 6f 72 6d 61 74 2c 20 73 75 62 2e 70 75 62    64 61 74 65 2c 20 73 75 62 2e 74 69 74 6c 65 2c  | .format,.sub.pubdate,.sub.title, | 
| 5ee0 |  20 73 75 62 2e 6c 61 73 74 5f 6d 6f 64 69 66 69    65 64 2c 20 73 75 62 2e 75 6e 63 6f 6d 70 72 65  | .sub.last_modified,.sub.uncompre | 
| 5f00 |  73 73 65 64 5f 73 69 7a 65 2c 20 62 6f 6f 6b 73    5f 74 61 67 73 5f 6c 69 6e 6b 2e 74 61 67 0a 20  | ssed_size,.books_tags_link.tag.. | 
| 5f20 |  20 20 20 20 20 46 52 4f 4d 0a 20 20 20 20 20 20    20 20 28 53 45 4c 45 43 54 20 62 2e 69 64 2c 20  | .....FROM.........(SELECT.b.id,. | 
| 5f40 |  62 2e 61 75 74 68 6f 72 5f 73 6f 72 74 2c 20 62    2e 70 61 74 68 2c 20 64 2e 6e 61 6d 65 2c 20 64  | b.author_sort,.b.path,.d.name,.d | 
| 5f60 |  2e 66 6f 72 6d 61 74 2c 20 62 2e 70 75 62 64 61    74 65 2c 20 62 2e 74 69 74 6c 65 2c 20 62 2e 6c  | .format,.b.pubdate,.b.title,.b.l | 
| 5f80 |  61 73 74 5f 6d 6f 64 69 66 69 65 64 2c 20 64 2e    75 6e 63 6f 6d 70 72 65 73 73 65 64 5f 73 69 7a  | ast_modified,.d.uncompressed_siz | 
| 5fa0 |  65 0a 20 20 20 20 20 20 20 20 46 52 4f 4d 20 64    61 74 61 20 41 53 20 64 0a 20 20 20 20 20 20 20  | e.........FROM.data.AS.d........ | 
| 5fc0 |  20 4c 45 46 54 20 4f 55 54 45 52 20 4a 4f 49 4e    20 62 6f 6f 6b 73 20 41 53 20 62 0a 20 20 20 20  | .LEFT.OUTER.JOIN.books.AS.b..... | 
| 5fe0 |  20 20 20 20 4f 4e 20 64 2e 62 6f 6f 6b 20 3d 20    62 2e 69 64 29 20 41 53 20 73 75 62 0a 20 20 20  | ....ON.d.book.=.b.id).AS.sub.... | 
| 6000 |  20 20 20 20 20 4c 45 46 54 20 4f 55 54 45 52 20    4a 4f 49 4e 20 62 6f 6f 6b 73 5f 74 61 67 73 5f  | .....LEFT.OUTER.JOIN.books_tags_ | 
| 6020 |  6c 69 6e 6b 0a 20 20 20 20 20 20 20 20 4f 4e 20    73 75 62 2e 69 64 20 3d 20 62 6f 6f 6b 73 5f 74  | link.........ON.sub.id.=.books_t | 
| 6040 |  61 67 73 5f 6c 69 6e 6b 2e 62 6f 6f 6b 29 20 41    53 20 63 68 69 6c 64 0a 20 20 20 20 20 20 4c 45  | ags_link.book).AS.child.......LE | 
| 6060 |  46 54 20 4f 55 54 45 52 20 4a 4f 49 4e 20 74 61    67 73 0a 20 20 20 20 20 20 4f 4e 20 63 68 69 6c  | FT.OUTER.JOIN.tags.......ON.chil | 
| 6080 |  64 2e 74 61 67 20 3d 20 74 61 67 73 2e 69 64 29    20 61 73 20 73 75 62 32 0a 20 20 20 20 4c 45 46  | d.tag.=.tags.id).as.sub2.....LEF | 
| 60a0 |  54 20 4f 55 54 45 52 20 4a 4f 49 4e 20 63 6f 6d    6d 65 6e 74 73 0a 20 20 20 20 4f 4e 20 73 75 62  | T.OUTER.JOIN.comments.....ON.sub | 
| 60c0 |  32 2e 69 64 20 3d 20 63 6f 6d 6d 65 6e 74 73 2e    62 6f 6f 6b 29 0a 47 52 4f 55 50 20 42 59 20 69  | 2.id.=.comments.book).GROUP.BY.i | 
| 60e0 |  64 2c 20 66 6f 72 6d 61 74 22 0a 20 20 22 54 4f    44 4f 20 63 61 6c 69 62 72 65 20 64 61 74 61 62  | d,.format"..."TODO.calibre.datab | 
| 6100 |  61 73 65 20 71 75 65 72 79 20 73 74 61 74 65 6d    65 6e 74 2e 22 29 0a 0a 28 64 65 66 76 61 72 20  | ase.query.statement.")..(defvar. | 
| 6120 |  63 61 6c 69 62 72 65 64 62 2d 71 75 65 72 79 2d    73 74 72 69 6e 67 20 22 0a 57 49 54 48 20 64 20  | calibredb-query-string.".WITH.d. | 
| 6140 |  41 53 20 28 0a 20 20 20 20 53 45 4c 45 43 54 20    62 6f 6f 6b 73 2e 69 64 2c 20 62 6f 6f 6b 73 2e  | AS.(.....SELECT.books.id,.books. | 
| 6160 |  69 64 20 61 73 20 62 6f 6f 6b 2c 20 66 6f 72 6d    61 74 2c 20 75 6e 63 6f 6d 70 72 65 73 73 65 64  | id.as.book,.format,.uncompressed | 
| 6180 |  5f 73 69 7a 65 2c 20 6e 61 6d 65 0a 20 20 20 20    46 52 4f 4d 20 62 6f 6f 6b 73 0a 20 20 20 20 4c  | _size,.name.....FROM.books.....L | 
| 61a0 |  45 46 54 20 4a 4f 49 4e 20 64 61 74 61 0a 20 20    20 20 4f 4e 20 62 6f 6f 6b 73 2e 69 64 20 3d 20  | EFT.JOIN.data.....ON.books.id.=. | 
| 61c0 |  64 61 74 61 2e 62 6f 6f 6b 0a 20 20 20 20 57 48    45 52 45 20 64 61 74 61 2e 62 6f 6f 6b 20 49 53  | data.book.....WHERE.data.book.IS | 
| 61e0 |  20 4e 55 4c 4c 0a 20 20 20 20 55 4e 49 4f 4e 0a    20 20 20 20 53 45 4c 45 43 54 20 2a 0a 20 20 20  | .NULL.....UNION.....SELECT.*.... | 
| 6200 |  20 46 52 4f 4d 20 64 61 74 61 0a 29 2c 20 74 20    41 53 20 28 0a 20 20 20 20 53 45 4c 45 43 54 20  | .FROM.data.),.t.AS.(.....SELECT. | 
| 6220 |  62 6f 6f 6b 73 5f 74 61 67 73 5f 6c 69 6e 6b 2e    62 6f 6f 6b 2c 20 67 72 6f 75 70 5f 63 6f 6e 63  | books_tags_link.book,.group_conc | 
| 6240 |  61 74 28 44 49 53 54 49 4e 43 54 20 74 61 67 73    2e 6e 61 6d 65 29 20 41 53 20 74 61 67 0a 20 20  | at(DISTINCT.tags.name).AS.tag... | 
| 6260 |  20 20 46 52 4f 4d 20 62 6f 6f 6b 73 5f 74 61 67    73 5f 6c 69 6e 6b 0a 20 20 20 20 4c 45 46 54 20  | ..FROM.books_tags_link.....LEFT. | 
| 6280 |  4a 4f 49 4e 20 74 61 67 73 0a 20 20 20 20 4f 4e    20 62 6f 6f 6b 73 5f 74 61 67 73 5f 6c 69 6e 6b  | JOIN.tags.....ON.books_tags_link | 
| 62a0 |  2e 74 61 67 20 3d 20 74 61 67 73 2e 69 64 0a 20    20 20 20 47 52 4f 55 50 20 42 59 20 62 6f 6f 6b  | .tag.=.tags.id.....GROUP.BY.book | 
| 62c0 |  73 5f 74 61 67 73 5f 6c 69 6e 6b 2e 62 6f 6f 6b    0a 29 2c 20 70 20 41 53 20 28 0a 20 20 20 20 53  | s_tags_link.book.),.p.AS.(.....S | 
| 62e0 |  45 4c 45 43 54 20 62 6f 6f 6b 73 5f 70 75 62 6c    69 73 68 65 72 73 5f 6c 69 6e 6b 2e 62 6f 6f 6b  | ELECT.books_publishers_link.book | 
| 6300 |  2c 20 70 75 62 6c 69 73 68 65 72 73 2e 6e 61 6d    65 0a 20 20 20 20 46 52 4f 4d 20 62 6f 6f 6b 73  | ,.publishers.name.....FROM.books | 
| 6320 |  5f 70 75 62 6c 69 73 68 65 72 73 5f 6c 69 6e 6b    0a 20 20 20 20 4c 45 46 54 20 4a 4f 49 4e 20 70  | _publishers_link.....LEFT.JOIN.p | 
| 6340 |  75 62 6c 69 73 68 65 72 73 0a 20 20 20 20 4f 4e    20 62 6f 6f 6b 73 5f 70 75 62 6c 69 73 68 65 72  | ublishers.....ON.books_publisher | 
| 6360 |  73 5f 6c 69 6e 6b 2e 70 75 62 6c 69 73 68 65 72    20 3d 20 70 75 62 6c 69 73 68 65 72 73 2e 69 64  | s_link.publisher.=.publishers.id | 
| 6380 |  0a 29 2c 20 73 20 41 53 20 28 0a 20 20 20 20 53    45 4c 45 43 54 20 62 6f 6f 6b 73 5f 73 65 72 69  | .),.s.AS.(.....SELECT.books_seri | 
| 63a0 |  65 73 5f 6c 69 6e 6b 2e 62 6f 6f 6b 2c 20 73 65    72 69 65 73 2e 6e 61 6d 65 0a 20 20 20 20 46 52  | es_link.book,.series.name.....FR | 
| 63c0 |  4f 4d 20 62 6f 6f 6b 73 5f 73 65 72 69 65 73 5f    6c 69 6e 6b 0a 20 20 20 20 4c 45 46 54 20 4a 4f  | OM.books_series_link.....LEFT.JO | 
| 63e0 |  49 4e 20 73 65 72 69 65 73 0a 20 20 20 20 4f 4e    20 62 6f 6f 6b 73 5f 73 65 72 69 65 73 5f 6c 69  | IN.series.....ON.books_series_li | 
| 6400 |  6e 6b 2e 73 65 72 69 65 73 20 3d 20 73 65 72 69    65 73 2e 69 64 0a 29 2c 20 6c 20 41 53 20 28 0a  | nk.series.=.series.id.),.l.AS.(. | 
| 6420 |  20 20 20 20 53 45 4c 45 43 54 20 62 6f 6f 6b 73    5f 6c 61 6e 67 75 61 67 65 73 5f 6c 69 6e 6b 2e  | ....SELECT.books_languages_link. | 
| 6440 |  62 6f 6f 6b 2c 20 6c 61 6e 67 75 61 67 65 73 2e    6c 61 6e 67 5f 63 6f 64 65 0a 20 20 20 20 46 52  | book,.languages.lang_code.....FR | 
| 6460 |  4f 4d 20 62 6f 6f 6b 73 5f 6c 61 6e 67 75 61 67    65 73 5f 6c 69 6e 6b 0a 20 20 20 20 4c 45 46 54  | OM.books_languages_link.....LEFT | 
| 6480 |  20 4a 4f 49 4e 20 6c 61 6e 67 75 61 67 65 73 0a    20 20 20 20 4f 4e 20 62 6f 6f 6b 73 5f 6c 61 6e  | .JOIN.languages.....ON.books_lan | 
| 64a0 |  67 75 61 67 65 73 5f 6c 69 6e 6b 2e 6c 61 6e 67    5f 63 6f 64 65 20 3d 20 6c 61 6e 67 75 61 67 65  | guages_link.lang_code.=.language | 
| 64c0 |  73 2e 69 64 0a 29 2c 20 62 20 41 53 20 28 0a 20    20 20 20 53 45 4c 45 43 54 20 2a 0a 20 20 20 20  | s.id.),.b.AS.(.....SELECT.*..... | 
| 64e0 |  46 52 4f 4d 20 62 6f 6f 6b 73 0a 29 0a 53 45 4c    45 43 54 20 64 2e 62 6f 6f 6b 20 41 53 20 69 64  | FROM.books.).SELECT.d.book.AS.id | 
| 6500 |  2c 20 62 2e 61 75 74 68 6f 72 5f 73 6f 72 74 2c    20 62 2e 70 61 74 68 2c 20 64 2e 6e 61 6d 65 2c  | ,.b.author_sort,.b.path,.d.name, | 
| 6520 |  20 67 72 6f 75 70 5f 63 6f 6e 63 61 74 28 44 49    53 54 49 4e 43 54 20 64 2e 66 6f 72 6d 61 74 29  | .group_concat(DISTINCT.d.format) | 
| 6540 |  20 61 73 20 66 6f 72 6d 61 74 2c 20 62 2e 70 75    62 64 61 74 65 2c 20 62 2e 74 69 74 6c 65 2c 20  | .as.format,.b.pubdate,.b.title,. | 
| 6560 |  74 2e 74 61 67 2c 20 64 2e 75 6e 63 6f 6d 70 72    65 73 73 65 64 5f 73 69 7a 65 2c 20 63 2e 74 65  | t.tag,.d.uncompressed_size,.c.te | 
| 6580 |  78 74 2c 20 67 72 6f 75 70 5f 63 6f 6e 63 61 74    28 69 2e 74 79 70 65 20 7c 7c 20 27 3a 27 20 7c  | xt,.group_concat(i.type.||.':'.| | 
| 65a0 |  7c 20 69 2e 76 61 6c 29 20 41 53 20 69 64 73 2c    20 70 2e 6e 61 6d 65 20 41 53 20 70 75 62 6c 69  | |.i.val).AS.ids,.p.name.AS.publi | 
| 65c0 |  73 68 65 72 2c 20 73 2e 6e 61 6d 65 20 41 53 20    73 65 72 69 65 73 2c 20 6c 2e 6c 61 6e 67 5f 63  | sher,.s.name.AS.series,.l.lang_c | 
| 65e0 |  6f 64 65 2c 20 62 2e 6c 61 73 74 5f 6d 6f 64 69    66 69 65 64 0a 46 52 4f 4d 20 64 0a 4c 45 46 54  | ode,.b.last_modified.FROM.d.LEFT | 
| 6600 |  20 4a 4f 49 4e 20 70 0a 4f 4e 20 64 2e 62 6f 6f    6b 20 3d 20 70 2e 62 6f 6f 6b 0a 4c 45 46 54 20  | .JOIN.p.ON.d.book.=.p.book.LEFT. | 
| 6620 |  4a 4f 49 4e 20 73 0a 4f 4e 20 64 2e 62 6f 6f 6b    20 3d 20 73 2e 62 6f 6f 6b 0a 4c 45 46 54 20 4a  | JOIN.s.ON.d.book.=.s.book.LEFT.J | 
| 6640 |  4f 49 4e 20 74 0a 4f 4e 20 64 2e 62 6f 6f 6b 20    3d 20 74 2e 62 6f 6f 6b 0a 4c 45 46 54 20 4a 4f  | OIN.t.ON.d.book.=.t.book.LEFT.JO | 
| 6660 |  49 4e 20 6c 0a 4f 4e 20 64 2e 62 6f 6f 6b 20 3d    20 6c 2e 62 6f 6f 6b 0a 4c 45 46 54 20 4a 4f 49  | IN.l.ON.d.book.=.l.book.LEFT.JOI | 
| 6680 |  4e 20 63 6f 6d 6d 65 6e 74 73 20 41 53 20 63 0a    4f 4e 20 64 2e 62 6f 6f 6b 20 3d 20 63 2e 62 6f  | N.comments.AS.c.ON.d.book.=.c.bo | 
| 66a0 |  6f 6b 0a 4c 45 46 54 20 4a 4f 49 4e 20 62 0a 4f    4e 20 64 2e 62 6f 6f 6b 20 3d 20 62 2e 69 64 0a  | ok.LEFT.JOIN.b.ON.d.book.=.b.id. | 
| 66c0 |  4c 45 46 54 20 4a 4f 49 4e 20 69 64 65 6e 74 69    66 69 65 72 73 20 41 53 20 69 0a 4f 4e 20 64 2e  | LEFT.JOIN.identifiers.AS.i.ON.d. | 
| 66e0 |  62 6f 6f 6b 20 3d 20 69 2e 62 6f 6f 6b 0a 47 52    4f 55 50 20 42 59 20 64 2e 62 6f 6f 6b 22 0a 20  | book.=.i.book.GROUP.BY.d.book".. | 
| 6700 |  20 22 54 4f 44 4f 20 63 61 6c 69 62 72 65 20 64    61 74 61 62 61 73 65 20 71 75 65 72 79 20 73 74  | ."TODO.calibre.database.query.st | 
| 6720 |  61 74 65 6d 65 6e 74 2e 22 29 0a 0a 0a 28 64 65    66 76 61 72 20 63 61 6c 69 62 72 65 64 62 2d 73  | atement.")...(defvar.calibredb-s | 
| 6740 |  71 6c 2d 63 6f 75 6e 74 2d 73 74 72 69 6e 67 20    22 53 45 4c 45 43 54 20 43 4f 55 4e 54 28 69 64  | ql-count-string."SELECT.COUNT(id | 
| 6760 |  29 20 46 52 4f 4d 20 28 53 45 4c 45 43 54 20 2a    20 46 52 4f 4d 20 28 25 73 29 20 25 73 29 22 0a  | ).FROM.(SELECT.*.FROM.(%s).%s)". | 
| 6780 |  20 20 22 63 61 6c 69 62 72 65 20 64 61 74 61 62    61 73 65 20 71 75 65 72 79 20 73 74 61 74 65 6d  | .."calibre.database.query.statem | 
| 67a0 |  65 6e 74 3a 20 63 6f 75 6e 74 20 74 6f 74 61 6c    20 69 74 65 6d 73 2e 22 29 0a 0a 0a 28 64 65 66  | ent:.count.total.items.")...(def | 
| 67c0 |  76 61 72 20 63 61 6c 69 62 72 65 64 62 2d 73 71    6c 2d 6f 72 64 65 72 2d 62 79 2d 73 74 72 69 6e  | var.calibredb-sql-order-by-strin | 
| 67e0 |  67 20 22 0a 4f 52 44 45 52 20 42 59 0a 20 20 28    43 41 53 45 0a 20 20 20 57 48 45 4e 20 74 2e 74  | g.".ORDER.BY...(CASE....WHEN.t.t | 
| 6800 |  61 67 20 4c 49 4b 45 20 27 25 66 61 76 6f 72 69    74 65 25 27 20 54 48 45 4e 20 31 0a 20 20 20 57  | ag.LIKE.'%favorite%'.THEN.1....W | 
| 6820 |  48 45 4e 20 74 2e 74 61 67 20 4c 49 4b 45 20 27    25 68 69 67 68 6c 69 67 68 74 25 27 20 54 48 45  | HEN.t.tag.LIKE.'%highlight%'.THE | 
| 6840 |  4e 20 32 0a 20 20 20 57 48 45 4e 20 74 2e 74 61    67 20 4c 49 4b 45 20 27 25 61 72 63 68 69 76 65  | N.2....WHEN.t.tag.LIKE.'%archive | 
| 6860 |  25 27 20 54 48 45 4e 20 34 0a 20 20 20 45 4c 53    45 20 33 0a 20 20 20 45 4e 44 29 2c 22 0a 20 20  | %'.THEN.4....ELSE.3....END),"... | 
| 6880 |  22 63 61 6c 69 62 72 65 20 64 61 74 61 62 61 73    65 20 71 75 65 72 79 20 73 74 61 74 65 6d 65 6e  | "calibre.database.query.statemen | 
| 68a0 |  74 3a 20 6f 72 64 65 72 20 62 79 20 66 61 76 6f    72 69 74 65 2c 20 68 69 67 68 6c 69 67 68 74 2c  | t:.order.by.favorite,.highlight, | 
| 68c0 |  20 61 72 63 68 69 76 65 2e 22 29 0a 0a 28 64 65    66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d 71 75  | .archive.")..(defun.calibredb-qu | 
| 68e0 |  65 72 79 2d 73 65 61 72 63 68 2d 73 74 72 69 6e    67 20 28 66 69 6c 74 65 72 29 0a 20 20 22 44 45  | ery-search-string.(filter)..."DE | 
| 6900 |  50 52 45 43 41 54 45 44 20 52 65 74 75 72 6e 20    74 68 65 20 77 68 65 72 65 20 70 61 72 74 20 6f  | PRECATED.Return.the.where.part.o | 
| 6920 |  66 20 53 51 4c 20 62 61 73 65 64 20 6f 6e 20 46    49 4c 54 45 52 2e 22 0a 20 20 28 66 6f 72 6d 61  | f.SQL.based.on.FILTER."...(forma | 
| 6940 |  74 0a 20 20 20 22 0a 57 48 45 52 45 20 69 64 20    4c 49 4b 45 20 27 25 25 25 73 25 25 27 0a 4f 52  | t....".WHERE.id.LIKE.'%%%s%%'.OR | 
| 6960 |  20 74 65 78 74 20 4c 49 4b 45 20 27 25 25 25 73    25 25 27 0a 4f 52 20 74 61 67 20 4c 49 4b 45 20  | .text.LIKE.'%%%s%%'.OR.tag.LIKE. | 
| 6980 |  27 25 25 25 73 25 25 27 0a 4f 52 20 74 69 74 6c    65 20 4c 49 4b 45 20 27 25 25 25 73 25 25 27 0a  | '%%%s%%'.OR.title.LIKE.'%%%s%%'. | 
| 69a0 |  4f 52 20 66 6f 72 6d 61 74 20 4c 49 4b 45 20 27    25 25 25 73 25 25 27 0a 4f 52 20 61 75 74 68 6f  | OR.format.LIKE.'%%%s%%'.OR.autho | 
| 69c0 |  72 5f 73 6f 72 74 20 4c 49 4b 45 20 27 25 25 25    73 25 25 27 0a 22 20 66 69 6c 74 65 72 20 66 69  | r_sort.LIKE.'%%%s%%'.".filter.fi | 
| 69e0 |  6c 74 65 72 20 66 69 6c 74 65 72 20 66 69 6c 74    65 72 20 66 69 6c 74 65 72 20 66 69 6c 74 65 72  | lter.filter.filter.filter.filter | 
| 6a00 |  29 29 0a 0a 28 64 65 66 75 6e 20 63 61 6c 69 62    72 65 64 62 2d 72 6f 6f 74 2d 64 69 72 2d 71 75  | ))..(defun.calibredb-root-dir-qu | 
| 6a20 |  6f 74 65 20 28 29 0a 20 20 22 52 65 74 75 72 6e    20 65 78 70 61 6e 64 65 64 20 61 6e 64 20 71 75  | ote.()..."Return.expanded.and.qu | 
| 6a40 |  6f 74 65 64 20 63 61 6c 69 62 72 65 64 62 20 72    6f 6f 74 20 64 69 72 2e 22 0a 20 20 28 73 65 74  | oted.calibredb.root.dir."...(set | 
| 6a60 |  71 20 63 61 6c 69 62 72 65 64 62 2d 72 6f 6f 74    2d 64 69 72 2d 71 75 6f 74 65 20 28 73 68 65 6c  | q.calibredb-root-dir-quote.(shel | 
| 6a80 |  6c 2d 71 75 6f 74 65 2d 61 72 67 75 6d 65 6e 74    20 28 65 78 70 61 6e 64 2d 66 69 6c 65 2d 6e 61  | l-quote-argument.(expand-file-na | 
| 6aa0 |  6d 65 20 63 61 6c 69 62 72 65 64 62 2d 72 6f 6f    74 2d 64 69 72 29 29 29 29 0a 0a 28 63 6c 2d 64  | me.calibredb-root-dir))))..(cl-d | 
| 6ac0 |  65 66 73 74 72 75 63 74 20 63 61 6c 69 62 72 65    64 62 2d 73 74 72 75 63 74 0a 20 20 63 6f 6d 6d  | efstruct.calibredb-struct...comm | 
| 6ae0 |  61 6e 64 20 6f 70 74 69 6f 6e 20 69 6e 70 75 74    20 69 64 20 6c 69 62 72 61 72 79 20 61 63 74 69  | and.option.input.id.library.acti | 
| 6b00 |  6f 6e 29 0a 0a 28 63 6c 2d 64 65 66 73 74 72 75    63 74 20 63 61 6c 69 62 72 65 64 62 2d 63 6f 6e  | on)..(cl-defstruct.calibredb-con | 
| 6b20 |  76 65 72 74 2d 73 74 72 75 63 74 0a 20 20 69 6e    70 75 74 20 6f 75 74 70 75 74 20 6f 70 74 69 6f  | vert-struct...input.output.optio | 
| 6b40 |  6e 29 0a 0a 28 64 65 66 75 6e 20 63 61 6c 69 62    72 65 64 62 2d 67 65 74 2d 61 63 74 69 6f 6e 20  | n)..(defun.calibredb-get-action. | 
| 6b60 |  28 73 74 61 74 65 29 0a 20 20 22 47 65 74 20 74    68 65 20 61 63 74 69 6f 6e 20 66 75 6e 63 74 69  | (state)..."Get.the.action.functi | 
| 6b80 |  6f 6e 20 66 72 6f 6d 20 53 54 41 54 45 2e 22 0a    20 20 28 6c 65 74 20 28 28 61 63 74 69 6f 6e 20  | on.from.STATE."...(let.((action. | 
| 6ba0 |  28 63 61 6c 69 62 72 65 64 62 2d 73 74 72 75 63    74 2d 61 63 74 69 6f 6e 20 73 74 61 74 65 29 29  | (calibredb-struct-action.state)) | 
| 6bc0 |  29 0a 20 20 20 20 28 77 68 65 6e 20 61 63 74 69    6f 6e 0a 20 20 20 20 20 20 28 69 66 20 28 66 75  | ).....(when.action.......(if.(fu | 
| 6be0 |  6e 63 74 69 6f 6e 70 20 61 63 74 69 6f 6e 29 0a    20 20 20 20 20 20 20 20 20 20 61 63 74 69 6f 6e  | nctionp.action)...........action | 
| 6c00 |  0a 20 20 20 20 20 20 20 20 28 63 61 64 72 20 28    6e 74 68 20 28 63 61 72 20 61 63 74 69 6f 6e 29  | .........(cadr.(nth.(car.action) | 
| 6c20 |  20 61 63 74 69 6f 6e 29 29 29 29 29 29 0a 0a 28    63 6c 2d 64 65 66 75 6e 20 63 61 6c 69 62 72 65  | .action))))))..(cl-defun.calibre | 
| 6c40 |  64 62 2d 63 6f 6d 6d 61 6e 64 20 28 26 6b 65 79    20 63 6f 6d 6d 61 6e 64 20 6f 70 74 69 6f 6e 20  | db-command.(&key.command.option. | 
| 6c60 |  69 6e 70 75 74 20 69 64 20 6c 69 62 72 61 72 79    20 61 63 74 69 6f 6e 29 0a 20 20 28 6c 65 74 2a  | input.id.library.action)...(let* | 
| 6c80 |  20 28 28 63 6f 6d 6d 61 6e 64 2d 73 74 72 69 6e    67 20 28 6d 61 6b 65 2d 63 61 6c 69 62 72 65 64  | .((command-string.(make-calibred | 
| 6ca0 |  62 2d 73 74 72 75 63 74 0a 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | b-struct........................ | 
| 6cc0 |  20 20 20 3a 63 6f 6d 6d 61 6e 64 20 63 6f 6d 6d    61 6e 64 0a 20 20 20 20 20 20 20 20 20 20 20 20  | ...:command.command............. | 
| 6ce0 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 6f    70 74 69 6f 6e 20 6f 70 74 69 6f 6e 0a 20 20 20  | ..............:option.option.... | 
| 6d00 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 3a 69 6e 70 75 74 20 69 6e  | .......................:input.in | 
| 6d20 |  70 75 74 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 3a 69  | put...........................:i | 
| 6d40 |  64 20 69 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 3a  | d.id...........................: | 
| 6d60 |  6c 69 62 72 61 72 79 20 6c 69 62 72 61 72 79 0a    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | library.library................. | 
| 6d80 |  20 20 20 20 20 20 20 20 20 20 3a 61 63 74 69 6f    6e 20 61 63 74 69 6f 6e 29 29 0a 20 20 20 20 20  | ..........:action.action))...... | 
| 6da0 |  20 20 20 20 28 6c 69 6e 65 20 28 6d 61 70 63 6f    6e 63 61 74 20 23 27 69 64 65 6e 74 69 74 79 0a  | ....(line.(mapconcat.#'identity. | 
| 6dc0 |  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 60 28 2c 63 61 6c  | ..........................`(,cal | 
| 6de0 |  69 62 72 65 64 62 2d 70 72 6f 67 72 61 6d 0a 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | ibredb-program.................. | 
| 6e00 |  20 20 20 20 20 20 20 20 20 20 20 2c 28 63 61 6c    69 62 72 65 64 62 2d 73 74 72 75 63 74 2d 63 6f  | ...........,(calibredb-struct-co | 
| 6e20 |  6d 6d 61 6e 64 20 63 6f 6d 6d 61 6e 64 2d 73 74    72 69 6e 67 29 0a 20 20 20 20 20 20 20 20 20 20  | mmand.command-string)........... | 
| 6e40 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 2c 28 63 61 6c 69 62 72 65 64 62 2d 73 74  | ..................,(calibredb-st | 
| 6e60 |  72 75 63 74 2d 6f 70 74 69 6f 6e 20 63 6f 6d 6d    61 6e 64 2d 73 74 72 69 6e 67 29 0a 20 20 20 20  | ruct-option.command-string)..... | 
| 6e80 |  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 61 6c 69 62 72  | ........................,(calibr | 
| 6ea0 |  65 64 62 2d 73 74 72 75 63 74 2d 69 6e 70 75 74    20 63 6f 6d 6d 61 6e 64 2d 73 74 72 69 6e 67 29  | edb-struct-input.command-string) | 
| 6ec0 |  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 20 2c 28 63  | .............................,(c | 
| 6ee0 |  61 6c 69 62 72 65 64 62 2d 73 74 72 75 63 74 2d    69 64 20 63 6f 6d 6d 61 6e 64 2d 73 74 72 69 6e  | alibredb-struct-id.command-strin | 
| 6f00 |  67 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 20 2c  | g)............................., | 
| 6f20 |  28 63 61 6c 69 62 72 65 64 62 2d 73 74 72 75 63    74 2d 6c 69 62 72 61 72 79 20 63 6f 6d 6d 61 6e  | (calibredb-struct-library.comman | 
| 6f40 |  64 2d 73 74 72 69 6e 67 29 29 20 22 20 22 29 29    29 0a 20 20 20 20 28 73 65 74 71 2d 6c 6f 63 61  | d-string))."."))).....(setq-loca | 
| 6f60 |  6c 20 69 6e 68 69 62 69 74 2d 6d 65 73 73 61 67    65 20 74 29 0a 20 20 20 20 28 6d 65 73 73 61 67  | l.inhibit-message.t).....(messag | 
| 6f80 |  65 20 22 25 73 22 20 6c 69 6e 65 29 0a 20 20 20    20 28 6d 65 73 73 61 67 65 20 22 25 73 22 20 28  | e."%s".line).....(message."%s".( | 
| 6fa0 |  73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 74 6f    2d 73 74 72 69 6e 67 20 6c 69 6e 65 29 29 29 29  | shell-command-to-string.line)))) | 
| 6fc0 |  0a 0a 28 63 6c 2d 64 65 66 75 6e 20 63 61 6c 69    62 72 65 64 62 2d 70 72 6f 63 65 73 73 20 28 26  | ..(cl-defun.calibredb-process.(& | 
| 6fe0 |  6b 65 79 20 63 6f 6d 6d 61 6e 64 20 6f 70 74 69    6f 6e 20 69 6e 70 75 74 20 69 64 20 6c 69 62 72  | key.command.option.input.id.libr | 
| 7000 |  61 72 79 20 61 63 74 69 6f 6e 29 0a 20 20 28 6c    65 74 2a 20 28 28 63 6f 6d 6d 61 6e 64 2d 73 74  | ary.action)...(let*.((command-st | 
| 7020 |  72 69 6e 67 20 28 6d 61 6b 65 2d 63 61 6c 69 62    72 65 64 62 2d 73 74 72 75 63 74 0a 20 20 20 20  | ring.(make-calibredb-struct..... | 
| 7040 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 3a 63 6f 6d 6d 61 6e 64 20 63  | ......................:command.c | 
| 7060 |  6f 6d 6d 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  | ommand.......................... | 
| 7080 |  20 3a 6f 70 74 69 6f 6e 20 6f 70 74 69 6f 6e 0a    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | .:option.option................. | 
| 70a0 |  20 20 20 20 20 20 20 20 20 20 3a 69 6e 70 75 74    20 69 6e 70 75 74 0a 20 20 20 20 20 20 20 20 20  | ..........:input.input.......... | 
| 70c0 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 3a 69 64 20 69 64 0a 20 20 20 20 20 20 20 20  | .................:id.id......... | 
| 70e0 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 3a 6c 69 62 72 61 72 79 20 6c 69 62 72 61  | ..................:library.libra | 
| 7100 |  72 79 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 3a 61 63  | ry...........................:ac | 
| 7120 |  74 69 6f 6e 20 61 63 74 69 6f 6e 29 29 0a 20 20    20 20 20 20 20 20 20 28 6c 69 6e 65 20 28 6d 61  | tion.action))..........(line.(ma | 
| 7140 |  70 63 6f 6e 63 61 74 20 23 27 69 64 65 6e 74 69    74 79 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  | pconcat.#'identity.............. | 
| 7160 |  20 20 20 20 20 20 20 20 20 20 20 20 20 60 28 2c    63 61 6c 69 62 72 65 64 62 2d 70 72 6f 67 72 61  | .............`(,calibredb-progra | 
| 7180 |  6d 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 20 2c 28  | m.............................,( | 
| 71a0 |  63 61 6c 69 62 72 65 64 62 2d 73 74 72 75 63 74    2d 63 6f 6d 6d 61 6e 64 20 63 6f 6d 6d 61 6e 64  | calibredb-struct-command.command | 
| 71c0 |  2d 73 74 72 69 6e 67 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  | -string)........................ | 
| 71e0 |  20 20 20 20 20 2c 28 63 61 6c 69 62 72 65 64 62    2d 73 74 72 75 63 74 2d 6f 70 74 69 6f 6e 20 63  | .....,(calibredb-struct-option.c | 
| 7200 |  6f 6d 6d 61 6e 64 2d 73 74 72 69 6e 67 29 0a 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | ommand-string).................. | 
| 7220 |  20 20 20 20 20 20 20 20 20 20 20 2c 28 63 61 6c    69 62 72 65 64 62 2d 73 74 72 75 63 74 2d 69 6e  | ...........,(calibredb-struct-in | 
| 7240 |  70 75 74 20 63 6f 6d 6d 61 6e 64 2d 73 74 72 69    6e 67 29 0a 20 20 20 20 20 20 20 20 20 20 20 20  | put.command-string)............. | 
| 7260 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    2c 28 63 61 6c 69 62 72 65 64 62 2d 73 74 72 75  | ................,(calibredb-stru | 
| 7280 |  63 74 2d 69 64 20 63 6f 6d 6d 61 6e 64 2d 73 74    72 69 6e 67 29 0a 20 20 20 20 20 20 20 20 20 20  | ct-id.command-string)........... | 
| 72a0 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 2c 28 63 61 6c 69 62 72 65 64 62 2d 73 74  | ..................,(calibredb-st | 
| 72c0 |  72 75 63 74 2d 6c 69 62 72 61 72 79 20 63 6f 6d    6d 61 6e 64 2d 73 74 72 69 6e 67 29 29 20 22 20  | ruct-library.command-string)).". | 
| 72e0 |  22 29 29 29 0a 20 20 20 20 28 73 65 74 71 2d 6c    6f 63 61 6c 20 69 6e 68 69 62 69 74 2d 6d 65 73  | "))).....(setq-local.inhibit-mes | 
| 7300 |  73 61 67 65 20 74 29 0a 20 20 20 20 28 6d 65 73    73 61 67 65 20 22 25 73 22 20 6c 69 6e 65 29 0a  | sage.t).....(message."%s".line). | 
| 7320 |  20 20 20 20 28 73 74 61 72 74 2d 70 72 6f 63 65    73 73 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64  | ....(start-process-shell-command | 
| 7340 |  20 22 63 61 6c 69 62 72 65 64 62 22 20 22 2a 63    61 6c 69 62 72 65 64 62 2a 22 20 6c 69 6e 65 29  | ."calibredb"."*calibredb*".line) | 
| 7360 |  29 29 0a 0a 3b 3b 20 54 4f 44 4f 0a 28 63 6c 2d    64 65 66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d  | ))..;;.TODO.(cl-defun.calibredb- | 
| 7380 |  63 6f 6e 76 65 72 74 2d 70 72 6f 63 65 73 73 20    28 26 6b 65 79 20 69 6e 70 75 74 20 6f 75 74 70  | convert-process.(&key.input.outp | 
| 73a0 |  75 74 20 6f 70 74 69 6f 6e 29 0a 20 20 28 6c 65    74 2a 20 28 28 63 6f 6d 6d 61 6e 64 2d 73 74 72  | ut.option)...(let*.((command-str | 
| 73c0 |  69 6e 67 20 28 6d 61 6b 65 2d 63 61 6c 69 62 72    65 64 62 2d 63 6f 6e 76 65 72 74 2d 73 74 72 75  | ing.(make-calibredb-convert-stru | 
| 73e0 |  63 74 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 3a 69 6e  | ct...........................:in | 
| 7400 |  70 75 74 20 69 6e 70 75 74 0a 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | put.input....................... | 
| 7420 |  20 20 20 20 3a 6f 75 74 70 75 74 20 6f 75 74 70    75 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  | ....:output.output.............. | 
| 7440 |  20 20 20 20 20 20 20 20 20 20 20 20 20 3a 6f 70    74 69 6f 6e 20 6f 70 74 69 6f 6e 29 29 0a 20 20  | .............:option.option))... | 
| 7460 |  20 20 20 20 20 20 20 28 6c 69 6e 65 20 28 6d 61    70 63 6f 6e 63 61 74 20 23 27 69 64 65 6e 74 69  | .......(line.(mapconcat.#'identi | 
| 7480 |  74 79 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 60 28 2c  | ty...........................`(, | 
| 74a0 |  63 61 6c 69 62 72 65 64 62 2d 63 6f 6e 76 65 72    74 2d 70 72 6f 67 72 61 6d 0a 20 20 20 20 20 20  | calibredb-convert-program....... | 
| 74c0 |  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 61 6c 69 62 72 65 64  | ......................,(calibred | 
| 74e0 |  62 2d 63 6f 6e 76 65 72 74 2d 73 74 72 75 63 74    2d 69 6e 70 75 74 20 63 6f 6d 6d 61 6e 64 2d 73  | b-convert-struct-input.command-s | 
| 7500 |  74 72 69 6e 67 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  | tring).......................... | 
| 7520 |  20 20 20 2c 28 63 61 6c 69 62 72 65 64 62 2d 63    6f 6e 76 65 72 74 2d 73 74 72 75 63 74 2d 6f 75  | ...,(calibredb-convert-struct-ou | 
| 7540 |  74 70 75 74 20 63 6f 6d 6d 61 6e 64 2d 73 74 72    69 6e 67 29 0a 20 20 20 20 20 20 20 20 20 20 20  | tput.command-string)............ | 
| 7560 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 2c 28 63 61 6c 69 62 72 65 64 62 2d 63 6f 6e  | .................,(calibredb-con | 
| 7580 |  76 65 72 74 2d 73 74 72 75 63 74 2d 6f 70 74 69    6f 6e 20 63 6f 6d 6d 61 6e 64 2d 73 74 72 69 6e  | vert-struct-option.command-strin | 
| 75a0 |  67 29 29 20 22 20 22 29 29 29 0a 20 20 20 20 28    73 65 74 71 2d 6c 6f 63 61 6c 20 69 6e 68 69 62  | g))."."))).....(setq-local.inhib | 
| 75c0 |  69 74 2d 6d 65 73 73 61 67 65 20 74 29 0a 20 20    20 20 28 6d 65 73 73 61 67 65 20 22 25 73 22 20  | it-message.t).....(message."%s". | 
| 75e0 |  6c 69 6e 65 29 0a 20 20 20 20 28 73 74 61 72 74    2d 70 72 6f 63 65 73 73 2d 73 68 65 6c 6c 2d 63  | line).....(start-process-shell-c | 
| 7600 |  6f 6d 6d 61 6e 64 20 22 65 62 6f 6f 6b 2d 63 6f    6e 76 65 72 74 22 20 22 2a 65 62 6f 6f 6b 2d 63  | ommand."ebook-convert"."*ebook-c | 
| 7620 |  6f 6e 76 65 72 74 2a 22 20 6c 69 6e 65 29 29 29    0a 0a 28 64 65 66 75 6e 20 63 61 6c 69 62 72 65  | onvert*".line)))..(defun.calibre | 
| 7640 |  64 62 2d 63 68 6f 6d 70 20 28 73 29 0a 20 20 22    41 72 67 75 6d 65 6e 74 20 53 20 69 73 20 73 74  | db-chomp.(s)..."Argument.S.is.st | 
| 7660 |  72 69 6e 67 2e 22 0a 20 20 28 72 65 70 6c 61 63    65 2d 72 65 67 65 78 70 2d 69 6e 2d 73 74 72 69  | ring."...(replace-regexp-in-stri | 
| 7680 |  6e 67 20 22 5b 5c 73 5c 6e 5d 2b 24 22 20 22 22    20 73 29 29 0a 0a 28 64 65 66 76 61 72 20 63 61  | ng."[\s\n]+$"."".s))..(defvar.ca | 
| 76a0 |  6c 69 62 72 65 64 62 2d 64 62 2d 63 6f 6e 6e 65    63 74 69 6f 6e 20 6e 69 6c 0a 20 20 22 54 68 65  | libredb-db-connection.nil..."The | 
| 76c0 |  20 45 6d 61 63 53 51 4c 20 64 61 74 61 62 61 73    65 20 63 6f 6e 6e 65 63 74 69 6f 6e 2e 22 29 0a  | .EmacSQL.database.connection."). | 
| 76e0 |  0a 28 64 65 66 75 6e 20 63 61 6c 69 62 72 65 64    62 2d 64 62 2d 63 6f 6e 6e 65 63 74 69 6f 6e 20  | .(defun.calibredb-db-connection. | 
| 7700 |  28 29 0a 20 20 28 73 65 74 71 20 63 61 6c 69 62    72 65 64 62 2d 64 62 2d 63 6f 6e 6e 65 63 74 69  | ()...(setq.calibredb-db-connecti | 
| 7720 |  6f 6e 20 28 66 75 6e 63 61 6c 6c 20 27 73 71 6c    69 74 65 2d 6f 70 65 6e 20 63 61 6c 69 62 72 65  | on.(funcall.'sqlite-open.calibre | 
| 7740 |  64 62 2d 64 62 2d 64 69 72 29 29 29 0a 0a 28 64    65 66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d 71  | db-db-dir)))..(defun.calibredb-q | 
| 7760 |  75 65 72 79 20 28 73 71 6c 2d 71 75 65 72 79 29    0a 20 20 22 51 75 65 72 79 20 63 61 6c 69 62 72  | uery.(sql-query)..."Query.calibr | 
| 7780 |  65 20 64 61 74 61 62 61 73 65 20 61 6e 64 20 72    65 74 75 72 6e 20 74 68 65 20 72 65 73 75 6c 74  | e.database.and.return.the.result | 
| 77a0 |  2e 0a 41 72 67 75 6d 65 6e 74 20 53 51 4c 2d 51    55 45 52 59 20 69 73 20 74 68 65 20 73 71 6c 69  | ..Argument.SQL-QUERY.is.the.sqli | 
| 77c0 |  74 65 20 73 71 6c 20 71 75 65 72 79 20 73 74 72    69 6e 67 2e 0a 0a 54 68 65 20 66 75 6e 63 74 69  | te.sql.query.string...The.functi | 
| 77e0 |  6f 6e 20 77 6f 72 6b 73 20 62 79 20 73 65 6e 64    69 6e 67 20 53 51 4c 2d 51 55 45 52 59 20 74 6f  | on.works.by.sending.SQL-QUERY.to | 
| 7800 |  20 60 73 71 6c 2d 73 71 6c 69 74 65 2d 70 72 6f    67 72 61 6d 27 20 69 66 20 65 6d 61 63 73 20 3c  | .`sql-sqlite-program'.if.emacs.< | 
| 7820 |  20 32 39 20 66 6f 72 20 74 68 65 0a 64 61 74 61    62 61 73 65 20 66 69 6c 65 20 64 65 66 69 6e 65  | .29.for.the.database.file.define | 
| 7840 |  64 20 62 79 20 60 63 61 6c 69 62 72 65 64 62 2d    64 62 2d 64 69 72 27 2c 20 64 75 6d 70 20 74 68  | d.by.`calibredb-db-dir',.dump.th | 
| 7860 |  65 20 6f 75 74 70 75 74 20 74 6f 20 61 20 68 69    64 64 65 6e 0a 62 75 66 66 65 72 20 63 61 6c 6c  | e.output.to.a.hidden.buffer.call | 
| 7880 |  65 64 20 2a 63 61 6c 69 62 72 65 64 62 2d 71 75    65 72 79 2d 6f 75 74 70 75 74 2a 2c 20 74 68 65  | ed.*calibredb-query-output*,.the | 
| 78a0 |  6e 20 69 66 20 74 68 65 20 73 71 6c 69 74 65 20    70 72 6f 67 72 61 6d 0a 74 65 72 6d 69 6e 61 74  | n.if.the.sqlite.program.terminat | 
| 78c0 |  65 73 20 73 75 63 63 65 73 73 66 75 6c 6c 79 2c    20 69 74 20 77 69 6c 6c 20 72 65 74 75 72 6e 20  | es.successfully,.it.will.return. | 
| 78e0 |  74 68 65 20 73 74 72 69 6e 67 20 6f 66 20 74 68    65 20 6f 75 74 70 75 74 0a 62 75 66 66 65 72 2e  | the.string.of.the.output.buffer. | 
| 7900 |  20 49 66 20 74 68 65 20 70 72 6f 67 72 61 6d 20    66 61 69 6c 73 2c 20 69 74 20 77 69 6c 6c 20 73  | .If.the.program.fails,.it.will.s | 
| 7920 |  77 69 74 63 68 20 74 6f 20 74 68 65 20 6f 75 74    70 75 74 20 62 75 66 66 65 72 20 61 6e 64 0a 74  | witch.to.the.output.buffer.and.t | 
| 7940 |  65 6c 6c 20 75 73 65 72 20 73 6f 6d 65 74 68 69    6e 67 e2 80 99 73 20 77 72 6f 6e 67 2e 22 0a 20  | ell.user.something...s.wrong.".. | 
| 7960 |  20 28 69 66 20 28 61 6e 64 20 28 66 75 6e 63 74    69 6f 6e 70 20 27 73 71 6c 69 74 65 2d 61 76 61  | .(if.(and.(functionp.'sqlite-ava | 
| 7980 |  69 6c 61 62 6c 65 2d 70 29 20 28 73 71 6c 69 74    65 2d 61 76 61 69 6c 61 62 6c 65 2d 70 29 29 0a  | ilable-p).(sqlite-available-p)). | 
| 79a0 |  20 20 20 20 20 20 28 70 72 6f 67 6e 0a 20 20 20    20 20 20 20 20 28 75 6e 6c 65 73 73 20 28 73 71  | ......(progn.........(unless.(sq | 
| 79c0 |  6c 69 74 65 70 20 63 61 6c 69 62 72 65 64 62 2d    64 62 2d 63 6f 6e 6e 65 63 74 69 6f 6e 29 0a 20  | litep.calibredb-db-connection).. | 
| 79e0 |  20 20 20 20 20 20 20 20 20 28 63 61 6c 69 62 72    65 64 62 2d 64 62 2d 63 6f 6e 6e 65 63 74 69 6f  | .........(calibredb-db-connectio | 
| 7a00 |  6e 29 29 0a 20 20 20 20 20 20 20 20 28 73 71 6c    69 74 65 2d 65 78 65 63 75 74 65 20 63 61 6c 69  | n)).........(sqlite-execute.cali | 
| 7a20 |  62 72 65 64 62 2d 64 62 2d 63 6f 6e 6e 65 63 74    69 6f 6e 20 73 71 6c 2d 71 75 65 72 79 29 20 29  | bredb-db-connection.sql-query).) | 
| 7a40 |  0a 20 20 20 28 6c 65 74 20 28 28 6f 75 74 2d 62    75 66 20 22 20 2a 63 61 6c 69 62 72 65 64 62 2d  | ....(let.((out-buf.".*calibredb- | 
| 7a60 |  71 75 65 72 79 2d 6f 75 74 70 75 74 2a 22 29 29    0a 20 20 20 20 28 77 68 65 6e 20 28 67 65 74 2d  | query-output*")).....(when.(get- | 
| 7a80 |  62 75 66 66 65 72 20 6f 75 74 2d 62 75 66 29 0a    20 20 20 20 20 20 28 6b 69 6c 6c 2d 62 75 66 66  | buffer.out-buf).......(kill-buff | 
| 7aa0 |  65 72 20 6f 75 74 2d 62 75 66 29 29 0a 20 20 20    20 28 69 66 20 28 6e 6f 74 20 28 66 69 6c 65 2d  | er.out-buf)).....(if.(not.(file- | 
| 7ac0 |  65 78 69 73 74 73 2d 70 20 63 61 6c 69 62 72 65    64 62 2d 64 62 2d 64 69 72 29 29 0a 20 20 20 20  | exists-p.calibredb-db-dir))..... | 
| 7ae0 |  20 20 20 20 28 6d 65 73 73 61 67 65 20 22 63 61    6c 69 62 72 65 64 62 2d 71 75 65 72 79 3a 20 63  | ....(message."calibredb-query:.c | 
| 7b00 |  61 6c 69 62 72 65 64 62 2d 64 62 2d 64 69 72 20    69 73 20 6e 69 6c 21 20 63 61 6c 69 62 72 65 64  | alibredb-db-dir.is.nil!.calibred | 
| 7b20 |  62 2d 71 75 65 72 79 20 77 6f 6e 27 74 20 77 6f    72 6b 20 77 69 74 68 6f 75 74 20 69 74 2e 22 29  | b-query.won't.work.without.it.") | 
| 7b40 |  0a 20 20 20 20 20 20 28 69 66 20 28 7a 65 72 6f    70 20 28 63 61 6c 6c 2d 70 72 6f 63 65 73 73 2d  | .......(if.(zerop.(call-process- | 
| 7b60 |  73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 0a 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | shell-command................... | 
| 7b80 |  28 66 6f 72 6d 61 74 20 22 25 73 20 2d 73 65 70    61 72 61 74 6f 72 20 25 73 20 2d 6e 65 77 6c 69  | (format."%s.-separator.%s.-newli | 
| 7ba0 |  6e 65 20 25 73 20 2d 6c 69 73 74 20 2d 6e 75 6c    6c 76 61 6c 75 65 20 27 27 20 2d 6e 6f 68 65 61  | ne.%s.-list.-nullvalue.''.-nohea | 
| 7bc0 |  64 65 72 20 25 73 20 5c 22 25 73 5c 22 22 0a 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | der.%s.\"%s\"".................. | 
| 7be0 |  20 20 20 20 20 20 20 20 20 73 71 6c 2d 73 71 6c    69 74 65 2d 70 72 6f 67 72 61 6d 0a 20 20 20 20  | .........sql-sqlite-program..... | 
| 7c00 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 63 61 6c 69 62 72 65 64 62 2d  | ......................calibredb- | 
| 7c20 |  73 71 6c 2d 73 65 70 61 72 61 74 6f 72 0a 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | sql-separator................... | 
| 7c40 |  20 20 20 20 20 20 20 20 63 61 6c 69 62 72 65 64    62 2d 73 71 6c 2d 6e 65 77 6c 69 6e 65 0a 20 20  | ........calibredb-sql-newline... | 
| 7c60 |  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 73 68 65 6c 6c 2d 71  | ........................(shell-q | 
| 7c80 |  75 6f 74 65 2d 61 72 67 75 6d 65 6e 74 20 28 65    78 70 61 6e 64 2d 66 69 6c 65 2d 6e 61 6d 65 20  | uote-argument.(expand-file-name. | 
| 7ca0 |  63 61 6c 69 62 72 65 64 62 2d 64 62 2d 64 69 72    29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  | calibredb-db-dir)).............. | 
| 7cc0 |  20 20 20 20 20 20 20 20 20 20 20 20 20 73 71 6c    2d 71 75 65 72 79 29 0a 20 20 20 20 20 20 20 20  | .............sql-query)......... | 
| 7ce0 |  20 20 20 20 20 20 20 20 20 20 6e 69 6c 20 28 6c    69 73 74 20 6f 75 74 2d 62 75 66 20 74 29 29 29  | ..........nil.(list.out-buf.t))) | 
| 7d00 |  0a 20 20 20 20 20 20 20 20 20 20 3b 3b 20 49 66    20 74 68 69 73 20 63 6f 6d 6d 61 6e 64 20 74 65  | ...........;;.If.this.command.te | 
| 7d20 |  72 6d 69 6e 61 74 65 73 20 73 75 63 63 65 73 73    66 75 6c 6c 79 20 28 72 65 74 75 72 6e 20 30 29  | rminates.successfully.(return.0) | 
| 7d40 |  0a 20 20 20 20 20 20 20 20 20 20 3b 3b 20 52 65    74 75 72 6e 20 74 68 65 20 6f 75 74 70 75 74 27  | ...........;;.Return.the.output' | 
| 7d60 |  73 20 73 74 72 69 6e 67 0a 20 20 20 20 20 20 20    20 20 20 28 77 69 74 68 2d 63 75 72 72 65 6e 74  | s.string...........(with-current | 
| 7d80 |  2d 62 75 66 66 65 72 20 6f 75 74 2d 62 75 66 0a    20 20 20 20 20 20 20 20 20 20 20 20 28 62 75 66  | -buffer.out-buf.............(buf | 
| 7da0 |  66 65 72 2d 73 74 72 69 6e 67 29 29 0a 20 20 20    20 20 20 20 20 3b 3b 20 49 66 20 74 68 69 73 20  | fer-string)).........;;.If.this. | 
| 7dc0 |  63 6f 6d 6d 61 6e 64 20 66 61 69 6c 73 20 72 65    74 75 72 6e 20 27 65 72 72 6f 72 0a 20 20 20 20  | command.fails.return.'error..... | 
| 7de0 |  20 20 20 20 28 73 77 69 74 63 68 2d 74 6f 2d 62    75 66 66 65 72 20 6f 75 74 2d 62 75 66 29 0a 20  | ....(switch-to-buffer.out-buf).. | 
| 7e00 |  20 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 68 61    72 20 28 70 6f 69 6e 74 2d 6d 69 6e 29 29 0a 20  | .......(goto-char.(point-min)).. | 
| 7e20 |  20 20 20 20 20 20 20 28 65 72 72 6f 72 20 22 45    72 72 6f 72 3a 20 60 63 61 6c 69 62 72 65 64 62  | .......(error."Error:.`calibredb | 
| 7e40 |  2d 71 75 65 72 79 27 20 63 61 6e 27 74 20 71 75    65 72 79 20 5c 22 25 73 5c 22 2e 20 73 77 69 74  | -query'.can't.query.\"%s\"..swit | 
| 7e60 |  63 68 69 6e 67 20 74 6f 20 69 74 73 20 65 72 72    6f 72 20 62 75 66 66 65 72 22 20 28 65 78 70 61  | ching.to.its.error.buffer".(expa | 
| 7e80 |  6e 64 2d 66 69 6c 65 2d 6e 61 6d 65 20 63 61 6c    69 62 72 65 64 62 2d 64 62 2d 64 69 72 29 29 29  | nd-file-name.calibredb-db-dir))) | 
| 7ea0 |  29 29 29 29 0a 0a 28 64 65 66 75 6e 20 63 61 6c    69 62 72 65 64 62 2d 71 75 65 72 79 2d 74 6f 2d  | ))))..(defun.calibredb-query-to- | 
| 7ec0 |  61 6c 69 73 74 20 28 71 75 65 72 79 2d 72 65 73    75 6c 74 29 0a 20 20 22 42 75 69 6c 64 73 20 61  | alist.(query-result)..."Builds.a | 
| 7ee0 |  6c 69 73 74 20 6f 75 74 20 6f 66 20 61 20 66 75    6c 6c 20 60 63 61 6c 69 62 72 65 64 62 2d 71 75  | list.out.of.a.full.`calibredb-qu | 
| 7f00 |  65 72 79 27 20 71 75 65 72 79 20 72 65 63 6f 72    64 20 72 65 73 75 6c 74 2e 0a 41 72 67 75 6d 65  | ery'.query.record.result..Argume | 
| 7f20 |  6e 74 20 51 55 45 52 59 2d 52 45 53 55 4c 54 20    69 73 20 74 68 65 20 71 75 65 72 79 20 72 65 73  | nt.QUERY-RESULT.is.the.query.res | 
| 7f40 |  75 6c 74 20 67 65 6e 65 72 61 74 65 20 62 79 20    73 71 6c 69 74 65 2e 22 0a 20 20 28 69 66 2d 6c  | ult.generate.by.sqlite."...(if-l | 
| 7f60 |  65 74 20 28 28 73 70 6c 2d 71 75 65 72 79 2d 72    65 73 75 6c 74 20 28 69 66 20 28 6c 69 73 74 70  | et.((spl-query-result.(if.(listp | 
| 7f80 |  20 71 75 65 72 79 2d 72 65 73 75 6c 74 29 0a 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | .query-result).................. | 
| 7fa0 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    71 75 65 72 79 2d 72 65 73 75 6c 74 0a 20 20 20  | ................query-result.... | 
| 7fc0 |  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 73 70 6c  | ............................(spl | 
| 7fe0 |  69 74 2d 73 74 72 69 6e 67 20 28 63 61 6c 69 62    72 65 64 62 2d 63 68 6f 6d 70 20 71 75 65 72 79  | it-string.(calibredb-chomp.query | 
| 8000 |  2d 72 65 73 75 6c 74 29 20 63 61 6c 69 62 72 65    64 62 2d 73 71 6c 2d 73 65 70 61 72 61 74 6f 72  | -result).calibredb-sql-separator | 
| 8020 |  29 29 29 29 0a 20 20 20 20 20 20 60 28 28 3a 69    64 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | )))).......`((:id............... | 
| 8040 |  20 20 20 20 20 20 2c 28 6c 65 74 20 28 28 69 64    20 28 6e 74 68 20 30 20 73 70 6c 2d 71 75 65 72  | ......,(let.((id.(nth.0.spl-quer | 
| 8060 |  79 2d 72 65 73 75 6c 74 29 29 29 0a 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | y-result)))..................... | 
| 8080 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    28 69 66 20 28 73 74 72 69 6e 67 70 20 69 64 29  | ................(if.(stringp.id) | 
| 80a0 |  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 20 20 20 20  | ................................ | 
| 80c0 |  20 20 20 20 20 20 20 20 20 69 64 0a 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | .........id..................... | 
| 80e0 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 28 6e 75 6d 62 65 72 2d 74 6f 2d 73 74 72  | ..................(number-to-str | 
| 8100 |  69 6e 67 20 69 64 29 29 29 29 0a 20 20 20 20 20    20 20 20 28 3a 61 75 74 68 6f 72 2d 73 6f 72 74  | ing.id)))).........(:author-sort | 
| 8120 |  20 20 20 20 20 20 20 20 20 20 20 20 2c 28 6e 74    68 20 31 20 73 70 6c 2d 71 75 65 72 79 2d 72 65  | ............,(nth.1.spl-query-re | 
| 8140 |  73 75 6c 74 29 29 0a 20 20 20 20 20 20 20 20 28    3a 62 6f 6f 6b 2d 64 69 72 20 20 20 20 20 20 20  | sult)).........(:book-dir....... | 
| 8160 |  20 20 20 20 20 20 20 20 2c 28 6e 74 68 20 32 20    73 70 6c 2d 71 75 65 72 79 2d 72 65 73 75 6c 74  | ........,(nth.2.spl-query-result | 
| 8180 |  29 29 0a 20 20 20 20 20 20 20 20 28 3a 62 6f 6f    6b 2d 6e 61 6d 65 20 20 20 20 20 20 20 20 20 20  | )).........(:book-name.......... | 
| 81a0 |  20 20 20 20 2c 28 6e 74 68 20 33 20 73 70 6c 2d    71 75 65 72 79 2d 72 65 73 75 6c 74 29 29 0a 20  | ....,(nth.3.spl-query-result)).. | 
| 81c0 |  20 20 20 20 20 20 20 28 3a 62 6f 6f 6b 2d 66 6f    72 6d 61 74 20 20 2c 28 64 6f 77 6e 63 61 73 65  | .......(:book-format..,(downcase | 
| 81e0 |  20 28 6f 72 20 28 6e 74 68 20 34 20 73 70 6c 2d    71 75 65 72 79 2d 72 65 73 75 6c 74 29 20 22 22  | .(or.(nth.4.spl-query-result)."" | 
| 8200 |  29 29 29 0a 20 20 20 20 20 20 20 20 28 3a 62 6f    6f 6b 2d 70 75 62 64 61 74 65 20 20 20 20 20 20  | ))).........(:book-pubdate...... | 
| 8220 |  20 20 20 20 20 2c 28 6e 74 68 20 35 20 73 70 6c    2d 71 75 65 72 79 2d 72 65 73 75 6c 74 29 29 0a  | .....,(nth.5.spl-query-result)). | 
| 8240 |  20 20 20 20 20 20 20 20 28 3a 62 6f 6f 6b 2d 74    69 74 6c 65 20 20 20 20 20 20 20 20 20 20 20 20  | ........(:book-title............ | 
| 8260 |  20 2c 28 6e 74 68 20 36 20 73 70 6c 2d 71 75 65    72 79 2d 72 65 73 75 6c 74 29 29 0a 20 20 20 20  | .,(nth.6.spl-query-result))..... | 
| 8280 |  20 20 20 20 28 3a 66 69 6c 65 2d 70 61 74 68 20    20 20 20 2c 28 63 6f 6e 63 61 74 20 28 66 69 6c  | ....(:file-path....,(concat.(fil | 
| 82a0 |  65 2d 6e 61 6d 65 2d 61 73 2d 64 69 72 65 63 74    6f 72 79 20 63 61 6c 69 62 72 65 64 62 2d 72 6f  | e-name-as-directory.calibredb-ro | 
| 82c0 |  6f 74 2d 64 69 72 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  | ot-dir)......................... | 
| 82e0 |  20 20 20 20 20 20 20 20 28 66 69 6c 65 2d 6e 61    6d 65 2d 61 73 2d 64 69 72 65 63 74 6f 72 79 20  | ........(file-name-as-directory. | 
| 8300 |  28 6e 74 68 20 32 20 73 70 6c 2d 71 75 65 72 79    2d 72 65 73 75 6c 74 29 29 0a 20 20 20 20 20 20  | (nth.2.spl-query-result))....... | 
| 8320 |  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 6e 74 68 20 33  | ..........................(nth.3 | 
| 8340 |  20 73 70 6c 2d 71 75 65 72 79 2d 72 65 73 75 6c    74 29 20 22 2e 22 20 28 64 6f 77 6e 63 61 73 65  | .spl-query-result).".".(downcase | 
| 8360 |  20 28 6f 72 20 28 6e 74 68 20 34 20 73 70 6c 2d    71 75 65 72 79 2d 72 65 73 75 6c 74 29 20 22 22  | .(or.(nth.4.spl-query-result)."" | 
| 8380 |  29 29 29 29 0a 20 20 20 20 20 20 20 20 28 3a 74    61 67 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | )))).........(:tag.............. | 
| 83a0 |  20 20 20 20 20 20 2c 28 6f 72 20 28 6e 74 68 20    37 20 73 70 6c 2d 71 75 65 72 79 2d 72 65 73 75  | ......,(or.(nth.7.spl-query-resu | 
| 83c0 |  6c 74 29 20 22 22 29 29 0a 20 20 20 20 20 20 20    20 28 3a 73 69 7a 65 20 20 20 20 20 20 20 20 20  | lt)."")).........(:size......... | 
| 83e0 |  20 20 20 20 20 20 20 20 20 20 2c 28 66 6f 72 6d    61 74 20 22 25 2e 32 66 22 20 28 2f 20 28 6c 65  | ..........,(format."%.2f".(/.(le | 
| 8400 |  74 20 28 28 73 69 7a 65 20 28 6f 72 20 28 6e 74    68 20 38 20 73 70 6c 2d 71 75 65 72 79 2d 72 65  | t.((size.(or.(nth.8.spl-query-re | 
| 8420 |  73 75 6c 74 29 20 22 22 29 29 29 0a 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | sult)."")))..................... | 
| 8440 |  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  | ................................ | 
| 8460 |  20 20 28 69 66 20 28 73 74 72 69 6e 67 70 20 73    69 7a 65 29 0a 20 20 20 20 20 20 20 20 20 20 20  | ..(if.(stringp.size)............ | 
| 8480 |  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  | ................................ | 
| 84a0 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28    73 74 72 69 6e 67 2d 74 6f 2d 6e 75 6d 62 65 72  | ...............(string-to-number | 
| 84c0 |  20 73 69 7a 65 29 20 73 69 7a 65 29 29 20 31 30    34 38 35 37 36 2e 30 29 29 29 0a 20 20 20 20 20  | .size).size)).1048576.0)))...... | 
| 84e0 |  20 20 20 28 3a 63 6f 6d 6d 65 6e 74 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 2c 28 6f 72  | ...(:comment................,(or | 
| 8500 |  20 28 6e 74 68 20 39 20 73 70 6c 2d 71 75 65 72    79 2d 72 65 73 75 6c 74 29 20 22 22 29 29 0a 20  | .(nth.9.spl-query-result)."")).. | 
| 8520 |  20 20 20 20 20 20 20 28 3a 69 64 73 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | .......(:ids.................... | 
| 8540 |  2c 28 6f 72 20 28 6e 74 68 20 31 30 20 73 70 6c    2d 71 75 65 72 79 2d 72 65 73 75 6c 74 29 20 22  | ,(or.(nth.10.spl-query-result)." | 
| 8560 |  22 29 29 0a 20 20 20 20 20 20 20 20 28 3a 70 75    62 6c 69 73 68 65 72 20 20 20 20 20 20 20 20 20  | ")).........(:publisher......... | 
| 8580 |  20 20 20 20 20 2c 28 6f 72 20 28 6e 74 68 20 31    31 20 73 70 6c 2d 71 75 65 72 79 2d 72 65 73 75  | .....,(or.(nth.11.spl-query-resu | 
| 85a0 |  6c 74 29 20 22 22 29 29 0a 20 20 20 20 20 20 20    20 28 3a 73 65 72 69 65 73 20 20 20 20 20 20 20  | lt)."")).........(:series....... | 
| 85c0 |  20 20 20 20 20 20 20 20 20 20 2c 28 6f 72 20 28    6e 74 68 20 31 32 20 73 70 6c 2d 71 75 65 72 79  | ..........,(or.(nth.12.spl-query | 
| 85e0 |  2d 72 65 73 75 6c 74 29 20 22 22 29 29 0a 20 20    20 20 20 20 20 20 28 3a 6c 61 6e 67 5f 63 6f 64  | -result)."")).........(:lang_cod | 
| 8600 |  65 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2c    28 6f 72 20 28 6e 74 68 20 31 33 20 73 70 6c 2d  | e..............,(or.(nth.13.spl- | 
| 8620 |  71 75 65 72 79 2d 72 65 73 75 6c 74 29 20 22 22    29 29 0a 20 20 20 20 20 20 20 20 28 3a 6c 61 73  | query-result)."")).........(:las | 
| 8640 |  74 5f 6d 6f 64 69 66 69 65 64 20 20 20 20 20 20    20 20 20 20 2c 28 6f 72 20 28 6e 74 68 20 31 34  | t_modified..........,(or.(nth.14 | 
| 8660 |  20 73 70 6c 2d 71 75 65 72 79 2d 72 65 73 75 6c    74 29 20 22 22 29 29 29 29 29 0a 0a 28 64 65 66  | .spl-query-result)."")))))..(def | 
| 8680 |  75 6e 20 63 61 6c 69 62 72 65 64 62 2d 67 65 74    61 74 74 72 20 28 6d 79 2d 61 6c 69 73 74 20 6b  | un.calibredb-getattr.(my-alist.k | 
| 86a0 |  65 79 29 0a 20 20 22 47 65 74 20 74 68 65 20 61    74 74 72 69 62 75 74 65 2e 0a 41 72 67 75 6d 65  | ey)..."Get.the.attribute..Argume | 
| 86c0 |  6e 74 20 4d 59 2d 41 4c 49 53 54 20 69 73 20 74    68 65 20 61 6c 69 73 74 2e 0a 41 72 67 75 6d 65  | nt.MY-ALIST.is.the.alist..Argume | 
| 86e0 |  6e 74 20 4b 45 59 20 69 73 20 74 68 65 20 6b 65    79 2e 22 0a 20 20 28 63 61 64 72 20 28 61 73 73  | nt.KEY.is.the.key."...(cadr.(ass | 
| 8700 |  71 20 6b 65 79 20 28 63 61 72 20 6d 79 2d 61 6c    69 73 74 29 29 29 29 0a 0a 28 64 65 66 75 6e 20  | q.key.(car.my-alist))))..(defun. | 
| 8720 |  63 61 6c 69 62 72 65 64 62 2d 66 6f 72 6d 61 74    2d 63 6f 6c 75 6d 6e 20 28 73 74 72 69 6e 67 20  | calibredb-format-column.(string. | 
| 8740 |  77 69 64 74 68 20 26 6f 70 74 69 6f 6e 61 6c 20    61 6c 69 67 6e 29 0a 20 20 22 52 65 74 75 72 6e  | width.&optional.align)..."Return | 
| 8760 |  20 53 54 52 49 4e 47 20 74 72 75 6e 63 61 74 65    64 20 6f 72 20 70 61 64 64 65 64 20 74 6f 20 57  | .STRING.truncated.or.padded.to.W | 
| 8780 |  49 44 54 48 20 66 6f 6c 6c 6f 77 69 6e 67 20 41    4c 49 47 4e 6d 65 6e 74 2e 0a 41 4c 49 47 4e 20  | IDTH.following.ALIGNment..ALIGN. | 
| 87a0 |  73 68 6f 75 6c 64 20 62 65 20 61 20 6b 65 79 77    6f 72 64 20 3a 6c 65 66 74 20 6f 72 20 3a 72 69  | should.be.a.keyword.:left.or.:ri | 
| 87c0 |  67 68 74 2e 22 0a 20 20 28 63 6f 6e 64 20 28 28    3c 20 77 69 64 74 68 20 30 29 20 73 74 72 69 6e  | ght."...(cond.((<.width.0).strin | 
| 87e0 |  67 29 0a 20 20 20 20 20 20 20 20 28 28 3d 20 77    69 64 74 68 20 30 29 20 22 22 29 0a 20 20 20 20  | g).........((=.width.0)."")..... | 
| 8800 |  20 20 20 20 28 74 20 28 66 6f 72 6d 61 74 20 28    66 6f 72 6d 61 74 20 22 25 25 25 73 25 64 2e 25  | ....(t.(format.(format."%%%s%d.% | 
| 8820 |  64 73 22 20 28 69 66 20 28 65 71 20 61 6c 69 67    6e 20 3a 6c 65 66 74 29 20 22 2d 22 20 22 22 29  | ds".(if.(eq.align.:left)."-"."") | 
| 8840 |  20 77 69 64 74 68 20 77 69 64 74 68 29 0a 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | .width.width)................... | 
| 8860 |  20 73 74 72 69 6e 67 29 29 29 29 0a 0a 28 64 65    66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d 74 69  | .string))))..(defun.calibredb-ti | 
| 8880 |  74 6c 65 2d 66 61 63 65 20 28 29 0a 20 20 22 52    65 74 75 72 6e 20 74 68 65 20 74 69 74 6c 65 20  | tle-face.()..."Return.the.title. | 
| 88a0 |  66 61 63 65 20 62 61 73 65 20 6f 6e 20 74 68 65    20 76 69 65 77 2e 22 0a 20 20 28 69 66 20 63 61  | face.base.on.the.view."...(if.ca | 
| 88c0 |  6c 69 62 72 65 64 62 2d 64 65 74 61 69 6c 65 64    2d 76 69 65 77 0a 20 20 20 20 20 20 27 63 61 6c  | libredb-detailed-view.......'cal | 
| 88e0 |  69 62 72 65 64 62 2d 74 69 74 6c 65 2d 64 65 74    61 69 6c 65 64 2d 76 69 65 77 2d 66 61 63 65 0a  | ibredb-title-detailed-view-face. | 
| 8900 |  20 20 20 20 20 20 27 63 61 6c 69 62 72 65 64 62    2d 74 69 74 6c 65 2d 66 61 63 65 29 29 0a 0a 28  | ......'calibredb-title-face))..( | 
| 8920 |  64 65 66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d    74 69 74 6c 65 2d 77 69 64 74 68 20 28 29 0a 20  | defun.calibredb-title-width.().. | 
| 8940 |  20 22 52 65 74 75 72 6e 20 74 68 65 20 74 69 74    6c 65 20 77 69 64 74 68 20 62 61 73 65 20 6f 6e  | ."Return.the.title.width.base.on | 
| 8960 |  20 74 68 65 20 76 69 65 77 2e 22 0a 20 20 28 69    66 20 63 61 6c 69 62 72 65 64 62 2d 64 65 74 61  | .the.view."...(if.calibredb-deta | 
| 8980 |  69 6c 65 64 2d 76 69 65 77 0a 20 20 20 20 20 20    2d 31 0a 20 20 20 20 63 61 6c 69 62 72 65 64 62  | iled-view.......-1.....calibredb | 
| 89a0 |  2d 74 69 74 6c 65 2d 77 69 64 74 68 29 29 0a 0a    28 64 65 66 75 6e 20 63 61 6c 69 62 72 65 64 62  | -title-width))..(defun.calibredb | 
| 89c0 |  2d 66 6f 72 6d 61 74 2d 77 69 64 74 68 20 28 29    0a 20 20 22 52 65 74 75 72 6e 20 74 68 65 20 66  | -format-width.()..."Return.the.f | 
| 89e0 |  6f 72 6d 61 74 20 77 69 64 74 68 20 62 61 73 65    20 6f 6e 20 74 68 65 20 76 69 65 77 2e 22 0a 20  | ormat.width.base.on.the.view.".. | 
| 8a00 |  20 28 69 66 20 63 61 6c 69 62 72 65 64 62 2d 64    65 74 61 69 6c 65 64 2d 76 69 65 77 0a 20 20 20  | .(if.calibredb-detailed-view.... | 
| 8a20 |  20 20 20 2d 31 0a 20 20 20 20 63 61 6c 69 62 72    65 64 62 2d 66 6f 72 6d 61 74 2d 77 69 64 74 68  | ...-1.....calibredb-format-width | 
| 8a40 |  29 29 0a 0a 28 64 65 66 75 6e 20 63 61 6c 69 62    72 65 64 62 2d 74 61 67 2d 77 69 64 74 68 20 28  | ))..(defun.calibredb-tag-width.( | 
| 8a60 |  29 0a 20 20 22 52 65 74 75 72 6e 20 74 68 65 20    74 61 67 20 77 69 64 74 68 20 62 61 73 65 20 6f  | )..."Return.the.tag.width.base.o | 
| 8a80 |  6e 20 74 68 65 20 76 69 65 77 2e 22 0a 20 20 28    69 66 20 63 61 6c 69 62 72 65 64 62 2d 64 65 74  | n.the.view."...(if.calibredb-det | 
| 8aa0 |  61 69 6c 65 64 2d 76 69 65 77 0a 20 20 20 20 20    20 2d 31 0a 20 20 20 20 63 61 6c 69 62 72 65 64  | ailed-view.......-1.....calibred | 
| 8ac0 |  62 2d 74 61 67 2d 77 69 64 74 68 29 29 0a 0a 28    64 65 66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d  | b-tag-width))..(defun.calibredb- | 
| 8ae0 |  69 64 73 2d 77 69 64 74 68 20 28 29 0a 20 20 22    52 65 74 75 72 6e 20 74 68 65 20 69 64 73 20 77  | ids-width.()..."Return.the.ids.w | 
| 8b00 |  69 64 74 68 20 62 61 73 65 20 6f 6e 20 74 68 65    20 76 69 65 77 2e 22 0a 20 20 28 69 66 20 63 61  | idth.base.on.the.view."...(if.ca | 
| 8b20 |  6c 69 62 72 65 64 62 2d 64 65 74 61 69 6c 65 64    2d 76 69 65 77 0a 20 20 20 20 20 20 2d 31 0a 20  | libredb-detailed-view.......-1.. | 
| 8b40 |  20 20 20 63 61 6c 69 62 72 65 64 62 2d 69 64 73    2d 77 69 64 74 68 29 29 0a 0a 28 64 65 66 75 6e  | ...calibredb-ids-width))..(defun | 
| 8b60 |  20 63 61 6c 69 62 72 65 64 62 2d 61 75 74 68 6f    72 2d 77 69 64 74 68 20 28 29 0a 20 20 22 52 65  | .calibredb-author-width.()..."Re | 
| 8b80 |  74 75 72 6e 20 74 68 65 20 61 75 74 68 6f 72 20    77 69 64 74 68 20 62 61 73 65 20 6f 6e 20 74 68  | turn.the.author.width.base.on.th | 
| 8ba0 |  65 20 76 69 65 77 2e 22 0a 20 20 28 69 66 20 63    61 6c 69 62 72 65 64 62 2d 64 65 74 61 69 6c 65  | e.view."...(if.calibredb-detaile | 
| 8bc0 |  64 2d 76 69 65 77 0a 20 20 20 20 20 20 2d 31 0a    20 20 20 20 63 61 6c 69 62 72 65 64 62 2d 61 75  | d-view.......-1.....calibredb-au | 
| 8be0 |  74 68 6f 72 2d 77 69 64 74 68 29 29 0a 0a 28 64    65 66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d 63  | thor-width))..(defun.calibredb-c | 
| 8c00 |  6f 6d 6d 65 6e 74 2d 77 69 64 74 68 20 28 29 0a    20 20 22 52 65 74 75 72 6e 20 74 68 65 20 63 6f  | omment-width.()..."Return.the.co | 
| 8c20 |  6d 6d 65 6e 74 20 77 69 64 74 68 20 62 61 73 65    20 6f 6e 20 74 68 65 20 76 69 65 77 2e 22 0a 20  | mment.width.base.on.the.view.".. | 
| 8c40 |  20 28 69 66 20 63 61 6c 69 62 72 65 64 62 2d 64    65 74 61 69 6c 65 64 2d 76 69 65 77 0a 20 20 20  | .(if.calibredb-detailed-view.... | 
| 8c60 |  20 20 20 2d 31 0a 20 20 20 20 63 61 6c 69 62 72    65 64 62 2d 63 6f 6d 6d 65 6e 74 2d 77 69 64 74  | ...-1.....calibredb-comment-widt | 
| 8c80 |  68 29 29 0a 0a 28 64 65 66 75 6e 20 63 61 6c 69    62 72 65 64 62 2d 64 61 74 65 2d 77 69 64 74 68  | h))..(defun.calibredb-date-width | 
| 8ca0 |  20 28 29 0a 20 20 22 52 65 74 75 72 6e 20 74 68    65 20 6c 61 73 74 5f 6d 6f 64 69 66 69 65 64 20  | .()..."Return.the.last_modified. | 
| 8cc0 |  64 61 74 65 20 77 69 64 74 68 20 62 61 73 65 20    6f 6e 20 74 68 65 20 76 69 65 77 2e 22 0a 20 20  | date.width.base.on.the.view."... | 
| 8ce0 |  28 69 66 20 63 61 6c 69 62 72 65 64 62 2d 64 65    74 61 69 6c 65 64 2d 76 69 65 77 0a 20 20 20 20  | (if.calibredb-detailed-view..... | 
| 8d00 |  20 20 2d 31 0a 20 20 20 20 63 61 6c 69 62 72 65    64 62 2d 64 61 74 65 2d 77 69 64 74 68 29 29 0a  | ..-1.....calibredb-date-width)). | 
| 8d20 |  0a 28 64 65 66 75 6e 20 63 61 6c 69 62 72 65 64    62 2d 67 65 74 62 6f 6f 6b 6c 69 73 74 20 28 63  | .(defun.calibredb-getbooklist.(c | 
| 8d40 |  61 6c 69 62 72 65 2d 69 74 65 6d 2d 6c 69 73 74    29 0a 20 20 22 47 65 74 20 62 6f 6f 6b 20 6c 69  | alibre-item-list)..."Get.book.li | 
| 8d60 |  73 74 2e 0a 41 72 67 75 6d 65 6e 74 20 43 41 4c    49 42 52 45 2d 49 54 45 4d 2d 4c 49 53 54 20 69  | st..Argument.CALIBRE-ITEM-LIST.i | 
| 8d80 |  73 20 74 68 65 20 63 61 6c 69 62 72 65 64 20 69    74 65 6d 20 6c 69 73 74 2e 22 0a 20 20 28 6c 65  | s.the.calibred.item.list."...(le | 
| 8da0 |  74 20 28 64 69 73 70 6c 61 79 2d 61 6c 69 73 74    29 0a 20 20 20 20 28 64 6f 6c 69 73 74 20 28 69  | t.(display-alist).....(dolist.(i | 
| 8dc0 |  74 65 6d 20 63 61 6c 69 62 72 65 2d 69 74 65 6d    2d 6c 69 73 74 20 64 69 73 70 6c 61 79 2d 61 6c  | tem.calibre-item-list.display-al | 
| 8de0 |  69 73 74 29 0a 20 20 20 20 20 20 28 73 65 74 71    20 64 69 73 70 6c 61 79 2d 61 6c 69 73 74 0a 20  | ist).......(setq.display-alist.. | 
| 8e00 |  20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 73    20 28 6c 69 73 74 20 28 63 61 6c 69 62 72 65 64  | ...........(cons.(list.(calibred | 
| 8e20 |  62 2d 66 6f 72 6d 61 74 2d 69 74 65 6d 20 69 74    65 6d 29 20 69 74 65 6d 29 20 64 69 73 70 6c 61  | b-format-item.item).item).displa | 
| 8e40 |  79 2d 61 6c 69 73 74 29 29 29 29 29 0a 0a 28 64    65 66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d 63  | y-alist)))))..(defun.calibredb-c | 
| 8e60 |  61 6e 64 69 64 61 74 65 73 20 28 26 72 65 73 74    20 70 72 6f 70 65 72 74 69 65 73 29 0a 20 20 22  | andidates.(&rest.properties)..." | 
| 8e80 |  47 65 6e 65 72 61 74 65 20 65 62 6f 6f 6b 73 20    63 61 6e 64 69 64 61 74 65 73 20 61 6c 69 73 74  | Generate.ebooks.candidates.alist | 
| 8ea0 |  2e 0a 41 72 67 75 6d 65 6e 74 20 50 52 4f 50 45    52 54 49 45 53 20 69 73 20 66 6f 72 20 73 65 6c  | ..Argument.PROPERTIES.is.for.sel | 
| 8ec0 |  65 63 74 69 6e 67 20 64 69 66 66 65 72 65 6e 74    20 73 71 6c 20 73 74 61 74 65 6d 65 6e 74 2e 22  | ecting.different.sql.statement." | 
| 8ee0 |  0a 20 20 28 6c 65 74 2a 20 28 28 63 6f 75 6e 74    20 28 70 6c 69 73 74 2d 67 65 74 20 70 72 6f 70  | ...(let*.((count.(plist-get.prop | 
| 8f00 |  65 72 74 69 65 73 20 3a 63 6f 75 6e 74 29 29 0a    20 20 20 20 20 20 20 20 20 28 64 69 73 74 69 6e  | erties.:count))..........(distin | 
| 8f20 |  63 74 20 28 70 6c 69 73 74 2d 67 65 74 20 70 72    6f 70 65 72 74 69 65 73 20 3a 64 69 73 74 69 6e  | ct.(plist-get.properties.:distin | 
| 8f40 |  63 74 29 29 0a 20 20 20 20 20 20 20 20 20 28 77    68 65 72 65 20 28 70 6c 69 73 74 2d 67 65 74 20  | ct))..........(where.(plist-get. | 
| 8f60 |  70 72 6f 70 65 72 74 69 65 73 20 3a 77 68 65 72    65 29 29 0a 20 20 20 20 20 20 20 20 20 28 73 71  | properties.:where))..........(sq | 
| 8f80 |  6c 20 28 66 6f 72 6d 61 74 20 28 63 6f 6e 64 0a    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | l.(format.(cond................. | 
| 8fa0 |  20 20 20 20 20 20 20 28 63 6f 75 6e 74 20 63 61    6c 69 62 72 65 64 62 2d 73 71 6c 2d 63 6f 75 6e  | .......(count.calibredb-sql-coun | 
| 8fc0 |  74 2d 73 74 72 69 6e 67 29 0a 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | t-string)....................... | 
| 8fe0 |  20 28 64 69 73 74 69 6e 63 74 20 28 63 6f 6e 63    61 74 20 22 53 45 4c 45 43 54 20 44 49 53 54 49  | .(distinct.(concat."SELECT.DISTI | 
| 9000 |  4e 43 54 20 22 20 64 69 73 74 69 6e 63 74 20 22    20 46 52 4f 4d 20 28 53 45 4c 45 43 54 20 2a 20  | NCT.".distinct.".FROM.(SELECT.*. | 
| 9020 |  46 52 4f 4d 20 28 25 73 29 20 25 73 29 22 29 29    0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | FROM.(%s).%s)"))................ | 
| 9040 |  20 20 20 20 20 20 20 20 28 74 20 22 53 45 4c 45    43 54 20 2a 20 46 52 4f 4d 20 28 25 73 29 20 25  | ........(t."SELECT.*.FROM.(%s).% | 
| 9060 |  73 22 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 28 63 6f 6e 63  | s")).......................(conc | 
| 9080 |  61 74 20 63 61 6c 69 62 72 65 64 62 2d 71 75 65    72 79 2d 73 74 72 69 6e 67 0a 20 20 20 20 20 20  | at.calibredb-query-string....... | 
| 90a0 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 63 61 6c 69 62 72 65 64  | ........................calibred | 
| 90c0 |  62 2d 73 71 6c 2d 6f 72 64 65 72 2d 62 79 2d 73    74 72 69 6e 67 0a 20 20 20 20 20 20 20 20 20 20  | b-sql-order-by-string........... | 
| 90e0 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 28 70 63 61 73 65 20 63 61 6c 69 62  | ....................(pcase.calib | 
| 9100 |  72 65 64 62 2d 73 6f 72 74 2d 62 79 0a 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | redb-sort-by.................... | 
| 9120 |  20 20 20 20 20 20 20 20 20 20 20 20 20 28 27 69    64 20 22 20 69 64 22 29 0a 20 20 20 20 20 20 20  | .............('id.".id")........ | 
| 9140 |  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 27 74 69 74 6c 65  | .........................('title | 
| 9160 |  20 22 20 74 69 74 6c 65 22 29 0a 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | .".title")...................... | 
| 9180 |  20 20 20 20 20 20 20 20 20 20 20 28 27 61 75 74    68 6f 72 20 22 20 61 75 74 68 6f 72 5f 73 6f 72  | ...........('author.".author_sor | 
| 91a0 |  74 22 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 20  | t")............................. | 
| 91c0 |  20 20 20 20 28 27 66 6f 72 6d 61 74 20 22 20 66    6f 72 6d 61 74 22 29 0a 20 20 20 20 20 20 20 20  | ....('format.".format")......... | 
| 91e0 |  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 27 64 61 74 65 20 22  | ........................('date." | 
| 9200 |  20 6c 61 73 74 5f 6d 6f 64 69 66 69 65 64 22 29    0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | .last_modified")................ | 
| 9220 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 28 27 70 75 62 64 61 74 65 20 22 20 70 75 62  | .................('pubdate.".pub | 
| 9240 |  64 61 74 65 22 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  | date").......................... | 
| 9260 |  20 20 20 20 20 20 20 28 27 74 61 67 20 22 20 74    61 67 22 29 0a 20 20 20 20 20 20 20 20 20 20 20  | .......('tag.".tag")............ | 
| 9280 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 28 27 73 69 7a 65 20 22 20 75 6e  | .....................('size.".un | 
| 92a0 |  63 6f 6d 70 72 65 73 73 65 64 5f 73 69 7a 65 22    29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | compressed_size")............... | 
| 92c0 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 28 27 6c 61 6e 67 75 61 67 65 20 22 20 6c  | ..................('language.".l | 
| 92e0 |  61 6e 67 5f 63 6f 64 65 22 29 0a 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | ang_code")...................... | 
| 9300 |  20 20 20 20 20 20 20 20 20 20 20 28 5f 20 22 20    69 64 22 29 29 0a 20 20 20 20 20 20 20 20 20 20  | ...........(_.".id"))........... | 
| 9320 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 28 77 68 65 6e 20 28 65 71 20 63 61  | ....................(when.(eq.ca | 
| 9340 |  6c 69 62 72 65 64 62 2d 6f 72 64 65 72 20 27 64    65 73 63 29 0a 20 20 20 20 20 20 20 20 20 20 20  | libredb-order.'desc)............ | 
| 9360 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 22 20 44 45 53 43 22 29 29 0a 20  | .....................".DESC")).. | 
| 9380 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 28 69 66 20 77 68 65 72 65 20 28  | .....................(if.where.( | 
| 93a0 |  63 6f 6e 63 61 74 20 22 20 57 48 45 52 45 20 22    20 77 68 65 72 65 29 20 22 22 29 29 29 29 0a 20  | concat.".WHERE.".where)."")))).. | 
| 93c0 |  20 20 20 28 77 68 65 6e 2d 6c 65 74 2a 20 28 28    71 75 65 72 79 2d 72 65 73 75 6c 74 20 28 63 61  | ...(when-let*.((query-result.(ca | 
| 93e0 |  6c 69 62 72 65 64 62 2d 71 75 65 72 79 20 73 71    6c 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20  | libredb-query.sql))............. | 
| 9400 |  20 20 20 20 28 76 61 6c 69 64 2d 71 75 65 72 79    2d 72 65 73 75 6c 74 2d 70 20 28 6f 72 20 28 6c  | ....(valid-query-result-p.(or.(l | 
| 9420 |  69 73 74 70 20 71 75 65 72 79 2d 72 65 73 75 6c    74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  | istp.query-result).............. | 
| 9440 |  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 69 66  | .............................(if | 
| 9460 |  20 28 73 74 72 69 6e 67 70 20 71 75 65 72 79 2d    72 65 73 75 6c 74 29 0a 20 20 20 20 20 20 20 20  | .(stringp.query-result)......... | 
| 9480 |  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  | ................................ | 
| 94a0 |  20 20 20 20 20 20 28 6e 6f 74 20 28 73 74 72 69    6e 67 3d 20 71 75 65 72 79 2d 72 65 73 75 6c 74  | ......(not.(string=.query-result | 
| 94c0 |  20 22 22 29 29 29 29 29 0a 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 2d 6c  | .""))))).................(line-l | 
| 94e0 |  69 73 74 20 28 69 66 20 28 6c 69 73 74 70 20 71    75 65 72 79 2d 72 65 73 75 6c 74 29 0a 20 20 20  | ist.(if.(listp.query-result).... | 
| 9500 |  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 71 75 65 72  | ............................quer | 
| 9520 |  79 2d 72 65 73 75 6c 74 0a 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | y-result........................ | 
| 9540 |  20 20 20 20 20 20 28 73 70 6c 69 74 2d 73 74 72    69 6e 67 20 28 63 61 6c 69 62 72 65 64 62 2d 63  | ......(split-string.(calibredb-c | 
| 9560 |  68 6f 6d 70 20 71 75 65 72 79 2d 72 65 73 75 6c    74 29 20 63 61 6c 69 62 72 65 64 62 2d 73 71 6c  | homp.query-result).calibredb-sql | 
| 9580 |  2d 6e 65 77 6c 69 6e 65 29 20 29 29 29 0a 20 20    20 20 20 20 3b 3b 20 28 6d 65 73 73 61 67 65 20  | -newline).))).......;;.(message. | 
| 95a0 |  22 25 73 22 20 73 71 6c 29 0a 20 20 20 20 20 20    28 63 6f 6e 64 20 28 63 6f 75 6e 74 20 28 69 66  | "%s".sql).......(cond.(count.(if | 
| 95c0 |  20 28 6c 69 73 74 70 20 71 75 65 72 79 2d 72 65    73 75 6c 74 29 0a 20 20 20 20 20 20 20 20 20 20  | .(listp.query-result)........... | 
| 95e0 |  20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 61    61 72 20 6c 69 6e 65 2d 6c 69 73 74 29 0a 20 20  | .............(caar.line-list)... | 
| 9600 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 28 73 74 72 69 6e 67 2d 74 6f 2d 6e 75  | ...................(string-to-nu | 
| 9620 |  6d 62 65 72 20 28 63 61 72 20 6c 69 6e 65 2d 6c    69 73 74 29 29 29 29 0a 20 20 20 20 20 20 20 20  | mber.(car.line-list))))......... | 
| 9640 |  20 20 20 20 28 64 69 73 74 69 6e 63 74 20 6c 69    6e 65 2d 6c 69 73 74 29 0a 20 20 20 20 20 20 20  | ....(distinct.line-list)........ | 
| 9660 |  20 20 20 20 20 28 74 20 28 6c 65 74 20 28 72 65    73 2d 6c 69 73 74 29 0a 20 20 20 20 20 20 20 20  | .....(t.(let.(res-list)......... | 
| 9680 |  20 20 20 20 20 20 20 20 20 28 64 6f 6c 69 73 74    20 28 6c 69 6e 65 20 6c 69 6e 65 2d 6c 69 73 74  | .........(dolist.(line.line-list | 
| 96a0 |  29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 28 69 66 20 28 6c 69 73 74 70 20  | )....................(if.(listp. | 
| 96c0 |  6c 69 6e 65 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 28 70 75  | line)........................(pu | 
| 96e0 |  73 68 20 28 63 61 6c 69 62 72 65 64 62 2d 71 75    65 72 79 2d 74 6f 2d 61 6c 69 73 74 20 6c 69 6e  | sh.(calibredb-query-to-alist.lin | 
| 9700 |  65 29 20 72 65 73 2d 6c 69 73 74 29 0a 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | e).res-list).................... | 
| 9720 |  20 20 3b 3b 20 76 61 6c 69 64 61 74 65 20 69 66    20 69 74 20 69 73 20 72 69 67 68 74 20 66 6f 72  | ..;;.validate.if.it.is.right.for | 
| 9740 |  6d 61 74 0a 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 28 69 66 20 28 73 74  | mat......................(if.(st | 
| 9760 |  72 69 6e 67 2d 6d 61 74 63 68 2d 70 20 28 63 6f    6e 63 61 74 20 22 5e 5b 30 2d 39 5d 5c 5c 7b 31  | ring-match-p.(concat."^[0-9]\\{1 | 
| 9780 |  2c 31 30 5c 5c 7d 22 20 63 61 6c 69 62 72 65 64    62 2d 73 71 6c 2d 73 65 70 61 72 61 74 6f 72 29  | ,10\\}".calibredb-sql-separator) | 
| 97a0 |  20 6c 69 6e 65 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  | .line).......................... | 
| 97c0 |  3b 3b 20 64 65 63 6f 64 65 20 61 6e 64 20 70 75    73 68 20 74 6f 20 72 65 73 2d 6c 69 73 74 0a 20  | ;;.decode.and.push.to.res-list.. | 
| 97e0 |  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 70 75 73 68 20 28 63  | ........................(push.(c | 
| 9800 |  61 6c 69 62 72 65 64 62 2d 71 75 65 72 79 2d 74    6f 2d 61 6c 69 73 74 20 6c 69 6e 65 29 20 72 65  | alibredb-query-to-alist.line).re | 
| 9820 |  73 2d 6c 69 73 74 29 29 29 29 0a 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 28 63 61 6c  | s-list))))..................(cal | 
| 9840 |  69 62 72 65 64 62 2d 67 65 74 62 6f 6f 6b 6c 69    73 74 20 72 65 73 2d 6c 69 73 74 29 29 29 29 29  | ibredb-getbooklist.res-list))))) | 
| 9860 |  29 29 0a 0a 28 64 65 66 75 6e 20 63 61 6c 69 62    72 65 64 62 2d 63 61 6e 64 69 64 61 74 65 28 69  | ))..(defun.calibredb-candidate(i | 
| 9880 |  64 29 0a 20 20 22 47 65 6e 65 72 61 74 65 20 6f    6e 65 20 65 62 6f 6f 6b 20 63 61 6e 64 69 64 61  | d)..."Generate.one.ebook.candida | 
| 98a0 |  74 65 20 61 6c 69 73 74 2e 0a 41 52 47 55 4d 45    4e 54 20 49 44 20 69 73 20 74 68 65 20 69 64 20  | te.alist..ARGUMENT.ID.is.the.id. | 
| 98c0 |  6f 66 20 74 68 65 20 65 62 6f 6f 6b 20 69 6e 20    73 74 72 69 6e 67 2e 22 0a 20 20 28 69 66 2d 6c  | of.the.ebook.in.string."...(if-l | 
| 98e0 |  65 74 2a 20 28 28 76 61 6c 69 64 2d 69 64 2d 70    20 28 73 74 72 69 6e 67 70 20 69 64 29 29 0a 20  | et*.((valid-id-p.(stringp.id)).. | 
| 9900 |  20 20 20 20 20 20 20 20 20 20 20 28 71 75 65 72    79 2d 72 65 73 75 6c 74 20 28 63 61 6c 69 62 72  | ...........(query-result.(calibr | 
| 9920 |  65 64 62 2d 71 75 65 72 79 20 28 66 6f 72 6d 61    74 20 22 53 45 4c 45 43 54 20 2a 20 46 52 4f 4d  | edb-query.(format."SELECT.*.FROM | 
| 9940 |  20 28 25 73 29 20 57 48 45 52 45 20 69 64 20 3d    20 25 73 22 20 63 61 6c 69 62 72 65 64 62 2d 71  | .(%s).WHERE.id.=.%s".calibredb-q | 
| 9960 |  75 65 72 79 2d 73 74 72 69 6e 67 20 69 64 29 29    29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 76  | uery-string.id))).............(v | 
| 9980 |  61 6c 69 64 2d 71 75 65 72 79 2d 72 65 73 75 6c    74 2d 70 20 28 6f 72 20 28 6c 69 73 74 70 20 71  | alid-query-result-p.(or.(listp.q | 
| 99a0 |  75 65 72 79 2d 72 65 73 75 6c 74 29 0a 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | uery-result).................... | 
| 99c0 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 28 69 66 20 28 73 74 72 69 6e 67 70 20  | ...................(if.(stringp. | 
| 99e0 |  71 75 65 72 79 2d 72 65 73 75 6c 74 29 0a 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | query-result)................... | 
| 9a00 |  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 6e 6f 74 20 28 73 74  | ........................(not.(st | 
| 9a20 |  72 69 6e 67 3d 20 71 75 65 72 79 2d 72 65 73 75    6c 74 20 22 22 29 29 29 29 29 0a 20 20 20 20 20  | ring=.query-result."")))))...... | 
| 9a40 |  20 20 20 20 20 20 20 28 6c 69 6e 65 20 28 69 66    20 28 6c 69 73 74 70 20 71 75 65 72 79 2d 72 65  | .......(line.(if.(listp.query-re | 
| 9a60 |  73 75 6c 74 29 20 28 63 61 72 20 71 75 65 72 79    2d 72 65 73 75 6c 74 29 0a 20 20 20 20 20 20 20  | sult).(car.query-result)........ | 
| 9a80 |  20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 61    72 20 28 73 70 6c 69 74 2d 73 74 72 69 6e 67 20  | .............(car.(split-string. | 
| 9aa0 |  28 63 61 6c 69 62 72 65 64 62 2d 63 68 6f 6d 70    20 71 75 65 72 79 2d 72 65 73 75 6c 74 29 20 63  | (calibredb-chomp.query-result).c | 
| 9ac0 |  61 6c 69 62 72 65 64 62 2d 73 71 6c 2d 6e 65 77    6c 69 6e 65 29 29 29 29 0a 20 20 20 20 20 20 20  | alibredb-sql-newline))))........ | 
| 9ae0 |  20 20 20 20 20 28 76 61 6c 69 64 2d 6c 69 6e 65    2d 70 20 28 6f 72 20 28 6c 69 73 74 70 20 6c 69  | .....(valid-line-p.(or.(listp.li | 
| 9b00 |  6e 65 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 20  | ne)............................. | 
| 9b20 |  20 20 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 2d    70 20 28 63 6f 6e 63 61 74 20 22 5e 5b 30 2d 39  | ..(string-match-p.(concat."^[0-9 | 
| 9b40 |  5d 5c 5c 7b 31 2c 31 30 5c 5c 7d 22 20 63 61 6c    69 62 72 65 64 62 2d 73 71 6c 2d 73 65 70 61 72  | ]\\{1,10\\}".calibredb-sql-separ | 
| 9b60 |  61 74 6f 72 29 20 6c 69 6e 65 29 29 29 29 0a 20    20 20 20 20 20 28 63 61 6c 69 62 72 65 64 62 2d  | ator).line)))).......(calibredb- | 
| 9b80 |  67 65 74 62 6f 6f 6b 6c 69 73 74 20 28 6c 69 73    74 20 28 63 61 6c 69 62 72 65 64 62 2d 71 75 65  | getbooklist.(list.(calibredb-que | 
| 9ba0 |  72 79 2d 74 6f 2d 61 6c 69 73 74 20 6c 69 6e 65    29 20 29 29 0a 20 20 20 20 27 28 22 22 29 29 29  | ry-to-alist.line).)).....'(""))) | 
| 9bc0 |  0a 0a 28 64 65 66 75 6e 20 63 61 6c 69 62 72 65    64 62 2d 66 6f 72 6d 61 74 2d 69 74 65 6d 20 28  | ..(defun.calibredb-format-item.( | 
| 9be0 |  62 6f 6f 6b 2d 61 6c 69 73 74 29 0a 20 20 22 46    6f 72 6d 61 74 20 74 68 65 20 63 61 6e 64 69 64  | book-alist)..."Format.the.candid | 
| 9c00 |  61 74 65 20 73 74 72 69 6e 67 20 73 68 6f 77 6e    20 69 6e 20 68 65 6c 6d 20 6f 72 20 69 76 79 2e  | ate.string.shown.in.helm.or.ivy. | 
| 9c20 |  0a 41 72 67 75 6d 65 6e 74 20 42 4f 4f 4b 2d 41    4c 49 53 54 20 2e 22 0a 20 20 28 6c 65 74 20 28  | .Argument.BOOK-ALIST.."...(let.( | 
| 9c40 |  28 69 64 20 28 63 61 6c 69 62 72 65 64 62 2d 67    65 74 61 74 74 72 20 28 6c 69 73 74 20 62 6f 6f  | (id.(calibredb-getattr.(list.boo | 
| 9c60 |  6b 2d 61 6c 69 73 74 29 20 3a 69 64 29 29 0a 20    20 20 20 20 20 20 20 28 74 69 74 6c 65 20 28 63  | k-alist).:id)).........(title.(c | 
| 9c80 |  61 6c 69 62 72 65 64 62 2d 67 65 74 61 74 74 72    20 28 6c 69 73 74 20 62 6f 6f 6b 2d 61 6c 69 73  | alibredb-getattr.(list.book-alis | 
| 9ca0 |  74 29 20 3a 62 6f 6f 6b 2d 74 69 74 6c 65 29 29    0a 20 20 20 20 20 20 20 20 28 66 6f 72 6d 61 74  | t).:book-title)).........(format | 
| 9cc0 |  20 28 63 61 6c 69 62 72 65 64 62 2d 67 65 74 61    74 74 72 20 28 6c 69 73 74 20 62 6f 6f 6b 2d 61  | .(calibredb-getattr.(list.book-a | 
| 9ce0 |  6c 69 73 74 29 20 3a 62 6f 6f 6b 2d 66 6f 72 6d    61 74 29 29 0a 20 20 20 20 20 20 20 20 28 61 75  | list).:book-format)).........(au | 
| 9d00 |  74 68 6f 72 20 28 63 61 6c 69 62 72 65 64 62 2d    67 65 74 61 74 74 72 20 28 6c 69 73 74 20 62 6f  | thor.(calibredb-getattr.(list.bo | 
| 9d20 |  6f 6b 2d 61 6c 69 73 74 29 20 3a 61 75 74 68 6f    72 2d 73 6f 72 74 29 29 0a 20 20 20 20 20 20 20  | ok-alist).:author-sort))........ | 
| 9d40 |  20 28 74 61 67 20 28 63 61 6c 69 62 72 65 64 62    2d 67 65 74 61 74 74 72 20 28 6c 69 73 74 20 62  | .(tag.(calibredb-getattr.(list.b | 
| 9d60 |  6f 6f 6b 2d 61 6c 69 73 74 29 20 3a 74 61 67 29    29 0a 20 20 20 20 20 20 20 20 28 63 6f 6d 6d 65  | ook-alist).:tag)).........(comme | 
| 9d80 |  6e 74 20 28 63 61 6c 69 62 72 65 64 62 2d 67 65    74 61 74 74 72 20 28 6c 69 73 74 20 62 6f 6f 6b  | nt.(calibredb-getattr.(list.book | 
| 9da0 |  2d 61 6c 69 73 74 29 20 3a 63 6f 6d 6d 65 6e 74    29 29 0a 20 20 20 20 20 20 20 20 28 73 69 7a 65  | -alist).:comment)).........(size | 
| 9dc0 |  20 28 63 61 6c 69 62 72 65 64 62 2d 67 65 74 61    74 74 72 20 28 6c 69 73 74 20 62 6f 6f 6b 2d 61  | .(calibredb-getattr.(list.book-a | 
| 9de0 |  6c 69 73 74 29 20 3a 73 69 7a 65 29 29 0a 20 20    20 20 20 20 20 20 28 69 64 73 20 28 63 61 6c 69  | list).:size)).........(ids.(cali | 
| 9e00 |  62 72 65 64 62 2d 67 65 74 61 74 74 72 20 28 6c    69 73 74 20 62 6f 6f 6b 2d 61 6c 69 73 74 29 20  | bredb-getattr.(list.book-alist). | 
| 9e20 |  3a 69 64 73 29 29 0a 20 20 20 20 20 20 20 20 28    64 61 74 65 20 28 63 61 6c 69 62 72 65 64 62 2d  | :ids)).........(date.(calibredb- | 
| 9e40 |  67 65 74 61 74 74 72 20 28 6c 69 73 74 20 62 6f    6f 6b 2d 61 6c 69 73 74 29 20 3a 6c 61 73 74 5f  | getattr.(list.book-alist).:last_ | 
| 9e60 |  6d 6f 64 69 66 69 65 64 29 29 0a 20 20 20 20 20    20 20 20 28 66 61 76 6f 72 69 74 65 2d 6d 61 70  | modified)).........(favorite-map | 
| 9e80 |  20 28 6d 61 6b 65 2d 73 70 61 72 73 65 2d 6b 65    79 6d 61 70 29 29 0a 20 20 20 20 20 20 20 20 28  | .(make-sparse-keymap)).........( | 
| 9ea0 |  74 61 67 2d 6d 61 70 20 28 6d 61 6b 65 2d 73 70    61 72 73 65 2d 6b 65 79 6d 61 70 29 29 0a 20 20  | tag-map.(make-sparse-keymap))... | 
| 9ec0 |  20 20 20 20 20 20 28 66 6f 72 6d 61 74 2d 6d 61    70 20 28 6d 61 6b 65 2d 73 70 61 72 73 65 2d 6b  | ......(format-map.(make-sparse-k | 
| 9ee0 |  65 79 6d 61 70 29 29 0a 20 20 20 20 20 20 20 20    28 61 75 74 68 6f 72 2d 6d 61 70 20 28 6d 61 6b  | eymap)).........(author-map.(mak | 
| 9f00 |  65 2d 73 70 61 72 73 65 2d 6b 65 79 6d 61 70 29    29 0a 20 20 20 20 20 20 20 20 28 64 61 74 65 2d  | e-sparse-keymap)).........(date- | 
| 9f20 |  6d 61 70 20 28 6d 61 6b 65 2d 73 70 61 72 73 65    2d 6b 65 79 6d 61 70 29 29 29 0a 20 20 20 20 28  | map.(make-sparse-keymap))).....( | 
| 9f40 |  64 65 66 69 6e 65 2d 6b 65 79 20 66 61 76 6f 72    69 74 65 2d 6d 61 70 20 5b 6d 6f 75 73 65 2d 31  | define-key.favorite-map.[mouse-1 | 
| 9f60 |  5d 20 27 63 61 6c 69 62 72 65 64 62 2d 66 61 76    6f 72 69 74 65 2d 6d 6f 75 73 65 2d 31 29 0a 20  | ].'calibredb-favorite-mouse-1).. | 
| 9f80 |  20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 74    61 67 2d 6d 61 70 20 5b 6d 6f 75 73 65 2d 31 5d  | ...(define-key.tag-map.[mouse-1] | 
| 9fa0 |  20 27 63 61 6c 69 62 72 65 64 62 2d 74 61 67 2d    6d 6f 75 73 65 2d 31 29 0a 20 20 20 20 28 64 65  | .'calibredb-tag-mouse-1).....(de | 
| 9fc0 |  66 69 6e 65 2d 6b 65 79 20 66 6f 72 6d 61 74 2d    6d 61 70 20 5b 6d 6f 75 73 65 2d 31 5d 20 27 63  | fine-key.format-map.[mouse-1].'c | 
| 9fe0 |  61 6c 69 62 72 65 64 62 2d 66 6f 72 6d 61 74 2d    6d 6f 75 73 65 2d 31 29 0a 20 20 20 20 28 64 65  | alibredb-format-mouse-1).....(de | 
| a000 |  66 69 6e 65 2d 6b 65 79 20 61 75 74 68 6f 72 2d    6d 61 70 20 5b 6d 6f 75 73 65 2d 31 5d 20 27 63  | fine-key.author-map.[mouse-1].'c | 
| a020 |  61 6c 69 62 72 65 64 62 2d 61 75 74 68 6f 72 2d    6d 6f 75 73 65 2d 31 29 0a 20 20 20 20 28 64 65  | alibredb-author-mouse-1).....(de | 
| a040 |  66 69 6e 65 2d 6b 65 79 20 64 61 74 65 2d 6d 61    70 20 5b 6d 6f 75 73 65 2d 31 5d 20 27 63 61 6c  | fine-key.date-map.[mouse-1].'cal | 
| a060 |  69 62 72 65 64 62 2d 64 61 74 65 2d 6d 6f 75 73    65 2d 31 29 0a 20 20 20 20 28 69 66 20 63 61 6c  | ibredb-date-mouse-1).....(if.cal | 
| a080 |  69 62 72 65 64 62 2d 64 65 74 61 69 6c 65 64 2d    76 69 65 77 0a 20 20 20 20 20 20 20 20 28 73 65  | ibredb-detailed-view.........(se | 
| a0a0 |  74 71 20 74 69 74 6c 65 20 28 63 6f 6e 63 61 74    20 74 69 74 6c 65 20 22 5c 6e 22 29 29 29 0a 20  | tq.title.(concat.title."\n"))).. | 
| a0c0 |  20 20 20 28 66 6f 72 6d 61 74 0a 20 20 20 20 20    28 69 66 20 63 61 6c 69 62 72 65 64 62 2d 64 65  | ...(format......(if.calibredb-de | 
| a0e0 |  74 61 69 6c 65 64 2d 76 69 65 77 0a 20 20 20 20    20 20 20 20 20 28 6c 65 74 20 28 28 6e 75 6d 20  | tailed-view..........(let.((num. | 
| a100 |  28 63 6f 6e 64 20 28 63 61 6c 69 62 72 65 64 62    2d 66 6f 72 6d 61 74 2d 6e 65 72 64 2d 69 63 6f  | (cond.(calibredb-format-nerd-ico | 
| a120 |  6e 73 20 33 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  | ns.3)........................... | 
| a140 |  28 63 61 6c 69 62 72 65 64 62 2d 66 6f 72 6d 61    74 2d 61 6c 6c 2d 74 68 65 2d 69 63 6f 6e 73 20  | (calibredb-format-all-the-icons. | 
| a160 |  33 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 28 63 61  | 3)...........................(ca | 
| a180 |  6c 69 62 72 65 64 62 2d 66 6f 72 6d 61 74 2d 69    63 6f 6e 73 2d 69 6e 2d 74 65 72 6d 69 6e 61 6c  | libredb-format-icons-in-terminal | 
| a1a0 |  20 33 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 28 28  | .3)...........................(( | 
| a1c0 |  3e 3d 20 63 61 6c 69 62 72 65 64 62 2d 69 64 2d    77 69 64 74 68 20 30 29 20 63 61 6c 69 62 72 65  | >=.calibredb-id-width.0).calibre | 
| a1e0 |  64 62 2d 69 64 2d 77 69 64 74 68 29 0a 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | db-id-width).................... | 
| a200 |  20 20 20 20 20 20 20 28 74 20 30 20 29 29 29 29    0a 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e  | .......(t.0.))))............(con | 
| a220 |  63 61 74 0a 20 20 20 20 20 20 20 20 20 20 20 20    22 25 73 20 25 73 25 73 22 0a 20 20 20 20 20 20  | cat............."%s.%s%s"....... | 
| a240 |  20 20 20 20 20 20 28 63 61 6c 69 62 72 65 64 62    2d 66 6f 72 6d 61 74 2d 63 6f 6c 75 6d 6e 20 28  | ......(calibredb-format-column.( | 
| a260 |  66 6f 72 6d 61 74 20 22 25 73 46 6f 72 6d 61 74    3a 22 20 28 6d 61 6b 65 2d 73 74 72 69 6e 67 20  | format."%sFormat:".(make-string. | 
| a280 |  6e 75 6d 20 3f 20 29 29 20 28 2b 20 38 20 6e 75    6d 29 20 3a 6c 65 66 74 29 20 22 25 73 5c 6e 22  | num.?.)).(+.8.num).:left)."%s\n" | 
| a2a0 |  0a 20 20 20 20 20 20 20 20 20 20 20 20 28 63 61    6c 69 62 72 65 64 62 2d 66 6f 72 6d 61 74 2d 63  | .............(calibredb-format-c | 
| a2c0 |  6f 6c 75 6d 6e 20 28 66 6f 72 6d 61 74 20 22 25    73 44 61 74 65 3a 22 20 28 6d 61 6b 65 2d 73 74  | olumn.(format."%sDate:".(make-st | 
| a2e0 |  72 69 6e 67 20 6e 75 6d 20 3f 20 29 29 20 28 2b    20 38 20 6e 75 6d 29 20 3a 6c 65 66 74 29 20 22  | ring.num.?.)).(+.8.num).:left)." | 
| a300 |  25 73 5c 6e 22 0a 20 20 20 20 20 20 20 20 20 20    20 20 28 63 61 6c 69 62 72 65 64 62 2d 66 6f 72  | %s\n".............(calibredb-for | 
| a320 |  6d 61 74 2d 63 6f 6c 75 6d 6e 20 28 66 6f 72 6d    61 74 20 22 25 73 41 75 74 68 6f 72 3a 22 20 28  | mat-column.(format."%sAuthor:".( | 
| a340 |  6d 61 6b 65 2d 73 74 72 69 6e 67 20 6e 75 6d 20    3f 20 29 29 20 20 28 2b 20 38 20 6e 75 6d 29 20  | make-string.num.?.))..(+.8.num). | 
| a360 |  3a 6c 65 66 74 29 20 22 25 73 5c 6e 22 0a 20 20    20 20 20 20 20 20 20 20 20 20 28 63 61 6c 69 62  | :left)."%s\n".............(calib | 
| a380 |  72 65 64 62 2d 66 6f 72 6d 61 74 2d 63 6f 6c 75    6d 6e 20 28 66 6f 72 6d 61 74 20 22 25 73 54 61  | redb-format-column.(format."%sTa | 
| a3a0 |  67 3a 22 20 28 6d 61 6b 65 2d 73 74 72 69 6e 67    20 6e 75 6d 20 3f 20 29 29 20 28 2b 20 38 20 6e  | g:".(make-string.num.?.)).(+.8.n | 
| a3c0 |  75 6d 29 20 3a 6c 65 66 74 29 20 22 25 73 5c 6e    22 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 63  | um).:left)."%s\n".............(c | 
| a3e0 |  61 6c 69 62 72 65 64 62 2d 66 6f 72 6d 61 74 2d    63 6f 6c 75 6d 6e 20 28 66 6f 72 6d 61 74 20 22  | alibredb-format-column.(format." | 
| a400 |  25 73 49 64 73 3a 22 20 28 6d 61 6b 65 2d 73 74    72 69 6e 67 20 6e 75 6d 20 3f 20 29 29 20 28 2b  | %sIds:".(make-string.num.?.)).(+ | 
| a420 |  20 38 20 6e 75 6d 29 20 3a 6c 65 66 74 29 20 22    25 73 5c 6e 22 0a 20 20 20 20 20 20 20 20 20 20  | .8.num).:left)."%s\n"........... | 
| a440 |  20 20 28 63 61 6c 69 62 72 65 64 62 2d 66 6f 72    6d 61 74 2d 63 6f 6c 75 6d 6e 20 28 66 6f 72 6d  | ..(calibredb-format-column.(form | 
| a460 |  61 74 20 22 25 73 43 6f 6d 6d 65 6e 74 3a 22 20    28 6d 61 6b 65 2d 73 74 72 69 6e 67 20 6e 75 6d  | at."%sComment:".(make-string.num | 
| a480 |  20 3f 20 29 29 20 28 2b 20 38 20 6e 75 6d 29 20    3a 6c 65 66 74 29 20 22 25 73 5c 6e 22 0a 20 20  | .?.)).(+.8.num).:left)."%s\n"... | 
| a4a0 |  20 20 20 20 20 20 20 20 20 20 28 63 61 6c 69 62    72 65 64 62 2d 66 6f 72 6d 61 74 2d 63 6f 6c 75  | ..........(calibredb-format-colu | 
| a4c0 |  6d 6e 20 28 66 6f 72 6d 61 74 20 22 25 73 53 69    7a 65 3a 22 20 28 6d 61 6b 65 2d 73 74 72 69 6e  | mn.(format."%sSize:".(make-strin | 
| a4e0 |  67 20 6e 75 6d 20 3f 20 29 29 20 28 2b 20 38 20    6e 75 6d 29 20 3a 6c 65 66 74 29 20 22 25 73 22  | g.num.?.)).(+.8.num).:left)."%s" | 
| a500 |  29 29 0a 20 20 20 20 20 20 20 22 25 73 20 25 73    25 73 20 25 73 20 25 73 20 25 73 20 28 25 73 29  | ))........"%s.%s%s.%s.%s.%s.(%s) | 
| a520 |  20 25 73 20 25 73 20 25 73 22 29 0a 20 20 20 20    20 28 63 61 6c 69 62 72 65 64 62 2d 69 63 6f 6e  | .%s.%s.%s")......(calibredb-icon | 
| a540 |  73 2d 66 6f 72 2d 66 69 6c 65 2d 65 78 74 65 6e    73 69 6f 6e 73 20 66 6f 72 6d 61 74 29 0a 20 20  | s-for-file-extensions.format)... | 
| a560 |  20 20 20 28 63 61 6c 69 62 72 65 64 62 2d 66 6f    72 6d 61 74 2d 63 6f 6c 75 6d 6e 20 28 66 6f 72  | ...(calibredb-format-column.(for | 
| a580 |  6d 61 74 20 22 25 73 22 20 28 70 72 6f 70 65 72    74 69 7a 65 20 69 64 20 27 66 61 63 65 20 27 63  | mat."%s".(propertize.id.'face.'c | 
| a5a0 |  61 6c 69 62 72 65 64 62 2d 69 64 2d 66 61 63 65    20 27 69 64 20 69 64 29 29 20 63 61 6c 69 62 72  | alibredb-id-face.'id.id)).calibr | 
| a5c0 |  65 64 62 2d 69 64 2d 77 69 64 74 68 20 3a 6c 65    66 74 29 0a 20 20 20 20 20 28 63 61 6c 69 62 72  | edb-id-width.:left)......(calibr | 
| a5e0 |  65 64 62 2d 66 6f 72 6d 61 74 2d 63 6f 6c 75 6d    6e 20 28 66 6f 72 6d 61 74 20 22 25 73 25 73 22  | edb-format-column.(format."%s%s" | 
| a600 |  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 20 20 20 20  | ................................ | 
| a620 |  20 20 20 20 20 20 20 28 69 66 20 28 73 2d 63 6f    6e 74 61 69 6e 73 3f 20 63 61 6c 69 62 72 65 64  | .......(if.(s-contains?.calibred | 
| a640 |  62 2d 66 61 76 6f 72 69 74 65 2d 6b 65 79 77 6f    72 64 20 74 61 67 29 0a 20 20 20 20 20 20 20 20  | b-favorite-keyword.tag)......... | 
| a660 |  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  | ................................ | 
| a680 |  20 20 28 66 6f 72 6d 61 74 20 22 25 73 20 22 20    28 70 72 6f 70 65 72 74 69 7a 65 20 63 61 6c 69  | ..(format."%s.".(propertize.cali | 
| a6a0 |  62 72 65 64 62 2d 66 61 76 6f 72 69 74 65 2d 69    63 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20  | bredb-favorite-icon............. | 
| a6c0 |  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  | ................................ | 
| a6e0 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 27 66 61 63 65 20 27 63  | ........................'face.'c | 
| a700 |  61 6c 69 62 72 65 64 62 2d 66 61 76 6f 72 69 74    65 2d 66 61 63 65 0a 20 20 20 20 20 20 20 20 20  | alibredb-favorite-face.......... | 
| a720 |  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  | ................................ | 
| a740 |  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 27 6d 6f 75 73  | ...........................'mous | 
| a760 |  65 2d 66 61 63 65 20 27 63 61 6c 69 62 72 65 64    62 2d 6d 6f 75 73 65 2d 66 61 63 65 0a 20 20 20  | e-face.'calibredb-mouse-face.... | 
| a780 |  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  | ................................ | 
| a7a0 |  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  | ................................ | 
| a7c0 |  20 27 68 65 6c 70 2d 65 63 68 6f 20 22 46 69 6c    74 65 72 20 74 68 65 20 66 61 76 6f 72 69 74 65  | .'help-echo."Filter.the.favorite | 
| a7e0 |  20 69 74 65 6d 73 22 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  | .items"......................... | 
| a800 |  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  | ................................ | 
| a820 |  20 20 20 20 20 20 20 20 20 20 20 20 27 6b 65 79    6d 61 70 20 66 61 76 6f 72 69 74 65 2d 6d 61 70  | ............'keymap.favorite-map | 
| a840 |  29 29 20 22 22 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  | ))."").......................... | 
| a860 |  20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f    6e 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  | .............(cond.............. | 
| a880 |  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 28 73 2d 63 6f  | ..........................((s-co | 
| a8a0 |  6e 74 61 69 6e 73 3f 20 63 61 6c 69 62 72 65 64    62 2d 61 72 63 68 69 76 65 2d 6b 65 79 77 6f 72  | ntains?.calibredb-archive-keywor | 
| a8c0 |  64 20 74 61 67 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  | d.tag).......................... | 
| a8e0 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28    70 72 6f 70 65 72 74 69 7a 65 20 74 69 74 6c 65  | ...............(propertize.title | 
| a900 |  20 27 66 61 63 65 20 27 63 61 6c 69 62 72 65 64    62 2d 61 72 63 68 69 76 65 2d 66 61 63 65 29 29  | .'face.'calibredb-archive-face)) | 
| a920 |  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 20 20 20 20  | ................................ | 
| a940 |  20 20 20 20 20 20 20 20 28 28 73 2d 63 6f 6e 74    61 69 6e 73 3f 20 63 61 6c 69 62 72 65 64 62 2d  | ........((s-contains?.calibredb- | 
| a960 |  68 69 67 68 6c 69 67 68 74 2d 6b 65 79 77 6f 72    64 20 74 61 67 29 0a 20 20 20 20 20 20 20 20 20  | highlight-keyword.tag).......... | 
| a980 |  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 28  | ...............................( | 
| a9a0 |  70 72 6f 70 65 72 74 69 7a 65 20 74 69 74 6c 65    20 27 66 61 63 65 20 27 63 61 6c 69 62 72 65 64  | propertize.title.'face.'calibred | 
| a9c0 |  62 2d 68 69 67 68 6c 69 67 68 74 2d 66 61 63 65    29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  | b-highlight-face)).............. | 
| a9e0 |  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 74 0a 20 20 20  | ..........................(t.... | 
| aa00 |  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  | ................................ | 
| aa20 |  20 20 20 20 20 28 70 72 6f 70 65 72 74 69 7a 65    20 74 69 74 6c 65 20 27 66 61 63 65 20 28 63 61  | .....(propertize.title.'face.(ca | 
| aa40 |  6c 69 62 72 65 64 62 2d 74 69 74 6c 65 2d 66 61    63 65 29 29 29 29 29 20 28 63 61 6c 69 62 72 65  | libredb-title-face))))).(calibre | 
| aa60 |  64 62 2d 74 69 74 6c 65 2d 77 69 64 74 68 29 20    3a 6c 65 66 74 29 0a 20 20 20 20 20 28 63 61 6c  | db-title-width).:left)......(cal | 
| aa80 |  69 62 72 65 64 62 2d 66 6f 72 6d 61 74 2d 63 6f    6c 75 6d 6e 20 28 70 72 6f 70 65 72 74 69 7a 65  | ibredb-format-column.(propertize | 
| aaa0 |  20 66 6f 72 6d 61 74 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  | .format......................... | 
| aac0 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 27 66 61 63 65 20 27 63 61 6c 69 62 72 65  | ..................'face.'calibre | 
| aae0 |  64 62 2d 66 6f 72 6d 61 74 2d 66 61 63 65 0a 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | db-format-face.................. | 
| ab00 |  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 27 6d 6f 75 73 65 2d  | .........................'mouse- | 
| ab20 |  66 61 63 65 20 27 63 61 6c 69 62 72 65 64 62 2d    6d 6f 75 73 65 2d 66 61 63 65 0a 20 20 20 20 20  | face.'calibredb-mouse-face...... | 
| ab40 |  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  | ................................ | 
| ab60 |  20 20 20 20 20 27 68 65 6c 70 2d 65 63 68 6f 20    22 46 69 6c 74 65 72 20 77 69 74 68 20 74 68 69  | .....'help-echo."Filter.with.thi | 
| ab80 |  73 20 66 6f 72 6d 61 74 22 0a 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | s.format"....................... | 
| aba0 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 27 6b 65 79 6d 61 70 20 66 6f 72 6d  | ....................'keymap.form | 
| abc0 |  61 74 2d 6d 61 70 29 20 28 63 61 6c 69 62 72 65    64 62 2d 66 6f 72 6d 61 74 2d 77 69 64 74 68 29  | at-map).(calibredb-format-width) | 
| abe0 |  20 3a 6c 65 66 74 29 0a 20 20 20 20 20 28 63 61    6c 69 62 72 65 64 62 2d 66 6f 72 6d 61 74 2d 63  | .:left)......(calibredb-format-c | 
| ac00 |  6f 6c 75 6d 6e 20 28 70 72 6f 70 65 72 74 69 7a    65 20 28 73 2d 6c 65 66 74 20 31 30 20 64 61 74  | olumn.(propertize.(s-left.10.dat | 
| ac20 |  65 29 20 27 66 61 63 65 20 27 63 61 6c 69 62 72    65 64 62 2d 64 61 74 65 2d 66 61 63 65 20 3b 20  | e).'face.'calibredb-date-face.;. | 
| ac40 |  6f 6e 6c 79 20 6b 65 65 70 20 59 59 59 59 2d 4d    4d 2d 44 44 0a 20 20 20 20 20 20 20 20 20 20 20  | only.keep.YYYY-MM-DD............ | 
| ac60 |  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 27  | ...............................' | 
| ac80 |  6d 6f 75 73 65 2d 66 61 63 65 20 27 63 61 6c 69    62 72 65 64 62 2d 6d 6f 75 73 65 2d 66 61 63 65  | mouse-face.'calibredb-mouse-face | 
| aca0 |  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 20 20 20 20  | ................................ | 
| acc0 |  20 20 20 20 20 20 20 20 20 20 20 27 68 65 6c 70    2d 65 63 68 6f 20 22 46 69 6c 74 65 72 20 77 69  | ...........'help-echo."Filter.wi | 
| ace0 |  74 68 20 74 68 69 73 20 64 61 74 65 22 0a 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | th.this.date"................... | 
| ad00 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 27 6b 65 79 6d 61 70 20  | ........................'keymap. | 
| ad20 |  64 61 74 65 2d 6d 61 70 29 20 28 63 61 6c 69 62    72 65 64 62 2d 64 61 74 65 2d 77 69 64 74 68 29  | date-map).(calibredb-date-width) | 
| ad40 |  20 3a 6c 65 66 74 29 0a 20 20 20 20 20 28 63 61    6c 69 62 72 65 64 62 2d 66 6f 72 6d 61 74 2d 63  | .:left)......(calibredb-format-c | 
| ad60 |  6f 6c 75 6d 6e 20 28 6d 61 70 63 6f 6e 63 61 74    0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | olumn.(mapconcat................ | 
| ad80 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    28 6c 61 6d 62 64 61 20 28 61 75 74 68 6f 72 29  | ................(lambda.(author) | 
| ada0 |  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 20 20 20 20  | ................................ | 
| adc0 |  20 20 28 70 72 6f 70 65 72 74 69 7a 65 20 61 75    74 68 6f 72 0a 20 20 20 20 20 20 20 20 20 20 20  | ..(propertize.author............ | 
| ade0 |  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  | ................................ | 
| ae00 |  20 20 27 61 75 74 68 6f 72 20 61 75 74 68 6f 72    0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | ..'author.author................ | 
| ae20 |  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 27 66  | ..............................'f | 
| ae40 |  61 63 65 20 27 63 61 6c 69 62 72 65 64 62 2d 61    75 74 68 6f 72 2d 66 61 63 65 0a 20 20 20 20 20  | ace.'calibredb-author-face...... | 
| ae60 |  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  | ................................ | 
| ae80 |  20 20 20 20 20 20 20 20 27 6d 6f 75 73 65 2d 66    61 63 65 20 27 63 61 6c 69 62 72 65 64 62 2d 6d  | ........'mouse-face.'calibredb-m | 
| aea0 |  6f 75 73 65 2d 66 61 63 65 0a 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | ouse-face....................... | 
| aec0 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 27 68 65 6c 70 2d 65 63 68  | .......................'help-ech | 
| aee0 |  6f 20 28 66 6f 72 6d 61 74 20 22 46 69 6c 74 65    72 20 77 69 74 68 20 74 68 69 73 20 61 75 74 68  | o.(format."Filter.with.this.auth | 
| af00 |  6f 72 3a 20 25 73 22 20 61 75 74 68 6f 72 29 0a    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | or:.%s".author)................. | 
| af20 |  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 27 6b 65  | .............................'ke | 
| af40 |  79 6d 61 70 20 61 75 74 68 6f 72 2d 6d 61 70 29    29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | ymap.author-map))............... | 
| af60 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 28 73 70 6c 69 74 2d 73 74 72 69 6e 67 20 61  | .................(split-string.a | 
| af80 |  75 74 68 6f 72 20 22 2c 22 29 20 22 2c 22 29 20    28 63 61 6c 69 62 72 65 64 62 2d 61 75 74 68 6f  | uthor.",").",").(calibredb-autho | 
| afa0 |  72 2d 77 69 64 74 68 29 20 3a 6c 65 66 74 29 0a    20 20 20 20 20 28 63 61 6c 69 62 72 65 64 62 2d  | r-width).:left)......(calibredb- | 
| afc0 |  66 6f 72 6d 61 74 2d 63 6f 6c 75 6d 6e 20 28 6d    61 70 63 6f 6e 63 61 74 0a 20 20 20 20 20 20 20  | format-column.(mapconcat........ | 
| afe0 |  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 6c 61 6d 62 64 61 20  | ........................(lambda. | 
| b000 |  28 74 61 67 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  | (tag)........................... | 
| b020 |  20 20 20 20 20 20 20 28 70 72 6f 70 65 72 74 69    7a 65 20 74 61 67 0a 20 20 20 20 20 20 20 20 20  | .......(propertize.tag.......... | 
| b040 |  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  | ................................ | 
| b060 |  20 20 20 20 27 74 61 67 20 74 61 67 0a 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | ....'tag.tag.................... | 
| b080 |  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 27 66 61 63 65 20  | ..........................'face. | 
| b0a0 |  27 63 61 6c 69 62 72 65 64 62 2d 74 61 67 2d 66    61 63 65 0a 20 20 20 20 20 20 20 20 20 20 20 20  | 'calibredb-tag-face............. | 
| b0c0 |  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  | ................................ | 
| b0e0 |  20 27 6d 6f 75 73 65 2d 66 61 63 65 20 27 63 61    6c 69 62 72 65 64 62 2d 6d 6f 75 73 65 2d 66 61  | .'mouse-face.'calibredb-mouse-fa | 
| b100 |  63 65 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 20 20  | ce.............................. | 
| b120 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    27 68 65 6c 70 2d 65 63 68 6f 20 28 66 6f 72 6d  | ................'help-echo.(form | 
| b140 |  61 74 20 22 46 69 6c 74 65 72 20 77 69 74 68 20    74 68 69 73 20 74 61 67 3a 20 25 73 22 20 74 61  | at."Filter.with.this.tag:.%s".ta | 
| b160 |  67 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 20 20  | g).............................. | 
| b180 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    27 6b 65 79 6d 61 70 20 74 61 67 2d 6d 61 70 29  | ................'keymap.tag-map) | 
| b1a0 |  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 20 20 20  | )............................... | 
| b1c0 |  20 28 73 70 6c 69 74 2d 73 74 72 69 6e 67 20 74    61 67 20 22 2c 22 29 20 22 2c 22 29 20 28 63 61  | .(split-string.tag.",").",").(ca | 
| b1e0 |  6c 69 62 72 65 64 62 2d 74 61 67 2d 77 69 64 74    68 29 20 3a 6c 65 66 74 29 0a 20 20 20 20 20 28  | libredb-tag-width).:left)......( | 
| b200 |  63 61 6c 69 62 72 65 64 62 2d 66 6f 72 6d 61 74    2d 63 6f 6c 75 6d 6e 20 28 70 72 6f 70 65 72 74  | calibredb-format-column.(propert | 
| b220 |  69 7a 65 20 69 64 73 20 27 66 61 63 65 20 27 63    61 6c 69 62 72 65 64 62 2d 69 64 73 2d 66 61 63  | ize.ids.'face.'calibredb-ids-fac | 
| b240 |  65 29 20 28 63 61 6c 69 62 72 65 64 62 2d 69 64    73 2d 77 69 64 74 68 29 20 3a 6c 65 66 74 29 0a  | e).(calibredb-ids-width).:left). | 
| b260 |  20 20 20 20 20 28 69 66 20 28 73 74 72 69 6e 67    70 20 63 6f 6d 6d 65 6e 74 29 0a 20 20 20 20 20  | .....(if.(stringp.comment)...... | 
| b280 |  20 20 20 20 28 70 72 6f 70 65 72 74 69 7a 65 0a    20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28  | ....(propertize...........(let.( | 
| b2a0 |  28 63 20 28 69 66 20 63 61 6c 69 62 72 65 64 62    2d 63 6f 6e 64 65 6e 73 65 2d 63 6f 6d 6d 65 6e  | (c.(if.calibredb-condense-commen | 
| b2c0 |  74 73 20 28 63 61 6c 69 62 72 65 64 62 2d 63 6f    6e 64 65 6e 73 65 2d 63 6f 6d 6d 65 6e 74 73 20  | ts.(calibredb-condense-comments. | 
| b2e0 |  63 6f 6d 6d 65 6e 74 29 20 63 6f 6d 6d 65 6e 74    29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  | comment).comment)).............. | 
| b300 |  20 20 20 28 77 20 63 61 6c 69 62 72 65 64 62 2d    63 6f 6d 6d 65 6e 74 2d 77 69 64 74 68 29 29 0a  | ...(w.calibredb-comment-width)). | 
| b320 |  20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e    64 20 28 28 3e 20 77 20 30 29 20 28 73 2d 74 72  | ............(cond.((>.w.0).(s-tr | 
| b340 |  75 6e 63 61 74 65 20 77 20 63 29 29 0a 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28  | uncate.w.c))...................( | 
| b360 |  28 3d 20 77 20 30 29 20 22 22 29 0a 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 74  | (=.w.0)."")...................(t | 
| b380 |  20 63 29 29 29 0a 20 20 20 20 20 20 20 20 20 20    27 66 61 63 65 20 27 63 61 6c 69 62 72 65 64 62  | .c)))...........'face.'calibredb | 
| b3a0 |  2d 63 6f 6d 6d 65 6e 74 2d 66 61 63 65 29 20 22    22 29 0a 20 20 20 20 20 28 66 6f 72 6d 61 74 20  | -comment-face)."")......(format. | 
| b3c0 |  22 25 73 25 73 22 0a 20 20 20 20 20 20 20 20 20    20 20 20 20 28 69 66 20 63 61 6c 69 62 72 65 64  | "%s%s"..............(if.calibred | 
| b3e0 |  62 2d 73 69 7a 65 2d 73 68 6f 77 0a 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 72  | b-size-show..................(pr | 
| b400 |  6f 70 65 72 74 69 7a 65 20 73 69 7a 65 20 27 66    61 63 65 20 27 63 61 6c 69 62 72 65 64 62 2d 73  | opertize.size.'face.'calibredb-s | 
| b420 |  69 7a 65 2d 66 61 63 65 29 20 22 22 29 0a 20 20    20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 63  | ize-face)."")..............(if.c | 
| b440 |  61 6c 69 62 72 65 64 62 2d 73 69 7a 65 2d 73 68    6f 77 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  | alibredb-size-show.............. | 
| b460 |  20 20 20 20 28 70 72 6f 70 65 72 74 69 7a 65 20    22 4d 62 22 20 27 66 61 63 65 20 27 63 61 6c 69  | ....(propertize."Mb".'face.'cali | 
| b480 |  62 72 65 64 62 2d 73 69 7a 65 2d 66 61 63 65 29    20 22 22 29 29 29 20 29 29 0a 0a 28 64 65 66 75  | bredb-size-face).""))).))..(defu | 
| b4a0 |  6e 20 63 61 6c 69 62 72 65 64 62 2d 69 63 6f 6e    73 2d 66 6f 72 2d 66 69 6c 65 2d 65 78 74 65 6e  | n.calibredb-icons-for-file-exten | 
| b4c0 |  73 69 6f 6e 73 20 28 65 78 74 65 6e 73 69 6f 6e    73 2d 73 74 72 69 6e 67 29 0a 20 20 22 52 65 74  | sions.(extensions-string)..."Ret | 
| b4e0 |  75 72 6e 20 74 68 65 20 61 70 70 72 6f 70 72 69    61 74 65 20 69 63 6f 6e 28 73 29 20 66 6f 72 20  | urn.the.appropriate.icon(s).for. | 
| b500 |  74 68 65 20 67 69 76 65 6e 20 45 58 54 45 4e 53    49 4f 4e 53 2d 53 54 52 49 4e 47 2e 0a 49 66 20  | the.given.EXTENSIONS-STRING..If. | 
| b520 |  74 68 65 20 73 74 72 69 6e 67 20 63 6f 6e 74 61    69 6e 73 20 60 63 61 6c 69 62 72 65 64 62 2d 70  | the.string.contains.`calibredb-p | 
| b540 |  72 65 66 65 72 72 65 64 2d 66 6f 72 6d 61 74 60    2c 20 6f 6e 6c 79 20 73 68 6f 77 20 74 68 61 74  | referred-format`,.only.show.that | 
| b560 |  20 66 6f 72 6d 61 74 2e 0a 4f 74 68 65 72 77 69    73 65 2c 20 73 68 6f 77 20 69 63 6f 6e 73 20 66  | .format..Otherwise,.show.icons.f | 
| b580 |  6f 72 20 74 68 65 20 66 69 72 73 74 20 61 76 61    69 6c 61 62 6c 65 20 66 6f 72 6d 61 74 2e 22 0a  | or.the.first.available.format.". | 
| b5a0 |  20 20 28 6c 65 74 2a 20 28 28 65 78 74 65 6e 73    69 6f 6e 73 20 28 73 70 6c 69 74 2d 73 74 72 69  | ..(let*.((extensions.(split-stri | 
| b5c0 |  6e 67 20 28 73 74 72 69 6e 67 2d 74 72 69 6d 20    65 78 74 65 6e 73 69 6f 6e 73 2d 73 74 72 69 6e  | ng.(string-trim.extensions-strin | 
| b5e0 |  67 29 20 22 2c 22 29 29 0a 20 20 20 20 20 20 20    20 20 28 70 72 65 66 65 72 72 65 64 2d 66 6f 72  | g).","))..........(preferred-for | 
| b600 |  6d 61 74 20 28 63 61 72 20 28 6d 65 6d 62 65 72    20 63 61 6c 69 62 72 65 64 62 2d 70 72 65 66 65  | mat.(car.(member.calibredb-prefe | 
| b620 |  72 72 65 64 2d 66 6f 72 6d 61 74 20 65 78 74 65    6e 73 69 6f 6e 73 29 29 29 0a 20 20 20 20 20 20  | rred-format.extensions)))....... | 
| b640 |  20 20 20 28 65 78 74 65 6e 73 69 6f 6e 73 2d 74    6f 2d 73 68 6f 77 20 28 69 66 20 70 72 65 66 65  | ...(extensions-to-show.(if.prefe | 
| b660 |  72 72 65 64 2d 66 6f 72 6d 61 74 0a 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | rred-format..................... | 
| b680 |  20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69    73 74 20 70 72 65 66 65 72 72 65 64 2d 66 6f 72  | .............(list.preferred-for | 
| b6a0 |  6d 61 74 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  | mat)............................ | 
| b6c0 |  20 20 20 20 28 6c 69 73 74 20 28 63 61 72 20 65    78 74 65 6e 73 69 6f 6e 73 29 29 29 29 29 0a 20  | ....(list.(car.extensions))))).. | 
| b6e0 |  20 20 20 28 63 6f 6e 64 0a 20 20 20 20 20 28 63    61 6c 69 62 72 65 64 62 2d 66 6f 72 6d 61 74 2d  | ...(cond......(calibredb-format- | 
| b700 |  6e 65 72 64 2d 69 63 6f 6e 73 0a 20 20 20 20 20    20 28 6d 61 70 63 6f 6e 63 61 74 20 28 6c 61 6d  | nerd-icons.......(mapconcat.(lam | 
| b720 |  62 64 61 20 28 65 78 74 29 0a 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66  | bda.(ext)....................(if | 
| b740 |  20 28 66 62 6f 75 6e 64 70 20 27 6e 65 72 64 2d    69 63 6f 6e 73 2d 69 63 6f 6e 2d 66 6f 72 2d 66  | .(fboundp.'nerd-icons-icon-for-f | 
| b760 |  69 6c 65 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 28 6e 65 72  | ile)........................(ner | 
| b780 |  64 2d 69 63 6f 6e 73 2d 69 63 6f 6e 2d 66 6f 72    2d 66 69 6c 65 20 28 63 6f 6e 63 61 74 20 22 66  | d-icons-icon-for-file.(concat."f | 
| b7a0 |  69 6c 65 2e 22 20 28 73 74 72 69 6e 67 2d 74 72    69 6d 20 65 78 74 29 29 29 0a 20 20 20 20 20 20  | ile.".(string-trim.ext)))....... | 
| b7c0 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22    22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20  | ...............""))............. | 
| b7e0 |  20 20 20 20 20 65 78 74 65 6e 73 69 6f 6e 73 2d    74 6f 2d 73 68 6f 77 20 22 20 22 29 29 0a 20 20  | .....extensions-to-show."."))... | 
| b800 |  20 20 20 28 63 61 6c 69 62 72 65 64 62 2d 66 6f    72 6d 61 74 2d 61 6c 6c 2d 74 68 65 2d 69 63 6f  | ...(calibredb-format-all-the-ico | 
| b820 |  6e 73 0a 20 20 20 20 20 20 28 6d 61 70 63 6f 6e    63 61 74 20 28 6c 61 6d 62 64 61 20 28 65 78 74  | ns.......(mapconcat.(lambda.(ext | 
| b840 |  29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 28 69 66 20 28 66 62 6f 75 6e 64  | )....................(if.(fbound | 
| b860 |  70 20 27 61 6c 6c 2d 74 68 65 2d 69 63 6f 6e 73    2d 69 63 6f 6e 2d 66 6f 72 2d 66 69 6c 65 29 0a  | p.'all-the-icons-icon-for-file). | 
| b880 |  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 6c 6c 2d 74 68 65 2d  | .......................(all-the- | 
| b8a0 |  69 63 6f 6e 73 2d 69 63 6f 6e 2d 66 6f 72 2d 66    69 6c 65 20 28 63 6f 6e 63 61 74 20 22 66 69 6c  | icons-icon-for-file.(concat."fil | 
| b8c0 |  65 2e 22 20 28 73 74 72 69 6e 67 2d 74 72 69 6d    20 65 78 74 29 29 29 0a 20 20 20 20 20 20 20 20  | e.".(string-trim.ext)))......... | 
| b8e0 |  20 20 20 20 20 20 20 20 20 20 20 20 20 22 22 29    29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | .............""))............... | 
| b900 |  20 20 20 65 78 74 65 6e 73 69 6f 6e 73 2d 74 6f    2d 73 68 6f 77 20 22 20 22 29 29 0a 20 20 20 20  | ...extensions-to-show."."))..... | 
| b920 |  20 28 63 61 6c 69 62 72 65 64 62 2d 66 6f 72 6d    61 74 2d 69 63 6f 6e 73 2d 69 6e 2d 74 65 72 6d  | .(calibredb-format-icons-in-term | 
| b940 |  69 6e 61 6c 0a 20 20 20 20 20 20 28 6d 61 70 63    6f 6e 63 61 74 20 28 6c 61 6d 62 64 61 20 28 65  | inal.......(mapconcat.(lambda.(e | 
| b960 |  78 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 28 69 66 20 28 66 62 6f 75  | xt)....................(if.(fbou | 
| b980 |  6e 64 70 20 27 69 63 6f 6e 73 2d 69 6e 2d 74 65    72 6d 69 6e 61 6c 2d 69 63 6f 6e 2d 66 6f 72 2d  | ndp.'icons-in-terminal-icon-for- | 
| b9a0 |  66 69 6c 65 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 28 69 63  | file)........................(ic | 
| b9c0 |  6f 6e 73 2d 69 6e 2d 74 65 72 6d 69 6e 61 6c 2d    69 63 6f 6e 2d 66 6f 72 2d 66 69 6c 65 20 65 78  | ons-in-terminal-icon-for-file.ex | 
| b9e0 |  74 20 3a 76 2d 61 64 6a 75 73 74 20 30 20 3a 68    65 69 67 68 74 20 31 29 0a 20 20 20 20 20 20 20  | t.:v-adjust.0.:height.1)........ | 
| ba00 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 22    29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  | .............."")).............. | 
| ba20 |  20 20 20 20 65 78 74 65 6e 73 69 6f 6e 73 2d 74    6f 2d 73 68 6f 77 20 22 20 22 29 29 0a 20 20 20  | ....extensions-to-show.".")).... | 
| ba40 |  20 20 28 63 61 6c 69 62 72 65 64 62 2d 66 6f 72    6d 61 74 2d 63 68 61 72 61 63 74 65 72 2d 69 63  | ..(calibredb-format-character-ic | 
| ba60 |  6f 6e 73 0a 20 20 20 20 20 20 28 6d 61 70 63 6f    6e 63 61 74 20 28 6c 61 6d 62 64 61 20 28 65 78  | ons.......(mapconcat.(lambda.(ex | 
| ba80 |  74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 28 63 61 6c 69 62 72 65 64 62  | t)....................(calibredb | 
| baa0 |  2d 61 74 74 61 63 68 2d 69 63 6f 6e 2d 66 6f 72    20 65 78 74 29 29 0a 20 20 20 20 20 20 20 20 20  | -attach-icon-for.ext)).......... | 
| bac0 |  20 20 20 20 20 20 20 20 65 78 74 65 6e 73 69 6f    6e 73 2d 74 6f 2d 73 68 6f 77 20 22 20 22 29 29  | ........extensions-to-show.".")) | 
| bae0 |  0a 20 20 20 20 20 28 74 20 22 22 29 29 29 29 0a    0a 28 70 72 6f 76 69 64 65 20 27 63 61 6c 69 62  | ......(t.""))))..(provide.'calib | 
| bb00 |  72 65 64 62 2d 63 6f 72 65 29 0a 0a 3b 3b 3b 20    63 61 6c 69 62 72 65 64 62 2d 63 6f 72 65 2e 65  | redb-core)..;;;.calibredb-core.e | 
| bb20 |  6c 20 65 6e 64 73 20 68 65 72 65 0a 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | l.ends.here..................... | 
| bb40 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| bb60 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| bb80 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| bba0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| bbc0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| bbe0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| bc00 |  63 61 6c 69 62 72 65 64 62 2d 32 30 32 35 30 37    30 35 2e 32 32 35 2f 63 61 6c 69 62 72 65 64 62  | calibredb-20250705.225/calibredb | 
| bc20 |  2d 64 69 72 65 64 2e 65 6c 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | -dired.el....................... | 
| bc40 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| bc60 |  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 | 
| bc80 |  30 30 30 35 37 33 31 00 30 30 30 30 30 30 30 30    30 30 30 00 30 31 36 31 36 31 00 20 30 00 00 00  | 0005731.00000000000.016161..0... | 
| bca0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| bcc0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| bce0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| bd00 |  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................... | 
| bd20 |  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................... | 
| bd40 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| bd60 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| bd80 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| bda0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| bdc0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| bde0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| be00 |  3b 3b 3b 20 63 61 6c 69 62 72 65 64 62 2d 64 69    72 65 64 2e 65 6c 20 2d 2d 2d 20 44 69 72 65 64  | ;;;.calibredb-dired.el.---.Dired | 
| be20 |  20 73 75 70 70 6f 72 74 20 66 6f 72 20 63 61 6c    69 62 72 65 64 62 20 2d 2a 2d 20 6c 65 78 69 63  | .support.for.calibredb.-*-.lexic | 
| be40 |  61 6c 2d 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  | al-binding:.t;.-*-..;;.Copyright | 
| be60 |  20 28 43 29 20 32 30 32 30 20 44 61 6d 6f 6e 20    43 68 61 6e 0a 0a 3b 3b 20 41 75 74 68 6f 72 3a  | .(C).2020.Damon.Chan..;;.Author: | 
| be80 |  20 44 61 6d 6f 6e 20 43 68 61 6e 20 3c 65 6c 65    63 6d 69 6e 67 40 67 6d 61 69 6c 2e 63 6f 6d 3e  | .Damon.Chan.<elecming@gmail.com> | 
| bea0 |  0a 3b 3b 20 55 52 4c 3a 20 68 74 74 70 73 3a 2f    2f 67 69 74 68 75 62 2e 63 6f 6d 2f 63 68 65 6e  | .;;.URL:.https://github.com/chen | 
| bec0 |  79 61 6e 6d 69 6e 67 2f 63 61 6c 69 62 72 65 64    62 2e 65 6c 0a 3b 3b 20 4b 65 79 77 6f 72 64 73  | yanming/calibredb.el.;;.Keywords | 
| bee0 |  3a 20 74 6f 6f 6c 73 0a 0a 3b 3b 20 54 68 69 73    20 66 69 6c 65 20 69 73 20 4e 4f 54 20 70 61 72  | :.tools..;;.This.file.is.NOT.par | 
| bf00 |  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 70 72 6f 67 72 61 6d  | t.of.GNU.Emacs...;;.This.program | 
| bf20 |  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 64 69 73  | .is.free.software;.you.can.redis | 
| bf40 |  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 74 20 75  | tribute.it.and/or.modify.;;.it.u | 
| bf60 |  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 65 72 61  | nder.the.terms.of.the.GNU.Genera | 
| bf80 |  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 20 62 79  | l.Public.License.as.published.by | 
| bfa0 |  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 69 6f 6e  | .;;.the.Free.Software.Foundation | 
| bfc0 |  2c 20 65 69 74 68 65 72 20 76 65 72 73 69 6f 6e    20 33 20 6f 66 20 74 68 65 20 4c 69 63 65 6e 73  | ,.either.version.3.of.the.Licens | 
| bfe0 |  65 2c 20 6f 72 0a 3b 3b 20 28 61 74 20 79 6f 75    72 20 6f 70 74 69 6f 6e 29 20 61 6e 79 20 6c 61  | e,.or.;;.(at.your.option).any.la | 
| c000 |  74 65 72 20 76 65 72 73 69 6f 6e 2e 0a 0a 3b 3b    20 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73  | ter.version...;;.This.program.is | 
| c020 |  20 64 69 73 74 72 69 62 75 74 65 64 20 69 6e 20    74 68 65 20 68 6f 70 65 20 74 68 61 74 20 69 74  | .distributed.in.the.hope.that.it | 
| c040 |  20 77 69 6c 6c 20 62 65 20 75 73 65 66 75 6c 2c    0a 3b 3b 20 62 75 74 20 57 49 54 48 4f 55 54 20  | .will.be.useful,.;;.but.WITHOUT. | 
| c060 |  41 4e 59 20 57 41 52 52 41 4e 54 59 3b 20 77 69    74 68 6f 75 74 20 65 76 65 6e 20 74 68 65 20 69  | ANY.WARRANTY;.without.even.the.i | 
| c080 |  6d 70 6c 69 65 64 20 77 61 72 72 61 6e 74 79 20    6f 66 0a 3b 3b 20 4d 45 52 43 48 41 4e 54 41 42  | mplied.warranty.of.;;.MERCHANTAB | 
| c0a0 |  49 4c 49 54 59 20 6f 72 20 46 49 54 4e 45 53 53    20 46 4f 52 20 41 20 50 41 52 54 49 43 55 4c 41  | ILITY.or.FITNESS.FOR.A.PARTICULA | 
| c0c0 |  52 20 50 55 52 50 4f 53 45 2e 20 20 53 65 65 20    74 68 65 0a 3b 3b 20 47 4e 55 20 47 65 6e 65 72  | R.PURPOSE...See.the.;;.GNU.Gener | 
| c0e0 |  61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73    65 20 66 6f 72 20 6d 6f 72 65 20 64 65 74 61 69  | al.Public.License.for.more.detai | 
| c100 |  6c 73 2e 0a 0a 3b 3b 20 59 6f 75 20 73 68 6f 75    6c 64 20 68 61 76 65 20 72 65 63 65 69 76 65 64  | ls...;;.You.should.have.received | 
| c120 |  20 61 20 63 6f 70 79 20 6f 66 20 74 68 65 20 47    4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69  | .a.copy.of.the.GNU.General.Publi | 
| c140 |  63 20 4c 69 63 65 6e 73 65 0a 3b 3b 20 61 6c 6f    6e 67 20 77 69 74 68 20 74 68 69 73 20 70 72 6f  | c.License.;;.along.with.this.pro | 
| c160 |  67 72 61 6d 2e 20 20 49 66 20 6e 6f 74 2c 20 73    65 65 20 3c 68 74 74 70 73 3a 2f 2f 77 77 77 2e  | gram...If.not,.see.<https://www. | 
| c180 |  67 6e 75 2e 6f 72 67 2f 6c 69 63 65 6e 73 65 73    2f 3e 2e 0a 0a 3b 3b 3b 20 43 6f 6d 6d 65 6e 74  | gnu.org/licenses/>...;;;.Comment | 
| c1a0 |  61 72 79 3a 0a 0a 3b 3b 3b 20 43 6f 64 65 3a 0a    0a 28 72 65 71 75 69 72 65 20 27 63 61 6c 69 62  | ary:..;;;.Code:..(require.'calib | 
| c1c0 |  72 65 64 62 2d 63 6f 72 65 29 0a 0a 28 64 65 63    6c 61 72 65 2d 66 75 6e 63 74 69 6f 6e 20 63 61  | redb-core)..(declare-function.ca | 
| c1e0 |  6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2d 63    6c 65 61 72 2d 66 69 6c 74 65 72 20 22 63 61 6c  | libredb-search-clear-filter."cal | 
| c200 |  69 62 72 65 64 62 2d 73 65 61 72 63 68 2e 65 6c    22 29 0a 0a 28 64 65 66 69 6e 65 2d 6f 62 73 6f  | ibredb-search.el")..(define-obso | 
| c220 |  6c 65 74 65 2d 66 75 6e 63 74 69 6f 6e 2d 61 6c    69 61 73 20 23 27 63 61 6c 69 62 72 65 64 62 2d  | lete-function-alias.#'calibredb- | 
| c240 |  6f 70 65 6e 2d 64 69 72 65 64 0a 20 20 27 63 61    6c 69 62 72 65 64 62 2d 64 69 72 65 64 2d 6f 70  | open-dired...'calibredb-dired-op | 
| c260 |  65 6e 20 22 63 61 6c 69 62 72 65 64 62 20 32 2e    31 32 2e 30 22 29 0a 0a 28 64 65 66 75 6e 20 63  | en."calibredb.2.12.0")..(defun.c | 
| c280 |  61 6c 69 62 72 65 64 62 2d 64 69 72 65 64 2d 6f    70 65 6e 20 28 26 6f 70 74 69 6f 6e 61 6c 20 63  | alibredb-dired-open.(&optional.c | 
| c2a0 |  61 6e 64 69 64 61 74 65 20 61 72 67 29 0a 20 20    22 4f 70 65 6e 20 64 69 72 65 64 20 6f 66 20 74  | andidate.arg)..."Open.dired.of.t | 
| c2c0 |  68 65 20 73 65 6c 65 63 74 65 64 20 69 74 65 6d    2e 0a 49 66 20 74 68 65 20 75 6e 69 76 65 72 73  | he.selected.item..If.the.univers | 
| c2e0 |  61 6c 20 70 72 65 66 69 78 20 41 52 47 20 69 73    20 75 73 65 64 20 74 68 65 6e 20 6f 70 65 6e 20  | al.prefix.ARG.is.used.then.open. | 
| c300 |  74 68 65 20 66 6f 6c 64 65 72 0a 63 6f 6e 74 61    69 6e 69 6e 67 20 74 68 65 20 63 75 72 72 65 6e  | the.folder.containing.the.curren | 
| c320 |  74 20 66 69 6c 65 20 62 79 20 74 68 65 20 64 65    66 61 75 6c 74 20 65 78 70 6c 6f 72 65 72 2e 0a  | t.file.by.the.default.explorer.. | 
| c340 |  4f 70 74 69 6f 6e 61 6c 20 61 72 67 75 6d 65 6e    74 20 43 41 4e 44 49 44 41 54 45 20 69 73 20 74  | Optional.argument.CANDIDATE.is.t | 
| c360 |  68 65 20 73 65 6c 65 63 74 65 64 20 69 74 65 6d    2e 0a 4f 70 65 6e 73 20 61 20 64 69 72 65 64 20  | he.selected.item..Opens.a.dired. | 
| c380 |  62 75 66 66 65 72 20 69 6e 20 46 49 4c 45 27 73    20 64 69 72 65 63 74 6f 72 79 2e 20 20 49 66 20  | buffer.in.FILE's.directory...If. | 
| c3a0 |  46 49 4c 45 20 69 73 20 61 0a 64 69 72 65 63 74    6f 72 79 2c 20 6f 70 65 6e 20 74 68 69 73 20 64  | FILE.is.a.directory,.open.this.d | 
| c3c0 |  69 72 65 63 74 6f 72 79 2e 22 0a 20 20 28 69 6e    74 65 72 61 63 74 69 76 65 0a 20 20 20 28 6c 69  | irectory."...(interactive....(li | 
| c3e0 |  73 74 20 28 63 61 72 20 28 63 61 6c 69 62 72 65    64 62 2d 66 69 6e 64 2d 63 61 6e 64 69 64 61 74  | st.(car.(calibredb-find-candidat | 
| c400 |  65 2d 61 74 2d 70 6f 69 6e 74 29 29 0a 20 20 20    20 20 20 20 20 20 63 75 72 72 65 6e 74 2d 70 72  | e-at-point))..........current-pr | 
| c420 |  65 66 69 78 2d 61 72 67 29 29 0a 20 20 28 69 66    20 63 75 72 72 65 6e 74 2d 70 72 65 66 69 78 2d  | efix-arg))...(if.current-prefix- | 
| c440 |  61 72 67 0a 20 20 20 20 20 20 28 63 61 6c 69 62    72 65 64 62 2d 6f 70 65 6e 2d 77 69 74 68 2d 64  | arg.......(calibredb-open-with-d | 
| c460 |  65 66 61 75 6c 74 2d 74 6f 6f 6c 20 28 66 69 6c    65 2d 6e 61 6d 65 2d 64 69 72 65 63 74 6f 72 79  | efault-tool.(file-name-directory | 
| c480 |  20 28 63 61 6c 69 62 72 65 64 62 2d 67 65 74 2d    66 69 6c 65 2d 70 61 74 68 20 63 61 6e 64 69 64  | .(calibredb-get-file-path.candid | 
| c4a0 |  61 74 65 20 74 29 20 29 29 0a 20 20 20 20 28 6c    65 74 20 28 28 66 69 6c 65 20 28 63 61 6c 69 62  | ate.t).)).....(let.((file.(calib | 
| c4c0 |  72 65 64 62 2d 67 65 74 61 74 74 72 20 63 61 6e    64 69 64 61 74 65 20 3a 66 69 6c 65 2d 70 61 74  | redb-getattr.candidate.:file-pat | 
| c4e0 |  68 29 29 29 0a 20 20 20 20 20 20 28 69 66 20 28    66 69 6c 65 2d 64 69 72 65 63 74 6f 72 79 2d 70  | h))).......(if.(file-directory-p | 
| c500 |  20 66 69 6c 65 29 0a 20 20 20 20 20 20 20 20 20    20 28 64 69 72 65 64 20 66 69 6c 65 29 0a 20 20  | .file)...........(dired.file)... | 
| c520 |  20 20 20 20 20 20 28 64 69 72 65 64 20 28 66 69    6c 65 2d 6e 61 6d 65 2d 64 69 72 65 63 74 6f 72  | ......(dired.(file-name-director | 
| c540 |  79 20 66 69 6c 65 29 29 0a 20 20 20 20 20 20 20    20 28 64 69 72 65 64 2d 67 6f 74 6f 2d 66 69 6c  | y.file)).........(dired-goto-fil | 
| c560 |  65 20 66 69 6c 65 29 29 29 29 29 0a 0a 0a 28 64    65 66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d 64  | e.file)))))...(defun.calibredb-d | 
| c580 |  69 72 65 64 2d 61 64 64 20 28 29 0a 20 20 22 41    64 64 20 6d 61 72 6b 65 64 20 66 69 6c 65 73 20  | ired-add.()..."Add.marked.files. | 
| c5a0 |  69 6e 20 64 69 72 65 64 20 74 6f 20 63 75 72 72    65 6e 74 20 63 61 6c 69 62 72 65 20 6c 69 62 72  | in.dired.to.current.calibre.libr | 
| c5c0 |  61 72 79 2e 22 0a 20 20 28 69 6e 74 65 72 61 63    74 69 76 65 29 0a 20 20 28 69 66 20 28 64 65 72  | ary."...(interactive)...(if.(der | 
| c5e0 |  69 76 65 64 2d 6d 6f 64 65 2d 70 20 27 64 69 72    65 64 2d 6d 6f 64 65 29 0a 20 20 20 20 20 20 28  | ived-mode-p.'dired-mode).......( | 
| c600 |  63 61 6c 69 62 72 65 64 62 2d 64 69 72 65 64 2d    61 64 64 2d 70 72 6f 63 65 73 73 20 28 64 69 72  | calibredb-dired-add-process.(dir | 
| c620 |  65 64 2d 67 65 74 2d 6d 61 72 6b 65 64 2d 66 69    6c 65 73 29 29 29 29 0a 0a 28 64 65 66 75 6e 20  | ed-get-marked-files))))..(defun. | 
| c640 |  63 61 6c 69 62 72 65 64 62 2d 64 69 72 65 64 2d    61 64 64 2d 70 72 6f 63 65 73 73 20 28 66 69 6c  | calibredb-dired-add-process.(fil | 
| c660 |  65 73 29 0a 20 20 22 54 68 65 20 70 72 6f 63 65    73 73 20 6f 66 20 61 64 64 69 6e 67 20 6d 61 72  | es)..."The.process.of.adding.mar | 
| c680 |  6b 65 64 20 46 49 4c 45 53 20 69 6e 20 64 69 72    65 64 20 74 6f 20 63 75 72 72 65 6e 74 20 63 61  | ked.FILES.in.dired.to.current.ca | 
| c6a0 |  6c 69 62 72 65 0a 6c 69 62 72 61 72 79 2e 22 0a    20 20 28 6c 65 74 20 28 28 66 69 6c 65 73 20 28  | libre.library."...(let.((files.( | 
| c6c0 |  6d 61 70 63 6f 6e 63 61 74 0a 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 28 6c 61 6d 62 64  | mapconcat.................(lambd | 
| c6e0 |  61 20 28 66 69 6c 65 29 0a 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 28 73 68 65 6c  | a.(file)...................(shel | 
| c700 |  6c 2d 71 75 6f 74 65 2d 61 72 67 75 6d 65 6e 74    20 28 65 78 70 61 6e 64 2d 66 69 6c 65 2d 6e 61  | l-quote-argument.(expand-file-na | 
| c720 |  6d 65 20 66 69 6c 65 29 29 29 0a 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 66 69 6c 65 73  | me.file))).................files | 
| c740 |  20 22 20 22 29 29 0a 20 20 20 20 20 20 20 20 28    62 75 66 66 65 72 20 28 63 75 72 72 65 6e 74 2d  | .".")).........(buffer.(current- | 
| c760 |  62 75 66 66 65 72 29 29 29 0a 20 20 20 20 28 73    65 74 2d 70 72 6f 63 65 73 73 2d 73 65 6e 74 69  | buffer))).....(set-process-senti | 
| c780 |  6e 65 6c 0a 20 20 20 20 20 28 63 61 6c 69 62 72    65 64 62 2d 70 72 6f 63 65 73 73 20 3a 63 6f 6d  | nel......(calibredb-process.:com | 
| c7a0 |  6d 61 6e 64 20 22 61 64 64 22 0a 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | mand."add"...................... | 
| c7c0 |  20 20 20 3a 69 6e 70 75 74 20 66 69 6c 65 73 0a    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | ...:input.files................. | 
| c7e0 |  20 20 20 20 20 20 20 20 3a 6c 69 62 72 61 72 79    20 28 69 66 20 63 61 6c 69 62 72 65 64 62 2d 61  | ........:library.(if.calibredb-a | 
| c800 |  64 64 2d 64 75 70 6c 69 63 61 74 65 0a 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | dd-duplicate.................... | 
| c820 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 28 66 6f 72 6d 61 74 20 22 2d 2d 6c 69 62  | ..................(format."--lib | 
| c840 |  72 61 72 79 2d 70 61 74 68 20 25 73 20 2d 64 22    20 28 63 61 6c 69 62 72 65 64 62 2d 72 6f 6f 74  | rary-path.%s.-d".(calibredb-root | 
| c860 |  2d 64 69 72 2d 71 75 6f 74 65 29 29 0a 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | -dir-quote)).................... | 
| c880 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    28 66 6f 72 6d 61 74 20 22 2d 2d 6c 69 62 72 61  | ................(format."--libra | 
| c8a0 |  72 79 2d 70 61 74 68 20 25 73 22 20 28 63 61 6c    69 62 72 65 64 62 2d 72 6f 6f 74 2d 64 69 72 2d  | ry-path.%s".(calibredb-root-dir- | 
| c8c0 |  71 75 6f 74 65 29 29 29 29 0a 20 20 20 20 20 28    6c 61 6d 62 64 61 20 28 70 20 65 29 0a 20 20 20  | quote))))......(lambda.(p.e).... | 
| c8e0 |  20 20 20 20 28 77 68 65 6e 20 28 3d 20 30 20 28    70 72 6f 63 65 73 73 2d 65 78 69 74 2d 73 74 61  | ....(when.(=.0.(process-exit-sta | 
| c900 |  74 75 73 20 70 29 29 0a 20 20 20 20 20 20 20 20    20 28 63 61 6c 69 62 72 65 64 62 2d 63 61 6e 64  | tus.p))..........(calibredb-cand | 
| c920 |  69 64 61 74 65 73 29 0a 20 20 20 20 20 20 20 20    20 28 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72  | idates)..........(calibredb-sear | 
| c940 |  63 68 2d 63 6c 65 61 72 2d 66 69 6c 74 65 72 29    0a 20 20 20 20 20 20 20 20 20 28 77 69 74 68 2d  | ch-clear-filter)..........(with- | 
| c960 |  63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 20 62    75 66 66 65 72 0a 20 20 20 20 20 20 20 20 20 20  | current-buffer.buffer........... | 
| c980 |  20 20 20 28 64 69 72 65 64 2d 64 6f 2d 64 65 6c    65 74 65 29 29 29 29 29 29 29 0a 0a 28 70 72 6f  | ...(dired-do-delete)))))))..(pro | 
| c9a0 |  76 69 64 65 20 27 63 61 6c 69 62 72 65 64 62 2d    64 69 72 65 64 29 0a 0a 3b 3b 3b 20 63 61 6c 69  | vide.'calibredb-dired)..;;;.cali | 
| c9c0 |  62 72 65 64 62 2d 64 69 72 65 64 2e 65 6c 20 65    6e 64 73 20 68 65 72 65 0a 00 00 00 00 00 00 00  | bredb-dired.el.ends.here........ | 
| c9e0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| ca00 |  63 61 6c 69 62 72 65 64 62 2d 32 30 32 35 30 37    30 35 2e 32 32 35 2f 63 61 6c 69 62 72 65 64 62  | calibredb-20250705.225/calibredb | 
| ca20 |  2d 66 61 63 65 73 2e 65 6c 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | -faces.el....................... | 
| ca40 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| ca60 |  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 | 
| ca80 |  30 30 31 35 31 37 37 00 30 30 30 30 30 30 30 30    30 30 30 00 30 31 36 31 36 30 00 20 30 00 00 00  | 0015177.00000000000.016160..0... | 
| caa0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| cac0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| cae0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| cb00 |  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................... | 
| cb20 |  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................... | 
| cb40 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| cb60 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| cb80 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| cba0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| cbc0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| cbe0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| cc00 |  3b 3b 3b 20 63 61 6c 69 62 72 65 64 62 2d 66 61    63 65 73 2e 65 6c 20 2d 2d 2d 20 46 61 63 65 73  | ;;;.calibredb-faces.el.---.Faces | 
| cc20 |  20 66 6f 72 20 63 61 6c 69 62 72 65 64 62 20 2d    2a 2d 20 6c 65 78 69 63 61 6c 2d 62 69 6e 64 69  | .for.calibredb.-*-.lexical-bindi | 
| cc40 |  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 29 20 32 30 32  | ng:.t;.-*-..;;.Copyright.(C).202 | 
| cc60 |  30 20 44 61 6d 6f 6e 20 43 68 61 6e 0a 0a 3b 3b    20 41 75 74 68 6f 72 3a 20 44 61 6d 6f 6e 20 43  | 0.Damon.Chan..;;.Author:.Damon.C | 
| cc80 |  68 61 6e 20 3c 65 6c 65 63 6d 69 6e 67 40 67 6d    61 69 6c 2e 63 6f 6d 3e 0a 3b 3b 20 55 52 4c 3a  | han.<elecming@gmail.com>.;;.URL: | 
| cca0 |  20 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e    63 6f 6d 2f 63 68 65 6e 79 61 6e 6d 69 6e 67 2f  | .https://github.com/chenyanming/ | 
| ccc0 |  63 61 6c 69 62 72 65 64 62 2e 65 6c 0a 3b 3b 20    4b 65 79 77 6f 72 64 73 3a 20 74 6f 6f 6c 73 0a  | calibredb.el.;;.Keywords:.tools. | 
| cce0 |  0a 3b 3b 20 54 68 69 73 20 66 69 6c 65 20 69 73    20 4e 4f 54 20 70 61 72 74 20 6f 66 20 47 4e 55  | .;;.This.file.is.NOT.part.of.GNU | 
| cd00 |  20 45 6d 61 63 73 2e 0a 0a 3b 3b 20 54 68 69 73    20 70 72 6f 67 72 61 6d 20 69 73 20 66 72 65 65  | .Emacs...;;.This.program.is.free | 
| cd20 |  20 73 6f 66 74 77 61 72 65 3b 20 79 6f 75 20 63    61 6e 20 72 65 64 69 73 74 72 69 62 75 74 65 20  | .software;.you.can.redistribute. | 
| cd40 |  69 74 20 61 6e 64 2f 6f 72 20 6d 6f 64 69 66 79    0a 3b 3b 20 69 74 20 75 6e 64 65 72 20 74 68 65  | it.and/or.modify.;;.it.under.the | 
| cd60 |  20 74 65 72 6d 73 20 6f 66 20 74 68 65 20 47 4e    55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63  | .terms.of.the.GNU.General.Public | 
| cd80 |  20 4c 69 63 65 6e 73 65 20 61 73 20 70 75 62 6c    69 73 68 65 64 20 62 79 0a 3b 3b 20 74 68 65 20  | .License.as.published.by.;;.the. | 
| cda0 |  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 65 69 74 68 65 72  | Free.Software.Foundation,.either | 
| cdc0 |  20 76 65 72 73 69 6f 6e 20 33 20 6f 66 20 74 68    65 20 4c 69 63 65 6e 73 65 2c 20 6f 72 0a 3b 3b  | .version.3.of.the.License,.or.;; | 
| cde0 |  20 28 61 74 20 79 6f 75 72 20 6f 70 74 69 6f 6e    29 20 61 6e 79 20 6c 61 74 65 72 20 76 65 72 73  | .(at.your.option).any.later.vers | 
| ce00 |  69 6f 6e 2e 0a 0a 3b 3b 20 54 68 69 73 20 70 72    6f 67 72 61 6d 20 69 73 20 64 69 73 74 72 69 62  | ion...;;.This.program.is.distrib | 
| ce20 |  75 74 65 64 20 69 6e 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  | uted.in.the.hope.that.it.will.be | 
| ce40 |  20 75 73 65 66 75 6c 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  | .useful,.;;.but.WITHOUT.ANY.WARR | 
| ce60 |  41 4e 54 59 3b 20 77 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  | ANTY;.without.even.the.implied.w | 
| ce80 |  61 72 72 61 6e 74 79 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  | arranty.of.;;.MERCHANTABILITY.or | 
| cea0 |  20 46 49 54 4e 45 53 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  | .FITNESS.FOR.A.PARTICULAR.PURPOS | 
| cec0 |  45 2e 20 20 53 65 65 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  | E...See.the.;;.GNU.General.Publi | 
| cee0 |  63 20 4c 69 63 65 6e 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  | c.License.for.more.details...;;. | 
| cf00 |  59 6f 75 20 73 68 6f 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  | You.should.have.received.a.copy. | 
| cf20 |  6f 66 20 74 68 65 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 73  | of.the.GNU.General.Public.Licens | 
| cf40 |  65 0a 3b 3b 20 61 6c 6f 6e 67 20 77 69 74 68 20    74 68 69 73 20 70 72 6f 67 72 61 6d 2e 20 20 49  | e.;;.along.with.this.program...I | 
| cf60 |  66 20 6e 6f 74 2c 20 73 65 65 20 3c 68 74 74 70    73 3a 2f 2f 77 77 77 2e 67 6e 75 2e 6f 72 67 2f  | f.not,.see.<https://www.gnu.org/ | 
| cf80 |  6c 69 63 65 6e 73 65 73 2f 3e 2e 0a 0a 3b 3b 3b    20 43 6f 6d 6d 65 6e 74 61 72 79 3a 0a 0a 3b 3b  | licenses/>...;;;.Commentary:..;; | 
| cfa0 |  3b 20 43 6f 64 65 3a 0a 0a 28 64 65 66 66 61 63    65 20 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72  | ;.Code:..(defface.calibredb-sear | 
| cfc0 |  63 68 2d 68 65 61 64 65 72 2d 68 69 67 68 6c 69    67 68 74 2d 66 61 63 65 0a 20 20 27 28 28 74 20  | ch-header-highlight-face...'((t. | 
| cfe0 |  3a 69 6e 68 65 72 69 74 20 72 65 67 69 6f 6e 20    3a 77 65 69 67 68 74 20 62 6f 6c 64 20 3a 75 6e  | :inherit.region.:weight.bold.:un | 
| d000 |  64 65 72 6c 69 6e 65 20 74 29 29 0a 20 20 22 46    61 63 65 20 66 6f 72 20 74 68 65 20 68 65 61 64  | derline.t))..."Face.for.the.head | 
| d020 |  65 72 20 61 74 20 70 6f 69 6e 74 2e 22 0a 20 20    3a 67 72 6f 75 70 20 27 63 61 6c 69 62 72 65 64  | er.at.point."...:group.'calibred | 
| d040 |  62 2d 66 61 63 65 73 29 0a 0a 28 64 65 66 66 61    63 65 20 63 61 6c 69 62 72 65 64 62 2d 69 64 2d  | b-faces)..(defface.calibredb-id- | 
| d060 |  66 61 63 65 0a 20 20 27 28 28 28 28 63 6c 61 73    73 20 63 6f 6c 6f 72 29 20 28 62 61 63 6b 67 72  | face...'((((class.color).(backgr | 
| d080 |  6f 75 6e 64 20 6c 69 67 68 74 29 29 0a 20 20 20    20 20 3a 66 6f 72 65 67 72 6f 75 6e 64 20 22 23  | ound.light))......:foreground."# | 
| d0a0 |  33 42 36 45 41 38 22 29 0a 20 20 20 20 28 28 28    63 6c 61 73 73 20 63 6f 6c 6f 72 29 20 28 62 61  | 3B6EA8").....(((class.color).(ba | 
| d0c0 |  63 6b 67 72 6f 75 6e 64 20 64 61 72 6b 29 29 0a    20 20 20 20 20 3a 66 6f 72 65 67 72 6f 75 6e 64  | ckground.dark))......:foreground | 
| d0e0 |  20 22 23 38 31 41 31 43 31 22 29 0a 20 20 20 20    28 74 20 3a 69 6e 68 65 72 69 74 20 64 65 66 61  | ."#81A1C1").....(t.:inherit.defa | 
| d100 |  75 6c 74 29 29 0a 20 20 22 46 61 63 65 20 75 73    65 64 20 66 6f 72 20 69 64 2e 22 0a 20 20 3a 67  | ult))..."Face.used.for.id."...:g | 
| d120 |  72 6f 75 70 20 27 63 61 6c 69 62 72 65 64 62 2d    66 61 63 65 73 29 0a 0a 28 64 65 66 66 61 63 65  | roup.'calibredb-faces)..(defface | 
| d140 |  20 63 61 6c 69 62 72 65 64 62 2d 74 69 74 6c 65    2d 66 61 63 65 20 27 28 28 74 20 3a 69 6e 68 65  | .calibredb-title-face.'((t.:inhe | 
| d160 |  72 69 74 20 64 65 66 61 75 6c 74 29 29 0a 20 20    22 46 61 63 65 20 75 73 65 64 20 66 6f 72 20 74  | rit.default))..."Face.used.for.t | 
| d180 |  69 74 6c 65 20 6f 6e 20 63 6f 6d 70 61 63 74 20    76 69 65 77 2e 22 0a 20 20 3a 67 72 6f 75 70 20  | itle.on.compact.view."...:group. | 
| d1a0 |  27 63 61 6c 69 62 72 65 64 62 2d 66 61 63 65 73    29 0a 0a 28 64 65 66 66 61 63 65 20 63 61 6c 69  | 'calibredb-faces)..(defface.cali | 
| d1c0 |  62 72 65 64 62 2d 74 69 74 6c 65 2d 64 65 74 61    69 6c 65 64 2d 76 69 65 77 2d 66 61 63 65 0a 20  | bredb-title-detailed-view-face.. | 
| d1e0 |  20 27 28 28 28 28 63 6c 61 73 73 20 63 6f 6c 6f    72 29 20 28 62 61 63 6b 67 72 6f 75 6e 64 20 6c  | .'((((class.color).(background.l | 
| d200 |  69 67 68 74 29 29 0a 20 20 20 20 20 3a 62 61 63    6b 67 72 6f 75 6e 64 20 22 67 72 61 79 38 35 22  | ight))......:background."gray85" | 
| d220 |  29 0a 20 20 20 20 28 28 28 63 6c 61 73 73 20 63    6f 6c 6f 72 29 20 28 62 61 63 6b 67 72 6f 75 6e  | ).....(((class.color).(backgroun | 
| d240 |  64 20 64 61 72 6b 29 29 0a 20 20 20 20 20 3a 62    61 63 6b 67 72 6f 75 6e 64 20 22 67 72 61 79 32  | d.dark))......:background."gray2 | 
| d260 |  35 22 29 0a 20 20 20 20 28 74 20 3a 69 6e 68 65    72 69 74 20 63 61 6c 69 62 72 65 64 62 2d 74 69  | 5").....(t.:inherit.calibredb-ti | 
| d280 |  74 6c 65 2d 66 61 63 65 29 29 0a 20 20 22 46 61    63 65 20 75 73 65 64 20 66 6f 72 20 74 69 74 6c  | tle-face))..."Face.used.for.titl | 
| d2a0 |  65 20 6f 6e 20 64 65 74 61 69 6c 65 64 20 76 69    65 77 2e 22 0a 20 20 3a 67 72 6f 75 70 20 27 63  | e.on.detailed.view."...:group.'c | 
| d2c0 |  61 6c 69 62 72 65 64 62 2d 66 61 63 65 73 29 0a    0a 28 64 65 66 66 61 63 65 20 63 61 6c 69 62 72  | alibredb-faces)..(defface.calibr | 
| d2e0 |  65 64 62 2d 61 75 74 68 6f 72 2d 66 61 63 65 0a    20 20 27 28 28 28 28 63 6c 61 73 73 20 63 6f 6c  | edb-author-face...'((((class.col | 
| d300 |  6f 72 29 20 28 62 61 63 6b 67 72 6f 75 6e 64 20    6c 69 67 68 74 29 29 0a 20 20 20 20 20 3a 66 6f  | or).(background.light))......:fo | 
| d320 |  72 65 67 72 6f 75 6e 64 20 22 23 33 42 36 45 41    38 22 29 0a 20 20 20 20 28 28 28 63 6c 61 73 73  | reground."#3B6EA8").....(((class | 
| d340 |  20 63 6f 6c 6f 72 29 20 28 62 61 63 6b 67 72 6f    75 6e 64 20 64 61 72 6b 29 29 0a 20 20 20 20 20  | .color).(background.dark))...... | 
| d360 |  3a 66 6f 72 65 67 72 6f 75 6e 64 20 22 23 64 39    63 36 64 36 22 29 0a 20 20 20 20 28 74 20 3a 69  | :foreground."#d9c6d6").....(t.:i | 
| d380 |  6e 68 65 72 69 74 20 64 65 66 61 75 6c 74 29 29    0a 20 20 22 46 61 63 65 20 75 73 65 64 20 66 6f  | nherit.default))..."Face.used.fo | 
| d3a0 |  72 20 61 75 74 68 6f 72 2e 22 0a 20 20 3a 67 72    6f 75 70 20 27 63 61 6c 69 62 72 65 64 62 2d 66  | r.author."...:group.'calibredb-f | 
| d3c0 |  61 63 65 73 29 0a 0a 28 64 65 66 66 61 63 65 20    63 61 6c 69 62 72 65 64 62 2d 66 6f 72 6d 61 74  | aces)..(defface.calibredb-format | 
| d3e0 |  2d 66 61 63 65 0a 20 20 27 28 28 28 28 63 6c 61    73 73 20 63 6f 6c 6f 72 29 20 28 62 61 63 6b 67  | -face...'((((class.color).(backg | 
| d400 |  72 6f 75 6e 64 20 6c 69 67 68 74 29 29 0a 20 20    20 20 20 3a 66 6f 72 65 67 72 6f 75 6e 64 20 22  | round.light))......:foreground." | 
| d420 |  23 34 46 38 39 34 43 22 29 0a 20 20 20 20 28 28    28 63 6c 61 73 73 20 63 6f 6c 6f 72 29 20 28 62  | #4F894C").....(((class.color).(b | 
| d440 |  61 63 6b 67 72 6f 75 6e 64 20 64 61 72 6b 29 29    0a 20 20 20 20 20 3a 66 6f 72 65 67 72 6f 75 6e  | ackground.dark))......:foregroun | 
| d460 |  64 20 22 23 41 33 42 45 38 43 22 29 0a 20 20 20    20 28 74 20 3a 69 6e 68 65 72 69 74 20 64 65 66  | d."#A3BE8C").....(t.:inherit.def | 
| d480 |  61 75 6c 74 29 29 0a 20 20 22 46 61 63 65 20 75    73 65 64 20 66 6f 72 20 66 6f 72 6d 61 74 2e 22  | ault))..."Face.used.for.format." | 
| d4a0 |  0a 20 20 3a 67 72 6f 75 70 20 27 63 61 6c 69 62    72 65 64 62 2d 66 61 63 65 73 29 0a 0a 28 64 65  | ...:group.'calibredb-faces)..(de | 
| d4c0 |  66 66 61 63 65 20 63 61 6c 69 62 72 65 64 62 2d    63 6f 6d 6d 65 6e 74 2d 66 61 63 65 0a 20 20 27  | fface.calibredb-comment-face...' | 
| d4e0 |  28 28 28 28 63 6c 61 73 73 20 63 6f 6c 6f 72 29    20 28 62 61 63 6b 67 72 6f 75 6e 64 20 6c 69 67  | ((((class.color).(background.lig | 
| d500 |  68 74 29 29 0a 20 20 20 20 20 3a 66 6f 72 65 67    72 6f 75 6e 64 20 22 44 61 72 6b 43 79 61 6e 22  | ht))......:foreground."DarkCyan" | 
| d520 |  29 0a 20 20 20 20 28 28 28 63 6c 61 73 73 20 63    6f 6c 6f 72 29 20 28 62 61 63 6b 67 72 6f 75 6e  | ).....(((class.color).(backgroun | 
| d540 |  64 20 64 61 72 6b 29 29 0a 20 20 20 20 20 3a 66    6f 72 65 67 72 6f 75 6e 64 20 22 23 38 46 42 43  | d.dark))......:foreground."#8FBC | 
| d560 |  42 42 22 29 0a 20 20 20 20 28 74 20 3a 69 6e 68    65 72 69 74 20 64 65 66 61 75 6c 74 29 29 0a 20  | BB").....(t.:inherit.default)).. | 
| d580 |  20 22 46 61 63 65 20 75 73 65 64 20 66 6f 72 20    63 6f 6d 6d 65 6e 74 2e 22 0a 20 20 3a 67 72 6f  | ."Face.used.for.comment."...:gro | 
| d5a0 |  75 70 20 27 63 61 6c 69 62 72 65 64 62 2d 66 61    63 65 73 29 0a 0a 28 64 65 66 66 61 63 65 20 63  | up.'calibredb-faces)..(defface.c | 
| d5c0 |  61 6c 69 62 72 65 64 62 2d 74 61 67 2d 66 61 63    65 0a 20 20 27 28 28 28 28 63 6c 61 73 73 20 63  | alibredb-tag-face...'((((class.c | 
| d5e0 |  6f 6c 6f 72 29 20 28 62 61 63 6b 67 72 6f 75 6e    64 20 6c 69 67 68 74 29 29 0a 20 20 20 20 20 3a  | olor).(background.light))......: | 
| d600 |  66 6f 72 65 67 72 6f 75 6e 64 20 22 23 38 62 39    34 61 35 22 29 0a 20 20 20 20 28 28 28 63 6c 61  | foreground."#8b94a5").....(((cla | 
| d620 |  73 73 20 63 6f 6c 6f 72 29 20 28 62 61 63 6b 67    72 6f 75 6e 64 20 64 61 72 6b 29 29 0a 20 20 20  | ss.color).(background.dark)).... | 
| d640 |  20 20 3a 66 6f 72 65 67 72 6f 75 6e 64 20 22 23    45 42 43 42 38 42 22 29 0a 20 20 20 20 28 74 20  | ..:foreground."#EBCB8B").....(t. | 
| d660 |  3a 69 6e 68 65 72 69 74 20 64 65 66 61 75 6c 74    29 29 0a 20 20 22 46 61 63 65 20 75 73 65 64 20  | :inherit.default))..."Face.used. | 
| d680 |  66 6f 72 20 74 61 67 2e 22 0a 20 20 3a 67 72 6f    75 70 20 27 63 61 6c 69 62 72 65 64 62 2d 66 61  | for.tag."...:group.'calibredb-fa | 
| d6a0 |  63 65 73 29 0a 0a 28 64 65 66 66 61 63 65 20 63    61 6c 69 62 72 65 64 62 2d 69 64 73 2d 66 61 63  | ces)..(defface.calibredb-ids-fac | 
| d6c0 |  65 0a 20 20 27 28 28 28 28 63 6c 61 73 73 20 63    6f 6c 6f 72 29 20 28 62 61 63 6b 67 72 6f 75 6e  | e...'((((class.color).(backgroun | 
| d6e0 |  64 20 6c 69 67 68 74 29 29 0a 20 20 20 20 20 3a    66 6f 72 65 67 72 6f 75 6e 64 20 22 23 38 62 39  | d.light))......:foreground."#8b9 | 
| d700 |  34 61 35 22 29 0a 20 20 20 20 28 28 28 63 6c 61    73 73 20 63 6f 6c 6f 72 29 20 28 62 61 63 6b 67  | 4a5").....(((class.color).(backg | 
| d720 |  72 6f 75 6e 64 20 64 61 72 6b 29 29 0a 20 20 20    20 20 3a 66 6f 72 65 67 72 6f 75 6e 64 20 22 23  | round.dark))......:foreground."# | 
| d740 |  45 42 43 42 38 42 22 29 0a 20 20 20 20 28 74 20    3a 69 6e 68 65 72 69 74 20 64 65 66 61 75 6c 74  | EBCB8B").....(t.:inherit.default | 
| d760 |  29 29 0a 20 20 22 46 61 63 65 20 75 73 65 64 20    66 6f 72 20 69 64 73 2e 22 0a 20 20 3a 67 72 6f  | ))..."Face.used.for.ids."...:gro | 
| d780 |  75 70 20 27 63 61 6c 69 62 72 65 64 62 2d 66 61    63 65 73 29 0a 0a 28 64 65 66 66 61 63 65 20 63  | up.'calibredb-faces)..(defface.c | 
| d7a0 |  61 6c 69 62 72 65 64 62 2d 73 69 7a 65 2d 66 61    63 65 0a 20 20 27 28 28 28 28 63 6c 61 73 73 20  | alibredb-size-face...'((((class. | 
| d7c0 |  63 6f 6c 6f 72 29 20 28 62 61 63 6b 67 72 6f 75    6e 64 20 6c 69 67 68 74 29 29 0a 20 20 20 20 20  | color).(background.light))...... | 
| d7e0 |  3a 66 6f 72 65 67 72 6f 75 6e 64 20 22 23 38 62    39 34 61 35 22 29 0a 20 20 20 20 28 28 28 63 6c  | :foreground."#8b94a5").....(((cl | 
| d800 |  61 73 73 20 63 6f 6c 6f 72 29 20 28 62 61 63 6b    67 72 6f 75 6e 64 20 64 61 72 6b 29 29 0a 20 20  | ass.color).(background.dark))... | 
| d820 |  20 20 20 3a 66 6f 72 65 67 72 6f 75 6e 64 20 22    23 36 66 37 37 38 37 22 29 0a 20 20 20 20 28 74  | ...:foreground."#6f7787").....(t | 
| d840 |  20 3a 69 6e 68 65 72 69 74 20 64 65 66 61 75 6c    74 29 29 0a 20 20 22 46 61 63 65 20 75 73 65 64  | .:inherit.default))..."Face.used | 
| d860 |  20 66 6f 72 20 73 69 7a 65 2e 22 0a 20 20 3a 67    72 6f 75 70 20 27 63 61 6c 69 62 72 65 64 62 2d  | .for.size."...:group.'calibredb- | 
| d880 |  66 61 63 65 73 29 0a 0a 28 64 65 66 66 61 63 65    20 63 61 6c 69 62 72 65 64 62 2d 70 75 62 64 61  | faces)..(defface.calibredb-pubda | 
| d8a0 |  74 65 2d 66 61 63 65 20 27 28 28 74 20 3a 69 6e    68 65 72 69 74 20 64 65 66 61 75 6c 74 29 29 0a  | te-face.'((t.:inherit.default)). | 
| d8c0 |  20 20 22 46 61 63 65 20 66 6f 72 20 74 68 65 20    70 75 62 6c 69 73 68 20 64 61 74 65 2e 22 0a 20  | .."Face.for.the.publish.date.".. | 
| d8e0 |  20 3a 67 72 6f 75 70 20 27 63 61 6c 69 62 72 65    64 62 2d 66 61 63 65 73 29 0a 0a 28 64 65 66 66  | .:group.'calibredb-faces)..(deff | 
| d900 |  61 63 65 20 63 61 6c 69 62 72 65 64 62 2d 70 75    62 6c 69 73 68 65 72 2d 66 61 63 65 20 27 28 28  | ace.calibredb-publisher-face.'(( | 
| d920 |  74 20 3a 69 6e 68 65 72 69 74 20 64 65 66 61 75    6c 74 29 29 0a 20 20 22 46 61 63 65 20 66 6f 72  | t.:inherit.default))..."Face.for | 
| d940 |  20 74 68 65 20 70 75 62 6c 69 73 68 65 72 2e 22    0a 20 20 3a 67 72 6f 75 70 20 27 63 61 6c 69 62  | .the.publisher."...:group.'calib | 
| d960 |  72 65 64 62 2d 66 61 63 65 73 29 0a 0a 28 64 65    66 66 61 63 65 20 63 61 6c 69 62 72 65 64 62 2d  | redb-faces)..(defface.calibredb- | 
| d980 |  73 65 72 69 65 73 2d 66 61 63 65 20 27 28 28 74    20 3a 69 6e 68 65 72 69 74 20 64 65 66 61 75 6c  | series-face.'((t.:inherit.defaul | 
| d9a0 |  74 29 29 0a 20 20 22 46 61 63 65 20 66 6f 72 20    74 68 65 20 73 65 72 69 65 73 2e 22 0a 20 20 3a  | t))..."Face.for.the.series."...: | 
| d9c0 |  67 72 6f 75 70 20 27 63 61 6c 69 62 72 65 64 62    2d 66 61 63 65 73 29 0a 0a 28 64 65 66 66 61 63  | group.'calibredb-faces)..(deffac | 
| d9e0 |  65 20 63 61 6c 69 62 72 65 64 62 2d 6c 61 6e 67    75 61 67 65 2d 66 61 63 65 20 27 28 28 74 20 3a  | e.calibredb-language-face.'((t.: | 
| da00 |  69 6e 68 65 72 69 74 20 64 65 66 61 75 6c 74 29    29 0a 20 20 22 46 61 63 65 20 66 6f 72 20 74 68  | inherit.default))..."Face.for.th | 
| da20 |  65 20 6c 61 6e 67 75 61 67 65 2e 22 0a 20 20 3a    67 72 6f 75 70 20 27 63 61 6c 69 62 72 65 64 62  | e.language."...:group.'calibredb | 
| da40 |  2d 66 61 63 65 73 29 0a 0a 28 64 65 66 66 61 63    65 20 63 61 6c 69 62 72 65 64 62 2d 64 61 74 65  | -faces)..(defface.calibredb-date | 
| da60 |  2d 66 61 63 65 0a 20 20 27 28 28 28 28 63 6c 61    73 73 20 63 6f 6c 6f 72 29 20 28 62 61 63 6b 67  | -face...'((((class.color).(backg | 
| da80 |  72 6f 75 6e 64 20 6c 69 67 68 74 29 29 0a 20 20    20 20 20 3a 66 6f 72 65 67 72 6f 75 6e 64 20 22  | round.light))......:foreground." | 
| daa0 |  23 32 39 38 33 38 44 22 29 0a 20 20 20 20 28 28    28 63 6c 61 73 73 20 63 6f 6c 6f 72 29 20 28 62  | #29838D").....(((class.color).(b | 
| dac0 |  61 63 6b 67 72 6f 75 6e 64 20 64 61 72 6b 29 29    0a 20 20 20 20 20 3a 66 6f 72 65 67 72 6f 75 6e  | ackground.dark))......:foregroun | 
| dae0 |  64 20 22 23 38 46 42 43 42 42 22 29 0a 20 20 20    20 28 74 20 3a 69 6e 68 65 72 69 74 20 64 65 66  | d."#8FBCBB").....(t.:inherit.def | 
| db00 |  61 75 6c 74 29 29 0a 20 20 22 46 61 63 65 20 66    6f 72 20 74 68 65 20 64 61 74 65 20 28 6c 61 73  | ault))..."Face.for.the.date.(las | 
| db20 |  74 5f 6d 6f 64 69 66 69 65 64 29 2e 22 0a 20 20    3a 67 72 6f 75 70 20 27 63 61 6c 69 62 72 65 64  | t_modified)."...:group.'calibred | 
| db40 |  62 2d 66 61 63 65 73 29 0a 0a 28 64 65 66 66 61    63 65 20 63 61 6c 69 62 72 65 64 62 2d 66 69 6c  | b-faces)..(defface.calibredb-fil | 
| db60 |  65 2d 66 61 63 65 0a 20 20 27 28 28 28 28 63 6c    61 73 73 20 63 6f 6c 6f 72 29 20 28 62 61 63 6b  | e-face...'((((class.color).(back | 
| db80 |  67 72 6f 75 6e 64 20 6c 69 67 68 74 29 29 0a 20    20 20 20 20 3a 66 6f 72 65 67 72 6f 75 6e 64 20  | ground.light))......:foreground. | 
| dba0 |  22 23 32 39 38 33 38 44 22 29 0a 20 20 20 20 28    28 28 63 6c 61 73 73 20 63 6f 6c 6f 72 29 20 28  | "#29838D").....(((class.color).( | 
| dbc0 |  62 61 63 6b 67 72 6f 75 6e 64 20 64 61 72 6b 29    29 0a 20 20 20 20 20 3a 66 6f 72 65 67 72 6f 75  | background.dark))......:foregrou | 
| dbe0 |  6e 64 20 22 23 38 46 42 43 42 42 22 29 0a 20 20    20 20 28 74 20 3a 69 6e 68 65 72 69 74 20 64 65  | nd."#8FBCBB").....(t.:inherit.de | 
| dc00 |  66 61 75 6c 74 29 29 0a 20 20 22 46 61 63 65 20    66 6f 72 20 74 68 65 20 66 69 6c 65 20 70 61 74  | fault))..."Face.for.the.file.pat | 
| dc20 |  68 2e 22 0a 20 20 3a 67 72 6f 75 70 20 27 63 61    6c 69 62 72 65 64 62 2d 66 61 63 65 73 29 0a 0a  | h."...:group.'calibredb-faces).. | 
| dc40 |  28 64 65 66 66 61 63 65 20 63 61 6c 69 62 72 65    64 62 2d 6d 61 72 6b 2d 66 61 63 65 20 27 28 28  | (defface.calibredb-mark-face.'(( | 
| dc60 |  74 20 3a 69 6e 68 65 72 69 74 20 68 69 67 68 6c    69 67 68 74 29 29 0a 20 20 22 46 61 63 65 20 66  | t.:inherit.highlight))..."Face.f | 
| dc80 |  6f 72 20 74 68 65 20 6d 61 72 6b 20 63 61 6e 64    69 64 61 74 65 2e 22 0a 20 20 3a 67 72 6f 75 70  | or.the.mark.candidate."...:group | 
| dca0 |  20 27 63 61 6c 69 62 72 65 64 62 2d 66 61 63 65    73 29 0a 0a 28 64 65 66 66 61 63 65 20 63 61 6c  | .'calibredb-faces)..(defface.cal | 
| dcc0 |  69 62 72 65 64 62 2d 66 61 76 6f 72 69 74 65 2d    66 61 63 65 0a 20 20 27 28 28 28 28 63 6c 61 73  | ibredb-favorite-face...'((((clas | 
| dce0 |  73 20 63 6f 6c 6f 72 29 20 28 62 61 63 6b 67 72    6f 75 6e 64 20 6c 69 67 68 74 29 29 0a 20 20 20  | s.color).(background.light)).... | 
| dd00 |  20 20 3a 66 6f 72 65 67 72 6f 75 6e 64 20 22 62    6c 61 63 6b 22 29 0a 20 20 20 20 28 28 28 63 6c  | ..:foreground."black").....(((cl | 
| dd20 |  61 73 73 20 63 6f 6c 6f 72 29 20 28 62 61 63 6b    67 72 6f 75 6e 64 20 64 61 72 6b 29 29 0a 20 20  | ass.color).(background.dark))... | 
| dd40 |  20 20 20 3a 66 6f 72 65 67 72 6f 75 6e 64 20 22    79 65 6c 6c 6f 77 22 29 0a 20 20 20 20 28 74 20  | ...:foreground."yellow").....(t. | 
| dd60 |  3a 69 6e 68 65 72 69 74 20 64 65 66 61 75 6c 74    29 29 0a 20 20 22 46 61 63 65 20 75 73 65 64 20  | :inherit.default))..."Face.used. | 
| dd80 |  66 6f 72 20 74 69 74 6c 65 2e 22 0a 20 20 3a 67    72 6f 75 70 20 27 63 61 6c 69 62 72 65 64 62 2d  | for.title."...:group.'calibredb- | 
| dda0 |  66 61 63 65 73 29 0a 0a 28 64 65 66 66 61 63 65    20 63 61 6c 69 62 72 65 64 62 2d 68 69 67 68 6c  | faces)..(defface.calibredb-highl | 
| ddc0 |  69 67 68 74 2d 66 61 63 65 0a 20 20 27 28 28 28    28 63 6c 61 73 73 20 63 6f 6c 6f 72 29 20 28 62  | ight-face...'((((class.color).(b | 
| dde0 |  61 63 6b 67 72 6f 75 6e 64 20 6c 69 67 68 74 29    29 0a 20 20 20 20 20 3a 66 6f 72 65 67 72 6f 75  | ackground.light))......:foregrou | 
| de00 |  6e 64 20 22 4d 65 64 69 75 6d 53 6c 61 74 65 42    6c 75 65 22 0a 20 20 20 20 20 3a 77 65 69 67 68  | nd."MediumSlateBlue"......:weigh | 
| de20 |  74 20 62 6f 6c 64 29 0a 20 20 20 20 28 28 28 63    6c 61 73 73 20 63 6f 6c 6f 72 29 20 28 62 61 63  | t.bold).....(((class.color).(bac | 
| de40 |  6b 67 72 6f 75 6e 64 20 64 61 72 6b 29 29 0a 20    20 20 20 20 3a 66 6f 72 65 67 72 6f 75 6e 64 20  | kground.dark))......:foreground. | 
| de60 |  22 63 79 61 6e 22 0a 20 20 20 20 20 3a 77 65 69    67 68 74 20 62 6f 6c 64 29 0a 20 20 20 20 28 74  | "cyan"......:weight.bold).....(t | 
| de80 |  20 3a 69 6e 68 65 72 69 74 20 64 65 66 61 75 6c    74 29 29 0a 20 20 22 46 61 63 65 20 75 73 65 64  | .:inherit.default))..."Face.used | 
| dea0 |  20 66 6f 72 20 68 69 67 68 74 6c 69 67 68 74 2e    22 0a 20 20 3a 67 72 6f 75 70 20 27 63 61 6c 69  | .for.hightlight."...:group.'cali | 
| dec0 |  62 72 65 64 62 2d 66 61 63 65 73 29 0a 0a 28 64    65 66 66 61 63 65 20 63 61 6c 69 62 72 65 64 62  | bredb-faces)..(defface.calibredb | 
| dee0 |  2d 61 72 63 68 69 76 65 2d 66 61 63 65 0a 20 20    27 28 28 28 28 63 6c 61 73 73 20 63 6f 6c 6f 72  | -archive-face...'((((class.color | 
| df00 |  29 20 28 62 61 63 6b 67 72 6f 75 6e 64 20 6c 69    67 68 74 29 29 0a 20 20 20 20 20 3a 66 6f 72 65  | ).(background.light))......:fore | 
| df20 |  67 72 6f 75 6e 64 20 22 67 72 65 79 22 0a 20 20    20 20 20 3a 77 65 69 67 68 74 20 6c 69 67 68 74  | ground."grey"......:weight.light | 
| df40 |  29 0a 20 20 20 20 28 28 28 63 6c 61 73 73 20 63    6f 6c 6f 72 29 20 28 62 61 63 6b 67 72 6f 75 6e  | ).....(((class.color).(backgroun | 
| df60 |  64 20 64 61 72 6b 29 29 0a 20 20 20 20 20 3a 66    6f 72 65 67 72 6f 75 6e 64 20 22 64 69 6d 20 67  | d.dark))......:foreground."dim.g | 
| df80 |  72 65 79 22 0a 20 20 20 20 20 3a 77 65 69 67 68    74 20 6c 69 67 68 74 29 0a 20 20 20 20 28 74 20  | rey"......:weight.light).....(t. | 
| dfa0 |  3a 69 6e 68 65 72 69 74 20 64 65 66 61 75 6c 74    29 29 0a 20 20 22 46 61 63 65 20 75 73 65 64 20  | :inherit.default))..."Face.used. | 
| dfc0 |  66 6f 72 20 61 72 63 68 69 76 65 2e 22 0a 20 20    3a 67 72 6f 75 70 20 27 63 61 6c 69 62 72 65 64  | for.archive."...:group.'calibred | 
| dfe0 |  62 2d 66 61 63 65 73 29 0a 0a 28 64 65 66 66 61    63 65 20 63 61 6c 69 62 72 65 64 62 2d 73 65 61  | b-faces)..(defface.calibredb-sea | 
| e000 |  72 63 68 2d 68 65 61 64 65 72 2d 6c 69 62 72 61    72 79 2d 6e 61 6d 65 2d 66 61 63 65 20 27 28 28  | rch-header-library-name-face.'(( | 
| e020 |  74 20 3a 69 6e 68 65 72 69 74 20 66 6f 6e 74 2d    6c 6f 63 6b 2d 70 72 65 70 72 6f 63 65 73 73 6f  | t.:inherit.font-lock-preprocesso | 
| e040 |  72 2d 66 61 63 65 29 29 0a 20 20 22 46 61 63 65    20 75 73 65 64 20 66 6f 72 20 6c 69 62 72 61 72  | r-face))..."Face.used.for.librar | 
| e060 |  79 20 6e 61 6d 65 20 69 6e 20 2a 63 61 6c 69 62    72 65 64 62 2d 73 65 61 72 63 68 2a 20 68 65 61  | y.name.in.*calibredb-search*.hea | 
| e080 |  64 65 72 2e 22 0a 20 20 3a 67 72 6f 75 70 20 27    63 61 6c 69 62 72 65 64 62 2d 66 61 63 65 73 29  | der."...:group.'calibredb-faces) | 
| e0a0 |  0a 0a 28 64 65 66 66 61 63 65 20 63 61 6c 69 62    72 65 64 62 2d 73 65 61 72 63 68 2d 68 65 61 64  | ..(defface.calibredb-search-head | 
| e0c0 |  65 72 2d 6c 69 62 72 61 72 79 2d 70 61 74 68 2d    66 61 63 65 20 27 28 28 74 20 3a 69 6e 68 65 72  | er-library-path-face.'((t.:inher | 
| e0e0 |  69 74 20 66 6f 6e 74 2d 6c 6f 63 6b 2d 74 79 70    65 2d 66 61 63 65 29 29 0a 20 20 22 46 61 63 65  | it.font-lock-type-face))..."Face | 
| e100 |  20 75 73 65 64 20 66 6f 72 20 6c 69 62 72 61 72    79 20 70 61 74 68 20 69 6e 20 2a 63 61 6c 69 62  | .used.for.library.path.in.*calib | 
| e120 |  72 65 64 62 2d 73 65 61 72 63 68 2a 20 68 65 61    64 65 72 2e 22 0a 20 20 3a 67 72 6f 75 70 20 27  | redb-search*.header."...:group.' | 
| e140 |  63 61 6c 69 62 72 65 64 62 2d 66 61 63 65 73 29    0a 0a 28 64 65 66 66 61 63 65 20 63 61 6c 69 62  | calibredb-faces)..(defface.calib | 
| e160 |  72 65 64 62 2d 73 65 61 72 63 68 2d 68 65 61 64    65 72 2d 74 6f 74 61 6c 2d 66 61 63 65 20 27 28  | redb-search-header-total-face.'( | 
| e180 |  28 74 20 3a 69 6e 68 65 72 69 74 20 66 6f 6e 74    2d 6c 6f 63 6b 2d 77 61 72 6e 69 6e 67 2d 66 61  | (t.:inherit.font-lock-warning-fa | 
| e1a0 |  63 65 29 29 0a 20 20 22 46 61 63 65 20 75 73 65    64 20 66 6f 72 20 74 6f 74 61 6c 20 63 6f 75 6e  | ce))..."Face.used.for.total.coun | 
| e1c0 |  74 20 69 6e 20 2a 63 61 6c 69 62 72 65 64 62 2d    73 65 61 72 63 68 2a 20 68 65 61 64 65 72 2e 22  | t.in.*calibredb-search*.header." | 
| e1e0 |  0a 20 20 3a 67 72 6f 75 70 20 27 63 61 6c 69 62    72 65 64 62 2d 66 61 63 65 73 29 0a 0a 28 64 65  | ...:group.'calibredb-faces)..(de | 
| e200 |  66 66 61 63 65 20 63 61 6c 69 62 72 65 64 62 2d    73 65 61 72 63 68 2d 68 65 61 64 65 72 2d 73 6f  | fface.calibredb-search-header-so | 
| e220 |  72 74 2d 66 61 63 65 20 27 28 28 74 20 3a 69 6e    68 65 72 69 74 20 66 6f 6e 74 2d 6c 6f 63 6b 2d  | rt-face.'((t.:inherit.font-lock- | 
| e240 |  6b 65 79 77 6f 72 64 2d 66 61 63 65 29 29 0a 20    20 22 46 61 63 65 20 75 73 65 64 20 66 6f 72 20  | keyword-face))..."Face.used.for. | 
| e260 |  73 6f 72 74 20 66 69 65 6c 64 20 69 6e 20 2a 63    61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2a  | sort.field.in.*calibredb-search* | 
| e280 |  20 68 65 61 64 65 72 2e 22 0a 20 20 3a 67 72 6f    75 70 20 27 63 61 6c 69 62 72 65 64 62 2d 66 61  | .header."...:group.'calibredb-fa | 
| e2a0 |  63 65 73 29 0a 0a 28 64 65 66 66 61 63 65 20 63    61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2d  | ces)..(defface.calibredb-search- | 
| e2c0 |  68 65 61 64 65 72 2d 66 69 6c 74 65 72 2d 66 61    63 65 20 27 28 28 74 20 3a 69 6e 68 65 72 69 74  | header-filter-face.'((t.:inherit | 
| e2e0 |  20 66 6f 6e 74 2d 6c 6f 63 6b 2d 6e 65 67 61 74    69 6f 6e 2d 63 68 61 72 2d 66 61 63 65 29 29 0a  | .font-lock-negation-char-face)). | 
| e300 |  20 20 22 46 61 63 65 20 75 73 65 64 20 66 6f 72    20 66 69 6c 74 65 72 20 66 69 65 6c 64 20 69 6e  | .."Face.used.for.filter.field.in | 
| e320 |  20 2a 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72    63 68 2a 20 68 65 61 64 65 72 2e 22 0a 20 20 3a  | .*calibredb-search*.header."...: | 
| e340 |  67 72 6f 75 70 20 27 63 61 6c 69 62 72 65 64 62    2d 66 61 63 65 73 29 0a 0a 28 64 65 66 66 61 63  | group.'calibredb-faces)..(deffac | 
| e360 |  65 20 63 61 6c 69 62 72 65 64 62 2d 6d 6f 75 73    65 2d 66 61 63 65 20 27 28 28 74 20 3a 69 6e 68  | e.calibredb-mouse-face.'((t.:inh | 
| e380 |  65 72 69 74 20 6d 6f 64 65 2d 6c 69 6e 65 2d 68    69 67 68 6c 69 67 68 74 29 29 0a 20 20 22 46 61  | erit.mode-line-highlight))..."Fa | 
| e3a0 |  63 65 20 75 73 65 64 20 66 6f 72 20 2a 63 61 6c    69 62 72 65 64 62 2d 73 65 61 72 63 68 2a 20 6d  | ce.used.for.*calibredb-search*.m | 
| e3c0 |  6f 75 73 65 20 66 61 63 65 2e 22 0a 20 20 3a 67    72 6f 75 70 20 27 63 61 6c 69 62 72 65 64 62 2d  | ouse.face."...:group.'calibredb- | 
| e3e0 |  66 61 63 65 73 29 0a 0a 28 64 65 66 66 61 63 65    20 63 61 6c 69 62 72 65 64 62 2d 65 64 69 74 2d  | faces)..(defface.calibredb-edit- | 
| e400 |  61 6e 6e 6f 74 61 74 69 6f 6e 2d 68 65 61 64 65    72 2d 74 69 74 6c 65 2d 66 61 63 65 0a 20 20 27  | annotation-header-title-face...' | 
| e420 |  28 28 28 28 63 6c 61 73 73 20 63 6f 6c 6f 72 29    20 28 62 61 63 6b 67 72 6f 75 6e 64 20 6c 69 67  | ((((class.color).(background.lig | 
| e440 |  68 74 29 29 0a 20 20 20 20 20 3a 66 6f 72 65 67    72 6f 75 6e 64 20 22 23 34 46 38 39 34 43 22 29  | ht))......:foreground."#4F894C") | 
| e460 |  0a 20 20 20 20 28 28 28 63 6c 61 73 73 20 63 6f    6c 6f 72 29 20 28 62 61 63 6b 67 72 6f 75 6e 64  | .....(((class.color).(background | 
| e480 |  20 64 61 72 6b 29 29 0a 20 20 20 20 20 3a 66 6f    72 65 67 72 6f 75 6e 64 20 22 23 41 33 42 45 38  | .dark))......:foreground."#A3BE8 | 
| e4a0 |  43 22 29 0a 20 20 20 20 28 74 20 3a 69 6e 68 65    72 69 74 20 64 65 66 61 75 6c 74 29 29 0a 20 20  | C").....(t.:inherit.default))... | 
| e4c0 |  22 46 61 63 65 20 75 73 65 64 20 66 6f 72 20 2a    63 61 6c 69 62 72 65 64 62 2d 65 64 69 74 2d 61  | "Face.used.for.*calibredb-edit-a | 
| e4e0 |  6e 6e 6f 74 61 74 69 6f 6e 2a 20 68 65 61 64 65    72 20 74 69 74 6c 65 20 66 61 63 65 2e 22 0a 20  | nnotation*.header.title.face.".. | 
| e500 |  20 3a 67 72 6f 75 70 20 27 63 61 6c 69 62 72 65    64 62 2d 66 61 63 65 73 29 0a 0a 28 64 65 66 66  | .:group.'calibredb-faces)..(deff | 
| e520 |  61 63 65 20 63 61 6c 69 62 72 65 64 62 2d 63 75    72 72 65 6e 74 2d 70 61 67 65 2d 62 75 74 74 6f  | ace.calibredb-current-page-butto | 
| e540 |  6e 2d 66 61 63 65 0a 20 20 27 28 28 28 28 63 6c    61 73 73 20 63 6f 6c 6f 72 29 20 28 62 61 63 6b  | n-face...'((((class.color).(back | 
| e560 |  67 72 6f 75 6e 64 20 6c 69 67 68 74 29 29 0a 20    20 20 20 20 28 3a 77 65 69 67 68 74 20 62 6f 6c  | ground.light))......(:weight.bol | 
| e580 |  64 0a 20 20 20 20 20 20 3a 68 65 69 67 68 74 20    31 2e 31 29 29 0a 20 20 20 20 28 28 28 63 6c 61  | d.......:height.1.1)).....(((cla | 
| e5a0 |  73 73 20 63 6f 6c 6f 72 29 20 28 62 61 63 6b 67    72 6f 75 6e 64 20 64 61 72 6b 29 29 0a 20 20 20  | ss.color).(background.dark)).... | 
| e5c0 |  20 20 28 3a 77 65 69 67 68 74 20 62 6f 6c 64 0a    20 20 20 20 20 20 3a 68 65 69 67 68 74 20 31 2e  | ..(:weight.bold.......:height.1. | 
| e5e0 |  31 29 29 0a 20 20 20 20 28 74 20 28 3a 69 6e 68    65 72 69 74 20 64 65 66 61 75 6c 74 29 29 29 0a  | 1)).....(t.(:inherit.default))). | 
| e600 |  20 20 22 46 61 63 65 20 75 73 65 64 20 66 6f 72    20 63 75 72 72 65 6e 74 20 70 61 67 65 20 62 75  | .."Face.used.for.current.page.bu | 
| e620 |  74 74 6f 6e 22 0a 20 20 3a 67 72 6f 75 70 20 27    63 61 6c 69 62 72 65 64 62 2d 66 61 63 65 73 29  | tton"...:group.'calibredb-faces) | 
| e640 |  0a 0a 28 70 72 6f 76 69 64 65 20 27 63 61 6c 69    62 72 65 64 62 2d 66 61 63 65 73 29 0a 0a 3b 3b  | ..(provide.'calibredb-faces)..;; | 
| e660 |  3b 20 63 61 6c 69 62 72 65 64 62 2d 66 61 63 65    73 2e 65 6c 20 65 6e 64 73 20 68 65 72 65 0a 00  | ;.calibredb-faces.el.ends.here.. | 
| e680 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| e6a0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| e6c0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| e6e0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| e700 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| e720 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| e740 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| e760 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| e780 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| e7a0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| e7c0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| e7e0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| e800 |  63 61 6c 69 62 72 65 64 62 2d 32 30 32 35 30 37    30 35 2e 32 32 35 2f 63 61 6c 69 62 72 65 64 62  | calibredb-20250705.225/calibredb | 
| e820 |  2d 66 6f 6c 64 65 72 2e 65 6c 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | -folder.el...................... | 
| e840 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| e860 |  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 | 
| e880 |  30 30 33 30 34 31 31 00 30 30 30 30 30 30 30 30    30 30 30 00 30 31 36 33 33 36 00 20 30 00 00 00  | 0030411.00000000000.016336..0... | 
| e8a0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| e8c0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| e8e0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| e900 |  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................... | 
| e920 |  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................... | 
| e940 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| e960 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| e980 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| e9a0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| e9c0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| e9e0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| ea00 |  3b 3b 3b 20 63 61 6c 69 62 72 65 64 62 2d 66 6f    6c 64 65 72 2e 65 6c 20 2d 2d 2d 20 53 75 70 70  | ;;;.calibredb-folder.el.---.Supp | 
| ea20 |  6f 72 74 20 2e 6d 65 74 61 64 61 74 61 2e 63 61    6c 69 62 72 65 20 66 6f 6c 64 65 72 20 6d 65 74  | ort..metadata.calibre.folder.met | 
| ea40 |  61 64 61 74 61 20 2d 2a 2d 20 6c 65 78 69 63 61    6c 2d 62 69 6e 64 69 6e 67 3a 20 74 3b 20 2d 2a  | adata.-*-.lexical-binding:.t;.-* | 
| ea60 |  2d 0a 0a 3b 3b 20 43 6f 70 79 72 69 67 68 74 20    28 43 29 20 32 30 32 30 20 44 61 6d 6f 6e 20 43  | -..;;.Copyright.(C).2020.Damon.C | 
| ea80 |  68 61 6e 0a 0a 3b 3b 20 41 75 74 68 6f 72 3a 20    44 61 6d 6f 6e 20 43 68 61 6e 20 3c 65 6c 65 63  | han..;;.Author:.Damon.Chan.<elec | 
| eaa0 |  6d 69 6e 67 40 67 6d 61 69 6c 2e 63 6f 6d 3e 0a    3b 3b 20 55 52 4c 3a 20 68 74 74 70 73 3a 2f 2f  | ming@gmail.com>.;;.URL:.https:// | 
| eac0 |  67 69 74 68 75 62 2e 63 6f 6d 2f 63 68 65 6e 79    61 6e 6d 69 6e 67 2f 63 61 6c 69 62 72 65 64 62  | github.com/chenyanming/calibredb | 
| eae0 |  2e 65 6c 0a 3b 3b 20 4b 65 79 77 6f 72 64 73 3a    20 74 6f 6f 6c 73 0a 0a 3b 3b 20 54 68 69 73 20  | .el.;;.Keywords:.tools..;;.This. | 
| eb00 |  66 69 6c 65 20 69 73 20 4e 4f 54 20 70 61 72 74    20 6f 66 20 47 4e 55 20 45 6d 61 63 73 2e 0a 0a  | file.is.NOT.part.of.GNU.Emacs... | 
| eb20 |  3b 3b 20 54 68 69 73 20 70 72 6f 67 72 61 6d 20    69 73 20 66 72 65 65 20 73 6f 66 74 77 61 72 65  | ;;.This.program.is.free.software | 
| eb40 |  3b 20 79 6f 75 20 63 61 6e 20 72 65 64 69 73 74    72 69 62 75 74 65 20 69 74 20 61 6e 64 2f 6f 72  | ;.you.can.redistribute.it.and/or | 
| eb60 |  20 6d 6f 64 69 66 79 0a 3b 3b 20 69 74 20 75 6e    64 65 72 20 74 68 65 20 74 65 72 6d 73 20 6f 66  | .modify.;;.it.under.the.terms.of | 
| eb80 |  20 74 68 65 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 73 65 20  | .the.GNU.General.Public.License. | 
| eba0 |  61 73 20 70 75 62 6c 69 73 68 65 64 20 62 79 0a    3b 3b 20 74 68 65 20 46 72 65 65 20 53 6f 66 74  | as.published.by.;;.the.Free.Soft | 
| ebc0 |  77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 2c    20 65 69 74 68 65 72 20 76 65 72 73 69 6f 6e 20  | ware.Foundation,.either.version. | 
| ebe0 |  33 20 6f 66 20 74 68 65 20 4c 69 63 65 6e 73 65    2c 20 6f 72 0a 3b 3b 20 28 61 74 20 79 6f 75 72  | 3.of.the.License,.or.;;.(at.your | 
| ec00 |  20 6f 70 74 69 6f 6e 29 20 61 6e 79 20 6c 61 74    65 72 20 76 65 72 73 69 6f 6e 2e 0a 0a 3b 3b 20  | .option).any.later.version...;;. | 
| ec20 |  54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20    64 69 73 74 72 69 62 75 74 65 64 20 69 6e 20 74  | This.program.is.distributed.in.t | 
| ec40 |  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 2c 0a  | he.hope.that.it.will.be.useful,. | 
| ec60 |  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 69 74  | ;;.but.WITHOUT.ANY.WARRANTY;.wit | 
| ec80 |  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 20 6f  | hout.even.the.implied.warranty.o | 
| eca0 |  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 53 20  | f.;;.MERCHANTABILITY.or.FITNESS. | 
| ecc0 |  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 20 74  | FOR.A.PARTICULAR.PURPOSE...See.t | 
| ece0 |  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 73 65  | he.;;.GNU.General.Public.License | 
| ed00 |  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 75 6c  | .for.more.details...;;.You.shoul | 
| ed20 |  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 47 4e  | d.have.received.a.copy.of.the.GN | 
| ed40 |  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 6f 6e  | U.General.Public.License.;;.alon | 
| ed60 |  67 20 77 69 74 68 20 74 68 69 73 20 70 72 6f 67    72 61 6d 2e 20 20 49 66 20 6e 6f 74 2c 20 73 65  | g.with.this.program...If.not,.se | 
| ed80 |  65 20 3c 68 74 74 70 73 3a 2f 2f 77 77 77 2e 67    6e 75 2e 6f 72 67 2f 6c 69 63 65 6e 73 65 73 2f  | e.<https://www.gnu.org/licenses/ | 
| eda0 |  3e 2e 0a 0a 3b 3b 3b 20 43 6f 6d 6d 65 6e 74 61    72 79 3a 0a 0a 3b 3b 3b 20 43 6f 64 65 3a 0a 0a  | >...;;;.Commentary:..;;;.Code:.. | 
| edc0 |  28 72 65 71 75 69 72 65 20 27 63 61 6c 69 62 72    65 64 62 2d 63 6f 72 65 29 0a 0a 28 64 65 66 75  | (require.'calibredb-core)..(defu | 
| ede0 |  6e 20 63 61 6c 69 62 72 65 64 62 2d 66 6f 6c 64    65 72 2d 70 61 72 73 65 2d 66 69 6c 74 65 72 20  | n.calibredb-folder-parse-filter. | 
| ee00 |  28 66 69 6c 74 65 72 29 0a 20 20 22 50 61 72 73    65 20 74 68 65 20 65 6c 65 6d 65 6e 74 73 20 6f  | (filter)..."Parse.the.elements.o | 
| ee20 |  66 20 61 20 73 65 61 72 63 68 20 46 49 4c 54 45    52 20 69 6e 74 6f 20 61 20 70 6c 69 73 74 2e 22  | f.a.search.FILTER.into.a.plist." | 
| ee40 |  0a 20 20 28 6c 65 74 20 28 28 6d 61 74 63 68 65    73 20 28 29 29 29 0a 20 20 20 20 28 63 6c 2d 6c  | ...(let.((matches.())).....(cl-l | 
| ee60 |  6f 6f 70 20 66 6f 72 20 65 6c 65 6d 65 6e 74 20    69 6e 20 28 73 70 6c 69 74 2d 73 74 72 69 6e 67  | oop.for.element.in.(split-string | 
| ee80 |  20 66 69 6c 74 65 72 29 20 63 6f 6c 6c 65 63 74    0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 77  | .filter).collect..............(w | 
| eea0 |  68 65 6e 20 28 63 61 6c 69 62 72 65 64 62 2d 66    6f 6c 64 65 72 2d 76 61 6c 69 64 2d 72 65 67 65  | hen.(calibredb-folder-valid-rege | 
| eec0 |  78 70 2d 70 20 65 6c 65 6d 65 6e 74 29 0a 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 75  | xp-p.element)................(pu | 
| eee0 |  73 68 20 65 6c 65 6d 65 6e 74 20 6d 61 74 63 68    65 73 29 29 29 0a 20 20 20 20 60 28 2c 40 28 69  | sh.element.matches))).....`(,@(i | 
| ef00 |  66 20 6d 61 74 63 68 65 73 0a 20 20 20 20 20 20    20 20 20 20 20 20 28 6c 69 73 74 20 3a 6d 61 74  | f.matches.............(list.:mat | 
| ef20 |  63 68 65 73 20 6d 61 74 63 68 65 73 29 29 29 29    29 0a 0a 28 64 65 66 75 6e 20 63 61 6c 69 62 72  | ches.matches)))))..(defun.calibr | 
| ef40 |  65 64 62 2d 66 6f 6c 64 65 72 2d 76 61 6c 69 64    2d 72 65 67 65 78 70 2d 70 20 28 72 65 67 65 78  | edb-folder-valid-regexp-p.(regex | 
| ef60 |  70 29 0a 20 20 22 52 65 74 75 72 6e 20 74 20 69    66 20 52 45 47 45 58 50 20 69 73 20 61 20 76 61  | p)..."Return.t.if.REGEXP.is.a.va | 
| ef80 |  6c 69 64 20 52 45 47 45 58 50 2e 22 0a 20 20 28    69 67 6e 6f 72 65 2d 65 72 72 6f 72 73 0a 20 20  | lid.REGEXP."...(ignore-errors... | 
| efa0 |  20 20 28 70 72 6f 67 31 20 74 0a 20 20 20 20 20    20 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 2d 70  | ..(prog1.t.......(string-match-p | 
| efc0 |  20 72 65 67 65 78 70 20 22 22 29 29 29 29 0a 0a    0a 28 64 65 66 75 6e 20 63 61 6c 69 62 72 65 64  | .regexp.""))))...(defun.calibred | 
| efe0 |  62 2d 66 6f 6c 64 65 72 2d 63 61 6e 64 69 64 61    74 65 73 2d 66 69 6c 74 65 72 20 28 66 69 6c 74  | b-folder-candidates-filter.(filt | 
| f000 |  65 72 20 65 6e 74 72 69 65 73 29 0a 20 20 22 47    65 6e 65 72 61 74 65 20 65 62 6f 6f 6b 20 63 61  | er.entries)..."Generate.ebook.ca | 
| f020 |  6e 64 69 64 61 74 65 20 61 6c 69 73 74 2e 0a 41    52 47 55 4d 45 4e 54 20 46 49 4c 54 45 52 20 69  | ndidate.alist..ARGUMENT.FILTER.i | 
| f040 |  73 20 74 68 65 20 66 69 6c 74 65 72 20 73 74 72    69 6e 67 2e 0a 41 52 47 55 4d 45 4e 54 20 45 4e  | s.the.filter.string..ARGUMENT.EN | 
| f060 |  54 52 49 45 53 20 69 73 20 74 68 65 20 6c 69 73    74 20 6f 66 20 65 6e 74 72 69 65 73 2e 22 0a 20  | TRIES.is.the.list.of.entries.".. | 
| f080 |  20 28 6c 65 74 20 28 28 6d 61 74 63 68 65 73 20    28 70 6c 69 73 74 2d 67 65 74 20 66 69 6c 74 65  | .(let.((matches.(plist-get.filte | 
| f0a0 |  72 20 3a 6d 61 74 63 68 65 73 29 29 0a 20 20 20    20 20 20 20 20 72 65 73 2d 6c 69 73 74 29 0a 20  | r.:matches)).........res-list).. | 
| f0c0 |  20 20 20 28 63 6f 6e 64 20 28 63 61 6c 69 62 72    65 64 62 2d 74 61 67 2d 66 69 6c 74 65 72 2d 70  | ...(cond.(calibredb-tag-filter-p | 
| f0e0 |  0a 20 20 20 20 20 20 20 20 20 20 20 28 63 6c 2d    6c 6f 6f 70 20 66 6f 72 20 6c 69 6e 65 20 69 6e  | ............(cl-loop.for.line.in | 
| f100 |  20 65 6e 74 72 69 65 73 20 64 6f 0a 20 20 20 20    20 20 20 20 20 20 20 20 20 28 69 66 20 28 65 76  | .entries.do..............(if.(ev | 
| f120 |  61 6c 20 60 28 61 6e 64 20 2c 40 28 63 6c 2d 6c    6f 6f 70 20 66 6f 72 20 72 65 67 65 78 20 69 6e  | al.`(and.,@(cl-loop.for.regex.in | 
| f140 |  20 6d 61 74 63 68 65 73 20 63 6f 6c 6c 65 63 74    0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | .matches.collect................ | 
| f160 |  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 75 6e 6c 65 73 73  | .........................(unless | 
| f180 |  20 28 65 71 75 61 6c 20 28 63 61 6c 69 62 72 65    64 62 2d 74 61 67 2d 77 69 64 74 68 29 20 30 29  | .(equal.(calibredb-tag-width).0) | 
| f1a0 |  20 28 73 2d 63 6f 6e 74 61 69 6e 73 3f 20 72 65    67 65 78 20 28 63 61 6c 69 62 72 65 64 62 2d 67  | .(s-contains?.regex.(calibredb-g | 
| f1c0 |  65 74 61 74 74 72 20 28 6c 69 73 74 20 6c 69 6e    65 29 20 3a 74 61 67 29 29 29 29 29 29 0a 20 20  | etattr.(list.line).:tag))))))... | 
| f1e0 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28    70 75 73 68 20 6c 69 6e 65 20 72 65 73 2d 6c 69  | ...............(push.line.res-li | 
| f200 |  73 74 29 29 29 29 0a 20 20 20 20 20 20 20 20 20    20 28 63 61 6c 69 62 72 65 64 62 2d 66 6f 72 6d  | st))))...........(calibredb-form | 
| f220 |  61 74 2d 66 69 6c 74 65 72 2d 70 0a 20 20 20 20    20 20 20 20 20 20 20 28 63 6c 2d 6c 6f 6f 70 20  | at-filter-p............(cl-loop. | 
| f240 |  66 6f 72 20 6c 69 6e 65 20 69 6e 20 65 6e 74 72    69 65 73 20 64 6f 0a 20 20 20 20 20 20 20 20 20  | for.line.in.entries.do.......... | 
| f260 |  20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28    65 76 61 6c 20 60 28 61 6e 64 20 2c 40 28 63 6c  | ...........(if.(eval.`(and.,@(cl | 
| f280 |  2d 6c 6f 6f 70 20 66 6f 72 20 72 65 67 65 78 20    69 6e 20 6d 61 74 63 68 65 73 20 63 6f 6c 6c 65  | -loop.for.regex.in.matches.colle | 
| f2a0 |  63 74 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 20 20  | ct.............................. | 
| f2c0 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 28 75 6e 6c 65 73 73 20 28 65 71 75 61 6c  | ..................(unless.(equal | 
| f2e0 |  20 28 63 61 6c 69 62 72 65 64 62 2d 66 6f 72 6d    61 74 2d 77 69 64 74 68 29 20 30 29 20 28 73 2d  | .(calibredb-format-width).0).(s- | 
| f300 |  63 6f 6e 74 61 69 6e 73 3f 20 72 65 67 65 78 20    28 63 61 6c 69 62 72 65 64 62 2d 67 65 74 61 74  | contains?.regex.(calibredb-getat | 
| f320 |  74 72 20 28 6c 69 73 74 20 6c 69 6e 65 29 20 3a    62 6f 6f 6b 2d 66 6f 72 6d 61 74 29 29 29 29 29  | tr.(list.line).:book-format))))) | 
| f340 |  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 28 70 75 73 68 20  | ).........................(push. | 
| f360 |  6c 69 6e 65 20 72 65 73 2d 6c 69 73 74 29 29 29    29 0a 20 20 20 20 20 20 20 20 20 20 28 63 61 6c  | line.res-list))))...........(cal | 
| f380 |  69 62 72 65 64 62 2d 61 75 74 68 6f 72 2d 66 69    6c 74 65 72 2d 70 0a 20 20 20 20 20 20 20 20 20  | ibredb-author-filter-p.......... | 
| f3a0 |  20 20 28 63 6c 2d 6c 6f 6f 70 20 66 6f 72 20 6c    69 6e 65 20 69 6e 20 65 6e 74 72 69 65 73 20 64  | ..(cl-loop.for.line.in.entries.d | 
| f3c0 |  6f 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 28 69 66 20 28 65 76 61 6c 20  | o.....................(if.(eval. | 
| f3e0 |  60 28 61 6e 64 20 2c 40 28 63 6c 2d 6c 6f 6f 70    20 66 6f 72 20 72 65 67 65 78 20 69 6e 20 6d 61  | `(and.,@(cl-loop.for.regex.in.ma | 
| f400 |  74 63 68 65 73 20 63 6f 6c 6c 65 63 74 0a 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | tches.collect................... | 
| f420 |  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 75 6e  | .............................(un | 
| f440 |  6c 65 73 73 20 28 65 71 75 61 6c 20 28 63 61 6c    69 62 72 65 64 62 2d 61 75 74 68 6f 72 2d 77 69  | less.(equal.(calibredb-author-wi | 
| f460 |  64 74 68 29 20 30 29 20 28 73 2d 63 6f 6e 74 61    69 6e 73 3f 20 72 65 67 65 78 20 28 63 61 6c 69  | dth).0).(s-contains?.regex.(cali | 
| f480 |  62 72 65 64 62 2d 67 65 74 61 74 74 72 20 28 6c    69 73 74 20 6c 69 6e 65 29 20 3a 61 75 74 68 6f  | bredb-getattr.(list.line).:autho | 
| f4a0 |  72 2d 73 6f 72 74 29 29 29 29 29 29 0a 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | r-sort)))))).................... | 
| f4c0 |  20 20 20 20 20 28 70 75 73 68 20 6c 69 6e 65 20    72 65 73 2d 6c 69 73 74 29 29 29 29 0a 20 20 20  | .....(push.line.res-list)))).... | 
| f4e0 |  20 20 20 20 20 20 20 28 63 61 6c 69 62 72 65 64    62 2d 64 61 74 65 2d 66 69 6c 74 65 72 2d 70 0a  | .......(calibredb-date-filter-p. | 
| f500 |  20 20 20 20 20 20 20 20 20 20 20 28 63 6c 2d 6c    6f 6f 70 20 66 6f 72 20 6c 69 6e 65 20 69 6e 20  | ...........(cl-loop.for.line.in. | 
| f520 |  65 6e 74 72 69 65 73 20 64 6f 0a 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28  | entries.do.....................( | 
| f540 |  69 66 20 28 65 76 61 6c 20 60 28 61 6e 64 20 2c    40 28 63 6c 2d 6c 6f 6f 70 20 66 6f 72 20 72 65  | if.(eval.`(and.,@(cl-loop.for.re | 
| f560 |  67 65 78 20 69 6e 20 6d 61 74 63 68 65 73 20 63    6f 6c 6c 65 63 74 0a 20 20 20 20 20 20 20 20 20  | gex.in.matches.collect.......... | 
| f580 |  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  | ................................ | 
| f5a0 |  20 20 20 20 20 20 28 75 6e 6c 65 73 73 20 28 65    71 75 61 6c 20 28 63 61 6c 69 62 72 65 64 62 2d  | ......(unless.(equal.(calibredb- | 
| f5c0 |  64 61 74 65 2d 77 69 64 74 68 29 20 30 29 20 28    73 2d 63 6f 6e 74 61 69 6e 73 3f 20 72 65 67 65  | date-width).0).(s-contains?.rege | 
| f5e0 |  78 20 28 63 61 6c 69 62 72 65 64 62 2d 67 65 74    61 74 74 72 20 28 6c 69 73 74 20 6c 69 6e 65 29  | x.(calibredb-getattr.(list.line) | 
| f600 |  20 3a 6c 61 73 74 5f 6d 6f 64 69 66 69 65 64 29    29 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20  | .:last_modified))))))........... | 
| f620 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70    75 73 68 20 6c 69 6e 65 20 72 65 73 2d 6c 69 73  | ..............(push.line.res-lis | 
| f640 |  74 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20    28 74 20 28 63 6c 2d 6c 6f 6f 70 20 66 6f 72 20  | t))))...........(t.(cl-loop.for. | 
| f660 |  6c 69 6e 65 20 69 6e 20 65 6e 74 72 69 65 73 20    64 6f 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  | line.in.entries.do.............. | 
| f680 |  28 69 66 20 28 65 76 61 6c 20 60 28 61 6e 64 20    2c 40 28 63 6c 2d 6c 6f 6f 70 20 66 6f 72 20 72  | (if.(eval.`(and.,@(cl-loop.for.r | 
| f6a0 |  65 67 65 78 20 69 6e 20 6d 61 74 63 68 65 73 20    63 6f 6c 6c 65 63 74 0a 20 20 20 20 20 20 20 20  | egex.in.matches.collect......... | 
| f6c0 |  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  | ................................ | 
| f6e0 |  28 6f 72 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 20  | (or............................. | 
| f700 |  20 20 20 20 20 20 20 20 20 20 20 20 20 28 75 6e    6c 65 73 73 20 28 65 71 75 61 6c 20 63 61 6c 69  | .............(unless.(equal.cali | 
| f720 |  62 72 65 64 62 2d 69 64 2d 77 69 64 74 68 20 30    29 20 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 2d  | bredb-id-width.0).(string-match- | 
| f740 |  70 20 72 65 67 65 78 20 28 63 61 6c 69 62 72 65    64 62 2d 67 65 74 61 74 74 72 20 28 6c 69 73 74  | p.regex.(calibredb-getattr.(list | 
| f760 |  20 6c 69 6e 65 29 20 3a 69 64 29 29 29 0a 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | .line).:id)))................... | 
| f780 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 28 75 6e 6c 65 73 73 20 28  | .......................(unless.( | 
| f7a0 |  65 71 75 61 6c 20 28 63 61 6c 69 62 72 65 64 62    2d 74 69 74 6c 65 2d 77 69 64 74 68 29 20 30 29  | equal.(calibredb-title-width).0) | 
| f7c0 |  20 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 2d 70    20 72 65 67 65 78 20 28 63 61 6c 69 62 72 65 64  | .(string-match-p.regex.(calibred | 
| f7e0 |  62 2d 67 65 74 61 74 74 72 20 28 6c 69 73 74 20    6c 69 6e 65 29 20 3a 62 6f 6f 6b 2d 74 69 74 6c  | b-getattr.(list.line).:book-titl | 
| f800 |  65 29 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 20  | e)))............................ | 
| f820 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 75    6e 6c 65 73 73 20 28 65 71 75 61 6c 20 28 63 61  | ..............(unless.(equal.(ca | 
| f840 |  6c 69 62 72 65 64 62 2d 66 6f 72 6d 61 74 2d 77    69 64 74 68 29 20 30 29 20 28 73 74 72 69 6e 67  | libredb-format-width).0).(string | 
| f860 |  2d 6d 61 74 63 68 2d 70 20 72 65 67 65 78 20 28    63 61 6c 69 62 72 65 64 62 2d 67 65 74 61 74 74  | -match-p.regex.(calibredb-getatt | 
| f880 |  72 20 28 6c 69 73 74 20 6c 69 6e 65 29 20 3a 62    6f 6f 6b 2d 66 6f 72 6d 61 74 29 29 29 0a 20 20  | r.(list.line).:book-format)))... | 
| f8a0 |  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  | ................................ | 
| f8c0 |  20 20 20 20 20 20 20 28 75 6e 6c 65 73 73 20 28    65 71 75 61 6c 20 28 63 61 6c 69 62 72 65 64 62  | .......(unless.(equal.(calibredb | 
| f8e0 |  2d 74 61 67 2d 77 69 64 74 68 29 20 30 29 20 28    73 74 72 69 6e 67 2d 6d 61 74 63 68 2d 70 20 72  | -tag-width).0).(string-match-p.r | 
| f900 |  65 67 65 78 20 28 63 61 6c 69 62 72 65 64 62 2d    67 65 74 61 74 74 72 20 28 6c 69 73 74 20 6c 69  | egex.(calibredb-getattr.(list.li | 
| f920 |  6e 65 29 20 3a 74 61 67 29 29 29 0a 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | ne).:tag)))..................... | 
| f940 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 28 75 6e 6c 65 73 73 20 28 65 71  | .....................(unless.(eq | 
| f960 |  75 61 6c 20 28 63 61 6c 69 62 72 65 64 62 2d 69    64 73 2d 77 69 64 74 68 29 20 30 29 20 28 73 74  | ual.(calibredb-ids-width).0).(st | 
| f980 |  72 69 6e 67 2d 6d 61 74 63 68 2d 70 20 72 65 67    65 78 20 28 63 61 6c 69 62 72 65 64 62 2d 67 65  | ring-match-p.regex.(calibredb-ge | 
| f9a0 |  74 61 74 74 72 20 28 6c 69 73 74 20 6c 69 6e 65    29 20 3a 69 64 73 29 29 29 0a 20 20 20 20 20 20  | tattr.(list.line).:ids)))....... | 
| f9c0 |  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  | ................................ | 
| f9e0 |  20 20 20 28 75 6e 6c 65 73 73 20 28 65 71 75 61    6c 20 28 63 61 6c 69 62 72 65 64 62 2d 61 75 74  | ...(unless.(equal.(calibredb-aut | 
| fa00 |  68 6f 72 2d 77 69 64 74 68 29 20 30 29 20 28 73    74 72 69 6e 67 2d 6d 61 74 63 68 2d 70 20 72 65  | hor-width).0).(string-match-p.re | 
| fa20 |  67 65 78 20 28 63 61 6c 69 62 72 65 64 62 2d 67    65 74 61 74 74 72 20 28 6c 69 73 74 20 6c 69 6e  | gex.(calibredb-getattr.(list.lin | 
| fa40 |  65 29 20 3a 61 75 74 68 6f 72 2d 73 6f 72 74 29    29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  | e).:author-sort))).............. | 
| fa60 |  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 75 6e 6c  | ............................(unl | 
| fa80 |  65 73 73 20 28 65 71 75 61 6c 20 28 63 61 6c 69    62 72 65 64 62 2d 64 61 74 65 2d 77 69 64 74 68  | ess.(equal.(calibredb-date-width | 
| faa0 |  29 20 30 29 20 28 73 74 72 69 6e 67 2d 6d 61 74    63 68 2d 70 20 72 65 67 65 78 20 28 63 61 6c 69  | ).0).(string-match-p.regex.(cali | 
| fac0 |  62 72 65 64 62 2d 67 65 74 61 74 74 72 20 28 6c    69 73 74 20 6c 69 6e 65 29 20 3a 6c 61 73 74 5f  | bredb-getattr.(list.line).:last_ | 
| fae0 |  6d 6f 64 69 66 69 65 64 29 29 29 0a 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | modified)))..................... | 
| fb00 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 3b 3b 20 4e 6f 72 6d 61 6c 6c 79  | .....................;;.Normally | 
| fb20 |  2c 20 63 6f 6d 6d 65 6e 74 73 20 61 72 65 20 6c    6f 6e 67 2c 20 69 74 20 69 73 20 6e 65 63 65 73  | ,.comments.are.long,.it.is.neces | 
| fb40 |  73 61 72 79 20 74 6f 20 74 72 61 6e 63 61 74 65    20 74 68 65 20 63 6f 6d 6d 65 6e 74 73 20 74 6f  | sary.to.trancate.the.comments.to | 
| fb60 |  20 73 70 65 65 64 20 75 70 20 74 68 65 20 73 65    61 72 63 68 69 6e 67 0a 20 20 20 20 20 20 20 20  | .speed.up.the.searching......... | 
| fb80 |  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  | ................................ | 
| fba0 |  20 3b 3b 20 65 78 63 65 70 74 20 63 61 6c 69 62    72 65 64 62 2d 63 6f 6d 6d 65 6e 74 2d 77 69 64  | .;;.except.calibredb-comment-wid | 
| fbc0 |  74 68 20 69 73 20 2d 31 2e 0a 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | th.is.-1........................ | 
| fbe0 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 28 75 6e 6c 65 73 73 20 28 65 71 75 61  | ...................(unless.(equa | 
| fc00 |  6c 20 28 63 61 6c 69 62 72 65 64 62 2d 63 6f 6d    6d 65 6e 74 2d 77 69 64 74 68 29 20 30 29 20 28  | l.(calibredb-comment-width).0).( | 
| fc20 |  73 74 72 69 6e 67 2d 6d 61 74 63 68 2d 70 20 72    65 67 65 78 20 28 6c 65 74 20 28 28 63 20 28 63  | string-match-p.regex.(let.((c.(c | 
| fc40 |  61 6c 69 62 72 65 64 62 2d 67 65 74 61 74 74 72    20 28 6c 69 73 74 20 6c 69 6e 65 29 20 3a 63 6f  | alibredb-getattr.(list.line).:co | 
| fc60 |  6d 6d 65 6e 74 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  | mment))......................... | 
| fc80 |  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  | ................................ | 
| fca0 |  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  | ................................ | 
| fcc0 |  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 77 20 63 61 6c 69  | .........................(w.cali | 
| fce0 |  62 72 65 64 62 2d 63 6f 6d 6d 65 6e 74 2d 77 69    64 74 68 29 29 0a 20 20 20 20 20 20 20 20 20 20  | bredb-comment-width))........... | 
| fd00 |  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  | ................................ | 
| fd20 |  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  | ................................ | 
| fd40 |  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  | ................................ | 
| fd60 |  20 20 20 28 69 66 20 28 3e 20 77 20 30 29 20 28    73 2d 74 72 75 6e 63 61 74 65 20 77 20 63 29 20  | ...(if.(>.w.0).(s-truncate.w.c). | 
| fd80 |  63 29 29 29 29 29 29 29 29 0a 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 28 70 75 73 68  | c))))))))..................(push | 
| fda0 |  20 6c 69 6e 65 20 72 65 73 2d 6c 69 73 74 29 29    29 29 29 0a 20 20 20 20 28 6e 72 65 76 65 72 73  | .line.res-list))))).....(nrevers | 
| fdc0 |  65 20 72 65 73 2d 6c 69 73 74 29 29 29 0a 0a 28    64 65 66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d  | e.res-list)))..(defun.calibredb- | 
| fde0 |  66 6f 6c 64 65 72 2d 63 61 6e 64 69 64 61 74 65    2d 66 69 6c 74 65 72 20 28 69 64 20 65 6e 74 72  | folder-candidate-filter.(id.entr | 
| fe00 |  69 65 73 29 0a 20 20 22 47 65 74 20 74 68 65 20    66 6f 6c 64 65 72 20 63 61 6e 64 69 64 61 74 65  | ies)..."Get.the.folder.candidate | 
| fe20 |  20 62 79 20 49 44 20 69 6e 20 45 4e 54 52 49 45    53 2e 22 0a 20 20 28 2d 66 69 72 73 74 20 28 6c  | .by.ID.in.ENTRIES."...(-first.(l | 
| fe40 |  61 6d 62 64 61 20 28 65 6e 74 72 79 29 0a 20 20    20 20 20 20 20 20 20 20 20 20 28 73 74 72 69 6e  | ambda.(entry).............(strin | 
| fe60 |  67 2d 65 71 75 61 6c 20 69 64 20 28 63 61 6c 69    62 72 65 64 62 2d 67 65 74 61 74 74 72 20 28 6c  | g-equal.id.(calibredb-getattr.(l | 
| fe80 |  69 73 74 20 65 6e 74 72 79 29 20 3a 69 64 29 29    29 0a 20 20 20 20 20 20 20 20 20 20 65 6e 74 72  | ist.entry).:id)))...........entr | 
| fea0 |  69 65 73 29 29 0a 0a 28 64 65 66 75 6e 20 63 61    6c 69 62 72 65 64 62 2d 66 6f 6c 64 65 72 2d 63  | ies))..(defun.calibredb-folder-c | 
| fec0 |  61 6e 64 69 64 61 74 65 20 28 69 64 29 0a 20 20    22 45 78 74 72 61 63 74 20 74 68 65 20 6a 73 6f  | andidate.(id)..."Extract.the.jso | 
| fee0 |  6e 20 61 72 72 61 79 20 61 6e 64 20 64 65 63 6f    64 65 20 69 74 73 20 73 74 72 75 63 74 75 72 65  | n.array.and.decode.its.structure | 
| ff00 |  20 74 6f 20 67 65 74 20 74 68 65 20 62 6f 6f 6b    20 6c 69 73 74 2c 20 74 68 65 6e 20 67 65 74 20  | .to.get.the.book.list,.then.get. | 
| ff20 |  74 68 65 20 65 6e 74 72 79 20 62 79 20 49 44 2e    22 0a 20 20 28 6c 65 74 2a 20 28 28 6a 73 6f 6e  | the.entry.by.ID."...(let*.((json | 
| ff40 |  2d 73 74 72 69 6e 67 20 28 77 69 74 68 2d 74 65    6d 70 2d 62 75 66 66 65 72 0a 20 20 20 20 20 20  | -string.(with-temp-buffer....... | 
| ff60 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 28 69 6e 73 65 72 74 2d 66 69 6c 65 2d 63  | ..................(insert-file-c | 
| ff80 |  6f 6e 74 65 6e 74 73 20 28 65 78 70 61 6e 64 2d    66 69 6c 65 2d 6e 61 6d 65 20 22 2e 6d 65 74 61  | ontents.(expand-file-name.".meta | 
| ffa0 |  64 61 74 61 2e 63 61 6c 69 62 72 65 22 20 63 61    6c 69 62 72 65 64 62 2d 72 6f 6f 74 2d 64 69 72  | data.calibre".calibredb-root-dir | 
| ffc0 |  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 28 62 75 66 66  | )).........................(buff | 
| ffe0 |  65 72 2d 73 74 72 69 6e 67 29 29 29 0a 20 20 20    20 20 20 20 20 20 28 65 6e 74 72 69 65 73 20 28  | er-string)))..........(entries.( | 
| 10000 |  6a 73 6f 6e 2d 70 61 72 73 65 2d 73 74 72 69 6e    67 20 6a 73 6f 6e 2d 73 74 72 69 6e 67 20 3a 6f  | json-parse-string.json-string.:o | 
| 10020 |  62 6a 65 63 74 2d 74 79 70 65 20 27 61 6c 69 73    74 20 3a 61 72 72 61 79 2d 74 79 70 65 20 27 6c  | bject-type.'alist.:array-type.'l | 
| 10040 |  69 73 74 20 3a 6e 75 6c 6c 2d 6f 62 6a 65 63 74    20 6e 69 6c 29 29 29 0a 20 20 20 20 28 63 61 6c  | ist.:null-object.nil))).....(cal | 
| 10060 |  69 62 72 65 64 62 2d 67 65 74 62 6f 6f 6b 6c 69    73 74 0a 20 20 20 20 20 28 6c 69 73 74 20 28 63  | ibredb-getbooklist......(list.(c | 
| 10080 |  61 6c 69 62 72 65 64 62 2d 66 6f 6c 64 65 72 2d    63 61 6e 64 69 64 61 74 65 2d 66 69 6c 74 65 72  | alibredb-folder-candidate-filter | 
| 100a0 |  20 69 64 20 28 63 61 6c 69 62 72 65 64 62 2d 66    6f 6c 64 65 72 2d 65 6e 74 72 69 65 73 2d 74 6f  | .id.(calibredb-folder-entries-to | 
| 100c0 |  2d 70 6c 69 73 74 20 65 6e 74 72 69 65 73 29 29    20 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 63 61  | -plist.entries)).))))..(defun.ca | 
| 100e0 |  6c 69 62 72 65 64 62 2d 66 6f 6c 64 65 72 2d 63    61 6e 64 69 64 61 74 65 73 20 28 26 6f 70 74 69  | libredb-folder-candidates.(&opti | 
| 10100 |  6f 6e 61 6c 20 66 69 6c 74 65 72 29 0a 20 20 22    45 78 74 72 61 63 74 20 74 68 65 20 6a 73 6f 6e  | onal.filter)..."Extract.the.json | 
| 10120 |  20 61 72 72 61 79 20 61 6e 64 20 64 65 63 6f 64    65 20 69 74 73 20 73 74 72 75 63 74 75 72 65 20  | .array.and.decode.its.structure. | 
| 10140 |  74 6f 20 67 65 74 20 74 68 65 20 62 6f 6f 6b 20    6c 69 73 74 2e 0a 41 52 47 55 4d 45 4e 54 20 46  | to.get.the.book.list..ARGUMENT.F | 
| 10160 |  49 4c 54 45 52 20 69 73 20 74 68 65 20 66 69 6c    74 65 72 20 73 74 72 69 6e 67 2e 22 0a 20 20 28  | ILTER.is.the.filter.string."...( | 
| 10180 |  6c 65 74 2a 20 28 28 6a 73 6f 6e 2d 73 74 72 69    6e 67 20 28 77 69 74 68 2d 74 65 6d 70 2d 62 75  | let*.((json-string.(with-temp-bu | 
| 101a0 |  66 66 65 72 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 28 69 6e  | ffer.........................(in | 
| 101c0 |  73 65 72 74 2d 66 69 6c 65 2d 63 6f 6e 74 65 6e    74 73 20 28 65 78 70 61 6e 64 2d 66 69 6c 65 2d  | sert-file-contents.(expand-file- | 
| 101e0 |  6e 61 6d 65 20 22 2e 6d 65 74 61 64 61 74 61 2e    63 61 6c 69 62 72 65 22 20 63 61 6c 69 62 72 65  | name.".metadata.calibre".calibre | 
| 10200 |  64 62 2d 72 6f 6f 74 2d 64 69 72 29 29 0a 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | db-root-dir))................... | 
| 10220 |  20 20 20 20 20 20 28 62 75 66 66 65 72 2d 73 74    72 69 6e 67 29 29 29 0a 20 20 20 20 20 20 20 20  | ......(buffer-string)))......... | 
| 10240 |  20 28 65 6e 74 72 69 65 73 20 28 6a 73 6f 6e 2d    70 61 72 73 65 2d 73 74 72 69 6e 67 20 6a 73 6f  | .(entries.(json-parse-string.jso | 
| 10260 |  6e 2d 73 74 72 69 6e 67 20 3a 6f 62 6a 65 63 74    2d 74 79 70 65 20 27 61 6c 69 73 74 20 3a 61 72  | n-string.:object-type.'alist.:ar | 
| 10280 |  72 61 79 2d 74 79 70 65 20 27 6c 69 73 74 20 3a    6e 75 6c 6c 2d 6f 62 6a 65 63 74 20 6e 69 6c 29  | ray-type.'list.:null-object.nil) | 
| 102a0 |  29 0a 20 20 20 20 20 20 20 20 20 28 66 69 6c 74    65 72 20 28 63 61 6c 69 62 72 65 64 62 2d 66 6f  | )..........(filter.(calibredb-fo | 
| 102c0 |  6c 64 65 72 2d 70 61 72 73 65 2d 66 69 6c 74 65    72 20 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72  | lder-parse-filter.calibredb-sear | 
| 102e0 |  63 68 2d 66 69 6c 74 65 72 29 29 29 0a 20 20 20    20 28 63 61 6c 69 62 72 65 64 62 2d 67 65 74 62  | ch-filter))).....(calibredb-getb | 
| 10300 |  6f 6f 6b 6c 69 73 74 0a 20 20 20 20 20 28 63 61    6c 69 62 72 65 64 62 2d 66 6f 6c 64 65 72 2d 63  | ooklist......(calibredb-folder-c | 
| 10320 |  61 6e 64 69 64 61 74 65 73 2d 66 69 6c 74 65 72    20 66 69 6c 74 65 72 20 28 63 61 6c 69 62 72 65  | andidates-filter.filter.(calibre | 
| 10340 |  64 62 2d 66 6f 6c 64 65 72 2d 65 6e 74 72 69 65    73 2d 74 6f 2d 70 6c 69 73 74 20 65 6e 74 72 69  | db-folder-entries-to-plist.entri | 
| 10360 |  65 73 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20    63 61 6c 69 62 72 65 64 62 2d 66 6f 6c 64 65 72  | es)))))..(defun.calibredb-folder | 
| 10380 |  2d 75 70 64 61 74 65 2d 74 61 67 73 2d 62 79 2d    6c 70 61 74 68 20 28 6c 70 61 74 68 20 74 61 67  | -update-tags-by-lpath.(lpath.tag | 
| 103a0 |  73 2d 73 74 72 69 6e 67 29 0a 20 20 22 55 70 64    61 74 65 20 74 61 67 73 20 69 6e 20 2e 6d 65 74  | s-string)..."Update.tags.in..met | 
| 103c0 |  61 64 61 74 61 2e 63 61 6c 69 62 72 65 20 66 6f    72 20 62 6f 6f 6b 20 77 69 74 68 20 4c 50 41 54  | adata.calibre.for.book.with.LPAT | 
| 103e0 |  48 2e 0a 55 73 69 6e 67 20 63 6f 6d 6d 61 2d 73    65 70 61 72 61 74 65 64 20 54 41 47 53 2d 53 54  | H..Using.comma-separated.TAGS-ST | 
| 10400 |  52 49 4e 47 2e 0a 55 73 65 73 20 67 6c 6f 62 61    6c 20 60 63 61 6c 69 62 72 65 64 62 2d 72 6f 6f  | RING..Uses.global.`calibredb-roo | 
| 10420 |  74 2d 64 69 72 60 2e 22 0a 20 20 28 77 68 65 6e    2d 6c 65 74 2a 20 28 28 6d 65 74 61 64 61 74 61  | t-dir`."...(when-let*.((metadata | 
| 10440 |  2d 70 61 74 68 20 28 65 78 70 61 6e 64 2d 66 69    6c 65 2d 6e 61 6d 65 20 22 2e 6d 65 74 61 64 61  | -path.(expand-file-name.".metada | 
| 10460 |  74 61 2e 63 61 6c 69 62 72 65 22 20 63 61 6c 69    62 72 65 64 62 2d 72 6f 6f 74 2d 64 69 72 29 29  | ta.calibre".calibredb-root-dir)) | 
| 10480 |  0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28    6a 73 6f 6e 2d 73 74 72 69 6e 67 20 28 77 69 74  | ...............(json-string.(wit | 
| 104a0 |  68 2d 74 65 6d 70 2d 62 75 66 66 65 72 0a 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | h-temp-buffer................... | 
| 104c0 |  20 20 20 20 20 20 20 20 20 20 20 28 69 6e 73 65    72 74 2d 66 69 6c 65 2d 63 6f 6e 74 65 6e 74 73  | ...........(insert-file-contents | 
| 104e0 |  20 6d 65 74 61 64 61 74 61 2d 70 61 74 68 29 0a    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | .metadata-path)................. | 
| 10500 |  20 20 20 20 20 20 20 20 20 20 20 20 20 28 62 75    66 66 65 72 2d 73 74 72 69 6e 67 29 29 29 0a 20  | .............(buffer-string))).. | 
| 10520 |  20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 6e    74 72 69 65 73 20 28 6a 73 6f 6e 2d 70 61 72 73  | .............(entries.(json-pars | 
| 10540 |  65 2d 73 74 72 69 6e 67 20 6a 73 6f 6e 2d 73 74    72 69 6e 67 20 3a 6f 62 6a 65 63 74 2d 74 79 70  | e-string.json-string.:object-typ | 
| 10560 |  65 20 27 61 6c 69 73 74 29 29 0a 20 20 20 20 20    20 20 20 20 20 20 20 20 20 28 6e 65 77 2d 74 61  | e.'alist))...............(new-ta | 
| 10580 |  67 73 20 28 76 63 6f 6e 63 61 74 20 28 6d 61 70    63 61 72 20 23 27 73 74 72 69 6e 67 2d 74 72 69  | gs.(vconcat.(mapcar.#'string-tri | 
| 105a0 |  6d 20 28 73 70 6c 69 74 2d 73 74 72 69 6e 67 20    74 61 67 73 2d 73 74 72 69 6e 67 20 22 2c 22 29  | m.(split-string.tags-string.",") | 
| 105c0 |  29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20    20 20 28 65 6e 74 72 79 20 28 63 6c 2d 66 69 6e  | )))...............(entry.(cl-fin | 
| 105e0 |  64 2d 69 66 20 28 6c 61 6d 62 64 61 20 28 65 6e    74 72 79 29 0a 20 20 20 20 20 20 20 20 20 20 20  | d-if.(lambda.(entry)............ | 
| 10600 |  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 73 74 72 69 6e 67 3d  | ........................(string= | 
| 10620 |  20 28 61 6c 69 73 74 2d 67 65 74 20 27 6c 70 61    74 68 20 65 6e 74 72 79 29 20 6c 70 61 74 68 29  | .(alist-get.'lpath.entry).lpath) | 
| 10640 |  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 20 20 20  | )............................... | 
| 10660 |  20 20 20 65 6e 74 72 69 65 73 29 29 29 0a 20 20    20 20 28 73 65 74 66 20 28 61 6c 69 73 74 2d 67  | ...entries))).....(setf.(alist-g | 
| 10680 |  65 74 20 27 74 61 67 73 20 65 6e 74 72 79 29 20    6e 65 77 2d 74 61 67 73 29 0a 20 20 20 20 28 6c  | et.'tags.entry).new-tags).....(l | 
| 106a0 |  65 74 20 28 28 63 6f 64 69 6e 67 2d 73 79 73 74    65 6d 2d 66 6f 72 2d 77 72 69 74 65 20 27 75 74  | et.((coding-system-for-write.'ut | 
| 106c0 |  66 2d 38 29 29 0a 20 20 20 20 20 20 28 77 69 74    68 2d 74 65 6d 70 2d 66 69 6c 65 20 6d 65 74 61  | f-8)).......(with-temp-file.meta | 
| 106e0 |  64 61 74 61 2d 70 61 74 68 0a 20 20 20 20 20 20    20 20 28 69 6e 73 65 72 74 20 28 6a 73 6f 6e 2d  | data-path.........(insert.(json- | 
| 10700 |  73 65 72 69 61 6c 69 7a 65 20 65 6e 74 72 69 65    73 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20  | serialize.entries))))))..(defun. | 
| 10720 |  63 61 6c 69 62 72 65 64 62 2d 66 6f 6c 64 65 72    2d 65 6e 74 72 69 65 73 2d 74 6f 2d 70 6c 69 73  | calibredb-folder-entries-to-plis | 
| 10740 |  74 20 28 65 6e 74 72 69 65 73 29 0a 20 20 22 43    6f 6e 76 65 72 74 20 66 6f 6c 64 65 72 20 6d 65  | t.(entries)..."Convert.folder.me | 
| 10760 |  74 61 64 61 74 61 20 45 4e 54 52 49 45 53 20 74    6f 20 70 6c 69 73 74 2e 22 0a 20 20 28 6c 65 74  | tadata.ENTRIES.to.plist."...(let | 
| 10780 |  20 28 28 75 6e 73 6f 72 74 65 64 2d 65 6e 74 72    69 65 73 20 28 2d 6d 61 70 63 61 74 0a 20 20 20  | .((unsorted-entries.(-mapcat.... | 
| 107a0 |  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 6c 61 6d 62 64 61 20  | ........................(lambda. | 
| 107c0 |  28 65 6e 74 72 79 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  | (entry)......................... | 
| 107e0 |  20 20 20 20 20 3b 3b 20 75 73 65 20 6c 70 61 74    68 20 61 73 20 63 61 6c 69 62 72 65 64 62 20 69  | .....;;.use.lpath.as.calibredb.i | 
| 10800 |  6e 74 65 72 6e 61 6c 20 69 64 2c 20 73 69 6e 63    65 20 74 68 65 20 69 64 20 6d 61 79 62 65 20 6d  | nternal.id,.since.the.id.maybe.m | 
| 10820 |  69 73 73 69 6e 67 20 69 6e 20 74 68 65 0a 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | issing.in.the................... | 
| 10840 |  20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 6d 65    74 61 64 61 74 61 2c 20 75 73 65 20 6d 64 35 20  | ...........;;.metadata,.use.md5. | 
| 10860 |  6f 66 20 66 69 6c 65 20 70 61 74 68 20 74 6f 20    67 65 6e 65 72 61 74 65 20 61 20 75 6e 69 71 75  | of.file.path.to.generate.a.uniqu | 
| 10880 |  65 20 69 64 2c 20 69 74 20 77 69 6c 6c 20 62 65    20 74 68 65 0a 20 20 20 20 20 20 20 20 20 20 20  | e.id,.it.will.be.the............ | 
| 108a0 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 3b 3b 20 73 61 6d 65 20 69 66 20 74 68 65  | ..................;;.same.if.the | 
| 108c0 |  20 66 69 6c 65 20 70 61 74 68 20 64 6f 65 73 20    6e 6f 74 20 63 68 61 6e 67 65 2e 0a 20 20 20 20  | .file.path.does.not.change...... | 
| 108e0 |  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 6c 65 74 2a 20 28  | .........................(let*.( | 
| 10900 |  28 6c 70 61 74 68 20 28 61 6c 69 73 74 2d 67 65    74 20 27 6c 70 61 74 68 20 65 6e 74 72 79 29 29  | (lpath.(alist-get.'lpath.entry)) | 
| 10920 |  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 20 20 20 20  | ................................ | 
| 10940 |  20 20 20 20 20 28 6c 73 74 20 28 6e 74 68 20 35    20 28 66 69 6c 65 2d 61 74 74 72 69 62 75 74 65  | .....(lst.(nth.5.(file-attribute | 
| 10960 |  73 20 28 65 78 70 61 6e 64 2d 66 69 6c 65 2d 6e    61 6d 65 20 6c 70 61 74 68 20 63 61 6c 69 62 72  | s.(expand-file-name.lpath.calibr | 
| 10980 |  65 64 62 2d 72 6f 6f 74 2d 64 69 72 29 29 29 29    29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | edb-root-dir)))))............... | 
| 109a0 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 28 6c 69 73 74 20 60 28 28 3a 69 64 20 20 20  | .................(list.`((:id... | 
| 109c0 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 2c 28    6d 64 35 20 6c 70 61 74 68 29 29 0a 20 20 20 20  | ..............,(md5.lpath))..... | 
| 109e0 |  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  | ................................ | 
| 10a00 |  20 20 20 28 3a 61 75 74 68 6f 72 2d 73 6f 72 74    20 20 20 20 20 20 20 20 2c 28 6f 72 20 28 6d 61  | ...(:author-sort........,(or.(ma | 
| 10a20 |  70 63 6f 6e 63 61 74 20 27 69 64 65 6e 74 69 74    79 20 28 61 6c 69 73 74 2d 67 65 74 20 27 61 75  | pconcat.'identity.(alist-get.'au | 
| 10a40 |  74 68 6f 72 73 20 65 6e 74 72 79 29 20 22 2c 22    29 20 22 22 29 29 0a 20 20 20 20 20 20 20 20 20  | thors.entry).",")."")).......... | 
| 10a60 |  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 3a  | ..............................(: | 
| 10a80 |  62 6f 6f 6b 2d 64 69 72 20 20 20 20 20 20 20 20    20 20 20 22 22 29 0a 20 20 20 20 20 20 20 20 20  | book-dir..........."").......... | 
| 10aa0 |  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 3a  | ..............................(: | 
| 10ac0 |  62 6f 6f 6b 2d 63 6f 76 65 72 20 20 20 20 20 20    20 20 20 6e 69 6c 29 0a 20 20 20 20 20 20 20 20  | book-cover.........nil)......... | 
| 10ae0 |  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 28  | ...............................( | 
| 10b00 |  3a 62 6f 6f 6b 2d 6e 61 6d 65 20 20 20 20 20 20    20 20 20 20 22 22 29 0a 20 20 20 20 20 20 20 20  | :book-name.........."")......... | 
| 10b20 |  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 28  | ...............................( | 
| 10b40 |  3a 62 6f 6f 6b 2d 66 6f 72 6d 61 74 20 20 20 20    20 20 20 20 2c 28 73 75 62 73 74 72 69 6e 67 20  | :book-format........,(substring. | 
| 10b60 |  28 63 61 6c 69 62 72 65 64 62 2d 66 6f 6c 64 65    72 2d 6d 61 69 6c 63 61 70 2d 6d 69 6d 65 2d 74  | (calibredb-folder-mailcap-mime-t | 
| 10b80 |  6f 2d 65 78 74 6e 20 28 61 6c 69 73 74 2d 67 65    74 20 27 6d 69 6d 65 20 65 6e 74 72 79 29 29 20  | o-extn.(alist-get.'mime.entry)). | 
| 10ba0 |  31 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 20 20  | 1))............................. | 
| 10bc0 |  20 20 20 20 20 20 20 20 20 20 20 28 3a 62 6f 6f    6b 2d 70 75 62 64 61 74 65 20 20 20 20 20 20 20  | ...........(:book-pubdate....... | 
| 10be0 |  2c 28 6f 72 20 28 61 6c 69 73 74 2d 67 65 74 20    27 70 75 62 64 61 74 65 20 65 6e 74 72 79 29 20  | ,(or.(alist-get.'pubdate.entry). | 
| 10c00 |  22 22 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 20  | ""))............................ | 
| 10c20 |  20 20 20 20 20 20 20 20 20 20 20 20 28 3a 62 6f    6f 6b 2d 74 69 74 6c 65 20 20 20 20 20 20 20 20  | ............(:book-title........ | 
| 10c40 |  20 2c 28 61 6c 69 73 74 2d 67 65 74 20 27 74 69    74 6c 65 20 65 6e 74 72 79 29 29 0a 20 20 20 20  | .,(alist-get.'title.entry))..... | 
| 10c60 |  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  | ................................ | 
| 10c80 |  20 20 20 28 3a 66 69 6c 65 2d 70 61 74 68 20 20    20 20 20 20 20 20 20 20 2c 28 65 78 70 61 6e 64  | ...(:file-path..........,(expand | 
| 10ca0 |  2d 66 69 6c 65 2d 6e 61 6d 65 20 6c 70 61 74 68    20 63 61 6c 69 62 72 65 64 62 2d 72 6f 6f 74 2d  | -file-name.lpath.calibredb-root- | 
| 10cc0 |  64 69 72 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  | dir))........................... | 
| 10ce0 |  20 20 20 20 20 20 20 20 20 20 20 20 20 28 3a 74    61 67 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | .............(:tag.............. | 
| 10d00 |  20 20 2c 28 6f 72 20 28 6d 61 70 63 6f 6e 63 61    74 20 27 69 64 65 6e 74 69 74 79 20 28 61 6c 69  | ..,(or.(mapconcat.'identity.(ali | 
| 10d20 |  73 74 2d 67 65 74 20 27 74 61 67 73 20 65 6e 74    72 79 29 20 22 2c 22 29 20 22 22 29 29 0a 20 20  | st-get.'tags.entry).",").""))... | 
| 10d40 |  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  | ................................ | 
| 10d60 |  20 20 20 20 20 28 3a 73 69 7a 65 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 2c 28 66 6f 72 6d  | .....(:size...............,(form | 
| 10d80 |  61 74 20 22 25 2e 32 66 22 20 28 2f 20 28 6f 72    20 28 61 6c 69 73 74 2d 67 65 74 20 27 73 69 7a  | at."%.2f".(/.(or.(alist-get.'siz | 
| 10da0 |  65 20 65 6e 74 72 79 29 20 30 29 20 31 30 34 38    35 37 36 2e 30 29 29 29 0a 20 20 20 20 20 20 20  | e.entry).0).1048576.0)))........ | 
| 10dc0 |  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  | ................................ | 
| 10de0 |  28 3a 63 6f 6d 6d 65 6e 74 20 20 20 20 20 20 20    20 20 20 20 20 2c 28 6f 72 20 28 61 6c 69 73 74  | (:comment............,(or.(alist | 
| 10e00 |  2d 67 65 74 20 27 63 6f 6d 6d 65 6e 74 73 20 65    6e 74 72 79 29 20 22 22 29 29 0a 20 20 20 20 20  | -get.'comments.entry).""))...... | 
| 10e20 |  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  | ................................ | 
| 10e40 |  20 20 28 3a 69 64 73 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 2c 28 6f 72 20 28 6d 61 70  | ..(:ids................,(or.(map | 
| 10e60 |  63 6f 6e 63 61 74 20 28 6c 61 6d 62 64 61 28 78    29 20 28 66 6f 72 6d 61 74 20 22 25 73 3a 25 73  | concat.(lambda(x).(format."%s:%s | 
| 10e80 |  22 20 28 63 61 72 20 78 29 20 28 63 64 72 20 78    29 29 29 28 61 6c 69 73 74 2d 67 65 74 20 27 69  | ".(car.x).(cdr.x)))(alist-get.'i | 
| 10ea0 |  64 65 6e 74 69 66 69 65 72 73 20 65 6e 74 72 79    29 20 22 2c 22 29 20 22 22 29 29 0a 20 20 20 20  | dentifiers.entry).",").""))..... | 
| 10ec0 |  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  | ................................ | 
| 10ee0 |  20 20 20 28 3a 70 75 62 6c 69 73 68 65 72 20 20    20 20 20 20 20 20 20 20 2c 28 6f 72 20 28 61 6c  | ...(:publisher..........,(or.(al | 
| 10f00 |  69 73 74 2d 67 65 74 20 27 70 75 62 6c 69 73 68    65 72 20 65 6e 74 72 79 29 20 22 22 29 29 0a 20  | ist-get.'publisher.entry)."")).. | 
| 10f20 |  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  | ................................ | 
| 10f40 |  20 20 20 20 20 20 28 3a 73 65 72 69 65 73 20 20    20 20 20 20 20 20 20 20 20 20 20 22 22 29 0a 20  | ......(:series............."").. | 
| 10f60 |  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  | ................................ | 
| 10f80 |  20 20 20 20 20 20 28 3a 6c 61 6e 67 5f 63 6f 64    65 20 20 20 20 20 20 20 20 20 20 2c 28 6d 61 70  | ......(:lang_code..........,(map | 
| 10fa0 |  63 6f 6e 63 61 74 20 27 69 64 65 6e 74 69 74 79    20 28 61 6c 69 73 74 2d 67 65 74 20 27 6c 61 6e  | concat.'identity.(alist-get.'lan | 
| 10fc0 |  67 75 61 67 65 73 20 65 6e 74 72 79 29 20 22 2c    22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20  | guages.entry).","))............. | 
| 10fe0 |  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 3a 6c 70 61  | ...........................(:lpa | 
| 11000 |  74 68 20 2c 6c 70 61 74 68 29 20 3b 3b 20 75 73    65 64 20 66 6f 72 20 6c 6f 63 61 74 69 6e 67 20  | th.,lpath).;;.used.for.locating. | 
| 11020 |  74 68 65 20 65 6e 74 72 79 20 61 6e 64 20 73 65    74 74 69 6e 67 20 6d 65 74 61 64 61 74 61 0a 20  | the.entry.and.setting.metadata.. | 
| 11040 |  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  | ................................ | 
| 11060 |  20 20 20 20 20 20 28 3a 6c 73 74 20 2c 6c 73 74    29 20 3b 3b 20 75 73 65 64 20 66 6f 72 20 73 6f  | ......(:lst.,lst).;;.used.for.so | 
| 11080 |  72 74 69 6e 67 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  | rting........................... | 
| 110a0 |  20 20 20 20 20 20 20 20 20 20 20 20 20 28 3a 6c    61 73 74 5f 6d 6f 64 69 66 69 65 64 20 20 20 20  | .............(:last_modified.... | 
| 110c0 |  20 20 2c 28 6c 65 74 20 28 28 6c 73 74 2d 6d 64    20 28 61 6c 69 73 74 2d 67 65 74 20 27 6c 61 73  | ..,(let.((lst-md.(alist-get.'las | 
| 110e0 |  74 5f 6d 6f 64 69 66 69 65 64 20 65 6e 74 72 79    29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  | t_modified.entry)).............. | 
| 11100 |  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  | ................................ | 
| 11120 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 28 70 75 62 2d 64 20 28 61 6c  | ......................(pub-d.(al | 
| 11140 |  69 73 74 2d 67 65 74 20 27 70 75 62 64 61 74 65    20 65 6e 74 72 79 29 29 29 0a 20 20 20 20 20 20  | ist-get.'pubdate.entry)))....... | 
| 11160 |  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  | ................................ | 
| 11180 |  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 69 66 20 6c 73 74  | .........................(if.lst | 
| 111a0 |  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 20 20 20 20  | ................................ | 
| 111c0 |  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  | ................................ | 
| 111e0 |  20 20 20 20 28 66 6f 72 6d 61 74 2d 74 69 6d 65    2d 73 74 72 69 6e 67 20 22 25 59 2d 25 6d 2d 25  | ....(format-time-string."%Y-%m-% | 
| 11200 |  64 20 25 48 3a 25 4d 3a 25 53 22 0a 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | d.%H:%M:%S"..................... | 
| 11220 |  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  | ................................ | 
| 11240 |  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  | ................................ | 
| 11260 |  20 20 20 6c 73 74 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  | ...lst)......................... | 
| 11280 |  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  | ................................ | 
| 112a0 |  20 20 20 20 20 20 20 20 20 28 69 66 20 28 73 74    72 69 6e 67 2d 65 71 75 61 6c 20 6c 73 74 2d 6d  | .........(if.(string-equal.lst-m | 
| 112c0 |  64 20 22 4e 6f 6e 65 22 29 0a 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | d."None")....................... | 
| 112e0 |  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  | ................................ | 
| 11300 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28    69 66 20 28 73 74 72 69 6e 67 2d 65 71 75 61 6c  | ...............(if.(string-equal | 
| 11320 |  20 70 75 62 2d 64 20 22 4e 6f 6e 65 22 29 0a 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | .pub-d."None").................. | 
| 11340 |  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  | ................................ | 
| 11360 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 22 22 0a 20 20 20 20 20  | ........................""...... | 
| 11380 |  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  | ................................ | 
| 113a0 |  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  | ................................ | 
| 113c0 |  20 20 70 75 62 2d 64 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  | ..pub-d)........................ | 
| 113e0 |  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  | ................................ | 
| 11400 |  20 20 20 20 20 20 20 20 20 20 20 20 6c 73 74 2d    6d 64 29 29 29 29 29 29 20 29 29 0a 20 20 20 20  | ............lst-md)))))).))..... | 
| 11420 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 65 6e 74 72 69 65 73 29 29  | .......................entries)) | 
| 11440 |  29 0a 20 20 20 20 3b 3b 20 73 6f 72 74 20 62 79    0a 20 20 20 20 3b 3b 20 63 61 6c 69 62 72 65 64  | ).....;;.sort.by.....;;.calibred | 
| 11460 |  62 2d 66 61 76 6f 72 69 74 65 2d 6b 65 79 77 6f    72 64 0a 20 20 20 20 3b 3b 20 63 61 6c 69 62 72  | b-favorite-keyword.....;;.calibr | 
| 11480 |  65 64 62 2d 68 69 67 68 6c 69 67 68 74 2d 6b 65    79 77 6f 72 64 0a 20 20 20 20 3b 3b 20 6c 61 73  | edb-highlight-keyword.....;;.las | 
| 114a0 |  74 20 6d 6f 64 69 66 69 65 64 20 74 69 6d 65 0a    20 20 20 20 28 73 6f 72 74 20 75 6e 73 6f 72 74  | t.modified.time.....(sort.unsort | 
| 114c0 |  65 64 2d 65 6e 74 72 69 65 73 0a 20 20 20 20 20    20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 61 20  | ed-entries...........(lambda.(a. | 
| 114e0 |  62 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28    6c 65 74 2a 20 28 28 61 2d 74 61 67 73 20 28 63  | b).............(let*.((a-tags.(c | 
| 11500 |  61 6c 69 62 72 65 64 62 2d 67 65 74 61 74 74 72    20 28 6c 69 73 74 20 61 29 20 3a 74 61 67 29 29  | alibredb-getattr.(list.a).:tag)) | 
| 11520 |  0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 28 62 2d 74 61 67 73 20 28 63 61 6c  | ....................(b-tags.(cal | 
| 11540 |  69 62 72 65 64 62 2d 67 65 74 61 74 74 72 20 28    6c 69 73 74 20 62 29 20 3a 74 61 67 29 29 0a 20  | ibredb-getattr.(list.b).:tag)).. | 
| 11560 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 28 61 2d 66 61 76 20 28 73 2d 63 6f 6e 74  | ..................(a-fav.(s-cont | 
| 11580 |  61 69 6e 73 3f 20 63 61 6c 69 62 72 65 64 62 2d    66 61 76 6f 72 69 74 65 2d 6b 65 79 77 6f 72 64  | ains?.calibredb-favorite-keyword | 
| 115a0 |  20 61 2d 74 61 67 73 29 29 0a 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 28 62 2d  | .a-tags))....................(b- | 
| 115c0 |  66 61 76 20 28 73 2d 63 6f 6e 74 61 69 6e 73 3f    20 63 61 6c 69 62 72 65 64 62 2d 66 61 76 6f 72  | fav.(s-contains?.calibredb-favor | 
| 115e0 |  69 74 65 2d 6b 65 79 77 6f 72 64 20 62 2d 74 61    67 73 29 29 0a 20 20 20 20 20 20 20 20 20 20 20  | ite-keyword.b-tags))............ | 
| 11600 |  20 20 20 20 20 20 20 20 28 61 2d 68 69 67 20 28    73 2d 63 6f 6e 74 61 69 6e 73 3f 20 63 61 6c 69  | ........(a-hig.(s-contains?.cali | 
| 11620 |  62 72 65 64 62 2d 68 69 67 68 6c 69 67 68 74 2d    6b 65 79 77 6f 72 64 20 61 2d 74 61 67 73 29 29  | bredb-highlight-keyword.a-tags)) | 
| 11640 |  0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 28 62 2d 68 69 67 20 28 73 2d 63 6f  | ....................(b-hig.(s-co | 
| 11660 |  6e 74 61 69 6e 73 3f 20 63 61 6c 69 62 72 65 64    62 2d 68 69 67 68 6c 69 67 68 74 2d 6b 65 79 77  | ntains?.calibredb-highlight-keyw | 
| 11680 |  6f 72 64 20 62 2d 74 61 67 73 29 29 29 0a 20 20    20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e  | ord.b-tags)))...............(con | 
| 116a0 |  64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 3b 3b 20 41 20 69 73 20 66 61 76 6f 72 69 74  | d................;;.A.is.favorit | 
| 116c0 |  65 2c 20 42 20 69 73 20 6e 6f 74 20 e2 80 94 20    42 20 67 6f 65 73 20 66 69 72 73 74 0a 20 20 20  | e,.B.is.not.....B.goes.first.... | 
| 116e0 |  20 20 20 20 20 20 20 20 20 20 20 20 28 28 61 6e    64 20 61 2d 66 61 76 20 28 6e 6f 74 20 62 2d 66  | ............((and.a-fav.(not.b-f | 
| 11700 |  61 76 29 29 20 6e 69 6c 29 0a 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 3b 3b 20 42 20 69 73  | av)).nil)................;;.B.is | 
| 11720 |  20 66 61 76 6f 72 69 74 65 2c 20 41 20 69 73 20    6e 6f 74 20 e2 80 94 20 41 20 67 6f 65 73 20 66  | .favorite,.A.is.not.....A.goes.f | 
| 11740 |  69 72 73 74 0a 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 28 28 61 6e 64 20 62 2d 66 61 76 20  | irst................((and.b-fav. | 
| 11760 |  28 6e 6f 74 20 61 2d 66 61 76 29 29 20 74 29 0a    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b  | (not.a-fav)).t)................; | 
| 11780 |  3b 20 41 20 69 73 20 68 69 67 68 6c 69 67 68 74    2c 20 42 20 69 73 20 6e 6f 74 20 e2 80 94 20 42  | ;.A.is.highlight,.B.is.not.....B | 
| 117a0 |  20 67 6f 65 73 20 66 69 72 73 74 0a 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 28 28 61 6e 64  | .goes.first................((and | 
| 117c0 |  20 61 2d 68 69 67 20 28 6e 6f 74 20 62 2d 68 69    67 29 29 20 6e 69 6c 29 0a 20 20 20 20 20 20 20  | .a-hig.(not.b-hig)).nil)........ | 
| 117e0 |  20 20 20 20 20 20 20 20 3b 3b 20 42 20 69 73 20    68 69 67 68 6c 69 67 68 74 2c 20 41 20 69 73 20  | ........;;.B.is.highlight,.A.is. | 
| 11800 |  6e 6f 74 20 e2 80 94 20 41 20 67 6f 65 73 20 66    69 72 73 74 0a 20 20 20 20 20 20 20 20 20 20 20  | not.....A.goes.first............ | 
| 11820 |  20 20 20 20 28 28 61 6e 64 20 62 2d 68 69 67 20    28 6e 6f 74 20 61 2d 68 69 67 29 29 20 74 29 0a  | ....((and.b-hig.(not.a-hig)).t). | 
| 11840 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b    3b 20 42 6f 74 68 20 73 61 6d 65 20 69 6e 20 74  | ...............;;.Both.same.in.t | 
| 11860 |  65 72 6d 73 20 6f 66 20 66 61 76 6f 72 69 74 65    20 74 61 67 20 e2 80 94 20 66 61 6c 6c 20 62 61  | erms.of.favorite.tag.....fall.ba | 
| 11880 |  63 6b 20 74 6f 20 74 69 6d 65 73 74 61 6d 70 20    73 6f 72 74 0a 20 20 20 20 20 20 20 20 20 20 20  | ck.to.timestamp.sort............ | 
| 118a0 |  20 20 20 20 28 74 0a 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 28 6c 65 74 20 28 28 61 2d  | ....(t.................(let.((a- | 
| 118c0 |  74 69 6d 65 20 28 63 61 6c 69 62 72 65 64 62 2d    67 65 74 61 74 74 72 20 28 6c 69 73 74 20 61 29  | time.(calibredb-getattr.(list.a) | 
| 118e0 |  20 3a 6c 73 74 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 28 62  | .:lst)).......................(b | 
| 11900 |  2d 74 69 6d 65 20 28 63 61 6c 69 62 72 65 64 62    2d 67 65 74 61 74 74 72 20 28 6c 69 73 74 20 62  | -time.(calibredb-getattr.(list.b | 
| 11920 |  29 20 3a 6c 73 74 29 29 29 0a 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 28 74 69 6d  | ).:lst)))...................(tim | 
| 11940 |  65 2d 6c 65 73 73 2d 70 20 61 2d 74 69 6d 65 20    62 2d 74 69 6d 65 29 29 29 29 29 29 29 29 29 0a  | e-less-p.a-time.b-time))))))))). | 
| 11960 |  0a 0a 28 64 65 66 75 6e 20 63 61 6c 69 62 72 65    64 62 2d 66 6f 6c 64 65 72 2d 6d 61 69 6c 63 61  | ..(defun.calibredb-folder-mailca | 
| 11980 |  70 2d 6d 69 6d 65 2d 74 6f 2d 65 78 74 6e 20 28    6d 69 6d 65 29 0a 20 20 22 52 65 74 75 72 6e 20  | p-mime-to-extn.(mime)..."Return. | 
| 119a0 |  74 68 65 20 66 69 6c 65 20 65 78 74 65 6e 73 69    6f 6e 73 20 45 58 54 4e 20 62 61 73 65 64 20 6f  | the.file.extensions.EXTN.based.o | 
| 119c0 |  6e 20 74 68 65 20 4d 49 4d 45 20 63 6f 6e 74 65    6e 74 20 74 79 70 65 2e 22 0a 20 20 28 6d 61 69  | n.the.MIME.content.type."...(mai | 
| 119e0 |  6c 63 61 70 2d 70 61 72 73 65 2d 6d 69 6d 65 74    79 70 65 73 29 0a 20 20 28 61 64 64 2d 74 6f 2d  | lcap-parse-mimetypes)...(add-to- | 
| 11a00 |  6c 69 73 74 20 27 6d 61 69 6c 63 61 70 2d 6d 69    6d 65 2d 65 78 74 65 6e 73 69 6f 6e 73 20 27 28  | list.'mailcap-mime-extensions.'( | 
| 11a20 |  22 2e 6d 64 22 20 2e 20 22 74 65 78 74 2f 78 2d    6d 61 72 6b 64 6f 77 6e 22 29 29 0a 20 20 28 69  | ".md"..."text/x-markdown"))...(i | 
| 11a40 |  66 20 28 73 74 72 69 6e 67 70 20 6d 69 6d 65 29    0a 20 20 20 20 20 20 28 6c 65 74 20 28 28 65 78  | f.(stringp.mime).......(let.((ex | 
| 11a60 |  74 20 28 63 61 72 20 28 72 61 73 73 6f 63 20 28    64 6f 77 6e 63 61 73 65 20 6d 69 6d 65 29 20 6d  | t.(car.(rassoc.(downcase.mime).m | 
| 11a80 |  61 69 6c 63 61 70 2d 6d 69 6d 65 2d 65 78 74 65    6e 73 69 6f 6e 73 29 29 29 29 0a 20 20 20 20 20  | ailcap-mime-extensions))))...... | 
| 11aa0 |  20 20 20 28 69 66 20 28 73 74 72 69 6e 67 2d 65    6d 70 74 79 2d 70 20 65 78 74 29 0a 20 20 20 20  | ...(if.(string-empty-p.ext)..... | 
| 11ac0 |  20 20 20 20 20 20 20 20 22 2e 74 78 74 22 0a 20    20 20 20 20 20 20 20 20 20 65 78 74 29 29 0a 20  | ........".txt"...........ext)).. | 
| 11ae0 |  20 20 20 22 2e 74 78 74 22 29 29 0a 0a 28 70 72    6f 76 69 64 65 20 27 63 61 6c 69 62 72 65 64 62  | ...".txt"))..(provide.'calibredb | 
| 11b00 |  2d 66 6f 6c 64 65 72 29 0a 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | -folder)........................ | 
| 11b20 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 11b40 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 11b60 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 11b80 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 11ba0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 11bc0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 11be0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 11c00 |  63 61 6c 69 62 72 65 64 62 2d 32 30 32 35 30 37    30 35 2e 32 32 35 2f 63 61 6c 69 62 72 65 64 62  | calibredb-20250705.225/calibredb | 
| 11c20 |  2d 68 65 6c 6d 2e 65 6c 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | -helm.el........................ | 
| 11c40 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 11c60 |  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 | 
| 11c80 |  30 30 31 32 32 36 35 00 30 30 30 30 30 30 30 30    30 30 30 00 30 31 36 30 31 37 00 20 30 00 00 00  | 0012265.00000000000.016017..0... | 
| 11ca0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 11cc0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 11ce0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 11d00 |  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................... | 
| 11d20 |  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................... | 
| 11d40 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 11d60 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 11d80 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 11da0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 11dc0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 11de0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 11e00 |  3b 3b 3b 20 63 61 6c 69 62 72 65 64 62 2d 73 68    6f 77 2e 65 6c 20 2d 2d 2d 20 48 65 6c 6d 20 66  | ;;;.calibredb-show.el.---.Helm.f | 
| 11e20 |  6f 72 20 63 61 6c 69 62 72 65 64 62 20 2d 2a 2d    20 6c 65 78 69 63 61 6c 2d 62 69 6e 64 69 6e 67  | or.calibredb.-*-.lexical-binding | 
| 11e40 |  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 29 20 32 30 32 30 20  | :.t;.-*-..;;.Copyright.(C).2020. | 
| 11e60 |  44 61 6d 6f 6e 20 43 68 61 6e 0a 0a 3b 3b 20 41    75 74 68 6f 72 3a 20 44 61 6d 6f 6e 20 43 68 61  | Damon.Chan..;;.Author:.Damon.Cha | 
| 11e80 |  6e 20 3c 65 6c 65 63 6d 69 6e 67 40 67 6d 61 69    6c 2e 63 6f 6d 3e 0a 3b 3b 20 55 52 4c 3a 20 68  | n.<elecming@gmail.com>.;;.URL:.h | 
| 11ea0 |  74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f    6d 2f 63 68 65 6e 79 61 6e 6d 69 6e 67 2f 63 61  | ttps://github.com/chenyanming/ca | 
| 11ec0 |  6c 69 62 72 65 64 62 2e 65 6c 0a 3b 3b 20 4b 65    79 77 6f 72 64 73 3a 20 74 6f 6f 6c 73 0a 0a 3b  | libredb.el.;;.Keywords:.tools..; | 
| 11ee0 |  3b 20 54 68 69 73 20 66 69 6c 65 20 69 73 20 4e    4f 54 20 70 61 72 74 20 6f 66 20 47 4e 55 20 45  | ;.This.file.is.NOT.part.of.GNU.E | 
| 11f00 |  6d 61 63 73 2e 0a 0a 3b 3b 20 54 68 69 73 20 70    72 6f 67 72 61 6d 20 69 73 20 66 72 65 65 20 73  | macs...;;.This.program.is.free.s | 
| 11f20 |  6f 66 74 77 61 72 65 3b 20 79 6f 75 20 63 61 6e    20 72 65 64 69 73 74 72 69 62 75 74 65 20 69 74  | oftware;.you.can.redistribute.it | 
| 11f40 |  20 61 6e 64 2f 6f 72 20 6d 6f 64 69 66 79 0a 3b    3b 20 69 74 20 75 6e 64 65 72 20 74 68 65 20 74  | .and/or.modify.;;.it.under.the.t | 
| 11f60 |  65 72 6d 73 20 6f 66 20 74 68 65 20 47 4e 55 20    47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c  | erms.of.the.GNU.General.Public.L | 
| 11f80 |  69 63 65 6e 73 65 20 61 73 20 70 75 62 6c 69 73    68 65 64 20 62 79 0a 3b 3b 20 74 68 65 20 46 72  | icense.as.published.by.;;.the.Fr | 
| 11fa0 |  65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e    64 61 74 69 6f 6e 2c 20 65 69 74 68 65 72 20 76  | ee.Software.Foundation,.either.v | 
| 11fc0 |  65 72 73 69 6f 6e 20 33 20 6f 66 20 74 68 65 20    4c 69 63 65 6e 73 65 2c 20 6f 72 0a 3b 3b 20 28  | ersion.3.of.the.License,.or.;;.( | 
| 11fe0 |  61 74 20 79 6f 75 72 20 6f 70 74 69 6f 6e 29 20    61 6e 79 20 6c 61 74 65 72 20 76 65 72 73 69 6f  | at.your.option).any.later.versio | 
| 12000 |  6e 2e 0a 0a 3b 3b 20 54 68 69 73 20 70 72 6f 67    72 61 6d 20 69 73 20 64 69 73 74 72 69 62 75 74  | n...;;.This.program.is.distribut | 
| 12020 |  65 64 20 69 6e 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  | ed.in.the.hope.that.it.will.be.u | 
| 12040 |  73 65 66 75 6c 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  | seful,.;;.but.WITHOUT.ANY.WARRAN | 
| 12060 |  54 59 3b 20 77 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  | TY;.without.even.the.implied.war | 
| 12080 |  72 61 6e 74 79 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  | ranty.of.;;.MERCHANTABILITY.or.F | 
| 120a0 |  49 54 4e 45 53 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  | ITNESS.FOR.A.PARTICULAR.PURPOSE. | 
| 120c0 |  20 20 53 65 65 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  | ..See.the.;;.GNU.General.Public. | 
| 120e0 |  4c 69 63 65 6e 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  | License.for.more.details...;;.Yo | 
| 12100 |  75 20 73 68 6f 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  | u.should.have.received.a.copy.of | 
| 12120 |  20 74 68 65 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 73 65 0a  | .the.GNU.General.Public.License. | 
| 12140 |  3b 3b 20 61 6c 6f 6e 67 20 77 69 74 68 20 74 68    69 73 20 70 72 6f 67 72 61 6d 2e 20 20 49 66 20  | ;;.along.with.this.program...If. | 
| 12160 |  6e 6f 74 2c 20 73 65 65 20 3c 68 74 74 70 73 3a    2f 2f 77 77 77 2e 67 6e 75 2e 6f 72 67 2f 6c 69  | not,.see.<https://www.gnu.org/li | 
| 12180 |  63 65 6e 73 65 73 2f 3e 2e 0a 0a 3b 3b 3b 20 43    6f 6d 6d 65 6e 74 61 72 79 3a 0a 0a 3b 3b 3b 20  | censes/>...;;;.Commentary:..;;;. | 
| 121a0 |  43 6f 64 65 3a 0a 0a 28 72 65 71 75 69 72 65 20    27 63 61 6c 69 62 72 65 64 62 2d 63 6f 72 65 29  | Code:..(require.'calibredb-core) | 
| 121c0 |  0a 0a 0a 28 64 65 63 6c 61 72 65 2d 66 75 6e 63    74 69 6f 6e 20 63 61 6c 69 62 72 65 64 62 2d 73  | ...(declare-function.calibredb-s | 
| 121e0 |  65 74 2d 6d 65 74 61 64 61 74 61 2d 2d 74 61 67    73 20 22 63 61 6c 69 62 72 65 64 62 2d 75 74 69  | et-metadata--tags."calibredb-uti | 
| 12200 |  6c 73 2e 65 6c 22 29 0a 28 64 65 63 6c 61 72 65    2d 66 75 6e 63 74 69 6f 6e 20 63 61 6c 69 62 72  | ls.el").(declare-function.calibr | 
| 12220 |  65 64 62 2d 73 65 74 2d 6d 65 74 61 64 61 74 61    2d 2d 63 6f 6d 6d 65 6e 74 73 20 22 63 61 6c 69  | edb-set-metadata--comments."cali | 
| 12240 |  62 72 65 64 62 2d 75 74 69 6c 73 2e 65 6c 22 29    0a 28 64 65 63 6c 61 72 65 2d 66 75 6e 63 74 69  | bredb-utils.el").(declare-functi | 
| 12260 |  6f 6e 20 63 61 6c 69 62 72 65 64 62 2d 6f 70 65    6e 2d 66 69 6c 65 2d 77 69 74 68 2d 64 65 66 61  | on.calibredb-open-file-with-defa | 
| 12280 |  75 6c 74 2d 74 6f 6f 6c 20 22 63 61 6c 69 62 72    65 64 62 2d 75 74 69 6c 73 2e 65 6c 22 29 0a 28  | ult-tool."calibredb-utils.el").( | 
| 122a0 |  64 65 63 6c 61 72 65 2d 66 75 6e 63 74 69 6f 6e    20 63 61 6c 69 62 72 65 64 62 2d 73 68 6f 77 2d  | declare-function.calibredb-show- | 
| 122c0 |  65 6e 74 72 79 20 22 63 61 6c 69 62 72 65 64 62    2d 73 65 61 72 63 68 2e 65 6c 22 29 0a 28 64 65  | entry."calibredb-search.el").(de | 
| 122e0 |  63 6c 61 72 65 2d 66 75 6e 63 74 69 6f 6e 20 63    61 6c 69 62 72 65 64 62 2d 67 65 74 2d 66 69 6c  | clare-function.calibredb-get-fil | 
| 12300 |  65 2d 70 61 74 68 20 22 63 61 6c 69 62 72 65 64    62 2d 75 74 69 6c 73 2e 65 6c 22 29 0a 0a 28 64  | e-path."calibredb-utils.el")..(d | 
| 12320 |  65 66 76 61 72 20 63 61 6c 69 62 72 65 64 62 2d    68 65 6c 6d 2d 6d 61 70 0a 20 20 28 69 66 20 28  | efvar.calibredb-helm-map...(if.( | 
| 12340 |  62 6f 75 6e 64 70 20 27 68 65 6c 6d 2d 6d 61 70    29 0a 20 20 20 20 20 20 28 6c 65 74 20 28 28 6d  | boundp.'helm-map).......(let.((m | 
| 12360 |  61 70 20 28 6d 61 6b 65 2d 73 70 61 72 73 65 2d    6b 65 79 6d 61 70 29 29 29 0a 20 20 20 20 20 20  | ap.(make-sparse-keymap)))....... | 
| 12380 |  20 20 28 73 65 74 2d 6b 65 79 6d 61 70 2d 70 61    72 65 6e 74 20 6d 61 70 20 68 65 6c 6d 2d 6d 61  | ..(set-keymap-parent.map.helm-ma | 
| 123a0 |  70 29 0a 20 20 20 20 20 20 20 20 28 64 65 66 69    6e 65 2d 6b 65 79 20 6d 61 70 20 22 5c 4d 2d 74  | p).........(define-key.map."\M-t | 
| 123c0 |  22 20 23 27 63 61 6c 69 62 72 65 64 62 2d 73 65    74 2d 6d 65 74 61 64 61 74 61 2d 2d 74 61 67 73  | ".#'calibredb-set-metadata--tags | 
| 123e0 |  2d 31 29 0a 20 20 20 20 20 20 20 20 28 64 65 66    69 6e 65 2d 6b 65 79 20 6d 61 70 20 22 5c 4d 2d  | -1).........(define-key.map."\M- | 
| 12400 |  63 22 20 23 27 63 61 6c 69 62 72 65 64 62 2d 73    65 74 2d 6d 65 74 61 64 61 74 61 2d 2d 63 6f 6d  | c".#'calibredb-set-metadata--com | 
| 12420 |  6d 65 6e 74 73 2d 31 29 0a 20 20 20 20 20 20 20    20 6d 61 70 29 29 0a 20 20 22 4b 65 79 6d 61 70  | ments-1).........map))..."Keymap | 
| 12440 |  20 66 6f 72 20 60 63 61 6c 69 62 72 65 64 62 2d    66 69 6e 64 2d 68 65 6c 6d 27 2e 22 29 0a 0a 28  | .for.`calibredb-find-helm'.")..( | 
| 12460 |  64 65 66 63 75 73 74 6f 6d 20 63 61 6c 69 62 72    65 64 62 2d 68 65 6c 6d 2d 61 63 74 69 6f 6e 73  | defcustom.calibredb-helm-actions | 
| 12480 |  0a 20 20 28 69 66 20 28 66 62 6f 75 6e 64 70 20    27 68 65 6c 6d 2d 6d 61 6b 65 2d 61 63 74 69 6f  | ...(if.(fboundp.'helm-make-actio | 
| 124a0 |  6e 73 29 0a 20 20 20 20 20 20 28 68 65 6c 6d 2d    6d 61 6b 65 2d 61 63 74 69 6f 6e 73 0a 20 20 20  | ns).......(helm-make-actions.... | 
| 124c0 |  20 20 20 20 22 4f 70 65 6e 20 66 69 6c 65 22 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | ...."Open.file"................. | 
| 124e0 |  20 20 27 63 61 6c 69 62 72 65 64 62 2d 66 69 6e    64 2d 66 69 6c 65 0a 20 20 20 20 20 20 20 22 56  | ..'calibredb-find-file........"V | 
| 12500 |  69 65 77 20 64 65 74 61 69 6c 73 22 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 27 63 61 6c  | iew.details"................'cal | 
| 12520 |  69 62 72 65 64 62 2d 73 68 6f 77 2d 65 6e 74 72    79 0a 20 20 20 20 20 20 20 22 4f 70 65 6e 20 66  | ibredb-show-entry........"Open.f | 
| 12540 |  69 6c 65 20 6f 74 68 65 72 20 66 72 61 6d 65 22    20 20 20 20 20 20 20 27 63 61 6c 69 62 72 65 64  | ile.other.frame".......'calibred | 
| 12560 |  62 2d 66 69 6e 64 2d 66 69 6c 65 2d 6f 74 68 65    72 2d 66 72 61 6d 65 0a 20 20 20 20 20 20 20 22  | b-find-file-other-frame........" | 
| 12580 |  4f 70 65 6e 20 66 69 6c 65 20 77 69 74 68 20 64    65 66 61 75 6c 74 20 74 6f 6f 6c 22 20 28 6c 61  | Open.file.with.default.tool".(la | 
| 125a0 |  6d 62 64 61 20 28 63 61 6e 64 69 64 61 74 65 29    0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | mbda.(candidate)................ | 
| 125c0 |  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 61 6c 69 62 72  | .........................(calibr | 
| 125e0 |  65 64 62 2d 6f 70 65 6e 2d 66 69 6c 65 2d 77 69    74 68 2d 64 65 66 61 75 6c 74 2d 74 6f 6f 6c 20  | edb-open-file-with-default-tool. | 
| 12600 |  6e 69 6c 20 63 61 6e 64 69 64 61 74 65 29 29 0a    20 20 20 20 20 20 20 22 4f 70 65 6e 20 43 6f 76  | nil.candidate))........"Open.Cov | 
| 12620 |  65 72 20 50 61 67 65 22 20 20 20 20 20 20 20 20    20 20 20 20 20 27 63 61 6c 69 62 72 65 64 62 2d  | er.Page".............'calibredb- | 
| 12640 |  66 69 6e 64 2d 63 6f 76 65 72 0a 20 20 20 20 20    20 20 22 53 65 74 20 74 61 67 73 22 20 20 20 20  | find-cover........"Set.tags".... | 
| 12660 |  20 20 20 20 20 20 27 63 61 6c 69 62 72 65 64 62    2d 73 65 74 2d 6d 65 74 61 64 61 74 61 2d 2d 74  | ......'calibredb-set-metadata--t | 
| 12680 |  61 67 73 0a 20 20 20 20 20 20 20 22 53 65 74 20    63 6f 6d 6d 65 6e 74 73 22 20 20 20 20 20 20 27  | ags........"Set.comments"......' | 
| 126a0 |  63 61 6c 69 62 72 65 64 62 2d 73 65 74 2d 6d 65    74 61 64 61 74 61 2d 2d 63 6f 6d 6d 65 6e 74 73  | calibredb-set-metadata--comments | 
| 126c0 |  0a 20 20 20 20 20 20 20 22 4c 69 73 74 20 66 69    6c 65 64 73 22 20 27 63 61 6c 69 62 72 65 64 62  | ........"List.fileds".'calibredb | 
| 126e0 |  2d 73 65 74 2d 6d 65 74 61 64 61 74 61 2d 2d 6c    69 73 74 2d 66 69 65 6c 64 73 0a 20 20 20 20 20  | -set-metadata--list-fields...... | 
| 12700 |  20 20 22 53 68 6f 77 20 6d 65 74 61 64 61 74 61    22 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | .."Show.metadata"............... | 
| 12720 |  27 63 61 6c 69 62 72 65 64 62 2d 73 68 6f 77 2d    6d 65 74 61 64 61 74 61 0a 20 20 20 20 20 20 20  | 'calibredb-show-metadata........ | 
| 12740 |  22 45 78 70 6f 72 74 22 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 63  | "Export"......................'c | 
| 12760 |  61 6c 69 62 72 65 64 62 2d 65 78 70 6f 72 74 0a    20 20 20 20 20 20 20 22 52 65 6d 6f 76 65 22 20  | alibredb-export........"Remove". | 
| 12780 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 27 63 61 6c 69 62 72 65 64 62 2d  | .....................'calibredb- | 
| 127a0 |  72 65 6d 6f 76 65 0a 20 20 20 20 20 20 20 22 49    6e 73 65 72 74 20 61 6e 20 6f 72 67 20 6c 69 6e  | remove........"Insert.an.org.lin | 
| 127c0 |  6b 22 20 20 20 20 20 20 20 20 20 20 28 6c 61 6d    62 64 61 20 28 63 61 6e 64 69 64 61 74 65 29 0a  | k"..........(lambda.(candidate). | 
| 127e0 |  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  | ................................ | 
| 12800 |  20 20 20 20 20 20 20 28 75 6e 6c 65 73 73 20 28    66 65 61 74 75 72 65 70 20 27 6f 72 67 29 0a 20  | .......(unless.(featurep.'org).. | 
| 12820 |  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  | ................................ | 
| 12840 |  20 20 20 20 20 20 20 20 28 72 65 71 75 69 72 65    20 27 6f 72 67 29 29 0a 20 20 20 20 20 20 20 20  | ........(require.'org))......... | 
| 12860 |  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 28  | ...............................( | 
| 12880 |  69 66 20 28 66 62 6f 75 6e 64 70 20 27 6f 72 67    2d 69 6e 73 65 72 74 2d 6c 69 6e 6b 29 0a 20 20  | if.(fboundp.'org-insert-link)... | 
| 128a0 |  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  | ................................ | 
| 128c0 |  20 20 20 20 20 20 20 20 20 28 6f 72 67 2d 69 6e    73 65 72 74 2d 6c 69 6e 6b 20 6e 69 6c 20 28 63  | .........(org-insert-link.nil.(c | 
| 128e0 |  61 6c 69 62 72 65 64 62 2d 67 65 74 2d 66 69 6c    65 2d 70 61 74 68 20 63 61 6e 64 69 64 61 74 65  | alibredb-get-file-path.candidate | 
| 12900 |  20 74 29 20 28 63 61 6c 69 62 72 65 64 62 2d 67    65 74 61 74 74 72 20 63 61 6e 64 69 64 61 74 65  | .t).(calibredb-getattr.candidate | 
| 12920 |  20 3a 62 6f 6f 6b 2d 74 69 74 6c 65 29 29 29 29    0a 20 20 20 20 20 20 20 22 4d 61 69 6c 20 41 64  | .:book-title))))........"Mail.Ad | 
| 12940 |  64 20 61 74 74 61 63 68 6d 65 6e 74 22 20 20 20    20 20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 63  | d.attachment".........(lambda.(c | 
| 12960 |  61 6e 64 69 64 61 74 65 29 0a 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | andidate)....................... | 
| 12980 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 28 6d 61 69 6c 2d 61 64 64 2d 61 74 74 61 63  | .................(mail-add-attac | 
| 129a0 |  68 6d 65 6e 74 20 28 63 61 6c 69 62 72 65 64 62    2d 67 65 74 2d 66 69 6c 65 2d 70 61 74 68 20 63  | hment.(calibredb-get-file-path.c | 
| 129c0 |  61 6e 64 69 64 61 74 65 20 74 29 29 29 29 29 0a    20 20 22 44 65 66 61 75 6c 74 20 61 63 74 69 6f  | andidate.t)))))..."Default.actio | 
| 129e0 |  6e 73 20 66 6f 72 20 63 61 6c 69 62 72 65 64 62    20 68 65 6c 6d 2e 22 0a 20 20 3a 67 72 6f 75 70  | ns.for.calibredb.helm."...:group | 
| 12a00 |  20 27 63 61 6c 69 62 72 65 64 62 0a 20 20 3a 74    79 70 65 20 27 28 61 6c 69 73 74 20 3a 6b 65 79  | .'calibredb...:type.'(alist.:key | 
| 12a20 |  2d 74 79 70 65 20 73 74 72 69 6e 67 20 3a 76 61    6c 75 65 2d 74 79 70 65 20 66 75 6e 63 74 69 6f  | -type.string.:value-type.functio | 
| 12a40 |  6e 29 29 0a 0a 28 64 65 66 75 6e 20 63 61 6c 69    62 72 65 64 62 2d 68 65 6c 6d 2d 72 65 61 64 20  | n))..(defun.calibredb-helm-read. | 
| 12a60 |  28 29 0a 20 20 22 48 65 6c 6d 20 72 65 61 64 20    66 6f 72 20 63 61 6c 69 62 72 65 64 62 2e 22 0a  | ()..."Helm.read.for.calibredb.". | 
| 12a80 |  20 20 28 77 68 65 6e 20 28 66 62 6f 75 6e 64 70    20 27 68 65 6c 6d 29 0a 20 20 20 20 28 77 68 65  | ..(when.(fboundp.'helm).....(whe | 
| 12aa0 |  6e 20 28 67 65 74 2d 62 75 66 66 65 72 20 22 2a    68 65 6c 6d 20 61 63 74 69 6f 6e 2a 22 29 0a 20  | n.(get-buffer."*helm.action*").. | 
| 12ac0 |  20 20 20 20 20 28 6b 69 6c 6c 2d 62 75 66 66 65    72 20 22 2a 68 65 6c 6d 20 61 63 74 69 6f 6e 2a  | .....(kill-buffer."*helm.action* | 
| 12ae0 |  22 29 29 0a 20 20 20 20 28 75 6e 77 69 6e 64 2d    70 72 6f 74 65 63 74 0a 20 20 20 20 20 20 20 20  | ")).....(unwind-protect......... | 
| 12b00 |  28 68 65 6c 6d 20 3a 73 6f 75 72 63 65 73 20 28    69 66 20 28 66 62 6f 75 6e 64 70 20 27 68 65 6c  | (helm.:sources.(if.(fboundp.'hel | 
| 12b20 |  6d 2d 62 75 69 6c 64 2d 73 79 6e 63 2d 73 6f 75    72 63 65 29 0a 20 20 20 20 20 20 20 20 20 20 20  | m-build-sync-source)............ | 
| 12b40 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    28 68 65 6c 6d 2d 62 75 69 6c 64 2d 73 79 6e 63  | ................(helm-build-sync | 
| 12b60 |  2d 73 6f 75 72 63 65 20 22 63 61 6c 69 62 72 65    64 62 22 0a 20 20 20 20 20 20 20 20 20 20 20 20  | -source."calibredb"............. | 
| 12b80 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 3a 68 65 61 64 65 72 2d 6e 61 6d 65 20 28 6c  | .................:header-name.(l | 
| 12ba0 |  61 6d 62 64 61 20 28 6e 61 6d 65 29 0a 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | ambda.(name).................... | 
| 12bc0 |  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 6f 6e 63 61 74  | .........................(concat | 
| 12be0 |  20 6e 61 6d 65 20 22 20 69 6e 20 5b 22 20 63 61    6c 69 62 72 65 64 62 2d 72 6f 6f 74 2d 64 69 72  | .name.".in.[".calibredb-root-dir | 
| 12c00 |  20 22 5d 22 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  | ."]")).......................... | 
| 12c20 |  20 20 20 20 3a 63 61 6e 64 69 64 61 74 65 73 20    28 6c 61 6d 62 64 61 20 28 29 0a 20 20 20 20 20  | ....:candidates.(lambda.()...... | 
| 12c40 |  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  | ................................ | 
| 12c60 |  20 20 20 20 20 20 28 63 61 6c 69 62 72 65 64 62    2d 63 61 6e 64 69 64 61 74 65 73 29 29 0a 20 20  | ......(calibredb-candidates))... | 
| 12c80 |  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 3b 3b 20 3a 66  | ...........................;;.:f | 
| 12ca0 |  69 6c 74 65 72 65 64 2d 63 61 6e 64 69 64 61 74    65 2d 74 72 61 6e 73 66 6f 72 6d 65 72 20 27 68  | iltered-candidate-transformer.'h | 
| 12cc0 |  65 6c 6d 2d 66 69 6e 64 75 74 69 6c 73 2d 74 72    61 6e 73 66 6f 72 6d 65 72 0a 20 20 20 20 20 20  | elm-findutils-transformer....... | 
| 12ce0 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 3b 3b 20 3a 61 63 74 69 6f  | .......................;;.:actio | 
| 12d00 |  6e 2d 74 72 61 6e 73 66 6f 72 6d 65 72 20 27 68    65 6c 6d 2d 74 72 61 6e 73 66 6f 72 6d 2d 66 69  | n-transformer.'helm-transform-fi | 
| 12d20 |  6c 65 2d 6c 6f 61 64 2d 65 6c 0a 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | le-load-el...................... | 
| 12d40 |  20 20 20 20 20 20 20 20 3a 70 65 72 73 69 73 74    65 6e 74 2d 61 63 74 69 6f 6e 20 27 63 61 6c 69  | ........:persistent-action.'cali | 
| 12d60 |  62 72 65 64 62 2d 76 69 65 77 2d 2d 68 65 6c 6d    0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | bredb-view--helm................ | 
| 12d80 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 61    63 74 69 6f 6e 20 27 63 61 6c 69 62 72 65 64 62  | ..............:action.'calibredb | 
| 12da0 |  2d 68 65 6c 6d 2d 61 63 74 69 6f 6e 73 0a 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | -helm-actions................... | 
| 12dc0 |  20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 3a 68    65 6c 70 2d 6d 65 73 73 61 67 65 20 27 68 65 6c  | ...........;;.:help-message.'hel | 
| 12de0 |  6d 2d 67 65 6e 65 72 69 63 2d 66 69 6c 65 2d 68    65 6c 70 2d 6d 65 73 73 61 67 65 0a 20 20 20 20  | m-generic-file-help-message..... | 
| 12e00 |  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 3a 6b 65 79 6d 61 70  | .........................:keymap | 
| 12e20 |  20 63 61 6c 69 62 72 65 64 62 2d 68 65 6c 6d 2d    6d 61 70 0a 20 20 20 20 20 20 20 20 20 20 20 20  | .calibredb-helm-map............. | 
| 12e40 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 3a 63 61 6e 64 69 64 61 74 65 2d 6e 75 6d 62  | .................:candidate-numb | 
| 12e60 |  65 72 2d 6c 69 6d 69 74 20 39 39 39 39 0a 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | er-limit.9999................... | 
| 12e80 |  20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 3a 72    65 71 75 69 72 65 73 2d 70 61 74 74 65 72 6e 20  | ...........;;.:requires-pattern. | 
| 12ea0 |  33 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 20 20 29  | 3..............................) | 
| 12ec0 |  29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20    3a 62 75 66 66 65 72 20 22 2a 68 65 6c 6d 20 63  | )...............:buffer."*helm.c | 
| 12ee0 |  61 6c 69 62 72 65 64 62 2a 22 29 20 29 29 29 0a    0a 28 64 65 66 75 6e 20 63 61 6c 69 62 72 65 64  | alibredb*").)))..(defun.calibred | 
| 12f00 |  62 2d 66 69 6e 64 2d 68 65 6c 6d 20 28 29 0a 20    20 22 55 73 65 20 68 65 6c 6d 20 74 6f 20 6c 69  | b-find-helm.()..."Use.helm.to.li | 
| 12f20 |  73 74 20 61 6c 6c 20 65 62 6f 6f 6b 73 20 64 65    74 61 69 6c 73 2e 22 0a 20 20 28 69 6e 74 65 72  | st.all.ebooks.details."...(inter | 
| 12f40 |  61 63 74 69 76 65 29 0a 20 20 28 63 61 6c 69 62    72 65 64 62 2d 68 65 6c 6d 2d 72 65 61 64 29 29  | active)...(calibredb-helm-read)) | 
| 12f60 |  0a 0a 28 64 65 66 75 6e 20 63 61 6c 69 62 72 65    64 62 2d 73 65 74 2d 6d 65 74 61 64 61 74 61 2d  | ..(defun.calibredb-set-metadata- | 
| 12f80 |  2d 74 61 67 73 2d 31 20 28 29 0a 20 20 22 53 65    74 20 6d 65 74 61 64 61 74 61 20 74 61 67 20 66  | -tags-1.()..."Set.metadata.tag.f | 
| 12fa0 |  75 6e 63 74 69 6f 6e 20 75 73 65 64 20 69 6e 20    68 65 6c 6d 20 61 63 74 69 6f 6e 2e 22 0a 20 20  | unction.used.in.helm.action."... | 
| 12fc0 |  28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20    28 69 66 20 28 66 62 6f 75 6e 64 70 20 27 77 69  | (interactive)...(if.(fboundp.'wi | 
| 12fe0 |  74 68 2d 68 65 6c 6d 2d 61 6c 69 76 65 2d 70 29    0a 20 20 20 20 20 20 28 77 69 74 68 2d 68 65 6c  | th-helm-alive-p).......(with-hel | 
| 13000 |  6d 2d 61 6c 69 76 65 2d 70 0a 20 20 20 20 20 20    20 20 28 69 66 20 28 66 62 6f 75 6e 64 70 20 27  | m-alive-p.........(if.(fboundp.' | 
| 13020 |  68 65 6c 6d 2d 65 78 69 74 2d 61 6e 64 2d 65 78    65 63 75 74 65 2d 61 63 74 69 6f 6e 29 0a 20 20  | helm-exit-and-execute-action)... | 
| 13040 |  20 20 20 20 20 20 20 20 20 20 28 68 65 6c 6d 2d    65 78 69 74 2d 61 6e 64 2d 65 78 65 63 75 74 65  | ..........(helm-exit-and-execute | 
| 13060 |  2d 61 63 74 69 6f 6e 20 23 27 63 61 6c 69 62 72    65 64 62 2d 73 65 74 2d 6d 65 74 61 64 61 74 61  | -action.#'calibredb-set-metadata | 
| 13080 |  2d 2d 74 61 67 73 29 29 29 29 29 0a 0a 28 64 65    66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d 73 65  | --tags)))))..(defun.calibredb-se | 
| 130a0 |  74 2d 6d 65 74 61 64 61 74 61 2d 2d 63 6f 6d 6d    65 6e 74 73 2d 31 20 28 29 0a 20 20 22 53 65 74  | t-metadata--comments-1.()..."Set | 
| 130c0 |  20 6d 65 74 61 64 61 74 61 20 63 6f 6d 6d 65 6e    74 73 20 66 75 6e 63 74 69 6f 6e 20 75 73 65 64  | .metadata.comments.function.used | 
| 130e0 |  20 69 6e 20 68 65 6c 6d 20 61 63 74 69 6f 6e 73    2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76  | .in.helm.actions."...(interactiv | 
| 13100 |  65 29 0a 20 20 28 69 66 20 28 66 62 6f 75 6e 64    70 20 27 77 69 74 68 2d 68 65 6c 6d 2d 61 6c 69  | e)...(if.(fboundp.'with-helm-ali | 
| 13120 |  76 65 2d 70 29 0a 20 20 20 20 20 20 28 77 69 74    68 2d 68 65 6c 6d 2d 61 6c 69 76 65 2d 70 0a 20  | ve-p).......(with-helm-alive-p.. | 
| 13140 |  20 20 20 20 20 20 20 28 69 66 20 28 66 62 6f 75    6e 64 70 20 27 68 65 6c 6d 2d 65 78 69 74 2d 61  | .......(if.(fboundp.'helm-exit-a | 
| 13160 |  6e 64 2d 65 78 65 63 75 74 65 2d 61 63 74 69 6f    6e 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28  | nd-execute-action).............( | 
| 13180 |  68 65 6c 6d 2d 65 78 69 74 2d 61 6e 64 2d 65 78    65 63 75 74 65 2d 61 63 74 69 6f 6e 20 23 27 63  | helm-exit-and-execute-action.#'c | 
| 131a0 |  61 6c 69 62 72 65 64 62 2d 73 65 74 2d 6d 65 74    61 64 61 74 61 2d 2d 63 6f 6d 6d 65 6e 74 73 29  | alibredb-set-metadata--comments) | 
| 131c0 |  29 29 29 29 0a 0a 28 64 65 66 75 6e 20 63 61 6c    69 62 72 65 64 62 2d 76 69 65 77 2d 2d 68 65 6c  | ))))..(defun.calibredb-view--hel | 
| 131e0 |  6d 20 28 63 61 6e 64 69 64 61 74 65 29 0a 20 20    22 56 69 73 69 74 20 74 68 65 20 63 61 6c 69 62  | m.(candidate)..."Visit.the.calib | 
| 13200 |  72 65 64 62 2d 65 6e 74 72 79 20 77 69 74 68 20    68 65 6c 6d 2e 0a 41 72 67 75 6d 65 6e 74 20 43  | redb-entry.with.helm..Argument.C | 
| 13220 |  41 4e 44 49 44 41 54 45 20 69 73 20 74 68 65 20    73 65 6c 65 63 74 65 64 20 63 61 6e 64 69 64 61  | ANDIDATE.is.the.selected.candida | 
| 13240 |  74 65 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74    69 76 65 29 0a 20 20 28 63 61 6c 69 62 72 65 64  | te."...(interactive)...(calibred | 
| 13260 |  62 2d 73 68 6f 77 2d 65 6e 74 72 79 20 63 61 6e    64 69 64 61 74 65 29 29 0a 0a 28 70 72 6f 76 69  | b-show-entry.candidate))..(provi | 
| 13280 |  64 65 20 27 63 61 6c 69 62 72 65 64 62 2d 68 65    6c 6d 29 0a 0a 3b 3b 3b 20 63 61 6c 69 62 72 65  | de.'calibredb-helm)..;;;.calibre | 
| 132a0 |  64 62 2d 68 65 6c 6d 2e 65 6c 20 65 6e 64 73 20    68 65 72 65 0a 00 00 00 00 00 00 00 00 00 00 00  | db-helm.el.ends.here............ | 
| 132c0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 132e0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 13300 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 13320 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 13340 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 13360 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 13380 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 133a0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 133c0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 133e0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 13400 |  63 61 6c 69 62 72 65 64 62 2d 32 30 32 35 30 37    30 35 2e 32 32 35 2f 63 61 6c 69 62 72 65 64 62  | calibredb-20250705.225/calibredb | 
| 13420 |  2d 69 76 79 2e 65 6c 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | -ivy.el......................... | 
| 13440 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 13460 |  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 | 
| 13480 |  30 30 31 34 35 33 37 00 30 30 30 30 30 30 30 30    30 30 30 00 30 31 35 37 30 35 00 20 30 00 00 00  | 0014537.00000000000.015705..0... | 
| 134a0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 134c0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 134e0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 13500 |  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................... | 
| 13520 |  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................... | 
| 13540 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 13560 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 13580 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 135a0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 135c0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 135e0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 13600 |  3b 3b 3b 20 63 61 6c 69 62 72 65 64 62 2d 69 76    79 2e 65 6c 20 2d 2d 2d 20 49 76 79 2f 63 6f 75  | ;;;.calibredb-ivy.el.---.Ivy/cou | 
| 13620 |  6e 73 65 6c 20 66 6f 72 20 63 61 6c 69 62 72 65    64 62 20 2d 2a 2d 20 6c 65 78 69 63 61 6c 2d 62  | nsel.for.calibredb.-*-.lexical-b | 
| 13640 |  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 29  | inding:.t;.-*-..;;.Copyright.(C) | 
| 13660 |  20 32 30 32 30 20 44 61 6d 6f 6e 20 43 68 61 6e    0a 0a 3b 3b 20 41 75 74 68 6f 72 3a 20 44 61 6d  | .2020.Damon.Chan..;;.Author:.Dam | 
| 13680 |  6f 6e 20 43 68 61 6e 20 3c 65 6c 65 63 6d 69 6e    67 40 67 6d 61 69 6c 2e 63 6f 6d 3e 0a 3b 3b 20  | on.Chan.<elecming@gmail.com>.;;. | 
| 136a0 |  55 52 4c 3a 20 68 74 74 70 73 3a 2f 2f 67 69 74    68 75 62 2e 63 6f 6d 2f 63 68 65 6e 79 61 6e 6d  | URL:.https://github.com/chenyanm | 
| 136c0 |  69 6e 67 2f 63 61 6c 69 62 72 65 64 62 2e 65 6c    0a 3b 3b 20 4b 65 79 77 6f 72 64 73 3a 20 74 6f  | ing/calibredb.el.;;.Keywords:.to | 
| 136e0 |  6f 6c 73 0a 0a 3b 3b 20 54 68 69 73 20 66 69 6c    65 20 69 73 20 4e 4f 54 20 70 61 72 74 20 6f 66  | ols..;;.This.file.is.NOT.part.of | 
| 13700 |  20 47 4e 55 20 45 6d 61 63 73 2e 0a 0a 3b 3b 20    54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20  | .GNU.Emacs...;;.This.program.is. | 
| 13720 |  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 64 69 73 74 72 69 62  | free.software;.you.can.redistrib | 
| 13740 |  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 74 20 75 6e 64 65 72  | ute.it.and/or.modify.;;.it.under | 
| 13760 |  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 65 72 61 6c 20 50 75  | .the.terms.of.the.GNU.General.Pu | 
| 13780 |  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 20 62 79 0a 3b 3b 20  | blic.License.as.published.by.;;. | 
| 137a0 |  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 69 6f 6e 2c 20 65 69  | the.Free.Software.Foundation,.ei | 
| 137c0 |  74 68 65 72 20 76 65 72 73 69 6f 6e 20 33 20 6f    66 20 74 68 65 20 4c 69 63 65 6e 73 65 2c 20 6f  | ther.version.3.of.the.License,.o | 
| 137e0 |  72 0a 3b 3b 20 28 61 74 20 79 6f 75 72 20 6f 70    74 69 6f 6e 29 20 61 6e 79 20 6c 61 74 65 72 20  | r.;;.(at.your.option).any.later. | 
| 13800 |  76 65 72 73 69 6f 6e 2e 0a 0a 3b 3b 20 54 68 69    73 20 70 72 6f 67 72 61 6d 20 69 73 20 64 69 73  | version...;;.This.program.is.dis | 
| 13820 |  74 72 69 62 75 74 65 64 20 69 6e 20 74 68 65 20    68 6f 70 65 20 74 68 61 74 20 69 74 20 77 69 6c  | tributed.in.the.hope.that.it.wil | 
| 13840 |  6c 20 62 65 20 75 73 65 66 75 6c 2c 0a 3b 3b 20    62 75 74 20 57 49 54 48 4f 55 54 20 41 4e 59 20  | l.be.useful,.;;.but.WITHOUT.ANY. | 
| 13860 |  57 41 52 52 41 4e 54 59 3b 20 77 69 74 68 6f 75    74 20 65 76 65 6e 20 74 68 65 20 69 6d 70 6c 69  | WARRANTY;.without.even.the.impli | 
| 13880 |  65 64 20 77 61 72 72 61 6e 74 79 20 6f 66 0a 3b    3b 20 4d 45 52 43 48 41 4e 54 41 42 49 4c 49 54  | ed.warranty.of.;;.MERCHANTABILIT | 
| 138a0 |  59 20 6f 72 20 46 49 54 4e 45 53 53 20 46 4f 52    20 41 20 50 41 52 54 49 43 55 4c 41 52 20 50 55  | Y.or.FITNESS.FOR.A.PARTICULAR.PU | 
| 138c0 |  52 50 4f 53 45 2e 20 20 53 65 65 20 74 68 65 0a    3b 3b 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50  | RPOSE...See.the.;;.GNU.General.P | 
| 138e0 |  75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 66 6f    72 20 6d 6f 72 65 20 64 65 74 61 69 6c 73 2e 0a  | ublic.License.for.more.details.. | 
| 13900 |  0a 3b 3b 20 59 6f 75 20 73 68 6f 75 6c 64 20 68    61 76 65 20 72 65 63 65 69 76 65 64 20 61 20 63  | .;;.You.should.have.received.a.c | 
| 13920 |  6f 70 79 20 6f 66 20 74 68 65 20 47 4e 55 20 47    65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69  | opy.of.the.GNU.General.Public.Li | 
| 13940 |  63 65 6e 73 65 0a 3b 3b 20 61 6c 6f 6e 67 20 77    69 74 68 20 74 68 69 73 20 70 72 6f 67 72 61 6d  | cense.;;.along.with.this.program | 
| 13960 |  2e 20 20 49 66 20 6e 6f 74 2c 20 73 65 65 20 3c    68 74 74 70 73 3a 2f 2f 77 77 77 2e 67 6e 75 2e  | ...If.not,.see.<https://www.gnu. | 
| 13980 |  6f 72 67 2f 6c 69 63 65 6e 73 65 73 2f 3e 2e 0a    0a 3b 3b 3b 20 43 6f 6d 6d 65 6e 74 61 72 79 3a  | org/licenses/>...;;;.Commentary: | 
| 139a0 |  0a 0a 3b 3b 3b 20 43 6f 64 65 3a 0a 0a 28 72 65    71 75 69 72 65 20 27 63 61 6c 69 62 72 65 64 62  | ..;;;.Code:..(require.'calibredb | 
| 139c0 |  2d 63 6f 72 65 29 0a 28 72 65 71 75 69 72 65 20    27 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63  | -core).(require.'calibredb-searc | 
| 139e0 |  68 29 0a 28 72 65 71 75 69 72 65 20 27 63 61 6c    69 62 72 65 64 62 2d 66 61 63 65 73 29 0a 28 72  | h).(require.'calibredb-faces).(r | 
| 13a00 |  65 71 75 69 72 65 20 27 63 61 6c 69 62 72 65 64    62 2d 75 74 69 6c 73 29 0a 0a 28 65 76 61 6c 2d  | equire.'calibredb-utils)..(eval- | 
| 13a20 |  77 68 65 6e 2d 63 6f 6d 70 69 6c 65 20 28 64 65    66 76 61 72 20 63 6f 75 6e 73 65 6c 2d 61 67 2d  | when-compile.(defvar.counsel-ag- | 
| 13a40 |  62 61 73 65 2d 63 6f 6d 6d 61 6e 64 29 29 0a 28    64 65 63 6c 61 72 65 2d 66 75 6e 63 74 69 6f 6e  | base-command)).(declare-function | 
| 13a60 |  20 63 6f 75 6e 73 65 6c 2d 61 67 20 22 63 6f 75    6e 73 65 6c 22 29 0a 0a 28 69 66 20 28 66 62 6f  | .counsel-ag."counsel")..(if.(fbo | 
| 13a80 |  75 6e 64 70 20 27 69 76 79 2d 73 65 74 2d 61 63    74 69 6f 6e 73 29 0a 20 20 20 20 28 69 76 79 2d  | undp.'ivy-set-actions).....(ivy- | 
| 13aa0 |  73 65 74 2d 61 63 74 69 6f 6e 73 0a 20 20 20 20    20 27 63 61 6c 69 62 72 65 64 62 2d 69 76 79 2d  | set-actions......'calibredb-ivy- | 
| 13ac0 |  72 65 61 64 0a 20 20 20 20 20 27 28 28 22 6f 22    20 28 6c 61 6d 62 64 61 20 28 63 61 6e 64 69 64  | read......'(("o".(lambda.(candid | 
| 13ae0 |  61 74 65 29 0a 20 20 20 20 20 20 20 20 20 20 20    20 20 20 28 63 61 6c 69 62 72 65 64 62 2d 66 69  | ate)...............(calibredb-fi | 
| 13b00 |  6e 64 2d 66 69 6c 65 20 28 63 64 72 20 63 61 6e    64 69 64 61 74 65 29 29 29 20 22 4f 70 65 6e 22  | nd-file.(cdr.candidate)))."Open" | 
| 13b20 |  29 0a 20 20 20 20 20 20 20 28 22 4f 22 20 28 6c    61 6d 62 64 61 20 28 63 61 6e 64 69 64 61 74 65  | )........("O".(lambda.(candidate | 
| 13b40 |  29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20    28 63 61 6c 69 62 72 65 64 62 2d 66 69 6e 64 2d  | )...............(calibredb-find- | 
| 13b60 |  66 69 6c 65 2d 6f 74 68 65 72 2d 66 72 61 6d 65    20 28 63 64 72 20 63 61 6e 64 69 64 61 74 65 29  | file-other-frame.(cdr.candidate) | 
| 13b80 |  29 29 20 22 46 69 6e 64 20 66 69 6c 65 20 6f 74    68 65 72 20 66 72 61 6d 65 22 29 0a 20 20 20 20  | ))."Find.file.other.frame")..... | 
| 13ba0 |  20 20 20 28 22 76 22 20 28 6c 61 6d 62 64 61 20    28 63 61 6e 64 69 64 61 74 65 29 0a 20 20 20 20  | ...("v".(lambda.(candidate)..... | 
| 13bc0 |  20 20 20 20 20 20 20 20 20 20 28 63 61 6c 69 62    72 65 64 62 2d 73 68 6f 77 2d 65 6e 74 72 79 20  | ..........(calibredb-show-entry. | 
| 13be0 |  28 63 64 72 20 63 61 6e 64 69 64 61 74 65 29 29    29 20 22 56 69 65 77 20 64 65 74 61 69 6c 73 22  | (cdr.candidate)))."View.details" | 
| 13c00 |  29 0a 20 20 20 20 20 20 20 28 22 56 22 20 28 6c    61 6d 62 64 61 20 28 63 61 6e 64 69 64 61 74 65  | )........("V".(lambda.(candidate | 
| 13c20 |  29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20    28 63 61 6c 69 62 72 65 64 62 2d 6f 70 65 6e 2d  | )...............(calibredb-open- | 
| 13c40 |  66 69 6c 65 2d 77 69 74 68 2d 64 65 66 61 75 6c    74 2d 74 6f 6f 6c 20 28 63 64 72 20 63 61 6e 64  | file-with-default-tool.(cdr.cand | 
| 13c60 |  69 64 61 74 65 29 29 29 20 22 4f 70 65 6e 20 77    69 74 68 20 64 65 66 61 75 6c 74 20 74 6f 6f 6c  | idate)))."Open.with.default.tool | 
| 13c80 |  22 29 0a 20 20 20 20 20 20 20 28 22 64 22 20 28    6c 61 6d 62 64 61 20 28 63 61 6e 64 69 64 61 74  | ")........("d".(lambda.(candidat | 
| 13ca0 |  65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20    20 28 63 61 6c 69 62 72 65 64 62 2d 72 65 6d 6f  | e)...............(calibredb-remo | 
| 13cc0 |  76 65 20 28 63 64 72 20 63 61 6e 64 69 64 61 74    65 29 29 29 20 22 44 65 6c 65 74 65 20 65 62 6f  | ve.(cdr.candidate)))."Delete.ebo | 
| 13ce0 |  6f 6b 22 29 0a 20 20 20 20 20 20 20 28 22 74 22    20 28 6c 61 6d 62 64 61 20 28 63 61 6e 64 69 64  | ok")........("t".(lambda.(candid | 
| 13d00 |  61 74 65 29 0a 20 20 20 20 20 20 20 20 20 20 20    20 20 20 28 63 61 6c 69 62 72 65 64 62 2d 73 65  | ate)...............(calibredb-se | 
| 13d20 |  74 2d 6d 65 74 61 64 61 74 61 2d 2d 74 61 67 73    20 28 63 64 72 20 63 61 6e 64 69 64 61 74 65 29  | t-metadata--tags.(cdr.candidate) | 
| 13d40 |  29 29 20 22 54 61 67 20 65 62 6f 6f 6b 22 29 0a    20 20 20 20 20 20 20 28 22 63 22 20 28 6c 61 6d  | ))."Tag.ebook")........("c".(lam | 
| 13d60 |  62 64 61 20 28 63 61 6e 64 69 64 61 74 65 29 0a    20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63  | bda.(candidate)...............(c | 
| 13d80 |  61 6c 69 62 72 65 64 62 2d 73 65 74 2d 6d 65 74    61 64 61 74 61 2d 2d 63 6f 6d 6d 65 6e 74 73 20  | alibredb-set-metadata--comments. | 
| 13da0 |  28 63 64 72 20 63 61 6e 64 69 64 61 74 65 29 29    29 22 43 6f 6d 6d 65 6e 74 20 65 62 6f 6f 6b 22  | (cdr.candidate)))"Comment.ebook" | 
| 13dc0 |  29 0a 20 20 20 20 20 20 20 28 22 65 22 20 28 6c    61 6d 62 64 61 20 28 63 61 6e 64 69 64 61 74 65  | )........("e".(lambda.(candidate | 
| 13de0 |  29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20    28 63 61 6c 69 62 72 65 64 62 2d 65 78 70 6f 72  | )...............(calibredb-expor | 
| 13e00 |  74 20 28 63 64 72 20 63 61 6e 64 69 64 61 74 65    29 29 29 20 22 45 78 70 6f 72 74 22 29 0a 20 20  | t.(cdr.candidate)))."Export")... | 
| 13e20 |  20 20 20 20 20 28 22 6d 22 20 28 6c 61 6d 62 64    61 20 28 63 61 6e 64 69 64 61 74 65 29 0a 20 20  | .....("m".(lambda.(candidate)... | 
| 13e40 |  20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 69    6c 2d 61 64 64 2d 61 74 74 61 63 68 6d 65 6e 74  | ............(mail-add-attachment | 
| 13e60 |  20 28 63 61 6c 69 62 72 65 64 62 2d 67 65 74 2d    66 69 6c 65 2d 70 61 74 68 20 28 63 64 72 20 63  | .(calibredb-get-file-path.(cdr.c | 
| 13e80 |  61 6e 64 69 64 61 74 65 29 20 74 29 29 29 20 22    4d 61 69 6c 20 61 64 64 20 61 74 74 61 63 68 6d  | andidate).t)))."Mail.add.attachm | 
| 13ea0 |  65 6e 74 22 29 0a 20 20 20 20 20 20 20 28 22 69    22 20 28 6c 61 6d 62 64 61 20 28 63 61 6e 64 69  | ent")........("i".(lambda.(candi | 
| 13ec0 |  64 61 74 65 29 0a 20 20 20 20 20 20 20 20 20 20    20 20 20 20 28 75 6e 6c 65 73 73 20 28 66 65 61  | date)...............(unless.(fea | 
| 13ee0 |  74 75 72 65 70 20 27 6f 72 67 29 0a 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 28 72 65 71  | turep.'org).................(req | 
| 13f00 |  75 69 72 65 20 27 6f 72 67 29 29 0a 20 20 20 20    20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 66  | uire.'org))...............(if.(f | 
| 13f20 |  62 6f 75 6e 64 70 20 27 6f 72 67 2d 69 6e 73 65    72 74 2d 6c 69 6e 6b 29 0a 20 20 20 20 20 20 20  | boundp.'org-insert-link)........ | 
| 13f40 |  20 20 20 20 20 20 20 20 20 20 20 28 6f 72 67 2d    69 6e 73 65 72 74 2d 6c 69 6e 6b 20 6e 69 6c 20  | ...........(org-insert-link.nil. | 
| 13f60 |  28 63 61 6c 69 62 72 65 64 62 2d 67 65 74 2d 66    69 6c 65 2d 70 61 74 68 20 28 63 64 72 20 63 61  | (calibredb-get-file-path.(cdr.ca | 
| 13f80 |  6e 64 69 64 61 74 65 29 20 74 29 20 28 63 61 6c    69 62 72 65 64 62 2d 67 65 74 61 74 74 72 20 28  | ndidate).t).(calibredb-getattr.( | 
| 13fa0 |  63 64 72 20 63 61 6e 64 69 64 61 74 65 29 20 3a    62 6f 6f 6b 2d 74 69 74 6c 65 29 29 20 29 29 20  | cdr.candidate).:book-title)).)). | 
| 13fc0 |  22 49 6e 73 65 72 74 20 61 6e 20 6f 72 67 20 6c    69 6e 6b 22 29 29 29 29 0a 0a 0a 28 64 65 66 75  | "Insert.an.org.link"))))...(defu | 
| 13fe0 |  6e 20 63 61 6c 69 62 72 65 64 62 2d 63 6f 75 6e    73 65 6c 2d 61 64 64 2d 66 69 6c 65 2d 61 63 74  | n.calibredb-counsel-add-file-act | 
| 14000 |  69 6f 6e 20 28 61 72 67 20 66 69 6c 65 29 0a 20    20 22 41 64 64 20 6d 61 72 6b 65 64 20 46 49 4c  | ion.(arg.file)..."Add.marked.FIL | 
| 14020 |  45 73 2e 0a 49 66 20 70 72 65 66 69 78 20 41 52    47 20 69 73 20 6e 6f 6e 2d 6e 69 6c 2c 20 6b 65  | Es..If.prefix.ARG.is.non-nil,.ke | 
| 14040 |  65 70 20 74 68 65 20 66 69 6c 65 73 20 61 66 74    65 72 20 61 64 64 69 6e 67 20 77 69 74 68 6f 75  | ep.the.files.after.adding.withou | 
| 14060 |  74 20 70 72 6f 6d 70 74 2e 22 0a 20 20 28 69 6e    74 65 72 61 63 74 69 76 65 20 22 50 22 29 0a 20  | t.prompt."...(interactive."P").. | 
| 14080 |  20 28 6c 65 74 20 28 28 6f 75 74 70 75 74 20 28    63 61 6c 69 62 72 65 64 62 2d 63 6f 6d 6d 61 6e  | .(let.((output.(calibredb-comman | 
| 140a0 |  64 20 3a 63 6f 6d 6d 61 6e 64 20 22 61 64 64 22    0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | d.:command."add"................ | 
| 140c0 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 3a 69 6e 70 75 74 20 28 73 68 65 6c  | ....................:input.(shel | 
| 140e0 |  6c 2d 71 75 6f 74 65 2d 61 72 67 75 6d 65 6e 74    20 28 65 78 70 61 6e 64 2d 66 69 6c 65 2d 6e 61  | l-quote-argument.(expand-file-na | 
| 14100 |  6d 65 20 66 69 6c 65 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  | me.file))....................... | 
| 14120 |  20 20 20 20 20 20 20 20 20 20 20 20 20 3a 6c 69    62 72 61 72 79 20 28 69 66 20 63 61 6c 69 62 72  | .............:library.(if.calibr | 
| 14140 |  65 64 62 2d 61 64 64 2d 64 75 70 6c 69 63 61 74    65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | edb-add-duplicate............... | 
| 14160 |  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  | ................................ | 
| 14180 |  20 20 28 66 6f 72 6d 61 74 20 22 2d 2d 6c 69 62    72 61 72 79 2d 70 61 74 68 20 25 73 20 2d 64 22  | ..(format."--library-path.%s.-d" | 
| 141a0 |  20 28 63 61 6c 69 62 72 65 64 62 2d 72 6f 6f 74    2d 64 69 72 2d 71 75 6f 74 65 29 29 0a 20 20 20  | .(calibredb-root-dir-quote)).... | 
| 141c0 |  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  | ................................ | 
| 141e0 |  20 20 20 20 20 20 20 20 20 20 20 28 66 6f 72 6d    61 74 20 22 2d 2d 6c 69 62 72 61 72 79 2d 70 61  | ...........(format."--library-pa | 
| 14200 |  74 68 20 25 73 22 20 28 63 61 6c 69 62 72 65 64    62 2d 72 6f 6f 74 2d 64 69 72 2d 71 75 6f 74 65  | th.%s".(calibredb-root-dir-quote | 
| 14220 |  29 29 29 29 29 29 0a 20 20 20 20 28 69 66 20 28    73 2d 63 6f 6e 74 61 69 6e 73 3f 20 22 41 64 64  | )))))).....(if.(s-contains?."Add | 
| 14240 |  65 64 20 62 6f 6f 6b 20 69 64 73 22 20 6f 75 74    70 75 74 29 0a 20 20 20 20 20 20 20 20 28 63 6f  | ed.book.ids".output).........(co | 
| 14260 |  6e 64 20 28 28 73 74 72 69 6e 67 3d 20 63 61 6c    69 62 72 65 64 62 2d 61 64 64 2d 64 65 6c 65 74  | nd.((string=.calibredb-add-delet | 
| 14280 |  65 2d 6f 72 69 67 69 6e 61 6c 2d 66 69 6c 65 20    22 79 65 73 22 29 0a 20 20 20 20 20 20 20 20 20  | e-original-file."yes").......... | 
| 142a0 |  20 20 20 20 20 20 28 69 66 20 61 72 67 20 28 6d    65 73 73 61 67 65 20 22 41 64 64 69 6e 67 20 66  | ......(if.arg.(message."Adding.f | 
| 142c0 |  69 6c 65 73 20 73 75 63 63 65 65 64 65 64 2c 20    66 69 6c 65 73 20 77 65 72 65 20 6b 65 70 74 2e  | iles.succeeded,.files.were.kept. | 
| 142e0 |  22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 28 63 61 6c 69 62 72 65 64 62 2d 6d  | ")..................(calibredb-m | 
| 14300 |  6f 76 65 2d 74 6f 2d 74 72 61 73 68 20 66 69 6c    65 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20  | ove-to-trash.file)))............ | 
| 14320 |  20 20 20 28 28 73 74 72 69 6e 67 3d 20 63 61 6c    69 62 72 65 64 62 2d 61 64 64 2d 64 65 6c 65 74  | ...((string=.calibredb-add-delet | 
| 14340 |  65 2d 6f 72 69 67 69 6e 61 6c 2d 66 69 6c 65 20    22 6e 6f 22 29 29 0a 20 20 20 20 20 20 20 20 20  | e-original-file."no")).......... | 
| 14360 |  20 20 20 20 20 28 74 20 28 75 6e 6c 65 73 73 20    61 72 67 0a 20 20 20 20 20 20 20 20 20 20 20 20  | .....(t.(unless.arg............. | 
| 14380 |  20 20 20 20 20 20 20 28 69 66 20 28 79 65 73 2d    6f 72 2d 6e 6f 2d 70 0a 20 20 20 20 20 20 20 20  | .......(if.(yes-or-no-p......... | 
| 143a0 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    28 63 6f 6e 63 61 74 20 22 46 69 6c 65 20 68 61  | ................(concat."File.ha | 
| 143c0 |  73 20 62 65 65 6e 20 63 6f 70 69 65 64 20 74 6f    20 64 61 74 61 62 61 73 65 2e 20 53 75 62 73 65  | s.been.copied.to.database..Subse | 
| 143e0 |  71 75 65 6e 74 6c 79 20 64 65 6c 65 74 65 20 6f    72 69 67 69 6e 61 6c 20 66 69 6c 65 3f 20 22 20  | quently.delete.original.file?.". | 
| 14400 |  66 69 6c 65 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 28 63  | file))........................(c | 
| 14420 |  61 6c 69 62 72 65 64 62 2d 6d 6f 76 65 2d 74 6f    2d 74 72 61 73 68 20 66 69 6c 65 29 29 29 29 29  | alibredb-move-to-trash.file))))) | 
| 14440 |  0a 20 20 20 20 20 20 28 6d 65 73 73 61 67 65 20    22 41 64 64 69 6e 67 20 62 6f 6f 6b 20 66 61 69  | .......(message."Adding.book.fai | 
| 14460 |  6c 65 64 2c 20 70 6c 65 61 73 65 20 61 64 64 20    69 74 20 6d 61 6e 75 61 6c 6c 79 2e 22 29 29 29  | led,.please.add.it.manually."))) | 
| 14480 |  29 0a 0a 28 64 65 66 75 6e 20 63 61 6c 69 62 72    65 64 62 2d 6d 6f 76 65 2d 74 6f 2d 74 72 61 73  | )..(defun.calibredb-move-to-tras | 
| 144a0 |  68 20 28 66 69 6c 65 29 0a 20 20 22 4d 6f 76 65    20 74 68 65 20 46 49 4c 45 20 74 6f 20 74 72 61  | h.(file)..."Move.the.FILE.to.tra | 
| 144c0 |  73 68 2e 22 0a 20 20 28 6c 65 74 20 28 28 64 65    6c 65 74 65 2d 62 79 2d 6d 6f 76 69 6e 67 2d 74  | sh."...(let.((delete-by-moving-t | 
| 144e0 |  6f 2d 74 72 61 73 68 20 74 29 29 0a 20 20 20 20    28 70 63 61 73 65 20 73 79 73 74 65 6d 2d 74 79  | o-trash.t)).....(pcase.system-ty | 
| 14500 |  70 65 0a 20 20 20 20 20 20 28 27 77 69 6e 64 6f    77 73 2d 6e 74 0a 20 20 20 20 20 20 20 28 69 66  | pe.......('windows-nt........(if | 
| 14520 |  20 28 66 62 6f 75 6e 64 70 20 27 73 79 73 74 65    6d 2d 6d 6f 76 65 2d 66 69 6c 65 2d 74 6f 2d 74  | .(fboundp.'system-move-file-to-t | 
| 14540 |  72 61 73 68 29 0a 20 20 20 20 20 20 20 20 20 20    20 28 73 79 73 74 65 6d 2d 6d 6f 76 65 2d 66 69  | rash)............(system-move-fi | 
| 14560 |  6c 65 2d 74 6f 2d 74 72 61 73 68 20 66 69 6c 65    29 29 29 0a 20 20 20 20 20 20 28 27 67 6e 75 2f  | le-to-trash.file))).......('gnu/ | 
| 14580 |  6c 69 6e 75 78 0a 20 20 20 20 20 20 20 28 69 66    20 28 66 62 6f 75 6e 64 70 20 27 6d 6f 76 65 2d  | linux........(if.(fboundp.'move- | 
| 145a0 |  66 69 6c 65 2d 74 6f 2d 74 72 61 73 68 29 0a 20    20 20 20 20 20 20 20 20 20 20 28 6d 6f 76 65 2d  | file-to-trash)............(move- | 
| 145c0 |  66 69 6c 65 2d 74 6f 2d 74 72 61 73 68 20 66 69    6c 65 29 29 29 0a 20 20 20 20 20 20 28 27 64 61  | file-to-trash.file))).......('da | 
| 145e0 |  72 77 69 6e 0a 20 20 20 20 20 20 20 28 6c 65 74    20 28 28 74 72 61 73 68 2d 64 69 72 65 63 74 6f  | rwin........(let.((trash-directo | 
| 14600 |  72 79 20 22 7e 2f 2e 54 72 61 73 68 22 29 29 0a    20 20 20 20 20 20 20 20 20 28 63 6f 6e 64 20 28  | ry."~/.Trash"))..........(cond.( | 
| 14620 |  28 66 65 61 74 75 72 65 70 20 27 6f 73 78 2d 74    72 61 73 68 29 0a 20 20 20 20 20 20 20 20 20 20  | (featurep.'osx-trash)........... | 
| 14640 |  20 20 20 20 20 20 28 69 66 20 28 66 62 6f 75 6e    64 70 20 27 6f 73 78 2d 74 72 61 73 68 2d 6d 6f  | ......(if.(fboundp.'osx-trash-mo | 
| 14660 |  76 65 2d 66 69 6c 65 2d 74 6f 2d 74 72 61 73 68    29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | ve-file-to-trash)............... | 
| 14680 |  20 20 20 20 20 20 28 6f 73 78 2d 74 72 61 73 68    2d 6d 6f 76 65 2d 66 69 6c 65 2d 74 6f 2d 74 72  | ......(osx-trash-move-file-to-tr | 
| 146a0 |  61 73 68 20 66 69 6c 65 29 29 29 0a 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 28 28 65 78 65  | ash.file)))................((exe | 
| 146c0 |  63 75 74 61 62 6c 65 2d 66 69 6e 64 20 22 74 72    61 73 68 22 29 0a 20 20 20 20 20 20 20 20 20 20  | cutable-find."trash")........... | 
| 146e0 |  20 20 20 20 20 20 28 63 61 6c 6c 2d 70 72 6f 63    65 73 73 20 22 74 72 61 73 68 22 20 6e 69 6c 20  | ......(call-process."trash".nil. | 
| 14700 |  6e 69 6c 20 6e 69 6c 20 66 69 6c 65 29 29 0a 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 74  | nil.nil.file))................(t | 
| 14720 |  20 28 6d 6f 76 65 2d 66 69 6c 65 2d 74 6f 2d 74    72 61 73 68 20 66 69 6c 65 29 29 29 29 29 29 29  | .(move-file-to-trash.file))))))) | 
| 14740 |  29 0a 0a 28 64 65 66 75 6e 20 63 61 6c 69 62 72    65 64 62 2d 69 76 79 2d 72 65 61 64 20 28 29 0a  | )..(defun.calibredb-ivy-read.(). | 
| 14760 |  20 20 22 49 76 79 20 72 65 61 64 20 66 6f 72 20    63 61 6c 69 62 72 65 64 62 2e 22 0a 20 20 28 69  | .."Ivy.read.for.calibredb."...(i | 
| 14780 |  66 20 28 66 62 6f 75 6e 64 70 20 27 69 76 79 2d    72 65 61 64 29 0a 20 20 20 20 20 20 28 6c 65 74  | f.(fboundp.'ivy-read).......(let | 
| 147a0 |  20 28 28 63 61 6e 64 20 28 63 61 6c 69 62 72 65    64 62 2d 63 61 6e 64 69 64 61 74 65 73 29 29 29  | .((cand.(calibredb-candidates))) | 
| 147c0 |  0a 20 20 20 20 20 20 20 20 28 69 66 20 63 61 6e    64 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 69  | .........(if.cand.............(i | 
| 147e0 |  76 79 2d 72 65 61 64 20 22 50 69 63 6b 20 61 20    62 6f 6f 6b 3a 20 22 0a 20 20 20 20 20 20 20 20  | vy-read."Pick.a.book:."......... | 
| 14800 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 61    6e 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  | ..............cand.............. | 
| 14820 |  20 20 20 20 20 20 20 20 20 3a 73 6f 72 74 20 6e    69 6c 20 20 20 20 20 20 20 20 20 3b 20 61 63 74  | .........:sort.nil.........;.act | 
| 14840 |  75 61 6c 6c 79 20 73 6f 72 74 20 74 68 65 6d 0a    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | ually.sort.them................. | 
| 14860 |  20 20 20 20 20 20 3a 63 61 6c 6c 65 72 20 27 63    61 6c 69 62 72 65 64 62 2d 69 76 79 2d 72 65 61  | ......:caller.'calibredb-ivy-rea | 
| 14880 |  64 29 0a 20 20 20 20 20 20 20 20 20 20 28 6d 65    73 73 61 67 65 20 22 49 4e 56 41 4c 49 44 20 4c  | d)...........(message."INVALID.L | 
| 148a0 |  49 42 52 41 52 59 22 29 29 29 29 29 0a 0a 3b 3b    3b 23 23 23 61 75 74 6f 6c 6f 61 64 0a 28 64 65  | IBRARY")))))..;;;###autoload.(de | 
| 148c0 |  66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d 66 69    6e 64 2d 63 6f 75 6e 73 65 6c 20 28 29 0a 20 20  | fun.calibredb-find-counsel.()... | 
| 148e0 |  22 55 73 65 20 63 6f 75 6e 73 65 6c 20 74 6f 20    6c 69 73 74 20 61 6c 6c 20 65 62 6f 6f 6b 73 20  | "Use.counsel.to.list.all.ebooks. | 
| 14900 |  64 65 74 61 69 6c 73 2e 22 0a 20 20 28 69 6e 74    65 72 61 63 74 69 76 65 29 0a 20 20 28 63 61 6c  | details."...(interactive)...(cal | 
| 14920 |  69 62 72 65 64 62 2d 69 76 79 2d 72 65 61 64 29    29 0a 0a 28 64 65 66 75 6e 20 63 61 6c 69 62 72  | ibredb-ivy-read))..(defun.calibr | 
| 14940 |  65 64 62 2d 72 67 61 20 28 29 0a 20 20 22 53 65    61 72 63 68 20 63 61 6c 69 62 72 65 64 62 20 77  | edb-rga.()..."Search.calibredb.w | 
| 14960 |  69 74 68 20 72 67 61 2c 20 75 73 69 6e 67 20 60    63 6f 75 6e 73 65 6c 2d 61 67 27 2e 0a 31 2e 20  | ith.rga,.using.`counsel-ag'..1.. | 
| 14980 |  49 6e 20 60 63 61 6c 69 62 72 65 64 62 2d 73 65    61 72 63 68 2d 6d 6f 64 65 27 2c 20 73 65 61 72  | In.`calibredb-search-mode',.sear | 
| 149a0 |  63 68 20 69 6e 20 74 68 65 0a 60 63 61 6c 69 62    72 65 64 62 2d 72 6f 6f 74 2d 64 69 72 27 2e 0a  | ch.in.the.`calibredb-root-dir'.. | 
| 149c0 |  32 2e 20 49 6e 20 60 63 61 6c 69 62 72 65 64 62    2d 73 68 6f 77 2d 6d 6f 64 65 27 2c 20 73 65 61  | 2..In.`calibredb-show-mode',.sea | 
| 149e0 |  72 63 68 20 69 6e 20 74 68 65 20 63 6f 72 72 65    73 70 6f 6e 64 69 6e 67 20 66 6f 72 6d 61 74 0a  | rch.in.the.corresponding.format. | 
| 14a00 |  75 6e 64 65 72 20 74 68 65 20 77 6f 72 6b 69 6e    67 20 64 69 72 65 63 74 6f 72 79 2e 0a 33 2e 20  | under.the.working.directory..3.. | 
| 14a20 |  49 6e 20 60 70 64 66 2d 76 69 65 77 2d 6d 6f 64    65 27 2c 20 73 65 61 72 63 68 20 69 6e 20 50 44  | In.`pdf-view-mode',.search.in.PD | 
| 14a40 |  46 20 66 69 6c 65 73 20 75 6e 64 65 72 20 74 68    65 20 77 6f 72 6b 69 6e 67 0a 64 69 72 65 63 74  | F.files.under.the.working.direct | 
| 14a60 |  6f 72 79 2e 0a 34 2e 20 49 6e 20 60 6e 6f 76 2d    6d 6f 64 65 27 2c 20 73 65 61 72 63 68 20 69 6e  | ory..4..In.`nov-mode',.search.in | 
| 14a80 |  20 45 50 55 42 20 66 69 6c 65 73 20 75 6e 64 65    72 20 74 68 65 20 77 6f 72 6b 69 6e 67 0a 64 69  | .EPUB.files.under.the.working.di | 
| 14aa0 |  72 65 63 74 6f 72 79 2e 22 0a 20 20 28 69 6e 74    65 72 61 63 74 69 76 65 29 0a 20 20 28 73 65 74  | rectory."...(interactive)...(set | 
| 14ac0 |  71 2d 6c 6f 63 61 6c 20 63 6f 75 6e 73 65 6c 2d    61 67 2d 62 61 73 65 2d 63 6f 6d 6d 61 6e 64 20  | q-local.counsel-ag-base-command. | 
| 14ae0 |  22 72 67 61 20 2d 2d 63 6f 6c 6f 72 20 6e 65 76    65 72 20 2d 2d 6e 6f 2d 68 65 61 64 69 6e 67 20  | "rga.--color.never.--no-heading. | 
| 14b00 |  2d 2d 73 6d 61 72 74 2d 63 61 73 65 20 2d 2d 6c    69 6e 65 2d 6e 75 6d 62 65 72 20 2d 2d 77 69 74  | --smart-case.--line-number.--wit | 
| 14b20 |  68 2d 66 69 6c 65 6e 61 6d 65 20 25 73 22 29 0a    20 20 28 63 6f 6e 64 0a 20 20 20 28 28 65 71 20  | h-filename.%s")...(cond....((eq. | 
| 14b40 |  6d 61 6a 6f 72 2d 6d 6f 64 65 20 27 63 61 6c 69    62 72 65 64 62 2d 73 65 61 72 63 68 2d 6d 6f 64  | major-mode.'calibredb-search-mod | 
| 14b60 |  65 29 0a 20 20 20 20 28 63 6f 75 6e 73 65 6c 2d    61 67 20 6e 69 6c 20 63 61 6c 69 62 72 65 64 62  | e).....(counsel-ag.nil.calibredb | 
| 14b80 |  2d 72 6f 6f 74 2d 64 69 72 20 6e 69 6c 20 22 53    65 61 72 63 68 20 43 61 6c 69 62 72 65 64 62 3a  | -root-dir.nil."Search.Calibredb: | 
| 14ba0 |  20 22 29 29 0a 20 20 20 28 28 65 71 20 6d 61 6a    6f 72 2d 6d 6f 64 65 20 27 63 61 6c 69 62 72 65  | ."))....((eq.major-mode.'calibre | 
| 14bc0 |  64 62 2d 73 68 6f 77 2d 6d 6f 64 65 29 0a 20 20    20 20 28 6c 65 74 20 28 28 66 6f 72 6d 61 74 20  | db-show-mode).....(let.((format. | 
| 14be0 |  28 63 61 6c 69 62 72 65 64 62 2d 67 65 74 61 74    74 72 20 28 63 61 72 20 28 63 61 6c 69 62 72 65  | (calibredb-getattr.(car.(calibre | 
| 14c00 |  64 62 2d 66 69 6e 64 2d 63 61 6e 64 69 64 61 74    65 2d 61 74 2d 70 6f 69 6e 74 29 29 20 3a 62 6f  | db-find-candidate-at-point)).:bo | 
| 14c20 |  6f 6b 2d 66 6f 72 6d 61 74 29 29 0a 20 20 20 20    20 20 20 20 20 20 28 70 61 74 68 20 28 63 61 6c  | ok-format))...........(path.(cal | 
| 14c40 |  69 62 72 65 64 62 2d 67 65 74 61 74 74 72 20 28    63 61 72 20 28 63 61 6c 69 62 72 65 64 62 2d 66  | ibredb-getattr.(car.(calibredb-f | 
| 14c60 |  69 6e 64 2d 63 61 6e 64 69 64 61 74 65 2d 61 74    2d 70 6f 69 6e 74 29 29 20 3a 66 69 6c 65 2d 70  | ind-candidate-at-point)).:file-p | 
| 14c80 |  61 74 68 29 29 29 0a 20 20 20 20 20 20 28 63 6f    6e 64 20 28 28 65 71 75 61 6c 20 66 6f 72 6d 61  | ath))).......(cond.((equal.forma | 
| 14ca0 |  74 20 22 65 70 75 62 22 29 0a 20 20 20 20 20 20    20 20 20 20 20 20 20 28 63 6f 75 6e 73 65 6c 2d  | t."epub")..............(counsel- | 
| 14cc0 |  61 67 20 6e 69 6c 20 28 66 69 6c 65 2d 6e 61 6d    65 2d 64 69 72 65 63 74 6f 72 79 20 70 61 74 68  | ag.nil.(file-name-directory.path | 
| 14ce0 |  29 20 22 2d 2d 72 67 61 2d 61 64 61 70 74 65 72    73 3d 70 61 6e 64 6f 63 22 20 22 53 65 61 72 63  | )."--rga-adapters=pandoc"."Searc | 
| 14d00 |  68 20 45 50 55 42 3a 20 22 29 29 0a 20 20 20 20    20 20 20 20 20 20 20 20 28 28 65 71 75 61 6c 20  | h.EPUB:.")).............((equal. | 
| 14d20 |  66 6f 72 6d 61 74 20 22 70 64 66 22 29 0a 20 20    20 20 20 20 20 20 20 20 20 20 20 28 63 6f 75 6e  | format."pdf")..............(coun | 
| 14d40 |  73 65 6c 2d 61 67 20 6e 69 6c 20 28 66 69 6c 65    2d 6e 61 6d 65 2d 64 69 72 65 63 74 6f 72 79 20  | sel-ag.nil.(file-name-directory. | 
| 14d60 |  70 61 74 68 29 20 22 2d 2d 72 67 61 2d 61 64 61    70 74 65 72 73 3d 70 6f 70 70 6c 65 72 22 20 22  | path)."--rga-adapters=poppler"." | 
| 14d80 |  53 65 61 72 63 68 20 50 44 46 3a 20 22 29 29 0a    20 20 20 20 20 20 20 20 20 20 20 20 28 74 0a 20  | Search.PDF:.")).............(t.. | 
| 14da0 |  20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 75    6e 73 65 6c 2d 61 67 20 6e 69 6c 20 28 66 69 6c  | ............(counsel-ag.nil.(fil | 
| 14dc0 |  65 2d 6e 61 6d 65 2d 64 69 72 65 63 74 6f 72 79    20 70 61 74 68 29 20 6e 69 6c 20 28 63 6f 6e 63  | e-name-directory.path).nil.(conc | 
| 14de0 |  61 74 20 22 53 65 61 72 63 68 20 22 20 66 6f 72    6d 61 74 20 22 3a 20 22 29 29 29 29 29 29 0a 20  | at."Search.".format.":.")))))).. | 
| 14e00 |  20 20 28 28 65 71 20 6d 61 6a 6f 72 2d 6d 6f 64    65 20 27 70 64 66 2d 76 69 65 77 2d 6d 6f 64 65  | ..((eq.major-mode.'pdf-view-mode | 
| 14e20 |  29 0a 20 20 20 20 28 63 6f 75 6e 73 65 6c 2d 61    67 20 6e 69 6c 20 6e 69 6c 20 22 2d 2d 72 67 61  | ).....(counsel-ag.nil.nil."--rga | 
| 14e40 |  2d 61 64 61 70 74 65 72 73 3d 70 6f 70 70 6c 65    72 22 20 22 53 65 61 72 63 68 20 50 44 46 3a 20  | -adapters=poppler"."Search.PDF:. | 
| 14e60 |  22 29 29 0a 20 20 20 28 28 65 71 20 6d 61 6a 6f    72 2d 6d 6f 64 65 20 27 6e 6f 76 2d 6d 6f 64 65  | "))....((eq.major-mode.'nov-mode | 
| 14e80 |  29 0a 20 20 20 20 28 63 6f 75 6e 73 65 6c 2d 61    67 20 6e 69 6c 20 6e 69 6c 20 22 2d 2d 72 67 61  | ).....(counsel-ag.nil.nil."--rga | 
| 14ea0 |  2d 61 64 61 70 74 65 72 73 3d 70 61 6e 64 6f 63    22 20 22 53 65 61 72 63 68 20 45 50 55 42 3a 20  | -adapters=pandoc"."Search.EPUB:. | 
| 14ec0 |  22 29 29 0a 20 20 20 28 74 0a 20 20 20 20 28 6d    65 73 73 61 67 65 20 28 63 6f 6e 63 61 74 20 22  | "))....(t.....(message.(concat." | 
| 14ee0 |  43 61 6c 69 62 72 65 64 62 2d 63 6f 75 6e 73 65    6c 2d 61 67 20 64 6f 65 73 20 6e 6f 74 20 73 75  | Calibredb-counsel-ag.does.not.su | 
| 14f00 |  70 70 6f 72 74 20 22 20 28 73 79 6d 62 6f 6c 2d    6e 61 6d 65 20 6d 61 6a 6f 72 2d 6d 6f 64 65 29  | pport.".(symbol-name.major-mode) | 
| 14f20 |  29 29 29 29 29 0a 28 70 72 6f 76 69 64 65 20 27    63 61 6c 69 62 72 65 64 62 2d 69 76 79 29 0a 0a  | ))))).(provide.'calibredb-ivy).. | 
| 14f40 |  3b 3b 3b 20 63 61 6c 69 62 72 65 64 62 2d 69 76    79 2e 65 6c 20 65 6e 64 73 20 68 65 72 65 0a 00  | ;;;.calibredb-ivy.el.ends.here.. | 
| 14f60 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 14f80 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 14fa0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 14fc0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 14fe0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 15000 |  63 61 6c 69 62 72 65 64 62 2d 32 30 32 35 30 37    30 35 2e 32 32 35 2f 63 61 6c 69 62 72 65 64 62  | calibredb-20250705.225/calibredb | 
| 15020 |  2d 6c 69 62 72 61 72 79 2e 65 6c 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | -library.el..................... | 
| 15040 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 15060 |  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 | 
| 15080 |  30 30 32 36 31 36 35 00 30 30 30 30 30 30 30 30    30 30 30 00 30 31 36 35 34 32 00 20 30 00 00 00  | 0026165.00000000000.016542..0... | 
| 150a0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 150c0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 150e0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 15100 |  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................... | 
| 15120 |  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................... | 
| 15140 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 15160 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 15180 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 151a0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 151c0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 151e0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 15200 |  3b 3b 3b 20 63 61 6c 69 62 72 65 64 62 2d 6c 69    62 72 61 72 79 2e 65 6c 20 2d 2d 2d 20 4c 69 62  | ;;;.calibredb-library.el.---.Lib | 
| 15220 |  72 61 72 79 20 66 6f 72 20 63 61 6c 69 62 72 65    64 62 20 2d 2a 2d 20 6c 65 78 69 63 61 6c 2d 62  | rary.for.calibredb.-*-.lexical-b | 
| 15240 |  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 29  | inding:.t;.-*-..;;.Copyright.(C) | 
| 15260 |  20 32 30 32 30 20 44 61 6d 6f 6e 20 43 68 61 6e    0a 0a 3b 3b 20 41 75 74 68 6f 72 3a 20 44 61 6d  | .2020.Damon.Chan..;;.Author:.Dam | 
| 15280 |  6f 6e 20 43 68 61 6e 20 3c 65 6c 65 63 6d 69 6e    67 40 67 6d 61 69 6c 2e 63 6f 6d 3e 0a 3b 3b 20  | on.Chan.<elecming@gmail.com>.;;. | 
| 152a0 |  55 52 4c 3a 20 68 74 74 70 73 3a 2f 2f 67 69 74    68 75 62 2e 63 6f 6d 2f 63 68 65 6e 79 61 6e 6d  | URL:.https://github.com/chenyanm | 
| 152c0 |  69 6e 67 2f 63 61 6c 69 62 72 65 64 62 2e 65 6c    0a 3b 3b 20 4b 65 79 77 6f 72 64 73 3a 20 74 6f  | ing/calibredb.el.;;.Keywords:.to | 
| 152e0 |  6f 6c 73 0a 0a 3b 3b 20 54 68 69 73 20 66 69 6c    65 20 69 73 20 4e 4f 54 20 70 61 72 74 20 6f 66  | ols..;;.This.file.is.NOT.part.of | 
| 15300 |  20 47 4e 55 20 45 6d 61 63 73 2e 0a 0a 3b 3b 20    54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20  | .GNU.Emacs...;;.This.program.is. | 
| 15320 |  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 64 69 73 74 72 69 62  | free.software;.you.can.redistrib | 
| 15340 |  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 74 20 75 6e 64 65 72  | ute.it.and/or.modify.;;.it.under | 
| 15360 |  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 65 72 61 6c 20 50 75  | .the.terms.of.the.GNU.General.Pu | 
| 15380 |  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 20 62 79 0a 3b 3b 20  | blic.License.as.published.by.;;. | 
| 153a0 |  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 69 6f 6e 2c 20 65 69  | the.Free.Software.Foundation,.ei | 
| 153c0 |  74 68 65 72 20 76 65 72 73 69 6f 6e 20 33 20 6f    66 20 74 68 65 20 4c 69 63 65 6e 73 65 2c 20 6f  | ther.version.3.of.the.License,.o | 
| 153e0 |  72 0a 3b 3b 20 28 61 74 20 79 6f 75 72 20 6f 70    74 69 6f 6e 29 20 61 6e 79 20 6c 61 74 65 72 20  | r.;;.(at.your.option).any.later. | 
| 15400 |  76 65 72 73 69 6f 6e 2e 0a 0a 3b 3b 20 54 68 69    73 20 70 72 6f 67 72 61 6d 20 69 73 20 64 69 73  | version...;;.This.program.is.dis | 
| 15420 |  74 72 69 62 75 74 65 64 20 69 6e 20 74 68 65 20    68 6f 70 65 20 74 68 61 74 20 69 74 20 77 69 6c  | tributed.in.the.hope.that.it.wil | 
| 15440 |  6c 20 62 65 20 75 73 65 66 75 6c 2c 0a 3b 3b 20    62 75 74 20 57 49 54 48 4f 55 54 20 41 4e 59 20  | l.be.useful,.;;.but.WITHOUT.ANY. | 
| 15460 |  57 41 52 52 41 4e 54 59 3b 20 77 69 74 68 6f 75    74 20 65 76 65 6e 20 74 68 65 20 69 6d 70 6c 69  | WARRANTY;.without.even.the.impli | 
| 15480 |  65 64 20 77 61 72 72 61 6e 74 79 20 6f 66 0a 3b    3b 20 4d 45 52 43 48 41 4e 54 41 42 49 4c 49 54  | ed.warranty.of.;;.MERCHANTABILIT | 
| 154a0 |  59 20 6f 72 20 46 49 54 4e 45 53 53 20 46 4f 52    20 41 20 50 41 52 54 49 43 55 4c 41 52 20 50 55  | Y.or.FITNESS.FOR.A.PARTICULAR.PU | 
| 154c0 |  52 50 4f 53 45 2e 20 20 53 65 65 20 74 68 65 0a    3b 3b 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50  | RPOSE...See.the.;;.GNU.General.P | 
| 154e0 |  75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 66 6f    72 20 6d 6f 72 65 20 64 65 74 61 69 6c 73 2e 0a  | ublic.License.for.more.details.. | 
| 15500 |  0a 3b 3b 20 59 6f 75 20 73 68 6f 75 6c 64 20 68    61 76 65 20 72 65 63 65 69 76 65 64 20 61 20 63  | .;;.You.should.have.received.a.c | 
| 15520 |  6f 70 79 20 6f 66 20 74 68 65 20 47 4e 55 20 47    65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69  | opy.of.the.GNU.General.Public.Li | 
| 15540 |  63 65 6e 73 65 0a 3b 3b 20 61 6c 6f 6e 67 20 77    69 74 68 20 74 68 69 73 20 70 72 6f 67 72 61 6d  | cense.;;.along.with.this.program | 
| 15560 |  2e 20 20 49 66 20 6e 6f 74 2c 20 73 65 65 20 3c    68 74 74 70 73 3a 2f 2f 77 77 77 2e 67 6e 75 2e  | ...If.not,.see.<https://www.gnu. | 
| 15580 |  6f 72 67 2f 6c 69 63 65 6e 73 65 73 2f 3e 2e 0a    0a 3b 3b 3b 20 43 6f 6d 6d 65 6e 74 61 72 79 3a  | org/licenses/>...;;;.Commentary: | 
| 155a0 |  0a 0a 3b 3b 3b 20 43 6f 64 65 3a 0a 0a 28 72 65    71 75 69 72 65 20 27 63 61 6c 69 62 72 65 64 62  | ..;;;.Code:..(require.'calibredb | 
| 155c0 |  2d 63 6f 72 65 29 0a 0a 28 64 65 66 76 61 72 20    63 61 6c 69 62 72 65 64 62 2d 6c 69 62 72 61 72  | -core)..(defvar.calibredb-librar | 
| 155e0 |  79 2d 69 6e 64 65 78 20 30 29 0a 28 64 65 66 76    61 72 20 63 61 6c 69 62 72 65 64 62 2d 76 69 72  | y-index.0).(defvar.calibredb-vir | 
| 15600 |  74 75 61 6c 2d 6c 69 62 72 61 72 79 2d 69 6e 64    65 78 20 30 29 0a 0a 28 64 65 63 6c 61 72 65 2d  | tual-library-index.0)..(declare- | 
| 15620 |  66 75 6e 63 74 69 6f 6e 20 63 61 6c 69 62 72 65    64 62 2d 72 65 66 2d 64 65 66 61 75 6c 74 2d 62  | function.calibredb-ref-default-b | 
| 15640 |  69 62 6c 69 6f 67 72 61 70 68 79 20 22 63 61 6c    69 62 72 65 64 62 2d 75 74 69 6c 73 2e 65 6c 22  | ibliography."calibredb-utils.el" | 
| 15660 |  29 0a 28 64 65 63 6c 61 72 65 2d 66 75 6e 63 74    69 6f 6e 20 63 61 6c 69 62 72 65 64 62 2d 73 65  | ).(declare-function.calibredb-se | 
| 15680 |  61 72 63 68 2d 72 65 66 72 65 73 68 2d 6f 72 2d    72 65 73 75 6d 65 20 22 63 61 6c 69 62 72 65 64  | arch-refresh-or-resume."calibred | 
| 156a0 |  62 2d 73 65 61 72 63 68 2e 65 6c 22 29 0a 28 64    65 63 6c 61 72 65 2d 66 75 6e 63 74 69 6f 6e 20  | b-search.el").(declare-function. | 
| 156c0 |  63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68    2d 6b 65 79 77 6f 72 64 2d 66 69 6c 74 65 72 20  | calibredb-search-keyword-filter. | 
| 156e0 |  22 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63    68 2e 65 6c 22 29 0a 28 64 65 63 6c 61 72 65 2d  | "calibredb-search.el").(declare- | 
| 15700 |  66 75 6e 63 74 69 6f 6e 20 63 61 6c 69 62 72 65    64 62 2d 6f 70 64 73 2d 72 65 71 75 65 73 74 2d  | function.calibredb-opds-request- | 
| 15720 |  70 61 67 65 20 22 63 61 6c 69 62 72 65 64 62 2d    6f 70 64 73 2e 65 6c 22 29 0a 0a 0a 3b 3b 3b 23  | page."calibredb-opds.el")...;;;# | 
| 15740 |  23 23 61 75 74 6f 6c 6f 61 64 0a 28 64 65 66 75    6e 20 63 61 6c 69 62 72 65 64 62 2d 73 77 69 74  | ##autoload.(defun.calibredb-swit | 
| 15760 |  63 68 2d 6c 69 62 72 61 72 79 20 28 29 0a 20 20    22 53 77 69 63 68 20 43 61 6c 69 62 72 65 20 4c  | ch-library.()..."Swich.Calibre.L | 
| 15780 |  69 62 72 61 72 79 2e 22 0a 20 20 28 69 6e 74 65    72 61 63 74 69 76 65 29 0a 20 20 28 6c 65 74 2a  | ibrary."...(interactive)...(let* | 
| 157a0 |  20 28 28 72 65 73 75 6c 74 20 28 72 65 61 64 2d    66 69 6c 65 2d 6e 61 6d 65 20 22 51 75 69 63 6b  | .((result.(read-file-name."Quick | 
| 157c0 |  20 73 77 69 74 63 68 20 6c 69 62 72 61 72 79 3a    20 22 29 29 0a 20 20 20 20 20 20 20 20 20 28 64  | .switch.library:."))..........(d | 
| 157e0 |  62 20 28 63 6f 6e 63 61 74 20 28 66 69 6c 65 2d    6e 61 6d 65 2d 61 73 2d 64 69 72 65 63 74 6f 72  | b.(concat.(file-name-as-director | 
| 15800 |  79 20 72 65 73 75 6c 74 29 20 22 6d 65 74 61 64    61 74 61 2e 64 62 22 29 29 29 0a 20 20 20 20 28  | y.result)."metadata.db"))).....( | 
| 15820 |  69 66 20 28 66 69 6c 65 2d 65 78 69 73 74 73 2d    70 20 64 62 29 0a 20 20 20 20 20 20 20 20 28 70  | if.(file-exists-p.db).........(p | 
| 15840 |  72 6f 67 6e 0a 20 20 20 20 20 20 20 20 20 20 28    73 65 74 71 20 63 61 6c 69 62 72 65 64 62 2d 72  | rogn...........(setq.calibredb-r | 
| 15860 |  6f 6f 74 2d 64 69 72 20 72 65 73 75 6c 74 29 0a    20 20 20 20 20 20 20 20 20 20 28 63 61 6c 69 62  | oot-dir.result)...........(calib | 
| 15880 |  72 65 64 62 2d 72 6f 6f 74 2d 64 69 72 2d 71 75    6f 74 65 29 0a 20 20 20 20 20 20 20 20 20 20 28  | redb-root-dir-quote)...........( | 
| 158a0 |  73 65 74 71 20 63 61 6c 69 62 72 65 64 62 2d 64    62 2d 64 69 72 20 28 63 6f 6e 63 61 74 20 28 66  | setq.calibredb-db-dir.(concat.(f | 
| 158c0 |  69 6c 65 2d 6e 61 6d 65 2d 61 73 2d 64 69 72 65    63 74 6f 72 79 20 63 61 6c 69 62 72 65 64 62 2d  | ile-name-as-directory.calibredb- | 
| 158e0 |  72 6f 6f 74 2d 64 69 72 29 20 22 6d 65 74 61 64    61 74 61 2e 64 62 22 29 29 0a 20 20 20 20 20 20  | root-dir)."metadata.db"))....... | 
| 15900 |  20 20 20 20 28 63 61 6c 69 62 72 65 64 62 2d 72    65 66 2d 64 65 66 61 75 6c 74 2d 62 69 62 6c 69  | ....(calibredb-ref-default-bibli | 
| 15920 |  6f 67 72 61 70 68 79 29 0a 20 20 20 20 20 20 20    20 20 20 28 77 68 65 6e 20 28 61 6e 64 0a 20 20  | ography)...........(when.(and... | 
| 15940 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28    66 75 6e 63 74 69 6f 6e 70 20 27 73 71 6c 69 74  | ...............(functionp.'sqlit | 
| 15960 |  65 2d 61 76 61 69 6c 61 62 6c 65 2d 70 29 0a 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | e-available-p).................. | 
| 15980 |  28 73 71 6c 69 74 65 2d 61 76 61 69 6c 61 62 6c    65 2d 70 29 0a 20 20 20 20 20 20 20 20 20 20 20  | (sqlite-available-p)............ | 
| 159a0 |  20 20 20 20 20 20 28 73 71 6c 69 74 65 70 20 63    61 6c 69 62 72 65 64 62 2d 64 62 2d 63 6f 6e 6e  | ......(sqlitep.calibredb-db-conn | 
| 159c0 |  65 63 74 69 6f 6e 29 29 0a 20 20 20 20 20 20 20    20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 27 73  | ection)).............(funcall.'s | 
| 159e0 |  71 6c 69 74 65 2d 63 6c 6f 73 65 20 63 61 6c 69    62 72 65 64 62 2d 64 62 2d 63 6f 6e 6e 65 63 74  | qlite-close.calibredb-db-connect | 
| 15a00 |  69 6f 6e 29 0a 20 20 20 20 20 20 20 20 20 20 20    20 28 73 65 74 71 20 63 61 6c 69 62 72 65 64 62  | ion).............(setq.calibredb | 
| 15a20 |  2d 64 62 2d 63 6f 6e 6e 65 63 74 69 6f 6e 20 6e    69 6c 29 29 0a 20 20 20 20 20 20 20 20 20 20 28  | -db-connection.nil))...........( | 
| 15a40 |  63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68    2d 72 65 66 72 65 73 68 2d 6f 72 2d 72 65 73 75  | calibredb-search-refresh-or-resu | 
| 15a60 |  6d 65 29 29 0a 20 20 20 20 20 20 28 6d 65 73 73    61 67 65 20 22 25 73 20 64 6f 65 73 20 6e 6f 74  | me)).......(message."%s.does.not | 
| 15a80 |  20 65 78 69 73 74 73 22 20 64 62 29 29 29 29 0a    0a 3b 3b 3b 23 23 23 61 75 74 6f 6c 6f 61 64 0a  | .exists".db))))..;;;###autoload. | 
| 15aa0 |  28 64 65 66 75 6e 20 63 61 6c 69 62 72 65 64 62    2d 6c 69 62 72 61 72 79 2d 6c 69 73 74 20 28 29  | (defun.calibredb-library-list.() | 
| 15ac0 |  0a 20 20 22 53 77 69 74 63 68 20 6c 69 62 72 61    72 79 20 66 72 6f 6d 20 76 61 72 69 61 62 6c 65  | ..."Switch.library.from.variable | 
| 15ae0 |  20 60 63 61 6c 69 62 72 65 64 62 2d 6c 69 62 72    61 72 79 2d 61 6c 69 73 74 27 2e 0a 49 66 20 75  | .`calibredb-library-alist'..If.u | 
| 15b00 |  6e 64 65 72 20 2a 63 61 6c 69 62 72 65 64 62 2d    73 65 61 72 63 68 2a 20 62 75 66 66 65 72 2c 20  | nder.*calibredb-search*.buffer,. | 
| 15b20 |  69 74 20 77 69 6c 6c 20 61 75 74 6f 20 72 65 66    72 65 73 68 20 61 66 74 65 72 0a 73 65 6c 65 63  | it.will.auto.refresh.after.selec | 
| 15b40 |  74 69 6e 67 20 74 68 65 20 6e 65 77 20 69 74 65    6d 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69  | ting.the.new.item."...(interacti | 
| 15b60 |  76 65 29 0a 20 20 28 6c 65 74 2a 20 28 28 72 65    73 75 6c 74 20 28 6c 65 74 2a 20 28 28 6f 70 74  | ve)...(let*.((result.(let*.((opt | 
| 15b80 |  69 6f 6e 73 20 28 6d 61 70 63 61 72 20 28 6c 61    6d 62 64 61 20 28 78 29 0a 20 20 20 20 20 20 20  | ions.(mapcar.(lambda.(x)........ | 
| 15ba0 |  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  | ................................ | 
| 15bc0 |  20 20 20 20 28 69 66 20 28 61 6c 69 73 74 2d 67    65 74 20 27 6e 61 6d 65 20 28 63 64 72 20 78 29  | ....(if.(alist-get.'name.(cdr.x) | 
| 15be0 |  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 20 20 20  | )............................... | 
| 15c00 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 28 61 6c 69 73 74 2d 67 65 74 20 27 6e 61 6d  | .................(alist-get.'nam | 
| 15c20 |  65 20 28 63 64 72 20 78 29 29 0a 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | e.(cdr.x))...................... | 
| 15c40 |  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 61 72 20 78 29 29  | ........................(car.x)) | 
| 15c60 |  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 20 20 20  | )............................... | 
| 15c80 |  20 20 20 20 20 20 20 20 20 20 20 63 61 6c 69 62    72 65 64 62 2d 6c 69 62 72 61 72 79 2d 61 6c 69  | ...........calibredb-library-ali | 
| 15ca0 |  73 74 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 28 73 65  | st)).........................(se | 
| 15cc0 |  6c 65 63 74 65 64 20 28 63 6f 6d 70 6c 65 74 69    6e 67 2d 72 65 61 64 20 22 51 75 69 63 6b 20 73  | lected.(completing-read."Quick.s | 
| 15ce0 |  77 69 74 63 68 20 6c 69 62 72 61 72 79 3a 20 22    20 6f 70 74 69 6f 6e 73 20 6e 69 6c 20 74 29 29  | witch.library:.".options.nil.t)) | 
| 15d00 |  29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 28 6f 72 20 28 63 61 72 20 28 73  | )....................(or.(car.(s | 
| 15d20 |  65 71 2d 66 69 6e 64 20 28 6c 61 6d 62 64 61 20    28 78 29 20 28 65 71 75 61 6c 20 28 61 6c 69 73  | eq-find.(lambda.(x).(equal.(alis | 
| 15d40 |  74 2d 67 65 74 20 27 6e 61 6d 65 20 28 63 64 72    20 78 29 29 20 73 65 6c 65 63 74 65 64 29 29 20  | t-get.'name.(cdr.x)).selected)). | 
| 15d60 |  63 61 6c 69 62 72 65 64 62 2d 6c 69 62 72 61 72    79 2d 61 6c 69 73 74 29 29 0a 20 20 20 20 20 20  | calibredb-library-alist))....... | 
| 15d80 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 73 65 6c 65 63 74 65 64 29 29 29 0a 20 20 20  | .................selected))).... | 
| 15da0 |  20 20 20 20 20 20 28 72 65 6d 61 69 6e 69 6e 67    20 28 63 64 72 20 28 2d 66 69 72 73 74 20 28 6c  | ......(remaining.(cdr.(-first.(l | 
| 15dc0 |  61 6d 62 64 61 20 28 6c 69 62 29 0a 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | ambda.(lib)..................... | 
| 15de0 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28    73 2d 63 6f 6e 74 61 69 6e 73 3f 20 28 63 61 72  | ...............(s-contains?.(car | 
| 15e00 |  20 6c 69 62 29 20 72 65 73 75 6c 74 29 29 0a 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | .lib).result)).................. | 
| 15e20 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    63 61 6c 69 62 72 65 64 62 2d 6c 69 62 72 61 72  | ................calibredb-librar | 
| 15e40 |  79 2d 61 6c 69 73 74 29 29 29 0a 20 20 20 20 20    20 20 20 20 28 6c 69 62 72 61 72 79 2d 6e 61 6d  | y-alist)))..........(library-nam | 
| 15e60 |  65 20 28 6f 72 20 28 61 73 73 6f 63 2d 64 65 66    61 75 6c 74 20 27 6e 61 6d 65 20 72 65 6d 61 69  | e.(or.(assoc-default.'name.remai | 
| 15e80 |  6e 69 6e 67 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  | ning)........................... | 
| 15ea0 |  20 63 61 6c 69 62 72 65 64 62 2d 76 69 72 74 75    61 6c 2d 6c 69 62 72 61 72 79 2d 64 65 66 61 75  | .calibredb-virtual-library-defau | 
| 15ec0 |  6c 74 2d 6e 61 6d 65 29 29 0a 20 20 20 20 20 20    20 20 20 28 64 62 20 28 63 6f 6e 63 61 74 20 28  | lt-name))..........(db.(concat.( | 
| 15ee0 |  66 69 6c 65 2d 6e 61 6d 65 2d 61 73 2d 64 69 72    65 63 74 6f 72 79 20 72 65 73 75 6c 74 29 20 22  | file-name-as-directory.result)." | 
| 15f00 |  6d 65 74 61 64 61 74 61 2e 64 62 22 29 29 29 0a    20 20 20 20 28 73 65 74 71 20 63 61 6c 69 62 72  | metadata.db"))).....(setq.calibr | 
| 15f20 |  65 64 62 2d 76 69 72 74 75 61 6c 2d 6c 69 62 72    61 72 79 2d 64 65 66 61 75 6c 74 2d 6e 61 6d 65  | edb-virtual-library-default-name | 
| 15f40 |  20 6c 69 62 72 61 72 79 2d 6e 61 6d 65 29 0a 20    20 20 20 28 73 65 74 71 20 63 61 6c 69 62 72 65  | .library-name).....(setq.calibre | 
| 15f60 |  64 62 2d 76 69 72 74 75 61 6c 2d 6c 69 62 72 61    72 79 2d 6e 61 6d 65 20 63 61 6c 69 62 72 65 64  | db-virtual-library-name.calibred | 
| 15f80 |  62 2d 76 69 72 74 75 61 6c 2d 6c 69 62 72 61 72    79 2d 64 65 66 61 75 6c 74 2d 6e 61 6d 65 29 0a  | b-virtual-library-default-name). | 
| 15fa0 |  20 20 20 20 28 63 6f 6e 64 0a 20 20 20 20 20 28    28 73 74 72 69 6e 67 2d 70 72 65 66 69 78 2d 70  | ....(cond......((string-prefix-p | 
| 15fc0 |  20 22 68 74 74 70 22 20 72 65 73 75 6c 74 29 0a    20 20 20 20 20 20 28 6c 65 74 20 28 28 6c 69 62  | ."http".result).......(let.((lib | 
| 15fe0 |  72 61 72 79 20 28 2d 66 69 72 73 74 20 28 6c 61    6d 62 64 61 20 28 6c 69 62 29 0a 20 20 20 20 20  | rary.(-first.(lambda.(lib)...... | 
| 16000 |  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 73 2d 63 6f 6e  | ..........................(s-con | 
| 16020 |  74 61 69 6e 73 3f 20 28 63 61 72 20 6c 69 62 29    20 72 65 73 75 6c 74 29 29 0a 20 20 20 20 20 20  | tains?.(car.lib).result))....... | 
| 16040 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 63 61 6c 69 62 72 65 64 62  | .......................calibredb | 
| 16060 |  2d 6c 69 62 72 61 72 79 2d 61 6c 69 73 74 29 29    29 0a 20 20 20 20 20 20 20 20 28 73 65 74 71 20  | -library-alist))).........(setq. | 
| 16080 |  63 61 6c 69 62 72 65 64 62 2d 72 6f 6f 74 2d 64    69 72 20 28 63 61 72 20 6c 69 62 72 61 72 79 29  | calibredb-root-dir.(car.library) | 
| 160a0 |  29 0a 20 20 20 20 20 20 20 20 28 63 61 6c 69 62    72 65 64 62 2d 6f 70 64 73 2d 72 65 71 75 65 73  | ).........(calibredb-opds-reques | 
| 160c0 |  74 2d 70 61 67 65 20 72 65 73 75 6c 74 20 28 61    73 73 6f 63 2d 64 65 66 61 75 6c 74 20 27 61 63  | t-page.result.(assoc-default.'ac | 
| 160e0 |  63 6f 75 6e 74 20 72 65 6d 61 69 6e 69 6e 67 29    20 28 61 73 73 6f 63 2d 64 65 66 61 75 6c 74 20  | count.remaining).(assoc-default. | 
| 16100 |  27 70 61 73 73 77 6f 72 64 20 72 65 6d 61 69 6e    69 6e 67 29 29 29 29 0a 20 20 20 20 20 28 28 66  | 'password.remaining))))......((f | 
| 16120 |  69 6c 65 2d 65 78 69 73 74 73 2d 70 20 64 62 29    0a 20 20 20 20 20 20 28 70 72 6f 67 6e 0a 20 20  | ile-exists-p.db).......(progn... | 
| 16140 |  20 20 20 20 20 20 28 73 65 74 71 20 63 61 6c 69    62 72 65 64 62 2d 72 6f 6f 74 2d 64 69 72 20 72  | ......(setq.calibredb-root-dir.r | 
| 16160 |  65 73 75 6c 74 29 0a 20 20 20 20 20 20 20 20 28    63 61 6c 69 62 72 65 64 62 2d 72 6f 6f 74 2d 64  | esult).........(calibredb-root-d | 
| 16180 |  69 72 2d 71 75 6f 74 65 29 0a 20 20 20 20 20 20    20 20 28 73 65 74 71 20 63 61 6c 69 62 72 65 64  | ir-quote).........(setq.calibred | 
| 161a0 |  62 2d 64 62 2d 64 69 72 20 28 63 6f 6e 63 61 74    20 28 66 69 6c 65 2d 6e 61 6d 65 2d 61 73 2d 64  | b-db-dir.(concat.(file-name-as-d | 
| 161c0 |  69 72 65 63 74 6f 72 79 20 63 61 6c 69 62 72 65    64 62 2d 72 6f 6f 74 2d 64 69 72 29 20 22 6d 65  | irectory.calibredb-root-dir)."me | 
| 161e0 |  74 61 64 61 74 61 2e 64 62 22 29 29 0a 20 20 20    20 20 20 20 20 28 63 61 6c 69 62 72 65 64 62 2d  | tadata.db")).........(calibredb- | 
| 16200 |  72 65 66 2d 64 65 66 61 75 6c 74 2d 62 69 62 6c    69 6f 67 72 61 70 68 79 29 0a 20 20 20 20 20 20  | ref-default-bibliography)....... | 
| 16220 |  20 20 28 77 68 65 6e 20 28 61 6e 64 0a 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 28 66 75 6e  | ..(when.(and................(fun | 
| 16240 |  63 74 69 6f 6e 70 20 27 73 71 6c 69 74 65 2d 61    76 61 69 6c 61 62 6c 65 2d 70 29 0a 20 20 20 20  | ctionp.'sqlite-available-p)..... | 
| 16260 |  20 20 20 20 20 20 20 20 20 20 20 28 73 71 6c 69    74 65 2d 61 76 61 69 6c 61 62 6c 65 2d 70 29 0a  | ...........(sqlite-available-p). | 
| 16280 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28    73 71 6c 69 74 65 70 20 63 61 6c 69 62 72 65 64  | ...............(sqlitep.calibred | 
| 162a0 |  62 2d 64 62 2d 63 6f 6e 6e 65 63 74 69 6f 6e 29    29 0a 20 20 20 20 20 20 20 20 20 20 28 66 75 6e  | b-db-connection))...........(fun | 
| 162c0 |  63 61 6c 6c 20 27 73 71 6c 69 74 65 2d 63 6c 6f    73 65 20 63 61 6c 69 62 72 65 64 62 2d 64 62 2d  | call.'sqlite-close.calibredb-db- | 
| 162e0 |  63 6f 6e 6e 65 63 74 69 6f 6e 29 0a 20 20 20 20    20 20 20 20 20 20 28 73 65 74 71 20 63 61 6c 69  | connection)...........(setq.cali | 
| 16300 |  62 72 65 64 62 2d 64 62 2d 63 6f 6e 6e 65 63 74    69 6f 6e 20 6e 69 6c 29 29 0a 20 20 20 20 20 20  | bredb-db-connection.nil))....... | 
| 16320 |  20 20 28 63 61 6c 69 62 72 65 64 62 2d 73 65 61    72 63 68 2d 72 65 66 72 65 73 68 2d 6f 72 2d 72  | ..(calibredb-search-refresh-or-r | 
| 16340 |  65 73 75 6d 65 29 29 29 0a 20 20 20 20 20 28 74    0a 20 20 20 20 20 20 28 6c 65 74 20 28 28 6c 69  | esume)))......(t.......(let.((li | 
| 16360 |  62 72 61 72 79 20 28 2d 66 69 72 73 74 20 28 6c    61 6d 62 64 61 20 28 6c 69 62 29 0a 20 20 20 20  | brary.(-first.(lambda.(lib)..... | 
| 16380 |  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 73 2d 63 6f  | ...........................(s-co | 
| 163a0 |  6e 74 61 69 6e 73 3f 20 28 63 61 72 20 6c 69 62    29 20 72 65 73 75 6c 74 29 29 0a 20 20 20 20 20  | ntains?.(car.lib).result))...... | 
| 163c0 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 63 61 6c 69 62 72 65 64  | ........................calibred | 
| 163e0 |  62 2d 6c 69 62 72 61 72 79 2d 61 6c 69 73 74 29    29 29 0a 20 20 20 20 20 20 20 20 28 73 65 74 71  | b-library-alist))).........(setq | 
| 16400 |  20 63 61 6c 69 62 72 65 64 62 2d 72 6f 6f 74 2d    64 69 72 20 28 63 61 72 20 6c 69 62 72 61 72 79  | .calibredb-root-dir.(car.library | 
| 16420 |  29 29 0a 20 20 20 20 20 20 20 20 28 73 65 74 71    20 63 61 6c 69 62 72 65 64 62 2d 64 62 2d 64 69  | )).........(setq.calibredb-db-di | 
| 16440 |  72 20 28 65 78 70 61 6e 64 2d 66 69 6c 65 2d 6e    61 6d 65 20 22 2e 6d 65 74 61 64 61 74 61 2e 63  | r.(expand-file-name.".metadata.c | 
| 16460 |  61 6c 69 62 72 65 22 20 63 61 6c 69 62 72 65 64    62 2d 72 6f 6f 74 2d 64 69 72 29 29 0a 20 20 20  | alibre".calibredb-root-dir)).... | 
| 16480 |  20 20 20 20 20 28 63 61 6c 69 62 72 65 64 62 2d    73 65 61 72 63 68 2d 75 70 64 61 74 65 2d 62 75  | .....(calibredb-search-update-bu | 
| 164a0 |  66 66 65 72 20 3a 66 6f 6c 64 65 72 20 74 29 29    29 29 29 29 0a 0a 28 64 65 66 75 6e 20 63 61 6c  | ffer.:folder.t))))))..(defun.cal | 
| 164c0 |  69 62 72 65 64 62 2d 6c 69 62 72 61 72 79 2d 70    72 65 76 69 6f 75 73 20 28 29 0a 20 20 22 4e 65  | ibredb-library-previous.()..."Ne | 
| 164e0 |  78 74 20 6c 69 62 72 61 72 79 20 66 72 6f 6d 20    76 61 72 69 61 62 6c 65 20 60 63 61 6c 69 62 72  | xt.library.from.variable.`calibr | 
| 16500 |  65 64 62 2d 6c 69 62 72 61 72 79 2d 61 6c 69 73    74 27 2e 0a 49 66 20 75 6e 64 65 72 20 2a 63 61  | edb-library-alist'..If.under.*ca | 
| 16520 |  6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2a 20    62 75 66 66 65 72 2c 20 69 74 20 77 69 6c 6c 20  | libredb-search*.buffer,.it.will. | 
| 16540 |  61 75 74 6f 20 72 65 66 72 65 73 68 20 61 66 74    65 72 0a 73 65 6c 65 63 74 69 6e 67 20 74 68 65  | auto.refresh.after.selecting.the | 
| 16560 |  20 6e 65 77 20 69 74 65 6d 2e 22 0a 20 20 28 69    6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 6c  | .new.item."...(interactive)...(l | 
| 16580 |  65 74 2a 20 28 28 69 6e 64 65 78 20 28 73 65 74    71 20 63 61 6c 69 62 72 65 64 62 2d 6c 69 62 72  | et*.((index.(setq.calibredb-libr | 
| 165a0 |  61 72 79 2d 69 6e 64 65 78 20 28 69 66 20 28 3e    20 63 61 6c 69 62 72 65 64 62 2d 6c 69 62 72 61  | ary-index.(if.(>.calibredb-libra | 
| 165c0 |  72 79 2d 69 6e 64 65 78 20 30 29 0a 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | ry-index.0)..................... | 
| 165e0 |  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 31  | ..............................(1 | 
| 16600 |  2d 20 63 61 6c 69 62 72 65 64 62 2d 6c 69 62 72    61 72 79 2d 69 6e 64 65 78 29 0a 20 20 20 20 20  | -.calibredb-library-index)...... | 
| 16620 |  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  | ................................ | 
| 16640 |  20 20 20 20 20 20 20 20 20 20 20 28 31 2d 20 28    6c 65 6e 67 74 68 20 63 61 6c 69 62 72 65 64 62  | ...........(1-.(length.calibredb | 
| 16660 |  2d 6c 69 62 72 61 72 79 2d 61 6c 69 73 74 29 29    29 29 29 0a 20 20 20 20 20 20 20 20 20 28 72 65  | -library-alist)))))..........(re | 
| 16680 |  73 75 6c 74 20 28 63 61 72 20 28 6e 74 68 20 69    6e 64 65 78 20 63 61 6c 69 62 72 65 64 62 2d 6c  | sult.(car.(nth.index.calibredb-l | 
| 166a0 |  69 62 72 61 72 79 2d 61 6c 69 73 74 29 29 29 0a    20 20 20 20 20 20 20 20 20 28 72 65 6d 61 69 6e  | ibrary-alist)))..........(remain | 
| 166c0 |  69 6e 67 20 28 63 64 72 20 28 6e 74 68 20 69 6e    64 65 78 20 63 61 6c 69 62 72 65 64 62 2d 6c 69  | ing.(cdr.(nth.index.calibredb-li | 
| 166e0 |  62 72 61 72 79 2d 61 6c 69 73 74 29 29 29 0a 20    20 20 20 20 20 20 20 20 28 6c 69 62 72 61 72 79  | brary-alist)))..........(library | 
| 16700 |  2d 6e 61 6d 65 20 28 6f 72 20 28 61 73 73 6f 63    2d 64 65 66 61 75 6c 74 20 27 6e 61 6d 65 20 72  | -name.(or.(assoc-default.'name.r | 
| 16720 |  65 6d 61 69 6e 69 6e 67 29 20 63 61 6c 69 62 72    65 64 62 2d 76 69 72 74 75 61 6c 2d 6c 69 62 72  | emaining).calibredb-virtual-libr | 
| 16740 |  61 72 79 2d 64 65 66 61 75 6c 74 2d 6e 61 6d 65    29 29 0a 20 20 20 20 20 20 20 20 20 28 64 62 20  | ary-default-name))..........(db. | 
| 16760 |  28 63 6f 6e 63 61 74 20 28 66 69 6c 65 2d 6e 61    6d 65 2d 61 73 2d 64 69 72 65 63 74 6f 72 79 20  | (concat.(file-name-as-directory. | 
| 16780 |  72 65 73 75 6c 74 29 20 22 6d 65 74 61 64 61 74    61 2e 64 62 22 29 29 29 0a 20 20 20 20 28 73 65  | result)."metadata.db"))).....(se | 
| 167a0 |  74 71 20 63 61 6c 69 62 72 65 64 62 2d 76 69 72    74 75 61 6c 2d 6c 69 62 72 61 72 79 2d 64 65 66  | tq.calibredb-virtual-library-def | 
| 167c0 |  61 75 6c 74 2d 6e 61 6d 65 20 6c 69 62 72 61 72    79 2d 6e 61 6d 65 29 0a 20 20 20 20 28 73 65 74  | ault-name.library-name).....(set | 
| 167e0 |  71 20 63 61 6c 69 62 72 65 64 62 2d 76 69 72 74    75 61 6c 2d 6c 69 62 72 61 72 79 2d 6e 61 6d 65  | q.calibredb-virtual-library-name | 
| 16800 |  20 63 61 6c 69 62 72 65 64 62 2d 76 69 72 74 75    61 6c 2d 6c 69 62 72 61 72 79 2d 64 65 66 61 75  | .calibredb-virtual-library-defau | 
| 16820 |  6c 74 2d 6e 61 6d 65 29 0a 20 20 20 20 28 63 6f    6e 64 0a 20 20 20 20 20 28 28 73 74 72 69 6e 67  | lt-name).....(cond......((string | 
| 16840 |  2d 70 72 65 66 69 78 2d 70 20 22 68 74 74 70 22    20 72 65 73 75 6c 74 29 0a 20 20 20 20 20 20 28  | -prefix-p."http".result).......( | 
| 16860 |  6c 65 74 20 28 28 6c 69 62 72 61 72 79 20 28 2d    66 69 72 73 74 20 28 6c 61 6d 62 64 61 20 28 6c  | let.((library.(-first.(lambda.(l | 
| 16880 |  69 62 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 20  | ib)............................. | 
| 168a0 |  20 20 20 28 73 2d 63 6f 6e 74 61 69 6e 73 3f 20    28 63 61 72 20 6c 69 62 29 20 72 65 73 75 6c 74  | ...(s-contains?.(car.lib).result | 
| 168c0 |  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 20 20 20  | )).............................. | 
| 168e0 |  63 61 6c 69 62 72 65 64 62 2d 6c 69 62 72 61 72    79 2d 61 6c 69 73 74 29 29 29 0a 20 20 20 20 20  | calibredb-library-alist)))...... | 
| 16900 |  20 20 20 28 73 65 74 71 20 63 61 6c 69 62 72 65    64 62 2d 72 6f 6f 74 2d 64 69 72 20 28 63 61 72  | ...(setq.calibredb-root-dir.(car | 
| 16920 |  20 6c 69 62 72 61 72 79 29 29 0a 20 20 20 20 20    20 20 20 28 63 61 6c 69 62 72 65 64 62 2d 6f 70  | .library)).........(calibredb-op | 
| 16940 |  64 73 2d 72 65 71 75 65 73 74 2d 70 61 67 65 20    72 65 73 75 6c 74 20 28 61 73 73 6f 63 2d 64 65  | ds-request-page.result.(assoc-de | 
| 16960 |  66 61 75 6c 74 20 27 61 63 63 6f 75 6e 74 20 72    65 6d 61 69 6e 69 6e 67 29 20 28 61 73 73 6f 63  | fault.'account.remaining).(assoc | 
| 16980 |  2d 64 65 66 61 75 6c 74 20 27 70 61 73 73 77 6f    72 64 20 72 65 6d 61 69 6e 69 6e 67 29 29 29 29  | -default.'password.remaining)))) | 
| 169a0 |  0a 20 20 20 20 20 28 28 66 69 6c 65 2d 65 78 69    73 74 73 2d 70 20 64 62 29 0a 20 20 20 20 20 20  | ......((file-exists-p.db)....... | 
| 169c0 |  28 70 72 6f 67 6e 0a 20 20 20 20 20 20 20 20 28    73 65 74 71 20 63 61 6c 69 62 72 65 64 62 2d 72  | (progn.........(setq.calibredb-r | 
| 169e0 |  6f 6f 74 2d 64 69 72 20 72 65 73 75 6c 74 29 0a    20 20 20 20 20 20 20 20 28 63 61 6c 69 62 72 65  | oot-dir.result).........(calibre | 
| 16a00 |  64 62 2d 72 6f 6f 74 2d 64 69 72 2d 71 75 6f 74    65 29 0a 20 20 20 20 20 20 20 20 28 73 65 74 71  | db-root-dir-quote).........(setq | 
| 16a20 |  20 63 61 6c 69 62 72 65 64 62 2d 64 62 2d 64 69    72 20 28 63 6f 6e 63 61 74 20 28 66 69 6c 65 2d  | .calibredb-db-dir.(concat.(file- | 
| 16a40 |  6e 61 6d 65 2d 61 73 2d 64 69 72 65 63 74 6f 72    79 20 63 61 6c 69 62 72 65 64 62 2d 72 6f 6f 74  | name-as-directory.calibredb-root | 
| 16a60 |  2d 64 69 72 29 20 22 6d 65 74 61 64 61 74 61 2e    64 62 22 29 29 0a 20 20 20 20 20 20 20 20 28 63  | -dir)."metadata.db")).........(c | 
| 16a80 |  61 6c 69 62 72 65 64 62 2d 72 65 66 2d 64 65 66    61 75 6c 74 2d 62 69 62 6c 69 6f 67 72 61 70 68  | alibredb-ref-default-bibliograph | 
| 16aa0 |  79 29 0a 20 20 20 20 20 20 20 20 28 77 68 65 6e    20 28 61 6e 64 0a 20 20 20 20 20 20 20 20 20 20  | y).........(when.(and........... | 
| 16ac0 |  20 20 20 20 20 28 66 75 6e 63 74 69 6f 6e 70 20    27 73 71 6c 69 74 65 2d 61 76 61 69 6c 61 62 6c  | .....(functionp.'sqlite-availabl | 
| 16ae0 |  65 2d 70 29 0a 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 28 73 71 6c 69 74 65 2d 61 76 61 69  | e-p)................(sqlite-avai | 
| 16b00 |  6c 61 62 6c 65 2d 70 29 0a 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 28 73 71 6c 69 74 65 70  | lable-p)................(sqlitep | 
| 16b20 |  20 63 61 6c 69 62 72 65 64 62 2d 64 62 2d 63 6f    6e 6e 65 63 74 69 6f 6e 29 29 0a 20 20 20 20 20  | .calibredb-db-connection))...... | 
| 16b40 |  20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 27 73    71 6c 69 74 65 2d 63 6c 6f 73 65 20 63 61 6c 69  | .....(funcall.'sqlite-close.cali | 
| 16b60 |  62 72 65 64 62 2d 64 62 2d 63 6f 6e 6e 65 63 74    69 6f 6e 29 0a 20 20 20 20 20 20 20 20 20 20 28  | bredb-db-connection)...........( | 
| 16b80 |  73 65 74 71 20 63 61 6c 69 62 72 65 64 62 2d 64    62 2d 63 6f 6e 6e 65 63 74 69 6f 6e 20 6e 69 6c  | setq.calibredb-db-connection.nil | 
| 16ba0 |  29 29 0a 20 20 20 20 20 20 20 20 28 63 61 6c 69    62 72 65 64 62 2d 73 65 61 72 63 68 2d 72 65 66  | )).........(calibredb-search-ref | 
| 16bc0 |  72 65 73 68 2d 6f 72 2d 72 65 73 75 6d 65 29 29    29 0a 20 20 20 20 20 28 74 0a 20 20 20 20 20 20  | resh-or-resume)))......(t....... | 
| 16be0 |  28 6c 65 74 20 28 28 6c 69 62 72 61 72 79 20 28    2d 66 69 72 73 74 20 28 6c 61 6d 62 64 61 20 28  | (let.((library.(-first.(lambda.( | 
| 16c00 |  6c 69 62 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  | lib)............................ | 
| 16c20 |  20 20 20 20 28 73 2d 63 6f 6e 74 61 69 6e 73 3f    20 28 63 61 72 20 6c 69 62 29 20 72 65 73 75 6c  | ....(s-contains?.(car.lib).resul | 
| 16c40 |  74 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 20 20  | t))............................. | 
| 16c60 |  20 63 61 6c 69 62 72 65 64 62 2d 6c 69 62 72 61    72 79 2d 61 6c 69 73 74 29 29 29 0a 20 20 20 20  | .calibredb-library-alist)))..... | 
| 16c80 |  20 20 20 20 28 73 65 74 71 20 63 61 6c 69 62 72    65 64 62 2d 72 6f 6f 74 2d 64 69 72 20 28 63 61  | ....(setq.calibredb-root-dir.(ca | 
| 16ca0 |  72 20 6c 69 62 72 61 72 79 29 29 0a 20 20 20 20    20 20 20 20 28 73 65 74 71 20 63 61 6c 69 62 72  | r.library)).........(setq.calibr | 
| 16cc0 |  65 64 62 2d 64 62 2d 64 69 72 20 6e 69 6c 29 0a    20 20 20 20 20 20 20 20 28 63 61 6c 69 62 72 65  | edb-db-dir.nil).........(calibre | 
| 16ce0 |  64 62 2d 73 65 61 72 63 68 2d 75 70 64 61 74 65    2d 62 75 66 66 65 72 20 3a 66 6f 6c 64 65 72 20  | db-search-update-buffer.:folder. | 
| 16d00 |  74 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20    63 61 6c 69 62 72 65 64 62 2d 6c 69 62 72 61 72  | t))))))..(defun.calibredb-librar | 
| 16d20 |  79 2d 6e 65 78 74 20 28 29 0a 20 20 22 4e 65 78    74 20 6c 69 62 72 61 72 79 20 66 72 6f 6d 20 76  | y-next.()..."Next.library.from.v | 
| 16d40 |  61 72 69 61 62 6c 65 20 60 63 61 6c 69 62 72 65    64 62 2d 6c 69 62 72 61 72 79 2d 61 6c 69 73 74  | ariable.`calibredb-library-alist | 
| 16d60 |  27 2e 0a 49 66 20 75 6e 64 65 72 20 2a 63 61 6c    69 62 72 65 64 62 2d 73 65 61 72 63 68 2a 20 62  | '..If.under.*calibredb-search*.b | 
| 16d80 |  75 66 66 65 72 2c 20 69 74 20 77 69 6c 6c 20 61    75 74 6f 20 72 65 66 72 65 73 68 20 61 66 74 65  | uffer,.it.will.auto.refresh.afte | 
| 16da0 |  72 0a 73 65 6c 65 63 74 69 6e 67 20 74 68 65 20    6e 65 77 20 69 74 65 6d 2e 22 0a 20 20 28 69 6e  | r.selecting.the.new.item."...(in | 
| 16dc0 |  74 65 72 61 63 74 69 76 65 29 0a 20 20 28 6c 65    74 2a 20 28 28 69 6e 64 65 78 20 28 73 65 74 71  | teractive)...(let*.((index.(setq | 
| 16de0 |  20 63 61 6c 69 62 72 65 64 62 2d 6c 69 62 72 61    72 79 2d 69 6e 64 65 78 20 28 69 66 20 28 3c 20  | .calibredb-library-index.(if.(<. | 
| 16e00 |  63 61 6c 69 62 72 65 64 62 2d 6c 69 62 72 61 72    79 2d 69 6e 64 65 78 20 28 31 2d 20 28 6c 65 6e  | calibredb-library-index.(1-.(len | 
| 16e20 |  67 74 68 20 63 61 6c 69 62 72 65 64 62 2d 6c 69    62 72 61 72 79 2d 61 6c 69 73 74 29 29 29 0a 20  | gth.calibredb-library-alist))).. | 
| 16e40 |  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  | ................................ | 
| 16e60 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 28 31 2b 20 63 61 6c 69 62 72 65 64 62 2d 6c  | .................(1+.calibredb-l | 
| 16e80 |  69 62 72 61 72 79 2d 69 6e 64 65 78 29 20 30 29    29 29 0a 20 20 20 20 20 20 20 20 20 28 72 65 73  | ibrary-index).0)))..........(res | 
| 16ea0 |  75 6c 74 20 28 63 61 72 20 28 6e 74 68 20 69 6e    64 65 78 20 63 61 6c 69 62 72 65 64 62 2d 6c 69  | ult.(car.(nth.index.calibredb-li | 
| 16ec0 |  62 72 61 72 79 2d 61 6c 69 73 74 29 29 29 0a 20    20 20 20 20 20 20 20 20 28 72 65 6d 61 69 6e 69  | brary-alist)))..........(remaini | 
| 16ee0 |  6e 67 20 28 63 64 72 20 28 6e 74 68 20 69 6e 64    65 78 20 63 61 6c 69 62 72 65 64 62 2d 6c 69 62  | ng.(cdr.(nth.index.calibredb-lib | 
| 16f00 |  72 61 72 79 2d 61 6c 69 73 74 29 29 29 0a 20 20    20 20 20 20 20 20 20 28 6c 69 62 72 61 72 79 2d  | rary-alist)))..........(library- | 
| 16f20 |  6e 61 6d 65 20 28 6f 72 20 28 61 73 73 6f 63 2d    64 65 66 61 75 6c 74 20 27 6e 61 6d 65 20 20 72  | name.(or.(assoc-default.'name..r | 
| 16f40 |  65 6d 61 69 6e 69 6e 67 29 20 63 61 6c 69 62 72    65 64 62 2d 76 69 72 74 75 61 6c 2d 6c 69 62 72  | emaining).calibredb-virtual-libr | 
| 16f60 |  61 72 79 2d 64 65 66 61 75 6c 74 2d 6e 61 6d 65    29 29 0a 20 20 20 20 20 20 20 20 20 28 64 62 20  | ary-default-name))..........(db. | 
| 16f80 |  28 63 6f 6e 63 61 74 20 28 66 69 6c 65 2d 6e 61    6d 65 2d 61 73 2d 64 69 72 65 63 74 6f 72 79 20  | (concat.(file-name-as-directory. | 
| 16fa0 |  72 65 73 75 6c 74 29 20 22 6d 65 74 61 64 61 74    61 2e 64 62 22 29 29 29 0a 20 20 20 20 28 73 65  | result)."metadata.db"))).....(se | 
| 16fc0 |  74 71 20 63 61 6c 69 62 72 65 64 62 2d 76 69 72    74 75 61 6c 2d 6c 69 62 72 61 72 79 2d 64 65 66  | tq.calibredb-virtual-library-def | 
| 16fe0 |  61 75 6c 74 2d 6e 61 6d 65 20 6c 69 62 72 61 72    79 2d 6e 61 6d 65 29 0a 20 20 20 20 28 73 65 74  | ault-name.library-name).....(set | 
| 17000 |  71 20 63 61 6c 69 62 72 65 64 62 2d 76 69 72 74    75 61 6c 2d 6c 69 62 72 61 72 79 2d 6e 61 6d 65  | q.calibredb-virtual-library-name | 
| 17020 |  20 63 61 6c 69 62 72 65 64 62 2d 76 69 72 74 75    61 6c 2d 6c 69 62 72 61 72 79 2d 64 65 66 61 75  | .calibredb-virtual-library-defau | 
| 17040 |  6c 74 2d 6e 61 6d 65 29 0a 20 20 20 20 28 63 6f    6e 64 0a 20 20 20 20 20 28 28 73 74 72 69 6e 67  | lt-name).....(cond......((string | 
| 17060 |  2d 70 72 65 66 69 78 2d 70 20 22 68 74 74 70 22    20 72 65 73 75 6c 74 29 0a 20 20 20 20 20 20 28  | -prefix-p."http".result).......( | 
| 17080 |  6c 65 74 20 28 28 6c 69 62 72 61 72 79 20 28 2d    66 69 72 73 74 20 28 6c 61 6d 62 64 61 20 28 6c  | let.((library.(-first.(lambda.(l | 
| 170a0 |  69 62 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 20  | ib)............................. | 
| 170c0 |  20 20 20 28 73 2d 63 6f 6e 74 61 69 6e 73 3f 20    28 63 61 72 20 6c 69 62 29 20 72 65 73 75 6c 74  | ...(s-contains?.(car.lib).result | 
| 170e0 |  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 20 20 20  | )).............................. | 
| 17100 |  63 61 6c 69 62 72 65 64 62 2d 6c 69 62 72 61 72    79 2d 61 6c 69 73 74 29 29 29 0a 20 20 20 20 20  | calibredb-library-alist)))...... | 
| 17120 |  20 20 20 28 73 65 74 71 20 63 61 6c 69 62 72 65    64 62 2d 72 6f 6f 74 2d 64 69 72 20 28 63 61 72  | ...(setq.calibredb-root-dir.(car | 
| 17140 |  20 6c 69 62 72 61 72 79 29 29 0a 20 20 20 20 20    20 20 20 28 63 61 6c 69 62 72 65 64 62 2d 6f 70  | .library)).........(calibredb-op | 
| 17160 |  64 73 2d 72 65 71 75 65 73 74 2d 70 61 67 65 20    72 65 73 75 6c 74 20 28 61 73 73 6f 63 2d 64 65  | ds-request-page.result.(assoc-de | 
| 17180 |  66 61 75 6c 74 20 27 61 63 63 6f 75 6e 74 20 72    65 6d 61 69 6e 69 6e 67 29 20 28 61 73 73 6f 63  | fault.'account.remaining).(assoc | 
| 171a0 |  2d 64 65 66 61 75 6c 74 20 27 70 61 73 73 77 6f    72 64 20 72 65 6d 61 69 6e 69 6e 67 29 29 29 29  | -default.'password.remaining)))) | 
| 171c0 |  0a 20 20 20 20 20 28 28 66 69 6c 65 2d 65 78 69    73 74 73 2d 70 20 64 62 29 0a 20 20 20 20 20 20  | ......((file-exists-p.db)....... | 
| 171e0 |  28 70 72 6f 67 6e 0a 20 20 20 20 20 20 20 20 28    73 65 74 71 20 63 61 6c 69 62 72 65 64 62 2d 72  | (progn.........(setq.calibredb-r | 
| 17200 |  6f 6f 74 2d 64 69 72 20 72 65 73 75 6c 74 29 0a    20 20 20 20 20 20 20 20 28 63 61 6c 69 62 72 65  | oot-dir.result).........(calibre | 
| 17220 |  64 62 2d 72 6f 6f 74 2d 64 69 72 2d 71 75 6f 74    65 29 0a 20 20 20 20 20 20 20 20 28 73 65 74 71  | db-root-dir-quote).........(setq | 
| 17240 |  20 63 61 6c 69 62 72 65 64 62 2d 64 62 2d 64 69    72 20 28 63 6f 6e 63 61 74 20 28 66 69 6c 65 2d  | .calibredb-db-dir.(concat.(file- | 
| 17260 |  6e 61 6d 65 2d 61 73 2d 64 69 72 65 63 74 6f 72    79 20 63 61 6c 69 62 72 65 64 62 2d 72 6f 6f 74  | name-as-directory.calibredb-root | 
| 17280 |  2d 64 69 72 29 20 22 6d 65 74 61 64 61 74 61 2e    64 62 22 29 29 0a 20 20 20 20 20 20 20 20 28 63  | -dir)."metadata.db")).........(c | 
| 172a0 |  61 6c 69 62 72 65 64 62 2d 72 65 66 2d 64 65 66    61 75 6c 74 2d 62 69 62 6c 69 6f 67 72 61 70 68  | alibredb-ref-default-bibliograph | 
| 172c0 |  79 29 0a 20 20 20 20 20 20 20 20 28 77 68 65 6e    20 28 61 6e 64 0a 20 20 20 20 20 20 20 20 20 20  | y).........(when.(and........... | 
| 172e0 |  20 20 20 20 20 28 66 75 6e 63 74 69 6f 6e 70 20    27 73 71 6c 69 74 65 2d 61 76 61 69 6c 61 62 6c  | .....(functionp.'sqlite-availabl | 
| 17300 |  65 2d 70 29 0a 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 28 73 71 6c 69 74 65 2d 61 76 61 69  | e-p)................(sqlite-avai | 
| 17320 |  6c 61 62 6c 65 2d 70 29 0a 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 28 73 71 6c 69 74 65 70  | lable-p)................(sqlitep | 
| 17340 |  20 63 61 6c 69 62 72 65 64 62 2d 64 62 2d 63 6f    6e 6e 65 63 74 69 6f 6e 29 29 0a 20 20 20 20 20  | .calibredb-db-connection))...... | 
| 17360 |  20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 27 73    71 6c 69 74 65 2d 63 6c 6f 73 65 20 63 61 6c 69  | .....(funcall.'sqlite-close.cali | 
| 17380 |  62 72 65 64 62 2d 64 62 2d 63 6f 6e 6e 65 63 74    69 6f 6e 29 0a 20 20 20 20 20 20 20 20 20 20 28  | bredb-db-connection)...........( | 
| 173a0 |  73 65 74 71 20 63 61 6c 69 62 72 65 64 62 2d 64    62 2d 63 6f 6e 6e 65 63 74 69 6f 6e 20 6e 69 6c  | setq.calibredb-db-connection.nil | 
| 173c0 |  29 29 0a 20 20 20 20 20 20 20 20 28 63 61 6c 69    62 72 65 64 62 2d 73 65 61 72 63 68 2d 72 65 66  | )).........(calibredb-search-ref | 
| 173e0 |  72 65 73 68 2d 6f 72 2d 72 65 73 75 6d 65 29 29    29 0a 20 20 20 20 20 28 74 0a 20 20 20 20 20 20  | resh-or-resume)))......(t....... | 
| 17400 |  28 6c 65 74 20 28 28 6c 69 62 72 61 72 79 20 28    2d 66 69 72 73 74 20 28 6c 61 6d 62 64 61 20 28  | (let.((library.(-first.(lambda.( | 
| 17420 |  6c 69 62 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  | lib)............................ | 
| 17440 |  20 20 20 20 28 73 2d 63 6f 6e 74 61 69 6e 73 3f    20 28 63 61 72 20 6c 69 62 29 20 72 65 73 75 6c  | ....(s-contains?.(car.lib).resul | 
| 17460 |  74 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 20 20  | t))............................. | 
| 17480 |  20 63 61 6c 69 62 72 65 64 62 2d 6c 69 62 72 61    72 79 2d 61 6c 69 73 74 29 29 29 0a 20 20 20 20  | .calibredb-library-alist)))..... | 
| 174a0 |  20 20 20 20 28 73 65 74 71 20 63 61 6c 69 62 72    65 64 62 2d 72 6f 6f 74 2d 64 69 72 20 28 63 61  | ....(setq.calibredb-root-dir.(ca | 
| 174c0 |  72 20 6c 69 62 72 61 72 79 29 29 0a 20 20 20 20    20 20 20 20 28 73 65 74 71 20 63 61 6c 69 62 72  | r.library)).........(setq.calibr | 
| 174e0 |  65 64 62 2d 64 62 2d 64 69 72 20 6e 69 6c 29 0a    20 20 20 20 20 20 20 20 28 63 61 6c 69 62 72 65  | edb-db-dir.nil).........(calibre | 
| 17500 |  64 62 2d 73 65 61 72 63 68 2d 75 70 64 61 74 65    2d 62 75 66 66 65 72 20 3a 66 6f 6c 64 65 72 20  | db-search-update-buffer.:folder. | 
| 17520 |  74 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20    63 61 6c 69 62 72 65 64 62 2d 76 69 72 74 75 61  | t))))))..(defun.calibredb-virtua | 
| 17540 |  6c 2d 6c 69 62 72 61 72 79 2d 66 69 6c 74 65 72    20 28 6b 65 79 77 6f 72 64 29 0a 20 20 22 46 69  | l-library-filter.(keyword)..."Fi | 
| 17560 |  6c 74 65 72 20 74 68 65 20 76 69 72 74 75 61 6c    20 6c 69 62 72 61 72 79 20 62 61 73 65 64 20 6f  | lter.the.virtual.library.based.o | 
| 17580 |  6e 20 4b 45 59 57 4f 52 44 2e 22 0a 20 20 28 73    65 74 71 20 63 61 6c 69 62 72 65 64 62 2d 76 69  | n.KEYWORD."...(setq.calibredb-vi | 
| 175a0 |  72 74 75 61 6c 2d 6c 69 62 72 61 72 79 2d 6e 61    6d 65 20 28 66 6f 72 6d 61 74 20 22 25 73 20 28  | rtual-library-name.(format."%s.( | 
| 175c0 |  25 73 29 22 20 63 61 6c 69 62 72 65 64 62 2d 76    69 72 74 75 61 6c 2d 6c 69 62 72 61 72 79 2d 64  | %s)".calibredb-virtual-library-d | 
| 175e0 |  65 66 61 75 6c 74 2d 6e 61 6d 65 20 6b 65 79 77    6f 72 64 29 29 20 3b 20 73 65 74 20 63 61 6c 69  | efault-name.keyword)).;.set.cali | 
| 17600 |  62 72 65 64 62 2d 76 69 72 74 75 61 6c 2d 6c 69    62 72 61 72 79 2d 6e 61 6d 65 0a 20 20 28 73 65  | bredb-virtual-library-name...(se | 
| 17620 |  74 71 20 63 61 6c 69 62 72 65 64 62 2d 74 61 67    2d 66 69 6c 74 65 72 2d 70 20 6e 69 6c 29 0a 20  | tq.calibredb-tag-filter-p.nil).. | 
| 17640 |  20 28 73 65 74 71 20 63 61 6c 69 62 72 65 64 62    2d 66 61 76 6f 72 69 74 65 2d 66 69 6c 74 65 72  | .(setq.calibredb-favorite-filter | 
| 17660 |  2d 70 20 6e 69 6c 29 0a 20 20 28 73 65 74 71 20    63 61 6c 69 62 72 65 64 62 2d 61 75 74 68 6f 72  | -p.nil)...(setq.calibredb-author | 
| 17680 |  2d 66 69 6c 74 65 72 2d 70 20 6e 69 6c 29 0a 20    20 28 73 65 74 71 20 63 61 6c 69 62 72 65 64 62  | -filter-p.nil)...(setq.calibredb | 
| 176a0 |  2d 64 61 74 65 2d 66 69 6c 74 65 72 2d 70 20 6e    69 6c 29 0a 20 20 28 73 65 74 71 20 63 61 6c 69  | -date-filter-p.nil)...(setq.cali | 
| 176c0 |  62 72 65 64 62 2d 66 6f 72 6d 61 74 2d 66 69 6c    74 65 72 2d 70 20 6e 69 6c 29 0a 20 20 28 63 61  | bredb-format-filter-p.nil)...(ca | 
| 176e0 |  6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2d 6b    65 79 77 6f 72 64 2d 66 69 6c 74 65 72 0a 20 20  | libredb-search-keyword-filter... | 
| 17700 |  20 28 63 64 72 20 28 61 73 73 6f 63 20 6b 65 79    77 6f 72 64 20 63 61 6c 69 62 72 65 64 62 2d 76  | .(cdr.(assoc.keyword.calibredb-v | 
| 17720 |  69 72 74 75 61 6c 2d 6c 69 62 72 61 72 79 2d 61    6c 69 73 74 29 29 29 0a 20 20 28 63 61 6c 69 62  | irtual-library-alist)))...(calib | 
| 17740 |  72 65 64 62 2d 73 65 61 72 63 68 2d 68 65 61 64    65 72 29 29 0a 0a 28 64 65 66 75 6e 20 63 61 6c  | redb-search-header))..(defun.cal | 
| 17760 |  69 62 72 65 64 62 2d 76 69 72 74 75 61 6c 2d 6c    69 62 72 61 72 79 2d 6c 69 73 74 20 28 29 0a 20  | ibredb-virtual-library-list.().. | 
| 17780 |  20 22 4c 69 73 74 20 61 6c 6c 20 76 69 72 74 75    61 6c 20 6c 69 62 72 61 72 69 65 73 2e 22 0a 20  | ."List.all.virtual.libraries.".. | 
| 177a0 |  20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20    20 28 69 66 20 28 65 71 20 28 6c 65 6e 67 74 68  | .(interactive)...(if.(eq.(length | 
| 177c0 |  20 63 61 6c 69 62 72 65 64 62 2d 76 69 72 74 75    61 6c 2d 6c 69 62 72 61 72 79 2d 61 6c 69 73 74  | .calibredb-virtual-library-alist | 
| 177e0 |  29 20 30 29 0a 20 20 20 20 20 20 28 6d 65 73 73    61 67 65 20 22 4e 6f 20 76 69 72 74 75 61 6c 20  | ).0).......(message."No.virtual. | 
| 17800 |  6c 69 62 72 61 72 69 65 73 2e 20 53 65 74 20 60    63 61 6c 69 62 72 65 64 62 2d 76 69 72 74 75 61  | libraries..Set.`calibredb-virtua | 
| 17820 |  6c 2d 6c 69 62 72 61 72 79 2d 61 6c 69 73 74 27    20 77 69 74 68 20 27 28 28 6e 61 6d 65 20 2e 20  | l-library-alist'.with.'((name... | 
| 17840 |  6b 65 79 77 6f 72 64 73 29 29 2e 22 20 29 0a 20    20 20 20 28 6c 65 74 20 28 28 6b 65 79 77 6f 72  | keywords)).".).....(let.((keywor | 
| 17860 |  64 20 28 63 6f 6d 70 6c 65 74 69 6e 67 2d 72 65    61 64 20 22 53 77 69 74 63 68 20 56 69 72 75 74  | d.(completing-read."Switch.Virut | 
| 17880 |  61 6c 20 4c 69 62 72 61 72 79 3a 20 22 20 63 61    6c 69 62 72 65 64 62 2d 76 69 72 74 75 61 6c 2d  | al.Library:.".calibredb-virtual- | 
| 178a0 |  6c 69 62 72 61 72 79 2d 61 6c 69 73 74 29 29 29    0a 20 20 20 20 20 20 28 63 61 6c 69 62 72 65 64  | library-alist))).......(calibred | 
| 178c0 |  62 2d 76 69 72 74 75 61 6c 2d 6c 69 62 72 61 72    79 2d 66 69 6c 74 65 72 20 6b 65 79 77 6f 72 64  | b-virtual-library-filter.keyword | 
| 178e0 |  29 0a 20 20 20 20 20 20 28 6d 65 73 73 61 67 65    20 6b 65 79 77 6f 72 64 29 29 29 29 0a 0a 28 64  | ).......(message.keyword))))..(d | 
| 17900 |  65 66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d 76    69 72 74 75 61 6c 2d 6c 69 62 72 61 72 79 2d 6e  | efun.calibredb-virtual-library-n | 
| 17920 |  65 78 74 20 28 29 0a 20 20 22 53 77 69 74 68 20    74 6f 20 6e 65 78 74 20 76 69 72 74 75 61 6c 20  | ext.()..."Swith.to.next.virtual. | 
| 17940 |  6c 69 62 72 61 72 79 2e 22 0a 20 20 28 69 6e 74    65 72 61 63 74 69 76 65 29 0a 20 20 28 69 66 20  | library."...(interactive)...(if. | 
| 17960 |  28 65 71 20 28 6c 65 6e 67 74 68 20 63 61 6c 69    62 72 65 64 62 2d 76 69 72 74 75 61 6c 2d 6c 69  | (eq.(length.calibredb-virtual-li | 
| 17980 |  62 72 61 72 79 2d 61 6c 69 73 74 29 20 30 29 0a    20 20 20 20 20 20 28 6d 65 73 73 61 67 65 20 22  | brary-alist).0).......(message." | 
| 179a0 |  4e 6f 20 76 69 72 74 75 61 6c 20 6c 69 62 72 61    72 69 65 73 2e 20 53 65 74 20 60 63 61 6c 69 62  | No.virtual.libraries..Set.`calib | 
| 179c0 |  72 65 64 62 2d 76 69 72 74 75 61 6c 2d 6c 69 62    72 61 72 79 2d 61 6c 69 73 74 27 20 77 69 74 68  | redb-virtual-library-alist'.with | 
| 179e0 |  20 27 28 28 6e 61 6d 65 20 2e 20 6b 65 79 77 6f    72 64 73 29 29 2e 22 20 29 0a 20 20 20 20 20 20  | .'((name...keywords)).".)....... | 
| 17a00 |  28 6c 65 74 2a 20 28 28 69 6e 64 65 78 20 28 73    65 74 71 20 63 61 6c 69 62 72 65 64 62 2d 76 69  | (let*.((index.(setq.calibredb-vi | 
| 17a20 |  72 74 75 61 6c 2d 6c 69 62 72 61 72 79 2d 69 6e    64 65 78 0a 20 20 20 20 20 20 20 20 20 20 20 20  | rtual-library-index............. | 
| 17a40 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69    66 20 28 3c 20 63 61 6c 69 62 72 65 64 62 2d 76  | ..............(if.(<.calibredb-v | 
| 17a60 |  69 72 74 75 61 6c 2d 6c 69 62 72 61 72 79 2d 69    6e 64 65 78 20 28 31 2d 20 28 6c 65 6e 67 74 68  | irtual-library-index.(1-.(length | 
| 17a80 |  20 63 61 6c 69 62 72 65 64 62 2d 76 69 72 74 75    61 6c 2d 6c 69 62 72 61 72 79 2d 61 6c 69 73 74  | .calibredb-virtual-library-alist | 
| 17aa0 |  29 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 20 20  | )))............................. | 
| 17ac0 |  20 20 28 31 2b 20 63 61 6c 69 62 72 65 64 62 2d    76 69 72 74 75 61 6c 2d 6c 69 62 72 61 72 79 2d  | ..(1+.calibredb-virtual-library- | 
| 17ae0 |  69 6e 64 65 78 29 20 30 29 29 29 0a 20 20 20 20    20 20 20 20 20 20 20 20 20 28 6b 65 79 77 6f 72  | index).0)))..............(keywor | 
| 17b00 |  64 20 28 63 61 72 20 28 6e 74 68 20 69 6e 64 65    78 20 63 61 6c 69 62 72 65 64 62 2d 76 69 72 74  | d.(car.(nth.index.calibredb-virt | 
| 17b20 |  75 61 6c 2d 6c 69 62 72 61 72 79 2d 61 6c 69 73    74 29 29 29 29 0a 20 20 20 20 20 20 20 20 28 63  | ual-library-alist)))).........(c | 
| 17b40 |  61 6c 69 62 72 65 64 62 2d 76 69 72 74 75 61 6c    2d 6c 69 62 72 61 72 79 2d 66 69 6c 74 65 72 20  | alibredb-virtual-library-filter. | 
| 17b60 |  6b 65 79 77 6f 72 64 29 0a 20 20 20 20 20 20 20    20 28 6d 65 73 73 61 67 65 20 6b 65 79 77 6f 72  | keyword).........(message.keywor | 
| 17b80 |  64 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 63 61    6c 69 62 72 65 64 62 2d 76 69 72 74 75 61 6c 2d  | d))))..(defun.calibredb-virtual- | 
| 17ba0 |  6c 69 62 72 61 72 79 2d 70 72 65 76 69 6f 75 73    20 28 29 0a 20 20 22 53 77 69 74 68 20 74 6f 20  | library-previous.()..."Swith.to. | 
| 17bc0 |  70 72 65 76 69 6f 75 73 20 76 69 72 74 75 61 6c    20 6c 69 62 72 61 72 79 2e 22 0a 20 20 28 69 6e  | previous.virtual.library."...(in | 
| 17be0 |  74 65 72 61 63 74 69 76 65 29 0a 20 20 28 69 66    20 28 65 71 20 28 6c 65 6e 67 74 68 20 63 61 6c  | teractive)...(if.(eq.(length.cal | 
| 17c00 |  69 62 72 65 64 62 2d 76 69 72 74 75 61 6c 2d 6c    69 62 72 61 72 79 2d 61 6c 69 73 74 29 20 30 29  | ibredb-virtual-library-alist).0) | 
| 17c20 |  0a 20 20 20 20 20 20 28 6d 65 73 73 61 67 65 20    22 4e 6f 20 76 69 72 74 75 61 6c 20 6c 69 62 72  | .......(message."No.virtual.libr | 
| 17c40 |  61 72 69 65 73 2e 20 53 65 74 20 60 63 61 6c 69    62 72 65 64 62 2d 76 69 72 74 75 61 6c 2d 6c 69  | aries..Set.`calibredb-virtual-li | 
| 17c60 |  62 72 61 72 79 2d 61 6c 69 73 74 27 20 77 69 74    68 20 27 28 28 6e 61 6d 65 20 2e 20 6b 65 79 77  | brary-alist'.with.'((name...keyw | 
| 17c80 |  6f 72 64 73 29 29 2e 22 20 29 0a 20 20 20 20 20    20 28 6c 65 74 2a 20 28 28 69 6e 64 65 78 20 28  | ords)).".).......(let*.((index.( | 
| 17ca0 |  73 65 74 71 20 63 61 6c 69 62 72 65 64 62 2d 76    69 72 74 75 61 6c 2d 6c 69 62 72 61 72 79 2d 69  | setq.calibredb-virtual-library-i | 
| 17cc0 |  6e 64 65 78 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  | ndex...........................( | 
| 17ce0 |  69 66 20 28 3e 20 63 61 6c 69 62 72 65 64 62 2d    76 69 72 74 75 61 6c 2d 6c 69 62 72 61 72 79 2d  | if.(>.calibredb-virtual-library- | 
| 17d00 |  69 6e 64 65 78 20 30 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  | index.0)........................ | 
| 17d20 |  20 20 20 20 20 20 20 28 31 2d 20 63 61 6c 69 62    72 65 64 62 2d 76 69 72 74 75 61 6c 2d 6c 69 62  | .......(1-.calibredb-virtual-lib | 
| 17d40 |  72 61 72 79 2d 69 6e 64 65 78 29 0a 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | rary-index)..................... | 
| 17d60 |  20 20 20 20 20 20 20 20 28 31 2d 20 28 6c 65 6e    67 74 68 20 63 61 6c 69 62 72 65 64 62 2d 76 69  | ........(1-.(length.calibredb-vi | 
| 17d80 |  72 74 75 61 6c 2d 6c 69 62 72 61 72 79 2d 61 6c    69 73 74 29 29 29 29 29 0a 20 20 20 20 20 20 20  | rtual-library-alist)))))........ | 
| 17da0 |  20 20 20 20 20 20 28 6b 65 79 77 6f 72 64 20 28    63 61 72 20 28 6e 74 68 20 69 6e 64 65 78 20 63  | ......(keyword.(car.(nth.index.c | 
| 17dc0 |  61 6c 69 62 72 65 64 62 2d 76 69 72 74 75 61 6c    2d 6c 69 62 72 61 72 79 2d 61 6c 69 73 74 29 29  | alibredb-virtual-library-alist)) | 
| 17de0 |  29 29 0a 20 20 20 20 20 20 20 20 28 63 61 6c 69    62 72 65 64 62 2d 76 69 72 74 75 61 6c 2d 6c 69  | )).........(calibredb-virtual-li | 
| 17e00 |  62 72 61 72 79 2d 66 69 6c 74 65 72 20 6b 65 79    77 6f 72 64 29 0a 20 20 20 20 20 20 20 20 28 6d  | brary-filter.keyword).........(m | 
| 17e20 |  65 73 73 61 67 65 20 6b 65 79 77 6f 72 64 29 29    29 29 0a 0a 28 70 72 6f 76 69 64 65 20 27 63 61  | essage.keyword))))..(provide.'ca | 
| 17e40 |  6c 69 62 72 65 64 62 2d 6c 69 62 72 61 72 79 29    0a 0a 3b 3b 3b 20 63 61 6c 69 62 72 65 64 62 2d  | libredb-library)..;;;.calibredb- | 
| 17e60 |  6c 69 62 72 61 72 79 2e 65 6c 20 65 6e 64 73 20    68 65 72 65 0a 00 00 00 00 00 00 00 00 00 00 00  | library.el.ends.here............ | 
| 17e80 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 17ea0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 17ec0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 17ee0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 17f00 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 17f20 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 17f40 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 17f60 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 17f80 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 17fa0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 17fc0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 17fe0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 18000 |  63 61 6c 69 62 72 65 64 62 2d 32 30 32 35 30 37    30 35 2e 32 32 35 2f 63 61 6c 69 62 72 65 64 62  | calibredb-20250705.225/calibredb | 
| 18020 |  2d 6f 70 64 73 2e 65 6c 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | -opds.el........................ | 
| 18040 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 18060 |  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 | 
| 18080 |  30 30 32 36 32 30 30 00 30 30 30 30 30 30 30 30    30 30 30 00 30 31 36 30 33 31 00 20 30 00 00 00  | 0026200.00000000000.016031..0... | 
| 180a0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 180c0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 180e0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 18100 |  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................... | 
| 18120 |  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................... | 
| 18140 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 18160 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 18180 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 181a0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 181c0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 181e0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 18200 |  3b 3b 3b 20 63 61 6c 69 62 72 65 64 62 2d 6f 70    64 73 2e 65 6c 20 2d 2d 2d 20 6f 70 64 73 20 66  | ;;;.calibredb-opds.el.---.opds.f | 
| 18220 |  6f 72 20 63 61 6c 69 62 72 65 64 62 20 2d 2a 2d    20 6c 65 78 69 63 61 6c 2d 62 69 6e 64 69 6e 67  | or.calibredb.-*-.lexical-binding | 
| 18240 |  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 29 20 32 30 32 30 20  | :.t;.-*-..;;.Copyright.(C).2020. | 
| 18260 |  44 61 6d 6f 6e 20 43 68 61 6e 0a 0a 3b 3b 20 41    75 74 68 6f 72 3a 20 44 61 6d 6f 6e 20 43 68 61  | Damon.Chan..;;.Author:.Damon.Cha | 
| 18280 |  6e 20 3c 65 6c 65 63 6d 69 6e 67 40 67 6d 61 69    6c 2e 63 6f 6d 3e 0a 3b 3b 20 55 52 4c 3a 20 68  | n.<elecming@gmail.com>.;;.URL:.h | 
| 182a0 |  74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f    6d 2f 63 68 65 6e 79 61 6e 6d 69 6e 67 2f 63 61  | ttps://github.com/chenyanming/ca | 
| 182c0 |  6c 69 62 72 65 64 62 2e 65 6c 0a 3b 3b 20 4b 65    79 77 6f 72 64 73 3a 20 74 6f 6f 6c 73 0a 0a 3b  | libredb.el.;;.Keywords:.tools..; | 
| 182e0 |  3b 20 54 68 69 73 20 66 69 6c 65 20 69 73 20 4e    4f 54 20 70 61 72 74 20 6f 66 20 47 4e 55 20 45  | ;.This.file.is.NOT.part.of.GNU.E | 
| 18300 |  6d 61 63 73 2e 0a 0a 3b 3b 20 54 68 69 73 20 70    72 6f 67 72 61 6d 20 69 73 20 66 72 65 65 20 73  | macs...;;.This.program.is.free.s | 
| 18320 |  6f 66 74 77 61 72 65 3b 20 79 6f 75 20 63 61 6e    20 72 65 64 69 73 74 72 69 62 75 74 65 20 69 74  | oftware;.you.can.redistribute.it | 
| 18340 |  20 61 6e 64 2f 6f 72 20 6d 6f 64 69 66 79 0a 3b    3b 20 69 74 20 75 6e 64 65 72 20 74 68 65 20 74  | .and/or.modify.;;.it.under.the.t | 
| 18360 |  65 72 6d 73 20 6f 66 20 74 68 65 20 47 4e 55 20    47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c  | erms.of.the.GNU.General.Public.L | 
| 18380 |  69 63 65 6e 73 65 20 61 73 20 70 75 62 6c 69 73    68 65 64 20 62 79 0a 3b 3b 20 74 68 65 20 46 72  | icense.as.published.by.;;.the.Fr | 
| 183a0 |  65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e    64 61 74 69 6f 6e 2c 20 65 69 74 68 65 72 20 76  | ee.Software.Foundation,.either.v | 
| 183c0 |  65 72 73 69 6f 6e 20 33 20 6f 66 20 74 68 65 20    4c 69 63 65 6e 73 65 2c 20 6f 72 0a 3b 3b 20 28  | ersion.3.of.the.License,.or.;;.( | 
| 183e0 |  61 74 20 79 6f 75 72 20 6f 70 74 69 6f 6e 29 20    61 6e 79 20 6c 61 74 65 72 20 76 65 72 73 69 6f  | at.your.option).any.later.versio | 
| 18400 |  6e 2e 0a 0a 3b 3b 20 54 68 69 73 20 70 72 6f 67    72 61 6d 20 69 73 20 64 69 73 74 72 69 62 75 74  | n...;;.This.program.is.distribut | 
| 18420 |  65 64 20 69 6e 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  | ed.in.the.hope.that.it.will.be.u | 
| 18440 |  73 65 66 75 6c 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  | seful,.;;.but.WITHOUT.ANY.WARRAN | 
| 18460 |  54 59 3b 20 77 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  | TY;.without.even.the.implied.war | 
| 18480 |  72 61 6e 74 79 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  | ranty.of.;;.MERCHANTABILITY.or.F | 
| 184a0 |  49 54 4e 45 53 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  | ITNESS.FOR.A.PARTICULAR.PURPOSE. | 
| 184c0 |  20 20 53 65 65 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  | ..See.the.;;.GNU.General.Public. | 
| 184e0 |  4c 69 63 65 6e 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  | License.for.more.details...;;.Yo | 
| 18500 |  75 20 73 68 6f 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  | u.should.have.received.a.copy.of | 
| 18520 |  20 74 68 65 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 73 65 0a  | .the.GNU.General.Public.License. | 
| 18540 |  3b 3b 20 61 6c 6f 6e 67 20 77 69 74 68 20 74 68    69 73 20 70 72 6f 67 72 61 6d 2e 20 20 49 66 20  | ;;.along.with.this.program...If. | 
| 18560 |  6e 6f 74 2c 20 73 65 65 20 3c 68 74 74 70 73 3a    2f 2f 77 77 77 2e 67 6e 75 2e 6f 72 67 2f 6c 69  | not,.see.<https://www.gnu.org/li | 
| 18580 |  63 65 6e 73 65 73 2f 3e 2e 0a 0a 3b 3b 3b 20 43    6f 6d 6d 65 6e 74 61 72 79 3a 0a 0a 3b 3b 3b 20  | censes/>...;;;.Commentary:..;;;. | 
| 185a0 |  43 6f 64 65 3a 0a 0a 28 72 65 71 75 69 72 65 20    27 63 61 6c 69 62 72 65 64 62 2d 63 6f 72 65 29  | Code:..(require.'calibredb-core) | 
| 185c0 |  0a 28 72 65 71 75 69 72 65 20 27 65 73 78 6d 6c    2d 71 75 65 72 79 29 0a 28 72 65 71 75 69 72 65  | .(require.'esxml-query).(require | 
| 185e0 |  20 27 65 73 78 6d 6c 29 0a 28 72 65 71 75 69 72    65 20 27 64 6f 6d 29 0a 0a 28 64 65 66 76 61 72  | .'esxml).(require.'dom)..(defvar | 
| 18600 |  20 63 61 6c 69 62 72 65 64 62 2d 6f 70 64 73 2d    72 6f 6f 74 2d 75 72 6c 20 6e 69 6c 29 0a 28 64  | .calibredb-opds-root-url.nil).(d | 
| 18620 |  65 66 76 61 72 20 63 61 6c 69 62 72 65 64 62 2d    6f 70 64 73 2d 64 6f 77 6e 6c 6f 61 64 2d 64 69  | efvar.calibredb-opds-download-di | 
| 18640 |  72 20 22 7e 2f 44 6f 77 6e 6c 6f 61 64 73 22 29    0a 0a 28 64 65 63 6c 61 72 65 2d 66 75 6e 63 74  | r."~/Downloads")..(declare-funct | 
| 18660 |  69 6f 6e 20 63 61 6c 69 62 72 65 64 62 20 22 63    61 6c 69 62 72 65 64 62 2e 65 6c 22 29 0a 0a 28  | ion.calibredb."calibredb.el")..( | 
| 18680 |  64 65 66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d    6f 70 64 73 2d 6d 61 69 6c 63 61 70 2d 6d 69 6d  | defun.calibredb-opds-mailcap-mim | 
| 186a0 |  65 2d 74 6f 2d 65 78 74 6e 20 28 6d 69 6d 65 29    0a 20 20 22 52 65 74 75 72 6e 20 74 68 65 20 66  | e-to-extn.(mime)..."Return.the.f | 
| 186c0 |  69 6c 65 20 65 78 74 65 6e 73 69 6f 6e 73 20 45    58 54 4e 20 62 61 73 65 64 20 6f 6e 20 74 68 65  | ile.extensions.EXTN.based.on.the | 
| 186e0 |  20 4d 49 4d 45 20 63 6f 6e 74 65 6e 74 20 74 79    70 65 2e 22 0a 20 20 28 6d 61 69 6c 63 61 70 2d  | .MIME.content.type."...(mailcap- | 
| 18700 |  70 61 72 73 65 2d 6d 69 6d 65 74 79 70 65 73 29    0a 20 20 28 69 66 20 28 73 74 72 69 6e 67 70 20  | parse-mimetypes)...(if.(stringp. | 
| 18720 |  6d 69 6d 65 29 0a 20 20 20 20 20 20 28 6c 65 74    20 28 28 74 79 70 65 20 28 63 61 72 20 28 72 61  | mime).......(let.((type.(car.(ra | 
| 18740 |  73 73 6f 63 20 28 64 6f 77 6e 63 61 73 65 20 6d    69 6d 65 29 20 6d 61 69 6c 63 61 70 2d 6d 69 6d  | ssoc.(downcase.mime).mailcap-mim | 
| 18760 |  65 2d 65 78 74 65 6e 73 69 6f 6e 73 29 29 29 29    0a 20 20 20 20 20 20 20 20 28 69 66 20 74 79 70  | e-extensions)))).........(if.typ | 
| 18780 |  65 20 74 79 70 65 0a 20 20 20 20 20 20 20 20 20    20 28 69 66 20 28 73 74 72 69 6e 67 2d 6d 61 74  | e.type...........(if.(string-mat | 
| 187a0 |  63 68 20 28 72 65 67 65 78 70 2d 6f 70 74 20 27    28 22 61 74 6f 6d 22 20 22 78 6d 6c 22 29 29 20  | ch.(regexp-opt.'("atom"."xml")). | 
| 187c0 |  6d 69 6d 65 29 0a 20 20 20 20 20 20 20 20 20 20    20 20 20 20 22 2e 61 74 6f 6d 22 0a 20 20 20 20  | mime)...............".atom"..... | 
| 187e0 |  20 20 20 20 20 20 20 20 22 2e 22 29 29 29 0a 20    20 20 20 22 2e 22 29 29 0a 0a 28 64 65 66 75 6e  | ........".")))....."."))..(defun | 
| 18800 |  20 63 61 6c 69 62 72 65 64 62 2d 6f 70 64 73 2d    68 6f 73 74 20 28 29 0a 20 20 22 4d 6f 64 69 66  | .calibredb-opds-host.()..."Modif | 
| 18820 |  79 20 60 75 72 6c 2d 72 65 63 72 65 61 74 65 2d    75 72 6c 27 20 74 6f 20 66 69 74 20 74 68 65 20  | y.`url-recreate-url'.to.fit.the. | 
| 18840 |  6e 65 65 64 73 2e 22 0a 20 20 28 6c 65 74 2a 20    28 28 75 72 6c 6f 62 6a 20 28 75 72 6c 2d 67 65  | needs."...(let*.((urlobj.(url-ge | 
| 18860 |  6e 65 72 69 63 2d 70 61 72 73 65 2d 75 72 6c 20    63 61 6c 69 62 72 65 64 62 2d 6f 70 64 73 2d 72  | neric-parse-url.calibredb-opds-r | 
| 18880 |  6f 6f 74 2d 75 72 6c 29 29 0a 20 20 20 20 20 20    20 20 20 28 74 79 70 65 20 28 75 72 6c 2d 74 79  | oot-url))..........(type.(url-ty | 
| 188a0 |  70 65 20 75 72 6c 6f 62 6a 29 29 0a 20 20 20 20    20 20 20 20 20 28 75 73 65 72 20 28 75 72 6c 2d  | pe.urlobj))..........(user.(url- | 
| 188c0 |  75 73 65 72 20 75 72 6c 6f 62 6a 29 29 0a 20 20    20 20 20 20 20 20 20 28 70 61 73 73 20 28 75 72  | user.urlobj))..........(pass.(ur | 
| 188e0 |  6c 2d 70 61 73 73 77 6f 72 64 20 75 72 6c 6f 62    6a 29 29 0a 20 20 20 20 20 20 20 20 20 28 68 6f  | l-password.urlobj))..........(ho | 
| 18900 |  73 74 20 28 75 72 6c 2d 68 6f 73 74 20 75 72 6c    6f 62 6a 29 29 0a 20 20 20 20 20 20 20 20 20 3b  | st.(url-host.urlobj))..........; | 
| 18920 |  3b 20 52 46 43 20 33 39 38 36 3a 20 22 6f 6d 69    74 20 74 68 65 20 70 6f 72 74 20 63 6f 6d 70 6f  | ;.RFC.3986:."omit.the.port.compo | 
| 18940 |  6e 65 6e 74 20 61 6e 64 20 69 74 73 20 3a 20 64    65 6c 69 6d 69 74 65 72 20 69 66 0a 20 20 20 20  | nent.and.its.:.delimiter.if..... | 
| 18960 |  20 20 20 20 20 3b 3b 20 70 6f 72 74 20 69 73 20    65 6d 70 74 79 20 6f 72 20 69 66 20 69 74 73 20  | .....;;.port.is.empty.or.if.its. | 
| 18980 |  76 61 6c 75 65 20 77 6f 75 6c 64 20 62 65 20 74    68 65 20 73 61 6d 65 20 61 73 20 74 68 61 74 20  | value.would.be.the.same.as.that. | 
| 189a0 |  6f 66 0a 20 20 20 20 20 20 20 20 20 3b 3b 20 74    68 65 20 73 63 68 65 6d 65 27 73 20 64 65 66 61  | of..........;;.the.scheme's.defa | 
| 189c0 |  75 6c 74 2e 22 0a 20 20 20 20 20 20 20 20 20 28    70 6f 72 74 20 28 75 72 6c 2d 70 6f 72 74 2d 69  | ult."..........(port.(url-port-i | 
| 189e0 |  66 2d 6e 6f 6e 2d 64 65 66 61 75 6c 74 20 75 72    6c 6f 62 6a 29 29 0a 20 20 20 20 20 20 20 20 20  | f-non-default.urlobj)).......... | 
| 18a00 |  3b 3b 20 28 66 69 6c 65 20 28 75 72 6c 2d 66 69    6c 65 6e 61 6d 65 20 75 72 6c 6f 62 6a 29 29 0a  | ;;.(file.(url-filename.urlobj)). | 
| 18a20 |  20 20 20 20 20 20 20 20 20 3b 3b 20 28 66 72 61    67 20 28 75 72 6c 2d 74 61 72 67 65 74 20 75 72  | .........;;.(frag.(url-target.ur | 
| 18a40 |  6c 6f 62 6a 29 29 0a 20 20 20 20 20 20 20 20 20    29 0a 20 20 20 20 28 63 6f 6e 63 61 74 20 28 69  | lobj))..........).....(concat.(i | 
| 18a60 |  66 20 74 79 70 65 20 28 63 6f 6e 63 61 74 20 74    79 70 65 20 22 3a 22 29 29 0a 20 20 20 20 20 20  | f.type.(concat.type.":"))....... | 
| 18a80 |  20 20 20 20 20 20 28 69 66 20 28 75 72 6c 2d 66    75 6c 6c 6e 65 73 73 20 75 72 6c 6f 62 6a 29 20  | ......(if.(url-fullness.urlobj). | 
| 18aa0 |  22 2f 2f 22 29 0a 20 20 20 20 20 20 20 20 20 20    20 20 28 69 66 20 28 6f 72 20 75 73 65 72 20 70  | "//").............(if.(or.user.p | 
| 18ac0 |  61 73 73 29 0a 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 28 63 6f 6e 63 61 74 20 75 73 65  | ass).................(concat.use | 
| 18ae0 |  72 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 28 69 66 20 70 61  | r.........................(if.pa | 
| 18b00 |  73 73 20 28 63 6f 6e 63 61 74 20 22 3a 22 20 70    61 73 73 29 29 0a 20 20 20 20 20 20 20 20 20 20  | ss.(concat.":".pass))........... | 
| 18b20 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 40    22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20  | .............."@"))............. | 
| 18b40 |  68 6f 73 74 0a 20 20 20 20 20 20 20 20 20 20 20    20 28 69 66 20 70 6f 72 74 20 28 66 6f 72 6d 61  | host.............(if.port.(forma | 
| 18b60 |  74 20 22 3a 25 64 22 20 28 75 72 6c 2d 70 6f 72    74 20 75 72 6c 6f 62 6a 29 29 29 0a 20 20 20 20  | t.":%d".(url-port.urlobj)))..... | 
| 18b80 |  20 20 20 20 20 20 20 20 3b 3b 20 28 6f 72 20 66    69 6c 65 20 22 2f 22 29 0a 20 20 20 20 20 20 20  | ........;;.(or.file."/")........ | 
| 18ba0 |  20 20 20 20 20 3b 3b 20 28 69 66 20 66 72 61 67    20 28 63 6f 6e 63 61 74 20 22 23 22 20 66 72 61  | .....;;.(if.frag.(concat."#".fra | 
| 18bc0 |  67 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20    29 29 29 0a 0a 28 64 65 66 75 6e 20 63 61 6c 69  | g)).............)))..(defun.cali | 
| 18be0 |  62 72 65 64 62 2d 6f 70 64 73 2d 72 65 71 75 65    73 74 2d 70 61 67 65 20 28 75 72 6c 20 26 6f 70  | bredb-opds-request-page.(url.&op | 
| 18c00 |  74 69 6f 6e 61 6c 20 61 63 63 6f 75 6e 74 20 70    61 73 73 77 6f 72 64 29 0a 20 20 22 52 65 71 75  | tional.account.password)..."Requ | 
| 18c20 |  65 73 74 20 55 52 4c 2e 0a 4f 70 74 69 6f 6e 61    6c 20 61 72 67 75 6d 65 6e 74 20 41 43 43 4f 55  | est.URL..Optional.argument.ACCOU | 
| 18c40 |  4e 54 2e 0a 4f 70 74 69 6f 6e 61 6c 20 61 72 67    75 6d 65 6e 74 20 50 41 53 53 57 4f 52 44 2e 22  | NT..Optional.argument.PASSWORD." | 
| 18c60 |  0a 20 20 28 72 65 71 75 69 72 65 20 27 72 65 71    75 65 73 74 29 0a 20 20 28 6d 65 73 73 61 67 65  | ...(require.'request)...(message | 
| 18c80 |  20 22 4c 6f 61 64 69 6e 67 20 25 73 2e 2e 2e 22    20 75 72 6c 29 0a 20 20 28 6c 65 74 20 28 6f 75  | ."Loading.%s...".url)...(let.(ou | 
| 18ca0 |  74 70 75 74 29 0a 20 20 20 20 28 73 65 74 71 20    63 61 6c 69 62 72 65 64 62 2d 6f 70 64 73 2d 72  | tput).....(setq.calibredb-opds-r | 
| 18cc0 |  6f 6f 74 2d 75 72 6c 20 75 72 6c 29 0a 20 20 20    20 28 69 66 20 28 66 62 6f 75 6e 64 70 20 27 72  | oot-url.url).....(if.(fboundp.'r | 
| 18ce0 |  65 71 75 65 73 74 29 0a 20 20 20 20 20 20 20 20    28 72 65 71 75 65 73 74 20 75 72 6c 0a 20 20 20  | equest).........(request.url.... | 
| 18d00 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 70    61 72 73 65 72 20 27 62 75 66 66 65 72 2d 73 74  | ..............:parser.'buffer-st | 
| 18d20 |  72 69 6e 67 0a 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 3a 68 65 61 64 65 72 73 20 60  | ring..................:headers.` | 
| 18d40 |  28 28 22 55 73 65 72 2d 41 67 65 6e 74 22 20 2e    20 22 4d 6f 7a 69 6c 6c 61 2f 35 2e 30 20 28 57  | (("User-Agent"..."Mozilla/5.0.(W | 
| 18d60 |  69 6e 64 6f 77 73 20 4e 54 20 36 2e 31 3b 20 57    4f 57 36 34 29 20 41 70 70 6c 65 57 65 62 4b 69  | indows.NT.6.1;.WOW64).AppleWebKi | 
| 18d80 |  74 2f 35 33 37 2e 33 36 20 28 4b 48 54 4d 4c 2c    20 6c 69 6b 65 20 47 65 63 6b 6f 29 20 43 68 72  | t/537.36.(KHTML,.like.Gecko).Chr | 
| 18da0 |  6f 6d 65 2f 34 31 2e 30 2e 32 32 37 32 2e 31 30    31 20 53 61 66 61 72 69 2f 35 33 37 2e 33 36 22  | ome/41.0.2272.101.Safari/537.36" | 
| 18dc0 |  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 20 28 22  | ).............................(" | 
| 18de0 |  43 6f 6e 74 65 6e 74 2d 54 79 70 65 22 20 2e 20    22 61 70 70 6c 69 63 61 74 69 6f 6e 2f 78 6d 6c  | Content-Type"..."application/xml | 
| 18e00 |  22 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 20 2c  | ")............................., | 
| 18e20 |  28 69 66 20 28 61 6e 64 20 61 63 63 6f 75 6e 74    20 70 61 73 73 77 6f 72 64 29 0a 20 20 20 20 20  | (if.(and.account.password)...... | 
| 18e40 |  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 60 28 22 41  | ............................`("A | 
| 18e60 |  75 74 68 6f 72 69 7a 61 74 69 6f 6e 22 20 2e 20    2c 28 63 6f 6e 63 61 74 20 22 42 61 73 69 63 20  | uthorization"...,(concat."Basic. | 
| 18e80 |  22 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 20 20 20  | "............................... | 
| 18ea0 |  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  | ................................ | 
| 18ec0 |  28 62 61 73 65 36 34 2d 65 6e 63 6f 64 65 2d 73    74 72 69 6e 67 0a 20 20 20 20 20 20 20 20 20 20  | (base64-encode-string........... | 
| 18ee0 |  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  | ................................ | 
| 18f00 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 28 63 6f 6e 63 61 74 20 61 63 63  | .....................(concat.acc | 
| 18f20 |  6f 75 6e 74 20 22 3a 22 20 70 61 73 73 77 6f 72    64 29 29 29 29 29 29 0a 20 20 20 20 20 20 20 20  | ount.":".password))))))......... | 
| 18f40 |  20 20 20 20 20 20 20 20 20 3a 73 79 6e 63 20 6e    69 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  | .........:sync.nil.............. | 
| 18f60 |  20 20 20 20 3a 73 75 63 63 65 73 73 20 28 63 6c    2d 66 75 6e 63 74 69 6f 6e 0a 20 20 20 20 20 20  | ....:success.(cl-function....... | 
| 18f80 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 26 6b  | .....................(lambda.(&k | 
| 18fa0 |  65 79 20 64 61 74 61 20 26 61 6c 6c 6f 77 2d 6f    74 68 65 72 2d 6b 65 79 73 29 0a 20 20 20 20 20  | ey.data.&allow-other-keys)...... | 
| 18fc0 |  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 6c 65 74 2a 20 28 28  | ........................(let*.(( | 
| 18fe0 |  64 6f 6d 20 28 77 69 74 68 2d 74 65 6d 70 2d 62    75 66 66 65 72 0a 20 20 20 20 20 20 20 20 20 20  | dom.(with-temp-buffer........... | 
| 19000 |  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  | ................................ | 
| 19020 |  20 28 69 6e 73 65 72 74 20 64 61 74 61 29 0a 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | .(insert.data).................. | 
| 19040 |  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 6c 69 62 78 6d  | ..........................(libxm | 
| 19060 |  6c 2d 70 61 72 73 65 2d 78 6d 6c 2d 72 65 67 69    6f 6e 20 28 70 6f 69 6e 74 2d 6d 69 6e 29 20 28  | l-parse-xml-region.(point-min).( | 
| 19080 |  70 6f 69 6e 74 2d 6d 61 78 29 29 29 29 29 0a 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | point-max))))).................. | 
| 190a0 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63    61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2d  | ..............(calibredb-search- | 
| 190c0 |  75 70 64 61 74 65 2d 62 75 66 66 65 72 20 3a 6f    70 64 73 20 28 63 61 6c 69 62 72 65 64 62 2d 6f  | update-buffer.:opds.(calibredb-o | 
| 190e0 |  70 64 73 2d 64 6f 6d 20 64 6f 6d 29 29 0a 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | pds-dom.dom))................... | 
| 19100 |  20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65    74 71 20 63 61 6c 69 62 72 65 64 62 2d 74 61 67  | .............(setq.calibredb-tag | 
| 19120 |  2d 66 69 6c 74 65 72 2d 70 20 6e 69 6c 29 0a 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | -filter-p.nil).................. | 
| 19140 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73    65 74 71 20 63 61 6c 69 62 72 65 64 62 2d 66 61  | ..............(setq.calibredb-fa | 
| 19160 |  76 6f 72 69 74 65 2d 66 69 6c 74 65 72 2d 70 20    6e 69 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20  | vorite-filter-p.nil)............ | 
| 19180 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 28 73 65 74 71 20 63 61 6c 69 62 72  | ....................(setq.calibr | 
| 191a0 |  65 64 62 2d 61 75 74 68 6f 72 2d 66 69 6c 74 65    72 2d 70 20 6e 69 6c 29 0a 20 20 20 20 20 20 20  | edb-author-filter-p.nil)........ | 
| 191c0 |  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 73 65 74 71 20 63 61  | ........................(setq.ca | 
| 191e0 |  6c 69 62 72 65 64 62 2d 64 61 74 65 2d 66 69 6c    74 65 72 2d 70 20 6e 69 6c 29 0a 20 20 20 20 20  | libredb-date-filter-p.nil)...... | 
| 19200 |  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 73 65 74 71 20  | ..........................(setq. | 
| 19220 |  63 61 6c 69 62 72 65 64 62 2d 66 6f 72 6d 61 74    2d 66 69 6c 74 65 72 2d 70 20 6e 69 6c 29 0a 20  | calibredb-format-filter-p.nil).. | 
| 19240 |  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 3b 3b  | ..............................;; | 
| 19260 |  20 28 6d 65 73 73 61 67 65 20 22 22 29 0a 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | .(message."")................... | 
| 19280 |  20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20    28 73 65 74 71 20 6f 75 74 70 75 74 20 28 6f 70  | .............;;.(setq.output.(op | 
| 192a0 |  64 73 2d 70 61 67 65 20 64 6f 6d 29 29 0a 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | ds-page.dom))................... | 
| 192c0 |  20 20 20 20 20 20 20 20 20 20 20 20 20 29 29 29    29 29 0a 20 20 20 20 6f 75 74 70 75 74 29 29 0a  | .............))))).....output)). | 
| 192e0 |  0a 28 64 65 66 75 6e 20 63 61 6c 69 62 72 65 64    62 2d 6f 70 64 73 2d 72 65 71 75 65 73 74 2d 73  | .(defun.calibredb-opds-request-s | 
| 19300 |  65 61 72 63 68 2d 70 61 67 65 20 28 75 72 6c 20    6b 65 79 77 6f 72 64 20 26 6f 70 74 69 6f 6e 61  | earch-page.(url.keyword.&optiona | 
| 19320 |  6c 20 61 63 63 6f 75 6e 74 20 70 61 73 73 77 6f    72 64 29 0a 20 20 22 52 65 71 75 65 73 74 20 55  | l.account.password)..."Request.U | 
| 19340 |  52 4c 20 6f 6e 20 4b 45 59 57 4f 52 44 2e 0a 4f    70 74 69 6f 6e 61 6c 20 61 72 67 75 6d 65 6e 74  | RL.on.KEYWORD..Optional.argument | 
| 19360 |  20 4b 45 59 57 4f 52 44 2e 0a 4f 70 74 69 6f 6e    61 6c 20 61 72 67 75 6d 65 6e 74 20 41 43 43 4f  | .KEYWORD..Optional.argument.ACCO | 
| 19380 |  55 4e 54 2e 0a 4f 70 74 69 6f 6e 61 6c 20 61 72    67 75 6d 65 6e 74 20 50 41 53 53 57 4f 52 44 2e  | UNT..Optional.argument.PASSWORD. | 
| 193a0 |  22 0a 20 20 28 72 65 71 75 69 72 65 20 27 72 65    71 75 65 73 74 29 0a 20 20 28 6d 65 73 73 61 67  | "...(require.'request)...(messag | 
| 193c0 |  65 20 22 4c 6f 61 64 69 6e 67 20 25 73 2e 2e 2e    22 20 75 72 6c 29 0a 20 20 28 6c 65 74 20 28 6f  | e."Loading.%s...".url)...(let.(o | 
| 193e0 |  75 74 70 75 74 29 0a 20 20 20 20 28 73 65 74 71    20 63 61 6c 69 62 72 65 64 62 2d 6f 70 64 73 2d  | utput).....(setq.calibredb-opds- | 
| 19400 |  72 6f 6f 74 2d 75 72 6c 20 75 72 6c 29 0a 20 20    20 20 28 69 66 20 28 66 62 6f 75 6e 64 70 20 27  | root-url.url).....(if.(fboundp.' | 
| 19420 |  72 65 71 75 65 73 74 29 0a 20 20 20 20 20 20 20    20 28 72 65 71 75 65 73 74 20 75 72 6c 0a 20 20  | request).........(request.url... | 
| 19440 |  20 20 20 20 20 20 20 20 3a 70 61 72 73 65 72 20    27 62 75 66 66 65 72 2d 73 74 72 69 6e 67 0a 20  | ........:parser.'buffer-string.. | 
| 19460 |  20 20 20 20 20 20 20 20 20 3a 68 65 61 64 65 72    73 20 60 28 28 22 55 73 65 72 2d 41 67 65 6e 74  | .........:headers.`(("User-Agent | 
| 19480 |  22 20 2e 20 22 4d 6f 7a 69 6c 6c 61 2f 35 2e 30    20 28 57 69 6e 64 6f 77 73 20 4e 54 20 36 2e 31  | "..."Mozilla/5.0.(Windows.NT.6.1 | 
| 194a0 |  3b 20 57 4f 57 36 34 29 20 41 70 70 6c 65 57 65    62 4b 69 74 2f 35 33 37 2e 33 36 20 28 4b 48 54  | ;.WOW64).AppleWebKit/537.36.(KHT | 
| 194c0 |  4d 4c 2c 20 6c 69 6b 65 20 47 65 63 6b 6f 29 20    43 68 72 6f 6d 65 2f 34 31 2e 30 2e 32 32 37 32  | ML,.like.Gecko).Chrome/41.0.2272 | 
| 194e0 |  2e 31 30 31 20 53 61 66 61 72 69 2f 35 33 37 2e    33 36 22 29 0a 20 20 20 20 20 20 20 20 20 20 20  | .101.Safari/537.36")............ | 
| 19500 |  20 20 20 20 20 20 20 20 20 20 28 22 43 6f 6e 74    65 6e 74 2d 54 79 70 65 22 20 2e 20 22 61 70 70  | ..........("Content-Type"..."app | 
| 19520 |  6c 69 63 61 74 69 6f 6e 2f 78 6d 6c 22 29 0a 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | lication/xml").................. | 
| 19540 |  20 20 20 20 2c 28 69 66 20 28 61 6e 64 20 61 63    63 6f 75 6e 74 20 70 61 73 73 77 6f 72 64 29 0a  | ....,(if.(and.account.password). | 
| 19560 |  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 60 28 22 41 75 74  | ..........................`("Aut | 
| 19580 |  68 6f 72 69 7a 61 74 69 6f 6e 22 20 2e 20 2c 28    63 6f 6e 63 61 74 20 22 42 61 73 69 63 20 22 0a  | horization"...,(concat."Basic.". | 
| 195a0 |  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  | ................................ | 
| 195c0 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 28 62 61 73 65 36 34 2d 65  | .......................(base64-e | 
| 195e0 |  6e 63 6f 64 65 2d 73 74 72 69 6e 67 0a 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | ncode-string.................... | 
| 19600 |  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  | ................................ | 
| 19620 |  20 20 20 20 20 28 63 6f 6e 63 61 74 20 61 63 63    6f 75 6e 74 20 22 3a 22 20 70 61 73 73 77 6f 72  | .....(concat.account.":".passwor | 
| 19640 |  64 29 29 29 29 29 29 0a 20 20 20 20 20 20 20 20    20 20 3a 73 79 6e 63 20 6e 69 6c 0a 20 20 20 20  | d))))))...........:sync.nil..... | 
| 19660 |  20 20 20 20 20 20 3a 73 75 63 63 65 73 73 20 28    63 6c 2d 66 75 6e 63 74 69 6f 6e 0a 20 20 20 20  | ......:success.(cl-function..... | 
| 19680 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    28 6c 61 6d 62 64 61 20 28 26 6b 65 79 20 64 61  | ................(lambda.(&key.da | 
| 196a0 |  74 61 20 26 61 6c 6c 6f 77 2d 6f 74 68 65 72 2d    6b 65 79 73 29 0a 20 20 20 20 20 20 20 20 20 20  | ta.&allow-other-keys)........... | 
| 196c0 |  20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74    2a 20 28 28 64 6f 6d 20 28 77 69 74 68 2d 74 65  | ............(let*.((dom.(with-te | 
| 196e0 |  6d 70 2d 62 75 66 66 65 72 0a 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | mp-buffer....................... | 
| 19700 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69    6e 73 65 72 74 20 64 61 74 61 29 0a 20 20 20 20  | ..............(insert.data)..... | 
| 19720 |  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  | ................................ | 
| 19740 |  28 6c 69 62 78 6d 6c 2d 70 61 72 73 65 2d 78 6d    6c 2d 72 65 67 69 6f 6e 20 28 70 6f 69 6e 74 2d  | (libxml-parse-xml-region.(point- | 
| 19760 |  6d 69 6e 29 20 28 70 6f 69 6e 74 2d 6d 61 78 29    29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20  | min).(point-max)))))............ | 
| 19780 |  20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20    28 73 65 74 71 20 6f 75 74 70 75 74 20 64 6f 6d  | .............;;.(setq.output.dom | 
| 197a0 |  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 3b 3b 20 28 70 70  | ).........................;;.(pp | 
| 197c0 |  20 6f 75 74 70 75 74 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  | .output)........................ | 
| 197e0 |  20 28 63 61 6c 69 62 72 65 64 62 2d 6f 70 64 73    2d 72 65 71 75 65 73 74 2d 70 61 67 65 0a 20 20  | .(calibredb-opds-request-page... | 
| 19800 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 28 72 65 70 6c 61 63 65 2d  | .......................(replace- | 
| 19820 |  72 65 67 65 78 70 2d 69 6e 2d 73 74 72 69 6e 67    20 22 7b 2e 2a 7d 22 0a 20 20 20 20 20 20 20 20  | regexp-in-string."{.*}"......... | 
| 19840 |  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  | ................................ | 
| 19860 |  20 20 20 20 20 20 20 20 20 20 20 6b 65 79 77 6f    72 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  | ...........keyword.............. | 
| 19880 |  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  | ................................ | 
| 198a0 |  20 20 20 20 20 20 3b 3b 20 22 68 74 74 70 3a 2f    2f 6d 2e 67 75 74 65 6e 62 65 72 67 2e 6f 72 67  | ......;;."http://m.gutenberg.org | 
| 198c0 |  2f 65 62 6f 6f 6b 73 2f 73 65 61 72 63 68 2e 6f    70 64 73 2f 3f 71 75 65 72 79 3d 7b 73 65 61 72  | /ebooks/search.opds/?query={sear | 
| 198e0 |  63 68 54 65 72 6d 73 7d 22 0a 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | chTerms}"....................... | 
| 19900 |  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 64 6f  | .............................(do | 
| 19920 |  6d 2d 61 74 74 72 20 28 65 73 78 6d 6c 2d 71 75    65 72 79 20 22 5b 74 79 70 65 5e 3d 61 70 70 6c  | m-attr.(esxml-query."[type^=appl | 
| 19940 |  69 63 61 74 69 6f 6e 5d 22 20 64 6f 6d 29 20 27    74 65 6d 70 6c 61 74 65 29 29 29 29 29 29 29 29  | ication]".dom).'template)))))))) | 
| 19960 |  0a 20 20 20 20 6f 75 74 70 75 74 29 29 0a 0a 28    64 65 66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d  | .....output))..(defun.calibredb- | 
| 19980 |  6f 70 64 73 2d 64 6f 77 6e 6c 6f 61 64 20 28 74    69 74 6c 65 20 75 72 6c 20 66 6f 72 6d 61 74 20  | opds-download.(title.url.format. | 
| 199a0 |  26 6f 70 74 69 6f 6e 61 6c 20 61 63 63 6f 75 6e    74 20 70 61 73 73 77 6f 72 64 29 0a 20 20 22 44  | &optional.account.password)..."D | 
| 199c0 |  6f 77 6e 6c 6f 61 64 20 66 69 6c 65 20 6f 66 20    54 49 54 4c 45 20 55 52 4c 20 46 4f 52 4d 41 54  | ownload.file.of.TITLE.URL.FORMAT | 
| 199e0 |  2e 0a 4f 70 74 69 6f 6e 61 6c 20 61 72 67 75 6d    65 6e 74 20 41 43 43 4f 55 4e 54 2e 0a 4f 70 74  | ..Optional.argument.ACCOUNT..Opt | 
| 19a00 |  69 6f 6e 61 6c 20 61 72 67 75 6d 65 6e 74 20 50    41 53 53 57 4f 52 44 2e 22 0a 20 20 28 6c 65 74  | ional.argument.PASSWORD."...(let | 
| 19a20 |  2a 20 28 28 66 69 6c 65 20 28 65 78 70 61 6e 64    2d 66 69 6c 65 2d 6e 61 6d 65 20 28 66 6f 72 6d  | *.((file.(expand-file-name.(form | 
| 19a40 |  61 74 20 22 25 73 2e 25 73 22 20 74 69 74 6c 65    20 66 6f 72 6d 61 74 29 20 63 61 6c 69 62 72 65  | at."%s.%s".title.format).calibre | 
| 19a60 |  64 62 2d 6f 70 64 73 2d 64 6f 77 6e 6c 6f 61 64    2d 64 69 72 29 29 0a 20 20 20 20 20 20 20 20 20  | db-opds-download-dir)).......... | 
| 19a80 |  28 63 6d 64 20 28 69 66 20 28 61 6e 64 20 61 63    63 6f 75 6e 74 20 70 61 73 73 77 6f 72 64 29 0a  | (cmd.(if.(and.account.password). | 
| 19aa0 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 28 66 6f 72 6d 61 74 20 22 63 75 72 6c 20  | ..................(format."curl. | 
| 19ac0 |  2d 75 20 25 73 3a 5c 22 25 73 5c 22 20 2d 4c 20    25 73 20 2d 6f 20 25 73 22 20 61 63 63 6f 75 6e  | -u.%s:\"%s\".-L.%s.-o.%s".accoun | 
| 19ae0 |  74 20 70 61 73 73 77 6f 72 64 20 28 73 68 65 6c    6c 2d 71 75 6f 74 65 2d 61 72 67 75 6d 65 6e 74  | t.password.(shell-quote-argument | 
| 19b00 |  20 75 72 6c 29 20 28 73 68 65 6c 6c 2d 71 75 6f    74 65 2d 61 72 67 75 6d 65 6e 74 20 66 69 6c 65  | .url).(shell-quote-argument.file | 
| 19b20 |  20 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 28 66 6f 72 6d 61 74 20 22 63 75 72  | .)).................(format."cur | 
| 19b40 |  6c 20 2d 4c 20 25 73 20 2d 6f 20 25 73 22 20 28    73 68 65 6c 6c 2d 71 75 6f 74 65 2d 61 72 67 75  | l.-L.%s.-o.%s".(shell-quote-argu | 
| 19b60 |  6d 65 6e 74 20 75 72 6c 29 20 28 73 68 65 6c 6c    2d 71 75 6f 74 65 2d 61 72 67 75 6d 65 6e 74 20  | ment.url).(shell-quote-argument. | 
| 19b80 |  66 69 6c 65 29 29 29 29 29 0a 20 20 20 20 28 6d    65 73 73 61 67 65 20 63 6d 64 29 0a 20 20 20 20  | file))))).....(message.cmd)..... | 
| 19ba0 |  28 69 66 20 28 66 69 6c 65 2d 65 78 69 73 74 73    2d 70 20 66 69 6c 65 29 0a 20 20 20 20 20 20 20  | (if.(file-exists-p.file)........ | 
| 19bc0 |  20 28 66 69 6e 64 2d 66 69 6c 65 20 66 69 6c 65    29 0a 20 20 20 20 20 20 28 73 65 74 2d 70 72 6f  | .(find-file.file).......(set-pro | 
| 19be0 |  63 65 73 73 2d 73 65 6e 74 69 6e 65 6c 0a 20 20    20 20 20 20 20 28 73 74 61 72 74 2d 70 72 6f 63  | cess-sentinel........(start-proc | 
| 19c00 |  65 73 73 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e    64 20 22 63 61 6c 69 62 72 65 64 62 2d 6f 70 64  | ess-shell-command."calibredb-opd | 
| 19c20 |  73 22 20 22 2a 63 61 6c 69 62 72 65 64 62 2d 6f    70 64 73 2a 22 20 63 6d 64 29 0a 20 20 20 20 20  | s"."*calibredb-opds*".cmd)...... | 
| 19c40 |  20 20 28 6c 61 6d 62 64 61 20 28 70 20 5f 65 29    0a 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20  | ..(lambda.(p._e)..........(when. | 
| 19c60 |  28 3d 20 30 20 28 70 72 6f 63 65 73 73 2d 65 78    69 74 2d 73 74 61 74 75 73 20 70 29 29 0a 20 20  | (=.0.(process-exit-status.p))... | 
| 19c80 |  20 20 20 20 20 20 20 20 20 28 69 66 20 28 66 69    6c 65 2d 65 78 69 73 74 73 2d 70 20 66 69 6c 65  | .........(if.(file-exists-p.file | 
| 19ca0 |  29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 28 66 69 6e 64 2d 66 69 6c 65 20 66 69 6c 65  | )................(find-file.file | 
| 19cc0 |  29 29 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e    20 63 61 6c 69 62 72 65 64 62 2d 6f 70 64 73 2d  | ))))))))..(defun.calibredb-opds- | 
| 19ce0 |  64 6f 6d 20 28 64 6f 6d 29 0a 20 20 22 50 61 72    73 65 20 44 4f 4d 2e 22 0a 20 20 28 6c 65 74 20  | dom.(dom)..."Parse.DOM."...(let. | 
| 19d00 |  28 28 65 6e 74 72 69 65 73 20 28 2d 63 6f 6e 63    61 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  | ((entries.(-concat.............. | 
| 19d20 |  20 20 20 20 20 28 2d 6d 61 70 20 28 6c 61 6d 62    64 61 20 28 6c 69 6e 6b 29 0a 20 20 20 20 20 20  | .....(-map.(lambda.(link)....... | 
| 19d40 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 60 28 65 6e 74 72 79 20 6e 69 6c 0a  | ....................`(entry.nil. | 
| 19d60 |  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  | ................................ | 
| 19d80 |  20 20 28 74 69 74 6c 65 20 6e 69 6c 20 2c 28 65    73 78 6d 6c 2d 6e 6f 64 65 2d 61 74 74 72 69 62  | ..(title.nil.,(esxml-node-attrib | 
| 19da0 |  75 74 65 20 27 72 65 6c 20 6c 69 6e 6b 29 29 0a    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | ute.'rel.link))................. | 
| 19dc0 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 2c 6c 69 6e 6b 29 29 0a 20 20 20 20 20 20  | ..................,link))....... | 
| 19de0 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 28 65 73 78 6d 6c 2d 71 75 65 72 79 2d 61  | ..................(esxml-query-a | 
| 19e00 |  6c 6c 20 22 66 65 65 64 3e 6c 69 6e 6b 22 20 64    6f 6d 29 29 0a 20 20 20 20 20 20 20 20 20 20 20  | ll."feed>link".dom))............ | 
| 19e20 |  20 20 20 20 20 20 20 28 65 73 78 6d 6c 2d 71 75    65 72 79 2d 61 6c 6c 20 22 66 65 65 64 3e 65 6e  | .......(esxml-query-all."feed>en | 
| 19e40 |  74 72 79 22 20 64 6f 6d 29 29 29 29 0a 20 20 20    20 28 6e 72 65 76 65 72 73 65 20 28 63 61 6c 69  | try".dom)))).....(nreverse.(cali | 
| 19e60 |  62 72 65 64 62 2d 67 65 74 62 6f 6f 6b 6c 69 73    74 0a 20 20 20 20 20 28 6c 65 74 20 28 28 6e 6f  | bredb-getbooklist......(let.((no | 
| 19e80 |  20 30 29 29 0a 20 20 20 20 20 20 20 28 2d 6d 61    70 63 61 74 0a 20 20 20 20 20 20 20 20 28 6c 61  | .0))........(-mapcat.........(la | 
| 19ea0 |  6d 62 64 61 20 28 65 6e 74 72 79 29 0a 20 20 20    20 20 20 20 20 20 20 28 73 65 74 71 20 6e 6f 20  | mbda.(entry)...........(setq.no. | 
| 19ec0 |  28 31 2b 20 6e 6f 29 29 0a 20 20 20 20 20 20 20    20 20 20 28 6c 69 73 74 20 60 28 0a 20 20 20 20  | (1+.no))...........(list.`(..... | 
| 19ee0 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b    20 28 3a 69 64 20 20 20 20 20 20 20 20 20 20 20  | ..............;;.(:id........... | 
| 19f00 |  20 20 20 20 20 20 20 20 20 20 2c 28 64 6f 6d 2d    74 65 78 74 20 28 65 73 78 6d 6c 2d 71 75 65 72  | ..........,(dom-text.(esxml-quer | 
| 19f20 |  79 20 22 69 64 22 20 65 6e 74 72 79 29 29 29 0a    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | y."id".entry)))................. | 
| 19f40 |  20 20 28 3a 69 64 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 2c 28 6e 75 6d  | ..(:id.....................,(num | 
| 19f60 |  62 65 72 2d 74 6f 2d 73 74 72 69 6e 67 20 6e 6f    29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  | ber-to-string.no)).............. | 
| 19f80 |  20 20 20 20 20 28 3a 61 75 74 68 6f 72 2d 73 6f    72 74 20 20 20 20 20 20 20 20 20 20 20 20 2c 28  | .....(:author-sort............,( | 
| 19fa0 |  64 6f 6d 2d 74 65 78 74 20 28 65 73 78 6d 6c 2d    71 75 65 72 79 20 22 61 75 74 68 6f 72 3e 6e 61  | dom-text.(esxml-query."author>na | 
| 19fc0 |  6d 65 22 20 65 6e 74 72 79 29 29 29 20 3b 20 54    4f 44 4f 3a 20 73 75 70 70 6f 72 74 20 6d 75 74  | me".entry))).;.TODO:.support.mut | 
| 19fe0 |  69 74 70 6c 65 20 61 75 74 68 6f 72 73 0a 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | itple.authors................... | 
| 1a000 |  28 3a 62 6f 6f 6b 2d 64 69 72 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 22 22 29 0a 20 20 20  | (:book-dir..............."").... | 
| 1a020 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28    3a 62 6f 6f 6b 2d 63 6f 76 65 72 20 20 20 20 20  | ...............(:book-cover..... | 
| 1a040 |  20 20 20 20 20 20 20 20 2c 28 6c 65 74 20 28 28    75 72 6c 20 28 6f 72 20 28 64 6f 6d 2d 61 74 74  | ........,(let.((url.(or.(dom-att | 
| 1a060 |  72 20 28 65 73 78 6d 6c 2d 71 75 65 72 79 20 22    5b 74 79 70 65 5e 3d 69 6d 61 67 65 5d 22 20 65  | r.(esxml-query."[type^=image]".e | 
| 1a080 |  6e 74 72 79 29 20 27 68 72 65 66 29 20 22 22 29    29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  | ntry).'href).""))).............. | 
| 1a0a0 |  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  | ................................ | 
| 1a0c0 |  20 28 69 66 20 28 61 6e 64 20 28 73 74 72 69 6e    67 70 20 75 72 6c 29 20 28 73 74 72 69 6e 67 2d  | .(if.(and.(stringp.url).(string- | 
| 1a0e0 |  70 72 65 66 69 78 2d 70 20 22 68 74 74 70 22 20    75 72 6c 29 29 0a 20 20 20 20 20 20 20 20 20 20  | prefix-p."http".url))........... | 
| 1a100 |  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  | ................................ | 
| 1a120 |  20 20 20 20 20 20 20 20 75 72 6c 0a 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | ........url..................... | 
| 1a140 |  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 63 6f 6e  | ............................(con | 
| 1a160 |  64 20 28 28 73 2d 65 71 75 61 6c 73 2d 70 20 22    22 20 75 72 6c 29 20 6e 69 6c 29 20 3b 20 6e 6f  | d.((s-equals-p."".url).nil).;.no | 
| 1a180 |  20 69 6d 61 67 65 20 75 72 6c 2c 20 72 65 74 75    72 6e 20 6e 69 6c 0a 20 20 20 20 20 20 20 20 20  | .image.url,.return.nil.......... | 
| 1a1a0 |  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  | ................................ | 
| 1a1c0 |  20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 73    2d 63 6f 6e 74 61 69 6e 73 3f 20 22 62 61 73 65  | .............((s-contains?."base | 
| 1a1e0 |  36 34 22 20 75 72 6c 29 20 75 72 6c 29 20 3b 20    62 61 73 65 36 34 20 69 6d 61 67 65 0a 20 20 20  | 64".url).url).;.base64.image.... | 
| 1a200 |  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  | ................................ | 
| 1a220 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 28 74 20 28 66 6f 72 6d 61 74 20 22 25  | ...................(t.(format."% | 
| 1a240 |  73 25 73 22 20 28 63 61 6c 69 62 72 65 64 62 2d    6f 70 64 73 2d 68 6f 73 74 29 20 75 72 6c 29 29  | s%s".(calibredb-opds-host).url)) | 
| 1a260 |  29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 28 3a 62 6f 6f 6b 2d 6e 61  | ))))...................(:book-na | 
| 1a280 |  6d 65 20 20 20 20 20 20 20 20 20 20 20 20 20 20    22 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20  | me.............."")............. | 
| 1a2a0 |  20 20 20 20 20 20 28 3a 62 6f 6f 6b 2d 66 6f 72    6d 61 74 20 20 20 20 20 20 20 20 20 20 20 20 2c  | ......(:book-format............, | 
| 1a2c0 |  28 73 75 62 73 74 72 69 6e 67 20 28 63 61 6c 69    62 72 65 64 62 2d 6f 70 64 73 2d 6d 61 69 6c 63  | (substring.(calibredb-opds-mailc | 
| 1a2e0 |  61 70 2d 6d 69 6d 65 2d 74 6f 2d 65 78 74 6e 20    28 64 6f 6d 2d 61 74 74 72 20 28 65 73 78 6d 6c  | ap-mime-to-extn.(dom-attr.(esxml | 
| 1a300 |  2d 71 75 65 72 79 20 22 5b 74 79 70 65 5e 3d 61    70 70 6c 69 63 61 74 69 6f 6e 5d 22 20 65 6e 74  | -query."[type^=application]".ent | 
| 1a320 |  72 79 29 20 27 74 79 70 65 29 29 20 31 29 20 29    20 3b 20 54 4f 44 4f 3a 20 73 75 70 70 6f 72 74  | ry).'type)).1).).;.TODO:.support | 
| 1a340 |  20 6d 6f 72 65 20 66 6f 72 6d 61 74 73 0a 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | .more.formats................... | 
| 1a360 |  28 3a 62 6f 6f 6b 2d 70 75 62 64 61 74 65 20 20    20 20 20 20 20 20 20 20 20 2c 28 64 6f 6d 2d 74  | (:book-pubdate...........,(dom-t | 
| 1a380 |  65 78 74 20 28 6f 72 20 28 65 73 78 6d 6c 2d 71    75 65 72 79 20 22 69 73 73 75 65 64 22 20 65 6e  | ext.(or.(esxml-query."issued".en | 
| 1a3a0 |  74 72 79 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  | try)............................ | 
| 1a3c0 |  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 28  | ...............................( | 
| 1a3e0 |  65 73 78 6d 6c 2d 71 75 65 72 79 20 22 70 75 62    6c 69 73 68 65 64 22 20 65 6e 74 72 79 29 29 29  | esxml-query."published".entry))) | 
| 1a400 |  29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 28 3a 62 6f 6f 6b 2d 74 69 74 6c 65  | )...................(:book-title | 
| 1a420 |  20 20 20 20 20 20 20 20 20 20 20 20 20 2c 28 64    6f 6d 2d 74 65 78 74 20 28 65 73 78 6d 6c 2d 71  | .............,(dom-text.(esxml-q | 
| 1a440 |  75 65 72 79 20 22 74 69 74 6c 65 22 20 65 6e 74    72 79 29 29 29 0a 20 20 20 20 20 20 20 20 20 20  | uery."title".entry)))........... | 
| 1a460 |  20 20 20 20 20 20 20 20 28 3a 66 69 6c 65 2d 70    61 74 68 20 20 20 20 20 20 20 20 20 20 20 20 20  | ........(:file-path............. | 
| 1a480 |  20 2c 28 6c 65 74 20 28 28 75 72 6c 20 28 6f 72    20 28 64 6f 6d 2d 61 74 74 72 20 28 65 73 78 6d  | .,(let.((url.(or.(dom-attr.(esxm | 
| 1a4a0 |  6c 2d 71 75 65 72 79 20 22 5b 74 79 70 65 5e 3d    61 70 70 6c 69 63 61 74 69 6f 6e 5d 22 20 65 6e  | l-query."[type^=application]".en | 
| 1a4c0 |  74 72 79 29 20 27 68 72 65 66 29 20 22 22 29 29    29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | try).'href)."")))............... | 
| 1a4e0 |  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  | ................................ | 
| 1a500 |  28 69 66 20 28 61 6e 64 20 28 73 74 72 69 6e 67    70 20 75 72 6c 29 20 28 73 74 72 69 6e 67 2d 70  | (if.(and.(stringp.url).(string-p | 
| 1a520 |  72 65 66 69 78 2d 70 20 22 68 74 74 70 22 20 75    72 6c 29 29 0a 20 20 20 20 20 20 20 20 20 20 20  | refix-p."http".url))............ | 
| 1a540 |  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  | ................................ | 
| 1a560 |  20 20 20 20 20 20 20 75 72 6c 0a 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | .......url...................... | 
| 1a580 |  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 63 6f 6e 64  | ...........................(cond | 
| 1a5a0 |  20 28 28 73 2d 65 71 75 61 6c 73 2d 70 20 22 22    20 75 72 6c 29 20 22 22 29 0a 20 20 20 20 20 20  | .((s-equals-p."".url)."")....... | 
| 1a5c0 |  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  | ................................ | 
| 1a5e0 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    28 28 73 2d 65 71 75 61 6c 73 2d 70 20 28 73 2d  | ................((s-equals-p.(s- | 
| 1a600 |  6c 65 66 74 20 31 20 75 72 6c 29 20 22 2f 22 29    20 28 66 6f 72 6d 61 74 20 22 25 73 25 73 22 20  | left.1.url)."/").(format."%s%s". | 
| 1a620 |  28 63 61 6c 69 62 72 65 64 62 2d 6f 70 64 73 2d    68 6f 73 74 29 20 75 72 6c 29 29 0a 20 20 20 20  | (calibredb-opds-host).url))..... | 
| 1a640 |  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  | ................................ | 
| 1a660 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 28 74 20 28 66 6f 72 6d 61 74 20 22 25 73  | ..................(t.(format."%s | 
| 1a680 |  2f 25 73 22 20 28 63 61 6c 69 62 72 65 64 62 2d    6f 70 64 73 2d 68 6f 73 74 29 20 75 72 6c 29 29  | /%s".(calibredb-opds-host).url)) | 
| 1a6a0 |  29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 28 3a 74 61 67 20 20 20 20  | ))))...................(:tag.... | 
| 1a6c0 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    2c 28 6d 61 70 63 6f 6e 63 61 74 20 23 27 69 64  | ................,(mapconcat.#'id | 
| 1a6e0 |  65 6e 74 69 74 79 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  | entity.......................... | 
| 1a700 |  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 2d  | ..............................(- | 
| 1a720 |  6d 61 70 20 28 6c 61 6d 62 64 61 20 28 63 61 74    29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | map.(lambda.(cat)............... | 
| 1a740 |  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  | ................................ | 
| 1a760 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 28 6f 72 20 28 65 73 78 6d 6c 2d 6e 6f 64 65  | .................(or.(esxml-node | 
| 1a780 |  2d 61 74 74 72 69 62 75 74 65 20 27 6c 61 62 65    6c 20 63 61 74 29 0a 20 20 20 20 20 20 20 20 20  | -attribute.'label.cat).......... | 
| 1a7a0 |  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  | ................................ | 
| 1a7c0 |  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 65 73 78 6d 6c  | ..........................(esxml | 
| 1a7e0 |  2d 6e 6f 64 65 2d 61 74 74 72 69 62 75 74 65 20    27 74 65 72 6d 20 63 61 74 29 29 29 20 28 65 73  | -node-attribute.'term.cat))).(es | 
| 1a800 |  78 6d 6c 2d 71 75 65 72 79 2d 61 6c 6c 20 22 63    61 74 65 67 6f 72 79 22 20 65 6e 74 72 79 29 29  | xml-query-all."category".entry)) | 
| 1a820 |  20 22 2c 20 22 29 29 0a 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 28 3a 73 69 7a 65  | .",."))...................(:size | 
| 1a840 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 2c 28 66 6f 72 6d 61 74 20 22 25 2e 32  | ...................,(format."%.2 | 
| 1a860 |  66 22 20 28 2f 20 28 73 74 72 69 6e 67 2d 74 6f    2d 6e 75 6d 62 65 72 20 28 6f 72 20 28 64 6f 6d  | f".(/.(string-to-number.(or.(dom | 
| 1a880 |  2d 61 74 74 72 20 28 65 73 78 6d 6c 2d 71 75 65    72 79 20 22 5b 74 79 70 65 5e 3d 61 70 70 6c 69  | -attr.(esxml-query."[type^=appli | 
| 1a8a0 |  63 61 74 69 6f 6e 5d 22 20 65 6e 74 72 79 29 20    27 6c 65 6e 67 74 68 20 29 20 22 30 22 20 29 20  | cation]".entry).'length.)."0".). | 
| 1a8c0 |  29 20 31 30 34 38 35 37 36 2e 30 29 20 29 29 0a    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | ).1048576.0).))................. | 
| 1a8e0 |  20 20 28 3a 63 6f 6d 6d 65 6e 74 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 2c 28 63 6f 6e  | ..(:comment................,(con | 
| 1a900 |  64 20 28 28 65 73 78 6d 6c 2d 71 75 65 72 79 20    22 73 75 6d 6d 61 72 79 22 20 65 6e 74 72 79 29  | d.((esxml-query."summary".entry) | 
| 1a920 |  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 20 20 20 20  | ................................ | 
| 1a940 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 28 64 6f 6d 2d 74 65 78 74 20 28 65  | ....................(dom-text.(e | 
| 1a960 |  73 78 6d 6c 2d 71 75 65 72 79 20 22 73 75 6d 6d    61 72 79 22 20 65 6e 74 72 79 29 29 29 0a 20 20  | sxml-query."summary".entry)))... | 
| 1a980 |  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  | ................................ | 
| 1a9a0 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    28 28 65 73 78 6d 6c 2d 71 75 65 72 79 20 22 63  | ................((esxml-query."c | 
| 1a9c0 |  6f 6e 74 65 6e 74 22 20 65 6e 74 72 79 29 0a 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | ontent".entry).................. | 
| 1a9e0 |  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  | ................................ | 
| 1aa00 |  20 20 28 65 73 78 6d 6c 2d 74 6f 2d 78 6d 6c 20    28 65 73 78 6d 6c 2d 71 75 65 72 79 20 22 63 6f  | ..(esxml-to-xml.(esxml-query."co | 
| 1aa20 |  6e 74 65 6e 74 22 20 65 6e 74 72 79 29 29 29 0a    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | ntent".entry)))................. | 
| 1aa40 |  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  | ................................ | 
| 1aa60 |  20 20 28 74 20 22 22 20 29 29 29 0a 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 3a  | ..(t."".)))...................(: | 
| 1aa80 |  69 64 73 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 2c 28 64 6f 6d 2d 74 65 78  | ids....................,(dom-tex | 
| 1aaa0 |  74 20 28 6f 72 20 28 65 73 78 6d 6c 2d 71 75 65    72 79 20 22 69 64 65 6e 74 69 66 69 65 72 22 20  | t.(or.(esxml-query."identifier". | 
| 1aac0 |  65 6e 74 72 79 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  | entry).......................... | 
| 1aae0 |  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  | ................................ | 
| 1ab00 |  20 28 65 73 78 6d 6c 2d 71 75 65 72 79 20 22 69    64 22 20 65 6e 74 72 79 29 29 29 29 0a 20 20 20  | .(esxml-query."id".entry)))).... | 
| 1ab20 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28    3a 70 75 62 6c 69 73 68 65 72 20 20 20 20 20 20  | ...............(:publisher...... | 
| 1ab40 |  20 20 20 20 20 20 20 20 2c 28 64 6f 6d 2d 74 65    78 74 20 28 6f 72 20 28 65 73 78 6d 6c 2d 71 75  | ........,(dom-text.(or.(esxml-qu | 
| 1ab60 |  65 72 79 20 22 70 75 62 6c 69 73 68 65 72 3e 6e    61 6d 65 22 20 65 6e 74 72 79 29 0a 20 20 20 20  | ery."publisher>name".entry)..... | 
| 1ab80 |  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  | ................................ | 
| 1aba0 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 28 65 73 78 6d 6c 2d 71 75 65  | ......................(esxml-que | 
| 1abc0 |  72 79 20 22 70 75 62 6c 69 73 68 65 72 22 20 65    6e 74 72 79 29 29 29 29 0a 20 20 20 20 20 20 20  | ry."publisher".entry))))........ | 
| 1abe0 |  20 20 20 20 20 20 20 20 20 20 20 28 3a 73 65 72    69 65 73 20 20 20 20 20 20 20 20 20 20 20 20 20  | ...........(:series............. | 
| 1ac00 |  20 20 20 20 22 22 29 0a 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 28 3a 6c 61 6e 67  | ...."")...................(:lang | 
| 1ac20 |  5f 63 6f 64 65 20 20 20 20 20 20 20 20 20 20 20    20 20 20 2c 28 64 6f 6d 2d 74 65 78 74 20 28 65  | _code..............,(dom-text.(e | 
| 1ac40 |  73 78 6d 6c 2d 71 75 65 72 79 20 22 6c 61 6e 67    75 61 67 65 22 20 65 6e 74 72 79 29 29 29 0a 20  | sxml-query."language".entry))).. | 
| 1ac60 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 28 3a 6c 61 73 74 5f 6d 6f 64 69 66 69 65 64  | .................(:last_modified | 
| 1ac80 |  20 20 20 20 20 20 20 20 20 20 2c 28 64 6f 6d 2d    74 65 78 74 20 28 65 73 78 6d 6c 2d 71 75 65 72  | ..........,(dom-text.(esxml-quer | 
| 1aca0 |  79 20 22 75 70 64 61 74 65 64 22 20 65 6e 74 72    79 29 29 29 29 29 20 29 0a 20 20 20 20 20 20 20  | y."updated".entry))))).)........ | 
| 1acc0 |  20 65 6e 74 72 69 65 73 29 29 29 20 29 29 29 0a    0a 28 64 65 66 75 6e 20 63 61 6c 69 62 72 65 64  | .entries))).)))..(defun.calibred | 
| 1ace0 |  62 2d 6f 70 64 73 2d 73 65 61 72 63 68 20 28 75    72 6c 29 0a 20 20 22 53 65 61 72 63 68 20 6c 69  | b-opds-search.(url)..."Search.li | 
| 1ad00 |  62 72 61 72 79 20 66 72 6f 6d 20 55 52 4c 2e 22    0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29  | brary.from.URL."...(interactive) | 
| 1ad20 |  0a 20 20 28 6c 65 74 2a 20 28 28 6c 69 62 72 61    72 79 20 28 2d 66 69 72 73 74 20 28 6c 61 6d 62  | ...(let*.((library.(-first.(lamb | 
| 1ad40 |  64 61 20 28 6c 69 62 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  | da.(lib)........................ | 
| 1ad60 |  20 20 20 20 20 28 73 2d 63 6f 6e 74 61 69 6e 73    3f 20 28 66 69 6c 65 2d 6e 61 6d 65 2d 64 69 72  | .....(s-contains?.(file-name-dir | 
| 1ad80 |  65 63 74 6f 72 79 20 28 63 61 72 20 6c 69 62 29    29 20 63 61 6c 69 62 72 65 64 62 2d 72 6f 6f 74  | ectory.(car.lib)).calibredb-root | 
| 1ada0 |  2d 64 69 72 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  | -dir)).......................... | 
| 1adc0 |  20 63 61 6c 69 62 72 65 64 62 2d 6c 69 62 72 61    72 79 2d 61 6c 69 73 74 29 29 29 0a 20 20 20 20  | .calibredb-library-alist)))..... | 
| 1ade0 |  28 63 61 6c 69 62 72 65 64 62 2d 6f 70 64 73 2d    72 65 71 75 65 73 74 2d 73 65 61 72 63 68 2d 70  | (calibredb-opds-request-search-p | 
| 1ae00 |  61 67 65 20 75 72 6c 20 28 72 65 61 64 2d 73 74    72 69 6e 67 20 22 53 65 61 72 63 68 3a 20 22 29  | age.url.(read-string."Search:.") | 
| 1ae20 |  20 28 6e 74 68 20 31 20 6c 69 62 72 61 72 79 29    20 28 6e 74 68 20 32 20 6c 69 62 72 61 72 79 29  | .(nth.1.library).(nth.2.library) | 
| 1ae40 |  29 29 29 0a 0a 28 70 72 6f 76 69 64 65 20 27 63    61 6c 69 62 72 65 64 62 2d 6f 70 64 73 29 0a 0a  | )))..(provide.'calibredb-opds).. | 
| 1ae60 |  3b 3b 3b 20 63 61 6c 69 62 72 65 64 62 2d 6f 70    64 73 2e 65 6c 20 65 6e 64 73 20 68 65 72 65 0a  | ;;;.calibredb-opds.el.ends.here. | 
| 1ae80 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 1aea0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 1aec0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 1aee0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 1af00 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 1af20 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 1af40 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 1af60 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 1af80 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 1afa0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 1afc0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 1afe0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 1b000 |  63 61 6c 69 62 72 65 64 62 2d 32 30 32 35 30 37    30 35 2e 32 32 35 2f 63 61 6c 69 62 72 65 64 62  | calibredb-20250705.225/calibredb | 
| 1b020 |  2d 6f 72 67 2e 65 6c 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | -org.el......................... | 
| 1b040 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 1b060 |  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 | 
| 1b080 |  30 30 32 30 36 31 32 00 30 30 30 30 30 30 30 30    30 30 30 00 30 31 35 36 35 34 00 20 30 00 00 00  | 0020612.00000000000.015654..0... | 
| 1b0a0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 1b0c0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 1b0e0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 1b100 |  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................... | 
| 1b120 |  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................... | 
| 1b140 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 1b160 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 1b180 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 1b1a0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 1b1c0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 1b1e0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 1b200 |  3b 3b 3b 20 63 61 6c 69 62 72 65 64 62 2d 6f 72    67 2e 65 6c 20 2d 2d 2d 20 4f 72 67 20 6d 6f 64  | ;;;.calibredb-org.el.---.Org.mod | 
| 1b220 |  65 20 73 75 70 70 6f 72 74 65 64 20 66 65 61 74    75 72 65 73 20 66 6f 72 20 63 61 6c 69 62 72 65  | e.supported.features.for.calibre | 
| 1b240 |  64 62 20 2d 2a 2d 20 6c 65 78 69 63 61 6c 2d 62    69 6e 64 69 6e 67 3a 20 74 3b 20 2d 2a 2d 0a 0a  | db.-*-.lexical-binding:.t;.-*-.. | 
| 1b260 |  3b 3b 20 43 6f 70 79 72 69 67 68 74 20 28 43 29    20 32 30 32 30 20 44 61 6d 6f 6e 20 43 68 61 6e  | ;;.Copyright.(C).2020.Damon.Chan | 
| 1b280 |  0a 0a 3b 3b 20 41 75 74 68 6f 72 3a 20 44 61 6d    6f 6e 20 43 68 61 6e 20 3c 65 6c 65 63 6d 69 6e  | ..;;.Author:.Damon.Chan.<elecmin | 
| 1b2a0 |  67 40 67 6d 61 69 6c 2e 63 6f 6d 3e 0a 3b 3b 20    55 52 4c 3a 20 68 74 74 70 73 3a 2f 2f 67 69 74  | g@gmail.com>.;;.URL:.https://git | 
| 1b2c0 |  68 75 62 2e 63 6f 6d 2f 63 68 65 6e 79 61 6e 6d    69 6e 67 2f 63 61 6c 69 62 72 65 64 62 2e 65 6c  | hub.com/chenyanming/calibredb.el | 
| 1b2e0 |  0a 3b 3b 20 4b 65 79 77 6f 72 64 73 3a 20 74 6f    6f 6c 73 0a 0a 3b 3b 20 54 68 69 73 20 66 69 6c  | .;;.Keywords:.tools..;;.This.fil | 
| 1b300 |  65 20 69 73 20 4e 4f 54 20 70 61 72 74 20 6f 66    20 47 4e 55 20 45 6d 61 63 73 2e 0a 0a 3b 3b 20  | e.is.NOT.part.of.GNU.Emacs...;;. | 
| 1b320 |  54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20    66 72 65 65 20 73 6f 66 74 77 61 72 65 3b 20 79  | This.program.is.free.software;.y | 
| 1b340 |  6f 75 20 63 61 6e 20 72 65 64 69 73 74 72 69 62    75 74 65 20 69 74 20 61 6e 64 2f 6f 72 20 6d 6f  | ou.can.redistribute.it.and/or.mo | 
| 1b360 |  64 69 66 79 0a 3b 3b 20 69 74 20 75 6e 64 65 72    20 74 68 65 20 74 65 72 6d 73 20 6f 66 20 74 68  | dify.;;.it.under.the.terms.of.th | 
| 1b380 |  65 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 73 65 20 61 73 20  | e.GNU.General.Public.License.as. | 
| 1b3a0 |  70 75 62 6c 69 73 68 65 64 20 62 79 0a 3b 3b 20    74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72  | published.by.;;.the.Free.Softwar | 
| 1b3c0 |  65 20 46 6f 75 6e 64 61 74 69 6f 6e 2c 20 65 69    74 68 65 72 20 76 65 72 73 69 6f 6e 20 33 20 6f  | e.Foundation,.either.version.3.o | 
| 1b3e0 |  66 20 74 68 65 20 4c 69 63 65 6e 73 65 2c 20 6f    72 0a 3b 3b 20 28 61 74 20 79 6f 75 72 20 6f 70  | f.the.License,.or.;;.(at.your.op | 
| 1b400 |  74 69 6f 6e 29 20 61 6e 79 20 6c 61 74 65 72 20    76 65 72 73 69 6f 6e 2e 0a 0a 3b 3b 20 54 68 69  | tion).any.later.version...;;.Thi | 
| 1b420 |  73 20 70 72 6f 67 72 61 6d 20 69 73 20 64 69 73    74 72 69 62 75 74 65 64 20 69 6e 20 74 68 65 20  | s.program.is.distributed.in.the. | 
| 1b440 |  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 2c 0a 3b 3b 20  | hope.that.it.will.be.useful,.;;. | 
| 1b460 |  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 69 74 68 6f 75  | but.WITHOUT.ANY.WARRANTY;.withou | 
| 1b480 |  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 20 6f 66 0a 3b  | t.even.the.implied.warranty.of.; | 
| 1b4a0 |  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 53 20 46 4f 52  | ;.MERCHANTABILITY.or.FITNESS.FOR | 
| 1b4c0 |  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 20 74 68 65 0a  | .A.PARTICULAR.PURPOSE...See.the. | 
| 1b4e0 |  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 73 65 20 66 6f  | ;;.GNU.General.Public.License.fo | 
| 1b500 |  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 75 6c 64 20 68  | r.more.details...;;.You.should.h | 
| 1b520 |  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 47 4e 55 20 47  | ave.received.a.copy.of.the.GNU.G | 
| 1b540 |  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 6f 6e 67 20 77  | eneral.Public.License.;;.along.w | 
| 1b560 |  69 74 68 20 74 68 69 73 20 70 72 6f 67 72 61 6d    2e 20 20 49 66 20 6e 6f 74 2c 20 73 65 65 20 3c  | ith.this.program...If.not,.see.< | 
| 1b580 |  68 74 74 70 73 3a 2f 2f 77 77 77 2e 67 6e 75 2e    6f 72 67 2f 6c 69 63 65 6e 73 65 73 2f 3e 2e 0a  | https://www.gnu.org/licenses/>.. | 
| 1b5a0 |  0a 3b 3b 3b 20 43 6f 6d 6d 65 6e 74 61 72 79 3a    0a 0a 3b 3b 3b 20 43 6f 64 65 3a 0a 0a 0a 28 72  | .;;;.Commentary:..;;;.Code:...(r | 
| 1b5c0 |  65 71 75 69 72 65 20 27 63 61 6c 69 62 72 65 64    62 2d 63 6f 72 65 29 0a 28 72 65 71 75 69 72 65  | equire.'calibredb-core).(require | 
| 1b5e0 |  20 27 6f 6c 29 0a 0a 28 64 65 63 6c 61 72 65 2d    66 75 6e 63 74 69 6f 6e 20 63 61 6c 69 62 72 65  | .'ol)..(declare-function.calibre | 
| 1b600 |  64 62 2d 73 68 6f 77 2d 65 6e 74 72 79 20 22 63    61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2e  | db-show-entry."calibredb-search. | 
| 1b620 |  65 6c 22 29 0a 28 64 65 63 6c 61 72 65 2d 66 75    6e 63 74 69 6f 6e 20 63 61 6c 69 62 72 65 64 62  | el").(declare-function.calibredb | 
| 1b640 |  2d 66 69 6e 64 2d 6d 61 72 6b 65 64 2d 63 61 6e    64 69 64 61 74 65 73 20 22 63 61 6c 69 62 72 65  | -find-marked-candidates."calibre | 
| 1b660 |  64 62 2d 75 74 69 6c 73 2e 65 6c 22 29 0a 28 64    65 63 6c 61 72 65 2d 66 75 6e 63 74 69 6f 6e 20  | db-utils.el").(declare-function. | 
| 1b680 |  63 61 6c 69 62 72 65 64 62 2d 66 69 6e 64 2d 63    61 6e 64 69 64 61 74 65 2d 61 74 2d 70 6f 69 6e  | calibredb-find-candidate-at-poin | 
| 1b6a0 |  74 20 22 63 61 6c 69 62 72 65 64 62 2d 75 74 69    6c 73 2e 65 6c 22 29 0a 0a 3b 3b 3b 23 23 23 61  | t."calibredb-utils.el")..;;;###a | 
| 1b6c0 |  75 74 6f 6c 6f 61 64 0a 28 64 65 66 75 6e 20 63    61 6c 69 62 72 65 64 62 2d 6f 72 67 2d 6c 69 6e  | utoload.(defun.calibredb-org-lin | 
| 1b6e0 |  6b 2d 76 69 65 77 20 28 69 64 20 5f 29 0a 20 20    22 46 6f 6c 6c 6f 77 20 63 61 6c 69 62 72 65 64  | k-view.(id._)..."Follow.calibred | 
| 1b700 |  62 20 6f 72 67 20 6c 69 6e 6b 73 20 62 79 20 49    44 2e 22 0a 20 20 28 63 61 6c 69 62 72 65 64 62  | b.org.links.by.ID."...(calibredb | 
| 1b720 |  2d 73 68 6f 77 2d 65 6e 74 72 79 20 28 63 64 61    72 20 28 63 61 6c 69 62 72 65 64 62 2d 63 61 6e  | -show-entry.(cdar.(calibredb-can | 
| 1b740 |  64 69 64 61 74 65 20 69 64 29 29 29 29 0a 0a 3b    3b 3b 23 23 23 61 75 74 6f 6c 6f 61 64 0a 28 64  | didate.id))))..;;;###autoload.(d | 
| 1b760 |  65 66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d 6f    72 67 2d 63 6f 6d 70 6c 65 74 65 2d 6c 69 6e 6b  | efun.calibredb-org-complete-link | 
| 1b780 |  20 28 26 6f 70 74 69 6f 6e 61 6c 20 70 72 65 66    69 78 29 0a 20 20 22 44 65 66 69 6e 65 20 63 6f  | .(&optional.prefix)..."Define.co | 
| 1b7a0 |  6d 70 6c 65 74 69 6f 6e 20 66 6f 72 20 4f 72 67    20 5c 22 63 61 6c 69 62 72 65 64 62 3a 5c 22 20  | mpletion.for.Org.\"calibredb:\". | 
| 1b7c0 |  6c 69 6e 6b 73 2e 0a 54 68 65 20 6f 70 74 69 6f    6e 61 6c 20 50 52 45 46 49 58 20 61 72 67 75 6d  | links..The.optional.PREFIX.argum | 
| 1b7e0 |  65 6e 74 20 69 73 20 69 67 6e 6f 72 65 64 2e 0a    50 6c 65 61 73 65 20 6e 6f 74 69 63 65 3a 20 60  | ent.is.ignored..Please.notice:.` | 
| 1b800 |  63 61 6c 69 62 72 65 64 62 2d 69 64 2d 77 69 64    74 68 27 20 6d 75 73 74 20 3e 3d 20 74 68 65 20  | calibredb-id-width'.must.>=.the. | 
| 1b820 |  72 65 61 6c 20 69 64 20 6c 65 6e 74 68 2e 22 0a    20 20 28 69 67 6e 6f 72 65 20 70 72 65 66 69 78  | real.id.lenth."...(ignore.prefix | 
| 1b840 |  29 0a 20 20 28 6c 65 74 2a 20 28 28 63 61 6e 64    69 64 61 74 65 73 20 28 63 61 6c 69 62 72 65 64  | )...(let*.((candidates.(calibred | 
| 1b860 |  62 2d 63 61 6e 64 69 64 61 74 65 73 29 29 29 0a    20 20 20 20 28 69 66 20 28 66 62 6f 75 6e 64 70  | b-candidates))).....(if.(fboundp | 
| 1b880 |  20 27 63 6f 6e 73 75 6c 74 2d 2d 72 65 61 64 29    0a 20 20 20 20 20 20 20 20 28 69 66 20 63 61 6e  | .'consult--read).........(if.can | 
| 1b8a0 |  64 69 64 61 74 65 73 0a 20 20 20 20 20 20 20 20    20 20 20 20 28 6c 65 74 2a 20 28 28 63 61 6e 64  | didates.............(let*.((cand | 
| 1b8c0 |  20 28 63 6f 6e 73 75 6c 74 2d 2d 72 65 61 64 20    63 61 6e 64 69 64 61 74 65 73 0a 20 20 20 20 20  | .(consult--read.candidates...... | 
| 1b8e0 |  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  | ................................ | 
| 1b900 |  20 20 20 3a 70 72 6f 6d 70 74 20 22 50 69 63 6b    20 61 20 62 6f 6f 6b 3a 20 22 0a 20 20 20 20 20  | ...:prompt."Pick.a.book:."...... | 
| 1b920 |  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  | ................................ | 
| 1b940 |  20 20 20 3a 6c 6f 6f 6b 75 70 20 23 27 63 6f 6e    73 75 6c 74 2d 2d 6c 6f 6f 6b 75 70 2d 63 64 72  | ...:lookup.#'consult--lookup-cdr | 
| 1b960 |  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 20 20 20 20  | ................................ | 
| 1b980 |  20 20 20 20 20 20 20 20 20 3a 73 6f 72 74 20 6e    69 6c 29 29 0a 20 20 20 20 20 20 20 20 20 20 20  | .........:sort.nil))............ | 
| 1b9a0 |  20 20 20 20 20 20 20 20 28 69 64 20 28 63 61 64    72 20 28 61 73 73 6f 63 20 3a 69 64 20 28 63 61  | ........(id.(cadr.(assoc.:id.(ca | 
| 1b9c0 |  72 20 63 61 6e 64 20 29 29 20 29 29 29 0a 20 20    20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e  | r.cand.)).)))...............(con | 
| 1b9e0 |  63 61 74 20 28 66 6f 72 6d 61 74 20 22 63 61 6c    69 62 72 65 64 62 3a 25 73 22 20 69 64 29 29 29  | cat.(format."calibredb:%s".id))) | 
| 1ba00 |  0a 20 20 20 20 20 20 20 20 20 20 22 63 61 6c 69    62 72 65 64 62 3a 22 29 0a 20 20 20 20 20 20 28  | ..........."calibredb:").......( | 
| 1ba20 |  69 66 20 63 61 6e 64 69 64 61 74 65 73 0a 20 20    20 20 20 20 20 20 20 20 28 6c 65 74 2a 20 28 28  | if.candidates...........(let*.(( | 
| 1ba40 |  63 61 6e 64 20 28 63 6f 6d 70 6c 65 74 69 6e 67    2d 72 65 61 64 20 22 50 69 63 6b 20 61 20 62 6f  | cand.(completing-read."Pick.a.bo | 
| 1ba60 |  6f 6b 3a 20 22 20 63 61 6e 64 69 64 61 74 65 73    29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  | ok:.".candidates)).............. | 
| 1ba80 |  20 20 20 20 28 69 64 2d 70 6f 69 6e 74 20 28 74    65 78 74 2d 70 72 6f 70 65 72 74 79 2d 6e 6f 74  | ....(id-point.(text-property-not | 
| 1baa0 |  2d 61 6c 6c 20 30 20 28 6c 65 6e 67 74 68 20 63    61 6e 64 29 20 27 69 64 20 6e 69 6c 20 63 61 6e  | -all.0.(length.cand).'id.nil.can | 
| 1bac0 |  64 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 28 69 64 20 28 67 65 74 2d 74 65  | d))..................(id.(get-te | 
| 1bae0 |  78 74 2d 70 72 6f 70 65 72 74 79 20 69 64 2d 70    6f 69 6e 74 20 27 69 64 20 63 61 6e 64 29 29 29  | xt-property.id-point.'id.cand))) | 
| 1bb00 |  0a 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f    6e 63 61 74 20 28 66 6f 72 6d 61 74 20 22 63 61  | .............(concat.(format."ca | 
| 1bb20 |  6c 69 62 72 65 64 62 3a 25 73 22 20 69 64 29 29    29 0a 20 20 20 20 20 20 20 20 22 63 61 6c 69 62  | libredb:%s".id)))........."calib | 
| 1bb40 |  72 65 64 62 3a 22 29 29 29 29 0a 0a 0a 28 64 65    66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d 6f 72  | redb:"))))...(defun.calibredb-or | 
| 1bb60 |  67 2d 69 6d 61 67 65 2d 64 61 74 61 2d 66 75 6e    20 28 5f 70 72 6f 74 6f 63 6f 6c 20 69 64 20 5f  | g-image-data-fun.(_protocol.id._ | 
| 1bb80 |  64 65 73 63 72 69 70 74 69 6f 6e 29 0a 20 20 22    47 65 74 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e  | description)..."Get.correspondin | 
| 1bba0 |  67 20 62 6f 6f 6b 20 49 44 20 63 6f 76 65 72 20    70 61 67 65 20 64 61 74 61 2e 0a 44 69 73 70 6c  | g.book.ID.cover.page.data..Displ | 
| 1bbc0 |  61 79 20 63 6f 76 65 72 20 70 61 67 65 20 69 6e    6c 69 6e 65 20 69 6e 20 6f 72 67 20 62 75 66 66  | ay.cover.page.inline.in.org.buff | 
| 1bbe0 |  65 72 2e 20 55 73 65 20 74 68 69 73 20 61 73 0a    3a 69 6d 61 67 65 2d 64 61 74 61 2d 66 75 6e 20  | er..Use.this.as.:image-data-fun. | 
| 1bc00 |  70 72 6f 70 65 72 74 79 20 69 6e 20 60 6f 72 67    2d 6c 69 6e 6b 2d 70 72 6f 70 65 72 74 69 65 73  | property.in.`org-link-properties | 
| 1bc20 |  27 2e 20 53 65 65 0a 60 6f 72 67 2d 64 69 73 70    6c 61 79 2d 75 73 65 72 2d 69 6e 6c 69 6e 65 2d  | '..See.`org-display-user-inline- | 
| 1bc40 |  69 6d 61 67 65 73 27 20 66 6f 72 20 61 20 64 65    73 63 72 69 70 74 69 6f 6e 20 6f 66 0a 3a 69 6d  | images'.for.a.description.of.:im | 
| 1bc60 |  61 67 65 2d 64 61 74 61 2d 66 75 6e 2e 22 0a 20    20 28 69 66 20 28 73 74 72 69 6e 67 2d 6d 61 74  | age-data-fun."...(if.(string-mat | 
| 1bc80 |  63 68 20 22 5b 30 2d 39 5d 2b 22 20 69 64 29 0a    20 20 20 20 20 20 28 77 69 74 68 2d 63 75 72 72  | ch."[0-9]+".id).......(with-curr | 
| 1bca0 |  65 6e 74 2d 62 75 66 66 65 72 20 28 66 69 6e 64    2d 66 69 6c 65 2d 6e 6f 73 65 6c 65 63 74 20 28  | ent-buffer.(find-file-noselect.( | 
| 1bcc0 |  63 61 6c 69 62 72 65 64 62 2d 67 65 74 2d 63 6f    76 65 72 20 28 63 64 61 72 20 28 63 61 6c 69 62  | calibredb-get-cover.(cdar.(calib | 
| 1bce0 |  72 65 64 62 2d 63 61 6e 64 69 64 61 74 65 20 69    64 29 29 29 29 0a 20 20 20 20 20 20 20 20 28 62  | redb-candidate.id)))).........(b | 
| 1bd00 |  75 66 66 65 72 2d 73 75 62 73 74 72 69 6e 67 2d    6e 6f 2d 70 72 6f 70 65 72 74 69 65 73 20 28 70  | uffer-substring-no-properties.(p | 
| 1bd20 |  6f 69 6e 74 29 20 28 70 6f 69 6e 74 2d 6d 61 78    29 29 29 29 29 0a 0a 0a 3b 3b 20 60 6f 72 67 2d  | oint).(point-max)))))...;;.`org- | 
| 1bd40 |  64 69 73 70 6c 61 79 2d 75 73 65 72 2d 69 6e 6c    69 6e 65 2d 69 6d 61 67 65 73 27 20 69 73 20 66  | display-user-inline-images'.is.f | 
| 1bd60 |  72 6f 6d 20 70 61 63 6b 61 67 65 20 60 6f 72 67    2d 79 74 27 0a 28 69 66 20 28 72 65 71 75 69 72  | rom.package.`org-yt'.(if.(requir | 
| 1bd80 |  65 20 27 6f 72 67 2d 79 74 20 6e 69 6c 20 27 6e    6f 65 72 72 6f 72 29 0a 20 20 20 20 28 6f 72 67  | e.'org-yt.nil.'noerror).....(org | 
| 1bda0 |  2d 6c 69 6e 6b 2d 73 65 74 2d 70 61 72 61 6d 65    74 65 72 73 0a 20 20 20 20 20 22 63 61 6c 69 62  | -link-set-parameters......"calib | 
| 1bdc0 |  72 65 64 62 22 0a 20 20 20 20 20 3a 66 6f 6c 6c    6f 77 20 23 27 63 61 6c 69 62 72 65 64 62 2d 6f  | redb"......:follow.#'calibredb-o | 
| 1bde0 |  72 67 2d 6c 69 6e 6b 2d 76 69 65 77 0a 20 20 20    20 20 3a 63 6f 6d 70 6c 65 74 65 20 23 27 63 61  | rg-link-view......:complete.#'ca | 
| 1be00 |  6c 69 62 72 65 64 62 2d 6f 72 67 2d 63 6f 6d 70    6c 65 74 65 2d 6c 69 6e 6b 0a 20 20 20 20 20 3a  | libredb-org-complete-link......: | 
| 1be20 |  69 6d 61 67 65 2d 64 61 74 61 2d 66 75 6e 20 23    27 63 61 6c 69 62 72 65 64 62 2d 6f 72 67 2d 69  | image-data-fun.#'calibredb-org-i | 
| 1be40 |  6d 61 67 65 2d 64 61 74 61 2d 66 75 6e 29 0a 20    20 28 6f 72 67 2d 6c 69 6e 6b 2d 73 65 74 2d 70  | mage-data-fun)...(org-link-set-p | 
| 1be60 |  61 72 61 6d 65 74 65 72 73 0a 20 20 20 22 63 61    6c 69 62 72 65 64 62 22 0a 20 20 20 3a 66 6f 6c  | arameters...."calibredb"....:fol | 
| 1be80 |  6c 6f 77 20 23 27 63 61 6c 69 62 72 65 64 62 2d    6f 72 67 2d 6c 69 6e 6b 2d 76 69 65 77 0a 20 20  | low.#'calibredb-org-link-view... | 
| 1bea0 |  20 3a 63 6f 6d 70 6c 65 74 65 20 23 27 63 61 6c    69 62 72 65 64 62 2d 6f 72 67 2d 63 6f 6d 70 6c  | .:complete.#'calibredb-org-compl | 
| 1bec0 |  65 74 65 2d 6c 69 6e 6b 29 29 0a 0a 0a 28 64 65    66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d 6f 72  | ete-link))...(defun.calibredb-or | 
| 1bee0 |  67 2d 6c 69 6e 6b 2d 63 6f 70 79 20 28 29 0a 20    20 22 43 6f 70 79 20 74 68 65 20 6d 61 72 6b 65  | g-link-copy.()..."Copy.the.marke | 
| 1bf00 |  64 20 69 74 65 6d 73 20 61 73 20 63 61 6c 69 62    72 65 64 62 20 6f 72 67 20 6c 69 6e 6b 73 2e 22  | d.items.as.calibredb.org.links." | 
| 1bf20 |  0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29    0a 20 20 28 6c 65 74 20 28 28 63 61 6e 64 69 64  | ...(interactive)...(let.((candid | 
| 1bf40 |  61 74 65 73 20 28 63 61 6c 69 62 72 65 64 62 2d    66 69 6e 64 2d 6d 61 72 6b 65 64 2d 63 61 6e 64  | ates.(calibredb-find-marked-cand | 
| 1bf60 |  69 64 61 74 65 73 29 29 29 0a 20 20 20 20 28 75    6e 6c 65 73 73 20 63 61 6e 64 69 64 61 74 65 73  | idates))).....(unless.candidates | 
| 1bf80 |  0a 20 20 20 20 20 20 28 73 65 74 71 20 63 61 6e    64 69 64 61 74 65 73 20 28 63 61 6c 69 62 72 65  | .......(setq.candidates.(calibre | 
| 1bfa0 |  64 62 2d 66 69 6e 64 2d 63 61 6e 64 69 64 61 74    65 2d 61 74 2d 70 6f 69 6e 74 29 29 29 0a 20 20  | db-find-candidate-at-point)))... | 
| 1bfc0 |  20 20 28 6b 69 6c 6c 2d 6e 65 77 0a 20 20 20 20    20 28 77 69 74 68 2d 74 65 6d 70 2d 62 75 66 66  | ..(kill-new......(with-temp-buff | 
| 1bfe0 |  65 72 0a 20 20 20 20 20 20 20 28 64 6f 6c 69 73    74 20 28 63 61 6e 64 20 63 61 6e 64 69 64 61 74  | er........(dolist.(cand.candidat | 
| 1c000 |  65 73 29 0a 20 20 20 20 20 20 20 20 20 28 6c 65    74 2a 20 28 28 69 64 20 28 63 61 6c 69 62 72 65  | es)..........(let*.((id.(calibre | 
| 1c020 |  64 62 2d 67 65 74 61 74 74 72 20 63 61 6e 64 20    3a 69 64 29 29 0a 20 20 20 20 20 20 20 20 20 20  | db-getattr.cand.:id))........... | 
| 1c040 |  20 20 20 20 20 20 28 74 69 74 6c 65 20 28 63 61    6c 69 62 72 65 64 62 2d 67 65 74 61 74 74 72 20  | ......(title.(calibredb-getattr. | 
| 1c060 |  63 61 6e 64 20 3a 62 6f 6f 6b 2d 74 69 74 6c 65    29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  | cand.:book-title)).............. | 
| 1c080 |  20 20 20 28 6c 69 6e 6b 20 28 66 6f 72 6d 61 74    20 22 5b 5b 63 61 6c 69 62 72 65 64 62 3a 25 73  | ...(link.(format."[[calibredb:%s | 
| 1c0a0 |  5d 5b 25 73 5d 5d 5c 6e 22 20 69 64 20 74 69 74    6c 65 29 29 29 0a 20 20 20 20 20 20 20 20 20 20  | ][%s]]\n".id.title)))........... | 
| 1c0c0 |  20 28 69 6e 73 65 72 74 20 6c 69 6e 6b 29 0a 20    20 20 20 20 20 20 20 20 20 20 28 6d 65 73 73 61  | .(insert.link)............(messa | 
| 1c0e0 |  67 65 20 22 43 6f 70 69 65 64 20 28 6f 72 67 20    6c 69 6e 6b 29 3a 20 25 73 22 20 6c 69 6e 6b 29  | ge."Copied.(org.link):.%s".link) | 
| 1c100 |  29 29 0a 20 20 20 20 20 20 20 28 62 75 66 66 65    72 2d 73 74 72 69 6e 67 29 29 29 0a 20 20 20 20  | ))........(buffer-string)))..... | 
| 1c120 |  3b 3b 20 72 65 6d 6f 76 65 20 6f 76 65 72 6c 61    79 73 20 61 6e 64 20 74 65 78 74 20 70 72 6f 70  | ;;.remove.overlays.and.text.prop | 
| 1c140 |  65 72 74 69 65 73 0a 20 20 20 20 28 6c 65 74 2a    20 28 28 62 65 67 20 28 70 6f 69 6e 74 2d 6d 69  | erties.....(let*.((beg.(point-mi | 
| 1c160 |  6e 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28    65 6e 64 20 28 70 6f 69 6e 74 2d 6d 61 78 29 29  | n))............(end.(point-max)) | 
| 1c180 |  0a 20 20 20 20 20 20 20 20 20 20 20 28 69 6e 68    69 62 69 74 2d 72 65 61 64 2d 6f 6e 6c 79 20 74  | ............(inhibit-read-only.t | 
| 1c1a0 |  29 29 0a 20 20 20 20 20 20 28 72 65 6d 6f 76 65    2d 6f 76 65 72 6c 61 79 73 20 62 65 67 20 65 6e  | )).......(remove-overlays.beg.en | 
| 1c1c0 |  64 29 0a 20 20 20 20 20 20 28 72 65 6d 6f 76 65    2d 74 65 78 74 2d 70 72 6f 70 65 72 74 69 65 73  | d).......(remove-text-properties | 
| 1c1e0 |  20 62 65 67 20 65 6e 64 20 27 28 63 61 6c 69 62    72 65 64 62 2d 6d 61 72 6b 20 6e 69 6c 29 29 29  | .beg.end.'(calibredb-mark.nil))) | 
| 1c200 |  29 29 0a 0a 28 64 65 66 75 6e 20 63 61 6c 69 62    72 65 64 62 2d 6f 72 67 2d 74 69 74 6c 65 2d 63  | ))..(defun.calibredb-org-title-c | 
| 1c220 |  6f 70 79 20 28 29 0a 20 20 22 43 6f 70 79 20 74    68 65 20 6d 61 72 6b 65 64 20 69 74 65 6d 73 27  | opy.()..."Copy.the.marked.items' | 
| 1c240 |  20 74 69 74 6c 65 73 2e 22 0a 20 20 28 69 6e 74    65 72 61 63 74 69 76 65 29 0a 20 20 28 6c 65 74  | .titles."...(interactive)...(let | 
| 1c260 |  20 28 28 63 61 6e 64 69 64 61 74 65 73 20 28 63    61 6c 69 62 72 65 64 62 2d 66 69 6e 64 2d 6d 61  | .((candidates.(calibredb-find-ma | 
| 1c280 |  72 6b 65 64 2d 63 61 6e 64 69 64 61 74 65 73 29    29 29 0a 20 20 20 20 28 75 6e 6c 65 73 73 20 63  | rked-candidates))).....(unless.c | 
| 1c2a0 |  61 6e 64 69 64 61 74 65 73 0a 20 20 20 20 20 20    28 73 65 74 71 20 63 61 6e 64 69 64 61 74 65 73  | andidates.......(setq.candidates | 
| 1c2c0 |  20 28 63 61 6c 69 62 72 65 64 62 2d 66 69 6e 64    2d 63 61 6e 64 69 64 61 74 65 2d 61 74 2d 70 6f  | .(calibredb-find-candidate-at-po | 
| 1c2e0 |  69 6e 74 29 29 29 0a 20 20 20 20 28 6b 69 6c 6c    2d 6e 65 77 0a 20 20 20 20 20 28 77 69 74 68 2d  | int))).....(kill-new......(with- | 
| 1c300 |  74 65 6d 70 2d 62 75 66 66 65 72 0a 20 20 20 20    20 20 20 28 64 6f 6c 69 73 74 20 28 63 61 6e 64  | temp-buffer........(dolist.(cand | 
| 1c320 |  20 63 61 6e 64 69 64 61 74 65 73 29 0a 20 20 20    20 20 20 20 20 20 28 6c 65 74 2a 20 28 28 74 69  | .candidates)..........(let*.((ti | 
| 1c340 |  74 6c 65 20 28 63 61 6c 69 62 72 65 64 62 2d 67    65 74 61 74 74 72 20 63 61 6e 64 20 3a 62 6f 6f  | tle.(calibredb-getattr.cand.:boo | 
| 1c360 |  6b 2d 74 69 74 6c 65 29 29 29 0a 20 20 20 20 20    20 20 20 20 20 20 28 69 6e 73 65 72 74 20 74 69  | k-title)))............(insert.ti | 
| 1c380 |  74 6c 65 20 28 69 66 20 28 3e 20 28 6c 65 6e 67    74 68 20 63 61 6e 64 69 64 61 74 65 73 29 20 31  | tle.(if.(>.(length.candidates).1 | 
| 1c3a0 |  29 20 22 5c 6e 22 20 22 22 29 29 0a 20 20 20 20    20 20 20 20 20 20 20 28 6d 65 73 73 61 67 65 20  | )."\n".""))............(message. | 
| 1c3c0 |  22 43 6f 70 69 65 64 20 28 74 69 74 6c 65 29 3a    20 25 73 22 20 74 69 74 6c 65 29 29 29 0a 20 20  | "Copied.(title):.%s".title)))... | 
| 1c3e0 |  20 20 20 20 20 28 62 75 66 66 65 72 2d 73 74 72    69 6e 67 29 29 29 0a 20 20 20 20 3b 3b 20 72 65  | .....(buffer-string))).....;;.re | 
| 1c400 |  6d 6f 76 65 20 6f 76 65 72 6c 61 79 73 20 61 6e    64 20 74 65 78 74 20 70 72 6f 70 65 72 74 69 65  | move.overlays.and.text.propertie | 
| 1c420 |  73 0a 20 20 20 20 28 6c 65 74 2a 20 28 28 62 65    67 20 28 70 6f 69 6e 74 2d 6d 69 6e 29 29 0a 20  | s.....(let*.((beg.(point-min)).. | 
| 1c440 |  20 20 20 20 20 20 20 20 20 20 28 65 6e 64 20 28    70 6f 69 6e 74 2d 6d 61 78 29 29 0a 20 20 20 20  | ..........(end.(point-max))..... | 
| 1c460 |  20 20 20 20 20 20 20 28 69 6e 68 69 62 69 74 2d    72 65 61 64 2d 6f 6e 6c 79 20 74 29 29 0a 20 20  | .......(inhibit-read-only.t))... | 
| 1c480 |  20 20 20 20 28 72 65 6d 6f 76 65 2d 6f 76 65 72    6c 61 79 73 20 62 65 67 20 65 6e 64 29 0a 20 20  | ....(remove-overlays.beg.end)... | 
| 1c4a0 |  20 20 20 20 28 72 65 6d 6f 76 65 2d 74 65 78 74    2d 70 72 6f 70 65 72 74 69 65 73 20 62 65 67 20  | ....(remove-text-properties.beg. | 
| 1c4c0 |  65 6e 64 20 27 28 63 61 6c 69 62 72 65 64 62 2d    6d 61 72 6b 20 6e 69 6c 29 29 29 29 29 0a 0a 28  | end.'(calibredb-mark.nil)))))..( | 
| 1c4e0 |  64 65 66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d    6f 72 67 2d 70 72 6f 74 6f 63 6f 6c 2d 6c 69 6e  | defun.calibredb-org-protocol-lin | 
| 1c500 |  6b 2d 63 6f 70 79 20 28 29 0a 20 20 22 43 6f 70    79 20 74 68 65 20 6d 61 72 6b 65 64 20 69 74 65  | k-copy.()..."Copy.the.marked.ite | 
| 1c520 |  6d 73 20 61 73 20 6f 72 67 2d 70 72 6f 74 6f 63    6f 6c 20 6c 69 6e 6b 73 2e 22 0a 20 20 28 69 6e  | ms.as.org-protocol.links."...(in | 
| 1c540 |  74 65 72 61 63 74 69 76 65 29 0a 20 20 28 6c 65    74 20 28 28 63 61 6e 64 69 64 61 74 65 73 20 28  | teractive)...(let.((candidates.( | 
| 1c560 |  63 61 6c 69 62 72 65 64 62 2d 66 69 6e 64 2d 6d    61 72 6b 65 64 2d 63 61 6e 64 69 64 61 74 65 73  | calibredb-find-marked-candidates | 
| 1c580 |  29 29 29 0a 20 20 20 20 28 75 6e 6c 65 73 73 20    63 61 6e 64 69 64 61 74 65 73 0a 20 20 20 20 20  | ))).....(unless.candidates...... | 
| 1c5a0 |  20 28 73 65 74 71 20 63 61 6e 64 69 64 61 74 65    73 20 28 63 61 6c 69 62 72 65 64 62 2d 66 69 6e  | .(setq.candidates.(calibredb-fin | 
| 1c5c0 |  64 2d 63 61 6e 64 69 64 61 74 65 2d 61 74 2d 70    6f 69 6e 74 29 29 29 0a 20 20 20 20 28 6b 69 6c  | d-candidate-at-point))).....(kil | 
| 1c5e0 |  6c 2d 6e 65 77 0a 20 20 20 20 20 28 77 69 74 68    2d 74 65 6d 70 2d 62 75 66 66 65 72 0a 20 20 20  | l-new......(with-temp-buffer.... | 
| 1c600 |  20 20 20 20 28 64 6f 6c 69 73 74 20 28 63 61 6e    64 20 63 61 6e 64 69 64 61 74 65 73 29 0a 20 20  | ....(dolist.(cand.candidates)... | 
| 1c620 |  20 20 20 20 20 20 20 28 6c 65 74 2a 20 28 28 69    64 20 28 63 61 6c 69 62 72 65 64 62 2d 67 65 74  | .......(let*.((id.(calibredb-get | 
| 1c640 |  61 74 74 72 20 63 61 6e 64 20 3a 69 64 29 29 0a    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | attr.cand.:id))................. | 
| 1c660 |  28 74 69 74 6c 65 20 28 63 61 6c 69 62 72 65 64    62 2d 67 65 74 61 74 74 72 20 63 61 6e 64 20 3a  | (title.(calibredb-getattr.cand.: | 
| 1c680 |  62 6f 6f 6b 2d 74 69 74 6c 65 29 29 0a 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 28 6f 72  | book-title)).................(or | 
| 1c6a0 |  67 2d 70 72 6f 74 6f 63 6f 6c 2d 6c 69 6e 6b 20    28 75 72 6c 2d 65 6e 63 6f 64 65 2d 75 72 6c 20  | g-protocol-link.(url-encode-url. | 
| 1c6c0 |  28 66 6f 72 6d 61 74 20 22 6f 72 67 2d 70 72 6f    74 6f 63 6f 6c 3a 2f 2f 63 61 6c 69 62 72 65 64  | (format."org-protocol://calibred | 
| 1c6e0 |  62 3f 69 64 3d 25 73 26 74 69 74 6c 65 3d 25 73    22 20 69 64 20 28 75 72 6c 2d 68 65 78 69 66 79  | b?id=%s&title=%s".id.(url-hexify | 
| 1c700 |  2d 73 74 72 69 6e 67 20 74 69 74 6c 65 29 29 20    29 20 29 29 0a 20 20 20 20 20 20 20 20 20 20 20  | -string.title)).).))............ | 
| 1c720 |  3b 3b 20 28 69 6e 73 65 72 74 20 28 66 6f 72 6d    61 74 20 22 5b 5b 63 61 6c 69 62 72 65 64 62 3a  | ;;.(insert.(format."[[calibredb: | 
| 1c740 |  25 73 5d 5b 25 73 5d 5d 5c 6e 22 20 69 64 20 74    69 74 6c 65 29 29 0a 20 20 20 20 20 20 20 20 20  | %s][%s]]\n".id.title)).......... | 
| 1c760 |  20 20 28 69 6e 73 65 72 74 20 6f 72 67 2d 70 72    6f 74 6f 63 6f 6c 2d 6c 69 6e 6b 20 28 69 66 20  | ..(insert.org-protocol-link.(if. | 
| 1c780 |  28 3e 20 28 6c 65 6e 67 74 68 20 63 61 6e 64 69    64 61 74 65 73 29 20 31 29 20 22 5c 6e 22 20 22  | (>.(length.candidates).1)."\n"." | 
| 1c7a0 |  22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28    6d 65 73 73 61 67 65 20 22 43 6f 70 69 65 64 20  | "))............(message."Copied. | 
| 1c7c0 |  28 6f 72 67 2d 70 72 6f 74 6f 63 6f 6c 29 3a 20    25 73 22 20 6f 72 67 2d 70 72 6f 74 6f 63 6f 6c  | (org-protocol):.%s".org-protocol | 
| 1c7e0 |  2d 6c 69 6e 6b 29 29 29 0a 20 20 20 20 20 20 20    28 62 75 66 66 65 72 2d 73 74 72 69 6e 67 29 29  | -link)))........(buffer-string)) | 
| 1c800 |  29 0a 20 20 20 20 3b 3b 20 72 65 6d 6f 76 65 20    6f 76 65 72 6c 61 79 73 20 61 6e 64 20 74 65 78  | ).....;;.remove.overlays.and.tex | 
| 1c820 |  74 20 70 72 6f 70 65 72 74 69 65 73 0a 20 20 20    20 28 6c 65 74 2a 20 28 28 62 65 67 20 28 70 6f  | t.properties.....(let*.((beg.(po | 
| 1c840 |  69 6e 74 2d 6d 69 6e 29 29 0a 20 20 20 20 20 20    20 20 20 20 20 28 65 6e 64 20 28 70 6f 69 6e 74  | int-min))............(end.(point | 
| 1c860 |  2d 6d 61 78 29 29 0a 20 20 20 20 20 20 20 20 20    20 20 28 69 6e 68 69 62 69 74 2d 72 65 61 64 2d  | -max))............(inhibit-read- | 
| 1c880 |  6f 6e 6c 79 20 74 29 29 0a 20 20 20 20 20 20 28    72 65 6d 6f 76 65 2d 6f 76 65 72 6c 61 79 73 20  | only.t)).......(remove-overlays. | 
| 1c8a0 |  62 65 67 20 65 6e 64 29 0a 20 20 20 20 20 20 28    72 65 6d 6f 76 65 2d 74 65 78 74 2d 70 72 6f 70  | beg.end).......(remove-text-prop | 
| 1c8c0 |  65 72 74 69 65 73 20 62 65 67 20 65 6e 64 20 27    28 63 61 6c 69 62 72 65 64 62 2d 6d 61 72 6b 20  | erties.beg.end.'(calibredb-mark. | 
| 1c8e0 |  6e 69 6c 29 29 29 29 29 0a 0a 0a 28 64 65 66 75    6e 20 63 61 6c 69 62 72 65 64 62 2d 6f 72 67 2d  | nil)))))...(defun.calibredb-org- | 
| 1c900 |  70 72 6f 74 6f 63 6f 6c 2d 6c 69 6e 6b 2d 6d 61    72 6b 64 6f 77 6e 2d 63 6f 70 79 20 28 29 0a 20  | protocol-link-markdown-copy.().. | 
| 1c920 |  20 22 43 6f 70 79 20 74 68 65 20 6d 61 72 6b 65    64 20 69 74 65 6d 73 20 61 73 20 6f 72 67 2d 70  | ."Copy.the.marked.items.as.org-p | 
| 1c940 |  72 6f 74 6f 63 6f 6c 20 6d 61 72 6b 64 6f 77 6e    20 6c 69 6e 6b 73 2e 22 0a 20 20 28 69 6e 74 65  | rotocol.markdown.links."...(inte | 
| 1c960 |  72 61 63 74 69 76 65 29 0a 20 20 28 6c 65 74 20    28 28 63 61 6e 64 69 64 61 74 65 73 20 28 63 61  | ractive)...(let.((candidates.(ca | 
| 1c980 |  6c 69 62 72 65 64 62 2d 66 69 6e 64 2d 6d 61 72    6b 65 64 2d 63 61 6e 64 69 64 61 74 65 73 29 29  | libredb-find-marked-candidates)) | 
| 1c9a0 |  29 0a 20 20 20 20 28 75 6e 6c 65 73 73 20 63 61    6e 64 69 64 61 74 65 73 0a 20 20 20 20 20 20 28  | ).....(unless.candidates.......( | 
| 1c9c0 |  73 65 74 71 20 63 61 6e 64 69 64 61 74 65 73 20    28 63 61 6c 69 62 72 65 64 62 2d 66 69 6e 64 2d  | setq.candidates.(calibredb-find- | 
| 1c9e0 |  63 61 6e 64 69 64 61 74 65 2d 61 74 2d 70 6f 69    6e 74 29 29 29 0a 20 20 20 20 28 6b 69 6c 6c 2d  | candidate-at-point))).....(kill- | 
| 1ca00 |  6e 65 77 0a 20 20 20 20 20 28 77 69 74 68 2d 74    65 6d 70 2d 62 75 66 66 65 72 0a 20 20 20 20 20  | new......(with-temp-buffer...... | 
| 1ca20 |  20 20 28 64 6f 6c 69 73 74 20 28 63 61 6e 64 20    63 61 6e 64 69 64 61 74 65 73 29 0a 20 20 20 20  | ..(dolist.(cand.candidates)..... | 
| 1ca40 |  20 20 20 20 20 28 6c 65 74 2a 20 28 28 69 64 20    28 63 61 6c 69 62 72 65 64 62 2d 67 65 74 61 74  | .....(let*.((id.(calibredb-getat | 
| 1ca60 |  74 72 20 63 61 6e 64 20 3a 69 64 29 29 0a 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 74  | tr.cand.:id)).................(t | 
| 1ca80 |  69 74 6c 65 20 28 63 61 6c 69 62 72 65 64 62 2d    67 65 74 61 74 74 72 20 63 61 6e 64 20 3a 62 6f  | itle.(calibredb-getattr.cand.:bo | 
| 1caa0 |  6f 6b 2d 74 69 74 6c 65 29 29 0a 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 28 6f 72 67 2d  | ok-title)).................(org- | 
| 1cac0 |  70 72 6f 74 6f 63 6f 6c 2d 6c 69 6e 6b 20 28 66    6f 72 6d 61 74 20 22 5b 25 73 5d 28 25 73 29 22  | protocol-link.(format."[%s](%s)" | 
| 1cae0 |  20 74 69 74 6c 65 20 28 75 72 6c 2d 65 6e 63 6f    64 65 2d 75 72 6c 20 28 66 6f 72 6d 61 74 20 22  | .title.(url-encode-url.(format." | 
| 1cb00 |  6f 72 67 2d 70 72 6f 74 6f 63 6f 6c 3a 2f 2f 63    61 6c 69 62 72 65 64 62 3f 69 64 3d 25 73 26 74  | org-protocol://calibredb?id=%s&t | 
| 1cb20 |  69 74 6c 65 3d 25 73 22 20 69 64 20 28 75 72 6c    2d 68 65 78 69 66 79 2d 73 74 72 69 6e 67 20 74  | itle=%s".id.(url-hexify-string.t | 
| 1cb40 |  69 74 6c 65 29 29 20 29 29 20 20 29 29 0a 20 20    20 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74  | itle)).))..))............(insert | 
| 1cb60 |  20 6f 72 67 2d 70 72 6f 74 6f 63 6f 6c 2d 6c 69    6e 6b 20 28 69 66 20 28 3e 20 28 6c 65 6e 67 74  | .org-protocol-link.(if.(>.(lengt | 
| 1cb80 |  68 20 63 61 6e 64 69 64 61 74 65 73 29 20 31 29    20 22 5c 6e 22 20 22 22 29 29 0a 20 20 20 20 20  | h.candidates).1)."\n".""))...... | 
| 1cba0 |  20 20 20 20 20 20 28 6d 65 73 73 61 67 65 20 22    43 6f 70 69 65 64 20 28 6f 72 67 2d 70 72 6f 74  | ......(message."Copied.(org-prot | 
| 1cbc0 |  6f 63 6f 6c 20 6d 61 72 6b 64 6f 77 6e 29 3a 20    25 73 22 20 6f 72 67 2d 70 72 6f 74 6f 63 6f 6c  | ocol.markdown):.%s".org-protocol | 
| 1cbe0 |  2d 6c 69 6e 6b 29 29 29 0a 20 20 20 20 20 20 20    28 62 75 66 66 65 72 2d 73 74 72 69 6e 67 29 29  | -link)))........(buffer-string)) | 
| 1cc00 |  29 0a 20 20 20 20 3b 3b 20 72 65 6d 6f 76 65 20    6f 76 65 72 6c 61 79 73 20 61 6e 64 20 74 65 78  | ).....;;.remove.overlays.and.tex | 
| 1cc20 |  74 20 70 72 6f 70 65 72 74 69 65 73 0a 20 20 20    20 28 6c 65 74 2a 20 28 28 62 65 67 20 28 70 6f  | t.properties.....(let*.((beg.(po | 
| 1cc40 |  69 6e 74 2d 6d 69 6e 29 29 0a 20 20 20 20 20 20    20 20 20 20 20 28 65 6e 64 20 28 70 6f 69 6e 74  | int-min))............(end.(point | 
| 1cc60 |  2d 6d 61 78 29 29 0a 20 20 20 20 20 20 20 20 20    20 20 28 69 6e 68 69 62 69 74 2d 72 65 61 64 2d  | -max))............(inhibit-read- | 
| 1cc80 |  6f 6e 6c 79 20 74 29 29 0a 20 20 20 20 20 20 28    72 65 6d 6f 76 65 2d 6f 76 65 72 6c 61 79 73 20  | only.t)).......(remove-overlays. | 
| 1cca0 |  62 65 67 20 65 6e 64 29 0a 20 20 20 20 20 20 28    72 65 6d 6f 76 65 2d 74 65 78 74 2d 70 72 6f 70  | beg.end).......(remove-text-prop | 
| 1ccc0 |  65 72 74 69 65 73 20 62 65 67 20 65 6e 64 20 27    28 63 61 6c 69 62 72 65 64 62 2d 6d 61 72 6b 20  | erties.beg.end.'(calibredb-mark. | 
| 1cce0 |  6e 69 6c 29 29 29 29 29 0a 0a 28 64 65 66 75 6e    20 63 61 6c 69 62 72 65 64 62 2d 6f 72 67 2d 6d  | nil)))))..(defun.calibredb-org-m | 
| 1cd00 |  61 72 6b 64 6f 77 6e 2d 63 6f 70 79 20 28 29 0a    20 20 22 43 6f 70 79 20 74 68 65 20 6d 61 72 6b  | arkdown-copy.()..."Copy.the.mark | 
| 1cd20 |  65 64 20 69 74 65 6d 73 20 61 73 20 6d 61 72 6b    64 6f 77 6e 20 6c 69 6e 6b 73 2e 22 0a 20 20 28  | ed.items.as.markdown.links."...( | 
| 1cd40 |  69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28    6c 65 74 20 28 28 63 61 6e 64 69 64 61 74 65 73  | interactive)...(let.((candidates | 
| 1cd60 |  20 28 63 61 6c 69 62 72 65 64 62 2d 66 69 6e 64    2d 6d 61 72 6b 65 64 2d 63 61 6e 64 69 64 61 74  | .(calibredb-find-marked-candidat | 
| 1cd80 |  65 73 29 29 29 0a 20 20 20 20 28 75 6e 6c 65 73    73 20 63 61 6e 64 69 64 61 74 65 73 0a 20 20 20  | es))).....(unless.candidates.... | 
| 1cda0 |  20 20 20 28 73 65 74 71 20 63 61 6e 64 69 64 61    74 65 73 20 28 63 61 6c 69 62 72 65 64 62 2d 66  | ...(setq.candidates.(calibredb-f | 
| 1cdc0 |  69 6e 64 2d 63 61 6e 64 69 64 61 74 65 2d 61 74    2d 70 6f 69 6e 74 29 29 29 0a 20 20 20 20 28 6b  | ind-candidate-at-point))).....(k | 
| 1cde0 |  69 6c 6c 2d 6e 65 77 0a 20 20 20 20 20 28 77 69    74 68 2d 74 65 6d 70 2d 62 75 66 66 65 72 0a 20  | ill-new......(with-temp-buffer.. | 
| 1ce00 |  20 20 20 20 20 20 20 20 28 64 6f 6c 69 73 74 20    28 63 61 6e 64 20 63 61 6e 64 69 64 61 74 65 73  | ........(dolist.(cand.candidates | 
| 1ce20 |  29 0a 20 20 20 20 20 20 20 20 20 20 20 28 6c 65    74 2a 20 28 28 69 64 20 28 63 61 6c 69 62 72 65  | )............(let*.((id.(calibre | 
| 1ce40 |  64 62 2d 67 65 74 61 74 74 72 20 63 61 6e 64 20    3a 69 64 29 29 0a 20 20 20 20 20 20 20 20 20 20  | db-getattr.cand.:id))........... | 
| 1ce60 |  20 20 20 20 20 20 20 20 28 70 61 74 68 20 28 63    61 6c 69 62 72 65 64 62 2d 67 65 74 2d 66 69 6c  | ........(path.(calibredb-get-fil | 
| 1ce80 |  65 2d 70 61 74 68 20 63 61 6e 64 20 74 29 29 0a    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | e-path.cand.t))................. | 
| 1cea0 |  20 20 28 74 69 74 6c 65 20 28 63 61 6c 69 62 72    65 64 62 2d 67 65 74 61 74 74 72 20 63 61 6e 64  | ..(title.(calibredb-getattr.cand | 
| 1cec0 |  20 3a 62 6f 6f 6b 2d 74 69 74 6c 65 29 29 0a 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | .:book-title)).................. | 
| 1cee0 |  20 28 6f 72 67 2d 70 72 6f 74 6f 63 6f 6c 2d 6c    69 6e 6b 20 28 66 6f 72 6d 61 74 20 22 5b 25 73  | .(org-protocol-link.(format."[%s | 
| 1cf00 |  5d 28 25 73 29 22 20 74 69 74 6c 65 20 70 61 74    68 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20  | ](%s)".title.path)))............ | 
| 1cf20 |  28 69 6e 73 65 72 74 20 6f 72 67 2d 70 72 6f 74    6f 63 6f 6c 2d 6c 69 6e 6b 20 28 69 66 20 28 3e  | (insert.org-protocol-link.(if.(> | 
| 1cf40 |  20 28 6c 65 6e 67 74 68 20 63 61 6e 64 69 64 61    74 65 73 29 20 31 29 20 22 5c 6e 22 20 22 22 29  | .(length.candidates).1)."\n"."") | 
| 1cf60 |  29 0a 20 20 20 20 20 20 20 20 20 20 20 28 6d 65    73 73 61 67 65 20 22 43 6f 70 69 65 64 20 28 6d  | )............(message."Copied.(m | 
| 1cf80 |  61 72 6b 64 6f 77 6e 29 3a 20 25 73 22 20 6f 72    67 2d 70 72 6f 74 6f 63 6f 6c 2d 6c 69 6e 6b 29  | arkdown):.%s".org-protocol-link) | 
| 1cfa0 |  29 29 0a 20 20 20 20 20 20 20 20 20 28 62 75 66    66 65 72 2d 73 74 72 69 6e 67 29 29 29 0a 20 20  | ))..........(buffer-string)))... | 
| 1cfc0 |  20 20 3b 3b 20 72 65 6d 6f 76 65 20 6f 76 65 72    6c 61 79 73 20 61 6e 64 20 74 65 78 74 20 70 72  | ..;;.remove.overlays.and.text.pr | 
| 1cfe0 |  6f 70 65 72 74 69 65 73 0a 20 20 20 20 28 6c 65    74 2a 20 28 28 62 65 67 20 28 70 6f 69 6e 74 2d  | operties.....(let*.((beg.(point- | 
| 1d000 |  6d 69 6e 29 29 0a 20 20 20 20 20 20 20 20 20 20    20 28 65 6e 64 20 28 70 6f 69 6e 74 2d 6d 61 78  | min))............(end.(point-max | 
| 1d020 |  29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 69    6e 68 69 62 69 74 2d 72 65 61 64 2d 6f 6e 6c 79  | ))............(inhibit-read-only | 
| 1d040 |  20 74 29 29 0a 20 20 20 20 20 20 28 72 65 6d 6f    76 65 2d 6f 76 65 72 6c 61 79 73 20 62 65 67 20  | .t)).......(remove-overlays.beg. | 
| 1d060 |  65 6e 64 29 0a 20 20 20 20 20 20 28 72 65 6d 6f    76 65 2d 74 65 78 74 2d 70 72 6f 70 65 72 74 69  | end).......(remove-text-properti | 
| 1d080 |  65 73 20 62 65 67 20 65 6e 64 20 27 28 63 61 6c    69 62 72 65 64 62 2d 6d 61 72 6b 20 6e 69 6c 29  | es.beg.end.'(calibredb-mark.nil) | 
| 1d0a0 |  29 29 29 29 0a 0a 28 64 65 66 75 6e 20 63 61 6c    69 62 72 65 64 62 2d 6f 72 67 2d 70 72 6f 74 6f  | ))))..(defun.calibredb-org-proto | 
| 1d0c0 |  63 6f 6c 20 28 64 61 74 61 29 0a 20 20 28 6c 65    74 2a 20 28 28 69 64 20 28 70 6c 69 73 74 2d 67  | col.(data)...(let*.((id.(plist-g | 
| 1d0e0 |  65 74 20 64 61 74 61 20 3a 69 64 29 29 0a 20 20    20 20 20 20 20 20 20 28 74 69 74 6c 65 20 28 70  | et.data.:id))..........(title.(p | 
| 1d100 |  6c 69 73 74 2d 67 65 74 20 64 61 74 61 20 3a 74    69 74 6c 65 29 29 29 0a 20 20 20 20 28 63 61 6c  | list-get.data.:title))).....(cal | 
| 1d120 |  69 62 72 65 64 62 2d 73 68 6f 77 2d 65 6e 74 72    79 0a 20 20 20 20 20 28 63 6f 6e 64 20 28 28 61  | ibredb-show-entry......(cond.((a | 
| 1d140 |  6e 64 20 28 66 69 6c 65 2d 65 78 69 73 74 73 2d    70 20 28 65 78 70 61 6e 64 2d 66 69 6c 65 2d 6e  | nd.(file-exists-p.(expand-file-n | 
| 1d160 |  61 6d 65 20 22 2e 6d 65 74 61 64 61 74 61 2e 63    61 6c 69 62 72 65 22 20 63 61 6c 69 62 72 65 64  | ame.".metadata.calibre".calibred | 
| 1d180 |  62 2d 72 6f 6f 74 2d 64 69 72 29 29 29 0a 20 20    20 20 20 20 20 20 20 20 20 20 28 63 64 61 72 20  | b-root-dir))).............(cdar. | 
| 1d1a0 |  28 63 61 6c 69 62 72 65 64 62 2d 66 6f 6c 64 65    72 2d 63 61 6e 64 69 64 61 74 65 20 69 64 29 29  | (calibredb-folder-candidate.id)) | 
| 1d1c0 |  29 0a 20 20 20 20 20 20 20 20 20 20 20 28 74 20    28 63 64 61 72 20 28 63 61 6c 69 62 72 65 64 62  | )............(t.(cdar.(calibredb | 
| 1d1e0 |  2d 63 61 6e 64 69 64 61 74 65 20 69 64 29 29 29    29 29 0a 20 20 20 20 6e 69 6c 29 29 0a 0a 0a 28  | -candidate.id))))).....nil))...( | 
| 1d200 |  64 65 66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d    6f 72 67 2d 73 65 74 75 70 2d 6f 72 67 2d 70 72  | defun.calibredb-org-setup-org-pr | 
| 1d220 |  6f 74 6f 63 6f 6c 28 29 0a 20 20 28 72 65 71 75    69 72 65 20 27 6f 72 67 2d 70 72 6f 74 6f 63 6f  | otocol()...(require.'org-protoco | 
| 1d240 |  6c 29 0a 20 20 28 61 64 64 2d 74 6f 2d 6c 69 73    74 20 27 6f 72 67 2d 70 72 6f 74 6f 63 6f 6c 2d  | l)...(add-to-list.'org-protocol- | 
| 1d260 |  70 72 6f 74 6f 63 6f 6c 2d 61 6c 69 73 74 20 27    28 22 63 61 6c 69 62 72 65 64 62 22 0a 20 20 20  | protocol-alist.'("calibredb".... | 
| 1d280 |  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  | ................................ | 
| 1d2a0 |  20 20 20 20 20 20 20 20 20 20 20 3a 70 72 6f 74    6f 63 6f 6c 20 22 63 61 6c 69 62 72 65 64 62 22  | ...........:protocol."calibredb" | 
| 1d2c0 |  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 20 20 20 20  | ................................ | 
| 1d2e0 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a    66 75 6e 63 74 69 6f 6e 20 63 61 6c 69 62 72 65  | ...............:function.calibre | 
| 1d300 |  64 62 2d 6f 72 67 2d 70 72 6f 74 6f 63 6f 6c 0a    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | db-org-protocol................. | 
| 1d320 |  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 3a 6b  | ..............................:k | 
| 1d340 |  69 6c 6c 2d 63 6c 69 65 6e 74 20 74 29 29 29 0a    0a 28 70 72 6f 76 69 64 65 20 27 63 61 6c 69 62  | ill-client.t)))..(provide.'calib | 
| 1d360 |  72 65 64 62 2d 6f 72 67 29 0a 0a 3b 3b 3b 20 63    61 6c 69 62 72 65 64 62 2d 6f 72 67 2e 65 6c 20  | redb-org)..;;;.calibredb-org.el. | 
| 1d380 |  65 6e 64 73 20 68 65 72 65 0a 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ends.here....................... | 
| 1d3a0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 1d3c0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 1d3e0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 1d400 |  63 61 6c 69 62 72 65 64 62 2d 32 30 32 35 30 37    30 35 2e 32 32 35 2f 63 61 6c 69 62 72 65 64 62  | calibredb-20250705.225/calibredb | 
| 1d420 |  2d 70 6b 67 2e 65 6c 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | -pkg.el......................... | 
| 1d440 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 1d460 |  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 | 
| 1d480 |  30 30 30 31 30 35 37 00 30 30 30 30 30 30 30 30    30 30 30 00 30 31 35 36 35 30 00 20 30 00 00 00  | 0001057.00000000000.015650..0... | 
| 1d4a0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 1d4c0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 1d4e0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 1d500 |  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................... | 
| 1d520 |  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................... | 
| 1d540 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 1d560 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 1d580 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 1d5a0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 1d5c0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 1d5e0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 1d600 |  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 | 
| 1d620 |  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 | 
| 1d640 |  61 67 65 20 22 63 61 6c 69 62 72 65 64 62 22 20    22 32 30 32 35 30 37 30 35 2e 32 32 35 22 0a 20  | age."calibredb"."20250705.225".. | 
| 1d660 |  20 22 59 65 74 20 61 6e 6f 74 68 65 72 20 63 61    6c 69 62 72 65 20 63 6c 69 65 6e 74 2e 22 0a 20  | ."Yet.another.calibre.client.".. | 
| 1d680 |  20 27 28 28 65 6d 61 63 73 20 20 20 20 20 22 32    39 2e 31 22 29 0a 20 20 20 20 28 6f 72 67 20 20  | .'((emacs....."29.1").....(org.. | 
| 1d6a0 |  20 20 20 20 20 22 39 2e 33 22 29 0a 20 20 20 20    28 74 72 61 6e 73 69 65 6e 74 20 22 30 2e 31 2e  | ....."9.3").....(transient."0.1. | 
| 1d6c0 |  30 22 29 0a 20 20 20 20 28 73 20 20 20 20 20 20    20 20 20 22 31 2e 31 32 2e 30 22 29 0a 20 20 20  | 0").....(s........."1.12.0").... | 
| 1d6e0 |  20 28 64 61 73 68 20 20 20 20 20 20 22 32 2e 31    37 2e 30 22 29 0a 20 20 20 20 28 72 65 71 75 65  | .(dash......"2.17.0").....(reque | 
| 1d700 |  73 74 20 20 20 22 30 2e 33 2e 33 22 29 0a 20 20    20 20 28 65 73 78 6d 6c 20 20 20 20 20 22 30 2e  | st..."0.3.3").....(esxml....."0. | 
| 1d720 |  33 2e 37 22 29 29 0a 20 20 3a 75 72 6c 20 22 68    74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f  | 3.7"))...:url."https://github.co | 
| 1d740 |  6d 2f 63 68 65 6e 79 61 6e 6d 69 6e 67 2f 63 61    6c 69 62 72 65 64 62 2e 65 6c 22 0a 20 20 3a 63  | m/chenyanming/calibredb.el"...:c | 
| 1d760 |  6f 6d 6d 69 74 20 22 62 62 63 39 64 35 37 33 64    35 35 33 36 62 65 35 62 33 35 33 30 66 32 37 35  | ommit."bbc9d573d5536be5b3530f275 | 
| 1d780 |  33 39 63 36 30 37 66 39 62 30 33 30 62 38 30 22    0a 20 20 3a 72 65 76 64 65 73 63 20 22 62 62 63  | 39c607f9b030b80"...:revdesc."bbc | 
| 1d7a0 |  39 64 35 37 33 64 35 35 33 22 0a 20 20 3a 6b 65    79 77 6f 72 64 73 20 27 28 22 74 6f 6f 6c 73 22  | 9d573d553"...:keywords.'("tools" | 
| 1d7c0 |  29 0a 20 20 3a 61 75 74 68 6f 72 73 20 27 28 28    22 44 61 6d 6f 6e 20 43 68 61 6e 22 20 2e 20 22  | )...:authors.'(("Damon.Chan"..." | 
| 1d7e0 |  65 6c 65 63 6d 69 6e 67 40 67 6d 61 69 6c 2e 63    6f 6d 22 29 29 0a 20 20 3a 6d 61 69 6e 74 61 69  | elecming@gmail.com"))...:maintai | 
| 1d800 |  6e 65 72 73 20 27 28 28 22 44 61 6d 6f 6e 20 43    68 61 6e 22 20 2e 20 22 65 6c 65 63 6d 69 6e 67  | ners.'(("Damon.Chan"..."elecming | 
| 1d820 |  40 67 6d 61 69 6c 2e 63 6f 6d 22 29 29 29 0a 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | @gmail.com"))).................. | 
| 1d840 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 1d860 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 1d880 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 1d8a0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 1d8c0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 1d8e0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 1d900 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 1d920 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 1d940 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 1d960 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 1d980 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 1d9a0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 1d9c0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 1d9e0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 1da00 |  63 61 6c 69 62 72 65 64 62 2d 32 30 32 35 30 37    30 35 2e 32 32 35 2f 63 61 6c 69 62 72 65 64 62  | calibredb-20250705.225/calibredb | 
| 1da20 |  2d 73 65 61 72 63 68 2e 65 6c 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | -search.el...................... | 
| 1da40 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 1da60 |  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 | 
| 1da80 |  30 31 35 36 32 31 32 00 30 30 30 30 30 30 30 30    30 30 30 00 30 31 36 33 34 30 00 20 30 00 00 00  | 0156212.00000000000.016340..0... | 
| 1daa0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 1dac0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 1dae0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 1db00 |  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................... | 
| 1db20 |  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................... | 
| 1db40 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 1db60 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 1db80 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 1dba0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 1dbc0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 1dbe0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 1dc00 |  3b 3b 3b 20 63 61 6c 69 62 72 65 64 62 2d 73 65    61 72 63 68 2e 65 6c 20 2d 2d 2d 20 42 6f 6f 6b  | ;;;.calibredb-search.el.---.Book | 
| 1dc20 |  73 20 73 65 61 72 63 68 20 62 75 66 66 65 72 20    66 6f 72 20 63 61 6c 69 62 72 65 64 62 20 2d 2a  | s.search.buffer.for.calibredb.-* | 
| 1dc40 |  2d 20 6c 65 78 69 63 61 6c 2d 62 69 6e 64 69 6e    67 3a 20 74 3b 20 2d 2a 2d 0a 0a 3b 3b 20 43 6f  | -.lexical-binding:.t;.-*-..;;.Co | 
| 1dc60 |  70 79 72 69 67 68 74 20 28 43 29 20 32 30 32 30    20 44 61 6d 6f 6e 20 43 68 61 6e 0a 0a 3b 3b 20  | pyright.(C).2020.Damon.Chan..;;. | 
| 1dc80 |  41 75 74 68 6f 72 3a 20 44 61 6d 6f 6e 20 43 68    61 6e 20 3c 65 6c 65 63 6d 69 6e 67 40 67 6d 61  | Author:.Damon.Chan.<elecming@gma | 
| 1dca0 |  69 6c 2e 63 6f 6d 3e 0a 3b 3b 20 55 52 4c 3a 20    68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63  | il.com>.;;.URL:.https://github.c | 
| 1dcc0 |  6f 6d 2f 63 68 65 6e 79 61 6e 6d 69 6e 67 2f 63    61 6c 69 62 72 65 64 62 2e 65 6c 0a 3b 3b 20 4b  | om/chenyanming/calibredb.el.;;.K | 
| 1dce0 |  65 79 77 6f 72 64 73 3a 20 74 6f 6f 6c 73 0a 0a    3b 3b 20 54 68 69 73 20 66 69 6c 65 20 69 73 20  | eywords:.tools..;;.This.file.is. | 
| 1dd00 |  4e 4f 54 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  | NOT.part.of.GNU.Emacs...;;.This. | 
| 1dd20 |  70 72 6f 67 72 61 6d 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  | program.is.free.software;.you.ca | 
| 1dd40 |  6e 20 72 65 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  | n.redistribute.it.and/or.modify. | 
| 1dd60 |  3b 3b 20 69 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  | ;;.it.under.the.terms.of.the.GNU | 
| 1dd80 |  20 47 65 6e 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  | .General.Public.License.as.publi | 
| 1dda0 |  73 68 65 64 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  | shed.by.;;.the.Free.Software.Fou | 
| 1ddc0 |  6e 64 61 74 69 6f 6e 2c 20 65 69 74 68 65 72 20    76 65 72 73 69 6f 6e 20 33 20 6f 66 20 74 68 65  | ndation,.either.version.3.of.the | 
| 1dde0 |  20 4c 69 63 65 6e 73 65 2c 20 6f 72 0a 3b 3b 20    28 61 74 20 79 6f 75 72 20 6f 70 74 69 6f 6e 29  | .License,.or.;;.(at.your.option) | 
| 1de00 |  20 61 6e 79 20 6c 61 74 65 72 20 76 65 72 73 69    6f 6e 2e 0a 0a 3b 3b 20 54 68 69 73 20 70 72 6f  | .any.later.version...;;.This.pro | 
| 1de20 |  67 72 61 6d 20 69 73 20 64 69 73 74 72 69 62 75    74 65 64 20 69 6e 20 74 68 65 20 68 6f 70 65 20  | gram.is.distributed.in.the.hope. | 
| 1de40 |  74 68 61 74 20 69 74 20 77 69 6c 6c 20 62 65 20    75 73 65 66 75 6c 2c 0a 3b 3b 20 62 75 74 20 57  | that.it.will.be.useful,.;;.but.W | 
| 1de60 |  49 54 48 4f 55 54 20 41 4e 59 20 57 41 52 52 41    4e 54 59 3b 20 77 69 74 68 6f 75 74 20 65 76 65  | ITHOUT.ANY.WARRANTY;.without.eve | 
| 1de80 |  6e 20 74 68 65 20 69 6d 70 6c 69 65 64 20 77 61    72 72 61 6e 74 79 20 6f 66 0a 3b 3b 20 4d 45 52  | n.the.implied.warranty.of.;;.MER | 
| 1dea0 |  43 48 41 4e 54 41 42 49 4c 49 54 59 20 6f 72 20    46 49 54 4e 45 53 53 20 46 4f 52 20 41 20 50 41  | CHANTABILITY.or.FITNESS.FOR.A.PA | 
| 1dec0 |  52 54 49 43 55 4c 41 52 20 50 55 52 50 4f 53 45    2e 20 20 53 65 65 20 74 68 65 0a 3b 3b 20 47 4e  | RTICULAR.PURPOSE...See.the.;;.GN | 
| 1dee0 |  55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63    20 4c 69 63 65 6e 73 65 20 66 6f 72 20 6d 6f 72  | U.General.Public.License.for.mor | 
| 1df00 |  65 20 64 65 74 61 69 6c 73 2e 0a 0a 3b 3b 20 59    6f 75 20 73 68 6f 75 6c 64 20 68 61 76 65 20 72  | e.details...;;.You.should.have.r | 
| 1df20 |  65 63 65 69 76 65 64 20 61 20 63 6f 70 79 20 6f    66 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61  | eceived.a.copy.of.the.GNU.Genera | 
| 1df40 |  6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65    0a 3b 3b 20 61 6c 6f 6e 67 20 77 69 74 68 20 74  | l.Public.License.;;.along.with.t | 
| 1df60 |  68 69 73 20 70 72 6f 67 72 61 6d 2e 20 20 49 66    20 6e 6f 74 2c 20 73 65 65 20 3c 68 74 74 70 73  | his.program...If.not,.see.<https | 
| 1df80 |  3a 2f 2f 77 77 77 2e 67 6e 75 2e 6f 72 67 2f 6c    69 63 65 6e 73 65 73 2f 3e 2e 0a 0a 3b 3b 3b 20  | ://www.gnu.org/licenses/>...;;;. | 
| 1dfa0 |  43 6f 6d 6d 65 6e 74 61 72 79 3a 0a 0a 3b 3b 3b    20 43 6f 64 65 3a 0a 0a 28 72 65 71 75 69 72 65  | Commentary:..;;;.Code:..(require | 
| 1dfc0 |  20 27 63 61 6c 69 62 72 65 64 62 2d 63 6f 72 65    29 0a 0a 28 65 76 61 6c 2d 77 68 65 6e 2d 63 6f  | .'calibredb-core)..(eval-when-co | 
| 1dfe0 |  6d 70 69 6c 65 20 28 64 65 66 76 61 72 20 63 61    6c 69 62 72 65 64 62 2d 73 68 6f 77 2d 65 6e 74  | mpile.(defvar.calibredb-show-ent | 
| 1e000 |  72 79 29 29 0a 28 65 76 61 6c 2d 77 68 65 6e 2d    63 6f 6d 70 69 6c 65 20 28 64 65 66 76 61 72 20  | ry)).(eval-when-compile.(defvar. | 
| 1e020 |  63 61 6c 69 62 72 65 64 62 2d 73 68 6f 77 2d 65    6e 74 72 79 2d 73 77 69 74 63 68 29 29 0a 28 65  | calibredb-show-entry-switch)).(e | 
| 1e040 |  76 61 6c 2d 77 68 65 6e 2d 63 6f 6d 70 69 6c 65    20 28 64 65 66 76 61 72 20 63 61 6c 69 62 72 65  | val-when-compile.(defvar.calibre | 
| 1e060 |  64 62 2d 76 69 72 74 75 61 6c 2d 6c 69 62 72 61    72 79 2d 61 6c 69 73 74 29 29 0a 0a 28 64 65 63  | db-virtual-library-alist))..(dec | 
| 1e080 |  6c 61 72 65 2d 66 75 6e 63 74 69 6f 6e 20 63 61    6c 69 62 72 65 64 62 20 22 63 61 6c 69 62 72 65  | lare-function.calibredb."calibre | 
| 1e0a0 |  64 62 2e 65 6c 22 29 0a 28 64 65 63 6c 61 72 65    2d 66 75 6e 63 74 69 6f 6e 20 63 61 6c 69 62 72  | db.el").(declare-function.calibr | 
| 1e0c0 |  65 64 62 2d 66 69 6e 64 2d 66 69 6c 65 20 22 63    61 6c 69 62 72 65 64 62 2d 75 74 69 6c 73 2e 65  | edb-find-file."calibredb-utils.e | 
| 1e0e0 |  6c 22 29 0a 28 64 65 63 6c 61 72 65 2d 66 75 6e    63 74 69 6f 6e 20 63 61 6c 69 62 72 65 64 62 2d  | l").(declare-function.calibredb- | 
| 1e100 |  61 64 64 20 22 63 61 6c 69 62 72 65 64 62 2d 75    74 69 6c 73 2e 65 6c 22 29 0a 28 64 65 63 6c 61  | add."calibredb-utils.el").(decla | 
| 1e120 |  72 65 2d 66 75 6e 63 74 69 6f 6e 20 63 61 6c 69    62 72 65 64 62 2d 61 64 64 2d 64 69 72 20 22 63  | re-function.calibredb-add-dir."c | 
| 1e140 |  61 6c 69 62 72 65 64 62 2d 75 74 69 6c 73 2e 65    6c 22 29 0a 28 64 65 63 6c 61 72 65 2d 66 75 6e  | alibredb-utils.el").(declare-fun | 
| 1e160 |  63 74 69 6f 6e 20 63 61 6c 69 62 72 65 64 62 2d    63 6c 6f 6e 65 20 22 63 61 6c 69 62 72 65 64 62  | ction.calibredb-clone."calibredb | 
| 1e180 |  2d 75 74 69 6c 73 2e 65 6c 22 29 0a 28 64 65 63    6c 61 72 65 2d 66 75 6e 63 74 69 6f 6e 20 63 61  | -utils.el").(declare-function.ca | 
| 1e1a0 |  6c 69 62 72 65 64 62 2d 72 65 6d 6f 76 65 20 22    63 61 6c 69 62 72 65 64 62 2d 75 74 69 6c 73 2e  | libredb-remove."calibredb-utils. | 
| 1e1c0 |  65 6c 22 29 0a 28 64 65 63 6c 61 72 65 2d 66 75    6e 63 74 69 6f 6e 20 63 61 6c 69 62 72 65 64 62  | el").(declare-function.calibredb | 
| 1e1e0 |  2d 72 65 6d 6f 76 65 2d 6d 61 72 6b 65 64 2d 69    74 65 6d 73 20 22 63 61 6c 69 62 72 65 64 62 2d  | -remove-marked-items."calibredb- | 
| 1e200 |  75 74 69 6c 73 2e 65 6c 22 29 0a 28 64 65 63 6c    61 72 65 2d 66 75 6e 63 74 69 6f 6e 20 63 61 6c  | utils.el").(declare-function.cal | 
| 1e220 |  69 62 72 65 64 62 2d 73 77 69 74 63 68 2d 6c 69    62 72 61 72 79 20 22 63 61 6c 69 62 72 65 64 62  | ibredb-switch-library."calibredb | 
| 1e240 |  2d 6c 69 62 72 61 72 79 2e 65 6c 22 29 0a 28 64    65 63 6c 61 72 65 2d 66 75 6e 63 74 69 6f 6e 20  | -library.el").(declare-function. | 
| 1e260 |  63 61 6c 69 62 72 65 64 62 2d 6c 69 62 72 61 72    79 2d 6c 69 73 74 20 22 63 61 6c 69 62 72 65 64  | calibredb-library-list."calibred | 
| 1e280 |  62 2d 6c 69 62 72 61 72 79 2e 65 6c 22 29 0a 28    64 65 63 6c 61 72 65 2d 66 75 6e 63 74 69 6f 6e  | b-library.el").(declare-function | 
| 1e2a0 |  20 63 61 6c 69 62 72 65 64 62 2d 6c 69 62 72 61    72 79 2d 6e 65 78 74 20 22 63 61 6c 69 62 72 65  | .calibredb-library-next."calibre | 
| 1e2c0 |  64 62 2d 6c 69 62 72 61 72 79 2e 65 6c 22 29 0a    28 64 65 63 6c 61 72 65 2d 66 75 6e 63 74 69 6f  | db-library.el").(declare-functio | 
| 1e2e0 |  6e 20 63 61 6c 69 62 72 65 64 62 2d 6c 69 62 72    61 72 79 2d 70 72 65 76 69 6f 75 73 20 22 63 61  | n.calibredb-library-previous."ca | 
| 1e300 |  6c 69 62 72 65 64 62 2d 6c 69 62 72 61 72 79 2e    65 6c 22 29 0a 28 64 65 63 6c 61 72 65 2d 66 75  | libredb-library.el").(declare-fu | 
| 1e320 |  6e 63 74 69 6f 6e 20 63 61 6c 69 62 72 65 64 62    2d 73 65 74 2d 6d 65 74 61 64 61 74 61 2d 64 69  | nction.calibredb-set-metadata-di | 
| 1e340 |  73 70 61 74 63 68 20 22 63 61 6c 69 62 72 65 64    62 2d 74 72 61 6e 73 69 65 6e 74 2e 65 6c 22 29  | spatch."calibredb-transient.el") | 
| 1e360 |  0a 28 64 65 63 6c 61 72 65 2d 66 75 6e 63 74 69    6f 6e 20 63 61 6c 69 62 72 65 64 62 2d 66 69 6e  | .(declare-function.calibredb-fin | 
| 1e380 |  64 2d 66 69 6c 65 2d 6f 74 68 65 72 2d 66 72 61    6d 65 20 22 63 61 6c 69 62 72 65 64 62 2d 75 74  | d-file-other-frame."calibredb-ut | 
| 1e3a0 |  69 6c 73 2e 65 6c 22 29 0a 28 64 65 63 6c 61 72    65 2d 66 75 6e 63 74 69 6f 6e 20 63 61 6c 69 62  | ils.el").(declare-function.calib | 
| 1e3c0 |  72 65 64 62 2d 6f 70 65 6e 2d 66 69 6c 65 2d 77    69 74 68 2d 64 65 66 61 75 6c 74 2d 74 6f 6f 6c  | redb-open-file-with-default-tool | 
| 1e3e0 |  20 22 63 61 6c 69 62 72 65 64 62 2d 75 74 69 6c    73 2e 65 6c 22 29 0a 28 64 65 63 6c 61 72 65 2d  | ."calibredb-utils.el").(declare- | 
| 1e400 |  66 75 6e 63 74 69 6f 6e 20 63 61 6c 69 62 72 65    64 62 2d 6f 70 65 6e 2d 64 69 72 65 64 20 22 63  | function.calibredb-open-dired."c | 
| 1e420 |  61 6c 69 62 72 65 64 62 2d 75 74 69 6c 73 2e 65    6c 22 29 0a 28 64 65 63 6c 61 72 65 2d 66 75 6e  | alibredb-utils.el").(declare-fun | 
| 1e440 |  63 74 69 6f 6e 20 63 61 6c 69 62 72 65 64 62 2d    69 6e 66 69 6c 65 2d 63 6f 76 65 72 2d 70 61 74  | ction.calibredb-infile-cover-pat | 
| 1e460 |  68 20 22 63 61 6c 69 62 72 65 64 62 2d 75 74 69    6c 73 2e 65 6c 22 29 0a 28 64 65 63 6c 61 72 65  | h."calibredb-utils.el").(declare | 
| 1e480 |  2d 66 75 6e 63 74 69 6f 6e 20 63 61 6c 69 62 72    65 64 62 2d 65 78 74 72 61 63 74 2d 63 6f 76 65  | -function.calibredb-extract-cove | 
| 1e4a0 |  72 20 22 63 61 6c 69 62 72 65 64 62 2d 75 74 69    6c 73 2e 65 6c 22 29 0a 28 64 65 63 6c 61 72 65  | r."calibredb-utils.el").(declare | 
| 1e4c0 |  2d 66 75 6e 63 74 69 6f 6e 20 63 61 6c 69 62 72    65 64 62 2d 63 61 74 61 6c 6f 67 2d 62 69 62 2d  | -function.calibredb-catalog-bib- | 
| 1e4e0 |  64 69 73 70 61 74 63 68 20 22 63 61 6c 69 62 72    65 64 62 2d 74 72 61 6e 73 69 65 6e 74 2e 65 6c  | dispatch."calibredb-transient.el | 
| 1e500 |  22 29 0a 28 64 65 63 6c 61 72 65 2d 66 75 6e 63    74 69 6f 6e 20 63 61 6c 69 62 72 65 64 62 2d 65  | ").(declare-function.calibredb-e | 
| 1e520 |  78 70 6f 72 74 2d 64 69 73 70 61 74 63 68 20 22    63 61 6c 69 62 72 65 64 62 2d 74 72 61 6e 73 69  | xport-dispatch."calibredb-transi | 
| 1e540 |  65 6e 74 2e 65 6c 22 29 0a 28 64 65 63 6c 61 72    65 2d 66 75 6e 63 74 69 6f 6e 20 63 61 6c 69 62  | ent.el").(declare-function.calib | 
| 1e560 |  72 65 64 62 2d 65 64 69 74 2d 61 6e 6e 6f 74 61    74 69 6f 6e 20 22 63 61 6c 69 62 72 65 64 62 2d  | redb-edit-annotation."calibredb- | 
| 1e580 |  61 6e 6e 6f 74 61 74 69 6f 6e 2e 65 6c 22 29 0a    28 64 65 63 6c 61 72 65 2d 66 75 6e 63 74 69 6f  | annotation.el").(declare-functio | 
| 1e5a0 |  6e 20 63 61 6c 69 62 72 65 64 62 2d 73 65 74 2d    6d 65 74 61 64 61 74 61 2d 2d 74 61 67 73 20 22  | n.calibredb-set-metadata--tags." | 
| 1e5c0 |  63 61 6c 69 62 72 65 64 62 2d 75 74 69 6c 73 2e    65 6c 22 29 0a 28 64 65 63 6c 61 72 65 2d 66 75  | calibredb-utils.el").(declare-fu | 
| 1e5e0 |  6e 63 74 69 6f 6e 20 63 61 6c 69 62 72 65 64 62    2d 73 65 74 2d 6d 65 74 61 64 61 74 61 2d 2d 61  | nction.calibredb-set-metadata--a | 
| 1e600 |  75 74 68 6f 72 5f 73 6f 72 74 20 22 63 61 6c 69    62 72 65 64 62 2d 75 74 69 6c 73 2e 65 6c 22 29  | uthor_sort."calibredb-utils.el") | 
| 1e620 |  0a 28 64 65 63 6c 61 72 65 2d 66 75 6e 63 74 69    6f 6e 20 63 61 6c 69 62 72 65 64 62 2d 73 65 74  | .(declare-function.calibredb-set | 
| 1e640 |  2d 6d 65 74 61 64 61 74 61 2d 2d 61 75 74 68 6f    72 73 20 22 63 61 6c 69 62 72 65 64 62 2d 75 74  | -metadata--authors."calibredb-ut | 
| 1e660 |  69 6c 73 2e 65 6c 22 29 0a 28 64 65 63 6c 61 72    65 2d 66 75 6e 63 74 69 6f 6e 20 63 61 6c 69 62  | ils.el").(declare-function.calib | 
| 1e680 |  72 65 64 62 2d 73 65 74 2d 6d 65 74 61 64 61 74    61 2d 2d 74 69 74 6c 65 20 22 63 61 6c 69 62 72  | redb-set-metadata--title."calibr | 
| 1e6a0 |  65 64 62 2d 75 74 69 6c 73 2e 65 6c 22 29 0a 28    64 65 63 6c 61 72 65 2d 66 75 6e 63 74 69 6f 6e  | edb-utils.el").(declare-function | 
| 1e6c0 |  20 63 61 6c 69 62 72 65 64 62 2d 73 65 74 2d 6d    65 74 61 64 61 74 61 2d 2d 63 6f 6d 6d 65 6e 74  | .calibredb-set-metadata--comment | 
| 1e6e0 |  73 20 22 63 61 6c 69 62 72 65 64 62 2d 75 74 69    6c 73 2e 65 6c 22 29 0a 28 64 65 63 6c 61 72 65  | s."calibredb-utils.el").(declare | 
| 1e700 |  2d 66 75 6e 63 74 69 6f 6e 20 63 61 6c 69 62 72    65 64 62 2d 65 64 69 74 2d 61 6e 6e 6f 74 61 74  | -function.calibredb-edit-annotat | 
| 1e720 |  69 6f 6e 2d 68 65 61 64 65 72 20 22 63 61 6c 69    62 72 65 64 62 2d 61 6e 6e 6f 74 61 74 69 6f 6e  | ion-header."calibredb-annotation | 
| 1e740 |  2e 65 6c 22 29 0a 28 64 65 63 6c 61 72 65 2d 66    75 6e 63 74 69 6f 6e 20 63 61 6c 69 62 72 65 64  | .el").(declare-function.calibred | 
| 1e760 |  62 2d 73 68 6f 77 2d 2d 62 75 66 66 65 72 2d 6e    61 6d 65 20 22 63 61 6c 69 62 72 65 64 62 2d 73  | b-show--buffer-name."calibredb-s | 
| 1e780 |  68 6f 77 2e 65 6c 22 29 0a 28 64 65 63 6c 61 72    65 2d 66 75 6e 63 74 69 6f 6e 20 63 61 6c 69 62  | how.el").(declare-function.calib | 
| 1e7a0 |  72 65 64 62 2d 69 6e 73 65 72 74 2d 69 6d 61 67    65 20 22 63 61 6c 69 62 72 65 64 62 2d 75 74 69  | redb-insert-image."calibredb-uti | 
| 1e7c0 |  6c 73 2e 65 6c 22 29 0a 28 64 65 63 6c 61 72 65    2d 66 75 6e 63 74 69 6f 6e 20 63 61 6c 69 62 72  | ls.el").(declare-function.calibr | 
| 1e7e0 |  65 64 62 2d 73 68 6f 77 2d 6d 6f 64 65 20 22 63    61 6c 69 62 72 65 64 62 2d 73 68 6f 77 2e 65 6c  | edb-show-mode."calibredb-show.el | 
| 1e800 |  22 29 0a 28 64 65 63 6c 61 72 65 2d 66 75 6e 63    74 69 6f 6e 20 63 61 6c 69 62 72 65 64 62 2d 66  | ").(declare-function.calibredb-f | 
| 1e820 |  69 6e 64 2d 6d 61 72 6b 65 64 2d 63 61 6e 64 69    64 61 74 65 73 20 22 63 61 6c 69 62 72 65 64 62  | ind-marked-candidates."calibredb | 
| 1e840 |  2d 75 74 69 6c 73 2e 65 6c 22 29 0a 28 64 65 63    6c 61 72 65 2d 66 75 6e 63 74 69 6f 6e 20 63 61  | -utils.el").(declare-function.ca | 
| 1e860 |  6c 69 62 72 65 64 62 2d 72 65 61 64 2d 6d 65 74    61 64 61 74 61 73 20 22 63 61 6c 69 62 72 65 64  | libredb-read-metadatas."calibred | 
| 1e880 |  62 2d 75 74 69 6c 73 2e 65 6c 22 29 0a 28 64 65    63 6c 61 72 65 2d 66 75 6e 63 74 69 6f 6e 20 63  | b-utils.el").(declare-function.c | 
| 1e8a0 |  61 6c 69 62 72 65 64 62 2d 66 69 6e 64 2d 63 61    6e 64 69 64 61 74 65 2d 61 74 2d 70 6f 69 6e 74  | alibredb-find-candidate-at-point | 
| 1e8c0 |  20 22 63 61 6c 69 62 72 65 64 62 2d 75 74 69 6c    73 2e 65 6c 22 29 0a 28 64 65 63 6c 61 72 65 2d  | ."calibredb-utils.el").(declare- | 
| 1e8e0 |  66 75 6e 63 74 69 6f 6e 20 63 61 6c 69 62 72 65    64 62 2d 73 68 6f 77 2d 72 65 66 72 65 73 68 20  | function.calibredb-show-refresh. | 
| 1e900 |  22 63 61 6c 69 62 72 65 64 62 2d 73 68 6f 77 2e    65 6c 22 29 0a 28 64 65 63 6c 61 72 65 2d 66 75  | "calibredb-show.el").(declare-fu | 
| 1e920 |  6e 63 74 69 6f 6e 20 63 61 6c 69 62 72 65 64 62    2d 67 65 74 2d 69 6e 69 74 20 22 63 61 6c 69 62  | nction.calibredb-get-init."calib | 
| 1e940 |  72 65 64 62 2d 75 74 69 6c 73 2e 65 6c 22 29 0a    28 64 65 63 6c 61 72 65 2d 66 75 6e 63 74 69 6f  | redb-utils.el").(declare-functio | 
| 1e960 |  6e 20 63 61 6c 69 62 72 65 64 62 2d 76 69 72 74    75 61 6c 2d 6c 69 62 72 61 72 79 2d 6c 69 73 74  | n.calibredb-virtual-library-list | 
| 1e980 |  20 22 63 61 6c 69 62 72 65 64 62 2d 6c 69 62 72    61 72 79 2e 65 6c 22 29 0a 28 64 65 63 6c 61 72  | ."calibredb-library.el").(declar | 
| 1e9a0 |  65 2d 66 75 6e 63 74 69 6f 6e 20 63 61 6c 69 62    72 65 64 62 2d 76 69 72 74 75 61 6c 2d 6c 69 62  | e-function.calibredb-virtual-lib | 
| 1e9c0 |  72 61 72 79 2d 6e 65 78 74 20 22 63 61 6c 69 62    72 65 64 62 2d 6c 69 62 72 61 72 79 2e 65 6c 22  | rary-next."calibredb-library.el" | 
| 1e9e0 |  29 0a 28 64 65 63 6c 61 72 65 2d 66 75 6e 63 74    69 6f 6e 20 63 61 6c 69 62 72 65 64 62 2d 76 69  | ).(declare-function.calibredb-vi | 
| 1ea00 |  72 74 75 61 6c 2d 6c 69 62 72 61 72 79 2d 70 72    65 76 69 6f 75 73 20 22 63 61 6c 69 62 72 65 64  | rtual-library-previous."calibred | 
| 1ea20 |  62 2d 6c 69 62 72 61 72 79 2e 65 6c 22 29 0a 28    64 65 63 6c 61 72 65 2d 66 75 6e 63 74 69 6f 6e  | b-library.el").(declare-function | 
| 1ea40 |  20 63 61 6c 69 62 72 65 64 62 2d 66 6f 6c 64 65    72 2d 63 61 6e 64 69 64 61 74 65 73 20 22 63 61  | .calibredb-folder-candidates."ca | 
| 1ea60 |  6c 69 62 72 65 64 62 2d 66 6f 6c 64 65 72 2e 65    6c 22 29 0a 28 64 65 63 6c 61 72 65 2d 66 75 6e  | libredb-folder.el").(declare-fun | 
| 1ea80 |  63 74 69 6f 6e 20 63 61 6c 69 62 72 65 64 62 2d    66 6f 6c 64 65 72 2d 75 70 64 61 74 65 2d 74 61  | ction.calibredb-folder-update-ta | 
| 1eaa0 |  67 73 2d 62 79 2d 6c 70 61 74 68 20 22 63 61 6c    69 62 72 65 64 62 2d 66 6f 6c 64 65 72 2e 65 6c  | gs-by-lpath."calibredb-folder.el | 
| 1eac0 |  22 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 63    61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2d  | ")..(defcustom.calibredb-search- | 
| 1eae0 |  66 69 6c 74 65 72 20 22 22 0a 20 20 22 51 75 65    72 79 20 73 74 72 69 6e 67 20 66 69 6c 74 65 72  | filter.""..."Query.string.filter | 
| 1eb00 |  69 6e 67 20 73 68 6f 77 6e 20 65 6e 74 72 69 65    73 2e 22 0a 20 20 3a 67 72 6f 75 70 20 27 63 61  | ing.shown.entries."...:group.'ca | 
| 1eb20 |  6c 69 62 72 65 64 62 0a 20 20 3a 74 79 70 65 20    27 73 74 72 69 6e 67 29 0a 0a 28 64 65 66 76 61  | libredb...:type.'string)..(defva | 
| 1eb40 |  72 20 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72    63 68 2d 66 69 6c 74 65 72 2d 61 63 74 69 76 65  | r.calibredb-search-filter-active | 
| 1eb60 |  20 6e 69 6c 0a 20 20 22 57 68 65 6e 20 6e 6f 6e    2d 6e 69 6c 2c 20 63 61 6c 69 62 72 65 64 62 20  | .nil..."When.non-nil,.calibredb. | 
| 1eb80 |  69 73 20 63 75 72 72 65 6e 74 6c 79 20 72 65 61    64 69 6e 67 20 61 20 66 69 6c 74 65 72 20 66 72  | is.currently.reading.a.filter.fr | 
| 1eba0 |  6f 6d 20 74 68 65 20 6d 69 6e 69 62 75 66 66 65    72 2e 0a 57 68 65 6e 20 6c 69 76 65 20 65 64 69  | om.the.minibuffer..When.live.edi | 
| 1ebc0 |  74 69 6e 67 20 74 68 65 20 66 69 6c 74 65 72 2c    20 69 74 20 69 73 20 62 6f 75 6e 64 20 74 6f 20  | ting.the.filter,.it.is.bound.to. | 
| 1ebe0 |  3a 6c 69 76 65 2e 22 29 0a 0a 28 64 65 66 76 61    72 20 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72  | :live.")..(defvar.calibredb-sear | 
| 1ec00 |  63 68 2d 6c 61 73 74 2d 75 70 64 61 74 65 20 30    0a 20 20 22 54 68 65 20 6c 61 73 74 20 74 69 6d  | ch-last-update.0..."The.last.tim | 
| 1ec20 |  65 20 74 68 65 20 62 75 66 66 65 72 20 77 61 73    20 72 65 64 72 61 77 6e 20 69 6e 20 65 70 6f 63  | e.the.buffer.was.redrawn.in.epoc | 
| 1ec40 |  68 20 73 65 63 6f 6e 64 73 2e 22 29 0a 0a 28 64    65 66 76 61 72 20 63 61 6c 69 62 72 65 64 62 2d  | h.seconds.")..(defvar.calibredb- | 
| 1ec60 |  73 65 61 72 63 68 2d 70 72 69 6e 74 2d 65 6e 74    72 79 2d 66 75 6e 63 74 69 6f 6e 20 23 27 63 61  | search-print-entry-function.#'ca | 
| 1ec80 |  6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2d 70    72 69 6e 74 2d 65 6e 74 72 79 2d 2d 64 65 66 61  | libredb-search-print-entry--defa | 
| 1eca0 |  75 6c 74 0a 20 20 22 46 75 6e 63 74 69 6f 6e 20    74 6f 20 70 72 69 6e 74 20 65 6e 74 72 69 65 73  | ult..."Function.to.print.entries | 
| 1ecc0 |  20 69 6e 74 6f 20 74 68 65 20 2a 63 61 6c 69 62    72 65 64 62 2d 73 65 61 72 63 68 2a 20 62 75 66  | .into.the.*calibredb-search*.buf | 
| 1ece0 |  66 65 72 2e 22 29 0a 0a 28 64 65 66 76 61 72 20    63 61 6c 69 62 72 65 64 62 2d 74 61 67 2d 66 69  | fer.")..(defvar.calibredb-tag-fi | 
| 1ed00 |  6c 74 65 72 2d 70 20 6e 69 6c 29 0a 28 64 65 66    76 61 72 20 63 61 6c 69 62 72 65 64 62 2d 66 61  | lter-p.nil).(defvar.calibredb-fa | 
| 1ed20 |  76 6f 72 69 74 65 2d 66 69 6c 74 65 72 2d 70 20    6e 69 6c 29 0a 28 64 65 66 76 61 72 20 63 61 6c  | vorite-filter-p.nil).(defvar.cal | 
| 1ed40 |  69 62 72 65 64 62 2d 61 75 74 68 6f 72 2d 66 69    6c 74 65 72 2d 70 20 6e 69 6c 29 0a 28 64 65 66  | ibredb-author-filter-p.nil).(def | 
| 1ed60 |  76 61 72 20 63 61 6c 69 62 72 65 64 62 2d 64 61    74 65 2d 66 69 6c 74 65 72 2d 70 20 6e 69 6c 29  | var.calibredb-date-filter-p.nil) | 
| 1ed80 |  0a 28 64 65 66 76 61 72 20 63 61 6c 69 62 72 65    64 62 2d 66 6f 72 6d 61 74 2d 66 69 6c 74 65 72  | .(defvar.calibredb-format-filter | 
| 1eda0 |  2d 70 20 6e 69 6c 29 0a 0a 28 64 65 66 76 61 72    20 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63  | -p.nil)..(defvar.calibredb-searc | 
| 1edc0 |  68 2d 6d 6f 64 65 2d 6d 61 70 0a 20 20 28 6c 65    74 20 28 28 6d 61 70 20 28 6d 61 6b 65 2d 73 70  | h-mode-map...(let.((map.(make-sp | 
| 1ede0 |  61 72 73 65 2d 6b 65 79 6d 61 70 29 29 29 0a 20    20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6d  | arse-keymap))).....(define-key.m | 
| 1ee00 |  61 70 20 5b 6d 6f 75 73 65 2d 33 5d 20 23 27 63    61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2d  | ap.[mouse-3].#'calibredb-search- | 
| 1ee20 |  6d 6f 75 73 65 29 0a 20 20 20 20 28 64 65 66 69    6e 65 2d 6b 65 79 20 6d 61 70 20 28 6b 62 64 20  | mouse).....(define-key.map.(kbd. | 
| 1ee40 |  22 3c 52 45 54 3e 22 29 20 23 27 63 61 6c 69 62    72 65 64 62 2d 66 69 6e 64 2d 66 69 6c 65 29 0a  | "<RET>").#'calibredb-find-file). | 
| 1ee60 |  20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20    6d 61 70 20 22 3f 22 20 23 27 63 61 6c 69 62 72  | ....(define-key.map."?".#'calibr | 
| 1ee80 |  65 64 62 2d 64 69 73 70 61 74 63 68 29 0a 20 20    20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6d 61  | edb-dispatch).....(define-key.ma | 
| 1eea0 |  70 20 22 61 22 20 23 27 63 61 6c 69 62 72 65 64    62 2d 61 64 64 29 0a 20 20 20 20 28 64 65 66 69  | p."a".#'calibredb-add).....(defi | 
| 1eec0 |  6e 65 2d 6b 65 79 20 6d 61 70 20 22 41 22 20 23    27 63 61 6c 69 62 72 65 64 62 2d 61 64 64 2d 64  | ne-key.map."A".#'calibredb-add-d | 
| 1eee0 |  69 72 29 0a 20 20 20 20 28 64 65 66 69 6e 65 2d    6b 65 79 20 6d 61 70 20 22 63 22 20 23 27 63 61  | ir).....(define-key.map."c".#'ca | 
| 1ef00 |  6c 69 62 72 65 64 62 2d 63 6c 6f 6e 65 29 0a 20    20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6d  | libredb-clone).....(define-key.m | 
| 1ef20 |  61 70 20 22 64 22 20 23 27 63 61 6c 69 62 72 65    64 62 2d 72 65 6d 6f 76 65 29 0a 20 20 20 20 28  | ap."d".#'calibredb-remove).....( | 
| 1ef40 |  64 65 66 69 6e 65 2d 6b 65 79 20 6d 61 70 20 22    44 22 20 23 27 63 61 6c 69 62 72 65 64 62 2d 72  | define-key.map."D".#'calibredb-r | 
| 1ef60 |  65 6d 6f 76 65 2d 6d 61 72 6b 65 64 2d 69 74 65    6d 73 29 0a 20 20 20 20 28 64 65 66 69 6e 65 2d  | emove-marked-items).....(define- | 
| 1ef80 |  6b 65 79 20 6d 61 70 20 22 6a 22 20 23 27 63 61    6c 69 62 72 65 64 62 2d 6e 65 78 74 2d 65 6e 74  | key.map."j".#'calibredb-next-ent | 
| 1efa0 |  72 79 29 0a 20 20 20 20 28 64 65 66 69 6e 65 2d    6b 65 79 20 6d 61 70 20 22 6b 22 20 23 27 63 61  | ry).....(define-key.map."k".#'ca | 
| 1efc0 |  6c 69 62 72 65 64 62 2d 70 72 65 76 69 6f 75 73    2d 65 6e 74 72 79 29 0a 20 20 20 20 28 64 65 66  | libredb-previous-entry).....(def | 
| 1efe0 |  69 6e 65 2d 6b 65 79 20 6d 61 70 20 22 6c 22 20    23 27 63 61 6c 69 62 72 65 64 62 2d 76 69 72 74  | ine-key.map."l".#'calibredb-virt | 
| 1f000 |  75 61 6c 2d 6c 69 62 72 61 72 79 2d 6c 69 73 74    29 0a 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65  | ual-library-list).....(define-ke | 
| 1f020 |  79 20 6d 61 70 20 22 4c 22 20 23 27 63 61 6c 69    62 72 65 64 62 2d 6c 69 62 72 61 72 79 2d 6c 69  | y.map."L".#'calibredb-library-li | 
| 1f040 |  73 74 29 0a 20 20 20 20 28 64 65 66 69 6e 65 2d    6b 65 79 20 6d 61 70 20 22 6e 22 20 23 27 63 61  | st).....(define-key.map."n".#'ca | 
| 1f060 |  6c 69 62 72 65 64 62 2d 76 69 72 74 75 61 6c 2d    6c 69 62 72 61 72 79 2d 6e 65 78 74 29 0a 20 20  | libredb-virtual-library-next)... | 
| 1f080 |  20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6d 61    70 20 22 4e 22 20 23 27 63 61 6c 69 62 72 65 64  | ..(define-key.map."N".#'calibred | 
| 1f0a0 |  62 2d 6c 69 62 72 61 72 79 2d 6e 65 78 74 29 0a    20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20  | b-library-next).....(define-key. | 
| 1f0c0 |  6d 61 70 20 22 70 22 20 23 27 63 61 6c 69 62 72    65 64 62 2d 76 69 72 74 75 61 6c 2d 6c 69 62 72  | map."p".#'calibredb-virtual-libr | 
| 1f0e0 |  61 72 79 2d 70 72 65 76 69 6f 75 73 29 0a 20 20    20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6d 61  | ary-previous).....(define-key.ma | 
| 1f100 |  70 20 22 50 22 20 23 27 63 61 6c 69 62 72 65 64    62 2d 6c 69 62 72 61 72 79 2d 70 72 65 76 69 6f  | p."P".#'calibredb-library-previo | 
| 1f120 |  75 73 29 0a 20 20 20 20 28 64 65 66 69 6e 65 2d    6b 65 79 20 6d 61 70 20 22 73 22 20 23 27 63 61  | us).....(define-key.map."s".#'ca | 
| 1f140 |  6c 69 62 72 65 64 62 2d 73 65 74 2d 6d 65 74 61    64 61 74 61 2d 64 69 73 70 61 74 63 68 29 0a 20  | libredb-set-metadata-dispatch).. | 
| 1f160 |  20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6d    61 70 20 22 53 22 20 23 27 63 61 6c 69 62 72 65  | ...(define-key.map."S".#'calibre | 
| 1f180 |  64 62 2d 73 77 69 74 63 68 2d 6c 69 62 72 61 72    79 29 0a 20 20 20 20 28 64 65 66 69 6e 65 2d 6b  | db-switch-library).....(define-k | 
| 1f1a0 |  65 79 20 6d 61 70 20 22 67 22 20 23 27 63 61 6c    69 62 72 65 64 62 2d 66 69 6c 74 65 72 2d 64 69  | ey.map."g".#'calibredb-filter-di | 
| 1f1c0 |  73 70 61 74 63 68 29 0a 20 20 20 20 28 64 65 66    69 6e 65 2d 6b 65 79 20 6d 61 70 20 22 6f 22 20  | spatch).....(define-key.map."o". | 
| 1f1e0 |  23 27 63 61 6c 69 62 72 65 64 62 2d 73 6f 72 74    2d 64 69 73 70 61 74 63 68 29 0a 20 20 20 20 28  | #'calibredb-sort-dispatch).....( | 
| 1f200 |  64 65 66 69 6e 65 2d 6b 65 79 20 6d 61 70 20 22    4f 22 20 23 27 63 61 6c 69 62 72 65 64 62 2d 66  | define-key.map."O".#'calibredb-f | 
| 1f220 |  69 6e 64 2d 66 69 6c 65 2d 6f 74 68 65 72 2d 66    72 61 6d 65 29 0a 20 20 20 20 28 64 65 66 69 6e  | ind-file-other-frame).....(defin | 
| 1f240 |  65 2d 6b 65 79 20 6d 61 70 20 22 76 22 20 23 27    63 61 6c 69 62 72 65 64 62 2d 76 69 65 77 29 0a  | e-key.map."v".#'calibredb-view). | 
| 1f260 |  20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20    6d 61 70 20 22 56 22 20 23 27 63 61 6c 69 62 72  | ....(define-key.map."V".#'calibr | 
| 1f280 |  65 64 62 2d 6f 70 65 6e 2d 66 69 6c 65 2d 77 69    74 68 2d 64 65 66 61 75 6c 74 2d 74 6f 6f 6c 29  | edb-open-file-with-default-tool) | 
| 1f2a0 |  0a 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79    20 6d 61 70 20 22 2c 22 20 23 27 63 61 6c 69 62  | .....(define-key.map.",".#'calib | 
| 1f2c0 |  72 65 64 62 2d 71 75 69 63 6b 2d 6c 6f 6f 6b 29    0a 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79  | redb-quick-look).....(define-key | 
| 1f2e0 |  20 6d 61 70 20 22 2e 22 20 23 27 63 61 6c 69 62    72 65 64 62 2d 64 69 72 65 64 2d 6f 70 65 6e 29  | .map.".".#'calibredb-dired-open) | 
| 1f300 |  0a 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79    20 6d 61 70 20 22 79 22 20 23 27 63 61 6c 69 62  | .....(define-key.map."y".#'calib | 
| 1f320 |  72 65 64 62 2d 79 61 6e 6b 2d 64 69 73 70 61 74    63 68 29 0a 20 20 20 20 28 64 65 66 69 6e 65 2d  | redb-yank-dispatch).....(define- | 
| 1f340 |  6b 65 79 20 6d 61 70 20 22 62 22 20 23 27 63 61    6c 69 62 72 65 64 62 2d 63 61 74 61 6c 6f 67 2d  | key.map."b".#'calibredb-catalog- | 
| 1f360 |  62 69 62 2d 64 69 73 70 61 74 63 68 29 0a 20 20    20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6d 61  | bib-dispatch).....(define-key.ma | 
| 1f380 |  70 20 22 65 22 20 23 27 63 61 6c 69 62 72 65 64    62 2d 65 78 70 6f 72 74 2d 64 69 73 70 61 74 63  | p."e".#'calibredb-export-dispatc | 
| 1f3a0 |  68 29 0a 20 20 20 20 28 64 65 66 69 6e 65 2d 6b    65 79 20 6d 61 70 20 22 72 22 20 23 27 63 61 6c  | h).....(define-key.map."r".#'cal | 
| 1f3c0 |  69 62 72 65 64 62 2d 73 65 61 72 63 68 2d 72 65    66 72 65 73 68 2d 61 6e 64 2d 63 6c 65 61 72 2d  | ibredb-search-refresh-and-clear- | 
| 1f3e0 |  66 69 6c 74 65 72 29 0a 20 20 20 20 28 64 65 66    69 6e 65 2d 6b 65 79 20 6d 61 70 20 22 52 22 20  | filter).....(define-key.map."R". | 
| 1f400 |  23 27 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72    63 68 2d 63 6c 65 61 72 2d 66 69 6c 74 65 72 29  | #'calibredb-search-clear-filter) | 
| 1f420 |  0a 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79    20 6d 61 70 20 22 71 22 20 23 27 63 61 6c 69 62  | .....(define-key.map."q".#'calib | 
| 1f440 |  72 65 64 62 2d 73 65 61 72 63 68 2d 71 75 69 74    29 0a 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65  | redb-search-quit).....(define-ke | 
| 1f460 |  79 20 6d 61 70 20 22 6d 22 20 23 27 63 61 6c 69    62 72 65 64 62 2d 6d 61 72 6b 2d 61 6e 64 2d 66  | y.map."m".#'calibredb-mark-and-f | 
| 1f480 |  6f 72 77 61 72 64 29 0a 20 20 20 20 28 64 65 66    69 6e 65 2d 6b 65 79 20 6d 61 70 20 22 2a 22 20  | orward).....(define-key.map."*". | 
| 1f4a0 |  23 27 63 61 6c 69 62 72 65 64 62 2d 74 6f 67 67    6c 65 2d 66 61 76 6f 72 69 74 65 2d 61 74 2d 70  | #'calibredb-toggle-favorite-at-p | 
| 1f4c0 |  6f 69 6e 74 29 0a 20 20 20 20 28 64 65 66 69 6e    65 2d 6b 65 79 20 6d 61 70 20 22 78 22 20 23 27  | oint).....(define-key.map."x".#' | 
| 1f4e0 |  63 61 6c 69 62 72 65 64 62 2d 74 6f 67 67 6c 65    2d 61 72 63 68 69 76 65 2d 61 74 2d 70 6f 69 6e  | calibredb-toggle-archive-at-poin | 
| 1f500 |  74 29 0a 20 20 20 20 28 64 65 66 69 6e 65 2d 6b    65 79 20 6d 61 70 20 22 68 22 20 23 27 63 61 6c  | t).....(define-key.map."h".#'cal | 
| 1f520 |  69 62 72 65 64 62 2d 74 6f 67 67 6c 65 2d 68 69    67 68 6c 69 67 68 74 2d 61 74 2d 70 6f 69 6e 74  | ibredb-toggle-highlight-at-point | 
| 1f540 |  29 0a 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65    79 20 6d 61 70 20 22 75 22 20 23 27 63 61 6c 69  | ).....(define-key.map."u".#'cali | 
| 1f560 |  62 72 65 64 62 2d 75 6e 6d 61 72 6b 2d 61 6e 64    2d 66 6f 72 77 61 72 64 29 0a 20 20 20 20 28 64  | bredb-unmark-and-forward).....(d | 
| 1f580 |  65 66 69 6e 65 2d 6b 65 79 20 6d 61 70 20 22 69    22 20 23 27 63 61 6c 69 62 72 65 64 62 2d 65 64  | efine-key.map."i".#'calibredb-ed | 
| 1f5a0 |  69 74 2d 61 6e 6e 6f 74 61 74 69 6f 6e 29 0a 20    20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6d  | it-annotation).....(define-key.m | 
| 1f5c0 |  61 70 20 28 6b 62 64 20 22 3c 44 45 4c 3e 22 29    20 23 27 63 61 6c 69 62 72 65 64 62 2d 75 6e 6d  | ap.(kbd."<DEL>").#'calibredb-unm | 
| 1f5e0 |  61 72 6b 2d 61 6e 64 2d 62 61 63 6b 77 61 72 64    29 0a 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65  | ark-and-backward).....(define-ke | 
| 1f600 |  79 20 6d 61 70 20 28 6b 62 64 20 22 3c 62 61 63    6b 74 61 62 3e 22 29 20 23 27 63 61 6c 69 62 72  | y.map.(kbd."<backtab>").#'calibr | 
| 1f620 |  65 64 62 2d 74 6f 67 67 6c 65 2d 76 69 65 77 29    0a 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79  | edb-toggle-view).....(define-key | 
| 1f640 |  20 6d 61 70 20 28 6b 62 64 20 22 54 41 42 22 29    20 23 27 63 61 6c 69 62 72 65 64 62 2d 74 6f 67  | .map.(kbd."TAB").#'calibredb-tog | 
| 1f660 |  67 6c 65 2d 76 69 65 77 2d 61 74 2d 70 6f 69 6e    74 29 0a 20 20 20 20 28 64 65 66 69 6e 65 2d 6b  | gle-view-at-point).....(define-k | 
| 1f680 |  65 79 20 6d 61 70 20 22 5c 4d 2d 6e 22 20 23 27    63 61 6c 69 62 72 65 64 62 2d 73 68 6f 77 2d 6e  | ey.map."\M-n".#'calibredb-show-n | 
| 1f6a0 |  65 78 74 2d 65 6e 74 72 79 29 0a 20 20 20 20 28    64 65 66 69 6e 65 2d 6b 65 79 20 6d 61 70 20 22  | ext-entry).....(define-key.map." | 
| 1f6c0 |  5c 4d 2d 70 22 20 23 27 63 61 6c 69 62 72 65 64    62 2d 73 68 6f 77 2d 70 72 65 76 69 6f 75 73 2d  | \M-p".#'calibredb-show-previous- | 
| 1f6e0 |  65 6e 74 72 79 29 0a 20 20 20 20 28 64 65 66 69    6e 65 2d 6b 65 79 20 6d 61 70 20 22 2f 22 20 23  | entry).....(define-key.map."/".# | 
| 1f700 |  27 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63    68 2d 6c 69 76 65 2d 66 69 6c 74 65 72 29 0a 20  | 'calibredb-search-live-filter).. | 
| 1f720 |  20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6d    61 70 20 22 5c 4d 2d 74 22 20 23 27 63 61 6c 69  | ...(define-key.map."\M-t".#'cali | 
| 1f740 |  62 72 65 64 62 2d 73 65 74 2d 6d 65 74 61 64 61    74 61 2d 2d 74 61 67 73 29 0a 20 20 20 20 28 64  | bredb-set-metadata--tags).....(d | 
| 1f760 |  65 66 69 6e 65 2d 6b 65 79 20 6d 61 70 20 22 5c    4d 2d 61 22 20 23 27 63 61 6c 69 62 72 65 64 62  | efine-key.map."\M-a".#'calibredb | 
| 1f780 |  2d 73 65 74 2d 6d 65 74 61 64 61 74 61 2d 2d 61    75 74 68 6f 72 5f 73 6f 72 74 29 0a 20 20 20 20  | -set-metadata--author_sort)..... | 
| 1f7a0 |  28 64 65 66 69 6e 65 2d 6b 65 79 20 6d 61 70 20    22 5c 4d 2d 41 22 20 23 27 63 61 6c 69 62 72 65  | (define-key.map."\M-A".#'calibre | 
| 1f7c0 |  64 62 2d 73 65 74 2d 6d 65 74 61 64 61 74 61 2d    2d 61 75 74 68 6f 72 73 29 0a 20 20 20 20 28 64  | db-set-metadata--authors).....(d | 
| 1f7e0 |  65 66 69 6e 65 2d 6b 65 79 20 6d 61 70 20 22 5c    4d 2d 54 22 20 23 27 63 61 6c 69 62 72 65 64 62  | efine-key.map."\M-T".#'calibredb | 
| 1f800 |  2d 73 65 74 2d 6d 65 74 61 64 61 74 61 2d 2d 74    69 74 6c 65 29 0a 20 20 20 20 28 64 65 66 69 6e  | -set-metadata--title).....(defin | 
| 1f820 |  65 2d 6b 65 79 20 6d 61 70 20 22 5c 4d 2d 63 22    20 23 27 63 61 6c 69 62 72 65 64 62 2d 73 65 74  | e-key.map."\M-c".#'calibredb-set | 
| 1f840 |  2d 6d 65 74 61 64 61 74 61 2d 2d 63 6f 6d 6d 65    6e 74 73 29 0a 20 20 20 20 6d 61 70 29 0a 20 20  | -metadata--comments).....map)... | 
| 1f860 |  22 4b 65 79 6d 61 70 20 66 6f 72 20 60 63 61 6c    69 62 72 65 64 62 2d 73 65 61 72 63 68 2d 6d 6f  | "Keymap.for.`calibredb-search-mo | 
| 1f880 |  64 65 27 2e 22 29 0a 0a 28 64 65 66 76 61 72 20    63 61 6c 69 62 72 65 64 62 2d 65 64 69 74 2d 61  | de'.")..(defvar.calibredb-edit-a | 
| 1f8a0 |  6e 6e 6f 74 61 74 69 6f 6e 2d 6d 6f 64 65 2d 6d    61 70 0a 20 20 28 6c 65 74 20 28 28 6d 61 70 20  | nnotation-mode-map...(let.((map. | 
| 1f8c0 |  28 6d 61 6b 65 2d 73 70 61 72 73 65 2d 6b 65 79    6d 61 70 29 29 29 0a 20 20 20 20 28 64 65 66 69  | (make-sparse-keymap))).....(defi | 
| 1f8e0 |  6e 65 2d 6b 65 79 20 6d 61 70 20 22 5c 43 2d 63    5c 43 2d 63 22 20 27 63 61 6c 69 62 72 65 64 62  | ne-key.map."\C-c\C-c".'calibredb | 
| 1f900 |  2d 73 65 6e 64 2d 65 64 69 74 65 64 2d 61 6e 6e    6f 74 61 74 69 6f 6e 29 0a 20 20 20 20 28 64 65  | -send-edited-annotation).....(de | 
| 1f920 |  66 69 6e 65 2d 6b 65 79 20 6d 61 70 20 22 5c 43    2d 63 5c 43 2d 6b 22 20 27 63 61 6c 69 62 72 65  | fine-key.map."\C-c\C-k".'calibre | 
| 1f940 |  64 62 2d 61 6e 6e 6f 74 61 74 69 6f 6e 2d 71 75    69 74 29 0a 20 20 20 20 6d 61 70 29 0a 20 20 22  | db-annotation-quit).....map)..." | 
| 1f960 |  4b 65 79 6d 61 70 20 66 6f 72 20 60 63 61 6c 69    62 72 65 64 62 2d 65 64 69 74 2d 61 6e 6e 6f 74  | Keymap.for.`calibredb-edit-annot | 
| 1f980 |  61 74 69 6f 6e 2d 6d 6f 64 65 27 2e 22 29 0a 0a    28 64 65 66 76 61 72 20 63 61 6c 69 62 72 65 64  | ation-mode'.")..(defvar.calibred | 
| 1f9a0 |  62 2d 73 65 61 72 63 68 2d 68 65 61 64 65 72 2d    66 75 6e 63 74 69 6f 6e 20 23 27 63 61 6c 69 62  | b-search-header-function.#'calib | 
| 1f9c0 |  72 65 64 62 2d 73 65 61 72 63 68 2d 68 65 61 64    65 72 0a 20 20 22 46 75 6e 63 74 69 6f 6e 20 74  | redb-search-header..."Function.t | 
| 1f9e0 |  68 61 74 20 72 65 74 75 72 6e 73 20 74 68 65 20    73 74 72 69 6e 67 20 74 6f 20 62 65 20 75 73 65  | hat.returns.the.string.to.be.use | 
| 1fa00 |  64 20 66 6f 72 20 74 68 65 20 43 61 6c 69 62 72    65 64 62 20 73 65 61 72 63 68 20 68 65 61 64 65  | d.for.the.Calibredb.search.heade | 
| 1fa20 |  72 2e 22 29 0a 0a 28 64 65 66 76 61 72 20 63 61    6c 69 62 72 65 64 62 2d 69 6d 61 67 65 73 2d 70  | r.")..(defvar.calibredb-images-p | 
| 1fa40 |  61 74 68 20 28 63 6f 6e 63 61 74 20 28 66 69 6c    65 2d 6e 61 6d 65 2d 64 69 72 65 63 74 6f 72 79  | ath.(concat.(file-name-directory | 
| 1fa60 |  20 6c 6f 61 64 2d 66 69 6c 65 2d 6e 61 6d 65 29    20 22 69 6d 67 22 29 0a 20 20 22 52 65 6c 61 74  | .load-file-name)."img")..."Relat | 
| 1fa80 |  69 76 65 20 70 61 74 68 20 74 6f 20 69 6d 61 67    65 73 2e 22 29 0a 0a 28 64 65 66 63 75 73 74 6f  | ive.path.to.images.")..(defcusto | 
| 1faa0 |  6d 20 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72    63 68 2d 75 6e 69 71 75 65 2d 62 75 66 66 65 72  | m.calibredb-search-unique-buffer | 
| 1fac0 |  73 20 6e 69 6c 0a 20 20 22 54 4f 44 4f 3a 20 57    68 65 6e 20 6e 6f 6e 2d 6e 69 6c 2c 20 65 76 65  | s.nil..."TODO:.When.non-nil,.eve | 
| 1fae0 |  72 79 20 65 6e 74 72 79 20 62 75 66 66 65 72 20    67 65 74 73 20 61 20 75 6e 69 71 75 65 20 6e 61  | ry.entry.buffer.gets.a.unique.na | 
| 1fb00 |  6d 65 2e 0a 54 68 69 73 20 61 6c 6c 6f 77 73 20    66 6f 72 20 64 69 73 70 6c 61 79 69 6e 67 20 6d  | me..This.allows.for.displaying.m | 
| 1fb20 |  75 6c 74 69 70 6c 65 20 73 65 72 63 68 20 62 75    66 66 65 72 73 20 61 74 20 74 68 65 20 73 61 6d  | ultiple.serch.buffers.at.the.sam | 
| 1fb40 |  65 0a 74 69 6d 65 2e 22 0a 20 20 3a 67 72 6f 75    70 20 27 63 61 6c 69 62 72 65 64 62 0a 20 20 3a  | e.time."...:group.'calibredb...: | 
| 1fb60 |  74 79 70 65 20 27 62 6f 6f 6c 65 61 6e 29 0a 0a    28 64 65 66 69 6e 65 2d 6f 62 73 6f 6c 65 74 65  | type.'boolean)..(define-obsolete | 
| 1fb80 |  2d 66 75 6e 63 74 69 6f 6e 2d 61 6c 69 61 73 20    23 27 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72  | -function-alias.#'calibredb-sear | 
| 1fba0 |  63 68 2d 72 65 74 0a 20 20 27 63 61 6c 69 62 72    65 64 62 2d 76 69 65 77 20 22 63 61 6c 69 62 72  | ch-ret...'calibredb-view."calibr | 
| 1fbc0 |  65 64 62 20 32 2e 30 2e 30 22 29 0a 0a 28 64 65    66 63 75 73 74 6f 6d 20 63 61 6c 69 62 72 65 64  | edb.2.0.0")..(defcustom.calibred | 
| 1fbe0 |  62 2d 64 65 74 61 69 6c 65 64 2d 76 69 65 77 20    6e 69 6c 0a 20 20 22 53 65 74 20 4e 6f 6e 2d 6e  | b-detailed-view.nil..."Set.Non-n | 
| 1fc00 |  69 6c 20 74 6f 20 63 68 61 6e 67 65 20 64 65 74    61 69 6c 20 76 69 65 77 2c 20 6e 69 6c 20 74 6f  | il.to.change.detail.view,.nil.to | 
| 1fc20 |  20 63 6f 6d 70 61 63 74 20 76 69 65 77 20 2d 20    2a 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63  | .compact.view.-.*calibredb-searc | 
| 1fc40 |  68 2a 2e 22 0a 20 20 3a 67 72 6f 75 70 20 27 63    61 6c 69 62 72 65 64 62 0a 20 20 3a 74 79 70 65  | h*."...:group.'calibredb...:type | 
| 1fc60 |  20 27 62 6f 6f 6c 65 61 6e 29 0a 0a 28 64 65 66    69 6e 65 2d 6f 62 73 6f 6c 65 74 65 2d 76 61 72  | .'boolean)..(define-obsolete-var | 
| 1fc80 |  69 61 62 6c 65 2d 61 6c 69 61 73 20 27 63 61 6c    69 62 72 65 64 62 2d 64 65 74 69 61 6c 2d 76 69  | iable-alias.'calibredb-detial-vi | 
| 1fca0 |  65 77 20 27 63 61 6c 69 62 72 65 64 62 2d 64 65    74 61 69 6c 65 64 2d 76 69 65 77 0a 20 20 22 53  | ew.'calibredb-detailed-view..."S | 
| 1fcc0 |  65 65 20 68 74 74 70 73 3a 2f 2f 67 69 74 68 75    62 2e 63 6f 6d 2f 63 68 65 6e 79 61 6e 6d 69 6e  | ee.https://github.com/chenyanmin | 
| 1fce0 |  67 2f 63 61 6c 69 62 72 65 64 62 2e 65 6c 2f 70    75 6c 6c 2f 34 35 22 20 22 46 69 78 69 6e 67 20  | g/calibredb.el/pull/45"."Fixing. | 
| 1fd00 |  74 79 70 6f 73 2e 22 29 0a 0a 28 64 65 66 63 75    73 74 6f 6d 20 63 61 6c 69 62 72 65 64 62 2d 64  | typos.")..(defcustom.calibredb-d | 
| 1fd20 |  65 74 61 69 6c 65 64 2d 76 69 65 77 2d 69 6d 61    67 65 2d 73 68 6f 77 20 74 0a 20 20 22 53 65 74  | etailed-view-image-show.t..."Set | 
| 1fd40 |  20 4e 6f 6e 2d 6e 69 6c 20 74 6f 20 73 68 6f 77    20 69 6d 61 67 65 73 20 69 6e 20 64 65 74 61 69  | .Non-nil.to.show.images.in.detai | 
| 1fd60 |  6c 65 64 20 76 69 65 77 20 2d 20 2a 63 61 6c 69    62 72 65 64 62 2d 73 65 61 72 63 68 2a 2e 22 0a  | led.view.-.*calibredb-search*.". | 
| 1fd80 |  20 20 3a 67 72 6f 75 70 20 27 63 61 6c 69 62 72    65 64 62 0a 20 20 3a 74 79 70 65 20 27 62 6f 6f  | ..:group.'calibredb...:type.'boo | 
| 1fda0 |  6c 65 61 6e 29 0a 0a 28 64 65 66 63 75 73 74 6f    6d 20 63 61 6c 69 62 72 65 64 62 2d 64 65 74 61  | lean)..(defcustom.calibredb-deta | 
| 1fdc0 |  69 6c 65 64 2d 76 69 65 77 2d 69 6d 61 67 65 2d    6d 61 78 2d 77 69 64 74 68 20 32 35 30 0a 20 20  | iled-view-image-max-width.250... | 
| 1fde0 |  22 4d 61 78 20 57 69 64 74 68 20 66 6f 72 20 69    6d 61 67 65 73 20 69 6e 20 64 65 74 61 69 6c 65  | "Max.Width.for.images.in.detaile | 
| 1fe00 |  64 20 76 69 65 77 20 2d 20 2a 63 61 6c 69 62 72    65 64 62 2d 73 65 61 72 63 68 2a 2e 0a 46 6f 72  | d.view.-.*calibredb-search*..For | 
| 1fe20 |  20 45 6d 61 63 73 20 32 37 2e 31 2b 2c 20 69 66    20 69 6d 61 67 65 6d 61 67 69 63 6b 20 69 73 20  | .Emacs.27.1+,.if.imagemagick.is. | 
| 1fe40 |  64 69 73 61 62 6c 65 64 2c 20 69 74 20 77 6f 75    6c 64 20 74 68 65 20 69 6d 61 67 65 20 77 69 64  | disabled,.it.would.the.image.wid | 
| 1fe60 |  74 68 2e 22 0a 20 20 3a 67 72 6f 75 70 20 27 63    61 6c 69 62 72 65 64 62 0a 20 20 3a 74 79 70 65  | th."...:group.'calibredb...:type | 
| 1fe80 |  20 27 69 6e 74 65 67 65 72 29 0a 0a 28 64 65 66    63 75 73 74 6f 6d 20 63 61 6c 69 62 72 65 64 62  | .'integer)..(defcustom.calibredb | 
| 1fea0 |  2d 64 65 74 61 69 6c 65 64 2d 76 69 65 77 2d 69    6d 61 67 65 2d 6d 61 78 2d 68 65 69 67 68 74 20  | -detailed-view-image-max-height. | 
| 1fec0 |  32 35 30 0a 20 20 22 4d 61 78 20 68 65 69 67 68    74 20 66 6f 72 20 69 6d 61 67 65 73 20 69 6e 20  | 250..."Max.height.for.images.in. | 
| 1fee0 |  64 65 74 61 69 6c 65 64 20 76 69 65 77 20 2d 20    2a 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63  | detailed.view.-.*calibredb-searc | 
| 1ff00 |  68 2a 2e 0a 46 6f 72 20 45 6d 61 63 73 20 32 37    2e 31 2b 2c 20 69 66 20 69 6d 61 67 65 6d 61 67  | h*..For.Emacs.27.1+,.if.imagemag | 
| 1ff20 |  69 63 6b 20 69 73 20 64 69 73 61 62 6c 65 64 2c    20 74 68 65 20 69 6d 61 67 65 20 68 65 69 67 68  | ick.is.disabled,.the.image.heigh | 
| 1ff40 |  74 20 69 73 20 69 67 6e 6f 72 65 64 2e 22 0a 20    20 3a 67 72 6f 75 70 20 27 63 61 6c 69 62 72 65  | t.is.ignored."...:group.'calibre | 
| 1ff60 |  64 62 0a 20 20 3a 74 79 70 65 20 27 69 6e 74 65    67 65 72 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d  | db...:type.'integer)..(defcustom | 
| 1ff80 |  20 63 61 6c 69 62 72 65 64 62 2d 6c 69 73 74 2d    76 69 65 77 2d 69 6d 61 67 65 2d 6d 61 78 2d 77  | .calibredb-list-view-image-max-w | 
| 1ffa0 |  69 64 74 68 20 35 30 30 0a 20 20 22 4d 61 78 20    57 69 64 74 68 20 66 6f 72 20 69 6d 61 67 65 73  | idth.500..."Max.Width.for.images | 
| 1ffc0 |  20 69 6e 20 6c 69 73 74 20 76 69 65 77 20 2d 20    2a 63 61 6c 69 62 72 65 64 62 2d 6c 69 73 74 2a  | .in.list.view.-.*calibredb-list* | 
| 1ffe0 |  2e 0a 46 6f 72 20 45 6d 61 63 73 20 32 37 2e 31    2b 2c 20 69 66 20 69 6d 61 67 65 6d 61 67 69 63  | ..For.Emacs.27.1+,.if.imagemagic | 
| 20000 |  6b 20 69 73 20 64 69 73 61 62 6c 65 64 2c 20 69    74 20 69 73 20 74 68 65 20 69 6d 61 67 65 20 77  | k.is.disabled,.it.is.the.image.w | 
| 20020 |  69 64 74 68 2e 22 0a 20 20 3a 67 72 6f 75 70 20    27 63 61 6c 69 62 72 65 64 62 0a 20 20 3a 74 79  | idth."...:group.'calibredb...:ty | 
| 20040 |  70 65 20 27 69 6e 74 65 67 65 72 29 0a 0a 28 64    65 66 63 75 73 74 6f 6d 20 63 61 6c 69 62 72 65  | pe.'integer)..(defcustom.calibre | 
| 20060 |  64 62 2d 6c 69 73 74 2d 76 69 65 77 2d 69 6d 61    67 65 2d 6d 61 78 2d 68 65 69 67 68 74 20 35 30  | db-list-view-image-max-height.50 | 
| 20080 |  30 0a 20 20 22 4d 61 78 20 68 65 69 67 68 74 20    66 6f 72 20 69 6d 61 67 65 73 20 69 6e 20 6c 69  | 0..."Max.height.for.images.in.li | 
| 200a0 |  73 74 20 76 69 65 77 20 2d 20 2a 63 61 6c 69 62    72 65 64 62 2d 6c 69 73 74 2a 2e 0a 46 6f 72 20  | st.view.-.*calibredb-list*..For. | 
| 200c0 |  45 6d 61 63 73 20 32 37 2e 31 2b 2c 20 69 66 20    69 6d 61 67 65 6d 61 67 69 63 6b 20 69 73 20 64  | Emacs.27.1+,.if.imagemagick.is.d | 
| 200e0 |  69 73 61 62 6c 65 64 2c 20 74 68 65 20 69 6d 61    67 65 20 68 65 69 67 68 74 20 69 73 20 69 67 6e  | isabled,.the.image.height.is.ign | 
| 20100 |  6f 72 65 64 2e 22 0a 20 20 3a 67 72 6f 75 70 20    27 63 61 6c 69 62 72 65 64 62 0a 20 20 3a 74 79  | ored."...:group.'calibredb...:ty | 
| 20120 |  70 65 20 27 69 6e 74 65 67 65 72 29 0a 0a 28 64    65 66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d 73  | pe.'integer)..(defun.calibredb-s | 
| 20140 |  65 61 72 63 68 2d 2d 62 75 66 66 65 72 2d 6e 61    6d 65 20 28 29 0a 20 20 22 52 65 74 75 72 6e 20  | earch--buffer-name.()..."Return. | 
| 20160 |  74 68 65 20 61 70 70 72 6f 70 72 69 61 74 65 20    62 75 66 66 65 72 20 6e 61 6d 65 20 66 6f 72 20  | the.appropriate.buffer.name.for. | 
| 20180 |  45 4e 54 52 59 2e 0a 54 68 65 20 72 65 73 75 6c    74 20 64 65 70 65 6e 64 73 20 6f 6e 20 74 68 65  | ENTRY..The.result.depends.on.the | 
| 201a0 |  20 76 61 6c 75 65 20 6f 66 20 60 63 61 6c 69 62    72 65 64 62 2d 73 65 61 72 63 68 2d 75 6e 69 71  | .value.of.`calibredb-search-uniq | 
| 201c0 |  75 65 2d 62 75 66 66 65 72 73 27 2e 22 0a 20 20    28 69 66 20 63 61 6c 69 62 72 65 64 62 2d 73 65  | ue-buffers'."...(if.calibredb-se | 
| 201e0 |  61 72 63 68 2d 75 6e 69 71 75 65 2d 62 75 66 66    65 72 73 0a 20 20 20 20 20 20 28 66 6f 72 6d 61  | arch-unique-buffers.......(forma | 
| 20200 |  74 20 22 2a 63 61 6c 69 62 72 65 64 62 2d 73 65    61 72 63 68 2d 3c 25 73 3e 2a 22 20 63 61 6c 69  | t."*calibredb-search-<%s>*".cali | 
| 20220 |  62 72 65 64 62 2d 72 6f 6f 74 2d 64 69 72 29 0a    20 20 20 20 22 2a 63 61 6c 69 62 72 65 64 62 2d  | bredb-root-dir)....."*calibredb- | 
| 20240 |  73 65 61 72 63 68 2a 22 29 29 0a 0a 28 64 65 66    75 6e 20 63 61 6c 69 62 72 65 64 62 2d 73 68 6f  | search*"))..(defun.calibredb-sho | 
| 20260 |  77 2d 65 6e 74 72 79 20 28 65 6e 74 72 79 20 26    6f 70 74 69 6f 6e 61 6c 20 73 77 69 74 63 68 29  | w-entry.(entry.&optional.switch) | 
| 20280 |  0a 20 20 22 44 69 73 70 6c 61 79 20 45 4e 54 52    59 20 69 6e 20 74 68 65 20 63 75 72 72 65 6e 74  | ..."Display.ENTRY.in.the.current | 
| 202a0 |  20 62 75 66 66 65 72 2e 0a 4f 70 74 69 6f 6e 61    6c 20 61 72 67 75 6d 65 6e 74 20 53 57 49 54 43  | .buffer..Optional.argument.SWITC | 
| 202c0 |  48 20 74 6f 20 73 77 69 74 63 68 20 74 6f 20 2a    63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68  | H.to.switch.to.*calibredb-search | 
| 202e0 |  2a 20 62 75 66 66 65 72 20 74 6f 20 6f 74 68 65    72 20 77 69 6e 64 6f 77 2e 22 0a 20 20 28 75 6e  | *.buffer.to.other.window."...(un | 
| 20300 |  6c 65 73 73 20 28 65 71 20 6d 61 6a 6f 72 2d 6d    6f 64 65 20 27 63 61 6c 69 62 72 65 64 62 2d 73  | less.(eq.major-mode.'calibredb-s | 
| 20320 |  68 6f 77 2d 6d 6f 64 65 29 0a 20 20 20 20 20 20    28 77 68 65 6e 20 28 67 65 74 2d 62 75 66 66 65  | how-mode).......(when.(get-buffe | 
| 20340 |  72 20 28 63 61 6c 69 62 72 65 64 62 2d 73 68 6f    77 2d 2d 62 75 66 66 65 72 2d 6e 61 6d 65 20 65  | r.(calibredb-show--buffer-name.e | 
| 20360 |  6e 74 72 79 29 29 0a 20 20 20 20 20 20 20 20 28    6b 69 6c 6c 2d 62 75 66 66 65 72 20 28 63 61 6c  | ntry)).........(kill-buffer.(cal | 
| 20380 |  69 62 72 65 64 62 2d 73 68 6f 77 2d 2d 62 75 66    66 65 72 2d 6e 61 6d 65 20 65 6e 74 72 79 29 29  | ibredb-show--buffer-name.entry)) | 
| 203a0 |  29 29 0a 20 20 28 6c 65 74 2a 20 28 28 62 75 66    66 20 28 67 65 74 2d 62 75 66 66 65 72 2d 63 72  | ))...(let*.((buff.(get-buffer-cr | 
| 203c0 |  65 61 74 65 20 28 63 61 6c 69 62 72 65 64 62 2d    73 68 6f 77 2d 2d 62 75 66 66 65 72 2d 6e 61 6d  | eate.(calibredb-show--buffer-nam | 
| 203e0 |  65 20 65 6e 74 72 79 29 29 29 0a 20 20 20 20 20    20 20 20 20 28 69 64 20 28 63 61 6c 69 62 72 65  | e.entry)))..........(id.(calibre | 
| 20400 |  64 62 2d 67 65 74 61 74 74 72 20 65 6e 74 72 79    20 3a 69 64 29 29 20 3b 20 6f 6e 6c 79 20 67 65  | db-getattr.entry.:id)).;.only.ge | 
| 20420 |  74 20 74 68 65 20 69 64 0a 20 20 20 20 20 20 20    20 20 28 74 61 67 20 28 63 61 6c 69 62 72 65 64  | t.the.id..........(tag.(calibred | 
| 20440 |  62 2d 67 65 74 61 74 74 72 20 65 6e 74 72 79 20    3a 74 61 67 29 29 0a 20 20 20 20 20 20 20 20 20  | b-getattr.entry.:tag)).......... | 
| 20460 |  28 63 6f 6d 6d 65 6e 74 20 28 63 61 6c 69 62 72    65 64 62 2d 67 65 74 61 74 74 72 20 65 6e 74 72  | (comment.(calibredb-getattr.entr | 
| 20480 |  79 20 3a 63 6f 6d 6d 65 6e 74 29 29 0a 20 20 20    20 20 20 20 20 20 28 61 75 74 68 6f 72 2d 73 6f  | y.:comment))..........(author-so | 
| 204a0 |  72 74 20 28 63 61 6c 69 62 72 65 64 62 2d 67 65    74 61 74 74 72 20 65 6e 74 72 79 20 3a 61 75 74  | rt.(calibredb-getattr.entry.:aut | 
| 204c0 |  68 6f 72 2d 73 6f 72 74 29 29 0a 20 20 20 20 20    20 20 20 20 28 74 69 74 6c 65 20 28 63 61 6c 69  | hor-sort))..........(title.(cali | 
| 204e0 |  62 72 65 64 62 2d 67 65 74 61 74 74 72 20 65 6e    74 72 79 20 3a 62 6f 6f 6b 2d 74 69 74 6c 65 29  | bredb-getattr.entry.:book-title) | 
| 20500 |  29 0a 20 20 20 20 20 20 20 20 20 28 70 75 62 64    61 74 65 20 28 63 61 6c 69 62 72 65 64 62 2d 67  | )..........(pubdate.(calibredb-g | 
| 20520 |  65 74 61 74 74 72 20 65 6e 74 72 79 20 3a 62 6f    6f 6b 2d 70 75 62 64 61 74 65 29 29 0a 20 20 20  | etattr.entry.:book-pubdate)).... | 
| 20540 |  20 20 20 20 20 20 3b 3b 20 28 71 75 65 72 79 2d    72 65 73 75 6c 74 20 28 63 64 72 20 28 63 61 72  | ......;;.(query-result.(cdr.(car | 
| 20560 |  20 28 63 61 6c 69 62 72 65 64 62 2d 63 61 6e 64    69 64 61 74 65 20 69 64 29 29 29 29 20 3b 20 67  | .(calibredb-candidate.id)))).;.g | 
| 20580 |  65 74 20 74 68 65 20 6e 65 77 20 65 6e 74 72 79    20 74 68 72 6f 75 67 68 20 53 51 4c 20 71 75 65  | et.the.new.entry.through.SQL.que | 
| 205a0 |  72 79 0a 20 20 20 20 20 20 20 20 20 28 66 69 6c    65 20 28 63 61 6c 69 62 72 65 64 62 2d 67 65 74  | ry..........(file.(calibredb-get | 
| 205c0 |  61 74 74 72 20 65 6e 74 72 79 20 3a 66 69 6c 65    2d 70 61 74 68 29 29 0a 20 20 20 20 20 20 20 20  | attr.entry.:file-path))......... | 
| 205e0 |  20 28 63 6f 76 65 72 20 28 63 61 6c 69 62 72 65    64 62 2d 67 65 74 2d 63 6f 76 65 72 20 65 6e 74  | .(cover.(calibredb-get-cover.ent | 
| 20600 |  72 79 29 29 0a 20 20 20 20 20 20 20 20 20 28 66    6f 72 6d 61 74 20 28 63 61 6c 69 62 72 65 64 62  | ry))..........(format.(calibredb | 
| 20620 |  2d 67 65 74 61 74 74 72 20 65 6e 74 72 79 20 3a    62 6f 6f 6b 2d 66 6f 72 6d 61 74 29 29 0a 20 20  | -getattr.entry.:book-format))... | 
| 20640 |  20 20 20 20 20 20 20 28 73 69 7a 65 20 28 63 61    6c 69 62 72 65 64 62 2d 67 65 74 61 74 74 72 20  | .......(size.(calibredb-getattr. | 
| 20660 |  65 6e 74 72 79 20 3a 73 69 7a 65 29 29 0a 20 20    20 20 20 20 20 20 20 28 69 64 73 20 28 63 61 6c  | entry.:size))..........(ids.(cal | 
| 20680 |  69 62 72 65 64 62 2d 67 65 74 61 74 74 72 20 65    6e 74 72 79 20 3a 69 64 73 29 29 0a 20 20 20 20  | ibredb-getattr.entry.:ids))..... | 
| 206a0 |  20 20 20 20 20 28 70 75 62 6c 69 73 68 65 72 20    28 63 61 6c 69 62 72 65 64 62 2d 67 65 74 61 74  | .....(publisher.(calibredb-getat | 
| 206c0 |  74 72 20 65 6e 74 72 79 20 3a 70 75 62 6c 69 73    68 65 72 29 29 0a 20 20 20 20 20 20 20 20 20 28  | tr.entry.:publisher))..........( | 
| 206e0 |  73 65 72 69 65 73 20 28 63 61 6c 69 62 72 65 64    62 2d 67 65 74 61 74 74 72 20 65 6e 74 72 79 20  | series.(calibredb-getattr.entry. | 
| 20700 |  3a 73 65 72 69 65 73 29 29 0a 20 20 20 20 20 20    20 20 20 28 6c 61 6e 67 5f 63 6f 64 65 20 28 63  | :series))..........(lang_code.(c | 
| 20720 |  61 6c 69 62 72 65 64 62 2d 67 65 74 61 74 74 72    20 65 6e 74 72 79 20 3a 6c 61 6e 67 5f 63 6f 64  | alibredb-getattr.entry.:lang_cod | 
| 20740 |  65 29 29 0a 20 20 20 20 20 20 20 20 20 28 6c 61    73 74 5f 6d 6f 64 69 66 69 65 64 20 28 63 61 6c  | e))..........(last_modified.(cal | 
| 20760 |  69 62 72 65 64 62 2d 67 65 74 61 74 74 72 20 65    6e 74 72 79 20 3a 6c 61 73 74 5f 6d 6f 64 69 66  | ibredb-getattr.entry.:last_modif | 
| 20780 |  69 65 64 29 29 0a 20 20 20 20 20 20 20 20 20 28    6f 72 69 67 69 6e 61 6c 20 28 70 6f 69 6e 74 29  | ied))..........(original.(point) | 
| 207a0 |  29 0a 20 20 20 20 20 20 20 20 20 28 66 69 6c 65    2d 6d 61 70 20 28 6d 61 6b 65 2d 73 70 61 72 73  | )..........(file-map.(make-spars | 
| 207c0 |  65 2d 6b 65 79 6d 61 70 29 29 0a 20 20 20 20 20    20 20 20 20 62 65 67 20 65 6e 64 29 0a 20 20 20  | e-keymap))..........beg.end).... | 
| 207e0 |  20 28 6c 65 74 20 28 28 69 6e 68 69 62 69 74 2d    72 65 61 64 2d 6f 6e 6c 79 20 74 29 20 63 2d 62  | .(let.((inhibit-read-only.t).c-b | 
| 20800 |  65 67 20 63 2d 65 6e 64 29 0a 20 20 20 20 20 20    28 77 69 74 68 2d 63 75 72 72 65 6e 74 2d 62 75  | eg.c-end).......(with-current-bu | 
| 20820 |  66 66 65 72 20 62 75 66 66 0a 20 20 20 20 20 20    20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 66 69  | ffer.buff.........(define-key.fi | 
| 20840 |  6c 65 2d 6d 61 70 20 5b 6d 6f 75 73 65 2d 31 5d    20 27 63 61 6c 69 62 72 65 64 62 2d 66 69 6c 65  | le-map.[mouse-1].'calibredb-file | 
| 20860 |  2d 6d 6f 75 73 65 2d 31 29 0a 20 20 20 20 20 20    20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 66 69  | -mouse-1).........(define-key.fi | 
| 20880 |  6c 65 2d 6d 61 70 20 5b 6d 6f 75 73 65 2d 33 5d    20 27 63 61 6c 69 62 72 65 64 62 2d 66 69 6c 65  | le-map.[mouse-3].'calibredb-file | 
| 208a0 |  2d 6d 6f 75 73 65 2d 33 29 0a 20 20 20 20 20 20    20 20 28 65 72 61 73 65 2d 62 75 66 66 65 72 29  | -mouse-3).........(erase-buffer) | 
| 208c0 |  0a 20 20 20 20 20 20 20 20 28 73 65 74 71 20 62    65 67 20 28 70 6f 69 6e 74 29 29 0a 20 20 20 20  | .........(setq.beg.(point))..... | 
| 208e0 |  20 20 20 20 3b 3b 20 28 69 6e 73 65 72 74 20 28    70 72 6f 70 65 72 74 69 7a 65 20 28 63 61 6c 69  | ....;;.(insert.(propertize.(cali | 
| 20900 |  62 72 65 64 62 2d 73 68 6f 77 2d 6d 65 74 61 64    61 74 61 20 65 6e 74 72 79 29 20 27 63 61 6c 69  | bredb-show-metadata.entry).'cali | 
| 20920 |  62 72 65 64 62 2d 65 6e 74 72 79 20 65 6e 74 72    79 29 29 0a 20 20 20 20 20 20 20 20 28 69 6e 73  | bredb-entry.entry)).........(ins | 
| 20940 |  65 72 74 20 28 66 6f 72 6d 61 74 20 22 49 44 20    20 20 20 20 20 20 20 20 20 25 73 5c 6e 22 20 28  | ert.(format."ID..........%s\n".( | 
| 20960 |  70 72 6f 70 65 72 74 69 7a 65 20 69 64 20 27 66    61 63 65 20 27 63 61 6c 69 62 72 65 64 62 2d 69  | propertize.id.'face.'calibredb-i | 
| 20980 |  64 2d 66 61 63 65 29 29 29 0a 20 20 20 20 20 20    20 20 28 73 65 74 71 20 65 6e 64 20 28 70 6f 69  | d-face))).........(setq.end.(poi | 
| 209a0 |  6e 74 29 29 0a 20 20 20 20 20 20 20 20 28 70 75    74 2d 74 65 78 74 2d 70 72 6f 70 65 72 74 79 20  | nt)).........(put-text-property. | 
| 209c0 |  62 65 67 20 65 6e 64 20 27 63 61 6c 69 62 72 65    64 62 2d 65 6e 74 72 79 20 65 6e 74 72 79 29 0a  | beg.end.'calibredb-entry.entry). | 
| 209e0 |  20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 20    28 66 6f 72 6d 61 74 20 22 54 69 74 6c 65 20 20  | ........(insert.(format."Title.. | 
| 20a00 |  20 20 20 20 20 25 73 5c 6e 22 20 28 70 72 6f 70    65 72 74 69 7a 65 20 74 69 74 6c 65 20 27 66 61  | .....%s\n".(propertize.title.'fa | 
| 20a20 |  63 65 20 27 63 61 6c 69 62 72 65 64 62 2d 74 69    74 6c 65 2d 66 61 63 65 29 29 29 0a 20 20 20 20  | ce.'calibredb-title-face)))..... | 
| 20a40 |  20 20 20 20 28 69 6e 73 65 72 74 20 28 66 6f 72    6d 61 74 20 22 41 75 74 68 6f 72 5f 73 6f 72 74  | ....(insert.(format."Author_sort | 
| 20a60 |  20 25 73 5c 6e 22 20 28 70 72 6f 70 65 72 74 69    7a 65 20 61 75 74 68 6f 72 2d 73 6f 72 74 20 27  | .%s\n".(propertize.author-sort.' | 
| 20a80 |  66 61 63 65 20 27 63 61 6c 69 62 72 65 64 62 2d    61 75 74 68 6f 72 2d 66 61 63 65 29 29 29 0a 20  | face.'calibredb-author-face))).. | 
| 20aa0 |  20 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 28    66 6f 72 6d 61 74 20 22 54 61 67 73 20 20 20 20  | .......(insert.(format."Tags.... | 
| 20ac0 |  20 20 20 20 25 73 5c 6e 22 20 28 70 72 6f 70 65    72 74 69 7a 65 20 74 61 67 20 27 66 61 63 65 20  | ....%s\n".(propertize.tag.'face. | 
| 20ae0 |  27 63 61 6c 69 62 72 65 64 62 2d 74 61 67 2d 66    61 63 65 29 29 29 0a 20 20 20 20 20 20 20 20 28  | 'calibredb-tag-face))).........( | 
| 20b00 |  69 6e 73 65 72 74 20 28 66 6f 72 6d 61 74 20 22    49 64 73 20 20 20 20 20 20 20 20 20 25 73 5c 6e  | insert.(format."Ids.........%s\n | 
| 20b20 |  22 20 28 70 72 6f 70 65 72 74 69 7a 65 20 69 64    73 20 27 66 61 63 65 20 27 63 61 6c 69 62 72 65  | ".(propertize.ids.'face.'calibre | 
| 20b40 |  64 62 2d 69 64 73 2d 66 61 63 65 29 29 29 0a 20    20 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 28  | db-ids-face))).........(insert.( | 
| 20b60 |  66 6f 72 6d 61 74 20 22 44 61 74 65 20 20 20 20    20 20 20 20 25 73 5c 6e 22 20 28 70 72 6f 70 65  | format."Date........%s\n".(prope | 
| 20b80 |  72 74 69 7a 65 20 6c 61 73 74 5f 6d 6f 64 69 66    69 65 64 20 27 66 61 63 65 20 27 63 61 6c 69 62  | rtize.last_modified.'face.'calib | 
| 20ba0 |  72 65 64 62 2d 64 61 74 65 2d 66 61 63 65 29 29    29 0a 20 20 20 20 20 20 20 20 28 69 6e 73 65 72  | redb-date-face))).........(inser | 
| 20bc0 |  74 20 28 66 6f 72 6d 61 74 20 22 50 75 62 6c 69    73 68 65 64 20 20 20 25 73 5c 6e 22 20 28 70 72  | t.(format."Published...%s\n".(pr | 
| 20be0 |  6f 70 65 72 74 69 7a 65 20 70 75 62 64 61 74 65    20 27 66 61 63 65 20 27 63 61 6c 69 62 72 65 64  | opertize.pubdate.'face.'calibred | 
| 20c00 |  62 2d 70 75 62 64 61 74 65 2d 66 61 63 65 29 29    29 0a 20 20 20 20 20 20 20 20 28 69 6e 73 65 72  | b-pubdate-face))).........(inser | 
| 20c20 |  74 20 28 66 6f 72 6d 61 74 20 22 50 75 62 6c 69    73 68 65 72 20 20 20 25 73 5c 6e 22 20 28 70 72  | t.(format."Publisher...%s\n".(pr | 
| 20c40 |  6f 70 65 72 74 69 7a 65 20 70 75 62 6c 69 73 68    65 72 20 27 66 61 63 65 20 27 63 61 6c 69 62 72  | opertize.publisher.'face.'calibr | 
| 20c60 |  65 64 62 2d 70 75 62 6c 69 73 68 65 72 2d 66 61    63 65 29 29 29 0a 20 20 20 20 20 20 20 20 28 69  | edb-publisher-face))).........(i | 
| 20c80 |  6e 73 65 72 74 20 28 66 6f 72 6d 61 74 20 22 53    65 72 69 65 73 20 20 20 20 20 20 25 73 5c 6e 22  | nsert.(format."Series......%s\n" | 
| 20ca0 |  20 28 70 72 6f 70 65 72 74 69 7a 65 20 73 65 72    69 65 73 20 27 66 61 63 65 20 27 63 61 6c 69 62  | .(propertize.series.'face.'calib | 
| 20cc0 |  72 65 64 62 2d 73 65 72 69 65 73 2d 66 61 63 65    29 29 29 0a 20 20 20 20 20 20 20 20 28 69 6e 73  | redb-series-face))).........(ins | 
| 20ce0 |  65 72 74 20 28 66 6f 72 6d 61 74 20 22 4c 61 6e    67 75 61 67 65 20 20 20 20 25 73 5c 6e 22 20 28  | ert.(format."Language....%s\n".( | 
| 20d00 |  70 72 6f 70 65 72 74 69 7a 65 20 6c 61 6e 67 5f    63 6f 64 65 20 27 66 61 63 65 20 27 63 61 6c 69  | propertize.lang_code.'face.'cali | 
| 20d20 |  62 72 65 64 62 2d 6c 61 6e 67 75 61 67 65 2d 66    61 63 65 29 29 29 0a 20 20 20 20 20 20 20 20 3b  | bredb-language-face))).........; | 
| 20d40 |  3b 20 28 69 6e 73 65 72 74 20 28 66 6f 72 6d 61    74 20 22 46 69 6c 65 20 20 20 20 20 20 20 20 25  | ;.(insert.(format."File........% | 
| 20d60 |  73 5c 6e 22 20 28 70 72 6f 70 65 72 74 69 7a 65    20 66 69 6c 65 20 27 66 61 63 65 20 27 63 61 6c  | s\n".(propertize.file.'face.'cal | 
| 20d80 |  69 62 72 65 64 62 2d 66 69 6c 65 2d 66 61 63 65    29 29 29 0a 20 20 20 20 20 20 20 20 28 69 6e 73  | ibredb-file-face))).........(ins | 
| 20da0 |  65 72 74 20 28 66 6f 72 6d 61 74 20 22 46 6f 72    6d 61 74 20 20 20 20 20 20 25 73 5c 6e 22 20 28  | ert.(format."Format......%s\n".( | 
| 20dc0 |  6d 61 70 63 6f 6e 63 61 74 0a 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | mapconcat....................... | 
| 20de0 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 23 27 69 64 65 6e 74 69 74 79  | ......................#'identity | 
| 20e00 |  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 20 20 20 20  | ................................ | 
| 20e20 |  20 20 20 20 20 20 20 20 20 20 20 20 20 28 2d 6d    61 70 20 28 6c 61 6d 62 64 61 20 28 65 78 74 29  | .............(-map.(lambda.(ext) | 
| 20e40 |  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 20 20 20 20  | ................................ | 
| 20e60 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 28 70 72 6f 70 65 72 74 69 7a 65  | .....................(propertize | 
| 20e80 |  20 65 78 74 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  | .ext............................ | 
| 20ea0 |  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  | ................................ | 
| 20ec0 |  20 20 20 20 20 27 66 61 63 65 20 27 63 61 6c 69    62 72 65 64 62 2d 66 6f 72 6d 61 74 2d 66 61 63  | .....'face.'calibredb-format-fac | 
| 20ee0 |  65 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 20 20 20  | e............................... | 
| 20f00 |  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  | ................................ | 
| 20f20 |  20 20 27 6d 6f 75 73 65 2d 66 61 63 65 20 27 63    61 6c 69 62 72 65 64 62 2d 6d 6f 75 73 65 2d 66  | ..'mouse-face.'calibredb-mouse-f | 
| 20f40 |  61 63 65 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 20  | ace............................. | 
| 20f60 |  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  | ................................ | 
| 20f80 |  20 20 20 20 27 68 65 6c 70 2d 65 63 68 6f 20 28    69 66 20 28 73 74 72 69 6e 67 2d 70 72 65 66 69  | ....'help-echo.(if.(string-prefi | 
| 20fa0 |  78 2d 70 20 22 68 74 74 70 22 20 66 69 6c 65 29    0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | x-p."http".file)................ | 
| 20fc0 |  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  | ................................ | 
| 20fe0 |  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  | ................................ | 
| 21000 |  66 69 6c 65 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  | file............................ | 
| 21020 |  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  | ................................ | 
| 21040 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 28 65 78 70 61 6e 64 2d 66 69 6c 65 2d 6e  | ..................(expand-file-n | 
| 21060 |  61 6d 65 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 20  | ame............................. | 
| 21080 |  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  | ................................ | 
| 210a0 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 28 63 6f 6e 63 61 74 20 28 66 69 6c 65 2d  | ..................(concat.(file- | 
| 210c0 |  6e 61 6d 65 2d 62 61 73 65 20 66 69 6c 65 29 20    22 2e 22 20 65 78 74 29 0a 20 20 20 20 20 20 20  | name-base.file).".".ext)........ | 
| 210e0 |  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  | ................................ | 
| 21100 |  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  | ................................ | 
| 21120 |  20 20 20 20 20 20 20 28 66 69 6c 65 2d 6e 61 6d    65 2d 64 69 72 65 63 74 6f 72 79 20 66 69 6c 65  | .......(file-name-directory.file | 
| 21140 |  29 29 20 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  | )).)............................ | 
| 21160 |  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  | ................................ | 
| 21180 |  20 20 20 20 20 27 6b 65 79 6d 61 70 20 66 69 6c    65 2d 6d 61 70 29 29 20 28 73 2d 73 70 6c 69 74  | .....'keymap.file-map)).(s-split | 
| 211a0 |  20 22 2c 22 20 66 6f 72 6d 61 74 29 29 20 22 2c    20 22 29 29 29 0a 20 20 20 20 20 20 20 20 28 69  | .",".format)).",."))).........(i | 
| 211c0 |  6e 73 65 72 74 20 28 66 6f 72 6d 61 74 20 22 53    69 7a 65 20 20 20 20 20 20 20 20 25 73 5c 6e 22  | nsert.(format."Size........%s\n" | 
| 211e0 |  20 28 70 72 6f 70 65 72 74 69 7a 65 20 28 63 6f    6e 63 61 74 20 73 69 7a 65 20 22 4d 62 22 29 20  | .(propertize.(concat.size."Mb"). | 
| 21200 |  27 66 61 63 65 20 27 63 61 6c 69 62 72 65 64 62    2d 73 69 7a 65 2d 66 61 63 65 29 29 29 0a 20 20  | 'face.'calibredb-size-face)))... | 
| 21220 |  20 20 20 20 20 20 28 63 6f 6e 64 20 28 28 65 71    75 61 6c 20 63 61 6c 69 62 72 65 64 62 2d 65 6e  | ......(cond.((equal.calibredb-en | 
| 21240 |  74 72 79 2d 72 65 6e 64 65 72 2d 63 6f 6d 6d 65    6e 74 73 20 22 66 61 63 65 22 29 0a 20 20 20 20  | try-render-comments."face")..... | 
| 21260 |  20 20 20 20 20 20 20 20 20 20 20 28 69 6e 73 65    72 74 20 28 66 6f 72 6d 61 74 20 22 43 6f 6d 6d  | ...........(insert.(format."Comm | 
| 21280 |  65 6e 74 73 20 20 20 20 25 73 5c 6e 22 20 28 70    72 6f 70 65 72 74 69 7a 65 20 63 6f 6d 6d 65 6e  | ents....%s\n".(propertize.commen | 
| 212a0 |  74 20 27 66 61 63 65 20 27 63 61 6c 69 62 72 65    64 62 2d 63 6f 6d 6d 65 6e 74 2d 66 61 63 65 29  | t.'face.'calibredb-comment-face) | 
| 212c0 |  29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20    20 20 28 28 65 71 75 61 6c 20 63 61 6c 69 62 72  | )))...............((equal.calibr | 
| 212e0 |  65 64 62 2d 65 6e 74 72 79 2d 72 65 6e 64 65 72    2d 63 6f 6d 6d 65 6e 74 73 20 22 73 68 72 22 29  | edb-entry-render-comments."shr") | 
| 21300 |  0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    28 72 65 71 75 69 72 65 20 27 73 68 72 29 0a 20  | ................(require.'shr).. | 
| 21320 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69    6e 73 65 72 74 20 22 43 6f 6d 6d 65 6e 74 73 5c  | ..............(insert."Comments\ | 
| 21340 |  6e 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 28 73 65 74 71 20 63 2d 62 65 67 20 28  | n")................(setq.c-beg.( | 
| 21360 |  70 6f 69 6e 74 29 29 0a 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 63  | point))................(insert.c | 
| 21380 |  6f 6d 6d 65 6e 74 29 0a 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 28 73 65 74 71 20 63 2d 65  | omment)................(setq.c-e | 
| 213a0 |  6e 64 20 28 70 6f 69 6e 74 29 29 0a 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28  | nd.(point))................(if.( | 
| 213c0 |  66 62 6f 75 6e 64 70 20 27 73 68 72 2d 72 65 6e    64 65 72 2d 72 65 67 69 6f 6e 29 0a 20 20 20 20  | fboundp.'shr-render-region)..... | 
| 213e0 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28    73 68 72 2d 72 65 6e 64 65 72 2d 72 65 67 69 6f  | ...............(shr-render-regio | 
| 21400 |  6e 20 63 2d 62 65 67 20 63 2d 65 6e 64 29 29 0a    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28  | n.c-beg.c-end))................( | 
| 21420 |  69 6e 73 65 72 74 20 22 5c 6e 22 29 29 0a 20 20    20 20 20 20 20 20 20 20 20 20 20 20 28 28 65 71  | insert."\n"))...............((eq | 
| 21440 |  75 61 6c 20 63 61 6c 69 62 72 65 64 62 2d 65 6e    74 72 79 2d 72 65 6e 64 65 72 2d 63 6f 6d 6d 65  | ual.calibredb-entry-render-comme | 
| 21460 |  6e 74 73 20 22 61 6e 6e 6f 74 61 74 69 6f 6e 22    29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | nts."annotation")............... | 
| 21480 |  20 28 69 6e 73 65 72 74 20 22 43 6f 6d 6d 65 6e    74 73 5c 6e 5c 6e 22 29 0a 20 20 20 20 20 20 20  | .(insert."Comments\n\n")........ | 
| 214a0 |  20 20 20 20 20 20 20 20 28 72 65 71 75 69 72 65    20 27 66 6f 6e 74 2d 6c 6f 63 6b 29 0a 20 20 20  | ........(require.'font-lock).... | 
| 214c0 |  20 20 20 20 20 20 20 20 20 20 20 20 28 69 6e 73    65 72 74 20 28 63 61 6c 69 62 72 65 64 62 2d 66  | ............(insert.(calibredb-f | 
| 214e0 |  6f 6e 74 69 66 79 20 63 6f 6d 6d 65 6e 74 20 27    63 61 6c 69 62 72 65 64 62 2d 65 64 69 74 2d 61  | ontify.comment.'calibredb-edit-a | 
| 21500 |  6e 6e 6f 74 61 74 69 6f 6e 2d 6d 6f 64 65 29 29    0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | nnotation-mode))................ | 
| 21520 |  28 69 6e 73 65 72 74 20 22 5c 6e 5c 6e 22 29 29    0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28  | (insert."\n\n"))...............( | 
| 21540 |  74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 28 69 6e 73 65 72 74 20 28 66 6f 72 6d 61 74  | t................(insert.(format | 
| 21560 |  20 22 43 6f 6d 6d 65 6e 74 73 20 20 20 20 25 73    5c 6e 22 20 28 70 72 6f 70 65 72 74 69 7a 65 20  | ."Comments....%s\n".(propertize. | 
| 21580 |  63 6f 6d 6d 65 6e 74 20 27 66 61 63 65 20 27 63    61 6c 69 62 72 65 64 62 2d 63 6f 6d 6d 65 6e 74  | comment.'face.'calibredb-comment | 
| 215a0 |  2d 66 61 63 65 29 29 29 29 29 0a 20 20 20 20 20    20 20 20 28 69 6e 73 65 72 74 20 22 5c 6e 22 29  | -face))))).........(insert."\n") | 
| 215c0 |  0a 20 20 20 20 20 20 20 20 28 63 61 6c 69 62 72    65 64 62 2d 69 6e 73 65 72 74 2d 69 6d 61 67 65  | .........(calibredb-insert-image | 
| 215e0 |  20 63 6f 76 65 72 20 22 22 20 63 61 6c 69 62 72    65 64 62 2d 6c 69 73 74 2d 76 69 65 77 2d 69 6d  | .cover."".calibredb-list-view-im | 
| 21600 |  61 67 65 2d 6d 61 78 2d 77 69 64 74 68 20 63 61    6c 69 62 72 65 64 62 2d 6c 69 73 74 2d 76 69 65  | age-max-width.calibredb-list-vie | 
| 21620 |  77 2d 69 6d 61 67 65 2d 6d 61 78 2d 68 65 69 67    68 74 29 0a 20 20 20 20 20 20 20 20 3b 3b 20 28  | w-image-max-height).........;;.( | 
| 21640 |  73 65 74 71 20 65 6e 64 20 28 70 6f 69 6e 74 29    29 0a 20 20 20 20 20 20 20 20 28 63 61 6c 69 62  | setq.end.(point)).........(calib | 
| 21660 |  72 65 64 62 2d 73 68 6f 77 2d 6d 6f 64 65 29 0a    20 20 20 20 20 20 20 20 28 73 65 74 71 20 63 61  | redb-show-mode).........(setq.ca | 
| 21680 |  6c 69 62 72 65 64 62 2d 73 68 6f 77 2d 65 6e 74    72 79 20 65 6e 74 72 79 29 0a 20 20 20 20 20 20  | libredb-show-entry.entry)....... | 
| 216a0 |  20 20 28 67 6f 74 6f 2d 63 68 61 72 20 28 70 6f    69 6e 74 2d 6d 69 6e 29 29 29 29 0a 20 20 20 20  | ..(goto-char.(point-min))))..... | 
| 216c0 |  28 75 6e 6c 65 73 73 20 28 65 71 20 6d 61 6a 6f    72 2d 6d 6f 64 65 20 27 63 61 6c 69 62 72 65 64  | (unless.(eq.major-mode.'calibred | 
| 216e0 |  62 2d 73 68 6f 77 2d 6d 6f 64 65 29 0a 20 20 20    20 20 20 28 66 75 6e 63 61 6c 6c 20 63 61 6c 69  | b-show-mode).......(funcall.cali | 
| 21700 |  62 72 65 64 62 2d 73 68 6f 77 2d 65 6e 74 72 79    2d 73 77 69 74 63 68 20 62 75 66 66 29 0a 20 20  | bredb-show-entry-switch.buff)... | 
| 21720 |  20 20 20 20 28 77 68 65 6e 20 73 77 69 74 63 68    0a 20 20 20 20 20 20 20 20 28 73 77 69 74 63 68  | ....(when.switch.........(switch | 
| 21740 |  2d 74 6f 2d 62 75 66 66 65 72 2d 6f 74 68 65 72    2d 77 69 6e 64 6f 77 20 28 73 65 74 2d 62 75 66  | -to-buffer-other-window.(set-buf | 
| 21760 |  66 65 72 20 28 63 61 6c 69 62 72 65 64 62 2d 73    65 61 72 63 68 2d 2d 62 75 66 66 65 72 2d 6e 61  | fer.(calibredb-search--buffer-na | 
| 21780 |  6d 65 29 29 29 0a 20 20 20 20 20 20 20 20 28 67    6f 74 6f 2d 63 68 61 72 20 6f 72 69 67 69 6e 61  | me))).........(goto-char.origina | 
| 217a0 |  6c 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 63    61 6c 69 62 72 65 64 62 2d 6e 65 78 74 2d 65 6e  | l)))))..(defun.calibredb-next-en | 
| 217c0 |  74 72 79 20 28 29 0a 20 20 22 4d 6f 76 65 20 74    6f 20 6e 65 78 74 20 65 6e 74 72 79 2e 22 0a 20  | try.()..."Move.to.next.entry.".. | 
| 217e0 |  20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20    20 28 6c 65 74 20 28 28 6f 72 69 20 22 22 29 20  | .(interactive)...(let.((ori.""). | 
| 21800 |  28 6e 65 77 20 22 22 29 29 0a 20 20 20 20 28 77    68 69 6c 65 20 28 61 6e 64 20 28 65 71 75 61 6c  | (new."")).....(while.(and.(equal | 
| 21820 |  20 6e 65 77 20 6f 72 69 29 20 6e 65 77 20 6f 72    69 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 6f  | .new.ori).new.ori).......(setq.o | 
| 21840 |  72 69 20 28 63 61 6c 69 62 72 65 64 62 2d 67 65    74 61 74 74 72 20 28 63 61 72 20 28 63 61 6c 69  | ri.(calibredb-getattr.(car.(cali | 
| 21860 |  62 72 65 64 62 2d 66 69 6e 64 2d 63 61 6e 64 69    64 61 74 65 2d 61 74 2d 70 6f 69 6e 74 29 29 20  | bredb-find-candidate-at-point)). | 
| 21880 |  3a 69 64 29 29 0a 20 20 20 20 20 20 28 66 6f 72    77 61 72 64 2d 6c 69 6e 65 20 31 29 0a 20 20 20  | :id)).......(forward-line.1).... | 
| 218a0 |  20 20 20 28 73 65 74 71 20 6e 65 77 20 28 63 61    6c 69 62 72 65 64 62 2d 67 65 74 61 74 74 72 20  | ...(setq.new.(calibredb-getattr. | 
| 218c0 |  28 63 61 72 20 28 63 61 6c 69 62 72 65 64 62 2d    66 69 6e 64 2d 63 61 6e 64 69 64 61 74 65 2d 61  | (car.(calibredb-find-candidate-a | 
| 218e0 |  74 2d 70 6f 69 6e 74 29 29 20 3a 69 64 29 29 29    29 29 0a 0a 28 64 65 66 75 6e 20 63 61 6c 69 62  | t-point)).:id)))))..(defun.calib | 
| 21900 |  72 65 64 62 2d 70 72 65 76 69 6f 75 73 2d 65 6e    74 72 79 20 28 29 0a 20 20 22 4d 6f 76 65 20 74  | redb-previous-entry.()..."Move.t | 
| 21920 |  6f 20 70 72 65 76 69 6f 75 73 20 65 6e 74 72 79    2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76  | o.previous.entry."...(interactiv | 
| 21940 |  65 29 0a 20 20 28 6c 65 74 20 28 28 6f 72 69 20    22 22 29 20 28 6e 65 77 20 22 22 29 29 0a 20 20  | e)...(let.((ori."").(new.""))... | 
| 21960 |  20 20 28 77 68 69 6c 65 20 28 61 6e 64 20 28 65    71 75 61 6c 20 6e 65 77 20 6f 72 69 29 20 6e 65  | ..(while.(and.(equal.new.ori).ne | 
| 21980 |  77 20 6f 72 69 20 28 3e 20 28 6c 69 6e 65 2d 6e    75 6d 62 65 72 2d 61 74 2d 70 6f 73 29 20 31 29  | w.ori.(>.(line-number-at-pos).1) | 
| 219a0 |  29 0a 20 20 20 20 20 20 28 66 6f 72 77 61 72 64    2d 6c 69 6e 65 20 2d 31 29 0a 20 20 20 20 20 20  | ).......(forward-line.-1)....... | 
| 219c0 |  28 73 61 76 65 2d 65 78 63 75 72 73 69 6f 6e 0a    20 20 20 20 20 20 20 20 28 73 65 74 71 20 6f 72  | (save-excursion.........(setq.or | 
| 219e0 |  69 20 28 63 61 6c 69 62 72 65 64 62 2d 67 65 74    61 74 74 72 20 28 63 61 72 20 28 63 61 6c 69 62  | i.(calibredb-getattr.(car.(calib | 
| 21a00 |  72 65 64 62 2d 66 69 6e 64 2d 63 61 6e 64 69 64    61 74 65 2d 61 74 2d 70 6f 69 6e 74 29 29 20 3a  | redb-find-candidate-at-point)).: | 
| 21a20 |  69 64 29 29 0a 20 20 20 20 20 20 20 20 28 66 6f    72 77 61 72 64 2d 6c 69 6e 65 20 2d 31 29 0a 20  | id)).........(forward-line.-1).. | 
| 21a40 |  20 20 20 20 20 20 20 28 73 65 74 71 20 6e 65 77    20 28 63 61 6c 69 62 72 65 64 62 2d 67 65 74 61  | .......(setq.new.(calibredb-geta | 
| 21a60 |  74 74 72 20 28 63 61 72 20 28 63 61 6c 69 62 72    65 64 62 2d 66 69 6e 64 2d 63 61 6e 64 69 64 61  | ttr.(car.(calibredb-find-candida | 
| 21a80 |  74 65 2d 61 74 2d 70 6f 69 6e 74 29 29 20 3a 69    64 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20  | te-at-point)).:id))))))..(defun. | 
| 21aa0 |  63 61 6c 69 62 72 65 64 62 2d 73 68 6f 77 2d 6e    65 78 74 2d 65 6e 74 72 79 20 28 29 0a 20 20 22  | calibredb-show-next-entry.()..." | 
| 21ac0 |  53 68 6f 77 20 6e 65 78 74 20 65 6e 74 72 79 2e    22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65  | Show.next.entry."...(interactive | 
| 21ae0 |  29 0a 20 20 28 63 61 6c 69 62 72 65 64 62 2d 6e    65 78 74 2d 65 6e 74 72 79 29 0a 20 20 28 63 61  | )...(calibredb-next-entry)...(ca | 
| 21b00 |  6c 69 62 72 65 64 62 2d 73 68 6f 77 2d 65 6e 74    72 79 20 28 63 61 72 20 28 63 61 6c 69 62 72 65  | libredb-show-entry.(car.(calibre | 
| 21b20 |  64 62 2d 66 69 6e 64 2d 63 61 6e 64 69 64 61 74    65 2d 61 74 2d 70 6f 69 6e 74 29 29 20 3a 73 77  | db-find-candidate-at-point)).:sw | 
| 21b40 |  69 74 63 68 29 29 0a 0a 28 64 65 66 75 6e 20 63    61 6c 69 62 72 65 64 62 2d 73 68 6f 77 2d 70 72  | itch))..(defun.calibredb-show-pr | 
| 21b60 |  65 76 69 6f 75 73 2d 65 6e 74 72 79 20 28 29 0a    20 20 22 53 68 6f 77 20 70 72 65 76 69 6f 75 73  | evious-entry.()..."Show.previous | 
| 21b80 |  20 65 6e 74 72 79 2e 22 0a 20 20 28 69 6e 74 65    72 61 63 74 69 76 65 29 0a 20 20 28 63 61 6c 69  | .entry."...(interactive)...(cali | 
| 21ba0 |  62 72 65 64 62 2d 70 72 65 76 69 6f 75 73 2d 65    6e 74 72 79 29 0a 20 20 28 63 61 6c 69 62 72 65  | bredb-previous-entry)...(calibre | 
| 21bc0 |  64 62 2d 73 68 6f 77 2d 65 6e 74 72 79 20 28 63    61 72 20 28 63 61 6c 69 62 72 65 64 62 2d 66 69  | db-show-entry.(car.(calibredb-fi | 
| 21be0 |  6e 64 2d 63 61 6e 64 69 64 61 74 65 2d 61 74 2d    70 6f 69 6e 74 29 29 20 3a 73 77 69 74 63 68 29  | nd-candidate-at-point)).:switch) | 
| 21c00 |  29 0a 0a 28 64 65 66 75 6e 20 63 61 6c 69 62 72    65 64 62 2d 73 65 61 72 63 68 2d 62 75 66 66 65  | )..(defun.calibredb-search-buffe | 
| 21c20 |  72 20 28 29 0a 20 20 22 43 72 65 61 74 65 20 62    75 66 66 65 72 20 63 61 6c 69 62 72 65 64 62 2d  | r.()..."Create.buffer.calibredb- | 
| 21c40 |  73 65 61 72 63 68 2e 22 0a 20 20 28 6c 65 74 20    28 28 62 75 66 66 65 72 20 28 67 65 74 2d 62 75  | search."...(let.((buffer.(get-bu | 
| 21c60 |  66 66 65 72 20 22 2a 63 61 6c 69 62 72 65 64 62    2d 73 65 61 72 63 68 2a 22 29 29 29 0a 20 20 20  | ffer."*calibredb-search*"))).... | 
| 21c80 |  20 28 69 66 20 28 62 75 66 66 65 72 2d 6c 69 76    65 2d 70 20 62 75 66 66 65 72 29 0a 20 20 20 20  | .(if.(buffer-live-p.buffer)..... | 
| 21ca0 |  20 20 20 20 62 75 66 66 65 72 0a 20 20 20 20 20    20 28 73 65 74 71 20 62 75 66 66 65 72 20 28 67  | ....buffer.......(setq.buffer.(g | 
| 21cc0 |  65 74 2d 62 75 66 66 65 72 2d 63 72 65 61 74 65    20 22 2a 63 61 6c 69 62 72 65 64 62 2d 73 65 61  | et-buffer-create."*calibredb-sea | 
| 21ce0 |  72 63 68 2a 22 29 29 0a 20 20 20 20 20 20 28 77    69 74 68 2d 63 75 72 72 65 6e 74 2d 62 75 66 66  | rch*")).......(with-current-buff | 
| 21d00 |  65 72 20 62 75 66 66 65 72 0a 20 20 20 20 20 20    20 20 28 63 61 6c 69 62 72 65 64 62 2d 73 65 61  | er.buffer.........(calibredb-sea | 
| 21d20 |  72 63 68 2d 6d 6f 64 65 29 29 29 0a 20 20 20 20    62 75 66 66 65 72 29 29 0a 0a 28 64 65 66 75 6e  | rch-mode))).....buffer))..(defun | 
| 21d40 |  20 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63    68 2d 68 65 61 64 65 72 20 28 29 0a 20 20 22 54  | .calibredb-search-header.()..."T | 
| 21d60 |  4f 44 4f 3a 20 52 65 74 75 72 6e 20 74 68 65 20    73 74 72 69 6e 67 20 74 6f 20 62 65 20 75 73 65  | ODO:.Return.the.string.to.be.use | 
| 21d80 |  64 20 61 73 20 74 68 65 20 43 61 6c 69 62 72 65    64 62 20 68 65 61 64 65 72 2e 0a 49 6e 64 69 63  | d.as.the.Calibredb.header..Indic | 
| 21da0 |  61 74 69 6e 67 20 74 68 65 20 6c 69 62 72 61 72    79 20 79 6f 75 20 75 73 65 2e 22 0a 20 20 28 66  | ating.the.library.you.use."...(f | 
| 21dc0 |  6f 72 6d 61 74 20 22 25 73 3a 20 25 73 20 20 20    25 73 22 0a 20 20 20 20 20 20 20 20 20 20 28 70  | ormat."%s:.%s...%s"...........(p | 
| 21de0 |  72 6f 70 65 72 74 69 7a 65 20 63 61 6c 69 62 72    65 64 62 2d 76 69 72 74 75 61 6c 2d 6c 69 62 72  | ropertize.calibredb-virtual-libr | 
| 21e00 |  61 72 79 2d 6e 61 6d 65 20 27 66 61 63 65 20 27    63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68  | ary-name.'face.'calibredb-search | 
| 21e20 |  2d 68 65 61 64 65 72 2d 6c 69 62 72 61 72 79 2d    6e 61 6d 65 2d 66 61 63 65 29 0a 20 20 20 20 20  | -header-library-name-face)...... | 
| 21e40 |  20 20 20 20 20 28 70 72 6f 70 65 72 74 69 7a 65    20 63 61 6c 69 62 72 65 64 62 2d 72 6f 6f 74 2d  | .....(propertize.calibredb-root- | 
| 21e60 |  64 69 72 20 27 66 61 63 65 20 27 63 61 6c 69 62    72 65 64 62 2d 73 65 61 72 63 68 2d 68 65 61 64  | dir.'face.'calibredb-search-head | 
| 21e80 |  65 72 2d 6c 69 62 72 61 72 79 2d 70 61 74 68 2d    66 61 63 65 29 0a 20 20 20 20 20 20 20 20 20 20  | er-library-path-face)........... | 
| 21ea0 |  28 63 6f 6e 63 61 74 0a 20 20 20 20 20 20 20 20    20 20 20 28 70 72 6f 70 65 72 74 69 7a 65 20 28  | (concat............(propertize.( | 
| 21ec0 |  66 6f 72 6d 61 74 20 22 54 6f 74 61 6c 3a 20 25    73 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  | format."Total:.%s".............. | 
| 21ee0 |  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 63 61 6c  | ..................(if.(equal.cal | 
| 21f00 |  69 62 72 65 64 62 2d 73 65 61 72 63 68 2d 65 6e    74 72 69 65 73 2d 6c 65 6e 67 74 68 20 30 29 0a  | ibredb-search-entries-length.0). | 
| 21f20 |  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  | ................................ | 
| 21f40 |  20 20 20 22 30 20 20 20 22 0a 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | ..."0..."....................... | 
| 21f60 |  20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 63    61 74 20 28 6e 75 6d 62 65 72 2d 74 6f 2d 73 74  | ...........(concat.(number-to-st | 
| 21f80 |  72 69 6e 67 20 63 61 6c 69 62 72 65 64 62 2d 73    65 61 72 63 68 2d 65 6e 74 72 69 65 73 2d 6c 65  | ring.calibredb-search-entries-le | 
| 21fa0 |  6e 67 74 68 29 20 22 20 20 22 29 29 29 20 27 66    61 63 65 20 27 63 61 6c 69 62 72 65 64 62 2d 73  | ngth).".."))).'face.'calibredb-s | 
| 21fc0 |  65 61 72 63 68 2d 68 65 61 64 65 72 2d 74 6f 74    61 6c 2d 66 61 63 65 29 0a 20 20 20 20 20 20 20  | earch-header-total-face)........ | 
| 21fe0 |  20 20 20 20 28 66 6f 72 6d 61 74 20 22 50 61 67    65 3a 20 25 73 2f 25 73 20 20 22 0a 20 20 20 20  | ....(format."Page:.%s/%s.."..... | 
| 22000 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28    70 72 6f 70 65 72 74 69 7a 65 20 28 6e 75 6d 62  | ...............(propertize.(numb | 
| 22020 |  65 72 2d 74 6f 2d 73 74 72 69 6e 67 20 63 61 6c    69 62 72 65 64 62 2d 73 65 61 72 63 68 2d 63 75  | er-to-string.calibredb-search-cu | 
| 22040 |  72 72 65 6e 74 2d 70 61 67 65 29 20 27 66 61 63    65 20 27 66 6f 6e 74 2d 6c 6f 63 6b 2d 74 79 70  | rrent-page).'face.'font-lock-typ | 
| 22060 |  65 2d 66 61 63 65 29 0a 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 28 70 72 6f 70  | e-face)....................(prop | 
| 22080 |  65 72 74 69 7a 65 20 28 6e 75 6d 62 65 72 2d 74    6f 2d 73 74 72 69 6e 67 20 63 61 6c 69 62 72 65  | ertize.(number-to-string.calibre | 
| 220a0 |  64 62 2d 73 65 61 72 63 68 2d 70 61 67 65 73 29    20 27 66 61 63 65 20 27 66 6f 6e 74 2d 6c 6f 63  | db-search-pages).'face.'font-loc | 
| 220c0 |  6b 2d 74 79 70 65 2d 66 61 63 65 29 29 0a 20 20    20 20 20 20 20 20 20 20 20 28 63 6f 6e 64 20 28  | k-type-face))............(cond.( | 
| 220e0 |  28 65 71 20 63 61 6c 69 62 72 65 64 62 2d 73 6f    72 74 2d 62 79 20 27 69 64 29 0a 20 20 20 20 20  | (eq.calibredb-sort-by.'id)...... | 
| 22100 |  20 20 20 20 20 20 20 20 20 20 20 20 20 22 53 6f    72 74 3a 20 69 64 20 22 29 0a 20 20 20 20 20 20  | ............."Sort:.id.")....... | 
| 22120 |  20 20 20 20 20 20 20 20 20 20 20 28 28 65 71 20    63 61 6c 69 62 72 65 64 62 2d 73 6f 72 74 2d 62  | ...........((eq.calibredb-sort-b | 
| 22140 |  79 20 27 74 69 74 6c 65 29 0a 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 22 53 6f 72  | y.'title)..................."Sor | 
| 22160 |  74 3a 20 74 69 74 6c 65 20 22 29 0a 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 65  | t:.title.")..................((e | 
| 22180 |  71 20 63 61 6c 69 62 72 65 64 62 2d 73 6f 72 74    2d 62 79 20 27 61 75 74 68 6f 72 29 0a 20 20 20  | q.calibredb-sort-by.'author).... | 
| 221a0 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22    53 6f 72 74 3a 20 61 75 74 68 6f 72 20 22 29 0a  | ..............."Sort:.author."). | 
| 221c0 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 28 28 65 71 20 63 61 6c 69 62 72 65 64 62 2d  | .................((eq.calibredb- | 
| 221e0 |  73 6f 72 74 2d 62 79 20 27 66 6f 72 6d 61 74 29    0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | sort-by.'format)................ | 
| 22200 |  20 20 20 22 53 6f 72 74 3a 20 66 6f 72 6d 61 74    20 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20  | ..."Sort:.format.")............. | 
| 22220 |  20 20 20 20 20 28 28 65 71 20 63 61 6c 69 62 72    65 64 62 2d 73 6f 72 74 2d 62 79 20 27 64 61 74  | .....((eq.calibredb-sort-by.'dat | 
| 22240 |  65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 22 53 6f 72 74 3a 20 64 61 74 65  | e)..................."Sort:.date | 
| 22260 |  20 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 28 28 65 71 20 63 61 6c 69 62 72  | .")..................((eq.calibr | 
| 22280 |  65 64 62 2d 73 6f 72 74 2d 62 79 20 27 70 75 62    64 61 74 65 29 0a 20 20 20 20 20 20 20 20 20 20  | edb-sort-by.'pubdate)........... | 
| 222a0 |  20 20 20 20 20 20 20 20 22 53 6f 72 74 3a 20 70    75 62 64 61 74 65 20 22 29 0a 20 20 20 20 20 20  | ........"Sort:.pubdate.")....... | 
| 222c0 |  20 20 20 20 20 20 20 20 20 20 20 28 28 65 71 20    63 61 6c 69 62 72 65 64 62 2d 73 6f 72 74 2d 62  | ...........((eq.calibredb-sort-b | 
| 222e0 |  79 20 27 74 61 67 29 0a 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 22 53 6f 72 74 3a  | y.'tag)..................."Sort: | 
| 22300 |  20 74 61 67 20 22 29 0a 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 28 28 65 71 20 63 61  | .tag.")..................((eq.ca | 
| 22320 |  6c 69 62 72 65 64 62 2d 73 6f 72 74 2d 62 79 20    27 73 69 7a 65 29 0a 20 20 20 20 20 20 20 20 20  | libredb-sort-by.'size).......... | 
| 22340 |  20 20 20 20 20 20 20 20 20 22 53 6f 72 74 3a 20    73 69 7a 65 20 22 29 0a 20 20 20 20 20 20 20 20  | ........."Sort:.size.")......... | 
| 22360 |  20 20 20 20 20 20 20 20 20 28 28 65 71 20 63 61    6c 69 62 72 65 64 62 2d 73 6f 72 74 2d 62 79 20  | .........((eq.calibredb-sort-by. | 
| 22380 |  27 6c 61 6e 67 75 61 67 65 29 0a 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 22 53 6f  | 'language)..................."So | 
| 223a0 |  72 74 3a 20 6c 61 6e 67 75 61 67 65 20 22 29 0a    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | rt:.language.")................. | 
| 223c0 |  20 28 74 0a 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 22 53 6f 72 74 3a 20 69 64 20  | .(t..................."Sort:.id. | 
| 223e0 |  22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28    63 6f 6e 64 20 28 28 65 71 20 63 61 6c 69 62 72  | "))............(cond.((eq.calibr | 
| 22400 |  65 64 62 2d 6f 72 64 65 72 20 27 64 65 73 63 29    0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | edb-order.'desc)................ | 
| 22420 |  20 20 20 22 e2 86 93 20 20 22 29 0a 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 65  | ...".....")..................((e | 
| 22440 |  71 20 63 61 6c 69 62 72 65 64 62 2d 6f 72 64 65    72 20 27 61 73 63 29 0a 20 20 20 20 20 20 20 20  | q.calibredb-order.'asc)......... | 
| 22460 |  20 20 20 20 20 20 20 20 20 20 22 e2 86 91 20 20    22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  | ..........".....").............. | 
| 22480 |  20 20 20 20 28 74 20 22 e2 86 93 20 20 22 29 29    0a 20 20 20 20 20 20 20 20 20 20 20 28 70 72 6f  | ....(t."....."))............(pro | 
| 224a0 |  70 65 72 74 69 7a 65 20 28 66 6f 72 6d 61 74 20    22 25 73 25 73 22 0a 20 20 20 20 20 20 20 20 20  | pertize.(format."%s%s".......... | 
| 224c0 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 28 63 6f 6e 64 0a 20 20 20 20  | ......................(cond..... | 
| 224e0 |  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 63 61 6c  | ............................(cal | 
| 22500 |  69 62 72 65 64 62 2d 74 61 67 2d 66 69 6c 74 65    72 2d 70 20 22 54 61 67 3a 20 22 29 0a 20 20 20  | ibredb-tag-filter-p."Tag:.").... | 
| 22520 |  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 63 61  | .............................(ca | 
| 22540 |  6c 69 62 72 65 64 62 2d 66 61 76 6f 72 69 74 65    2d 66 69 6c 74 65 72 2d 70 20 22 46 61 76 6f 72  | libredb-favorite-filter-p."Favor | 
| 22560 |  69 74 65 3a 20 22 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  | ite:.")......................... | 
| 22580 |  20 20 20 20 20 20 20 20 28 63 61 6c 69 62 72 65    64 62 2d 61 75 74 68 6f 72 2d 66 69 6c 74 65 72  | ........(calibredb-author-filter | 
| 225a0 |  2d 70 20 22 41 75 74 68 6f 72 3a 20 22 29 0a 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | -p."Author:.").................. | 
| 225c0 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28    63 61 6c 69 62 72 65 64 62 2d 64 61 74 65 2d 66  | ...............(calibredb-date-f | 
| 225e0 |  69 6c 74 65 72 2d 70 20 22 44 61 74 65 3a 20 22    29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | ilter-p."Date:.")............... | 
| 22600 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 28 63 61 6c 69 62 72 65 64 62 2d 66 6f 72  | ..................(calibredb-for | 
| 22620 |  6d 61 74 2d 66 69 6c 74 65 72 2d 70 20 22 46 6f    72 6d 61 74 3a 20 22 29 0a 20 20 20 20 20 20 20  | mat-filter-p."Format:.")........ | 
| 22640 |  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 74 20 22 22 29 29  | .........................(t."")) | 
| 22660 |  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 20 20 20 20  | ................................ | 
| 22680 |  28 69 66 20 28 65 71 75 61 6c 20 63 61 6c 69 62    72 65 64 62 2d 73 65 61 72 63 68 2d 66 69 6c 74  | (if.(equal.calibredb-search-filt | 
| 226a0 |  65 72 20 22 22 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  | er."").......................... | 
| 226c0 |  20 20 20 20 20 20 20 20 20 20 22 22 0a 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | .........."".................... | 
| 226e0 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63    6f 6e 63 61 74 20 63 61 6c 69 62 72 65 64 62 2d  | ..............(concat.calibredb- | 
| 22700 |  73 65 61 72 63 68 2d 66 69 6c 74 65 72 20 22 20    20 20 22 29 29 29 20 27 66 61 63 65 20 27 63 61  | search-filter."..."))).'face.'ca | 
| 22720 |  6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2d 68    65 61 64 65 72 2d 73 6f 72 74 2d 66 61 63 65 29  | libredb-search-header-sort-face) | 
| 22740 |  0a 20 20 20 20 20 20 20 20 20 20 20 28 70 72 6f    70 65 72 74 69 7a 65 20 28 6c 65 74 20 28 28 6c  | ............(propertize.(let.((l | 
| 22760 |  65 6e 20 28 6c 65 6e 67 74 68 20 28 63 61 6c 69    62 72 65 64 62 2d 66 69 6e 64 2d 6d 61 72 6b 65  | en.(length.(calibredb-find-marke | 
| 22780 |  64 2d 63 61 6e 64 69 64 61 74 65 73 29 29 29 29    0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | d-candidates))))................ | 
| 227a0 |  20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 3e    20 6c 65 6e 20 30 29 0a 20 20 20 20 20 20 20 20  | ..........(if.(>.len.0)......... | 
| 227c0 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 28 63 6f 6e 63 61 74 20 22 4d 61  | .....................(concat."Ma | 
| 227e0 |  72 6b 65 64 3a 20 22 20 28 6e 75 6d 62 65 72 2d    74 6f 2d 73 74 72 69 6e 67 20 6c 65 6e 29 29 20  | rked:.".(number-to-string.len)). | 
| 22800 |  22 22 29 29 20 27 66 61 63 65 20 27 63 61 6c 69    62 72 65 64 62 2d 73 65 61 72 63 68 2d 68 65 61  | "")).'face.'calibredb-search-hea | 
| 22820 |  64 65 72 2d 66 69 6c 74 65 72 2d 66 61 63 65 29    29 29 29 0a 0a 28 64 65 66 69 6e 65 2d 64 65 72  | der-filter-face))))..(define-der | 
| 22840 |  69 76 65 64 2d 6d 6f 64 65 20 63 61 6c 69 62 72    65 64 62 2d 73 65 61 72 63 68 2d 6d 6f 64 65 20  | ived-mode.calibredb-search-mode. | 
| 22860 |  66 75 6e 64 61 6d 65 6e 74 61 6c 2d 6d 6f 64 65    20 22 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72  | fundamental-mode."calibredb-sear | 
| 22880 |  63 68 22 0a 20 20 22 4d 61 6a 6f 72 20 6d 6f 64    65 20 66 6f 72 20 6c 69 73 74 69 6e 67 20 63 61  | ch"..."Major.mode.for.listing.ca | 
| 228a0 |  6c 69 62 72 65 20 65 6e 74 72 69 65 73 2e 0a 5c    5c 7b 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72  | libre.entries..\\{calibredb-sear | 
| 228c0 |  63 68 2d 6d 6f 64 65 2d 6d 61 70 7d 22 0a 20 20    28 73 65 74 71 20 74 72 75 6e 63 61 74 65 2d 6c  | ch-mode-map}"...(setq.truncate-l | 
| 228e0 |  69 6e 65 73 20 74 0a 20 20 20 20 20 20 20 20 62    75 66 66 65 72 2d 72 65 61 64 2d 6f 6e 6c 79 20  | ines.t.........buffer-read-only. | 
| 22900 |  74 0a 20 20 20 20 20 20 20 20 68 65 61 64 65 72    2d 6c 69 6e 65 2d 66 6f 72 6d 61 74 20 27 28 3a  | t.........header-line-format.'(: | 
| 22920 |  65 76 61 6c 20 28 66 75 6e 63 61 6c 6c 20 63 61    6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2d 68  | eval.(funcall.calibredb-search-h | 
| 22940 |  65 61 64 65 72 2d 66 75 6e 63 74 69 6f 6e 29 29    29 0a 20 20 28 62 75 66 66 65 72 2d 64 69 73 61  | eader-function)))...(buffer-disa | 
| 22960 |  62 6c 65 2d 75 6e 64 6f 29 0a 20 20 28 72 65 71    75 69 72 65 20 27 68 6c 2d 6c 69 6e 65 29 0a 20  | ble-undo)...(require.'hl-line).. | 
| 22980 |  20 28 73 65 74 20 28 6d 61 6b 65 2d 6c 6f 63 61    6c 2d 76 61 72 69 61 62 6c 65 20 27 68 6c 2d 6c  | .(set.(make-local-variable.'hl-l | 
| 229a0 |  69 6e 65 2d 66 61 63 65 29 20 27 63 61 6c 69 62    72 65 64 62 2d 73 65 61 72 63 68 2d 68 65 61 64  | ine-face).'calibredb-search-head | 
| 229c0 |  65 72 2d 68 69 67 68 6c 69 67 68 74 2d 66 61 63    65 29 0a 20 20 28 68 6c 2d 6c 69 6e 65 2d 6d 6f  | er-highlight-face)...(hl-line-mo | 
| 229e0 |  64 65 29 0a 20 20 28 69 66 20 28 62 6f 75 6e 64    70 20 27 69 76 79 2d 73 6f 72 74 2d 6d 61 74 63  | de)...(if.(boundp.'ivy-sort-matc | 
| 22a00 |  68 65 73 2d 66 75 6e 63 74 69 6f 6e 73 2d 61 6c    69 73 74 29 0a 20 20 20 20 20 20 28 61 64 64 2d  | hes-functions-alist).......(add- | 
| 22a20 |  74 6f 2d 6c 69 73 74 20 27 69 76 79 2d 73 6f 72    74 2d 6d 61 74 63 68 65 73 2d 66 75 6e 63 74 69  | to-list.'ivy-sort-matches-functi | 
| 22a40 |  6f 6e 73 2d 61 6c 69 73 74 20 27 28 63 61 6c 69    62 72 65 64 62 2d 61 64 64 20 2e 20 69 76 79 2d  | ons-alist.'(calibredb-add...ivy- | 
| 22a60 |  2d 73 6f 72 74 2d 66 69 6c 65 73 2d 62 79 2d 64    61 74 65 29 29 29 0a 20 20 28 69 66 20 28 62 6f  | -sort-files-by-date)))...(if.(bo | 
| 22a80 |  75 6e 64 70 20 27 69 76 79 2d 61 6c 74 2d 64 6f    6e 65 2d 66 75 6e 63 74 69 6f 6e 73 2d 61 6c 69  | undp.'ivy-alt-done-functions-ali | 
| 22aa0 |  73 74 29 0a 20 20 20 20 20 20 28 61 64 64 2d 74    6f 2d 6c 69 73 74 20 27 69 76 79 2d 61 6c 74 2d  | st).......(add-to-list.'ivy-alt- | 
| 22ac0 |  64 6f 6e 65 2d 66 75 6e 63 74 69 6f 6e 73 2d 61    6c 69 73 74 20 27 28 63 61 6c 69 62 72 65 64 62  | done-functions-alist.'(calibredb | 
| 22ae0 |  2d 61 64 64 20 2e 20 69 76 79 2d 2d 64 69 72 65    63 74 6f 72 79 2d 64 6f 6e 65 29 29 29 0a 20 20  | -add...ivy--directory-done)))... | 
| 22b00 |  28 61 64 64 2d 68 6f 6f 6b 20 27 6d 69 6e 69 62    75 66 66 65 72 2d 73 65 74 75 70 2d 68 6f 6f 6b  | (add-hook.'minibuffer-setup-hook | 
| 22b20 |  20 23 27 63 61 6c 69 62 72 65 64 62 2d 73 65 61    72 63 68 2d 2d 6d 69 6e 69 62 75 66 66 65 72 2d  | .#'calibredb-search--minibuffer- | 
| 22b40 |  73 65 74 75 70 29 0a 20 20 28 61 64 64 2d 74 6f    2d 6c 69 73 74 20 27 6d 61 69 6c 63 61 70 2d 6d  | setup)...(add-to-list.'mailcap-m | 
| 22b60 |  69 6d 65 2d 65 78 74 65 6e 73 69 6f 6e 73 20 27    28 22 2e 65 70 75 62 22 20 2e 20 22 61 70 70 6c  | ime-extensions.'(".epub"..."appl | 
| 22b80 |  69 63 61 74 69 6f 6e 2f 65 70 75 62 2b 7a 69 70    22 29 29 0a 20 20 28 61 64 64 2d 74 6f 2d 6c 69  | ication/epub+zip"))...(add-to-li | 
| 22ba0 |  73 74 20 27 6d 61 69 6c 63 61 70 2d 6d 69 6d 65    2d 65 78 74 65 6e 73 69 6f 6e 73 20 27 28 22 2e  | st.'mailcap-mime-extensions.'(". | 
| 22bc0 |  61 7a 77 33 22 20 2e 20 22 61 70 70 6c 69 63 61    74 69 6f 6e 2f 78 2d 6d 6f 62 69 38 2d 65 62 6f  | azw3"..."application/x-mobi8-ebo | 
| 22be0 |  6f 6b 22 29 29 0a 20 20 28 61 64 64 2d 74 6f 2d    6c 69 73 74 20 27 6d 61 69 6c 63 61 70 2d 6d 69  | ok"))...(add-to-list.'mailcap-mi | 
| 22c00 |  6d 65 2d 65 78 74 65 6e 73 69 6f 6e 73 20 27 28    22 2e 6d 6f 62 69 22 20 2e 20 22 61 70 70 6c 69  | me-extensions.'(".mobi"..."appli | 
| 22c20 |  63 61 74 69 6f 6e 2f 78 2d 6d 6f 62 69 70 6f 63    6b 65 74 2d 65 62 6f 6f 6b 22 29 29 29 0a 0a 28  | cation/x-mobipocket-ebook")))..( | 
| 22c40 |  64 65 66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d    73 65 61 72 63 68 2d 6d 6f 75 73 65 20 28 65 76  | defun.calibredb-search-mouse.(ev | 
| 22c60 |  65 6e 74 29 0a 20 20 22 56 69 73 69 74 20 74 68    65 20 63 61 6c 69 62 72 65 64 62 2d 65 6e 74 72  | ent)..."Visit.the.calibredb-entr | 
| 22c80 |  79 20 63 6c 69 63 6b 20 6f 6e 2e 0a 41 72 67 75    6d 65 6e 74 20 45 56 45 4e 54 20 6d 6f 75 73 65  | y.click.on..Argument.EVENT.mouse | 
| 22ca0 |  20 65 76 65 6e 74 2e 22 0a 20 20 28 69 6e 74 65    72 61 63 74 69 76 65 20 22 65 22 29 0a 20 20 28  | .event."...(interactive."e")...( | 
| 22cc0 |  6c 65 74 20 28 28 77 69 6e 64 6f 77 20 28 70 6f    73 6e 2d 77 69 6e 64 6f 77 20 28 65 76 65 6e 74  | let.((window.(posn-window.(event | 
| 22ce0 |  2d 65 6e 64 20 65 76 65 6e 74 29 29 29 0a 20 20    20 20 20 20 20 20 28 70 6f 73 20 28 70 6f 73 6e  | -end.event))).........(pos.(posn | 
| 22d00 |  2d 70 6f 69 6e 74 20 28 65 76 65 6e 74 2d 65 6e    64 20 65 76 65 6e 74 29 29 29 29 0a 20 20 20 20  | -point.(event-end.event))))..... | 
| 22d20 |  28 69 66 20 28 6e 6f 74 20 28 77 69 6e 64 6f 77    70 20 77 69 6e 64 6f 77 29 29 0a 20 20 20 20 20  | (if.(not.(windowp.window))...... | 
| 22d40 |  20 20 20 28 65 72 72 6f 72 20 22 4e 6f 20 65 62    6f 6f 6b 20 63 68 6f 73 65 6e 22 29 29 0a 20 20  | ...(error."No.ebook.chosen"))... | 
| 22d60 |  20 20 28 63 61 6c 69 62 72 65 64 62 2d 73 68 6f    77 2d 65 6e 74 72 79 20 28 63 61 72 20 28 63 61  | ..(calibredb-show-entry.(car.(ca | 
| 22d80 |  6c 69 62 72 65 64 62 2d 66 69 6e 64 2d 63 61 6e    64 69 64 61 74 65 2d 61 74 2d 70 6f 69 6e 74 29  | libredb-find-candidate-at-point) | 
| 22da0 |  29 29 0a 20 20 20 20 28 73 65 6c 65 63 74 2d 77    69 6e 64 6f 77 20 77 69 6e 64 6f 77 29 0a 20 20  | )).....(select-window.window)... | 
| 22dc0 |  20 20 28 73 65 74 2d 62 75 66 66 65 72 20 28 63    61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2d  | ..(set-buffer.(calibredb-search- | 
| 22de0 |  2d 62 75 66 66 65 72 2d 6e 61 6d 65 29 29 0a 20    20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 70 6f  | -buffer-name)).....(goto-char.po | 
| 22e00 |  73 29 29 29 0a 0a 28 64 65 66 75 6e 20 63 61 6c    69 62 72 65 64 62 2d 76 69 65 77 20 28 29 0a 20  | s)))..(defun.calibredb-view.().. | 
| 22e20 |  20 22 56 69 73 69 74 20 74 68 65 20 63 61 6c 69    62 72 65 64 62 2d 65 6e 74 72 79 2e 22 0a 20 20  | ."Visit.the.calibredb-entry."... | 
| 22e40 |  28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20    28 63 61 6c 69 62 72 65 64 62 2d 73 68 6f 77 2d  | (interactive)...(calibredb-show- | 
| 22e60 |  65 6e 74 72 79 20 28 63 61 72 20 28 63 61 6c 69    62 72 65 64 62 2d 66 69 6e 64 2d 63 61 6e 64 69  | entry.(car.(calibredb-find-candi | 
| 22e80 |  64 61 74 65 2d 61 74 2d 70 6f 69 6e 74 29 29 20    3a 73 77 69 74 63 68 29 29 0a 0a 28 64 65 66 75  | date-at-point)).:switch))..(defu | 
| 22ea0 |  6e 20 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72    63 68 2d 72 65 66 72 65 73 68 20 28 29 0a 20 20  | n.calibredb-search-refresh.()... | 
| 22ec0 |  22 52 65 66 72 65 73 68 20 63 61 6c 69 62 72 65    64 62 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74  | "Refresh.calibredb."...(interact | 
| 22ee0 |  69 76 65 29 0a 20 20 28 63 61 6c 69 62 72 65 64    62 29 29 0a 0a 28 64 65 66 75 6e 20 63 61 6c 69  | ive)...(calibredb))..(defun.cali | 
| 22f00 |  62 72 65 64 62 2d 73 65 61 72 63 68 2d 72 65 66    72 65 73 68 2d 6f 72 2d 72 65 73 75 6d 65 20 28  | bredb-search-refresh-or-resume.( | 
| 22f20 |  26 6f 70 74 69 6f 6e 61 6c 20 62 65 67 69 6e 20    70 6f 73 69 74 69 6f 6e 29 0a 20 20 22 52 65 66  | &optional.begin.position)..."Ref | 
| 22f40 |  72 65 73 68 20 63 61 6c 69 62 72 65 64 62 20 6f    72 20 72 65 73 75 6d 65 20 74 68 65 20 42 45 47  | resh.calibredb.or.resume.the.BEG | 
| 22f60 |  49 4e 20 70 6f 69 6e 74 20 61 6e 64 20 77 69 6e    64 6f 77 73 20 50 4f 53 49 54 49 4f 4e 2e 22 0a  | IN.point.and.windows.POSITION.". | 
| 22f80 |  20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a    20 20 28 6c 65 74 20 28 62 65 67 20 70 6f 73 29  | ..(interactive)...(let.(beg.pos) | 
| 22fa0 |  0a 20 20 20 20 28 73 65 74 71 20 62 65 67 20 28    6f 72 20 62 65 67 69 6e 20 28 70 6f 69 6e 74 29  | .....(setq.beg.(or.begin.(point) | 
| 22fc0 |  29 29 0a 20 20 20 20 28 73 65 74 71 20 70 6f 73    20 28 6f 72 20 70 6f 73 69 74 69 6f 6e 20 28 77  | )).....(setq.pos.(or.position.(w | 
| 22fe0 |  69 6e 64 6f 77 2d 73 74 61 72 74 29 29 29 0a 20    20 20 20 28 69 66 20 28 6e 6f 74 20 28 65 71 75  | indow-start))).....(if.(not.(equ | 
| 23000 |  61 6c 20 63 61 6c 69 62 72 65 64 62 2d 73 65 61    72 63 68 2d 66 69 6c 74 65 72 20 22 22 29 29 0a  | al.calibredb-search-filter."")). | 
| 23020 |  20 20 20 20 20 20 20 20 28 70 72 6f 67 6e 0a 20    20 20 20 20 20 20 20 20 20 28 63 61 6c 69 62 72  | ........(progn...........(calibr | 
| 23040 |  65 64 62 2d 73 65 61 72 63 68 2d 72 65 66 72 65    73 68 29 0a 20 20 20 20 20 20 20 20 20 20 28 63  | edb-search-refresh)...........(c | 
| 23060 |  61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2d    75 70 64 61 74 65 2d 62 75 66 66 65 72 2d 62 79  | alibredb-search-update-buffer-by | 
| 23080 |  2d 6c 69 62 72 61 72 79 2d 74 79 70 65 29 29 0a    20 20 20 20 20 20 28 63 61 6c 69 62 72 65 64 62  | -library-type)).......(calibredb | 
| 230a0 |  2d 73 65 61 72 63 68 2d 72 65 66 72 65 73 68 29    29 0a 20 20 20 20 28 73 65 74 2d 77 69 6e 64 6f  | -search-refresh)).....(set-windo | 
| 230c0 |  77 2d 73 74 61 72 74 20 28 73 65 6c 65 63 74 65    64 2d 77 69 6e 64 6f 77 29 20 70 6f 73 29 0a 20  | w-start.(selected-window).pos).. | 
| 230e0 |  20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 62 65    67 29 0a 20 20 20 20 28 68 6c 2d 6c 69 6e 65 2d  | ...(goto-char.beg).....(hl-line- | 
| 23100 |  6d 6f 64 65 20 31 29 29 29 0a 0a 28 64 65 66 75    6e 20 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72  | mode.1)))..(defun.calibredb-sear | 
| 23120 |  63 68 2d 74 6f 67 67 6c 65 2d 76 69 65 77 2d 72    65 66 72 65 73 68 20 28 29 0a 20 20 22 54 4f 44  | ch-toggle-view-refresh.()..."TOD | 
| 23140 |  4f 20 52 65 66 72 65 73 68 20 63 61 6c 69 62 72    65 64 62 20 77 68 65 6e 20 74 6f 67 67 6c 65 20  | O.Refresh.calibredb.when.toggle. | 
| 23160 |  76 69 65 77 20 67 6f 74 6f 20 74 68 65 20 74 68    65 20 73 61 6d 65 20 69 64 20 65 62 6f 6f 6b 2e  | view.goto.the.the.same.id.ebook. | 
| 23180 |  22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65    29 0a 20 20 28 6c 65 74 20 28 28 69 64 20 28 63  | "...(interactive)...(let.((id.(c | 
| 231a0 |  61 6c 69 62 72 65 64 62 2d 72 65 61 64 2d 6d 65    74 61 64 61 74 61 73 20 22 69 64 22 29 29 29 0a  | alibredb-read-metadatas."id"))). | 
| 231c0 |  20 20 20 20 28 69 66 20 28 6e 6f 74 20 28 65 71    75 61 6c 20 63 61 6c 69 62 72 65 64 62 2d 73 65  | ....(if.(not.(equal.calibredb-se | 
| 231e0 |  61 72 63 68 2d 66 69 6c 74 65 72 20 22 22 29 29    0a 20 20 20 20 20 20 20 20 28 70 72 6f 67 6e 0a  | arch-filter."")).........(progn. | 
| 23200 |  20 20 20 20 20 20 20 20 20 20 28 63 61 6c 69 62    72 65 64 62 2d 73 65 61 72 63 68 2d 72 65 66 72  | ..........(calibredb-search-refr | 
| 23220 |  65 73 68 29 0a 20 20 20 20 20 20 20 20 20 20 28    63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68  | esh)...........(calibredb-search | 
| 23240 |  2d 75 70 64 61 74 65 2d 62 75 66 66 65 72 2d 62    79 2d 6c 69 62 72 61 72 79 2d 74 79 70 65 29 29  | -update-buffer-by-library-type)) | 
| 23260 |  0a 20 20 20 20 20 20 28 63 61 6c 69 62 72 65 64    62 2d 73 65 61 72 63 68 2d 72 65 66 72 65 73 68  | .......(calibredb-search-refresh | 
| 23280 |  29 29 0a 20 20 20 20 28 77 68 69 6c 65 20 28 6e    6f 74 20 28 65 71 75 61 6c 20 69 64 20 28 63 61  | )).....(while.(not.(equal.id.(ca | 
| 232a0 |  6c 69 62 72 65 64 62 2d 72 65 61 64 2d 6d 65 74    61 64 61 74 61 73 20 22 69 64 22 29 29 29 0a 20  | libredb-read-metadatas."id"))).. | 
| 232c0 |  20 20 20 20 20 28 66 6f 72 77 61 72 64 2d 6c 69    6e 65 20 31 29 29 0a 20 20 20 20 28 62 65 67 69  | .....(forward-line.1)).....(begi | 
| 232e0 |  6e 6e 69 6e 67 2d 6f 66 2d 6c 69 6e 65 29 0a 20    20 20 20 28 72 65 63 65 6e 74 65 72 29 29 29 0a  | nning-of-line).....(recenter))). | 
| 23300 |  0a 28 64 65 66 75 6e 20 63 61 6c 69 62 72 65 64    62 2d 73 65 61 72 63 68 2d 72 65 66 72 65 73 68  | .(defun.calibredb-search-refresh | 
| 23320 |  2d 61 6e 64 2d 63 6c 65 61 72 2d 66 69 6c 74 65    72 20 28 29 0a 20 20 22 52 65 66 72 65 73 68 20  | -and-clear-filter.()..."Refresh. | 
| 23340 |  63 61 6c 69 62 72 65 64 62 20 61 6e 64 20 63 6c    65 61 72 20 74 68 65 20 66 69 74 6c 65 72 20 6b  | calibredb.and.clear.the.fitler.k | 
| 23360 |  65 79 77 6f 72 64 2e 22 0a 20 20 28 69 6e 74 65    72 61 63 74 69 76 65 29 0a 20 20 28 63 61 6c 69  | eyword."...(interactive)...(cali | 
| 23380 |  62 72 65 64 62 2d 73 65 61 72 63 68 2d 72 65 66    72 65 73 68 29 0a 20 20 28 73 65 74 71 20 63 61  | bredb-search-refresh)...(setq.ca | 
| 233a0 |  6c 69 62 72 65 64 62 2d 74 61 67 2d 66 69 6c 74    65 72 2d 70 20 6e 69 6c 29 0a 20 20 28 73 65 74  | libredb-tag-filter-p.nil)...(set | 
| 233c0 |  71 20 63 61 6c 69 62 72 65 64 62 2d 66 61 76 6f    72 69 74 65 2d 66 69 6c 74 65 72 2d 70 20 6e 69  | q.calibredb-favorite-filter-p.ni | 
| 233e0 |  6c 29 0a 20 20 28 73 65 74 71 20 63 61 6c 69 62    72 65 64 62 2d 61 75 74 68 6f 72 2d 66 69 6c 74  | l)...(setq.calibredb-author-filt | 
| 23400 |  65 72 2d 70 20 6e 69 6c 29 0a 20 20 28 73 65 74    71 20 63 61 6c 69 62 72 65 64 62 2d 64 61 74 65  | er-p.nil)...(setq.calibredb-date | 
| 23420 |  2d 66 69 6c 74 65 72 2d 70 20 6e 69 6c 29 0a 20    20 28 73 65 74 71 20 63 61 6c 69 62 72 65 64 62  | -filter-p.nil)...(setq.calibredb | 
| 23440 |  2d 66 6f 72 6d 61 74 2d 66 69 6c 74 65 72 2d 70    20 6e 69 6c 29 0a 20 20 28 73 65 74 71 20 63 61  | -format-filter-p.nil)...(setq.ca | 
| 23460 |  6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2d 63    75 72 72 65 6e 74 2d 70 61 67 65 20 31 29 0a 20  | libredb-search-current-page.1).. | 
| 23480 |  20 28 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72    63 68 2d 6b 65 79 77 6f 72 64 2d 66 69 6c 74 65  | .(calibredb-search-keyword-filte | 
| 234a0 |  72 20 22 22 29 29 0a 0a 28 64 65 66 75 6e 20 63    61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2d  | r.""))..(defun.calibredb-search- | 
| 234c0 |  63 6c 65 61 72 2d 66 69 6c 74 65 72 20 28 29 0a    20 20 22 43 6c 65 61 72 20 74 68 65 20 66 69 74  | clear-filter.()..."Clear.the.fit | 
| 234e0 |  6c 65 72 20 6b 65 79 77 6f 72 64 2e 22 0a 20 20    28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20  | ler.keyword."...(interactive)... | 
| 23500 |  28 73 65 74 71 20 63 61 6c 69 62 72 65 64 62 2d    74 61 67 2d 66 69 6c 74 65 72 2d 70 20 6e 69 6c  | (setq.calibredb-tag-filter-p.nil | 
| 23520 |  29 0a 20 20 28 73 65 74 71 20 63 61 6c 69 62 72    65 64 62 2d 66 61 76 6f 72 69 74 65 2d 66 69 6c  | )...(setq.calibredb-favorite-fil | 
| 23540 |  74 65 72 2d 70 20 6e 69 6c 29 0a 20 20 28 73 65    74 71 20 63 61 6c 69 62 72 65 64 62 2d 61 75 74  | ter-p.nil)...(setq.calibredb-aut | 
| 23560 |  68 6f 72 2d 66 69 6c 74 65 72 2d 70 20 6e 69 6c    29 0a 20 20 28 73 65 74 71 20 63 61 6c 69 62 72  | hor-filter-p.nil)...(setq.calibr | 
| 23580 |  65 64 62 2d 64 61 74 65 2d 66 69 6c 74 65 72 2d    70 20 6e 69 6c 29 0a 20 20 28 73 65 74 71 20 63  | edb-date-filter-p.nil)...(setq.c | 
| 235a0 |  61 6c 69 62 72 65 64 62 2d 66 6f 72 6d 61 74 2d    66 69 6c 74 65 72 2d 70 20 6e 69 6c 29 0a 20 20  | alibredb-format-filter-p.nil)... | 
| 235c0 |  28 73 65 74 71 20 63 61 6c 69 62 72 65 64 62 2d    73 65 61 72 63 68 2d 63 75 72 72 65 6e 74 2d 70  | (setq.calibredb-search-current-p | 
| 235e0 |  61 67 65 20 31 29 0a 20 20 28 63 61 6c 69 62 72    65 64 62 2d 73 65 61 72 63 68 2d 6b 65 79 77 6f  | age.1)...(calibredb-search-keywo | 
| 23600 |  72 64 2d 66 69 6c 74 65 72 20 22 22 29 29 0a 0a    28 64 65 66 75 6e 20 63 61 6c 69 62 72 65 64 62  | rd-filter.""))..(defun.calibredb | 
| 23620 |  2d 73 65 61 72 63 68 2d 71 75 69 74 20 28 29 0a    20 20 22 51 75 69 74 20 2a 63 61 6c 69 62 72 65  | -search-quit.()..."Quit.*calibre | 
| 23640 |  64 62 2d 65 6e 74 72 79 2a 20 6f 72 20 2a 63 61    6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2a 2e  | db-entry*.or.*calibredb-search*. | 
| 23660 |  22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65    29 0a 20 20 28 77 68 65 6e 20 28 65 71 20 6d 61  | "...(interactive)...(when.(eq.ma | 
| 23680 |  6a 6f 72 2d 6d 6f 64 65 20 27 63 61 6c 69 62 72    65 64 62 2d 73 65 61 72 63 68 2d 6d 6f 64 65 29  | jor-mode.'calibredb-search-mode) | 
| 236a0 |  0a 20 20 20 20 28 63 6f 6e 64 20 28 28 67 65 74    2d 62 75 66 66 65 72 20 22 2a 63 61 6c 69 62 72  | .....(cond.((get-buffer."*calibr | 
| 236c0 |  65 64 62 2d 65 6e 74 72 79 2a 22 29 0a 20 20 20    20 20 20 20 20 20 20 20 28 70 6f 70 2d 74 6f 2d  | edb-entry*")............(pop-to- | 
| 236e0 |  62 75 66 66 65 72 20 22 2a 63 61 6c 69 62 72 65    64 62 2d 65 6e 74 72 79 2a 22 29 0a 20 20 20 20  | buffer."*calibredb-entry*")..... | 
| 23700 |  20 20 20 20 20 20 20 28 69 66 20 28 3c 20 28 6c    65 6e 67 74 68 20 28 77 69 6e 64 6f 77 2d 70 72  | .......(if.(<.(length.(window-pr | 
| 23720 |  65 76 2d 62 75 66 66 65 72 73 29 29 20 32 29 0a    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28  | ev-buffers)).2)................( | 
| 23740 |  70 72 6f 67 6e 0a 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 28 71 75 69 74 2d 77 69 6e  | progn..................(quit-win | 
| 23760 |  64 6f 77 29 0a 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 28 6b 69 6c 6c 2d 62 75 66 66  | dow)..................(kill-buff | 
| 23780 |  65 72 20 22 2a 63 61 6c 69 62 72 65 64 62 2d 65    6e 74 72 79 2a 22 29 29 0a 20 20 20 20 20 20 20  | er."*calibredb-entry*"))........ | 
| 237a0 |  20 20 20 20 20 20 28 6b 69 6c 6c 2d 62 75 66 66    65 72 20 22 2a 63 61 6c 69 62 72 65 64 62 2d 65  | ......(kill-buffer."*calibredb-e | 
| 237c0 |  6e 74 72 79 2a 22 29 29 29 0a 20 20 20 20 20 20    20 20 20 20 28 28 67 65 74 2d 62 75 66 66 65 72  | ntry*")))...........((get-buffer | 
| 237e0 |  20 22 2a 63 61 6c 69 62 72 65 64 62 2d 73 65 61    72 63 68 2a 22 29 0a 20 20 20 20 20 20 20 20 20  | ."*calibredb-search*").......... | 
| 23800 |  20 20 28 71 75 69 74 2d 77 69 6e 64 6f 77 29 0a    20 20 20 20 20 20 20 20 20 20 20 28 6b 69 6c 6c  | ..(quit-window)............(kill | 
| 23820 |  2d 62 75 66 66 65 72 20 22 2a 63 61 6c 69 62 72    65 64 62 2d 73 65 61 72 63 68 2a 22 29 29 29 29  | -buffer."*calibredb-search*")))) | 
| 23840 |  29 0a 0a 28 64 65 66 75 6e 20 63 61 6c 69 62 72    65 64 62 2d 6d 61 72 6b 2d 61 74 2d 70 6f 69 6e  | )..(defun.calibredb-mark-at-poin | 
| 23860 |  74 20 28 29 0a 20 20 22 4d 61 72 6b 20 74 68 65    20 63 75 72 72 65 6e 74 20 6c 69 6e 65 2e 22 0a  | t.()..."Mark.the.current.line.". | 
| 23880 |  20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a    20 20 28 72 65 6d 6f 76 65 2d 6f 76 65 72 6c 61  | ..(interactive)...(remove-overla | 
| 238a0 |  79 73 20 28 6c 69 6e 65 2d 62 65 67 69 6e 6e 69    6e 67 2d 70 6f 73 69 74 69 6f 6e 29 20 28 6c 69  | ys.(line-beginning-position).(li | 
| 238c0 |  6e 65 2d 65 6e 64 2d 70 6f 73 69 74 69 6f 6e 29    29 0a 20 20 28 6c 65 74 2a 20 28 28 62 65 67 20  | ne-end-position))...(let*.((beg. | 
| 238e0 |  28 6c 69 6e 65 2d 62 65 67 69 6e 6e 69 6e 67 2d    70 6f 73 69 74 69 6f 6e 29 29 0a 20 20 20 20 20  | (line-beginning-position))...... | 
| 23900 |  20 20 20 20 28 65 6e 64 20 28 6c 69 6e 65 2d 65    6e 64 2d 70 6f 73 69 74 69 6f 6e 29 29 0a 20 20  | ....(end.(line-end-position))... | 
| 23920 |  20 20 20 20 20 20 20 28 69 6e 68 69 62 69 74 2d    72 65 61 64 2d 6f 6e 6c 79 20 74 29 0a 20 20 20  | .......(inhibit-read-only.t).... | 
| 23940 |  20 20 20 20 20 20 28 6f 76 65 72 6c 61 79 20 28    6d 61 6b 65 2d 6f 76 65 72 6c 61 79 20 62 65 67  | ......(overlay.(make-overlay.beg | 
| 23960 |  20 65 6e 64 29 29 29 0a 20 20 20 20 28 6f 76 65    72 6c 61 79 2d 70 75 74 20 6f 76 65 72 6c 61 79  | .end))).....(overlay-put.overlay | 
| 23980 |  20 27 66 61 63 65 20 27 63 61 6c 69 62 72 65 64    62 2d 6d 61 72 6b 2d 66 61 63 65 29 0a 20 20 20  | .'face.'calibredb-mark-face).... | 
| 239a0 |  20 28 70 75 74 2d 74 65 78 74 2d 70 72 6f 70 65    72 74 79 20 62 65 67 20 65 6e 64 20 27 63 61 6c  | .(put-text-property.beg.end.'cal | 
| 239c0 |  69 62 72 65 64 62 2d 6d 61 72 6b 20 3f 3e 29 29    29 0a 0a 28 64 65 66 75 6e 20 63 61 6c 69 62 72  | ibredb-mark.?>)))..(defun.calibr | 
| 239e0 |  65 64 62 2d 6d 61 72 6b 2d 61 6e 64 2d 66 6f 72    77 61 72 64 20 28 29 0a 20 20 22 4d 61 72 6b 20  | edb-mark-and-forward.()..."Mark. | 
| 23a00 |  74 68 65 20 63 75 72 72 65 6e 74 20 6c 69 6e 65    20 61 6e 64 20 66 6f 72 77 61 72 64 2e 22 0a 20  | the.current.line.and.forward.".. | 
| 23a20 |  20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20    20 28 63 61 6c 69 62 72 65 64 62 2d 6d 61 72 6b  | .(interactive)...(calibredb-mark | 
| 23a40 |  2d 61 74 2d 70 6f 69 6e 74 29 0a 20 20 28 63 61    6c 69 62 72 65 64 62 2d 6e 65 78 74 2d 65 6e 74  | -at-point)...(calibredb-next-ent | 
| 23a60 |  72 79 29 29 0a 0a 28 64 65 66 75 6e 20 63 61 6c    69 62 72 65 64 62 2d 75 6e 6d 61 72 6b 2d 61 6e  | ry))..(defun.calibredb-unmark-an | 
| 23a80 |  64 2d 66 6f 72 77 61 72 64 20 28 29 0a 20 20 22    55 6e 6d 61 72 6b 20 74 68 65 20 63 75 72 72 65  | d-forward.()..."Unmark.the.curre | 
| 23aa0 |  6e 74 20 6c 69 6e 65 20 61 6e 64 20 66 6f 72 77    61 72 64 2e 22 0a 20 20 28 69 6e 74 65 72 61 63  | nt.line.and.forward."...(interac | 
| 23ac0 |  74 69 76 65 29 0a 20 20 28 63 61 6c 69 62 72 65    64 62 2d 75 6e 6d 61 72 6b 2d 61 74 2d 70 6f 69  | tive)...(calibredb-unmark-at-poi | 
| 23ae0 |  6e 74 29 0a 20 20 28 63 61 6c 69 62 72 65 64 62    2d 6e 65 78 74 2d 65 6e 74 72 79 29 29 0a 0a 28  | nt)...(calibredb-next-entry))..( | 
| 23b00 |  64 65 66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d    75 6e 6d 61 72 6b 2d 61 6e 64 2d 62 61 63 6b 77  | defun.calibredb-unmark-and-backw | 
| 23b20 |  61 72 64 20 28 29 0a 20 20 22 55 6e 6d 61 72 6b    20 74 68 65 20 63 75 72 72 65 6e 74 20 6c 69 6e  | ard.()..."Unmark.the.current.lin | 
| 23b40 |  65 20 61 6e 64 20 62 61 63 6b 77 61 72 64 2e 22    0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29  | e.and.backward."...(interactive) | 
| 23b60 |  0a 20 20 28 63 61 6c 69 62 72 65 64 62 2d 70 72    65 76 69 6f 75 73 2d 65 6e 74 72 79 29 0a 20 20  | ...(calibredb-previous-entry)... | 
| 23b80 |  28 63 61 6c 69 62 72 65 64 62 2d 75 6e 6d 61 72    6b 2d 61 74 2d 70 6f 69 6e 74 29 29 0a 0a 28 64  | (calibredb-unmark-at-point))..(d | 
| 23ba0 |  65 66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d 75    6e 6d 61 72 6b 2d 61 74 2d 70 6f 69 6e 74 20 28  | efun.calibredb-unmark-at-point.( | 
| 23bc0 |  29 0a 20 20 22 55 6e 6d 61 72 6b 20 74 68 65 20    63 75 72 72 65 6e 74 20 6c 69 6e 65 2e 22 0a 20  | )..."Unmark.the.current.line.".. | 
| 23be0 |  20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20    20 28 6c 65 74 2a 20 28 28 62 65 67 20 28 6c 69  | .(interactive)...(let*.((beg.(li | 
| 23c00 |  6e 65 2d 62 65 67 69 6e 6e 69 6e 67 2d 70 6f 73    69 74 69 6f 6e 29 29 0a 20 20 20 20 20 20 20 20  | ne-beginning-position))......... | 
| 23c20 |  20 28 65 6e 64 20 28 6c 69 6e 65 2d 65 6e 64 2d    70 6f 73 69 74 69 6f 6e 29 29 0a 20 20 20 20 20  | .(end.(line-end-position))...... | 
| 23c40 |  20 20 20 20 28 69 6e 68 69 62 69 74 2d 72 65 61    64 2d 6f 6e 6c 79 20 74 29 29 0a 20 20 20 20 28  | ....(inhibit-read-only.t)).....( | 
| 23c60 |  72 65 6d 6f 76 65 2d 6f 76 65 72 6c 61 79 73 20    28 6c 69 6e 65 2d 62 65 67 69 6e 6e 69 6e 67 2d  | remove-overlays.(line-beginning- | 
| 23c80 |  70 6f 73 69 74 69 6f 6e 29 20 28 6c 69 6e 65 2d    65 6e 64 2d 70 6f 73 69 74 69 6f 6e 29 29 0a 20  | position).(line-end-position)).. | 
| 23ca0 |  20 20 20 28 72 65 6d 6f 76 65 2d 74 65 78 74 2d    70 72 6f 70 65 72 74 69 65 73 20 62 65 67 20 65  | ...(remove-text-properties.beg.e | 
| 23cc0 |  6e 64 20 27 28 63 61 6c 69 62 72 65 64 62 2d 6d    61 72 6b 20 6e 69 6c 29 29 29 29 0a 0a 28 64 65  | nd.'(calibredb-mark.nil))))..(de | 
| 23ce0 |  66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d 63 6f    6e 64 65 6e 73 65 2d 63 6f 6d 6d 65 6e 74 73 20  | fun.calibredb-condense-comments. | 
| 23d00 |  28 73 74 72 29 0a 20 20 22 43 6f 6e 64 65 6e 73    65 20 77 68 69 74 65 73 70 61 63 65 20 69 6e 20  | (str)..."Condense.whitespace.in. | 
| 23d20 |  53 54 52 20 69 6e 74 6f 20 61 20 73 69 6e 67 6c    65 20 73 70 61 63 65 2e 22 0a 20 20 28 72 65 70  | STR.into.a.single.space."...(rep | 
| 23d40 |  6c 61 63 65 2d 72 65 67 65 78 70 2d 69 6e 2d 73    74 72 69 6e 67 0a 20 20 20 22 5b 5b 3a 73 70 61  | lace-regexp-in-string...."[[:spa | 
| 23d60 |  63 65 3a 5d 5c 6e 5c 72 5d 2b 22 20 22 20 22 0a    20 20 20 28 72 65 70 6c 61 63 65 2d 72 65 67 65  | ce:]\n\r]+"."."....(replace-rege | 
| 23d80 |  78 70 2d 69 6e 2d 73 74 72 69 6e 67 20 22 3c 5b    5e 3e 5d 2b 3e 22 20 22 22 20 73 74 72 29 29 29  | xp-in-string."<[^>]+>"."".str))) | 
| 23da0 |  0a 0a 28 64 65 66 75 6e 20 63 61 6c 69 62 72 65    64 62 2d 66 61 76 6f 72 69 74 65 2d 6d 6f 75 73  | ..(defun.calibredb-favorite-mous | 
| 23dc0 |  65 2d 31 20 28 65 76 65 6e 74 29 0a 20 20 22 56    69 73 69 74 20 74 68 65 20 6c 6f 63 61 74 69 6f  | e-1.(event)..."Visit.the.locatio | 
| 23de0 |  6e 20 63 6c 69 63 6b 20 6f 6e 2e 0a 41 72 67 75    6d 65 6e 74 20 45 56 45 4e 54 20 6d 6f 75 73 65  | n.click.on..Argument.EVENT.mouse | 
| 23e00 |  20 65 76 65 6e 74 2e 22 0a 20 20 28 69 6e 74 65    72 61 63 74 69 76 65 20 22 65 22 29 0a 20 20 28  | .event."...(interactive."e")...( | 
| 23e20 |  6c 65 74 20 28 28 77 69 6e 64 6f 77 20 28 70 6f    73 6e 2d 77 69 6e 64 6f 77 20 28 65 76 65 6e 74  | let.((window.(posn-window.(event | 
| 23e40 |  2d 65 6e 64 20 65 76 65 6e 74 29 29 29 0a 20 20    20 20 20 20 20 20 28 70 6f 73 20 28 70 6f 73 6e  | -end.event))).........(pos.(posn | 
| 23e60 |  2d 70 6f 69 6e 74 20 28 65 76 65 6e 74 2d 65 6e    64 20 65 76 65 6e 74 29 29 29 29 0a 20 20 20 20  | -point.(event-end.event))))..... | 
| 23e80 |  28 69 66 20 28 6e 6f 74 20 28 77 69 6e 64 6f 77    70 20 77 69 6e 64 6f 77 29 29 0a 20 20 20 20 20  | (if.(not.(windowp.window))...... | 
| 23ea0 |  20 20 20 28 65 72 72 6f 72 20 22 4e 6f 20 66 61    76 6f 72 69 74 65 20 63 68 6f 73 65 6e 22 29 29  | ...(error."No.favorite.chosen")) | 
| 23ec0 |  0a 20 20 20 20 28 77 69 74 68 2d 63 75 72 72 65    6e 74 2d 62 75 66 66 65 72 20 28 77 69 6e 64 6f  | .....(with-current-buffer.(windo | 
| 23ee0 |  77 2d 62 75 66 66 65 72 20 77 69 6e 64 6f 77 29    0a 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 68 61  | w-buffer.window).......(goto-cha | 
| 23f00 |  72 20 70 6f 73 29 0a 20 20 20 20 20 20 28 73 65    74 71 20 63 61 6c 69 62 72 65 64 62 2d 74 61 67  | r.pos).......(setq.calibredb-tag | 
| 23f20 |  2d 66 69 6c 74 65 72 2d 70 20 6e 69 6c 29 0a 20    20 20 20 20 20 28 73 65 74 71 20 63 61 6c 69 62  | -filter-p.nil).......(setq.calib | 
| 23f40 |  72 65 64 62 2d 66 61 76 6f 72 69 74 65 2d 66 69    6c 74 65 72 2d 70 20 74 29 0a 20 20 20 20 20 20  | redb-favorite-filter-p.t)....... | 
| 23f60 |  28 73 65 74 71 20 63 61 6c 69 62 72 65 64 62 2d    61 75 74 68 6f 72 2d 66 69 6c 74 65 72 2d 70 20  | (setq.calibredb-author-filter-p. | 
| 23f80 |  6e 69 6c 29 0a 20 20 20 20 20 20 28 73 65 74 71    20 63 61 6c 69 62 72 65 64 62 2d 64 61 74 65 2d  | nil).......(setq.calibredb-date- | 
| 23fa0 |  66 69 6c 74 65 72 2d 70 20 6e 69 6c 29 0a 20 20    20 20 20 20 28 73 65 74 71 20 63 61 6c 69 62 72  | filter-p.nil).......(setq.calibr | 
| 23fc0 |  65 64 62 2d 66 6f 72 6d 61 74 2d 66 69 6c 74 65    72 2d 70 20 6e 69 6c 29 0a 20 20 20 20 20 20 28  | edb-format-filter-p.nil).......( | 
| 23fe0 |  63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68    2d 6b 65 79 77 6f 72 64 2d 66 69 6c 74 65 72 20  | calibredb-search-keyword-filter. | 
| 24000 |  63 61 6c 69 62 72 65 64 62 2d 66 61 76 6f 72 69    74 65 2d 6b 65 79 77 6f 72 64 29 29 29 29 0a 0a  | calibredb-favorite-keyword)))).. | 
| 24020 |  28 64 65 66 75 6e 20 63 61 6c 69 62 72 65 64 62    2d 74 61 67 2d 6d 6f 75 73 65 2d 31 20 28 65 76  | (defun.calibredb-tag-mouse-1.(ev | 
| 24040 |  65 6e 74 29 0a 20 20 22 56 69 73 69 74 20 74 68    65 20 6c 6f 63 61 74 69 6f 6e 20 63 6c 69 63 6b  | ent)..."Visit.the.location.click | 
| 24060 |  20 6f 6e 2e 0a 41 72 67 75 6d 65 6e 74 20 45 56    45 4e 54 20 6d 6f 75 73 65 20 65 76 65 6e 74 2e  | .on..Argument.EVENT.mouse.event. | 
| 24080 |  22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65    20 22 65 22 29 0a 20 20 28 6c 65 74 20 28 28 77  | "...(interactive."e")...(let.((w | 
| 240a0 |  69 6e 64 6f 77 20 28 70 6f 73 6e 2d 77 69 6e 64    6f 77 20 28 65 76 65 6e 74 2d 65 6e 64 20 65 76  | indow.(posn-window.(event-end.ev | 
| 240c0 |  65 6e 74 29 29 29 0a 20 20 20 20 20 20 20 20 28    70 6f 73 20 28 70 6f 73 6e 2d 70 6f 69 6e 74 20  | ent))).........(pos.(posn-point. | 
| 240e0 |  28 65 76 65 6e 74 2d 65 6e 64 20 65 76 65 6e 74    29 29 29 29 0a 20 20 20 20 28 69 66 20 28 6e 6f  | (event-end.event)))).....(if.(no | 
| 24100 |  74 20 28 77 69 6e 64 6f 77 70 20 77 69 6e 64 6f    77 29 29 0a 20 20 20 20 20 20 20 20 28 65 72 72  | t.(windowp.window)).........(err | 
| 24120 |  6f 72 20 22 4e 6f 20 74 61 67 20 63 68 6f 73 65    6e 22 29 29 0a 20 20 20 20 28 77 69 74 68 2d 63  | or."No.tag.chosen")).....(with-c | 
| 24140 |  75 72 72 65 6e 74 2d 62 75 66 66 65 72 20 28 77    69 6e 64 6f 77 2d 62 75 66 66 65 72 20 77 69 6e  | urrent-buffer.(window-buffer.win | 
| 24160 |  64 6f 77 29 0a 20 20 20 20 20 20 28 67 6f 74 6f    2d 63 68 61 72 20 70 6f 73 29 0a 20 20 20 20 20  | dow).......(goto-char.pos)...... | 
| 24180 |  20 28 73 65 74 71 20 63 61 6c 69 62 72 65 64 62    2d 74 61 67 2d 66 69 6c 74 65 72 2d 70 20 74 29  | .(setq.calibredb-tag-filter-p.t) | 
| 241a0 |  0a 20 20 20 20 20 20 28 73 65 74 71 20 63 61 6c    69 62 72 65 64 62 2d 66 61 76 6f 72 69 74 65 2d  | .......(setq.calibredb-favorite- | 
| 241c0 |  66 69 6c 74 65 72 2d 70 20 6e 69 6c 29 0a 20 20    20 20 20 20 28 73 65 74 71 20 63 61 6c 69 62 72  | filter-p.nil).......(setq.calibr | 
| 241e0 |  65 64 62 2d 61 75 74 68 6f 72 2d 66 69 6c 74 65    72 2d 70 20 6e 69 6c 29 0a 20 20 20 20 20 20 28  | edb-author-filter-p.nil).......( | 
| 24200 |  73 65 74 71 20 63 61 6c 69 62 72 65 64 62 2d 64    61 74 65 2d 66 69 6c 74 65 72 2d 70 20 6e 69 6c  | setq.calibredb-date-filter-p.nil | 
| 24220 |  29 0a 20 20 20 20 20 20 28 73 65 74 71 20 63 61    6c 69 62 72 65 64 62 2d 66 6f 72 6d 61 74 2d 66  | ).......(setq.calibredb-format-f | 
| 24240 |  69 6c 74 65 72 2d 70 20 6e 69 6c 29 0a 20 20 20    20 20 20 28 63 61 6c 69 62 72 65 64 62 2d 73 65  | ilter-p.nil).......(calibredb-se | 
| 24260 |  61 72 63 68 2d 6b 65 79 77 6f 72 64 2d 66 69 6c    74 65 72 20 28 67 65 74 2d 74 65 78 74 2d 70 72  | arch-keyword-filter.(get-text-pr | 
| 24280 |  6f 70 65 72 74 79 20 28 70 6f 69 6e 74 29 20 27    74 61 67 20 6e 69 6c 29 29 29 29 29 0a 0a 28 64  | operty.(point).'tag.nil)))))..(d | 
| 242a0 |  65 66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d 61    75 74 68 6f 72 2d 6d 6f 75 73 65 2d 31 20 28 65  | efun.calibredb-author-mouse-1.(e | 
| 242c0 |  76 65 6e 74 29 0a 20 20 22 56 69 73 69 74 20 74    68 65 20 6c 6f 63 61 74 69 6f 6e 20 63 6c 69 63  | vent)..."Visit.the.location.clic | 
| 242e0 |  6b 20 6f 6e 2e 0a 41 72 67 75 6d 65 6e 74 20 45    56 45 4e 54 20 6d 6f 75 73 65 20 65 76 65 6e 74  | k.on..Argument.EVENT.mouse.event | 
| 24300 |  2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76    65 20 22 65 22 29 0a 20 20 28 6c 65 74 20 28 28  | ."...(interactive."e")...(let.(( | 
| 24320 |  77 69 6e 64 6f 77 20 28 70 6f 73 6e 2d 77 69 6e    64 6f 77 20 28 65 76 65 6e 74 2d 65 6e 64 20 65  | window.(posn-window.(event-end.e | 
| 24340 |  76 65 6e 74 29 29 29 0a 20 20 20 20 20 20 20 20    28 70 6f 73 20 28 70 6f 73 6e 2d 70 6f 69 6e 74  | vent))).........(pos.(posn-point | 
| 24360 |  20 28 65 76 65 6e 74 2d 65 6e 64 20 65 76 65 6e    74 29 29 29 29 0a 20 20 20 20 28 69 66 20 28 6e  | .(event-end.event)))).....(if.(n | 
| 24380 |  6f 74 20 28 77 69 6e 64 6f 77 70 20 77 69 6e 64    6f 77 29 29 0a 20 20 20 20 20 20 20 20 28 65 72  | ot.(windowp.window)).........(er | 
| 243a0 |  72 6f 72 20 22 4e 6f 20 61 75 74 68 6f 72 20 63    68 6f 73 65 6e 22 29 29 0a 20 20 20 20 28 77 69  | ror."No.author.chosen")).....(wi | 
| 243c0 |  74 68 2d 63 75 72 72 65 6e 74 2d 62 75 66 66 65    72 20 28 77 69 6e 64 6f 77 2d 62 75 66 66 65 72  | th-current-buffer.(window-buffer | 
| 243e0 |  20 77 69 6e 64 6f 77 29 0a 20 20 20 20 20 20 28    67 6f 74 6f 2d 63 68 61 72 20 70 6f 73 29 0a 20  | .window).......(goto-char.pos).. | 
| 24400 |  20 20 20 20 20 28 73 65 74 71 20 63 61 6c 69 62    72 65 64 62 2d 74 61 67 2d 66 69 6c 74 65 72 2d  | .....(setq.calibredb-tag-filter- | 
| 24420 |  70 20 6e 69 6c 29 0a 20 20 20 20 20 20 28 73 65    74 71 20 63 61 6c 69 62 72 65 64 62 2d 66 61 76  | p.nil).......(setq.calibredb-fav | 
| 24440 |  6f 72 69 74 65 2d 66 69 6c 74 65 72 2d 70 20 6e    69 6c 29 0a 20 20 20 20 20 20 28 73 65 74 71 20  | orite-filter-p.nil).......(setq. | 
| 24460 |  63 61 6c 69 62 72 65 64 62 2d 61 75 74 68 6f 72    2d 66 69 6c 74 65 72 2d 70 20 74 29 0a 20 20 20  | calibredb-author-filter-p.t).... | 
| 24480 |  20 20 20 28 73 65 74 71 20 63 61 6c 69 62 72 65    64 62 2d 64 61 74 65 2d 66 69 6c 74 65 72 2d 70  | ...(setq.calibredb-date-filter-p | 
| 244a0 |  20 6e 69 6c 29 0a 20 20 20 20 20 20 28 73 65 74    71 20 63 61 6c 69 62 72 65 64 62 2d 66 6f 72 6d  | .nil).......(setq.calibredb-form | 
| 244c0 |  61 74 2d 66 69 6c 74 65 72 2d 70 20 6e 69 6c 29    0a 20 20 20 20 20 20 28 63 61 6c 69 62 72 65 64  | at-filter-p.nil).......(calibred | 
| 244e0 |  62 2d 73 65 61 72 63 68 2d 6b 65 79 77 6f 72 64    2d 66 69 6c 74 65 72 20 28 67 65 74 2d 74 65 78  | b-search-keyword-filter.(get-tex | 
| 24500 |  74 2d 70 72 6f 70 65 72 74 79 20 28 70 6f 69 6e    74 29 20 27 61 75 74 68 6f 72 20 6e 69 6c 29 29  | t-property.(point).'author.nil)) | 
| 24520 |  29 29 29 0a 0a 28 64 65 66 75 6e 20 63 61 6c 69    62 72 65 64 62 2d 66 6f 72 6d 61 74 2d 6d 6f 75  | )))..(defun.calibredb-format-mou | 
| 24540 |  73 65 2d 31 20 28 65 76 65 6e 74 29 0a 20 20 22    56 69 73 69 74 20 74 68 65 20 6c 6f 63 61 74 69  | se-1.(event)..."Visit.the.locati | 
| 24560 |  6f 6e 20 63 6c 69 63 6b 20 6f 6e 2e 0a 41 72 67    75 6d 65 6e 74 20 45 56 45 4e 54 20 6d 6f 75 73  | on.click.on..Argument.EVENT.mous | 
| 24580 |  65 20 65 76 65 6e 74 2e 22 0a 20 20 28 69 6e 74    65 72 61 63 74 69 76 65 20 22 65 22 29 0a 20 20  | e.event."...(interactive."e")... | 
| 245a0 |  28 6c 65 74 20 28 28 77 69 6e 64 6f 77 20 28 70    6f 73 6e 2d 77 69 6e 64 6f 77 20 28 65 76 65 6e  | (let.((window.(posn-window.(even | 
| 245c0 |  74 2d 65 6e 64 20 65 76 65 6e 74 29 29 29 0a 20    20 20 20 20 20 20 20 28 70 6f 73 20 28 70 6f 73  | t-end.event))).........(pos.(pos | 
| 245e0 |  6e 2d 70 6f 69 6e 74 20 28 65 76 65 6e 74 2d 65    6e 64 20 65 76 65 6e 74 29 29 29 29 0a 20 20 20  | n-point.(event-end.event)))).... | 
| 24600 |  20 28 69 66 20 28 6e 6f 74 20 28 77 69 6e 64 6f    77 70 20 77 69 6e 64 6f 77 29 29 0a 20 20 20 20  | .(if.(not.(windowp.window))..... | 
| 24620 |  20 20 20 20 28 65 72 72 6f 72 20 22 4e 6f 20 66    6f 72 6d 61 74 20 63 68 6f 73 65 6e 22 29 29 0a  | ....(error."No.format.chosen")). | 
| 24640 |  20 20 20 20 28 77 69 74 68 2d 63 75 72 72 65 6e    74 2d 62 75 66 66 65 72 20 28 77 69 6e 64 6f 77  | ....(with-current-buffer.(window | 
| 24660 |  2d 62 75 66 66 65 72 20 77 69 6e 64 6f 77 29 0a    20 20 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72  | -buffer.window).......(goto-char | 
| 24680 |  20 70 6f 73 29 0a 20 20 20 20 20 20 28 73 65 74    71 20 63 61 6c 69 62 72 65 64 62 2d 74 61 67 2d  | .pos).......(setq.calibredb-tag- | 
| 246a0 |  66 69 6c 74 65 72 2d 70 20 6e 69 6c 29 0a 20 20    20 20 20 20 28 73 65 74 71 20 63 61 6c 69 62 72  | filter-p.nil).......(setq.calibr | 
| 246c0 |  65 64 62 2d 66 61 76 6f 72 69 74 65 2d 66 69 6c    74 65 72 2d 70 20 6e 69 6c 29 0a 20 20 20 20 20  | edb-favorite-filter-p.nil)...... | 
| 246e0 |  20 28 73 65 74 71 20 63 61 6c 69 62 72 65 64 62    2d 61 75 74 68 6f 72 2d 66 69 6c 74 65 72 2d 70  | .(setq.calibredb-author-filter-p | 
| 24700 |  20 6e 69 6c 29 0a 20 20 20 20 20 20 28 73 65 74    71 20 63 61 6c 69 62 72 65 64 62 2d 64 61 74 65  | .nil).......(setq.calibredb-date | 
| 24720 |  2d 66 69 6c 74 65 72 2d 70 20 6e 69 6c 29 0a 20    20 20 20 20 20 28 73 65 74 71 20 63 61 6c 69 62  | -filter-p.nil).......(setq.calib | 
| 24740 |  72 65 64 62 2d 66 6f 72 6d 61 74 2d 66 69 6c 74    65 72 2d 70 20 74 29 0a 20 20 20 20 20 20 28 63  | redb-format-filter-p.t).......(c | 
| 24760 |  61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2d    6b 65 79 77 6f 72 64 2d 66 69 6c 74 65 72 20 28  | alibredb-search-keyword-filter.( | 
| 24780 |  77 6f 72 64 2d 61 74 2d 70 6f 69 6e 74 20 74 29    29 29 29 29 0a 0a 28 64 65 66 75 6e 20 63 61 6c  | word-at-point.t)))))..(defun.cal | 
| 247a0 |  69 62 72 65 64 62 2d 64 61 74 65 2d 6d 6f 75 73    65 2d 31 20 28 65 76 65 6e 74 29 0a 20 20 22 56  | ibredb-date-mouse-1.(event)..."V | 
| 247c0 |  69 73 69 74 20 74 68 65 20 6c 6f 63 61 74 69 6f    6e 20 63 6c 69 63 6b 20 6f 6e 2e 0a 41 72 67 75  | isit.the.location.click.on..Argu | 
| 247e0 |  6d 65 6e 74 20 45 56 45 4e 54 20 6d 6f 75 73 65    20 65 76 65 6e 74 2e 22 0a 20 20 28 69 6e 74 65  | ment.EVENT.mouse.event."...(inte | 
| 24800 |  72 61 63 74 69 76 65 20 22 65 22 29 0a 20 20 28    6c 65 74 20 28 28 77 69 6e 64 6f 77 20 28 70 6f  | ractive."e")...(let.((window.(po | 
| 24820 |  73 6e 2d 77 69 6e 64 6f 77 20 28 65 76 65 6e 74    2d 65 6e 64 20 65 76 65 6e 74 29 29 29 0a 20 20  | sn-window.(event-end.event)))... | 
| 24840 |  20 20 20 20 20 20 28 70 6f 73 20 28 70 6f 73 6e    2d 70 6f 69 6e 74 20 28 65 76 65 6e 74 2d 65 6e  | ......(pos.(posn-point.(event-en | 
| 24860 |  64 20 65 76 65 6e 74 29 29 29 29 0a 20 20 20 20    28 69 66 20 28 6e 6f 74 20 28 77 69 6e 64 6f 77  | d.event)))).....(if.(not.(window | 
| 24880 |  70 20 77 69 6e 64 6f 77 29 29 0a 20 20 20 20 20    20 20 20 28 65 72 72 6f 72 20 22 4e 6f 20 61 75  | p.window)).........(error."No.au | 
| 248a0 |  74 68 6f 72 20 63 68 6f 73 65 6e 22 29 29 0a 20    20 20 20 28 77 69 74 68 2d 63 75 72 72 65 6e 74  | thor.chosen")).....(with-current | 
| 248c0 |  2d 62 75 66 66 65 72 20 28 77 69 6e 64 6f 77 2d    62 75 66 66 65 72 20 77 69 6e 64 6f 77 29 0a 20  | -buffer.(window-buffer.window).. | 
| 248e0 |  20 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20    70 6f 73 29 0a 20 20 20 20 20 20 28 73 65 74 71  | .....(goto-char.pos).......(setq | 
| 24900 |  20 63 61 6c 69 62 72 65 64 62 2d 74 61 67 2d 66    69 6c 74 65 72 2d 70 20 6e 69 6c 29 0a 20 20 20  | .calibredb-tag-filter-p.nil).... | 
| 24920 |  20 20 20 28 73 65 74 71 20 63 61 6c 69 62 72 65    64 62 2d 66 61 76 6f 72 69 74 65 2d 66 69 6c 74  | ...(setq.calibredb-favorite-filt | 
| 24940 |  65 72 2d 70 20 6e 69 6c 29 0a 20 20 20 20 20 20    28 73 65 74 71 20 63 61 6c 69 62 72 65 64 62 2d  | er-p.nil).......(setq.calibredb- | 
| 24960 |  61 75 74 68 6f 72 2d 66 69 6c 74 65 72 2d 70 20    6e 69 6c 29 0a 20 20 20 20 20 20 28 73 65 74 71  | author-filter-p.nil).......(setq | 
| 24980 |  20 63 61 6c 69 62 72 65 64 62 2d 64 61 74 65 2d    66 69 6c 74 65 72 2d 70 20 74 29 0a 20 20 20 20  | .calibredb-date-filter-p.t)..... | 
| 249a0 |  20 20 28 73 65 74 71 20 63 61 6c 69 62 72 65 64    62 2d 66 6f 72 6d 61 74 2d 66 69 6c 74 65 72 2d  | ..(setq.calibredb-format-filter- | 
| 249c0 |  70 20 6e 69 6c 29 0a 20 20 20 20 20 20 28 63 61    6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2d 6b  | p.nil).......(calibredb-search-k | 
| 249e0 |  65 79 77 6f 72 64 2d 66 69 6c 74 65 72 20 28 74    68 69 6e 67 2d 61 74 2d 70 6f 69 6e 74 20 27 73  | eyword-filter.(thing-at-point.'s | 
| 24a00 |  79 6d 62 6f 6c 20 74 29 29 29 29 29 0a 0a 28 64    65 66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d 66  | ymbol.t)))))..(defun.calibredb-f | 
| 24a20 |  69 6c 65 2d 6d 6f 75 73 65 2d 31 20 28 65 76 65    6e 74 29 0a 20 20 22 56 69 73 69 74 20 74 68 65  | ile-mouse-1.(event)..."Visit.the | 
| 24a40 |  20 66 69 6c 65 20 63 6c 69 63 6b 20 6f 6e 2e 0a    41 72 67 75 6d 65 6e 74 20 45 56 45 4e 54 20 6d  | .file.click.on..Argument.EVENT.m | 
| 24a60 |  6f 75 73 65 20 65 76 65 6e 74 2e 22 0a 20 20 28    69 6e 74 65 72 61 63 74 69 76 65 20 22 65 22 29  | ouse.event."...(interactive."e") | 
| 24a80 |  0a 20 20 28 6c 65 74 20 28 28 77 69 6e 64 6f 77    20 28 70 6f 73 6e 2d 77 69 6e 64 6f 77 20 28 65  | ...(let.((window.(posn-window.(e | 
| 24aa0 |  76 65 6e 74 2d 65 6e 64 20 65 76 65 6e 74 29 29    29 0a 20 20 20 20 20 20 20 20 28 70 6f 73 20 28  | vent-end.event))).........(pos.( | 
| 24ac0 |  70 6f 73 6e 2d 70 6f 69 6e 74 20 28 65 76 65 6e    74 2d 65 6e 64 20 65 76 65 6e 74 29 29 29 29 0a  | posn-point.(event-end.event)))). | 
| 24ae0 |  20 20 20 20 28 69 66 20 28 6e 6f 74 20 28 77 69    6e 64 6f 77 70 20 77 69 6e 64 6f 77 29 29 0a 20  | ....(if.(not.(windowp.window)).. | 
| 24b00 |  20 20 20 20 20 20 20 28 65 72 72 6f 72 20 22 4e    6f 20 65 62 6f 6f 6b 20 63 68 6f 73 65 6e 22 29  | .......(error."No.ebook.chosen") | 
| 24b20 |  29 0a 20 20 20 20 28 77 69 74 68 2d 63 75 72 72    65 6e 74 2d 62 75 66 66 65 72 20 28 77 69 6e 64  | ).....(with-current-buffer.(wind | 
| 24b40 |  6f 77 2d 62 75 66 66 65 72 20 77 69 6e 64 6f 77    29 0a 20 20 20 20 20 20 28 66 69 6e 64 2d 66 69  | ow-buffer.window).......(find-fi | 
| 24b60 |  6c 65 2d 6f 74 68 65 72 2d 77 69 6e 64 6f 77 20    28 67 65 74 2d 74 65 78 74 2d 70 72 6f 70 65 72  | le-other-window.(get-text-proper | 
| 24b80 |  74 79 20 70 6f 73 20 27 68 65 6c 70 2d 65 63 68    6f 20 6e 69 6c 29 29 29 29 29 0a 0a 28 64 65 66  | ty.pos.'help-echo.nil)))))..(def | 
| 24ba0 |  75 6e 20 63 61 6c 69 62 72 65 64 62 2d 66 69 6c    65 2d 6d 6f 75 73 65 2d 33 20 28 65 76 65 6e 74  | un.calibredb-file-mouse-3.(event | 
| 24bc0 |  29 0a 20 20 22 56 69 73 69 74 20 74 68 65 20 66    69 6c 65 20 63 6c 69 63 6b 20 6f 6e 20 69 6e 20  | )..."Visit.the.file.click.on.in. | 
| 24be0 |  64 65 66 61 75 6c 74 20 74 6f 6f 6c 2e 0a 41 72    67 75 6d 65 6e 74 20 45 56 45 4e 54 20 6d 6f 75  | default.tool..Argument.EVENT.mou | 
| 24c00 |  73 65 20 65 76 65 6e 74 2e 22 0a 20 20 28 69 6e    74 65 72 61 63 74 69 76 65 20 22 65 22 29 0a 20  | se.event."...(interactive."e").. | 
| 24c20 |  20 28 6c 65 74 20 28 28 77 69 6e 64 6f 77 20 28    70 6f 73 6e 2d 77 69 6e 64 6f 77 20 28 65 76 65  | .(let.((window.(posn-window.(eve | 
| 24c40 |  6e 74 2d 65 6e 64 20 65 76 65 6e 74 29 29 29 0a    20 20 20 20 20 20 20 20 28 70 6f 73 20 28 70 6f  | nt-end.event))).........(pos.(po | 
| 24c60 |  73 6e 2d 70 6f 69 6e 74 20 28 65 76 65 6e 74 2d    65 6e 64 20 65 76 65 6e 74 29 29 29 29 0a 20 20  | sn-point.(event-end.event))))... | 
| 24c80 |  20 20 28 69 66 20 28 6e 6f 74 20 28 77 69 6e 64    6f 77 70 20 77 69 6e 64 6f 77 29 29 0a 20 20 20  | ..(if.(not.(windowp.window)).... | 
| 24ca0 |  20 20 20 20 20 28 65 72 72 6f 72 20 22 4e 6f 20    65 62 6f 6f 6b 20 63 68 6f 73 65 6e 22 29 29 0a  | .....(error."No.ebook.chosen")). | 
| 24cc0 |  20 20 20 20 28 77 69 74 68 2d 63 75 72 72 65 6e    74 2d 62 75 66 66 65 72 20 28 77 69 6e 64 6f 77  | ....(with-current-buffer.(window | 
| 24ce0 |  2d 62 75 66 66 65 72 20 77 69 6e 64 6f 77 29 0a    20 20 20 20 20 20 28 63 61 6c 69 62 72 65 64 62  | -buffer.window).......(calibredb | 
| 24d00 |  2d 6f 70 65 6e 2d 77 69 74 68 2d 64 65 66 61 75    6c 74 2d 74 6f 6f 6c 20 28 67 65 74 2d 74 65 78  | -open-with-default-tool.(get-tex | 
| 24d20 |  74 2d 70 72 6f 70 65 72 74 79 20 70 6f 73 20 27    68 65 6c 70 2d 65 63 68 6f 20 6e 69 6c 29 29 29  | t-property.pos.'help-echo.nil))) | 
| 24d40 |  29 29 0a 0a 3b 3b 20 66 61 76 6f 72 69 74 65 0a    0a 28 64 65 66 75 6e 20 63 61 6c 69 62 72 65 64  | ))..;;.favorite..(defun.calibred | 
| 24d60 |  62 2d 74 6f 67 67 6c 65 2d 66 61 76 6f 72 69 74    65 2d 61 74 2d 70 6f 69 6e 74 20 28 26 6f 70 74  | b-toggle-favorite-at-point.(&opt | 
| 24d80 |  69 6f 6e 61 6c 20 6b 65 79 77 6f 72 64 29 0a 20    20 22 54 6f 67 67 6c 65 20 66 61 76 6f 72 69 74  | ional.keyword)..."Toggle.favorit | 
| 24da0 |  65 20 74 68 65 20 63 75 72 72 65 6e 74 20 69 74    65 6d 2e 0a 41 72 67 75 6d 65 6e 74 20 4b 45 59  | e.the.current.item..Argument.KEY | 
| 24dc0 |  57 4f 52 44 20 69 73 20 74 68 65 20 74 61 67 20    6b 65 79 77 6f 72 64 2e 22 0a 20 20 28 69 6e 74  | WORD.is.the.tag.keyword."...(int | 
| 24de0 |  65 72 61 63 74 69 76 65 29 0a 20 20 28 6c 65 74    20 28 28 63 61 6e 64 69 64 61 74 65 73 20 28 63  | eractive)...(let.((candidates.(c | 
| 24e00 |  61 6c 69 62 72 65 64 62 2d 66 69 6e 64 2d 6d 61    72 6b 65 64 2d 63 61 6e 64 69 64 61 74 65 73 29  | alibredb-find-marked-candidates) | 
| 24e20 |  29 29 0a 20 20 20 20 28 75 6e 6c 65 73 73 20 63    61 6e 64 69 64 61 74 65 73 0a 20 20 20 20 20 20  | )).....(unless.candidates....... | 
| 24e40 |  28 73 65 74 71 20 63 61 6e 64 69 64 61 74 65 73    20 28 63 61 6c 69 62 72 65 64 62 2d 66 69 6e 64  | (setq.candidates.(calibredb-find | 
| 24e60 |  2d 63 61 6e 64 69 64 61 74 65 2d 61 74 2d 70 6f    69 6e 74 29 29 29 0a 20 20 20 20 28 63 61 6c 69  | -candidate-at-point))).....(cali | 
| 24e80 |  62 72 65 64 62 2d 74 6f 67 67 6c 65 2d 6d 65 74    61 64 61 74 61 2d 70 72 6f 63 65 73 73 20 63 61  | bredb-toggle-metadata-process.ca | 
| 24ea0 |  6e 64 69 64 61 74 65 73 20 28 6f 72 20 6b 65 79    77 6f 72 64 20 63 61 6c 69 62 72 65 64 62 2d 66  | ndidates.(or.keyword.calibredb-f | 
| 24ec0 |  61 76 6f 72 69 74 65 2d 6b 65 79 77 6f 72 64 20    29 29 29 29 0a 0a 3b 3b 20 68 69 67 68 6c 69 67  | avorite-keyword.))))..;;.highlig | 
| 24ee0 |  68 74 0a 28 64 65 66 75 6e 20 63 61 6c 69 62 72    65 64 62 2d 74 6f 67 67 6c 65 2d 68 69 67 68 6c  | ht.(defun.calibredb-toggle-highl | 
| 24f00 |  69 67 68 74 2d 61 74 2d 70 6f 69 6e 74 20 28 26    6f 70 74 69 6f 6e 61 6c 20 6b 65 79 77 6f 72 64  | ight-at-point.(&optional.keyword | 
| 24f20 |  29 0a 20 20 22 54 6f 67 67 6c 65 20 68 69 67 68    6c 69 67 68 74 20 74 68 65 20 63 75 72 72 65 6e  | )..."Toggle.highlight.the.curren | 
| 24f40 |  74 20 69 74 65 6d 2e 0a 41 72 67 75 6d 65 6e 74    20 4b 45 59 57 4f 52 44 20 69 73 20 74 68 65 20  | t.item..Argument.KEYWORD.is.the. | 
| 24f60 |  74 61 67 20 6b 65 79 77 6f 72 64 2e 22 0a 20 20    28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20  | tag.keyword."...(interactive)... | 
| 24f80 |  28 6c 65 74 20 28 28 63 61 6e 64 69 64 61 74 65    73 20 28 63 61 6c 69 62 72 65 64 62 2d 66 69 6e  | (let.((candidates.(calibredb-fin | 
| 24fa0 |  64 2d 6d 61 72 6b 65 64 2d 63 61 6e 64 69 64 61    74 65 73 29 29 29 0a 20 20 20 20 28 75 6e 6c 65  | d-marked-candidates))).....(unle | 
| 24fc0 |  73 73 20 63 61 6e 64 69 64 61 74 65 73 0a 20 20    20 20 20 20 28 73 65 74 71 20 63 61 6e 64 69 64  | ss.candidates.......(setq.candid | 
| 24fe0 |  61 74 65 73 20 28 63 61 6c 69 62 72 65 64 62 2d    66 69 6e 64 2d 63 61 6e 64 69 64 61 74 65 2d 61  | ates.(calibredb-find-candidate-a | 
| 25000 |  74 2d 70 6f 69 6e 74 29 29 29 0a 20 20 20 20 28    63 61 6c 69 62 72 65 64 62 2d 74 6f 67 67 6c 65  | t-point))).....(calibredb-toggle | 
| 25020 |  2d 6d 65 74 61 64 61 74 61 2d 70 72 6f 63 65 73    73 20 63 61 6e 64 69 64 61 74 65 73 20 28 6f 72  | -metadata-process.candidates.(or | 
| 25040 |  20 6b 65 79 77 6f 72 64 20 63 61 6c 69 62 72 65    64 62 2d 68 69 67 68 6c 69 67 68 74 2d 6b 65 79  | .keyword.calibredb-highlight-key | 
| 25060 |  77 6f 72 64 20 29 29 29 29 0a 0a 3b 3b 20 61 72    63 68 69 76 65 0a 28 64 65 66 75 6e 20 63 61 6c  | word.))))..;;.archive.(defun.cal | 
| 25080 |  69 62 72 65 64 62 2d 74 6f 67 67 6c 65 2d 61 72    63 68 69 76 65 2d 61 74 2d 70 6f 69 6e 74 20 28  | ibredb-toggle-archive-at-point.( | 
| 250a0 |  26 6f 70 74 69 6f 6e 61 6c 20 6b 65 79 77 6f 72    64 29 0a 20 20 22 54 6f 67 67 6c 65 20 61 72 63  | &optional.keyword)..."Toggle.arc | 
| 250c0 |  68 69 76 65 20 74 68 65 20 63 75 72 72 65 6e 74    20 69 74 65 6d 2e 0a 41 72 67 75 6d 65 6e 74 20  | hive.the.current.item..Argument. | 
| 250e0 |  4b 45 59 57 4f 52 44 20 69 73 20 74 68 65 20 74    61 67 20 6b 65 79 77 6f 72 64 2e 22 0a 20 20 28  | KEYWORD.is.the.tag.keyword."...( | 
| 25100 |  69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28    6c 65 74 20 28 28 63 61 6e 64 69 64 61 74 65 73  | interactive)...(let.((candidates | 
| 25120 |  20 28 63 61 6c 69 62 72 65 64 62 2d 66 69 6e 64    2d 6d 61 72 6b 65 64 2d 63 61 6e 64 69 64 61 74  | .(calibredb-find-marked-candidat | 
| 25140 |  65 73 29 29 29 0a 20 20 20 20 28 75 6e 6c 65 73    73 20 63 61 6e 64 69 64 61 74 65 73 0a 20 20 20  | es))).....(unless.candidates.... | 
| 25160 |  20 20 20 28 73 65 74 71 20 63 61 6e 64 69 64 61    74 65 73 20 28 63 61 6c 69 62 72 65 64 62 2d 66  | ...(setq.candidates.(calibredb-f | 
| 25180 |  69 6e 64 2d 63 61 6e 64 69 64 61 74 65 2d 61 74    2d 70 6f 69 6e 74 29 29 29 0a 20 20 20 20 28 63  | ind-candidate-at-point))).....(c | 
| 251a0 |  61 6c 69 62 72 65 64 62 2d 74 6f 67 67 6c 65 2d    6d 65 74 61 64 61 74 61 2d 70 72 6f 63 65 73 73  | alibredb-toggle-metadata-process | 
| 251c0 |  20 63 61 6e 64 69 64 61 74 65 73 20 28 6f 72 20    6b 65 79 77 6f 72 64 20 63 61 6c 69 62 72 65 64  | .candidates.(or.keyword.calibred | 
| 251e0 |  62 2d 61 72 63 68 69 76 65 2d 6b 65 79 77 6f 72    64 20 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 63  | b-archive-keyword.))))..(defun.c | 
| 25200 |  61 6c 69 62 72 65 64 62 2d 74 6f 67 67 6c 65 2d    6d 65 74 61 64 61 74 61 2d 70 72 6f 63 65 73 73  | alibredb-toggle-metadata-process | 
| 25220 |  20 28 63 61 6e 64 73 20 6b 65 79 77 6f 72 64 29    0a 20 20 22 52 75 6e 20 73 65 71 75 65 6e 74 69  | .(cands.keyword)..."Run.sequenti | 
| 25240 |  61 6c 20 70 72 6f 63 65 73 73 65 73 20 74 6f 20    74 6f 67 67 6c 65 20 6d 65 74 61 64 61 74 61 2e  | al.processes.to.toggle.metadata. | 
| 25260 |  0a 41 72 67 75 6d 65 6e 74 20 43 41 4e 44 53 20    69 73 20 74 68 65 20 6c 69 73 74 20 6f 66 20 63  | .Argument.CANDS.is.the.list.of.c | 
| 25280 |  61 6e 64 69 61 74 65 73 2e 0a 41 72 67 75 6d 65    6e 74 20 4b 45 59 57 4f 52 44 20 69 73 20 74 68  | andiates..Argument.KEYWORD.is.th | 
| 252a0 |  65 20 6d 65 74 61 64 61 74 61 20 6b 65 79 77 6f    72 64 20 74 6f 20 62 65 20 74 6f 67 67 6c 65 64  | e.metadata.keyword.to.be.toggled | 
| 252c0 |  2e 22 0a 20 20 28 6c 65 74 2a 20 28 28 63 61 6e    64 20 28 70 6f 70 20 63 61 6e 64 73 29 29 0a 20  | ."...(let*.((cand.(pop.cands)).. | 
| 252e0 |  20 20 20 20 20 20 20 20 28 74 61 67 73 20 28 63    61 6c 69 62 72 65 64 62 2d 72 65 61 64 2d 6d 65  | ........(tags.(calibredb-read-me | 
| 25300 |  74 61 64 61 74 61 73 20 22 74 61 67 73 22 20 63    61 6e 64 29 29 0a 20 20 20 20 20 20 20 20 20 28  | tadatas."tags".cand))..........( | 
| 25320 |  6c 70 61 74 68 20 28 63 61 6c 69 62 72 65 64 62    2d 67 65 74 61 74 74 72 20 63 61 6e 64 20 3a 6c  | lpath.(calibredb-getattr.cand.:l | 
| 25340 |  70 61 74 68 29 29 29 0a 20 20 20 20 28 69 66 20    6c 70 61 74 68 0a 20 20 20 20 20 20 20 20 28 70  | path))).....(if.lpath.........(p | 
| 25360 |  72 6f 67 6e 0a 20 20 20 20 20 20 20 20 20 20 28    69 66 20 28 73 2d 63 6f 6e 74 61 69 6e 73 3f 20  | rogn...........(if.(s-contains?. | 
| 25380 |  6b 65 79 77 6f 72 64 20 74 61 67 73 29 0a 20 20    20 20 20 20 20 20 20 20 20 20 20 20 28 63 61 6c  | keyword.tags)...............(cal | 
| 253a0 |  69 62 72 65 64 62 2d 66 6f 6c 64 65 72 2d 75 70    64 61 74 65 2d 74 61 67 73 2d 62 79 2d 6c 70 61  | ibredb-folder-update-tags-by-lpa | 
| 253c0 |  74 68 20 6c 70 61 74 68 20 28 73 2d 72 65 70 6c    61 63 65 20 6b 65 79 77 6f 72 64 20 22 22 20 74  | th.lpath.(s-replace.keyword."".t | 
| 253e0 |  61 67 73 29 29 0a 20 20 20 20 20 20 20 20 20 20    20 20 28 63 61 6c 69 62 72 65 64 62 2d 66 6f 6c  | ags)).............(calibredb-fol | 
| 25400 |  64 65 72 2d 75 70 64 61 74 65 2d 74 61 67 73 2d    62 79 2d 6c 70 61 74 68 20 6c 70 61 74 68 20 6b  | der-update-tags-by-lpath.lpath.k | 
| 25420 |  65 79 77 6f 72 64 29 29 0a 20 20 20 20 20 20 20    20 20 20 28 63 6f 6e 64 20 28 28 65 71 75 61 6c  | eyword))...........(cond.((equal | 
| 25440 |  20 6d 61 6a 6f 72 2d 6d 6f 64 65 20 27 63 61 6c    69 62 72 65 64 62 2d 73 68 6f 77 2d 6d 6f 64 65  | .major-mode.'calibredb-show-mode | 
| 25460 |  29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 28 63 61 6c 69 62 72 65 64 62 2d 73 68  | )..................(calibredb-sh | 
| 25480 |  6f 77 2d 72 65 66 72 65 73 68 29 29 0a 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 65  | ow-refresh)).................((e | 
| 254a0 |  71 20 6d 61 6a 6f 72 2d 6d 6f 64 65 20 27 63 61    6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2d 6d  | q.major-mode.'calibredb-search-m | 
| 254c0 |  6f 64 65 29 0a 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 28 63 61 6c 69 62 72 65 64 62  | ode)..................(calibredb | 
| 254e0 |  2d 73 65 61 72 63 68 2d 72 65 66 72 65 73 68 2d    6f 72 2d 72 65 73 75 6d 65 29 29 0a 20 20 20 20  | -search-refresh-or-resume))..... | 
| 25500 |  20 20 20 20 20 20 20 20 20 20 20 20 28 74 20 6e    69 6c 29 29 29 0a 20 20 20 20 20 20 3b 3b 20 28  | ............(t.nil))).......;;.( | 
| 25520 |  70 70 20 63 61 6e 64 29 0a 20 20 20 20 20 20 28    69 66 20 63 61 6e 64 0a 20 20 20 20 20 20 20 20  | pp.cand).......(if.cand......... | 
| 25540 |  20 20 28 73 65 74 2d 70 72 6f 63 65 73 73 2d 73    65 6e 74 69 6e 65 6c 0a 20 20 20 20 20 20 20 20  | ..(set-process-sentinel......... | 
| 25560 |  20 20 20 28 6c 65 74 2a 20 28 28 69 64 20 28 63    61 6c 69 62 72 65 64 62 2d 67 65 74 61 74 74 72  | ...(let*.((id.(calibredb-getattr | 
| 25580 |  20 63 61 6e 64 20 3a 69 64 29 29 29 0a 20 20 20    20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 73  | .cand.:id)))..............(if.(s | 
| 255a0 |  2d 63 6f 6e 74 61 69 6e 73 3f 20 6b 65 79 77 6f    72 64 20 74 61 67 73 29 0a 20 20 20 20 20 20 20  | -contains?.keyword.tags)........ | 
| 255c0 |  20 20 20 20 20 20 20 20 20 20 28 63 61 6c 69 62    72 65 64 62 2d 70 72 6f 63 65 73 73 20 3a 63 6f  | ..........(calibredb-process.:co | 
| 255e0 |  6d 6d 61 6e 64 20 22 73 65 74 5f 6d 65 74 61 64    61 74 61 22 0a 20 20 20 20 20 20 20 20 20 20 20  | mmand."set_metadata"............ | 
| 25600 |  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 3a 6f 70 74 69 6f 6e  | .........................:option | 
| 25620 |  20 28 66 6f 72 6d 61 74 20 22 2d 2d 66 69 65 6c    64 20 74 61 67 73 3a 5c 22 25 73 5c 22 22 20 28  | .(format."--field.tags:\"%s\"".( | 
| 25640 |  73 2d 72 65 70 6c 61 63 65 20 6b 65 79 77 6f 72    64 20 22 22 20 74 61 67 73 29 29 0a 20 20 20 20  | s-replace.keyword."".tags))..... | 
| 25660 |  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  | ................................ | 
| 25680 |  3a 69 64 20 69 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  | :id.id.......................... | 
| 256a0 |  20 20 20 20 20 20 20 20 20 20 20 3a 6c 69 62 72    61 72 79 20 28 66 6f 72 6d 61 74 20 22 2d 2d 6c  | ...........:library.(format."--l | 
| 256c0 |  69 62 72 61 72 79 2d 70 61 74 68 20 5c 22 25 73    5c 22 22 20 63 61 6c 69 62 72 65 64 62 2d 72 6f  | ibrary-path.\"%s\"".calibredb-ro | 
| 256e0 |  6f 74 2d 64 69 72 29 29 0a 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 28 63 61 6c 69 62 72 65  | ot-dir))................(calibre | 
| 25700 |  64 62 2d 70 72 6f 63 65 73 73 20 3a 63 6f 6d 6d    61 6e 64 20 22 73 65 74 5f 6d 65 74 61 64 61 74  | db-process.:command."set_metadat | 
| 25720 |  61 22 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 20 20  | a".............................. | 
| 25740 |  20 20 20 20 20 3a 6f 70 74 69 6f 6e 20 28 66 6f    72 6d 61 74 20 22 2d 2d 66 69 65 6c 64 20 74 61  | .....:option.(format."--field.ta | 
| 25760 |  67 73 3a 5c 22 25 73 2c 25 73 5c 22 22 20 74 61    67 73 20 6b 65 79 77 6f 72 64 29 0a 20 20 20 20  | gs:\"%s,%s\"".tags.keyword)..... | 
| 25780 |  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 3a 69  | ..............................:i | 
| 257a0 |  64 20 69 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 20  | d.id............................ | 
| 257c0 |  20 20 20 20 20 20 20 3a 6c 69 62 72 61 72 79 20    28 66 6f 72 6d 61 74 20 22 2d 2d 6c 69 62 72 61  | .......:library.(format."--libra | 
| 257e0 |  72 79 2d 70 61 74 68 20 5c 22 25 73 5c 22 22 20    63 61 6c 69 62 72 65 64 62 2d 72 6f 6f 74 2d 64  | ry-path.\"%s\"".calibredb-root-d | 
| 25800 |  69 72 29 29 29 29 0a 20 20 20 20 20 20 20 20 20    20 20 28 6c 61 6d 62 64 61 20 28 70 20 5f 65 29  | ir))))............(lambda.(p._e) | 
| 25820 |  0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 77    68 65 6e 20 28 3d 20 30 20 28 70 72 6f 63 65 73  | ..............(when.(=.0.(proces | 
| 25840 |  73 2d 65 78 69 74 2d 73 74 61 74 75 73 20 70 29    29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | s-exit-status.p))............... | 
| 25860 |  20 28 63 61 6c 69 62 72 65 64 62 2d 74 6f 67 67    6c 65 2d 6d 65 74 61 64 61 74 61 2d 70 72 6f 63  | .(calibredb-toggle-metadata-proc | 
| 25880 |  65 73 73 20 63 61 6e 64 73 20 6b 65 79 77 6f 72    64 29 29 29 29 0a 20 20 20 20 20 20 20 20 3b 3b  | ess.cands.keyword)))).........;; | 
| 258a0 |  20 69 66 20 6e 6f 20 63 61 6e 64 69 64 61 74 65    20 6c 65 66 74 20 74 6f 20 62 65 20 70 72 6f 63  | .if.no.candidate.left.to.be.proc | 
| 258c0 |  65 73 73 65 64 2c 20 72 65 66 72 65 73 68 20 2a    63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68  | essed,.refresh.*calibredb-search | 
| 258e0 |  2a 0a 20 20 20 20 20 20 20 20 28 63 6f 6e 64 20    28 28 65 71 75 61 6c 20 6d 61 6a 6f 72 2d 6d 6f  | *.........(cond.((equal.major-mo | 
| 25900 |  64 65 20 27 63 61 6c 69 62 72 65 64 62 2d 73 68    6f 77 2d 6d 6f 64 65 29 0a 20 20 20 20 20 20 20  | de.'calibredb-show-mode)........ | 
| 25920 |  20 20 20 20 20 20 20 20 28 63 61 6c 69 62 72 65    64 62 2d 73 68 6f 77 2d 72 65 66 72 65 73 68 29  | ........(calibredb-show-refresh) | 
| 25940 |  29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20    28 28 65 71 20 6d 61 6a 6f 72 2d 6d 6f 64 65 20  | )...............((eq.major-mode. | 
| 25960 |  27 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63    68 2d 6d 6f 64 65 29 0a 20 20 20 20 20 20 20 20  | 'calibredb-search-mode)......... | 
| 25980 |  20 20 20 20 20 20 20 28 63 61 6c 69 62 72 65 64    62 2d 73 65 61 72 63 68 2d 72 65 66 72 65 73 68  | .......(calibredb-search-refresh | 
| 259a0 |  2d 6f 72 2d 72 65 73 75 6d 65 29 29 0a 20 20 20    20 20 20 20 20 20 20 20 20 20 20 28 74 20 6e 69  | -or-resume))...............(t.ni | 
| 259c0 |  6c 29 29 29 29 29 29 0a 0a 3b 3b 20 6c 69 76 65    20 66 69 6c 74 65 72 69 6e 67 0a 0a 28 64 65 66  | l))))))..;;.live.filtering..(def | 
| 259e0 |  75 6e 20 63 61 6c 69 62 72 65 64 62 2d 73 65 61    72 63 68 2d 67 65 74 2d 66 69 6c 74 65 72 72 65  | un.calibredb-search-get-filterre | 
| 25a00 |  64 2d 65 6e 74 72 69 65 73 20 28 26 72 65 73 74    20 70 72 6f 70 65 72 74 69 65 73 29 0a 20 20 22  | d-entries.(&rest.properties)..." | 
| 25a20 |  47 65 74 20 65 62 6f 6f 6b 20 63 61 6e 64 69 64    61 74 65 20 65 6e 74 72 69 65 73 20 62 79 20 44  | Get.ebook.candidate.entries.by.D | 
| 25a40 |  42 2c 20 4f 50 44 53 20 6f 72 20 46 4f 4c 44 45    52 2e 22 0a 20 20 28 6c 65 74 20 28 28 64 62 20  | B,.OPDS.or.FOLDER."...(let.((db. | 
| 25a60 |  28 70 6c 69 73 74 2d 67 65 74 20 70 72 6f 70 65    72 74 69 65 73 20 3a 64 62 29 29 0a 20 20 20 20  | (plist-get.properties.:db))..... | 
| 25a80 |  20 20 20 20 28 70 61 67 65 20 28 70 6c 69 73 74    2d 67 65 74 20 70 72 6f 70 65 72 74 69 65 73 20  | ....(page.(plist-get.properties. | 
| 25aa0 |  3a 70 61 67 65 29 29 0a 20 20 20 20 20 20 20 20    28 6f 70 64 73 20 28 70 6c 69 73 74 2d 67 65 74  | :page)).........(opds.(plist-get | 
| 25ac0 |  20 70 72 6f 70 65 72 74 69 65 73 20 3a 6f 70 64    73 29 29 0a 20 20 20 20 20 20 20 20 28 66 6f 6c  | .properties.:opds)).........(fol | 
| 25ae0 |  64 65 72 20 28 70 6c 69 73 74 2d 67 65 74 20 70    72 6f 70 65 72 74 69 65 73 20 3a 66 6f 6c 64 65  | der.(plist-get.properties.:folde | 
| 25b00 |  72 29 29 29 0a 20 20 20 20 28 63 6f 6e 64 0a 20    20 20 20 20 28 64 62 0a 20 20 20 20 20 20 28 63  | r))).....(cond......(db.......(c | 
| 25b20 |  61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2d    63 61 6e 64 69 64 61 74 65 73 20 63 61 6c 69 62  | alibredb-search-candidates.calib | 
| 25b40 |  72 65 64 62 2d 73 65 61 72 63 68 2d 66 69 6c 74    65 72 20 3a 6c 69 6d 69 74 20 28 63 61 6c 69 62  | redb-search-filter.:limit.(calib | 
| 25b60 |  72 65 64 62 2d 73 65 61 72 63 68 2d 70 61 67 65    2d 6d 61 78 2d 72 6f 77 73 29 20 3a 70 61 67 65  | redb-search-page-max-rows).:page | 
| 25b80 |  20 70 61 67 65 29 29 0a 20 20 20 20 20 28 6f 70    64 73 20 6f 70 64 73 29 0a 20 20 20 20 20 28 66  | .page))......(opds.opds)......(f | 
| 25ba0 |  6f 6c 64 65 72 20 28 63 61 6c 69 62 72 65 64 62    2d 66 6f 6c 64 65 72 2d 63 61 6e 64 69 64 61 74  | older.(calibredb-folder-candidat | 
| 25bc0 |  65 73 20 63 61 6c 69 62 72 65 64 62 2d 73 65 61    72 63 68 2d 66 69 6c 74 65 72 29 29 29 29 29 0a  | es.calibredb-search-filter))))). | 
| 25be0 |  0a 28 64 65 66 75 6e 20 63 61 6c 69 62 72 65 64    62 2d 73 65 61 72 63 68 2d 70 72 69 6e 74 2d 65  | .(defun.calibredb-search-print-e | 
| 25c00 |  6e 74 72 79 2d 2d 64 65 66 61 75 6c 74 20 28 65    6e 74 72 79 29 0a 20 20 22 50 72 69 6e 74 20 45  | ntry--default.(entry)..."Print.E | 
| 25c20 |  4e 54 52 59 20 74 6f 20 74 68 65 20 62 75 66 66    65 72 2e 22 0a 20 20 28 75 6e 6c 65 73 73 20 28  | NTRY.to.the.buffer."...(unless.( | 
| 25c40 |  65 71 75 61 6c 20 65 6e 74 72 79 20 22 22 29 0a    20 20 20 20 28 6c 65 74 20 28 28 63 6f 6e 74 65  | equal.entry."").....(let.((conte | 
| 25c60 |  6e 74 20 28 63 61 72 20 65 6e 74 72 79 29 29 20    62 65 67 20 65 6e 64 29 0a 20 20 20 20 20 20 28  | nt.(car.entry)).beg.end).......( | 
| 25c80 |  73 65 74 71 20 62 65 67 20 28 70 6f 69 6e 74 29    29 0a 20 20 20 20 20 20 28 69 6e 73 65 72 74 20  | setq.beg.(point)).......(insert. | 
| 25ca0 |  63 6f 6e 74 65 6e 74 29 0a 20 20 20 20 20 20 28    63 61 6c 69 62 72 65 64 62 2d 64 65 74 61 69 6c  | content).......(calibredb-detail | 
| 25cc0 |  65 64 2d 76 69 65 77 2d 69 6e 73 65 72 74 2d 69    6d 61 67 65 20 65 6e 74 72 79 29 0a 20 20 20 20  | ed-view-insert-image.entry)..... | 
| 25ce0 |  20 20 28 73 65 74 71 20 65 6e 64 20 28 70 6f 69    6e 74 29 29 0a 20 20 20 20 20 20 28 70 75 74 2d  | ..(setq.end.(point)).......(put- | 
| 25d00 |  74 65 78 74 2d 70 72 6f 70 65 72 74 79 20 62 65    67 20 65 6e 64 20 27 63 61 6c 69 62 72 65 64 62  | text-property.beg.end.'calibredb | 
| 25d20 |  2d 65 6e 74 72 79 20 65 6e 74 72 79 29 29 29 29    0a 0a 28 64 65 66 75 6e 20 63 61 6c 69 62 72 65  | -entry.entry))))..(defun.calibre | 
| 25d40 |  64 62 2d 73 65 61 72 63 68 2d 2d 6d 69 6e 69 62    75 66 66 65 72 2d 73 65 74 75 70 20 28 29 0a 20  | db-search--minibuffer-setup.().. | 
| 25d60 |  20 22 53 65 74 20 75 70 20 74 68 65 20 6d 69 6e    69 62 75 66 66 65 72 20 66 6f 72 20 6c 69 76 65  | ."Set.up.the.minibuffer.for.live | 
| 25d80 |  20 66 69 6c 74 65 72 69 6e 67 2e 22 0a 20 20 28    77 68 65 6e 20 63 61 6c 69 62 72 65 64 62 2d 73  | .filtering."...(when.calibredb-s | 
| 25da0 |  65 61 72 63 68 2d 66 69 6c 74 65 72 2d 61 63 74    69 76 65 0a 20 20 20 20 28 77 68 65 6e 20 28 65  | earch-filter-active.....(when.(e | 
| 25dc0 |  71 20 3a 6c 69 76 65 20 63 61 6c 69 62 72 65 64    62 2d 73 65 61 72 63 68 2d 66 69 6c 74 65 72 2d  | q.:live.calibredb-search-filter- | 
| 25de0 |  61 63 74 69 76 65 29 0a 20 20 20 20 20 20 28 61    64 64 2d 68 6f 6f 6b 20 27 70 6f 73 74 2d 63 6f  | active).......(add-hook.'post-co | 
| 25e00 |  6d 6d 61 6e 64 2d 68 6f 6f 6b 20 23 27 63 61 6c    69 62 72 65 64 62 2d 73 65 61 72 63 68 2d 2d 6c  | mmand-hook.#'calibredb-search--l | 
| 25e20 |  69 76 65 2d 75 70 64 61 74 65 20 6e 69 6c 20 3a    6c 6f 63 61 6c 29 29 29 29 0a 0a 28 64 65 66 75  | ive-update.nil.:local))))..(defu | 
| 25e40 |  6e 20 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72    63 68 2d 2d 6c 69 76 65 2d 75 70 64 61 74 65 20  | n.calibredb-search--live-update. | 
| 25e60 |  28 29 0a 20 20 22 55 70 64 61 74 65 20 74 68 65    20 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63  | ()..."Update.the.calibredb-searc | 
| 25e80 |  68 20 62 75 66 66 65 72 20 62 61 73 65 64 20 6f    6e 20 74 68 65 20 63 6f 6e 74 65 6e 74 73 20 6f  | h.buffer.based.on.the.contents.o | 
| 25ea0 |  66 20 74 68 65 20 6d 69 6e 69 62 75 66 66 65 72    2e 22 0a 20 20 28 77 68 65 6e 20 28 65 71 20 3a  | f.the.minibuffer."...(when.(eq.: | 
| 25ec0 |  6c 69 76 65 20 63 61 6c 69 62 72 65 64 62 2d 73    65 61 72 63 68 2d 66 69 6c 74 65 72 2d 61 63 74  | live.calibredb-search-filter-act | 
| 25ee0 |  69 76 65 29 0a 20 20 20 20 3b 3b 20 28 6d 65 73    73 61 67 65 20 22 48 45 4c 4c 4f 22 29 0a 20 20  | ive).....;;.(message."HELLO")... | 
| 25f00 |  20 20 28 6c 65 74 20 28 28 62 75 66 66 65 72 20    28 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63  | ..(let.((buffer.(calibredb-searc | 
| 25f20 |  68 2d 62 75 66 66 65 72 29 29 0a 20 20 20 20 20    20 20 20 20 20 28 63 75 72 72 65 6e 74 2d 66 69  | h-buffer))...........(current-fi | 
| 25f40 |  6c 74 65 72 20 28 6d 69 6e 69 62 75 66 66 65 72    2d 63 6f 6e 74 65 6e 74 73 2d 6e 6f 2d 70 72 6f  | lter.(minibuffer-contents-no-pro | 
| 25f60 |  70 65 72 74 69 65 73 29 29 29 0a 20 20 20 20 20    20 28 77 68 65 6e 20 62 75 66 66 65 72 0a 20 20  | perties))).......(when.buffer... | 
| 25f80 |  20 20 20 20 20 20 28 77 69 74 68 2d 63 75 72 72    65 6e 74 2d 62 75 66 66 65 72 20 62 75 66 66 65  | ......(with-current-buffer.buffe | 
| 25fa0 |  72 0a 20 20 20 20 20 20 20 20 20 20 28 6c 65 74    20 28 28 63 61 6c 69 62 72 65 64 62 2d 73 65 61  | r...........(let.((calibredb-sea | 
| 25fc0 |  72 63 68 2d 66 69 6c 74 65 72 20 63 75 72 72 65    6e 74 2d 66 69 6c 74 65 72 29 29 0a 20 20 20 20  | rch-filter.current-filter))..... | 
| 25fe0 |  20 20 20 20 20 20 20 20 28 73 65 74 71 20 63 61    6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2d 63  | ........(setq.calibredb-search-c | 
| 26000 |  75 72 72 65 6e 74 2d 70 61 67 65 20 31 29 0a 20    20 20 20 20 20 20 20 20 20 20 20 28 63 61 6c 69  | urrent-page.1).............(cali | 
| 26020 |  62 72 65 64 62 2d 73 65 61 72 63 68 2d 75 70 64    61 74 65 2d 62 75 66 66 65 72 2d 62 79 2d 6c 69  | bredb-search-update-buffer-by-li | 
| 26040 |  62 72 61 72 79 2d 74 79 70 65 29 29 29 29 29 29    29 0a 0a 28 64 65 66 75 6e 20 63 61 6c 69 62 72  | brary-type)))))))..(defun.calibr | 
| 26060 |  65 64 62 2d 73 65 61 72 63 68 2d 6c 69 76 65 2d    66 69 6c 74 65 72 20 28 29 0a 20 20 22 46 69 6c  | edb-search-live-filter.()..."Fil | 
| 26080 |  74 65 72 20 74 68 65 20 63 61 6c 69 62 72 65 64    62 2d 73 65 61 72 63 68 20 62 75 66 66 65 72 20  | ter.the.calibredb-search.buffer. | 
| 260a0 |  61 73 20 74 68 65 20 66 69 6c 74 65 72 20 69 73    20 77 72 69 74 74 65 6e 2e 0a 43 75 72 72 65 6e  | as.the.filter.is.written..Curren | 
| 260c0 |  74 6c 79 2c 20 74 68 65 20 66 69 6c 74 65 72 69    6e 67 20 69 73 20 63 6f 6c 75 6d 6e 2d 6f 72 69  | tly,.the.filtering.is.column-ori | 
| 260e0 |  65 6e 74 65 64 2c 20 6e 6f 74 20 62 75 66 66 65    72 20 6f 72 69 65 6e 74 65 64 2e 0a 54 68 65 20  | ented,.not.buffer.oriented..The. | 
| 26100 |  66 6f 6c 6c 6f 77 69 6e 67 20 63 6f 6c 75 6d 6e    73 20 77 69 6c 6c 20 62 65 20 73 65 61 72 63 68  | following.columns.will.be.search | 
| 26120 |  65 64 3a 0a 0a 2d 20 69 64 0a 2d 20 74 65 78 74    0a 2d 20 74 61 67 0a 2d 20 74 69 74 6c 65 0a 2d  | ed:..-.id.-.text.-.tag.-.title.- | 
| 26140 |  20 66 6f 72 6d 61 74 0a 2d 20 61 75 74 68 6f 72    5f 73 6f 72 74 0a 0a 49 66 20 74 68 65 20 6b 65  | .format.-.author_sort..If.the.ke | 
| 26160 |  79 77 6f 72 64 20 6f 63 63 75 72 73 20 69 6e 20    61 6e 79 20 6f 66 20 74 68 65 20 63 6f 6c 75 6d  | yword.occurs.in.any.of.the.colum | 
| 26180 |  6e 73 20 61 62 6f 76 65 2c 20 74 68 65 20 6d 61    74 63 68 65 64 0a 65 62 6f 6f 6b 20 72 65 63 6f  | ns.above,.the.matched.ebook.reco | 
| 261a0 |  72 64 20 77 69 6c 6c 20 62 65 20 73 68 6f 77 6e    2e 0a 0a 31 2e 20 4c 69 76 65 20 66 69 6c 74 65  | rd.will.be.shown...1..Live.filte | 
| 261c0 |  72 20 64 69 72 65 63 74 6c 79 20 6f 6e 20 74 68    65 20 64 61 74 61 62 61 73 65 2e 0a 0a 32 2e 20  | r.directly.on.the.database...2.. | 
| 261e0 |  54 68 65 20 6b 65 79 77 6f 72 64 20 73 75 70 70    6f 72 74 73 20 52 45 47 45 58 2e 0a 0a 33 2e 20  | The.keyword.supports.REGEX...3.. | 
| 26200 |  49 6e 73 65 72 74 69 6e 67 20 53 70 61 63 65 73    20 62 65 74 77 65 65 6e 0a 20 20 20 6b 65 79 77  | Inserting.Spaces.between....keyw | 
| 26220 |  6f 72 64 73 20 63 61 6e 20 6e 61 72 72 6f 77 20    64 6f 77 6e 20 74 68 65 20 73 65 61 72 63 68 20  | ords.can.narrow.down.the.search. | 
| 26240 |  72 65 73 75 6c 74 73 2e 22 0a 0a 20 20 28 69 6e    74 65 72 61 63 74 69 76 65 29 0a 20 20 28 75 6e  | results."....(interactive)...(un | 
| 26260 |  77 69 6e 64 2d 70 72 6f 74 65 63 74 0a 20 20 20    20 20 20 28 6c 65 74 20 28 28 63 61 6c 69 62 72  | wind-protect.......(let.((calibr | 
| 26280 |  65 64 62 2d 73 65 61 72 63 68 2d 66 69 6c 74 65    72 2d 61 63 74 69 76 65 20 3a 6c 69 76 65 29 29  | edb-search-filter-active.:live)) | 
| 262a0 |  0a 20 20 20 20 20 20 20 20 28 73 65 74 71 20 63    61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2d  | .........(setq.calibredb-search- | 
| 262c0 |  66 69 6c 74 65 72 0a 20 20 20 20 20 20 20 20 20    20 20 20 20 20 28 72 65 61 64 2d 66 72 6f 6d 2d  | filter...............(read-from- | 
| 262e0 |  6d 69 6e 69 62 75 66 66 65 72 20 28 66 6f 72 6d    61 74 20 22 46 69 6c 74 65 72 20 25 73 3a 20 22  | minibuffer.(format."Filter.%s:." | 
| 26300 |  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 20 20 20 20  | ................................ | 
| 26320 |  20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f    6e 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  | .............(cond.............. | 
| 26340 |  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  | ................................ | 
| 26360 |  28 63 61 6c 69 62 72 65 64 62 2d 74 61 67 2d 66    69 6c 74 65 72 2d 70 20 22 28 74 61 67 29 22 29  | (calibredb-tag-filter-p."(tag)") | 
| 26380 |  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 20 20 20 20  | ................................ | 
| 263a0 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63    61 6c 69 62 72 65 64 62 2d 66 61 76 6f 72 69 74  | ..............(calibredb-favorit | 
| 263c0 |  65 2d 66 69 6c 74 65 72 2d 70 20 22 28 66 61 76    6f 72 69 74 65 29 22 29 0a 20 20 20 20 20 20 20  | e-filter-p."(favorite)")........ | 
| 263e0 |  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  | ................................ | 
| 26400 |  20 20 20 20 20 20 28 63 61 6c 69 62 72 65 64 62    2d 61 75 74 68 6f 72 2d 66 69 6c 74 65 72 2d 70  | ......(calibredb-author-filter-p | 
| 26420 |  20 22 28 61 75 74 68 6f 72 29 22 29 0a 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | ."(author)").................... | 
| 26440 |  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 63 61 6c 69 62  | ..........................(calib | 
| 26460 |  72 65 64 62 2d 64 61 74 65 2d 66 69 6c 74 65 72    2d 70 20 22 28 64 61 74 65 29 22 29 0a 20 20 20  | redb-date-filter-p."(date)").... | 
| 26480 |  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  | ................................ | 
| 264a0 |  20 20 20 20 20 20 20 20 20 20 28 63 61 6c 69 62    72 65 64 62 2d 66 6f 72 6d 61 74 2d 66 69 6c 74  | ..........(calibredb-format-filt | 
| 264c0 |  65 72 2d 70 20 22 28 66 6f 72 6d 61 74 29 22 29    0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | er-p."(format)")................ | 
| 264e0 |  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 74  | ..............................(t | 
| 26500 |  20 22 28 6c 69 76 65 29 22 29 29 29 20 63 61 6c    69 62 72 65 64 62 2d 73 65 61 72 63 68 2d 66 69  | ."(live)"))).calibredb-search-fi | 
| 26520 |  6c 74 65 72 29 29 0a 20 20 20 20 20 20 20 20 28    6d 65 73 73 61 67 65 20 63 61 6c 69 62 72 65 64  | lter)).........(message.calibred | 
| 26540 |  62 2d 73 65 61 72 63 68 2d 66 69 6c 74 65 72 29    29 0a 20 20 20 20 28 63 61 6c 69 62 72 65 64 62  | b-search-filter)).....(calibredb | 
| 26560 |  2d 73 65 61 72 63 68 2d 75 70 64 61 74 65 2d 62    75 66 66 65 72 2d 62 79 2d 6c 69 62 72 61 72 79  | -search-update-buffer-by-library | 
| 26580 |  2d 74 79 70 65 29 29 29 0a 0a 28 64 65 66 75 6e    20 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63  | -type)))..(defun.calibredb-searc | 
| 265a0 |  68 2d 75 70 64 61 74 65 2d 62 75 66 66 65 72 2d    62 79 2d 6c 69 62 72 61 72 79 2d 74 79 70 65 20  | h-update-buffer-by-library-type. | 
| 265c0 |  28 29 0a 20 20 22 55 70 64 61 74 65 20 74 68 65    20 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63  | ()..."Update.the.calibredb-searc | 
| 265e0 |  68 20 62 75 66 66 65 72 20 62 79 20 6c 69 62 72    61 72 79 20 74 79 70 65 2c 20 6f 70 64 73 2c 20  | h.buffer.by.library.type,.opds,. | 
| 26600 |  6d 65 74 61 64 61 74 61 20 6f 72 0a 66 6f 6c 64    65 72 20 6d 65 61 74 61 64 61 74 61 2e 22 0a 20  | metadata.or.folder.meatadata.".. | 
| 26620 |  20 28 63 6f 6e 64 0a 20 20 20 28 28 73 74 72 69    6e 67 2d 70 72 65 66 69 78 2d 70 20 22 68 74 74  | .(cond....((string-prefix-p."htt | 
| 26640 |  70 22 20 63 61 6c 69 62 72 65 64 62 2d 72 6f 6f    74 2d 64 69 72 29 0a 20 20 20 20 28 6d 65 73 73  | p".calibredb-root-dir).....(mess | 
| 26660 |  61 67 65 20 22 4f 50 44 53 20 64 6f 65 73 20 6e    6f 74 20 73 75 70 70 70 72 74 20 73 65 61 72 63  | age."OPDS.does.not.suppprt.searc | 
| 26680 |  68 20 61 74 20 74 68 69 73 20 6d 6f 6d 65 6e 74    2e 22 29 29 0a 20 20 20 28 28 61 6e 64 20 28 73  | h.at.this.moment."))....((and.(s | 
| 266a0 |  74 72 69 6e 67 70 20 63 61 6c 69 62 72 65 64 62    2d 64 62 2d 64 69 72 29 0a 20 20 20 20 20 20 20  | tringp.calibredb-db-dir)........ | 
| 266c0 |  20 20 28 66 69 6c 65 2d 65 78 69 73 74 73 2d 70    20 63 61 6c 69 62 72 65 64 62 2d 64 62 2d 64 69  | ..(file-exists-p.calibredb-db-di | 
| 266e0 |  72 29 0a 20 20 20 20 20 20 20 20 20 28 73 2d 63    6f 6e 74 61 69 6e 73 3f 20 22 6d 65 74 61 64 61  | r)..........(s-contains?."metada | 
| 26700 |  74 61 2e 64 62 22 20 63 61 6c 69 62 72 65 64 62    2d 64 62 2d 64 69 72 29 29 0a 20 20 20 20 28 63  | ta.db".calibredb-db-dir)).....(c | 
| 26720 |  61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2d    75 70 64 61 74 65 2d 62 75 66 66 65 72 29 29 0a  | alibredb-search-update-buffer)). | 
| 26740 |  20 20 20 28 28 61 6e 64 20 28 66 69 6c 65 2d 65    78 69 73 74 73 2d 70 20 28 65 78 70 61 6e 64 2d  | ...((and.(file-exists-p.(expand- | 
| 26760 |  66 69 6c 65 2d 6e 61 6d 65 20 22 2e 6d 65 74 61    64 61 74 61 2e 63 61 6c 69 62 72 65 22 20 63 61  | file-name.".metadata.calibre".ca | 
| 26780 |  6c 69 62 72 65 64 62 2d 72 6f 6f 74 2d 64 69 72    29 29 29 0a 20 20 20 20 28 63 61 6c 69 62 72 65  | libredb-root-dir))).....(calibre | 
| 267a0 |  64 62 2d 73 65 61 72 63 68 2d 75 70 64 61 74 65    2d 62 75 66 66 65 72 20 3a 66 6f 6c 64 65 72 20  | db-search-update-buffer.:folder. | 
| 267c0 |  74 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 63 61    6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2d 6b  | t))))..(defun.calibredb-search-k | 
| 267e0 |  65 79 77 6f 72 64 2d 66 69 6c 74 65 72 20 28 6b    65 79 77 6f 72 64 29 0a 20 20 22 46 69 6c 74 65  | eyword-filter.(keyword)..."Filte | 
| 26800 |  72 20 74 68 65 20 63 61 6c 69 62 72 65 64 62 2d    73 65 61 72 63 68 20 62 75 66 66 65 72 20 77 69  | r.the.calibredb-search.buffer.wi | 
| 26820 |  74 68 20 4b 45 59 57 4f 52 44 2e 22 0a 20 20 28    73 65 74 71 20 63 61 6c 69 62 72 65 64 62 2d 73  | th.KEYWORD."...(setq.calibredb-s | 
| 26840 |  65 61 72 63 68 2d 66 69 6c 74 65 72 20 6b 65 79    77 6f 72 64 29 0a 20 20 28 63 61 6c 69 62 72 65  | earch-filter.keyword)...(calibre | 
| 26860 |  64 62 2d 73 65 61 72 63 68 2d 75 70 64 61 74 65    2d 62 75 66 66 65 72 2d 62 79 2d 6c 69 62 72 61  | db-search-update-buffer-by-libra | 
| 26880 |  72 79 2d 74 79 70 65 29 29 0a 0a 28 64 65 66 76    61 72 20 63 61 6c 69 62 72 65 64 62 2d 73 65 61  | ry-type))..(defvar.calibredb-sea | 
| 268a0 |  72 63 68 2d 65 6e 74 72 69 65 73 2d 6c 65 6e 67    74 68 20 30 0a 20 20 22 54 68 65 20 6e 75 6d 62  | rch-entries-length.0..."The.numb | 
| 268c0 |  65 72 20 6f 66 20 65 6e 74 72 69 65 73 20 69 6e    20 74 68 65 20 63 75 72 72 65 6e 74 20 73 65 61  | er.of.entries.in.the.current.sea | 
| 268e0 |  72 63 68 20 72 65 73 75 6c 74 2e 22 29 0a 0a 28    64 65 66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d  | rch.result.")..(defun.calibredb- | 
| 26900 |  73 65 61 72 63 68 2d 75 70 64 61 74 65 2d 62 75    66 66 65 72 20 28 26 72 65 73 74 20 70 72 6f 70  | search-update-buffer.(&rest.prop | 
| 26920 |  65 72 74 69 65 73 29 0a 20 20 22 55 70 64 61 74    65 20 74 68 65 20 63 61 6c 69 62 72 65 64 62 2d  | erties)..."Update.the.calibredb- | 
| 26940 |  73 65 61 72 63 68 20 62 75 66 66 65 72 20 6c 69    73 74 69 6e 67 20 74 6f 20 6d 61 74 63 68 20 74  | search.buffer.listing.to.match.t | 
| 26960 |  68 65 20 64 61 74 61 62 61 73 65 20 77 69 74 68    20 50 41 47 45 2e 22 0a 20 20 28 69 6e 74 65 72  | he.database.with.PAGE."...(inter | 
| 26980 |  61 63 74 69 76 65 29 0a 20 20 28 77 69 74 68 2d    63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 20 28  | active)...(with-current-buffer.( | 
| 269a0 |  63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68    2d 62 75 66 66 65 72 29 0a 20 20 20 20 28 6c 65  | calibredb-search-buffer).....(le | 
| 269c0 |  74 2a 20 28 28 6f 70 64 73 20 28 70 6c 69 73 74    2d 67 65 74 20 70 72 6f 70 65 72 74 69 65 73 20  | t*.((opds.(plist-get.properties. | 
| 269e0 |  3a 6f 70 64 73 29 29 0a 20 20 20 20 20 20 20 20    20 20 20 28 66 6f 6c 64 65 72 20 28 70 6c 69 73  | :opds))............(folder.(plis | 
| 26a00 |  74 2d 67 65 74 20 70 72 6f 70 65 72 74 69 65 73    20 3a 66 6f 6c 64 65 72 29 29 0a 20 20 20 20 20  | t-get.properties.:folder))...... | 
| 26a20 |  20 20 20 20 20 20 28 70 61 67 65 20 28 6f 72 20    28 70 6c 69 73 74 2d 67 65 74 20 70 72 6f 70 65  | ......(page.(or.(plist-get.prope | 
| 26a40 |  72 74 69 65 73 20 3a 70 61 67 65 29 20 31 29 29    0a 20 20 20 20 20 20 20 20 20 20 20 28 64 62 20  | rties.:page).1))............(db. | 
| 26a60 |  28 69 66 20 28 6f 72 20 6f 70 64 73 20 66 6f 6c    64 65 72 29 20 6e 69 6c 20 74 29 29 0a 20 20 20  | (if.(or.opds.folder).nil.t)).... | 
| 26a80 |  20 20 20 20 20 20 20 20 28 69 6e 68 69 62 69 74    2d 72 65 61 64 2d 6f 6e 6c 79 20 74 29 0a 20 20  | ........(inhibit-read-only.t)... | 
| 26aa0 |  20 20 20 20 20 20 20 20 20 28 73 74 61 6e 64 61    72 64 2d 6f 75 74 70 75 74 20 28 63 75 72 72 65  | .........(standard-output.(curre | 
| 26ac0 |  6e 74 2d 62 75 66 66 65 72 29 29 0a 20 20 20 20    20 20 20 20 20 20 20 28 69 64 20 30 29 0a 20 20  | nt-buffer))............(id.0)... | 
| 26ae0 |  20 20 20 20 20 20 20 20 20 28 65 6e 74 72 69 65    73 20 28 63 61 6c 69 62 72 65 64 62 2d 73 65 61  | .........(entries.(calibredb-sea | 
| 26b00 |  72 63 68 2d 67 65 74 2d 66 69 6c 74 65 72 72 65    64 2d 65 6e 74 72 69 65 73 20 3a 64 62 20 64 62  | rch-get-filterred-entries.:db.db | 
| 26b20 |  20 3a 70 61 67 65 20 70 61 67 65 20 3a 6f 70 64    73 20 6f 70 64 73 20 3a 66 6f 6c 64 65 72 20 66  | .:page.page.:opds.opds.:folder.f | 
| 26b40 |  6f 6c 64 65 72 29 29 0a 20 20 20 20 20 20 20 20    20 20 20 28 6c 65 6e 20 28 6c 65 6e 67 74 68 20  | older))............(len.(length. | 
| 26b60 |  65 6e 74 72 69 65 73 29 29 0a 20 20 20 20 20 20    20 20 20 20 20 28 72 6f 77 73 20 28 63 61 6c 69  | entries))............(rows.(cali | 
| 26b80 |  62 72 65 64 62 2d 73 65 61 72 63 68 2d 70 61 67    65 2d 6d 61 78 2d 72 6f 77 73 29 29 29 0a 20 20  | bredb-search-page-max-rows)))... | 
| 26ba0 |  20 20 20 20 28 73 65 74 71 20 63 61 6c 69 62 72    65 64 62 2d 73 65 61 72 63 68 2d 65 6e 74 72 69  | ....(setq.calibredb-search-entri | 
| 26bc0 |  65 73 2d 6c 65 6e 67 74 68 20 28 69 66 20 64 62    20 28 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72  | es-length.(if.db.(calibredb-sear | 
| 26be0 |  63 68 2d 63 61 6e 64 69 64 61 74 65 73 20 63 61    6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2d 66  | ch-candidates.calibredb-search-f | 
| 26c00 |  69 6c 74 65 72 20 3a 63 6f 75 6e 74 20 74 29 20    6c 65 6e 29 29 0a 20 20 20 20 20 20 28 73 65 74  | ilter.:count.t).len)).......(set | 
| 26c20 |  71 20 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72    63 68 2d 70 61 67 65 73 20 28 69 66 20 64 62 20  | q.calibredb-search-pages.(if.db. | 
| 26c40 |  28 63 65 69 6c 69 6e 67 20 63 61 6c 69 62 72 65    64 62 2d 73 65 61 72 63 68 2d 65 6e 74 72 69 65  | (ceiling.calibredb-search-entrie | 
| 26c60 |  73 2d 6c 65 6e 67 74 68 20 72 6f 77 73 29 20 31    29 29 0a 20 20 20 20 20 20 28 65 72 61 73 65 2d  | s-length.rows).1)).......(erase- | 
| 26c80 |  62 75 66 66 65 72 29 0a 20 20 20 20 20 20 3b 3b    20 72 65 73 65 74 20 63 61 6c 69 62 72 65 64 62  | buffer).......;;.reset.calibredb | 
| 26ca0 |  2d 76 69 72 74 75 61 6c 2d 6c 69 62 72 61 72 79    2d 6e 61 6d 65 0a 20 20 20 20 20 20 28 75 6e 6c  | -virtual-library-name.......(unl | 
| 26cc0 |  65 73 73 20 28 2d 63 6f 6e 74 61 69 6e 73 3f 20    28 6d 61 70 63 61 72 20 23 27 63 64 72 20 63 61  | ess.(-contains?.(mapcar.#'cdr.ca | 
| 26ce0 |  6c 69 62 72 65 64 62 2d 76 69 72 74 75 61 6c 2d    6c 69 62 72 61 72 79 2d 61 6c 69 73 74 29 20 63  | libredb-virtual-library-alist).c | 
| 26d00 |  61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2d    66 69 6c 74 65 72 29 0a 20 20 20 20 20 20 20 20  | alibredb-search-filter)......... | 
| 26d20 |  28 73 65 74 71 20 63 61 6c 69 62 72 65 64 62 2d    76 69 72 74 75 61 6c 2d 6c 69 62 72 61 72 79 2d  | (setq.calibredb-virtual-library- | 
| 26d40 |  6e 61 6d 65 20 63 61 6c 69 62 72 65 64 62 2d 76    69 72 74 75 61 6c 2d 6c 69 62 72 61 72 79 2d 64  | name.calibredb-virtual-library-d | 
| 26d60 |  65 66 61 75 6c 74 2d 6e 61 6d 65 29 29 0a 20 20    20 20 20 20 28 64 6f 6c 69 73 74 20 28 65 6e 74  | efault-name)).......(dolist.(ent | 
| 26d80 |  72 79 20 65 6e 74 72 69 65 73 29 0a 20 20 20 20    20 20 20 20 28 73 65 74 71 20 69 64 20 28 31 2b  | ry.entries).........(setq.id.(1+ | 
| 26da0 |  20 69 64 29 29 0a 20 20 20 20 20 20 20 20 28 77    68 65 6e 20 28 3c 3d 20 69 64 20 28 69 66 20 64  | .id)).........(when.(<=.id.(if.d | 
| 26dc0 |  62 20 72 6f 77 73 20 6c 65 6e 29 29 0a 20 20 20    20 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20  | b.rows.len))...........(funcall. | 
| 26de0 |  63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68    2d 70 72 69 6e 74 2d 65 6e 74 72 79 2d 66 75 6e  | calibredb-search-print-entry-fun | 
| 26e00 |  63 74 69 6f 6e 20 65 6e 74 72 79 29 0a 20 20 20    20 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 22  | ction.entry)...........(insert." | 
| 26e20 |  5c 6e 22 29 29 29 0a 20 20 20 20 20 20 28 69 66    20 28 3c 20 6c 65 6e 20 63 61 6c 69 62 72 65 64  | \n"))).......(if.(<.len.calibred | 
| 26e40 |  62 2d 73 65 61 72 63 68 2d 65 6e 74 72 69 65 73    2d 6c 65 6e 67 74 68 29 0a 20 20 20 20 20 20 20  | b-search-entries-length)........ | 
| 26e60 |  20 20 20 28 64 6f 74 69 6d 65 73 20 28 69 20 63    61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2d  | ...(dotimes.(i.calibredb-search- | 
| 26e80 |  70 61 67 65 73 29 0a 20 20 20 20 20 20 20 20 20    20 20 20 28 6c 65 74 20 28 28 62 75 74 74 6f 6e  | pages).............(let.((button | 
| 26ea0 |  2d 73 74 72 69 6e 67 20 28 66 6f 72 6d 61 74 20    22 25 64 22 20 28 31 2b 20 69 29 29 29 29 0a 20  | -string.(format."%d".(1+.i)))).. | 
| 26ec0 |  20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66    20 28 65 71 75 61 6c 20 28 73 74 72 69 6e 67 2d  | .............(if.(equal.(string- | 
| 26ee0 |  74 6f 2d 6e 75 6d 62 65 72 20 62 75 74 74 6f 6e    2d 73 74 72 69 6e 67 29 20 63 61 6c 69 62 72 65  | to-number.button-string).calibre | 
| 26f00 |  64 62 2d 73 65 61 72 63 68 2d 63 75 72 72 65 6e    74 2d 70 61 67 65 29 0a 20 20 20 20 20 20 20 20  | db-search-current-page)......... | 
| 26f20 |  20 20 20 20 20 20 20 20 20 20 28 61 64 64 2d 66    61 63 65 2d 74 65 78 74 2d 70 72 6f 70 65 72 74  | ..........(add-face-text-propert | 
| 26f40 |  79 20 30 20 28 6c 65 6e 67 74 68 20 62 75 74 74    6f 6e 2d 73 74 72 69 6e 67 29 20 27 63 61 6c 69  | y.0.(length.button-string).'cali | 
| 26f60 |  62 72 65 64 62 2d 63 75 72 72 65 6e 74 2d 70 61    67 65 2d 62 75 74 74 6f 6e 2d 66 61 63 65 20 74  | bredb-current-page-button-face.t | 
| 26f80 |  20 62 75 74 74 6f 6e 2d 73 74 72 69 6e 67 29 29    0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28  | .button-string))...............( | 
| 26fa0 |  69 6e 73 65 72 74 20 22 20 22 20 28 62 75 74 74    6f 6e 69 7a 65 20 62 75 74 74 6f 6e 2d 73 74 72  | insert.".".(buttonize.button-str | 
| 26fc0 |  69 6e 67 20 23 27 63 61 6c 69 62 72 65 64 62 2d    73 65 61 72 63 68 2d 6d 6f 72 65 2d 64 61 74 61  | ing.#'calibredb-search-more-data | 
| 26fe0 |  20 28 31 2b 20 69 29 29 20 22 20 22 29 20 29 29    0a 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74  | .(1+.i)).".").)).........(insert | 
| 27000 |  20 22 45 6e 64 20 6f 66 20 65 6e 74 72 69 65 73    2e 5c 6e 22 29 29 0a 20 20 20 20 20 20 28 67 6f  | ."End.of.entries.\n")).......(go | 
| 27020 |  74 6f 2d 63 68 61 72 20 28 70 6f 69 6e 74 2d 6d    69 6e 29 29 20 20 20 20 20 20 20 20 20 3b 20 62  | to-char.(point-min)).........;.b | 
| 27040 |  61 63 6b 20 74 6f 20 70 6f 69 6e 74 2d 6d 69 6e    20 61 66 74 65 72 20 66 69 6c 74 65 72 69 6e 67  | ack.to.point-min.after.filtering | 
| 27060 |  0a 20 20 20 20 20 20 28 73 65 74 66 20 63 61 6c    69 62 72 65 64 62 2d 73 65 61 72 63 68 2d 6c 61  | .......(setf.calibredb-search-la | 
| 27080 |  73 74 2d 75 70 64 61 74 65 20 28 66 6c 6f 61 74    2d 74 69 6d 65 29 29 0a 20 20 20 20 20 20 65 6e  | st-update.(float-time)).......en | 
| 270a0 |  74 72 69 65 73 29 29 29 0a 0a 28 64 65 66 75 6e    20 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63  | tries)))..(defun.calibredb-searc | 
| 270c0 |  68 2d 6d 6f 72 65 2d 64 61 74 61 20 28 70 61 67    65 29 0a 20 20 22 52 65 6e 64 65 72 20 63 61 6e  | h-more-data.(page)..."Render.can | 
| 270e0 |  64 69 64 61 74 65 73 20 77 69 74 68 20 50 41 47    45 2e 22 0a 20 20 28 6c 65 74 20 28 28 69 6e 68  | didates.with.PAGE."...(let.((inh | 
| 27100 |  69 62 69 74 2d 72 65 61 64 2d 6f 6e 6c 79 20 74    29 29 0a 20 20 20 20 28 73 65 74 71 20 63 61 6c  | ibit-read-only.t)).....(setq.cal | 
| 27120 |  69 62 72 65 64 62 2d 73 65 61 72 63 68 2d 63 75    72 72 65 6e 74 2d 70 61 67 65 20 70 61 67 65 29  | ibredb-search-current-page.page) | 
| 27140 |  0a 20 20 20 20 28 62 65 67 69 6e 6e 69 6e 67 2d    6f 66 2d 6c 69 6e 65 29 0a 20 20 20 20 28 64 65  | .....(beginning-of-line).....(de | 
| 27160 |  6c 65 74 65 2d 72 65 67 69 6f 6e 20 28 70 6f 69    6e 74 29 20 28 70 72 6f 67 6e 20 28 66 6f 72 77  | lete-region.(point).(progn.(forw | 
| 27180 |  61 72 64 2d 6c 69 6e 65 20 31 29 20 28 70 6f 69    6e 74 29 29 29 0a 20 20 20 20 28 63 61 6c 69 62  | ard-line.1).(point))).....(calib | 
| 271a0 |  72 65 64 62 2d 73 65 61 72 63 68 2d 75 70 64 61    74 65 2d 62 75 66 66 65 72 20 3a 70 61 67 65 20  | redb-search-update-buffer.:page. | 
| 271c0 |  70 61 67 65 29 29 29 0a 0a 0a 28 64 65 66 75 6e    20 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63  | page)))...(defun.calibredb-searc | 
| 271e0 |  68 2d 6e 65 78 74 2d 70 61 67 65 20 28 29 0a 20    20 22 52 65 6e 64 65 72 20 6e 65 78 74 20 63 61  | h-next-page.()..."Render.next.ca | 
| 27200 |  6c 69 62 72 65 64 62 20 70 61 67 65 2e 22 0a 20    20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20  | libredb.page."...(interactive).. | 
| 27220 |  20 28 69 66 20 28 3c 20 63 61 6c 69 62 72 65 64    62 2d 73 65 61 72 63 68 2d 63 75 72 72 65 6e 74  | .(if.(<.calibredb-search-current | 
| 27240 |  2d 70 61 67 65 20 63 61 6c 69 62 72 65 64 62 2d    73 65 61 72 63 68 2d 70 61 67 65 73 29 0a 20 20  | -page.calibredb-search-pages)... | 
| 27260 |  20 20 20 20 28 70 72 6f 67 6e 0a 20 20 20 20 20    20 20 20 28 73 65 74 71 20 63 61 6c 69 62 72 65  | ....(progn.........(setq.calibre | 
| 27280 |  64 62 2d 73 65 61 72 63 68 2d 63 75 72 72 65 6e    74 2d 70 61 67 65 20 28 31 2b 20 63 61 6c 69 62  | db-search-current-page.(1+.calib | 
| 272a0 |  72 65 64 62 2d 73 65 61 72 63 68 2d 63 75 72 72    65 6e 74 2d 70 61 67 65 29 29 0a 20 20 20 20 20  | redb-search-current-page))...... | 
| 272c0 |  20 20 20 28 63 61 6c 69 62 72 65 64 62 2d 73 65    61 72 63 68 2d 75 70 64 61 74 65 2d 62 75 66 66  | ...(calibredb-search-update-buff | 
| 272e0 |  65 72 20 3a 70 61 67 65 20 63 61 6c 69 62 72 65    64 62 2d 73 65 61 72 63 68 2d 63 75 72 72 65 6e  | er.:page.calibredb-search-curren | 
| 27300 |  74 2d 70 61 67 65 29 29 0a 20 20 20 20 28 6d 65    73 73 61 67 65 20 22 4c 61 73 74 20 70 61 67 65  | t-page)).....(message."Last.page | 
| 27320 |  2e 22 29 29 29 0a 0a 28 64 65 66 75 6e 20 63 61    6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2d 70  | .")))..(defun.calibredb-search-p | 
| 27340 |  72 65 76 69 6f 75 73 2d 70 61 67 65 20 28 29 0a    20 20 22 52 65 6e 64 65 72 20 70 72 65 76 69 6f  | revious-page.()..."Render.previo | 
| 27360 |  75 73 20 63 61 6c 69 62 72 65 64 62 20 70 61 67    65 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69  | us.calibredb.page."...(interacti | 
| 27380 |  76 65 29 0a 20 20 28 69 66 20 28 3e 20 63 61 6c    69 62 72 65 64 62 2d 73 65 61 72 63 68 2d 63 75  | ve)...(if.(>.calibredb-search-cu | 
| 273a0 |  72 72 65 6e 74 2d 70 61 67 65 20 31 29 0a 20 20    20 20 20 20 28 70 72 6f 67 6e 0a 20 20 20 20 20  | rrent-page.1).......(progn...... | 
| 273c0 |  20 20 20 28 73 65 74 71 20 63 61 6c 69 62 72 65    64 62 2d 73 65 61 72 63 68 2d 63 75 72 72 65 6e  | ...(setq.calibredb-search-curren | 
| 273e0 |  74 2d 70 61 67 65 20 28 31 2d 20 63 61 6c 69 62    72 65 64 62 2d 73 65 61 72 63 68 2d 63 75 72 72  | t-page.(1-.calibredb-search-curr | 
| 27400 |  65 6e 74 2d 70 61 67 65 29 29 0a 20 20 20 20 20    20 20 20 28 63 61 6c 69 62 72 65 64 62 2d 73 65  | ent-page)).........(calibredb-se | 
| 27420 |  61 72 63 68 2d 75 70 64 61 74 65 2d 62 75 66 66    65 72 20 3a 70 61 67 65 20 63 61 6c 69 62 72 65  | arch-update-buffer.:page.calibre | 
| 27440 |  64 62 2d 73 65 61 72 63 68 2d 63 75 72 72 65 6e    74 2d 70 61 67 65 29 20 29 0a 20 20 20 20 28 6d  | db-search-current-page).).....(m | 
| 27460 |  65 73 73 61 67 65 20 22 46 69 72 73 74 20 70 61    67 65 2e 22 29 29 29 0a 0a 0a 28 64 65 66 75 6e  | essage."First.page.")))...(defun | 
| 27480 |  20 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63    68 2d 70 61 72 73 65 2d 66 69 6c 74 65 72 20 28  | .calibredb-search-parse-filter.( | 
| 274a0 |  66 69 6c 74 65 72 29 0a 20 20 22 50 61 72 73 65    20 74 68 65 20 65 6c 65 6d 65 6e 74 73 20 6f 66  | filter)..."Parse.the.elements.of | 
| 274c0 |  20 61 20 73 65 61 72 63 68 20 46 49 4c 54 45 52    20 69 6e 74 6f 20 61 20 70 6c 69 73 74 2e 22 0a  | .a.search.FILTER.into.a.plist.". | 
| 274e0 |  20 20 28 6c 65 74 20 28 28 6d 61 74 63 68 65 73    20 28 29 29 29 0a 20 20 20 20 28 63 6c 2d 6c 6f  | ..(let.((matches.())).....(cl-lo | 
| 27500 |  6f 70 20 66 6f 72 20 65 6c 65 6d 65 6e 74 20 69    6e 20 28 73 70 6c 69 74 2d 73 74 72 69 6e 67 20  | op.for.element.in.(split-string. | 
| 27520 |  66 69 6c 74 65 72 29 20 63 6f 6c 6c 65 63 74 0a    20 20 20 20 20 20 20 20 20 20 20 20 20 28 77 68  | filter).collect..............(wh | 
| 27540 |  65 6e 20 28 63 61 6c 69 62 72 65 64 62 2d 76 61    6c 69 64 2d 72 65 67 65 78 70 2d 70 20 65 6c 65  | en.(calibredb-valid-regexp-p.ele | 
| 27560 |  6d 65 6e 74 29 0a 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 28 70 75 73 68 20 65 6c 65 6d 65  | ment)................(push.eleme | 
| 27580 |  6e 74 20 6d 61 74 63 68 65 73 29 29 29 0a 20 20    20 20 60 28 2c 40 28 69 66 20 6d 61 74 63 68 65  | nt.matches))).....`(,@(if.matche | 
| 275a0 |  73 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 6c    69 73 74 20 3a 6d 61 74 63 68 65 73 20 6d 61 74  | s.............(list.:matches.mat | 
| 275c0 |  63 68 65 73 29 29 29 29 29 0a 0a 28 64 65 66 75    6e 20 63 61 6c 69 62 72 65 64 62 2d 76 61 6c 69  | ches)))))..(defun.calibredb-vali | 
| 275e0 |  64 2d 72 65 67 65 78 70 2d 70 20 28 72 65 67 65    78 70 29 0a 20 20 22 52 65 74 75 72 6e 20 74 20  | d-regexp-p.(regexp)..."Return.t. | 
| 27600 |  69 66 20 52 45 47 45 58 50 20 69 73 20 61 20 76    61 6c 69 64 20 52 45 47 45 58 50 2e 22 0a 20 20  | if.REGEXP.is.a.valid.REGEXP."... | 
| 27620 |  28 69 67 6e 6f 72 65 2d 65 72 72 6f 72 73 0a 20    20 20 20 28 70 72 6f 67 31 20 74 0a 20 20 20 20  | (ignore-errors.....(prog1.t..... | 
| 27640 |  20 20 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 2d    70 20 72 65 67 65 78 70 20 22 22 29 29 29 29 0a  | ..(string-match-p.regexp."")))). | 
| 27660 |  0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 63 61 6c    69 62 72 65 64 62 2d 73 65 61 72 63 68 2d 70 61  | ..(defcustom.calibredb-search-pa | 
| 27680 |  67 65 2d 6d 61 78 2d 72 6f 77 73 2d 61 75 74 6f    2d 61 64 6a 75 73 74 20 6e 69 6c 0a 20 20 22 57  | ge-max-rows-auto-adjust.nil..."W | 
| 276a0 |  4f 52 4b 41 52 4f 55 4e 44 3a 20 57 68 65 6e 20    6e 6f 6e 2d 6e 69 6c 2c 20 61 75 74 6f 20 61 64  | ORKAROUND:.When.non-nil,.auto.ad | 
| 276c0 |  6a 75 73 74 20 74 68 65 20 6d 61 78 20 72 6f 77    73 20 6f 66 20 74 68 65 20 70 61 67 65 2e 0a 49  | just.the.max.rows.of.the.page..I | 
| 276e0 |  74 20 69 73 20 75 6e 73 74 61 62 6c 65 20 77 68    65 6e 20 6c 69 76 65 20 73 65 61 72 63 68 2c 20  | t.is.unstable.when.live.search,. | 
| 27700 |  61 6e 64 20 74 68 65 20 61 6c 67 6f 72 69 74 68    6d 20 69 73 20 61 6c 73 6f 20 69 6e 61 63 63 75  | and.the.algorithm.is.also.inaccu | 
| 27720 |  72 61 74 65 2e 22 0a 20 20 3a 67 72 6f 75 70 20    27 63 61 6c 69 62 72 65 64 62 0a 20 20 3a 74 79  | rate."...:group.'calibredb...:ty | 
| 27740 |  70 65 20 27 62 6f 6f 6c 65 61 6e 29 0a 0a 28 64    65 66 63 75 73 74 6f 6d 20 63 61 6c 69 62 72 65  | pe.'boolean)..(defcustom.calibre | 
| 27760 |  64 62 2d 73 65 61 72 63 68 2d 70 61 67 65 2d 6d    61 78 2d 72 6f 77 73 2d 61 75 74 6f 2d 61 64 6a  | db-search-page-max-rows-auto-adj | 
| 27780 |  75 73 74 2d 6f 66 66 73 65 74 20 34 0a 20 20 22    57 4f 52 4b 41 52 4f 55 4e 44 3a 20 54 68 65 20  | ust-offset.4..."WORKAROUND:.The. | 
| 277a0 |  6f 66 66 73 65 74 20 77 68 65 6e 20 61 75 74 6f    20 61 64 6a 75 73 74 20 74 68 65 20 6d 61 78 20  | offset.when.auto.adjust.the.max. | 
| 277c0 |  72 6f 77 73 2e 0a 49 74 20 6d 61 79 20 6e 6f 74    20 62 65 20 61 63 63 75 72 61 74 65 2c 20 62 75  | rows..It.may.not.be.accurate,.bu | 
| 277e0 |  74 20 69 74 20 69 73 20 61 20 67 6f 6f 64 20 67    75 65 73 73 2e 22 0a 20 20 3a 67 72 6f 75 70 20  | t.it.is.a.good.guess."...:group. | 
| 27800 |  27 63 61 6c 69 62 72 65 64 62 0a 20 20 3a 74 79    70 65 20 27 69 6e 74 65 67 65 72 29 0a 0a 28 64  | 'calibredb...:type.'integer)..(d | 
| 27820 |  65 66 63 75 73 74 6f 6d 20 63 61 6c 69 62 72 65    64 62 2d 73 65 61 72 63 68 2d 70 61 67 65 2d 6d  | efcustom.calibredb-search-page-m | 
| 27840 |  61 78 2d 72 6f 77 73 20 34 34 0a 20 20 22 54 68    65 20 6d 61 78 69 6d 75 6d 20 6e 75 6d 62 65 72  | ax-rows.44..."The.maximum.number | 
| 27860 |  20 6f 66 20 65 6e 74 72 69 65 73 20 74 6f 20 64    69 73 70 6c 61 79 20 69 6e 20 61 20 73 69 6e 67  | .of.entries.to.display.in.a.sing | 
| 27880 |  6c 65 20 70 61 67 65 2e 22 0a 20 20 3a 67 72 6f    75 70 20 27 63 61 6c 69 62 72 65 64 62 0a 20 20  | le.page."...:group.'calibredb... | 
| 278a0 |  3a 74 79 70 65 20 27 69 6e 74 65 67 65 72 29 0a    0a 28 64 65 66 76 61 72 20 63 61 6c 69 62 72 65  | :type.'integer)..(defvar.calibre | 
| 278c0 |  64 62 2d 73 65 61 72 63 68 2d 63 75 72 72 65 6e    74 2d 70 61 67 65 20 31 0a 20 20 22 54 68 65 20  | db-search-current-page.1..."The. | 
| 278e0 |  6e 75 6d 62 65 72 20 6f 66 20 63 75 72 72 65 6e    74 20 70 61 67 65 20 69 6e 20 74 68 65 20 63 75  | number.of.current.page.in.the.cu | 
| 27900 |  72 72 65 6e 74 20 73 65 61 72 63 68 20 72 65 73    75 6c 74 2e 22 29 0a 0a 28 64 65 66 76 61 72 20  | rrent.search.result.")..(defvar. | 
| 27920 |  63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68    2d 70 61 67 65 73 20 30 0a 20 20 22 54 68 65 20  | calibredb-search-pages.0..."The. | 
| 27940 |  6e 75 6d 62 65 72 20 6f 66 20 70 61 67 65 73 20    69 6e 20 74 68 65 20 63 75 72 72 65 6e 74 20 73  | number.of.pages.in.the.current.s | 
| 27960 |  65 61 72 63 68 20 72 65 73 75 6c 74 2e 22 29 0a    0a 28 64 65 66 76 61 72 20 63 61 6c 69 62 72 65  | earch.result.")..(defvar.calibre | 
| 27980 |  64 62 2d 73 65 61 72 63 68 2d 62 75 66 66 65 72    2d 6c 69 6e 65 2d 70 69 78 65 6c 2d 68 65 69 67  | db-search-buffer-line-pixel-heig | 
| 279a0 |  68 74 20 6e 69 6c 0a 20 20 22 54 68 65 20 70 69    78 65 6c 20 68 65 69 67 68 74 20 6f 66 20 74 68  | ht.nil..."The.pixel.height.of.th | 
| 279c0 |  65 20 2a 63 61 6c 69 62 72 65 64 62 2d 73 65 61    72 63 68 2a 20 62 75 66 66 65 72 20 6c 69 6e 65  | e.*calibredb-search*.buffer.line | 
| 279e0 |  2e 22 29 0a 0a 28 64 65 66 75 6e 20 63 61 6c 69    62 72 65 64 62 2d 73 65 61 72 63 68 2d 70 61 67  | .")..(defun.calibredb-search-pag | 
| 27a00 |  65 2d 6d 61 78 2d 72 6f 77 73 20 28 29 0a 20 20    22 52 65 74 75 72 6e 20 74 68 65 20 6d 61 78 69  | e-max-rows.()..."Return.the.maxi | 
| 27a20 |  6d 75 6d 20 6e 75 6d 62 65 72 20 6f 66 20 65 6e    74 72 69 65 73 20 74 6f 20 64 69 73 70 6c 61 79  | mum.number.of.entries.to.display | 
| 27a40 |  2e 0a 49 6e 20 74 68 65 20 2a 63 61 6c 69 62 72    65 64 62 2d 73 65 61 72 63 68 2a 20 77 69 6e 64  | ..In.the.*calibredb-search*.wind | 
| 27a60 |  6f 77 2e 22 0a 20 20 28 6c 65 74 20 28 28 77 69    6e 20 28 67 65 74 2d 62 75 66 66 65 72 2d 77 69  | ow."...(let.((win.(get-buffer-wi | 
| 27a80 |  6e 64 6f 77 20 22 2a 63 61 6c 69 62 72 65 64 62    2d 73 65 61 72 63 68 2a 22 20 27 76 69 73 69 62  | ndow."*calibredb-search*".'visib | 
| 27aa0 |  6c 65 29 29 29 0a 20 20 20 20 28 69 66 20 63 61    6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2d 70  | le))).....(if.calibredb-search-p | 
| 27ac0 |  61 67 65 2d 6d 61 78 2d 72 6f 77 73 2d 61 75 74    6f 2d 61 64 6a 75 73 74 0a 20 20 20 20 20 20 20  | age-max-rows-auto-adjust........ | 
| 27ae0 |  20 28 69 66 20 28 77 69 6e 64 6f 77 2d 6c 69 76    65 2d 70 20 77 69 6e 29 0a 20 20 20 20 20 20 20  | .(if.(window-live-p.win)........ | 
| 27b00 |  20 20 20 20 20 28 70 72 6f 67 6e 0a 20 20 20 20    20 20 20 20 20 20 20 20 20 20 28 75 6e 6c 65 73  | .....(progn...............(unles | 
| 27b20 |  73 20 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72    63 68 2d 62 75 66 66 65 72 2d 6c 69 6e 65 2d 70  | s.calibredb-search-buffer-line-p | 
| 27b40 |  69 78 65 6c 2d 68 65 69 67 68 74 0a 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74  | ixel-height.................(set | 
| 27b60 |  71 20 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72    63 68 2d 62 75 66 66 65 72 2d 6c 69 6e 65 2d 70  | q.calibredb-search-buffer-line-p | 
| 27b80 |  69 78 65 6c 2d 68 65 69 67 68 74 20 28 6c 69 6e    65 2d 70 69 78 65 6c 2d 68 65 69 67 68 74 29 29  | ixel-height.(line-pixel-height)) | 
| 27ba0 |  29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20    28 6c 65 74 2a 20 28 28 77 69 6e 64 6f 77 2d 70  | )...............(let*.((window-p | 
| 27bc0 |  69 78 65 6c 2d 68 65 69 67 68 74 20 28 77 69 6e    64 6f 77 2d 70 69 78 65 6c 2d 68 65 69 67 68 74  | ixel-height.(window-pixel-height | 
| 27be0 |  20 77 69 6e 29 29 0a 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 28 66 6f 6e  | .win))......................(fon | 
| 27c00 |  74 2d 68 65 69 67 68 74 20 63 61 6c 69 62 72 65    64 62 2d 73 65 61 72 63 68 2d 62 75 66 66 65 72  | t-height.calibredb-search-buffer | 
| 27c20 |  2d 6c 69 6e 65 2d 70 69 78 65 6c 2d 68 65 69 67    68 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20  | -line-pixel-height)............. | 
| 27c40 |  20 20 20 20 20 20 20 20 20 28 6f 66 66 73 65 74    20 28 2a 20 63 61 6c 69 62 72 65 64 62 2d 73 65  | .........(offset.(*.calibredb-se | 
| 27c60 |  61 72 63 68 2d 70 61 67 65 2d 6d 61 78 2d 72 6f    77 73 2d 61 75 74 6f 2d 61 64 6a 75 73 74 2d 6f  | arch-page-max-rows-auto-adjust-o | 
| 27c80 |  66 66 73 65 74 20 66 6f 6e 74 2d 68 65 69 67 68    74 29 29 29 20 20 3b 3b 20 48 65 69 67 68 74 20  | ffset.font-height)))..;;.Height. | 
| 27ca0 |  6f 66 20 6d 6f 64 65 20 6c 69 6e 65 0a 20 20 20    20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 43 61  | of.mode.line...............;;.Ca | 
| 27cc0 |  6c 63 75 6c 61 74 65 20 76 69 73 69 62 6c 65 20    68 65 69 67 68 74 20 62 79 20 73 75 62 74 72 61  | lculate.visible.height.by.subtra | 
| 27ce0 |  63 74 69 6e 67 20 68 65 61 64 65 72 20 61 6e 64    20 6d 6f 64 65 20 6c 69 6e 65 20 68 65 69 67 68  | cting.header.and.mode.line.heigh | 
| 27d00 |  74 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20    20 28 6c 65 74 20 28 28 76 69 73 69 62 6c 65 2d  | ts...............(let.((visible- | 
| 27d20 |  70 69 78 65 6c 2d 68 65 69 67 68 74 20 28 2d 20    77 69 6e 64 6f 77 2d 70 69 78 65 6c 2d 68 65 69  | pixel-height.(-.window-pixel-hei | 
| 27d40 |  67 68 74 20 6f 66 66 73 65 74 29 29 29 0a 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b  | ght.offset))).................;; | 
| 27d60 |  20 43 61 6c 63 75 6c 61 74 65 20 74 68 65 20 6e    75 6d 62 65 72 20 6f 66 20 6c 69 6e 65 73 20 74  | .Calculate.the.number.of.lines.t | 
| 27d80 |  68 61 74 20 66 69 74 20 69 6e 20 74 68 65 20 76    69 73 69 62 6c 65 20 68 65 69 67 68 74 0a 20 20  | hat.fit.in.the.visible.height... | 
| 27da0 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d    61 78 20 31 20 28 66 6c 6f 6f 72 20 76 69 73 69  | ..............(max.1.(floor.visi | 
| 27dc0 |  62 6c 65 2d 70 69 78 65 6c 2d 68 65 69 67 68 74    20 66 6f 6e 74 2d 68 65 69 67 68 74 29 29 29 29  | ble-pixel-height.font-height)))) | 
| 27de0 |  20 29 0a 20 20 20 20 20 20 20 20 20 20 63 61 6c    69 62 72 65 64 62 2d 73 65 61 72 63 68 2d 70 61  | .)...........calibredb-search-pa | 
| 27e00 |  67 65 2d 6d 61 78 2d 72 6f 77 73 29 0a 20 20 20    20 20 20 63 61 6c 69 62 72 65 64 62 2d 73 65 61  | ge-max-rows).......calibredb-sea | 
| 27e20 |  72 63 68 2d 70 61 67 65 2d 6d 61 78 2d 72 6f 77    73 29 29 29 0a 0a 0a 28 64 65 66 75 6e 20 63 61  | rch-page-max-rows)))...(defun.ca | 
| 27e40 |  6c 69 62 72 65 64 62 2d 73 61 6e 69 74 69 7a 65    2d 66 69 6c 74 65 72 20 28 66 69 6c 74 65 72 29  | libredb-sanitize-filter.(filter) | 
| 27e60 |  0a 20 20 22 53 61 6e 69 74 69 7a 65 20 46 49 4c    54 45 52 20 66 6f 72 20 75 73 65 20 69 6e 20 53  | ..."Sanitize.FILTER.for.use.in.S | 
| 27e80 |  51 4c 20 71 75 65 72 69 65 73 20 62 79 20 65 73    63 61 70 69 6e 67 20 73 70 65 63 69 61 6c 20 63  | QL.queries.by.escaping.special.c | 
| 27ea0 |  68 61 72 61 63 74 65 72 73 2e 22 0a 20 20 28 6c    65 74 20 28 28 73 61 6e 69 74 69 7a 65 64 20 66  | haracters."...(let.((sanitized.f | 
| 27ec0 |  69 6c 74 65 72 29 29 0a 20 20 20 20 3b 3b 20 45    73 63 61 70 65 20 73 69 6e 67 6c 65 20 71 75 6f  | ilter)).....;;.Escape.single.quo | 
| 27ee0 |  74 65 73 20 62 79 20 64 6f 75 62 6c 69 6e 67 20    74 68 65 6d 0a 20 20 20 20 28 73 65 74 71 20 73  | tes.by.doubling.them.....(setq.s | 
| 27f00 |  61 6e 69 74 69 7a 65 64 20 28 72 65 70 6c 61 63    65 2d 72 65 67 65 78 70 2d 69 6e 2d 73 74 72 69  | anitized.(replace-regexp-in-stri | 
| 27f20 |  6e 67 20 22 27 22 20 22 27 27 22 20 73 61 6e 69    74 69 7a 65 64 29 29 0a 20 20 20 20 73 61 6e 69  | ng."'"."''".sanitized)).....sani | 
| 27f40 |  74 69 7a 65 64 29 29 0a 0a 28 64 65 66 75 6e 20    63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68  | tized))..(defun.calibredb-search | 
| 27f60 |  2d 63 61 6e 64 69 64 61 74 65 73 20 28 66 69 6c    74 65 72 20 26 72 65 73 74 20 70 72 6f 70 65 72  | -candidates.(filter.&rest.proper | 
| 27f80 |  74 69 65 73 29 0a 20 20 22 47 65 6e 65 72 61 74    65 20 65 62 6f 6f 6b 20 63 61 6e 64 69 64 61 74  | ties)..."Generate.ebook.candidat | 
| 27fa0 |  65 20 61 6c 69 73 74 2e 0a 41 72 67 75 6d 65 6e    74 3a 20 46 49 4c 54 45 52 20 69 73 20 74 68 65  | e.alist..Argument:.FILTER.is.the | 
| 27fc0 |  20 66 69 6c 74 65 72 20 73 74 72 69 6e 67 2e 0a    41 72 67 75 6d 65 6e 74 3a 20 50 52 4f 50 45 52  | .filter.string..Argument:.PROPER | 
| 27fe0 |  54 49 45 53 20 69 73 20 74 68 65 20 61 64 64 69    6f 6e 74 61 6c 20 70 61 72 61 6d 65 74 65 72 73  | TIES.is.the.addiontal.parameters | 
| 28000 |  2e 22 0a 20 20 28 6c 65 74 2a 20 28 28 77 6f 72    64 73 20 28 73 70 6c 69 74 2d 73 74 72 69 6e 67  | ."...(let*.((words.(split-string | 
| 28020 |  20 28 63 61 6c 69 62 72 65 64 62 2d 73 61 6e 69    74 69 7a 65 2d 66 69 6c 74 65 72 20 66 69 6c 74  | .(calibredb-sanitize-filter.filt | 
| 28040 |  65 72 29 20 22 20 22 29 29 0a 20 20 20 20 20 20    20 20 20 28 6c 69 6d 69 74 20 28 70 6c 69 73 74  | er)."."))..........(limit.(plist | 
| 28060 |  2d 67 65 74 20 70 72 6f 70 65 72 74 69 65 73 20    3a 6c 69 6d 69 74 29 29 0a 20 20 20 20 20 20 20  | -get.properties.:limit))........ | 
| 28080 |  20 20 28 63 6f 75 6e 74 20 28 70 6c 69 73 74 2d    67 65 74 20 70 72 6f 70 65 72 74 69 65 73 20 3a  | ..(count.(plist-get.properties.: | 
| 280a0 |  63 6f 75 6e 74 29 29 0a 20 20 20 20 20 20 20 20    20 28 70 61 67 65 20 28 70 6c 69 73 74 2d 67 65  | count))..........(page.(plist-ge | 
| 280c0 |  74 20 70 72 6f 70 65 72 74 69 65 73 20 3a 70 61    67 65 29 29 29 0a 20 20 20 20 28 63 61 6c 69 62  | t.properties.:page))).....(calib | 
| 280e0 |  72 65 64 62 2d 63 61 6e 64 69 64 61 74 65 73 0a    20 20 20 20 20 3a 77 68 65 72 65 20 28 63 6f 6e  | redb-candidates......:where.(con | 
| 28100 |  63 61 74 0a 20 20 20 20 20 20 20 20 20 20 20 20    20 28 63 6f 6e 64 20 28 63 61 6c 69 62 72 65 64  | cat..............(cond.(calibred | 
| 28120 |  62 2d 74 61 67 2d 66 69 6c 74 65 72 2d 70 0a 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | b-tag-filter-p.................. | 
| 28140 |  20 20 20 28 6d 61 70 63 6f 6e 63 61 74 0a 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | ...(mapconcat................... | 
| 28160 |  20 20 20 28 6c 61 6d 62 64 61 20 28 77 6f 72 64    29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | ...(lambda.(word)............... | 
| 28180 |  20 20 20 20 20 20 20 20 20 28 6d 61 70 63 6f 6e    63 61 74 20 27 69 64 65 6e 74 69 74 79 0a 20 20  | .........(mapconcat.'identity... | 
| 281a0 |  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  | ................................ | 
| 281c0 |  28 64 65 6c 71 20 6e 69 6c 0a 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | (delq.nil....................... | 
| 281e0 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 28 6c 69 73 74 0a 20 20 20 20 20 20 20 20  | ..................(list......... | 
| 28200 |  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  | ................................ | 
| 28220 |  20 28 75 6e 6c 65 73 73 20 28 65 71 75 61 6c 20    28 63 61 6c 69 62 72 65 64 62 2d 74 61 67 2d 77  | .(unless.(equal.(calibredb-tag-w | 
| 28240 |  69 64 74 68 29 20 30 29 20 28 66 6f 72 6d 61 74    20 22 74 61 67 20 6c 69 6b 65 20 27 25 25 25 73  | idth).0).(format."tag.like.'%%%s | 
| 28260 |  25 25 27 20 22 20 77 6f 72 64 29 29 29 29 0a 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | %%'.".word)))).................. | 
| 28280 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 22 20 4f 52 20 22 29 29 0a 20 20 20 20 20 20  | .................".OR."))....... | 
| 282a0 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 77    6f 72 64 73 0a 20 20 20 20 20 20 20 20 20 20 20  | ...............words............ | 
| 282c0 |  20 20 20 20 20 20 20 20 20 20 22 20 41 4e 44 20    22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  | ..........".AND.").............. | 
| 282e0 |  20 20 20 20 20 20 20 29 0a 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 28 63 61 6c  | .......)....................(cal | 
| 28300 |  69 62 72 65 64 62 2d 66 6f 72 6d 61 74 2d 66 69    6c 74 65 72 2d 70 0a 20 20 20 20 20 20 20 20 20  | ibredb-format-filter-p.......... | 
| 28320 |  20 20 20 20 20 20 20 20 20 20 20 28 6d 61 70 63    6f 6e 63 61 74 0a 20 20 20 20 20 20 20 20 20 20  | ...........(mapconcat........... | 
| 28340 |  20 20 20 20 20 20 20 20 20 20 20 28 6c 61 6d 62    64 61 20 28 77 6f 72 64 29 0a 20 20 20 20 20 20  | ...........(lambda.(word)....... | 
| 28360 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 28 6d 61 70 63 6f 6e 63 61 74 20 27 69 64 65  | .................(mapconcat.'ide | 
| 28380 |  6e 74 69 74 79 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  | ntity........................... | 
| 283a0 |  20 20 20 20 20 20 20 20 28 64 65 6c 71 20 6e 69    6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | ........(delq.nil............... | 
| 283c0 |  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 6c 69 73 74 0a  | ..........................(list. | 
| 283e0 |  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  | ................................ | 
| 28400 |  20 20 20 20 20 20 20 20 20 28 75 6e 6c 65 73 73    20 28 65 71 75 61 6c 20 28 63 61 6c 69 62 72 65  | .........(unless.(equal.(calibre | 
| 28420 |  64 62 2d 74 61 67 2d 77 69 64 74 68 29 20 30 29    20 28 66 6f 72 6d 61 74 20 22 66 6f 72 6d 61 74  | db-tag-width).0).(format."format | 
| 28440 |  20 6c 69 6b 65 20 27 25 25 25 73 25 25 27 20 22    20 77 6f 72 64 29 29 29 29 0a 20 20 20 20 20 20  | .like.'%%%s%%'.".word))))....... | 
| 28460 |  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 22 20 4f 52  | ............................".OR | 
| 28480 |  20 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 77 6f 72 64 73 0a  | ."))......................words. | 
| 284a0 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 22 20 41 4e 44 20 22 29 0a 20 20  | .....................".AND.")... | 
| 284c0 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 29 0a 20 20 20 20 20 20 20 20 20 20 20 20  | ..................)............. | 
| 284e0 |  20 20 20 20 20 20 20 28 63 61 6c 69 62 72 65 64    62 2d 61 75 74 68 6f 72 2d 66 69 6c 74 65 72 2d  | .......(calibredb-author-filter- | 
| 28500 |  70 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 28 6d 61 70 63 6f 6e 63 61 74  | p.....................(mapconcat | 
| 28520 |  0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 77  | ......................(lambda.(w | 
| 28540 |  6f 72 64 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 28 6d 61 70  | ord)........................(map | 
| 28560 |  63 6f 6e 63 61 74 20 27 69 64 65 6e 74 69 74 79    0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | concat.'identity................ | 
| 28580 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 28 64 65 6c 71 20 6e 69 6c 0a 20 20 20  | ...................(delq.nil.... | 
| 285a0 |  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  | ................................ | 
| 285c0 |  20 20 20 20 20 28 6c 69 73 74 0a 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | .....(list...................... | 
| 285e0 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 28 75 6e 6c 65 73 73 20 28 65 71 75  | ....................(unless.(equ | 
| 28600 |  61 6c 20 28 63 61 6c 69 62 72 65 64 62 2d 74 61    67 2d 77 69 64 74 68 29 20 30 29 20 28 66 6f 72  | al.(calibredb-tag-width).0).(for | 
| 28620 |  6d 61 74 20 22 61 75 74 68 6f 72 5f 73 6f 72 74    20 6c 69 6b 65 20 27 25 25 25 73 25 25 27 20 22  | mat."author_sort.like.'%%%s%%'." | 
| 28640 |  20 77 6f 72 64 29 29 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  | .word))))....................... | 
| 28660 |  20 20 20 20 20 20 20 20 20 20 20 20 22 20 4f 52    20 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20  | ............".OR."))............ | 
| 28680 |  20 20 20 20 20 20 20 20 20 20 77 6f 72 64 73 0a    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | ..........words................. | 
| 286a0 |  20 20 20 20 20 22 20 41 4e 44 20 22 29 0a 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | .....".AND.")................... | 
| 286c0 |  20 20 29 0a 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 28 63 61 6c 69 62 72 65 64  | ..)....................(calibred | 
| 286e0 |  62 2d 64 61 74 65 2d 66 69 6c 74 65 72 2d 70 0a    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | b-date-filter-p................. | 
| 28700 |  20 20 20 20 28 6d 61 70 63 6f 6e 63 61 74 0a 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | ....(mapconcat.................. | 
| 28720 |  20 20 20 20 28 6c 61 6d 62 64 61 20 28 77 6f 72    64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  | ....(lambda.(word).............. | 
| 28740 |  20 20 20 20 20 20 20 20 20 20 28 6d 61 70 63 6f    6e 63 61 74 20 27 69 64 65 6e 74 69 74 79 0a 20  | ..........(mapconcat.'identity.. | 
| 28760 |  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  | ................................ | 
| 28780 |  20 28 64 65 6c 71 20 6e 69 6c 0a 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | .(delq.nil...................... | 
| 287a0 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 28 6c 69 73 74 0a 20 20 20 20 20 20 20  | ...................(list........ | 
| 287c0 |  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  | ................................ | 
| 287e0 |  20 20 28 75 6e 6c 65 73 73 20 28 65 71 75 61 6c    20 28 63 61 6c 69 62 72 65 64 62 2d 74 61 67 2d  | ..(unless.(equal.(calibredb-tag- | 
| 28800 |  77 69 64 74 68 29 20 30 29 20 28 66 6f 72 6d 61    74 20 22 6c 61 73 74 5f 6d 6f 64 69 66 69 65 64  | width).0).(format."last_modified | 
| 28820 |  20 6c 69 6b 65 20 27 25 25 25 73 25 25 27 20 22    20 77 6f 72 64 29 29 29 29 0a 20 20 20 20 20 20  | .like.'%%%s%%'.".word))))....... | 
| 28840 |  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 22 20 4f 52  | ............................".OR | 
| 28860 |  20 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 77 6f 72 64 73 0a  | ."))......................words. | 
| 28880 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 22 20 41 4e 44 20 22 29 0a 20 20  | .....................".AND.")... | 
| 288a0 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 29 0a 20 20 20 20 20 20 20 20 20 20 20 20  | ..................)............. | 
| 288c0 |  20 20 20 20 20 20 20 28 74 0a 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d  | .......(t.....................(m | 
| 288e0 |  61 70 63 6f 6e 63 61 74 0a 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c  | apconcat......................(l | 
| 28900 |  61 6d 62 64 61 20 28 77 6f 72 64 29 0a 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | ambda.(word).................... | 
| 28920 |  20 20 20 20 28 66 6f 72 6d 61 74 20 22 28 25 73    29 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  | ....(format."(%s)".............. | 
| 28940 |  20 20 20 20 20 20 20 20 20 20 20 28 6d 61 70 63    6f 6e 63 61 74 20 27 69 64 65 6e 74 69 74 79 0a  | ...........(mapconcat.'identity. | 
| 28960 |  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  | ................................ | 
| 28980 |  20 20 20 28 64 65 6c 71 20 6e 69 6c 0a 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | ...(delq.nil.................... | 
| 289a0 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 28 6c 69 73 74 0a 20 20 20 20  | ......................(list..... | 
| 289c0 |  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  | ................................ | 
| 289e0 |  20 20 20 20 20 20 28 75 6e 6c 65 73 73 20 28 65    71 75 61 6c 20 63 61 6c 69 62 72 65 64 62 2d 69  | ......(unless.(equal.calibredb-i | 
| 28a00 |  64 2d 77 69 64 74 68 20 30 29 20 28 66 6f 72 6d    61 74 20 22 69 64 20 6c 69 6b 65 20 27 25 25 25  | d-width.0).(format."id.like.'%%% | 
| 28a20 |  73 25 25 27 22 20 77 6f 72 64 29 29 0a 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | s%%'".word)).................... | 
| 28a40 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 28 75 6e 6c 65 73 73 20 28  | .......................(unless.( | 
| 28a60 |  65 71 75 61 6c 20 28 63 61 6c 69 62 72 65 64 62    2d 74 69 74 6c 65 2d 77 69 64 74 68 29 20 30 29  | equal.(calibredb-title-width).0) | 
| 28a80 |  20 28 66 6f 72 6d 61 74 20 22 74 69 74 6c 65 20    6c 69 6b 65 20 27 25 25 25 73 25 25 27 22 20 77  | .(format."title.like.'%%%s%%'".w | 
| 28aa0 |  6f 72 64 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  | ord))........................... | 
| 28ac0 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    28 75 6e 6c 65 73 73 20 28 65 71 75 61 6c 20 28  | ................(unless.(equal.( | 
| 28ae0 |  63 61 6c 69 62 72 65 64 62 2d 66 6f 72 6d 61 74    2d 77 69 64 74 68 29 20 30 29 20 28 66 6f 72 6d  | calibredb-format-width).0).(form | 
| 28b00 |  61 74 20 22 66 6f 72 6d 61 74 20 6c 69 6b 65 20    27 25 25 25 73 25 25 27 22 20 77 6f 72 64 29 29  | at."format.like.'%%%s%%'".word)) | 
| 28b20 |  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 20 20 20 20  | ................................ | 
| 28b40 |  20 20 20 20 20 20 20 20 20 20 20 28 75 6e 6c 65    73 73 20 28 65 71 75 61 6c 20 28 63 61 6c 69 62  | ...........(unless.(equal.(calib | 
| 28b60 |  72 65 64 62 2d 74 61 67 2d 77 69 64 74 68 29 20    30 29 20 28 66 6f 72 6d 61 74 20 22 74 61 67 20  | redb-tag-width).0).(format."tag. | 
| 28b80 |  6c 69 6b 65 20 27 25 25 25 73 25 25 27 22 20 77    6f 72 64 29 29 0a 20 20 20 20 20 20 20 20 20 20  | like.'%%%s%%'".word))........... | 
| 28ba0 |  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  | ................................ | 
| 28bc0 |  28 75 6e 6c 65 73 73 20 28 65 71 75 61 6c 20 28    63 61 6c 69 62 72 65 64 62 2d 69 64 73 2d 77 69  | (unless.(equal.(calibredb-ids-wi | 
| 28be0 |  64 74 68 29 20 30 29 20 28 66 6f 72 6d 61 74 20    22 69 64 73 20 6c 69 6b 65 20 27 25 25 25 73 25  | dth).0).(format."ids.like.'%%%s% | 
| 28c00 |  25 27 22 20 77 6f 72 64 29 29 0a 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | %'".word))...................... | 
| 28c20 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 28 75 6e 6c 65 73 73 20 28 65 71  | .....................(unless.(eq | 
| 28c40 |  75 61 6c 20 28 63 61 6c 69 62 72 65 64 62 2d 61    75 74 68 6f 72 2d 77 69 64 74 68 29 20 30 29 20  | ual.(calibredb-author-width).0). | 
| 28c60 |  28 66 6f 72 6d 61 74 20 22 61 75 74 68 6f 72 5f    73 6f 72 74 20 6c 69 6b 65 20 27 25 25 25 73 25  | (format."author_sort.like.'%%%s% | 
| 28c80 |  25 27 22 20 77 6f 72 64 29 29 0a 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | %'".word))...................... | 
| 28ca0 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 28 75 6e 6c 65 73 73 20 28 65 71  | .....................(unless.(eq | 
| 28cc0 |  75 61 6c 20 28 63 61 6c 69 62 72 65 64 62 2d 64    61 74 65 2d 77 69 64 74 68 29 20 30 29 20 28 66  | ual.(calibredb-date-width).0).(f | 
| 28ce0 |  6f 72 6d 61 74 20 22 6c 61 73 74 5f 6d 6f 64 69    66 69 65 64 20 6c 69 6b 65 20 27 25 25 25 73 25  | ormat."last_modified.like.'%%%s% | 
| 28d00 |  25 27 22 20 77 6f 72 64 29 29 0a 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | %'".word))...................... | 
| 28d20 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 3b 3b 20 4e 6f 72 6d 61 6c 6c 79  | .....................;;.Normally | 
| 28d40 |  2c 20 63 6f 6d 6d 65 6e 74 73 20 61 72 65 20 6c    6f 6e 67 2c 20 69 74 20 69 73 20 6e 65 63 65 73  | ,.comments.are.long,.it.is.neces | 
| 28d60 |  73 61 72 79 20 74 6f 20 74 72 61 6e 63 61 74 65    20 74 68 65 20 63 6f 6d 6d 65 6e 74 73 20 74 6f  | sary.to.trancate.the.comments.to | 
| 28d80 |  20 73 70 65 65 64 20 75 70 20 74 68 65 20 73 65    61 72 63 68 69 6e 67 0a 20 20 20 20 20 20 20 20  | .speed.up.the.searching......... | 
| 28da0 |  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  | ................................ | 
| 28dc0 |  20 20 3b 3b 20 65 78 63 65 70 74 20 63 61 6c 69    62 72 65 64 62 2d 63 6f 6d 6d 65 6e 74 2d 77 69  | ..;;.except.calibredb-comment-wi | 
| 28de0 |  64 74 68 20 69 73 20 2d 31 2e 0a 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | dth.is.-1....................... | 
| 28e00 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 28 75 6e 6c 65 73 73 20 28 65 71  | .....................(unless.(eq | 
| 28e20 |  75 61 6c 20 28 63 61 6c 69 62 72 65 64 62 2d 63    6f 6d 6d 65 6e 74 2d 77 69 64 74 68 29 20 30 29  | ual.(calibredb-comment-width).0) | 
| 28e40 |  20 28 66 6f 72 6d 61 74 20 22 74 65 78 74 20 6c    69 6b 65 20 27 25 25 25 73 25 25 27 22 20 77 6f  | .(format."text.like.'%%%s%%'".wo | 
| 28e60 |  72 64 29 29 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  | rd)))).......................... | 
| 28e80 |  20 20 20 20 20 20 20 20 20 20 22 20 4f 52 20 22    29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20  | ..........".OR.")))............. | 
| 28ea0 |  20 20 20 20 20 20 20 20 20 77 6f 72 64 73 0a 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | .........words.................. | 
| 28ec0 |  20 20 20 20 22 20 41 4e 44 20 22 29 29 29 0a 0a    20 20 20 20 20 20 20 20 20 20 20 20 20 28 77 68  | ....".AND.")))...............(wh | 
| 28ee0 |  65 6e 20 6c 69 6d 69 74 0a 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 28 66 6f 72 6d 61 74 20  | en.limit................(format. | 
| 28f00 |  22 20 4c 49 4d 49 54 20 25 73 20 22 20 6c 69 6d    69 74 29 20 29 0a 20 20 20 20 20 20 20 20 20 20  | ".LIMIT.%s.".limit).)........... | 
| 28f20 |  20 20 20 28 77 68 65 6e 20 70 61 67 65 0a 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 6f  | ...(when.page................(fo | 
| 28f40 |  72 6d 61 74 20 22 20 4f 46 46 53 45 54 20 25 73    20 22 20 28 2a 20 28 31 2d 20 70 61 67 65 29 20  | rmat.".OFFSET.%s.".(*.(1-.page). | 
| 28f60 |  28 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63    68 2d 70 61 67 65 2d 6d 61 78 2d 72 6f 77 73 29  | (calibredb-search-page-max-rows) | 
| 28f80 |  29 29 29 0a 0a 20 20 20 20 20 20 20 20 20 20 20    20 20 29 0a 20 20 20 20 20 3a 63 6f 75 6e 74 20  | )))...............)......:count. | 
| 28fa0 |  63 6f 75 6e 74 29 29 29 0a 0a 0a 3b 3b 3b 20 64    65 74 61 69 6c 65 64 20 76 69 65 77 0a 0a 28 64  | count)))...;;;.detailed.view..(d | 
| 28fc0 |  65 66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d 74    6f 67 67 6c 65 2d 76 69 65 77 20 28 29 0a 20 20  | efun.calibredb-toggle-view.()... | 
| 28fe0 |  22 54 6f 67 67 6c 65 20 62 65 74 77 65 65 6e 20    64 65 74 61 69 6c 65 64 20 76 69 65 77 20 6f 72  | "Toggle.between.detailed.view.or | 
| 29000 |  20 63 6f 6d 70 61 63 74 20 76 69 65 77 20 69 6e    20 2a 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72  | .compact.view.in.*calibredb-sear | 
| 29020 |  63 68 2a 20 62 75 66 66 65 72 2e 22 0a 20 20 28    69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28  | ch*.buffer."...(interactive)...( | 
| 29040 |  73 65 74 71 20 63 61 6c 69 62 72 65 64 62 2d 64    65 74 61 69 6c 65 64 2d 76 69 65 77 20 28 6e 6f  | setq.calibredb-detailed-view.(no | 
| 29060 |  74 20 63 61 6c 69 62 72 65 64 62 2d 64 65 74 61    69 6c 65 64 2d 76 69 65 77 29 29 0a 20 20 28 63  | t.calibredb-detailed-view))...(c | 
| 29080 |  61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2d    74 6f 67 67 6c 65 2d 76 69 65 77 2d 72 65 66 72  | alibredb-search-toggle-view-refr | 
| 290a0 |  65 73 68 29 29 0a 0a 28 64 65 66 75 6e 20 63 61    6c 69 62 72 65 64 62 2d 64 65 74 61 69 6c 65 64  | esh))..(defun.calibredb-detailed | 
| 290c0 |  2d 76 69 65 77 2d 69 6e 73 65 72 74 2d 69 6d 61    67 65 20 28 65 6e 74 72 79 29 0a 20 20 22 49 6e  | -view-insert-image.(entry)..."In | 
| 290e0 |  73 65 72 74 20 69 6d 61 67 65 20 69 6e 20 2a 63    61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2a  | sert.image.in.*calibredb-search* | 
| 29100 |  20 75 6e 64 65 72 20 64 65 74 61 69 6c 65 64 20    76 69 65 77 20 62 61 73 65 64 20 6f 6e 20 45 4e  | .under.detailed.view.based.on.EN | 
| 29120 |  54 52 59 2e 22 0a 20 20 28 69 66 20 28 61 6e 64    20 63 61 6c 69 62 72 65 64 62 2d 64 65 74 61 69  | TRY."...(if.(and.calibredb-detai | 
| 29140 |  6c 65 64 2d 76 69 65 77 20 63 61 6c 69 62 72 65    64 62 2d 64 65 74 61 69 6c 65 64 2d 76 69 65 77  | led-view.calibredb-detailed-view | 
| 29160 |  2d 69 6d 61 67 65 2d 73 68 6f 77 29 0a 20 20 20    20 20 20 28 6c 65 74 2a 20 28 28 6e 75 6d 20 28  | -image-show).......(let*.((num.( | 
| 29180 |  63 6f 6e 64 20 28 63 61 6c 69 62 72 65 64 62 2d    66 6f 72 6d 61 74 2d 6e 65 72 64 2d 69 63 6f 6e  | cond.(calibredb-format-nerd-icon | 
| 291a0 |  73 20 33 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 28 63 61  | s.3).........................(ca | 
| 291c0 |  6c 69 62 72 65 64 62 2d 66 6f 72 6d 61 74 2d 61    6c 6c 2d 74 68 65 2d 69 63 6f 6e 73 20 33 29 0a  | libredb-format-all-the-icons.3). | 
| 291e0 |  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 61 6c 69 62 72 65  | ........................(calibre | 
| 29200 |  64 62 2d 66 6f 72 6d 61 74 2d 69 63 6f 6e 73 2d    69 6e 2d 74 65 72 6d 69 6e 61 6c 20 33 29 0a 20  | db-format-icons-in-terminal.3).. | 
| 29220 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 28 28 3e 3d 20 63 61 6c 69  | .......................((>=.cali | 
| 29240 |  62 72 65 64 62 2d 69 64 2d 77 69 64 74 68 20 30    29 20 63 61 6c 69 62 72 65 64 62 2d 69 64 2d 77  | bredb-id-width.0).calibredb-id-w | 
| 29260 |  69 64 74 68 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 28 74  | idth).........................(t | 
| 29280 |  20 30 20 29 29 29 0a 20 20 20 20 20 20 20 20 20    20 20 20 20 28 66 69 6c 65 20 28 63 61 6c 69 62  | .0.)))..............(file.(calib | 
| 292a0 |  72 65 64 62 2d 67 65 74 61 74 74 72 20 28 63 64    72 20 65 6e 74 72 79 29 20 3a 66 69 6c 65 2d 70  | redb-getattr.(cdr.entry).:file-p | 
| 292c0 |  61 74 68 29 29 0a 20 20 20 20 20 20 20 20 20 20    20 20 20 28 66 6f 72 6d 61 74 20 28 63 61 6c 69  | ath))..............(format.(cali | 
| 292e0 |  62 72 65 64 62 2d 67 65 74 61 74 74 72 20 28 63    64 72 20 65 6e 74 72 79 29 20 3a 62 6f 6f 6b 2d  | bredb-getattr.(cdr.entry).:book- | 
| 29300 |  66 6f 72 6d 61 74 29 29 0a 20 20 20 20 20 20 20    20 20 20 20 20 20 28 63 6f 76 65 72 20 28 63 6f  | format))..............(cover.(co | 
| 29320 |  6e 63 61 74 20 28 66 69 6c 65 2d 6e 61 6d 65 2d    64 69 72 65 63 74 6f 72 79 20 66 69 6c 65 29 20  | ncat.(file-name-directory.file). | 
| 29340 |  22 63 6f 76 65 72 2e 6a 70 67 22 29 29 0a 20 20    20 20 20 20 20 20 20 20 20 20 20 28 69 6e 66 69  | "cover.jpg"))..............(infi | 
| 29360 |  6c 65 2d 63 6f 76 65 72 20 28 63 61 6c 69 62 72    65 64 62 2d 69 6e 66 69 6c 65 2d 63 6f 76 65 72  | le-cover.(calibredb-infile-cover | 
| 29380 |  2d 70 61 74 68 20 66 69 6c 65 29 29 29 0a 20 20    20 20 20 20 20 20 28 63 6f 6e 64 20 28 28 69 6d  | -path.file))).........(cond.((im | 
| 293a0 |  61 67 65 2d 74 79 70 65 2d 61 76 61 69 6c 61 62    6c 65 2d 70 20 28 69 6e 74 65 72 6e 20 66 6f 72  | age-type-available-p.(intern.for | 
| 293c0 |  6d 61 74 29 29 0a 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 28 70 72 6f 67 6e 0a 20 20 20 20  | mat))................(progn..... | 
| 293e0 |  20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 6e    73 65 72 74 20 22 5c 6e 22 29 0a 20 20 20 20 20  | .............(insert."\n")...... | 
| 29400 |  20 20 20 20 20 20 20 20 20 20 20 20 28 69 6e 73    65 72 74 20 28 6d 61 6b 65 2d 73 74 72 69 6e 67  | ............(insert.(make-string | 
| 29420 |  20 6e 75 6d 20 3f 20 29 29 0a 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 28 63 61 6c 69  | .num.?.))..................(cali | 
| 29440 |  62 72 65 64 62 2d 69 6e 73 65 72 74 2d 69 6d 61    67 65 20 66 69 6c 65 20 22 22 20 63 61 6c 69 62  | bredb-insert-image.file."".calib | 
| 29460 |  72 65 64 62 2d 64 65 74 61 69 6c 65 64 2d 76 69    65 77 2d 69 6d 61 67 65 2d 6d 61 78 2d 77 69 64  | redb-detailed-view-image-max-wid | 
| 29480 |  74 68 20 63 61 6c 69 62 72 65 64 62 2d 64 65 74    61 69 6c 65 64 2d 76 69 65 77 2d 69 6d 61 67 65  | th.calibredb-detailed-view-image | 
| 294a0 |  2d 6d 61 78 2d 68 65 69 67 68 74 29 29 29 0a 20    20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 66  | -max-height)))...............((f | 
| 294c0 |  69 6c 65 2d 65 78 69 73 74 73 2d 70 20 63 6f 76    65 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20  | ile-exists-p.cover)............. | 
| 294e0 |  20 20 20 28 69 6e 73 65 72 74 20 22 5c 6e 22 29    0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | ...(insert."\n")................ | 
| 29500 |  28 69 6e 73 65 72 74 20 28 6d 61 6b 65 2d 73 74    72 69 6e 67 20 6e 75 6d 20 3f 20 29 29 0a 20 20  | (insert.(make-string.num.?.))... | 
| 29520 |  20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 61    6c 69 62 72 65 64 62 2d 69 6e 73 65 72 74 2d 69  | .............(calibredb-insert-i | 
| 29540 |  6d 61 67 65 20 63 6f 76 65 72 20 22 22 20 63 61    6c 69 62 72 65 64 62 2d 64 65 74 61 69 6c 65 64  | mage.cover."".calibredb-detailed | 
| 29560 |  2d 76 69 65 77 2d 69 6d 61 67 65 2d 6d 61 78 2d    77 69 64 74 68 20 63 61 6c 69 62 72 65 64 62 2d  | -view-image-max-width.calibredb- | 
| 29580 |  64 65 74 61 69 6c 65 64 2d 76 69 65 77 2d 69 6d    61 67 65 2d 6d 61 78 2d 68 65 69 67 68 74 29 29  | detailed-view-image-max-height)) | 
| 295a0 |  0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28    28 66 69 6c 65 2d 65 78 69 73 74 73 2d 70 20 69  | ...............((file-exists-p.i | 
| 295c0 |  6e 66 69 6c 65 2d 63 6f 76 65 72 29 0a 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 28 69 6e 73  | nfile-cover)................(ins | 
| 295e0 |  65 72 74 20 22 5c 6e 22 29 0a 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74  | ert."\n")................(insert | 
| 29600 |  20 28 6d 61 6b 65 2d 73 74 72 69 6e 67 20 6e 75    6d 20 3f 20 29 29 0a 20 20 20 20 20 20 20 20 20  | .(make-string.num.?.)).......... | 
| 29620 |  20 20 20 20 20 20 28 63 61 6c 69 62 72 65 64 62    2d 69 6e 73 65 72 74 2d 69 6d 61 67 65 20 69 6e  | ......(calibredb-insert-image.in | 
| 29640 |  66 69 6c 65 2d 63 6f 76 65 72 20 22 22 20 63 61    6c 69 62 72 65 64 62 2d 64 65 74 61 69 6c 65 64  | file-cover."".calibredb-detailed | 
| 29660 |  2d 76 69 65 77 2d 69 6d 61 67 65 2d 6d 61 78 2d    77 69 64 74 68 20 63 61 6c 69 62 72 65 64 62 2d  | -view-image-max-width.calibredb- | 
| 29680 |  64 65 74 61 69 6c 65 64 2d 76 69 65 77 2d 69 6d    61 67 65 2d 6d 61 78 2d 68 65 69 67 68 74 29 29  | detailed-view-image-max-height)) | 
| 296a0 |  0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28    74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | ...............(t............... | 
| 296c0 |  20 3b 3b 20 65 78 74 72 61 63 74 20 63 6f 76 65    72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | .;;.extract.cover............... | 
| 296e0 |  20 28 63 61 6c 69 62 72 65 64 62 2d 65 78 74 72    61 63 74 2d 63 6f 76 65 72 20 28 63 64 72 20 65  | .(calibredb-extract-cover.(cdr.e | 
| 29700 |  6e 74 72 79 29 29 0a 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 28 77 68 65 6e 20 28 66 69 6c  | ntry))................(when.(fil | 
| 29720 |  65 2d 65 78 69 73 74 73 2d 70 20 69 6e 66 69 6c    65 2d 63 6f 76 65 72 29 0a 20 20 20 20 20 20 20  | e-exists-p.infile-cover)........ | 
| 29740 |  20 20 20 20 20 20 20 20 20 20 28 69 6e 73 65 72    74 20 22 5c 6e 22 29 0a 20 20 20 20 20 20 20 20  | ..........(insert."\n")......... | 
| 29760 |  20 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74    20 28 6d 61 6b 65 2d 73 74 72 69 6e 67 20 6e 75  | .........(insert.(make-string.nu | 
| 29780 |  6d 20 3f 20 29 29 0a 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 28 63 61 6c 69 62 72 65  | m.?.))..................(calibre | 
| 297a0 |  64 62 2d 69 6e 73 65 72 74 2d 69 6d 61 67 65 20    69 6e 66 69 6c 65 2d 63 6f 76 65 72 20 22 22 20  | db-insert-image.infile-cover."". | 
| 297c0 |  63 61 6c 69 62 72 65 64 62 2d 64 65 74 61 69 6c    65 64 2d 76 69 65 77 2d 69 6d 61 67 65 2d 6d 61  | calibredb-detailed-view-image-ma | 
| 297e0 |  78 2d 77 69 64 74 68 20 63 61 6c 69 62 72 65 64    62 2d 64 65 74 61 69 6c 65 64 2d 76 69 65 77 2d  | x-width.calibredb-detailed-view- | 
| 29800 |  69 6d 61 67 65 2d 6d 61 78 2d 68 65 69 67 68 74    29 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20  | image-max-height)))))))..(defun. | 
| 29820 |  63 61 6c 69 62 72 65 64 62 2d 74 6f 67 67 6c 65    2d 76 69 65 77 2d 61 74 2d 70 6f 69 6e 74 20 28  | calibredb-toggle-view-at-point.( | 
| 29840 |  29 0a 20 20 22 54 6f 67 67 6c 65 20 62 65 74 77    65 65 6e 20 64 65 74 61 69 6c 65 64 20 76 69 65  | )..."Toggle.between.detailed.vie | 
| 29860 |  77 20 6f 72 20 63 6f 6d 70 61 63 74 20 76 69 65    77 20 69 6e 20 2a 63 61 6c 69 62 72 65 64 62 2d  | w.or.compact.view.in.*calibredb- | 
| 29880 |  73 65 61 72 63 68 2a 20 62 75 66 66 65 72 20 61    74 20 70 6f 69 6e 74 2e 22 0a 20 20 28 69 6e 74  | search*.buffer.at.point."...(int | 
| 298a0 |  65 72 61 63 74 69 76 65 29 0a 20 20 28 6c 65 74    20 28 28 69 6e 68 69 62 69 74 2d 72 65 61 64 2d  | eractive)...(let.((inhibit-read- | 
| 298c0 |  6f 6e 6c 79 20 74 29 0a 20 20 20 20 20 20 20 20    28 73 74 61 74 75 73 20 63 61 6c 69 62 72 65 64  | only.t).........(status.calibred | 
| 298e0 |  62 2d 64 65 74 61 69 6c 65 64 2d 76 69 65 77 29    29 0a 20 20 20 20 28 69 66 20 63 61 6c 69 62 72  | b-detailed-view)).....(if.calibr | 
| 29900 |  65 64 62 2d 64 65 74 61 69 6c 65 64 2d 76 69 65    77 0a 20 20 20 20 20 20 20 20 3b 3b 20 64 65 74  | edb-detailed-view.........;;.det | 
| 29920 |  61 69 6c 65 64 20 76 69 65 77 0a 20 20 20 20 20    20 20 20 28 63 6f 6e 64 0a 20 20 20 20 20 20 20  | ailed.view.........(cond........ | 
| 29940 |  20 20 3b 3b 20 73 61 76 65 20 74 6f 20 63 61 6c    69 62 72 65 64 62 2d 65 6e 74 72 79 0a 20 20 20  | ..;;.save.to.calibredb-entry.... | 
| 29960 |  20 20 20 20 20 20 28 28 67 65 74 2d 74 65 78 74    2d 70 72 6f 70 65 72 74 79 20 28 70 6f 69 6e 74  | ......((get-text-property.(point | 
| 29980 |  29 20 27 63 61 6c 69 62 72 65 64 62 2d 65 6e 74    72 79 20 6e 69 6c 29 0a 20 20 20 20 20 20 20 20  | ).'calibredb-entry.nil)......... | 
| 299a0 |  20 20 28 73 65 74 71 20 63 61 6c 69 62 72 65 64    62 2d 64 65 74 61 69 6c 65 64 2d 76 69 65 77 20  | ..(setq.calibredb-detailed-view. | 
| 299c0 |  6e 69 6c 29 0a 20 20 20 20 20 20 20 20 20 20 28    6c 65 74 2a 20 28 28 6f 72 69 67 69 6e 61 6c 20  | nil)...........(let*.((original. | 
| 299e0 |  28 67 65 74 2d 74 65 78 74 2d 70 72 6f 70 65 72    74 79 20 28 70 6f 69 6e 74 29 20 27 63 61 6c 69  | (get-text-property.(point).'cali | 
| 29a00 |  62 72 65 64 62 2d 65 6e 74 72 79 20 6e 69 6c 29    29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | bredb-entry.nil))............... | 
| 29a20 |  20 20 20 28 65 6e 74 72 79 20 28 63 61 64 72 20    6f 72 69 67 69 6e 61 6c 29 29 0a 20 20 20 20 20  | ...(entry.(cadr.original))...... | 
| 29a40 |  20 20 20 20 20 20 20 20 20 20 20 20 28 66 6f 72    6d 61 74 20 28 6c 69 73 74 20 28 63 61 6c 69 62  | ............(format.(list.(calib | 
| 29a60 |  72 65 64 62 2d 66 6f 72 6d 61 74 2d 69 74 65 6d    20 65 6e 74 72 79 29 29 29 0a 20 20 20 20 20 20  | redb-format-item.entry)))....... | 
| 29a80 |  20 20 20 20 20 20 20 20 20 20 20 28 69 64 20 28    63 61 6c 69 62 72 65 64 62 2d 67 65 74 2d 69 6e  | ...........(id.(calibredb-get-in | 
| 29aa0 |  69 74 20 22 69 64 22 20 28 63 64 72 20 28 67 65    74 2d 74 65 78 74 2d 70 72 6f 70 65 72 74 79 20  | it."id".(cdr.(get-text-property. | 
| 29ac0 |  28 70 6f 69 6e 74 29 20 27 63 61 6c 69 62 72 65    64 62 2d 65 6e 74 72 79 20 6e 69 6c 29 29 29 29  | (point).'calibredb-entry.nil)))) | 
| 29ae0 |  20 3b 20 74 68 65 20 22 69 64 22 20 6f 66 20 63    75 72 72 65 6e 74 20 70 6f 69 6e 74 0a 20 20 20  | .;.the."id".of.current.point.... | 
| 29b00 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 2d    62 65 67 20 64 2d 65 6e 64 29 0a 20 20 20 20 20  | ..............d-beg.d-end)...... | 
| 29b20 |  20 20 20 20 20 20 20 28 69 66 20 28 65 71 75 61    6c 20 69 64 20 28 63 61 6c 69 62 72 65 64 62 2d  | .......(if.(equal.id.(calibredb- | 
| 29b40 |  67 65 74 2d 69 6e 69 74 20 22 69 64 22 20 28 63    64 72 20 28 67 65 74 2d 74 65 78 74 2d 70 72 6f  | get-init."id".(cdr.(get-text-pro | 
| 29b60 |  70 65 72 74 79 20 28 70 6f 69 6e 74 2d 6d 69 6e    29 20 27 63 61 6c 69 62 72 65 64 62 2d 65 6e 74  | perty.(point-min).'calibredb-ent | 
| 29b80 |  72 79 20 6e 69 6c 29 29 29 29 0a 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71  | ry.nil)))).................(setq | 
| 29ba0 |  20 64 2d 62 65 67 20 28 70 6f 69 6e 74 2d 6d 69    6e 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20  | .d-beg.(point-min))............. | 
| 29bc0 |  20 20 28 73 61 76 65 2d 65 78 63 75 72 73 69 6f    6e 20 28 77 68 69 6c 65 20 28 65 71 75 61 6c 20  | ..(save-excursion.(while.(equal. | 
| 29be0 |  69 64 20 28 63 61 6c 69 62 72 65 64 62 2d 67 65    74 2d 69 6e 69 74 20 22 69 64 22 20 28 63 64 72  | id.(calibredb-get-init."id".(cdr | 
| 29c00 |  20 28 67 65 74 2d 74 65 78 74 2d 70 72 6f 70 65    72 74 79 20 28 70 6f 69 6e 74 29 20 27 63 61 6c  | .(get-text-property.(point).'cal | 
| 29c20 |  69 62 72 65 64 62 2d 65 6e 74 72 79 20 6e 69 6c    29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20  | ibredb-entry.nil))))............ | 
| 29c40 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 28 66 6f 72 77 61 72 64 2d 6c 69  | .....................(forward-li | 
| 29c60 |  6e 65 20 2d 31 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  | ne.-1))......................... | 
| 29c80 |  20 20 20 20 20 20 28 66 6f 72 77 61 72 64 2d 6c    69 6e 65 20 31 29 0a 20 20 20 20 20 20 20 20 20  | ......(forward-line.1).......... | 
| 29ca0 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 28 73 65 74 71 20 64 2d 62 65 67  | .....................(setq.d-beg | 
| 29cc0 |  20 28 70 6f 69 6e 74 29 29 29 29 0a 20 20 20 20    20 20 20 20 20 20 20 20 28 73 61 76 65 2d 65 78  | .(point)))).............(save-ex | 
| 29ce0 |  63 75 72 73 69 6f 6e 20 28 77 68 69 6c 65 20 28    65 71 75 61 6c 20 69 64 20 28 63 61 6c 69 62 72  | cursion.(while.(equal.id.(calibr | 
| 29d00 |  65 64 62 2d 67 65 74 2d 69 6e 69 74 20 22 69 64    22 20 28 63 64 72 20 28 67 65 74 2d 74 65 78 74  | edb-get-init."id".(cdr.(get-text | 
| 29d20 |  2d 70 72 6f 70 65 72 74 79 20 28 70 6f 69 6e 74    29 20 27 63 61 6c 69 62 72 65 64 62 2d 65 6e 74  | -property.(point).'calibredb-ent | 
| 29d40 |  72 79 20 6e 69 6c 29 29 29 29 0a 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | ry.nil))))...................... | 
| 29d60 |  20 20 20 20 20 20 20 20 20 28 66 6f 72 77 61 72    64 2d 6c 69 6e 65 20 31 29 29 0a 20 20 20 20 20  | .........(forward-line.1))...... | 
| 29d80 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 68 61  | .......................(goto-cha | 
| 29da0 |  72 20 28 31 2d 20 28 70 6f 69 6e 74 29 29 29 0a    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | r.(1-.(point)))................. | 
| 29dc0 |  20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74    71 20 64 2d 65 6e 64 20 28 70 6f 69 6e 74 29 29  | ............(setq.d-end.(point)) | 
| 29de0 |  29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 64    65 6c 65 74 65 2d 72 65 67 69 6f 6e 20 64 2d 62  | ).............(delete-region.d-b | 
| 29e00 |  65 67 20 64 2d 65 6e 64 29 0a 20 20 20 20 20 20    20 20 20 20 20 20 28 73 61 76 65 2d 65 78 63 75  | eg.d-end).............(save-excu | 
| 29e20 |  72 73 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 20    20 20 20 20 28 75 6e 6c 65 73 73 20 28 65 71 75  | rsion...............(unless.(equ | 
| 29e40 |  61 6c 20 66 6f 72 6d 61 74 20 22 22 29 0a 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c  | al.format."").................(l | 
| 29e60 |  65 74 20 28 28 63 6f 6e 74 65 6e 74 20 28 63 61    72 20 66 6f 72 6d 61 74 29 29 0a 20 20 20 20 20  | et.((content.(car.format))...... | 
| 29e80 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 28 6c 69 73 74 20 28 63 6f 6e 73 20 28 63 61  | .................(list.(cons.(ca | 
| 29ea0 |  72 20 66 6f 72 6d 61 74 29 20 28 6c 69 73 74 20    65 6e 74 72 79 29 29 29 0a 20 20 20 20 20 20 20  | r.format).(list.entry)))........ | 
| 29ec0 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62    65 67 20 65 6e 64 29 0a 20 20 20 20 20 20 20 20  | ...............beg.end)......... | 
| 29ee0 |  20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20    62 65 67 20 28 70 6f 69 6e 74 29 29 0a 20 20 20  | ..........(setq.beg.(point)).... | 
| 29f00 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28    69 6e 73 65 72 74 20 63 6f 6e 74 65 6e 74 29 0a  | ...............(insert.content). | 
| 29f20 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 28 73 65 74 71 20 65 6e 64 20 28 70 6f 69  | ..................(setq.end.(poi | 
| 29f40 |  6e 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 28 70 75 74 2d 74 65 78 74  | nt))...................(put-text | 
| 29f60 |  2d 70 72 6f 70 65 72 74 79 20 62 65 67 20 65 6e    64 20 27 63 61 6c 69 62 72 65 64 62 2d 63 6f 6d  | -property.beg.end.'calibredb-com | 
| 29f80 |  70 61 63 74 20 6c 69 73 74 29 29 29 29 29 0a 20    20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 63  | pact.list)))))...........(setq.c | 
| 29fa0 |  61 6c 69 62 72 65 64 62 2d 64 65 74 61 69 6c 65    64 2d 76 69 65 77 20 73 74 61 74 75 73 29 29 0a  | alibredb-detailed-view.status)). | 
| 29fc0 |  0a 20 20 20 20 20 20 20 20 20 3b 3b 20 73 61 76    65 20 74 6f 20 63 61 6c 69 62 72 65 64 62 2d 63  | ..........;;.save.to.calibredb-c | 
| 29fe0 |  6f 6d 70 61 63 74 0a 20 20 20 20 20 20 20 20 20    28 28 67 65 74 2d 74 65 78 74 2d 70 72 6f 70 65  | ompact..........((get-text-prope | 
| 2a000 |  72 74 79 20 28 70 6f 69 6e 74 29 20 27 63 61 6c    69 62 72 65 64 62 2d 63 6f 6d 70 61 63 74 20 6e  | rty.(point).'calibredb-compact.n | 
| 2a020 |  69 6c 29 0a 20 20 20 20 20 20 20 20 20 20 28 73    65 74 71 20 63 61 6c 69 62 72 65 64 62 2d 64 65  | il)...........(setq.calibredb-de | 
| 2a040 |  74 61 69 6c 65 64 2d 76 69 65 77 20 74 29 0a 20    20 20 20 20 20 20 20 20 20 28 6c 65 74 2a 20 28  | tailed-view.t)...........(let*.( | 
| 2a060 |  28 6f 72 69 67 69 6e 61 6c 20 28 67 65 74 2d 74    65 78 74 2d 70 72 6f 70 65 72 74 79 20 28 70 6f  | (original.(get-text-property.(po | 
| 2a080 |  69 6e 74 29 20 27 63 61 6c 69 62 72 65 64 62 2d    63 6f 6d 70 61 63 74 20 6e 69 6c 29 29 0a 20 20  | int).'calibredb-compact.nil))... | 
| 2a0a0 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28    65 6e 74 72 79 20 28 63 61 64 72 20 6f 72 69 67  | ...............(entry.(cadr.orig | 
| 2a0c0 |  69 6e 61 6c 29 29 0a 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 28 66 6f 72 6d 61 74 20  | inal))..................(format. | 
| 2a0e0 |  28 6c 69 73 74 20 28 63 61 6c 69 62 72 65 64 62    2d 66 6f 72 6d 61 74 2d 69 74 65 6d 20 65 6e 74  | (list.(calibredb-format-item.ent | 
| 2a100 |  72 79 29 29 29 29 0a 20 20 20 20 20 20 20 20 20    20 20 20 28 64 65 6c 65 74 65 2d 72 65 67 69 6f  | ry)))).............(delete-regio | 
| 2a120 |  6e 20 28 6c 69 6e 65 2d 62 65 67 69 6e 6e 69 6e    67 2d 70 6f 73 69 74 69 6f 6e 29 20 28 6c 69 6e  | n.(line-beginning-position).(lin | 
| 2a140 |  65 2d 65 6e 64 2d 70 6f 73 69 74 69 6f 6e 29 29    0a 20 20 20 20 20 20 20 20 20 20 20 20 28 73 61  | e-end-position)).............(sa | 
| 2a160 |  76 65 2d 65 78 63 75 72 73 69 6f 6e 0a 20 20 20    20 20 20 20 20 20 20 20 20 20 20 28 75 6e 6c 65  | ve-excursion...............(unle | 
| 2a180 |  73 73 20 28 65 71 75 61 6c 20 66 6f 72 6d 61 74    20 22 22 29 0a 20 20 20 20 20 20 20 20 20 20 20  | ss.(equal.format."")............ | 
| 2a1a0 |  20 20 20 20 20 28 6c 65 74 20 28 28 63 6f 6e 74    65 6e 74 20 28 63 61 72 20 66 6f 72 6d 61 74 29  | .....(let.((content.(car.format) | 
| 2a1c0 |  29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 28 6c 69 73 74 20 28 63  | ).......................(list.(c | 
| 2a1e0 |  6f 6e 73 20 28 63 61 72 20 66 6f 72 6d 61 74 29    20 28 6c 69 73 74 20 65 6e 74 72 79 29 29 29 0a  | ons.(car.format).(list.entry))). | 
| 2a200 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 62 65 67 20 65 6e 64 29 0a 20  | ......................beg.end).. | 
| 2a220 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 28 73 65 74 71 20 62 65 67 20 28 70 6f 69 6e  | .................(setq.beg.(poin | 
| 2a240 |  74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 28 69 6e 73 65 72 74 20 63 6f  | t))...................(insert.co | 
| 2a260 |  6e 74 65 6e 74 29 0a 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 28 63 61 6c 69 62 72  | ntent)...................(calibr | 
| 2a280 |  65 64 62 2d 64 65 74 61 69 6c 65 64 2d 76 69 65    77 2d 69 6e 73 65 72 74 2d 69 6d 61 67 65 20 6f  | edb-detailed-view-insert-image.o | 
| 2a2a0 |  72 69 67 69 6e 61 6c 29 0a 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71  | riginal)...................(setq | 
| 2a2c0 |  20 65 6e 64 20 28 70 6f 69 6e 74 29 29 0a 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | .end.(point))................... | 
| 2a2e0 |  28 70 75 74 2d 74 65 78 74 2d 70 72 6f 70 65 72    74 79 20 62 65 67 20 65 6e 64 20 27 63 61 6c 69  | (put-text-property.beg.end.'cali | 
| 2a300 |  62 72 65 64 62 2d 65 6e 74 72 79 20 6c 69 73 74    29 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20  | bredb-entry.list)))))........... | 
| 2a320 |  28 73 65 74 71 20 63 61 6c 69 62 72 65 64 62 2d    64 65 74 61 69 6c 65 64 2d 76 69 65 77 20 73 74  | (setq.calibredb-detailed-view.st | 
| 2a340 |  61 74 75 73 29 29 29 0a 0a 20 20 20 20 20 20 3b    3b 20 63 6f 6d 70 61 63 74 20 76 69 65 77 0a 20  | atus)))........;;.compact.view.. | 
| 2a360 |  20 20 20 20 20 28 63 6f 6e 64 0a 20 20 20 20 20    20 20 3b 3b 20 73 61 76 65 20 74 6f 20 63 61 6c  | .....(cond........;;.save.to.cal | 
| 2a380 |  69 62 72 65 64 62 2d 65 6e 74 72 79 0a 20 20 20    20 20 20 20 28 28 67 65 74 2d 74 65 78 74 2d 70  | ibredb-entry........((get-text-p | 
| 2a3a0 |  72 6f 70 65 72 74 79 20 28 70 6f 69 6e 74 29 20    27 63 61 6c 69 62 72 65 64 62 2d 65 6e 74 72 79  | roperty.(point).'calibredb-entry | 
| 2a3c0 |  20 6e 69 6c 29 0a 20 20 20 20 20 20 20 20 28 73    65 74 71 20 63 61 6c 69 62 72 65 64 62 2d 64 65  | .nil).........(setq.calibredb-de | 
| 2a3e0 |  74 61 69 6c 65 64 2d 76 69 65 77 20 74 29 0a 20    20 20 20 20 20 20 20 28 6c 65 74 2a 20 28 28 6f  | tailed-view.t).........(let*.((o | 
| 2a400 |  72 69 67 69 6e 61 6c 20 28 67 65 74 2d 74 65 78    74 2d 70 72 6f 70 65 72 74 79 20 28 70 6f 69 6e  | riginal.(get-text-property.(poin | 
| 2a420 |  74 29 20 27 63 61 6c 69 62 72 65 64 62 2d 65 6e    74 72 79 20 6e 69 6c 29 29 0a 20 20 20 20 20 20  | t).'calibredb-entry.nil))....... | 
| 2a440 |  20 20 20 20 20 20 20 20 20 28 65 6e 74 72 79 20    28 63 61 64 72 20 6f 72 69 67 69 6e 61 6c 29 29  | .........(entry.(cadr.original)) | 
| 2a460 |  0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    28 66 6f 72 6d 61 74 20 28 6c 69 73 74 20 28 63  | ................(format.(list.(c | 
| 2a480 |  61 6c 69 62 72 65 64 62 2d 66 6f 72 6d 61 74 2d    69 74 65 6d 20 65 6e 74 72 79 29 29 29 29 0a 20  | alibredb-format-item.entry)))).. | 
| 2a4a0 |  20 20 20 20 20 20 20 20 20 28 64 65 6c 65 74 65    2d 72 65 67 69 6f 6e 20 28 6c 69 6e 65 2d 62 65  | .........(delete-region.(line-be | 
| 2a4c0 |  67 69 6e 6e 69 6e 67 2d 70 6f 73 69 74 69 6f 6e    29 20 28 6c 69 6e 65 2d 65 6e 64 2d 70 6f 73 69  | ginning-position).(line-end-posi | 
| 2a4e0 |  74 69 6f 6e 29 29 0a 20 20 20 20 20 20 20 20 20    20 28 73 61 76 65 2d 65 78 63 75 72 73 69 6f 6e  | tion))...........(save-excursion | 
| 2a500 |  0a 20 20 20 20 20 20 20 20 20 20 20 20 28 75 6e    6c 65 73 73 20 28 65 71 75 61 6c 20 66 6f 72 6d  | .............(unless.(equal.form | 
| 2a520 |  61 74 20 22 22 29 0a 20 20 20 20 20 20 20 20 20    20 20 20 20 20 28 6c 65 74 20 28 28 63 6f 6e 74  | at."")...............(let.((cont | 
| 2a540 |  65 6e 74 20 28 63 61 72 20 66 6f 72 6d 61 74 29    29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | ent.(car.format))............... | 
| 2a560 |  20 20 20 20 20 20 28 6c 69 73 74 20 28 63 6f 6e    73 20 28 63 61 72 20 66 6f 72 6d 61 74 29 20 28  | ......(list.(cons.(car.format).( | 
| 2a580 |  6c 69 73 74 20 65 6e 74 72 79 29 29 29 0a 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | list.entry)))................... | 
| 2a5a0 |  20 20 62 65 67 20 65 6e 64 29 0a 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71  | ..beg.end).................(setq | 
| 2a5c0 |  20 62 65 67 20 28 70 6f 69 6e 74 29 29 0a 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69  | .beg.(point)).................(i | 
| 2a5e0 |  6e 73 65 72 74 20 63 6f 6e 74 65 6e 74 29 0a 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28  | nsert.content).................( | 
| 2a600 |  63 61 6c 69 62 72 65 64 62 2d 64 65 74 61 69 6c    65 64 2d 76 69 65 77 2d 69 6e 73 65 72 74 2d 69  | calibredb-detailed-view-insert-i | 
| 2a620 |  6d 61 67 65 20 6f 72 69 67 69 6e 61 6c 29 0a 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28  | mage.original).................( | 
| 2a640 |  73 65 74 71 20 65 6e 64 20 28 70 6f 69 6e 74 29    29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | setq.end.(point))............... | 
| 2a660 |  20 20 28 70 75 74 2d 74 65 78 74 2d 70 72 6f 70    65 72 74 79 20 62 65 67 20 65 6e 64 20 27 63 61  | ..(put-text-property.beg.end.'ca | 
| 2a680 |  6c 69 62 72 65 64 62 2d 64 65 74 61 69 6c 65 64    20 6c 69 73 74 29 29 29 29 29 0a 20 20 20 20 20  | libredb-detailed.list)))))...... | 
| 2a6a0 |  20 20 20 28 73 65 74 71 20 63 61 6c 69 62 72 65    64 62 2d 64 65 74 61 69 6c 65 64 2d 76 69 65 77  | ...(setq.calibredb-detailed-view | 
| 2a6c0 |  20 73 74 61 74 75 73 29 29 0a 0a 20 20 20 20 20    20 20 3b 3b 20 73 61 76 65 20 74 6f 20 63 61 6c  | .status)).........;;.save.to.cal | 
| 2a6e0 |  69 62 72 65 64 62 2d 64 65 74 61 69 6c 65 64 0a    20 20 20 20 20 20 20 28 28 67 65 74 2d 74 65 78  | ibredb-detailed........((get-tex | 
| 2a700 |  74 2d 70 72 6f 70 65 72 74 79 20 28 70 6f 69 6e    74 29 20 27 63 61 6c 69 62 72 65 64 62 2d 64 65  | t-property.(point).'calibredb-de | 
| 2a720 |  74 61 69 6c 65 64 20 6e 69 6c 29 0a 20 20 20 20    20 20 20 20 28 73 65 74 71 20 63 61 6c 69 62 72  | tailed.nil).........(setq.calibr | 
| 2a740 |  65 64 62 2d 64 65 74 61 69 6c 65 64 2d 76 69 65    77 20 6e 69 6c 29 0a 20 20 20 20 20 20 20 20 28  | edb-detailed-view.nil).........( | 
| 2a760 |  6c 65 74 2a 20 28 28 6f 72 69 67 69 6e 61 6c 20    28 67 65 74 2d 74 65 78 74 2d 70 72 6f 70 65 72  | let*.((original.(get-text-proper | 
| 2a780 |  74 79 20 28 70 6f 69 6e 74 29 20 27 63 61 6c 69    62 72 65 64 62 2d 64 65 74 61 69 6c 65 64 20 6e  | ty.(point).'calibredb-detailed.n | 
| 2a7a0 |  69 6c 29 29 0a 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 28 65 6e 74 72 79 20 28 63 61 64 72  | il))................(entry.(cadr | 
| 2a7c0 |  20 6f 72 69 67 69 6e 61 6c 29 29 0a 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 28 66 6f 72 6d  | .original))................(form | 
| 2a7e0 |  61 74 20 28 6c 69 73 74 20 28 63 61 6c 69 62 72    65 64 62 2d 66 6f 72 6d 61 74 2d 69 74 65 6d 20  | at.(list.(calibredb-format-item. | 
| 2a800 |  65 6e 74 72 79 29 29 29 0a 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 28 69 64 20 28 63 61 6c  | entry)))................(id.(cal | 
| 2a820 |  69 62 72 65 64 62 2d 67 65 74 2d 69 6e 69 74 20    22 69 64 22 20 28 63 64 72 20 28 67 65 74 2d 74  | ibredb-get-init."id".(cdr.(get-t | 
| 2a840 |  65 78 74 2d 70 72 6f 70 65 72 74 79 20 28 70 6f    69 6e 74 29 20 27 63 61 6c 69 62 72 65 64 62 2d  | ext-property.(point).'calibredb- | 
| 2a860 |  64 65 74 61 69 6c 65 64 20 6e 69 6c 29 29 29 29    20 3b 20 74 68 65 20 22 69 64 22 20 6f 66 20 63  | detailed.nil)))).;.the."id".of.c | 
| 2a880 |  75 72 72 65 6e 74 20 70 6f 69 6e 74 0a 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 64 2d 62 65  | urrent.point................d-be | 
| 2a8a0 |  67 20 64 2d 65 6e 64 29 0a 20 20 20 20 20 20 20    20 20 20 28 69 66 20 28 65 71 75 61 6c 20 69 64  | g.d-end)...........(if.(equal.id | 
| 2a8c0 |  20 28 63 61 6c 69 62 72 65 64 62 2d 67 65 74 2d    69 6e 69 74 20 22 69 64 22 20 28 63 64 72 20 28  | .(calibredb-get-init."id".(cdr.( | 
| 2a8e0 |  67 65 74 2d 74 65 78 74 2d 70 72 6f 70 65 72 74    79 20 28 70 6f 69 6e 74 2d 6d 69 6e 29 20 27 63  | get-text-property.(point-min).'c | 
| 2a900 |  61 6c 69 62 72 65 64 62 2d 64 65 74 61 69 6c 65    64 20 6e 69 6c 29 29 29 29 0a 20 20 20 20 20 20  | alibredb-detailed.nil))))....... | 
| 2a920 |  20 20 20 20 20 20 20 20 28 73 65 74 71 20 64 2d    62 65 67 20 28 70 6f 69 6e 74 2d 6d 69 6e 29 29  | ........(setq.d-beg.(point-min)) | 
| 2a940 |  0a 20 20 20 20 20 20 20 20 20 20 20 20 28 73 61    76 65 2d 65 78 63 75 72 73 69 6f 6e 20 28 77 68  | .............(save-excursion.(wh | 
| 2a960 |  69 6c 65 20 28 65 71 75 61 6c 20 69 64 20 28 63    61 6c 69 62 72 65 64 62 2d 67 65 74 2d 69 6e 69  | ile.(equal.id.(calibredb-get-ini | 
| 2a980 |  74 20 22 69 64 22 20 28 63 64 72 20 28 67 65 74    2d 74 65 78 74 2d 70 72 6f 70 65 72 74 79 20 28  | t."id".(cdr.(get-text-property.( | 
| 2a9a0 |  70 6f 69 6e 74 29 20 27 63 61 6c 69 62 72 65 64    62 2d 64 65 74 61 69 6c 65 64 20 6e 69 6c 29 29  | point).'calibredb-detailed.nil)) | 
| 2a9c0 |  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 20 20 20  | )).............................. | 
| 2a9e0 |  20 28 66 6f 72 77 61 72 64 2d 6c 69 6e 65 20 2d    31 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20  | .(forward-line.-1))............. | 
| 2aa00 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    28 66 6f 72 77 61 72 64 2d 6c 69 6e 65 20 31 29  | ................(forward-line.1) | 
| 2aa20 |  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 20 28 73 65  | .............................(se | 
| 2aa40 |  74 71 20 64 2d 62 65 67 20 28 70 6f 69 6e 74 29    29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 73  | tq.d-beg.(point))))...........(s | 
| 2aa60 |  61 76 65 2d 65 78 63 75 72 73 69 6f 6e 20 28 77    68 69 6c 65 20 28 65 71 75 61 6c 20 69 64 20 28  | ave-excursion.(while.(equal.id.( | 
| 2aa80 |  63 61 6c 69 62 72 65 64 62 2d 67 65 74 2d 69 6e    69 74 20 22 69 64 22 20 28 63 64 72 20 28 67 65  | calibredb-get-init."id".(cdr.(ge | 
| 2aaa0 |  74 2d 74 65 78 74 2d 70 72 6f 70 65 72 74 79 20    28 70 6f 69 6e 74 29 20 27 63 61 6c 69 62 72 65  | t-text-property.(point).'calibre | 
| 2aac0 |  64 62 2d 64 65 74 61 69 6c 65 64 20 6e 69 6c 29    29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20  | db-detailed.nil))))............. | 
| 2aae0 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    28 66 6f 72 77 61 72 64 2d 6c 69 6e 65 20 31 29  | ................(forward-line.1) | 
| 2ab00 |  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 28 67 6f 74  | )...........................(got | 
| 2ab20 |  6f 2d 63 68 61 72 20 28 31 2d 20 28 70 6f 69 6e    74 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20  | o-char.(1-.(point)))............ | 
| 2ab40 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28    73 65 74 71 20 64 2d 65 6e 64 20 28 70 6f 69 6e  | ...............(setq.d-end.(poin | 
| 2ab60 |  74 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28    64 65 6c 65 74 65 2d 72 65 67 69 6f 6e 20 64 2d  | t)))...........(delete-region.d- | 
| 2ab80 |  62 65 67 20 64 2d 65 6e 64 29 0a 20 20 20 20 20    20 20 20 20 20 28 73 61 76 65 2d 65 78 63 75 72  | beg.d-end)...........(save-excur | 
| 2aba0 |  73 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 20    20 28 75 6e 6c 65 73 73 20 28 65 71 75 61 6c 20  | sion.............(unless.(equal. | 
| 2abc0 |  66 6f 72 6d 61 74 20 22 22 29 0a 20 20 20 20 20    20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28  | format."")...............(let.(( | 
| 2abe0 |  63 6f 6e 74 65 6e 74 20 28 63 61 72 20 66 6f 72    6d 61 74 29 29 0a 20 20 20 20 20 20 20 20 20 20  | content.(car.format))........... | 
| 2ac00 |  20 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 20    28 63 6f 6e 73 20 28 63 61 72 20 66 6f 72 6d 61  | ..........(list.(cons.(car.forma | 
| 2ac20 |  74 29 20 28 6c 69 73 74 20 65 6e 74 72 79 29 29    29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | t).(list.entry)))............... | 
| 2ac40 |  20 20 20 20 20 20 62 65 67 20 65 6e 64 29 0a 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28  | ......beg.end).................( | 
| 2ac60 |  73 65 74 71 20 62 65 67 20 28 70 6f 69 6e 74 29    29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | setq.beg.(point))............... | 
| 2ac80 |  20 20 28 69 6e 73 65 72 74 20 63 6f 6e 74 65 6e    74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  | ..(insert.content).............. | 
| 2aca0 |  20 20 20 28 73 65 74 71 20 65 6e 64 20 28 70 6f    69 6e 74 29 29 0a 20 20 20 20 20 20 20 20 20 20  | ...(setq.end.(point))........... | 
| 2acc0 |  20 20 20 20 20 20 28 70 75 74 2d 74 65 78 74 2d    70 72 6f 70 65 72 74 79 20 62 65 67 20 65 6e 64  | ......(put-text-property.beg.end | 
| 2ace0 |  20 27 63 61 6c 69 62 72 65 64 62 2d 65 6e 74 72    79 20 6c 69 73 74 29 29 29 29 29 0a 20 20 20 20  | .'calibredb-entry.list)))))..... | 
| 2ad00 |  20 20 20 20 28 73 65 74 71 20 63 61 6c 69 62 72    65 64 62 2d 64 65 74 61 69 6c 65 64 2d 76 69 65  | ....(setq.calibredb-detailed-vie | 
| 2ad20 |  77 20 73 74 61 74 75 73 29 29 29 29 29 29 0a 0a    28 64 65 66 75 6e 20 63 61 6c 69 62 72 65 64 62  | w.status))))))..(defun.calibredb | 
| 2ad40 |  2d 66 6f 6e 74 69 66 79 20 28 73 74 72 69 6e 67    20 6d 6f 64 65 29 0a 20 20 22 46 6f 6e 74 69 66  | -fontify.(string.mode)..."Fontif | 
| 2ad60 |  79 20 53 54 52 49 4e 47 20 77 69 74 68 20 4d 61    6a 6f 72 20 4d 4f 44 45 2e 22 0a 20 20 28 77 69  | y.STRING.with.Major.MODE."...(wi | 
| 2ad80 |  74 68 2d 74 65 6d 70 2d 62 75 66 66 65 72 0a 20    20 20 20 28 69 6e 73 65 72 74 20 73 74 72 69 6e  | th-temp-buffer.....(insert.strin | 
| 2ada0 |  67 29 0a 20 20 20 20 28 64 65 6c 61 79 2d 6d 6f    64 65 2d 68 6f 6f 6b 73 20 28 66 75 6e 63 61 6c  | g).....(delay-mode-hooks.(funcal | 
| 2adc0 |  6c 20 6d 6f 64 65 29 29 0a 20 20 20 20 28 69 66    20 28 66 62 6f 75 6e 64 70 20 27 66 6f 6e 74 2d  | l.mode)).....(if.(fboundp.'font- | 
| 2ade0 |  6c 6f 63 6b 2d 65 6e 73 75 72 65 29 0a 20 20 20    20 20 20 20 20 28 66 6f 6e 74 2d 6c 6f 63 6b 2d  | lock-ensure).........(font-lock- | 
| 2ae00 |  65 6e 73 75 72 65 29 0a 20 20 20 20 20 20 28 77    69 74 68 2d 6e 6f 2d 77 61 72 6e 69 6e 67 73 0a  | ensure).......(with-no-warnings. | 
| 2ae20 |  20 20 20 20 20 20 20 20 28 66 6f 6e 74 2d 6c 6f    63 6b 2d 66 6f 6e 74 69 66 79 2d 62 75 66 66 65  | ........(font-lock-fontify-buffe | 
| 2ae40 |  72 29 29 29 0a 20 20 20 20 28 62 75 66 66 65 72    2d 73 74 72 69 6e 67 29 29 29 0a 0a 28 64 65 66  | r))).....(buffer-string)))..(def | 
| 2ae60 |  75 6e 20 63 61 6c 69 62 72 65 64 62 2d 63 6f 70    79 2d 61 73 2d 6f 72 67 2d 6c 69 6e 6b 20 28 29  | un.calibredb-copy-as-org-link.() | 
| 2ae80 |  0a 20 20 22 43 6f 70 79 20 74 68 65 20 6d 61 72    6b 65 64 20 69 74 65 6d 73 20 61 73 20 6f 72 67  | ..."Copy.the.marked.items.as.org | 
| 2aea0 |  20 6c 69 6e 6b 73 2e 22 0a 20 20 28 69 6e 74 65    72 61 63 74 69 76 65 29 0a 20 20 28 6c 65 74 20  | .links."...(interactive)...(let. | 
| 2aec0 |  28 28 63 61 6e 64 69 64 61 74 65 73 20 28 63 61    6c 69 62 72 65 64 62 2d 66 69 6e 64 2d 6d 61 72  | ((candidates.(calibredb-find-mar | 
| 2aee0 |  6b 65 64 2d 63 61 6e 64 69 64 61 74 65 73 29 29    29 0a 20 20 20 20 28 75 6e 6c 65 73 73 20 63 61  | ked-candidates))).....(unless.ca | 
| 2af00 |  6e 64 69 64 61 74 65 73 0a 20 20 20 20 20 20 28    73 65 74 71 20 63 61 6e 64 69 64 61 74 65 73 20  | ndidates.......(setq.candidates. | 
| 2af20 |  28 63 61 6c 69 62 72 65 64 62 2d 66 69 6e 64 2d    63 61 6e 64 69 64 61 74 65 2d 61 74 2d 70 6f 69  | (calibredb-find-candidate-at-poi | 
| 2af40 |  6e 74 29 29 29 0a 20 20 20 20 28 6b 69 6c 6c 2d    6e 65 77 0a 20 20 20 20 20 28 77 69 74 68 2d 74  | nt))).....(kill-new......(with-t | 
| 2af60 |  65 6d 70 2d 62 75 66 66 65 72 0a 20 20 20 20 20    20 20 28 64 6f 6c 69 73 74 20 28 63 61 6e 64 20  | emp-buffer........(dolist.(cand. | 
| 2af80 |  63 61 6e 64 69 64 61 74 65 73 29 0a 20 20 20 20    20 20 20 20 20 28 6c 65 74 2a 20 28 28 69 64 20  | candidates)..........(let*.((id. | 
| 2afa0 |  28 63 61 6c 69 62 72 65 64 62 2d 67 65 74 61 74    74 72 20 63 61 6e 64 20 3a 69 64 29 29 0a 20 20  | (calibredb-getattr.cand.:id))... | 
| 2afc0 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70    61 74 68 20 28 63 61 6c 69 62 72 65 64 62 2d 67  | ..............(path.(calibredb-g | 
| 2afe0 |  65 74 2d 66 69 6c 65 2d 70 61 74 68 20 63 61 6e    64 20 74 29 29 0a 20 20 20 20 20 20 20 20 20 20  | et-file-path.cand.t))........... | 
| 2b000 |  20 20 20 20 20 20 28 74 69 74 6c 65 20 28 63 61    6c 69 62 72 65 64 62 2d 67 65 74 61 74 74 72 20  | ......(title.(calibredb-getattr. | 
| 2b020 |  63 61 6e 64 20 3a 62 6f 6f 6b 2d 74 69 74 6c 65    29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  | cand.:book-title)).............. | 
| 2b040 |  20 20 20 28 6c 69 6e 6b 20 28 66 6f 72 6d 61 74    20 22 5b 5b 66 69 6c 65 3a 25 73 5d 5b 25 73 20  | ...(link.(format."[[file:%s][%s. | 
| 2b060 |  25 73 20 2d 20 25 73 5d 5d 5c 6e 22 0a 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | %s.-.%s]]\n".................... | 
| 2b080 |  20 20 20 20 20 20 20 20 20 20 20 70 61 74 68 0a    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | ...........path................. | 
| 2b0a0 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63    6f 6e 64 20 28 63 61 6c 69 62 72 65 64 62 2d 66  | ..............(cond.(calibredb-f | 
| 2b0c0 |  6f 72 6d 61 74 2d 61 6c 6c 2d 74 68 65 2d 69 63    6f 6e 73 0a 20 20 20 20 20 20 20 20 20 20 20 20  | ormat-all-the-icons............. | 
| 2b0e0 |  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 69 66 20 28 66 62  | .........................(if.(fb | 
| 2b100 |  6f 75 6e 64 70 20 27 6e 65 72 64 2d 69 63 6f 6e    73 2d 69 63 6f 6e 2d 66 6f 72 2d 66 69 6c 65 29  | oundp.'nerd-icons-icon-for-file) | 
| 2b120 |  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 20 20 20 20  | ................................ | 
| 2b140 |  20 20 20 20 20 20 20 20 20 20 28 6e 65 72 64 2d    69 63 6f 6e 73 2d 69 63 6f 6e 2d 66 6f 72 2d 66  | ..........(nerd-icons-icon-for-f | 
| 2b160 |  69 6c 65 20 70 61 74 68 29 20 22 22 29 29 0a 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | ile.path)."")).................. | 
| 2b180 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 28 63 61 6c 69 62 72 65 64 62 2d 66 6f  | ...................(calibredb-fo | 
| 2b1a0 |  72 6d 61 74 2d 61 6c 6c 2d 74 68 65 2d 69 63 6f    6e 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  | rmat-all-the-icons.............. | 
| 2b1c0 |  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 69 66 20 28 66 62 6f  | ........................(if.(fbo | 
| 2b1e0 |  75 6e 64 70 20 27 61 6c 6c 2d 74 68 65 2d 69 63    6f 6e 73 2d 69 63 6f 6e 2d 66 6f 72 2d 66 69 6c  | undp.'all-the-icons-icon-for-fil | 
| 2b200 |  65 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 20 20  | e).............................. | 
| 2b220 |  20 20 20 20 20 20 20 20 20 20 20 20 28 61 6c 6c    2d 74 68 65 2d 69 63 6f 6e 73 2d 69 63 6f 6e 2d  | ............(all-the-icons-icon- | 
| 2b240 |  66 6f 72 2d 66 69 6c 65 20 70 61 74 68 29 20 22    22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20  | for-file.path).""))............. | 
| 2b260 |  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 61 6c 69 62 72 65  | ........................(calibre | 
| 2b280 |  64 62 2d 66 6f 72 6d 61 74 2d 69 63 6f 6e 73 2d    69 6e 2d 74 65 72 6d 69 6e 61 6c 0a 20 20 20 20  | db-format-icons-in-terminal..... | 
| 2b2a0 |  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  | ................................ | 
| 2b2c0 |  20 28 69 66 20 28 66 62 6f 75 6e 64 70 20 27 69    63 6f 6e 73 2d 69 6e 2d 74 65 72 6d 69 6e 61 6c  | .(if.(fboundp.'icons-in-terminal | 
| 2b2e0 |  2d 69 63 6f 6e 2d 66 6f 72 2d 66 69 6c 65 29 0a    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | -icon-for-file)................. | 
| 2b300 |  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 69 63 6f 6e 73 2d  | .........................(icons- | 
| 2b320 |  69 6e 2d 74 65 72 6d 69 6e 61 6c 2d 69 63 6f 6e    2d 66 6f 72 2d 66 69 6c 65 20 70 61 74 68 20 3a  | in-terminal-icon-for-file.path.: | 
| 2b340 |  76 2d 61 64 6a 75 73 74 20 30 20 3a 68 65 69 67    68 74 20 31 29 20 22 22 29 29 0a 20 20 20 20 20  | v-adjust.0.:height.1).""))...... | 
| 2b360 |  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 28  | ...............................( | 
| 2b380 |  74 20 22 22 29 29 20 69 64 20 74 69 74 6c 65 29    29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 69  | t."")).id.title)))............(i | 
| 2b3a0 |  6e 73 65 72 74 20 6c 69 6e 6b 29 0a 20 20 20 20    20 20 20 20 20 20 20 28 6d 65 73 73 61 67 65 20  | nsert.link)............(message. | 
| 2b3c0 |  22 43 6f 70 69 65 64 20 28 6f 72 67 20 66 69 6c    65 20 6c 69 6e 6b 29 3a 20 25 73 22 20 6c 69 6e  | "Copied.(org.file.link):.%s".lin | 
| 2b3e0 |  6b 29 29 29 0a 20 20 20 20 20 20 20 28 62 75 66    66 65 72 2d 73 74 72 69 6e 67 29 29 29 0a 20 20  | k)))........(buffer-string)))... | 
| 2b400 |  20 20 3b 3b 20 72 65 6d 6f 76 65 20 6f 76 65 72    6c 61 79 73 20 61 6e 64 20 74 65 78 74 20 70 72  | ..;;.remove.overlays.and.text.pr | 
| 2b420 |  6f 70 65 72 74 69 65 73 0a 20 20 20 20 28 6c 65    74 2a 20 28 28 62 65 67 20 28 70 6f 69 6e 74 2d  | operties.....(let*.((beg.(point- | 
| 2b440 |  6d 69 6e 29 29 0a 20 20 20 20 20 20 20 20 20 20    20 28 65 6e 64 20 28 70 6f 69 6e 74 2d 6d 61 78  | min))............(end.(point-max | 
| 2b460 |  29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 69    6e 68 69 62 69 74 2d 72 65 61 64 2d 6f 6e 6c 79  | ))............(inhibit-read-only | 
| 2b480 |  20 74 29 29 0a 20 20 20 20 20 20 28 72 65 6d 6f    76 65 2d 6f 76 65 72 6c 61 79 73 20 62 65 67 20  | .t)).......(remove-overlays.beg. | 
| 2b4a0 |  65 6e 64 29 0a 20 20 20 20 20 20 28 72 65 6d 6f    76 65 2d 74 65 78 74 2d 70 72 6f 70 65 72 74 69  | end).......(remove-text-properti | 
| 2b4c0 |  65 73 20 62 65 67 20 65 6e 64 20 27 28 63 61 6c    69 62 72 65 64 62 2d 6d 61 72 6b 20 6e 69 6c 29  | es.beg.end.'(calibredb-mark.nil) | 
| 2b4e0 |  29 29 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20    63 61 6c 69 62 72 65 64 62 2d 73 6f 72 74 2d 62  | ))))..(defmacro.calibredb-sort-b | 
| 2b500 |  79 20 28 66 69 65 6c 64 29 0a 20 20 22 4d 61 63    72 6f 20 6f 66 20 66 75 6e 63 74 69 6f 6e 73 20  | y.(field)..."Macro.of.functions. | 
| 2b520 |  63 61 6c 69 62 72 65 64 62 2d 73 6f 72 74 2d 62    79 2d 2a 2e 0a 41 72 67 75 6d 65 6e 74 20 46 49  | calibredb-sort-by-*..Argument.FI | 
| 2b540 |  45 4c 44 2e 22 0a 20 20 60 28 64 65 66 75 6e 20    2c 28 69 6e 74 65 72 6e 20 28 66 6f 72 6d 61 74  | ELD."...`(defun.,(intern.(format | 
| 2b560 |  20 22 63 61 6c 69 62 72 65 64 62 2d 73 6f 72 74    2d 62 79 2d 25 73 22 20 66 69 65 6c 64 29 29 20  | ."calibredb-sort-by-%s".field)). | 
| 2b580 |  28 29 0a 20 20 20 20 20 28 69 6e 74 65 72 61 63    74 69 76 65 29 0a 20 20 20 20 20 2c 28 66 6f 72  | ()......(interactive)......,(for | 
| 2b5a0 |  6d 61 74 20 22 53 6f 72 74 20 62 79 20 25 73 2c    20 72 65 66 72 65 73 68 20 2a 63 61 6c 69 62 72  | mat."Sort.by.%s,.refresh.*calibr | 
| 2b5c0 |  65 64 62 2d 73 65 61 72 63 68 2a 2c 20 61 6e 64    20 63 6c 65 61 72 20 66 69 6c 74 65 72 2e 22 20  | edb-search*,.and.clear.filter.". | 
| 2b5e0 |  66 69 65 6c 64 29 0a 20 20 20 20 20 28 73 65 74    71 20 63 61 6c 69 62 72 65 64 62 2d 73 6f 72 74  | field)......(setq.calibredb-sort | 
| 2b600 |  2d 62 79 20 28 71 75 6f 74 65 20 2c 28 69 6e 74    65 72 6e 20 66 69 65 6c 64 29 29 29 0a 20 20 20  | -by.(quote.,(intern.field))).... | 
| 2b620 |  20 20 28 63 61 6c 69 62 72 65 64 62 2d 73 65 61    72 63 68 2d 72 65 66 72 65 73 68 2d 61 6e 64 2d  | ..(calibredb-search-refresh-and- | 
| 2b640 |  63 6c 65 61 72 2d 66 69 6c 74 65 72 29 29 29 0a    0a 28 63 61 6c 69 62 72 65 64 62 2d 73 6f 72 74  | clear-filter)))..(calibredb-sort | 
| 2b660 |  2d 62 79 20 22 69 64 22 29 0a 28 63 61 6c 69 62    72 65 64 62 2d 73 6f 72 74 2d 62 79 20 22 74 69  | -by."id").(calibredb-sort-by."ti | 
| 2b680 |  74 6c 65 22 29 0a 28 63 61 6c 69 62 72 65 64 62    2d 73 6f 72 74 2d 62 79 20 22 66 6f 72 6d 61 74  | tle").(calibredb-sort-by."format | 
| 2b6a0 |  22 29 0a 28 63 61 6c 69 62 72 65 64 62 2d 73 6f    72 74 2d 62 79 20 22 61 75 74 68 6f 72 22 29 0a  | ").(calibredb-sort-by."author"). | 
| 2b6c0 |  28 63 61 6c 69 62 72 65 64 62 2d 73 6f 72 74 2d    62 79 20 22 64 61 74 65 22 29 0a 28 63 61 6c 69  | (calibredb-sort-by."date").(cali | 
| 2b6e0 |  62 72 65 64 62 2d 73 6f 72 74 2d 62 79 20 22 70    75 62 64 61 74 65 22 29 0a 28 63 61 6c 69 62 72  | bredb-sort-by."pubdate").(calibr | 
| 2b700 |  65 64 62 2d 73 6f 72 74 2d 62 79 20 22 74 61 67    22 29 0a 28 63 61 6c 69 62 72 65 64 62 2d 73 6f  | edb-sort-by."tag").(calibredb-so | 
| 2b720 |  72 74 2d 62 79 20 22 73 69 7a 65 22 29 0a 28 63    61 6c 69 62 72 65 64 62 2d 73 6f 72 74 2d 62 79  | rt-by."size").(calibredb-sort-by | 
| 2b740 |  20 22 6c 61 6e 67 75 61 67 65 22 29 0a 0a 28 64    65 66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d 74  | ."language")..(defun.calibredb-t | 
| 2b760 |  6f 67 67 6c 65 2d 6f 72 64 65 72 20 28 29 0a 20    20 22 54 6f 67 67 6c 65 20 74 68 65 20 6f 72 64  | oggle-order.()..."Toggle.the.ord | 
| 2b780 |  65 72 20 62 65 74 77 65 65 6e 20 64 65 73 63 65    6e 64 69 6e 67 20 6f 72 20 61 73 63 65 6e 64 69  | er.between.descending.or.ascendi | 
| 2b7a0 |  6e 67 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74    69 76 65 29 0a 20 20 28 69 66 20 28 65 71 20 63  | ng."...(interactive)...(if.(eq.c | 
| 2b7c0 |  61 6c 69 62 72 65 64 62 2d 6f 72 64 65 72 20 27    64 65 73 63 29 0a 20 20 20 20 20 20 28 73 65 74  | alibredb-order.'desc).......(set | 
| 2b7e0 |  71 20 63 61 6c 69 62 72 65 64 62 2d 6f 72 64 65    72 20 27 61 73 63 29 0a 20 20 20 20 28 73 65 74  | q.calibredb-order.'asc).....(set | 
| 2b800 |  71 20 63 61 6c 69 62 72 65 64 62 2d 6f 72 64 65    72 20 27 64 65 73 63 29 29 0a 20 20 28 63 61 6c  | q.calibredb-order.'desc))...(cal | 
| 2b820 |  69 62 72 65 64 62 2d 73 65 61 72 63 68 2d 72 65    66 72 65 73 68 2d 61 6e 64 2d 63 6c 65 61 72 2d  | ibredb-search-refresh-and-clear- | 
| 2b840 |  66 69 6c 74 65 72 29 29 0a 0a 0a 28 70 72 6f 76    69 64 65 20 27 63 61 6c 69 62 72 65 64 62 2d 73  | filter))...(provide.'calibredb-s | 
| 2b860 |  65 61 72 63 68 29 0a 0a 3b 3b 3b 20 63 61 6c 69    62 72 65 64 62 2d 73 65 61 72 63 68 2e 65 6c 20  | earch)..;;;.calibredb-search.el. | 
| 2b880 |  65 6e 64 73 20 68 65 72 65 0a 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ends.here....................... | 
| 2b8a0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 2b8c0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 2b8e0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 2b900 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 2b920 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 2b940 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 2b960 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 2b980 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 2b9a0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 2b9c0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 2b9e0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 2ba00 |  63 61 6c 69 62 72 65 64 62 2d 32 30 32 35 30 37    30 35 2e 32 32 35 2f 63 61 6c 69 62 72 65 64 62  | calibredb-20250705.225/calibredb | 
| 2ba20 |  2d 73 68 6f 77 2e 65 6c 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | -show.el........................ | 
| 2ba40 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 2ba60 |  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 | 
| 2ba80 |  30 30 31 31 34 35 35 00 30 30 30 30 30 30 30 30    30 30 30 00 30 31 36 30 35 32 00 20 30 00 00 00  | 0011455.00000000000.016052..0... | 
| 2baa0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 2bac0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 2bae0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 2bb00 |  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................... | 
| 2bb20 |  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................... | 
| 2bb40 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 2bb60 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 2bb80 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 2bba0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 2bbc0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 2bbe0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 2bc00 |  3b 3b 3b 20 63 61 6c 69 62 72 65 64 62 2d 73 68    6f 77 2e 65 6c 20 2d 2d 2d 20 42 6f 6f 6b 20 64  | ;;;.calibredb-show.el.---.Book.d | 
| 2bc20 |  65 74 61 69 6c 20 62 75 66 66 65 72 20 66 6f 72    20 63 61 6c 69 62 72 65 64 62 20 2d 2a 2d 20 6c  | etail.buffer.for.calibredb.-*-.l | 
| 2bc40 |  65 78 69 63 61 6c 2d 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  | exical-binding:.t;.-*-..;;.Copyr | 
| 2bc60 |  69 67 68 74 20 28 43 29 20 32 30 32 30 20 44 61    6d 6f 6e 20 43 68 61 6e 0a 0a 3b 3b 20 41 75 74  | ight.(C).2020.Damon.Chan..;;.Aut | 
| 2bc80 |  68 6f 72 3a 20 44 61 6d 6f 6e 20 43 68 61 6e 20    3c 65 6c 65 63 6d 69 6e 67 40 67 6d 61 69 6c 2e  | hor:.Damon.Chan.<elecming@gmail. | 
| 2bca0 |  63 6f 6d 3e 0a 3b 3b 20 55 52 4c 3a 20 68 74 74    70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f  | com>.;;.URL:.https://github.com/ | 
| 2bcc0 |  63 68 65 6e 79 61 6e 6d 69 6e 67 2f 63 61 6c 69    62 72 65 64 62 2e 65 6c 0a 3b 3b 20 4b 65 79 77  | chenyanming/calibredb.el.;;.Keyw | 
| 2bce0 |  6f 72 64 73 3a 20 74 6f 6f 6c 73 0a 0a 3b 3b 20    54 68 69 73 20 66 69 6c 65 20 69 73 20 4e 4f 54  | ords:.tools..;;.This.file.is.NOT | 
| 2bd00 |  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 70 72 6f  | .part.of.GNU.Emacs...;;.This.pro | 
| 2bd20 |  67 72 61 6d 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  | gram.is.free.software;.you.can.r | 
| 2bd40 |  65 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  | edistribute.it.and/or.modify.;;. | 
| 2bd60 |  69 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  | it.under.the.terms.of.the.GNU.Ge | 
| 2bd80 |  6e 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  | neral.Public.License.as.publishe | 
| 2bda0 |  64 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  | d.by.;;.the.Free.Software.Founda | 
| 2bdc0 |  74 69 6f 6e 2c 20 65 69 74 68 65 72 20 76 65 72    73 69 6f 6e 20 33 20 6f 66 20 74 68 65 20 4c 69  | tion,.either.version.3.of.the.Li | 
| 2bde0 |  63 65 6e 73 65 2c 20 6f 72 0a 3b 3b 20 28 61 74    20 79 6f 75 72 20 6f 70 74 69 6f 6e 29 20 61 6e  | cense,.or.;;.(at.your.option).an | 
| 2be00 |  79 20 6c 61 74 65 72 20 76 65 72 73 69 6f 6e 2e    0a 0a 3b 3b 20 54 68 69 73 20 70 72 6f 67 72 61  | y.later.version...;;.This.progra | 
| 2be20 |  6d 20 69 73 20 64 69 73 74 72 69 62 75 74 65 64    20 69 6e 20 74 68 65 20 68 6f 70 65 20 74 68 61  | m.is.distributed.in.the.hope.tha | 
| 2be40 |  74 20 69 74 20 77 69 6c 6c 20 62 65 20 75 73 65    66 75 6c 2c 0a 3b 3b 20 62 75 74 20 57 49 54 48  | t.it.will.be.useful,.;;.but.WITH | 
| 2be60 |  4f 55 54 20 41 4e 59 20 57 41 52 52 41 4e 54 59    3b 20 77 69 74 68 6f 75 74 20 65 76 65 6e 20 74  | OUT.ANY.WARRANTY;.without.even.t | 
| 2be80 |  68 65 20 69 6d 70 6c 69 65 64 20 77 61 72 72 61    6e 74 79 20 6f 66 0a 3b 3b 20 4d 45 52 43 48 41  | he.implied.warranty.of.;;.MERCHA | 
| 2bea0 |  4e 54 41 42 49 4c 49 54 59 20 6f 72 20 46 49 54    4e 45 53 53 20 46 4f 52 20 41 20 50 41 52 54 49  | NTABILITY.or.FITNESS.FOR.A.PARTI | 
| 2bec0 |  43 55 4c 41 52 20 50 55 52 50 4f 53 45 2e 20 20    53 65 65 20 74 68 65 0a 3b 3b 20 47 4e 55 20 47  | CULAR.PURPOSE...See.the.;;.GNU.G | 
| 2bee0 |  65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69    63 65 6e 73 65 20 66 6f 72 20 6d 6f 72 65 20 64  | eneral.Public.License.for.more.d | 
| 2bf00 |  65 74 61 69 6c 73 2e 0a 0a 3b 3b 20 59 6f 75 20    73 68 6f 75 6c 64 20 68 61 76 65 20 72 65 63 65  | etails...;;.You.should.have.rece | 
| 2bf20 |  69 76 65 64 20 61 20 63 6f 70 79 20 6f 66 20 74    68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50  | ived.a.copy.of.the.GNU.General.P | 
| 2bf40 |  75 62 6c 69 63 20 4c 69 63 65 6e 73 65 0a 3b 3b    20 61 6c 6f 6e 67 20 77 69 74 68 20 74 68 69 73  | ublic.License.;;.along.with.this | 
| 2bf60 |  20 70 72 6f 67 72 61 6d 2e 20 20 49 66 20 6e 6f    74 2c 20 73 65 65 20 3c 68 74 74 70 73 3a 2f 2f  | .program...If.not,.see.<https:// | 
| 2bf80 |  77 77 77 2e 67 6e 75 2e 6f 72 67 2f 6c 69 63 65    6e 73 65 73 2f 3e 2e 0a 0a 3b 3b 3b 20 43 6f 6d  | www.gnu.org/licenses/>...;;;.Com | 
| 2bfa0 |  6d 65 6e 74 61 72 79 3a 0a 0a 3b 3b 3b 20 43 6f    64 65 3a 0a 0a 28 72 65 71 75 69 72 65 20 27 63  | mentary:..;;;.Code:..(require.'c | 
| 2bfc0 |  61 6c 69 62 72 65 64 62 2d 63 6f 72 65 29 0a 0a    28 64 65 63 6c 61 72 65 2d 66 75 6e 63 74 69 6f  | alibredb-core)..(declare-functio | 
| 2bfe0 |  6e 20 63 61 6c 69 62 72 65 64 62 2d 65 6e 74 72    79 2d 64 69 73 70 61 74 63 68 20 22 63 61 6c 69  | n.calibredb-entry-dispatch."cali | 
| 2c000 |  62 72 65 64 62 2d 74 72 61 6e 73 69 65 6e 74 2e    65 6c 22 29 0a 28 64 65 63 6c 61 72 65 2d 66 75  | bredb-transient.el").(declare-fu | 
| 2c020 |  6e 63 74 69 6f 6e 20 63 61 6c 69 62 72 65 64 62    2d 66 69 6e 64 2d 66 69 6c 65 20 22 63 61 6c 69  | nction.calibredb-find-file."cali | 
| 2c040 |  62 72 65 64 62 2d 75 74 69 6c 73 2e 65 6c 22 29    0a 28 64 65 63 6c 61 72 65 2d 66 75 6e 63 74 69  | bredb-utils.el").(declare-functi | 
| 2c060 |  6f 6e 20 63 61 6c 69 62 72 65 64 62 2d 66 69 6e    64 2d 66 69 6c 65 2d 6f 74 68 65 72 2d 66 72 61  | on.calibredb-find-file-other-fra | 
| 2c080 |  6d 65 20 22 63 61 6c 69 62 72 65 64 62 2d 75 74    69 6c 73 2e 65 6c 22 29 0a 28 64 65 63 6c 61 72  | me."calibredb-utils.el").(declar | 
| 2c0a0 |  65 2d 66 75 6e 63 74 69 6f 6e 20 63 61 6c 69 62    72 65 64 62 2d 6f 70 65 6e 2d 66 69 6c 65 2d 77  | e-function.calibredb-open-file-w | 
| 2c0c0 |  69 74 68 2d 64 65 66 61 75 6c 74 2d 74 6f 6f 6c    20 22 63 61 6c 69 62 72 65 64 62 2d 75 74 69 6c  | ith-default-tool."calibredb-util | 
| 2c0e0 |  73 2e 65 6c 22 29 0a 28 64 65 63 6c 61 72 65 2d    66 75 6e 63 74 69 6f 6e 20 63 61 6c 69 62 72 65  | s.el").(declare-function.calibre | 
| 2c100 |  64 62 2d 73 65 74 2d 6d 65 74 61 64 61 74 61 2d    64 69 73 70 61 74 63 68 20 22 63 61 6c 69 62 72  | db-set-metadata-dispatch."calibr | 
| 2c120 |  65 64 62 2d 74 72 61 6e 73 69 65 6e 74 2e 65 6c    22 29 0a 28 64 65 63 6c 61 72 65 2d 66 75 6e 63  | edb-transient.el").(declare-func | 
| 2c140 |  74 69 6f 6e 20 63 61 6c 69 62 72 65 64 62 2d 65    78 70 6f 72 74 2d 64 69 73 70 61 74 63 68 20 22  | tion.calibredb-export-dispatch." | 
| 2c160 |  63 61 6c 69 62 72 65 64 62 2d 74 72 61 6e 73 69    65 6e 74 2e 65 6c 22 29 0a 28 64 65 63 6c 61 72  | calibredb-transient.el").(declar | 
| 2c180 |  65 2d 66 75 6e 63 74 69 6f 6e 20 63 61 6c 69 62    72 65 64 62 2d 6f 70 65 6e 2d 64 69 72 65 64 20  | e-function.calibredb-open-dired. | 
| 2c1a0 |  22 63 61 6c 69 62 72 65 64 62 2d 75 74 69 6c 73    2e 65 6c 22 29 0a 28 64 65 63 6c 61 72 65 2d 66  | "calibredb-utils.el").(declare-f | 
| 2c1c0 |  75 6e 63 74 69 6f 6e 20 63 61 6c 69 62 72 65 64    62 2d 73 65 74 2d 6d 65 74 61 64 61 74 61 2d 2d  | unction.calibredb-set-metadata-- | 
| 2c1e0 |  74 61 67 73 20 22 63 61 6c 69 62 72 65 64 62 2d    75 74 69 6c 73 2e 65 6c 22 29 0a 28 64 65 63 6c  | tags."calibredb-utils.el").(decl | 
| 2c200 |  61 72 65 2d 66 75 6e 63 74 69 6f 6e 20 63 61 6c    69 62 72 65 64 62 2d 73 65 74 2d 6d 65 74 61 64  | are-function.calibredb-set-metad | 
| 2c220 |  61 74 61 2d 2d 61 75 74 68 6f 72 5f 73 6f 72 74    20 22 63 61 6c 69 62 72 65 64 62 2d 75 74 69 6c  | ata--author_sort."calibredb-util | 
| 2c240 |  73 2e 65 6c 22 29 0a 28 64 65 63 6c 61 72 65 2d    66 75 6e 63 74 69 6f 6e 20 63 61 6c 69 62 72 65  | s.el").(declare-function.calibre | 
| 2c260 |  64 62 2d 73 65 74 2d 6d 65 74 61 64 61 74 61 2d    2d 61 75 74 68 6f 72 73 20 22 63 61 6c 69 62 72  | db-set-metadata--authors."calibr | 
| 2c280 |  65 64 62 2d 75 74 69 6c 73 2e 65 6c 22 29 0a 28    64 65 63 6c 61 72 65 2d 66 75 6e 63 74 69 6f 6e  | edb-utils.el").(declare-function | 
| 2c2a0 |  20 63 61 6c 69 62 72 65 64 62 2d 73 65 74 2d 6d    65 74 61 64 61 74 61 2d 2d 74 69 74 6c 65 20 22  | .calibredb-set-metadata--title." | 
| 2c2c0 |  63 61 6c 69 62 72 65 64 62 2d 75 74 69 6c 73 2e    65 6c 22 29 0a 28 64 65 63 6c 61 72 65 2d 66 75  | calibredb-utils.el").(declare-fu | 
| 2c2e0 |  6e 63 74 69 6f 6e 20 63 61 6c 69 62 72 65 64 62    2d 73 65 74 2d 6d 65 74 61 64 61 74 61 2d 2d 63  | nction.calibredb-set-metadata--c | 
| 2c300 |  6f 6d 6d 65 6e 74 73 20 22 63 61 6c 69 62 72 65    64 62 2d 75 74 69 6c 73 2e 65 6c 22 29 0a 28 64  | omments."calibredb-utils.el").(d | 
| 2c320 |  65 63 6c 61 72 65 2d 66 75 6e 63 74 69 6f 6e 20    63 61 6c 69 62 72 65 64 62 2d 73 68 6f 77 2d 65  | eclare-function.calibredb-show-e | 
| 2c340 |  6e 74 72 79 20 22 63 61 6c 69 62 72 65 64 62 2d    73 65 61 72 63 68 2e 65 6c 22 29 0a 28 64 65 63  | ntry."calibredb-search.el").(dec | 
| 2c360 |  6c 61 72 65 2d 66 75 6e 63 74 69 6f 6e 20 63 61    6c 69 62 72 65 64 62 2d 72 67 61 20 22 63 61 6c  | lare-function.calibredb-rga."cal | 
| 2c380 |  69 62 72 65 64 62 2d 69 76 79 2e 65 6c 22 29 0a    0a 28 64 65 66 76 61 72 20 63 61 6c 69 62 72 65  | ibredb-ivy.el")..(defvar.calibre | 
| 2c3a0 |  64 62 2d 73 68 6f 77 2d 65 6e 74 72 79 20 6e 69    6c 0a 20 20 22 54 68 65 20 65 6e 74 72 79 20 62  | db-show-entry.nil..."The.entry.b | 
| 2c3c0 |  65 69 6e 67 20 64 69 73 70 6c 61 79 65 64 20 69    6e 20 74 68 69 73 20 62 75 66 66 65 72 2e 22 29  | eing.displayed.in.this.buffer.") | 
| 2c3e0 |  0a 0a 28 64 65 66 76 61 72 20 63 61 6c 69 62 72    65 64 62 2d 73 68 6f 77 2d 6d 6f 64 65 2d 6d 61  | ..(defvar.calibredb-show-mode-ma | 
| 2c400 |  70 0a 20 20 28 6c 65 74 20 28 28 6d 61 70 20 28    6d 61 6b 65 2d 73 70 61 72 73 65 2d 6b 65 79 6d  | p...(let.((map.(make-sparse-keym | 
| 2c420 |  61 70 29 29 29 0a 20 20 20 20 28 64 65 66 69 6e    65 2d 6b 65 79 20 6d 61 70 20 22 3f 22 20 23 27  | ap))).....(define-key.map."?".#' | 
| 2c440 |  63 61 6c 69 62 72 65 64 62 2d 65 6e 74 72 79 2d    64 69 73 70 61 74 63 68 29 0a 20 20 20 20 28 64  | calibredb-entry-dispatch).....(d | 
| 2c460 |  65 66 69 6e 65 2d 6b 65 79 20 6d 61 70 20 22 6f    22 20 23 27 63 61 6c 69 62 72 65 64 62 2d 66 69  | efine-key.map."o".#'calibredb-fi | 
| 2c480 |  6e 64 2d 66 69 6c 65 29 0a 20 20 20 20 28 64 65    66 69 6e 65 2d 6b 65 79 20 6d 61 70 20 22 4f 22  | nd-file).....(define-key.map."O" | 
| 2c4a0 |  20 23 27 63 61 6c 69 62 72 65 64 62 2d 66 69 6e    64 2d 66 69 6c 65 2d 6f 74 68 65 72 2d 66 72 61  | .#'calibredb-find-file-other-fra | 
| 2c4c0 |  6d 65 29 0a 20 20 20 20 28 64 65 66 69 6e 65 2d    6b 65 79 20 6d 61 70 20 22 56 22 20 23 27 63 61  | me).....(define-key.map."V".#'ca | 
| 2c4e0 |  6c 69 62 72 65 64 62 2d 6f 70 65 6e 2d 66 69 6c    65 2d 77 69 74 68 2d 64 65 66 61 75 6c 74 2d 74  | libredb-open-file-with-default-t | 
| 2c500 |  6f 6f 6c 29 0a 20 20 20 20 28 64 65 66 69 6e 65    2d 6b 65 79 20 6d 61 70 20 22 73 22 20 23 27 63  | ool).....(define-key.map."s".#'c | 
| 2c520 |  61 6c 69 62 72 65 64 62 2d 73 65 74 2d 6d 65 74    61 64 61 74 61 2d 64 69 73 70 61 74 63 68 29 0a  | alibredb-set-metadata-dispatch). | 
| 2c540 |  20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20    6d 61 70 20 22 65 22 20 23 27 63 61 6c 69 62 72  | ....(define-key.map."e".#'calibr | 
| 2c560 |  65 64 62 2d 65 78 70 6f 72 74 2d 64 69 73 70 61    74 63 68 29 0a 20 20 20 20 28 64 65 66 69 6e 65  | edb-export-dispatch).....(define | 
| 2c580 |  2d 6b 65 79 20 6d 61 70 20 22 71 22 20 23 27 63    61 6c 69 62 72 65 64 62 2d 65 6e 74 72 79 2d 71  | -key.map."q".#'calibredb-entry-q | 
| 2c5a0 |  75 69 74 29 0a 20 20 20 20 28 64 65 66 69 6e 65    2d 6b 65 79 20 6d 61 70 20 22 79 22 20 23 27 63  | uit).....(define-key.map."y".#'c | 
| 2c5c0 |  61 6c 69 62 72 65 64 62 2d 79 61 6e 6b 2d 64 69    73 70 61 74 63 68 29 0a 20 20 20 20 28 64 65 66  | alibredb-yank-dispatch).....(def | 
| 2c5e0 |  69 6e 65 2d 6b 65 79 20 6d 61 70 20 22 2c 22 20    23 27 63 61 6c 69 62 72 65 64 62 2d 71 75 69 63  | ine-key.map.",".#'calibredb-quic | 
| 2c600 |  6b 2d 6c 6f 6f 6b 29 0a 20 20 20 20 28 64 65 66    69 6e 65 2d 6b 65 79 20 6d 61 70 20 22 2e 22 20  | k-look).....(define-key.map.".". | 
| 2c620 |  23 27 63 61 6c 69 62 72 65 64 62 2d 6f 70 65 6e    2d 64 69 72 65 64 29 0a 20 20 20 20 28 64 65 66  | #'calibredb-open-dired).....(def | 
| 2c640 |  69 6e 65 2d 6b 65 79 20 6d 61 70 20 22 5c 4d 2d    2f 22 20 23 27 63 61 6c 69 62 72 65 64 62 2d 72  | ine-key.map."\M-/".#'calibredb-r | 
| 2c660 |  67 61 29 0a 20 20 20 20 28 64 65 66 69 6e 65 2d    6b 65 79 20 6d 61 70 20 22 5c 4d 2d 74 22 20 23  | ga).....(define-key.map."\M-t".# | 
| 2c680 |  27 63 61 6c 69 62 72 65 64 62 2d 73 65 74 2d 6d    65 74 61 64 61 74 61 2d 2d 74 61 67 73 29 0a 20  | 'calibredb-set-metadata--tags).. | 
| 2c6a0 |  20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6d    61 70 20 22 5c 4d 2d 61 22 20 23 27 63 61 6c 69  | ...(define-key.map."\M-a".#'cali | 
| 2c6c0 |  62 72 65 64 62 2d 73 65 74 2d 6d 65 74 61 64 61    74 61 2d 2d 61 75 74 68 6f 72 5f 73 6f 72 74 29  | bredb-set-metadata--author_sort) | 
| 2c6e0 |  0a 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79    20 6d 61 70 20 22 5c 4d 2d 41 22 20 23 27 63 61  | .....(define-key.map."\M-A".#'ca | 
| 2c700 |  6c 69 62 72 65 64 62 2d 73 65 74 2d 6d 65 74 61    64 61 74 61 2d 2d 61 75 74 68 6f 72 73 29 0a 20  | libredb-set-metadata--authors).. | 
| 2c720 |  20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6d    61 70 20 22 5c 4d 2d 54 22 20 23 27 63 61 6c 69  | ...(define-key.map."\M-T".#'cali | 
| 2c740 |  62 72 65 64 62 2d 73 65 74 2d 6d 65 74 61 64 61    74 61 2d 2d 74 69 74 6c 65 29 0a 20 20 20 20 28  | bredb-set-metadata--title).....( | 
| 2c760 |  64 65 66 69 6e 65 2d 6b 65 79 20 6d 61 70 20 22    5c 4d 2d 63 22 20 23 27 63 61 6c 69 62 72 65 64  | define-key.map."\M-c".#'calibred | 
| 2c780 |  62 2d 73 65 74 2d 6d 65 74 61 64 61 74 61 2d 2d    63 6f 6d 6d 65 6e 74 73 29 0a 20 20 20 20 6d 61  | b-set-metadata--comments).....ma | 
| 2c7a0 |  70 29 0a 20 20 22 4b 65 79 6d 61 70 20 66 6f 72    20 60 63 61 6c 69 62 72 65 64 62 2d 73 68 6f 77  | p)..."Keymap.for.`calibredb-show | 
| 2c7c0 |  2d 6d 6f 64 65 27 2e 22 29 0a 0a 28 64 65 66 63    75 73 74 6f 6d 20 63 61 6c 69 62 72 65 64 62 2d  | -mode'.")..(defcustom.calibredb- | 
| 2c7e0 |  73 68 6f 77 2d 75 6e 69 71 75 65 2d 62 75 66 66    65 72 73 20 6e 69 6c 0a 20 20 22 54 4f 44 4f 3a  | show-unique-buffers.nil..."TODO: | 
| 2c800 |  20 57 68 65 6e 20 6e 6f 6e 2d 6e 69 6c 2c 20 65    76 65 72 79 20 65 6e 74 72 79 20 62 75 66 66 65  | .When.non-nil,.every.entry.buffe | 
| 2c820 |  72 20 67 65 74 73 20 61 20 75 6e 69 71 75 65 20    6e 61 6d 65 2e 0a 54 68 69 73 20 61 6c 6c 6f 77  | r.gets.a.unique.name..This.allow | 
| 2c840 |  73 20 66 6f 72 20 64 69 73 70 6c 61 79 69 6e 67    20 6d 75 6c 74 69 70 6c 65 20 73 68 6f 77 20 62  | s.for.displaying.multiple.show.b | 
| 2c860 |  75 66 66 65 72 73 20 61 74 20 74 68 65 20 73 61    6d 65 0a 74 69 6d 65 2e 22 0a 20 20 3a 67 72 6f  | uffers.at.the.same.time."...:gro | 
| 2c880 |  75 70 20 27 63 61 6c 69 62 72 65 64 62 0a 20 20    3a 74 79 70 65 20 27 62 6f 6f 6c 65 61 6e 29 0a  | up.'calibredb...:type.'boolean). | 
| 2c8a0 |  0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 63 61 6c    69 62 72 65 64 62 2d 73 68 6f 77 2d 65 6e 74 72  | ..(defcustom.calibredb-show-entr | 
| 2c8c0 |  79 2d 73 77 69 74 63 68 20 23 27 73 77 69 74 63    68 2d 74 6f 2d 62 75 66 66 65 72 2d 6f 74 68 65  | y-switch.#'switch-to-buffer-othe | 
| 2c8e0 |  72 2d 77 69 6e 64 6f 77 0a 20 20 22 46 75 6e 63    74 69 6f 6e 20 75 73 65 64 20 74 6f 20 64 69 73  | r-window..."Function.used.to.dis | 
| 2c900 |  70 6c 61 79 20 74 68 65 20 63 61 6c 69 62 72 65    20 65 6e 74 72 79 20 62 75 66 66 65 72 2e 22 0a  | play.the.calibre.entry.buffer.". | 
| 2c920 |  20 20 3a 67 72 6f 75 70 20 27 63 61 6c 69 62 72    65 64 62 0a 20 20 3a 74 79 70 65 20 27 28 63 68  | ..:group.'calibredb...:type.'(ch | 
| 2c940 |  6f 69 63 65 20 28 66 75 6e 63 74 69 6f 6e 2d 69    74 65 6d 20 73 77 69 74 63 68 2d 74 6f 2d 62 75  | oice.(function-item.switch-to-bu | 
| 2c960 |  66 66 65 72 2d 6f 74 68 65 72 2d 77 69 6e 64 6f    77 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  | ffer-other-window).............. | 
| 2c980 |  20 20 20 20 28 66 75 6e 63 74 69 6f 6e 2d 69 74    65 6d 20 73 77 69 74 63 68 2d 74 6f 2d 62 75 66  | ....(function-item.switch-to-buf | 
| 2c9a0 |  66 65 72 29 0a 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 28 66 75 6e 63 74 69 6f 6e 2d  | fer)..................(function- | 
| 2c9c0 |  69 74 65 6d 20 70 6f 70 2d 74 6f 2d 62 75 66 66    65 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20  | item.pop-to-buffer)............. | 
| 2c9e0 |  20 20 20 20 20 66 75 6e 63 74 69 6f 6e 29 29 0a    0a 28 64 65 66 69 6e 65 2d 64 65 72 69 76 65 64  | .....function))..(define-derived | 
| 2ca00 |  2d 6d 6f 64 65 20 63 61 6c 69 62 72 65 64 62 2d    73 68 6f 77 2d 6d 6f 64 65 20 66 75 6e 64 61 6d  | -mode.calibredb-show-mode.fundam | 
| 2ca20 |  65 6e 74 61 6c 2d 6d 6f 64 65 20 22 63 61 6c 69    62 72 65 64 62 2d 73 68 6f 77 22 0a 20 20 22 4d  | ental-mode."calibredb-show"..."M | 
| 2ca40 |  6f 64 65 20 66 6f 72 20 64 69 73 70 6c 61 79 69    6e 67 20 62 6f 6f 6b 20 65 6e 74 72 79 20 64 65  | ode.for.displaying.book.entry.de | 
| 2ca60 |  74 61 69 6c 73 2e 0a 5c 5c 7b 63 61 6c 69 62 72    65 64 62 2d 73 68 6f 77 2d 6d 6f 64 65 2d 6d 61  | tails..\\{calibredb-show-mode-ma | 
| 2ca80 |  70 7d 22 0a 20 20 28 73 65 74 71 20 62 75 66 66    65 72 2d 72 65 61 64 2d 6f 6e 6c 79 20 74 29 0a  | p}"...(setq.buffer-read-only.t). | 
| 2caa0 |  20 20 28 62 75 66 66 65 72 2d 64 69 73 61 62 6c    65 2d 75 6e 64 6f 29 29 0a 0a 28 64 65 66 75 6e  | ..(buffer-disable-undo))..(defun | 
| 2cac0 |  20 63 61 6c 69 62 72 65 64 62 2d 73 68 6f 77 2d    2d 62 75 66 66 65 72 2d 6e 61 6d 65 20 28 65 6e  | .calibredb-show--buffer-name.(en | 
| 2cae0 |  74 72 79 29 0a 20 20 22 52 65 74 75 72 6e 20 74    68 65 20 61 70 70 72 6f 70 72 69 61 74 65 20 62  | try)..."Return.the.appropriate.b | 
| 2cb00 |  75 66 66 65 72 20 6e 61 6d 65 20 66 6f 72 20 45    4e 54 52 59 2e 0a 54 68 65 20 72 65 73 75 6c 74  | uffer.name.for.ENTRY..The.result | 
| 2cb20 |  20 64 65 70 65 6e 64 73 20 6f 6e 20 74 68 65 20    76 61 6c 75 65 20 6f 66 20 60 63 61 6c 69 62 72  | .depends.on.the.value.of.`calibr | 
| 2cb40 |  65 64 62 2d 73 68 6f 77 2d 75 6e 69 71 75 65 2d    62 75 66 66 65 72 73 27 2e 22 0a 20 20 28 69 66  | edb-show-unique-buffers'."...(if | 
| 2cb60 |  20 63 61 6c 69 62 72 65 64 62 2d 73 68 6f 77 2d    75 6e 69 71 75 65 2d 62 75 66 66 65 72 73 0a 20  | .calibredb-show-unique-buffers.. | 
| 2cb80 |  20 20 20 20 20 28 66 6f 72 6d 61 74 20 22 2a 63    61 6c 69 62 72 65 64 62 2d 65 6e 74 72 79 2d 3c  | .....(format."*calibredb-entry-< | 
| 2cba0 |  25 73 3e 2a 22 0a 20 20 20 20 20 20 20 20 20 20    20 20 20 20 28 63 61 6c 69 62 72 65 64 62 2d 67  | %s>*"...............(calibredb-g | 
| 2cbc0 |  65 74 61 74 74 72 20 65 6e 74 72 79 20 3a 62 6f    6f 6b 2d 74 69 74 6c 65 29 29 0a 20 20 20 20 22  | etattr.entry.:book-title))....." | 
| 2cbe0 |  2a 63 61 6c 69 62 72 65 64 62 2d 65 6e 74 72 79    2a 22 29 29 0a 0a 28 64 65 66 75 6e 20 63 61 6c  | *calibredb-entry*"))..(defun.cal | 
| 2cc00 |  69 62 72 65 64 62 2d 73 68 6f 77 2d 72 65 66 72    65 73 68 20 28 29 0a 20 20 22 52 65 66 72 65 73  | ibredb-show-refresh.()..."Refres | 
| 2cc20 |  68 20 45 4e 54 52 59 20 69 6e 20 74 68 65 20 63    75 72 72 65 6e 74 20 62 75 66 66 65 72 2e 22 0a  | h.ENTRY.in.the.current.buffer.". | 
| 2cc40 |  20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a    20 20 28 6c 65 74 2a 20 28 28 65 6e 74 72 79 20  | ..(interactive)...(let*.((entry. | 
| 2cc60 |  28 67 65 74 2d 74 65 78 74 2d 70 72 6f 70 65 72    74 79 20 28 70 6f 69 6e 74 2d 6d 69 6e 29 20 27  | (get-text-property.(point-min).' | 
| 2cc80 |  63 61 6c 69 62 72 65 64 62 2d 65 6e 74 72 79 20    6e 69 6c 29 29 20 3b 20 6f 6c 64 20 65 6e 74 72  | calibredb-entry.nil)).;.old.entr | 
| 2cca0 |  79 0a 20 20 20 20 20 20 20 20 20 28 69 64 20 28    63 61 6c 69 62 72 65 64 62 2d 67 65 74 61 74 74  | y..........(id.(calibredb-getatt | 
| 2ccc0 |  72 20 65 6e 74 72 79 20 3a 69 64 29 29 20 3b 20    6f 6e 6c 79 20 67 65 74 20 74 68 65 20 69 64 0a  | r.entry.:id)).;.only.get.the.id. | 
| 2cce0 |  20 20 20 20 20 20 20 20 20 28 71 75 65 72 79 2d    72 65 73 75 6c 74 20 28 63 64 72 20 28 63 61 72  | .........(query-result.(cdr.(car | 
| 2cd00 |  20 28 63 61 6c 69 62 72 65 64 62 2d 63 61 6e 64    69 64 61 74 65 20 69 64 29 29 29 29 29 20 3b 20  | .(calibredb-candidate.id))))).;. | 
| 2cd20 |  67 65 74 20 74 68 65 20 6e 65 77 20 65 6e 74 72    79 20 74 68 72 6f 75 67 68 20 53 51 4c 20 71 75  | get.the.new.entry.through.SQL.qu | 
| 2cd40 |  65 72 79 0a 20 20 20 20 28 63 61 6c 69 62 72 65    64 62 2d 73 68 6f 77 2d 65 6e 74 72 79 20 71 75  | ery.....(calibredb-show-entry.qu | 
| 2cd60 |  65 72 79 2d 72 65 73 75 6c 74 29 29 29 0a 0a 28    64 65 66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d  | ery-result)))..(defun.calibredb- | 
| 2cd80 |  65 6e 74 72 79 2d 71 75 69 74 20 28 29 0a 20 20    22 51 75 69 74 20 74 68 65 20 2a 63 61 6c 69 62  | entry-quit.()..."Quit.the.*calib | 
| 2cda0 |  72 65 64 62 2d 65 6e 74 72 79 2a 2e 22 0a 20 20    28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20  | redb-entry*."...(interactive)... | 
| 2cdc0 |  28 77 68 65 6e 20 28 65 71 20 6d 61 6a 6f 72 2d    6d 6f 64 65 20 27 63 61 6c 69 62 72 65 64 62 2d  | (when.(eq.major-mode.'calibredb- | 
| 2cde0 |  73 68 6f 77 2d 6d 6f 64 65 29 0a 20 20 20 20 28    77 68 65 6e 20 28 67 65 74 2d 62 75 66 66 65 72  | show-mode).....(when.(get-buffer | 
| 2ce00 |  20 22 2a 63 61 6c 69 62 72 65 64 62 2d 65 6e 74    72 79 2a 22 29 0a 20 20 20 20 20 20 28 70 6f 70  | ."*calibredb-entry*").......(pop | 
| 2ce20 |  2d 74 6f 2d 62 75 66 66 65 72 20 22 2a 63 61 6c    69 62 72 65 64 62 2d 65 6e 74 72 79 2a 22 29 0a  | -to-buffer."*calibredb-entry*"). | 
| 2ce40 |  20 20 20 20 20 20 28 69 66 20 28 3c 20 28 6c 65    6e 67 74 68 20 28 77 69 6e 64 6f 77 2d 70 72 65  | ......(if.(<.(length.(window-pre | 
| 2ce60 |  76 2d 62 75 66 66 65 72 73 29 29 20 32 29 0a 20    20 20 20 20 20 20 20 28 70 72 6f 67 6e 0a 20 20  | v-buffers)).2).........(progn... | 
| 2ce80 |  20 20 20 20 20 20 20 20 28 71 75 69 74 2d 77 69    6e 64 6f 77 29 0a 20 20 20 20 20 20 20 20 20 20  | ........(quit-window)........... | 
| 2cea0 |  28 6b 69 6c 6c 2d 62 75 66 66 65 72 20 22 2a 63    61 6c 69 62 72 65 64 62 2d 65 6e 74 72 79 2a 22  | (kill-buffer."*calibredb-entry*" | 
| 2cec0 |  29 29 0a 20 20 20 20 20 20 20 20 28 6b 69 6c 6c    2d 62 75 66 66 65 72 20 22 2a 63 61 6c 69 62 72  | )).........(kill-buffer."*calibr | 
| 2cee0 |  65 64 62 2d 65 6e 74 72 79 2a 22 29 29 29 29 29    0a 0a 28 70 72 6f 76 69 64 65 20 27 63 61 6c 69  | edb-entry*")))))..(provide.'cali | 
| 2cf00 |  62 72 65 64 62 2d 73 68 6f 77 29 0a 0a 3b 3b 3b    20 63 61 6c 69 62 72 65 64 62 2d 73 68 6f 77 2e  | bredb-show)..;;;.calibredb-show. | 
| 2cf20 |  65 6c 20 65 6e 64 73 20 68 65 72 65 0a 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | el.ends.here.................... | 
| 2cf40 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 2cf60 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 2cf80 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 2cfa0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 2cfc0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 2cfe0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 2d000 |  63 61 6c 69 62 72 65 64 62 2d 32 30 32 35 30 37    30 35 2e 32 32 35 2f 63 61 6c 69 62 72 65 64 62  | calibredb-20250705.225/calibredb | 
| 2d020 |  2d 74 72 61 6e 73 69 65 6e 74 2e 65 6c 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | -transient.el................... | 
| 2d040 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 2d060 |  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 | 
| 2d080 |  30 30 34 36 30 36 37 00 30 30 30 30 30 30 30 30    30 30 30 00 30 31 37 31 31 30 00 20 30 00 00 00  | 0046067.00000000000.017110..0... | 
| 2d0a0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 2d0c0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 2d0e0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 2d100 |  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................... | 
| 2d120 |  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................... | 
| 2d140 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 2d160 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 2d180 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 2d1a0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 2d1c0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 2d1e0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 2d200 |  3b 3b 3b 20 63 61 6c 69 62 72 65 64 62 2d 74 72    61 6e 73 69 65 6e 74 2e 65 6c 20 2d 2d 2d 20 54  | ;;;.calibredb-transient.el.---.T | 
| 2d220 |  72 61 6e 73 69 65 6e 74 20 66 6f 72 20 63 61 6c    69 62 72 65 64 62 20 2d 2a 2d 20 6c 65 78 69 63  | ransient.for.calibredb.-*-.lexic | 
| 2d240 |  61 6c 2d 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  | al-binding:.t;.-*-..;;.Copyright | 
| 2d260 |  20 28 43 29 20 32 30 32 30 20 44 61 6d 6f 6e 20    43 68 61 6e 0a 0a 3b 3b 20 41 75 74 68 6f 72 3a  | .(C).2020.Damon.Chan..;;.Author: | 
| 2d280 |  20 44 61 6d 6f 6e 20 43 68 61 6e 20 3c 65 6c 65    63 6d 69 6e 67 40 67 6d 61 69 6c 2e 63 6f 6d 3e  | .Damon.Chan.<elecming@gmail.com> | 
| 2d2a0 |  0a 3b 3b 20 55 52 4c 3a 20 68 74 74 70 73 3a 2f    2f 67 69 74 68 75 62 2e 63 6f 6d 2f 63 68 65 6e  | .;;.URL:.https://github.com/chen | 
| 2d2c0 |  79 61 6e 6d 69 6e 67 2f 63 61 6c 69 62 72 65 64    62 2e 65 6c 0a 3b 3b 20 4b 65 79 77 6f 72 64 73  | yanming/calibredb.el.;;.Keywords | 
| 2d2e0 |  3a 20 74 6f 6f 6c 73 0a 0a 3b 3b 20 54 68 69 73    20 66 69 6c 65 20 69 73 20 4e 4f 54 20 70 61 72  | :.tools..;;.This.file.is.NOT.par | 
| 2d300 |  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 70 72 6f 67 72 61 6d  | t.of.GNU.Emacs...;;.This.program | 
| 2d320 |  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 64 69 73  | .is.free.software;.you.can.redis | 
| 2d340 |  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 74 20 75  | tribute.it.and/or.modify.;;.it.u | 
| 2d360 |  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 65 72 61  | nder.the.terms.of.the.GNU.Genera | 
| 2d380 |  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 20 62 79  | l.Public.License.as.published.by | 
| 2d3a0 |  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 69 6f 6e  | .;;.the.Free.Software.Foundation | 
| 2d3c0 |  2c 20 65 69 74 68 65 72 20 76 65 72 73 69 6f 6e    20 33 20 6f 66 20 74 68 65 20 4c 69 63 65 6e 73  | ,.either.version.3.of.the.Licens | 
| 2d3e0 |  65 2c 20 6f 72 0a 3b 3b 20 28 61 74 20 79 6f 75    72 20 6f 70 74 69 6f 6e 29 20 61 6e 79 20 6c 61  | e,.or.;;.(at.your.option).any.la | 
| 2d400 |  74 65 72 20 76 65 72 73 69 6f 6e 2e 0a 0a 3b 3b    20 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73  | ter.version...;;.This.program.is | 
| 2d420 |  20 64 69 73 74 72 69 62 75 74 65 64 20 69 6e 20    74 68 65 20 68 6f 70 65 20 74 68 61 74 20 69 74  | .distributed.in.the.hope.that.it | 
| 2d440 |  20 77 69 6c 6c 20 62 65 20 75 73 65 66 75 6c 2c    0a 3b 3b 20 62 75 74 20 57 49 54 48 4f 55 54 20  | .will.be.useful,.;;.but.WITHOUT. | 
| 2d460 |  41 4e 59 20 57 41 52 52 41 4e 54 59 3b 20 77 69    74 68 6f 75 74 20 65 76 65 6e 20 74 68 65 20 69  | ANY.WARRANTY;.without.even.the.i | 
| 2d480 |  6d 70 6c 69 65 64 20 77 61 72 72 61 6e 74 79 20    6f 66 0a 3b 3b 20 4d 45 52 43 48 41 4e 54 41 42  | mplied.warranty.of.;;.MERCHANTAB | 
| 2d4a0 |  49 4c 49 54 59 20 6f 72 20 46 49 54 4e 45 53 53    20 46 4f 52 20 41 20 50 41 52 54 49 43 55 4c 41  | ILITY.or.FITNESS.FOR.A.PARTICULA | 
| 2d4c0 |  52 20 50 55 52 50 4f 53 45 2e 20 20 53 65 65 20    74 68 65 0a 3b 3b 20 47 4e 55 20 47 65 6e 65 72  | R.PURPOSE...See.the.;;.GNU.Gener | 
| 2d4e0 |  61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73    65 20 66 6f 72 20 6d 6f 72 65 20 64 65 74 61 69  | al.Public.License.for.more.detai | 
| 2d500 |  6c 73 2e 0a 0a 3b 3b 20 59 6f 75 20 73 68 6f 75    6c 64 20 68 61 76 65 20 72 65 63 65 69 76 65 64  | ls...;;.You.should.have.received | 
| 2d520 |  20 61 20 63 6f 70 79 20 6f 66 20 74 68 65 20 47    4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69  | .a.copy.of.the.GNU.General.Publi | 
| 2d540 |  63 20 4c 69 63 65 6e 73 65 0a 3b 3b 20 61 6c 6f    6e 67 20 77 69 74 68 20 74 68 69 73 20 70 72 6f  | c.License.;;.along.with.this.pro | 
| 2d560 |  67 72 61 6d 2e 20 20 49 66 20 6e 6f 74 2c 20 73    65 65 20 3c 68 74 74 70 73 3a 2f 2f 77 77 77 2e  | gram...If.not,.see.<https://www. | 
| 2d580 |  67 6e 75 2e 6f 72 67 2f 6c 69 63 65 6e 73 65 73    2f 3e 2e 0a 0a 3b 3b 3b 20 43 6f 6d 6d 65 6e 74  | gnu.org/licenses/>...;;;.Comment | 
| 2d5a0 |  61 72 79 3a 0a 0a 3b 3b 3b 20 43 6f 64 65 3a 0a    0a 28 72 65 71 75 69 72 65 20 27 63 61 6c 69 62  | ary:..;;;.Code:..(require.'calib | 
| 2d5c0 |  72 65 64 62 2d 63 6f 72 65 29 0a 0a 28 64 65 63    6c 61 72 65 2d 66 75 6e 63 74 69 6f 6e 20 63 61  | redb-core)..(declare-function.ca | 
| 2d5e0 |  6c 69 62 72 65 64 62 2d 67 65 74 2d 69 6e 69 74    20 22 63 61 6c 69 62 72 65 64 62 2d 75 74 69 6c  | libredb-get-init."calibredb-util | 
| 2d600 |  73 2e 65 6c 22 29 0a 28 64 65 63 6c 61 72 65 2d    66 75 6e 63 74 69 6f 6e 20 63 61 6c 69 62 72 65  | s.el").(declare-function.calibre | 
| 2d620 |  64 62 2d 66 69 6e 64 2d 6d 61 72 6b 65 64 2d 63    61 6e 64 69 64 61 74 65 73 20 22 63 61 6c 69 62  | db-find-marked-candidates."calib | 
| 2d640 |  72 65 64 62 2d 75 74 69 6c 73 2e 65 6c 22 29 0a    28 64 65 63 6c 61 72 65 2d 66 75 6e 63 74 69 6f  | redb-utils.el").(declare-functio | 
| 2d660 |  6e 20 63 61 6c 69 62 72 65 64 62 2d 72 67 61 20    22 63 61 6c 69 62 72 65 64 62 2d 69 76 79 2e 65  | n.calibredb-rga."calibredb-ivy.e | 
| 2d680 |  6c 22 29 0a 28 64 65 63 6c 61 72 65 2d 66 75 6e    63 74 69 6f 6e 20 63 61 6c 69 62 72 65 64 62 2d  | l").(declare-function.calibredb- | 
| 2d6a0 |  76 69 72 74 75 61 6c 2d 6c 69 62 72 61 72 79 2d    6c 69 73 74 20 22 63 61 6c 69 62 72 65 64 62 2d  | virtual-library-list."calibredb- | 
| 2d6c0 |  6c 69 62 72 61 72 79 2e 65 6c 22 29 0a 28 64 65    63 6c 61 72 65 2d 66 75 6e 63 74 69 6f 6e 20 63  | library.el").(declare-function.c | 
| 2d6e0 |  61 6c 69 62 72 65 64 62 2d 76 69 72 74 75 61 6c    2d 6c 69 62 72 61 72 79 2d 6e 65 78 74 20 22 63  | alibredb-virtual-library-next."c | 
| 2d700 |  61 6c 69 62 72 65 64 62 2d 6c 69 62 72 61 72 79    2e 65 6c 22 29 0a 28 64 65 63 6c 61 72 65 2d 66  | alibredb-library.el").(declare-f | 
| 2d720 |  75 6e 63 74 69 6f 6e 20 63 61 6c 69 62 72 65 64    62 2d 76 69 72 74 75 61 6c 2d 6c 69 62 72 61 72  | unction.calibredb-virtual-librar | 
| 2d740 |  79 2d 70 72 65 76 69 6f 75 73 20 22 63 61 6c 69    62 72 65 64 62 2d 6c 69 62 72 61 72 79 2e 65 6c  | y-previous."calibredb-library.el | 
| 2d760 |  22 29 0a 0a 3b 3b 20 54 72 61 6e 73 69 65 6e 74    20 64 69 73 70 61 74 63 68 0a 0a 28 74 72 61 6e  | ")..;;.Transient.dispatch..(tran | 
| 2d780 |  73 69 65 6e 74 2d 64 65 66 69 6e 65 2d 70 72 65    66 69 78 20 63 61 6c 69 62 72 65 64 62 2d 64 69  | sient-define-prefix.calibredb-di | 
| 2d7a0 |  73 70 61 74 63 68 20 28 29 0a 20 20 22 49 6e 76    6f 6b 65 20 61 20 63 61 6c 69 62 72 65 64 62 20  | spatch.()..."Invoke.a.calibredb. | 
| 2d7c0 |  63 6f 6d 6d 61 6e 64 20 66 72 6f 6d 20 61 20 6c    69 73 74 20 6f 66 20 61 76 61 69 6c 61 62 6c 65  | command.from.a.list.of.available | 
| 2d7e0 |  20 63 6f 6d 6d 61 6e 64 73 20 69 6e 20 2a 63 61    6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2a 2e  | .commands.in.*calibredb-search*. | 
| 2d800 |  22 0a 20 20 3a 6d 61 6e 2d 70 61 67 65 20 22 63    61 6c 69 62 72 65 64 62 22 0a 20 20 5b 22 46 69  | "...:man-page."calibredb"...["Fi | 
| 2d820 |  6c 65 20 6f 70 65 72 61 74 69 6f 6e 22 0a 20 20    20 5b 28 22 61 22 20 22 41 64 64 20 61 20 66 69  | le.operation"....[("a"."Add.a.fi | 
| 2d840 |  6c 65 22 20 20 20 63 61 6c 69 62 72 65 64 62 2d    61 64 64 29 0a 20 20 20 20 28 22 41 22 20 22 41  | le"...calibredb-add).....("A"."A | 
| 2d860 |  64 64 20 61 20 64 69 72 65 63 74 6f 72 79 22 20    20 20 63 61 6c 69 62 72 65 64 62 2d 61 64 64 2d  | dd.a.directory"...calibredb-add- | 
| 2d880 |  64 69 72 29 0a 20 20 20 20 28 22 64 22 20 22 52    65 6d 6f 76 65 20 61 20 66 69 6c 65 22 20 20 20  | dir).....("d"."Remove.a.file"... | 
| 2d8a0 |  63 61 6c 69 62 72 65 64 62 2d 72 65 6d 6f 76 65    29 0a 20 20 20 20 28 22 65 22 20 22 45 78 70 6f  | calibredb-remove).....("e"."Expo | 
| 2d8c0 |  72 74 22 20 63 61 6c 69 62 72 65 64 62 2d 65 78    70 6f 72 74 2d 64 69 73 70 61 74 63 68 29 0a 20  | rt".calibredb-export-dispatch).. | 
| 2d8e0 |  20 20 20 28 22 73 22 20 22 73 65 74 5f 6d 65 74    61 64 61 74 61 22 20 20 20 63 61 6c 69 62 72 65  | ...("s"."set_metadata"...calibre | 
| 2d900 |  64 62 2d 73 65 74 2d 6d 65 74 61 64 61 74 61 2d    64 69 73 70 61 74 63 68 29 0a 20 20 20 20 28 22  | db-set-metadata-dispatch).....(" | 
| 2d920 |  67 22 20 22 66 69 6c 74 65 72 22 20 20 20 63 61    6c 69 62 72 65 64 62 2d 66 69 6c 74 65 72 2d 64  | g"."filter"...calibredb-filter-d | 
| 2d940 |  69 73 70 61 74 63 68 29 0a 20 20 20 20 28 22 6f    22 20 22 73 6f 72 74 22 20 20 20 63 61 6c 69 62  | ispatch).....("o"."sort"...calib | 
| 2d960 |  72 65 64 62 2d 73 6f 72 74 2d 64 69 73 70 61 74    63 68 29 5d 0a 20 20 20 5b 28 22 52 45 54 22 20  | redb-sort-dispatch)]....[("RET". | 
| 2d980 |  22 4f 70 65 6e 20 66 69 6c 65 22 20 20 20 20 20    20 20 20 20 63 61 6c 69 62 72 65 64 62 2d 66 69  | "Open.file".........calibredb-fi | 
| 2d9a0 |  6e 64 2d 66 69 6c 65 29 0a 20 20 20 20 28 22 4f    22 20 22 4f 70 65 6e 20 66 69 6c 65 20 6f 74 68  | nd-file).....("O"."Open.file.oth | 
| 2d9c0 |  65 72 20 66 72 61 6d 65 22 20 20 20 20 20 20 20    20 20 20 20 20 63 61 6c 69 62 72 65 64 62 2d 66  | er.frame"............calibredb-f | 
| 2d9e0 |  69 6e 64 2d 66 69 6c 65 2d 6f 74 68 65 72 2d 66    72 61 6d 65 29 0a 20 20 20 20 28 22 76 22 20 22  | ind-file-other-frame).....("v"." | 
| 2da00 |  56 69 65 77 20 64 65 74 61 69 6c 73 22 20 20 63    61 6c 69 62 72 65 64 62 2d 76 69 65 77 29 0a 20  | View.details"..calibredb-view).. | 
| 2da20 |  20 20 20 28 22 56 22 20 22 4f 70 65 6e 20 66 69    6c 65 20 77 69 74 68 20 64 65 66 61 75 6c 74 20  | ...("V"."Open.file.with.default. | 
| 2da40 |  74 6f 6f 6c 22 20 20 63 61 6c 69 62 72 65 64 62    2d 6f 70 65 6e 2d 66 69 6c 65 2d 77 69 74 68 2d  | tool"..calibredb-open-file-with- | 
| 2da60 |  64 65 66 61 75 6c 74 2d 74 6f 6f 6c 29 0a 20 20    20 20 28 22 2c 22 20 22 51 75 69 63 6b 20 4c 6f  | default-tool).....(","."Quick.Lo | 
| 2da80 |  6f 6b 22 20 20 63 61 6c 69 62 72 65 64 62 2d 71    75 69 63 6b 2d 6c 6f 6f 6b 29 0a 20 20 20 20 28  | ok"..calibredb-quick-look).....( | 
| 2daa0 |  22 2e 22 20 22 4f 70 65 6e 20 64 69 72 65 64 22    20 20 63 61 6c 69 62 72 65 64 62 2d 6f 70 65 6e  | "."."Open.dired"..calibredb-open | 
| 2dac0 |  2d 64 69 72 65 64 29 5d 0a 20 20 20 5b 28 22 6d    22 20 22 4d 61 72 6b 22 20 63 61 6c 69 62 72 65  | -dired)]....[("m"."Mark".calibre | 
| 2dae0 |  64 62 2d 6d 61 72 6b 2d 61 6e 64 2d 66 6f 72 77    61 72 64 29 0a 20 20 20 20 28 22 75 22 20 22 55  | db-mark-and-forward).....("u"."U | 
| 2db00 |  6e 6d 61 72 6b 20 61 6e 64 20 66 6f 72 77 61 72    64 22 20 63 61 6c 69 62 72 65 64 62 2d 75 6e 6d  | nmark.and.forward".calibredb-unm | 
| 2db20 |  61 72 6b 2d 61 6e 64 2d 66 6f 72 77 61 72 64 29    0a 20 20 20 20 28 22 44 45 4c 22 20 22 55 6e 6d  | ark-and-forward).....("DEL"."Unm | 
| 2db40 |  61 72 6b 20 61 6e 64 20 62 61 63 6b 77 61 72 64    22 20 63 61 6c 69 62 72 65 64 62 2d 75 6e 6d 61  | ark.and.backward".calibredb-unma | 
| 2db60 |  72 6b 2d 61 6e 64 2d 62 61 63 6b 77 61 72 64 29    0a 20 20 20 20 28 22 2a 22 20 22 46 61 76 6f 72  | rk-and-backward).....("*"."Favor | 
| 2db80 |  69 74 65 22 20 63 61 6c 69 62 72 65 64 62 2d 74    6f 67 67 6c 65 2d 66 61 76 6f 72 69 74 65 2d 61  | ite".calibredb-toggle-favorite-a | 
| 2dba0 |  74 2d 70 6f 69 6e 74 29 0a 20 20 20 20 28 22 68    22 20 22 48 69 67 68 6c 69 67 68 74 22 20 63 61  | t-point).....("h"."Highlight".ca | 
| 2dbc0 |  6c 69 62 72 65 64 62 2d 74 6f 67 67 6c 65 2d 68    69 67 68 6c 69 67 68 74 2d 61 74 2d 70 6f 69 6e  | libredb-toggle-highlight-at-poin | 
| 2dbe0 |  74 29 0a 20 20 20 20 28 22 78 22 20 22 41 72 63    68 69 76 65 22 20 63 61 6c 69 62 72 65 64 62 2d  | t).....("x"."Archive".calibredb- | 
| 2dc00 |  74 6f 67 67 6c 65 2d 61 72 63 68 69 76 65 2d 61    74 2d 70 6f 69 6e 74 29 5d 5d 0a 20 20 5b 22 4c  | toggle-archive-at-point)]]...["L | 
| 2dc20 |  69 62 72 61 72 79 20 6f 70 65 72 61 74 69 6f 6e    22 0a 20 20 20 5b 28 22 6c 22 20 22 4c 69 73 74  | ibrary.operation"....[("l"."List | 
| 2dc40 |  20 56 69 72 74 75 61 6c 20 4c 69 62 72 61 72 69    65 73 22 20 20 20 63 61 6c 69 62 72 65 64 62 2d  | .Virtual.Libraries"...calibredb- | 
| 2dc60 |  76 69 72 74 75 61 6c 2d 6c 69 62 72 61 72 79 2d    6c 69 73 74 29 0a 20 20 20 20 28 22 6e 22 20 22  | virtual-library-list).....("n"." | 
| 2dc80 |  4e 65 78 74 20 56 69 72 74 75 61 6c 20 4c 69 62    72 61 72 79 22 20 20 20 63 61 6c 69 62 72 65 64  | Next.Virtual.Library"...calibred | 
| 2dca0 |  62 2d 76 69 72 74 75 61 6c 2d 6c 69 62 72 61 72    79 2d 6e 65 78 74 29 0a 20 20 20 20 28 22 70 22  | b-virtual-library-next).....("p" | 
| 2dcc0 |  20 22 50 72 65 76 69 6f 75 73 20 56 69 72 74 75    61 6c 20 4c 69 62 72 61 72 79 22 20 20 20 63 61  | ."Previous.Virtual.Library"...ca | 
| 2dce0 |  6c 69 62 72 65 64 62 2d 76 69 72 74 75 61 6c 2d    6c 69 62 72 61 72 79 2d 70 72 65 76 69 6f 75 73  | libredb-virtual-library-previous | 
| 2dd00 |  29 5d 0a 20 20 20 5b 28 22 4c 22 20 22 4c 69 73    74 20 4c 69 62 72 61 72 69 65 73 22 20 20 20 63  | )]....[("L"."List.Libraries"...c | 
| 2dd20 |  61 6c 69 62 72 65 64 62 2d 6c 69 62 72 61 72 79    2d 6c 69 73 74 29 0a 20 20 20 20 28 22 4e 22 20  | alibredb-library-list).....("N". | 
| 2dd40 |  22 4e 65 78 74 20 4c 69 62 72 61 72 79 22 20 20    20 63 61 6c 69 62 72 65 64 62 2d 6c 69 62 72 61  | "Next.Library"...calibredb-libra | 
| 2dd60 |  72 79 2d 6e 65 78 74 29 0a 20 20 20 20 28 22 50    22 20 22 50 72 65 76 69 6f 75 73 20 4c 69 62 72  | ry-next).....("P"."Previous.Libr | 
| 2dd80 |  61 72 79 22 20 20 20 63 61 6c 69 62 72 65 64 62    2d 6c 69 62 72 61 72 79 2d 70 72 65 76 69 6f 75  | ary"...calibredb-library-previou | 
| 2dda0 |  73 29 0a 20 20 20 20 28 22 53 22 20 22 53 77 69    74 63 68 20 4c 69 62 72 61 72 79 22 20 20 20 63  | s).....("S"."Switch.Library"...c | 
| 2ddc0 |  61 6c 69 62 72 65 64 62 2d 73 77 69 74 63 68 2d    6c 69 62 72 61 72 79 29 5d 0a 20 20 20 5b 28 22  | alibredb-switch-library)]....[(" | 
| 2dde0 |  63 22 20 22 43 6c 6f 6e 65 20 4c 69 62 72 61 72    79 22 20 20 20 63 61 6c 69 62 72 65 64 62 2d 63  | c"."Clone.Library"...calibredb-c | 
| 2de00 |  6c 6f 6e 65 29 0a 20 20 20 20 28 22 72 22 20 22    52 65 66 72 65 73 68 20 4c 69 62 72 61 72 79 22  | lone).....("r"."Refresh.Library" | 
| 2de20 |  20 20 20 63 61 6c 69 62 72 65 64 62 2d 73 65 61    72 63 68 2d 72 65 66 72 65 73 68 2d 61 6e 64 2d  | ...calibredb-search-refresh-and- | 
| 2de40 |  63 6c 65 61 72 2d 66 69 6c 74 65 72 29 0a 20 20    20 20 28 22 52 22 20 22 43 6c 65 61 72 20 46 69  | clear-filter).....("R"."Clear.Fi | 
| 2de60 |  6c 74 65 72 22 20 20 20 63 61 6c 69 62 72 65 64    62 2d 73 65 61 72 63 68 2d 63 6c 65 61 72 2d 66  | lter"...calibredb-search-clear-f | 
| 2de80 |  69 6c 74 65 72 29 0a 20 20 20 20 28 22 74 22 20    22 54 6f 67 67 6c 65 20 76 69 65 77 20 28 43 6f  | ilter).....("t"."Toggle.view.(Co | 
| 2dea0 |  6d 70 61 63 74 2f 44 65 74 61 69 6c 29 22 20 20    20 63 61 6c 69 62 72 65 64 62 2d 74 6f 67 67 6c  | mpact/Detail)"...calibredb-toggl | 
| 2dec0 |  65 2d 76 69 65 77 29 5d 5d 0a 20 20 5b 22 4f 74    68 65 72 20 6f 70 65 72 61 74 69 6f 6e 22 0a 20  | e-view)]]...["Other.operation".. | 
| 2dee0 |  20 20 5b 28 22 62 22 20 22 42 69 62 54 65 78 22    20 20 20 63 61 6c 69 62 72 65 64 62 2d 63 61 74  | ..[("b"."BibTex"...calibredb-cat | 
| 2df00 |  61 6c 6f 67 2d 62 69 62 2d 64 69 73 70 61 74 63    68 29 0a 20 20 20 20 28 22 69 22 20 22 45 64 69  | alog-bib-dispatch).....("i"."Edi | 
| 2df20 |  74 20 41 6e 6e 6f 74 61 74 69 6f 6e 22 20 63 61    6c 69 62 72 65 64 62 2d 65 64 69 74 2d 61 6e 6e  | t.Annotation".calibredb-edit-ann | 
| 2df40 |  6f 74 61 74 69 6f 6e 29 5d 0a 20 20 20 5b 28 22    27 22 20 22 53 65 61 72 63 68 20 77 69 74 68 20  | otation)]....[("'"."Search.with. | 
| 2df60 |  72 67 61 22 20 63 61 6c 69 62 72 65 64 62 2d 63    6f 6e 73 75 6c 74 2d 72 69 70 67 72 65 70 2d 61  | rga".calibredb-consult-ripgrep-a | 
| 2df80 |  6c 6c 29 0a 20 20 20 20 28 22 2f 22 20 22 4c 69    76 65 20 46 69 6c 74 65 72 22 20 63 61 6c 69 62  | ll).....("/"."Live.Filter".calib | 
| 2dfa0 |  72 65 64 62 2d 73 65 61 72 63 68 2d 6c 69 76 65    2d 66 69 6c 74 65 72 29 5d 0a 20 20 20 5b 28 22  | redb-search-live-filter)]....[(" | 
| 2dfc0 |  79 22 20 22 59 61 6e 6b 22 20 63 61 6c 69 62 72    65 64 62 2d 79 61 6e 6b 2d 64 69 73 70 61 74 63  | y"."Yank".calibredb-yank-dispatc | 
| 2dfe0 |  68 29 5d 5d 0a 20 20 5b 28 22 71 22 20 22 51 75    69 74 22 20 20 20 74 72 61 6e 73 69 65 6e 74 2d  | h)]]...[("q"."Quit"...transient- | 
| 2e000 |  71 75 69 74 2d 6f 6e 65 29 5d 29 0a 0a 28 74 72    61 6e 73 69 65 6e 74 2d 64 65 66 69 6e 65 2d 70  | quit-one)])..(transient-define-p | 
| 2e020 |  72 65 66 69 78 20 63 61 6c 69 62 72 65 64 62 2d    65 6e 74 72 79 2d 64 69 73 70 61 74 63 68 20 28  | refix.calibredb-entry-dispatch.( | 
| 2e040 |  29 0a 20 20 22 49 6e 76 6f 6b 65 20 61 20 63 61    6c 69 62 72 65 64 62 20 63 6f 6d 6d 61 6e 64 20  | )..."Invoke.a.calibredb.command. | 
| 2e060 |  66 72 6f 6d 20 61 20 6c 69 73 74 20 6f 66 20 61    76 61 69 6c 61 62 6c 65 20 63 6f 6d 6d 61 6e 64  | from.a.list.of.available.command | 
| 2e080 |  73 20 69 6e 20 2a 63 61 6c 69 62 72 65 64 62 2d    65 6e 74 72 79 2a 2e 22 0a 20 20 3a 6d 61 6e 2d  | s.in.*calibredb-entry*."...:man- | 
| 2e0a0 |  70 61 67 65 20 22 63 61 6c 69 62 72 65 64 62 22    0a 20 20 5b 22 46 69 6c 65 20 6f 70 65 72 61 74  | page."calibredb"...["File.operat | 
| 2e0c0 |  69 6f 6e 22 0a 20 20 20 5b 28 22 6f 22 20 22 4f    70 65 6e 20 66 69 6c 65 22 20 20 20 20 20 20 20  | ion"....[("o"."Open.file"....... | 
| 2e0e0 |  20 20 63 61 6c 69 62 72 65 64 62 2d 66 69 6e 64    2d 66 69 6c 65 29 0a 20 20 20 20 28 22 4f 22 20  | ..calibredb-find-file).....("O". | 
| 2e100 |  22 4f 70 65 6e 20 66 69 6c 65 20 6f 74 68 65 72    20 66 72 61 6d 65 22 20 20 20 20 20 20 20 20 20  | "Open.file.other.frame"......... | 
| 2e120 |  20 20 20 63 61 6c 69 62 72 65 64 62 2d 66 69 6e    64 2d 66 69 6c 65 2d 6f 74 68 65 72 2d 66 72 61  | ...calibredb-find-file-other-fra | 
| 2e140 |  6d 65 29 0a 20 20 20 20 28 22 56 22 20 22 4f 70    65 6e 20 66 69 6c 65 20 77 69 74 68 20 64 65 66  | me).....("V"."Open.file.with.def | 
| 2e160 |  61 75 6c 74 20 74 6f 6f 6c 22 20 20 63 61 6c 69    62 72 65 64 62 2d 6f 70 65 6e 2d 66 69 6c 65 2d  | ault.tool"..calibredb-open-file- | 
| 2e180 |  77 69 74 68 2d 64 65 66 61 75 6c 74 2d 74 6f 6f    6c 29 0a 20 20 20 20 28 22 2e 22 20 22 51 75 69  | with-default-tool).....("."."Qui | 
| 2e1a0 |  63 6b 20 4c 6f 6f 6b 22 20 20 63 61 6c 69 62 72    65 64 62 2d 71 75 69 63 6b 2d 6c 6f 6f 6b 29 0a  | ck.Look"..calibredb-quick-look). | 
| 2e1c0 |  20 20 20 20 28 22 2e 22 20 22 4f 70 65 6e 20 64    69 72 65 64 22 20 20 63 61 6c 69 62 72 65 64 62  | ....("."."Open.dired"..calibredb | 
| 2e1e0 |  2d 6f 70 65 6e 2d 64 69 72 65 64 29 5d 0a 20 20    20 5b 28 22 65 22 20 22 45 78 70 6f 72 74 22 20  | -open-dired)]....[("e"."Export". | 
| 2e200 |  63 61 6c 69 62 72 65 64 62 2d 65 78 70 6f 72 74    2d 64 69 73 70 61 74 63 68 29 0a 20 20 20 20 28  | calibredb-export-dispatch).....( | 
| 2e220 |  22 73 22 20 22 73 65 74 5f 6d 65 74 61 64 61 74    61 22 20 20 20 63 61 6c 69 62 72 65 64 62 2d 73  | "s"."set_metadata"...calibredb-s | 
| 2e240 |  65 74 2d 6d 65 74 61 64 61 74 61 2d 64 69 73 70    61 74 63 68 29 0a 20 20 20 20 28 22 79 22 20 22  | et-metadata-dispatch).....("y"." | 
| 2e260 |  59 61 6e 6b 22 20 20 20 63 61 6c 69 62 72 65 64    62 2d 79 61 6e 6b 2d 64 69 73 70 61 74 63 68 29  | Yank"...calibredb-yank-dispatch) | 
| 2e280 |  0a 20 20 20 20 28 22 27 22 20 22 53 65 61 72 63    68 20 77 69 74 68 20 72 67 61 22 20 63 61 6c 69  | .....("'"."Search.with.rga".cali | 
| 2e2a0 |  62 72 65 64 62 2d 63 6f 6e 73 75 6c 74 2d 72 69    70 67 72 65 70 2d 61 6c 6c 29 5d 5d 0a 20 20 5b  | bredb-consult-ripgrep-all)]]...[ | 
| 2e2c0 |  28 22 71 22 20 22 51 75 69 74 22 20 20 20 74 72    61 6e 73 69 65 6e 74 2d 71 75 69 74 2d 6f 6e 65  | ("q"."Quit"...transient-quit-one | 
| 2e2e0 |  29 5d 29 0a 0a 28 74 72 61 6e 73 69 65 6e 74 2d    64 65 66 69 6e 65 2d 70 72 65 66 69 78 20 63 61  | )])..(transient-define-prefix.ca | 
| 2e300 |  6c 69 62 72 65 64 62 2d 73 65 74 2d 6d 65 74 61    64 61 74 61 2d 64 69 73 70 61 74 63 68 20 28 29  | libredb-set-metadata-dispatch.() | 
| 2e320 |  0a 20 20 22 44 69 73 70 61 74 63 68 20 66 6f 72    20 73 65 74 2d 6d 65 74 61 64 61 74 61 2e 22 0a  | ..."Dispatch.for.set-metadata.". | 
| 2e340 |  20 20 5b 22 41 72 67 75 6d 65 6e 74 73 22 0a 20    20 20 28 22 2d 61 22 20 22 61 75 74 68 6f 72 5f  | ..["Arguments"....("-a"."author_ | 
| 2e360 |  73 6f 72 74 22 20 20 22 61 75 74 68 6f 72 5f 73    6f 72 74 3a 22 20 63 61 6c 69 62 72 65 64 62 2d  | sort".."author_sort:".calibredb- | 
| 2e380 |  74 72 61 6e 73 69 65 6e 74 2d 72 65 61 64 2d 6d    65 74 61 64 61 74 61 2d 61 75 74 68 6f 72 2d 73  | transient-read-metadata-author-s | 
| 2e3a0 |  6f 72 74 29 0a 20 20 20 28 22 2d 41 22 20 22 61    75 74 68 6f 72 73 22 20 20 22 61 75 74 68 6f 72  | ort)....("-A"."authors".."author | 
| 2e3c0 |  73 3a 22 20 63 61 6c 69 62 72 65 64 62 2d 74 72    61 6e 73 69 65 6e 74 2d 72 65 61 64 2d 6d 65 74  | s:".calibredb-transient-read-met | 
| 2e3e0 |  61 64 61 74 61 2d 61 75 74 68 6f 72 73 29 0a 20    20 20 28 22 2d 63 22 20 22 63 6f 6d 6d 65 6e 74  | adata-authors)....("-c"."comment | 
| 2e400 |  73 22 20 20 22 63 6f 6d 6d 65 6e 74 73 3a 22 20    63 61 6c 69 62 72 65 64 62 2d 74 72 61 6e 73 69  | s".."comments:".calibredb-transi | 
| 2e420 |  65 6e 74 2d 72 65 61 64 2d 6d 65 74 61 64 61 74    61 2d 63 6f 6d 6d 65 6e 74 73 29 0a 20 20 20 28  | ent-read-metadata-comments)....( | 
| 2e440 |  22 2d 43 22 20 22 63 6f 76 65 72 22 20 22 63 6f    76 65 72 3a 22 20 63 61 6c 69 62 72 65 64 62 2d  | "-C"."cover"."cover:".calibredb- | 
| 2e460 |  74 72 61 6e 73 69 65 6e 74 2d 72 65 61 64 2d 66    69 6c 65 29 0a 20 20 20 28 22 2d 69 22 20 22 69  | transient-read-file)....("-i"."i | 
| 2e480 |  64 65 6e 74 69 66 69 65 72 73 22 20 20 22 69 64    65 6e 74 69 66 69 65 72 73 3a 22 20 63 61 6c 69  | dentifiers".."identifiers:".cali | 
| 2e4a0 |  62 72 65 64 62 2d 74 72 61 6e 73 69 65 6e 74 2d    72 65 61 64 2d 6d 65 74 61 64 61 74 61 2d 69 64  | bredb-transient-read-metadata-id | 
| 2e4c0 |  73 29 0a 20 20 20 28 22 2d 6c 22 20 22 6c 61 6e    67 75 61 67 65 73 22 20 20 22 6c 61 6e 67 75 61  | s)....("-l"."languages".."langua | 
| 2e4e0 |  67 65 73 3a 22 20 72 65 61 64 2d 73 74 72 69 6e    67 29 0a 20 20 20 28 22 2d 70 22 20 22 70 75 62  | ges:".read-string)....("-p"."pub | 
| 2e500 |  64 61 74 65 22 20 22 70 75 62 64 61 74 65 3a 22    20 74 72 61 6e 73 69 65 6e 74 2d 72 65 61 64 2d  | date"."pubdate:".transient-read- | 
| 2e520 |  64 61 74 65 29 0a 20 20 20 28 22 2d 50 22 20 22    70 75 62 6c 69 73 68 65 72 22 20 22 70 75 62 6c  | date)....("-P"."publisher"."publ | 
| 2e540 |  69 73 68 65 72 3a 22 20 72 65 61 64 2d 73 74 72    69 6e 67 29 0a 20 20 20 28 22 2d 72 22 20 22 72  | isher:".read-string)....("-r"."r | 
| 2e560 |  61 74 69 6e 67 22 20 20 22 72 61 74 69 6e 67 3a    22 20 72 65 61 64 2d 73 74 72 69 6e 67 29 0a 20  | ating".."rating:".read-string).. | 
| 2e580 |  20 20 28 22 2d 73 22 20 22 73 65 72 69 65 73 22    20 22 73 65 72 69 65 73 3a 22 20 72 65 61 64 2d  | ..("-s"."series"."series:".read- | 
| 2e5a0 |  73 74 72 69 6e 67 29 0a 20 20 20 28 22 2d 53 22    20 22 73 65 72 69 65 73 5f 69 6e 64 65 78 22 20  | string)....("-S"."series_index". | 
| 2e5c0 |  22 73 65 72 69 65 73 5f 69 6e 64 65 78 3a 22 20    72 65 61 64 2d 73 74 72 69 6e 67 29 0a 20 20 20  | "series_index:".read-string).... | 
| 2e5e0 |  28 22 2d 68 22 20 22 73 69 7a 65 22 20 22 73 69    7a 65 3a 22 20 72 65 61 64 2d 73 74 72 69 6e 67  | ("-h"."size"."size:".read-string | 
| 2e600 |  29 0a 20 20 20 28 22 2d 48 22 20 22 73 6f 72 74    22 20 22 73 6f 72 74 3a 22 20 72 65 61 64 2d 73  | )....("-H"."sort"."sort:".read-s | 
| 2e620 |  74 72 69 6e 67 29 0a 20 20 20 28 22 2d 74 22 20    22 74 61 67 73 22 20 22 74 61 67 73 3a 22 20 63  | tring)....("-t"."tags"."tags:".c | 
| 2e640 |  61 6c 69 62 72 65 64 62 2d 74 72 61 6e 73 69 65    6e 74 2d 72 65 61 64 2d 6d 65 74 61 64 61 74 61  | alibredb-transient-read-metadata | 
| 2e660 |  2d 74 61 67 73 29 0a 20 20 20 28 22 2d 54 22 20    22 74 69 74 6c 65 22 20 22 74 69 74 6c 65 3a 22  | -tags)....("-T"."title"."title:" | 
| 2e680 |  20 63 61 6c 69 62 72 65 64 62 2d 74 72 61 6e 73    69 65 6e 74 2d 72 65 61 64 2d 6d 65 74 61 64 61  | .calibredb-transient-read-metada | 
| 2e6a0 |  74 61 2d 74 69 74 6c 65 29 0a 20 20 20 28 22 2d    64 22 20 22 74 69 6d 65 73 74 61 6d 70 22 20 22  | ta-title)....("-d"."timestamp"." | 
| 2e6c0 |  74 69 6d 65 73 74 61 6d 70 3a 22 20 74 72 61 6e    73 69 65 6e 74 2d 72 65 61 64 2d 64 61 74 65 29  | timestamp:".transient-read-date) | 
| 2e6e0 |  5d 0a 20 20 5b 5b 22 53 69 6e 67 6c 65 20 46 69    65 6c 64 22 0a 20 20 20 20 28 22 74 22 20 22 74  | ]...[["Single.Field".....("t"."t | 
| 2e700 |  61 67 73 22 20 20 20 20 20 20 20 20 20 63 61 6c    69 62 72 65 64 62 2d 73 65 74 2d 6d 65 74 61 64  | ags".........calibredb-set-metad | 
| 2e720 |  61 74 61 2d 2d 74 61 67 73 29 0a 20 20 20 20 28    22 54 22 20 22 74 69 74 6c 65 22 20 20 20 20 20  | ata--tags).....("T"."title"..... | 
| 2e740 |  20 20 20 20 63 61 6c 69 62 72 65 64 62 2d 73 65    74 2d 6d 65 74 61 64 61 74 61 2d 2d 74 69 74 6c  | ....calibredb-set-metadata--titl | 
| 2e760 |  65 29 0a 20 20 20 20 28 22 61 22 20 22 61 75 74    68 6f 72 5f 73 6f 72 74 22 20 20 20 20 20 20 20  | e).....("a"."author_sort"....... | 
| 2e780 |  20 20 63 61 6c 69 62 72 65 64 62 2d 73 65 74 2d    6d 65 74 61 64 61 74 61 2d 2d 61 75 74 68 6f 72  | ..calibredb-set-metadata--author | 
| 2e7a0 |  5f 73 6f 72 74 29 0a 20 20 20 20 28 22 63 22 20    22 63 6f 6d 6d 65 6e 74 73 22 20 20 20 20 20 20  | _sort).....("c"."comments"...... | 
| 2e7c0 |  20 20 20 63 61 6c 69 62 72 65 64 62 2d 73 65 74    2d 6d 65 74 61 64 61 74 61 2d 2d 63 6f 6d 6d 65  | ...calibredb-set-metadata--comme | 
| 2e7e0 |  6e 74 73 29 5d 0a 20 20 20 5b 22 54 6f 67 67 6c    65 20 66 69 65 6c 64 22 0a 20 20 20 20 28 22 2a  | nts)]....["Toggle.field".....("* | 
| 2e800 |  22 20 22 66 61 76 6f 72 69 74 65 22 20 63 61 6c    69 62 72 65 64 62 2d 74 6f 67 67 6c 65 2d 66 61  | "."favorite".calibredb-toggle-fa | 
| 2e820 |  76 6f 72 69 74 65 2d 61 74 2d 70 6f 69 6e 74 29    0a 20 20 20 20 28 22 78 22 20 22 61 72 63 68 69  | vorite-at-point).....("x"."archi | 
| 2e840 |  76 65 22 20 63 61 6c 69 62 72 65 64 62 2d 74 6f    67 67 6c 65 2d 61 72 63 68 69 76 65 2d 61 74 2d  | ve".calibredb-toggle-archive-at- | 
| 2e860 |  70 6f 69 6e 74 29 0a 20 20 20 20 28 22 68 22 20    22 68 69 67 68 6c 69 67 68 74 22 20 63 61 6c 69  | point).....("h"."highlight".cali | 
| 2e880 |  62 72 65 64 62 2d 74 6f 67 67 6c 65 2d 68 69 67    68 6c 69 67 68 74 2d 61 74 2d 70 6f 69 6e 74 29  | bredb-toggle-highlight-at-point) | 
| 2e8a0 |  5d 0a 20 20 20 5b 22 53 65 74 20 6d 65 74 61 64    61 74 61 22 0a 20 20 20 20 28 22 73 22 20 22 53  | ]....["Set.metadata".....("s"."S | 
| 2e8c0 |  65 74 20 6d 65 74 61 64 61 74 61 20 57 69 74 68    20 41 72 67 75 6d 65 6e 74 73 22 20 20 20 20 20  | et.metadata.With.Arguments"..... | 
| 2e8e0 |  20 20 20 20 63 61 6c 69 62 72 65 64 62 2d 73 65    74 2d 6d 65 74 61 64 61 74 61 2d 2d 74 72 61 6e  | ....calibredb-set-metadata--tran | 
| 2e900 |  73 69 65 6e 74 29 0a 20 20 20 20 28 22 66 22 20    22 46 65 74 63 68 20 61 6e 64 20 73 65 74 20 6d  | sient).....("f"."Fetch.and.set.m | 
| 2e920 |  65 74 61 64 61 74 61 20 62 79 20 61 75 74 68 6f    72 20 61 6e 64 20 74 69 74 6c 65 22 20 20 63 61  | etadata.by.author.and.title"..ca | 
| 2e940 |  6c 69 62 72 65 64 62 2d 66 65 74 63 68 2d 61 6e    64 2d 73 65 74 2d 6d 65 74 61 64 61 74 61 2d 62  | libredb-fetch-and-set-metadata-b | 
| 2e960 |  79 2d 61 75 74 68 6f 72 2d 61 6e 64 2d 74 69 74    6c 65 29 0a 20 20 20 20 28 22 69 22 20 22 46 65  | y-author-and-title).....("i"."Fe | 
| 2e980 |  74 63 68 20 61 6e 64 20 73 65 74 20 6d 65 74 61    64 61 74 61 20 62 79 20 49 53 42 4e 22 20 20 63  | tch.and.set.metadata.by.ISBN"..c | 
| 2e9a0 |  61 6c 69 62 72 65 64 62 2d 66 65 74 63 68 2d 61    6e 64 2d 73 65 74 2d 6d 65 74 61 64 61 74 61 2d  | alibredb-fetch-and-set-metadata- | 
| 2e9c0 |  62 79 2d 69 73 62 6e 29 0a 20 20 20 20 28 22 64    22 20 22 46 65 74 63 68 20 61 6e 64 20 73 65 74  | by-isbn).....("d"."Fetch.and.set | 
| 2e9e0 |  20 6d 65 74 61 64 61 74 61 20 62 79 20 69 64 65    6e 74 69 66 69 65 72 22 20 20 63 61 6c 69 62 72  | .metadata.by.identifier"..calibr | 
| 2ea00 |  65 64 62 2d 66 65 74 63 68 2d 61 6e 64 2d 73 65    74 2d 6d 65 74 61 64 61 74 61 2d 62 79 2d 69 64  | edb-fetch-and-set-metadata-by-id | 
| 2ea20 |  29 5d 5d 0a 20 20 5b 28 22 71 22 20 22 51 75 69    74 22 20 20 20 74 72 61 6e 73 69 65 6e 74 2d 71  | )]]...[("q"."Quit"...transient-q | 
| 2ea40 |  75 69 74 2d 6f 6e 65 29 5d 29 0a 0a 28 74 72 61    6e 73 69 65 6e 74 2d 64 65 66 69 6e 65 2d 70 72  | uit-one)])..(transient-define-pr | 
| 2ea60 |  65 66 69 78 20 63 61 6c 69 62 72 65 64 62 2d 66    69 6c 74 65 72 2d 64 69 73 70 61 74 63 68 20 28  | efix.calibredb-filter-dispatch.( | 
| 2ea80 |  29 0a 20 20 22 44 69 73 70 61 74 63 68 20 66 6f    72 20 66 69 6c 74 65 72 69 6e 67 20 74 68 65 20  | )..."Dispatch.for.filtering.the. | 
| 2eaa0 |  72 65 73 75 6c 74 73 2e 22 0a 20 20 5b 5b 22 46    69 6c 74 65 72 20 62 79 22 0a 20 20 20 20 28 22  | results."...[["Filter.by".....(" | 
| 2eac0 |  74 22 20 22 74 61 67 22 20 20 20 20 20 20 20 20    20 63 61 6c 69 62 72 65 64 62 2d 66 69 6c 74 65  | t"."tag".........calibredb-filte | 
| 2eae0 |  72 2d 62 79 2d 74 61 67 29 0a 20 20 20 20 28 22    66 22 20 22 66 6f 72 6d 61 74 22 20 20 20 20 20  | r-by-tag).....("f"."format"..... | 
| 2eb00 |  20 20 20 20 63 61 6c 69 62 72 65 64 62 2d 66 69    6c 74 65 72 2d 62 79 2d 62 6f 6f 6b 2d 66 6f 72  | ....calibredb-filter-by-book-for | 
| 2eb20 |  6d 61 74 29 0a 20 20 20 20 28 22 61 22 20 22 61    75 74 68 6f 72 22 20 20 20 20 20 20 20 20 20 63  | mat).....("a"."author".........c | 
| 2eb40 |  61 6c 69 62 72 65 64 62 2d 66 69 6c 74 65 72 2d    62 79 2d 61 75 74 68 6f 72 2d 73 6f 72 74 29 0a  | alibredb-filter-by-author-sort). | 
| 2eb60 |  20 20 20 20 28 22 64 22 20 22 64 61 74 65 22 20    20 20 20 20 20 20 20 20 63 61 6c 69 62 72 65 64  | ....("d"."date".........calibred | 
| 2eb80 |  62 2d 66 69 6c 74 65 72 2d 62 79 2d 6c 61 73 74    5f 6d 6f 64 69 66 69 65 64 29 0a 20 20 20 20 28  | b-filter-by-last_modified).....( | 
| 2eba0 |  22 6c 22 20 22 6c 69 62 72 61 72 79 20 28 76 69    72 74 75 61 6c 29 22 20 20 20 20 20 20 63 61 6c  | "l"."library.(virtual)"......cal | 
| 2ebc0 |  69 62 72 65 64 62 2d 76 69 72 74 75 61 6c 2d 6c    69 62 72 61 72 79 2d 6c 69 73 74 29 0a 20 20 20  | ibredb-virtual-library-list).... | 
| 2ebe0 |  20 28 22 4c 22 20 22 4c 69 62 72 61 72 79 22 20    20 20 20 20 20 63 61 6c 69 62 72 65 64 62 2d 6c  | .("L"."Library"......calibredb-l | 
| 2ec00 |  69 62 72 61 72 79 2d 6c 69 73 74 29 0a 20 20 20    20 28 22 72 22 20 22 72 65 73 65 74 22 20 63 61  | ibrary-list).....("r"."reset".ca | 
| 2ec20 |  6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2d 63    6c 65 61 72 2d 66 69 6c 74 65 72 29 5d 5d 0a 20  | libredb-search-clear-filter)]].. | 
| 2ec40 |  20 5b 28 22 71 22 20 22 51 75 69 74 22 20 20 20    74 72 61 6e 73 69 65 6e 74 2d 71 75 69 74 2d 6f  | .[("q"."Quit"...transient-quit-o | 
| 2ec60 |  6e 65 29 5d 29 0a 0a 28 74 72 61 6e 73 69 65 6e    74 2d 64 65 66 69 6e 65 2d 70 72 65 66 69 78 20  | ne)])..(transient-define-prefix. | 
| 2ec80 |  63 61 6c 69 62 72 65 64 62 2d 73 6f 72 74 2d 64    69 73 70 61 74 63 68 20 28 29 0a 20 20 22 44 69  | calibredb-sort-dispatch.()..."Di | 
| 2eca0 |  73 70 61 74 63 68 20 66 6f 72 20 73 6f 72 74 69    6e 67 20 74 68 65 20 72 65 73 75 6c 74 73 2e 22  | spatch.for.sorting.the.results." | 
| 2ecc0 |  0a 20 20 5b 5b 22 53 6f 72 74 20 62 79 22 0a 20    20 20 20 28 22 6f 22 20 22 6f 72 64 65 72 20 28  | ...[["Sort.by".....("o"."order.( | 
| 2ece0 |  74 6f 67 67 6c 65 29 22 20 20 20 20 20 20 20 20    20 63 61 6c 69 62 72 65 64 62 2d 74 6f 67 67 6c  | toggle)".........calibredb-toggl | 
| 2ed00 |  65 2d 6f 72 64 65 72 29 0a 20 20 20 20 28 22 69    22 20 22 69 64 22 20 20 20 20 20 20 20 20 20 63  | e-order).....("i"."id".........c | 
| 2ed20 |  61 6c 69 62 72 65 64 62 2d 73 6f 72 74 2d 62 79    2d 69 64 29 0a 20 20 20 20 28 22 74 22 20 22 74  | alibredb-sort-by-id).....("t"."t | 
| 2ed40 |  69 74 6c 65 22 20 20 20 20 20 20 63 61 6c 69 62    72 65 64 62 2d 73 6f 72 74 2d 62 79 2d 74 69 74  | itle"......calibredb-sort-by-tit | 
| 2ed60 |  6c 65 29 0a 20 20 20 20 28 22 66 22 20 22 66 6f    72 6d 61 74 22 20 20 20 20 20 20 20 20 20 63 61  | le).....("f"."format".........ca | 
| 2ed80 |  6c 69 62 72 65 64 62 2d 73 6f 72 74 2d 62 79 2d    66 6f 72 6d 61 74 29 0a 20 20 20 20 28 22 61 22  | libredb-sort-by-format).....("a" | 
| 2eda0 |  20 22 61 75 74 68 6f 72 22 20 20 20 20 20 20 20    20 20 63 61 6c 69 62 72 65 64 62 2d 73 6f 72 74  | ."author".........calibredb-sort | 
| 2edc0 |  2d 62 79 2d 61 75 74 68 6f 72 29 0a 20 20 20 20    28 22 64 22 20 22 64 61 74 65 22 20 20 20 20 20  | -by-author).....("d"."date"..... | 
| 2ede0 |  20 63 61 6c 69 62 72 65 64 62 2d 73 6f 72 74 2d    62 79 2d 64 61 74 65 29 0a 20 20 20 20 28 22 70  | .calibredb-sort-by-date).....("p | 
| 2ee00 |  22 20 22 70 75 62 64 61 74 65 22 20 20 20 20 20    20 20 20 20 63 61 6c 69 62 72 65 64 62 2d 73 6f  | "."pubdate".........calibredb-so | 
| 2ee20 |  72 74 2d 62 79 2d 70 75 62 64 61 74 65 29 0a 20    20 20 20 28 22 54 22 20 22 54 61 67 22 20 20 20  | rt-by-pubdate).....("T"."Tag"... | 
| 2ee40 |  20 20 20 63 61 6c 69 62 72 65 64 62 2d 73 6f 72    74 2d 62 79 2d 74 61 67 29 0a 20 20 20 20 28 22  | ...calibredb-sort-by-tag).....(" | 
| 2ee60 |  73 22 20 22 73 69 7a 65 22 20 20 20 20 20 20 63    61 6c 69 62 72 65 64 62 2d 73 6f 72 74 2d 62 79  | s"."size"......calibredb-sort-by | 
| 2ee80 |  2d 73 69 7a 65 29 0a 20 20 20 20 28 22 6c 22 20    22 6c 61 6e 67 75 61 67 65 22 20 20 20 20 20 20  | -size).....("l"."language"...... | 
| 2eea0 |  63 61 6c 69 62 72 65 64 62 2d 73 6f 72 74 2d 62    79 2d 6c 61 6e 67 75 61 67 65 29 5d 5d 0a 20 20  | calibredb-sort-by-language)]]... | 
| 2eec0 |  5b 28 22 71 22 20 22 51 75 69 74 22 20 20 20 74    72 61 6e 73 69 65 6e 74 2d 71 75 69 74 2d 6f 6e  | [("q"."Quit"...transient-quit-on | 
| 2eee0 |  65 29 5d 29 0a 0a 28 74 72 61 6e 73 69 65 6e 74    2d 64 65 66 69 6e 65 2d 70 72 65 66 69 78 20 63  | e)])..(transient-define-prefix.c | 
| 2ef00 |  61 6c 69 62 72 65 64 62 2d 65 78 70 6f 72 74 2d    64 69 73 70 61 74 63 68 20 28 29 0a 20 20 22 44  | alibredb-export-dispatch.()..."D | 
| 2ef20 |  69 73 70 61 74 63 68 20 66 6f 72 20 65 78 70 6f    72 74 20 66 69 6c 65 73 2e 22 0a 20 20 5b 5b 22  | ispatch.for.export.files."...[[" | 
| 2ef40 |  45 78 70 6f 72 74 22 0a 20 20 20 20 28 22 45 22    20 22 45 78 70 6f 72 74 20 28 4e 6f 20 63 6f 6e  | Export".....("E"."Export.(No.con | 
| 2ef60 |  76 65 72 73 69 6f 6e 29 22 20 20 20 20 20 20 20    20 20 63 61 6c 69 62 72 65 64 62 2d 65 78 70 6f  | version)".........calibredb-expo | 
| 2ef80 |  72 74 2d 77 69 74 68 6f 75 74 2d 63 6f 6e 76 65    72 73 69 6f 6e 2d 64 69 73 70 61 74 63 68 29 0a  | rt-without-conversion-dispatch). | 
| 2efa0 |  20 20 20 20 28 22 61 22 20 22 61 7a 77 33 22 20    20 20 63 61 6c 69 62 72 65 64 62 2d 63 6f 6e 76  | ....("a"."azw3"...calibredb-conv | 
| 2efc0 |  65 72 74 2d 74 6f 2d 61 7a 77 33 29 0a 20 20 20    20 28 22 64 22 20 22 64 6f 63 78 22 20 20 20 63  | ert-to-azw3).....("d"."docx"...c | 
| 2efe0 |  61 6c 69 62 72 65 64 62 2d 63 6f 6e 76 65 72 74    2d 74 6f 2d 64 6f 63 78 29 0a 20 20 20 20 28 22  | alibredb-convert-to-docx).....(" | 
| 2f000 |  65 22 20 22 65 70 75 62 22 20 20 20 63 61 6c 69    62 72 65 64 62 2d 63 6f 6e 76 65 72 74 2d 74 6f  | e"."epub"...calibredb-convert-to | 
| 2f020 |  2d 65 70 75 62 29 0a 20 20 20 20 28 22 66 22 20    22 66 62 32 22 20 20 20 20 63 61 6c 69 62 72 65  | -epub).....("f"."fb2"....calibre | 
| 2f040 |  64 62 2d 63 6f 6e 76 65 72 74 2d 74 6f 2d 66 62    32 29 0a 20 20 20 20 28 22 68 22 20 22 68 74 6d  | db-convert-to-fb2).....("h"."htm | 
| 2f060 |  6c 22 20 20 20 63 61 6c 69 62 72 65 64 62 2d 63    6f 6e 76 65 72 74 2d 74 6f 2d 68 74 6d 6c 29 0a  | l"...calibredb-convert-to-html). | 
| 2f080 |  20 20 20 20 28 22 48 22 20 22 68 74 6d 6c 7a 22    20 20 63 61 6c 69 62 72 65 64 62 2d 63 6f 6e 76  | ....("H"."htmlz"..calibredb-conv | 
| 2f0a0 |  65 72 74 2d 74 6f 2d 68 74 6d 6c 7a 29 0a 20 20    20 20 28 22 6c 22 20 22 6c 69 74 22 20 20 20 63  | ert-to-htmlz).....("l"."lit"...c | 
| 2f0c0 |  61 6c 69 62 72 65 64 62 2d 63 6f 6e 76 65 72 74    2d 74 6f 2d 6c 69 74 29 0a 20 20 20 20 28 22 4c  | alibredb-convert-to-lit).....("L | 
| 2f0e0 |  22 20 22 6c 72 66 22 20 20 20 63 61 6c 69 62 72    65 64 62 2d 63 6f 6e 76 65 72 74 2d 74 6f 2d 6c  | "."lrf"...calibredb-convert-to-l | 
| 2f100 |  72 66 29 0a 20 20 20 20 28 22 6d 22 20 22 6d 6f    62 69 22 20 20 20 63 61 6c 69 62 72 65 64 62 2d  | rf).....("m"."mobi"...calibredb- | 
| 2f120 |  63 6f 6e 76 65 72 74 2d 74 6f 2d 6d 6f 62 69 29    0a 20 20 20 20 28 22 6f 22 20 22 6f 65 62 22 20  | convert-to-mobi).....("o"."oeb". | 
| 2f140 |  20 20 63 61 6c 69 62 72 65 64 62 2d 63 6f 6e 76    65 72 74 2d 74 6f 2d 6f 65 62 29 0a 20 20 20 20  | ..calibredb-convert-to-oeb)..... | 
| 2f160 |  28 22 50 22 20 22 70 64 62 22 20 20 20 63 61 6c    69 62 72 65 64 62 2d 63 6f 6e 76 65 72 74 2d 74  | ("P"."pdb"...calibredb-convert-t | 
| 2f180 |  6f 2d 70 64 62 29 0a 20 20 20 20 28 22 70 22 20    22 70 64 66 22 20 20 20 63 61 6c 69 62 72 65 64  | o-pdb).....("p"."pdf"...calibred | 
| 2f1a0 |  62 2d 63 6f 6e 76 65 72 74 2d 74 6f 2d 70 64 66    29 0a 20 20 20 20 28 22 4d 22 20 22 70 6d 6c 22  | b-convert-to-pdf).....("M"."pml" | 
| 2f1c0 |  20 20 20 63 61 6c 69 62 72 65 64 62 2d 63 6f 6e    76 65 72 74 2d 74 6f 2d 70 6d 6c 29 0a 20 20 20  | ...calibredb-convert-to-pml).... | 
| 2f1e0 |  20 28 22 72 22 20 22 72 62 22 20 20 20 63 61 6c    69 62 72 65 64 62 2d 63 6f 6e 76 65 72 74 2d 74  | .("r"."rb"...calibredb-convert-t | 
| 2f200 |  6f 2d 72 62 29 0a 20 20 20 20 28 22 52 22 20 22    72 74 66 22 20 20 20 63 61 6c 69 62 72 65 64 62  | o-rb).....("R"."rtf"...calibredb | 
| 2f220 |  2d 63 6f 6e 76 65 72 74 2d 74 6f 2d 72 74 66 29    0a 20 20 20 20 28 22 73 22 20 22 73 6e 62 22 20  | -convert-to-rtf).....("s"."snb". | 
| 2f240 |  20 20 63 61 6c 69 62 72 65 64 62 2d 63 6f 6e 76    65 72 74 2d 74 6f 2d 73 6e 62 29 0a 20 20 20 20  | ..calibredb-convert-to-snb)..... | 
| 2f260 |  28 22 54 22 20 22 74 63 72 22 20 20 20 63 61 6c    69 62 72 65 64 62 2d 63 6f 6e 76 65 72 74 2d 74  | ("T"."tcr"...calibredb-convert-t | 
| 2f280 |  6f 2d 74 63 72 29 0a 20 20 20 20 28 22 74 22 20    22 74 78 74 22 20 20 20 63 61 6c 69 62 72 65 64  | o-tcr).....("t"."txt"...calibred | 
| 2f2a0 |  62 2d 63 6f 6e 76 65 72 74 2d 74 6f 2d 74 78 74    29 0a 20 20 20 20 28 22 7a 22 20 22 74 78 74 7a  | b-convert-to-txt).....("z"."txtz | 
| 2f2c0 |  22 20 20 20 63 61 6c 69 62 72 65 64 62 2d 63 6f    6e 76 65 72 74 2d 74 6f 2d 74 78 74 7a 29 5d 5d  | "...calibredb-convert-to-txtz)]] | 
| 2f2e0 |  0a 20 20 5b 28 22 71 22 20 22 51 75 69 74 22 20    20 20 74 72 61 6e 73 69 65 6e 74 2d 71 75 69 74  | ...[("q"."Quit"...transient-quit | 
| 2f300 |  2d 6f 6e 65 29 5d 29 0a 0a 28 74 72 61 6e 73 69    65 6e 74 2d 64 65 66 69 6e 65 2d 70 72 65 66 69  | -one)])..(transient-define-prefi | 
| 2f320 |  78 20 63 61 6c 69 62 72 65 64 62 2d 65 78 70 6f    72 74 2d 77 69 74 68 6f 75 74 2d 63 6f 6e 76 65  | x.calibredb-export-without-conve | 
| 2f340 |  72 73 69 6f 6e 2d 64 69 73 70 61 74 63 68 20 28    29 0a 20 20 22 44 69 73 70 61 74 63 68 20 66 6f  | rsion-dispatch.()..."Dispatch.fo | 
| 2f360 |  72 20 65 78 70 6f 72 74 20 66 69 6c 65 73 20 77    69 74 68 6f 75 74 20 63 6f 6e 76 65 72 73 69 6f  | r.export.files.without.conversio | 
| 2f380 |  6e 2e 22 0a 20 20 5b 22 41 72 67 75 6d 65 6e 74    73 22 0a 20 20 20 28 22 2d 61 22 20 22 44 6f 20  | n."...["Arguments"....("-a"."Do. | 
| 2f3a0 |  6e 6f 74 20 63 6f 6e 76 65 72 74 20 6e 6f 6e 20    45 6e 67 6c 69 73 68 20 63 68 61 72 61 63 74 65  | not.convert.non.English.characte | 
| 2f3c0 |  72 73 20 66 6f 72 20 74 68 65 20 66 69 6c 65 20    6e 61 6d 65 73 22 20 20 22 2d 2d 64 6f 6e 74 2d  | rs.for.the.file.names".."--dont- | 
| 2f3e0 |  61 73 63 69 69 69 7a 65 22 29 0a 20 20 20 28 22    2d 63 22 20 22 44 6f 20 6e 6f 74 20 73 61 76 65  | asciiize")....("-c"."Do.not.save | 
| 2f400 |  20 63 6f 76 65 72 22 20 20 22 2d 2d 64 6f 6e 74    2d 73 61 76 65 2d 63 6f 76 65 72 22 29 0a 20 20  | .cover".."--dont-save-cover")... | 
| 2f420 |  20 28 22 2d 6d 22 20 22 44 6f 20 6e 6f 74 20 75    70 64 61 74 65 20 6d 65 74 61 64 61 74 61 22 20  | .("-m"."Do.not.update.metadata". | 
| 2f440 |  20 22 2d 2d 64 6f 6e 74 2d 75 70 64 61 74 65 2d    6d 65 74 61 64 61 74 61 22 29 0a 20 20 20 28 22  | ."--dont-update-metadata")....(" | 
| 2f460 |  2d 6f 22 20 22 44 6f 20 6e 6f 74 20 77 72 69 74    65 20 6f 70 66 22 20 22 2d 2d 64 6f 6e 74 2d 77  | -o"."Do.not.write.opf"."--dont-w | 
| 2f480 |  72 69 74 65 2d 6f 70 66 22 29 0a 20 20 20 28 22    2d 66 22 20 22 46 6f 72 6d 61 74 73 20 74 6f 20  | rite-opf")....("-f"."Formats.to. | 
| 2f4a0 |  73 61 76 65 20 66 6f 72 20 65 61 63 68 20 62 6f    6f 6b 2c 20 63 6f 6d 6d 61 20 73 65 70 61 72 61  | save.for.each.book,.comma.separa | 
| 2f4c0 |  74 65 64 2e 22 20 20 22 2d 2d 66 6f 72 6d 61 74    73 20 22 20 72 65 61 64 2d 73 74 72 69 6e 67 29  | ted.".."--formats.".read-string) | 
| 2f4e0 |  0a 20 20 20 28 22 2d 70 22 20 22 50 72 6f 67 72    65 73 73 20 52 65 70 6f 72 74 69 6e 67 22 20 20  | ....("-p"."Progress.Reporting".. | 
| 2f500 |  22 20 2d 2d 70 72 6f 67 72 65 73 73 22 29 0a 20    20 20 28 22 2d 72 22 20 22 52 65 70 6c 61 63 65  | ".--progress")....("-r"."Replace | 
| 2f520 |  20 77 68 69 74 65 73 70 61 63 65 20 77 69 74 68    20 75 6e 64 65 72 73 63 6f 72 65 73 2e 22 20 22  | .whitespace.with.underscores."." | 
| 2f540 |  2d 2d 72 65 70 6c 61 63 65 2d 77 68 69 74 65 73    70 61 63 65 22 29 0a 20 20 20 28 22 2d 73 22 20  | --replace-whitespace")....("-s". | 
| 2f560 |  22 53 69 6e 67 6c 65 20 64 69 72 65 63 74 6f 72    79 20 74 6f 20 65 78 70 6f 72 74 20 61 6c 6c 20  | "Single.directory.to.export.all. | 
| 2f580 |  66 69 6c 65 73 2e 22 20 22 2d 2d 73 69 6e 67 6c    65 2d 64 69 72 22 29 0a 20 20 20 28 22 2d 74 22  | files."."--single-dir")....("-t" | 
| 2f5a0 |  20 22 54 65 6d 70 6c 61 74 65 20 74 6f 20 63 6f    6e 74 72 6f 6c 20 74 68 65 20 66 69 6c 65 6e 61  | ."Template.to.control.the.filena | 
| 2f5c0 |  6d 65 20 61 6e 64 20 64 69 72 65 63 74 6f 72 79    20 73 74 72 75 63 74 75 72 65 2e 22 20 20 22 2d  | me.and.directory.structure.".."- | 
| 2f5e0 |  2d 74 65 6d 70 6c 61 74 65 22 20 72 65 61 64 2d    73 74 72 69 6e 67 29 0a 20 20 20 28 22 2d 64 22  | -template".read-string)....("-d" | 
| 2f600 |  20 22 44 61 74 65 73 20 66 6f 72 6d 61 74 2e 20    25 64 20 2d 20 64 61 79 2c 20 25 62 20 2d 20 6d  | ."Dates.format..%d.-.day,.%b.-.m | 
| 2f620 |  6f 6e 74 68 2c 20 25 6d 20 2d 20 6d 6f 6e 74 68    20 6e 75 6d 62 65 72 2c 20 25 59 20 2d 20 79 65  | onth,.%m.-.month.number,.%Y.-.ye | 
| 2f640 |  61 72 2e 20 44 65 66 61 75 6c 74 20 69 73 3a 20    25 62 2c 20 25 59 22 20 22 2d 2d 74 69 6d 65 66  | ar..Default.is:.%b,.%Y"."--timef | 
| 2f660 |  6d 74 22 20 72 65 61 64 2d 73 74 72 69 6e 67 29    0a 20 20 20 3b 3b 20 28 22 2d 6d 22 20 22 45 78  | mt".read-string)....;;.("-m"."Ex | 
| 2f680 |  70 6f 72 74 20 62 6f 6f 6b 73 20 74 6f 20 74 68    65 20 73 70 65 63 69 66 69 65 64 20 64 69 72 65  | port.books.to.the.specified.dire | 
| 2f6a0 |  63 74 6f 72 79 2e 20 44 65 66 61 75 6c 74 20 69    73 20 2e 22 20 20 22 2d 2d 74 6f 2d 64 69 72 22  | ctory..Default.is..".."--to-dir" | 
| 2f6c0 |  29 0a 20 20 20 28 22 2d 6c 22 20 22 43 6f 6e 76    65 72 74 20 70 61 74 68 73 20 74 6f 20 6c 6f 77  | )....("-l"."Convert.paths.to.low | 
| 2f6e0 |  65 72 63 61 73 65 2e 22 20 22 2d 2d 74 6f 2d 6c    6f 77 65 72 63 61 73 65 22 29 0a 20 20 20 28 22  | ercase."."--to-lowercase")....(" | 
| 2f700 |  2d 41 22 20 22 45 78 70 6f 72 74 20 61 6c 6c 20    62 6f 6f 6b 73 20 69 6e 20 64 61 74 61 62 61 73  | -A"."Export.all.books.in.databas | 
| 2f720 |  65 2c 20 69 67 6e 6f 72 69 6e 67 20 74 68 65 20    6c 69 73 74 20 6f 66 20 69 64 73 22 20 22 2d 2d  | e,.ignoring.the.list.of.ids"."-- | 
| 2f740 |  61 6c 6c 22 29 5d 0a 20 20 5b 5b 22 45 78 70 6f    72 74 22 0a 20 20 20 20 28 22 65 22 20 22 45 78  | all")]...[["Export".....("e"."Ex | 
| 2f760 |  70 6f 72 74 22 20 20 20 20 20 20 20 20 20 63 61    6c 69 62 72 65 64 62 2d 65 78 70 6f 72 74 29 5d  | port".........calibredb-export)] | 
| 2f780 |  5d 0a 20 20 5b 28 22 71 22 20 22 51 75 69 74 22    20 20 20 74 72 61 6e 73 69 65 6e 74 2d 71 75 69  | ]...[("q"."Quit"...transient-qui | 
| 2f7a0 |  74 2d 6f 6e 65 29 5d 29 0a 0a 28 74 72 61 6e 73    69 65 6e 74 2d 64 65 66 69 6e 65 2d 70 72 65 66  | t-one)])..(transient-define-pref | 
| 2f7c0 |  69 78 20 63 61 6c 69 62 72 65 64 62 2d 63 6f 6e    76 65 72 74 2d 74 6f 2d 65 70 75 62 2d 64 69 73  | ix.calibredb-convert-to-epub-dis | 
| 2f7e0 |  70 61 74 63 68 20 28 29 0a 20 20 22 54 4f 44 4f    3a 20 44 69 73 70 61 74 63 68 20 66 6f 72 20 63  | patch.()..."TODO:.Dispatch.for.c | 
| 2f800 |  6f 6e 76 65 72 74 20 74 6f 20 65 70 75 62 2e 22    0a 20 20 5b 22 41 72 67 75 6d 65 6e 74 73 22 0a  | onvert.to.epub."...["Arguments". | 
| 2f820 |  20 20 20 28 22 2d 61 22 20 22 54 75 72 6e 20 6f    66 66 20 73 70 6c 69 74 74 69 6e 67 20 61 74 20  | ...("-a"."Turn.off.splitting.at. | 
| 2f840 |  70 61 67 65 20 62 72 65 61 6b 73 2e 22 20 20 22    2d 2d 64 6f 6e 74 2d 73 70 6c 69 74 2d 6f 6e 2d  | page.breaks.".."--dont-split-on- | 
| 2f860 |  70 61 67 65 2d 62 72 65 61 6b 73 22 29 0a 20 20    20 28 22 2d 63 22 20 22 54 68 69 73 20 6f 70 74  | page-breaks")....("-c"."This.opt | 
| 2f880 |  69 6f 6e 20 69 73 20 6e 65 65 64 65 64 20 6f 6e    6c 79 20 69 66 20 79 6f 75 20 69 6e 74 65 6e 64  | ion.is.needed.only.if.you.intend | 
| 2f8a0 |  20 74 6f 20 75 73 65 20 74 68 65 20 45 50 55 42    20 77 69 74 68 20 46 42 52 65 61 64 65 72 4a 2e  | .to.use.the.EPUB.with.FBReaderJ. | 
| 2f8c0 |  22 20 20 22 2d 2d 65 70 75 62 2d 66 6c 61 74 74    65 6e 22 29 0a 20 20 20 28 22 2d 6d 22 20 22 49  | ".."--epub-flatten")....("-m"."I | 
| 2f8e0 |  6e 73 65 72 74 20 61 6e 20 69 6e 6c 69 6e 65 20    54 61 62 6c 65 20 6f 66 20 43 6f 6e 74 65 6e 74  | nsert.an.inline.Table.of.Content | 
| 2f900 |  73 20 74 68 61 74 20 77 69 6c 6c 20 61 70 70 65    61 72 20 61 73 20 70 61 72 74 20 6f 66 20 74 68  | s.that.will.appear.as.part.of.th | 
| 2f920 |  65 20 6d 61 69 6e 20 62 6f 6f 6b 20 63 6f 6e 74    65 6e 74 2e 22 20 20 22 2d 2d 65 70 75 62 2d 69  | e.main.book.content.".."--epub-i | 
| 2f940 |  6e 6c 69 6e 65 2d 74 6f 63 22 29 0a 20 20 20 28    22 2d 6f 22 20 22 50 75 74 20 74 68 65 20 69 6e  | nline-toc")....("-o"."Put.the.in | 
| 2f960 |  73 65 72 74 65 64 20 69 6e 6c 69 6e 65 20 54 61    62 6c 65 20 6f 66 20 43 6f 6e 74 65 6e 74 73 20  | serted.inline.Table.of.Contents. | 
| 2f980 |  61 74 20 74 68 65 20 65 6e 64 20 6f 66 20 74 68    65 20 62 6f 6f 6b 20 69 6e 73 74 65 61 64 20 6f  | at.the.end.of.the.book.instead.o | 
| 2f9a0 |  66 20 74 68 65 20 73 74 61 72 74 2e 22 20 22 2d    2d 65 70 75 62 2d 74 6f 63 2d 61 74 2d 65 6e 64  | f.the.start."."--epub-toc-at-end | 
| 2f9c0 |  22 29 0a 20 20 20 28 22 2d 66 22 20 22 54 68 65    20 76 65 72 73 69 6f 6e 20 6f 66 20 74 68 65 20  | ")....("-f"."The.version.of.the. | 
| 2f9e0 |  45 50 55 42 20 66 69 6c 65 20 74 6f 20 67 65 6e    65 72 61 74 65 2e 22 20 20 22 2d 2d 65 70 75 62  | EPUB.file.to.generate.".."--epub | 
| 2fa00 |  2d 76 65 72 73 69 6f 6e 22 29 0a 20 20 20 28 22    2d 70 22 20 22 45 78 74 72 61 63 74 20 74 68 65  | -version")....("-p"."Extract.the | 
| 2fa20 |  20 63 6f 6e 74 65 6e 74 73 20 6f 66 20 74 68 65    20 67 65 6e 65 72 61 74 65 64 20 45 50 55 42 20  | .contents.of.the.generated.EPUB. | 
| 2fa40 |  66 69 6c 65 20 74 6f 20 74 68 65 20 73 70 65 63    69 66 69 65 64 20 64 69 72 65 63 74 6f 72 79 2e  | file.to.the.specified.directory. | 
| 2fa60 |  20 22 20 20 22 2d 2d 65 78 74 72 61 63 74 2d 74    6f 22 29 0a 20 20 20 28 22 2d 72 22 20 22 53 70  | .".."--extract-to")....("-r"."Sp | 
| 2fa80 |  6c 69 74 20 61 6c 6c 20 48 54 4d 4c 20 66 69 6c    65 73 20 6c 61 72 67 65 72 20 74 68 61 6e 20 74  | lit.all.HTML.files.larger.than.t | 
| 2faa0 |  68 69 73 20 73 69 7a 65 20 28 69 6e 20 4b 42 29    2e 20 22 20 22 2d 2d 66 6c 6f 77 2d 73 69 7a 65  | his.size.(in.KB).."."--flow-size | 
| 2fac0 |  22 29 0a 20 20 20 28 22 2d 73 22 20 22 54 68 69    73 20 6f 70 74 69 6f 6e 20 64 69 73 61 62 6c 65  | ")....("-s"."This.option.disable | 
| 2fae0 |  73 20 74 68 65 20 67 65 6e 65 72 61 74 69 6f 6e    20 6f 66 20 74 68 69 73 20 63 6f 76 65 72 2e 22  | s.the.generation.of.this.cover." | 
| 2fb00 |  20 22 2d 2d 6e 6f 2d 64 65 66 61 75 6c 74 2d 65    70 75 62 2d 63 6f 76 65 72 22 29 0a 20 20 20 28  | ."--no-default-epub-cover")....( | 
| 2fb20 |  22 2d 74 22 20 22 44 6f 20 6e 6f 74 20 75 73 65    20 53 56 47 20 66 6f 72 20 74 68 65 20 62 6f 6f  | "-t"."Do.not.use.SVG.for.the.boo | 
| 2fb40 |  6b 20 63 6f 76 65 72 2e 22 20 20 22 2d 2d 6e 6f    2d 73 76 67 2d 63 6f 76 65 72 22 29 0a 20 20 20  | k.cover.".."--no-svg-cover").... | 
| 2fb60 |  28 22 2d 64 22 20 22 57 68 65 6e 20 75 73 69 6e    67 20 61 6e 20 53 56 47 20 63 6f 76 65 72 2c 20  | ("-d"."When.using.an.SVG.cover,. | 
| 2fb80 |  74 68 69 73 20 6f 70 74 69 6f 6e 20 77 69 6c 6c    20 63 61 75 73 65 20 74 68 65 20 63 6f 76 65 72  | this.option.will.cause.the.cover | 
| 2fba0 |  20 74 6f 20 73 63 61 6c 65 20 74 6f 20 63 6f 76    65 72 20 74 68 65 20 61 76 61 69 6c 61 62 6c 65  | .to.scale.to.cover.the.available | 
| 2fbc0 |  20 73 63 72 65 65 6e 20 61 72 65 61 2c 20 62 75    74 20 73 74 69 6c 6c 20 70 72 65 73 65 72 76 65  | .screen.area,.but.still.preserve | 
| 2fbe0 |  20 69 74 73 20 61 73 70 65 63 74 20 72 61 74 69    6f 20 28 72 61 74 69 6f 20 6f 66 20 77 69 64 74  | .its.aspect.ratio.(ratio.of.widt | 
| 2fc00 |  68 20 74 6f 20 68 65 69 67 68 74 29 22 20 22 2d    2d 70 72 65 73 65 72 76 65 2d 63 6f 76 65 72 2d  | h.to.height)"."--preserve-cover- | 
| 2fc20 |  61 73 70 65 63 74 2d 72 61 74 69 6f 22 29 0a 20    20 20 28 22 2d 6c 22 20 22 49 66 20 73 70 65 63  | aspect-ratio")....("-l"."If.spec | 
| 2fc40 |  69 66 69 65 64 2c 20 74 68 65 20 6f 75 74 70 75    74 20 70 6c 75 67 69 6e 20 77 69 6c 6c 20 74 72  | ified,.the.output.plugin.will.tr | 
| 2fc60 |  79 20 74 6f 20 63 72 65 61 74 65 20 6f 75 74 70    75 74 20 74 68 61 74 20 69 73 20 61 73 20 68 75  | y.to.create.output.that.is.as.hu | 
| 2fc80 |  6d 61 6e 20 72 65 61 64 61 62 6c 65 20 61 73 20    70 6f 73 73 69 62 6c 65 2e 22 20 22 2d 2d 70 72  | man.readable.as.possible."."--pr | 
| 2fca0 |  65 74 74 79 2d 70 72 69 6e 74 22 29 0a 20 20 20    28 22 2d 41 22 20 22 54 69 74 6c 65 20 66 6f 72  | etty-print")....("-A"."Title.for | 
| 2fcc0 |  20 61 6e 79 20 67 65 6e 65 72 61 74 65 64 20 69    6e 2d 6c 69 6e 65 20 74 61 62 6c 65 20 6f 66 20  | .any.generated.in-line.table.of. | 
| 2fce0 |  63 6f 6e 74 65 6e 74 73 2e 22 20 22 2d 2d 74 6f    63 2d 74 69 74 6c 65 22 29 5d 0a 20 20 5b 5b 22  | contents."."--toc-title")]...[[" | 
| 2fd00 |  45 78 70 6f 72 74 22 0a 20 20 20 20 28 22 65 22    20 22 45 78 70 6f 72 74 22 20 63 61 6c 69 62 72  | Export".....("e"."Export".calibr | 
| 2fd20 |  65 64 62 2d 63 6f 6e 76 65 72 74 2d 74 6f 2d 65    70 75 62 29 5d 5d 0a 20 20 5b 28 22 71 22 20 22  | edb-convert-to-epub)]]...[("q"." | 
| 2fd40 |  51 75 69 74 22 20 20 20 74 72 61 6e 73 69 65 6e    74 2d 71 75 69 74 2d 6f 6e 65 29 5d 29 0a 0a 28  | Quit"...transient-quit-one)])..( | 
| 2fd60 |  74 72 61 6e 73 69 65 6e 74 2d 64 65 66 69 6e 65    2d 70 72 65 66 69 78 20 63 61 6c 69 62 72 65 64  | transient-define-prefix.calibred | 
| 2fd80 |  62 2d 63 6f 6e 76 65 72 74 2d 74 6f 2d 6d 6f 62    69 2d 64 69 73 70 61 74 63 68 20 28 29 0a 20 20  | b-convert-to-mobi-dispatch.()... | 
| 2fda0 |  22 54 4f 44 4f 3a 20 44 69 73 70 61 74 63 68 20    66 6f 72 20 63 6f 6e 76 65 72 74 20 74 6f 20 6d  | "TODO:.Dispatch.for.convert.to.m | 
| 2fdc0 |  6f 62 69 2e 22 0a 20 20 5b 22 41 72 67 75 6d 65    6e 74 73 22 0a 20 20 20 28 22 2d 64 22 20 22 44  | obi."...["Arguments"....("-d"."D | 
| 2fde0 |  69 73 61 62 6c 65 20 63 6f 6d 70 72 65 73 73 69    6f 6e 20 6f 66 20 74 68 65 20 66 69 6c 65 20 63  | isable.compression.of.the.file.c | 
| 2fe00 |  6f 6e 74 65 6e 74 73 2e 22 20 20 22 20 2d 2d 64    6f 6e 74 2d 63 6f 6d 70 72 65 73 73 22 29 0a 20  | ontents."..".--dont-compress").. | 
| 2fe20 |  20 20 28 22 2d 65 22 20 22 45 78 74 72 61 63 74    20 74 68 65 20 63 6f 6e 74 65 6e 74 73 20 6f 66  | ..("-e"."Extract.the.contents.of | 
| 2fe40 |  20 74 68 65 20 67 65 6e 65 72 61 74 65 64 20 4d    4f 42 49 20 66 69 6c 65 20 74 6f 20 74 68 65 20  | .the.generated.MOBI.file.to.the. | 
| 2fe60 |  73 70 65 63 69 66 69 65 64 20 66 6f 6c 64 65 72    2e 22 20 20 22 2d 65 78 74 72 61 63 74 2d 74 6f  | specified.folder.".."-extract-to | 
| 2fe80 |  22 29 0a 20 20 20 28 22 2d 66 22 20 22 42 79 20    64 65 66 61 75 6c 74 20 63 61 6c 69 62 72 65 20  | ")....("-f"."By.default.calibre. | 
| 2fea0 |  67 65 6e 65 72 61 74 65 73 20 4d 4f 42 49 20 66    69 6c 65 73 20 74 68 61 74 20 63 6f 6e 74 61 69  | generates.MOBI.files.that.contai | 
| 2fec0 |  6e 20 74 68 65 20 6f 6c 64 20 4d 4f 42 49 20 36    20 66 6f 72 6d 61 74 2e 22 20 20 22 20 2d 2d 6d  | n.the.old.MOBI.6.format."..".--m | 
| 2fee0 |  6f 62 69 2d 66 69 6c 65 2d 74 79 70 65 22 29 0a    20 20 20 28 22 2d 69 22 20 22 49 67 6e 6f 72 65  | obi-file-type")....("-i"."Ignore | 
| 2ff00 |  20 6d 61 72 67 69 6e 73 20 69 6e 20 74 68 65 20    69 6e 70 75 74 20 64 6f 63 75 6d 65 6e 74 2e 20  | .margins.in.the.input.document.. | 
| 2ff20 |  22 20 22 20 2d 2d 6d 6f 62 69 2d 69 67 6e 6f 72    65 2d 6d 61 72 67 69 6e 73 22 29 0a 20 20 20 28  | ".".--mobi-ignore-margins")....( | 
| 2ff40 |  22 2d 6b 22 20 22 42 79 20 64 65 66 61 75 6c 74    20 63 61 6c 69 62 72 65 20 63 6f 6e 76 65 72 74  | "-k"."By.default.calibre.convert | 
| 2ff60 |  73 20 61 6c 6c 20 69 6d 61 67 65 73 20 74 6f 20    4a 50 45 47 20 66 6f 72 6d 61 74 20 69 6e 20 74  | s.all.images.to.JPEG.format.in.t | 
| 2ff80 |  68 65 20 6f 75 74 70 75 74 20 4d 4f 42 49 20 66    69 6c 65 2e 22 20 20 22 20 2d 2d 6d 6f 62 69 2d  | he.output.MOBI.file."..".--mobi- | 
| 2ffa0 |  6b 65 65 70 2d 6f 72 69 67 69 6e 61 6c 2d 69 6d    61 67 65 73 22 29 0a 20 20 20 28 22 2d 74 22 20  | keep-original-images")....("-t". | 
| 2ffc0 |  22 57 68 65 6e 20 61 64 64 69 6e 67 20 74 68 65    20 54 61 62 6c 65 20 6f 66 20 43 6f 6e 74 65 6e  | "When.adding.the.Table.of.Conten | 
| 2ffe0 |  74 73 20 74 6f 20 74 68 65 20 62 6f 6f 6b 2c 20    61 64 64 20 69 74 20 61 74 20 74 68 65 20 73 74  | ts.to.the.book,.add.it.at.the.st | 
| 30000 |  61 72 74 20 6f 66 20 74 68 65 20 62 6f 6f 6b 20    69 6e 73 74 65 61 64 20 6f 66 20 74 68 65 20 65  | art.of.the.book.instead.of.the.e | 
| 30020 |  6e 64 2e 22 20 20 22 2d 2d 6d 6f 62 69 2d 74 6f    63 2d 61 74 2d 73 74 61 72 74 22 29 0a 20 20 20  | nd.".."--mobi-toc-at-start").... | 
| 30040 |  28 22 2d 6e 22 20 22 44 6f 6e 27 74 20 61 64 64    20 54 61 62 6c 65 20 6f 66 20 43 6f 6e 74 65 6e  | ("-n"."Don't.add.Table.of.Conten | 
| 30060 |  74 73 20 74 6f 20 74 68 65 20 62 6f 6f 6b 2e 20    55 73 65 66 75 6c 20 69 66 20 74 68 65 20 62 6f  | ts.to.the.book..Useful.if.the.bo | 
| 30080 |  6f 6b 20 68 61 73 20 69 74 73 20 6f 77 6e 20 74    61 62 6c 65 20 6f 66 20 63 6f 6e 74 65 6e 74 73  | ok.has.its.own.table.of.contents | 
| 300a0 |  2e 22 20 22 2d 2d 6e 6f 2d 69 6e 6c 69 6e 65 2d    74 6f 63 22 29 0a 20 20 20 28 22 2d 70 22 20 22  | ."."--no-inline-toc")....("-p"." | 
| 300c0 |  54 61 67 20 66 6f 72 20 4d 4f 42 49 20 66 69 6c    65 73 20 74 6f 20 62 65 20 6d 61 72 6b 65 64 20  | Tag.for.MOBI.files.to.be.marked. | 
| 300e0 |  61 73 20 70 65 72 73 6f 6e 61 6c 20 64 6f 63 75    6d 65 6e 74 73 2e 22 20 22 2d 2d 70 65 72 73 6f  | as.personal.documents."."--perso | 
| 30100 |  6e 61 6c 2d 64 6f 63 22 29 0a 20 20 20 28 22 2d    61 22 20 22 57 68 65 6e 20 70 72 65 73 65 6e 74  | nal-doc")....("-a"."When.present | 
| 30120 |  2c 20 75 73 65 20 61 75 74 68 6f 72 20 73 6f 72    74 20 66 69 65 6c 64 20 61 73 20 61 75 74 68 6f  | ,.use.author.sort.field.as.autho | 
| 30140 |  72 2e 22 20 20 22 2d 2d 70 72 65 66 65 72 2d 61    75 74 68 6f 72 2d 73 6f 72 74 22 29 0a 20 20 20  | r.".."--prefer-author-sort").... | 
| 30160 |  28 22 2d 50 22 20 22 49 66 20 73 70 65 63 69 66    69 65 64 2c 20 74 68 65 20 6f 75 74 70 75 74 20  | ("-P"."If.specified,.the.output. | 
| 30180 |  70 6c 75 67 69 6e 20 77 69 6c 6c 20 74 72 79 20    74 6f 20 63 72 65 61 74 65 20 6f 75 74 70 75 74  | plugin.will.try.to.create.output | 
| 301a0 |  20 74 68 61 74 20 69 73 20 61 73 20 68 75 6d 61    6e 20 72 65 61 64 61 62 6c 65 20 61 73 20 70 6f  | .that.is.as.human.readable.as.po | 
| 301c0 |  73 73 69 62 6c 65 2e 22 20 22 2d 2d 70 72 65 74    74 79 2d 70 72 69 6e 74 22 29 0a 20 20 20 28 22  | ssible."."--pretty-print")....(" | 
| 301e0 |  2d 73 22 20 22 45 6e 61 62 6c 65 20 73 68 61 72    69 6e 67 20 6f 66 20 62 6f 6f 6b 20 63 6f 6e 74  | -s"."Enable.sharing.of.book.cont | 
| 30200 |  65 6e 74 20 76 69 61 20 46 61 63 65 62 6f 6f 6b    20 65 74 63 2e 22 20 22 2d 2d 73 68 61 72 65 2d  | ent.via.Facebook.etc."."--share- | 
| 30220 |  6e 6f 74 2d 73 79 6e 63 22 29 0a 20 20 20 28 22    2d 54 22 20 22 54 69 74 6c 65 20 66 6f 72 20 61  | not-sync")....("-T"."Title.for.a | 
| 30240 |  6e 79 20 67 65 6e 65 72 61 74 65 64 20 69 6e 2d    6c 69 6e 65 20 74 61 62 6c 65 20 6f 66 20 63 6f  | ny.generated.in-line.table.of.co | 
| 30260 |  6e 74 65 6e 74 73 2e 22 20 22 2d 2d 74 6f 63 2d    74 69 74 6c 65 22 29 5d 0a 20 20 5b 5b 22 45 78  | ntents."."--toc-title")]...[["Ex | 
| 30280 |  70 6f 72 74 22 0a 20 20 20 20 28 22 65 22 20 22    45 78 70 6f 72 74 22 20 63 61 6c 69 62 72 65 64  | port".....("e"."Export".calibred | 
| 302a0 |  62 2d 63 6f 6e 76 65 72 74 2d 74 6f 2d 6d 6f 62    69 29 5d 5d 0a 20 20 5b 28 22 71 22 20 22 51 75  | b-convert-to-mobi)]]...[("q"."Qu | 
| 302c0 |  69 74 22 20 20 20 74 72 61 6e 73 69 65 6e 74 2d    71 75 69 74 2d 6f 6e 65 29 5d 29 0a 0a 28 74 72  | it"...transient-quit-one)])..(tr | 
| 302e0 |  61 6e 73 69 65 6e 74 2d 64 65 66 69 6e 65 2d 70    72 65 66 69 78 20 63 61 6c 69 62 72 65 64 62 2d  | ansient-define-prefix.calibredb- | 
| 30300 |  63 61 74 61 6c 6f 67 2d 62 69 62 2d 64 69 73 70    61 74 63 68 20 28 29 0a 20 20 22 44 69 73 70 61  | catalog-bib-dispatch.()..."Dispa | 
| 30320 |  74 63 68 20 66 6f 72 20 63 61 74 61 6c 6f 67 20    42 69 62 54 65 78 2e 22 0a 20 20 5b 22 41 72 67  | tch.for.catalog.BibTex."...["Arg | 
| 30340 |  75 6d 65 6e 74 73 22 0a 20 20 20 28 22 2d 66 22    20 22 54 68 65 20 66 69 65 6c 64 73 20 28 63 6f  | uments"....("-f"."The.fields.(co | 
| 30360 |  6d 6d 61 2d 73 65 70 61 72 61 74 65 64 29 20 74    6f 20 6f 75 74 70 75 74 2e 20 44 65 66 61 75 6c  | mma-separated).to.output..Defaul | 
| 30380 |  74 3a 20 61 6c 6c 22 20 22 2d 2d 66 69 65 6c 64    73 20 22 20 63 61 6c 69 62 72 65 64 62 2d 74 72  | t:.all"."--fields.".calibredb-tr | 
| 303a0 |  61 6e 73 69 65 6e 74 2d 72 65 61 64 2d 62 69 62    2d 66 69 65 6c 64 73 29 0a 20 20 20 28 22 2d 74  | ansient-read-bib-fields)....("-t | 
| 303c0 |  22 20 22 45 6e 74 72 79 20 74 79 70 65 20 66 6f    72 20 42 69 62 54 65 58 20 63 61 74 61 6c 6f 67  | "."Entry.type.for.BibTeX.catalog | 
| 303e0 |  2e 20 44 65 66 61 75 6c 74 3a 20 62 6f 6f 6b 22    20 20 22 2d 2d 65 6e 74 72 79 2d 74 79 70 65 20  | ..Default:.book".."--entry-type. | 
| 30400 |  22 20 63 61 6c 69 62 72 65 64 62 2d 74 72 61 6e    73 69 65 6e 74 2d 72 65 61 64 2d 65 6e 74 72 79  | ".calibredb-transient-read-entry | 
| 30420 |  2d 74 79 70 65 29 0a 20 20 20 28 22 2d 73 22 20    22 4f 75 74 70 75 74 20 66 69 65 6c 64 20 74 6f  | -type)....("-s"."Output.field.to | 
| 30440 |  20 73 6f 72 74 20 6f 6e 2e 20 44 65 66 61 75 6c    74 3a 20 69 64 22 20 22 2d 2d 73 6f 72 74 2d 62  | .sort.on..Default:.id"."--sort-b | 
| 30460 |  79 20 22 20 63 61 6c 69 62 72 65 64 62 2d 74 72    61 6e 73 69 65 6e 74 2d 72 65 61 64 2d 62 69 62  | y.".calibredb-transient-read-bib | 
| 30480 |  2d 73 6f 72 74 2d 62 79 29 0a 20 20 20 28 22 2d    63 22 20 22 43 72 65 61 74 65 20 61 20 63 69 74  | -sort-by)....("-c"."Create.a.cit | 
| 304a0 |  61 74 69 6f 6e 20 66 6f 72 20 42 69 62 54 65 58    20 65 6e 74 72 69 65 73 2e 20 44 65 66 61 75 6c  | ation.for.BibTeX.entries..Defaul | 
| 304c0 |  74 3a 20 54 72 75 65 22 20 20 22 20 2d 2d 63 72    65 61 74 65 2d 63 69 74 61 74 69 6f 6e 20 22 20  | t:.True"..".--create-citation.". | 
| 304e0 |  63 61 6c 69 62 72 65 64 62 2d 74 72 61 6e 73 69    65 6e 74 2d 72 65 61 64 2d 62 69 62 2d 63 72 65  | calibredb-transient-read-bib-cre | 
| 30500 |  61 74 65 2d 63 69 74 61 74 69 6f 6e 29 0a 20 20    20 28 22 2d 70 22 20 22 43 72 65 61 74 65 20 61  | ate-citation)....("-p"."Create.a | 
| 30520 |  20 66 69 6c 65 20 65 6e 74 72 79 20 69 66 20 66    6f 72 6d 61 74 73 20 69 73 20 73 65 6c 65 63 74  | .file.entry.if.formats.is.select | 
| 30540 |  65 64 20 66 6f 72 20 42 69 62 54 65 58 20 65 6e    74 72 69 65 73 2e 20 44 65 66 61 75 6c 74 3a 20  | ed.for.BibTeX.entries..Default:. | 
| 30560 |  54 72 75 65 22 20 20 22 2d 2d 61 64 64 2d 66 69    6c 65 73 2d 70 61 74 68 20 22 20 63 61 6c 69 62  | True".."--add-files-path.".calib | 
| 30580 |  72 65 64 62 2d 74 72 61 6e 73 69 65 6e 74 2d 72    65 61 64 2d 62 69 62 2d 61 64 64 2d 66 69 6c 65  | redb-transient-read-bib-add-file | 
| 305a0 |  73 2d 70 61 74 68 29 0a 20 20 20 28 22 2d 54 22    20 22 54 68 65 20 74 65 6d 70 6c 61 74 65 20 66  | s-path)....("-T"."The.template.f | 
| 305c0 |  6f 72 20 63 69 74 61 74 69 6f 6e 20 63 72 65 61    74 69 6f 6e 20 66 72 6f 6d 20 64 61 74 61 62 61  | or.citation.creation.from.databa | 
| 305e0 |  73 65 20 66 69 65 6c 64 73 2e 20 44 65 66 61 75    6c 74 3a 20 7b 61 75 74 68 6f 72 73 7d 7b 69 64  | se.fields..Default:.{authors}{id | 
| 30600 |  7d 22 20 22 2d 2d 63 69 74 61 74 69 6f 6e 2d 74    65 6d 70 6c 61 74 65 20 22 20 63 61 6c 69 62 72  | }"."--citation-template.".calibr | 
| 30620 |  65 64 62 2d 74 72 61 6e 73 69 65 6e 74 2d 72 65    61 64 2d 62 69 62 2d 63 69 74 61 74 69 6f 6e 2d  | edb-transient-read-bib-citation- | 
| 30640 |  74 65 6d 70 6c 61 74 65 29 0a 20 20 20 28 22 2d    65 22 20 22 42 69 62 54 65 58 20 66 69 6c 65 20  | template)....("-e"."BibTeX.file. | 
| 30660 |  65 6e 63 6f 64 69 6e 67 20 6f 75 74 70 75 74 2e    20 44 65 66 61 75 6c 74 3a 20 75 74 66 38 22 20  | encoding.output..Default:.utf8". | 
| 30680 |  20 22 2d 2d 63 68 6f 6f 73 65 2d 65 6e 63 6f 64    69 6e 67 20 22 20 63 61 6c 69 62 72 65 64 62 2d  | ."--choose-encoding.".calibredb- | 
| 306a0 |  74 72 61 6e 73 69 65 6e 74 2d 72 65 61 64 2d 63    68 6f 6f 73 65 2d 65 6e 63 6f 64 69 6e 67 29 0a  | transient-read-choose-encoding). | 
| 306c0 |  20 20 20 28 22 2d 45 22 20 22 42 69 62 54 65 58    20 66 69 6c 65 20 65 6e 63 6f 64 69 6e 67 20 66  | ...("-E"."BibTeX.file.encoding.f | 
| 306e0 |  6c 61 67 2e 20 44 65 66 61 75 6c 74 3a 20 73 74    72 69 63 74 22 20 20 22 2d 2d 63 68 6f 6f 73 65  | lag..Default:.strict".."--choose | 
| 30700 |  2d 65 6e 63 6f 64 69 6e 67 2d 63 6f 6e 66 69 67    75 72 61 74 69 6f 6e 20 22 20 63 61 6c 69 62 72  | -encoding-configuration.".calibr | 
| 30720 |  65 64 62 2d 74 72 61 6e 73 69 65 6e 74 2d 72 65    61 64 2d 63 68 6f 6f 73 65 2d 65 6e 63 6f 64 69  | edb-transient-read-choose-encodi | 
| 30740 |  6e 67 2d 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e    29 5d 0a 20 20 5b 5b 22 42 69 62 74 65 78 22 0a  | ng-configuration)]...[["Bibtex". | 
| 30760 |  20 20 20 20 28 22 6f 22 20 22 46 69 6e 64 20 42    69 62 54 65 78 20 66 69 6c 65 22 20 20 20 20 20  | ....("o"."Find.BibTex.file"..... | 
| 30780 |  20 20 20 20 63 61 6c 69 62 72 65 64 62 2d 66 69    6e 64 2d 62 69 62 29 0a 20 20 20 20 28 22 62 22  | ....calibredb-find-bib).....("b" | 
| 307a0 |  20 22 55 70 64 61 74 65 20 42 69 62 54 65 78 20    66 69 6c 65 22 20 20 20 20 20 20 20 20 20 63 61  | ."Update.BibTex.file".........ca | 
| 307c0 |  6c 69 62 72 65 64 62 2d 63 61 74 61 6c 6f 67 2d    62 69 62 2d 2d 74 72 61 6e 73 69 65 6e 74 29 5d  | libredb-catalog-bib--transient)] | 
| 307e0 |  5d 0a 20 20 5b 28 22 71 22 20 22 51 75 69 74 22    20 20 20 74 72 61 6e 73 69 65 6e 74 2d 71 75 69  | ]...[("q"."Quit"...transient-qui | 
| 30800 |  74 2d 6f 6e 65 29 5d 29 0a 0a 28 74 72 61 6e 73    69 65 6e 74 2d 64 65 66 69 6e 65 2d 70 72 65 66  | t-one)])..(transient-define-pref | 
| 30820 |  69 78 20 63 61 6c 69 62 72 65 64 62 2d 79 61 6e    6b 2d 64 69 73 70 61 74 63 68 20 28 29 0a 20 20  | ix.calibredb-yank-dispatch.()... | 
| 30840 |  22 49 6e 76 6f 6b 65 20 61 20 59 61 6e 6b 20 6f    70 65 72 61 74 69 6f 6e 2e 22 0a 20 20 3a 6d 61  | "Invoke.a.Yank.operation."...:ma | 
| 30860 |  6e 2d 70 61 67 65 20 22 63 61 6c 69 62 72 65 64    62 22 0a 20 20 5b 22 59 61 6e 6b 20 6f 70 65 72  | n-page."calibredb"...["Yank.oper | 
| 30880 |  61 69 6f 6e 22 0a 20 20 20 5b 28 22 79 22 20 22    43 6f 70 79 20 61 73 20 63 61 6c 69 62 72 65 64  | aion"....[("y"."Copy.as.calibred | 
| 308a0 |  62 20 6f 72 67 20 6c 69 6e 6b 73 22 20 20 20 20    20 20 20 20 20 63 61 6c 69 62 72 65 64 62 2d 6f  | b.org.links".........calibredb-o | 
| 308c0 |  72 67 2d 6c 69 6e 6b 2d 63 6f 70 79 29 0a 20 20    20 20 28 22 66 22 20 22 43 6f 70 79 20 61 73 20  | rg-link-copy).....("f"."Copy.as. | 
| 308e0 |  66 69 6c 65 20 6f 72 67 20 6c 69 6e 6b 73 22 20    20 20 20 20 20 20 20 20 20 20 20 20 20 63 61 6c  | file.org.links"..............cal | 
| 30900 |  69 62 72 65 64 62 2d 63 6f 70 79 2d 61 73 2d 6f    72 67 2d 6c 69 6e 6b 29 0a 20 20 20 20 28 22 74  | ibredb-copy-as-org-link).....("t | 
| 30920 |  22 20 22 43 6f 70 79 20 74 69 74 6c 65 73 22 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | "."Copy.titles"................. | 
| 30940 |  20 20 20 20 20 20 20 20 63 61 6c 69 62 72 65 64    62 2d 6f 72 67 2d 74 69 74 6c 65 2d 63 6f 70 79  | ........calibredb-org-title-copy | 
| 30960 |  29 0a 20 20 20 20 28 22 6d 22 20 22 43 6f 70 79    20 61 73 20 6f 72 67 2d 70 72 6f 74 6f 63 6f 6c  | ).....("m"."Copy.as.org-protocol | 
| 30980 |  20 6d 61 72 6b 64 6f 77 6e 20 6c 69 6e 6b 73 22    20 63 61 6c 69 62 72 65 64 62 2d 6f 72 67 2d 70  | .markdown.links".calibredb-org-p | 
| 309a0 |  72 6f 74 6f 63 6f 6c 2d 6c 69 6e 6b 2d 6d 61 72    6b 64 6f 77 6e 2d 63 6f 70 79 29 0a 20 20 20 20  | rotocol-link-markdown-copy)..... | 
| 309c0 |  28 22 4d 22 20 22 43 6f 70 79 20 61 73 20 6d 61    72 6b 64 6f 77 6e 20 6c 69 6e 6b 73 22 20 20 20  | ("M"."Copy.as.markdown.links"... | 
| 309e0 |  20 20 20 20 20 20 20 20 20 20 20 63 61 6c 69 62    72 65 64 62 2d 6f 72 67 2d 6d 61 72 6b 64 6f 77  | ...........calibredb-org-markdow | 
| 30a00 |  6e 2d 63 6f 70 79 29 0a 20 20 20 20 28 22 6f 22    20 22 43 6f 70 79 20 61 73 20 6f 72 67 2d 70 72  | n-copy).....("o"."Copy.as.org-pr | 
| 30a20 |  6f 74 6f 63 6f 6c 20 6c 69 6e 6b 73 22 20 20 20    20 20 20 20 20 20 20 63 61 6c 69 62 72 65 64 62  | otocol.links"..........calibredb | 
| 30a40 |  2d 6f 72 67 2d 70 72 6f 74 6f 63 6f 6c 2d 6c 69    6e 6b 2d 63 6f 70 79 29 5d 5d 0a 20 20 5b 28 22  | -org-protocol-link-copy)]]...[(" | 
| 30a60 |  71 22 20 22 51 75 69 74 22 20 20 20 74 72 61 6e    73 69 65 6e 74 2d 71 75 69 74 2d 6f 6e 65 29 5d  | q"."Quit"...transient-quit-one)] | 
| 30a80 |  29 0a 0a 28 64 65 66 75 6e 20 63 61 6c 69 62 72    65 64 62 2d 74 72 61 6e 73 69 65 6e 74 2d 72 65  | )..(defun.calibredb-transient-re | 
| 30aa0 |  61 64 2d 62 69 62 2d 66 69 65 6c 64 73 20 28 70    72 6f 6d 70 74 20 5f 69 6e 69 74 69 61 6c 2d 69  | ad-bib-fields.(prompt._initial-i | 
| 30ac0 |  6e 70 75 74 20 5f 68 69 73 74 6f 72 79 29 0a 20    20 22 54 4f 44 4f 3a 20 52 65 61 64 20 61 20 42  | nput._history)..."TODO:.Read.a.B | 
| 30ae0 |  69 62 54 65 78 20 2d 2d 66 69 65 6c 64 73 20 76    61 6c 75 65 2e 0a 41 72 67 75 6d 65 6e 74 20 50  | ibTex.--fields.value..Argument.P | 
| 30b00 |  52 4f 4d 50 54 20 70 72 6f 6d 70 74 20 74 6f 20    73 68 6f 77 2e 22 0a 20 20 28 72 65 61 64 2d 73  | ROMPT.prompt.to.show."...(read-s | 
| 30b20 |  74 72 69 6e 67 20 70 72 6f 6d 70 74 20 22 74 69    74 6c 65 2c 74 69 74 6c 65 5f 73 6f 72 74 2c 61  | tring.prompt."title,title_sort,a | 
| 30b40 |  75 74 68 6f 72 5f 73 6f 72 74 2c 61 75 74 68 6f    72 73 2c 63 6f 6d 6d 65 6e 74 73 2c 63 6f 76 65  | uthor_sort,authors,comments,cove | 
| 30b60 |  72 2c 66 6f 72 6d 61 74 73 2c 69 64 2c 69 73 62    6e 2c 6c 69 62 72 61 72 79 5f 6e 61 6d 65 2c 6f  | r,formats,id,isbn,library_name,o | 
| 30b80 |  6e 64 65 76 69 63 65 2c 70 75 62 64 61 74 65 2c    70 75 62 6c 69 73 68 65 72 2c 72 61 74 69 6e 67  | ndevice,pubdate,publisher,rating | 
| 30ba0 |  2c 73 65 72 69 65 73 5f 69 6e 64 65 78 2c 73 65    72 69 65 73 2c 73 69 7a 65 2c 74 61 67 73 2c 74  | ,series_index,series,size,tags,t | 
| 30bc0 |  69 6d 65 73 74 61 6d 70 2c 75 75 69 64 2c 6c 61    6e 67 75 61 67 65 73 2c 69 64 65 6e 74 69 66 69  | imestamp,uuid,languages,identifi | 
| 30be0 |  65 72 73 22 29 29 0a 0a 28 64 65 66 75 6e 20 63    61 6c 69 62 72 65 64 62 2d 74 72 61 6e 73 69 65  | ers"))..(defun.calibredb-transie | 
| 30c00 |  6e 74 2d 72 65 61 64 2d 62 69 62 2d 73 6f 72 74    2d 62 79 20 28 70 72 6f 6d 70 74 20 5f 69 6e 69  | nt-read-bib-sort-by.(prompt._ini | 
| 30c20 |  74 69 61 6c 2d 69 6e 70 75 74 20 5f 68 69 73 74    6f 72 79 29 0a 20 20 22 52 65 61 64 20 61 20 42  | tial-input._history)..."Read.a.B | 
| 30c40 |  69 62 54 65 78 20 2d 2d 73 6f 72 74 2d 62 79 20    76 61 6c 75 65 2e 0a 41 72 67 75 6d 65 6e 74 20  | ibTex.--sort-by.value..Argument. | 
| 30c60 |  50 52 4f 4d 50 54 20 70 72 6f 6d 70 74 20 74 6f    20 73 68 6f 77 2e 22 0a 20 20 28 63 6f 6d 70 6c  | PROMPT.prompt.to.show."...(compl | 
| 30c80 |  65 74 69 6e 67 2d 72 65 61 64 20 70 72 6f 6d 70    74 20 27 28 22 61 75 74 68 6f 72 5f 73 6f 72 74  | eting-read.prompt.'("author_sort | 
| 30ca0 |  22 20 22 69 64 22 20 22 72 61 74 69 6e 67 22 20    22 73 69 7a 65 22 20 22 74 69 6d 65 73 74 61 6d  | "."id"."rating"."size"."timestam | 
| 30cc0 |  70 22 20 22 74 69 74 6c 65 22 29 29 29 0a 0a 28    64 65 66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d  | p"."title")))..(defun.calibredb- | 
| 30ce0 |  74 72 61 6e 73 69 65 6e 74 2d 72 65 61 64 2d 62    69 62 2d 63 72 65 61 74 65 2d 63 69 74 61 74 69  | transient-read-bib-create-citati | 
| 30d00 |  6f 6e 20 28 70 72 6f 6d 70 74 20 5f 69 6e 69 74    69 61 6c 2d 69 6e 70 75 74 20 5f 68 69 73 74 6f  | on.(prompt._initial-input._histo | 
| 30d20 |  72 79 29 0a 20 20 22 52 65 61 64 20 61 20 42 69    62 54 65 78 20 2d 2d 63 72 65 61 74 65 2d 63 69  | ry)..."Read.a.BibTex.--create-ci | 
| 30d40 |  74 61 74 69 6f 6e 20 76 61 6c 75 65 2e 0a 41 72    67 75 6d 65 6e 74 20 50 52 4f 4d 50 54 20 70 72  | tation.value..Argument.PROMPT.pr | 
| 30d60 |  6f 6d 70 74 20 74 6f 20 73 68 6f 77 2e 22 0a 20    20 28 63 6f 6d 70 6c 65 74 69 6e 67 2d 72 65 61  | ompt.to.show."...(completing-rea | 
| 30d80 |  64 20 70 72 6f 6d 70 74 20 27 28 22 54 72 75 65    22 20 22 46 61 6c 73 65 22 29 29 29 0a 0a 28 64  | d.prompt.'("True"."False")))..(d | 
| 30da0 |  65 66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d 74    72 61 6e 73 69 65 6e 74 2d 72 65 61 64 2d 62 69  | efun.calibredb-transient-read-bi | 
| 30dc0 |  62 2d 61 64 64 2d 66 69 6c 65 73 2d 70 61 74 68    20 28 70 72 6f 6d 70 74 20 5f 69 6e 69 74 69 61  | b-add-files-path.(prompt._initia | 
| 30de0 |  6c 2d 69 6e 70 75 74 20 5f 68 69 73 74 6f 72 79    29 0a 20 20 22 52 65 61 64 20 61 20 42 69 62 54  | l-input._history)..."Read.a.BibT | 
| 30e00 |  65 78 20 2d 2d 61 64 64 2d 66 69 6c 65 73 2d 70    61 74 68 20 76 61 6c 75 65 2e 0a 41 72 67 75 6d  | ex.--add-files-path.value..Argum | 
| 30e20 |  65 6e 74 20 50 52 4f 4d 50 54 20 70 72 6f 6d 70    74 20 74 6f 20 73 68 6f 77 2e 22 0a 20 20 28 63  | ent.PROMPT.prompt.to.show."...(c | 
| 30e40 |  6f 6d 70 6c 65 74 69 6e 67 2d 72 65 61 64 20 70    72 6f 6d 70 74 20 27 28 22 54 72 75 65 22 20 22  | ompleting-read.prompt.'("True"." | 
| 30e60 |  46 61 6c 73 65 22 29 29 29 0a 0a 28 64 65 66 75    6e 20 63 61 6c 69 62 72 65 64 62 2d 74 72 61 6e  | False")))..(defun.calibredb-tran | 
| 30e80 |  73 69 65 6e 74 2d 72 65 61 64 2d 62 69 62 2d 63    69 74 61 74 69 6f 6e 2d 74 65 6d 70 6c 61 74 65  | sient-read-bib-citation-template | 
| 30ea0 |  20 28 70 72 6f 6d 70 74 20 5f 69 6e 69 74 69 61    6c 2d 69 6e 70 75 74 20 5f 68 69 73 74 6f 72 79  | .(prompt._initial-input._history | 
| 30ec0 |  29 0a 20 20 22 54 4f 44 4f 3a 20 52 65 61 64 20    61 20 42 69 62 54 65 78 20 2d 2d 63 69 74 61 74  | )..."TODO:.Read.a.BibTex.--citat | 
| 30ee0 |  69 6f 6e 2d 74 65 6d 70 6c 61 74 65 20 76 61 6c    75 65 2e 0a 41 72 67 75 6d 65 6e 74 20 50 52 4f  | ion-template.value..Argument.PRO | 
| 30f00 |  4d 50 54 20 70 72 6f 6d 70 74 20 74 6f 20 73 68    6f 77 2e 22 0a 20 20 28 72 65 61 64 2d 73 74 72  | MPT.prompt.to.show."...(read-str | 
| 30f20 |  69 6e 67 20 70 72 6f 6d 70 74 20 22 7b 61 75 74    68 6f 72 5f 73 6f 72 74 7d 7b 61 75 74 68 6f 72  | ing.prompt."{author_sort}{author | 
| 30f40 |  73 7d 7b 69 64 7d 7b 69 73 62 6e 7d 7b 70 75 62    64 61 74 65 7d 7b 74 69 74 6c 65 5f 73 6f 72 74  | s}{id}{isbn}{pubdate}{title_sort | 
| 30f60 |  7d 7b 70 75 62 6c 69 73 68 65 72 7d 7b 73 65 72    69 65 73 5f 69 6e 64 65 78 7d 7b 73 65 72 69 65  | }{publisher}{series_index}{serie | 
| 30f80 |  73 7d 7b 74 61 67 73 7d 7b 74 69 6d 65 73 74 61    6d 70 7d 7b 74 69 74 6c 65 7d 7b 75 75 69 64 7d  | s}{tags}{timestamp}{title}{uuid} | 
| 30fa0 |  22 29 29 0a 0a 28 64 65 66 75 6e 20 63 61 6c 69    62 72 65 64 62 2d 74 72 61 6e 73 69 65 6e 74 2d  | "))..(defun.calibredb-transient- | 
| 30fc0 |  72 65 61 64 2d 63 68 6f 6f 73 65 2d 65 6e 63 6f    64 69 6e 67 20 28 70 72 6f 6d 70 74 20 5f 69 6e  | read-choose-encoding.(prompt._in | 
| 30fe0 |  69 74 69 61 6c 2d 69 6e 70 75 74 20 5f 68 69 73    74 6f 72 79 29 0a 20 20 22 52 65 61 64 20 61 20  | itial-input._history)..."Read.a. | 
| 31000 |  42 69 62 54 65 78 20 2d 2d 63 68 6f 6f 73 65 2d    65 6e 63 6f 64 69 6e 67 20 76 61 6c 75 65 2e 0a  | BibTex.--choose-encoding.value.. | 
| 31020 |  41 72 67 75 6d 65 6e 74 20 50 52 4f 4d 50 54 20    70 72 6f 6d 70 74 20 74 6f 20 73 68 6f 77 2e 22  | Argument.PROMPT.prompt.to.show." | 
| 31040 |  0a 20 20 28 63 6f 6d 70 6c 65 74 69 6e 67 2d 72    65 61 64 20 70 72 6f 6d 70 74 20 27 28 22 75 74  | ...(completing-read.prompt.'("ut | 
| 31060 |  66 38 22 20 22 63 70 31 32 35 32 22 20 22 61 73    63 69 69 22 29 29 29 0a 0a 28 64 65 66 75 6e 20  | f8"."cp1252"."ascii")))..(defun. | 
| 31080 |  63 61 6c 69 62 72 65 64 62 2d 74 72 61 6e 73 69    65 6e 74 2d 72 65 61 64 2d 63 68 6f 6f 73 65 2d  | calibredb-transient-read-choose- | 
| 310a0 |  65 6e 63 6f 64 69 6e 67 2d 63 6f 6e 66 69 67 75    72 61 74 69 6f 6e 20 28 70 72 6f 6d 70 74 20 5f  | encoding-configuration.(prompt._ | 
| 310c0 |  69 6e 69 74 69 61 6c 2d 69 6e 70 75 74 20 5f 68    69 73 74 6f 72 79 29 0a 20 20 22 52 65 61 64 20  | initial-input._history)..."Read. | 
| 310e0 |  61 20 42 69 62 54 65 78 20 2d 2d 63 68 6f 6f 73    65 2d 65 6e 63 6f 64 69 6e 67 2d 63 6f 6e 66 69  | a.BibTex.--choose-encoding-confi | 
| 31100 |  67 75 72 61 74 69 6f 6e 20 76 61 6c 75 65 2e 0a    41 72 67 75 6d 65 6e 74 20 50 52 4f 4d 50 54 20  | guration.value..Argument.PROMPT. | 
| 31120 |  70 72 6f 6d 70 74 20 74 6f 20 73 68 6f 77 2e 22    0a 20 20 28 63 6f 6d 70 6c 65 74 69 6e 67 2d 72  | prompt.to.show."...(completing-r | 
| 31140 |  65 61 64 20 70 72 6f 6d 70 74 20 27 28 22 73 74    72 69 63 74 22 20 22 72 65 70 6c 61 63 65 22 20  | ead.prompt.'("strict"."replace". | 
| 31160 |  22 69 67 6e 6f 72 65 22 20 22 62 61 63 6b 73 6c    61 73 68 72 65 70 6c 61 63 65 22 29 29 29 0a 0a  | "ignore"."backslashreplace"))).. | 
| 31180 |  28 64 65 66 75 6e 20 63 61 6c 69 62 72 65 64 62    2d 74 72 61 6e 73 69 65 6e 74 2d 72 65 61 64 2d  | (defun.calibredb-transient-read- | 
| 311a0 |  65 6e 74 72 79 2d 74 79 70 65 20 28 70 72 6f 6d    70 74 20 5f 69 6e 69 74 69 61 6c 2d 69 6e 70 75  | entry-type.(prompt._initial-inpu | 
| 311c0 |  74 20 5f 68 69 73 74 6f 72 79 29 0a 20 20 22 52    65 61 64 20 61 20 42 69 62 54 65 78 20 2d 2d 65  | t._history)..."Read.a.BibTex.--e | 
| 311e0 |  6e 74 72 79 2d 74 79 70 65 20 76 61 6c 75 65 2e    0a 41 72 67 75 6d 65 6e 74 20 50 52 4f 4d 50 54  | ntry-type.value..Argument.PROMPT | 
| 31200 |  20 70 72 6f 6d 70 74 20 74 6f 20 73 68 6f 77 2e    22 0a 20 20 28 63 6f 6d 70 6c 65 74 69 6e 67 2d  | .prompt.to.show."...(completing- | 
| 31220 |  72 65 61 64 20 70 72 6f 6d 70 74 20 27 28 22 62    6f 6f 6b 22 20 22 6d 69 73 63 22 20 22 6d 69 78  | read.prompt.'("book"."misc"."mix | 
| 31240 |  65 64 22 29 29 29 0a 0a 3b 3b 20 52 65 61 64 65    72 73 0a 0a 28 64 65 66 75 6e 20 63 61 6c 69 62  | ed")))..;;.Readers..(defun.calib | 
| 31260 |  72 65 64 62 2d 74 72 61 6e 73 69 65 6e 74 2d 72    65 61 64 2d 66 69 6c 65 20 28 70 72 6f 6d 70 74  | redb-transient-read-file.(prompt | 
| 31280 |  20 5f 69 6e 69 74 69 61 6c 2d 69 6e 70 75 74 20    5f 68 69 73 74 6f 72 79 29 0a 20 20 22 52 65 61  | ._initial-input._history)..."Rea | 
| 312a0 |  64 20 61 20 66 69 6c 65 20 70 61 74 68 2e 0a 41    72 67 75 6d 65 6e 74 20 50 52 4f 4d 50 54 20 70  | d.a.file.path..Argument.PROMPT.p | 
| 312c0 |  72 6f 6d 70 74 20 74 6f 20 73 68 6f 77 2e 22 0a    20 20 28 65 78 70 61 6e 64 2d 66 69 6c 65 2d 6e  | rompt.to.show."...(expand-file-n | 
| 312e0 |  61 6d 65 20 28 72 65 61 64 2d 66 69 6c 65 2d 6e    61 6d 65 20 70 72 6f 6d 70 74 29 29 29 0a 0a 28  | ame.(read-file-name.prompt)))..( | 
| 31300 |  64 65 66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d    74 72 61 6e 73 69 65 6e 74 2d 72 65 61 64 2d 6d  | defun.calibredb-transient-read-m | 
| 31320 |  65 74 61 64 61 74 61 20 28 70 72 6f 6d 70 74 20    5f 69 6e 69 74 69 61 6c 2d 69 6e 70 75 74 20 5f  | etadata.(prompt._initial-input._ | 
| 31340 |  68 69 73 74 6f 72 79 20 26 6f 70 74 69 6f 6e 61    6c 20 74 79 70 65 29 0a 20 20 22 52 65 61 64 20  | history.&optional.type)..."Read. | 
| 31360 |  6d 65 74 61 64 61 74 61 20 2d 20 74 69 74 6c 65    2e 0a 41 72 67 75 6d 65 6e 74 20 50 52 4f 4d 50  | metadata.-.title..Argument.PROMP | 
| 31380 |  54 20 70 72 6f 6d 70 74 20 74 6f 20 73 68 6f 77    2e 0a 4f 70 74 69 6f 6e 61 6c 20 61 72 67 75 6d  | T.prompt.to.show..Optional.argum | 
| 313a0 |  65 6e 74 20 54 59 50 45 2e 22 0a 20 20 28 6c 65    74 20 28 28 63 61 6e 64 29 29 0a 20 20 20 20 28  | ent.TYPE."...(let.((cand)).....( | 
| 313c0 |  69 66 20 28 65 71 20 6d 61 6a 6f 72 2d 6d 6f 64    65 20 27 63 61 6c 69 62 72 65 64 62 2d 73 65 61  | if.(eq.major-mode.'calibredb-sea | 
| 313e0 |  72 63 68 2d 6d 6f 64 65 29 0a 20 20 20 20 20 20    20 20 28 73 65 74 71 20 63 61 6e 64 20 28 63 64  | rch-mode).........(setq.cand.(cd | 
| 31400 |  72 20 28 67 65 74 2d 74 65 78 74 2d 70 72 6f 70    65 72 74 79 20 28 70 6f 69 6e 74 29 20 27 63 61  | r.(get-text-property.(point).'ca | 
| 31420 |  6c 69 62 72 65 64 62 2d 65 6e 74 72 79 20 6e 69    6c 29 29 29 0a 20 20 20 20 20 20 28 73 65 74 71  | libredb-entry.nil))).......(setq | 
| 31440 |  20 63 61 6e 64 20 28 67 65 74 2d 74 65 78 74 2d    70 72 6f 70 65 72 74 79 20 28 70 6f 69 6e 74 2d  | .cand.(get-text-property.(point- | 
| 31460 |  6d 69 6e 29 20 27 63 61 6c 69 62 72 65 64 62 2d    65 6e 74 72 79 20 6e 69 6c 29 29 29 0a 20 20 20  | min).'calibredb-entry.nil))).... | 
| 31480 |  20 28 6c 65 74 20 28 28 6c 61 73 74 2d 69 6e 70    75 74 29 29 0a 20 20 20 20 20 20 28 6c 65 74 2a  | .(let.((last-input)).......(let* | 
| 314a0 |  20 28 28 74 69 74 6c 65 20 28 63 61 6c 69 62 72    65 64 62 2d 67 65 74 61 74 74 72 20 63 61 6e 64  | .((title.(calibredb-getattr.cand | 
| 314c0 |  20 3a 62 6f 6f 6b 2d 74 69 74 6c 65 29 29 0a 20    20 20 20 20 20 20 20 20 20 20 20 20 28 69 64 20  | .:book-title))..............(id. | 
| 314e0 |  28 63 61 6c 69 62 72 65 64 62 2d 67 65 74 61 74    74 72 20 63 61 6e 64 20 3a 69 64 29 29 0a 20 20  | (calibredb-getattr.cand.:id))... | 
| 31500 |  20 20 20 20 20 20 20 20 20 20 20 28 69 6e 69 74    20 28 63 61 6c 69 62 72 65 64 62 2d 67 65 74 2d  | ...........(init.(calibredb-get- | 
| 31520 |  69 6e 69 74 20 74 79 70 65 20 63 61 6e 64 29 29    0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6e  | init.type.cand))..............(n | 
| 31540 |  75 6d 20 28 6c 65 6e 67 74 68 20 28 63 61 6c 69    62 72 65 64 62 2d 66 69 6e 64 2d 6d 61 72 6b 65  | um.(length.(calibredb-find-marke | 
| 31560 |  64 2d 63 61 6e 64 69 64 61 74 65 73 29 29 29 0a    20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 6e  | d-candidates)))..............(in | 
| 31580 |  70 75 74 20 28 6f 72 20 6c 61 73 74 2d 69 6e 70    75 74 20 28 72 65 61 64 2d 73 74 72 69 6e 67 20  | put.(or.last-input.(read-string. | 
| 315a0 |  28 69 66 20 28 3e 20 6e 75 6d 20 30 29 0a 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | (if.(>.num.0)................... | 
| 315c0 |  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  | ................................ | 
| 315e0 |  20 20 28 63 6f 6e 63 61 74 20 22 53 65 74 20 22    20 74 79 70 65 20 22 20 66 6f 72 20 22 20 28 6e  | ..(concat."Set.".type.".for.".(n | 
| 31600 |  75 6d 62 65 72 2d 74 6f 2d 73 74 72 69 6e 67 20    6e 75 6d 29 20 22 20 69 74 65 6d 73 3a 20 22 29  | umber-to-string.num).".items:.") | 
| 31620 |  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 20 20 20 20  | ................................ | 
| 31640 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 28 63 6f 6e 63 61 74 20 70 72 6f 6d 70  | ...................(concat.promp | 
| 31660 |  74 20 69 64 20 22 20 22 20 74 69 74 6c 65 20 22    3a 20 22 29 20 29 20 69 6e 69 74 29 29 29 29 0a  | t.id.".".title.":.").).init)))). | 
| 31680 |  20 20 20 20 20 20 20 20 3b 3b 20 73 65 74 20 74    68 65 20 69 6e 70 75 74 20 61 73 20 6c 61 73 74  | ........;;.set.the.input.as.last | 
| 316a0 |  20 69 6e 70 75 74 2c 20 73 6f 20 74 68 61 74 20    61 6c 6c 20 69 74 65 6d 73 20 75 73 65 20 74 68  | .input,.so.that.all.items.use.th | 
| 316c0 |  65 20 73 61 6d 65 20 69 6e 70 75 74 0a 20 20 20    20 20 20 20 20 28 73 65 74 71 20 6c 61 73 74 2d  | e.same.input.........(setq.last- | 
| 316e0 |  69 6e 70 75 74 20 69 6e 70 75 74 29 29 29 29 29    0a 0a 28 64 65 66 75 6e 20 63 61 6c 69 62 72 65  | input.input)))))..(defun.calibre | 
| 31700 |  64 62 2d 74 72 61 6e 73 69 65 6e 74 2d 72 65 61    64 2d 6d 65 74 61 64 61 74 61 2d 74 61 67 73 20  | db-transient-read-metadata-tags. | 
| 31720 |  28 70 72 6f 6d 70 74 20 69 6e 69 74 69 61 6c 2d    69 6e 70 75 74 20 68 69 73 74 6f 72 79 29 0a 20  | (prompt.initial-input.history).. | 
| 31740 |  20 28 63 61 6c 69 62 72 65 64 62 2d 74 72 61 6e    73 69 65 6e 74 2d 72 65 61 64 2d 6d 65 74 61 64  | .(calibredb-transient-read-metad | 
| 31760 |  61 74 61 20 70 72 6f 6d 70 74 20 69 6e 69 74 69    61 6c 2d 69 6e 70 75 74 20 68 69 73 74 6f 72 79  | ata.prompt.initial-input.history | 
| 31780 |  20 22 74 61 67 73 22 29 29 0a 0a 28 64 65 66 75    6e 20 63 61 6c 69 62 72 65 64 62 2d 74 72 61 6e  | ."tags"))..(defun.calibredb-tran | 
| 317a0 |  73 69 65 6e 74 2d 72 65 61 64 2d 6d 65 74 61 64    61 74 61 2d 69 64 73 20 28 70 72 6f 6d 70 74 20  | sient-read-metadata-ids.(prompt. | 
| 317c0 |  69 6e 69 74 69 61 6c 2d 69 6e 70 75 74 20 68 69    73 74 6f 72 79 29 0a 20 20 28 63 61 6c 69 62 72  | initial-input.history)...(calibr | 
| 317e0 |  65 64 62 2d 74 72 61 6e 73 69 65 6e 74 2d 72 65    61 64 2d 6d 65 74 61 64 61 74 61 20 70 72 6f 6d  | edb-transient-read-metadata.prom | 
| 31800 |  70 74 20 69 6e 69 74 69 61 6c 2d 69 6e 70 75 74    20 68 69 73 74 6f 72 79 20 22 69 64 73 22 29 29  | pt.initial-input.history."ids")) | 
| 31820 |  0a 0a 28 64 65 66 75 6e 20 63 61 6c 69 62 72 65    64 62 2d 74 72 61 6e 73 69 65 6e 74 2d 72 65 61  | ..(defun.calibredb-transient-rea | 
| 31840 |  64 2d 6d 65 74 61 64 61 74 61 2d 63 6f 6d 6d 65    6e 74 73 20 28 70 72 6f 6d 70 74 20 69 6e 69 74  | d-metadata-comments.(prompt.init | 
| 31860 |  69 61 6c 2d 69 6e 70 75 74 20 68 69 73 74 6f 72    79 29 0a 20 20 28 63 61 6c 69 62 72 65 64 62 2d  | ial-input.history)...(calibredb- | 
| 31880 |  74 72 61 6e 73 69 65 6e 74 2d 72 65 61 64 2d 6d    65 74 61 64 61 74 61 20 70 72 6f 6d 70 74 20 69  | transient-read-metadata.prompt.i | 
| 318a0 |  6e 69 74 69 61 6c 2d 69 6e 70 75 74 20 68 69 73    74 6f 72 79 20 22 63 6f 6d 6d 65 6e 74 73 22 29  | nitial-input.history."comments") | 
| 318c0 |  29 0a 0a 28 64 65 66 75 6e 20 63 61 6c 69 62 72    65 64 62 2d 74 72 61 6e 73 69 65 6e 74 2d 72 65  | )..(defun.calibredb-transient-re | 
| 318e0 |  61 64 2d 6d 65 74 61 64 61 74 61 2d 61 75 74 68    6f 72 2d 73 6f 72 74 20 28 70 72 6f 6d 70 74 20  | ad-metadata-author-sort.(prompt. | 
| 31900 |  69 6e 69 74 69 61 6c 2d 69 6e 70 75 74 20 68 69    73 74 6f 72 79 29 0a 20 20 28 63 61 6c 69 62 72  | initial-input.history)...(calibr | 
| 31920 |  65 64 62 2d 74 72 61 6e 73 69 65 6e 74 2d 72 65    61 64 2d 6d 65 74 61 64 61 74 61 20 70 72 6f 6d  | edb-transient-read-metadata.prom | 
| 31940 |  70 74 20 69 6e 69 74 69 61 6c 2d 69 6e 70 75 74    20 68 69 73 74 6f 72 79 20 22 61 75 74 68 6f 72  | pt.initial-input.history."author | 
| 31960 |  5f 73 6f 72 74 22 29 29 0a 0a 28 64 65 66 75 6e    20 63 61 6c 69 62 72 65 64 62 2d 74 72 61 6e 73  | _sort"))..(defun.calibredb-trans | 
| 31980 |  69 65 6e 74 2d 72 65 61 64 2d 6d 65 74 61 64 61    74 61 2d 61 75 74 68 6f 72 73 20 28 70 72 6f 6d  | ient-read-metadata-authors.(prom | 
| 319a0 |  70 74 20 69 6e 69 74 69 61 6c 2d 69 6e 70 75 74    20 68 69 73 74 6f 72 79 29 0a 20 20 28 63 61 6c  | pt.initial-input.history)...(cal | 
| 319c0 |  69 62 72 65 64 62 2d 74 72 61 6e 73 69 65 6e 74    2d 72 65 61 64 2d 6d 65 74 61 64 61 74 61 20 70  | ibredb-transient-read-metadata.p | 
| 319e0 |  72 6f 6d 70 74 20 69 6e 69 74 69 61 6c 2d 69 6e    70 75 74 20 68 69 73 74 6f 72 79 20 22 61 75 74  | rompt.initial-input.history."aut | 
| 31a00 |  68 6f 72 73 22 29 29 0a 0a 28 64 65 66 75 6e 20    63 61 6c 69 62 72 65 64 62 2d 74 72 61 6e 73 69  | hors"))..(defun.calibredb-transi | 
| 31a20 |  65 6e 74 2d 72 65 61 64 2d 6d 65 74 61 64 61 74    61 2d 74 69 74 6c 65 20 28 70 72 6f 6d 70 74 20  | ent-read-metadata-title.(prompt. | 
| 31a40 |  69 6e 69 74 69 61 6c 2d 69 6e 70 75 74 20 68 69    73 74 6f 72 79 29 0a 20 20 28 63 61 6c 69 62 72  | initial-input.history)...(calibr | 
| 31a60 |  65 64 62 2d 74 72 61 6e 73 69 65 6e 74 2d 72 65    61 64 2d 6d 65 74 61 64 61 74 61 20 70 72 6f 6d  | edb-transient-read-metadata.prom | 
| 31a80 |  70 74 20 69 6e 69 74 69 61 6c 2d 69 6e 70 75 74    20 68 69 73 74 6f 72 79 20 22 74 69 74 6c 65 22  | pt.initial-input.history."title" | 
| 31aa0 |  29 29 0a 0a 3b 3b 20 47 65 74 0a 0a 28 64 65 66    75 6e 20 63 61 6c 69 62 72 65 64 62 2d 73 65 74  | ))..;;.Get..(defun.calibredb-set | 
| 31ac0 |  2d 6d 65 74 61 64 61 74 61 2d 61 72 67 75 6d 65    6e 74 73 20 28 29 0a 20 20 22 52 65 74 75 72 6e  | -metadata-arguments.()..."Return | 
| 31ae0 |  20 74 68 65 20 6c 61 74 65 73 74 20 75 73 65 64    20 61 72 67 75 6d 65 6e 74 73 20 69 6e 20 74 68  | .the.latest.used.arguments.in.th | 
| 31b00 |  65 20 60 63 61 6c 69 62 72 65 64 62 2d 73 65 74    2d 6d 65 74 61 64 61 74 61 2d 64 69 73 70 61 74  | e.`calibredb-set-metadata-dispat | 
| 31b20 |  63 68 27 20 74 72 61 6e 73 69 65 6e 74 2e 22 0a    20 20 28 63 61 72 20 28 61 6c 69 73 74 2d 67 65  | ch'.transient."...(car.(alist-ge | 
| 31b40 |  74 20 27 63 61 6c 69 62 72 65 64 62 2d 73 65 74    2d 6d 65 74 61 64 61 74 61 2d 64 69 73 70 61 74  | t.'calibredb-set-metadata-dispat | 
| 31b60 |  63 68 20 74 72 61 6e 73 69 65 6e 74 2d 68 69 73    74 6f 72 79 29 29 29 0a 0a 28 64 65 66 75 6e 20  | ch.transient-history)))..(defun. | 
| 31b80 |  63 61 6c 69 62 72 65 64 62 2d 65 78 70 6f 72 74    2d 61 72 67 75 6d 65 6e 74 73 20 28 29 0a 20 20  | calibredb-export-arguments.()... | 
| 31ba0 |  22 52 65 74 75 72 6e 20 74 68 65 20 6c 61 74 65    73 74 20 75 73 65 64 20 61 72 67 75 6d 65 6e 74  | "Return.the.latest.used.argument | 
| 31bc0 |  73 20 69 6e 20 74 68 65 20 60 63 61 6c 69 62 72    65 64 62 2d 65 78 70 6f 72 74 2d 77 69 74 68 6f  | s.in.the.`calibredb-export-witho | 
| 31be0 |  75 74 2d 63 6f 6e 76 65 72 73 69 6f 6e 2d 64 69    73 70 61 74 63 68 27 20 74 72 61 6e 73 69 65 6e  | ut-conversion-dispatch'.transien | 
| 31c00 |  74 2e 22 0a 20 20 28 63 61 72 20 28 61 6c 69 73    74 2d 67 65 74 20 27 63 61 6c 69 62 72 65 64 62  | t."...(car.(alist-get.'calibredb | 
| 31c20 |  2d 65 78 70 6f 72 74 2d 77 69 74 68 6f 75 74 2d    63 6f 6e 76 65 72 73 69 6f 6e 2d 64 69 73 70 61  | -export-without-conversion-dispa | 
| 31c40 |  74 63 68 20 74 72 61 6e 73 69 65 6e 74 2d 68 69    73 74 6f 72 79 29 29 29 0a 0a 28 64 65 66 75 6e  | tch.transient-history)))..(defun | 
| 31c60 |  20 63 61 6c 69 62 72 65 64 62 2d 63 6f 6e 76 65    72 74 2d 61 72 67 75 6d 65 6e 74 73 20 28 29 0a  | .calibredb-convert-arguments.(). | 
| 31c80 |  20 20 22 52 65 74 75 72 6e 20 74 68 65 20 6c 61    74 65 73 74 20 75 73 65 64 20 61 72 67 75 6d 65  | .."Return.the.latest.used.argume | 
| 31ca0 |  6e 74 73 20 69 6e 20 74 68 65 20 60 63 61 6c 69    62 72 65 64 62 2d 63 6f 6e 76 65 72 74 2d 74 6f  | nts.in.the.`calibredb-convert-to | 
| 31cc0 |  2d 65 70 75 62 2d 64 69 73 70 61 74 63 68 27 20    74 72 61 6e 73 69 65 6e 74 2e 22 0a 20 20 28 63  | -epub-dispatch'.transient."...(c | 
| 31ce0 |  61 72 20 28 61 6c 69 73 74 2d 67 65 74 20 27 63    61 6c 69 62 72 65 64 62 2d 63 6f 6e 76 65 72 74  | ar.(alist-get.'calibredb-convert | 
| 31d00 |  2d 74 6f 2d 65 70 75 62 2d 64 69 73 70 61 74 63    68 20 74 72 61 6e 73 69 65 6e 74 2d 68 69 73 74  | -to-epub-dispatch.transient-hist | 
| 31d20 |  6f 72 79 29 29 29 0a 0a 28 64 65 66 75 6e 20 63    61 6c 69 62 72 65 64 62 2d 63 61 74 61 6c 6f 67  | ory)))..(defun.calibredb-catalog | 
| 31d40 |  2d 62 69 62 2d 61 72 67 75 6d 65 6e 74 73 20 28    29 0a 20 20 22 52 65 74 75 72 6e 20 74 68 65 20  | -bib-arguments.()..."Return.the. | 
| 31d60 |  6c 61 74 65 73 74 20 75 73 65 64 20 61 72 67 75    6d 65 6e 74 73 20 69 6e 20 74 68 65 20 60 63 61  | latest.used.arguments.in.the.`ca | 
| 31d80 |  6c 69 62 72 65 64 62 2d 63 61 74 61 6c 6f 67 2d    62 69 62 2d 64 69 73 70 61 74 63 68 27 20 74 72  | libredb-catalog-bib-dispatch'.tr | 
| 31da0 |  61 6e 73 69 65 6e 74 2e 22 0a 20 20 28 63 61 72    20 28 61 6c 69 73 74 2d 67 65 74 20 27 63 61 6c  | ansient."...(car.(alist-get.'cal | 
| 31dc0 |  69 62 72 65 64 62 2d 63 61 74 61 6c 6f 67 2d 62    69 62 2d 64 69 73 70 61 74 63 68 20 74 72 61 6e  | ibredb-catalog-bib-dispatch.tran | 
| 31de0 |  73 69 65 6e 74 2d 68 69 73 74 6f 72 79 29 29 29    0a 0a 28 70 72 6f 76 69 64 65 20 27 63 61 6c 69  | sient-history)))..(provide.'cali | 
| 31e00 |  62 72 65 64 62 2d 74 72 61 6e 73 69 65 6e 74 29    0a 0a 3b 3b 3b 20 63 61 6c 69 62 72 65 64 62 2d  | bredb-transient)..;;;.calibredb- | 
| 31e20 |  74 72 61 6e 73 69 65 6e 74 2e 65 6c 20 65 6e 64    73 20 68 65 72 65 0a 00 00 00 00 00 00 00 00 00  | transient.el.ends.here.......... | 
| 31e40 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 31e60 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 31e80 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 31ea0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 31ec0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 31ee0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 31f00 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 31f20 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 31f40 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 31f60 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 31f80 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 31fa0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 31fc0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 31fe0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 32000 |  63 61 6c 69 62 72 65 64 62 2d 32 30 32 35 30 37    30 35 2e 32 32 35 2f 63 61 6c 69 62 72 65 64 62  | calibredb-20250705.225/calibredb | 
| 32020 |  2d 75 74 69 6c 73 2e 65 6c 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | -utils.el....................... | 
| 32040 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 32060 |  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 | 
| 32080 |  30 31 36 32 31 32 34 00 30 30 30 30 30 30 30 30    30 30 30 00 30 31 36 32 33 32 00 20 30 00 00 00  | 0162124.00000000000.016232..0... | 
| 320a0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 320c0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 320e0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 32100 |  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................... | 
| 32120 |  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................... | 
| 32140 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 32160 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 32180 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 321a0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 321c0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 321e0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 32200 |  3b 3b 3b 20 63 61 6c 69 62 72 65 64 62 2d 75 74    69 6c 73 2e 65 6c 20 2d 2d 2d 20 55 74 69 6c 73  | ;;;.calibredb-utils.el.---.Utils | 
| 32220 |  20 66 6f 72 20 63 61 6c 69 62 72 65 64 62 20 2d    2a 2d 20 6c 65 78 69 63 61 6c 2d 62 69 6e 64 69  | .for.calibredb.-*-.lexical-bindi | 
| 32240 |  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 29 20 32 30 32  | ng:.t;.-*-..;;.Copyright.(C).202 | 
| 32260 |  30 20 44 61 6d 6f 6e 20 43 68 61 6e 0a 0a 3b 3b    20 41 75 74 68 6f 72 3a 20 44 61 6d 6f 6e 20 43  | 0.Damon.Chan..;;.Author:.Damon.C | 
| 32280 |  68 61 6e 20 3c 65 6c 65 63 6d 69 6e 67 40 67 6d    61 69 6c 2e 63 6f 6d 3e 0a 3b 3b 20 55 52 4c 3a  | han.<elecming@gmail.com>.;;.URL: | 
| 322a0 |  20 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e    63 6f 6d 2f 63 68 65 6e 79 61 6e 6d 69 6e 67 2f  | .https://github.com/chenyanming/ | 
| 322c0 |  63 61 6c 69 62 72 65 64 62 2e 65 6c 0a 3b 3b 20    4b 65 79 77 6f 72 64 73 3a 20 74 6f 6f 6c 73 0a  | calibredb.el.;;.Keywords:.tools. | 
| 322e0 |  0a 3b 3b 20 54 68 69 73 20 66 69 6c 65 20 69 73    20 4e 4f 54 20 70 61 72 74 20 6f 66 20 47 4e 55  | .;;.This.file.is.NOT.part.of.GNU | 
| 32300 |  20 45 6d 61 63 73 2e 0a 0a 3b 3b 20 54 68 69 73    20 70 72 6f 67 72 61 6d 20 69 73 20 66 72 65 65  | .Emacs...;;.This.program.is.free | 
| 32320 |  20 73 6f 66 74 77 61 72 65 3b 20 79 6f 75 20 63    61 6e 20 72 65 64 69 73 74 72 69 62 75 74 65 20  | .software;.you.can.redistribute. | 
| 32340 |  69 74 20 61 6e 64 2f 6f 72 20 6d 6f 64 69 66 79    0a 3b 3b 20 69 74 20 75 6e 64 65 72 20 74 68 65  | it.and/or.modify.;;.it.under.the | 
| 32360 |  20 74 65 72 6d 73 20 6f 66 20 74 68 65 20 47 4e    55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63  | .terms.of.the.GNU.General.Public | 
| 32380 |  20 4c 69 63 65 6e 73 65 20 61 73 20 70 75 62 6c    69 73 68 65 64 20 62 79 0a 3b 3b 20 74 68 65 20  | .License.as.published.by.;;.the. | 
| 323a0 |  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 65 69 74 68 65 72  | Free.Software.Foundation,.either | 
| 323c0 |  20 76 65 72 73 69 6f 6e 20 33 20 6f 66 20 74 68    65 20 4c 69 63 65 6e 73 65 2c 20 6f 72 0a 3b 3b  | .version.3.of.the.License,.or.;; | 
| 323e0 |  20 28 61 74 20 79 6f 75 72 20 6f 70 74 69 6f 6e    29 20 61 6e 79 20 6c 61 74 65 72 20 76 65 72 73  | .(at.your.option).any.later.vers | 
| 32400 |  69 6f 6e 2e 0a 0a 3b 3b 20 54 68 69 73 20 70 72    6f 67 72 61 6d 20 69 73 20 64 69 73 74 72 69 62  | ion...;;.This.program.is.distrib | 
| 32420 |  75 74 65 64 20 69 6e 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  | uted.in.the.hope.that.it.will.be | 
| 32440 |  20 75 73 65 66 75 6c 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  | .useful,.;;.but.WITHOUT.ANY.WARR | 
| 32460 |  41 4e 54 59 3b 20 77 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  | ANTY;.without.even.the.implied.w | 
| 32480 |  61 72 72 61 6e 74 79 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  | arranty.of.;;.MERCHANTABILITY.or | 
| 324a0 |  20 46 49 54 4e 45 53 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  | .FITNESS.FOR.A.PARTICULAR.PURPOS | 
| 324c0 |  45 2e 20 20 53 65 65 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  | E...See.the.;;.GNU.General.Publi | 
| 324e0 |  63 20 4c 69 63 65 6e 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  | c.License.for.more.details...;;. | 
| 32500 |  59 6f 75 20 73 68 6f 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  | You.should.have.received.a.copy. | 
| 32520 |  6f 66 20 74 68 65 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 73  | of.the.GNU.General.Public.Licens | 
| 32540 |  65 0a 3b 3b 20 61 6c 6f 6e 67 20 77 69 74 68 20    74 68 69 73 20 70 72 6f 67 72 61 6d 2e 20 20 49  | e.;;.along.with.this.program...I | 
| 32560 |  66 20 6e 6f 74 2c 20 73 65 65 20 3c 68 74 74 70    73 3a 2f 2f 77 77 77 2e 67 6e 75 2e 6f 72 67 2f  | f.not,.see.<https://www.gnu.org/ | 
| 32580 |  6c 69 63 65 6e 73 65 73 2f 3e 2e 0a 0a 3b 3b 3b    20 43 6f 6d 6d 65 6e 74 61 72 79 3a 0a 0a 3b 3b  | licenses/>...;;;.Commentary:..;; | 
| 325a0 |  3b 20 43 6f 64 65 3a 0a 0a 28 72 65 71 75 69 72    65 20 27 63 61 6c 69 62 72 65 64 62 2d 63 6f 72  | ;.Code:..(require.'calibredb-cor | 
| 325c0 |  65 29 0a 28 72 65 71 75 69 72 65 20 27 63 61 6c    69 62 72 65 64 62 2d 73 65 61 72 63 68 29 0a 28  | e).(require.'calibredb-search).( | 
| 325e0 |  72 65 71 75 69 72 65 20 27 63 61 6c 69 62 72 65    64 62 2d 66 61 63 65 73 29 0a 28 72 65 71 75 69  | require.'calibredb-faces).(requi | 
| 32600 |  72 65 20 27 63 61 6c 69 62 72 65 64 62 2d 73 68    6f 77 29 0a 28 72 65 71 75 69 72 65 20 27 63 61  | re.'calibredb-show).(require.'ca | 
| 32620 |  6c 69 62 72 65 64 62 2d 74 72 61 6e 73 69 65 6e    74 29 0a 28 72 65 71 75 69 72 65 20 27 63 61 6c  | libredb-transient).(require.'cal | 
| 32640 |  69 62 72 65 64 62 2d 61 6e 6e 6f 74 61 74 69 6f    6e 29 0a 0a 28 65 76 61 6c 2d 77 68 65 6e 2d 63  | ibredb-annotation)..(eval-when-c | 
| 32660 |  6f 6d 70 69 6c 65 20 28 64 65 66 76 61 72 20 63    61 6c 69 62 72 65 64 62 2d 69 6d 61 67 65 73 2d  | ompile.(defvar.calibredb-images- | 
| 32680 |  70 61 74 68 29 29 0a 28 65 76 61 6c 2d 77 68 65    6e 2d 63 6f 6d 70 69 6c 65 20 28 64 65 66 76 61  | path)).(eval-when-compile.(defva | 
| 326a0 |  72 20 63 61 6c 69 62 72 65 64 62 2d 6f 70 64 73    2d 64 6f 77 6e 6c 6f 61 64 2d 64 69 72 29 29 0a  | r.calibredb-opds-download-dir)). | 
| 326c0 |  0a 0a 28 64 65 63 6c 61 72 65 2d 66 75 6e 63 74    69 6f 6e 20 63 61 6c 69 62 72 65 64 62 2d 73 65  | ..(declare-function.calibredb-se | 
| 326e0 |  61 72 63 68 2d 62 75 66 66 65 72 20 22 63 61 6c    69 62 72 65 64 62 2d 73 65 61 72 63 68 2e 65 6c  | arch-buffer."calibredb-search.el | 
| 32700 |  22 29 0a 28 64 65 63 6c 61 72 65 2d 66 75 6e 63    74 69 6f 6e 20 63 61 6c 69 62 72 65 64 62 2d 64  | ").(declare-function.calibredb-d | 
| 32720 |  65 74 61 69 6c 65 64 2d 76 69 65 77 2d 69 6e 73    65 72 74 2d 69 6d 61 67 65 20 22 63 61 6c 69 62  | etailed-view-insert-image."calib | 
| 32740 |  72 65 64 62 2d 75 74 69 6c 73 2e 65 6c 22 29 0a    28 64 65 63 6c 61 72 65 2d 66 75 6e 63 74 69 6f  | redb-utils.el").(declare-functio | 
| 32760 |  6e 20 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72    63 68 2d 6d 6f 64 65 20 22 63 61 6c 69 62 72 65  | n.calibredb-search-mode."calibre | 
| 32780 |  64 62 2d 73 65 61 72 63 68 2e 65 6c 22 29 0a 28    64 65 63 6c 61 72 65 2d 66 75 6e 63 74 69 6f 6e  | db-search.el").(declare-function | 
| 327a0 |  20 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63    68 2d 2d 62 75 66 66 65 72 2d 6e 61 6d 65 20 22  | .calibredb-search--buffer-name." | 
| 327c0 |  63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68    2e 65 6c 22 29 0a 28 64 65 63 6c 61 72 65 2d 66  | calibredb-search.el").(declare-f | 
| 327e0 |  75 6e 63 74 69 6f 6e 20 63 61 6c 69 62 72 65 64    62 2d 63 6f 75 6e 73 65 6c 2d 61 64 64 2d 66 69  | unction.calibredb-counsel-add-fi | 
| 32800 |  6c 65 2d 61 63 74 69 6f 6e 20 22 63 61 6c 69 62    72 65 64 62 2d 69 76 79 2e 65 6c 22 29 0a 28 64  | le-action."calibredb-ivy.el").(d | 
| 32820 |  65 63 6c 61 72 65 2d 66 75 6e 63 74 69 6f 6e 20    63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68  | eclare-function.calibredb-search | 
| 32840 |  2d 72 65 66 72 65 73 68 2d 6f 72 2d 72 65 73 75    6d 65 20 22 63 61 6c 69 62 72 65 64 62 2d 73 65  | -refresh-or-resume."calibredb-se | 
| 32860 |  61 72 63 68 2e 65 6c 22 29 0a 28 64 65 63 6c 61    72 65 2d 66 75 6e 63 74 69 6f 6e 20 63 61 6c 69  | arch.el").(declare-function.cali | 
| 32880 |  62 72 65 64 62 2d 73 68 6f 77 2d 2d 62 75 66 66    65 72 2d 6e 61 6d 65 20 22 63 61 6c 69 62 72 65  | bredb-show--buffer-name."calibre | 
| 328a0 |  64 62 2d 73 68 6f 77 2e 65 6c 22 29 0a 28 64 65    63 6c 61 72 65 2d 66 75 6e 63 74 69 6f 6e 20 63  | db-show.el").(declare-function.c | 
| 328c0 |  61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2d    72 65 66 72 65 73 68 20 22 63 61 6c 69 62 72 65  | alibredb-search-refresh."calibre | 
| 328e0 |  64 62 2d 73 65 61 72 63 68 2e 65 6c 22 29 0a 28    64 65 63 6c 61 72 65 2d 66 75 6e 63 74 69 6f 6e  | db-search.el").(declare-function | 
| 32900 |  20 63 61 6c 69 62 72 65 64 62 2d 73 68 6f 77 2d    72 65 66 72 65 73 68 20 22 63 61 6c 69 62 72 65  | .calibredb-show-refresh."calibre | 
| 32920 |  64 62 2d 73 68 6f 77 2e 65 6c 22 29 0a 28 64 65    63 6c 61 72 65 2d 66 75 6e 63 74 69 6f 6e 20 63  | db-show.el").(declare-function.c | 
| 32940 |  61 6c 69 62 72 65 64 62 2d 73 65 74 2d 6d 65 74    61 64 61 74 61 2d 61 72 67 75 6d 65 6e 74 73 20  | alibredb-set-metadata-arguments. | 
| 32960 |  22 63 61 6c 69 62 72 65 64 62 2d 74 72 61 6e 73    69 65 6e 74 2e 65 6c 22 29 0a 28 64 65 63 6c 61  | "calibredb-transient.el").(decla | 
| 32980 |  72 65 2d 66 75 6e 63 74 69 6f 6e 20 63 61 6c 69    62 72 65 64 62 2d 65 78 70 6f 72 74 2d 61 72 67  | re-function.calibredb-export-arg | 
| 329a0 |  75 6d 65 6e 74 73 20 22 63 61 6c 69 62 72 65 64    62 2d 74 72 61 6e 73 69 65 6e 74 2e 65 6c 22 29  | uments."calibredb-transient.el") | 
| 329c0 |  0a 28 64 65 63 6c 61 72 65 2d 66 75 6e 63 74 69    6f 6e 20 63 61 6c 69 62 72 65 64 62 2d 63 61 74  | .(declare-function.calibredb-cat | 
| 329e0 |  61 6c 6f 67 2d 62 69 62 2d 61 72 67 75 6d 65 6e    74 73 20 22 63 61 6c 69 62 72 65 64 62 2d 74 72  | alog-bib-arguments."calibredb-tr | 
| 32a00 |  61 6e 73 69 65 6e 74 2e 65 6c 22 29 0a 28 64 65    63 6c 61 72 65 2d 66 75 6e 63 74 69 6f 6e 20 63  | ansient.el").(declare-function.c | 
| 32a20 |  61 6c 69 62 72 65 64 62 2d 6f 70 64 73 2d 64 6f    77 6e 6c 6f 61 64 20 22 63 61 6c 69 62 72 65 64  | alibredb-opds-download."calibred | 
| 32a40 |  62 2d 6f 70 64 73 2e 65 6c 22 29 0a 28 64 65 63    6c 61 72 65 2d 66 75 6e 63 74 69 6f 6e 20 63 61  | b-opds.el").(declare-function.ca | 
| 32a60 |  6c 69 62 72 65 64 62 2d 6f 70 64 73 2d 72 65 71    75 65 73 74 2d 70 61 67 65 20 22 63 61 6c 69 62  | libredb-opds-request-page."calib | 
| 32a80 |  72 65 64 62 2d 6f 70 64 73 2e 65 6c 22 29 0a 28    64 65 63 6c 61 72 65 2d 66 75 6e 63 74 69 6f 6e  | redb-opds.el").(declare-function | 
| 32aa0 |  20 63 61 6c 69 62 72 65 64 62 2d 6f 70 64 73 2d    73 65 61 72 63 68 20 22 63 61 6c 69 62 72 65 64  | .calibredb-opds-search."calibred | 
| 32ac0 |  62 2d 6f 70 64 73 2e 65 6c 22 29 0a 28 64 65 63    6c 61 72 65 2d 66 75 6e 63 74 69 6f 6e 20 63 61  | b-opds.el").(declare-function.ca | 
| 32ae0 |  6c 69 62 72 65 64 62 2d 6f 70 64 73 2d 6d 61 69    6c 63 61 70 2d 6d 69 6d 65 2d 74 6f 2d 65 78 74  | libredb-opds-mailcap-mime-to-ext | 
| 32b00 |  6e 20 22 63 61 6c 69 62 72 65 64 62 2d 6f 70 64    73 2e 65 6c 22 29 0a 28 64 65 63 6c 61 72 65 2d  | n."calibredb-opds.el").(declare- | 
| 32b20 |  66 75 6e 63 74 69 6f 6e 20 70 64 66 2d 69 6e 66    6f 2d 73 65 61 72 63 68 2d 73 74 72 69 6e 67 20  | function.pdf-info-search-string. | 
| 32b40 |  22 70 64 66 2d 69 6e 66 6f 22 29 0a 28 64 65 63    6c 61 72 65 2d 66 75 6e 63 74 69 6f 6e 20 70 64  | "pdf-info").(declare-function.pd | 
| 32b60 |  66 2d 69 6e 66 6f 2d 67 65 74 74 65 78 74 20 22    70 64 66 2d 69 6e 66 6f 22 29 0a 28 64 65 63 6c  | f-info-gettext."pdf-info").(decl | 
| 32b80 |  61 72 65 2d 66 75 6e 63 74 69 6f 6e 20 64 6a 76    75 2d 66 69 6e 64 2d 66 69 6c 65 20 22 64 6a 76  | are-function.djvu-find-file."djv | 
| 32ba0 |  75 22 29 0a 28 64 65 63 6c 61 72 65 2d 66 75 6e    63 74 69 6f 6e 20 64 6a 76 75 2d 67 6f 74 6f 2d  | u").(declare-function.djvu-goto- | 
| 32bc0 |  70 61 67 65 20 22 64 6a 76 75 22 29 0a 28 64 65    63 6c 61 72 65 2d 66 75 6e 63 74 69 6f 6e 20 64  | page."djvu").(declare-function.d | 
| 32be0 |  6a 76 75 2d 6e 65 78 74 2d 70 61 67 65 20 22 64    6a 76 75 22 29 0a 0a 28 64 65 66 76 61 72 20 64  | jvu-next-page."djvu")..(defvar.d | 
| 32c00 |  6a 76 75 2d 64 6f 63 2d 70 61 67 65 29 0a 0a 3b    3b 3b 23 23 23 61 75 74 6f 6c 6f 61 64 0a 28 64  | jvu-doc-page)..;;;###autoload.(d | 
| 32c20 |  65 66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d 6c    69 73 74 20 28 29 0a 20 20 22 47 65 6e 65 72 61  | efun.calibredb-list.()..."Genera | 
| 32c40 |  74 65 20 61 6e 20 6f 72 67 20 62 75 66 66 65 72    20 77 68 69 63 68 20 63 6f 6e 74 61 69 6e 20 61  | te.an.org.buffer.which.contain.a | 
| 32c60 |  6c 6c 20 65 62 6f 6f 6b 73 27 20 63 6f 76 65 72    20 69 6d 61 67 65 2c 20 74 69 74 6c 65 20 61 6e  | ll.ebooks'.cover.image,.title.an | 
| 32c80 |  64 20 74 68 65 20 66 69 6c 65 20 6c 69 6e 6b 2e    22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65  | d.the.file.link."...(interactive | 
| 32ca0 |  29 0a 20 20 28 6c 65 74 2a 20 28 28 62 75 66 2d    6e 61 6d 65 20 22 2a 63 61 6c 69 62 72 65 64 62  | )...(let*.((buf-name."*calibredb | 
| 32cc0 |  2d 6c 69 73 74 2a 22 29 0a 20 20 20 20 20 20 20    20 20 6f 63 63 75 72 2d 62 75 66 29 0a 20 20 20  | -list*")..........occur-buf).... | 
| 32ce0 |  20 28 77 68 65 6e 20 28 67 65 74 2d 62 75 66 66    65 72 20 62 75 66 2d 6e 61 6d 65 29 0a 20 20 20  | .(when.(get-buffer.buf-name).... | 
| 32d00 |  20 20 20 28 6b 69 6c 6c 2d 62 75 66 66 65 72 20    62 75 66 2d 6e 61 6d 65 29 29 0a 20 20 20 20 28  | ...(kill-buffer.buf-name)).....( | 
| 32d20 |  73 65 74 71 20 6f 63 63 75 72 2d 62 75 66 20 28    67 65 74 2d 62 75 66 66 65 72 2d 63 72 65 61 74  | setq.occur-buf.(get-buffer-creat | 
| 32d40 |  65 20 62 75 66 2d 6e 61 6d 65 29 29 0a 20 20 20    20 28 6c 65 74 20 28 28 72 65 73 2d 6c 69 73 74  | e.buf-name)).....(let.((res-list | 
| 32d60 |  20 28 63 61 6c 69 62 72 65 64 62 2d 63 61 6e 64    69 64 61 74 65 73 29 29 29 0a 20 20 20 20 20 20  | .(calibredb-candidates)))....... | 
| 32d80 |  28 77 69 74 68 2d 63 75 72 72 65 6e 74 2d 62 75    66 66 65 72 20 6f 63 63 75 72 2d 62 75 66 0a 20  | (with-current-buffer.occur-buf.. | 
| 32da0 |  20 20 20 20 20 20 20 28 65 72 61 73 65 2d 62 75    66 66 65 72 29 0a 20 20 20 20 20 20 20 20 28 69  | .......(erase-buffer).........(i | 
| 32dc0 |  6e 73 65 72 74 20 22 23 2b 53 54 41 52 54 55 50    3a 20 69 6e 6c 69 6e 65 69 6d 61 67 65 73 20 6e  | nsert."#+STARTUP:.inlineimages.n | 
| 32de0 |  6f 66 6f 6c 64 22 29 29 0a 20 20 20 20 20 20 28    64 6f 6c 69 73 74 20 28 72 65 73 20 72 65 73 2d  | ofold")).......(dolist.(res.res- | 
| 32e00 |  6c 69 73 74 29 0a 20 20 20 20 20 20 20 20 28 6c    65 74 20 28 28 63 6f 76 65 72 20 28 63 6f 6e 63  | list).........(let.((cover.(conc | 
| 32e20 |  61 74 20 28 66 69 6c 65 2d 6e 61 6d 65 2d 64 69    72 65 63 74 6f 72 79 20 28 63 61 6c 69 62 72 65  | at.(file-name-directory.(calibre | 
| 32e40 |  64 62 2d 67 65 74 61 74 74 72 20 28 63 64 72 20    72 65 73 29 20 3a 66 69 6c 65 2d 70 61 74 68 29  | db-getattr.(cdr.res).:file-path) | 
| 32e60 |  29 20 22 63 6f 76 65 72 2e 6a 70 67 22 29 29 0a    20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 74  | )."cover.jpg"))...............(t | 
| 32e80 |  69 74 6c 65 20 28 63 61 6c 69 62 72 65 64 62 2d    67 65 74 61 74 74 72 20 28 63 64 72 20 72 65 73  | itle.(calibredb-getattr.(cdr.res | 
| 32ea0 |  29 20 3a 62 6f 6f 6b 2d 74 69 74 6c 65 29 29 0a    20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66  | ).:book-title))...............(f | 
| 32ec0 |  6f 72 6d 61 74 20 28 63 61 6c 69 62 72 65 64 62    2d 67 65 74 61 74 74 72 20 28 63 64 72 20 72 65  | ormat.(calibredb-getattr.(cdr.re | 
| 32ee0 |  73 29 20 3a 62 6f 6f 6b 2d 66 6f 72 6d 61 74 29    29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | s).:book-format))............... | 
| 32f00 |  28 62 6f 6f 6b 20 28 63 61 6c 69 62 72 65 64 62    2d 67 65 74 61 74 74 72 20 28 63 64 72 20 72 65  | (book.(calibredb-getattr.(cdr.re | 
| 32f20 |  73 29 20 3a 66 69 6c 65 2d 70 61 74 68 29 29 29    0a 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28  | s).:file-path)))...........(if.( | 
| 32f40 |  69 6d 61 67 65 2d 74 79 70 65 2d 61 76 61 69 6c    61 62 6c 65 2d 70 20 28 69 6e 74 65 72 6e 20 66  | image-type-available-p.(intern.f | 
| 32f60 |  6f 72 6d 61 74 29 29 0a 20 20 20 20 20 20 20 20    20 20 20 20 20 20 28 73 65 74 71 20 63 6f 76 65  | ormat))...............(setq.cove | 
| 32f80 |  72 20 62 6f 6f 6b 29 29 0a 20 20 20 20 20 20 20    20 20 20 28 77 69 74 68 2d 63 75 72 72 65 6e 74  | r.book))...........(with-current | 
| 32fa0 |  2d 62 75 66 66 65 72 20 6f 63 63 75 72 2d 62 75    66 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 77  | -buffer.occur-buf.............(w | 
| 32fc0 |  68 65 6e 20 28 66 69 6c 65 2d 65 78 69 73 74 73    2d 70 20 63 6f 76 65 72 29 0a 20 20 20 20 20 20  | hen.(file-exists-p.cover)....... | 
| 32fe0 |  20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 20    22 5c 6e 22 29 0a 20 20 20 20 20 20 20 20 20 20  | ........(insert."\n")........... | 
| 33000 |  20 20 20 20 28 69 6e 73 65 72 74 20 22 23 2b 61    74 74 72 5f 6f 72 67 3a 20 3a 77 69 64 74 68 20  | ....(insert."#+attr_org:.:width. | 
| 33020 |  32 30 30 70 78 5c 6e 22 29 0a 20 20 20 20 20 20    20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 20  | 200px\n")...............(insert. | 
| 33040 |  22 5b 5b 66 69 6c 65 3a 22 20 63 6f 76 65 72 20    22 5d 5d 22 29 29 0a 20 20 20 20 20 20 20 20 20  | "[[file:".cover."]]")).......... | 
| 33060 |  20 20 20 28 69 6e 73 65 72 74 20 22 5c 6e 22 29    0a 20 20 20 20 20 20 20 20 20 20 20 20 28 69 6e  | ...(insert."\n").............(in | 
| 33080 |  73 65 72 74 20 28 66 6f 72 6d 61 74 20 22 5b 5b    66 69 6c 65 3a 25 73 5d 5b 25 73 5d 5d 22 20 62  | sert.(format."[[file:%s][%s]]".b | 
| 330a0 |  6f 6f 6b 20 74 69 74 6c 65 29 29 0a 20 20 20 20    20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 20  | ook.title)).............(insert. | 
| 330c0 |  22 5c 6e 22 29 29 29 29 29 0a 20 20 20 20 28 77    68 65 6e 20 28 62 75 66 66 65 72 2d 6c 69 76 65  | "\n"))))).....(when.(buffer-live | 
| 330e0 |  2d 70 20 6f 63 63 75 72 2d 62 75 66 29 0a 20 20    20 20 20 20 28 73 77 69 74 63 68 2d 74 6f 2d 62  | -p.occur-buf).......(switch-to-b | 
| 33100 |  75 66 66 65 72 2d 6f 74 68 65 72 2d 77 69 6e 64    6f 77 20 6f 63 63 75 72 2d 62 75 66 29 0a 20 20  | uffer-other-window.occur-buf)... | 
| 33120 |  20 20 20 20 28 72 65 61 64 2d 6f 6e 6c 79 2d 6d    6f 64 65 29 0a 20 20 20 20 20 20 28 75 6e 6c 65  | ....(read-only-mode).......(unle | 
| 33140 |  73 73 20 28 66 65 61 74 75 72 65 70 20 27 6f 72    67 29 0a 20 20 20 20 20 20 20 20 28 72 65 71 75  | ss.(featurep.'org).........(requ | 
| 33160 |  69 72 65 20 27 6f 72 67 29 29 0a 20 20 20 20 20    20 28 69 66 20 28 66 62 6f 75 6e 64 70 20 27 6f  | ire.'org)).......(if.(fboundp.'o | 
| 33180 |  72 67 2d 6d 6f 64 65 29 0a 20 20 20 20 20 20 20    20 20 20 28 6f 72 67 2d 6d 6f 64 65 29 29 0a 20  | rg-mode)...........(org-mode)).. | 
| 331a0 |  20 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20    28 70 6f 69 6e 74 2d 6d 69 6e 29 29 29 29 29 0a  | .....(goto-char.(point-min))))). | 
| 331c0 |  0a 28 64 65 66 75 6e 20 63 61 6c 69 62 72 65 64    62 2d 6f 70 65 6e 2d 77 69 74 68 2d 64 65 66 61  | .(defun.calibredb-open-with-defa | 
| 331e0 |  75 6c 74 2d 74 6f 6f 6c 20 28 66 69 6c 65 70 61    74 68 29 0a 20 20 22 54 4f 44 4f 3a 20 63 6f 6e  | ult-tool.(filepath)..."TODO:.con | 
| 33200 |  73 6f 6c 69 64 61 74 65 20 64 65 66 61 75 6c 74    2d 6f 70 65 6e 65 72 20 77 69 74 68 20 64 69 73  | solidate.default-opener.with.dis | 
| 33220 |  70 61 74 63 68 65 72 2e 0a 41 72 67 75 6d 65 6e    74 20 46 49 4c 45 50 41 54 48 20 69 73 20 74 68  | patcher..Argument.FILEPATH.is.th | 
| 33240 |  65 20 66 69 6c 65 20 70 61 74 68 2e 22 0a 20 20    28 63 6f 6e 64 20 28 28 65 71 20 73 79 73 74 65  | e.file.path."...(cond.((eq.syste | 
| 33260 |  6d 2d 74 79 70 65 20 27 67 6e 75 2f 6c 69 6e 75    78 29 0a 20 20 20 20 20 20 20 20 20 28 63 61 6c  | m-type.'gnu/linux)..........(cal | 
| 33280 |  6c 2d 70 72 6f 63 65 73 73 20 22 78 64 67 2d 6f    70 65 6e 22 20 6e 69 6c 20 30 20 6e 69 6c 20 28  | l-process."xdg-open".nil.0.nil.( | 
| 332a0 |  65 78 70 61 6e 64 2d 66 69 6c 65 2d 6e 61 6d 65    20 66 69 6c 65 70 61 74 68 29 29 29 0a 20 20 20  | expand-file-name.filepath))).... | 
| 332c0 |  20 20 20 20 20 28 28 65 71 20 73 79 73 74 65 6d    2d 74 79 70 65 20 27 77 69 6e 64 6f 77 73 2d 6e  | .....((eq.system-type.'windows-n | 
| 332e0 |  74 29 0a 20 20 20 20 20 20 20 20 20 28 77 33 32    2d 73 68 65 6c 6c 2d 65 78 65 63 75 74 65 20 22  | t)..........(w32-shell-execute." | 
| 33300 |  6f 70 65 6e 22 20 28 65 78 70 61 6e 64 2d 66 69    6c 65 2d 6e 61 6d 65 20 66 69 6c 65 70 61 74 68  | open".(expand-file-name.filepath | 
| 33320 |  29 29 29 0a 20 20 20 20 20 20 20 20 28 28 65 71    20 73 79 73 74 65 6d 2d 74 79 70 65 20 27 64 61  | ))).........((eq.system-type.'da | 
| 33340 |  72 77 69 6e 29 0a 20 20 20 20 20 20 20 20 20 28    73 74 61 72 74 2d 70 72 6f 63 65 73 73 20 22 73  | rwin)..........(start-process."s | 
| 33360 |  68 65 6c 6c 2d 70 72 6f 63 65 73 73 22 20 22 2a    4d 65 73 73 61 67 65 73 2a 22 0a 20 20 20 20 20  | hell-process"."*Messages*"...... | 
| 33380 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 22 6f 70 65 6e 22 20 28 65 78 70 61 6e  | ..................."open".(expan | 
| 333a0 |  64 2d 66 69 6c 65 2d 6e 61 6d 65 20 66 69 6c 65    70 61 74 68 29 29 29 0a 20 20 20 20 20 20 20 20  | d-file-name.filepath)))......... | 
| 333c0 |  28 74 20 28 6d 65 73 73 61 67 65 20 22 75 6e 6b    6e 6f 77 6e 20 73 79 73 74 65 6d 21 3f 22 29 29  | (t.(message."unknown.system!?")) | 
| 333e0 |  29 29 0a 0a 28 64 65 66 75 6e 20 63 61 6c 69 62    72 65 64 62 2d 6c 69 73 74 2d 65 62 6f 6f 6b 73  | ))..(defun.calibredb-list-ebooks | 
| 33400 |  2d 66 69 6c 65 73 20 28 64 69 72 65 63 74 6f 72    79 20 66 69 6c 65 2d 65 78 74 65 6e 73 69 6f 6e  | -files.(directory.file-extension | 
| 33420 |  73 29 0a 20 20 22 52 65 63 75 72 73 69 76 65 6c    79 20 6c 69 73 74 20 61 6c 6c 20 65 62 6f 6f 6b  | s)..."Recursively.list.all.ebook | 
| 33440 |  20 66 69 6c 65 73 20 77 69 74 68 20 46 49 4c 45    2d 45 58 54 45 4e 53 49 4f 4e 53 20 69 6e 20 44  | .files.with.FILE-EXTENSIONS.in.D | 
| 33460 |  49 52 45 43 54 4f 52 59 2e 0a 46 49 4c 45 2d 45    58 54 45 4e 53 49 4f 4e 53 20 73 68 6f 75 6c 64  | IRECTORY..FILE-EXTENSIONS.should | 
| 33480 |  20 62 65 20 61 20 6c 69 73 74 20 6f 66 20 73 74    72 69 6e 67 73 2e 22 0a 20 20 28 6c 65 74 2a 20  | .be.a.list.of.strings."...(let*. | 
| 334a0 |  28 28 72 65 67 65 78 20 28 66 6f 72 6d 61 74 20    22 5c 5c 2e 25 73 5c 5c 27 22 20 28 72 65 67 65  | ((regex.(format."\\.%s\\'".(rege | 
| 334c0 |  78 70 2d 6f 70 74 20 66 69 6c 65 2d 65 78 74 65    6e 73 69 6f 6e 73 29 29 29 0a 20 20 20 20 20 20  | xp-opt.file-extensions)))....... | 
| 334e0 |  20 20 20 28 66 69 6c 65 73 20 28 64 69 72 65 63    74 6f 72 79 2d 66 69 6c 65 73 2d 72 65 63 75 72  | ...(files.(directory-files-recur | 
| 33500 |  73 69 76 65 6c 79 20 64 69 72 65 63 74 6f 72 79    20 72 65 67 65 78 20 74 29 29 29 0a 20 20 20 20  | sively.directory.regex.t)))..... | 
| 33520 |  28 63 6f 6e 64 20 28 28 3e 20 28 6c 65 6e 67 74    68 20 66 69 6c 65 73 29 20 30 29 0a 20 20 20 20  | (cond.((>.(length.files).0)..... | 
| 33540 |  20 20 20 20 20 20 20 66 69 6c 65 73 29 0a 20 20    20 20 20 20 20 20 20 20 28 74 20 28 65 72 72 6f  | .......files)...........(t.(erro | 
| 33560 |  72 20 22 4e 6f 20 45 62 6f 6f 6b 73 20 66 6f 75    6e 64 20 69 6e 20 25 73 22 20 64 69 72 65 63 74  | r."No.Ebooks.found.in.%s".direct | 
| 33580 |  6f 72 79 29 0a 20 20 20 20 20 20 20 20 20 20 20    20 20 6e 69 6c 29 29 29 29 0a 0a 28 64 65 66 75  | ory)..............nil))))..(defu | 
| 335a0 |  6e 20 63 61 6c 69 62 72 65 64 62 2d 67 65 74 2d    66 69 6c 65 2d 70 61 74 68 20 28 65 6e 74 72 79  | n.calibredb-get-file-path.(entry | 
| 335c0 |  20 26 6f 70 74 69 6f 6e 61 6c 20 70 72 6f 6d 70    74 29 0a 20 20 22 47 65 74 20 66 69 6c 65 20 70  | .&optional.prompt)..."Get.file.p | 
| 335e0 |  61 74 68 20 66 72 6f 6d 20 61 20 76 61 6c 69 64    20 63 61 6e 64 69 64 61 74 65 20 45 4e 54 52 59  | ath.from.a.valid.candidate.ENTRY | 
| 33600 |  2e 0a 4f 70 74 69 6f 6e 61 6c 20 61 72 67 75 6d    65 6e 74 20 50 52 4f 4d 50 54 20 74 6f 20 53 65  | ..Optional.argument.PROMPT.to.Se | 
| 33620 |  6c 65 63 74 20 61 20 66 6f 72 6d 61 74 2e 22 0a    20 20 28 6c 65 74 20 28 28 66 69 6c 65 2d 70 61  | lect.a.format."...(let.((file-pa | 
| 33640 |  74 68 20 28 63 61 6c 69 62 72 65 64 62 2d 67 65    74 61 74 74 72 20 65 6e 74 72 79 20 3a 66 69 6c  | th.(calibredb-getattr.entry.:fil | 
| 33660 |  65 2d 70 61 74 68 29 29 29 0a 20 20 20 20 28 63    6f 6e 64 20 28 28 73 2d 65 71 75 61 6c 73 3f 20  | e-path))).....(cond.((s-equals?. | 
| 33680 |  22 22 20 66 69 6c 65 2d 70 61 74 68 29 20 22 22    29 20 20 20 20 20 20 20 20 20 3b 20 6e 6f 20 66  | "".file-path)."").........;.no.f | 
| 336a0 |  69 6c 65 2d 70 61 74 68 20 66 69 65 6c 64 0a 20    20 20 20 20 20 20 20 20 20 28 28 66 69 6c 65 2d  | ile-path.field...........((file- | 
| 336c0 |  65 78 69 73 74 73 2d 70 20 66 69 6c 65 2d 70 61    74 68 29 20 66 69 6c 65 2d 70 61 74 68 29 20 3b  | exists-p.file-path).file-path).; | 
| 336e0 |  20 64 65 66 61 75 6c 74 20 66 69 6c 65 2d 70 61    74 68 20 69 73 20 61 20 76 61 6c 69 64 20 66 69  | .default.file-path.is.a.valid.fi | 
| 33700 |  6c 65 0a 20 20 20 20 20 20 20 20 20 20 28 28 63    61 6c 69 62 72 65 64 62 2d 6c 6f 63 61 6c 2d 66  | le...........((calibredb-local-f | 
| 33720 |  69 6c 65 2d 65 78 69 73 74 73 2d 70 20 65 6e 74    72 79 29 20 28 63 61 6c 69 62 72 65 64 62 2d 6c  | ile-exists-p.entry).(calibredb-l | 
| 33740 |  6f 63 61 6c 2d 66 69 6c 65 20 65 6e 74 72 79 29    29 20 3b 20 76 61 6c 69 64 20 6c 6f 63 61 6c 20  | ocal-file.entry)).;.valid.local. | 
| 33760 |  66 69 6c 65 20 69 73 20 66 6f 75 6e 64 0a 20 20    20 20 20 20 20 20 20 20 28 28 73 74 72 69 6e 67  | file.is.found...........((string | 
| 33780 |  2d 70 72 65 66 69 78 2d 70 20 22 68 74 74 70 22    20 66 69 6c 65 2d 70 61 74 68 29 20 66 69 6c 65  | -prefix-p."http".file-path).file | 
| 337a0 |  2d 70 61 74 68 29 20 3b 20 66 6f 72 20 68 74 74    70 20 6c 69 6e 6b 2c 20 6a 75 73 74 20 72 65 74  | -path).;.for.http.link,.just.ret | 
| 337c0 |  75 72 6e 0a 20 20 20 20 20 20 20 20 20 20 28 74    20 28 69 66 20 28 73 2d 63 6f 6e 74 61 69 6e 73  | urn...........(t.(if.(s-contains | 
| 337e0 |  3f 20 22 2c 22 20 28 66 69 6c 65 2d 6e 61 6d 65    2d 65 78 74 65 6e 73 69 6f 6e 20 66 69 6c 65 2d  | ?.",".(file-name-extension.file- | 
| 33800 |  70 61 74 68 29 29 20 3b 20 74 72 79 20 74 6f 20    73 70 6c 69 74 20 74 68 65 20 65 78 74 65 6e 73  | path)).;.try.to.split.the.extens | 
| 33820 |  69 6f 6e 20 28 66 6f 72 20 65 78 61 6d 70 6c 65    2c 20 69 74 20 6d 61 79 20 62 65 20 65 70 75 62  | ion.(for.example,.it.may.be.epub | 
| 33840 |  2c 70 64 66 29 20 61 6e 64 20 72 65 74 75 72 6e    20 74 68 65 20 66 69 72 73 74 20 66 6f 72 6d 61  | ,pdf).and.return.the.first.forma | 
| 33860 |  74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 28 6c 65 74 2a 20 28 28 70 61 72 65 6e  | t..................(let*.((paren | 
| 33880 |  74 20 28 66 69 6c 65 2d 6e 61 6d 65 2d 64 69 72    65 63 74 6f 72 79 20 66 69 6c 65 2d 70 61 74 68  | t.(file-name-directory.file-path | 
| 338a0 |  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 28 66 69 6c 65  | )).........................(file | 
| 338c0 |  6e 61 6d 65 20 28 66 69 6c 65 2d 6e 61 6d 65 2d    62 61 73 65 20 66 69 6c 65 2d 70 61 74 68 29 29  | name.(file-name-base.file-path)) | 
| 338e0 |  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 28 65 78 74 20 28 73  | .........................(ext.(s | 
| 33900 |  2d 73 70 6c 69 74 20 22 2c 22 20 28 66 69 6c 65    2d 6e 61 6d 65 2d 65 78 74 65 6e 73 69 6f 6e 20  | -split.",".(file-name-extension. | 
| 33920 |  66 69 6c 65 2d 70 61 74 68 29 29 29 0a 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | file-path))).................... | 
| 33940 |  20 20 20 20 20 28 66 69 6c 65 73 20 28 63 61 6c    69 62 72 65 64 62 2d 6c 69 73 74 2d 65 62 6f 6f  | .....(files.(calibredb-list-eboo | 
| 33960 |  6b 73 2d 66 69 6c 65 73 20 70 61 72 65 6e 74 20    65 78 74 29 29 29 0a 20 20 20 20 20 20 20 20 20  | ks-files.parent.ext))).......... | 
| 33980 |  20 20 20 20 20 20 20 20 20 20 28 69 66 20 63 61    6c 69 62 72 65 64 62 2d 70 72 65 66 65 72 72 65  | ..........(if.calibredb-preferre | 
| 339a0 |  64 2d 66 6f 72 6d 61 74 0a 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | d-format........................ | 
| 339c0 |  28 6c 65 74 20 28 28 70 72 65 66 65 72 72 65 64    2d 66 69 6c 65 73 20 28 2d 66 69 6c 74 65 72 20  | (let.((preferred-files.(-filter. | 
| 339e0 |  28 6c 61 6d 62 64 61 20 28 66 29 20 28 73 74 72    69 6e 67 3d 20 28 66 69 6c 65 2d 6e 61 6d 65 2d  | (lambda.(f).(string=.(file-name- | 
| 33a00 |  65 78 74 65 6e 73 69 6f 6e 20 66 29 20 63 61 6c    69 62 72 65 64 62 2d 70 72 65 66 65 72 72 65 64  | extension.f).calibredb-preferred | 
| 33a20 |  2d 66 6f 72 6d 61 74 29 29 20 66 69 6c 65 73 29    29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  | -format)).files))).............. | 
| 33a40 |  20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e    64 20 28 28 3e 20 28 6c 65 6e 67 74 68 20 70 72  | ............(cond.((>.(length.pr | 
| 33a60 |  65 66 65 72 72 65 64 2d 66 69 6c 65 73 29 20 31    29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | eferred-files).1)............... | 
| 33a80 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 28 63 6f 6d 70 6c 65 74 69 6e 67 2d 72 65  | ..................(completing-re | 
| 33aa0 |  61 64 20 28 66 6f 72 6d 61 74 20 22 53 65 6c 65    63 74 20 61 20 66 69 6c 65 20 28 25 73 29 3a 20  | ad.(format."Select.a.file.(%s):. | 
| 33ac0 |  22 20 63 61 6c 69 62 72 65 64 62 2d 70 72 65 66    65 72 72 65 64 2d 66 6f 72 6d 61 74 29 20 70 72  | ".calibredb-preferred-format).pr | 
| 33ae0 |  65 66 65 72 72 65 64 2d 66 69 6c 65 73 29 29 0a    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | eferred-files))................. | 
| 33b00 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28    28 3d 20 28 6c 65 6e 67 74 68 20 70 72 65 66 65  | ...............((=.(length.prefe | 
| 33b20 |  72 72 65 64 2d 66 69 6c 65 73 29 20 31 29 0a 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | rred-files).1).................. | 
| 33b40 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28    63 61 72 20 70 72 65 66 65 72 72 65 64 2d 66 69  | ...............(car.preferred-fi | 
| 33b60 |  6c 65 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  | les))........................... | 
| 33b80 |  20 20 20 20 20 28 74 20 28 63 61 72 20 66 69 6c    65 73 29 29 29 29 0a 20 20 20 20 20 20 20 20 20  | .....(t.(car.files)))).......... | 
| 33ba0 |  20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20    70 72 6f 6d 70 74 0a 20 20 20 20 20 20 20 20 20  | ............(if.prompt.......... | 
| 33bc0 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    28 63 6f 6d 70 6c 65 74 69 6e 67 2d 72 65 61 64  | ................(completing-read | 
| 33be0 |  20 28 66 6f 72 6d 61 74 20 22 53 65 6c 65 63 74    20 61 20 66 69 6c 65 20 25 73 3a 20 22 20 65 78  | .(format."Select.a.file.%s:.".ex | 
| 33c00 |  74 29 20 66 69 6c 65 73 29 0a 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | t).files)....................... | 
| 33c20 |  20 28 63 61 72 20 66 69 6c 65 73 29 29 29 29 0a    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66  | .(car.files))))................f | 
| 33c40 |  69 6c 65 2d 70 61 74 68 29 29 29 29 29 20 20 20    20 20 20 20 20 20 20 20 3b 20 69 66 20 65 78 74  | ile-path)))))...........;.if.ext | 
| 33c60 |  65 6e 73 69 6f 6e 20 64 6f 65 73 20 6e 6f 74 20    68 61 76 65 20 63 6f 6d 6d 61 2c 20 61 74 20 6c  | ension.does.not.have.comma,.at.l | 
| 33c80 |  61 73 74 20 6a 75 73 74 20 72 65 74 72 75 6e 20    69 74 2e 0a 0a 28 64 65 66 75 6e 20 63 61 6c 69  | ast.just.retrun.it...(defun.cali | 
| 33ca0 |  62 72 65 64 62 2d 6c 6f 63 61 6c 2d 66 69 6c 65    20 28 65 6e 74 72 79 29 0a 20 20 22 47 65 74 20  | bredb-local-file.(entry)..."Get. | 
| 33cc0 |  74 68 65 20 6c 6f 63 61 6c 20 62 6f 6f 6b 20 66    69 6c 65 20 62 61 73 65 64 20 6f 6e 20 45 4e 54  | the.local.book.file.based.on.ENT | 
| 33ce0 |  52 59 2e 22 0a 20 20 28 6c 65 74 2a 20 28 28 62    6f 6f 6b 2d 74 69 74 6c 65 20 28 63 61 6c 69 62  | RY."...(let*.((book-title.(calib | 
| 33d00 |  72 65 64 62 2d 67 65 74 61 74 74 72 20 65 6e 74    72 79 20 3a 62 6f 6f 6b 2d 74 69 74 6c 65 29 29  | redb-getattr.entry.:book-title)) | 
| 33d20 |  0a 20 20 20 20 20 20 20 20 20 28 62 6f 6f 6b 2d    66 6f 72 6d 61 74 20 28 63 61 6c 69 62 72 65 64  | ..........(book-format.(calibred | 
| 33d40 |  62 2d 67 65 74 61 74 74 72 20 65 6e 74 72 79 20    3a 62 6f 6f 6b 2d 66 6f 72 6d 61 74 29 29 0a 20  | b-getattr.entry.:book-format)).. | 
| 33d60 |  20 20 20 20 20 20 20 20 28 6c 6f 63 61 6c 2d 66    69 6c 65 20 28 65 78 70 61 6e 64 2d 66 69 6c 65  | ........(local-file.(expand-file | 
| 33d80 |  2d 6e 61 6d 65 20 28 66 6f 72 6d 61 74 20 22 25    73 25 73 22 20 62 6f 6f 6b 2d 74 69 74 6c 65 20  | -name.(format."%s%s".book-title. | 
| 33da0 |  28 63 61 6c 69 62 72 65 64 62 2d 6f 70 64 73 2d    6d 61 69 6c 63 61 70 2d 6d 69 6d 65 2d 74 6f 2d  | (calibredb-opds-mailcap-mime-to- | 
| 33dc0 |  65 78 74 6e 20 62 6f 6f 6b 2d 66 6f 72 6d 61 74    29 29 20 63 61 6c 69 62 72 65 64 62 2d 6f 70 64  | extn.book-format)).calibredb-opd | 
| 33de0 |  73 2d 64 6f 77 6e 6c 6f 61 64 2d 64 69 72 29 29    29 0a 20 20 20 20 6c 6f 63 61 6c 2d 66 69 6c 65  | s-download-dir))).....local-file | 
| 33e00 |  29 29 0a 0a 28 64 65 66 75 6e 20 63 61 6c 69 62    72 65 64 62 2d 6c 6f 63 61 6c 2d 66 69 6c 65 2d  | ))..(defun.calibredb-local-file- | 
| 33e20 |  65 78 69 73 74 73 2d 70 20 28 65 6e 74 72 79 29    0a 20 20 22 43 68 65 63 6b 20 6c 6f 63 61 6c 20  | exists-p.(entry)..."Check.local. | 
| 33e40 |  62 6f 6f 6b 20 66 69 6c 65 20 65 78 69 73 74 73    20 6f 72 20 6e 6f 74 20 62 61 73 65 64 20 6f 6e  | book.file.exists.or.not.based.on | 
| 33e60 |  20 45 4e 54 52 59 2e 22 0a 20 20 28 66 69 6c 65    2d 65 78 69 73 74 73 2d 70 20 28 63 61 6c 69 62  | .ENTRY."...(file-exists-p.(calib | 
| 33e80 |  72 65 64 62 2d 6c 6f 63 61 6c 2d 66 69 6c 65 20    65 6e 74 72 79 29 29 29 0a 0a 28 64 65 66 75 6e  | redb-local-file.entry)))..(defun | 
| 33ea0 |  20 63 61 6c 69 62 72 65 64 62 2d 67 65 74 2d 63    6f 76 65 72 20 28 65 6e 74 72 79 29 0a 20 20 22  | .calibredb-get-cover.(entry)..." | 
| 33ec0 |  47 65 74 20 63 6f 76 65 72 20 70 61 74 68 20 62    61 73 65 64 20 6f 6e 20 45 4e 54 52 59 2e 0a 44  | Get.cover.path.based.on.ENTRY..D | 
| 33ee0 |  6f 77 6e 6c 6f 61 64 20 69 74 20 69 66 20 62 6f    6f 6b 2d 63 6f 76 65 72 20 69 73 20 6e 6f 6e 2d  | ownload.it.if.book-cover.is.non- | 
| 33f00 |  6e 69 6c 2e 22 0a 20 20 28 6c 65 74 20 28 28 66    69 6c 65 2d 70 61 74 68 20 28 63 61 6c 69 62 72  | nil."...(let.((file-path.(calibr | 
| 33f20 |  65 64 62 2d 67 65 74 61 74 74 72 20 65 6e 74 72    79 20 3a 66 69 6c 65 2d 70 61 74 68 29 29 0a 20  | edb-getattr.entry.:file-path)).. | 
| 33f40 |  20 20 20 20 20 20 20 28 62 6f 6f 6b 2d 66 6f 72    6d 61 74 20 28 63 61 6c 69 62 72 65 64 62 2d 67  | .......(book-format.(calibredb-g | 
| 33f60 |  65 74 61 74 74 72 20 65 6e 74 72 79 20 3a 62 6f    6f 6b 2d 66 6f 72 6d 61 74 29 29 0a 20 20 20 20  | etattr.entry.:book-format))..... | 
| 33f80 |  20 20 20 20 28 62 6f 6f 6b 2d 63 6f 76 65 72 20    28 63 61 6c 69 62 72 65 64 62 2d 67 65 74 61 74  | ....(book-cover.(calibredb-getat | 
| 33fa0 |  74 72 20 65 6e 74 72 79 20 3a 62 6f 6f 6b 2d 63    6f 76 65 72 29 29 29 0a 20 20 20 20 3b 3b 20 28  | tr.entry.:book-cover))).....;;.( | 
| 33fc0 |  70 70 20 62 6f 6f 6b 2d 63 6f 76 65 72 29 0a 20    20 20 20 28 63 6f 6e 64 20 28 28 69 6d 61 67 65  | pp.book-cover).....(cond.((image | 
| 33fe0 |  2d 74 79 70 65 2d 61 76 61 69 6c 61 62 6c 65 2d    70 20 28 69 6e 74 65 72 6e 20 62 6f 6f 6b 2d 66  | -type-available-p.(intern.book-f | 
| 34000 |  6f 72 6d 61 74 29 29 20 66 69 6c 65 2d 70 61 74    68 29 20 3b 20 74 68 65 20 66 69 6c 65 20 69 73  | ormat)).file-path).;.the.file.is | 
| 34020 |  20 61 6e 20 69 6d 61 67 65 0a 20 20 20 20 20 20    20 20 20 20 28 28 66 69 6c 65 2d 65 78 69 73 74  | .an.image...........((file-exist | 
| 34040 |  73 2d 70 20 28 63 6f 6e 63 61 74 20 28 66 69 6c    65 2d 6e 61 6d 65 2d 64 69 72 65 63 74 6f 72 79  | s-p.(concat.(file-name-directory | 
| 34060 |  20 66 69 6c 65 2d 70 61 74 68 29 20 22 63 6f 76    65 72 2e 6a 70 67 22 29 29 0a 20 20 20 20 20 20  | .file-path)."cover.jpg"))....... | 
| 34080 |  20 20 20 20 20 28 63 6f 6e 63 61 74 20 28 66 69    6c 65 2d 6e 61 6d 65 2d 64 69 72 65 63 74 6f 72  | .....(concat.(file-name-director | 
| 340a0 |  79 20 66 69 6c 65 2d 70 61 74 68 29 20 22 63 6f    76 65 72 2e 6a 70 67 22 29 29 20 3b 20 63 6f 76  | y.file-path)."cover.jpg")).;.cov | 
| 340c0 |  65 72 2e 6a 70 67 20 65 78 69 73 74 73 0a 20 20    20 20 20 20 20 20 20 20 28 28 66 69 6c 65 2d 65  | er.jpg.exists...........((file-e | 
| 340e0 |  78 69 73 74 73 2d 70 20 28 63 61 6c 69 62 72 65    64 62 2d 69 6e 66 69 6c 65 2d 63 6f 76 65 72 2d  | xists-p.(calibredb-infile-cover- | 
| 34100 |  70 61 74 68 20 66 69 6c 65 2d 70 61 74 68 29 29    0a 20 20 20 20 20 20 20 20 20 20 20 28 63 61 6c  | path.file-path))............(cal | 
| 34120 |  69 62 72 65 64 62 2d 69 6e 66 69 6c 65 2d 63 6f    76 65 72 2d 70 61 74 68 20 66 69 6c 65 2d 70 61  | ibredb-infile-cover-path.file-pa | 
| 34140 |  74 68 29 29 0a 20 20 20 20 20 20 20 20 20 20 28    28 6e 6f 74 20 62 6f 6f 6b 2d 63 6f 76 65 72 29  | th))...........((not.book-cover) | 
| 34160 |  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  | ................................ | 
| 34180 |  20 20 20 20 20 20 3b 20 62 6f 6f 6b 2d 63 6f 76    65 72 20 69 73 20 6e 69 6c 2c 20 75 73 65 20 64  | ......;.book-cover.is.nil,.use.d | 
| 341a0 |  65 66 61 75 6c 74 20 63 6f 76 65 72 0a 20 20 20    20 20 20 20 20 20 20 20 3b 3b 20 66 69 72 73 74  | efault.cover............;;.first | 
| 341c0 |  20 74 72 79 20 74 6f 20 65 78 74 72 61 63 74 20    63 6f 76 65 72 20 66 72 6f 6d 20 74 68 65 20 66  | .try.to.extract.cover.from.the.f | 
| 341e0 |  69 6c 65 0a 20 20 20 20 20 20 20 20 20 20 20 28    6c 65 74 20 28 28 69 6e 66 69 6c 65 2d 63 6f 76  | ile............(let.((infile-cov | 
| 34200 |  65 72 20 28 63 61 6c 69 62 72 65 64 62 2d 69 6e    66 69 6c 65 2d 63 6f 76 65 72 2d 70 61 74 68 20  | er.(calibredb-infile-cover-path. | 
| 34220 |  66 69 6c 65 2d 70 61 74 68 29 29 29 0a 20 20 20    20 20 20 20 20 20 20 20 20 20 28 63 61 6c 69 62  | file-path)))..............(calib | 
| 34240 |  72 65 64 62 2d 65 78 74 72 61 63 74 2d 63 6f 76    65 72 20 65 6e 74 72 79 29 0a 20 20 20 20 20 20  | redb-extract-cover.entry)....... | 
| 34260 |  20 20 20 20 20 20 20 28 69 66 20 28 66 69 6c 65    2d 65 78 69 73 74 73 2d 70 20 69 6e 66 69 6c 65  | .......(if.(file-exists-p.infile | 
| 34280 |  2d 63 6f 76 65 72 29 0a 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 69 6e 66 69 6c 65 2d  | -cover)..................infile- | 
| 342a0 |  63 6f 76 65 72 0a 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 28 65 78 70 61 6e 64 2d 66 69 6c  | cover................(expand-fil | 
| 342c0 |  65 2d 6e 61 6d 65 20 22 63 6f 76 65 72 2e 6a 70    67 22 20 63 61 6c 69 62 72 65 64 62 2d 69 6d 61  | e-name."cover.jpg".calibredb-ima | 
| 342e0 |  67 65 73 2d 70 61 74 68 29 29 29 29 0a 20 20 20    20 20 20 20 20 20 20 28 28 73 2d 63 6f 6e 74 61  | ges-path))))...........((s-conta | 
| 34300 |  69 6e 73 3f 20 22 62 61 73 65 36 34 22 20 62 6f    6f 6b 2d 63 6f 76 65 72 29 0a 20 20 20 20 20 20  | ins?."base64".book-cover)....... | 
| 34320 |  20 20 20 20 20 28 69 66 20 28 73 74 72 69 6e 67    2d 6d 61 74 63 68 20 22 64 61 74 61 3a 69 6d 61  | .....(if.(string-match."data:ima | 
| 34340 |  67 65 2f 5c 5c 28 2e 2a 5c 5c 29 3b 62 61 73 65    36 34 2c 5c 5c 28 2e 2a 5c 5c 29 22 20 62 6f 6f  | ge/\\(.*\\);base64,\\(.*\\)".boo | 
| 34360 |  6b 2d 63 6f 76 65 72 29 0a 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 63  | k-cover)................(let.((c | 
| 34380 |  6f 76 65 72 20 28 65 78 70 61 6e 64 2d 66 69 6c    65 2d 6e 61 6d 65 20 28 66 6f 72 6d 61 74 20 22  | over.(expand-file-name.(format." | 
| 343a0 |  63 6f 76 65 72 2e 25 73 22 20 28 6d 61 74 63 68    2d 73 74 72 69 6e 67 20 31 20 62 6f 6f 6b 2d 63  | cover.%s".(match-string.1.book-c | 
| 343c0 |  6f 76 65 72 29 29 20 74 65 6d 70 6f 72 61 72 79    2d 66 69 6c 65 2d 64 69 72 65 63 74 6f 72 79 29  | over)).temporary-file-directory) | 
| 343e0 |  29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 28 77 69 74 68 2d 63 75 72 72 65 6e  | ))..................(with-curren | 
| 34400 |  74 2d 62 75 66 66 65 72 20 28 67 65 6e 65 72 61    74 65 2d 6e 65 77 2d 62 75 66 66 65 72 20 22 20  | t-buffer.(generate-new-buffer.". | 
| 34420 |  2a 74 65 6d 70 2a 22 29 0a 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 28 69 6e 73  | *temp*")....................(ins | 
| 34440 |  65 72 74 20 28 62 61 73 65 36 34 2d 64 65 63 6f    64 65 2d 73 74 72 69 6e 67 20 28 6d 61 74 63 68  | ert.(base64-decode-string.(match | 
| 34460 |  2d 73 74 72 69 6e 67 20 32 20 62 6f 6f 6b 2d 63    6f 76 65 72 29 29 29 0a 20 20 20 20 20 20 20 20  | -string.2.book-cover)))......... | 
| 34480 |  20 20 20 20 20 20 20 20 20 20 20 28 77 72 69 74    65 2d 72 65 67 69 6f 6e 20 28 70 6f 69 6e 74 2d  | ...........(write-region.(point- | 
| 344a0 |  6d 69 6e 29 20 28 70 6f 69 6e 74 2d 6d 61 78 29    20 63 6f 76 65 72 29 29 0a 20 20 20 20 20 20 20  | min).(point-max).cover))........ | 
| 344c0 |  20 20 20 20 20 20 20 20 20 20 63 6f 76 65 72 29    0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65  | ..........cover)..............(e | 
| 344e0 |  78 70 61 6e 64 2d 66 69 6c 65 2d 6e 61 6d 65 20    22 63 6f 76 65 72 2e 6a 70 67 22 20 63 61 6c 69  | xpand-file-name."cover.jpg".cali | 
| 34500 |  62 72 65 64 62 2d 69 6d 61 67 65 73 2d 70 61 74    68 29 29 29 20 3b 20 54 4f 44 4f 3a 20 68 61 6e  | bredb-images-path))).;.TODO:.han | 
| 34520 |  64 6c 65 20 62 61 73 65 36 34 20 63 6f 76 65 72    20 69 6d 61 67 65 73 0a 20 20 20 20 20 20 20 20  | dle.base64.cover.images......... | 
| 34540 |  20 20 28 28 6e 6f 74 20 28 73 2d 63 6f 6e 74 61    69 6e 73 3f 20 22 62 61 73 65 36 34 22 20 62 6f  | ..((not.(s-contains?."base64".bo | 
| 34560 |  6f 6b 2d 63 6f 76 65 72 29 29 0a 20 20 20 20 20    20 20 20 20 20 20 28 6c 65 74 2a 20 28 28 6c 69  | ok-cover))............(let*.((li | 
| 34580 |  62 72 61 72 79 20 28 2d 66 69 72 73 74 20 28 6c    61 6d 62 64 61 20 28 6c 69 62 29 0a 20 20 20 20  | brary.(-first.(lambda.(lib)..... | 
| 345a0 |  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  | ................................ | 
| 345c0 |  20 28 73 2d 63 6f 6e 74 61 69 6e 73 3f 20 28 66    69 6c 65 2d 6e 61 6d 65 2d 64 69 72 65 63 74 6f  | .(s-contains?.(file-name-directo | 
| 345e0 |  72 79 20 28 63 61 72 20 6c 69 62 29 29 20 62 6f    6f 6b 2d 63 6f 76 65 72 29 29 0a 20 20 20 20 20  | ry.(car.lib)).book-cover))...... | 
| 34600 |  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 63 61  | ..............................ca | 
| 34620 |  6c 69 62 72 65 64 62 2d 6c 69 62 72 61 72 79 2d    61 6c 69 73 74 29 29 0a 20 20 20 20 20 20 20 20  | libredb-library-alist))......... | 
| 34640 |  20 20 20 20 20 20 20 20 20 20 28 75 72 6c 2d 72    65 71 75 65 73 74 2d 6d 65 74 68 6f 64 20 22 47  | ..........(url-request-method."G | 
| 34660 |  45 54 22 29 0a 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 28 75 72 6c 2d 75 73 65 72  | ET")...................(url-user | 
| 34680 |  2d 61 67 65 6e 74 20 22 4d 6f 7a 69 6c 6c 61 2f    35 2e 30 20 28 57 69 6e 64 6f 77 73 20 4e 54 20  | -agent."Mozilla/5.0.(Windows.NT. | 
| 346a0 |  36 2e 31 3b 20 57 4f 57 36 34 29 20 41 70 70 6c    65 57 65 62 4b 69 74 2f 35 33 37 2e 33 36 20 28  | 6.1;.WOW64).AppleWebKit/537.36.( | 
| 346c0 |  4b 48 54 4d 4c 2c 20 6c 69 6b 65 20 47 65 63 6b    6f 29 20 43 68 72 6f 6d 65 2f 34 31 2e 30 2e 32  | KHTML,.like.Gecko).Chrome/41.0.2 | 
| 346e0 |  32 37 32 2e 31 30 31 20 53 61 66 61 72 69 2f 35    33 37 2e 33 36 22 29 0a 20 20 20 20 20 20 20 20  | 272.101.Safari/537.36")......... | 
| 34700 |  20 20 20 20 20 20 20 20 20 20 28 75 72 6c 2d 72    65 71 75 65 73 74 2d 65 78 74 72 61 2d 68 65 61  | ..........(url-request-extra-hea | 
| 34720 |  64 65 72 73 0a 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 60 2c 28 69 66 20 28 61  | ders....................`,(if.(a | 
| 34740 |  6e 64 20 28 6e 74 68 20 31 20 6c 69 62 72 61 72    79 29 20 28 6e 74 68 20 32 20 6c 69 62 72 61 72  | nd.(nth.1.library).(nth.2.librar | 
| 34760 |  79 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 60 28 28  | y))..........................`(( | 
| 34780 |  22 43 6f 6e 74 65 6e 74 2d 54 79 70 65 22 20 2e    20 22 61 70 70 6c 69 63 61 74 69 6f 6e 2f 78 6d  | "Content-Type"..."application/xm | 
| 347a0 |  6c 22 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 28  | l")............................( | 
| 347c0 |  22 41 75 74 68 6f 72 69 7a 61 74 69 6f 6e 22 20    2e 20 2c 28 63 6f 6e 63 61 74 20 22 42 61 73 69  | "Authorization"...,(concat."Basi | 
| 347e0 |  63 20 22 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 20  | c."............................. | 
| 34800 |  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 62 61 73 65  | ...........................(base | 
| 34820 |  36 34 2d 65 6e 63 6f 64 65 2d 73 74 72 69 6e 67    0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | 64-encode-string................ | 
| 34840 |  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  | ................................ | 
| 34860 |  20 20 20 20 20 20 20 20 20 28 63 6f 6e 63 61 74    20 28 6e 74 68 20 31 20 6c 69 62 72 61 72 79 29  | .........(concat.(nth.1.library) | 
| 34880 |  20 22 3a 22 20 28 6e 74 68 20 32 20 6c 69 62 72    61 72 79 29 29 29 29 29 29 0a 20 20 20 20 20 20  | .":".(nth.2.library))))))....... | 
| 348a0 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    27 28 28 22 43 6f 6e 74 65 6e 74 2d 54 79 70 65  | ................'(("Content-Type | 
| 348c0 |  22 20 2e 20 22 61 70 70 6c 69 63 61 74 69 6f 6e    2f 78 6d 6c 22 29 29 29 29 0a 20 20 20 20 20 20  | "..."application/xml"))))....... | 
| 348e0 |  20 20 20 20 20 20 20 20 20 20 20 20 28 75 72 6c    2d 61 75 74 6f 6d 61 74 69 63 2d 63 61 63 68 69  | ............(url-automatic-cachi | 
| 34900 |  6e 67 20 74 29 0a 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 28 66 69 6c 65 6e 61 6d  | ng.t)...................(filenam | 
| 34920 |  65 20 28 75 72 6c 2d 63 61 63 68 65 2d 63 72 65    61 74 65 2d 66 69 6c 65 6e 61 6d 65 20 62 6f 6f  | e.(url-cache-create-filename.boo | 
| 34940 |  6b 2d 63 6f 76 65 72 29 29 29 0a 20 20 20 20 20    20 20 20 20 20 20 20 20 28 69 66 20 28 6e 6f 74  | k-cover)))..............(if.(not | 
| 34960 |  20 28 75 72 6c 2d 69 73 2d 63 61 63 68 65 64 20    62 6f 6f 6b 2d 63 6f 76 65 72 29 29 0a 20 20 20  | .(url-is-cached.book-cover)).... | 
| 34980 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 77    69 74 68 2d 63 75 72 72 65 6e 74 2d 62 75 66 66  | ..............(with-current-buff | 
| 349a0 |  65 72 20 28 75 72 6c 2d 72 65 74 72 69 65 76 65    2d 73 79 6e 63 68 72 6f 6e 6f 75 73 6c 79 20 62  | er.(url-retrieve-synchronously.b | 
| 349c0 |  6f 6f 6b 2d 63 6f 76 65 72 29 0a 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 67  | ook-cover)....................(g | 
| 349e0 |  6f 74 6f 2d 63 68 61 72 20 28 70 6f 69 6e 74 2d    6d 69 6e 29 29 0a 20 20 20 20 20 20 20 20 20 20  | oto-char.(point-min))........... | 
| 34a00 |  20 20 20 20 20 20 20 20 20 28 73 65 61 72 63 68    2d 66 6f 72 77 61 72 64 20 22 5c 6e 5c 6e 22 29  | .........(search-forward."\n\n") | 
| 34a20 |  0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 28 77 72 69 74 65 2d 72 65 67 69 6f  | ....................(write-regio | 
| 34a40 |  6e 20 28 70 6f 69 6e 74 29 20 28 70 6f 69 6e 74    2d 6d 61 78 29 20 66 69 6c 65 6e 61 6d 65 29 29  | n.(point).(point-max).filename)) | 
| 34a60 |  29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 66    69 6c 65 6e 61 6d 65 29 29 0a 20 20 20 20 20 20  | )..............filename))....... | 
| 34a80 |  20 20 20 20 28 74 20 28 65 78 70 61 6e 64 2d 66    69 6c 65 2d 6e 61 6d 65 20 22 63 6f 76 65 72 2e  | ....(t.(expand-file-name."cover. | 
| 34aa0 |  6a 70 67 22 20 63 61 6c 69 62 72 65 64 62 2d 69    6d 61 67 65 73 2d 70 61 74 68 29 29 29 29 29 20  | jpg".calibredb-images-path))))). | 
| 34ac0 |  3b 72 65 74 75 72 6e 20 74 68 65 20 64 65 66 61    75 6c 74 20 69 6d 61 67 65 0a 0a 28 64 65 66 75  | ;return.the.default.image..(defu | 
| 34ae0 |  6e 20 63 61 6c 69 62 72 65 64 62 2d 65 78 74 72    61 63 74 2d 63 6f 76 65 72 20 28 65 6e 74 72 79  | n.calibredb-extract-cover.(entry | 
| 34b00 |  29 0a 20 20 22 45 78 74 72 61 63 74 20 45 4e 54    52 59 20 61 6e 64 20 73 61 76 65 20 74 68 65 20  | )..."Extract.ENTRY.and.save.the. | 
| 34b20 |  63 6f 76 65 72 20 74 6f 20 74 68 65 20 73 61 6d    65 20 64 69 72 65 63 74 6f 72 79 2e 22 0a 20 20  | cover.to.the.same.directory."... | 
| 34b40 |  3b 3b 20 6f 6e 6c 79 20 65 78 74 72 61 63 74 20    63 6f 76 65 72 20 69 66 20 63 61 6c 69 62 72 65  | ;;.only.extract.cover.if.calibre | 
| 34b60 |  64 62 2d 72 6f 6f 74 2d 64 69 72 20 69 73 20 6e    6f 74 20 61 20 68 74 74 70 20 6c 69 6e 6b 0a 20  | db-root-dir.is.not.a.http.link.. | 
| 34b80 |  20 28 75 6e 6c 65 73 73 20 28 73 74 72 69 6e 67    2d 70 72 65 66 69 78 2d 70 20 22 68 74 74 70 22  | .(unless.(string-prefix-p."http" | 
| 34ba0 |  20 63 61 6c 69 62 72 65 64 62 2d 72 6f 6f 74 2d    64 69 72 29 0a 20 20 20 20 3b 3b 20 6f 6e 6c 79  | .calibredb-root-dir).....;;.only | 
| 34bc0 |  20 65 78 74 72 61 63 74 20 63 6f 76 65 72 20 69    66 20 65 62 6f 6f 6b 2d 6d 65 74 61 20 69 73 20  | .extract.cover.if.ebook-meta.is. | 
| 34be0 |  61 76 61 69 6c 61 62 6c 65 0a 20 20 20 20 28 77    68 65 6e 20 28 65 78 65 63 75 74 61 62 6c 65 2d  | available.....(when.(executable- | 
| 34c00 |  66 69 6e 64 20 63 61 6c 69 62 72 65 64 62 2d 65    62 6f 6f 6b 2d 6d 65 74 61 2d 70 72 6f 67 72 61  | find.calibredb-ebook-meta-progra | 
| 34c20 |  6d 29 0a 20 20 20 20 20 20 3b 3b 20 65 78 74 72    61 63 74 20 63 6f 76 65 72 0a 20 20 20 20 20 20  | m).......;;.extract.cover....... | 
| 34c40 |  28 6c 65 74 2a 20 28 28 66 69 6c 65 20 28 63 61    6c 69 62 72 65 64 62 2d 67 65 74 61 74 74 72 20  | (let*.((file.(calibredb-getattr. | 
| 34c60 |  65 6e 74 72 79 20 3a 66 69 6c 65 2d 70 61 74 68    29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  | entry.:file-path)).............. | 
| 34c80 |  28 63 6f 76 65 72 20 28 63 61 6c 69 62 72 65 64    62 2d 69 6e 66 69 6c 65 2d 63 6f 76 65 72 2d 70  | (cover.(calibredb-infile-cover-p | 
| 34ca0 |  61 74 68 20 66 69 6c 65 29 29 29 0a 20 20 20 20    20 20 20 20 28 63 61 6c 6c 2d 70 72 6f 63 65 73  | ath.file))).........(call-proces | 
| 34cc0 |  73 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 20    28 66 6f 72 6d 61 74 20 22 25 73 20 25 73 20 2d  | s-shell-command.(format."%s.%s.- | 
| 34ce0 |  2d 67 65 74 2d 63 6f 76 65 72 20 25 73 22 20 63    61 6c 69 62 72 65 64 62 2d 65 62 6f 6f 6b 2d 6d  | -get-cover.%s".calibredb-ebook-m | 
| 34d00 |  65 74 61 2d 70 72 6f 67 72 61 6d 20 28 73 68 65    6c 6c 2d 71 75 6f 74 65 2d 61 72 67 75 6d 65 6e  | eta-program.(shell-quote-argumen | 
| 34d20 |  74 20 66 69 6c 65 29 20 28 73 68 65 6c 6c 2d 71    75 6f 74 65 2d 61 72 67 75 6d 65 6e 74 20 63 6f  | t.file).(shell-quote-argument.co | 
| 34d40 |  76 65 72 29 29 20 6e 69 6c 20 22 2a 65 62 6f 6f    6b 2d 6d 65 74 61 2a 22 29 0a 20 20 20 20 20 20  | ver)).nil."*ebook-meta*")....... | 
| 34d60 |  20 20 28 69 66 20 28 66 69 6c 65 2d 65 78 69 73    74 73 2d 70 20 63 6f 76 65 72 29 0a 20 20 20 20  | ..(if.(file-exists-p.cover)..... | 
| 34d80 |  20 20 20 20 20 20 20 20 28 6d 65 73 73 61 67 65    20 22 53 61 76 65 64 20 25 73 22 20 63 6f 76 65  | ........(message."Saved.%s".cove | 
| 34da0 |  72 29 0a 20 20 20 20 20 20 20 20 20 20 3b 3b 20    63 61 6e 20 6e 6f 74 20 67 65 6e 65 72 61 74 65  | r)...........;;.can.not.generate | 
| 34dc0 |  20 63 6f 76 65 72 2e 6a 70 67 2c 20 74 72 79 20    74 6f 20 63 6f 70 79 20 63 6f 76 65 72 2e 6a 70  | .cover.jpg,.try.to.copy.cover.jp | 
| 34de0 |  67 20 66 72 6f 6d 20 63 61 6c 69 62 72 65 64 62    2d 69 6d 61 67 65 73 2d 70 61 74 68 0a 20 20 20  | g.from.calibredb-images-path.... | 
| 34e00 |  20 20 20 20 20 20 20 28 63 6f 70 79 2d 66 69 6c    65 20 28 65 78 70 61 6e 64 2d 66 69 6c 65 2d 6e  | .......(copy-file.(expand-file-n | 
| 34e20 |  61 6d 65 20 22 63 6f 76 65 72 2e 6a 70 67 22 20    63 61 6c 69 62 72 65 64 62 2d 69 6d 61 67 65 73  | ame."cover.jpg".calibredb-images | 
| 34e40 |  2d 70 61 74 68 29 0a 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 63 6f 76 65  | -path)......................cove | 
| 34e60 |  72 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20    63 61 6c 69 62 72 65 64 62 2d 69 6e 66 69 6c 65  | r))))))..(defun.calibredb-infile | 
| 34e80 |  2d 63 6f 76 65 72 2d 70 61 74 68 20 28 66 69 6c    65 29 0a 20 20 22 45 78 74 72 61 63 74 20 46 49  | -cover-path.(file)..."Extract.FI | 
| 34ea0 |  4c 45 20 61 6e 64 20 72 65 74 75 72 6e 20 74 68    65 20 63 6f 76 65 72 20 70 61 74 68 2e 22 0a 20  | LE.and.return.the.cover.path.".. | 
| 34ec0 |  20 28 6c 65 74 2a 20 28 28 6f 72 69 2d 66 69 6c    65 2d 64 69 72 65 63 74 6f 72 79 20 28 66 69 6c  | .(let*.((ori-file-directory.(fil | 
| 34ee0 |  65 2d 6e 61 6d 65 2d 64 69 72 65 63 74 6f 72 79    20 66 69 6c 65 29 29 0a 20 20 20 20 20 20 20 20  | e-name-directory.file))......... | 
| 34f00 |  20 28 66 69 6c 65 2d 64 69 72 65 63 74 6f 72 79    20 28 63 6f 6e 63 61 74 20 6f 72 69 2d 66 69 6c  | .(file-directory.(concat.ori-fil | 
| 34f20 |  65 2d 64 69 72 65 63 74 6f 72 79 20 22 63 6f 76    65 72 73 22 29 29 0a 20 20 20 20 20 20 20 20 20  | e-directory."covers")).......... | 
| 34f40 |  28 66 69 6c 65 2d 62 61 73 65 20 28 66 69 6c 65    2d 6e 61 6d 65 2d 62 61 73 65 20 66 69 6c 65 29  | (file-base.(file-name-base.file) | 
| 34f60 |  29 0a 20 20 20 20 20 20 20 20 20 28 63 6f 76 65    72 20 28 65 78 70 61 6e 64 2d 66 69 6c 65 2d 6e  | )..........(cover.(expand-file-n | 
| 34f80 |  61 6d 65 20 28 63 6f 6e 63 61 74 20 66 69 6c 65    2d 62 61 73 65 20 22 2e 6a 70 67 22 29 20 66 69  | ame.(concat.file-base.".jpg").fi | 
| 34fa0 |  6c 65 2d 64 69 72 65 63 74 6f 72 79 29 29 29 0a    20 20 20 20 28 75 6e 6c 65 73 73 20 28 66 69 6c  | le-directory))).....(unless.(fil | 
| 34fc0 |  65 2d 65 78 69 73 74 73 2d 70 20 66 69 6c 65 2d    64 69 72 65 63 74 6f 72 79 29 0a 20 20 20 20 20  | e-exists-p.file-directory)...... | 
| 34fe0 |  20 28 6d 61 6b 65 2d 64 69 72 65 63 74 6f 72 79    20 66 69 6c 65 2d 64 69 72 65 63 74 6f 72 79 29  | .(make-directory.file-directory) | 
| 35000 |  29 0a 20 20 20 20 63 6f 76 65 72 29 29 0a 0a 0a    28 64 65 66 75 6e 20 63 61 6c 69 62 72 65 64 62  | ).....cover))...(defun.calibredb | 
| 35020 |  2d 69 6e 73 65 72 74 2d 69 6d 61 67 65 20 28 70    61 74 68 20 61 6c 74 20 77 69 64 74 68 20 68 65  | -insert-image.(path.alt.width.he | 
| 35040 |  69 67 68 74 29 0a 20 20 22 49 6e 73 65 72 74 20    61 6e 20 69 6d 61 67 65 20 66 6f 72 20 50 41 54  | ight)..."Insert.an.image.for.PAT | 
| 35060 |  48 20 61 74 20 70 6f 69 6e 74 20 77 69 74 68 20    6d 61 78 20 57 49 44 54 48 20 61 6e 64 20 6d 61  | H.at.point.with.max.WIDTH.and.ma | 
| 35080 |  78 20 48 45 49 47 54 48 2c 20 66 61 6c 6c 69 6e    67 20 62 61 63 6b 20 74 6f 20 41 4c 54 2e 22 0a  | x.HEIGTH,.falling.back.to.ALT.". | 
| 350a0 |  20 20 28 63 6f 6e 64 0a 20 20 20 28 28 6e 6f 74    20 28 64 69 73 70 6c 61 79 2d 67 72 61 70 68 69  | ..(cond....((not.(display-graphi | 
| 350c0 |  63 2d 70 29 29 0a 20 20 20 20 28 69 6e 73 65 72    74 20 61 6c 74 29 29 0a 20 20 20 28 28 66 62 6f  | c-p)).....(insert.alt))....((fbo | 
| 350e0 |  75 6e 64 70 20 27 69 6d 61 67 65 6d 61 67 69 63    6b 2d 74 79 70 65 73 29 0a 20 20 20 20 28 69 6e  | undp.'imagemagick-types).....(in | 
| 35100 |  73 65 72 74 2d 69 6d 61 67 65 0a 20 20 20 20 20    28 63 72 65 61 74 65 2d 69 6d 61 67 65 20 70 61  | sert-image......(create-image.pa | 
| 35120 |  74 68 20 27 69 6d 61 67 65 6d 61 67 69 63 6b 20    6e 69 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20  | th.'imagemagick.nil............. | 
| 35140 |  20 20 20 20 20 20 20 3a 61 73 63 65 6e 74 20 31    30 30 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  | .......:ascent.100.............. | 
| 35160 |  20 20 20 20 20 20 3a 6d 61 78 2d 77 69 64 74 68    20 77 69 64 74 68 0a 20 20 20 20 20 20 20 20 20  | ......:max-width.width.......... | 
| 35180 |  20 20 20 20 20 20 20 20 20 20 3a 6d 61 78 2d 68    65 69 67 68 74 20 68 65 69 67 68 74 29 29 29 0a  | ..........:max-height.height))). | 
| 351a0 |  20 20 20 28 74 0a 20 20 20 20 3b 3b 20 65 6d 61    63 73 20 32 37 2e 31 0a 20 20 20 20 28 6c 65 74  | ...(t.....;;.emacs.27.1.....(let | 
| 351c0 |  20 28 28 69 6d 61 67 65 20 28 69 67 6e 6f 72 65    2d 65 72 72 6f 72 73 20 28 63 72 65 61 74 65 2d  | .((image.(ignore-errors.(create- | 
| 351e0 |  69 6d 61 67 65 20 70 61 74 68 20 6e 69 6c 20 6e    69 6c 20 3a 77 69 64 74 68 20 77 69 64 74 68 20  | image.path.nil.nil.:width.width. | 
| 35200 |  3a 68 65 69 67 68 74 20 6e 69 6c 29 29 29 29 0a    20 20 20 20 20 20 28 69 66 20 69 6d 61 67 65 0a  | :height.nil)))).......(if.image. | 
| 35220 |  20 20 20 20 20 20 20 20 20 20 28 69 6e 73 65 72    74 2d 69 6d 61 67 65 20 69 6d 61 67 65 29 0a 20  | ..........(insert-image.image).. | 
| 35240 |  20 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 61    6c 74 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e  | .......(insert.alt))))))..(defun | 
| 35260 |  20 63 61 6c 69 62 72 65 64 62 2d 66 69 6e 64 2d    66 69 6c 65 20 28 26 6f 70 74 69 6f 6e 61 6c 20  | .calibredb-find-file.(&optional. | 
| 35280 |  63 61 6e 64 69 64 61 74 65 20 61 72 67 29 0a 20    20 22 4f 70 65 6e 20 66 69 6c 65 20 6f 66 20 74  | candidate.arg)..."Open.file.of.t | 
| 352a0 |  68 65 20 73 65 6c 65 63 74 65 64 20 69 74 65 6d    2e 0a 49 66 20 74 68 65 20 75 6e 69 76 65 72 73  | he.selected.item..If.the.univers | 
| 352c0 |  61 6c 20 70 72 65 66 69 78 20 41 52 47 20 69 73    20 75 73 65 64 2c 20 69 67 6e 6f 72 65 20 60 63  | al.prefix.ARG.is.used,.ignore.`c | 
| 352e0 |  61 6c 69 62 72 65 64 62 2d 70 72 65 66 65 72 72    65 64 2d 66 6f 72 6d 61 74 27 2e 0a 4f 70 74 69  | alibredb-preferred-format'..Opti | 
| 35300 |  6f 6e 61 6c 20 61 72 67 75 6d 65 6e 74 20 43 41    4e 44 49 44 41 54 45 20 69 73 20 74 68 65 20 73  | onal.argument.CANDIDATE.is.the.s | 
| 35320 |  65 6c 65 63 74 65 64 20 69 74 65 6d 2e 22 0a 20    20 28 69 6e 74 65 72 61 63 74 69 76 65 0a 20 20  | elected.item."...(interactive... | 
| 35340 |  20 28 6c 69 73 74 20 28 63 61 72 20 28 63 61 6c    69 62 72 65 64 62 2d 66 69 6e 64 2d 63 61 6e 64  | .(list.(car.(calibredb-find-cand | 
| 35360 |  69 64 61 74 65 2d 61 74 2d 70 6f 69 6e 74 29 29    0a 20 20 20 20 20 20 20 20 20 63 75 72 72 65 6e  | idate-at-point))..........curren | 
| 35380 |  74 2d 70 72 65 66 69 78 2d 61 72 67 29 29 0a 20    20 28 6c 65 74 20 28 28 66 69 6c 65 20 28 69 66  | t-prefix-arg))...(let.((file.(if | 
| 353a0 |  20 63 75 72 72 65 6e 74 2d 70 72 65 66 69 78 2d    61 72 67 0a 20 20 20 20 20 20 20 20 20 20 20 20  | .current-prefix-arg............. | 
| 353c0 |  20 20 20 20 20 20 28 6c 65 74 20 28 28 63 61 6c    69 62 72 65 64 62 2d 70 72 65 66 65 72 72 65 64  | ......(let.((calibredb-preferred | 
| 353e0 |  2d 66 6f 72 6d 61 74 20 6e 69 6c 29 29 0a 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | -format.nil))................... | 
| 35400 |  20 20 28 63 61 6c 69 62 72 65 64 62 2d 67 65 74    2d 66 69 6c 65 2d 70 61 74 68 20 63 61 6e 64 69  | ..(calibredb-get-file-path.candi | 
| 35420 |  64 61 74 65 20 74 29 29 0a 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 28 63 61 6c 69 62 72  | date.t)).................(calibr | 
| 35440 |  65 64 62 2d 67 65 74 2d 66 69 6c 65 2d 70 61 74    68 20 63 61 6e 64 69 64 61 74 65 20 74 29 29 29  | edb-get-file-path.candidate.t))) | 
| 35460 |  29 0a 20 20 20 20 28 63 6f 6e 64 20 28 28 73 74    72 69 6e 67 2d 70 72 65 66 69 78 2d 70 20 22 68  | ).....(cond.((string-prefix-p."h | 
| 35480 |  74 74 70 22 20 66 69 6c 65 29 0a 20 20 20 20 20    20 20 20 20 20 20 28 6c 65 74 20 28 28 75 72 6c  | ttp".file)............(let.((url | 
| 354a0 |  20 28 63 61 6c 69 62 72 65 64 62 2d 67 65 74 61    74 74 72 20 63 61 6e 64 69 64 61 74 65 20 3a 66  | .(calibredb-getattr.candidate.:f | 
| 354c0 |  69 6c 65 2d 70 61 74 68 29 29 0a 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 28 74 69 74  | ile-path))..................(tit | 
| 354e0 |  6c 65 20 28 63 61 6c 69 62 72 65 64 62 2d 67 65    74 61 74 74 72 20 63 61 6e 64 69 64 61 74 65 20  | le.(calibredb-getattr.candidate. | 
| 35500 |  3a 62 6f 6f 6b 2d 74 69 74 6c 65 29 29 0a 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28  | :book-title))..................( | 
| 35520 |  74 79 70 65 20 28 63 61 6c 69 62 72 65 64 62 2d    67 65 74 61 74 74 72 20 63 61 6e 64 69 64 61 74  | type.(calibredb-getattr.candidat | 
| 35540 |  65 20 3a 62 6f 6f 6b 2d 66 6f 72 6d 61 74 29 29    29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28  | e.:book-format)))..............( | 
| 35560 |  69 66 20 28 73 2d 65 71 75 61 6c 73 2d 70 20 74    69 74 6c 65 20 22 73 65 61 72 63 68 22 29 20 3b  | if.(s-equals-p.title."search").; | 
| 35580 |  20 54 4f 44 4f 3a 20 57 6f 72 6b 61 72 6f 75 6e    64 2c 20 6e 6f 77 20 69 74 20 6f 6e 6c 79 20 77  | .TODO:.Workaround,.now.it.only.w | 
| 355a0 |  6f 72 6b 73 20 77 69 74 68 20 63 61 6c 69 62 72    65 2d 77 65 62 0a 20 20 20 20 20 20 20 20 20 20  | orks.with.calibre-web........... | 
| 355c0 |  20 20 20 20 20 20 20 28 63 61 6c 69 62 72 65 64    62 2d 6f 70 64 73 2d 73 65 61 72 63 68 20 75 72  | .......(calibredb-opds-search.ur | 
| 355e0 |  6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 28 6d 65 73 73 61 67 65 20 75 72 6c 29 0a  | l)................(message.url). | 
| 35600 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28    6d 65 73 73 61 67 65 20 74 79 70 65 29 0a 20 20  | ...............(message.type)... | 
| 35620 |  20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65    74 20 28 28 6c 69 62 72 61 72 79 20 28 2d 66 69  | .............(let.((library.(-fi | 
| 35640 |  72 73 74 20 28 6c 61 6d 62 64 61 20 28 6c 69 62    29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | rst.(lambda.(lib)............... | 
| 35660 |  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 73 2d 63 6f 6e  | ..........................(s-con | 
| 35680 |  74 61 69 6e 73 3f 20 28 66 69 6c 65 2d 6e 61 6d    65 2d 64 69 72 65 63 74 6f 72 79 20 28 63 61 72  | tains?.(file-name-directory.(car | 
| 356a0 |  20 6c 69 62 29 29 20 75 72 6c 29 29 0a 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | .lib)).url)).................... | 
| 356c0 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 63 61 6c 69 62 72 65 64 62 2d 6c 69 62  | ...................calibredb-lib | 
| 356e0 |  72 61 72 79 2d 61 6c 69 73 74 29 29 29 0a 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28  | rary-alist)))..................( | 
| 35700 |  69 66 20 28 73 74 72 69 6e 67 2d 6d 61 74 63 68    20 28 72 65 67 65 78 70 2d 6f 70 74 20 27 28 22  | if.(string-match.(regexp-opt.'(" | 
| 35720 |  61 74 6f 6d 22 20 22 78 6d 6c 22 29 29 20 74 79    70 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20  | atom"."xml")).type)............. | 
| 35740 |  20 20 20 20 20 20 20 20 20 28 63 61 6c 69 62 72    65 64 62 2d 6f 70 64 73 2d 72 65 71 75 65 73 74  | .........(calibredb-opds-request | 
| 35760 |  2d 70 61 67 65 20 75 72 6c 20 28 61 73 73 6f 63    2d 64 65 66 61 75 6c 74 20 27 61 63 63 6f 75 6e  | -page.url.(assoc-default.'accoun | 
| 35780 |  74 20 6c 69 62 72 61 72 79 29 20 28 61 73 73 6f    63 2d 64 65 66 61 75 6c 74 20 27 70 61 73 73 77  | t.library).(assoc-default.'passw | 
| 357a0 |  6f 72 64 20 6c 69 62 72 61 72 79 29 29 0a 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | ord.library))................... | 
| 357c0 |  20 28 63 61 6c 69 62 72 65 64 62 2d 6f 70 64 73    2d 64 6f 77 6e 6c 6f 61 64 20 74 69 74 6c 65 20  | .(calibredb-opds-download.title. | 
| 357e0 |  75 72 6c 20 74 79 70 65 20 28 61 73 73 6f 63 2d    64 65 66 61 75 6c 74 20 27 61 63 63 6f 75 6e 74  | url.type.(assoc-default.'account | 
| 35800 |  20 6c 69 62 72 61 72 79 29 20 28 61 73 73 6f 63    2d 64 65 66 61 75 6c 74 20 27 70 61 73 73 77 6f  | .library).(assoc-default.'passwo | 
| 35820 |  72 64 20 6c 69 62 72 61 72 79 29 29 29 29 29 29    29 0a 20 20 20 20 20 20 20 20 20 20 28 28 73 2d  | rd.library)))))))...........((s- | 
| 35840 |  65 71 75 61 6c 73 3f 20 22 22 20 66 69 6c 65 29    20 28 6d 65 73 73 61 67 65 20 22 4e 6f 20 66 69  | equals?."".file).(message."No.fi | 
| 35860 |  6c 65 73 2e 22 29 29 0a 20 20 20 20 20 20 20 20    20 20 28 74 20 28 66 69 6e 64 2d 66 69 6c 65 20  | les."))...........(t.(find-file. | 
| 35880 |  66 69 6c 65 29 29 29 29 29 0a 0a 28 64 65 66 75    6e 20 63 61 6c 69 62 72 65 64 62 2d 66 69 6e 64  | file)))))..(defun.calibredb-find | 
| 358a0 |  2d 66 69 6c 65 2d 6f 74 68 65 72 2d 66 72 61 6d    65 20 28 26 6f 70 74 69 6f 6e 61 6c 20 63 61 6e  | -file-other-frame.(&optional.can | 
| 358c0 |  64 69 64 61 74 65 20 61 72 67 29 0a 20 20 22 4f    70 65 6e 20 66 69 6c 65 20 69 6e 20 6f 74 68 65  | didate.arg)..."Open.file.in.othe | 
| 358e0 |  72 20 66 72 61 6d 65 20 6f 66 20 74 68 65 20 73    65 6c 65 63 74 65 64 20 69 74 65 6d 2e 0a 49 66  | r.frame.of.the.selected.item..If | 
| 35900 |  20 74 68 65 20 75 6e 69 76 65 72 73 61 6c 20 70    72 65 66 69 78 20 41 52 47 20 69 73 20 75 73 65  | .the.universal.prefix.ARG.is.use | 
| 35920 |  64 2c 20 69 67 6e 6f 72 65 20 60 63 61 6c 69 62    72 65 64 62 2d 70 72 65 66 65 72 72 65 64 2d 66  | d,.ignore.`calibredb-preferred-f | 
| 35940 |  6f 72 6d 61 74 27 2e 0a 4f 70 74 69 6f 6e 61 6c    20 61 72 67 75 6d 65 6e 74 20 43 41 4e 44 49 44  | ormat'..Optional.argument.CANDID | 
| 35960 |  41 54 45 20 69 73 20 74 68 65 20 73 65 6c 65 63    74 65 64 20 69 74 65 6d 2e 22 0a 20 20 28 69 6e  | ATE.is.the.selected.item."...(in | 
| 35980 |  74 65 72 61 63 74 69 76 65 0a 20 20 20 28 6c 69    73 74 20 28 63 61 72 20 28 63 61 6c 69 62 72 65  | teractive....(list.(car.(calibre | 
| 359a0 |  64 62 2d 66 69 6e 64 2d 63 61 6e 64 69 64 61 74    65 2d 61 74 2d 70 6f 69 6e 74 29 29 0a 20 20 20  | db-find-candidate-at-point)).... | 
| 359c0 |  20 20 20 20 20 20 63 75 72 72 65 6e 74 2d 70 72    65 66 69 78 2d 61 72 67 29 29 0a 20 20 28 66 69  | ......current-prefix-arg))...(fi | 
| 359e0 |  6e 64 2d 66 69 6c 65 2d 6f 74 68 65 72 2d 66 72    61 6d 65 20 28 69 66 20 63 75 72 72 65 6e 74 2d  | nd-file-other-frame.(if.current- | 
| 35a00 |  70 72 65 66 69 78 2d 61 72 67 0a 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | prefix-arg...................... | 
| 35a20 |  20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 63    61 6c 69 62 72 65 64 62 2d 70 72 65 66 65 72 72  | ........(let.((calibredb-preferr | 
| 35a40 |  65 64 2d 66 6f 72 6d 61 74 20 6e 69 6c 29 29 0a    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | ed-format.nil))................. | 
| 35a60 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28    63 61 6c 69 62 72 65 64 62 2d 67 65 74 2d 66 69  | ...............(calibredb-get-fi | 
| 35a80 |  6c 65 2d 70 61 74 68 20 63 61 6e 64 69 64 61 74    65 20 74 29 29 0a 20 20 20 20 20 20 20 20 20 20  | le-path.candidate.t))........... | 
| 35aa0 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 28 63 61 6c 69 62 72 65 64 62 2d 67 65  | ...................(calibredb-ge | 
| 35ac0 |  74 2d 66 69 6c 65 2d 70 61 74 68 20 63 61 6e 64    69 64 61 74 65 20 74 29 29 29 29 0a 0a 28 64 65  | t-file-path.candidate.t))))..(de | 
| 35ae0 |  66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d 6f 70    65 6e 2d 66 69 6c 65 2d 77 69 74 68 2d 64 65 66  | fun.calibredb-open-file-with-def | 
| 35b00 |  61 75 6c 74 2d 74 6f 6f 6c 20 28 26 6f 70 74 69    6f 6e 61 6c 20 63 61 6e 64 69 64 61 74 65 20 61  | ault-tool.(&optional.candidate.a | 
| 35b20 |  72 67 29 0a 20 20 22 4f 70 65 6e 20 66 69 6c 65    20 77 69 74 68 20 74 68 65 20 73 79 73 74 65 6d  | rg)..."Open.file.with.the.system | 
| 35b40 |  20 64 65 66 61 75 6c 74 20 74 6f 6f 6c 2e 0a 49    66 20 74 68 65 20 75 6e 69 76 65 72 73 61 6c 20  | .default.tool..If.the.universal. | 
| 35b60 |  70 72 65 66 69 78 20 41 52 47 20 69 73 20 75 73    65 64 2c 20 69 67 6e 6f 72 65 20 60 63 61 6c 69  | prefix.ARG.is.used,.ignore.`cali | 
| 35b80 |  62 72 65 64 62 2d 70 72 65 66 65 72 72 65 64 2d    66 6f 72 6d 61 74 27 2e 0a 4f 70 74 69 6f 6e 61  | bredb-preferred-format'..Optiona | 
| 35ba0 |  6c 20 61 72 67 75 6d 65 6e 74 20 43 41 4e 44 49    44 41 54 45 20 69 73 20 74 68 65 20 73 65 6c 65  | l.argument.CANDIDATE.is.the.sele | 
| 35bc0 |  63 74 65 64 20 69 74 65 6d 2e 22 0a 20 20 28 69    6e 74 65 72 61 63 74 69 76 65 0a 20 20 20 28 6c  | cted.item."...(interactive....(l | 
| 35be0 |  69 73 74 20 28 63 61 72 20 28 63 61 6c 69 62 72    65 64 62 2d 66 69 6e 64 2d 63 61 6e 64 69 64 61  | ist.(car.(calibredb-find-candida | 
| 35c00 |  74 65 2d 61 74 2d 70 6f 69 6e 74 29 29 0a 20 20    20 20 20 20 20 20 20 63 75 72 72 65 6e 74 2d 70  | te-at-point))..........current-p | 
| 35c20 |  72 65 66 69 78 2d 61 72 67 29 29 0a 20 20 28 69    66 20 63 75 72 72 65 6e 74 2d 70 72 65 66 69 78  | refix-arg))...(if.current-prefix | 
| 35c40 |  2d 61 72 67 0a 20 20 20 20 20 20 28 6c 65 74 20    28 28 63 61 6c 69 62 72 65 64 62 2d 70 72 65 66  | -arg.......(let.((calibredb-pref | 
| 35c60 |  65 72 72 65 64 2d 66 6f 72 6d 61 74 20 6e 69 6c    29 29 0a 20 20 20 20 20 20 20 20 28 63 61 6c 69  | erred-format.nil)).........(cali | 
| 35c80 |  62 72 65 64 62 2d 6f 70 65 6e 2d 77 69 74 68 2d    64 65 66 61 75 6c 74 2d 74 6f 6f 6c 20 28 63 61  | bredb-open-with-default-tool.(ca | 
| 35ca0 |  6c 69 62 72 65 64 62 2d 67 65 74 2d 66 69 6c 65    2d 70 61 74 68 20 63 61 6e 64 69 64 61 74 65 20  | libredb-get-file-path.candidate. | 
| 35cc0 |  74 29 29 29 0a 20 20 20 20 28 63 61 6c 69 62 72    65 64 62 2d 6f 70 65 6e 2d 77 69 74 68 2d 64 65  | t))).....(calibredb-open-with-de | 
| 35ce0 |  66 61 75 6c 74 2d 74 6f 6f 6c 20 28 63 61 6c 69    62 72 65 64 62 2d 67 65 74 2d 66 69 6c 65 2d 70  | fault-tool.(calibredb-get-file-p | 
| 35d00 |  61 74 68 20 63 61 6e 64 69 64 61 74 65 20 74 29    29 29 29 0a 0a 28 64 65 66 75 6e 20 63 61 6c 69  | ath.candidate.t))))..(defun.cali | 
| 35d20 |  62 72 65 64 62 2d 71 75 69 63 6b 2d 6c 6f 6f 6b    20 28 26 6f 70 74 69 6f 6e 61 6c 20 63 61 6e 64  | bredb-quick-look.(&optional.cand | 
| 35d40 |  69 64 61 74 65 20 61 72 67 29 0a 20 20 22 51 75    69 63 6b 20 74 68 65 20 66 69 6c 65 20 77 69 74  | idate.arg)..."Quick.the.file.wit | 
| 35d60 |  68 20 74 68 65 20 71 6c 6d 61 6e 61 67 65 2c 20    62 75 74 20 69 74 20 6f 6e 6c 79 20 53 75 70 70  | h.the.qlmanage,.but.it.only.Supp | 
| 35d80 |  6f 72 74 20 6d 61 63 4f 53 2e 0a 49 66 20 74 68    65 20 75 6e 69 76 65 72 73 61 6c 20 70 72 65 66  | ort.macOS..If.the.universal.pref | 
| 35da0 |  69 78 20 41 52 47 20 69 73 20 75 73 65 64 2c 20    69 67 6e 6f 72 65 20 60 63 61 6c 69 62 72 65 64  | ix.ARG.is.used,.ignore.`calibred | 
| 35dc0 |  62 2d 70 72 65 66 65 72 72 65 64 2d 66 6f 72 6d    61 74 27 2e 0a 4f 70 74 69 6f 6e 61 6c 20 61 72  | b-preferred-format'..Optional.ar | 
| 35de0 |  67 75 6d 65 6e 74 20 43 41 4e 44 49 44 41 54 45    20 69 73 20 74 68 65 20 73 65 6c 65 63 74 65 64  | gument.CANDIDATE.is.the.selected | 
| 35e00 |  20 69 74 65 6d 2e 22 0a 20 20 28 69 6e 74 65 72    61 63 74 69 76 65 0a 20 20 20 28 6c 69 73 74 20  | .item."...(interactive....(list. | 
| 35e20 |  28 63 61 72 20 28 63 61 6c 69 62 72 65 64 62 2d    66 69 6e 64 2d 63 61 6e 64 69 64 61 74 65 2d 61  | (car.(calibredb-find-candidate-a | 
| 35e40 |  74 2d 70 6f 69 6e 74 29 29 0a 20 20 20 20 20 20    20 20 20 63 75 72 72 65 6e 74 2d 70 72 65 66 69  | t-point))..........current-prefi | 
| 35e60 |  78 2d 61 72 67 29 29 0a 20 20 28 6c 65 74 20 28    28 66 69 6c 65 20 28 73 68 65 6c 6c 2d 71 75 6f  | x-arg))...(let.((file.(shell-quo | 
| 35e80 |  74 65 2d 61 72 67 75 6d 65 6e 74 0a 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 28 65 78 70 61  | te-argument................(expa | 
| 35ea0 |  6e 64 2d 66 69 6c 65 2d 6e 61 6d 65 20 28 69 66    20 63 75 72 72 65 6e 74 2d 70 72 65 66 69 78 2d  | nd-file-name.(if.current-prefix- | 
| 35ec0 |  61 72 67 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 20  | arg............................. | 
| 35ee0 |  20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28    63 61 6c 69 62 72 65 64 62 2d 70 72 65 66 65 72  | .........(let.((calibredb-prefer | 
| 35f00 |  72 65 64 2d 66 6f 72 6d 61 74 20 6e 69 6c 29 29    0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | red-format.nil))................ | 
| 35f20 |  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 61 6c 69 62 72 65  | ........................(calibre | 
| 35f40 |  64 62 2d 67 65 74 2d 66 69 6c 65 2d 70 61 74 68    20 63 61 6e 64 69 64 61 74 65 20 74 29 29 0a 20  | db-get-file-path.candidate.t)).. | 
| 35f60 |  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  | ................................ | 
| 35f80 |  20 20 28 63 61 6c 69 62 72 65 64 62 2d 67 65 74    2d 66 69 6c 65 2d 70 61 74 68 20 63 61 6e 64 69  | ..(calibredb-get-file-path.candi | 
| 35fa0 |  64 61 74 65 20 74 29 29 29 29 29 29 0a 20 20 20    20 28 69 66 20 28 65 71 20 73 79 73 74 65 6d 2d  | date.t)))))).....(if.(eq.system- | 
| 35fc0 |  74 79 70 65 20 27 64 61 72 77 69 6e 29 0a 20 20    20 20 20 20 20 20 28 63 61 6c 6c 2d 70 72 6f 63  | type.'darwin).........(call-proc | 
| 35fe0 |  65 73 73 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e    64 20 28 63 6f 6e 63 61 74 20 22 71 6c 6d 61 6e  | ess-shell-command.(concat."qlman | 
| 36000 |  61 67 65 20 2d 70 20 22 20 66 69 6c 65 29 20 6e    69 6c 20 30 29 0a 20 20 20 20 20 20 28 6d 65 73  | age.-p.".file).nil.0).......(mes | 
| 36020 |  73 61 67 65 20 22 54 68 69 73 20 66 65 61 74 75    72 65 20 6f 6e 6c 79 20 73 75 70 70 6f 72 74 73  | sage."This.feature.only.supports | 
| 36040 |  20 6d 61 63 4f 53 2e 22 29 29 29 29 0a 0a 28 64    65 66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d 72  | .macOS."))))..(defun.calibredb-r | 
| 36060 |  65 61 64 2d 6d 65 74 61 64 61 74 61 73 20 28 66    69 65 6c 64 20 26 6f 70 74 69 6f 6e 61 6c 20 63  | ead-metadatas.(field.&optional.c | 
| 36080 |  61 6e 64 69 64 61 74 65 29 0a 20 20 22 52 65 61    64 20 6d 65 74 61 64 61 74 61 2e 0a 41 72 67 75  | andidate)..."Read.metadata..Argu | 
| 360a0 |  6d 65 6e 74 20 46 49 45 4c 44 20 69 73 20 74 68    65 20 66 69 65 6c 64 20 74 6f 20 72 65 61 64 2e  | ment.FIELD.is.the.field.to.read. | 
| 360c0 |  0a 4f 70 74 69 6f 6e 61 6c 20 61 72 67 75 6d 65    6e 74 20 43 41 4e 44 49 44 41 54 45 20 69 73 20  | .Optional.argument.CANDIDATE.is. | 
| 360e0 |  63 61 6e 64 69 64 61 74 65 20 74 6f 20 72 65 61    64 2e 22 0a 20 20 28 6c 65 74 20 28 28 63 61 6e  | candidate.to.read."...(let.((can | 
| 36100 |  64 29 29 0a 20 20 20 20 28 69 66 20 28 65 71 20    6d 61 6a 6f 72 2d 6d 6f 64 65 20 27 63 61 6c 69  | d)).....(if.(eq.major-mode.'cali | 
| 36120 |  62 72 65 64 62 2d 73 65 61 72 63 68 2d 6d 6f 64    65 29 0a 20 20 20 20 20 20 20 20 28 69 66 20 63  | bredb-search-mode).........(if.c | 
| 36140 |  61 6e 64 69 64 61 74 65 0a 20 20 20 20 20 20 20    20 20 20 20 20 28 73 65 74 71 20 63 61 6e 64 20  | andidate.............(setq.cand. | 
| 36160 |  63 61 6e 64 69 64 61 74 65 29 0a 20 20 20 20 20    20 20 20 20 20 28 73 65 74 71 20 63 61 6e 64 20  | candidate)...........(setq.cand. | 
| 36180 |  28 63 64 72 20 28 67 65 74 2d 74 65 78 74 2d 70    72 6f 70 65 72 74 79 20 28 70 6f 69 6e 74 29 20  | (cdr.(get-text-property.(point). | 
| 361a0 |  27 63 61 6c 69 62 72 65 64 62 2d 65 6e 74 72 79    20 6e 69 6c 29 29 29 29 0a 20 20 20 20 20 20 28  | 'calibredb-entry.nil)))).......( | 
| 361c0 |  69 66 20 63 61 6e 64 69 64 61 74 65 0a 20 20 20    20 20 20 20 20 20 20 28 73 65 74 71 20 63 61 6e  | if.candidate...........(setq.can | 
| 361e0 |  64 20 63 61 6e 64 69 64 61 74 65 29 0a 20 20 20    20 20 20 20 20 28 73 65 74 71 20 63 61 6e 64 20  | d.candidate).........(setq.cand. | 
| 36200 |  28 67 65 74 2d 74 65 78 74 2d 70 72 6f 70 65 72    74 79 20 28 70 6f 69 6e 74 2d 6d 69 6e 29 20 27  | (get-text-property.(point-min).' | 
| 36220 |  63 61 6c 69 62 72 65 64 62 2d 65 6e 74 72 79 20    6e 69 6c 29 29 20 29 29 0a 20 20 20 20 28 63 61  | calibredb-entry.nil)).)).....(ca | 
| 36240 |  6c 69 62 72 65 64 62 2d 67 65 74 2d 69 6e 69 74    20 66 69 65 6c 64 20 63 61 6e 64 29 29 29 0a 0a  | libredb-get-init.field.cand))).. | 
| 36260 |  3b 3b 20 6f 72 67 2d 63 61 70 74 75 72 65 0a 0a    28 64 65 66 75 6e 20 63 61 6c 69 62 72 65 64 62  | ;;.org-capture..(defun.calibredb | 
| 36280 |  2d 63 61 70 74 75 72 65 2d 61 74 2d 70 6f 69 6e    74 20 28 29 0a 20 20 22 54 4f 44 4f 3a 20 6f 72  | -capture-at-point.()..."TODO:.or | 
| 362a0 |  67 20 63 61 70 74 75 72 65 20 74 68 65 20 63 75    72 72 65 6e 74 20 69 74 65 6d 2e 22 0a 20 20 28  | g.capture.the.current.item."...( | 
| 362c0 |  69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28    6c 65 74 20 28 63 61 70 74 75 72 65 2d 70 61 74  | interactive)...(let.(capture-pat | 
| 362e0 |  68 20 63 61 70 74 75 72 65 2d 74 69 74 6c 65 29    0a 20 20 20 20 28 77 69 74 68 2d 63 75 72 72 65  | h.capture-title).....(with-curre | 
| 36300 |  6e 74 2d 62 75 66 66 65 72 20 28 63 61 6c 69 62    72 65 64 62 2d 73 65 61 72 63 68 2d 2d 62 75 66  | nt-buffer.(calibredb-search--buf | 
| 36320 |  66 65 72 2d 6e 61 6d 65 29 0a 20 20 20 20 20 20    28 6c 65 74 20 28 28 63 61 6e 64 69 64 61 74 65  | fer-name).......(let.((candidate | 
| 36340 |  73 20 28 63 61 6c 69 62 72 65 64 62 2d 66 69 6e    64 2d 6d 61 72 6b 65 64 2d 63 61 6e 64 69 64 61  | s.(calibredb-find-marked-candida | 
| 36360 |  74 65 73 29 29 29 0a 20 20 20 20 20 20 20 20 28    75 6e 6c 65 73 73 20 63 61 6e 64 69 64 61 74 65  | tes))).........(unless.candidate | 
| 36380 |  73 0a 20 20 20 20 20 20 20 20 20 20 28 73 65 74    71 20 63 61 6e 64 69 64 61 74 65 73 20 28 63 61  | s...........(setq.candidates.(ca | 
| 363a0 |  6c 69 62 72 65 64 62 2d 66 69 6e 64 2d 63 61 6e    64 69 64 61 74 65 2d 61 74 2d 70 6f 69 6e 74 29  | libredb-find-candidate-at-point) | 
| 363c0 |  29 29 0a 20 20 20 20 20 20 20 20 28 64 6f 6c 69    73 74 20 28 63 61 6e 64 20 63 61 6e 64 69 64 61  | )).........(dolist.(cand.candida | 
| 363e0 |  74 65 73 29 0a 20 20 20 20 20 20 20 20 20 20 28    6c 65 74 20 28 28 70 61 74 68 20 28 63 61 6c 69  | tes)...........(let.((path.(cali | 
| 36400 |  62 72 65 64 62 2d 67 65 74 2d 66 69 6c 65 2d 70    61 74 68 20 63 61 6e 64 20 74 29 29 0a 20 20 20  | bredb-get-file-path.cand.t)).... | 
| 36420 |  20 20 20 20 20 20 20 20 20 20 20 20 20 28 74 69    74 6c 65 20 28 63 61 6c 69 62 72 65 64 62 2d 67  | .............(title.(calibredb-g | 
| 36440 |  65 74 61 74 74 72 20 63 61 6e 64 20 3a 62 6f 6f    6b 2d 74 69 74 6c 65 29 29 29 0a 20 20 20 20 20  | etattr.cand.:book-title)))...... | 
| 36460 |  20 20 20 20 20 20 20 28 73 65 74 71 20 63 61 70    74 75 72 65 2d 70 61 74 68 20 70 61 74 68 29 0a  | .......(setq.capture-path.path). | 
| 36480 |  20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74    71 20 63 61 70 74 75 72 65 2d 74 69 74 6c 65 20  | ............(setq.capture-title. | 
| 364a0 |  74 69 74 6c 65 29 29 29 29 29 0a 20 20 20 20 28    77 69 74 68 2d 74 65 6d 70 2d 62 75 66 66 65 72  | title))))).....(with-temp-buffer | 
| 364c0 |  20 28 69 6e 73 65 72 74 20 22 2a 20 54 4f 44 4f    20 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20  | .(insert."*.TODO.")............. | 
| 364e0 |  20 20 20 20 20 20 20 20 20 20 28 69 6e 73 65 72    74 20 28 66 6f 72 6d 61 74 20 22 5b 5b 66 69 6c  | ..........(insert.(format."[[fil | 
| 36500 |  65 3a 25 73 5d 5b 25 73 5d 5d 22 20 63 61 70 74    75 72 65 2d 70 61 74 68 20 63 61 70 74 75 72 65  | e:%s][%s]]".capture-path.capture | 
| 36520 |  2d 74 69 74 6c 65 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 28  | -title)).......................( | 
| 36540 |  62 75 66 66 65 72 2d 73 74 72 69 6e 67 29 29 29    29 0a 0a 28 64 65 66 75 6e 20 63 61 6c 69 62 72  | buffer-string))))..(defun.calibr | 
| 36560 |  65 64 62 2d 61 64 64 20 28 61 72 67 29 0a 20 20    22 41 64 64 20 66 69 6c 65 28 73 29 20 69 6e 74  | edb-add.(arg)..."Add.file(s).int | 
| 36580 |  6f 20 63 61 6c 69 62 72 65 64 62 2e 0a 57 69 74    68 20 69 76 79 2d 6d 6f 64 65 3a 20 41 64 64 20  | o.calibredb..With.ivy-mode:.Add. | 
| 365a0 |  6d 61 72 6b 65 64 20 69 74 65 6d 73 2e 0a 4f 74    68 65 72 73 3a 20 41 64 64 20 6f 6e 6c 79 20 6f  | marked.items..Others:.Add.only.o | 
| 365c0 |  6e 65 20 69 74 65 6d 2e 0a 49 66 20 70 72 65 66    69 78 20 41 52 47 20 69 73 20 6e 6f 6e 2d 6e 69  | ne.item..If.prefix.ARG.is.non-ni | 
| 365e0 |  6c 2c 20 6b 65 65 70 20 74 68 65 20 66 69 6c 65    73 20 61 66 74 65 72 20 61 64 64 69 6e 67 20 77  | l,.keep.the.files.after.adding.w | 
| 36600 |  69 74 68 6f 75 74 20 70 72 6f 6d 70 74 2e 22 0a    20 20 28 69 6e 74 65 72 61 63 74 69 76 65 20 22  | ithout.prompt."...(interactive." | 
| 36620 |  50 22 29 0a 20 20 28 63 6f 6e 64 20 28 28 61 6e    64 20 28 62 6f 75 6e 64 70 20 27 69 76 79 2d 6d  | P")...(cond.((and.(boundp.'ivy-m | 
| 36640 |  6f 64 65 29 0a 20 20 20 20 20 20 20 20 20 20 20    20 20 20 69 76 79 2d 6d 6f 64 65 0a 20 20 20 20  | ode)...............ivy-mode..... | 
| 36660 |  20 20 20 20 20 20 20 20 20 20 28 66 62 6f 75 6e    64 70 20 27 63 6f 75 6e 73 65 6c 2d 2d 66 69 6e  | ..........(fboundp.'counsel--fin | 
| 36680 |  64 2d 66 69 6c 65 2d 31 29 29 0a 20 20 20 20 20    20 20 20 20 28 63 6f 75 6e 73 65 6c 2d 2d 66 69  | d-file-1))..........(counsel--fi | 
| 366a0 |  6e 64 2d 66 69 6c 65 2d 31 0a 20 20 20 20 20 20    20 20 20 20 22 41 64 64 20 66 69 6c 65 28 73 29  | nd-file-1..........."Add.file(s) | 
| 366c0 |  20 74 6f 20 63 61 6c 69 62 72 65 3a 20 22 20 63    61 6c 69 62 72 65 64 62 2d 64 6f 77 6e 6c 6f 61  | .to.calibre:.".calibredb-downloa | 
| 366e0 |  64 2d 64 69 72 0a 20 20 20 20 20 20 20 20 20 20    28 6c 61 6d 62 64 61 20 28 66 69 6c 65 29 0a 20  | d-dir...........(lambda.(file).. | 
| 36700 |  20 20 20 20 20 20 20 20 20 20 20 28 63 61 6c 69    62 72 65 64 62 2d 63 6f 75 6e 73 65 6c 2d 61 64  | ...........(calibredb-counsel-ad | 
| 36720 |  64 2d 66 69 6c 65 2d 61 63 74 69 6f 6e 20 61 72    67 20 66 69 6c 65 29 29 0a 20 20 20 20 20 20 20  | d-file-action.arg.file))........ | 
| 36740 |  20 20 20 27 63 61 6c 69 62 72 65 64 62 2d 61 64    64 29 29 0a 20 20 20 20 20 20 20 20 28 74 20 28  | ...'calibredb-add)).........(t.( | 
| 36760 |  6c 65 74 20 28 28 66 69 6c 65 20 28 72 65 61 64    2d 66 69 6c 65 2d 6e 61 6d 65 20 22 41 64 64 20  | let.((file.(read-file-name."Add. | 
| 36780 |  61 20 66 69 6c 65 20 74 6f 20 43 61 6c 69 62 72    65 3a 20 22 20 63 61 6c 69 62 72 65 64 62 2d 64  | a.file.to.Calibre:.".calibredb-d | 
| 367a0 |  6f 77 6e 6c 6f 61 64 2d 64 69 72 29 29 29 0a 20    20 20 20 20 20 20 20 20 20 20 20 20 28 63 61 6c  | ownload-dir)))..............(cal | 
| 367c0 |  69 62 72 65 64 62 2d 63 6f 75 6e 73 65 6c 2d 61    64 64 2d 66 69 6c 65 2d 61 63 74 69 6f 6e 20 61  | ibredb-counsel-add-file-action.a | 
| 367e0 |  72 67 20 66 69 6c 65 29 29 29 29 0a 20 20 28 69    66 20 28 65 71 75 61 6c 20 6d 61 6a 6f 72 2d 6d  | rg.file))))...(if.(equal.major-m | 
| 36800 |  6f 64 65 20 27 63 61 6c 69 62 72 65 64 62 2d 73    65 61 72 63 68 2d 6d 6f 64 65 29 0a 20 20 20 20  | ode.'calibredb-search-mode)..... | 
| 36820 |  20 20 28 63 61 6c 69 62 72 65 64 62 2d 73 65 61    72 63 68 2d 72 65 66 72 65 73 68 2d 6f 72 2d 72  | ..(calibredb-search-refresh-or-r | 
| 36840 |  65 73 75 6d 65 29 29 29 0a 0a 28 64 65 66 75 6e    20 63 61 6c 69 62 72 65 64 62 2d 61 64 64 2d 66  | esume)))..(defun.calibredb-add-f | 
| 36860 |  6f 72 6d 61 74 20 28 26 6f 70 74 69 6f 6e 61 6c    20 63 61 6e 64 69 64 61 74 65 29 0a 20 20 22 41  | ormat.(&optional.candidate)..."A | 
| 36880 |  64 64 20 66 6f 72 6d 61 74 20 74 6f 20 73 65 6c    65 63 74 65 64 20 69 74 65 6d 2e 0a 4f 70 74 69  | dd.format.to.selected.item..Opti | 
| 368a0 |  6f 6e 61 6c 20 61 72 67 75 6d 65 6e 74 20 43 41    4e 44 49 44 41 54 45 20 69 73 20 74 68 65 20 73  | onal.argument.CANDIDATE.is.the.s | 
| 368c0 |  65 6c 65 63 74 65 64 20 69 74 65 6d 2e 22 0a 20    20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20  | elected.item."...(interactive).. | 
| 368e0 |  20 28 75 6e 6c 65 73 73 20 63 61 6e 64 69 64 61    74 65 0a 20 20 20 20 28 73 65 74 71 20 63 61 6e  | .(unless.candidate.....(setq.can | 
| 36900 |  64 69 64 61 74 65 20 28 63 61 72 20 28 63 61 6c    69 62 72 65 64 62 2d 66 69 6e 64 2d 63 61 6e 64  | didate.(car.(calibredb-find-cand | 
| 36920 |  69 64 61 74 65 2d 61 74 2d 70 6f 69 6e 74 29 29    29 29 0a 20 20 28 63 61 6c 69 62 72 65 64 62 2d  | idate-at-point))))...(calibredb- | 
| 36940 |  63 6f 6d 6d 61 6e 64 20 3a 63 6f 6d 6d 61 6e 64    20 22 61 64 64 5f 66 6f 72 6d 61 74 22 0a 20 20  | command.:command."add_format"... | 
| 36960 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 3a 69 6e 70 75 74 20 28 63 6f 6e 63 61  | ...................:input.(conca | 
| 36980 |  74 20 28 63 61 6c 69 62 72 65 64 62 2d 67 65 74    61 74 74 72 20 63 61 6e 64 69 64 61 74 65 20 3a  | t.(calibredb-getattr.candidate.: | 
| 369a0 |  69 64 29 20 22 20 22 20 28 63 61 6c 69 62 72 65    64 62 2d 63 6f 6d 70 6c 65 74 65 2d 66 69 6c 65  | id).".".(calibredb-complete-file | 
| 369c0 |  2d 71 75 6f 74 65 20 22 41 64 64 20 66 6f 72 6d    61 74 20 74 6f 20 73 65 6c 65 63 74 65 64 20 69  | -quote."Add.format.to.selected.i | 
| 369e0 |  74 65 6d 22 29 20 29 0a 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 3a 6c 69  | tem").)......................:li | 
| 36a00 |  62 72 61 72 79 20 28 66 6f 72 6d 61 74 20 22 2d    2d 6c 69 62 72 61 72 79 2d 70 61 74 68 20 25 73  | brary.(format."--library-path.%s | 
| 36a20 |  22 20 28 63 61 6c 69 62 72 65 64 62 2d 72 6f 6f    74 2d 64 69 72 2d 71 75 6f 74 65 29 29 29 0a 20  | ".(calibredb-root-dir-quote))).. | 
| 36a40 |  20 28 69 66 20 28 65 71 75 61 6c 20 6d 61 6a 6f    72 2d 6d 6f 64 65 20 27 63 61 6c 69 62 72 65 64  | .(if.(equal.major-mode.'calibred | 
| 36a60 |  62 2d 73 65 61 72 63 68 2d 6d 6f 64 65 29 0a 20    20 20 20 20 20 28 63 61 6c 69 62 72 65 64 62 2d  | b-search-mode).......(calibredb- | 
| 36a80 |  73 65 61 72 63 68 2d 72 65 66 72 65 73 68 2d 6f    72 2d 72 65 73 75 6d 65 29 29 29 0a 0a 28 64 65  | search-refresh-or-resume)))..(de | 
| 36aa0 |  66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d 61 64    64 2d 64 69 72 20 28 26 6f 70 74 69 6f 6e 61 6c  | fun.calibredb-add-dir.(&optional | 
| 36ac0 |  20 6f 70 74 69 6f 6e 29 0a 20 20 22 41 64 64 20    61 6c 6c 20 66 69 6c 65 73 20 69 6e 20 61 20 64  | .option)..."Add.all.files.in.a.d | 
| 36ae0 |  69 72 65 63 74 6f 72 79 20 69 6e 74 6f 20 63 61    6c 69 62 72 65 20 64 61 74 61 62 61 73 65 2e 0a  | irectory.into.calibre.database.. | 
| 36b00 |  42 79 20 64 65 66 61 75 6c 74 20 6f 6e 6c 79 20    66 69 6c 65 73 20 74 68 61 74 20 68 61 76 65 20  | By.default.only.files.that.have. | 
| 36b20 |  65 78 74 65 6e 73 69 6f 6e 73 20 6f 66 20 6b 6e    6f 77 6e 20 65 2d 62 6f 6f 6b 20 66 69 6c 65 0a  | extensions.of.known.e-book.file. | 
| 36b40 |  74 79 70 65 73 20 61 72 65 20 61 64 64 65 64 2e    0a 4f 70 74 69 6f 6e 61 6c 20 61 72 67 75 6d 65  | types.are.added..Optional.argume | 
| 36b60 |  6e 74 20 4f 50 54 49 4f 4e 20 69 73 20 61 64 64    69 74 69 6f 6e 61 6c 20 6f 70 74 69 6f 6e 73 2e  | nt.OPTION.is.additional.options. | 
| 36b80 |  22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65    29 0a 20 20 28 63 61 6c 69 62 72 65 64 62 2d 63  | "...(interactive)...(calibredb-c | 
| 36ba0 |  6f 6d 6d 61 6e 64 20 3a 63 6f 6d 6d 61 6e 64 20    22 61 64 64 22 0a 20 20 20 20 20 20 20 20 20 20  | ommand.:command."add"........... | 
| 36bc0 |  20 20 20 20 20 20 20 20 20 20 20 3a 69 6e 70 75    74 20 28 66 6f 72 6d 61 74 20 22 2d 2d 61 64 64  | ...........:input.(format."--add | 
| 36be0 |  20 25 73 22 20 28 63 6f 6e 63 61 74 20 28 66 69    6c 65 2d 6e 61 6d 65 2d 61 73 2d 64 69 72 65 63  | .%s".(concat.(file-name-as-direc | 
| 36c00 |  74 6f 72 79 20 28 63 61 6c 69 62 72 65 64 62 2d    63 6f 6d 70 6c 65 74 65 2d 64 69 72 65 63 74 6f  | tory.(calibredb-complete-directo | 
| 36c20 |  72 79 2d 71 75 6f 74 65 20 22 41 64 64 20 61 20    64 69 72 65 63 74 6f 72 79 20 74 6f 20 43 61 6c  | ry-quote."Add.a.directory.to.Cal | 
| 36c40 |  69 62 72 65 22 29 29 20 22 2a 22 29 29 0a 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | ibre"))."*"))................... | 
| 36c60 |  20 20 20 3a 6f 70 74 69 6f 6e 20 28 6f 72 20 6f    70 74 69 6f 6e 20 22 22 29 0a 20 20 20 20 20 20  | ...:option.(or.option."")....... | 
| 36c80 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a    6c 69 62 72 61 72 79 20 28 66 6f 72 6d 61 74 20  | ...............:library.(format. | 
| 36ca0 |  22 2d 2d 6c 69 62 72 61 72 79 2d 70 61 74 68 20    25 73 22 20 28 63 61 6c 69 62 72 65 64 62 2d 72  | "--library-path.%s".(calibredb-r | 
| 36cc0 |  6f 6f 74 2d 64 69 72 2d 71 75 6f 74 65 29 29 29    0a 20 20 28 69 66 20 28 65 71 75 61 6c 20 6d 61  | oot-dir-quote)))...(if.(equal.ma | 
| 36ce0 |  6a 6f 72 2d 6d 6f 64 65 20 27 63 61 6c 69 62 72    65 64 62 2d 73 65 61 72 63 68 2d 6d 6f 64 65 29  | jor-mode.'calibredb-search-mode) | 
| 36d00 |  0a 20 20 20 20 20 20 28 63 61 6c 69 62 72 65 64    62 2d 73 65 61 72 63 68 2d 72 65 66 72 65 73 68  | .......(calibredb-search-refresh | 
| 36d20 |  2d 6f 72 2d 72 65 73 75 6d 65 29 29 29 0a 0a 28    64 65 66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d  | -or-resume)))..(defun.calibredb- | 
| 36d40 |  63 6c 6f 6e 65 20 28 29 0a 20 20 22 43 72 65 61    74 65 20 61 20 63 6c 6f 6e 65 20 6f 66 20 74 68  | clone.()..."Create.a.clone.of.th | 
| 36d60 |  65 20 63 75 72 72 65 6e 74 20 6c 69 62 72 61 72    79 2e 0a 54 68 69 73 20 63 72 65 61 74 65 73 20  | e.current.library..This.creates. | 
| 36d80 |  61 20 6e 65 77 2c 20 65 6d 70 74 79 20 6c 69 62    72 61 72 79 20 74 68 61 74 20 68 61 73 20 61 6c  | a.new,.empty.library.that.has.al | 
| 36da0 |  6c 20 74 68 65 20 73 61 6d 65 20 63 75 73 74 6f    6d 0a 63 6f 6c 75 6d 6e 73 2c 20 56 69 72 74 75  | l.the.same.custom.columns,.Virtu | 
| 36dc0 |  61 6c 20 6c 69 62 72 61 72 69 65 73 20 61 6e 64    20 6f 74 68 65 72 20 73 65 74 74 69 6e 67 73 20  | al.libraries.and.other.settings. | 
| 36de0 |  61 73 20 74 68 65 20 63 75 72 72 65 6e 74 0a 6c    69 62 72 61 72 79 2e 22 0a 20 20 28 69 6e 74 65  | as.the.current.library."...(inte | 
| 36e00 |  72 61 63 74 69 76 65 29 0a 20 20 28 63 61 6c 69    62 72 65 64 62 2d 63 6f 6d 6d 61 6e 64 20 3a 63  | ractive)...(calibredb-command.:c | 
| 36e20 |  6f 6d 6d 61 6e 64 20 22 63 6c 6f 6e 65 22 0a 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | ommand."clone".................. | 
| 36e40 |  20 20 20 20 3a 69 6e 70 75 74 20 28 63 61 6c 69    62 72 65 64 62 2d 63 6f 6d 70 6c 65 74 65 2d 66  | ....:input.(calibredb-complete-f | 
| 36e60 |  69 6c 65 2d 71 75 6f 74 65 20 22 43 6c 6f 6e 65    20 6c 69 62 61 72 79 20 74 6f 20 22 29 29 29 0a  | ile-quote."Clone.libary.to."))). | 
| 36e80 |  0a 28 64 65 66 75 6e 20 63 61 6c 69 62 72 65 64    62 2d 63 6f 6d 70 6c 65 74 65 2d 66 69 6c 65 2d  | .(defun.calibredb-complete-file- | 
| 36ea0 |  71 75 6f 74 65 20 28 26 6f 70 74 69 6f 6e 61 6c    20 61 72 67 20 26 72 65 73 74 20 72 65 73 74 29  | quote.(&optional.arg.&rest.rest) | 
| 36ec0 |  0a 20 20 22 47 65 74 20 71 75 6f 74 65 64 20 66    69 6c 65 20 6e 61 6d 65 20 75 73 69 6e 67 20 63  | ..."Get.quoted.file.name.using.c | 
| 36ee0 |  6f 6d 70 6c 65 74 69 6f 6e 2e 0a 4f 70 74 69 6f    6e 61 6c 20 61 72 67 75 6d 65 6e 74 20 41 52 47  | ompletion..Optional.argument.ARG | 
| 36f00 |  20 69 73 20 74 68 65 20 70 72 6f 6d 70 74 2e 0a    4f 70 74 69 6f 6e 61 6c 20 61 72 67 75 6d 65 6e  | .is.the.prompt..Optional.argumen | 
| 36f20 |  74 20 52 45 53 54 20 69 73 20 74 68 65 20 72 65    73 74 2e 22 0a 20 20 28 6c 65 74 20 28 28 66 69  | t.REST.is.the.rest."...(let.((fi | 
| 36f40 |  6c 65 20 28 72 65 61 64 2d 66 69 6c 65 2d 6e 61    6d 65 20 28 66 6f 72 6d 61 74 20 22 25 73 3a 20  | le.(read-file-name.(format."%s:. | 
| 36f60 |  22 20 61 72 67 29 20 28 70 6f 70 20 72 65 73 74    29 29 29 29 0a 20 20 20 20 28 73 68 65 6c 6c 2d  | ".arg).(pop.rest)))).....(shell- | 
| 36f80 |  71 75 6f 74 65 2d 61 72 67 75 6d 65 6e 74 20 28    65 78 70 61 6e 64 2d 66 69 6c 65 2d 6e 61 6d 65  | quote-argument.(expand-file-name | 
| 36fa0 |  20 66 69 6c 65 29 29 29 29 0a 0a 28 64 65 66 75    6e 20 63 61 6c 69 62 72 65 64 62 2d 63 6f 6d 70  | .file))))..(defun.calibredb-comp | 
| 36fc0 |  6c 65 74 65 2d 64 69 72 65 63 74 6f 72 79 2d 71    75 6f 74 65 20 28 26 6f 70 74 69 6f 6e 61 6c 20  | lete-directory-quote.(&optional. | 
| 36fe0 |  61 72 67 20 26 72 65 73 74 20 72 65 73 74 29 0a    20 20 22 47 65 74 20 71 75 6f 74 65 64 20 64 69  | arg.&rest.rest)..."Get.quoted.di | 
| 37000 |  72 65 63 74 6f 72 79 20 6e 61 6d 65 20 75 73 69    6e 67 20 63 6f 6d 70 6c 65 74 69 6f 6e 2e 0a 4f  | rectory.name.using.completion..O | 
| 37020 |  70 74 69 6f 6e 61 6c 20 61 72 67 75 6d 65 6e 74    20 41 52 47 20 69 73 20 74 68 65 20 70 72 6f 6d  | ptional.argument.ARG.is.the.prom | 
| 37040 |  70 74 2e 0a 4f 70 74 69 6f 6e 61 6c 20 61 72 67    75 6d 65 6e 74 20 52 45 53 54 20 69 73 20 74 68  | pt..Optional.argument.REST.is.th | 
| 37060 |  65 20 72 65 73 74 2e 22 0a 20 20 28 6c 65 74 20    28 28 66 69 6c 65 20 28 72 65 61 64 2d 64 69 72  | e.rest."...(let.((file.(read-dir | 
| 37080 |  65 63 74 6f 72 79 2d 6e 61 6d 65 20 28 66 6f 72    6d 61 74 20 22 25 73 3a 20 22 20 61 72 67 29 20  | ectory-name.(format."%s:.".arg). | 
| 370a0 |  28 70 6f 70 20 72 65 73 74 29 29 29 29 0a 20 20    20 20 28 73 68 65 6c 6c 2d 71 75 6f 74 65 2d 61  | (pop.rest)))).....(shell-quote-a | 
| 370c0 |  72 67 75 6d 65 6e 74 20 28 65 78 70 61 6e 64 2d    66 69 6c 65 2d 6e 61 6d 65 20 66 69 6c 65 29 29  | rgument.(expand-file-name.file)) | 
| 370e0 |  29 29 0a 0a 3b 3b 20 72 65 6d 6f 76 65 0a 0a 28    64 65 66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d  | ))..;;.remove..(defun.calibredb- | 
| 37100 |  72 65 6d 6f 76 65 20 28 26 6f 70 74 69 6f 6e 61    6c 20 63 61 6e 64 69 64 61 74 65 29 0a 20 20 22  | remove.(&optional.candidate)..." | 
| 37120 |  52 65 6d 6f 76 65 20 74 68 65 20 69 74 65 6d 20    61 74 20 70 6f 69 6e 74 2e 0a 4f 70 74 69 6f 6e  | Remove.the.item.at.point..Option | 
| 37140 |  61 6c 20 61 72 67 75 6d 65 6e 74 20 43 41 4e 44    49 44 41 54 45 20 69 73 20 74 68 65 20 69 74 65  | al.argument.CANDIDATE.is.the.ite | 
| 37160 |  6d 20 61 74 20 70 6f 69 6e 74 2e 22 0a 20 20 28    69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28  | m.at.point."...(interactive)...( | 
| 37180 |  75 6e 6c 65 73 73 20 63 61 6e 64 69 64 61 74 65    0a 20 20 20 20 28 73 65 74 71 20 63 61 6e 64 69  | unless.candidate.....(setq.candi | 
| 371a0 |  64 61 74 65 20 28 63 61 72 20 28 63 61 6c 69 62    72 65 64 62 2d 66 69 6e 64 2d 63 61 6e 64 69 64  | date.(car.(calibredb-find-candid | 
| 371c0 |  61 74 65 2d 61 74 2d 70 6f 69 6e 74 29 29 29 29    0a 20 20 28 6c 65 74 20 28 28 69 64 20 28 63 61  | ate-at-point))))...(let.((id.(ca | 
| 371e0 |  6c 69 62 72 65 64 62 2d 67 65 74 61 74 74 72 20    63 61 6e 64 69 64 61 74 65 20 3a 69 64 29 29 0a  | libredb-getattr.candidate.:id)). | 
| 37200 |  20 20 20 20 20 20 20 20 28 74 69 74 6c 65 20 28    63 61 6c 69 62 72 65 64 62 2d 67 65 74 61 74 74  | ........(title.(calibredb-getatt | 
| 37220 |  72 20 63 61 6e 64 69 64 61 74 65 20 3a 62 6f 6f    6b 2d 74 69 74 6c 65 29 29 29 0a 20 20 20 20 28  | r.candidate.:book-title))).....( | 
| 37240 |  69 66 20 28 79 65 73 2d 6f 72 2d 6e 6f 2d 70 20    28 63 6f 6e 63 61 74 20 22 41 72 65 20 79 6f 75  | if.(yes-or-no-p.(concat."Are.you | 
| 37260 |  20 73 75 72 65 20 74 6f 20 6d 6f 76 65 3a 20 22    20 69 64 20 22 20 2d 20 22 20 74 69 74 6c 65 20  | .sure.to.move:.".id.".-.".title. | 
| 37280 |  22 20 74 6f 20 72 65 63 79 63 6c 65 20 62 69 6e    3f 22 29 29 0a 20 20 20 20 20 20 20 20 28 63 61  | ".to.recycle.bin?")).........(ca | 
| 372a0 |  6c 69 62 72 65 64 62 2d 63 6f 6d 6d 61 6e 64 20    3a 63 6f 6d 6d 61 6e 64 20 22 72 65 6d 6f 76 65  | libredb-command.:command."remove | 
| 372c0 |  22 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 3a 69 64  | "............................:id | 
| 372e0 |  20 69 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 20 3a  | .id............................: | 
| 37300 |  6c 69 62 72 61 72 79 20 28 66 6f 72 6d 61 74 20    22 2d 2d 6c 69 62 72 61 72 79 2d 70 61 74 68 20  | library.(format."--library-path. | 
| 37320 |  25 73 22 20 28 63 61 6c 69 62 72 65 64 62 2d 72    6f 6f 74 2d 64 69 72 2d 71 75 6f 74 65 29 29 29  | %s".(calibredb-root-dir-quote))) | 
| 37340 |  29 0a 20 20 20 20 28 63 6f 6e 64 20 28 28 65 71    75 61 6c 20 6d 61 6a 6f 72 2d 6d 6f 64 65 20 27  | ).....(cond.((equal.major-mode.' | 
| 37360 |  63 61 6c 69 62 72 65 64 62 2d 73 68 6f 77 2d 6d    6f 64 65 29 0a 20 20 20 20 20 20 20 20 20 20 20  | calibredb-show-mode)............ | 
| 37380 |  28 6b 69 6c 6c 2d 62 75 66 66 65 72 20 28 63 61    6c 69 62 72 65 64 62 2d 73 68 6f 77 2d 2d 62 75  | (kill-buffer.(calibredb-show--bu | 
| 373a0 |  66 66 65 72 2d 6e 61 6d 65 20 63 61 6e 64 69 64    61 74 65 29 29 0a 20 20 20 20 20 20 20 20 20 20  | ffer-name.candidate))........... | 
| 373c0 |  20 28 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72    63 68 2d 72 65 66 72 65 73 68 29 29 0a 20 20 20  | .(calibredb-search-refresh)).... | 
| 373e0 |  20 20 20 20 20 20 20 28 28 65 71 20 6d 61 6a 6f    72 2d 6d 6f 64 65 20 27 63 61 6c 69 62 72 65 64  | .......((eq.major-mode.'calibred | 
| 37400 |  62 2d 73 65 61 72 63 68 2d 6d 6f 64 65 29 0a 20    20 20 20 20 20 20 20 20 20 20 28 63 61 6c 69 62  | b-search-mode)............(calib | 
| 37420 |  72 65 64 62 2d 73 65 61 72 63 68 2d 72 65 66 72    65 73 68 2d 6f 72 2d 72 65 73 75 6d 65 29 29 29  | redb-search-refresh-or-resume))) | 
| 37440 |  29 29 0a 0a 28 64 65 66 75 6e 20 63 61 6c 69 62    72 65 64 62 2d 72 65 6d 6f 76 65 2d 6d 61 72 6b  | ))..(defun.calibredb-remove-mark | 
| 37460 |  65 64 2d 69 74 65 6d 73 20 28 61 72 67 29 0a 20    20 22 52 65 6d 6f 76 65 20 74 68 65 20 6d 61 72  | ed-items.(arg)..."Remove.the.mar | 
| 37480 |  6b 65 64 20 69 74 65 6d 28 73 29 2e 0a 49 66 20    70 72 65 66 69 78 20 41 52 47 20 69 73 20 6e 6f  | ked.item(s)..If.prefix.ARG.is.no | 
| 374a0 |  6e 2d 6e 69 6c 2c 20 64 65 6c 65 74 65 20 74 68    65 20 66 69 6c 65 73 20 77 69 74 68 6f 75 74 20  | n-nil,.delete.the.files.without. | 
| 374c0 |  70 72 6f 6d 70 74 2e 22 0a 20 20 28 69 6e 74 65    72 61 63 74 69 76 65 20 22 50 22 29 0a 20 20 28  | prompt."...(interactive."P")...( | 
| 374e0 |  6c 65 74 20 28 28 63 61 6e 64 69 64 61 74 65 73    20 28 63 61 6c 69 62 72 65 64 62 2d 66 69 6e 64  | let.((candidates.(calibredb-find | 
| 37500 |  2d 6d 61 72 6b 65 64 2d 63 61 6e 64 69 64 61 74    65 73 29 29 29 0a 20 20 20 20 28 75 6e 6c 65 73  | -marked-candidates))).....(unles | 
| 37520 |  73 20 63 61 6e 64 69 64 61 74 65 73 0a 20 20 20    20 20 20 28 73 65 74 71 20 63 61 6e 64 69 64 61  | s.candidates.......(setq.candida | 
| 37540 |  74 65 73 20 28 63 61 6c 69 62 72 65 64 62 2d 66    69 6e 64 2d 63 61 6e 64 69 64 61 74 65 2d 61 74  | tes.(calibredb-find-candidate-at | 
| 37560 |  2d 70 6f 69 6e 74 29 29 29 0a 20 20 20 20 28 6c    65 74 20 28 28 69 64 73 20 28 6d 61 70 63 6f 6e  | -point))).....(let.((ids.(mapcon | 
| 37580 |  63 61 74 20 28 6c 61 6d 62 64 61 20 28 63 61 6e    64 29 20 28 63 61 6c 69 62 72 65 64 62 2d 67 65  | cat.(lambda.(cand).(calibredb-ge | 
| 375a0 |  74 61 74 74 72 20 63 61 6e 64 20 3a 69 64 29 29    20 20 63 61 6e 64 69 64 61 74 65 73 20 22 2c 22  | tattr.cand.:id))..candidates."," | 
| 375c0 |  20 29 29 29 0a 20 20 20 20 20 20 3b 3b 20 49 66    20 77 69 74 68 20 70 72 65 66 69 78 2c 20 64 65  | .))).......;;.If.with.prefix,.de | 
| 375e0 |  6c 65 74 65 20 77 69 74 68 6f 75 74 20 70 72 6f    6d 70 74 0a 20 20 20 20 20 20 28 69 66 20 61 72  | lete.without.prompt.......(if.ar | 
| 37600 |  67 0a 20 20 20 20 20 20 20 20 20 20 28 70 72 6f    67 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 28  | g...........(progn.............( | 
| 37620 |  63 61 6c 69 62 72 65 64 62 2d 63 6f 6d 6d 61 6e    64 20 3a 63 6f 6d 6d 61 6e 64 20 22 72 65 6d 6f  | calibredb-command.:command."remo | 
| 37640 |  76 65 22 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 20  | ve"............................. | 
| 37660 |  20 20 20 3a 69 64 20 69 64 73 0a 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | ...:id.ids...................... | 
| 37680 |  20 20 20 20 20 20 20 20 20 20 3a 6c 69 62 72 61    72 79 20 28 66 6f 72 6d 61 74 20 22 2d 2d 6c 69  | ..........:library.(format."--li | 
| 376a0 |  62 72 61 72 79 2d 70 61 74 68 20 25 73 22 20 28    63 61 6c 69 62 72 65 64 62 2d 72 6f 6f 74 2d 64  | brary-path.%s".(calibredb-root-d | 
| 376c0 |  69 72 2d 71 75 6f 74 65 29 29 29 0a 20 20 20 20    20 20 20 20 20 20 20 20 28 6d 65 73 73 61 67 65  | ir-quote))).............(message | 
| 376e0 |  20 22 44 65 6c 65 74 65 64 20 25 73 22 20 69 64    73 29 29 0a 20 20 20 20 20 20 20 20 28 69 66 20  | ."Deleted.%s".ids)).........(if. | 
| 37700 |  28 79 65 73 2d 6f 72 2d 6e 6f 2d 70 20 28 63 6f    6e 63 61 74 20 22 41 72 65 20 79 6f 75 20 73 75  | (yes-or-no-p.(concat."Are.you.su | 
| 37720 |  72 65 20 74 6f 20 6d 6f 76 65 3a 20 22 20 69 64    73 20 22 20 74 6f 20 72 65 63 79 63 6c 65 20 62  | re.to.move:.".ids.".to.recycle.b | 
| 37740 |  69 6e 3f 22 29 29 0a 20 20 20 20 20 20 20 20 20    20 20 20 28 63 61 6c 69 62 72 65 64 62 2d 63 6f  | in?")).............(calibredb-co | 
| 37760 |  6d 6d 61 6e 64 20 3a 63 6f 6d 6d 61 6e 64 20 22    72 65 6d 6f 76 65 22 0a 20 20 20 20 20 20 20 20  | mmand.:command."remove"......... | 
| 37780 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 3a 69 64 20 69 64 73 0a 20  | .......................:id.ids.. | 
| 377a0 |  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 3a 6c  | ..............................:l | 
| 377c0 |  69 62 72 61 72 79 20 28 66 6f 72 6d 61 74 20 22    2d 2d 6c 69 62 72 61 72 79 2d 70 61 74 68 20 25  | ibrary.(format."--library-path.% | 
| 377e0 |  73 22 20 28 63 61 6c 69 62 72 65 64 62 2d 72 6f    6f 74 2d 64 69 72 2d 71 75 6f 74 65 29 29 29 29  | s".(calibredb-root-dir-quote)))) | 
| 37800 |  29 29 0a 20 20 20 20 28 69 66 20 28 65 71 20 6d    61 6a 6f 72 2d 6d 6f 64 65 20 27 63 61 6c 69 62  | )).....(if.(eq.major-mode.'calib | 
| 37820 |  72 65 64 62 2d 73 65 61 72 63 68 2d 6d 6f 64 65    29 0a 20 20 20 20 20 20 20 20 28 63 61 6c 69 62  | redb-search-mode).........(calib | 
| 37840 |  72 65 64 62 2d 73 65 61 72 63 68 2d 72 65 66 72    65 73 68 2d 6f 72 2d 72 65 73 75 6d 65 29 29 29  | redb-search-refresh-or-resume))) | 
| 37860 |  29 0a 0a 28 64 65 66 75 6e 20 63 61 6c 69 62 72    65 64 62 2d 72 65 6d 6f 76 65 2d 66 6f 72 6d 61  | )..(defun.calibredb-remove-forma | 
| 37880 |  74 20 28 26 6f 70 74 69 6f 6e 61 6c 20 63 61 6e    64 69 64 61 74 65 29 0a 20 20 22 52 65 6d 6f 76  | t.(&optional.candidate)..."Remov | 
| 378a0 |  65 20 74 68 65 20 73 6c 65 63 74 65 64 20 66 6f    72 6d 61 74 2e 0a 4f 70 74 69 6f 6e 61 6c 20 61  | e.the.slected.format..Optional.a | 
| 378c0 |  72 67 75 6d 65 6e 74 20 43 41 4e 44 49 44 41 54    45 20 69 73 20 74 68 65 20 73 65 6c 65 63 74 65  | rgument.CANDIDATE.is.the.selecte | 
| 378e0 |  64 20 69 74 65 6d 2e 22 0a 20 20 28 69 6e 74 65    72 61 63 74 69 76 65 29 0a 20 20 28 75 6e 6c 65  | d.item."...(interactive)...(unle | 
| 37900 |  73 73 20 63 61 6e 64 69 64 61 74 65 0a 20 20 20    20 28 73 65 74 71 20 63 61 6e 64 69 64 61 74 65  | ss.candidate.....(setq.candidate | 
| 37920 |  20 28 63 61 72 20 28 63 61 6c 69 62 72 65 64 62    2d 66 69 6e 64 2d 63 61 6e 64 69 64 61 74 65 2d  | .(car.(calibredb-find-candidate- | 
| 37940 |  61 74 2d 70 6f 69 6e 74 29 29 29 29 0a 20 20 28    6c 65 74 20 28 28 69 64 20 28 63 61 6c 69 62 72  | at-point))))...(let.((id.(calibr | 
| 37960 |  65 64 62 2d 67 65 74 61 74 74 72 20 63 61 6e 64    69 64 61 74 65 20 3a 69 64 29 29 0a 20 20 20 20  | edb-getattr.candidate.:id))..... | 
| 37980 |  20 20 20 20 28 66 6f 72 6d 61 74 20 28 63 61 6c    69 62 72 65 64 62 2d 67 65 74 61 74 74 72 20 63  | ....(format.(calibredb-getattr.c | 
| 379a0 |  61 6e 64 69 64 61 74 65 20 3a 62 6f 6f 6b 2d 66    6f 72 6d 61 74 29 29 0a 20 20 20 20 20 20 20 20  | andidate.:book-format))......... | 
| 379c0 |  28 74 69 74 6c 65 20 28 63 61 6c 69 62 72 65 64    62 2d 67 65 74 61 74 74 72 20 63 61 6e 64 69 64  | (title.(calibredb-getattr.candid | 
| 379e0 |  61 74 65 20 3a 62 6f 6f 6b 2d 74 69 74 6c 65 29    29 29 0a 20 20 20 20 28 69 66 20 28 79 65 73 2d  | ate.:book-title))).....(if.(yes- | 
| 37a00 |  6f 72 2d 6e 6f 2d 70 20 28 63 6f 6e 63 61 74 20    22 43 6f 6e 66 69 72 6d 20 44 65 6c 65 74 65 3a  | or-no-p.(concat."Confirm.Delete: | 
| 37a20 |  20 69 64 20 2d 20 22 20 69 64 20 22 2c 20 74 69    74 6c 65 20 2d 20 22 20 74 69 74 6c 65 20 22 2c  | .id.-.".id.",.title.-.".title.", | 
| 37a40 |  20 66 6f 72 6d 61 74 20 2d 20 22 20 66 6f 72 6d    61 74 29 29 0a 20 20 20 20 20 20 20 20 28 63 61  | .format.-.".format)).........(ca | 
| 37a60 |  6c 69 62 72 65 64 62 2d 63 6f 6d 6d 61 6e 64 20    3a 63 6f 6d 6d 61 6e 64 20 22 72 65 6d 6f 76 65  | libredb-command.:command."remove | 
| 37a80 |  5f 66 6f 72 6d 61 74 22 0a 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | _format"........................ | 
| 37aa0 |  20 20 20 20 3a 69 64 20 28 63 6f 6e 63 61 74 20    69 64 20 22 20 22 20 66 6f 72 6d 61 74 29 0a 20  | ....:id.(concat.id.".".format).. | 
| 37ac0 |  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 3a 6c 69 62 72 61  | ..........................:libra | 
| 37ae0 |  72 79 20 28 66 6f 72 6d 61 74 20 22 2d 2d 6c 69    62 72 61 72 79 2d 70 61 74 68 20 25 73 22 20 28  | ry.(format."--library-path.%s".( | 
| 37b00 |  63 61 6c 69 62 72 65 64 62 2d 72 6f 6f 74 2d 64    69 72 2d 71 75 6f 74 65 29 29 29 29 0a 20 20 20  | calibredb-root-dir-quote)))).... | 
| 37b20 |  20 28 63 6f 6e 64 20 28 28 65 71 75 61 6c 20 6d    61 6a 6f 72 2d 6d 6f 64 65 20 27 63 61 6c 69 62  | .(cond.((equal.major-mode.'calib | 
| 37b40 |  72 65 64 62 2d 73 68 6f 77 2d 6d 6f 64 65 29 0a    20 20 20 20 20 20 20 20 20 20 20 28 6b 69 6c 6c  | redb-show-mode)............(kill | 
| 37b60 |  2d 62 75 66 66 65 72 20 28 63 61 6c 69 62 72 65    64 62 2d 73 68 6f 77 2d 2d 62 75 66 66 65 72 2d  | -buffer.(calibredb-show--buffer- | 
| 37b80 |  6e 61 6d 65 20 63 61 6e 64 69 64 61 74 65 29 29    0a 20 20 20 20 20 20 20 20 20 20 20 28 63 61 6c  | name.candidate))............(cal | 
| 37ba0 |  69 62 72 65 64 62 2d 73 65 61 72 63 68 2d 72 65    66 72 65 73 68 29 29 0a 20 20 20 20 20 20 20 20  | ibredb-search-refresh))......... | 
| 37bc0 |  20 20 28 28 65 71 20 6d 61 6a 6f 72 2d 6d 6f 64    65 20 27 63 61 6c 69 62 72 65 64 62 2d 73 65 61  | ..((eq.major-mode.'calibredb-sea | 
| 37be0 |  72 63 68 2d 6d 6f 64 65 29 0a 20 20 20 20 20 20    20 20 20 20 20 28 63 61 6c 69 62 72 65 64 62 2d  | rch-mode)............(calibredb- | 
| 37c00 |  73 65 61 72 63 68 2d 72 65 66 72 65 73 68 2d 6f    72 2d 72 65 73 75 6d 65 29 29 29 29 29 0a 0a 3b  | search-refresh-or-resume)))))..; | 
| 37c20 |  3b 20 73 65 74 5f 6d 65 74 61 64 61 74 61 0a 0a    28 64 65 66 75 6e 20 63 61 6c 69 62 72 65 64 62  | ;.set_metadata..(defun.calibredb | 
| 37c40 |  2d 67 65 74 2d 69 6e 69 74 20 28 6e 61 6d 65 20    63 61 6e 64 29 0a 20 20 22 47 65 74 20 74 68 65  | -get-init.(name.cand)..."Get.the | 
| 37c60 |  20 69 6e 69 74 69 61 6c 20 76 61 6c 75 65 20 69    6e 20 63 6f 6d 70 6c 65 74 69 6e 67 20 70 72 6f  | .initial.value.in.completing.pro | 
| 37c80 |  6d 70 74 2e 0a 41 72 67 75 6d 65 6e 74 20 4e 41    4d 45 20 69 73 20 74 68 65 20 6d 65 74 61 64 61  | mpt..Argument.NAME.is.the.metada | 
| 37ca0 |  74 61 20 66 69 65 6c 64 20 6e 61 6d 65 20 73 74    72 69 6e 67 2e 0a 41 72 67 75 6d 65 6e 74 20 43  | ta.field.name.string..Argument.C | 
| 37cc0 |  41 4e 44 20 69 73 20 74 68 65 20 63 61 6e 64 69    64 61 74 65 2e 22 0a 20 20 28 63 6f 6e 64 20 28  | AND.is.the.candidate."...(cond.( | 
| 37ce0 |  28 65 71 75 61 6c 20 6e 61 6d 65 20 22 74 61 67    73 22 29 20 28 63 61 6c 69 62 72 65 64 62 2d 67  | (equal.name."tags").(calibredb-g | 
| 37d00 |  65 74 61 74 74 72 20 63 61 6e 64 20 3a 74 61 67    29 29 0a 20 20 20 20 20 20 20 20 28 28 65 71 75  | etattr.cand.:tag)).........((equ | 
| 37d20 |  61 6c 20 6e 61 6d 65 20 22 63 6f 6d 6d 65 6e 74    73 22 29 20 28 63 61 6c 69 62 72 65 64 62 2d 67  | al.name."comments").(calibredb-g | 
| 37d40 |  65 74 61 74 74 72 20 63 61 6e 64 20 3a 63 6f 6d    6d 65 6e 74 29 29 0a 20 20 20 20 20 20 20 20 28  | etattr.cand.:comment)).........( | 
| 37d60 |  28 65 71 75 61 6c 20 6e 61 6d 65 20 22 61 75 74    68 6f 72 5f 73 6f 72 74 22 29 20 28 63 61 6c 69  | (equal.name."author_sort").(cali | 
| 37d80 |  62 72 65 64 62 2d 67 65 74 61 74 74 72 20 63 61    6e 64 20 3a 61 75 74 68 6f 72 2d 73 6f 72 74 29  | bredb-getattr.cand.:author-sort) | 
| 37da0 |  29 0a 20 20 20 20 20 20 20 20 28 28 65 71 75 61    6c 20 6e 61 6d 65 20 22 61 75 74 68 6f 72 73 22  | ).........((equal.name."authors" | 
| 37dc0 |  29 20 28 63 61 6c 69 62 72 65 64 62 2d 67 65 74    61 74 74 72 20 63 61 6e 64 20 3a 61 75 74 68 6f  | ).(calibredb-getattr.cand.:autho | 
| 37de0 |  72 2d 73 6f 72 74 29 29 0a 20 20 20 20 20 20 20    20 28 28 65 71 75 61 6c 20 6e 61 6d 65 20 22 74  | r-sort)).........((equal.name."t | 
| 37e00 |  69 74 6c 65 22 29 20 28 63 61 6c 69 62 72 65 64    62 2d 67 65 74 61 74 74 72 20 63 61 6e 64 20 3a  | itle").(calibredb-getattr.cand.: | 
| 37e20 |  62 6f 6f 6b 2d 74 69 74 6c 65 29 29 0a 20 20 20    20 20 20 20 20 28 28 65 71 75 61 6c 20 6e 61 6d  | book-title)).........((equal.nam | 
| 37e40 |  65 20 22 69 64 22 29 20 28 63 61 6c 69 62 72 65    64 62 2d 67 65 74 61 74 74 72 20 63 61 6e 64 20  | e."id").(calibredb-getattr.cand. | 
| 37e60 |  3a 69 64 29 29 0a 20 20 20 20 20 20 20 20 28 28    65 71 75 61 6c 20 6e 61 6d 65 20 22 69 64 73 22  | :id)).........((equal.name."ids" | 
| 37e80 |  29 20 28 63 61 6c 69 62 72 65 64 62 2d 67 65 74    61 74 74 72 20 63 61 6e 64 20 3a 69 64 73 29 29  | ).(calibredb-getattr.cand.:ids)) | 
| 37ea0 |  29 29 0a 0a 28 64 65 66 75 6e 20 63 61 6c 69 62    72 65 64 62 2d 73 65 74 2d 6d 65 74 61 64 61 74  | ))..(defun.calibredb-set-metadat | 
| 37ec0 |  61 20 28 6e 61 6d 65 20 26 72 65 73 74 20 70 72    6f 70 73 29 0a 20 20 22 53 65 74 20 6d 65 74 61  | a.(name.&rest.props)..."Set.meta | 
| 37ee0 |  64 61 74 61 20 6f 6e 20 66 69 6c 65 20 4e 41 4d    45 20 6f 6e 20 6d 61 72 6b 65 64 20 63 61 6e 64  | data.on.file.NAME.on.marked.cand | 
| 37f00 |  69 64 61 74 65 73 2e 0a 41 72 67 75 6d 65 6e 74    20 50 52 4f 50 53 20 61 72 65 20 74 68 65 20 61  | idates..Argument.PROPS.are.the.a | 
| 37f20 |  64 64 69 74 69 6f 6e 61 6c 20 70 61 72 61 6d 65    74 65 72 73 2e 22 0a 20 20 28 6c 65 74 20 28 28  | dditional.parameters."...(let.(( | 
| 37f40 |  63 61 6e 64 69 64 61 74 65 73 20 28 70 6c 69 73    74 2d 67 65 74 20 70 72 6f 70 73 20 3a 63 61 6e  | candidates.(plist-get.props.:can | 
| 37f60 |  64 69 64 61 74 65 29 29 29 0a 20 20 20 20 28 75    6e 6c 65 73 73 20 63 61 6e 64 69 64 61 74 65 73  | didate))).....(unless.candidates | 
| 37f80 |  0a 20 20 20 20 20 20 28 73 65 74 71 20 63 61 6e    64 69 64 61 74 65 73 20 28 6f 72 20 28 63 61 6c  | .......(setq.candidates.(or.(cal | 
| 37fa0 |  69 62 72 65 64 62 2d 66 69 6e 64 2d 6d 61 72 6b    65 64 2d 63 61 6e 64 69 64 61 74 65 73 29 20 28  | ibredb-find-marked-candidates).( | 
| 37fc0 |  63 61 6c 69 62 72 65 64 62 2d 66 69 6e 64 2d 63    61 6e 64 69 64 61 74 65 2d 61 74 2d 70 6f 69 6e  | calibredb-find-candidate-at-poin | 
| 37fe0 |  74 29 29 29 29 0a 20 20 20 20 28 6c 65 74 2a 20    28 28 63 61 6e 64 73 20 28 63 6f 6e 64 20 28 28  | t)))).....(let*.((cands.(cond.(( | 
| 38000 |  6d 65 6d 71 20 74 68 69 73 2d 63 6f 6d 6d 61 6e    64 20 27 28 69 76 79 2d 64 69 73 70 61 74 63 68  | memq.this-command.'(ivy-dispatch | 
| 38020 |  69 6e 67 2d 64 6f 6e 65 29 29 20 28 6c 69 73 74    20 63 61 6e 64 69 64 61 74 65 73 29 29 0a 20 20  | ing-done)).(list.candidates))... | 
| 38040 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 28 28 6d 65 6d 71 20 74 68 69  | ......................((memq.thi | 
| 38060 |  73 2d 63 6f 6d 6d 61 6e 64 20 27 28 68 65 6c 6d    2d 6d 61 79 62 65 2d 65 78 69 74 2d 6d 69 6e 69  | s-command.'(helm-maybe-exit-mini | 
| 38080 |  62 75 66 66 65 72 29 29 20 28 69 66 20 28 66 62    6f 75 6e 64 70 20 27 68 65 6c 6d 2d 6d 61 72 6b  | buffer)).(if.(fboundp.'helm-mark | 
| 380a0 |  65 64 2d 63 61 6e 64 69 64 61 74 65 73 29 0a 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | ed-candidates).................. | 
| 380c0 |  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  | ................................ | 
| 380e0 |  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 68  | ..............................(h | 
| 38100 |  65 6c 6d 2d 6d 61 72 6b 65 64 2d 63 61 6e 64 69    64 61 74 65 73 29 20 6e 69 6c 29 29 0a 20 20 20  | elm-marked-candidates).nil)).... | 
| 38120 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 28 74 20 63 61 6e 64 69 64 61 74  | .....................(t.candidat | 
| 38140 |  65 73 29 29 29 0a 20 20 20 20 20 20 20 20 20 20    20 28 63 61 6e 64 20 28 63 61 72 20 63 61 6e 64  | es)))............(cand.(car.cand | 
| 38160 |  73 29 29 20 20 20 20 20 20 20 20 20 20 20 3b 20    77 65 20 75 73 65 20 63 61 72 20 6f 66 20 63 61  | s))...........;.we.use.car.of.ca | 
| 38180 |  6e 64 73 20 74 6f 20 67 65 74 20 74 68 65 20 70    72 6f 6d 70 74 20 64 61 74 61 0a 20 20 20 20 20  | nds.to.get.the.prompt.data...... | 
| 381a0 |  20 20 20 20 20 20 28 74 69 74 6c 65 20 28 63 61    6c 69 62 72 65 64 62 2d 67 65 74 61 74 74 72 20  | ......(title.(calibredb-getattr. | 
| 381c0 |  63 61 6e 64 20 3a 62 6f 6f 6b 2d 74 69 74 6c 65    29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 69  | cand.:book-title))............(i | 
| 381e0 |  64 20 28 63 61 6c 69 62 72 65 64 62 2d 67 65 74    61 74 74 72 20 63 61 6e 64 20 3a 69 64 29 29 0a  | d.(calibredb-getattr.cand.:id)). | 
| 38200 |  20 20 20 20 20 20 20 20 20 20 20 28 70 72 6f 6d    70 74 20 28 70 6c 69 73 74 2d 67 65 74 20 70 72  | ...........(prompt.(plist-get.pr | 
| 38220 |  6f 70 73 20 3a 70 72 6f 6d 70 74 29 29 0a 20 20    20 20 20 20 20 20 20 20 20 28 66 69 65 6c 64 20  | ops.:prompt))............(field. | 
| 38240 |  6e 61 6d 65 29 0a 20 20 20 20 20 20 20 20 20 20    20 28 69 6e 69 74 20 28 63 61 6c 69 62 72 65 64  | name)............(init.(calibred | 
| 38260 |  62 2d 67 65 74 2d 69 6e 69 74 20 66 69 65 6c 64    20 63 61 6e 64 29 29 0a 20 20 20 20 20 20 20 20  | b-get-init.field.cand))......... | 
| 38280 |  20 20 20 28 6e 75 6d 20 28 6c 65 6e 67 74 68 20    63 61 6e 64 73 29 29 0a 20 20 20 20 20 20 20 20  | ...(num.(length.cands))......... | 
| 382a0 |  20 20 20 28 69 6e 70 75 74 20 28 72 65 61 64 2d    73 74 72 69 6e 67 20 28 69 66 20 28 3e 20 6e 75  | ...(input.(read-string.(if.(>.nu | 
| 382c0 |  6d 20 30 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  | m.0)............................ | 
| 382e0 |  20 20 20 20 20 20 20 20 28 63 6f 6e 63 61 74 20    22 53 65 74 20 22 20 66 69 65 6c 64 20 22 20 66  | ........(concat."Set.".field.".f | 
| 38300 |  6f 72 20 22 20 28 6e 75 6d 62 65 72 2d 74 6f 2d    73 74 72 69 6e 67 20 6e 75 6d 29 20 22 20 69 74  | or.".(number-to-string.num).".it | 
| 38320 |  65 6d 73 3a 20 22 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  | ems:.")......................... | 
| 38340 |  20 20 20 20 20 20 20 20 20 28 63 6f 6e 63 61 74    20 70 72 6f 6d 70 74 20 69 64 20 22 20 22 20 74  | .........(concat.prompt.id.".".t | 
| 38360 |  69 74 6c 65 20 22 3a 20 22 29 20 29 20 69 6e 69    74 29 29 29 0a 20 20 20 20 20 20 28 63 61 6c 69  | itle.":.").).init))).......(cali | 
| 38380 |  62 72 65 64 62 2d 73 65 74 2d 6d 65 74 61 64 61    74 61 2d 70 72 6f 63 65 73 73 20 63 61 6e 64 73  | bredb-set-metadata-process.cands | 
| 383a0 |  20 66 69 65 6c 64 20 69 6e 70 75 74 29 29 29 29    0a 0a 28 64 65 66 75 6e 20 63 61 6c 69 62 72 65  | .field.input))))..(defun.calibre | 
| 383c0 |  64 62 2d 73 65 74 2d 6d 65 74 61 64 61 74 61 2d    70 72 6f 63 65 73 73 20 28 63 61 6e 64 73 20 66  | db-set-metadata-process.(cands.f | 
| 383e0 |  69 65 6c 64 20 69 6e 70 75 74 29 0a 20 20 22 52    75 6e 20 73 65 71 75 65 6e 74 69 61 6c 20 70 72  | ield.input)..."Run.sequential.pr | 
| 38400 |  6f 63 65 73 73 65 73 20 74 6f 20 73 65 74 20 6d    65 74 61 64 61 74 61 2e 0a 41 72 67 75 6d 65 6e  | ocesses.to.set.metadata..Argumen | 
| 38420 |  74 20 43 41 4e 44 53 20 69 73 20 74 68 65 20 6c    69 73 74 20 6f 66 20 63 61 6e 64 69 61 74 65 73  | t.CANDS.is.the.list.of.candiates | 
| 38440 |  2e 0a 41 72 67 75 6d 65 6e 74 20 46 49 45 4c 44    20 69 73 20 74 68 65 20 6d 65 74 61 64 61 74 61  | ..Argument.FIELD.is.the.metadata | 
| 38460 |  20 66 69 65 6c 64 2c 20 65 2e 67 2e 20 74 61 67    73 2c 20 61 75 74 68 6f 72 2e 0a 41 72 67 75 6d  | .field,.e.g..tags,.author..Argum | 
| 38480 |  65 6e 74 20 49 4e 50 55 54 20 69 73 20 74 68 65    20 6d 65 74 61 64 61 74 61 20 63 6f 6e 74 65 6e  | ent.INPUT.is.the.metadata.conten | 
| 384a0 |  74 73 20 74 6f 20 62 65 20 73 65 74 2e 22 0a 20    20 28 6c 65 74 2a 20 28 28 63 61 6e 64 20 28 70  | ts.to.be.set."...(let*.((cand.(p | 
| 384c0 |  6f 70 20 63 61 6e 64 73 29 29 0a 20 20 20 20 20    20 20 20 20 28 6c 70 61 74 68 20 28 63 61 6c 69  | op.cands))..........(lpath.(cali | 
| 384e0 |  62 72 65 64 62 2d 67 65 74 61 74 74 72 20 63 61    6e 64 20 3a 6c 70 61 74 68 29 29 29 0a 20 20 20  | bredb-getattr.cand.:lpath))).... | 
| 38500 |  20 28 69 66 20 6c 70 61 74 68 0a 20 20 20 20 20    20 20 20 28 70 63 61 73 65 20 66 69 65 6c 64 0a  | .(if.lpath.........(pcase.field. | 
| 38520 |  20 20 20 20 20 20 20 20 20 20 28 22 74 61 67 73    22 0a 20 20 20 20 20 20 20 20 20 20 20 28 63 61  | ..........("tags"............(ca | 
| 38540 |  6c 69 62 72 65 64 62 2d 66 6f 6c 64 65 72 2d 75    70 64 61 74 65 2d 74 61 67 73 2d 62 79 2d 6c 70  | libredb-folder-update-tags-by-lp | 
| 38560 |  61 74 68 20 6c 70 61 74 68 20 69 6e 70 75 74 29    0a 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e  | ath.lpath.input)............(con | 
| 38580 |  64 20 28 28 65 71 75 61 6c 20 6d 61 6a 6f 72 2d    6d 6f 64 65 20 27 63 61 6c 69 62 72 65 64 62 2d  | d.((equal.major-mode.'calibredb- | 
| 385a0 |  73 68 6f 77 2d 6d 6f 64 65 29 0a 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 61  | show-mode)...................(ca | 
| 385c0 |  6c 69 62 72 65 64 62 2d 73 68 6f 77 2d 72 65 66    72 65 73 68 29 29 0a 20 20 20 20 20 20 20 20 20  | libredb-show-refresh)).......... | 
| 385e0 |  20 20 20 20 20 20 20 20 28 28 65 71 20 6d 61 6a    6f 72 2d 6d 6f 64 65 20 27 63 61 6c 69 62 72 65  | ........((eq.major-mode.'calibre | 
| 38600 |  64 62 2d 73 65 61 72 63 68 2d 6d 6f 64 65 29 0a    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | db-search-mode)................. | 
| 38620 |  20 20 28 63 61 6c 69 62 72 65 64 62 2d 73 65 61    72 63 68 2d 72 65 66 72 65 73 68 2d 6f 72 2d 72  | ..(calibredb-search-refresh-or-r | 
| 38640 |  65 73 75 6d 65 29 29 0a 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 28 74 20 6e 69 6c 29  | esume))..................(t.nil) | 
| 38660 |  29 29 0a 20 20 20 20 20 20 20 20 20 20 28 5f 20    28 6d 65 73 73 61 67 65 20 22 57 65 20 64 6f 20  | ))...........(_.(message."We.do. | 
| 38680 |  6e 6f 74 20 73 75 70 70 6f 72 74 20 73 65 74 74    69 6e 67 20 25 73 20 66 6f 72 20 2e 6d 61 74 61  | not.support.setting.%s.for..mata | 
| 386a0 |  64 61 74 61 2e 63 61 6c 69 62 72 65 20 61 74 20    74 68 69 73 20 6d 6f 6d 65 6e 74 2e 22 20 63 61  | data.calibre.at.this.moment.".ca | 
| 386c0 |  6c 69 62 72 65 64 62 2d 64 62 2d 64 69 72 29 29    29 0a 20 20 20 20 20 20 3b 3b 20 28 70 70 20 63  | libredb-db-dir))).......;;.(pp.c | 
| 386e0 |  61 6e 64 29 0a 20 20 20 20 20 20 28 69 66 20 63    61 6e 64 0a 20 20 20 20 20 20 20 20 20 20 28 73  | and).......(if.cand...........(s | 
| 38700 |  65 74 2d 70 72 6f 63 65 73 73 2d 73 65 6e 74 69    6e 65 6c 0a 20 20 20 20 20 20 20 20 20 20 20 28  | et-process-sentinel............( | 
| 38720 |  6c 65 74 2a 20 28 28 69 64 20 28 63 61 6c 69 62    72 65 64 62 2d 67 65 74 61 74 74 72 20 63 61 6e  | let*.((id.(calibredb-getattr.can | 
| 38740 |  64 20 3a 69 64 29 29 29 0a 20 20 20 20 20 20 20    20 20 20 20 20 20 28 63 61 6c 69 62 72 65 64 62  | d.:id)))..............(calibredb | 
| 38760 |  2d 70 72 6f 63 65 73 73 20 3a 63 6f 6d 6d 61 6e    64 20 22 73 65 74 5f 6d 65 74 61 64 61 74 61 22  | -process.:command."set_metadata" | 
| 38780 |  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 20 20 20 20  | ................................ | 
| 387a0 |  20 3a 6f 70 74 69 6f 6e 20 22 2d 2d 66 69 65 6c    64 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  | .:option."--field".............. | 
| 387c0 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 3a 69 6e 70 75 74 20 28 66 6f 72 6d 61  | ...................:input.(forma | 
| 387e0 |  74 20 22 25 73 3a 5c 22 25 73 5c 22 22 20 66 69    65 6c 64 20 69 6e 70 75 74 29 0a 20 20 20 20 20  | t."%s:\"%s\"".field.input)...... | 
| 38800 |  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 3a 69 64 20 69  | ...........................:id.i | 
| 38820 |  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 20 20 20 20  | d............................... | 
| 38840 |  20 20 3a 6c 69 62 72 61 72 79 20 28 66 6f 72 6d    61 74 20 22 2d 2d 6c 69 62 72 61 72 79 2d 70 61  | ..:library.(format."--library-pa | 
| 38860 |  74 68 20 5c 22 25 73 5c 22 22 20 63 61 6c 69 62    72 65 64 62 2d 72 6f 6f 74 2d 64 69 72 29 29 29  | th.\"%s\"".calibredb-root-dir))) | 
| 38880 |  0a 20 20 20 20 20 20 20 20 20 20 20 28 6c 61 6d    62 64 61 20 28 70 20 5f 65 29 0a 20 20 20 20 20  | ............(lambda.(p._e)...... | 
| 388a0 |  20 20 20 20 20 20 20 20 28 77 68 65 6e 20 28 3d    20 30 20 28 70 72 6f 63 65 73 73 2d 65 78 69 74  | ........(when.(=.0.(process-exit | 
| 388c0 |  2d 73 74 61 74 75 73 20 70 29 29 0a 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 28 63 61 6c 69  | -status.p))................(cali | 
| 388e0 |  62 72 65 64 62 2d 73 65 74 2d 6d 65 74 61 64 61    74 61 2d 70 72 6f 63 65 73 73 20 63 61 6e 64 73  | bredb-set-metadata-process.cands | 
| 38900 |  20 66 69 65 6c 64 20 69 6e 70 75 74 29 29 29 29    0a 20 20 20 20 20 20 20 20 3b 3b 20 69 66 20 6e  | .field.input)))).........;;.if.n | 
| 38920 |  6f 20 63 61 6e 64 69 64 61 74 65 20 6c 65 66 74    20 74 6f 20 62 65 20 70 72 6f 63 65 73 73 65 64  | o.candidate.left.to.be.processed | 
| 38940 |  2c 20 72 65 66 72 65 73 68 20 2a 63 61 6c 69 62    72 65 64 62 2d 73 65 61 72 63 68 2a 0a 20 20 20  | ,.refresh.*calibredb-search*.... | 
| 38960 |  20 20 20 20 20 28 63 6f 6e 64 20 28 28 65 71 75    61 6c 20 6d 61 6a 6f 72 2d 6d 6f 64 65 20 27 63  | .....(cond.((equal.major-mode.'c | 
| 38980 |  61 6c 69 62 72 65 64 62 2d 73 68 6f 77 2d 6d 6f    64 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20  | alibredb-show-mode)............. | 
| 389a0 |  20 20 20 28 63 61 6c 69 62 72 65 64 62 2d 73 68    6f 77 2d 72 65 66 72 65 73 68 29 29 0a 20 20 20  | ...(calibredb-show-refresh)).... | 
| 389c0 |  20 20 20 20 20 20 20 20 20 20 20 28 28 65 71 20    6d 61 6a 6f 72 2d 6d 6f 64 65 20 27 63 61 6c 69  | ...........((eq.major-mode.'cali | 
| 389e0 |  62 72 65 64 62 2d 73 65 61 72 63 68 2d 6d 6f 64    65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  | bredb-search-mode).............. | 
| 38a00 |  20 20 28 63 61 6c 69 62 72 65 64 62 2d 73 65 61    72 63 68 2d 72 65 66 72 65 73 68 2d 6f 72 2d 72  | ..(calibredb-search-refresh-or-r | 
| 38a20 |  65 73 75 6d 65 29 29 0a 20 20 20 20 20 20 20 20    20 20 20 20 20 20 28 74 20 6e 69 6c 29 29 29 29  | esume))...............(t.nil)))) | 
| 38a40 |  29 29 0a 0a 0a 28 64 65 66 75 6e 20 63 61 6c 69    62 72 65 64 62 2d 73 65 74 2d 6d 65 74 61 64 61  | ))...(defun.calibredb-set-metada | 
| 38a60 |  74 61 2d 2d 74 61 67 73 20 28 26 6f 70 74 69 6f    6e 61 6c 20 63 61 6e 64 69 64 61 74 65 29 0a 20  | ta--tags.(&optional.candidate).. | 
| 38a80 |  20 22 41 64 64 20 74 61 67 73 2c 20 64 69 76 69    64 65 64 20 62 79 20 63 6f 6d 6d 61 2c 20 6f 6e  | ."Add.tags,.divided.by.comma,.on | 
| 38aa0 |  20 6d 61 72 6b 65 64 20 43 41 4e 44 49 44 41 54    45 73 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74  | .marked.CANDIDATEs."...(interact | 
| 38ac0 |  69 76 65 29 0a 20 20 28 63 61 6c 69 62 72 65 64    62 2d 73 65 74 2d 6d 65 74 61 64 61 74 61 20 22  | ive)...(calibredb-set-metadata." | 
| 38ae0 |  74 61 67 73 22 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  | tags"........................... | 
| 38b00 |  3a 70 72 6f 6d 70 74 20 22 41 64 64 20 74 61 67    73 20 66 6f 72 20 22 0a 20 20 20 20 20 20 20 20  | :prompt."Add.tags.for."......... | 
| 38b20 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 3a 63 61 6e 64 69 64 61 74 65 20 63 61 6e  | ..................:candidate.can | 
| 38b40 |  64 69 64 61 74 65 29 29 0a 0a 28 64 65 66 75 6e    20 63 61 6c 69 62 72 65 64 62 2d 73 65 74 2d 6d  | didate))..(defun.calibredb-set-m | 
| 38b60 |  65 74 61 64 61 74 61 2d 2d 63 6f 6d 6d 65 6e 74    73 20 28 26 6f 70 74 69 6f 6e 61 6c 20 63 61 6e  | etadata--comments.(&optional.can | 
| 38b80 |  64 69 64 61 74 65 29 0a 20 20 22 41 64 64 20 63    6f 6d 6d 65 6e 74 73 20 6f 6e 20 6d 61 72 6b 65  | didate)..."Add.comments.on.marke | 
| 38ba0 |  64 20 43 41 4e 44 49 44 41 54 45 73 2e 22 0a 20    20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20  | d.CANDIDATEs."...(interactive).. | 
| 38bc0 |  20 28 63 61 6c 69 62 72 65 64 62 2d 73 65 74 2d    6d 65 74 61 64 61 74 61 20 22 63 6f 6d 6d 65 6e  | .(calibredb-set-metadata."commen | 
| 38be0 |  74 73 22 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 3a 70  | ts"...........................:p | 
| 38c00 |  72 6f 6d 70 74 20 22 41 64 64 20 63 6f 6d 6d 65    6e 74 73 20 66 6f 72 20 22 0a 20 20 20 20 20 20  | rompt."Add.comments.for."....... | 
| 38c20 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 3a 63 61 6e 64 69 64 61 74 65 20 63  | ....................:candidate.c | 
| 38c40 |  61 6e 64 69 64 61 74 65 29 29 0a 0a 28 64 65 66    75 6e 20 63 61 6c 69 62 72 65 64 62 2d 73 65 74  | andidate))..(defun.calibredb-set | 
| 38c60 |  2d 6d 65 74 61 64 61 74 61 2d 2d 74 69 74 6c 65    20 28 26 6f 70 74 69 6f 6e 61 6c 20 63 61 6e 64  | -metadata--title.(&optional.cand | 
| 38c80 |  69 64 61 74 65 29 0a 20 20 22 43 68 61 6e 67 65    20 74 69 74 6c 65 20 6f 6e 20 6d 61 72 6b 65 64  | idate)..."Change.title.on.marked | 
| 38ca0 |  20 43 41 4e 44 49 44 41 54 45 73 2e 22 0a 20 20    28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20  | .CANDIDATEs."...(interactive)... | 
| 38cc0 |  28 63 61 6c 69 62 72 65 64 62 2d 73 65 74 2d 6d    65 74 61 64 61 74 61 20 22 74 69 74 6c 65 22 0a  | (calibredb-set-metadata."title". | 
| 38ce0 |  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 3a 70 72 6f 6d 70  | ..........................:promp | 
| 38d00 |  74 20 22 43 68 61 6e 67 65 20 74 69 74 6c 65 20    66 6f 72 20 22 0a 20 20 20 20 20 20 20 20 20 20  | t."Change.title.for."........... | 
| 38d20 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    3a 63 61 6e 64 69 64 61 74 65 20 63 61 6e 64 69  | ................:candidate.candi | 
| 38d40 |  64 61 74 65 29 29 0a 0a 28 64 65 66 75 6e 20 63    61 6c 69 62 72 65 64 62 2d 73 65 74 2d 6d 65 74  | date))..(defun.calibredb-set-met | 
| 38d60 |  61 64 61 74 61 2d 2d 61 75 74 68 6f 72 5f 73 6f    72 74 20 28 26 6f 70 74 69 6f 6e 61 6c 20 63 61  | adata--author_sort.(&optional.ca | 
| 38d80 |  6e 64 69 64 61 74 65 29 0a 20 20 22 43 68 61 6e    67 65 20 61 75 74 68 6f 72 5f 73 6f 72 74 20 6f  | ndidate)..."Change.author_sort.o | 
| 38da0 |  6e 20 6d 61 72 6b 65 64 20 43 41 4e 44 49 44 41    54 45 73 2e 22 0a 20 20 28 69 6e 74 65 72 61 63  | n.marked.CANDIDATEs."...(interac | 
| 38dc0 |  74 69 76 65 29 0a 20 20 28 63 61 6c 69 62 72 65    64 62 2d 73 65 74 2d 6d 65 74 61 64 61 74 61 20  | tive)...(calibredb-set-metadata. | 
| 38de0 |  22 61 75 74 68 6f 72 5f 73 6f 72 74 22 0a 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | "author_sort"................... | 
| 38e00 |  20 20 20 20 20 20 20 20 3a 70 72 6f 6d 70 74 20    22 43 68 61 6e 67 65 20 61 75 74 68 6f 72 20 66  | ........:prompt."Change.author.f | 
| 38e20 |  6f 72 20 22 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 3a  | or."...........................: | 
| 38e40 |  63 61 6e 64 69 64 61 74 65 20 63 61 6e 64 69 64    61 74 65 29 29 0a 0a 28 64 65 66 75 6e 20 63 61  | candidate.candidate))..(defun.ca | 
| 38e60 |  6c 69 62 72 65 64 62 2d 73 65 74 2d 6d 65 74 61    64 61 74 61 2d 2d 61 75 74 68 6f 72 73 20 28 26  | libredb-set-metadata--authors.(& | 
| 38e80 |  6f 70 74 69 6f 6e 61 6c 20 63 61 6e 64 69 64 61    74 65 29 0a 20 20 22 43 68 61 6e 67 65 20 61 75  | optional.candidate)..."Change.au | 
| 38ea0 |  74 68 6f 72 73 20 6f 6e 20 6d 61 72 6b 65 64 20    43 41 4e 44 49 44 41 54 45 73 2e 22 0a 20 20 28  | thors.on.marked.CANDIDATEs."...( | 
| 38ec0 |  69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28    63 61 6c 69 62 72 65 64 62 2d 73 65 74 2d 6d 65  | interactive)...(calibredb-set-me | 
| 38ee0 |  74 61 64 61 74 61 20 22 61 75 74 68 6f 72 73 22    0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | tadata."authors"................ | 
| 38f00 |  20 20 20 20 20 20 20 20 20 20 20 3a 70 72 6f 6d    70 74 20 22 43 68 61 6e 67 65 20 61 75 74 68 6f  | ...........:prompt."Change.autho | 
| 38f20 |  72 20 66 6f 72 20 22 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  | r.for."......................... | 
| 38f40 |  20 20 3a 63 61 6e 64 69 64 61 74 65 20 63 61 6e    64 69 64 61 74 65 29 29 0a 0a 28 64 65 66 75 6e  | ..:candidate.candidate))..(defun | 
| 38f60 |  20 63 61 6c 69 62 72 65 64 62 2d 73 65 74 2d 6d    65 74 61 64 61 74 61 2d 2d 6c 69 73 74 2d 66 69  | .calibredb-set-metadata--list-fi | 
| 38f80 |  65 6c 64 73 20 28 26 6f 70 74 69 6f 6e 61 6c 20    63 61 6e 64 69 64 61 74 65 29 0a 20 20 22 4c 69  | elds.(&optional.candidate)..."Li | 
| 38fa0 |  73 74 20 74 68 65 20 73 65 6c 65 63 74 65 64 20    43 41 4e 44 49 44 41 54 45 20 73 75 70 70 6f 72  | st.the.selected.CANDIDATE.suppor | 
| 38fc0 |  74 65 64 20 66 69 6c 65 64 73 2e 22 0a 20 20 28    69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28  | ted.fileds."...(interactive)...( | 
| 38fe0 |  75 6e 6c 65 73 73 20 63 61 6e 64 69 64 61 74 65    0a 20 20 20 20 28 73 65 74 71 20 63 61 6e 64 69  | unless.candidate.....(setq.candi | 
| 39000 |  64 61 74 65 20 28 63 61 72 20 28 63 61 6c 69 62    72 65 64 62 2d 66 69 6e 64 2d 63 61 6e 64 69 64  | date.(car.(calibredb-find-candid | 
| 39020 |  61 74 65 2d 61 74 2d 70 6f 69 6e 74 29 29 29 29    0a 20 20 28 6c 65 74 2a 20 28 28 69 64 20 28 63  | ate-at-point))))...(let*.((id.(c | 
| 39040 |  61 6c 69 62 72 65 64 62 2d 67 65 74 61 74 74 72    20 63 61 6e 64 69 64 61 74 65 20 3a 69 64 29 29  | alibredb-getattr.candidate.:id)) | 
| 39060 |  29 0a 20 20 20 20 28 6d 65 73 73 61 67 65 20 28    63 61 6c 69 62 72 65 64 62 2d 63 6f 6d 6d 61 6e  | ).....(message.(calibredb-comman | 
| 39080 |  64 20 3a 63 6f 6d 6d 61 6e 64 20 22 73 65 74 5f    6d 65 74 61 64 61 74 61 22 0a 20 20 20 20 20 20  | d.:command."set_metadata"....... | 
| 390a0 |  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 3a 6f 70 74 69 6f  | ..........................:optio | 
| 390c0 |  6e 20 22 2d 2d 6c 69 73 74 2d 66 69 65 6c 64 73    22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | n."--list-fields"............... | 
| 390e0 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 3a 69 64 20 69 64 0a 20 20 20 20 20 20 20  | ..................:id.id........ | 
| 39100 |  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 3a 6c 69 62 72 61 72  | .........................:librar | 
| 39120 |  79 20 28 66 6f 72 6d 61 74 20 22 2d 2d 6c 69 62    72 61 72 79 2d 70 61 74 68 20 25 73 22 20 28 63  | y.(format."--library-path.%s".(c | 
| 39140 |  61 6c 69 62 72 65 64 62 2d 72 6f 6f 74 2d 64 69    72 2d 71 75 6f 74 65 29 29 29 29 29 29 0a 0a 28  | alibredb-root-dir-quote))))))..( | 
| 39160 |  64 65 66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d    73 65 74 2d 6d 65 74 61 64 61 74 61 2d 2d 74 72  | defun.calibredb-set-metadata--tr | 
| 39180 |  61 6e 73 69 65 6e 74 20 28 29 0a 20 20 22 53 65    74 20 6d 65 74 61 64 61 74 61 20 66 6f 72 20 63  | ansient.()..."Set.metadata.for.c | 
| 391a0 |  61 6e 64 69 64 61 74 65 20 61 74 20 70 6f 69 6e    74 20 6f 72 20 6d 61 72 6b 65 64 20 63 61 6e 64  | andidate.at.point.or.marked.cand | 
| 391c0 |  69 64 61 74 65 73 20 77 69 74 68 20 74 72 61 6e    73 69 65 6e 74 20 61 72 67 75 6d 65 6e 74 73 2e  | idates.with.transient.arguments. | 
| 391e0 |  22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65    29 0a 20 20 28 6c 65 74 20 28 28 63 61 6e 64 69  | "...(interactive)...(let.((candi | 
| 39200 |  64 61 74 65 73 20 28 63 61 6c 69 62 72 65 64 62    2d 66 69 6e 64 2d 6d 61 72 6b 65 64 2d 63 61 6e  | dates.(calibredb-find-marked-can | 
| 39220 |  64 69 64 61 74 65 73 29 29 29 0a 20 20 20 20 28    75 6e 6c 65 73 73 20 63 61 6e 64 69 64 61 74 65  | didates))).....(unless.candidate | 
| 39240 |  73 0a 20 20 20 20 20 20 28 73 65 74 71 20 63 61    6e 64 69 64 61 74 65 73 20 28 63 61 6c 69 62 72  | s.......(setq.candidates.(calibr | 
| 39260 |  65 64 62 2d 66 69 6e 64 2d 63 61 6e 64 69 64 61    74 65 2d 61 74 2d 70 6f 69 6e 74 29 29 29 0a 20  | edb-find-candidate-at-point))).. | 
| 39280 |  20 20 20 28 63 61 6c 69 62 72 65 64 62 2d 73 65    74 2d 6d 65 74 61 64 61 74 61 2d 2d 74 72 61 6e  | ...(calibredb-set-metadata--tran | 
| 392a0 |  73 69 65 6e 74 2d 70 72 6f 63 65 73 73 20 63 61    6e 64 69 64 61 74 65 73 29 29 29 0a 0a 28 64 65  | sient-process.candidates)))..(de | 
| 392c0 |  66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d 73 65    74 2d 6d 65 74 61 64 61 74 61 2d 2d 74 72 61 6e  | fun.calibredb-set-metadata--tran | 
| 392e0 |  73 69 65 6e 74 2d 70 72 6f 63 65 73 73 20 28 63    61 6e 64 73 29 0a 20 20 22 52 75 6e 20 73 65 71  | sient-process.(cands)..."Run.seq | 
| 39300 |  75 65 6e 74 69 61 6c 20 70 72 6f 63 65 73 73 65    73 20 74 6f 20 73 65 74 20 6d 65 74 61 64 61 74  | uential.processes.to.set.metadat | 
| 39320 |  61 20 77 69 74 68 20 74 72 61 6e 73 69 65 6e 74    20 63 6f 6d 6d 61 6e 64 73 2e 0a 41 72 67 75 6d  | a.with.transient.commands..Argum | 
| 39340 |  65 6e 74 20 43 41 4e 44 53 20 69 73 20 74 68 65    20 6c 69 73 74 20 6f 66 20 63 61 6e 64 69 61 74  | ent.CANDS.is.the.list.of.candiat | 
| 39360 |  65 73 2e 22 0a 20 20 28 6c 65 74 20 28 28 63 61    6e 64 20 28 70 6f 70 20 63 61 6e 64 73 29 29 29  | es."...(let.((cand.(pop.cands))) | 
| 39380 |  0a 20 20 20 20 3b 3b 20 28 70 70 20 63 61 6e 64    29 0a 20 20 20 20 28 69 66 20 63 61 6e 64 0a 20  | .....;;.(pp.cand).....(if.cand.. | 
| 393a0 |  20 20 20 20 20 20 20 28 73 65 74 2d 70 72 6f 63    65 73 73 2d 73 65 6e 74 69 6e 65 6c 0a 20 20 20  | .......(set-process-sentinel.... | 
| 393c0 |  20 20 20 20 20 20 28 6c 65 74 2a 20 28 28 69 64    20 28 63 61 6c 69 62 72 65 64 62 2d 67 65 74 61  | ......(let*.((id.(calibredb-geta | 
| 393e0 |  74 74 72 20 63 61 6e 64 20 3a 69 64 29 29 29 0a    20 20 20 20 20 20 20 20 20 20 20 28 63 61 6c 69  | ttr.cand.:id)))............(cali | 
| 39400 |  62 72 65 64 62 2d 70 72 6f 63 65 73 73 20 3a 63    6f 6d 6d 61 6e 64 20 22 73 65 74 5f 6d 65 74 61  | bredb-process.:command."set_meta | 
| 39420 |  64 61 74 61 22 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  | data"........................... | 
| 39440 |  20 20 20 20 3a 6f 70 74 69 6f 6e 20 28 66 6f 72    6d 61 74 20 22 2d 2d 66 69 65 6c 64 20 5c 22 25  | ....:option.(format."--field.\"% | 
| 39460 |  73 5c 22 22 20 28 73 2d 6a 6f 69 6e 20 22 5c 22    20 2d 2d 66 69 65 6c 64 20 5c 22 22 20 28 2d 72  | s\"".(s-join."\".--field.\"".(-r | 
| 39480 |  65 6d 6f 76 65 20 27 73 2d 62 6c 61 6e 6b 3f 20    28 2d 66 6c 61 74 74 65 6e 20 28 63 61 6c 69 62  | emove.'s-blank?.(-flatten.(calib | 
| 394a0 |  72 65 64 62 2d 73 65 74 2d 6d 65 74 61 64 61 74    61 2d 61 72 67 75 6d 65 6e 74 73 29 29 29 29 29  | redb-set-metadata-arguments))))) | 
| 394c0 |  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 20 20 20 3a  | ...............................: | 
| 394e0 |  69 64 20 69 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  | id.id........................... | 
| 39500 |  20 20 20 20 3a 6c 69 62 72 61 72 79 20 28 66 6f    72 6d 61 74 20 22 2d 2d 6c 69 62 72 61 72 79 2d  | ....:library.(format."--library- | 
| 39520 |  70 61 74 68 20 5c 22 25 73 5c 22 22 20 63 61 6c    69 62 72 65 64 62 2d 72 6f 6f 74 2d 64 69 72 29  | path.\"%s\"".calibredb-root-dir) | 
| 39540 |  29 29 0a 20 20 20 20 20 20 20 20 20 28 6c 61 6d    62 64 61 20 28 70 20 5f 65 29 0a 20 20 20 20 20  | ))..........(lambda.(p._e)...... | 
| 39560 |  20 20 20 20 20 20 28 77 68 65 6e 20 28 3d 20 30    20 28 70 72 6f 63 65 73 73 2d 65 78 69 74 2d 73  | ......(when.(=.0.(process-exit-s | 
| 39580 |  74 61 74 75 73 20 70 29 29 0a 20 20 20 20 20 20    20 20 20 20 20 20 20 28 63 61 6c 69 62 72 65 64  | tatus.p))..............(calibred | 
| 395a0 |  62 2d 73 65 74 2d 6d 65 74 61 64 61 74 61 2d 2d    74 72 61 6e 73 69 65 6e 74 2d 70 72 6f 63 65 73  | b-set-metadata--transient-proces | 
| 395c0 |  73 20 63 61 6e 64 73 29 29 29 29 0a 20 20 20 20    20 20 3b 3b 20 69 66 20 6e 6f 20 63 61 6e 64 69  | s.cands)))).......;;.if.no.candi | 
| 395e0 |  64 61 74 65 20 6c 65 66 74 20 74 6f 20 62 65 20    70 72 6f 63 65 73 73 65 64 2c 20 72 65 66 72 65  | date.left.to.be.processed,.refre | 
| 39600 |  73 68 20 2a 63 61 6c 69 62 72 65 64 62 2d 73 65    61 72 63 68 2a 0a 20 20 20 20 20 20 28 63 6f 6e  | sh.*calibredb-search*.......(con | 
| 39620 |  64 20 28 28 65 71 75 61 6c 20 6d 61 6a 6f 72 2d    6d 6f 64 65 20 27 63 61 6c 69 62 72 65 64 62 2d  | d.((equal.major-mode.'calibredb- | 
| 39640 |  73 68 6f 77 2d 6d 6f 64 65 29 0a 20 20 20 20 20    20 20 20 20 20 20 20 20 28 63 61 6c 69 62 72 65  | show-mode)..............(calibre | 
| 39660 |  64 62 2d 73 68 6f 77 2d 72 65 66 72 65 73 68 29    29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 28  | db-show-refresh)).............(( | 
| 39680 |  65 71 20 6d 61 6a 6f 72 2d 6d 6f 64 65 20 27 63    61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2d  | eq.major-mode.'calibredb-search- | 
| 396a0 |  6d 6f 64 65 29 0a 20 20 20 20 20 20 20 20 20 20    20 20 20 28 63 61 6c 69 62 72 65 64 62 2d 73 65  | mode)..............(calibredb-se | 
| 396c0 |  61 72 63 68 2d 72 65 66 72 65 73 68 2d 6f 72 2d    72 65 73 75 6d 65 29 29 0a 20 20 20 20 20 20 20  | arch-refresh-or-resume))........ | 
| 396e0 |  20 20 20 20 20 28 74 20 6e 69 6c 29 29 29 29 29    0a 0a 28 64 65 66 75 6e 20 63 61 6c 69 62 72 65  | .....(t.nil)))))..(defun.calibre | 
| 39700 |  64 62 2d 66 69 6e 64 2d 63 61 6e 64 69 64 61 74    65 2d 61 74 2d 70 6f 69 6e 74 20 28 29 0a 20 20  | db-find-candidate-at-point.()... | 
| 39720 |  22 46 69 6e 64 20 63 61 6e 64 69 64 61 74 65 20    61 74 20 70 6f 69 6e 74 20 61 6e 64 20 72 65 74  | "Find.candidate.at.point.and.ret | 
| 39740 |  75 72 6e 20 74 68 65 20 6c 69 73 74 2e 22 0a 20    20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20  | urn.the.list."...(interactive).. | 
| 39760 |  20 28 69 66 20 28 65 71 20 6d 61 6a 6f 72 2d 6d    6f 64 65 20 27 63 61 6c 69 62 72 65 64 62 2d 73  | .(if.(eq.major-mode.'calibredb-s | 
| 39780 |  65 61 72 63 68 2d 6d 6f 64 65 29 0a 20 20 20 20    20 20 28 6c 69 73 74 20 28 63 64 72 20 28 6f 72  | earch-mode).......(list.(cdr.(or | 
| 397a0 |  20 28 67 65 74 2d 74 65 78 74 2d 70 72 6f 70 65    72 74 79 20 28 70 6f 69 6e 74 29 20 27 63 61 6c  | .(get-text-property.(point).'cal | 
| 397c0 |  69 62 72 65 64 62 2d 65 6e 74 72 79 20 6e 69 6c    29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | ibredb-entry.nil)............... | 
| 397e0 |  20 20 20 20 20 20 20 28 67 65 74 2d 74 65 78 74    2d 70 72 6f 70 65 72 74 79 20 28 70 6f 69 6e 74  | .......(get-text-property.(point | 
| 39800 |  29 20 27 63 61 6c 69 62 72 65 64 62 2d 64 65 74    61 69 6c 65 64 20 6e 69 6c 29 0a 20 20 20 20 20  | ).'calibredb-detailed.nil)...... | 
| 39820 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    28 67 65 74 2d 74 65 78 74 2d 70 72 6f 70 65 72  | ................(get-text-proper | 
| 39840 |  74 79 20 28 70 6f 69 6e 74 29 20 27 63 61 6c 69    62 72 65 64 62 2d 63 6f 6d 70 61 63 74 20 6e 69  | ty.(point).'calibredb-compact.ni | 
| 39860 |  6c 29 29 29 29 0a 20 20 20 20 28 6c 69 73 74 20    28 67 65 74 2d 74 65 78 74 2d 70 72 6f 70 65 72  | l)))).....(list.(get-text-proper | 
| 39880 |  74 79 20 28 70 6f 69 6e 74 2d 6d 69 6e 29 20 27    63 61 6c 69 62 72 65 64 62 2d 65 6e 74 72 79 20  | ty.(point-min).'calibredb-entry. | 
| 398a0 |  6e 69 6c 29 20 29 29 29 0a 0a 28 64 65 66 75 6e    20 63 61 6c 69 62 72 65 64 62 2d 66 69 6e 64 2d  | nil).)))..(defun.calibredb-find- | 
| 398c0 |  6d 61 72 6b 65 64 2d 63 61 6e 64 69 64 61 74 65    73 20 28 29 0a 20 20 22 46 69 6e 64 20 6d 61 72  | marked-candidates.()..."Find.mar | 
| 398e0 |  6b 65 64 20 63 61 6e 64 69 64 61 74 65 73 20 61    6e 64 20 72 65 74 75 72 6e 20 74 68 65 20 61 6c  | ked.candidates.and.return.the.al | 
| 39900 |  69 73 74 2e 22 0a 20 20 28 69 6e 74 65 72 61 63    74 69 76 65 29 0a 20 20 28 73 61 76 65 2d 65 78  | ist."...(interactive)...(save-ex | 
| 39920 |  63 75 72 73 69 6f 6e 0a 20 20 20 20 28 6c 65 74    20 28 63 61 6e 64 69 64 61 74 65 20 62 65 67 20  | cursion.....(let.(candidate.beg. | 
| 39940 |  65 6e 64 20 63 61 6e 64 2d 6c 69 73 74 29 0a 20    20 20 20 20 20 28 77 68 65 6e 20 28 74 65 78 74  | end.cand-list).......(when.(text | 
| 39960 |  2d 70 72 6f 70 65 72 74 79 2d 6e 6f 74 2d 61 6c    6c 20 28 70 6f 69 6e 74 2d 6d 69 6e 29 20 28 70  | -property-not-all.(point-min).(p | 
| 39980 |  6f 69 6e 74 2d 6d 61 78 29 20 27 63 61 6c 69 62    72 65 64 62 2d 6d 61 72 6b 20 6e 69 6c 29 0a 20  | oint-max).'calibredb-mark.nil).. | 
| 399a0 |  20 20 20 20 20 20 20 28 73 65 74 71 20 65 6e 64    20 28 74 65 78 74 2d 70 72 6f 70 65 72 74 79 2d  | .......(setq.end.(text-property- | 
| 399c0 |  61 6e 79 20 28 70 6f 69 6e 74 2d 6d 69 6e 29 20    28 70 6f 69 6e 74 2d 6d 61 78 29 20 27 63 61 6c  | any.(point-min).(point-max).'cal | 
| 399e0 |  69 62 72 65 64 62 2d 6d 61 72 6b 20 3f 3e 29 29    0a 20 20 20 20 20 20 20 20 28 77 68 69 6c 65 20  | ibredb-mark.?>)).........(while. | 
| 39a00 |  28 73 65 74 71 20 62 65 67 20 28 74 65 78 74 2d    70 72 6f 70 65 72 74 79 2d 61 6e 79 20 65 6e 64  | (setq.beg.(text-property-any.end | 
| 39a20 |  20 28 70 6f 69 6e 74 2d 6d 61 78 29 20 27 63 61    6c 69 62 72 65 64 62 2d 6d 61 72 6b 20 3f 3e 29  | .(point-max).'calibredb-mark.?>) | 
| 39a40 |  20 29 0a 20 20 20 20 20 20 20 20 20 20 28 67 6f    74 6f 2d 63 68 61 72 20 62 65 67 29 0a 20 20 20  | .)...........(goto-char.beg).... | 
| 39a60 |  20 20 20 20 20 20 20 28 73 65 74 71 20 63 61 6e    64 69 64 61 74 65 20 28 63 64 72 20 28 67 65 74  | .......(setq.candidate.(cdr.(get | 
| 39a80 |  2d 74 65 78 74 2d 70 72 6f 70 65 72 74 79 20 28    70 6f 69 6e 74 29 20 27 63 61 6c 69 62 72 65 64  | -text-property.(point).'calibred | 
| 39aa0 |  62 2d 65 6e 74 72 79 20 6e 69 6c 29 29 29 0a 20    20 20 20 20 20 20 20 20 20 28 70 75 73 68 20 63  | b-entry.nil)))...........(push.c | 
| 39ac0 |  61 6e 64 69 64 61 74 65 20 63 61 6e 64 2d 6c 69    73 74 29 0a 20 20 20 20 20 20 20 20 20 20 3b 3b  | andidate.cand-list)...........;; | 
| 39ae0 |  20 28 6d 65 73 73 61 67 65 20 28 6e 75 6d 62 65    72 2d 74 6f 2d 73 74 72 69 6e 67 20 62 65 67 29  | .(message.(number-to-string.beg) | 
| 39b00 |  29 0a 20 20 20 20 20 20 20 20 20 20 28 66 6f 72    77 61 72 64 2d 6c 69 6e 65 20 31 29 0a 20 20 20  | )...........(forward-line.1).... | 
| 39b20 |  20 20 20 20 20 20 20 28 73 65 74 71 20 65 6e 64    20 28 70 6f 69 6e 74 29 29 29 0a 20 20 20 20 20  | .......(setq.end.(point)))...... | 
| 39b40 |  20 20 20 63 61 6e 64 2d 6c 69 73 74 29 29 29 29    0a 0a 3b 3b 20 66 65 74 63 68 5f 6d 65 74 61 64  | ...cand-list))))..;;.fetch_metad | 
| 39b60 |  61 74 61 0a 0a 28 64 65 66 75 6e 20 63 61 6c 69    62 72 65 64 62 2d 70 64 66 2d 61 75 74 6f 2d 64  | ata..(defun.calibredb-pdf-auto-d | 
| 39b80 |  65 74 65 63 74 2d 69 73 62 6e 20 28 26 6f 70 74    69 6f 6e 61 6c 20 65 6e 64 2d 70 61 67 65 29 0a  | etect-isbn.(&optional.end-page). | 
| 39ba0 |  20 20 22 49 6e 76 6f 6b 65 20 66 72 6f 6d 20 63    61 6c 69 62 72 65 2d 73 65 61 72 63 68 20 62 75  | .."Invoke.from.calibre-search.bu | 
| 39bc0 |  66 66 65 72 2e 0a 54 68 69 73 20 66 75 6e 63 74    69 6f 6e 20 72 65 71 75 69 72 65 73 20 74 68 65  | ffer..This.function.requires.the | 
| 39be0 |  20 70 64 66 2d 74 6f 6f 6c 73 20 28 70 64 66 2d    74 6f 6f 6c 73 2e 65 6c 29 20 74 6f 20 62 65 20  | .pdf-tools.(pdf-tools.el).to.be. | 
| 39c00 |  69 6e 73 74 61 6c 6c 65 64 2e 0a 53 63 61 6e 20    66 6f 72 20 69 73 62 6e 20 66 72 6f 6d 20 70 61  | installed..Scan.for.isbn.from.pa | 
| 39c20 |  67 65 20 31 20 75 70 74 6f 20 28 6e 6f 74 20 69    6e 63 6c 75 64 69 6e 67 29 20 45 4e 44 2d 50 41  | ge.1.upto.(not.including).END-PA | 
| 39c40 |  47 45 20 28 64 65 66 61 75 6c 74 20 31 30 29 20    66 6f 72 20 70 64 66 20 66 69 6c 65 2e 22 0a 20  | GE.(default.10).for.pdf.file.".. | 
| 39c60 |  20 28 72 65 71 75 69 72 65 20 27 70 64 66 2d 74    6f 6f 6c 73 20 6e 69 6c 20 74 29 0a 20 20 28 69  | .(require.'pdf-tools.nil.t)...(i | 
| 39c80 |  66 20 28 65 71 20 6d 61 6a 6f 72 2d 6d 6f 64 65    20 27 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72  | f.(eq.major-mode.'calibredb-sear | 
| 39ca0 |  63 68 2d 6d 6f 64 65 29 0a 20 20 20 20 20 20 28    6c 65 74 20 28 69 73 62 6e 2d 6c 69 6e 65 0a 20  | ch-mode).......(let.(isbn-line.. | 
| 39cc0 |  20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 28 69    73 62 6e 20 22 22 29 0a 20 20 20 20 20 20 20 20  | ...........;;.(isbn."")......... | 
| 39ce0 |  20 20 20 20 28 70 61 67 65 20 31 29 0a 20 20 20    20 20 20 20 20 20 20 20 20 28 66 69 6c 65 2d 70  | ....(page.1).............(file-p | 
| 39d00 |  61 74 68 20 28 63 61 6c 69 62 72 65 64 62 2d 67    65 74 61 74 74 72 20 28 63 61 72 20 28 63 61 6c  | ath.(calibredb-getattr.(car.(cal | 
| 39d20 |  69 62 72 65 64 62 2d 66 69 6e 64 2d 63 61 6e 64    69 64 61 74 65 2d 61 74 2d 70 6f 69 6e 74 29 29  | ibredb-find-candidate-at-point)) | 
| 39d40 |  20 3a 66 69 6c 65 2d 70 61 74 68 29 29 29 0a 20    20 20 20 20 20 20 20 28 75 6e 6c 65 73 73 20 65  | .:file-path))).........(unless.e | 
| 39d60 |  6e 64 2d 70 61 67 65 20 28 73 65 74 71 20 65 6e    64 2d 70 61 67 65 20 31 30 29 29 0a 20 20 20 20  | nd-page.(setq.end-page.10))..... | 
| 39d80 |  20 20 20 20 28 63 6f 6e 64 20 28 28 73 74 72 69    6e 67 3d 20 28 75 72 6c 2d 66 69 6c 65 2d 65 78  | ....(cond.((string=.(url-file-ex | 
| 39da0 |  74 65 6e 73 69 6f 6e 20 66 69 6c 65 2d 70 61 74    68 29 20 22 2e 70 64 66 22 29 0a 20 20 20 20 20  | tension.file-path).".pdf")...... | 
| 39dc0 |  20 20 20 20 20 20 20 20 20 20 28 77 68 69 6c 65    20 28 3c 20 70 61 67 65 20 65 6e 64 2d 70 61 67  | ..........(while.(<.page.end-pag | 
| 39de0 |  65 29 20 3b 20 73 63 61 6e 6e 69 6e 67 20 66 72    6f 6d 20 62 65 6c 6f 77 20 62 65 63 61 75 73 65  | e).;.scanning.from.below.because | 
| 39e00 |  20 77 65 20 77 61 6e 74 20 74 6f 20 66 69 6e 64    20 66 69 72 73 74 20 69 6e 73 74 61 6e 63 65 20  | .we.want.to.find.first.instance. | 
| 39e20 |  6f 66 20 49 53 42 4e 0a 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28  | of.ISBN..................(let.(( | 
| 39e40 |  6d 61 74 63 68 20 28 63 64 72 20 28 61 73 73 6f    63 20 27 65 64 67 65 73 20 28 63 61 72 20 28 6f  | match.(cdr.(assoc.'edges.(car.(o | 
| 39e60 |  72 20 28 70 64 66 2d 69 6e 66 6f 2d 73 65 61 72    63 68 2d 73 74 72 69 6e 67 0a 20 20 20 20 20 20  | r.(pdf-info-search-string....... | 
| 39e80 |  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  | ................................ | 
| 39ea0 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 22 69 73 62 6e 22 0a 20 20 20 20 20 20 20  | .................."isbn"........ | 
| 39ec0 |  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  | ................................ | 
| 39ee0 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 70 61 67 65 0a 20 20 20 20 20 20 20 20 20 20  | .................page........... | 
| 39f00 |  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  | ................................ | 
| 39f20 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 69    6c 65 2d 70 61 74 68 29 0a 20 20 20 20 20 20 20  | ..............file-path)........ | 
| 39f40 |  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  | ................................ | 
| 39f60 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 28 70 64 66 2d 69 6e 66 6f 2d 73 65 61  | ...................(pdf-info-sea | 
| 39f80 |  72 63 68 2d 73 74 72 69 6e 67 0a 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | rch-string...................... | 
| 39fa0 |  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  | ................................ | 
| 39fc0 |  20 20 20 20 20 20 22 6e 75 6d 62 65 72 2d 22 0a    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | ......"number-"................. | 
| 39fe0 |  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  | ................................ | 
| 3a000 |  20 20 20 20 20 20 20 20 20 20 20 70 61 67 65 0a    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | ...........page................. | 
| 3a020 |  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  | ................................ | 
| 3a040 |  20 20 20 20 20 20 20 20 20 20 20 66 69 6c 65 2d    70 61 74 68 29 29 29 29 29 29 29 0a 20 20 20 20  | ...........file-path)))))))..... | 
| 3a060 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b    3b 20 28 63 75 72 72 65 6e 74 2d 62 75 66 66 65  | ...............;;.(current-buffe | 
| 3a080 |  72 29 29 29 29 29 29 29 0a 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74  | r)))))))....................(set | 
| 3a0a0 |  71 20 70 61 67 65 20 28 31 2b 20 70 61 67 65 29    29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | q.page.(1+.page))............... | 
| 3a0c0 |  20 20 20 20 20 28 63 6f 6e 64 20 28 6d 61 74 63    68 20 28 73 65 74 71 20 69 73 62 6e 2d 6c 69 6e  | .....(cond.(match.(setq.isbn-lin | 
| 3a0e0 |  65 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 20 20 20  | e............................... | 
| 3a100 |  20 20 20 20 20 20 20 20 28 70 64 66 2d 69 6e 66    6f 2d 67 65 74 74 65 78 74 0a 20 20 20 20 20 20  | ........(pdf-info-gettext....... | 
| 3a120 |  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  | ................................ | 
| 3a140 |  20 28 31 2d 20 70 61 67 65 29 0a 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | .(1-.page)...................... | 
| 3a160 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 28 63 61 72 20 6d 61 74 63 68 29 0a 20 20  | ..................(car.match)... | 
| 3a180 |  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  | ................................ | 
| 3a1a0 |  20 20 20 20 20 27 6c 69 6e 65 20 66 69 6c 65 2d    70 61 74 68 29 29 0a 20 20 20 20 20 20 20 20 20  | .....'line.file-path)).......... | 
| 3a1c0 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 28 73 65 74 71 20 70 61 67  | .......................(setq.pag | 
| 3a1e0 |  65 20 28 31 2b 20 65 6e 64 2d 70 61 67 65 29 29    29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20  | e.(1+.end-page))))))............ | 
| 3a200 |  20 20 20 20 28 63 6f 6e 64 20 28 69 73 62 6e 2d    6c 69 6e 65 0a 20 20 20 20 20 20 20 20 20 20 20  | ....(cond.(isbn-line............ | 
| 3a220 |  20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 64    20 28 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 20  | ...........(cond.((string-match. | 
| 3a240 |  22 5c 5c 28 49 53 42 4e 5c 5c 29 5b 5e 30 2d 39    5d 2a 5c 5c 28 31 30 5c 5c 7c 31 33 5c 5c 29 2a  | "\\(ISBN\\)[^0-9]*\\(10\\|13\\)* | 
| 3a260 |  5b 5e 30 2d 39 5d 2a 20 2a 5c 5c 28 5b 30 2d 39    2d 20 78 5d 2a 5c 5c 29 20 2a 22 20 69 73 62 6e  | [^0-9]*.*\\([0-9-.x]*\\).*".isbn | 
| 3a280 |  2d 6c 69 6e 65 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  | -line).......................... | 
| 3a2a0 |  20 20 20 20 28 6d 61 74 63 68 2d 73 74 72 69 6e    67 20 33 20 69 73 62 6e 2d 6c 69 6e 65 29 29 0a  | ....(match-string.3.isbn-line)). | 
| 3a2c0 |  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 28 73 74  | ............................((st | 
| 3a2e0 |  72 69 6e 67 2d 6d 61 74 63 68 20 22 31 33 3a 20    2a 5c 5c 28 5b 30 2d 39 2d 20 78 5d 2a 5c 5c 29  | ring-match."13:.*\\([0-9-.x]*\\) | 
| 3a300 |  20 2a 22 20 69 73 62 6e 2d 6c 69 6e 65 29 0a 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | .*".isbn-line).................. | 
| 3a320 |  20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 74    63 68 2d 73 74 72 69 6e 67 20 31 20 69 73 62 6e  | ............(match-string.1.isbn | 
| 3a340 |  2d 6c 69 6e 65 29 29 29 29 0a 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28  | -line))))......................( | 
| 3a360 |  74 20 6e 69 6c 29 29 29 0a 20 20 20 20 20 20 20    20 20 20 20 20 20 20 28 74 20 6e 69 6c 29 29 29  | t.nil)))...............(t.nil))) | 
| 3a380 |  0a 20 20 20 20 28 6d 65 73 73 61 67 65 20 22 53    68 6f 75 6c 64 20 62 65 20 69 6e 76 6f 6b 65 64  | .....(message."Should.be.invoked | 
| 3a3a0 |  20 66 72 6f 6d 20 2a 63 61 6c 69 62 72 65 64 62    2d 73 65 61 72 63 68 2a 20 62 75 66 66 65 72 22  | .from.*calibredb-search*.buffer" | 
| 3a3c0 |  29 29 29 0a 0a 28 64 65 66 75 6e 20 63 61 6c 69    62 72 65 64 62 2d 64 6a 76 75 2d 61 75 74 6f 2d  | )))..(defun.calibredb-djvu-auto- | 
| 3a3e0 |  64 65 74 65 63 74 2d 69 73 62 6e 20 28 29 0a 20    20 22 49 6e 76 6f 6b 65 20 66 72 6f 6d 20 63 61  | detect-isbn.()..."Invoke.from.ca | 
| 3a400 |  6c 69 62 72 65 2d 73 65 61 72 63 68 20 62 75 66    66 65 72 2e 0a 54 68 69 73 20 66 75 6e 63 74 69  | libre-search.buffer..This.functi | 
| 3a420 |  6f 6e 20 72 65 71 75 69 72 65 73 20 74 68 65 20    64 6a 76 75 20 28 64 6a 76 75 2e 65 6c 29 20 70  | on.requires.the.djvu.(djvu.el).p | 
| 3a440 |  61 63 6b 61 67 65 20 74 6f 20 62 65 20 69 6e 73    74 61 6c 6c 65 64 2e 0a 53 63 61 6e 20 66 6f 72  | ackage.to.be.installed..Scan.for | 
| 3a460 |  20 69 73 62 6e 20 66 72 6f 6d 20 74 68 65 20 66    69 72 73 74 20 39 20 70 61 67 65 73 20 6f 66 20  | .isbn.from.the.first.9.pages.of. | 
| 3a480 |  74 68 65 20 64 6a 76 75 20 66 69 6c 65 2e 22 0a    20 20 28 64 6a 76 75 2d 66 69 6e 64 2d 66 69 6c  | the.djvu.file."...(djvu-find-fil | 
| 3a4a0 |  65 20 28 63 61 6c 69 62 72 65 64 62 2d 67 65 74    61 74 74 72 20 28 63 61 72 20 28 63 61 6c 69 62  | e.(calibredb-getattr.(car.(calib | 
| 3a4c0 |  72 65 64 62 2d 66 69 6e 64 2d 63 61 6e 64 69 64    61 74 65 2d 61 74 2d 70 6f 69 6e 74 29 29 20 3a  | redb-find-candidate-at-point)).: | 
| 3a4e0 |  66 69 6c 65 2d 70 61 74 68 29 29 0a 20 20 28 64    6a 76 75 2d 67 6f 74 6f 2d 70 61 67 65 20 31 29  | file-path))...(djvu-goto-page.1) | 
| 3a500 |  0a 20 20 28 6c 65 74 2a 20 28 28 6d 61 74 63 68    20 28 6c 65 74 20 28 28 70 61 67 65 20 64 6a 76  | ...(let*.((match.(let.((page.djv | 
| 3a520 |  75 2d 64 6f 63 2d 70 61 67 65 29 0a 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | u-doc-page)..................... | 
| 3a540 |  20 20 28 6d 61 74 63 68 20 6e 69 6c 29 29 0a 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | ..(match.nil)).................. | 
| 3a560 |  20 28 77 68 69 6c 65 20 28 6e 6f 74 20 28 6f 72    20 6d 61 74 63 68 20 28 3e 20 70 61 67 65 20 31  | .(while.(not.(or.match.(>.page.1 | 
| 3a580 |  30 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 28 64 6a 76 75 2d 6e  | 0))).....................(djvu-n | 
| 3a5a0 |  65 78 74 2d 70 61 67 65 20 31 29 0a 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | ext-page.1)..................... | 
| 3a5c0 |  28 73 65 74 71 20 70 61 67 65 20 64 6a 76 75 2d    64 6f 63 2d 70 61 67 65 29 0a 20 20 20 20 20 20  | (setq.page.djvu-doc-page)....... | 
| 3a5e0 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 77    68 65 6e 20 28 72 65 2d 73 65 61 72 63 68 2d 66  | ..............(when.(re-search-f | 
| 3a600 |  6f 72 77 61 72 64 20 22 5e 2e 2a 69 73 62 6e 2e    2a 24 22 20 6e 69 6c 20 74 29 20 28 73 65 74 71  | orward."^.*isbn.*$".nil.t).(setq | 
| 3a620 |  20 6d 61 74 63 68 20 74 29 29 29 0a 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70  | .match.t)))...................(p | 
| 3a640 |  72 69 6e 74 20 6d 61 74 63 68 29 29 29 29 0a 20    20 20 20 28 6c 65 74 20 28 28 69 73 62 6e 2d 6c  | rint.match)))).....(let.((isbn-l | 
| 3a660 |  69 6e 65 20 22 22 29 29 0a 20 20 20 20 20 20 28    63 6f 6e 64 20 28 6d 61 74 63 68 0a 20 20 20 20  | ine."")).......(cond.(match..... | 
| 3a680 |  20 20 20 20 20 20 20 20 20 3b 3b 20 28 70 72 69    6e 74 20 28 66 6f 72 6d 61 74 20 22 48 45 4c 4c  | .........;;.(print.(format."HELL | 
| 3a6a0 |  4f 22 20 28 6d 61 74 63 68 2d 73 74 72 69 6e 67    2d 6e 6f 2d 70 72 6f 70 65 72 74 69 65 73 20 30  | O".(match-string-no-properties.0 | 
| 3a6c0 |  29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20    20 28 73 65 74 71 20 69 73 62 6e 2d 6c 69 6e 65  | )))..............(setq.isbn-line | 
| 3a6e0 |  20 28 6d 61 74 63 68 2d 73 74 72 69 6e 67 2d 6e    6f 2d 70 72 6f 70 65 72 74 69 65 73 20 30 29 29  | .(match-string-no-properties.0)) | 
| 3a700 |  0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73    65 74 2d 62 75 66 66 65 72 2d 6d 6f 64 69 66 69  | ..............(set-buffer-modifi | 
| 3a720 |  65 64 2d 70 20 6e 69 6c 29 0a 20 20 20 20 20 20    20 20 20 20 20 20 20 28 6b 69 6c 6c 2d 62 75 66  | ed-p.nil)..............(kill-buf | 
| 3a740 |  66 65 72 29 0a 20 20 20 20 20 20 20 20 20 20 20    20 20 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 20  | fer)..............(string-match. | 
| 3a760 |  22 5c 5c 28 69 73 62 6e 5c 5c 29 5b 5e 30 2d 39    5d 2a 5c 5c 28 31 30 5c 5c 7c 31 33 5c 5c 29 2a  | "\\(isbn\\)[^0-9]*\\(10\\|13\\)* | 
| 3a780 |  5b 5e 30 2d 39 5d 2a 20 2a 5c 5c 28 5b 30 2d 39    2d 20 78 5d 2a 5c 5c 29 20 2a 22 20 69 73 62 6e  | [^0-9]*.*\\([0-9-.x]*\\).*".isbn | 
| 3a7a0 |  2d 6c 69 6e 65 29 0a 20 20 20 20 20 20 20 20 20    20 20 20 20 28 6d 61 74 63 68 2d 73 74 72 69 6e  | -line)..............(match-strin | 
| 3a7c0 |  67 20 33 20 69 73 62 6e 2d 6c 69 6e 65 29 29 0a    20 20 20 20 20 20 20 20 20 20 20 20 28 74 0a 20  | g.3.isbn-line)).............(t.. | 
| 3a7e0 |  20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74    2d 62 75 66 66 65 72 2d 6d 6f 64 69 66 69 65 64  | ............(set-buffer-modified | 
| 3a800 |  2d 70 20 6e 69 6c 29 0a 20 20 20 20 20 20 20 20    20 20 20 20 20 28 6b 69 6c 6c 2d 62 75 66 66 65  | -p.nil)..............(kill-buffe | 
| 3a820 |  72 29 20 6e 69 6c 29 29 29 29 29 0a 0a 28 64 65    66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d 61 75  | r).nil)))))..(defun.calibredb-au | 
| 3a840 |  74 6f 2d 64 65 74 65 63 74 2d 69 73 62 6e 20 28    29 0a 20 20 22 49 6e 76 6f 6b 65 20 66 72 6f 6d  | to-detect-isbn.()..."Invoke.from | 
| 3a860 |  20 63 61 6c 69 62 72 65 2d 73 65 61 72 63 68 20    62 75 66 66 65 72 20 61 6e 64 20 73 63 61 6e 20  | .calibre-search.buffer.and.scan. | 
| 3a880 |  66 6f 72 20 69 73 62 6e 2e 22 0a 20 20 28 69 6e    74 65 72 61 63 74 69 76 65 29 0a 20 20 28 6c 65  | for.isbn."...(interactive)...(le | 
| 3a8a0 |  74 20 20 28 28 66 6f 72 6d 61 74 20 28 63 61 6c    69 62 72 65 64 62 2d 67 65 74 61 74 74 72 20 28  | t..((format.(calibredb-getattr.( | 
| 3a8c0 |  63 61 72 20 28 63 61 6c 69 62 72 65 64 62 2d 66    69 6e 64 2d 63 61 6e 64 69 64 61 74 65 2d 61 74  | car.(calibredb-find-candidate-at | 
| 3a8e0 |  2d 70 6f 69 6e 74 29 29 20 3a 62 6f 6f 6b 2d 66    6f 72 6d 61 74 29 29 29 0a 20 20 20 20 28 63 6f  | -point)).:book-format))).....(co | 
| 3a900 |  6e 64 20 28 28 73 74 72 69 6e 67 3d 20 66 6f 72    6d 61 74 20 22 70 64 66 22 29 0a 20 20 20 20 20  | nd.((string=.format."pdf")...... | 
| 3a920 |  20 20 20 20 20 20 28 69 66 20 28 66 65 61 74 75    72 65 70 20 27 70 64 66 2d 74 6f 6f 6c 73 29 0a  | ......(if.(featurep.'pdf-tools). | 
| 3a940 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28    63 61 6c 69 62 72 65 64 62 2d 70 64 66 2d 61 75  | ...............(calibredb-pdf-au | 
| 3a960 |  74 6f 2d 64 65 74 65 63 74 2d 69 73 62 6e 29 0a    20 20 20 20 20 20 20 20 20 20 20 20 20 6e 69 6c  | to-detect-isbn)..............nil | 
| 3a980 |  29 29 0a 20 20 20 20 20 20 20 20 20 20 28 28 73    74 72 69 6e 67 3d 20 66 6f 72 6d 61 74 20 22 64  | ))...........((string=.format."d | 
| 3a9a0 |  6a 76 75 22 29 0a 20 20 20 20 20 20 20 20 20 20    20 28 69 66 20 28 66 65 61 74 75 72 65 70 20 27  | jvu")............(if.(featurep.' | 
| 3a9c0 |  64 6a 76 75 29 0a 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 28 63 61 6c 69 62 72 65 64 62 2d  | djvu)................(calibredb- | 
| 3a9e0 |  64 6a 76 75 2d 61 75 74 6f 2d 64 65 74 65 63 74    2d 69 73 62 6e 29 0a 20 20 20 20 20 20 20 20 20  | djvu-auto-detect-isbn).......... | 
| 3aa00 |  20 20 20 20 6e 69 6c 29 29 0a 20 20 20 20 20 20    20 20 20 20 28 74 20 6e 69 6c 29 29 29 29 0a 0a  | ....nil))...........(t.nil)))).. | 
| 3aa20 |  28 64 65 66 75 6e 20 63 61 6c 69 62 72 65 64 62    2d 73 68 6f 77 2d 72 65 73 75 6c 74 73 20 28 6d  | (defun.calibredb-show-results.(m | 
| 3aa40 |  65 74 61 64 61 74 61 20 26 6f 70 74 69 6f 6e 61    6c 20 73 77 69 74 63 68 29 0a 20 20 22 44 69 73  | etadata.&optional.switch)..."Dis | 
| 3aa60 |  70 6c 61 79 20 4d 45 54 41 44 41 54 41 20 66 65    74 63 68 20 72 65 73 75 6c 74 73 20 69 6e 20 74  | play.METADATA.fetch.results.in.t | 
| 3aa80 |  68 65 20 63 75 72 72 65 6e 74 20 62 75 66 66 65    72 2e 0a 4f 70 74 69 6f 6e 61 6c 20 61 72 67 75  | he.current.buffer..Optional.argu | 
| 3aaa0 |  6d 65 6e 74 20 53 57 49 54 43 48 20 74 6f 20 73    77 69 74 63 68 20 74 6f 20 2a 63 61 6c 69 62 72  | ment.SWITCH.to.switch.to.*calibr | 
| 3aac0 |  65 64 62 2d 73 65 61 72 63 68 2a 20 62 75 66 66    65 72 20 74 6f 20 6f 74 68 65 72 20 77 69 6e 64  | edb-search*.buffer.to.other.wind | 
| 3aae0 |  6f 77 2e 0a 54 68 69 73 20 66 75 6e 63 74 69 6f    6e 20 69 73 20 61 20 73 6c 69 67 68 6c 79 20 6d  | ow..This.function.is.a.slighly.m | 
| 3ab00 |  6f 64 69 66 69 65 64 20 76 65 72 73 69 6f 6e 20    66 72 6f 6d 20 66 75 6e 63 74 69 6f 6e 20 60 63  | odified.version.from.function.`c | 
| 3ab20 |  61 6c 69 62 72 65 64 62 2d 73 68 6f 77 2d 65 6e    74 72 79 27 22 0a 20 20 28 75 6e 6c 65 73 73 20  | alibredb-show-entry'"...(unless. | 
| 3ab40 |  28 65 71 20 6d 61 6a 6f 72 2d 6d 6f 64 65 20 27    63 61 6c 69 62 72 65 64 62 2d 73 68 6f 77 2d 6d  | (eq.major-mode.'calibredb-show-m | 
| 3ab60 |  6f 64 65 29 0a 20 20 20 20 28 77 68 65 6e 20 28    67 65 74 2d 62 75 66 66 65 72 20 28 63 61 6c 69  | ode).....(when.(get-buffer.(cali | 
| 3ab80 |  62 72 65 64 62 2d 73 68 6f 77 2d 2d 62 75 66 66    65 72 2d 6e 61 6d 65 20 6d 65 74 61 64 61 74 61  | bredb-show--buffer-name.metadata | 
| 3aba0 |  29 29 0a 20 20 20 20 20 20 28 6b 69 6c 6c 2d 62    75 66 66 65 72 20 28 63 61 6c 69 62 72 65 64 62  | )).......(kill-buffer.(calibredb | 
| 3abc0 |  2d 73 68 6f 77 2d 2d 62 75 66 66 65 72 2d 6e 61    6d 65 20 6d 65 74 61 64 61 74 61 29 29 29 29 0a  | -show--buffer-name.metadata)))). | 
| 3abe0 |  20 20 28 6c 65 74 2a 20 28 28 62 75 66 66 20 28    67 65 74 2d 62 75 66 66 65 72 2d 63 72 65 61 74  | ..(let*.((buff.(get-buffer-creat | 
| 3ac00 |  65 20 28 63 61 6c 69 62 72 65 64 62 2d 73 68 6f    77 2d 2d 62 75 66 66 65 72 2d 6e 61 6d 65 20 6d  | e.(calibredb-show--buffer-name.m | 
| 3ac20 |  65 74 61 64 61 74 61 29 29 29 0a 20 20 20 20 20    20 20 20 20 28 74 61 67 20 28 63 64 72 20 28 61  | etadata)))..........(tag.(cdr.(a | 
| 3ac40 |  73 73 6f 63 20 22 54 61 67 73 22 20 6d 65 74 61    64 61 74 61 29 29 29 0a 20 20 20 20 20 20 20 20  | ssoc."Tags".metadata)))......... | 
| 3ac60 |  20 28 63 6f 6d 6d 65 6e 74 20 28 63 64 72 20 28    61 73 73 6f 63 20 22 43 6f 6d 6d 65 6e 74 73 22  | .(comment.(cdr.(assoc."Comments" | 
| 3ac80 |  20 6d 65 74 61 64 61 74 61 29 29 29 0a 20 20 20    20 20 20 20 20 20 28 6d 79 61 75 74 68 6f 72 73  | .metadata)))..........(myauthors | 
| 3aca0 |  20 28 63 64 72 20 28 61 73 73 6f 63 20 22 41 75    74 68 6f 72 73 22 20 6d 65 74 61 64 61 74 61 29  | .(cdr.(assoc."Authors".metadata) | 
| 3acc0 |  29 29 0a 20 20 20 20 20 20 20 20 20 28 74 69 74    6c 65 20 28 63 64 72 20 28 61 73 73 6f 63 20 22  | ))..........(title.(cdr.(assoc." | 
| 3ace0 |  54 69 74 6c 65 22 20 6d 65 74 61 64 61 74 61 29    29 29 0a 20 20 20 20 20 20 20 20 20 28 70 75 62  | Title".metadata)))..........(pub | 
| 3ad00 |  64 61 74 65 20 28 63 64 72 20 28 61 73 73 6f 63    20 22 50 75 62 6c 69 73 68 65 64 22 20 6d 65 74  | date.(cdr.(assoc."Published".met | 
| 3ad20 |  61 64 61 74 61 29 29 29 0a 20 20 20 20 20 20 20    20 20 3b 3b 20 28 71 75 65 72 79 2d 72 65 73 75  | adata)))..........;;.(query-resu | 
| 3ad40 |  6c 74 20 28 63 64 72 20 28 63 61 72 20 28 63 61    6c 69 62 72 65 64 62 2d 63 61 6e 64 69 64 61 74  | lt.(cdr.(car.(calibredb-candidat | 
| 3ad60 |  65 20 69 64 29 29 29 29 20 3b 20 67 65 74 20 74    68 65 20 6e 65 77 20 6d 65 74 61 64 61 74 61 20  | e.id)))).;.get.the.new.metadata. | 
| 3ad80 |  74 68 72 6f 75 67 68 20 53 51 4c 20 71 75 65 72    79 0a 20 20 20 20 20 20 20 20 20 3b 3b 20 28 63  | through.SQL.query..........;;.(c | 
| 3ada0 |  6f 76 65 72 20 28 66 6f 72 6d 61 74 20 22 2f 74    6d 70 2f 25 73 2e 6a 70 67 22 20 73 6f 75 72 63  | over.(format."/tmp/%s.jpg".sourc | 
| 3adc0 |  65 29 29 0a 20 20 20 20 20 20 20 20 20 28 63 6f    76 65 72 20 28 63 61 6c 69 62 72 65 64 62 2d 67  | e))..........(cover.(calibredb-g | 
| 3ade0 |  65 74 2d 63 6f 76 65 72 20 28 63 61 72 20 28 63    61 6c 69 62 72 65 64 62 2d 66 69 6e 64 2d 63 61  | et-cover.(car.(calibredb-find-ca | 
| 3ae00 |  6e 64 69 64 61 74 65 2d 61 74 2d 70 6f 69 6e 74    29 29 29 29 0a 20 20 20 20 20 20 20 20 20 3b 3b  | ndidate-at-point))))..........;; | 
| 3ae20 |  20 28 66 6f 72 6d 61 74 20 28 63 61 6c 69 62 72    65 64 62 2d 67 65 74 61 74 74 72 20 6d 65 74 61  | .(format.(calibredb-getattr.meta | 
| 3ae40 |  64 61 74 61 20 3a 62 6f 6f 6b 2d 66 6f 72 6d 61    74 29 29 0a 20 20 20 20 20 20 20 20 20 28 6f 72  | data.:book-format))..........(or | 
| 3ae60 |  69 67 69 6e 61 6c 20 28 70 6f 69 6e 74 29 29 0a    20 20 20 20 20 20 20 20 20 62 65 67 20 65 6e 64  | iginal.(point))..........beg.end | 
| 3ae80 |  29 0a 20 20 20 20 28 63 6c 65 61 72 2d 69 6d 61    67 65 2d 63 61 63 68 65 20 63 6f 76 65 72 29 0a  | ).....(clear-image-cache.cover). | 
| 3aea0 |  20 20 20 20 28 6c 65 74 20 28 28 69 6e 68 69 62    69 74 2d 72 65 61 64 2d 6f 6e 6c 79 20 74 29 29  | ....(let.((inhibit-read-only.t)) | 
| 3aec0 |  0a 20 20 20 20 20 20 28 77 69 74 68 2d 63 75 72    72 65 6e 74 2d 62 75 66 66 65 72 20 62 75 66 66  | .......(with-current-buffer.buff | 
| 3aee0 |  0a 20 20 20 20 20 20 20 20 28 65 72 61 73 65 2d    62 75 66 66 65 72 29 0a 20 20 20 20 20 20 20 20  | .........(erase-buffer)......... | 
| 3af00 |  28 73 65 74 71 20 62 65 67 20 28 70 6f 69 6e 74    29 29 0a 20 20 20 20 20 20 20 20 3b 3b 20 28 69  | (setq.beg.(point)).........;;.(i | 
| 3af20 |  6e 73 65 72 74 20 28 70 72 6f 70 65 72 74 69 7a    65 20 28 63 61 6c 69 62 72 65 64 62 2d 73 68 6f  | nsert.(propertize.(calibredb-sho | 
| 3af40 |  77 2d 6d 65 74 61 64 61 74 61 20 6d 65 74 61 64    61 74 61 29 20 27 63 61 6c 69 62 72 65 64 62 2d  | w-metadata.metadata).'calibredb- | 
| 3af60 |  6d 65 74 61 64 61 74 61 20 6d 65 74 61 64 61 74    61 29 29 0a 20 20 20 20 20 20 20 20 28 73 65 74  | metadata.metadata)).........(set | 
| 3af80 |  71 20 65 6e 64 20 28 70 6f 69 6e 74 29 29 0a 20    20 20 20 20 20 20 20 28 70 75 74 2d 74 65 78 74  | q.end.(point)).........(put-text | 
| 3afa0 |  2d 70 72 6f 70 65 72 74 79 20 62 65 67 20 65 6e    64 20 27 63 61 6c 69 62 72 65 64 62 2d 6d 65 74  | -property.beg.end.'calibredb-met | 
| 3afc0 |  61 64 61 74 61 20 6d 65 74 61 64 61 74 61 29 0a    20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 20  | adata.metadata).........(insert. | 
| 3afe0 |  28 66 6f 72 6d 61 74 20 22 54 69 74 6c 65 20 20    20 20 20 20 20 25 73 5c 6e 22 20 28 70 72 6f 70  | (format."Title.......%s\n".(prop | 
| 3b000 |  65 72 74 69 7a 65 20 74 69 74 6c 65 20 27 66 61    63 65 20 27 63 61 6c 69 62 72 65 64 62 2d 74 69  | ertize.title.'face.'calibredb-ti | 
| 3b020 |  74 6c 65 2d 66 61 63 65 29 29 29 0a 20 20 20 20    20 20 20 20 28 69 6e 73 65 72 74 20 28 66 6f 72  | tle-face))).........(insert.(for | 
| 3b040 |  6d 61 74 20 22 41 75 74 68 6f 72 28 73 29 20 20    20 25 73 5c 6e 22 20 28 70 72 6f 70 65 72 74 69  | mat."Author(s)...%s\n".(properti | 
| 3b060 |  7a 65 20 6d 79 61 75 74 68 6f 72 73 20 27 66 61    63 65 20 27 63 61 6c 69 62 72 65 64 62 2d 61 75  | ze.myauthors.'face.'calibredb-au | 
| 3b080 |  74 68 6f 72 2d 66 61 63 65 29 29 29 0a 20 20 20    20 20 20 20 20 28 77 68 65 6e 20 74 61 67 20 28  | thor-face))).........(when.tag.( | 
| 3b0a0 |  69 6e 73 65 72 74 20 28 66 6f 72 6d 61 74 20 22    54 61 67 73 20 20 20 20 20 20 20 20 25 73 5c 6e  | insert.(format."Tags........%s\n | 
| 3b0c0 |  22 20 28 70 72 6f 70 65 72 74 69 7a 65 20 74 61    67 20 27 66 61 63 65 20 27 63 61 6c 69 62 72 65  | ".(propertize.tag.'face.'calibre | 
| 3b0e0 |  64 62 2d 74 61 67 2d 66 61 63 65 29 29 29 29 0a    20 20 20 20 20 20 20 20 28 77 68 65 6e 20 63 6f  | db-tag-face)))).........(when.co | 
| 3b100 |  6d 6d 65 6e 74 0a 20 20 20 20 20 20 20 20 20 20    28 69 6e 73 65 72 74 20 28 66 6f 72 6d 61 74 20  | mment...........(insert.(format. | 
| 3b120 |  22 43 6f 6d 6d 65 6e 74 73 20 20 20 20 25 73 5c    6e 22 20 28 70 72 6f 70 65 72 74 69 7a 65 20 63  | "Comments....%s\n".(propertize.c | 
| 3b140 |  6f 6d 6d 65 6e 74 20 27 66 61 63 65 20 27 63 61    6c 69 62 72 65 64 62 2d 63 6f 6d 6d 65 6e 74 2d  | omment.'face.'calibredb-comment- | 
| 3b160 |  66 61 63 65 29 29 29 29 0a 20 20 20 20 20 20 20    20 28 77 68 65 6e 20 70 75 62 64 61 74 65 0a 20  | face)))).........(when.pubdate.. | 
| 3b180 |  20 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74    20 28 66 6f 72 6d 61 74 20 22 50 75 62 6c 69 73  | .........(insert.(format."Publis | 
| 3b1a0 |  68 65 64 20 20 20 25 73 5c 6e 22 20 28 70 72 6f    70 65 72 74 69 7a 65 20 70 75 62 64 61 74 65 20  | hed...%s\n".(propertize.pubdate. | 
| 3b1c0 |  27 66 61 63 65 20 27 63 61 6c 69 62 72 65 64 62    2d 70 75 62 64 61 74 65 2d 66 61 63 65 29 29 29  | 'face.'calibredb-pubdate-face))) | 
| 3b1e0 |  29 0a 20 20 20 20 20 20 20 20 28 69 6e 73 65 72    74 20 22 5c 6e 22 29 0a 20 20 20 20 20 20 20 20  | ).........(insert."\n")......... | 
| 3b200 |  3b 3b 20 28 69 66 20 28 69 6d 61 67 65 2d 74 79    70 65 2d 61 76 61 69 6c 61 62 6c 65 2d 70 20 28  | ;;.(if.(image-type-available-p.( | 
| 3b220 |  69 6e 74 65 72 6e 20 66 6f 72 6d 61 74 29 29 0a    20 20 20 20 20 20 20 20 3b 3b 20 20 20 20 20 28  | intern.format)).........;;.....( | 
| 3b240 |  63 61 6c 69 62 72 65 64 62 2d 69 6e 73 65 72 74    2d 69 6d 61 67 65 20 66 69 6c 65 20 22 22 20 63  | calibredb-insert-image.file."".c | 
| 3b260 |  61 6c 69 62 72 65 64 62 2d 6c 69 73 74 2d 76 69    65 77 2d 69 6d 61 67 65 2d 6d 61 78 2d 77 69 64  | alibredb-list-view-image-max-wid | 
| 3b280 |  74 68 20 63 61 6c 69 62 72 65 64 62 2d 6c 69 73    74 2d 76 69 65 77 2d 69 6d 61 67 65 2d 6d 61 78  | th.calibredb-list-view-image-max | 
| 3b2a0 |  2d 68 65 69 67 68 74 29 0a 20 20 20 20 20 20 20    20 3b 3b 20 20 20 28 63 61 6c 69 62 72 65 64 62  | -height).........;;...(calibredb | 
| 3b2c0 |  2d 69 6e 73 65 72 74 2d 69 6d 61 67 65 20 63 6f    76 65 72 20 22 22 20 63 61 6c 69 62 72 65 64 62  | -insert-image.cover."".calibredb | 
| 3b2e0 |  2d 6c 69 73 74 2d 76 69 65 77 2d 69 6d 61 67 65    2d 6d 61 78 2d 77 69 64 74 68 20 63 61 6c 69 62  | -list-view-image-max-width.calib | 
| 3b300 |  72 65 64 62 2d 6c 69 73 74 2d 76 69 65 77 2d 69    6d 61 67 65 2d 6d 61 78 2d 68 65 69 67 68 74 29  | redb-list-view-image-max-height) | 
| 3b320 |  29 0a 20 20 20 20 20 20 20 20 28 69 66 20 63 6f    76 65 72 0a 20 20 20 20 20 20 20 20 20 20 20 20  | ).........(if.cover............. | 
| 3b340 |  28 63 61 6c 69 62 72 65 64 62 2d 69 6e 73 65 72    74 2d 69 6d 61 67 65 20 63 6f 76 65 72 0a 20 20  | (calibredb-insert-image.cover... | 
| 3b360 |  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  | ................................ | 
| 3b380 |  20 20 22 22 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  | ..""............................ | 
| 3b3a0 |  20 20 20 20 20 20 20 20 20 63 61 6c 69 62 72 65    64 62 2d 6c 69 73 74 2d 76 69 65 77 2d 69 6d 61  | .........calibredb-list-view-ima | 
| 3b3c0 |  67 65 2d 6d 61 78 2d 77 69 64 74 68 0a 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | ge-max-width.................... | 
| 3b3e0 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 63 61 6c 69 62 72 65 64 62 2d 6c 69 73 74 2d  | .................calibredb-list- | 
| 3b400 |  76 69 65 77 2d 69 6d 61 67 65 2d 6d 61 78 2d 68    65 69 67 68 74 29 0a 20 20 20 20 20 20 20 20 20  | view-image-max-height).......... | 
| 3b420 |  20 28 70 72 69 6e 74 20 22 4e 6f 20 63 6f 76 65    72 20 61 76 61 69 6c 61 62 6c 65 22 29 29 0a 20  | .(print."No.cover.available")).. | 
| 3b440 |  20 20 20 20 20 20 20 3b 3b 20 28 73 65 74 71 20    65 6e 64 20 28 70 6f 69 6e 74 29 29 0a 20 20 20  | .......;;.(setq.end.(point)).... | 
| 3b460 |  20 20 20 20 20 28 63 61 6c 69 62 72 65 64 62 2d    73 68 6f 77 2d 6d 6f 64 65 29 0a 20 20 20 20 20  | .....(calibredb-show-mode)...... | 
| 3b480 |  20 20 20 3b 3b 20 28 73 65 74 71 20 63 61 6c 69    62 72 65 64 62 2d 73 68 6f 77 2d 6d 65 74 61 64  | ...;;.(setq.calibredb-show-metad | 
| 3b4a0 |  61 74 61 20 6d 65 74 61 64 61 74 61 29 0a 20 20    20 20 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72  | ata.metadata).........(goto-char | 
| 3b4c0 |  20 28 70 6f 69 6e 74 2d 6d 69 6e 29 29 29 29 0a    20 20 20 20 28 75 6e 6c 65 73 73 20 28 65 71 20  | .(point-min)))).....(unless.(eq. | 
| 3b4e0 |  6d 61 6a 6f 72 2d 6d 6f 64 65 20 27 63 61 6c 69    62 72 65 64 62 2d 73 68 6f 77 2d 6d 6f 64 65 29  | major-mode.'calibredb-show-mode) | 
| 3b500 |  0a 20 20 20 20 20 20 28 73 77 69 74 63 68 2d 74    6f 2d 62 75 66 66 65 72 20 62 75 66 66 29 0a 20  | .......(switch-to-buffer.buff).. | 
| 3b520 |  20 20 20 20 20 28 77 68 65 6e 20 73 77 69 74 63    68 0a 20 20 20 20 20 20 20 20 28 73 77 69 74 63  | .....(when.switch.........(switc | 
| 3b540 |  68 2d 74 6f 2d 62 75 66 66 65 72 2d 6f 74 68 65    72 2d 77 69 6e 64 6f 77 20 28 73 65 74 2d 62 75  | h-to-buffer-other-window.(set-bu | 
| 3b560 |  66 66 65 72 20 28 63 61 6c 69 62 72 65 64 62 2d    73 65 61 72 63 68 2d 2d 62 75 66 66 65 72 2d 6e  | ffer.(calibredb-search--buffer-n | 
| 3b580 |  61 6d 65 29 29 29 0a 20 20 20 20 20 20 20 20 28    67 6f 74 6f 2d 63 68 61 72 20 6f 72 69 67 69 6e  | ame))).........(goto-char.origin | 
| 3b5a0 |  61 6c 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20    63 61 6c 69 62 72 65 64 62 2d 66 65 74 63 68 2d  | al)))))..(defun.calibredb-fetch- | 
| 3b5c0 |  6d 65 74 61 64 61 74 61 2d 66 72 6f 6d 2d 73 6f    75 72 63 65 73 20 28 61 75 74 68 6f 72 20 74 69  | metadata-from-sources.(author.ti | 
| 3b5e0 |  74 6c 65 20 26 6f 70 74 69 6f 6e 61 6c 20 69 64    73 20 69 73 62 6e 20 66 65 74 63 68 2d 63 6f 76  | tle.&optional.ids.isbn.fetch-cov | 
| 3b600 |  65 72 29 0a 20 20 22 46 65 74 63 68 20 6d 65 74    61 64 61 74 61 20 66 72 6f 6d 20 6f 6e 6c 69 6e  | er)..."Fetch.metadata.from.onlin | 
| 3b620 |  65 20 73 6f 75 72 63 65 20 76 69 61 20 61 75 74    68 6f 72 20 61 6e 64 20 74 69 74 6c 65 20 6f 72  | e.source.via.author.and.title.or | 
| 3b640 |  20 49 53 42 4e 2e 0a 49 6e 76 6f 6b 65 20 66 72    6f 6d 20 2a 63 61 6c 69 62 72 65 64 62 2d 73 65  | .ISBN..Invoke.from.*calibredb-se | 
| 3b660 |  61 72 63 68 2a 20 62 75 66 66 65 72 2e 0a 41 55    54 48 4f 52 2c 20 54 49 54 4c 45 2c 20 49 44 53  | arch*.buffer..AUTHOR,.TITLE,.IDS | 
| 3b680 |  20 61 6e 64 20 49 53 42 4e 20 73 68 6f 75 6c 64    20 62 65 20 73 74 72 69 6e 67 73 2e 0a 52 65 74  | .and.ISBN.should.be.strings..Ret | 
| 3b6a0 |  75 72 6e 73 20 61 6e 20 61 6c 69 73 74 20 77 69    74 68 20 65 6c 65 6d 65 6e 74 73 20 28 53 4f 55  | urns.an.alist.with.elements.(SOU | 
| 3b6c0 |  52 43 45 20 52 45 53 55 4c 54 53 29 20 77 68 65    72 65 20 53 4f 55 52 43 45 20 69 73 20 61 0a 73  | RCE.RESULTS).where.SOURCE.is.a.s | 
| 3b6e0 |  74 72 69 6e 67 20 61 6e 64 20 52 45 53 55 4c 54    53 20 69 73 20 61 6e 20 61 6c 69 73 74 20 77 69  | tring.and.RESULTS.is.an.alist.wi | 
| 3b700 |  74 68 20 65 6c 65 6d 65 6e 74 73 20 28 50 52 4f    50 20 56 41 4c 55 45 29 2e 20 49 66 20 6e 6f 0a  | th.elements.(PROP.VALUE)..If.no. | 
| 3b720 |  6d 65 74 61 64 61 74 61 20 77 61 73 20 66 6f 75    6e 64 20 66 72 6f 6d 20 61 20 73 6f 75 72 63 65  | metadata.was.found.from.a.source | 
| 3b740 |  20 74 68 65 6e 20 69 6e 20 74 68 65 6e 20 6e 69    6c 20 69 73 20 72 65 74 75 72 6e 65 64 20 69 6e  | .then.in.then.nil.is.returned.in | 
| 3b760 |  0a 74 68 65 20 6f 75 74 65 72 20 61 6c 69 73 74    20 28 6e 69 6c 20 69 6e 73 74 65 61 64 20 6f 66  | .the.outer.alist.(nil.instead.of | 
| 3b780 |  20 28 53 4f 55 52 43 45 20 52 45 53 55 4c 54 53    29 29 2e 22 0a 20 20 28 6c 65 74 2a 20 28 28 61  | .(SOURCE.RESULTS))."...(let*.((a | 
| 3b7a0 |  75 74 68 6f 72 73 20 28 69 66 20 28 6f 72 20 69    73 62 6e 20 69 64 73 29 20 22 22 0a 20 20 20 20  | uthors.(if.(or.isbn.ids).""..... | 
| 3b7c0 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    28 72 65 61 64 2d 73 74 72 69 6e 67 20 22 41 75  | ................(read-string."Au | 
| 3b7e0 |  74 68 6f 72 73 3a 20 22 20 61 75 74 68 6f 72 29    29 29 0a 20 20 20 20 20 20 20 20 20 28 74 69 74  | thors:.".author)))..........(tit | 
| 3b800 |  6c 65 20 28 69 66 20 28 6f 72 20 69 73 62 6e 20    69 64 73 29 20 22 22 0a 20 20 20 20 20 20 20 20  | le.(if.(or.isbn.ids).""......... | 
| 3b820 |  20 20 20 20 20 20 20 20 20 20 28 72 65 61 64 2d    73 74 72 69 6e 67 20 22 54 69 74 6c 65 3a 20 22  | ..........(read-string."Title:." | 
| 3b840 |  20 74 69 74 6c 65 29 29 29 0a 20 20 20 20 20 20    20 20 20 28 69 64 20 28 69 66 20 69 64 73 20 28  | .title)))..........(id.(if.ids.( | 
| 3b860 |  63 6f 6d 70 6c 65 74 69 6e 67 2d 72 65 61 64 20    22 49 44 3a 20 22 20 69 64 73 29 0a 20 20 20 20  | completing-read."ID:.".ids)..... | 
| 3b880 |  20 20 20 20 20 20 20 20 20 20 20 6e 69 6c 29 29    0a 20 20 20 20 20 20 20 20 20 28 69 73 62 6e 20  | ...........nil))..........(isbn. | 
| 3b8a0 |  28 69 66 20 69 73 62 6e 20 28 72 65 61 64 2d 73    74 72 69 6e 67 20 22 49 53 42 4e 3a 20 22 20 69  | (if.isbn.(read-string."ISBN:.".i | 
| 3b8c0 |  73 62 6e 29 0a 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 6e 69 6c 29 29 29 0a 20 20 20  | sbn)..................nil))).... | 
| 3b8e0 |  20 28 6d 65 73 73 61 67 65 20 22 46 65 74 63 68    69 6e 67 20 6d 65 74 61 64 61 74 61 20 66 72 6f  | .(message."Fetching.metadata.fro | 
| 3b900 |  6d 20 73 6f 75 72 63 65 73 2e 2e 2e 20 6d 61 79    20 74 61 6b 65 20 61 20 66 65 77 20 73 65 63 6f  | m.sources....may.take.a.few.seco | 
| 3b920 |  6e 64 73 22 29 0a 20 20 20 20 28 6c 65 74 2a 20    28 28 73 6f 75 72 63 65 73 20 63 61 6c 69 62 72  | nds").....(let*.((sources.calibr | 
| 3b940 |  65 64 62 2d 66 65 74 63 68 2d 6d 65 74 61 64 61    74 61 2d 73 6f 75 72 63 65 2d 6c 69 73 74 29 0a  | edb-fetch-metadata-source-list). | 
| 3b960 |  20 20 20 20 20 20 20 20 20 20 20 28 72 65 73 75    6c 74 73 20 28 6d 61 70 63 61 72 0a 20 20 20 20  | ...........(results.(mapcar..... | 
| 3b980 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 28 6c 61 6d 62 64 61 20 28 73 6f 75 72 63 65  | .................(lambda.(source | 
| 3b9a0 |  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 28 6c 65 74 2a 20 28  | )........................(let*.( | 
| 3b9c0 |  28 63 6d 64 20 28 63 6f 6e 64 0a 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | (cmd.(cond...................... | 
| 3b9e0 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28    69 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  | ...............(id.............. | 
| 3ba00 |  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 66 6f 72 6d 61 74 0a  | ........................(format. | 
| 3ba20 |  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  | ................................ | 
| 3ba40 |  20 20 20 20 20 20 28 69 66 20 66 65 74 63 68 2d    63 6f 76 65 72 0a 20 20 20 20 20 20 20 20 20 20  | ......(if.fetch-cover........... | 
| 3ba60 |  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  | ................................ | 
| 3ba80 |  60 2c 28 66 6f 72 6d 61 74 20 22 25 25 73 20 2d    70 20 5c 22 25 25 73 5c 22 20 2d 2d 69 64 65 6e  | `,(format."%%s.-p.\"%%s\".--iden | 
| 3baa0 |  74 69 66 69 65 72 20 5c 22 25 25 73 5c 22 20 2d    63 20 25 73 20 20 32 3e 2f 64 65 76 2f 6e 75 6c  | tifier.\"%%s\".-c.%s..2>/dev/nul | 
| 3bac0 |  6c 22 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 20 20  | l".............................. | 
| 3bae0 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 28 65 78 70 61 6e 64 2d 66  | .......................(expand-f | 
| 3bb00 |  69 6c 65 2d 6e 61 6d 65 20 22 63 6f 76 65 72 2e    6a 70 67 22 20 74 65 6d 70 6f 72 61 72 79 2d 66  | ile-name."cover.jpg".temporary-f | 
| 3bb20 |  69 6c 65 2d 64 69 72 65 63 74 6f 72 79 29 29 0a    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | ile-directory))................. | 
| 3bb40 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 22 25 73 20 2d 70 20 5c  | ........................"%s.-p.\ | 
| 3bb60 |  22 25 73 5c 22 20 2d 2d 69 64 65 6e 74 69 66 69    65 72 20 5c 22 25 73 5c 22 20 32 3e 2f 64 65 76  | "%s\".--identifier.\"%s\".2>/dev | 
| 3bb80 |  2f 6e 75 6c 6c 22 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  | /null")......................... | 
| 3bba0 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 61    6c 69 62 72 65 64 62 2d 66 65 74 63 68 2d 6d 65  | ..............calibredb-fetch-me | 
| 3bbc0 |  74 61 64 61 74 61 2d 70 72 6f 67 72 61 6d 0a 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | tadata-program.................. | 
| 3bbe0 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 73 6f 75 72 63 65 0a 20 20 20 20  | .....................source..... | 
| 3bc00 |  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  | ................................ | 
| 3bc20 |  20 20 69 64 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  | ..id)).......................... | 
| 3bc40 |  20 20 20 20 20 20 20 20 20 20 20 28 69 73 62 6e    0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | ...........(isbn................ | 
| 3bc60 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 28 66 6f 72 6d 61 74 0a 20 20  | ......................(format... | 
| 3bc80 |  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  | ................................ | 
| 3bca0 |  20 20 20 20 28 69 66 20 66 65 74 63 68 2d 63 6f    76 65 72 0a 20 20 20 20 20 20 20 20 20 20 20 20  | ....(if.fetch-cover............. | 
| 3bcc0 |  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 60 2c  | ..............................`, | 
| 3bce0 |  28 66 6f 72 6d 61 74 20 22 25 25 73 20 2d 70 20    5c 22 25 25 73 5c 22 20 2d 2d 69 73 62 6e 20 5c  | (format."%%s.-p.\"%%s\".--isbn.\ | 
| 3bd00 |  22 25 25 73 5c 22 20 2d 63 20 25 73 20 20 32 3e    2f 64 65 76 2f 6e 75 6c 6c 22 0a 20 20 20 20 20  | "%%s\".-c.%s..2>/dev/null"...... | 
| 3bd20 |  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  | ................................ | 
| 3bd40 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65    78 70 61 6e 64 2d 66 69 6c 65 2d 6e 61 6d 65 20  | ..............(expand-file-name. | 
| 3bd60 |  22 63 6f 76 65 72 2e 6a 70 67 22 20 74 65 6d 70    6f 72 61 72 79 2d 66 69 6c 65 2d 64 69 72 65 63  | "cover.jpg".temporary-file-direc | 
| 3bd80 |  74 6f 72 79 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  | tory)).......................... | 
| 3bda0 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22    25 73 20 2d 70 20 5c 22 25 73 5c 22 20 2d 2d 69  | ..............."%s.-p.\"%s\".--i | 
| 3bdc0 |  73 62 6e 20 5c 22 25 73 5c 22 20 32 3e 2f 64 65    76 2f 6e 75 6c 6c 22 29 0a 20 20 20 20 20 20 20  | sbn.\"%s\".2>/dev/null")........ | 
| 3bde0 |  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 63  | ...............................c | 
| 3be00 |  61 6c 69 62 72 65 64 62 2d 66 65 74 63 68 2d 6d    65 74 61 64 61 74 61 2d 70 72 6f 67 72 61 6d 0a  | alibredb-fetch-metadata-program. | 
| 3be20 |  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  | ................................ | 
| 3be40 |  20 20 20 20 20 20 73 6f 75 72 63 65 0a 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | ......source.................... | 
| 3be60 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 69 73 62 6e 29 29 0a 20 20 20 20 20 20  | ...................isbn))....... | 
| 3be80 |  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 74  | ..............................(t | 
| 3bea0 |  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 20 20 20 20  | ................................ | 
| 3bec0 |  20 20 20 20 20 20 28 66 6f 72 6d 61 74 0a 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | ......(format................... | 
| 3bee0 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 28 69 66 20 66 65 74 63 68 2d 63 6f  | ....................(if.fetch-co | 
| 3bf00 |  76 65 72 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 20  | ver............................. | 
| 3bf20 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 60 2c    28 66 6f 72 6d 61 74 20 22 25 25 73 20 2d 70 20  | ..............`,(format."%%s.-p. | 
| 3bf40 |  5c 22 25 25 73 5c 22 20 2d 2d 61 75 74 68 6f 72    73 20 5c 22 25 25 73 5c 22 20 2d 2d 74 69 74 6c  | \"%%s\".--authors.\"%%s\".--titl | 
| 3bf60 |  65 20 5c 22 25 25 73 5c 22 20 2d 63 20 25 73 20    20 32 3e 2f 64 65 76 2f 6e 75 6c 6c 22 0a 20 20  | e.\"%%s\".-c.%s..2>/dev/null"... | 
| 3bf80 |  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  | ................................ | 
| 3bfa0 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 28 65 78 70 61 6e 64 2d 66 69 6c 65 2d 6e 61  | .................(expand-file-na | 
| 3bfc0 |  6d 65 20 22 63 6f 76 65 72 2e 6a 70 67 22 20 74    65 6d 70 6f 72 61 72 79 2d 66 69 6c 65 2d 64 69  | me."cover.jpg".temporary-file-di | 
| 3bfe0 |  72 65 63 74 6f 72 79 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  | rectory))....................... | 
| 3c000 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 22 25 73 20 2d 70 20 5c 22 25 73 5c 22 20  | .................."%s.-p.\"%s\". | 
| 3c020 |  2d 2d 61 75 74 68 6f 72 73 20 5c 22 25 73 5c 22    20 2d 2d 74 69 74 6c 65 20 5c 22 25 73 5c 22 20  | --authors.\"%s\".--title.\"%s\". | 
| 3c040 |  32 3e 2f 64 65 76 2f 6e 75 6c 6c 22 29 0a 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | 2>/dev/null")................... | 
| 3c060 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 63 61 6c 69 62 72 65 64 62 2d 66 65  | ....................calibredb-fe | 
| 3c080 |  74 63 68 2d 6d 65 74 61 64 61 74 61 2d 70 72 6f    67 72 61 6d 0a 20 20 20 20 20 20 20 20 20 20 20  | tch-metadata-program............ | 
| 3c0a0 |  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 73 6f 75 72 63  | ...........................sourc | 
| 3c0c0 |  65 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 20 20 20  | e............................... | 
| 3c0e0 |  20 20 20 20 20 20 20 20 61 75 74 68 6f 72 73 0a    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | ........authors................. | 
| 3c100 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 74 69 74 6c 65 29 29 29 29 0a  | ......................title)))). | 
| 3c120 |  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 | 
| 3c140 |  64 20 28 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64    2d 74 6f 2d 73 74 72 69 6e 67 20 63 6d 64 29 29  | d.(shell-command-to-string.cmd)) | 
| 3c160 |  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 20 20 20 28  | ...............................( | 
| 3c180 |  6d 64 2d 73 70 6c 69 74 20 28 69 66 20 28 73 74    72 69 6e 67 2d 6d 61 74 63 68 20 22 4e 6f 20 72  | md-split.(if.(string-match."No.r | 
| 3c1a0 |  65 73 75 6c 74 73 20 66 6f 75 6e 64 24 22 20 6d    64 29 20 6e 69 6c 0a 20 20 20 20 20 20 20 20 20  | esults.found$".md).nil.......... | 
| 3c1c0 |  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  | ................................ | 
| 3c1e0 |  20 28 73 70 6c 69 74 2d 73 74 72 69 6e 67 20 6d    64 20 22 43 6f 6d 6d 65 6e 74 73 22 20 6e 69 6c  | .(split-string.md."Comments".nil | 
| 3c200 |  20 22 20 2a 22 29 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  | .".*")))........................ | 
| 3c220 |  20 20 20 20 20 20 20 28 6e 6f 2d 63 6f 6d 6d 65    6e 74 73 20 28 69 66 20 6d 64 2d 73 70 6c 69 74  | .......(no-comments.(if.md-split | 
| 3c240 |  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 20 20 20 20  | ................................ | 
| 3c260 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    28 6d 61 70 63 61 72 20 28 6c 61 6d 62 64 61 20  | ................(mapcar.(lambda. | 
| 3c280 |  28 78 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 20  | (x)............................. | 
| 3c2a0 |  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 6c 65  | .............................(le | 
| 3c2c0 |  74 20 28 28 73 74 72 69 6e 67 20 78 29 29 0a 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | t.((string.x)).................. | 
| 3c2e0 |  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  | ................................ | 
| 3c300 |  20 20 20 20 20 20 20 20 20 20 28 73 74 72 69 6e    67 2d 6d 61 74 63 68 20 22 5c 5c 28 5b 41 2d 7a  | ..........(string-match."\\([A-z | 
| 3c320 |  5d 2a 5c 5c 29 28 2a 5c 5c 28 73 5c 5c 29 2a 29    2a 20 2a 3a 20 2a 5c 5c 28 2e 2a 5c 5c 29 22 20  | ]*\\)(*\\(s\\)*)*.*:.*\\(.*\\)". | 
| 3c340 |  73 74 72 69 6e 67 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  | string)......................... | 
| 3c360 |  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  | ................................ | 
| 3c380 |  20 20 20 28 63 6f 6e 73 20 28 66 6f 72 6d 61 74    20 22 25 73 25 73 22 20 28 6d 61 74 63 68 2d 73  | ...(cons.(format."%s%s".(match-s | 
| 3c3a0 |  74 72 69 6e 67 20 31 20 73 74 72 69 6e 67 29 20    28 63 6f 6e 64 20 28 28 6d 61 74 63 68 2d 73 74  | tring.1.string).(cond.((match-st | 
| 3c3c0 |  72 69 6e 67 20 32 20 73 74 72 69 6e 67 29 29 0a    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | ring.2.string))................. | 
| 3c3e0 |  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  | ................................ | 
| 3c400 |  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  | ................................ | 
| 3c420 |  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 22  | ..............................(" | 
| 3c440 |  22 29 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 20  | ")))............................ | 
| 3c460 |  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  | ................................ | 
| 3c480 |  20 20 20 20 20 20 28 6d 61 74 63 68 2d 73 74 72    69 6e 67 20 33 20 73 74 72 69 6e 67 29 29 29 29  | ......(match-string.3.string)))) | 
| 3c4a0 |  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 20 20 20 20  | ................................ | 
| 3c4c0 |  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 73 70 6c 69 74 2d 73  | ........................(split-s | 
| 3c4e0 |  74 72 69 6e 67 20 28 63 61 72 20 6d 64 2d 73 70    6c 69 74 29 20 22 5c 6e 22 20 74 20 22 20 2a 22  | tring.(car.md-split)."\n".t.".*" | 
| 3c500 |  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 20 20 20  | )).............................. | 
| 3c520 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    6e 69 6c 29 29 0a 20 20 20 20 20 20 20 20 20 20  | ................nil))........... | 
| 3c540 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 28 6b 6f 76 69 64 73 2d 6d 61 67 69  | ....................(kovids-magi | 
| 3c560 |  63 20 22 25 73 20 2d 63 20 20 5c 22 66 72 6f 6d    20 63 61 6c 69 62 72 65 2e 65 62 6f 6f 6b 73 2e  | c."%s.-c..\"from.calibre.ebooks. | 
| 3c580 |  6d 65 74 61 64 61 74 61 20 69 6d 70 6f 72 74 20    2a 3b 20 69 6d 70 6f 72 74 20 73 79 73 3b 20 70  | metadata.import.*;.import.sys;.p | 
| 3c5a0 |  72 69 6e 74 28 61 75 74 68 6f 72 5f 74 6f 5f 61    75 74 68 6f 72 5f 73 6f 72 74 28 27 20 27 2e 6a  | rint(author_to_author_sort('.'.j | 
| 3c5c0 |  6f 69 6e 28 73 79 73 2e 61 72 67 76 5b 31 3a 5d    29 29 29 5c 22 20 5c 22 25 73 5c 22 22 29 0a 20  | oin(sys.argv[1:])))\".\"%s\"").. | 
| 3c5e0 |  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 61 75  | .............................(au | 
| 3c600 |  74 68 6f 72 2d 73 6f 72 74 20 28 77 68 65 6e 20    28 63 64 72 20 28 61 73 73 6f 63 20 22 41 75 74  | thor-sort.(when.(cdr.(assoc."Aut | 
| 3c620 |  68 6f 72 73 22 20 6e 6f 2d 63 6f 6d 6d 65 6e 74    73 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20  | hors".no-comments))............. | 
| 3c640 |  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  | ................................ | 
| 3c660 |  20 28 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d    74 6f 2d 73 74 72 69 6e 67 20 28 66 6f 72 6d 61  | .(shell-command-to-string.(forma | 
| 3c680 |  74 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 20 20 20  | t............................... | 
| 3c6a0 |  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  | ................................ | 
| 3c6c0 |  20 20 20 20 20 20 20 20 20 6b 6f 76 69 64 73 2d    6d 61 67 69 63 0a 20 20 20 20 20 20 20 20 20 20  | .........kovids-magic........... | 
| 3c6e0 |  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  | ................................ | 
| 3c700 |  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 63 61 6c  | .............................cal | 
| 3c720 |  69 62 72 65 64 62 2d 64 65 62 75 67 2d 70 72 6f    67 72 61 6d 0a 20 20 20 20 20 20 20 20 20 20 20  | ibredb-debug-program............ | 
| 3c740 |  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  | ................................ | 
| 3c760 |  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 69 6e 74  | ............................(int | 
| 3c780 |  65 72 6e 20 28 63 64 72 20 28 61 73 73 6f 63 20    22 41 75 74 68 6f 72 73 22 20 6e 6f 2d 63 6f 6d  | ern.(cdr.(assoc."Authors".no-com | 
| 3c7a0 |  6d 65 6e 74 73 29 29 29 29 29 29 29 0a 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | ments))))))).................... | 
| 3c7c0 |  20 20 20 20 20 20 20 20 20 20 20 28 6e 65 77 2d    63 6f 6d 6d 65 6e 74 73 20 28 77 68 65 6e 20 61  | ...........(new-comments.(when.a | 
| 3c7e0 |  75 74 68 6f 72 2d 73 6f 72 74 20 28 61 70 70 65    6e 64 20 6e 6f 2d 63 6f 6d 6d 65 6e 74 73 20 28  | uthor-sort.(append.no-comments.( | 
| 3c800 |  6c 69 73 74 20 28 63 6f 6e 73 20 22 41 75 74 68    6f 72 5f 73 6f 72 74 22 20 61 75 74 68 6f 72 2d  | list.(cons."Author_sort".author- | 
| 3c820 |  73 6f 72 74 29 29 29 29 29 29 0a 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | sort))))))...................... | 
| 3c840 |  20 20 20 20 28 6d 65 73 73 61 67 65 20 63 6d 64    29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | ....(message.cmd)............... | 
| 3c860 |  20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28    6e 74 68 20 31 20 6d 64 2d 73 70 6c 69 74 29 0a  | ...........(if.(nth.1.md-split). | 
| 3c880 |  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 77 68  | .............................(wh | 
| 3c8a0 |  65 6e 20 6e 65 77 2d 63 6f 6d 6d 65 6e 74 73 20    28 63 6f 6e 73 20 73 6f 75 72 63 65 20 28 61 70  | en.new-comments.(cons.source.(ap | 
| 3c8c0 |  70 65 6e 64 20 6e 65 77 2d 63 6f 6d 6d 65 6e 74    73 20 28 6c 69 73 74 20 28 63 6f 6e 73 20 22 43  | pend.new-comments.(list.(cons."C | 
| 3c8e0 |  6f 6d 6d 65 6e 74 73 22 20 28 73 75 62 73 74 72    69 6e 67 20 28 6e 74 68 20 31 20 6d 64 2d 73 70  | omments".(substring.(nth.1.md-sp | 
| 3c900 |  6c 69 74 29 20 32 29 29 29 29 29 29 0a 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | lit).2)))))).................... | 
| 3c920 |  20 20 20 20 20 20 20 20 28 77 68 65 6e 20 6e 65    77 2d 63 6f 6d 6d 65 6e 74 73 20 28 63 6f 6e 73  | ........(when.new-comments.(cons | 
| 3c940 |  20 73 6f 75 72 63 65 20 6e 65 77 2d 63 6f 6d 6d    65 6e 74 73 29 29 29 29 29 0a 20 20 20 20 20 20  | .source.new-comments)))))....... | 
| 3c960 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73    6f 75 72 63 65 73 29 29 29 0a 20 20 20 20 20 20  | ...............sources)))....... | 
| 3c980 |  28 69 66 20 28 72 65 6d 6f 76 65 20 6e 69 6c 20    72 65 73 75 6c 74 73 29 0a 20 20 20 20 20 20 20  | (if.(remove.nil.results)........ | 
| 3c9a0 |  20 20 20 28 72 65 6d 6f 76 65 20 6e 69 6c 20 72    65 73 75 6c 74 73 29 0a 20 20 20 20 20 20 20 20  | ...(remove.nil.results)......... | 
| 3c9c0 |  6e 69 6c 29 29 29 29 0a 0a 28 64 65 66 75 6e 20    63 61 6c 69 62 72 65 64 62 2d 73 65 6c 65 63 74  | nil))))..(defun.calibredb-select | 
| 3c9e0 |  2d 61 6e 64 2d 73 65 74 2d 63 6f 76 65 72 20 28    29 0a 20 20 22 53 65 6c 65 63 74 20 61 6e 64 20  | -and-set-cover.()..."Select.and. | 
| 3ca00 |  73 65 74 20 63 6f 76 65 72 2e 22 0a 20 20 28 77    68 65 6e 20 28 67 65 74 2d 62 75 66 66 65 72 20  | set.cover."...(when.(get-buffer. | 
| 3ca20 |  28 63 61 6c 69 62 72 65 64 62 2d 73 68 6f 77 2d    2d 62 75 66 66 65 72 2d 6e 61 6d 65 20 28 63 61  | (calibredb-show--buffer-name.(ca | 
| 3ca40 |  6c 69 62 72 65 64 62 2d 66 69 6e 64 2d 63 61 6e    64 69 64 61 74 65 2d 61 74 2d 70 6f 69 6e 74 29  | libredb-find-candidate-at-point) | 
| 3ca60 |  29 29 0a 20 20 20 20 28 6b 69 6c 6c 2d 62 75 66    66 65 72 20 28 63 61 6c 69 62 72 65 64 62 2d 73  | )).....(kill-buffer.(calibredb-s | 
| 3ca80 |  68 6f 77 2d 2d 62 75 66 66 65 72 2d 6e 61 6d 65    20 28 63 61 6c 69 62 72 65 64 62 2d 66 69 6e 64  | how--buffer-name.(calibredb-find | 
| 3caa0 |  2d 63 61 6e 64 69 64 61 74 65 2d 61 74 2d 70 6f    69 6e 74 29 29 29 29 0a 20 20 28 6c 65 74 20 28  | -candidate-at-point))))...(let.( | 
| 3cac0 |  28 6f 72 69 67 69 6e 61 6c 20 28 63 61 6c 69 62    72 65 64 62 2d 67 65 74 2d 63 6f 76 65 72 20 28  | (original.(calibredb-get-cover.( | 
| 3cae0 |  63 61 72 20 28 63 61 6c 69 62 72 65 64 62 2d 66    69 6e 64 2d 63 61 6e 64 69 64 61 74 65 2d 61 74  | car.(calibredb-find-candidate-at | 
| 3cb00 |  2d 70 6f 69 6e 74 29 29 29 29 29 0a 20 20 20 20    28 69 66 20 28 61 6e 64 20 28 66 69 6c 65 2d 65  | -point))))).....(if.(and.(file-e | 
| 3cb20 |  78 69 73 74 73 2d 70 20 6f 72 69 67 69 6e 61 6c    29 20 28 66 69 6c 65 2d 65 78 69 73 74 73 2d 70  | xists-p.original).(file-exists-p | 
| 3cb40 |  20 28 65 78 70 61 6e 64 2d 66 69 6c 65 2d 6e 61    6d 65 20 22 63 6f 76 65 72 2e 6a 70 67 22 20 74  | .(expand-file-name."cover.jpg".t | 
| 3cb60 |  65 6d 70 6f 72 61 72 79 2d 66 69 6c 65 2d 64 69    72 65 63 74 6f 72 79 29 29 29 0a 20 20 20 20 20  | emporary-file-directory)))...... | 
| 3cb80 |  20 20 20 28 6c 65 74 2a 20 28 28 62 75 66 66 20    28 67 65 74 2d 62 75 66 66 65 72 2d 63 72 65 61  | ...(let*.((buff.(get-buffer-crea | 
| 3cba0 |  74 65 20 28 63 61 6c 69 62 72 65 64 62 2d 73 68    6f 77 2d 2d 62 75 66 66 65 72 2d 6e 61 6d 65 20  | te.(calibredb-show--buffer-name. | 
| 3cbc0 |  28 63 61 6c 69 62 72 65 64 62 2d 66 69 6e 64 2d    63 61 6e 64 69 64 61 74 65 2d 61 74 2d 70 6f 69  | (calibredb-find-candidate-at-poi | 
| 3cbe0 |  6e 74 29 29 29 29 0a 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 28 66 65 74 63 68 65 64 20 28  | nt))))................(fetched.( | 
| 3cc00 |  65 78 70 61 6e 64 2d 66 69 6c 65 2d 6e 61 6d 65    20 22 63 6f 76 65 72 2e 6a 70 67 22 20 74 65 6d  | expand-file-name."cover.jpg".tem | 
| 3cc20 |  70 6f 72 61 72 79 2d 66 69 6c 65 2d 64 69 72 65    63 74 6f 72 79 29 29 29 0a 20 20 20 20 20 20 20  | porary-file-directory)))........ | 
| 3cc40 |  20 20 20 28 63 6c 65 61 72 2d 69 6d 61 67 65 2d    63 61 63 68 65 20 28 65 78 70 61 6e 64 2d 66 69  | ...(clear-image-cache.(expand-fi | 
| 3cc60 |  6c 65 2d 6e 61 6d 65 20 22 63 6f 76 65 72 2e 6a    70 67 22 20 74 65 6d 70 6f 72 61 72 79 2d 66 69  | le-name."cover.jpg".temporary-fi | 
| 3cc80 |  6c 65 2d 64 69 72 65 63 74 6f 72 79 29 29 0a 20    20 20 20 20 20 20 20 20 20 28 77 69 74 68 2d 63  | le-directory))...........(with-c | 
| 3cca0 |  75 72 72 65 6e 74 2d 62 75 66 66 65 72 20 62 75    66 66 0a 20 20 20 20 20 20 20 20 20 20 20 20 28  | urrent-buffer.buff.............( | 
| 3ccc0 |  63 61 6c 69 62 72 65 64 62 2d 69 6e 73 65 72 74    2d 69 6d 61 67 65 20 6f 72 69 67 69 6e 61 6c 20  | calibredb-insert-image.original. | 
| 3cce0 |  22 22 20 63 61 6c 69 62 72 65 64 62 2d 6c 69 73    74 2d 76 69 65 77 2d 69 6d 61 67 65 2d 6d 61 78  | "".calibredb-list-view-image-max | 
| 3cd00 |  2d 77 69 64 74 68 20 63 61 6c 69 62 72 65 64 62    2d 6c 69 73 74 2d 76 69 65 77 2d 69 6d 61 67 65  | -width.calibredb-list-view-image | 
| 3cd20 |  2d 6d 61 78 2d 68 65 69 67 68 74 29 0a 20 20 20    20 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74  | -max-height).............(insert | 
| 3cd40 |  20 22 20 6f 72 69 67 69 6e 61 6c 20 20 66 65 74    63 68 65 64 20 22 29 0a 20 20 20 20 20 20 20 20  | .".original..fetched.")......... | 
| 3cd60 |  20 20 20 20 28 63 61 6c 69 62 72 65 64 62 2d 69    6e 73 65 72 74 2d 69 6d 61 67 65 20 66 65 74 63  | ....(calibredb-insert-image.fetc | 
| 3cd80 |  68 65 64 20 22 22 20 63 61 6c 69 62 72 65 64 62    2d 6c 69 73 74 2d 76 69 65 77 2d 69 6d 61 67 65  | hed."".calibredb-list-view-image | 
| 3cda0 |  2d 6d 61 78 2d 77 69 64 74 68 20 63 61 6c 69 62    72 65 64 62 2d 6c 69 73 74 2d 76 69 65 77 2d 69  | -max-width.calibredb-list-view-i | 
| 3cdc0 |  6d 61 67 65 2d 6d 61 78 2d 68 65 69 67 68 74 29    0a 20 20 20 20 20 20 20 20 20 20 20 20 28 73 77  | mage-max-height).............(sw | 
| 3cde0 |  69 74 63 68 2d 74 6f 2d 62 75 66 66 65 72 20 62    75 66 66 29 0a 20 20 20 20 20 20 20 20 20 20 20  | itch-to-buffer.buff)............ | 
| 3ce00 |  20 28 77 68 65 6e 20 28 73 74 72 69 6e 67 3d 20    28 63 6f 6d 70 6c 65 74 69 6e 67 2d 72 65 61 64  | .(when.(string=.(completing-read | 
| 3ce20 |  20 22 53 65 6c 65 63 74 20 63 6f 76 65 72 3a 20    22 20 27 28 22 6f 72 69 67 69 6e 61 6c 22 20 22  | ."Select.cover:.".'("original"." | 
| 3ce40 |  66 65 74 63 68 65 64 22 29 29 20 22 66 65 74 63    68 65 64 22 29 0a 20 20 20 20 20 20 20 20 20 20  | fetched"))."fetched")........... | 
| 3ce60 |  20 20 20 20 28 72 65 6e 61 6d 65 2d 66 69 6c 65    20 28 65 78 70 61 6e 64 2d 66 69 6c 65 2d 6e 61  | ....(rename-file.(expand-file-na | 
| 3ce80 |  6d 65 20 22 63 6f 76 65 72 2e 6a 70 67 22 20 74    65 6d 70 6f 72 61 72 79 2d 66 69 6c 65 2d 64 69  | me."cover.jpg".temporary-file-di | 
| 3cea0 |  72 65 63 74 6f 72 79 29 20 6f 72 69 67 69 6e 61    6c 20 74 29 29 0a 20 20 20 20 20 20 20 20 20 20  | rectory).original.t))........... | 
| 3cec0 |  20 20 28 6b 69 6c 6c 2d 62 75 66 66 65 72 29 29    29 0a 20 20 20 20 20 20 28 63 6f 6e 64 20 28 28  | ..(kill-buffer))).......(cond.(( | 
| 3cee0 |  66 69 6c 65 2d 65 78 69 73 74 73 2d 70 20 28 65    78 70 61 6e 64 2d 66 69 6c 65 2d 6e 61 6d 65 20  | file-exists-p.(expand-file-name. | 
| 3cf00 |  22 63 6f 76 65 72 2e 6a 70 67 22 20 74 65 6d 70    6f 72 61 72 79 2d 66 69 6c 65 2d 64 69 72 65 63  | "cover.jpg".temporary-file-direc | 
| 3cf20 |  74 6f 72 79 29 29 0a 20 20 20 20 20 20 20 20 20    20 20 20 20 28 72 65 6e 61 6d 65 2d 66 69 6c 65  | tory))..............(rename-file | 
| 3cf40 |  20 28 65 78 70 61 6e 64 2d 66 69 6c 65 2d 6e 61    6d 65 20 22 63 6f 76 65 72 2e 6a 70 67 22 20 74  | .(expand-file-name."cover.jpg".t | 
| 3cf60 |  65 6d 70 6f 72 61 72 79 2d 66 69 6c 65 2d 64 69    72 65 63 74 6f 72 79 29 20 6f 72 69 67 69 6e 61  | emporary-file-directory).origina | 
| 3cf80 |  6c 20 74 29 0a 20 20 20 20 20 20 20 20 20 20 20    20 20 28 70 72 69 6e 74 20 22 46 65 74 63 68 65  | l.t)..............(print."Fetche | 
| 3cfa0 |  64 20 63 6f 76 65 72 20 61 64 64 65 64 20 74 6f    20 65 6e 74 72 79 22 29 29 0a 20 20 20 20 20 20  | d.cover.added.to.entry"))....... | 
| 3cfc0 |  20 20 20 20 20 20 28 74 20 28 70 72 69 6e 74 20    22 4e 6f 20 63 6f 76 65 72 20 63 6f 75 6c 64 20  | ......(t.(print."No.cover.could. | 
| 3cfe0 |  62 65 20 66 65 74 63 68 65 64 22 29 29 29 29 29    29 0a 0a 28 64 65 66 75 6e 20 63 61 6c 69 62 72  | be.fetched"))))))..(defun.calibr | 
| 3d000 |  65 64 62 2d 73 65 6c 65 63 74 2d 6d 65 74 61 64    61 74 61 2d 73 6f 75 72 63 65 20 28 72 65 73 75  | edb-select-metadata-source.(resu | 
| 3d020 |  6c 74 73 29 0a 20 20 22 53 65 6c 65 63 74 20 6d    65 74 61 64 61 74 61 20 73 6f 75 72 63 65 2e 0a  | lts)..."Select.metadata.source.. | 
| 3d040 |  41 72 67 75 6d 65 6e 74 20 52 45 53 55 4c 54 53    20 69 73 20 74 68 65 20 73 6f 75 72 63 65 20 6c  | Argument.RESULTS.is.the.source.l | 
| 3d060 |  69 73 74 2e 22 0a 20 20 28 63 64 72 20 28 61 73    73 6f 63 20 28 69 66 20 28 66 62 6f 75 6e 64 70  | ist."...(cdr.(assoc.(if.(fboundp | 
| 3d080 |  20 27 69 76 79 2d 72 65 61 64 29 0a 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69  | .'ivy-read)...................(i | 
| 3d0a0 |  76 79 2d 72 65 61 64 20 22 53 65 6c 65 63 74 20    6d 65 74 61 64 61 74 61 20 73 6f 75 72 63 65 20  | vy-read."Select.metadata.source. | 
| 3d0c0 |  28 70 72 65 76 69 65 77 20 77 69 74 68 20 43 2d    4d 2d 6e 2f 70 29 3a 20 22 20 72 65 73 75 6c 74  | (preview.with.C-M-n/p):.".result | 
| 3d0e0 |  73 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 20 3a 61  | s.............................:a | 
| 3d100 |  63 74 69 6f 6e 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  | ction........................... | 
| 3d120 |  20 20 28 6c 61 6d 62 64 61 20 28 78 29 20 28 69    66 20 63 61 6c 69 62 72 65 64 62 2d 73 68 6f 77  | ..(lambda.(x).(if.calibredb-show | 
| 3d140 |  2d 72 65 73 75 6c 74 73 0a 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | -results........................ | 
| 3d160 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 28 63 61 6c 69 62 72 65 64 62 2d  | .....................(calibredb- | 
| 3d180 |  73 68 6f 77 2d 72 65 73 75 6c 74 73 20 28 63 64    72 20 78 29 29 29 29 29 0a 20 20 20 20 20 20 20  | show-results.(cdr.x)))))........ | 
| 3d1a0 |  20 20 20 20 20 20 20 20 20 28 63 6f 6d 70 6c 65    74 69 6e 67 2d 72 65 61 64 20 22 53 65 6c 65 63  | .........(completing-read."Selec | 
| 3d1c0 |  74 20 6d 65 74 61 64 61 74 61 20 73 6f 75 72 63    65 20 3a 20 22 20 72 65 73 75 6c 74 73 29 29 0a  | t.metadata.source.:.".results)). | 
| 3d1e0 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65    73 75 6c 74 73 29 29 29 0a 0a 28 64 65 66 75 6e  | ..............results)))..(defun | 
| 3d200 |  20 63 61 6c 69 62 72 65 64 62 2d 66 65 74 63 68    2d 6d 65 74 61 64 61 74 61 20 28 61 75 74 68 6f  | .calibredb-fetch-metadata.(autho | 
| 3d220 |  72 20 74 69 74 6c 65 20 26 6f 70 74 69 6f 6e 61    6c 20 69 64 73 20 69 73 62 6e 29 0a 20 20 22 46  | r.title.&optional.ids.isbn)..."F | 
| 3d240 |  65 74 63 68 20 6d 65 74 61 64 61 74 61 2e 0a 41    72 67 75 6d 65 6e 74 20 41 55 54 48 4f 52 20 70  | etch.metadata..Argument.AUTHOR.p | 
| 3d260 |  72 6f 6d 70 74 73 20 74 6f 20 69 6e 70 75 74 20    74 68 65 20 61 75 74 68 6f 72 2e 0a 41 72 67 75  | rompts.to.input.the.author..Argu | 
| 3d280 |  6d 65 6e 74 20 49 44 53 20 70 72 6f 6d 70 74 73    20 74 6f 20 69 6e 70 75 74 20 74 68 65 20 69 64  | ment.IDS.prompts.to.input.the.id | 
| 3d2a0 |  73 2e 0a 41 72 67 75 6d 65 6e 74 20 54 49 54 4c    45 20 70 72 6f 6d 70 74 73 20 74 6f 20 69 6e 70  | s..Argument.TITLE.prompts.to.inp | 
| 3d2c0 |  75 74 20 74 68 65 20 74 69 74 6c 65 2e 0a 4f 70    74 69 6f 6e 61 6c 20 61 72 67 75 6d 65 6e 74 20  | ut.the.title..Optional.argument. | 
| 3d2e0 |  49 53 42 4e 20 70 72 6f 6d 70 74 73 20 74 6f 20    69 6e 70 75 74 20 74 68 65 20 69 73 62 6e 2e 22  | ISBN.prompts.to.input.the.isbn." | 
| 3d300 |  0a 20 20 28 6c 65 74 2a 20 28 28 66 65 74 63 68    2d 63 6f 76 65 72 20 28 63 6f 6e 64 20 28 28 73  | ...(let*.((fetch-cover.(cond.((s | 
| 3d320 |  74 72 69 6e 67 3d 20 63 61 6c 69 62 72 65 64 62    2d 66 65 74 63 68 2d 63 6f 76 65 72 73 20 22 79  | tring=.calibredb-fetch-covers."y | 
| 3d340 |  65 73 22 29 20 74 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  | es").t)......................... | 
| 3d360 |  20 20 20 20 28 28 73 74 72 69 6e 67 3d 20 63 61    6c 69 62 72 65 64 62 2d 66 65 74 63 68 2d 63 6f  | ....((string=.calibredb-fetch-co | 
| 3d380 |  76 65 72 73 20 22 6e 6f 22 29 20 6e 69 6c 29 0a    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | vers."no").nil)................. | 
| 3d3a0 |  20 20 20 20 20 20 20 20 20 20 20 20 28 74 20 28    79 65 73 2d 6f 72 2d 6e 6f 2d 70 20 22 46 65 74  | ............(t.(yes-or-no-p."Fet | 
| 3d3c0 |  63 68 20 63 6f 76 65 72 3f 20 22 29 29 29 29 0a    20 20 20 20 20 20 20 20 20 28 72 65 73 75 6c 74  | ch.cover?."))))..........(result | 
| 3d3e0 |  73 20 28 63 61 6c 69 62 72 65 64 62 2d 66 65 74    63 68 2d 6d 65 74 61 64 61 74 61 2d 66 72 6f 6d  | s.(calibredb-fetch-metadata-from | 
| 3d400 |  2d 73 6f 75 72 63 65 73 20 61 75 74 68 6f 72 20    74 69 74 6c 65 20 69 64 73 20 69 73 62 6e 20 66  | -sources.author.title.ids.isbn.f | 
| 3d420 |  65 74 63 68 2d 63 6f 76 65 72 29 29 29 0a 20 20    20 20 28 63 6f 6e 64 20 28 72 65 73 75 6c 74 73  | etch-cover))).....(cond.(results | 
| 3d440 |  0a 20 20 20 20 20 20 20 20 20 20 20 28 77 68 65    6e 20 66 65 74 63 68 2d 63 6f 76 65 72 20 28 63  | ............(when.fetch-cover.(c | 
| 3d460 |  61 6c 69 62 72 65 64 62 2d 73 65 6c 65 63 74 2d    61 6e 64 2d 73 65 74 2d 63 6f 76 65 72 29 29 0a  | alibredb-select-and-set-cover)). | 
| 3d480 |  20 20 20 20 20 20 20 20 20 20 20 28 63 61 6c 69    62 72 65 64 62 2d 73 65 6c 65 63 74 2d 6d 65 74  | ...........(calibredb-select-met | 
| 3d4a0 |  61 64 61 74 61 2d 73 6f 75 72 63 65 20 72 65 73    75 6c 74 73 29 29 0a 20 20 20 20 20 20 20 20 20  | adata-source.results)).......... | 
| 3d4c0 |  20 28 74 20 6e 69 6c 29 29 29 29 0a 0a 28 64 65    66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d 66 65  | .(t.nil))))..(defun.calibredb-fe | 
| 3d4e0 |  74 63 68 2d 61 6e 64 2d 73 65 74 2d 6d 65 74 61    64 61 74 61 20 28 74 79 70 65 20 26 6f 70 74 69  | tch-and-set-metadata.(type.&opti | 
| 3d500 |  6f 6e 61 6c 20 61 72 67 29 0a 20 20 22 41 64 64    20 6d 65 74 61 64 61 74 61 20 66 72 6f 6d 20 60  | onal.arg)..."Add.metadata.from.` | 
| 3d520 |  63 61 6c 69 62 72 65 64 62 2d 66 65 74 63 68 2d    6d 65 74 61 64 61 74 61 27 20 74 6f 20 65 6e 74  | calibredb-fetch-metadata'.to.ent | 
| 3d540 |  72 79 20 61 74 20 50 4f 49 4e 54 2e 0a 41 72 67    75 6d 65 6e 74 20 54 59 50 45 20 45 69 74 68 65  | ry.at.POINT..Argument.TYPE.Eithe | 
| 3d560 |  72 20 27 61 75 74 68 6f 72 27 20 6f 72 20 27 69    73 62 6e 27 2e 0a 4f 70 74 69 6f 6e 61 6c 20 61  | r.'author'.or.'isbn'..Optional.a | 
| 3d580 |  72 67 75 6d 65 6e 74 20 41 52 47 2e 22 0a 20 20    28 6c 65 74 2a 20 28 28 63 61 6e 64 69 64 61 74  | rgument.ARG."...(let*.((candidat | 
| 3d5a0 |  65 20 28 63 61 72 20 28 63 61 6c 69 62 72 65 64    62 2d 66 69 6e 64 2d 63 61 6e 64 69 64 61 74 65  | e.(car.(calibredb-find-candidate | 
| 3d5c0 |  2d 61 74 2d 70 6f 69 6e 74 29 29 29 0a 20 20 20    20 20 20 20 20 20 28 69 64 20 28 63 61 6c 69 62  | -at-point)))..........(id.(calib | 
| 3d5e0 |  72 65 64 62 2d 67 65 74 61 74 74 72 20 63 61 6e    64 69 64 61 74 65 20 3a 69 64 29 29 0a 20 20 20  | redb-getattr.candidate.:id)).... | 
| 3d600 |  20 20 20 20 20 20 28 69 64 73 20 28 73 70 6c 69    74 2d 73 74 72 69 6e 67 20 28 63 61 6c 69 62 72  | ......(ids.(split-string.(calibr | 
| 3d620 |  65 64 62 2d 67 65 74 61 74 74 72 20 63 61 6e 64    69 64 61 74 65 20 3a 69 64 73 29 20 22 2c 22 29  | edb-getattr.candidate.:ids).",") | 
| 3d640 |  29 0a 20 20 20 20 20 20 20 20 20 28 6d 79 61 75    74 68 6f 72 73 20 28 63 61 6c 69 62 72 65 64 62  | )..........(myauthors.(calibredb | 
| 3d660 |  2d 67 65 74 61 74 74 72 20 63 61 6e 64 69 64 61    74 65 20 3a 61 75 74 68 6f 72 2d 73 6f 72 74 29  | -getattr.candidate.:author-sort) | 
| 3d680 |  29 0a 20 20 20 20 20 20 20 20 20 28 74 69 74 6c    65 20 28 63 61 6c 69 62 72 65 64 62 2d 67 65 74  | )..........(title.(calibredb-get | 
| 3d6a0 |  61 74 74 72 20 63 61 6e 64 69 64 61 74 65 20 3a    62 6f 6f 6b 2d 74 69 74 6c 65 29 29 0a 20 20 20  | attr.candidate.:book-title)).... | 
| 3d6c0 |  20 20 20 20 20 20 28 6d 65 74 61 64 61 74 61 0a    20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 64 20  | ......(metadata...........(cond. | 
| 3d6e0 |  28 28 73 74 72 69 6e 67 3d 20 74 79 70 65 20 22    69 64 22 29 20 28 63 61 6c 69 62 72 65 64 62 2d  | ((string=.type."id").(calibredb- | 
| 3d700 |  66 65 74 63 68 2d 6d 65 74 61 64 61 74 61 20 74    69 74 6c 65 20 6d 79 61 75 74 68 6f 72 73 20 69  | fetch-metadata.title.myauthors.i | 
| 3d720 |  64 73 29 29 0a 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 28 28 73 74 72 69 6e 67 3d 20 74  | ds)).................((string=.t | 
| 3d740 |  79 70 65 20 22 61 75 74 68 6f 72 22 29 20 28 69    66 20 61 72 67 20 28 63 61 6c 69 62 72 65 64 62  | ype."author").(if.arg.(calibredb | 
| 3d760 |  2d 66 65 74 63 68 2d 6d 65 74 61 64 61 74 61 20    74 69 74 6c 65 20 6d 79 61 75 74 68 6f 72 73 29  | -fetch-metadata.title.myauthors) | 
| 3d780 |  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 20 20 20 20  | ................................ | 
| 3d7a0 |  20 20 20 20 20 20 20 20 20 20 20 20 28 63 61 6c    69 62 72 65 64 62 2d 66 65 74 63 68 2d 6d 65 74  | ............(calibredb-fetch-met | 
| 3d7c0 |  61 64 61 74 61 20 6d 79 61 75 74 68 6f 72 73 20    74 69 74 6c 65 29 29 29 0a 20 20 20 20 20 20 20  | adata.myauthors.title)))........ | 
| 3d7e0 |  20 20 20 20 20 20 20 20 20 28 28 73 74 72 69 6e    67 3d 20 74 79 70 65 20 22 69 73 62 6e 22 29 20  | .........((string=.type."isbn"). | 
| 3d800 |  28 69 66 20 61 72 67 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  | (if.arg......................... | 
| 3d820 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 28 63 61 6c 69 62 72 65 64 62 2d 66 65  | ...................(calibredb-fe | 
| 3d840 |  74 63 68 2d 6d 65 74 61 64 61 74 61 20 6d 79 61    75 74 68 6f 72 73 20 74 69 74 6c 65 20 6e 69 6c  | tch-metadata.myauthors.title.nil | 
| 3d860 |  20 74 69 74 6c 65 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  | .title)......................... | 
| 3d880 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 28 63 61 6c 69 62 72 65 64 62 2d 66 65 74 63  | .................(calibredb-fetc | 
| 3d8a0 |  68 2d 6d 65 74 61 64 61 74 61 0a 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | h-metadata...................... | 
| 3d8c0 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 6d 79 61 75 74 68 6f 72 73 0a 20  | .....................myauthors.. | 
| 3d8e0 |  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  | ................................ | 
| 3d900 |  20 20 20 20 20 20 20 20 20 74 69 74 6c 65 0a 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | .........title.................. | 
| 3d920 |  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 6e 69 6c 0a 20 20 20  | .........................nil.... | 
| 3d940 |  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  | ................................ | 
| 3d960 |  20 20 20 20 20 20 20 28 63 6f 6e 64 20 28 28 63    61 6c 69 62 72 65 64 62 2d 61 75 74 6f 2d 64 65  | .......(cond.((calibredb-auto-de | 
| 3d980 |  74 65 63 74 2d 69 73 62 6e 29 29 0a 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | tect-isbn))..................... | 
| 3d9a0 |  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 22 22 29  | ............................("") | 
| 3d9c0 |  29 29 29 29 29 29 29 0a 20 20 20 20 28 63 6f 6e    64 20 28 6d 65 74 61 64 61 74 61 0a 20 20 20 20  | ))))))).....(cond.(metadata..... | 
| 3d9e0 |  20 20 20 20 20 20 20 28 6d 61 70 63 20 28 6c 61    6d 62 64 61 20 28 78 29 0a 20 20 20 20 20 20 20  | .......(mapc.(lambda.(x)........ | 
| 3da00 |  20 20 20 20 20 20 20 20 20 20 20 20 28 63 61 6c    69 62 72 65 64 62 2d 63 6f 6d 6d 61 6e 64 20 3a  | ............(calibredb-command.: | 
| 3da20 |  63 6f 6d 6d 61 6e 64 20 22 73 65 74 5f 6d 65 74    61 64 61 74 61 22 0a 20 20 20 20 20 20 20 20 20  | command."set_metadata".......... | 
| 3da40 |  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 3a 6f 70  | .............................:op | 
| 3da60 |  74 69 6f 6e 20 28 66 6f 72 6d 61 74 20 22 2d 2d    66 69 65 6c 64 20 25 73 3a 25 73 20 22 20 28 64  | tion.(format."--field.%s:%s.".(d | 
| 3da80 |  6f 77 6e 63 61 73 65 20 28 63 61 72 20 78 29 29    20 28 70 72 69 6e 31 2d 74 6f 2d 73 74 72 69 6e  | owncase.(car.x)).(prin1-to-strin | 
| 3daa0 |  67 20 28 63 64 72 20 78 29 29 29 0a 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | g.(cdr.x)))..................... | 
| 3dac0 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 3a 69 64 20 69 64 0a 20 20 20 20 20 20 20  | ..................:id.id........ | 
| 3dae0 |  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 3a  | ...............................: | 
| 3db00 |  6c 69 62 72 61 72 79 20 28 66 6f 72 6d 61 74 20    22 2d 2d 6c 69 62 72 61 72 79 2d 70 61 74 68 20  | library.(format."--library-path. | 
| 3db20 |  5c 22 25 73 5c 22 22 20 63 61 6c 69 62 72 65 64    62 2d 72 6f 6f 74 2d 64 69 72 29 29 29 0a 20 20  | \"%s\"".calibredb-root-dir)))... | 
| 3db40 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d    65 74 61 64 61 74 61 29 0a 20 20 20 20 20 20 20  | ...............metadata)........ | 
| 3db60 |  20 20 20 20 28 6c 65 74 20 28 28 77 69 6e 64 6f    77 20 28 67 65 74 2d 62 75 66 66 65 72 2d 77 69  | ....(let.((window.(get-buffer-wi | 
| 3db80 |  6e 64 6f 77 20 22 2a 63 61 6c 69 62 72 65 64 62    2d 73 65 61 72 63 68 2a 22 29 29 29 0a 20 20 20  | ndow."*calibredb-search*"))).... | 
| 3dba0 |  20 20 20 20 20 20 20 20 20 20 28 69 66 20 77 69    6e 64 6f 77 0a 20 20 20 20 20 20 20 20 20 20 20  | ..........(if.window............ | 
| 3dbc0 |  20 20 20 20 20 20 28 73 65 6c 65 63 74 2d 77 69    6e 64 6f 77 20 77 69 6e 64 6f 77 29 0a 20 20 20  | ......(select-window.window).... | 
| 3dbe0 |  20 20 20 20 20 20 20 20 20 20 20 20 28 73 77 69    74 63 68 2d 74 6f 2d 62 75 66 66 65 72 2d 6f 74  | ............(switch-to-buffer-ot | 
| 3dc00 |  68 65 72 2d 77 69 6e 64 6f 77 20 22 2a 63 61 6c    69 62 72 65 64 62 2d 73 65 61 72 63 68 2a 22 29  | her-window."*calibredb-search*") | 
| 3dc20 |  29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 63    61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2d  | ))............(calibredb-search- | 
| 3dc40 |  72 65 66 72 65 73 68 2d 6f 72 2d 72 65 73 75 6d    65 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 69  | refresh-or-resume)............(i | 
| 3dc60 |  66 20 63 61 6c 69 62 72 65 64 62 2d 73 68 6f 77    2d 72 65 73 75 6c 74 73 20 28 63 61 6c 69 62 72  | f.calibredb-show-results.(calibr | 
| 3dc80 |  65 64 62 2d 73 68 6f 77 2d 72 65 73 75 6c 74 73    20 6d 65 74 61 64 61 74 61 20 74 29 29 0a 20 20  | edb-show-results.metadata.t))... | 
| 3dca0 |  20 20 20 20 20 20 20 20 20 28 6d 65 73 73 61 67    65 20 22 4d 65 74 61 64 61 74 61 20 75 70 64 61  | .........(message."Metadata.upda | 
| 3dcc0 |  74 65 64 3a 20 49 44 20 2d 20 25 73 2c 20 54 69    74 6c 65 20 2d 20 25 73 2c 20 41 75 74 68 6f 72  | ted:.ID.-.%s,.Title.-.%s,.Author | 
| 3dce0 |  73 20 2d 20 25 73 2e 22 20 69 64 20 74 69 74 6c    65 20 6d 79 61 75 74 68 6f 72 73 29 29 0a 20 20  | s.-.%s.".id.title.myauthors))... | 
| 3dd00 |  20 20 20 20 20 20 20 20 3b 3b 20 28 73 77 69 74    63 68 2d 74 6f 2d 62 75 66 66 65 72 2d 6f 74 68  | ........;;.(switch-to-buffer-oth | 
| 3dd20 |  65 72 2d 77 69 6e 64 6f 77 20 22 2a 63 61 6c 69    62 72 65 64 62 2d 65 6e 74 72 79 2a 22 29 29 0a  | er-window."*calibredb-entry*")). | 
| 3dd40 |  20 20 20 20 20 20 20 20 20 20 28 74 20 28 70 72    69 6e 74 20 22 4e 6f 20 6d 65 74 61 64 61 74 61  | ..........(t.(print."No.metadata | 
| 3dd60 |  20 72 65 74 72 69 65 76 65 64 20 66 72 6f 6d 20    73 6f 75 72 63 65 73 22 29 29 29 29 29 0a 0a 28  | .retrieved.from.sources")))))..( | 
| 3dd80 |  64 65 66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d    66 65 74 63 68 2d 61 6e 64 2d 73 65 74 2d 6d 65  | defun.calibredb-fetch-and-set-me | 
| 3dda0 |  74 61 64 61 74 61 2d 62 79 2d 61 75 74 68 6f 72    2d 61 6e 64 2d 74 69 74 6c 65 20 28 61 72 67 29  | tadata-by-author-and-title.(arg) | 
| 3ddc0 |  0a 20 20 22 49 6e 76 6f 6b 65 20 66 72 6f 6d 20    2a 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63  | ..."Invoke.from.*calibredb-searc | 
| 3dde0 |  68 2a 20 62 75 66 66 65 72 2e 0a 46 65 74 63 68    20 6d 65 74 61 64 61 74 61 20 66 72 6f 6d 20 6f  | h*.buffer..Fetch.metadata.from.o | 
| 3de00 |  6e 6c 69 6e 65 20 73 6f 75 72 63 65 20 76 69 61    20 61 75 74 68 6f 72 20 61 6e 64 20 74 69 74 6c  | nline.source.via.author.and.titl | 
| 3de20 |  65 2e 20 57 69 74 68 20 75 6e 69 76 65 72 73 61    6c 20 41 52 47 20 5c 5c 5b 75 6e 69 76 65 72 73  | e..With.universal.ARG.\\[univers | 
| 3de40 |  61 6c 2d 61 72 67 75 6d 65 6e 74 5d 20 73 77 69    74 63 68 20 69 6e 69 74 69 61 6c 20 76 61 6c 75  | al-argument].switch.initial.valu | 
| 3de60 |  65 73 20 6f 66 20 61 75 74 68 6f 72 73 20 61 6e    64 20 74 69 74 6c 65 2e 22 0a 20 20 28 69 6e 74  | es.of.authors.and.title."...(int | 
| 3de80 |  65 72 61 63 74 69 76 65 20 22 50 22 29 0a 20 20    28 63 61 6c 69 62 72 65 64 62 2d 66 65 74 63 68  | eractive."P")...(calibredb-fetch | 
| 3dea0 |  2d 61 6e 64 2d 73 65 74 2d 6d 65 74 61 64 61 74    61 20 22 61 75 74 68 6f 72 22 20 61 72 67 29 29  | -and-set-metadata."author".arg)) | 
| 3dec0 |  0a 0a 28 64 65 66 75 6e 20 63 61 6c 69 62 72 65    64 62 2d 66 65 74 63 68 2d 61 6e 64 2d 73 65 74  | ..(defun.calibredb-fetch-and-set | 
| 3dee0 |  2d 6d 65 74 61 64 61 74 61 2d 62 79 2d 69 64 20    28 61 72 67 29 0a 20 20 22 49 6e 76 6f 6b 65 20  | -metadata-by-id.(arg)..."Invoke. | 
| 3df00 |  66 72 6f 6d 20 2a 63 61 6c 69 62 72 65 64 62 2d    73 65 61 72 63 68 2a 20 62 75 66 66 65 72 2e 0a  | from.*calibredb-search*.buffer.. | 
| 3df20 |  46 65 74 63 68 20 6d 65 74 61 64 61 74 61 20 66    72 6f 6d 20 6f 6e 6c 69 6e 65 20 73 6f 75 72 63  | Fetch.metadata.from.online.sourc | 
| 3df40 |  65 20 76 69 61 20 49 64 65 6e 74 69 66 69 65 72    2e 0a 57 69 74 68 20 75 6e 69 76 65 72 73 61 6c  | e.via.Identifier..With.universal | 
| 3df60 |  20 41 52 47 20 5c 5c 5b 75 6e 69 76 65 72 73 61    6c 2d 61 72 67 75 6d 65 6e 74 5d 20 75 73 65 20  | .ARG.\\[universal-argument].use. | 
| 3df80 |  74 69 74 6c 65 20 61 73 20 69 6e 69 74 69 61 6c    20 76 61 6c 75 65 2e 22 0a 20 20 28 69 6e 74 65  | title.as.initial.value."...(inte | 
| 3dfa0 |  72 61 63 74 69 76 65 20 22 50 22 29 0a 20 20 28    63 61 6c 69 62 72 65 64 62 2d 66 65 74 63 68 2d  | ractive."P")...(calibredb-fetch- | 
| 3dfc0 |  61 6e 64 2d 73 65 74 2d 6d 65 74 61 64 61 74 61    20 22 69 64 22 20 61 72 67 29 29 0a 0a 28 64 65  | and-set-metadata."id".arg))..(de | 
| 3dfe0 |  66 75 6e 20 63 61 6c 69 62 72 65 64 62 2d 66 65    74 63 68 2d 61 6e 64 2d 73 65 74 2d 6d 65 74 61  | fun.calibredb-fetch-and-set-meta | 
| 3e000 |  64 61 74 61 2d 62 79 2d 69 73 62 6e 20 28 61 72    67 29 0a 20 20 22 49 6e 76 6f 6b 65 20 66 72 6f  | data-by-isbn.(arg)..."Invoke.fro | 
| 3e020 |  6d 20 2a 63 61 6c 69 62 72 65 64 62 2d 73 65 61    72 63 68 2a 20 62 75 66 66 65 72 2e 0a 46 65 74  | m.*calibredb-search*.buffer..Fet | 
| 3e040 |  63 68 20 6d 65 74 61 64 61 74 61 20 66 72 6f 6d    20 6f 6e 6c 69 6e 65 20 73 6f 75 72 63 65 20 76  | ch.metadata.from.online.source.v | 
| 3e060 |  69 61 20 49 53 42 4e 2e 0a 57 69 74 68 20 75 6e    69 76 65 72 73 61 6c 20 41 52 47 20 5c 5c 5b 75  | ia.ISBN..With.universal.ARG.\\[u | 
| 3e080 |  6e 69 76 65 72 73 61 6c 2d 61 72 67 75 6d 65 6e    74 5d 20 75 73 65 20 74 69 74 6c 65 20 61 73 20  | niversal-argument].use.title.as. | 
| 3e0a0 |  69 6e 69 74 69 61 6c 20 76 61 6c 75 65 2e 22 0a    20 20 28 69 6e 74 65 72 61 63 74 69 76 65 20 22  | initial.value."...(interactive." | 
| 3e0c0 |  50 22 29 0a 20 20 28 63 61 6c 69 62 72 65 64 62    2d 66 65 74 63 68 2d 61 6e 64 2d 73 65 74 2d 6d  | P")...(calibredb-fetch-and-set-m | 
| 3e0e0 |  65 74 61 64 61 74 61 20 22 69 73 62 6e 22 20 61    72 67 29 29 0a 0a 3b 3b 20 73 68 6f 77 5f 6d 65  | etadata."isbn".arg))..;;.show_me | 
| 3e100 |  74 61 64 61 74 61 0a 0a 28 64 65 66 75 6e 20 63    61 6c 69 62 72 65 64 62 2d 73 68 6f 77 2d 6d 65  | tadata..(defun.calibredb-show-me | 
| 3e120 |  74 61 64 61 74 61 20 28 26 6f 70 74 69 6f 6e 61    6c 20 63 61 6e 64 69 64 61 74 65 29 0a 20 20 22  | tadata.(&optional.candidate)..." | 
| 3e140 |  53 68 6f 77 20 73 65 6c 65 63 74 65 64 20 43 41    4e 44 49 44 41 54 45 20 6d 65 74 61 64 61 74 61  | Show.selected.CANDIDATE.metadata | 
| 3e160 |  2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76    65 29 0a 20 20 28 75 6e 6c 65 73 73 20 63 61 6e  | ."...(interactive)...(unless.can | 
| 3e180 |  64 69 64 61 74 65 0a 20 20 20 20 28 69 66 20 28    65 71 20 6d 61 6a 6f 72 2d 6d 6f 64 65 20 27 63  | didate.....(if.(eq.major-mode.'c | 
| 3e1a0 |  61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2d    6d 6f 64 65 29 0a 20 20 20 20 20 20 20 20 28 73  | alibredb-search-mode).........(s | 
| 3e1c0 |  65 74 71 20 63 61 6e 64 69 64 61 74 65 20 28 63    64 72 20 28 67 65 74 2d 74 65 78 74 2d 70 72 6f  | etq.candidate.(cdr.(get-text-pro | 
| 3e1e0 |  70 65 72 74 79 20 28 70 6f 69 6e 74 29 20 27 63    61 6c 69 62 72 65 64 62 2d 65 6e 74 72 79 20 6e  | perty.(point).'calibredb-entry.n | 
| 3e200 |  69 6c 29 29 29 0a 20 20 20 20 20 20 28 73 65 74    71 20 63 61 6e 64 69 64 61 74 65 20 28 67 65 74  | il))).......(setq.candidate.(get | 
| 3e220 |  2d 74 65 78 74 2d 70 72 6f 70 65 72 74 79 20 28    70 6f 69 6e 74 2d 6d 69 6e 29 20 27 63 61 6c 69  | -text-property.(point-min).'cali | 
| 3e240 |  62 72 65 64 62 2d 65 6e 74 72 79 20 6e 69 6c 29    29 29 29 0a 20 20 28 6c 65 74 2a 20 28 28 69 64  | bredb-entry.nil))))...(let*.((id | 
| 3e260 |  20 28 63 61 6c 69 62 72 65 64 62 2d 67 65 74 61    74 74 72 20 63 61 6e 64 69 64 61 74 65 20 3a 69  | .(calibredb-getattr.candidate.:i | 
| 3e280 |  64 29 29 29 0a 20 20 20 20 28 63 61 6c 69 62 72    65 64 62 2d 63 6f 6d 6d 61 6e 64 20 3a 63 6f 6d  | d))).....(calibredb-command.:com | 
| 3e2a0 |  6d 61 6e 64 20 22 73 68 6f 77 5f 6d 65 74 61 64    61 74 61 22 0a 20 20 20 20 20 20 20 20 20 20 20  | mand."show_metadata"............ | 
| 3e2c0 |  20 20 20 20 20 20 20 20 20 20 20 20 3a 69 64 20    69 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  | ............:id.id.............. | 
| 3e2e0 |  20 20 20 20 20 20 20 20 20 20 3a 6c 69 62 72 61    72 79 20 28 66 6f 72 6d 61 74 20 22 2d 2d 6c 69  | ..........:library.(format."--li | 
| 3e300 |  62 72 61 72 79 2d 70 61 74 68 20 25 73 22 20 28    63 61 6c 69 62 72 65 64 62 2d 72 6f 6f 74 2d 64  | brary-path.%s".(calibredb-root-d | 
| 3e320 |  69 72 2d 71 75 6f 74 65 29 29 29 29 29 0a 0a 3b    3b 20 65 78 70 6f 72 74 0a 0a 28 64 65 66 75 6e  | ir-quote)))))..;;.export..(defun | 
| 3e340 |  20 63 61 6c 69 62 72 65 64 62 2d 65 78 70 6f 72    74 20 28 26 6f 70 74 69 6f 6e 61 6c 20 63 61 6e  | .calibredb-export.(&optional.can | 
| 3e360 |  64 69 64 61 74 65 29 0a 20 20 22 45 78 70 6f 72    74 20 74 68 65 20 73 6c 65 63 74 65 64 20 43 41  | didate)..."Export.the.slected.CA | 
| 3e380 |  4e 44 49 44 41 54 45 2e 22 0a 20 20 28 69 6e 74    65 72 61 63 74 69 76 65 29 0a 20 20 28 75 6e 6c  | NDIDATE."...(interactive)...(unl | 
| 3e3a0 |  65 73 73 20 63 61 6e 64 69 64 61 74 65 0a 20 20    20 20 28 69 66 20 28 65 71 20 6d 61 6a 6f 72 2d  | ess.candidate.....(if.(eq.major- | 
| 3e3c0 |  6d 6f 64 65 20 27 63 61 6c 69 62 72 65 64 62 2d    73 65 61 72 63 68 2d 6d 6f 64 65 29 0a 20 20 20  | mode.'calibredb-search-mode).... | 
| 3e3e0 |  20 20 20 20 20 28 73 65 74 71 20 63 61 6e 64 69    64 61 74 65 20 28 63 64 72 20 28 67 65 74 2d 74  | .....(setq.candidate.(cdr.(get-t | 
| 3e400 |  65 78 74 2d 70 72 6f 70 65 72 74 79 20 28 70 6f    69 6e 74 29 20 27 63 61 6c 69 62 72 65 64 62 2d  | ext-property.(point).'calibredb- | 
| 3e420 |  65 6e 74 72 79 20 6e 69 6c 29 29 29 0a 20 20 20    20 20 20 28 73 65 74 71 20 63 61 6e 64 69 64 61  | entry.nil))).......(setq.candida | 
| 3e440 |  74 65 20 28 67 65 74 2d 74 65 78 74 2d 70 72 6f    70 65 72 74 79 20 28 70 6f 69 6e 74 2d 6d 69 6e  | te.(get-text-property.(point-min | 
| 3e460 |  29 20 27 63 61 6c 69 62 72 65 64 62 2d 65 6e 74    72 79 20 6e 69 6c 29 29 29 29 0a 20 20 28 6c 65  | ).'calibredb-entry.nil))))...(le | 
| 3e480 |  74 20 28 28 69 64 20 28 63 61 6c 69 62 72 65 64    62 2d 67 65 74 61 74 74 72 20 63 61 6e 64 69 64  | t.((id.(calibredb-getattr.candid | 
| 3e4a0 |  61 74 65 20 3a 69 64 29 29 0a 20 20 20 20 20 20    20 20 28 6f 75 74 70 75 74 2d 66 6f 6c 64 65 72  | ate.:id)).........(output-folder | 
| 3e4c0 |  20 28 66 69 6c 65 2d 6e 61 6d 65 2d 64 69 72 65    63 74 6f 72 79 20 28 69 66 20 28 66 69 6c 65 2d  | .(file-name-directory.(if.(file- | 
| 3e4e0 |  65 78 65 63 75 74 61 62 6c 65 2d 70 20 63 61 6c    69 62 72 65 64 62 2d 64 65 76 69 63 65 2d 64 69  | executable-p.calibredb-device-di | 
| 3e500 |  72 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 20 20  | r).............................. | 
| 3e520 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 28 69 66 20 28 79 65 73 2d 6f 72 2d 6e  | ...................(if.(yes-or-n | 
| 3e540 |  6f 2d 70 20 22 46 6f 75 6e 64 20 6b 69 6e 64 6c    65 2c 20 64 6f 20 79 6f 75 20 77 61 6e 74 20 74  | o-p."Found.kindle,.do.you.want.t | 
| 3e560 |  6f 20 63 6f 6e 76 65 72 74 20 61 6e 64 20 65 78    70 6f 72 74 20 74 6f 20 6b 69 6e 64 6c 65 3f 22  | o.convert.and.export.to.kindle?" | 
| 3e580 |  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 20 20 20  | )............................... | 
| 3e5a0 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 63 61 6c 69 62 72 65 64 62 2d  | ......................calibredb- | 
| 3e5c0 |  64 65 76 69 63 65 2d 64 69 72 0a 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | device-dir...................... | 
| 3e5e0 |  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 63 61  | .............................(ca | 
| 3e600 |  6c 69 62 72 65 64 62 2d 63 6f 6d 70 6c 65 74 65    2d 66 69 6c 65 2d 71 75 6f 74 65 20 22 45 78 70  | libredb-complete-file-quote."Exp | 
| 3e620 |  6f 72 74 20 74 6f 20 28 73 65 6c 65 63 74 20 61    20 64 69 72 65 63 74 6f 72 79 29 22 29 29 0a 20  | ort.to.(select.a.directory)")).. | 
| 3e640 |  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  | ................................ | 
| 3e660 |  20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 61    6c 69 62 72 65 64 62 2d 63 6f 6d 70 6c 65 74 65  | .............(calibredb-complete | 
| 3e680 |  2d 66 69 6c 65 2d 71 75 6f 74 65 20 22 45 78 70    6f 72 74 20 74 6f 20 28 73 65 6c 65 63 74 20 61  | -file-quote."Export.to.(select.a | 
| 3e6a0 |  20 64 69 72 65 63 74 6f 72 79 29 22 29 29 29 29    29 0a 20 20 20 20 28 63 61 6c 69 62 72 65 64 62  | .directory)"))))).....(calibredb | 
| 3e6c0 |  2d 63 6f 6d 6d 61 6e 64 20 3a 63 6f 6d 6d 61 6e    64 20 22 65 78 70 6f 72 74 22 0a 20 20 20 20 20  | -command.:command."export"...... | 
| 3e6e0 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 3a 6f 70 74 69 6f 6e 20 28 73 2d 6a 6f 69  | ..................:option.(s-joi | 
| 3e700 |  6e 20 22 20 22 20 28 2d 72 65 6d 6f 76 65 20 27    73 2d 62 6c 61 6e 6b 3f 20 28 2d 66 6c 61 74 74  | n.".".(-remove.'s-blank?.(-flatt | 
| 3e720 |  65 6e 20 28 63 61 6c 69 62 72 65 64 62 2d 65 78    70 6f 72 74 2d 61 72 67 75 6d 65 6e 74 73 29 29  | en.(calibredb-export-arguments)) | 
| 3e740 |  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 3a 69 6e 70 75 74  | ))........................:input | 
| 3e760 |  20 28 66 6f 72 6d 61 74 20 22 2d 2d 74 6f 2d 64    69 72 20 25 73 22 20 6f 75 74 70 75 74 2d 66 6f  | .(format."--to-dir.%s".output-fo | 
| 3e780 |  6c 64 65 72 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 3a 69 64  | lder)........................:id | 
| 3e7a0 |  20 69 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 3a 6c 69 62 72  | .id........................:libr | 
| 3e7c0 |  61 72 79 20 28 66 6f 72 6d 61 74 20 22 2d 2d 6c    69 62 72 61 72 79 2d 70 61 74 68 20 25 73 22 20  | ary.(format."--library-path.%s". | 
| 3e7e0 |  28 63 61 6c 69 62 72 65 64 62 2d 72 6f 6f 74 2d    64 69 72 2d 71 75 6f 74 65 29 29 29 29 29 0a 0a  | (calibredb-root-dir-quote))))).. | 
| 3e800 |  3b 3b 20 63 6f 6e 76 65 72 74 20 65 62 6f 6f 6b    73 0a 28 64 65 66 6d 61 63 72 6f 20 63 61 6c 69  | ;;.convert.ebooks.(defmacro.cali | 
| 3e820 |  62 72 65 64 62 2d 63 6f 6e 76 65 72 74 20 28 74    79 70 65 29 0a 20 20 22 4d 61 63 72 6f 20 6f 66  | bredb-convert.(type)..."Macro.of | 
| 3e840 |  20 66 75 6e 63 74 69 6f 6e 20 63 61 6c 69 62 72    65 64 62 2d 63 6f 6e 76 65 72 74 2d 74 6f 2d 54  | .function.calibredb-convert-to-T | 
| 3e860 |  59 50 45 2e 0a 41 72 67 75 6d 65 6e 74 20 54 59    50 45 20 65 62 6f 6f 6b 20 74 79 70 65 2e 22 0a  | YPE..Argument.TYPE.ebook.type.". | 
| 3e880 |  20 20 60 28 64 65 66 75 6e 20 2c 28 69 6e 74 65    72 6e 20 28 66 6f 72 6d 61 74 20 22 63 61 6c 69  | ..`(defun.,(intern.(format."cali | 
| 3e8a0 |  62 72 65 64 62 2d 63 6f 6e 76 65 72 74 2d 74 6f    2d 25 73 22 20 74 79 70 65 29 29 20 28 26 6f 70  | bredb-convert-to-%s".type)).(&op | 
| 3e8c0 |  74 69 6f 6e 61 6c 20 63 61 6e 64 69 64 61 74 65    29 0a 20 20 20 20 2c 28 66 6f 72 6d 61 74 20 22  | tional.candidate).....,(format." | 
| 3e8e0 |  54 4f 44 4f 3a 20 43 6f 6e 76 65 72 74 20 74 68    65 20 73 6c 65 63 74 65 64 20 43 41 4e 44 49 44  | TODO:.Convert.the.slected.CANDID | 
| 3e900 |  41 54 45 20 74 6f 20 25 73 2e 22 20 74 79 70 65    29 0a 20 20 20 20 28 69 6e 74 65 72 61 63 74 69  | ATE.to.%s.".type).....(interacti | 
| 3e920 |  76 65 29 0a 20 20 20 20 28 75 6e 6c 65 73 73 20    63 61 6e 64 69 64 61 74 65 0a 20 20 20 20 20 20  | ve).....(unless.candidate....... | 
| 3e940 |  28 69 66 20 28 65 71 20 6d 61 6a 6f 72 2d 6d 6f    64 65 20 27 63 61 6c 69 62 72 65 64 62 2d 73 65  | (if.(eq.major-mode.'calibredb-se | 
| 3e960 |  61 72 63 68 2d 6d 6f 64 65 29 0a 20 20 20 20 20    20 20 20 20 20 28 73 65 74 71 20 63 61 6e 64 69  | arch-mode)...........(setq.candi | 
| 3e980 |  64 61 74 65 20 28 63 64 72 20 28 67 65 74 2d 74    65 78 74 2d 70 72 6f 70 65 72 74 79 20 28 70 6f  | date.(cdr.(get-text-property.(po | 
| 3e9a0 |  69 6e 74 29 20 27 63 61 6c 69 62 72 65 64 62 2d    65 6e 74 72 79 20 6e 69 6c 29 29 29 0a 20 20 20  | int).'calibredb-entry.nil))).... | 
| 3e9c0 |  20 20 20 20 20 28 73 65 74 71 20 63 61 6e 64 69    64 61 74 65 20 28 67 65 74 2d 74 65 78 74 2d 70  | .....(setq.candidate.(get-text-p | 
| 3e9e0 |  72 6f 70 65 72 74 79 20 28 70 6f 69 6e 74 2d 6d    69 6e 29 20 27 63 61 6c 69 62 72 65 64 62 2d 65  | roperty.(point-min).'calibredb-e | 
| 3ea00 |  6e 74 72 79 20 6e 69 6c 29 29 29 29 0a 20 20 20    20 28 6c 65 74 20 28 3b 3b 20 28 69 64 20 28 63  | ntry.nil)))).....(let.(;;.(id.(c | 
| 3ea20 |  61 6c 69 62 72 65 64 62 2d 67 65 74 61 74 74 72    20 63 61 6e 64 69 64 61 74 65 20 3a 69 64 29 29  | alibredb-getattr.candidate.:id)) | 
| 3ea40 |  0a 20 20 20 20 20 20 20 20 20 20 28 66 69 6c 65    20 28 63 61 6c 69 62 72 65 64 62 2d 67 65 74 2d  | ...........(file.(calibredb-get- | 
| 3ea60 |  66 69 6c 65 2d 70 61 74 68 20 63 61 6e 64 69 64    61 74 65 20 74 29 29 0a 20 20 20 20 20 20 20 20  | file-path.candidate.t))......... | 
| 3ea80 |  20 20 28 6f 75 74 70 75 74 2d 66 6f 6c 64 65 72    20 28 66 69 6c 65 2d 6e 61 6d 65 2d 64 69 72 65  | ..(output-folder.(file-name-dire | 
| 3eaa0 |  63 74 6f 72 79 20 28 69 66 20 28 66 69 6c 65 2d    65 78 65 63 75 74 61 62 6c 65 2d 70 20 63 61 6c  | ctory.(if.(file-executable-p.cal | 
| 3eac0 |  69 62 72 65 64 62 2d 64 65 76 69 63 65 2d 64 69    72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  | ibredb-device-dir).............. | 
| 3eae0 |  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  | ................................ | 
| 3eb00 |  20 20 20 20 20 28 69 66 20 28 79 65 73 2d 6f 72    2d 6e 6f 2d 70 20 22 46 6f 75 6e 64 20 6b 69 6e  | .....(if.(yes-or-no-p."Found.kin | 
| 3eb20 |  64 6c 65 2c 20 64 6f 20 79 6f 75 20 77 61 6e 74    20 74 6f 20 63 6f 6e 76 65 72 74 20 61 6e 64 20  | dle,.do.you.want.to.convert.and. | 
| 3eb40 |  65 78 70 6f 72 74 20 74 6f 20 6b 69 6e 64 6c 65    3f 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20  | export.to.kindle?")............. | 
| 3eb60 |  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  | ................................ | 
| 3eb80 |  20 20 20 20 20 20 20 20 20 20 63 61 6c 69 62 72    65 64 62 2d 64 65 76 69 63 65 2d 64 69 72 0a 20  | ..........calibredb-device-dir.. | 
| 3eba0 |  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  | ................................ | 
| 3ebc0 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 28 72 65 61 64 2d 66 69 6c 65 2d 6e 61  | ...................(read-file-na | 
| 3ebe0 |  6d 65 20 22 43 6f 6e 76 65 72 74 20 61 6e 64 20    65 78 70 6f 72 74 20 74 6f 20 28 73 65 6c 65 63  | me."Convert.and.export.to.(selec | 
| 3ec00 |  74 20 61 20 64 69 72 65 63 74 6f 72 79 29 3a 20    22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20  | t.a.directory):."))............. | 
| 3ec20 |  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  | ................................ | 
| 3ec40 |  20 20 20 20 28 72 65 61 64 2d 66 69 6c 65 2d 6e    61 6d 65 20 22 43 6f 6e 76 65 72 74 20 61 6e 64  | ....(read-file-name."Convert.and | 
| 3ec60 |  20 65 78 70 6f 72 74 20 74 6f 20 28 73 65 6c 65    63 74 20 61 20 64 69 72 65 63 74 6f 72 79 29 3a  | .export.to.(select.a.directory): | 
| 3ec80 |  20 22 29 29 29 29 29 0a 20 20 20 20 20 20 28 73    65 74 2d 70 72 6f 63 65 73 73 2d 73 65 6e 74 69  | ."))))).......(set-process-senti | 
| 3eca0 |  6e 65 6c 0a 20 20 20 20 20 20 20 28 63 61 6c 69    62 72 65 64 62 2d 63 6f 6e 76 65 72 74 2d 70 72  | nel........(calibredb-convert-pr | 
| 3ecc0 |  6f 63 65 73 73 0a 20 20 20 20 20 20 20 20 3a 69    6e 70 75 74 20 28 73 68 65 6c 6c 2d 71 75 6f 74  | ocess.........:input.(shell-quot | 
| 3ece0 |  65 2d 61 72 67 75 6d 65 6e 74 20 28 65 78 70 61    6e 64 2d 66 69 6c 65 2d 6e 61 6d 65 20 66 69 6c  | e-argument.(expand-file-name.fil | 
| 3ed00 |  65 29 29 0a 20 20 20 20 20 20 20 20 3a 6f 75 74    70 75 74 20 28 73 68 65 6c 6c 2d 71 75 6f 74 65  | e)).........:output.(shell-quote | 
| 3ed20 |  2d 61 72 67 75 6d 65 6e 74 20 28 65 78 70 61 6e    64 2d 66 69 6c 65 2d 6e 61 6d 65 0a 20 20 20 20  | -argument.(expand-file-name..... | 
| 3ed40 |  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  | ................................ | 
| 3ed60 |  20 20 20 28 66 6f 72 6d 61 74 20 22 25 73 2e 25    73 22 20 28 66 69 6c 65 2d 6e 61 6d 65 2d 62 61  | ...(format."%s.%s".(file-name-ba | 
| 3ed80 |  73 65 20 66 69 6c 65 29 20 2c 74 79 70 65 29 0a    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | se.file).,type)................. | 
| 3eda0 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 6f 75 74 70 75 74 2d 66 6f  | .......................output-fo | 
| 3edc0 |  6c 64 65 72 29 29 0a 20 20 20 20 20 20 20 20 3a    6f 70 74 69 6f 6e 20 28 73 2d 6a 6f 69 6e 20 22  | lder)).........:option.(s-join." | 
| 3ede0 |  20 22 20 28 2d 72 65 6d 6f 76 65 20 27 73 2d 62    6c 61 6e 6b 3f 20 28 2d 66 6c 61 74 74 65 6e 20  | .".(-remove.'s-blank?.(-flatten. | 
| 3ee00 |  28 63 61 6c 69 62 72 65 64 62 2d 63 6f 6e 76 65    72 74 2d 61 72 67 75 6d 65 6e 74 73 29 29 29 29  | (calibredb-convert-arguments)))) | 
| 3ee20 |  29 0a 20 20 20 20 20 20 20 28 6c 61 6d 62 64 61    20 28 70 20 5f 65 29 0a 20 20 20 20 20 20 20 20  | )........(lambda.(p._e)......... | 
| 3ee40 |  20 28 77 68 65 6e 20 28 3d 20 30 20 28 70 72 6f    63 65 73 73 2d 65 78 69 74 2d 73 74 61 74 75 73  | .(when.(=.0.(process-exit-status | 
| 3ee60 |  20 70 29 29 0a 20 20 20 20 20 20 20 20 20 20 20    28 6d 65 73 73 61 67 65 20 22 43 6f 6e 76 65 72  | .p))............(message."Conver | 
| 3ee80 |  73 69 6f 6e 20 66 69 6e 69 73 68 65 64 2e 20 50    6c 65 61 73 65 20 63 68 65 63 6b 20 6c 6f 67 73  | sion.finished..Please.check.logs | 
| 3eea0 |  20 69 6e 20 2a 65 62 6f 6f 6b 2d 63 6f 6e 76 65    72 74 2a 2e 22 29 29 29 29 29 29 20 29 0a 0a 28  | .in.*ebook-convert*.")))))).)..( | 
| 3eec0 |  63 61 6c 69 62 72 65 64 62 2d 63 6f 6e 76 65 72    74 20 22 61 7a 77 33 22 29 0a 28 63 61 6c 69 62  | calibredb-convert."azw3").(calib | 
| 3eee0 |  72 65 64 62 2d 63 6f 6e 76 65 72 74 20 22 64 6f    63 78 22 29 0a 28 63 61 6c 69 62 72 65 64 62 2d  | redb-convert."docx").(calibredb- | 
| 3ef00 |  63 6f 6e 76 65 72 74 20 22 65 70 75 62 22 29 0a    28 63 61 6c 69 62 72 65 64 62 2d 63 6f 6e 76 65  | convert."epub").(calibredb-conve | 
| 3ef20 |  72 74 20 22 66 62 32 22 29 0a 28 63 61 6c 69 62    72 65 64 62 2d 63 6f 6e 76 65 72 74 20 22 68 74  | rt."fb2").(calibredb-convert."ht | 
| 3ef40 |  6d 6c 22 29 0a 28 63 61 6c 69 62 72 65 64 62 2d    63 6f 6e 76 65 72 74 20 22 68 74 6d 6c 7a 22 29  | ml").(calibredb-convert."htmlz") | 
| 3ef60 |  0a 28 63 61 6c 69 62 72 65 64 62 2d 63 6f 6e 76    65 72 74 20 22 6c 69 74 22 29 0a 28 63 61 6c 69  | .(calibredb-convert."lit").(cali | 
| 3ef80 |  62 72 65 64 62 2d 63 6f 6e 76 65 72 74 20 22 6c    72 66 22 29 0a 28 63 61 6c 69 62 72 65 64 62 2d  | bredb-convert."lrf").(calibredb- | 
| 3efa0 |  63 6f 6e 76 65 72 74 20 22 6d 6f 62 69 22 29 0a    28 63 61 6c 69 62 72 65 64 62 2d 63 6f 6e 76 65  | convert."mobi").(calibredb-conve | 
| 3efc0 |  72 74 20 22 6f 65 62 22 29 0a 28 63 61 6c 69 62    72 65 64 62 2d 63 6f 6e 76 65 72 74 20 22 70 64  | rt."oeb").(calibredb-convert."pd | 
| 3efe0 |  62 22 29 0a 28 63 61 6c 69 62 72 65 64 62 2d 63    6f 6e 76 65 72 74 20 22 70 64 66 22 29 0a 28 63  | b").(calibredb-convert."pdf").(c | 
| 3f000 |  61 6c 69 62 72 65 64 62 2d 63 6f 6e 76 65 72 74    20 22 70 6d 6c 22 29 0a 28 63 61 6c 69 62 72 65  | alibredb-convert."pml").(calibre | 
| 3f020 |  64 62 2d 63 6f 6e 76 65 72 74 20 22 72 62 22 29    0a 28 63 61 6c 69 62 72 65 64 62 2d 63 6f 6e 76  | db-convert."rb").(calibredb-conv | 
| 3f040 |  65 72 74 20 22 72 74 66 22 29 0a 28 63 61 6c 69    62 72 65 64 62 2d 63 6f 6e 76 65 72 74 20 22 73  | ert."rtf").(calibredb-convert."s | 
| 3f060 |  6e 62 22 29 0a 28 63 61 6c 69 62 72 65 64 62 2d    63 6f 6e 76 65 72 74 20 22 74 63 72 22 29 0a 28  | nb").(calibredb-convert."tcr").( | 
| 3f080 |  63 61 6c 69 62 72 65 64 62 2d 63 6f 6e 76 65 72    74 20 22 74 78 74 22 29 0a 28 63 61 6c 69 62 72  | calibredb-convert."txt").(calibr | 
| 3f0a0 |  65 64 62 2d 63 6f 6e 76 65 72 74 20 22 74 78 74    7a 22 29 0a 0a 3b 3b 20 63 61 74 61 6c 6f 67 0a  | edb-convert."txtz")..;;.catalog. | 
| 3f0c0 |  0a 28 64 65 66 75 6e 20 63 61 6c 69 62 72 65 64    62 2d 63 61 74 61 6c 6f 67 20 28 29 0a 20 20 22  | .(defun.calibredb-catalog.()..." | 
| 3f0e0 |  54 4f 44 4f 20 45 78 70 6f 72 74 20 74 68 65 20    63 61 74 61 6c 6f 67 2e 22 0a 20 20 28 69 6e 74  | TODO.Export.the.catalog."...(int | 
| 3f100 |  65 72 61 63 74 69 76 65 29 0a 20 20 28 63 61 6c    69 62 72 65 64 62 2d 63 6f 6d 6d 61 6e 64 20 3a  | eractive)...(calibredb-command.: | 
| 3f120 |  63 6f 6d 6d 61 6e 64 20 22 63 61 74 61 6c 6f 67    22 0a 20 20 20 20 3b 3b 20 3a 6f 70 74 69 6f 6e  | command."catalog".....;;.:option | 
| 3f140 |  20 28 73 2d 6a 6f 69 6e 20 22 20 22 20 28 2d 72    65 6d 6f 76 65 20 27 73 2d 62 6c 61 6e 6b 3f 20  | .(s-join.".".(-remove.'s-blank?. | 
| 3f160 |  28 2d 66 6c 61 74 74 65 6e 20 28 63 61 6c 69 62    72 65 64 62 2d 65 78 70 6f 72 74 2d 61 72 67 75  | (-flatten.(calibredb-export-argu | 
| 3f180 |  6d 65 6e 74 73 29 29 29 29 0a 20 20 20 20 3a 69    6e 70 75 74 20 28 66 6f 72 6d 61 74 20 22 25 73  | ments)))).....:input.(format."%s | 
| 3f1a0 |  22 20 28 63 61 6c 69 62 72 65 64 62 2d 63 6f 6d    70 6c 65 74 65 2d 66 69 6c 65 2d 71 75 6f 74 65  | ".(calibredb-complete-file-quote | 
| 3f1c0 |  20 22 45 78 70 6f 72 74 20 74 6f 20 28 73 65 6c    65 63 74 20 61 20 70 61 74 68 29 22 29 29 0a 20  | ."Export.to.(select.a.path)")).. | 
| 3f1e0 |  20 20 20 3b 3b 20 3a 69 64 20 69 64 0a 20 20 20    20 3a 6c 69 62 72 61 72 79 20 28 66 6f 72 6d 61  | ...;;.:id.id.....:library.(forma | 
| 3f200 |  74 20 22 2d 2d 6c 69 62 72 61 72 79 2d 70 61 74    68 20 25 73 22 20 28 63 61 6c 69 62 72 65 64 62  | t."--library-path.%s".(calibredb | 
| 3f220 |  2d 72 6f 6f 74 2d 64 69 72 2d 71 75 6f 74 65 29    29 29 29 0a 0a 28 64 65 66 75 6e 20 63 61 6c 69  | -root-dir-quote))))..(defun.cali | 
| 3f240 |  62 72 65 64 62 2d 63 61 74 61 6c 6f 67 2d 62 69    62 2d 2d 74 72 61 6e 73 69 65 6e 74 20 28 29 0a  | bredb-catalog-bib--transient.(). | 
| 3f260 |  20 20 22 45 78 70 6f 72 74 20 74 68 65 20 63 61    74 61 6c 6f 67 20 77 69 74 68 20 42 69 62 54 65  | .."Export.the.catalog.with.BibTe | 
| 3f280 |  78 20 66 69 6c 65 2e 22 0a 20 20 28 69 6e 74 65    72 61 63 74 69 76 65 29 0a 20 20 28 63 61 6c 69  | x.file."...(interactive)...(cali | 
| 3f2a0 |  62 72 65 64 62 2d 63 6f 6d 6d 61 6e 64 20 3a 63    6f 6d 6d 61 6e 64 20 22 63 61 74 61 6c 6f 67 22  | bredb-command.:command."catalog" | 
| 3f2c0 |  0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 3a 6f 70 74 69 6f 6e 20 28 66  | ......................:option.(f | 
| 3f2e0 |  6f 72 6d 61 74 20 22 25 73 22 0a 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | ormat."%s"...................... | 
| 3f300 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    28 73 68 65 6c 6c 2d 71 75 6f 74 65 2d 61 72 67  | ................(shell-quote-arg | 
| 3f320 |  75 6d 65 6e 74 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  | ument........................... | 
| 3f340 |  20 20 20 20 20 20 20 20 20 20 20 20 28 65 78 70    61 6e 64 2d 66 69 6c 65 2d 6e 61 6d 65 0a 20 20  | ............(expand-file-name... | 
| 3f360 |  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  | ................................ | 
| 3f380 |  20 20 20 20 20 28 6f 72 20 63 61 6c 69 62 72 65    64 62 2d 72 65 66 2d 64 65 66 61 75 6c 74 2d 62  | .....(or.calibredb-ref-default-b | 
| 3f3a0 |  69 62 6c 69 6f 67 72 61 70 68 79 0a 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | ibliography..................... | 
| 3f3c0 |  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 6f 6e 63 61 74 20 28  | .......................(concat.( | 
| 3f3e0 |  66 69 6c 65 2d 6e 61 6d 65 2d 61 73 2d 64 69 72    65 63 74 6f 72 79 20 63 61 6c 69 62 72 65 64 62  | file-name-as-directory.calibredb | 
| 3f400 |  2d 72 6f 6f 74 2d 64 69 72 29 20 22 63 61 74 61    6c 6f 67 2e 62 69 62 22 29 29 29 29 29 0a 20 20  | -root-dir)."catalog.bib")))))... | 
| 3f420 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 3a 69 6e 70 75 74 20 28 73 2d 6a 6f 69  | ...................:input.(s-joi | 
| 3f440 |  6e 20 22 20 22 20 28 2d 72 65 6d 6f 76 65 20 27    73 2d 62 6c 61 6e 6b 3f 20 28 2d 66 6c 61 74 74  | n.".".(-remove.'s-blank?.(-flatt | 
| 3f460 |  65 6e 20 28 63 61 6c 69 62 72 65 64 62 2d 63 61    74 61 6c 6f 67 2d 62 69 62 2d 61 72 67 75 6d 65  | en.(calibredb-catalog-bib-argume | 
| 3f480 |  6e 74 73 29 29 29 29 0a 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 3a 6c 69  | nts))))......................:li | 
| 3f4a0 |  62 72 61 72 79 20 28 66 6f 72 6d 61 74 20 22 2d    2d 6c 69 62 72 61 72 79 2d 70 61 74 68 20 25 73  | brary.(format."--library-path.%s | 
| 3f4c0 |  22 20 28 63 61 6c 69 62 72 65 64 62 2d 72 6f 6f    74 2d 64 69 72 2d 71 75 6f 74 65 29 29 29 0a 20  | ".(calibredb-root-dir-quote))).. | 
| 3f4e0 |  20 28 63 61 6c 69 62 72 65 64 62 2d 72 65 66 2d    64 65 66 61 75 6c 74 2d 62 69 62 6c 69 6f 67 72  | .(calibredb-ref-default-bibliogr | 
| 3f500 |  61 70 68 79 29 0a 20 20 28 6d 65 73 73 61 67 65    20 22 55 70 64 61 74 65 64 20 42 69 62 54 65 78  | aphy)...(message."Updated.BibTex | 
| 3f520 |  20 66 69 6c 65 2e 22 29 29 0a 0a 28 64 65 66 75    6e 20 63 61 6c 69 62 72 65 64 62 2d 66 69 6e 64  | .file."))..(defun.calibredb-find | 
| 3f540 |  2d 62 69 62 20 28 29 0a 20 20 22 4f 70 65 6e 20    74 68 65 20 63 61 74 61 6c 6f 67 20 42 69 62 54  | -bib.()..."Open.the.catalog.BibT | 
| 3f560 |  65 78 20 66 69 6c 65 2e 22 0a 20 20 28 69 6e 74    65 72 61 63 74 69 76 65 29 0a 20 20 28 69 66 20  | ex.file."...(interactive)...(if. | 
| 3f580 |  28 66 69 6c 65 2d 65 78 69 73 74 73 2d 70 20 63    61 6c 69 62 72 65 64 62 2d 72 65 66 2d 64 65 66  | (file-exists-p.calibredb-ref-def | 
| 3f5a0 |  61 75 6c 74 2d 62 69 62 6c 69 6f 67 72 61 70 68    79 29 0a 20 20 20 20 20 20 28 66 69 6e 64 2d 66  | ault-bibliography).......(find-f | 
| 3f5c0 |  69 6c 65 20 63 61 6c 69 62 72 65 64 62 2d 72 65    66 2d 64 65 66 61 75 6c 74 2d 62 69 62 6c 69 6f  | ile.calibredb-ref-default-biblio | 
| 3f5e0 |  67 72 61 70 68 79 29 0a 20 20 20 20 28 6d 65 73    73 61 67 65 20 22 4e 4f 20 42 69 62 54 65 78 20  | graphy).....(message."NO.BibTex. | 
| 3f600 |  66 69 6c 65 2e 22 29 29 29 0a 0a 28 64 65 66 75    6e 20 63 61 6c 69 62 72 65 64 62 2d 72 65 66 2d  | file.")))..(defun.calibredb-ref- | 
| 3f620 |  64 65 66 61 75 6c 74 2d 62 69 62 6c 69 6f 67 72    61 70 68 79 20 28 29 0a 20 20 22 55 70 64 61 74  | default-bibliography.()..."Updat | 
| 3f640 |  65 20 74 68 65 20 70 61 74 68 20 6f 66 20 42 69    62 54 65 78 20 66 69 6c 65 2e 22 0a 20 20 28 75  | e.the.path.of.BibTex.file."...(u | 
| 3f660 |  6e 6c 65 73 73 20 63 61 6c 69 62 72 65 64 62 2d    72 65 66 2d 64 65 66 61 75 6c 74 2d 62 69 62 6c  | nless.calibredb-ref-default-bibl | 
| 3f680 |  69 6f 67 72 61 70 68 79 0a 20 20 20 20 28 73 65    74 71 20 63 61 6c 69 62 72 65 64 62 2d 72 65 66  | iography.....(setq.calibredb-ref | 
| 3f6a0 |  2d 64 65 66 61 75 6c 74 2d 62 69 62 6c 69 6f 67    72 61 70 68 79 0a 20 20 20 20 20 20 20 20 20 20  | -default-bibliography........... | 
| 3f6c0 |  28 63 6f 6e 63 61 74 20 28 66 69 6c 65 2d 6e 61    6d 65 2d 61 73 2d 64 69 72 65 63 74 6f 72 79 20  | (concat.(file-name-as-directory. | 
| 3f6e0 |  63 61 6c 69 62 72 65 64 62 2d 72 6f 6f 74 2d 64    69 72 29 20 22 63 61 74 61 6c 6f 67 2e 62 69 62  | calibredb-root-dir)."catalog.bib | 
| 3f700 |  22 29 29 29 0a 20 20 28 69 66 20 28 62 6f 75 6e    64 70 20 27 6f 72 67 2d 72 65 66 2d 64 65 66 61  | ")))...(if.(boundp.'org-ref-defa | 
| 3f720 |  75 6c 74 2d 62 69 62 6c 69 6f 67 72 61 70 68 79    29 0a 20 20 20 20 20 20 28 69 66 20 28 66 69 6c  | ult-bibliography).......(if.(fil | 
| 3f740 |  65 2d 65 78 69 73 74 73 2d 70 20 63 61 6c 69 62    72 65 64 62 2d 72 65 66 2d 64 65 66 61 75 6c 74  | e-exists-p.calibredb-ref-default | 
| 3f760 |  2d 62 69 62 6c 69 6f 67 72 61 70 68 79 29 0a 20    20 20 20 20 20 20 20 20 20 28 61 64 64 2d 74 6f  | -bibliography)...........(add-to | 
| 3f780 |  2d 6c 69 73 74 20 27 6f 72 67 2d 72 65 66 2d 64    65 66 61 75 6c 74 2d 62 69 62 6c 69 6f 67 72 61  | -list.'org-ref-default-bibliogra | 
| 3f7a0 |  70 68 79 20 63 61 6c 69 62 72 65 64 62 2d 72 65    66 2d 64 65 66 61 75 6c 74 2d 62 69 62 6c 69 6f  | phy.calibredb-ref-default-biblio | 
| 3f7c0 |  67 72 61 70 68 79 29 29 29 29 0a 0a 28 64 65 66    75 6e 20 63 61 6c 69 62 72 65 64 62 2d 66 69 6e  | graphy))))..(defun.calibredb-fin | 
| 3f7e0 |  64 2d 63 6f 76 65 72 20 28 63 61 6e 64 69 64 61    74 65 29 0a 20 20 22 4f 70 65 6e 20 74 68 65 20  | d-cover.(candidate)..."Open.the. | 
| 3f800 |  63 6f 76 65 72 20 70 61 67 65 20 69 6d 61 67 65    20 6f 66 20 73 65 6c 65 63 74 65 64 20 43 41 4e  | cover.page.image.of.selected.CAN | 
| 3f820 |  44 49 44 41 54 45 2e 22 0a 20 20 28 69 66 20 28    67 65 74 2d 62 75 66 66 65 72 20 22 63 6f 76 65  | DIDATE."...(if.(get-buffer."cove | 
| 3f840 |  72 2e 6a 70 67 22 29 0a 20 20 20 20 20 20 28 6b    69 6c 6c 2d 62 75 66 66 65 72 20 22 63 6f 76 65  | r.jpg").......(kill-buffer."cove | 
| 3f860 |  72 2e 6a 70 67 22 29 29 0a 20 20 28 6c 65 74 2a    20 28 28 70 61 74 68 20 28 63 61 6c 69 62 72 65  | r.jpg"))...(let*.((path.(calibre | 
| 3f880 |  64 62 2d 67 65 74 61 74 74 72 20 63 61 6e 64 69    64 61 74 65 20 3a 66 69 6c 65 2d 70 61 74 68 29  | db-getattr.candidate.:file-path) | 
| 3f8a0 |  29 0a 20 20 20 20 20 20 20 20 20 28 63 6f 76 65    72 20 28 63 6f 6e 63 61 74 20 28 66 69 6c 65 2d  | )..........(cover.(concat.(file- | 
| 3f8c0 |  6e 61 6d 65 2d 64 69 72 65 63 74 6f 72 79 20 70    61 74 68 29 20 22 63 6f 76 65 72 2e 6a 70 67 22  | name-directory.path)."cover.jpg" | 
| 3f8e0 |  29 29 29 0a 20 20 20 20 28 69 66 20 28 66 69 6c    65 2d 65 78 69 73 74 73 2d 70 20 63 6f 76 65 72  | ))).....(if.(file-exists-p.cover | 
| 3f900 |  29 0a 20 20 20 20 20 20 20 20 28 66 69 6e 64 2d    66 69 6c 65 20 63 6f 76 65 72 29 0a 20 20 20 20  | ).........(find-file.cover)..... | 
| 3f920 |  20 20 3b 3b 20 28 6d 65 73 73 61 67 65 20 22 4e    6f 20 63 6f 76 65 72 22 29 0a 20 20 20 20 20 20  | ..;;.(message."No.cover")....... | 
| 3f940 |  29 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 63    61 6c 69 62 72 65 64 62 2d 61 6c 6c 20 28 66 69  | )))..(defmacro.calibredb-all.(fi | 
| 3f960 |  65 6c 64 29 0a 20 20 22 4d 61 63 72 6f 20 6f 66    20 66 75 6e 63 74 69 6f 6e 20 63 61 6c 69 62 72  | eld)..."Macro.of.function.calibr | 
| 3f980 |  65 64 62 2d 61 6c 6c 2d 46 49 45 4c 44 2e 0a 41    72 67 75 6d 65 6e 74 20 46 49 45 4c 44 20 74 61  | edb-all-FIELD..Argument.FIELD.ta | 
| 3f9a0 |  62 6c 65 20 6e 61 6d 65 20 69 6e 20 64 61 74 61    62 61 73 65 2e 22 0a 20 20 60 28 64 65 66 75 6e  | ble.name.in.database."...`(defun | 
| 3f9c0 |  20 2c 28 69 6e 74 65 72 6e 20 28 66 6f 72 6d 61    74 20 22 63 61 6c 69 62 72 65 64 62 2d 61 6c 6c  | .,(intern.(format."calibredb-all | 
| 3f9e0 |  2d 25 73 22 20 66 69 65 6c 64 29 29 20 28 29 0a    20 20 20 20 20 2c 28 66 6f 72 6d 61 74 20 22 47  | -%s".field)).()......,(format."G | 
| 3fa00 |  65 74 20 61 6c 6c 20 25 73 20 61 6e 64 20 72 65    74 75 72 6e 20 61 73 20 61 20 6c 69 73 74 2e 22  | et.all.%s.and.return.as.a.list." | 
| 3fa20 |  20 66 69 65 6c 64 29 0a 20 20 20 20 20 28 73 65    71 2d 75 6e 69 71 0a 20 20 20 20 20 20 28 6c 65  | .field)......(seq-uniq.......(le | 
| 3fa40 |  74 20 28 6c 29 0a 20 20 20 20 20 20 20 20 28 63    6c 2d 6c 6f 6f 70 20 66 6f 72 20 69 74 65 6d 20  | t.(l).........(cl-loop.for.item. | 
| 3fa60 |  69 6e 20 28 63 61 6c 69 62 72 65 64 62 2d 63 61    6e 64 69 64 61 74 65 73 20 3a 64 69 73 74 69 6e  | in.(calibredb-candidates.:distin | 
| 3fa80 |  63 74 20 2c 28 66 6f 72 6d 61 74 20 22 25 73 22    20 66 69 65 6c 64 20 29 29 20 64 6f 0a 20 20 20  | ct.,(format."%s".field.)).do.... | 
| 3faa0 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69    66 20 28 6c 69 73 74 70 20 69 74 65 6d 29 0a 20  | ..............(if.(listp.item).. | 
| 3fac0 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 28 69 66 20 28 63 61 72 20 69 74 65  | ....................(if.(car.ite | 
| 3fae0 |  6d 29 20 28 73 65 74 71 20 6c 20 28 61 70 70 65    6e 64 20 28 73 70 6c 69 74 2d 73 74 72 69 6e 67  | m).(setq.l.(append.(split-string | 
| 3fb00 |  20 28 63 61 72 20 69 74 65 6d 20 29 20 22 2c 22    29 20 6c 29 29 20 22 22 20 29 0a 20 20 20 20 20  | .(car.item.).",").l))."".)...... | 
| 3fb20 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73    65 74 71 20 6c 20 28 61 70 70 65 6e 64 20 28 73  | ..............(setq.l.(append.(s | 
| 3fb40 |  70 6c 69 74 2d 73 74 72 69 6e 67 20 69 74 65 6d    20 22 2c 22 29 20 6c 29 29 29 29 20 6c 29 29 29  | plit-string.item.",").l)))).l))) | 
| 3fb60 |  29 0a 0a 28 63 61 6c 69 62 72 65 64 62 2d 61 6c    6c 20 22 69 64 22 29 0a 28 63 61 6c 69 62 72 65  | )..(calibredb-all."id").(calibre | 
| 3fb80 |  64 62 2d 61 6c 6c 20 22 61 75 74 68 6f 72 5f 73    6f 72 74 22 29 0a 28 63 61 6c 69 62 72 65 64 62  | db-all."author_sort").(calibredb | 
| 3fba0 |  2d 61 6c 6c 20 22 70 61 74 68 22 29 0a 28 63 61    6c 69 62 72 65 64 62 2d 61 6c 6c 20 22 6e 61 6d  | -all."path").(calibredb-all."nam | 
| 3fbc0 |  65 22 29 0a 28 63 61 6c 69 62 72 65 64 62 2d 61    6c 6c 20 22 66 6f 72 6d 61 74 22 29 0a 28 63 61  | e").(calibredb-all."format").(ca | 
| 3fbe0 |  6c 69 62 72 65 64 62 2d 61 6c 6c 20 22 70 75 62    64 61 74 65 22 29 0a 28 63 61 6c 69 62 72 65 64  | libredb-all."pubdate").(calibred | 
| 3fc00 |  62 2d 61 6c 6c 20 22 74 69 74 6c 65 22 29 0a 28    63 61 6c 69 62 72 65 64 62 2d 61 6c 6c 20 22 74  | b-all."title").(calibredb-all."t | 
| 3fc20 |  61 67 22 29 0a 28 63 61 6c 69 62 72 65 64 62 2d    61 6c 6c 20 22 66 69 6c 65 2d 70 61 74 68 22 29  | ag").(calibredb-all."file-path") | 
| 3fc40 |  0a 28 63 61 6c 69 62 72 65 64 62 2d 61 6c 6c 20    22 75 6e 63 6f 6d 70 72 65 73 73 65 64 5f 73 69  | .(calibredb-all."uncompressed_si | 
| 3fc60 |  7a 65 22 29 0a 28 63 61 6c 69 62 72 65 64 62 2d    61 6c 6c 20 22 74 65 78 74 22 29 0a 28 63 61 6c  | ze").(calibredb-all."text").(cal | 
| 3fc80 |  69 62 72 65 64 62 2d 61 6c 6c 20 22 69 64 73 22    29 0a 28 63 61 6c 69 62 72 65 64 62 2d 61 6c 6c  | ibredb-all."ids").(calibredb-all | 
| 3fca0 |  20 22 70 75 62 6c 69 73 68 65 72 22 29 0a 28 63    61 6c 69 62 72 65 64 62 2d 61 6c 6c 20 22 73 65  | ."publisher").(calibredb-all."se | 
| 3fcc0 |  72 69 65 73 22 29 0a 28 63 61 6c 69 62 72 65 64    62 2d 61 6c 6c 20 22 6c 61 6e 67 5f 63 6f 64 65  | ries").(calibredb-all."lang_code | 
| 3fce0 |  22 29 0a 28 63 61 6c 69 62 72 65 64 62 2d 61 6c    6c 20 22 6c 61 73 74 5f 6d 6f 64 69 66 69 65 64  | ").(calibredb-all."last_modified | 
| 3fd00 |  22 29 0a 0a 28 64 65 66 75 6e 20 63 61 6c 69 62    72 65 64 62 2d 66 69 6c 74 65 72 2d 62 79 2d 74  | ")..(defun.calibredb-filter-by-t | 
| 3fd20 |  61 67 20 28 29 0a 20 20 22 46 69 6c 74 65 72 20    72 65 73 75 6c 74 73 20 62 79 20 74 61 67 2e 22  | ag.()..."Filter.results.by.tag." | 
| 3fd40 |  0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29    0a 20 20 28 6c 65 74 20 28 28 74 61 67 20 28 63  | ...(interactive)...(let.((tag.(c | 
| 3fd60 |  6f 6d 70 6c 65 74 69 6e 67 2d 72 65 61 64 20 22    53 65 6c 65 63 74 20 74 61 67 3a 20 22 20 28 63  | ompleting-read."Select.tag:.".(c | 
| 3fd80 |  61 6c 69 62 72 65 64 62 2d 61 6c 6c 2d 74 61 67    29 29 29 29 0a 20 20 20 20 28 73 65 74 71 20 63  | alibredb-all-tag)))).....(setq.c | 
| 3fda0 |  61 6c 69 62 72 65 64 62 2d 74 61 67 2d 66 69 6c    74 65 72 2d 70 20 74 29 0a 20 20 20 20 28 73 65  | alibredb-tag-filter-p.t).....(se | 
| 3fdc0 |  74 71 20 63 61 6c 69 62 72 65 64 62 2d 66 61 76    6f 72 69 74 65 2d 66 69 6c 74 65 72 2d 70 20 6e  | tq.calibredb-favorite-filter-p.n | 
| 3fde0 |  69 6c 29 0a 20 20 20 20 28 73 65 74 71 20 63 61    6c 69 62 72 65 64 62 2d 61 75 74 68 6f 72 2d 66  | il).....(setq.calibredb-author-f | 
| 3fe00 |  69 6c 74 65 72 2d 70 20 6e 69 6c 29 0a 20 20 20    20 28 73 65 74 71 20 63 61 6c 69 62 72 65 64 62  | ilter-p.nil).....(setq.calibredb | 
| 3fe20 |  2d 64 61 74 65 2d 66 69 6c 74 65 72 2d 70 20 6e    69 6c 29 0a 20 20 20 20 28 73 65 74 71 20 63 61  | -date-filter-p.nil).....(setq.ca | 
| 3fe40 |  6c 69 62 72 65 64 62 2d 66 6f 72 6d 61 74 2d 66    69 6c 74 65 72 2d 70 20 6e 69 6c 29 0a 20 20 20  | libredb-format-filter-p.nil).... | 
| 3fe60 |  20 28 73 65 74 71 20 63 61 6c 69 62 72 65 64 62    2d 73 65 61 72 63 68 2d 63 75 72 72 65 6e 74 2d  | .(setq.calibredb-search-current- | 
| 3fe80 |  70 61 67 65 20 31 29 0a 20 20 20 20 28 63 61 6c    69 62 72 65 64 62 2d 73 65 61 72 63 68 2d 6b 65  | page.1).....(calibredb-search-ke | 
| 3fea0 |  79 77 6f 72 64 2d 66 69 6c 74 65 72 20 74 61 67    29 29 29 0a 0a 28 64 65 66 75 6e 20 63 61 6c 69  | yword-filter.tag)))..(defun.cali | 
| 3fec0 |  62 72 65 64 62 2d 66 69 6c 74 65 72 2d 62 79 2d    61 75 74 68 6f 72 2d 73 6f 72 74 20 28 29 0a 20  | bredb-filter-by-author-sort.().. | 
| 3fee0 |  20 22 46 69 6c 74 65 72 20 72 65 73 75 6c 74 73    20 62 79 20 61 75 74 68 6f 72 2d 73 6f 72 74 2e  | ."Filter.results.by.author-sort. | 
| 3ff00 |  22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65    29 0a 20 20 28 6c 65 74 20 28 28 61 75 74 68 6f  | "...(interactive)...(let.((autho | 
| 3ff20 |  72 20 28 63 6f 6d 70 6c 65 74 69 6e 67 2d 72 65    61 64 20 22 53 65 6c 65 63 74 20 61 75 74 68 6f  | r.(completing-read."Select.autho | 
| 3ff40 |  72 3a 20 22 20 28 63 61 6c 69 62 72 65 64 62 2d    61 6c 6c 2d 61 75 74 68 6f 72 5f 73 6f 72 74 29  | r:.".(calibredb-all-author_sort) | 
| 3ff60 |  29 29 29 0a 20 20 20 20 28 73 65 74 71 20 63 61    6c 69 62 72 65 64 62 2d 74 61 67 2d 66 69 6c 74  | ))).....(setq.calibredb-tag-filt | 
| 3ff80 |  65 72 2d 70 20 6e 69 6c 29 0a 20 20 20 20 28 73    65 74 71 20 63 61 6c 69 62 72 65 64 62 2d 66 61  | er-p.nil).....(setq.calibredb-fa | 
| 3ffa0 |  76 6f 72 69 74 65 2d 66 69 6c 74 65 72 2d 70 20    6e 69 6c 29 0a 20 20 20 20 28 73 65 74 71 20 63  | vorite-filter-p.nil).....(setq.c | 
| 3ffc0 |  61 6c 69 62 72 65 64 62 2d 61 75 74 68 6f 72 2d    66 69 6c 74 65 72 2d 70 20 74 29 0a 20 20 20 20  | alibredb-author-filter-p.t)..... | 
| 3ffe0 |  28 73 65 74 71 20 63 61 6c 69 62 72 65 64 62 2d    64 61 74 65 2d 66 69 6c 74 65 72 2d 70 20 6e 69  | (setq.calibredb-date-filter-p.ni | 
| 40000 |  6c 29 0a 20 20 20 20 28 73 65 74 71 20 63 61 6c    69 62 72 65 64 62 2d 66 6f 72 6d 61 74 2d 66 69  | l).....(setq.calibredb-format-fi | 
| 40020 |  6c 74 65 72 2d 70 20 6e 69 6c 29 0a 20 20 20 20    28 73 65 74 71 20 63 61 6c 69 62 72 65 64 62 2d  | lter-p.nil).....(setq.calibredb- | 
| 40040 |  73 65 61 72 63 68 2d 63 75 72 72 65 6e 74 2d 70    61 67 65 20 31 29 0a 20 20 20 20 28 63 61 6c 69  | search-current-page.1).....(cali | 
| 40060 |  62 72 65 64 62 2d 73 65 61 72 63 68 2d 6b 65 79    77 6f 72 64 2d 66 69 6c 74 65 72 20 61 75 74 68  | bredb-search-keyword-filter.auth | 
| 40080 |  6f 72 29 29 29 0a 0a 28 64 65 66 75 6e 20 63 61    6c 69 62 72 65 64 62 2d 66 69 6c 74 65 72 2d 62  | or)))..(defun.calibredb-filter-b | 
| 400a0 |  79 2d 6c 61 73 74 5f 6d 6f 64 69 66 69 65 64 20    28 29 0a 20 20 22 46 69 6c 74 65 72 20 72 65 73  | y-last_modified.()..."Filter.res | 
| 400c0 |  75 6c 74 73 20 62 79 20 6c 61 73 74 5f 6d 6f 64    69 66 69 65 64 20 64 61 74 65 2e 22 0a 20 20 28  | ults.by.last_modified.date."...( | 
| 400e0 |  69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28    6c 65 74 20 28 28 64 61 74 65 20 28 63 6f 6d 70  | interactive)...(let.((date.(comp | 
| 40100 |  6c 65 74 69 6e 67 2d 72 65 61 64 20 22 53 65 6c    65 63 74 20 64 61 74 65 3a 20 22 20 28 73 65 71  | leting-read."Select.date:.".(seq | 
| 40120 |  2d 75 6e 69 71 20 28 6d 61 70 63 61 72 20 28 6c    61 6d 62 64 61 20 28 64 61 74 65 29 20 28 73 2d  | -uniq.(mapcar.(lambda.(date).(s- | 
| 40140 |  6c 65 66 74 20 31 30 20 64 61 74 65 29 29 20 28    63 61 6c 69 62 72 65 64 62 2d 61 6c 6c 2d 6c 61  | left.10.date)).(calibredb-all-la | 
| 40160 |  73 74 5f 6d 6f 64 69 66 69 65 64 29 29 29 29 29    29 0a 20 20 20 20 28 73 65 74 71 20 63 61 6c 69  | st_modified)))))).....(setq.cali | 
| 40180 |  62 72 65 64 62 2d 74 61 67 2d 66 69 6c 74 65 72    2d 70 20 6e 69 6c 29 0a 20 20 20 20 28 73 65 74  | bredb-tag-filter-p.nil).....(set | 
| 401a0 |  71 20 63 61 6c 69 62 72 65 64 62 2d 66 61 76 6f    72 69 74 65 2d 66 69 6c 74 65 72 2d 70 20 6e 69  | q.calibredb-favorite-filter-p.ni | 
| 401c0 |  6c 29 0a 20 20 20 20 28 73 65 74 71 20 63 61 6c    69 62 72 65 64 62 2d 61 75 74 68 6f 72 2d 66 69  | l).....(setq.calibredb-author-fi | 
| 401e0 |  6c 74 65 72 2d 70 20 6e 69 6c 29 0a 20 20 20 20    28 73 65 74 71 20 63 61 6c 69 62 72 65 64 62 2d  | lter-p.nil).....(setq.calibredb- | 
| 40200 |  64 61 74 65 2d 66 69 6c 74 65 72 2d 70 20 74 29    0a 20 20 20 20 28 73 65 74 71 20 63 61 6c 69 62  | date-filter-p.t).....(setq.calib | 
| 40220 |  72 65 64 62 2d 66 6f 72 6d 61 74 2d 66 69 6c 74    65 72 2d 70 20 6e 69 6c 29 0a 20 20 20 20 28 73  | redb-format-filter-p.nil).....(s | 
| 40240 |  65 74 71 20 63 61 6c 69 62 72 65 64 62 2d 73 65    61 72 63 68 2d 63 75 72 72 65 6e 74 2d 70 61 67  | etq.calibredb-search-current-pag | 
| 40260 |  65 20 31 29 0a 20 20 20 20 28 63 61 6c 69 62 72    65 64 62 2d 73 65 61 72 63 68 2d 6b 65 79 77 6f  | e.1).....(calibredb-search-keywo | 
| 40280 |  72 64 2d 66 69 6c 74 65 72 20 64 61 74 65 29 29    29 0a 0a 0a 28 64 65 66 75 6e 20 63 61 6c 69 62  | rd-filter.date)))...(defun.calib | 
| 402a0 |  72 65 64 62 2d 66 69 6c 74 65 72 2d 62 79 2d 62    6f 6f 6b 2d 66 6f 72 6d 61 74 20 28 29 0a 20 20  | redb-filter-by-book-format.()... | 
| 402c0 |  22 46 69 6c 74 65 72 20 72 65 73 75 6c 74 73 20    62 79 20 62 6f 6f 6b 20 66 6f 72 6d 61 74 2e 22  | "Filter.results.by.book.format." | 
| 402e0 |  0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29    0a 20 20 28 6c 65 74 20 28 28 66 6f 72 6d 61 74  | ...(interactive)...(let.((format | 
| 40300 |  20 28 63 6f 6d 70 6c 65 74 69 6e 67 2d 72 65 61    64 20 22 53 65 6c 65 63 74 20 66 6f 72 6d 61 74  | .(completing-read."Select.format | 
| 40320 |  3a 20 22 20 28 63 61 6c 69 62 72 65 64 62 2d 61    6c 6c 2d 66 6f 72 6d 61 74 29 29 29 29 0a 20 20  | :.".(calibredb-all-format))))... | 
| 40340 |  20 20 28 73 65 74 71 20 63 61 6c 69 62 72 65 64    62 2d 74 61 67 2d 66 69 6c 74 65 72 2d 70 20 6e  | ..(setq.calibredb-tag-filter-p.n | 
| 40360 |  69 6c 29 0a 20 20 20 20 28 73 65 74 71 20 63 61    6c 69 62 72 65 64 62 2d 66 61 76 6f 72 69 74 65  | il).....(setq.calibredb-favorite | 
| 40380 |  2d 66 69 6c 74 65 72 2d 70 20 6e 69 6c 29 0a 20    20 20 20 28 73 65 74 71 20 63 61 6c 69 62 72 65  | -filter-p.nil).....(setq.calibre | 
| 403a0 |  64 62 2d 61 75 74 68 6f 72 2d 66 69 6c 74 65 72    2d 70 20 6e 69 6c 29 0a 20 20 20 20 28 73 65 74  | db-author-filter-p.nil).....(set | 
| 403c0 |  71 20 63 61 6c 69 62 72 65 64 62 2d 64 61 74 65    2d 66 69 6c 74 65 72 2d 70 20 6e 69 6c 29 0a 20  | q.calibredb-date-filter-p.nil).. | 
| 403e0 |  20 20 20 28 73 65 74 71 20 63 61 6c 69 62 72 65    64 62 2d 66 6f 72 6d 61 74 2d 66 69 6c 74 65 72  | ...(setq.calibredb-format-filter | 
| 40400 |  2d 70 20 74 29 0a 20 20 20 20 28 73 65 74 71 20    63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68  | -p.t).....(setq.calibredb-search | 
| 40420 |  2d 63 75 72 72 65 6e 74 2d 70 61 67 65 20 31 29    0a 20 20 20 20 28 63 61 6c 69 62 72 65 64 62 2d  | -current-page.1).....(calibredb- | 
| 40440 |  73 65 61 72 63 68 2d 6b 65 79 77 6f 72 64 2d 66    69 6c 74 65 72 20 66 6f 72 6d 61 74 29 29 29 0a  | search-keyword-filter.format))). | 
| 40460 |  0a 28 64 65 66 75 6e 20 63 61 6c 69 62 72 65 64    62 2d 61 74 74 61 63 68 2d 69 63 6f 6e 2d 66 6f  | .(defun.calibredb-attach-icon-fo | 
| 40480 |  72 20 28 70 61 74 68 29 0a 20 20 22 52 65 74 75    72 6e 20 74 68 65 20 69 63 6f 6e 20 62 61 73 65  | r.(path)..."Return.the.icon.base | 
| 404a0 |  64 20 6f 6e 20 50 41 54 48 2e 22 0a 20 20 28 63    68 61 72 2d 74 6f 2d 73 74 72 69 6e 67 0a 20 20  | d.on.PATH."...(char-to-string... | 
| 404c0 |  20 28 70 63 61 73 65 20 28 64 6f 77 6e 63 61 73    65 20 28 66 69 6c 65 2d 6e 61 6d 65 2d 65 78 74  | .(pcase.(downcase.(file-name-ext | 
| 404e0 |  65 6e 73 69 6f 6e 20 70 61 74 68 29 29 0a 20 20    20 20 20 28 28 6f 72 20 22 6a 70 67 22 20 22 6a  | ension.path))......((or."jpg"."j | 
| 40500 |  70 65 67 22 20 22 70 6e 67 22 20 22 67 69 66 22    29 20 3f ef 87 85 29 0a 20 20 20 20 20 28 22 70  | peg"."png"."gif").?...)......("p | 
| 40520 |  64 66 22 20 3f ef 87 81 29 0a 20 20 20 20 20 28    28 6f 72 20 22 70 70 74 22 20 22 70 70 74 78 22  | df".?...)......((or."ppt"."pptx" | 
| 40540 |  29 20 3f ef 87 84 29 0a 20 20 20 20 20 28 28 6f    72 20 22 78 6c 73 22 20 22 78 6c 73 78 22 29 20  | ).?...)......((or."xls"."xlsx"). | 
| 40560 |  3f ef 87 83 29 0a 20 20 20 20 20 28 28 6f 72 20    22 64 6f 63 22 20 22 64 6f 63 78 22 29 20 3f ef  | ?...)......((or."doc"."docx").?. | 
| 40580 |  87 82 29 0a 20 20 20 20 20 28 28 6f 72 20 22 6f    67 67 22 20 22 6d 70 33 22 20 22 77 61 76 22 20  | ..)......((or."ogg"."mp3"."wav". | 
| 405a0 |  22 61 69 66 66 22 20 22 66 6c 61 63 22 29 20 3f    ef 87 87 29 0a 20 20 20 20 20 28 28 6f 72 20 22  | "aiff"."flac").?...)......((or." | 
| 405c0 |  6d 70 34 22 20 22 6d 6f 76 22 20 22 61 76 69 22    29 20 3f ef 87 88 29 0a 20 20 20 20 20 28 28 6f  | mp4"."mov"."avi").?...)......((o | 
| 405e0 |  72 20 22 7a 69 70 22 20 22 67 7a 22 20 22 74 61    72 22 20 22 37 7a 22 20 22 72 61 72 22 29 20 3f  | r."zip"."gz"."tar"."7z"."rar").? | 
| 40600 |  ef 87 86 29 0a 20 20 20 20 20 28 5f 20 3f ef 80    96 29 29 29 29 0a 0a 28 70 72 6f 76 69 64 65 20  | ...)......(_.?...))))..(provide. | 
| 40620 |  27 63 61 6c 69 62 72 65 64 62 2d 75 74 69 6c 73    29 0a 0a 3b 3b 3b 20 63 61 6c 69 62 72 65 64 62  | 'calibredb-utils)..;;;.calibredb | 
| 40640 |  2d 75 74 69 6c 73 2e 65 6c 20 65 6e 64 73 20 68    65 72 65 0a 00 00 00 00 00 00 00 00 00 00 00 00  | -utils.el.ends.here............. | 
| 40660 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 40680 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 406a0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 406c0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 406e0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 40700 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 40720 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 40740 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 40760 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 40780 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 407a0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 407c0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 407e0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 40800 |  63 61 6c 69 62 72 65 64 62 2d 32 30 32 35 30 37    30 35 2e 32 32 35 2f 63 61 6c 69 62 72 65 64 62  | calibredb-20250705.225/calibredb | 
| 40820 |  2e 65 6c 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | .el............................. | 
| 40840 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 40860 |  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 | 
| 40880 |  30 30 30 37 37 35 31 00 30 30 30 30 30 30 30 30    30 30 30 00 30 31 35 31 30 30 00 20 30 00 00 00  | 0007751.00000000000.015100..0... | 
| 408a0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 408c0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 408e0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 40900 |  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................... | 
| 40920 |  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................... | 
| 40940 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 40960 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 40980 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 409a0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 409c0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 409e0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 40a00 |  3b 3b 3b 20 63 61 6c 69 62 72 65 64 62 2e 65 6c    20 2d 2d 2d 20 59 65 74 20 61 6e 6f 74 68 65 72  | ;;;.calibredb.el.---.Yet.another | 
| 40a20 |  20 63 61 6c 69 62 72 65 20 63 6c 69 65 6e 74 20    2d 2a 2d 20 6c 65 78 69 63 61 6c 2d 62 69 6e 64  | .calibre.client.-*-.lexical-bind | 
| 40a40 |  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 29 20 32 30  | ing:.t;.-*-..;;.Copyright.(C).20 | 
| 40a60 |  32 30 20 44 61 6d 6f 6e 20 43 68 61 6e 0a 0a 3b    3b 20 41 75 74 68 6f 72 3a 20 44 61 6d 6f 6e 20  | 20.Damon.Chan..;;.Author:.Damon. | 
| 40a80 |  43 68 61 6e 20 3c 65 6c 65 63 6d 69 6e 67 40 67    6d 61 69 6c 2e 63 6f 6d 3e 0a 3b 3b 20 55 52 4c  | Chan.<elecming@gmail.com>.;;.URL | 
| 40aa0 |  3a 20 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62    2e 63 6f 6d 2f 63 68 65 6e 79 61 6e 6d 69 6e 67  | :.https://github.com/chenyanming | 
| 40ac0 |  2f 63 61 6c 69 62 72 65 64 62 2e 65 6c 0a 3b 3b    20 4b 65 79 77 6f 72 64 73 3a 20 74 6f 6f 6c 73  | /calibredb.el.;;.Keywords:.tools | 
| 40ae0 |  0a 3b 3b 20 43 72 65 61 74 65 64 3a 20 39 20 4d    61 79 20 32 30 32 30 0a 3b 3b 20 50 61 63 6b 61  | .;;.Created:.9.May.2020.;;.Packa | 
| 40b00 |  67 65 2d 56 65 72 73 69 6f 6e 3a 20 32 30 32 35    30 37 30 35 2e 32 32 35 0a 3b 3b 20 50 61 63 6b  | ge-Version:.20250705.225.;;.Pack | 
| 40b20 |  61 67 65 2d 52 65 76 69 73 69 6f 6e 3a 20 62 62    63 39 64 35 37 33 64 35 35 33 0a 3b 3b 20 50 61  | age-Revision:.bbc9d573d553.;;.Pa | 
| 40b40 |  63 6b 61 67 65 2d 52 65 71 75 69 72 65 73 3a 20    28 28 65 6d 61 63 73 20 22 32 39 2e 31 22 29 20  | ckage-Requires:.((emacs."29.1"). | 
| 40b60 |  28 6f 72 67 20 22 39 2e 33 22 29 20 28 74 72 61    6e 73 69 65 6e 74 20 22 30 2e 31 2e 30 22 29 20  | (org."9.3").(transient."0.1.0"). | 
| 40b80 |  28 73 20 22 31 2e 31 32 2e 30 22 29 20 28 64 61    73 68 20 22 32 2e 31 37 2e 30 22 29 20 28 72 65  | (s."1.12.0").(dash."2.17.0").(re | 
| 40ba0 |  71 75 65 73 74 20 22 30 2e 33 2e 33 22 29 20 28    65 73 78 6d 6c 20 22 30 2e 33 2e 37 22 29 29 0a  | quest."0.3.3").(esxml."0.3.7")). | 
| 40bc0 |  3b 3b 0a 3b 3b 20 54 68 69 73 20 66 69 6c 65 20    69 73 20 4e 4f 54 20 70 61 72 74 20 6f 66 20 47  | ;;.;;.This.file.is.NOT.part.of.G | 
| 40be0 |  4e 55 20 45 6d 61 63 73 2e 0a 0a 3b 3b 20 54 68    69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 66 72  | NU.Emacs...;;.This.program.is.fr | 
| 40c00 |  65 65 20 73 6f 66 74 77 61 72 65 3b 20 79 6f 75    20 63 61 6e 20 72 65 64 69 73 74 72 69 62 75 74  | ee.software;.you.can.redistribut | 
| 40c20 |  65 20 69 74 20 61 6e 64 2f 6f 72 20 6d 6f 64 69    66 79 0a 3b 3b 20 69 74 20 75 6e 64 65 72 20 74  | e.it.and/or.modify.;;.it.under.t | 
| 40c40 |  68 65 20 74 65 72 6d 73 20 6f 66 20 74 68 65 20    47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c  | he.terms.of.the.GNU.General.Publ | 
| 40c60 |  69 63 20 4c 69 63 65 6e 73 65 20 61 73 20 70 75    62 6c 69 73 68 65 64 20 62 79 0a 3b 3b 20 74 68  | ic.License.as.published.by.;;.th | 
| 40c80 |  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 65 69 74 68  | e.Free.Software.Foundation,.eith | 
| 40ca0 |  65 72 20 76 65 72 73 69 6f 6e 20 33 20 6f 66 20    74 68 65 20 4c 69 63 65 6e 73 65 2c 20 6f 72 0a  | er.version.3.of.the.License,.or. | 
| 40cc0 |  3b 3b 20 28 61 74 20 79 6f 75 72 20 6f 70 74 69    6f 6e 29 20 61 6e 79 20 6c 61 74 65 72 20 76 65  | ;;.(at.your.option).any.later.ve | 
| 40ce0 |  72 73 69 6f 6e 2e 0a 0a 3b 3b 20 54 68 69 73 20    70 72 6f 67 72 61 6d 20 69 73 20 64 69 73 74 72  | rsion...;;.This.program.is.distr | 
| 40d00 |  69 62 75 74 65 64 20 69 6e 20 74 68 65 20 68 6f    70 65 20 74 68 61 74 20 69 74 20 77 69 6c 6c 20  | ibuted.in.the.hope.that.it.will. | 
| 40d20 |  62 65 20 75 73 65 66 75 6c 2c 0a 3b 3b 20 62 75    74 20 57 49 54 48 4f 55 54 20 41 4e 59 20 57 41  | be.useful,.;;.but.WITHOUT.ANY.WA | 
| 40d40 |  52 52 41 4e 54 59 3b 20 77 69 74 68 6f 75 74 20    65 76 65 6e 20 74 68 65 20 69 6d 70 6c 69 65 64  | RRANTY;.without.even.the.implied | 
| 40d60 |  20 77 61 72 72 61 6e 74 79 20 6f 66 0a 3b 3b 20    4d 45 52 43 48 41 4e 54 41 42 49 4c 49 54 59 20  | .warranty.of.;;.MERCHANTABILITY. | 
| 40d80 |  6f 72 20 46 49 54 4e 45 53 53 20 46 4f 52 20 41    20 50 41 52 54 49 43 55 4c 41 52 20 50 55 52 50  | or.FITNESS.FOR.A.PARTICULAR.PURP | 
| 40da0 |  4f 53 45 2e 20 20 53 65 65 20 74 68 65 0a 3b 3b    20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62  | OSE...See.the.;;.GNU.General.Pub | 
| 40dc0 |  6c 69 63 20 4c 69 63 65 6e 73 65 20 66 6f 72 20    6d 6f 72 65 20 64 65 74 61 69 6c 73 2e 0a 0a 3b  | lic.License.for.more.details...; | 
| 40de0 |  3b 20 59 6f 75 20 73 68 6f 75 6c 64 20 68 61 76    65 20 72 65 63 65 69 76 65 64 20 61 20 63 6f 70  | ;.You.should.have.received.a.cop | 
| 40e00 |  79 20 6f 66 20 74 68 65 20 47 4e 55 20 47 65 6e    65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65  | y.of.the.GNU.General.Public.Lice | 
| 40e20 |  6e 73 65 0a 3b 3b 20 61 6c 6f 6e 67 20 77 69 74    68 20 74 68 69 73 20 70 72 6f 67 72 61 6d 2e 20  | nse.;;.along.with.this.program.. | 
| 40e40 |  20 49 66 20 6e 6f 74 2c 20 73 65 65 20 3c 68 74    74 70 73 3a 2f 2f 77 77 77 2e 67 6e 75 2e 6f 72  | .If.not,.see.<https://www.gnu.or | 
| 40e60 |  67 2f 6c 69 63 65 6e 73 65 73 2f 3e 2e 0a 0a 3b    3b 3b 20 43 6f 6d 6d 65 6e 74 61 72 79 3a 0a 0a  | g/licenses/>...;;;.Commentary:.. | 
| 40e80 |  3b 3b 20 59 65 74 20 61 6e 6f 74 68 65 72 20 5b    5b 68 74 74 70 73 3a 2f 2f 63 61 6c 69 62 72 65  | ;;.Yet.another.[[https://calibre | 
| 40ea0 |  2d 65 62 6f 6f 6b 2e 63 6f 6d 2f 5d 5b 63 61 6c    69 62 72 65 5d 5d 20 45 6d 61 63 73 20 63 6c 69  | -ebook.com/][calibre]].Emacs.cli | 
| 40ec0 |  65 6e 74 2e 0a 3b 3b 20 54 68 69 73 20 70 61 63    6b 61 67 65 20 69 6e 74 65 67 72 61 74 65 73 20  | ent..;;.This.package.integrates. | 
| 40ee0 |  63 61 6c 69 62 72 65 20 28 75 73 69 6e 67 20 2a    63 61 6c 69 62 72 65 64 62 2a 29 20 69 6e 74 6f  | calibre.(using.*calibredb*).into | 
| 40f00 |  20 45 6d 61 63 73 2e 0a 3b 3b 20 31 2e 20 50 6f    77 65 72 66 75 6c 20 65 62 6f 6f 6b 20 64 61 73  | .Emacs..;;.1..Powerful.ebook.das | 
| 40f20 |  68 62 6f 61 72 64 2e 0a 3b 3b 20 32 2e 20 4d 61    6e 61 67 65 20 65 62 6f 6f 6b 73 2c 20 61 63 74  | hboard..;;.2..Manage.ebooks,.act | 
| 40f40 |  75 61 6c 6c 79 20 6e 6f 74 20 6f 6e 6c 79 20 65    62 6f 6f 6b 73 21 0a 3b 3b 20 33 2e 20 4d 61 6e  | ually.not.only.ebooks!.;;.3..Man | 
| 40f60 |  61 67 65 20 45 62 6f 6f 6b 20 6c 69 62 72 61 72    69 65 73 2e 0a 3b 3b 20 34 2e 20 41 6e 6f 74 68  | age.Ebook.libraries..;;.4..Anoth | 
| 40f80 |  65 72 20 62 6f 6f 6b 6d 61 72 6b 73 20 73 6f 6c    75 74 69 6f 6e 2c 20 62 79 20 73 65 74 74 69 6e  | er.bookmarks.solution,.by.settin | 
| 40fa0 |  67 20 74 68 65 20 74 61 67 73 20 61 6e 64 20 63    6f 6d 6d 65 6e 74 73 2e 0a 3b 3b 20 35 2e 20 51  | g.the.tags.and.comments..;;.5..Q | 
| 40fc0 |  75 69 63 6b 20 73 65 61 72 63 68 2c 20 66 69 6c    74 65 72 2c 20 6d 61 6b 65 20 61 63 74 69 6f 6e  | uick.search,.filter,.make.action | 
| 40fe0 |  73 20 6f 6e 20 69 74 65 6d 73 20 77 69 74 68 20    69 76 79 20 61 6e 64 20 68 65 6c 6d 2e 0a 3b 3b  | s.on.items.with.ivy.and.helm..;; | 
| 41000 |  20 36 2e 20 4f 72 67 2d 72 65 66 20 73 75 70 70    6f 72 74 2e 0a 0a 0a 3b 3b 3b 20 43 6f 64 65 3a  | .6..Org-ref.support....;;;.Code: | 
| 41020 |  0a 0a 28 72 65 71 75 69 72 65 20 27 63 61 6c 69    62 72 65 64 62 2d 63 6f 72 65 29 0a 28 72 65 71  | ..(require.'calibredb-core).(req | 
| 41040 |  75 69 72 65 20 27 63 61 6c 69 62 72 65 64 62 2d    66 61 63 65 73 29 0a 28 72 65 71 75 69 72 65 20  | uire.'calibredb-faces).(require. | 
| 41060 |  27 63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63    68 29 0a 28 72 65 71 75 69 72 65 20 27 63 61 6c  | 'calibredb-search).(require.'cal | 
| 41080 |  69 62 72 65 64 62 2d 73 68 6f 77 29 0a 28 72 65    71 75 69 72 65 20 27 63 61 6c 69 62 72 65 64 62  | ibredb-show).(require.'calibredb | 
| 410a0 |  2d 68 65 6c 6d 29 0a 28 72 65 71 75 69 72 65 20    27 63 61 6c 69 62 72 65 64 62 2d 69 76 79 29 0a  | -helm).(require.'calibredb-ivy). | 
| 410c0 |  28 72 65 71 75 69 72 65 20 27 63 61 6c 69 62 72    65 64 62 2d 75 74 69 6c 73 29 0a 28 72 65 71 75  | (require.'calibredb-utils).(requ | 
| 410e0 |  69 72 65 20 27 63 61 6c 69 62 72 65 64 62 2d 61    6e 6e 6f 74 61 74 69 6f 6e 29 0a 28 72 65 71 75  | ire.'calibredb-annotation).(requ | 
| 41100 |  69 72 65 20 27 63 61 6c 69 62 72 65 64 62 2d 74    72 61 6e 73 69 65 6e 74 29 0a 28 72 65 71 75 69  | ire.'calibredb-transient).(requi | 
| 41120 |  72 65 20 27 63 61 6c 69 62 72 65 64 62 2d 6c 69    62 72 61 72 79 29 0a 28 72 65 71 75 69 72 65 20  | re.'calibredb-library).(require. | 
| 41140 |  27 63 61 6c 69 62 72 65 64 62 2d 6f 72 67 29 0a    28 72 65 71 75 69 72 65 20 27 63 61 6c 69 62 72  | 'calibredb-org).(require.'calibr | 
| 41160 |  65 64 62 2d 6f 70 64 73 29 0a 28 72 65 71 75 69    72 65 20 27 63 61 6c 69 62 72 65 64 62 2d 63 6f  | edb-opds).(require.'calibredb-co | 
| 41180 |  6e 73 75 6c 74 29 0a 28 72 65 71 75 69 72 65 20    27 63 61 6c 69 62 72 65 64 62 2d 64 69 72 65 64  | nsult).(require.'calibredb-dired | 
| 411a0 |  29 0a 28 72 65 71 75 69 72 65 20 27 63 61 6c 69    62 72 65 64 62 2d 66 6f 6c 64 65 72 29 0a 0a 3b  | ).(require.'calibredb-folder)..; | 
| 411c0 |  3b 3b 23 23 23 61 75 74 6f 6c 6f 61 64 0a 28 64    65 66 75 6e 20 63 61 6c 69 62 72 65 64 62 20 28  | ;;###autoload.(defun.calibredb.( | 
| 411e0 |  29 0a 20 20 22 45 6e 74 65 72 20 63 61 6c 69 62    72 65 20 53 65 61 72 63 68 20 42 75 66 66 65 72  | )..."Enter.calibre.Search.Buffer | 
| 41200 |  2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76    65 29 0a 20 20 3b 3b 20 53 65 74 20 76 69 72 74  | ."...(interactive)...;;.Set.virt | 
| 41220 |  75 61 6c 20 6c 69 62 72 61 72 79 20 6e 61 6d 65    20 77 68 65 6e 20 74 68 65 20 66 69 72 73 74 20  | ual.library.name.when.the.first. | 
| 41240 |  74 69 6d 65 20 74 6f 20 6c 61 75 6e 63 68 20 63    61 6c 69 62 72 65 64 62 0a 20 20 28 6c 65 74 2a  | time.to.launch.calibredb...(let* | 
| 41260 |  20 28 28 72 65 6d 61 69 6e 69 6e 67 20 28 63 64    72 20 28 2d 66 69 72 73 74 20 28 6c 61 6d 62 64  | .((remaining.(cdr.(-first.(lambd | 
| 41280 |  61 20 28 6c 69 62 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  | a.(lib)......................... | 
| 412a0 |  20 20 20 20 20 20 20 20 20 20 20 28 73 2d 63 6f    6e 74 61 69 6e 73 3f 20 28 63 61 72 20 6c 69 62  | ...........(s-contains?.(car.lib | 
| 412c0 |  29 20 63 61 6c 69 62 72 65 64 62 2d 72 6f 6f 74    2d 64 69 72 29 29 0a 20 20 20 20 20 20 20 20 20  | ).calibredb-root-dir)).......... | 
| 412e0 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 63 61 6c 69 62 72 65 64  | ........................calibred | 
| 41300 |  62 2d 6c 69 62 72 61 72 79 2d 61 6c 69 73 74 29    29 29 0a 20 20 20 20 20 20 20 20 20 28 6c 69 62  | b-library-alist)))..........(lib | 
| 41320 |  72 61 72 79 2d 6e 61 6d 65 20 28 6f 72 20 28 61    73 73 6f 63 2d 64 65 66 61 75 6c 74 20 27 6e 61  | rary-name.(or.(assoc-default.'na | 
| 41340 |  6d 65 20 72 65 6d 61 69 6e 69 6e 67 29 0a 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | me.remaining)................... | 
| 41360 |  20 20 20 20 20 20 20 20 20 63 61 6c 69 62 72 65    64 62 2d 76 69 72 74 75 61 6c 2d 6c 69 62 72 61  | .........calibredb-virtual-libra | 
| 41380 |  72 79 2d 64 65 66 61 75 6c 74 2d 6e 61 6d 65 29    29 29 0a 20 20 20 20 28 73 65 74 71 20 63 61 6c  | ry-default-name))).....(setq.cal | 
| 413a0 |  69 62 72 65 64 62 2d 76 69 72 74 75 61 6c 2d 6c    69 62 72 61 72 79 2d 64 65 66 61 75 6c 74 2d 6e  | ibredb-virtual-library-default-n | 
| 413c0 |  61 6d 65 20 6c 69 62 72 61 72 79 2d 6e 61 6d 65    29 0a 20 20 20 20 28 73 65 74 71 20 63 61 6c 69  | ame.library-name).....(setq.cali | 
| 413e0 |  62 72 65 64 62 2d 76 69 72 74 75 61 6c 2d 6c 69    62 72 61 72 79 2d 6e 61 6d 65 20 63 61 6c 69 62  | bredb-virtual-library-name.calib | 
| 41400 |  72 65 64 62 2d 76 69 72 74 75 61 6c 2d 6c 69 62    72 61 72 79 2d 64 65 66 61 75 6c 74 2d 6e 61 6d  | redb-virtual-library-default-nam | 
| 41420 |  65 29 29 0a 20 20 28 63 6f 6e 64 0a 20 20 20 3b    3b 20 6f 70 64 73 0a 20 20 20 28 28 73 74 72 69  | e))...(cond....;;.opds....((stri | 
| 41440 |  6e 67 2d 70 72 65 66 69 78 2d 70 20 22 68 74 74    70 22 20 63 61 6c 69 62 72 65 64 62 2d 72 6f 6f  | ng-prefix-p."http".calibredb-roo | 
| 41460 |  74 2d 64 69 72 29 0a 20 20 20 20 28 73 77 69 74    63 68 2d 74 6f 2d 62 75 66 66 65 72 20 28 63 61  | t-dir).....(switch-to-buffer.(ca | 
| 41480 |  6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2d 62    75 66 66 65 72 29 29 0a 20 20 20 20 28 67 6f 74  | libredb-search-buffer)).....(got | 
| 414a0 |  6f 2d 63 68 61 72 20 28 70 6f 69 6e 74 2d 6d 69    6e 29 29 0a 20 20 20 20 28 63 61 6c 69 62 72 65  | o-char.(point-min)).....(calibre | 
| 414c0 |  64 62 2d 72 65 66 2d 64 65 66 61 75 6c 74 2d 62    69 62 6c 69 6f 67 72 61 70 68 79 29 0a 20 20 20  | db-ref-default-bibliography).... | 
| 414e0 |  20 28 63 61 6c 69 62 72 65 64 62 2d 6f 70 64 73    2d 72 65 71 75 65 73 74 2d 70 61 67 65 20 63 61  | .(calibredb-opds-request-page.ca | 
| 41500 |  6c 69 62 72 65 64 62 2d 72 6f 6f 74 2d 64 69 72    29 29 0a 20 20 20 3b 3b 20 6d 65 74 61 64 61 74  | libredb-root-dir))....;;.metadat | 
| 41520 |  61 2e 64 62 0a 20 20 20 28 28 61 6e 64 20 28 73    74 72 69 6e 67 70 20 63 61 6c 69 62 72 65 64 62  | a.db....((and.(stringp.calibredb | 
| 41540 |  2d 64 62 2d 64 69 72 29 0a 20 20 20 20 20 20 20    20 20 28 66 69 6c 65 2d 65 78 69 73 74 73 2d 70  | -db-dir)..........(file-exists-p | 
| 41560 |  20 63 61 6c 69 62 72 65 64 62 2d 64 62 2d 64 69    72 29 0a 20 20 20 20 20 20 20 20 20 28 73 2d 63  | .calibredb-db-dir)..........(s-c | 
| 41580 |  6f 6e 74 61 69 6e 73 3f 20 22 6d 65 74 61 64 61    74 61 2e 64 62 22 20 63 61 6c 69 62 72 65 64 62  | ontains?."metadata.db".calibredb | 
| 415a0 |  2d 64 62 2d 64 69 72 29 29 0a 20 20 20 20 28 63    6f 6e 64 20 28 28 6e 75 6c 6c 20 63 61 6c 69 62  | -db-dir)).....(cond.((null.calib | 
| 415c0 |  72 65 64 62 2d 64 62 2d 64 69 72 29 0a 20 20 20    20 20 20 20 20 20 20 20 28 6d 65 73 73 61 67 65  | redb-db-dir)............(message | 
| 415e0 |  20 22 63 61 6c 69 62 72 65 64 62 3a 20 63 61 6c    69 62 72 65 64 62 2d 64 62 2d 64 69 72 20 69 73  | ."calibredb:.calibredb-db-dir.is | 
| 41600 |  20 6e 69 6c 21 20 63 61 6c 69 62 72 65 64 62 20    77 6f 6e 27 74 20 77 6f 72 6b 20 77 69 74 68 6f  | .nil!.calibredb.won't.work.witho | 
| 41620 |  75 74 20 69 74 2e 22 29 29 0a 20 20 20 20 20 20    20 20 20 20 28 28 6e 6f 74 20 28 66 69 6c 65 2d  | ut.it."))...........((not.(file- | 
| 41640 |  72 65 67 75 6c 61 72 2d 70 20 63 61 6c 69 62 72    65 64 62 2d 64 62 2d 64 69 72 29 29 0a 20 20 20  | regular-p.calibredb-db-dir)).... | 
| 41660 |  20 20 20 20 20 20 20 20 28 6d 65 73 73 61 67 65    20 22 63 61 6c 69 62 72 65 64 62 3a 20 25 73 20  | ........(message."calibredb:.%s. | 
| 41680 |  64 6f 65 73 6e 27 74 20 65 78 69 73 74 21 22 20    63 61 6c 69 62 72 65 64 62 2d 64 62 2d 64 69 72  | doesn't.exist!".calibredb-db-dir | 
| 416a0 |  29 29 0a 20 20 20 20 20 20 20 20 20 20 28 74 0a    20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28  | ))...........(t............(if.( | 
| 416c0 |  61 6e 64 20 28 66 75 6e 63 74 69 6f 6e 70 20 27    73 71 6c 69 74 65 2d 61 76 61 69 6c 61 62 6c 65  | and.(functionp.'sqlite-available | 
| 416e0 |  2d 70 29 20 28 73 71 6c 69 74 65 2d 61 76 61 69    6c 61 62 6c 65 2d 70 29 29 0a 20 20 20 20 20 20  | -p).(sqlite-available-p))....... | 
| 41700 |  20 20 20 20 20 20 20 20 20 28 75 6e 6c 65 73 73    20 28 73 71 6c 69 74 65 70 20 63 61 6c 69 62 72  | .........(unless.(sqlitep.calibr | 
| 41720 |  65 64 62 2d 64 62 2d 63 6f 6e 6e 65 63 74 69 6f    6e 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  | edb-db-connection).............. | 
| 41740 |  20 20 20 20 28 63 61 6c 69 62 72 65 64 62 2d 64    62 2d 63 6f 6e 6e 65 63 74 69 6f 6e 29 29 29 0a  | ....(calibredb-db-connection))). | 
| 41760 |  20 20 20 20 20 20 20 20 20 20 20 28 73 77 69 74    63 68 2d 74 6f 2d 62 75 66 66 65 72 20 28 63 61  | ...........(switch-to-buffer.(ca | 
| 41780 |  6c 69 62 72 65 64 62 2d 73 65 61 72 63 68 2d 62    75 66 66 65 72 29 29 0a 20 20 20 20 20 20 20 20  | libredb-search-buffer))......... | 
| 417a0 |  20 20 20 28 6c 65 74 20 28 28 63 61 6e 64 20 28    63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68  | ...(let.((cand.(calibredb-search | 
| 417c0 |  2d 6b 65 79 77 6f 72 64 2d 66 69 6c 74 65 72 20    63 61 6c 69 62 72 65 64 62 2d 73 65 61 72 63 68  | -keyword-filter.calibredb-search | 
| 417e0 |  2d 66 69 6c 74 65 72 29 29 29 0a 20 20 20 20 20    20 20 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 68  | -filter)))..............(goto-ch | 
| 41800 |  61 72 20 28 70 6f 69 6e 74 2d 6d 69 6e 29 29 0a    20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 61  | ar.(point-min))..............(ca | 
| 41820 |  6c 69 62 72 65 64 62 2d 72 65 66 2d 64 65 66 61    75 6c 74 2d 62 69 62 6c 69 6f 67 72 61 70 68 79  | libredb-ref-default-bibliography | 
| 41840 |  29 29 29 29 29 0a 20 20 20 3b 3b 20 2e 6d 65 74    61 64 61 74 61 2e 63 61 6c 69 62 72 65 0a 20 20  | )))))....;;..metadata.calibre... | 
| 41860 |  20 28 28 61 6e 64 20 28 66 69 6c 65 2d 65 78 69    73 74 73 2d 70 20 28 65 78 70 61 6e 64 2d 66 69  | .((and.(file-exists-p.(expand-fi | 
| 41880 |  6c 65 2d 6e 61 6d 65 20 22 2e 6d 65 74 61 64 61    74 61 2e 63 61 6c 69 62 72 65 22 20 63 61 6c 69  | le-name.".metadata.calibre".cali | 
| 418a0 |  62 72 65 64 62 2d 72 6f 6f 74 2d 64 69 72 29 29    29 0a 20 20 20 20 28 73 77 69 74 63 68 2d 74 6f  | bredb-root-dir))).....(switch-to | 
| 418c0 |  2d 62 75 66 66 65 72 20 28 63 61 6c 69 62 72 65    64 62 2d 73 65 61 72 63 68 2d 62 75 66 66 65 72  | -buffer.(calibredb-search-buffer | 
| 418e0 |  29 29 0a 20 20 20 20 28 67 6f 74 6f 2d 63 68 61    72 20 28 70 6f 69 6e 74 2d 6d 69 6e 29 29 0a 20  | )).....(goto-char.(point-min)).. | 
| 41900 |  20 20 20 28 63 61 6c 69 62 72 65 64 62 2d 72 65    66 2d 64 65 66 61 75 6c 74 2d 62 69 62 6c 69 6f  | ...(calibredb-ref-default-biblio | 
| 41920 |  67 72 61 70 68 79 29 0a 20 20 20 20 28 63 61 6c    69 62 72 65 64 62 2d 73 65 61 72 63 68 2d 75 70  | graphy).....(calibredb-search-up | 
| 41940 |  64 61 74 65 2d 62 75 66 66 65 72 20 3a 66 6f 6c    64 65 72 20 28 63 61 6c 69 62 72 65 64 62 2d 66  | date-buffer.:folder.(calibredb-f | 
| 41960 |  6f 6c 64 65 72 2d 63 61 6e 64 69 64 61 74 65 73    29 29 29 0a 20 20 20 28 74 0a 20 20 20 20 28 6d  | older-candidates)))....(t.....(m | 
| 41980 |  65 73 73 61 67 65 20 22 63 61 6c 69 62 72 65 64    62 3a 20 25 73 20 69 73 20 69 6e 76 61 6c 69 64  | essage."calibredb:.%s.is.invalid | 
| 419a0 |  2e 22 20 63 61 6c 69 62 72 65 64 62 2d 64 62 2d    64 69 72 29 29 29 29 0a 0a 28 70 72 6f 76 69 64  | .".calibredb-db-dir))))..(provid | 
| 419c0 |  65 20 27 63 61 6c 69 62 72 65 64 62 29 0a 3b 3b    3b 20 63 61 6c 69 62 72 65 64 62 2e 65 6c 20 65  | e.'calibredb).;;;.calibredb.el.e | 
| 419e0 |  6e 64 73 20 68 65 72 65 0a 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | nds.here........................ | 
| 41a00 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 41a20 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 41a40 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 41a60 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 41a80 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 41aa0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 41ac0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 41ae0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 41b00 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 41b20 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 41b40 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 41b60 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 41b80 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 41ba0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 41bc0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 41be0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 41c00 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 41c20 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 41c40 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 41c60 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 41c80 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 41ca0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 41cc0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 41ce0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 41d00 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 41d20 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 41d40 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 41d60 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 41d80 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 41da0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 41dc0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 41de0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 41e00 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 41e20 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 41e40 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 41e60 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 41e80 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 41ea0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 41ec0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 41ee0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 41f00 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 41f20 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 41f40 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 41f60 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 41f80 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 41fa0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 41fc0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 41fe0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 42000 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 42020 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 42040 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 42060 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 42080 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 420a0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 420c0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 420e0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 42100 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 42120 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 42140 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 42160 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 42180 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 421a0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 421c0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 421e0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 42200 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 42220 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 42240 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 42260 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 42280 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 422a0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 422c0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 422e0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 42300 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 42320 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 42340 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 42360 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 42380 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 423a0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 423c0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 423e0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 42400 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 42420 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 42440 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 42460 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 42480 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 424a0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 424c0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 424e0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 42500 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 42520 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 42540 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 42560 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 42580 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 425a0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 425c0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 425e0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 42600 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 42620 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 42640 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 42660 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 42680 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 426a0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 426c0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 426e0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 42700 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 42720 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 42740 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 42760 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 42780 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 427a0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 427c0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 427e0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 42800 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 42820 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 42840 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 42860 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 42880 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 428a0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 428c0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 428e0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 42900 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 42920 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 42940 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 42960 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 42980 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 429a0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 429c0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 429e0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 42a00 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 42a20 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 42a40 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 42a60 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 42a80 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 42aa0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 42ac0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 42ae0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 42b00 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 42b20 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 42b40 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 42b60 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 42b80 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 42ba0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 42bc0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 42be0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 42c00 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 42c20 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 42c40 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 42c60 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 42c80 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 42ca0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 42cc0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 42ce0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 42d00 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 42d20 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 42d40 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 42d60 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 42d80 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 42da0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 42dc0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 42de0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 42e00 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 42e20 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 42e40 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 42e60 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 42e80 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 42ea0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 42ec0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 42ee0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 42f00 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 42f20 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 42f40 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 42f60 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 42f80 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 42fa0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 42fc0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 42fe0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 43000 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 43020 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 43040 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 43060 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 43080 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 430a0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 430c0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 430e0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 43100 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 43120 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 43140 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 43160 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 43180 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 431a0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 431c0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 431e0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 43200 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 43220 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 43240 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 43260 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 43280 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 432a0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 432c0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 432e0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 43300 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 43320 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 43340 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 43360 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 43380 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 433a0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 433c0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 433e0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 43400 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 43420 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 43440 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 43460 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 43480 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 434a0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 434c0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 434e0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 43500 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 43520 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 43540 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 43560 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 43580 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 435a0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 435c0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 435e0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 43600 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 43620 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 43640 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 43660 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 43680 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 436a0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 436c0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 436e0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 43700 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 43720 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 43740 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 43760 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 43780 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 437a0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 437c0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 437e0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ |